Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в памяти хранить таблицу из 5 колонок?


Страницы:   1 2

DINOEL ©   (2007-08-09 14:24:00) 

Здравствуйте, уважаемые.

У меня есть такая табличка в файле
Дата | Номер | Наименование | Сумма
, я её должен загрузить в память для дальнейшей работы (разберу строку)

Подскажите, пожалуйста, как мне хранить данные в памяти и работать с данными  ?

В виде массива ?
Или может быть есть что нибудь лучшее ?


DINOEL   (2007-08-09 15:16:00) [21]

Kolan :)
ого,
в общем обкладываюсь книгами.
Thx :)


DINOEL   (2007-08-09 15:15:00) [22]

Хотя..думаю действительно объект тут будет кстати + хранить экземпляры в TStringList


Kolan   (2007-08-09 15:14:00) [23]

> И каждую запись записывать в этот объект и добавлять в TStringList;

Нет.

Надо добавить в класс метод:

TSaleLineItem = class
strict private

public
 procedure AssignFromString(S: string);
end;


В методе AssignFromString распарсить(разобрать) строку вида Дата | Номер | Наименование | Сумма
И распихать данные по полям.
Примерно так


DINOEL   (2007-08-09 15:12:00) [24]

Да, файлик будет на 1000 строк.
И как правильно заметил ув.Kolan - каждая запись, это действительно один элемент.
Всем большое спасибо за подсказки.

А что, массив совсем не подходит  ?:)

Просто я пока ещё не работал с классами и объектами - делфи взял в руки совсем недавно :)


stanislav   (2007-08-09 15:04:00) [25]

+
Kolan ©   (09.08.07 14:55) [3]
И каждую запись записывать в этот объект и добавлять в TStringList;
S:=TStringList.Create;
...
O:=TSaleLineItem.Create;
....
S.AddObject(O,'jdhjfdh');
...


Kolan   (2007-08-09 14:55:00) [26]

> Подскажите, пожалуйста, как мне хранить данные в памяти
> и работать с данными  ?

Однозначно завести объект.

Наверняка строка:
Дата | Номер | Наименование | Сумма
имеет имя в предметной области. Мне кажется что это 1 элемент в покупке.

Тогда можно завести класс:

TSaleLineItem = class
strict private
 {Тут поля}
public
 {Тут свойства доступа к полям.}
end;


И пусть вас не пугает что пока это просто контейнер(нет методов). Поверьте скоро у вас появятся методы, которые удобнее всего поместить в этот класс…


Sergey13   (2007-08-09 14:43:00) [27]

> [0] DINOEL ©   (09.08.07 14:24)
> табличка в файле

Велик ли файл то?


stanislav   (2007-08-09 14:39:00) [28]

Вобще все зависит от цели. Можо БД организовать, можно  проще что-нибудь
Вот самый простой вариант у него ограничение на 100 записей.
TMyRecord = record
Data:TDate
NUMBER:Integer;
NAME:String;
SUM:Real;
end;

Var
MyRecords:Array [1..100] of MyRecord;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо