Главная страница
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.016 c
14-8124
Delirium
2002-09-08 14:01
2002.10.03
Новейший QuickReport 3.6.2 Professional + Exports 2


1-7931
Осирис
2002-09-20 16:20
2002.10.03
ExtractAssociatedIcon


14-8148
Карлсон
2002-09-07 15:39
2002.10.03
SDRAM


1-7909
qube
2002-09-19 16:42
2002.10.03
TInterfacedObject и reference counting


3-7863
Димон1
2002-09-11 13:37
2002.10.03
Как узнать значение поля в текущей записи ...