![]() |
|
|
#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. |
|
#7
|
|||
|
|||
|
Если взять другой код то выводит просто
read="0" > read="0" > read="0" > Последний раз редактировалось Hamsi, 02.12.2010 в 21:43. |
|
#8
|
||||
|
||||
|
Измени не много код вместо "...pos('read=0'..." на "...pos('read="0"'...".
|
|
#9
|
|||
|
|||
|
Да я не нуб,так менял,ничего не выводит
В то время если ему дать исходный код такой как в браузер(не слитый) то все норм |
|
#10
|
||||
|
||||
|
Я собственно вопроса тогда не понял. То что ты просил работает. Просто скорее всего у тебя другой текст. Покажи весь текст...
|
|
#11
|
|||
|
|||
|
Кусок исходного кода из мемо
Цитата:
Цитата:
Квадрат я имею в виду настроящий квадрат(перенос на новую строку) Последний раз редактировалось Hamsi, 02.12.2010 в 22:40. |
|
#12
|
||||
|
||||
|
Тебе ж надо вывести все строки, в которых есть слово "read="0"", тогда просто пиши так:
Код:
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); |
|
#13
|
|||
|
|||
|
Цитата:
read="0" read="0" read="0" Говорю же что все разделено только квадратами тоисть там одна строка как на самом деле 4 наверника |
|
#14
|
||||
|
||||
|
Цитата:
Постарайся писать без ошибок, и разъясняй понятнее то, что тебе надо. А то я так и не понял что тебе надо. |
|
#15
|
|||
|
|||
|
Я не из России так что извини
Хорошо мне надо вывести 1575<tr class='newRow' id="mess1575" read="0" > в которых именно read=0!цифры везде разные! Но если у тебя нет времены то пусть выводит <tr class='newRow' id="mess1575" read="0" > но где read=0 Твой код не работает так как код в мемо слитый тоисть <tr class='newRow' id="mess1575" read="0" > <td class="msg_check" onmouseover="checkOver(this, '1575')" onmouseout="checkOut(this, '1575')" onclick="checkChange(this, '1575')"><div></div><input type="hidden" id="post_check_1575" name="post[1575]" /></td> <td class="messagePicture"> <a href="/sumsar"> <img src="http://cs461.vkontakte.ru/u12541807/e_9fd0d771.jpg" alt=""/> </a> </td> <td class="messageFrom"> <div class="name"> в мемо это все одна строка разделенная квадратиками Последний раз редактировалось Hamsi, 02.12.2010 в 23:04. |