|
|
#1
|
|||
|
|||
Поиск в цикле
Припустим у меня есть мемо и так такие строчки
Цитата:
|
#2
|
||||
|
||||
Код:
var s: string; begin ... s:=''; for i:=0 to memo1.Lines.Count-1 do if(pos('read=0', memo1.Lines.Strings[i]) > 0) then for k:=i+1 to Memo1.Lines.Count-1 do s:=s+Memo1.Lines.Strings[k]; ShowMessage(s); Помогаю за Спасибо |
#3
|
|||
|
|||
Выводит все мемо только немного местами поменяно
|
#4
|
||||
|
||||
А не заметил, там может быть несколько "read=0". Сейчас исправлю.
Пожалуйста: Код:
var s: string; b: boolean; i, k: Integer; begin b:=false; s:=''; for i:=0 to memo1.Lines.Count-1 do if(pos('read=0', memo1.Lines.Strings[i]) > 0) and(not(b)) then begin b:=true; for k:=i+1 to Memo1.Lines.Count-1 do s:=s+Memo1.Lines.Strings[k]+ #13; end; s:=trim(s); ShowMessage(s); Разве что можно убрать "+#13", тогда все что после "read=0" выведется в одну строку... Помогаю за Спасибо Последний раз редактировалось v1s2222, 02.12.2010 в 20:58. |
#5
|
|||
|
|||
Теперь выводятса 3 поля но один их них содержит read=1!
|
#6
|
||||
|
||||
Секунду, вопроса не понял. Сейчас переделаю
Скорее всего ты это хотел: Код:
var s: string; i: Integer; begin s:=''; for i:=0 to memo1.Lines.Count-1 do if(pos('read=0', memo1.Lines.Strings[i]) > 0) then begin s:=s+Memo1.Lines.Strings[i]+ #13; end; s:=trim(s); ShowMessage(s); Код:
var s: string; i: Integer; begin s:=''; for i:=0 to memo1.Lines.Count-1 do if(pos('read=0', memo1.Lines.Strings[i]) > 0) then begin s:=s+Copy(Memo1.Lines.Strings[i], 1, (length(Memo1.Lines.Strings[i]) - length('read=0')))+ #13; end; s:=trim(s); ShowMessage(s); Помогаю за Спасибо Последний раз редактировалось v1s2222, 02.12.2010 в 21:15. |