Вопрос по Delphi (срочно)

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
Помогите, если кто сможет и кому не лень!

Задали курсовую по Delphi, как делать не знаю...

Необходимо создать текстовую базу данный (в TXT формате) "Автоматизированной системы управления для Автотранспортного предприятия".
Всего необходимо связать две таблицы.

Состав таблицы 1:
Code:
Порядковый номер,Производитель,Наименование товара,Вес товара(кг.),Количество,Дата поставки,Цена(руб.)

Cостав таблицы 2:
Code:
Порядковый номер,Производитель,Наименование товара,Вес товара,Количество

В задачах стоит такой пункт:
Code:
Распечатать таблицу заявок от заданного заказчика, дополнив её суммарной стоимостью всех заказанных товаров

Заранее большое спасибо спасителю....
 

Player

Member
Joined
May 29, 2005
Messages
19
Reaction score
1
так читай про файлы в книжке там все есть. или ты даже синтаксис не знаешь?
 

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,105
Reaction score
902
Age
25
Первый раз слышу про ТЕКСТОВЫЕ базы данных. И чем, интересно, можно связать ТЕКСТОВЫЕ ТАБЛИЦЫ (интересно, как это будет реализовано)? Все это очень похоже на бред (imho).
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
для начала надо значения текстового файла помесить в компонент Table, а как это сделать пока не знаю, подскажите кто нить??

И надо ли использовать вообще компоненты datasourece и dbgrid???
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
в текстовом файле следующее:
Порядковый_номер Производитель Наименование_товара Вес_товара(кг.) Количеств Дата_поставки Цена(руб.)

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

jet800

ex-Team DUMPz
Premium Member
VIP
Joined
Feb 12, 2019
Messages
703
Reaction score
118
Читешь строку, а в текстовом файле поставь разделители - в принципе и пробле можно, но оно может и в тексте встретиться. Затем делаешь парсинг строки. Дельфа какая? Под какую платформу под .NET или под Win32?
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
А какой разделитель(или что в качестве разделителя) использовать

Что значит делаешь парсинг строки???

Delphi7 под win32
 

jet800

ex-Team DUMPz
Premium Member
VIP
Joined
Feb 12, 2019
Messages
703
Reaction score
118
Ну ИМХО - lzk разделителя отлично годится ";", поставь два символа на крайняк какие точно не встретятся в тексте подряд скажем: &;. Вот те и вся наука. Парсинг - обработка. Суть такая:
нашёл первый разделитель в строке - символы и з строки с 1го по n найденного - это порядковый номер, записал в массив, удалил из строки эти символы, нашёл следующий разделитель символы с 1 по n - Производитель и т.д. для всех. И всё в цикл repeat until EOF();
Сам код писать лень - если знаешь дельфу хоть немного напишешь сам.
 

Msha

ex-Team DUMPz
Hacker
Professional Carder
Joined
Oct 12, 2014
Messages
7,156
Reaction score
2,481
А почему эта тема не в разделе ''прикладное программирование''?
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
я, к сожалению не нашел где можно было эту тему создать,
перенесите, если это не сложно....
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
Вопрос следующий:
создаю некую переменную "a:string"
Открываю, все как положено файл, читаю строку (readln). Получается следующее что в переменой "a" у меня первая строка текстового файла, т.е. другими словами шапка таблицы.

Как мне сейчас по файлу то перемещаться??? т.е. делать обработку???
 

jet800

ex-Team DUMPz
Premium Member
VIP
Joined
Feb 12, 2019
Messages
703
Reaction score
118
Блин ну ты вообще дуб или как?
Code:
repeat
readln();
{а тут обработка строки.}
until EOF();
ну параметры соотвественно переменным своим расставляешь.
Еще в принципе понадобится добавить счётчик, чтобы знать строку с каким номером читаешь.
 

maidan

