powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как обрезать строку до слова?
9 сообщений из 9, страница 1 из 1
как обрезать строку до слова?
    #34709507
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеем нечто вроде

Код: plaintext
1.
2.
AnsiString mSQL;
mSQL = DM2->access_query->SQL->Strings[ 0 ];

в строку попадает запрос SQL, чтото вида "SELECT * FROM BASE WHERE (A='1') AND (B='1') ORDER BY C...."
нужно обрезать строку до вида "SELECT * FROM BASE WHERE (A='1') AND (B='1')"
т.е. отбросить все, что " ORDER" и далее.

BCB 6
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709612
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ищем первое вхождение слова ORDER и затем с помощью Left() убираем не нужное
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709637
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже нужно сделать
1. Цикл, в котором найти все местоположения пробелов в строке, создать из них массив типа int.
2. А затем по этим значениям нарубить в массив типа AnsiString слов из строки - mSQL.SubString(i,i+);
3. Найти в массиве значение равное "OREDER" c помощью StrComp(), узнать его индекс i.
4. А потом слепить из массива новую строку до этого самого i.

Как такой алгоритм?
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709685
Vladimir Kiselev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычно делается наоборот, базовый запрос, а к нему добавляется нужное, но если не подходит, то Cerebrum предложил вариант.
А зачем усложнять?
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709759
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так тут дело принципа, построение алгоритма и написание кода.
Да и останется на форуме уже на века тема такая :) Будет откуда CTRL-C + CTR-V в случае чего сделать.
В приведенном случае принято за основу, что запрос уже есть (т.е. строка) и ее нужно обработать.
То что запрос формируется из базовой основы еще до этого, уже вопрос другой :)
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709794
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cerebrum предлогает
1. найти местоположение в строке "ORDER" - скажем это int OPos;
2. mSQL = Left(mSQL,OPos);

тут ворос как найти OPos? каким путем (алгоритм, ф-и, операторы)?
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709835
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
int OPos = mSQL.Pos("ORDER");
mSQL = mSQL.SubString( 1 ,OPos -  1 );
хэлп про AnsiString рулит, кстати
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709850
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorych во :) действительно, залез в хелп оп AnsiString... инфы море. Пора сливать тормозуху с головы!
Спасибо. Вот то что я хотел найти и сделать. Коротко и понятно.
...
Рейтинг: 0 / 0
как обрезать строку до слова?
    #34709885
B New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
        int OPos = mSQL.Pos("ORDER");        // Обрезание запроса до состояния без ORDER...
        if (OPos!= 0 ) mSQL = mSQL.SubString( 1 ,OPos -  1 );

Вот так будет более правильно.
Проверено, работает хорошо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / как обрезать строку до слова?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]