![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вытащить текст?
Антон К. © (2002-09-19 20:04:00)Есть список вопросов в Listbox:
Вопрос1
Вопрос2
Вопрос3
и.т.д
в richedit есть такой текст:
Вопрос1
Ответ на вопрос номер1
Вопрос2
Ответ на вопрос номер2
Вопрос3
Ответ на вопрос номер3
Вопрос такой. Нужно, чтобы при нажатие в listbox на строку вопрос1 программа находила в richedit1 эту строку и кроме того ответ на этот вопрос. Другими словами, нажав в Listbox на "вопрос1" в компонент memo должен появиться текст:
Вопрос1
Ответ на вопрос номер1.
Вот бы исходник!! с примером!
Alexey P (2002-09-22 00:29:00) [1]Спасибо !
Антон К. (2002-09-20 18:28:00) [2]Всем Спасибо, но особенный респект Alexey P!
ЮЮ (2002-09-20 03:23:00) [3]см. RichEdit.FindText
RichEdit.SelStart
RichEdit.SelLength
RichEdit.CopyToClipboard
Memo.PasteFromClipboard
Alexey P (2002-09-19 22:55:00) [4]
procedure TForm1.ListBox1Click(Sender: TObject);
var Position,i:Integer;
str_1,str_2:String;
begin
Position:=Pos("["+ListBox1.Items.Strings[ListBox1.ItemIndex]+"]",RichEdit2.Text);
str_1:=RichEdit2.Text;
str_2:="";
i:=Position+Length("["+ListBox1.Items.Strings[ListBox1.ItemIndex]+"]");
repeat
i:=i+1;
str_2:=str_2+str_1[i];
until str_1[i+1]="/";
RichEdit1.Text:=str_2;
end;
На форму поставь два TRichEdit и один TListBox
В TListBox Введи названия вопросов.
В RichEdit1 Ничего
В RichEdit2 Описания Ответ на вопрос в следующем виде
[вопрос]/Оивет на вопрос/
Причем [вопрос] должен в точности соответствовать
строке в TListBox.
Вместо RichEdit2 потом если нужно можеш сделать загрузку из файла.
Shadow (2002-09-19 22:03:00) [5]procedure TForm1.ListBox1Click(Sender: TObject);
var
I,n :integer; //i-кол-во вопросов; n-номер вопроа
s: string; //ответ на вопрос;
begin
Memo1.text:="";
i:=Listbox1.Items.Count;
n:=Listbox1.ItemIndex;
//мона делать вообще без n и i
if n<>null then
begin
if n=0 then
begin
s:=copy(Richedit1.Lines.Text, pos("Вопрос №"+inttostr(1), Richedit1.Lines.Text), length(Richedit1.Lines.Text)-pos("Вопрос №"+inttostr(n+(i-n)),Richedit1.Lines.Text));
Memo1.Text := s;
exit;
end;
if n=i-1 then
begin
s:=copy(Richedit1.Lines.Text, pos("Вопрос №"+inttostr(n+1), Richedit1.Lines.Text), length(Richedit1.Lines.Text));
Memo1.Text := s;
end else
begin
s:=copy(Richedit1.Lines.Text, pos("Вопрос №"+inttostr(n+1), Richedit1.Lines.Text), length(Richedit1.Lines.Text)-pos("Вопрос №"+inttostr(n+(i-n)), Richedit1.Lines.Text));
Memo1.Text := s;
end;
end;
end;
примерно так..
Smiths (2002-09-19 21:37:00) [6]2Антон К.
Ты лучше скажи, как в РичЭдит данные попадают.
Shadow (2002-09-19 21:29:00) [7]Надо в конце каждого ответа ставить какой-нить символ какой должен встречаться только после ответов, или знатьт конкретное число вопросов, если хочешь, завтра текст кину на мыло.
Song (2002-09-19 21:22:00) [8]TListBox.Items.IndexOf()
Alexey P (2002-09-19 21:11:00) [9]:)
Антон К. (2002-09-19 21:08:00) [10]Alexey P
Я буквально это видел минут 5 назад, но все равно спасибо!
Антон К. (2002-09-19 21:06:00) [11]MBo
Нет, а где еще? Я признаться даже не знаю с какой стороны к этой проблеме подходить. В теме я попытался указать то, что мне нужно сделать, а как и какими средствами это я не знаю. Буду признателен если кто подскажет!
Alexey P (2002-09-19 21:04:00) [12]http://delphibase.endimus.com/?action=viewtopic&topic=strsearch
Посмотри здесь!!!
MBo (2002-09-19 21:02:00) [13]А RichEdit зачем? Просто для хранения?
Alexey P (2002-09-19 21:01:00) [14]Попробуй тогда организовать поиск строк какой нибудь...
Антон К. (2002-09-19 20:59:00) [15]2 Smiths
Нет! Чего это такое? Что то с базой данных?
Smiths (2002-09-19 20:54:00) [16]
> Антон К. (19.09.02 20:04)
Ты про СУБД ничего не слыхал? :)
Alexey P (2002-09-19 20:51:00) [17]Понятно...
Будем Искать :)
Антон К. (2002-09-19 20:48:00) [18]Да ладно! Такое любой дятел напишет! Прости если обидел, конечно! Ну ты посуди! В одном окне список файлов txt в другом содержание этого файла. Реально программа из 5 строк. Мне же вот что нужно. Есть большой файл. А в нем куча вопросов. Программа ищет в этом большом файле определенный вопрос и соответсвенно ответ на него который следует прямо за вопросом.
Alexey P (2002-09-19 20:32:00) [19]http://delphi.mastak.ru/cgi-bin/download.pl?get=1032193157&n=1
Что-то вроде этого?
Если да то выложу исходники.