![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в памяти хранить таблицу из 5 колонок?
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;