|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
listbox-поиск и замена предложений
Привет друзья. У меня вопрос помогите пожалуйста решить небольшую задачку. Есть три listbox'a. В первом listbox'e находиться некий список слов. Во втором listbox'e находится список слов которые надо найти в первом listbox'e, в третьем listbox'e находиться список слов на которые надо заменить найденные слова в первом listbox'e. Т.е к примеру в первом listbox'e примерно такой список:
abc dfg hello hi welcome во втором listbox'e такой: hello welcome в третьем listbox'e: Привет добро пожаловать Соответственно в конечном итоге в listbox1 вместо hello должно встать привет, а вместо welcom добро пожаловать. Похожую задачу один раз уже решали, но тогда вместо listbox был ричэдит. А у ричэдит в отличии от listbox есть свойство findtext. Заранее благодарен за помощь |
#2
|
||||
|
||||
Код:
ListBox1.Items.IndexOf() Пишу программы за еду. __________________ |
#3
|
||||
|
||||
=)
Код:
var i: Integer; FindWord: string; pos: Integer; begin RichEdit1.Lines.BeginUpdate; try for i := 0 to RichEdit2.Lines.Count - 1 do begin FindWord := RichEdit2.Lines[i]; pos := 0; while True do begin pos := RichEdit1.FindText(FindWord, pos, Length(RichEdit1.Text) - pos, []); if pos < 0 then Break; RichEdit1.SelStart := pos; RichEdit1.SelLength := Length(FindWord); RichEdit1.SelText := RichEdit3.Lines[i]; Inc(pos); end; end; finally RichEdit1.Lines.EndUpdate; end; end; Код:
pos := RichEdit1.FindText(FindWord, pos, Length(RichEdit1.Text) - pos, []); Код:
pos := listbox1.items.index0f(параметры) - pos, []); |
#4
|
||||
|
||||
=)
Код:
procedure TForm1.Button1Click(Sender: TObject); var i:integer; s1,s2,s3:string; begin s1 := lb1.Items.Text; for i := 0 to lb1.Items.Count - 1 do begin s2 := lb2.Items[i]; s3 := lb3.Items[i]; s1 := StringReplace(s1, s2, s3, [rfReplaceAll, rfIgnoreCase]); end; lb1.Items.Text := s1; end; |
#5
|
||||
|
||||
не во всех списках количество элементов одинаково, где-то больше, где-то меньше.
Пишу программы за еду. __________________ |
#6
|
||||
|
||||
Используй два вложенных цикла:
внешний берёт слово1 из первого списка, внутренний сравнивает слово1 со всеми словами из второго списка. |