Member
Joined
Jan 6, 2005
Messages
93
Reaction score
4
Age
55
Проще использовать TSringlist, вот пример
Code:
procedure additem(filename,value:string);
var list:tstringlist;
begin
list:=tstringlist.Create;
list.LoadFromFile(filename);
list.add(value);
end;
Доступ к любой строчке
Code:
list.items[_Nomer_stroki]
Больше в хелпе по Delphi читай!!!:)
 
Last edited by a moderator:

jet800

ex-Team DUMPz
Premium Member
VIP
Joined
Feb 12, 2019
Messages
703
Reaction score
118
Тоже метод :)
 

Kidman

Member
Joined
Oct 20, 2004
Messages
53
Reaction score
8
Age
38
Если хочешь то могу выслать программу с кодом на такое задание

Дан файл Assort, содержащий сведения об
игрушках: указываются название
игрушки, ее стоимость в рублях и возрастные
границы (например, игрушка может
предназначаться для детей от двух до пяти лет).
Определить названия игрушек, цена которых не
превышает 140 руб. и которые подходят детям 5
лет;

Если я не ошибаюсь, то ето почти одно и тоже. Вроде все нужные алгоритмы в ней присутствуют... если что пиши на [email protected]
 

Wizard666

Member
Joined
Aug 14, 2004
Messages
64
Reaction score
0
Age
43
Location
Москва
Совет: сходи на _http://www.delphikingdom.com

Кстати, помнится еще в Pascal можно было указывать:
readln(f, a1, a2, ...)
где f-файловая переменная, а далее идет список переменных. В текстовом файле значения идут через пробел.

P.S. Но лучше все-таки полистать книжку - полезно, говорят.
 

maidan

Member
Joined
Jan 6, 2005
Messages
93
Reaction score
4
Age
55
Я могу написать прогу , токо если просморт базы будет через саму прогу , а не через блокнот( способ хранения буде своеобразным).Но мне не понятно назначение таблиц, они почти однаковые ( разница токо в "Дата поставки,Цена(руб.)") И что означает "Всего необходимо связать две таблицы." ? Для чего их связывать? "Распечатать таблицу заявок от заданного заказчика, дополнив её суммарной стоимостью всех заказанных товаров" - вполне 1 таблицы достаточно ;)
 

Vaston

Member
Joined
Mar 23, 2005
Messages
44
Reaction score
0
Age
41
Location
Ижевск
maidan Если тебе не трудно, то напиши пожалуйста. (через блокнот и не надо), Через саму прогу будет достаточно.

На всякий случай уточню задание:

1. Цель работы: "Создать автоматизированную систему управления для работы с базами данных, с целью увеличения эффективности хозяйственной деятельности, за счет электронного документооборота"

2. Задачи:
2.1. Аналитический обзор методов и систем АСУ АП - НЕ НАДО
2.2. Создание текстовой базы данных (в TXT формате)
2.3. Распечатать таблицу заявок от заданного заказчика, дополнив ее суммарной стоимостью всех заказанных товаров.
2.4. Разработка и тестирование программы.

3. Технические средства:
3.1 IBM PC - совместимый
3.2. Опереционная система Windows 9x/ME/XP
3.3. Язык программирование - Delphi

Всего должно быть две таблицы со следующим содержанием:

Первая таблица - "Файл заявок":
Code:
|Производитель|Наименование товара|Вес товара|Дата поставки|Цена|Количество|

Вторая таблица - "Нормативно справочный файл":
Code:
|Наименование товара|Вес товара|Цена|Количество|

Было дано две таблицы, мне тоже кажется что одной бы хватило, но блин из две....

Получается, что первая таблица "Файл Заявок" - это как магазин, потребитель выбирает, то что он хочет, выставляет свою заявку, например, редуктор, производства "Завода редукторов" в количестве 3 шт, а вторая таблица "Нормативно справочный файл", говорит нам о наличии данного товара получается, как бы на складе..., например, таких редукторов в наличии 10 штук, и получается что 3 можно отпустить без проблем....

Буду примного благодарен maidan, за оказанную помощь...
 
Last edited by a moderator:
Top