IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Работа со списком строк
18192123
сообщение 23.04.2008 18:07
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Требуется разработать программу для работы со списками строк. Структура объектов пользовательского класса следующая:
Кадры: имя,номер цеха, разряд;
Список содержит строки с идентификатором объекта и связанной со строкой объект. Для визуализации списка используется компонент TListBox. Предусмотреть создание, просмотр и редактирование объектов, а так же сохранение объектов в файле и их загрузку из файла.

Во-первых, объясните пожалуста, что имеется ввиду под: "Список содержит строки с идентификатором объекта и связанной со строкой объект" и как это можно осуществить?

Ещё проблема с определением в главном модуле класса объектов (Кадры: имя,номер цеха, разряд), размещаемых в списке...(сначало нужно опредилить объект, а потом класс этих объектов или как?? покажите пожалуста на моём примере..)

Причём в классе требуется определить конструктор вида:

constructor TMyObject.Create(поле1:тип;....);
begin
inherited Create;
<инициализация полей>
end;


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 10.05.2008 18:56
Сообщение #2


Гость






Цитата
как внести изменения в уже существующий объект?
Точно так же: получаешь сам объект и изменяешь его:
procedure TForm3.BitBtn2Click(Sender: TObject);
var curPeople: TPeople;
begin
CurPeople := TPeople(Form1.ListBox1.Items.Objects[Form1.ListBox1.ItemIndex]);

CurPeople.Name := Edit1.Text; // в Edit1 и остальных контролах должны быть уже исправленные значения
CurPeople.Workshop := StrToInt(Edit2.Text);
CurPeople.Range := StrToInt(SpinEdit1.Text);

// теперь меняем отображаемое имя, отдельно
Form1.ListBox1.Items.Strings[Form1.ListBox1.ItemIndex] := CurPeople.Name;
end;


Сообщение отредактировано: volvo - 10.05.2008 18:56
 К началу страницы 
+ Ответить 
18192123
сообщение 10.05.2008 19:47
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Цитата(volvo @ 10.05.2008 19:56) *

Точно так же: получаешь сам объект и изменяешь его:
...

Спасибо большое!!) С этим понятно.
Мне вот ещё не совсем ясно про случай с удалением объёкта из списка..Не до чего лучше пока не додумалась:

DelPeople:=TPeople(Form1.ListBox1.Items.Objects[Form1.ListBox1.ItemIndex]);
DelPeople.Name :='';
DelPeople.Workshop := 0;
DelPeople.Range := 0;
Form1.ListBox1.Items.Strings[Form1.ListBox1.ItemIndex] := DelPeople.Name;


т.е сделала аналогично редактированию..но строка, хоть и пустая в ListBox-е всё-равно остаётся..И сделать именно удаление соответственно не получается.. Подскажите пожалуста, как должно быть??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   Работа со списком строк   23.04.2008 18:07
18192123   Вот что получилось: interface type TPeople=class ...   23.04.2008 20:32
18192123   Объясните пожалуста, в чём ошибка..не компилится ...   3.05.2008 20:22
volvo   Ошибка - в том, что ты не приводишь реализацию мет...   3.05.2008 20:34
18192123   Ошибка - в том, что ты не приводишь [b]реализацию...   3.05.2008 21:41
volvo   :) Ты добавила просто процедуры/функции, а надо бы...   3.05.2008 22:02
18192123   Итак, продолжу задавать вопросы) На 1-й форме у м...   4.05.2008 23:24
volvo   Можно задать тебе один вопрос: что ты делаешь вот ...   5.05.2008 0:12
18192123   Можно задать тебе один вопрос: что ты делаешь вот...   5.05.2008 0:34
volvo   Я не заметил этого... Ты просто заносишь в парамет...   5.05.2008 0:43
18192123   И снова здраствуйте! В процессе работы у меня ...   8.05.2008 17:45
volvo   Погоди... Я не понял, что происходит? Ты описываеш...   8.05.2008 18:24
18192123   Погоди... Я не понял, что происходит? Ты описывае...   8.05.2008 18:40
18192123   Это всё было попыткой обратиться к уже существующ...   9.05.2008 22:03
volvo   Я показал тебе в предыдущем сообщении, что надо сд...   10.05.2008 0:36
18192123   Я показал тебе в предыдущем сообщении, что надо с...   10.05.2008 2:29
18192123   У меня появился ещё один вопрос.. Пусть на Form3 м...   10.05.2008 17:48
volvo   Точно так же: получаешь сам объект и изменяешь его...   10.05.2008 18:56
18192123   Точно так же: получаешь сам объект и изменяешь ег...   10.05.2008 19:47
volvo   Ты не удаляешь строку, и естественно не удаляешь о...   10.05.2008 20:00
18192123   Здраствуйте. У меня вопрос возник по механизму пер...   11.05.2008 21:08
volvo   Значит, смотри: переносим из ListBox2 (источник) в...   11.05.2008 22:13
18192123   Вот и все в принципе... Для обратной операции - м...   11.05.2008 22:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 3:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"