|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Парсинг каждой следующей строчки с нажатием кнопки
Имеется следующая структура, загруженная в Memo3:
Код:
AwelAskeborn1952@mail.ru#a454c150w; DomekApuada2093@gmail.com#m419s73h; AyusmanAgiassi2039@mail.ru#a436y117y; AbhayankaraAvramenko1923@yandex.ru#l553q37g; AadityaAfterkirk2068@yandex.ru#e299r19f; AgrajeetaAnjomi195@gmail.com#m158e145w; AbhayapradaAkshoomoff1984@pochta.ru#v221h93v; AdwoaAntonmarci2010@yandex.ru#h490a10a; FarrelAssumpico1910@yandex.ru#t302q84m; ElettraBalsavich2061@yandex.ru#l425a73v; Разбиваю данную конструкцию отдельно на мыло и пароль и записываю значения в Edit3 и Edit4: Код:
begin si:=Memo3.Lines[0]; email:=copy(si,pos(' ',si)+length(' '),pos('#',si)-pos(' ',si)-length(' ')); pass:=copy(si,pos('#',si)+length('#'),pos(';',si)-pos('#',si)-length('#')); Edit3.Text:=email; Edit4.Text:=pass; end; Требуется: при каждом последующем нажатии кнопки разбивать следующую строчку. Например сначал разобьём Memo3.Lines[0], потом Memo3.Lines[1], потом Memo3.Lines[2] и т.д. Как это сделать? Знаю, что нужно при каждом нажатии делать следующую процедуру - текущая_строка+1. Но как? |
#2
|
||||
|
||||
Сделай глобальную переменную, и увеличивай ее при каждом нажатии, к строкам обращайся через нее.
Код:
var CurrentLine: Integer = 0; ... if CurrentLine>=Memo1.Lines.Count then begin ShowMessage('Строчки кончились!'); Exit; end; si:=Memo1.Lines[CurrentLine]; inc(CurrentLine); jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
||||
|
||||
примерно так...
Код:
var i:integer; ..................................... procedure TForm1.Button1Click(Sender: TObject); var c:integer; begin c:= pos('#',memo1.Lines.Strings[i])-1; edit1.Text:=copy(memo1.Lines.Strings[i],1,c); edit2.Text:=copy(memo1.Lines.Strings[i],c+2,length(memo1.Lines.Strings[i])-(c+2)); i:=i+1; end; |
#4
|
|||
|
|||
Точно, спасибо.
Разобрал, осознал, заработало |
#5
|
|||
|
|||
Возникла новая задача с парсингом. Напишу здесь же
Имеется приблизительно следующий код html-страницы: Код:
<page>EXAMPLE1</page> <page>EXAMPLE2</page> <page>EXAMPLE3</page> <page>EXAMPLE4</page> Цель: записать все значения EXAMPLE в мемо\лист и т.п. Делаю так: Код:
s:=IdHTTP1.Post('http://site.ru/',p); g:=copy(s,pos('<page>',s)+length('<page>'),pos('</page>',s)-pos('<page>',s)-length('<page>')); |
#6
|
||||
|
||||
Используй РегЭкспы (с).
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
msxml.IXMLDOMDocument \ XMLDoc.TXMLDocument
Пишу программы за еду. __________________ |
#8
|
|||
|
|||
Цитата:
Цитата:
|