Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
Антон К.   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.115 c
1-7952
Svin
2002-09-23 14:56
2002.10.03
Рекурсия


1-7990
Metotrone
2002-09-21 00:45
2002.10.03
Десккриптор


1-7926
vinni2000
2002-09-23 19:13
2002.10.03
Вопрос по ShellExecute


1-7986
SoniK
2002-09-20 22:20
2002.10.03
Как спрятать иконку трэя.


1-7971
cf
2002-09-24 14:26
2002.10.03
desktop





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский