Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.03;
Скачать: CL | DM;

Вниз

Как вытащить текст?   Найти похожие ветки 

 
Антон К.   (2002-09-19 20:04) [0]

Есть список вопросов в Listbox:

Вопрос1
Вопрос2
Вопрос3
и.т.д

в richedit есть такой текст:

Вопрос1
Ответ на вопрос номер1

Вопрос2
Ответ на вопрос номер2

Вопрос3
Ответ на вопрос номер3

Вопрос такой. Нужно, чтобы при нажатие в listbox на строку вопрос1 программа находила в richedit1 эту строку и кроме того ответ на этот вопрос. Другими словами, нажав в Listbox на "вопрос1" в компонент memo должен появиться текст:
Вопрос1
Ответ на вопрос номер1.
Вот бы исходник!! с примером!


 
Alexey P   (2002-09-19 20:32) [1]

http://delphi.mastak.ru/cgi-bin/download.pl?get=1032193157&n=1

Что-то вроде этого?
Если да то выложу исходники.


 
Антон К.   (2002-09-19 20:48) [2]

Да ладно! Такое любой дятел напишет! Прости если обидел, конечно! Ну ты посуди! В одном окне список файлов txt в другом содержание этого файла. Реально программа из 5 строк. Мне же вот что нужно. Есть большой файл. А в нем куча вопросов. Программа ищет в этом большом файле определенный вопрос и соответсвенно ответ на него который следует прямо за вопросом.


 
Alexey P   (2002-09-19 20:51) [3]

Понятно...
Будем Искать :)


 
Smiths   (2002-09-19 20:54) [4]


> Антон К. (19.09.02 20:04)


Ты про СУБД ничего не слыхал? :)


 
Антон К.   (2002-09-19 20:59) [5]

2 Smiths
Нет! Чего это такое? Что то с базой данных?


 
Alexey P   (2002-09-19 21:01) [6]

Попробуй тогда организовать поиск строк какой нибудь...


 
MBo ©   (2002-09-19 21:02) [7]

А RichEdit зачем? Просто для хранения?


 
Alexey P   (2002-09-19 21:04) [8]

http://delphibase.endimus.com/?action=viewtopic&topic=strsearch

Посмотри здесь!!!


 
Антон К.   (2002-09-19 21:06) [9]

MBo
Нет, а где еще? Я признаться даже не знаю с какой стороны к этой проблеме подходить. В теме я попытался указать то, что мне нужно сделать, а как и какими средствами это я не знаю. Буду признателен если кто подскажет!


 
Антон К.   (2002-09-19 21:08) [10]

Alexey P
Я буквально это видел минут 5 назад, но все равно спасибо!


 
Alexey P   (2002-09-19 21:11) [11]

:)


 
Song ©   (2002-09-19 21:22) [12]

TListBox.Items.IndexOf()


 
Shadow ©   (2002-09-19 21:29) [13]

Надо в конце каждого ответа ставить какой-нить символ какой должен встречаться только после ответов, или знатьт конкретное число вопросов, если хочешь, завтра текст кину на мыло.


 
Smiths   (2002-09-19 21:37) [14]

2Антон К.

Ты лучше скажи, как в РичЭдит данные попадают.


 
Shadow ©   (2002-09-19 22:03) [15]

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;

примерно так..


 
Alexey P   (2002-09-19 22:55) [16]

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 потом если нужно можеш сделать загрузку из файла.


 
ЮЮ ©   (2002-09-20 03:23) [17]

см. RichEdit.FindText
RichEdit.SelStart
RichEdit.SelLength
RichEdit.CopyToClipboard
Memo.PasteFromClipboard


 
Антон К.   (2002-09-20 18:28) [18]

Всем Спасибо, но особенный респект Alexey P!


 
Alexey P   (2002-09-22 00:29) [19]

Спасибо !



Страницы: 1 вся ветка

Текущий архив: 2002.10.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
1-7908
3asys
2002-09-23 12:00
2002.10.03
TWebBrowser.OnDocumentComplete


14-8109
Abajun
2002-09-06 12:45
2002.10.03
Win2000 и win98 на одном компе


7-8197
МИФИст
2002-07-26 21:35
2002.10.03
Как запустить...


1-7914
kalliopiy
2002-09-23 17:30
2002.10.03
Вопрос по разного рода Grid ам


4-8212
Viktor Kushnir
2002-08-11 08:36
2002.10.03
Сделать скриншот с видео изображения