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

Delphi Sources



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

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.04.2014, 20:22
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию Хранение второго значения в ListBox

привет помогите пожалуста как сделать хранение второго значения в ListBox
  #2  
Старый 13.04.2014, 20:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
listbox.items.objects
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #3  
Старый 13.04.2014, 22:21
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Код:
listbox.items.objects

а как вывести это в label1 ?
  #4  
Старый 14.04.2014, 01:01
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:
Цитата:
Сообщение от delpi12
а как вывести это в label1 ?
т.е. с загрузкой в ListBox.Items.Objects проблем нет?


Для начала заявим свой тип данных чтоб не путать
Код:
...
type
 PStr = ^TStr;
 TStr = string;
...
теперь наполним пустой листбокс значениями
Код:
 // массив выбран для примера, чтоб сильно не мучиться с заполнением

var
 LBText: array[0..1] of array[0..4] of string =
 (('Пункт 1', 'Пункт 2', 'Пункт 3', 'Пункт 4', 'Пункт 5'),
 ('Значение 1', 'Значение 2', 'Значение 3', 'Значение 4', 'Значение 5'));

procedure TForm1.ButtonClick(Sender: TObject); // наполнение ListBox
var
 i: integer;
 p: PStr;
begin
 for i:= 0 to 4 do
  begin
  // принцип такой - 
  // добавляете новый пункт, одновременно вешаете на него и данные
  New(p);
   p^:= LBText[1, i];
   ListBox.Items.AddObject(LBText[0, i], TObject(p));
  end;
end;
а вот вариант показа в лейбле
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Label1.Caption:= PStr(ListBox1.Items.Objects[Listbox1.ItemIndex])^;
end;
  #5  
Старый 14.04.2014, 13:53
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию

Цитата:
Сообщение от Alegun
Оффтоп:
т.е. с загрузкой в ListBox.Items.Objects проблем нет?


Для начала заявим свой тип данных чтоб не путать
Код:
...
type
 PStr = ^TStr;
 TStr = string;
...
теперь наполним пустой листбокс значениями
Код:
 // массив выбран для примера, чтоб сильно не мучиться с заполнением

var
 LBText: array[0..1] of array[0..4] of string =
 (('Пункт 1', 'Пункт 2', 'Пункт 3', 'Пункт 4', 'Пункт 5'),
 ('Значение 1', 'Значение 2', 'Значение 3', 'Значение 4', 'Значение 5'));

procedure TForm1.ButtonClick(Sender: TObject); // наполнение ListBox
var
 i: integer;
 p: PStr;
begin
 for i:= 0 to 4 do
  begin
  // принцип такой - 
  // добавляете новый пункт, одновременно вешаете на него и данные
  New(p);
   p^:= LBText[1, i];
   ListBox.Items.AddObject(LBText[0, i], TObject(p));
  end;
end;
а вот вариант показа в лейбле
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Label1.Caption:= PStr(ListBox1.Items.Objects[Listbox1.ItemIndex])^;
end;


ошибку выдает не получается
  #6  
Старый 14.04.2014, 14:28
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Показывайте где
  #7  
Старый 14.04.2014, 14:33
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию

Цитата:
Сообщение от delpi12
ошибку выдает не получается



Код:
 unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Edit1: TEdit;

    procedure Button1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
 LBText: array;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 p: PStr;
begin
 for i:= 0 to 4 do
  begin
  // принцип такой -
  // добавляете новый пункт, одновременно вешаете на него и данные
  New(p);
   p^:= LBText[1, i];
   ListBox.Items.AddObject(LBText[0, i], TObject(p));
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Label1.Caption:= PStr(ListBox1.Items.Objects[Listbox1.ItemIndex])^;
end;

end.
MAD: несоблюдение правил оформления кода!

Последний раз редактировалось M.A.D.M.A.N., 14.04.2014 в 18:00.
  #8  
Старый 14.04.2014, 14:37
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:
Код в тег [СODE]...[/СODE] оберните пжлст, пока ни кто не видел, не возможно читать (пора уж и самому научиться за столько сообщений-то или в бане пондравилось париться? :-)

Где объява своей строки, зачем массив испортили - сначало запустите пример как он есть, чтоб понять как это работает, а затем лишь самодеятельностью занимайтесь, ничему человека жизнь не учит, удивляюсь

Последний раз редактировалось Alegun, 14.04.2014 в 14:43.
  #9  
Старый 14.04.2014, 14:39
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от delpi12
.....
var
Form1: TForm1;
LBText: array;
implementation
.....
Разве в вышеприведённом исходнике от Alegun переменная LBText так объявлена?
  #10  
Старый 14.04.2014, 14:39
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию

Цитата:
Сообщение от Alegun
Код в тег [СODE]...[/СODE] оберните, не возможно читать (пора уже самому научится)

ошибку выдает в первом implementation
потом в var p: PStr;
  #11  
Старый 14.04.2014, 15:08
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от delpi12
ошибку выдает в первом implementation...
Велколепно, а что, есть и другие

Короче, у меня семёрка, исходник скинуть не могу - работать не будет в вашей среде, посему покажу на словах.

Бросьте на форму ListBox, Label и Button

Как должно быть в редакторе
Код:
type
 PStr = ^TStr;
 TStr = string;

var
 LBText: array[0..1] of array[0..4] of string =
 (('Говядина', 'Свинина', 'Баранина', 'Треска', 'Карп'),
 ('2р.10к.', '2р.00к.', '1р.70к.', '93к.', '67к.'));

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 p: PStr;
begin
 for i:= 0 to 4 do
  begin
   New(p);
   p^:= LBText[1, i];
   ListBox1.Items.AddObject(LBText[0, i], TObject(p));
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Label1.Caption:= PStr(ListBox1.Items.Objects[Listbox1.ItemIndex])^;
end;
Кликните мышкой на кнопку и задайте ей вышеприведенный обработчик, листбоксу тоже самое, затем запустите сборку, жиманите на кнопку и можете узнать сколько стоили белковые продукты в конце 80х годов прошлого века
  #12  
Старый 14.04.2014, 17:37
delpi12 delpi12 вне форума
Новичок
 
Регистрация: 14.03.2014
Сообщения: 82
Версия Delphi: Delphi XE2
Репутация: -623
По умолчанию

Цитата:
Сообщение от Alegun
Велколепно, а что, есть и другие

Короче, у меня семёрка, исходник скинуть не могу - работать не будет в вашей среде, посему покажу на словах.

Бросьте на форму ListBox, Label и Button

Как должно быть в редакторе
Код:
type
 PStr = ^TStr;
 TStr = string;

var
 LBText: array[0..1] of array[0..4] of string =
 (('Говядина', 'Свинина', 'Баранина', 'Треска', 'Карп'),
 ('2р.10к.', '2р.00к.', '1р.70к.', '93к.', '67к.'));

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 p: PStr;
begin
 for i:= 0 to 4 do
  begin
   New(p);
   p^:= LBText[1, i];
   ListBox1.Items.AddObject(LBText[0, i], TObject(p));
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Label1.Caption:= PStr(ListBox1.Items.Objects[Listbox1.ItemIndex])^;
end;
Кликните мышкой на кнопку и задайте ей вышеприведенный обработчик, листбоксу тоже самое, затем запустите сборку, жиманите на кнопку и можете узнать сколько стоили белковые продукты в конце 80х годов прошлого века

ошибку выдает вот здес
Код:
var
 i: integer;
 p: PStr;
Админ: 3-х дневный бан как очередное напоминание об оформленни кода.

Последний раз редактировалось Admin, 14.04.2014 в 19:20.
Закрытая тема


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter