![]() |
|
#1
|
|||
|
|||
![]() Всем добрый вечер.
Задача: Есть файл со строками вида: PHP код:
файл загружен в Memo21; Есть строка в Memo2, вида "****" (строка известна); Задача: Скопировать эту строку полностью в Edit, чтобы получилось что Edit1.Text:='****5555****';. Сделал вот так: Код:
for i := 0 to Memo1.Lines.Count-1 do if Memo1.Lines.Strings[i] ="****" then Edit1.Text:=Memo1.Lines[i-1]; По идее этот код проверяет все строчку, а нужны только несколько первых символов. Дело в том, что известны первые символы (звездочки), а все что потом - может отличаться. Рассчитываю на вашу помощь |
#2
|
||||
|
||||
![]() Используй функцию Copy для копирования строки из Memo в локальный String - нужной длины. Затем проверяй скопированное.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Mr_Banochka (30.12.2011)
|
#3
|
|||
|
|||
![]() Спасибо большое за подсказку. Сделал так:
Код:
descript:=Pos('****', Memo1.Text); if descript>0 then Edit3.Text:=Copy(Memo1.Text, descript, 500); Но теперь столкнулся с определением длины строки. Знаю, что нужно сделать через length, но как определить номер строки??? не могу вкурить... И еще, у меня строка довольно длинная и в маленькое окошко мемо все не помещается и разбивается на несколько строк, а это для меня не подходит. Когда делаю горизонтальную прокрутку, то все ок. Можно ли сделать как одну строку, но без скроллбара??? Заранее спасибо. |
#4
|
||||
|
||||
![]() Не нужно брать из Memo1.Text, делай как и раньше по циклу.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Mr_Banochka (30.12.2011)
|
#5
|
|||
|
|||
![]() Получилось нечто подобное:
Код:
for i:=0 to Memo1.Lines.Count-1 do begin descript:=Pos('****', Memo1.Lines[i]); if descript>0 then Edit3.Text:=Copy(Memo1.lines[i], descript, length(memo1.Lines[i])); |
#6
|
||||
|
||||
![]() Цитата:
Смотри WantReturns, WordWrap. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |