|
|
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
имеем нечто вроде Код: plaintext 1. 2. в строку попадает запрос 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 09:52 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
ищем первое вхождение слова ORDER и затем с помощью Left() убираем не нужное -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:21 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Похоже нужно сделать 1. Цикл, в котором найти все местоположения пробелов в строке, создать из них массив типа int. 2. А затем по этим значениям нарубить в массив типа AnsiString слов из строки - mSQL.SubString(i,i+); 3. Найти в массиве значение равное "OREDER" c помощью StrComp(), узнать его индекс i. 4. А потом слепить из массива новую строку до этого самого i. Как такой алгоритм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:26 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Обычно делается наоборот, базовый запрос, а к нему добавляется нужное, но если не подходит, то Cerebrum предложил вариант. А зачем усложнять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:38 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Так тут дело принципа, построение алгоритма и написание кода. Да и останется на форуме уже на века тема такая :) Будет откуда CTRL-C + CTR-V в случае чего сделать. В приведенном случае принято за основу, что запрос уже есть (т.е. строка) и ее нужно обработать. То что запрос формируется из базовой основы еще до этого, уже вопрос другой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:53 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Cerebrum предлогает 1. найти местоположение в строке "ORDER" - скажем это int OPos; 2. mSQL = Left(mSQL,OPos); тут ворос как найти OPos? каким путем (алгоритм, ф-и, операторы)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:00 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:07 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
egorych во :) действительно, залез в хелп оп AnsiString... инфы море. Пора сливать тормозуху с головы! Спасибо. Вот то что я хотел найти и сделать. Коротко и понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:11 |
|
||
|
как обрезать строку до слова?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Вот так будет более правильно. Проверено, работает хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:18 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2028407]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
193ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 514ms |

| 0 / 0 |
