Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2007, 17:12   #1
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию ListBox

есть проблема!
Мне нужно, чтобы при выборе определённого рядка в листбоксе, текст этого рядка сравнивается с текстом рядка записи data.ryad которие находятся в файле записей data, и если они идентичны, то вывести содержымое data.textout в Memo1.

На первый взгляд - так просто, а у меня только определённый рядок выводит а остальные нет и что ты ему зделаеш?
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 02.04.2007, 17:27   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Можно исходничек увидеть? Будет все гораздо понятнее...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 02.04.2007, 17:38   #3
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

TRe = record
proc : string[50];
opus : String[50];
Zindex:integer;
end;

var
Form1: TForm1;
f : file of Tre;
data:Tre;
i,h:integer;
temp:string[50];

implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Memo1.Clear;
form1.Memo2.Clear;
assignfile(f,fname);
reset(f);
h:=-1;
while not eof(f) do
begin
read(f,data);
listbox1.Items.Add(data.proc);
h:=h+1;
end;
closefile(f);
end;

// добавление записи в файл
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
assignfile(f,fname);
reset(f);
seek(f,sizeof(f));
data.opus:='';

data.proc:=edit2.Text;

if memo2.Text<>'' then
for i:=0 to memo2.Lines.Count do
data.opus:=data.opus+memo2.Lines[i];
if data.proc<>'' then
begin
data.Zindex:=h+1;
write(f,data);
label5.Show;
timer1.Enabled:=true;
listbox1.Items.Add(data.proc);
h:=h+1;
memo2.Clear;
end
else
begin
if (data.proc='') then showmessage('Введіть назву функції чи процедури!');
exit;
end;
closefile(f);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
memo1.Clear;
assignfile(f,fname);
reset(f);
while not eof(f) do
begin
read(f,data);
if listbox1.ItemIndex=data.Zindex then
memo1.Text:=data.opus;
end;
closefile(f);
end;



но здесь я пытался использовать щётчик... и вобщем у меня щас голова не работает, такчто я чтото не могу ничего усовершэнствовать... да и с листбоксом вообще редко встречаюсь....
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?

Последний раз редактировалось ZhekON; 02.04.2007 в 17:41.
ZhekON вне форума Ответить с цитированием
Старый 02.04.2007, 17:47   #4
Kostyan
Пользователь
 
Аватар для Kostyan
 
Регистрация: 25.03.2007
Сообщений: 18
По умолчанию

Цитата:
Мне нужно, чтобы при выборе определённого рядка в листбоксе, текст этого рядка сравнивается с текстом рядка записи data.ryad которие находятся в файле записей data, и если они идентичны, то вывести содержымое data.textout в Memo1.
и
Цитата:
if listbox1.ItemIndex=data.Zindex then
но здесь не текст "рядка" сравнивается, хотя на первый взгляд все правильно.
Kostyan вне форума Ответить с цитированием
Старый 02.04.2007, 22:22   #5
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

но я веть писал, что я в даном примере использовал щётчик а не строку(это ужэ крайний элемент) а хотелось бы строку, ну чтобы код был проще и без "data.Zindex"
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 04.04.2007, 14:44   #6
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

ладно... подскажыте хоть как получить текст выделеного рядка? чтобы потом его сровнять с уже имеещимся рядком в файле-записи.
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 04.04.2007, 19:33   #7
RSLoader
_________
Пользователь
 
Аватар для RSLoader
 
Регистрация: 27.03.2007
Сообщений: 69
По умолчанию

Если честно, то не совсем понял задачу...
А выделенную ячейку в ListBox можно получить так:
ListBox1.Items[ListBox1.ItemIndex]
RSLoader вне форума Ответить с цитированием
Старый 04.04.2007, 19:34   #8
RSLoader
_________
Пользователь
 
Аватар для RSLoader
 
Регистрация: 27.03.2007
Сообщений: 69
По умолчанию

Если честно, то не совсем понял задачу...
А текст выделенной ячейки в ListBox можно получить так:
ListBox1.Items[ListBox1.ItemIndex]
RSLoader вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListBox werser Помощь студентам 1 29.05.2008 22:32
[ C# ]::[ ListBox ] Fire.id Общие вопросы .NET 1 13.01.2008 21:07
из ListBox в БД Spectre БД в Delphi 5 31.12.2007 13:58
Listbox Dexic Помощь студентам 1 24.06.2007 15:05
ListBox lin Помощь студентам 1 04.06.2007 13:46