Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.09.2006, 14:31
Glomen Glomen вне форума
Прохожий
 
Регистрация: 26.09.2006
Сообщения: 4
Репутация: 10
По умолчанию Связать TextBox и ListBox (Delphi 8)

В Delphi 8 хочу сделать такую штуку, чтоб при выборе в значения в listbox в textbox отобразалось запись сделаная для этого значения.
Тоесть выбираю например рецепт супа, и в текстбоксе выводится этот рецепт.
Как это очуществить?
Ответить с цитированием
  #2  
Старый 27.09.2006, 01:01
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Вот идея, как бы я это сделал на D6. Раз ты не уточнил, где хранятся рецепты, сделаем допущение, что каждый рецепт лежит в отдельном текстовом файле. Тебе понадобится TList, в котором будет храниться структура вида:
Код:
type
  PRec = ^TRec;
  TRec = record
    Caption, Path: string;
  end;

Объявляем необходимые переменные:
Код:
var
  p: PRec;
  l: TList;

В p^.Caption записываешь заголовок, который будет отображаться в ListBox. В p^.Path записываешь путь к соответствующему файлу:
Код:
l := TList.Create;
New( p );
p^.Caption := 'Заголовок для ListBox';
p^.Path := 'Путь к файлу';
l.Add( p );

p := l[0];
ListBox1.Items.Add( p^.Caption );

Теперь при клике по ListBox загружаешь в TextBox нужный файл:
Код:
var
  i: integer;
begin
   for i := 0 to l.Count-1 do
   begin
      p := l[i];
      if p^.Caption = ListBox1.Items.Strings[ListBox1.ItemIndex] then
         Memo1.Lines.LoadFromFile( p^.Path );
   end;
end;

Вот в кратце идея. Не думаю, что могут возникнуть проблем с переносом этого кода на Delphi 8.

Последний раз редактировалось Decoding, 27.09.2006 в 04:42.
Ответить с цитированием
  #3  
Старый 27.09.2006, 01:48
Glomen Glomen вне форума
Прохожий
 
Регистрация: 26.09.2006
Сообщения: 4
Репутация: 10
По умолчанию

А можно сделать какнить, без txt файла ?
Ответить с цитированием
  #4  
Старый 27.09.2006, 04:41
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Конечно можно. Текстовые файлы я привел просто для примера, так как не знаю, как именно хранится у тебя информация. Ты же вместо них можешь использовать другой источник.
Ответить с цитированием
  #5  
Старый 27.09.2006, 13:56
Glomen Glomen вне форума
Прохожий
 
Регистрация: 26.09.2006
Сообщения: 4
Репутация: 10
По умолчанию

а может подскажеш ссылочку на учебник или пример какойнить, где можно посмотреть про такие связанные таблицы?
Ответить с цитированием
  #6  
Старый 27.09.2006, 14:28
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Конкретной ссылки дать не могу, ищи в нете статьи по работе с TList. По поводу примера, чем тебя не устраивает то, что я показал. Допустим рецепты хранятся в БД. Тогда в p^.Path хранишь ID этой записи. И по этому ID читаешь из таблицы в TextBox.
Код:
 
var i: integer; begin for i := 0 to l.Count-1 do begin p := l[i]; if p^.Caption = ListBox1.Items.Strings[ListBox1.ItemIndex] then begin // Сначала ищешь эту запись в базе по p^.Path ... // А затем запихиваешь ее в TextBox Memo1.Text := Table1.FieldByName('имя_поля').AsString; end; end; end;
Ответить с цитированием
  #7  
Старый 27.09.2006, 16:13
Glomen Glomen вне форума
Прохожий
 
Регистрация: 26.09.2006
Сообщения: 4
Репутация: 10
По умолчанию

Vlt надо возвращятся на delphi 7, она попанятней как то. а 8 больше под NET заточена
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter