IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   вопрос по Delphi (https://www.imho.ws/showthread.php?t=96141)

Vaston509 19.11.2005 13:00

вопрос по Delphi
 
Помогите, если кто сможет и кому не лень! :молись:

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

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

Состав таблицы 1:
|Производитель|Наименование товара|Вес товара|Срок поставки|Цена|

Примерный состав таблицы 2 (примерный, потому что можно что-нибудь поменять или изменить):
|Производитель|Наименование товара|Вес товара|

В задачах стоит такой пункт:
Код:

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

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

gscorp 19.11.2005 14:06

вариантов выполнения масса,
по мере усложнения выполнения:

1. взять готовые компаненты, работающие с txt файлами, как с таблицами. А затем, пользовать тот функционал, который пердоставляет сама делфя по фильтрации, отображению.

2. Взать готовые компаненты, реализующие таблици в памяти, ручками наваять парсер, ну а дальше как в п.1.

3. пользовать какой либо другой формат хранения данных, к примеру MS Access, т.е. первичные данные берутся из txt, заталкиваются в Access, и все дальнейшая работа идет с этой "БД". (ну про монстров, в смысле БД, я не говорю).

4. Если изначально предполагается, что файлы не большие, то фильтровать и отображать данные можно "на лету".

5. Реализовывать ручкими компоненты (либо просто классы), реализующие необходимые функционал.

примерно так... ;)

Vaston509 19.11.2005 14:40

1. Что еще за готовые компоненты с txt файлами? Опиши поподробне, хотя бы название..

3. Т.е. видимо можно как то запихнуть данные из тхт в стандартную BDE&?

4. как это на "лету"

Vaston509 20.11.2005 10:54

Может кто-нибудь набрасает маленький примерчик, плиззз :yees:

Vaston509 20.11.2005 12:14

Хотя бы как из текстового файла закинуть все в таблицу BDE?? :молись:

gscorp 20.11.2005 12:20

Цитата:

Vaston509:
1. Что еще за готовые компоненты с txt файлами? Опиши поподробне, хотя бы название..
к примеру одна из таких называется TSdfDataSet

Цитата:

3. Т.е. видимо можно как то запихнуть данные из тхт в стандартную BDE&?
кто мешает? просто распарсить надо. кста, аааапсалютна не обязятельно завязываться на BDE. часто бывает лишним звеном.

Цитата:

4. как это на "лету"
открывать файло, и выводить только те данные которые необходимы.

Vaston509 21.11.2005 10:01

:молись: а может все-кати можно маленький приерчик...плизз, очень нужно :молись: :молись: :молись:

Denis 21.11.2005 11:09

А что, для курсовых уже разрешают использовать компоненты, практически решающие задачу?

gscorp 21.11.2005 14:02

Цитата:

Vaston509:
а может все-кати можно маленький приерчик
Лучше скажи, с чем возникают трудности, попробую помочь/разъяснить. А вот писать готовую прогу в данной ситуации, это равносильно лишению личного опыта. по этому звиняй. не ко мне....

/7y3uK 21.11.2005 18:32

:biggrin: а нельзя в txt формат сохранить XML?

gscorp 22.11.2005 00:25

А зачем в XML?
по моему это приведет к усложнение парсинга/выборки,
В любом с лучае либо нуно компонент (писать или искать :)) либо цеплять .net, а мне так ни кто и не смог доказать обоснованность использования этой химеры в серверных приладах. да еще xslt рисовать надо будет :)

Vaston509 22.11.2005 15:08

Во-первых я не доконца представляю, как мне необходимо создать тхт файл (т.е. вводить данные через пробел или через запятую??? :confused: )

Во-вторых если как то считаю то хотелось бы закинуть в компонент табле, как тоже пока ума не приложу,

ну а дальше я пока еще и не думал.... :cool:

P.s. буду благодарен за любую помощь...

gscorp 22.11.2005 16:02

Цитата:

Vaston509:
т.е. вводить данные через пробел или через запятую???
Любой симвор разделитель, который не может всречаться в полях.
на пример в формате CSV это ','

Цитата:

Vaston509:
закинуть в компонент табле
Это классы либо TTable, либо TDataSet, обычно от них и наследуются остальные классы компоненты которых тебе нужны. все зависит от того как ты собираешься работать с данными.

Цитата:

Vaston509:
ну а дальше я пока еще и не думал
А Вот это 100!!! :biggrin:

Цитата:

Vaston509:
P.s. буду благодарен за любую помощь...
В карму плз. :biggrin:
На вопросы по существу, чем смогу.

/7y3uK 23.11.2005 12:53

Цитата:

gscorp:
А зачем в XML?
по моему это приведет к усложнение парсинга/выборки,
Ой как ты не прав :biggrin:
Сейчас напишу плюсы, которых просто НЕТ при использовании простого TXT.
1. Парсеры уже написаны давно и будут работать по выборке в несколько раз быстрее, чем самостоятельная реализация

2. Парсер строит дерево - какие проблемы с поиском информации? Заводишь уникальный атрибут id и вуаля

3. Можно использовать в зависимости от нужды уже готовые модели или DOM или SAX - а можно и то и то :biggrin:

4. Не нужно заморачиваться с форматом хранения - придумал по минимуму тегов с атрибутами и вот тебе готовый data structure

5. Строить табличку при известном data structure (см. п. 4) совсем не сложно - собсно по ней и надо генерить форму и валидаторы

ну и из мелочей - можно кодировку указать и пр.пр.пр...

Цитата:

gscorp:
В любом с лучае либо нуно компонент (писать или искать ) либо цеплять .net, а мне так ни кто и не смог доказать обоснованность использования этой химеры в серверных приладах. да еще xslt рисовать надо будет
Рекомендую почитать литературку по теме :biggrin: Парсеров НЕМЕРЯНО!
Писанины в любом случае будет в 2-3 раза меньше, чем при использовании простого txt

ПыСы
.NET в бобруйск ИМХО - JAVA рулезззз

gscorp 23.11.2005 16:17

Цитата:

/7y3uK:
Сейчас напишу плюсы, которых просто НЕТ при использовании простого TXT
Гы.... Зачем оно в данной конкретной задаче? Можно конечно и танкими на голож**пых. Задача достаточно предельно точно. A с точки зрения ресурсоемкости при использовании XML она будет тяжелее.
А отноститься к .xml, как к нормальной БД... даже в первом приближении малоразумно. (привда .txt еще хуже)

Постановка задачи:
Цитата:

Необходимо создать текстовую базу данный (в TXT формате)
Куда уж конкретней...
Кста, я видел умельцев, которые xml в строковое поле реляционной БД засовывали.
Цитата:

/7y3uK:
Рекомендую почитать литературку по теме Парсеров НЕМЕРЯНО!
Ну вот... опять... будем давай пип..и меряться?... Отпарсить не проблема. Вопрос в используемых ресурсах. На пример в проекте, который на данный мометн релизится (с++), используется самописный XML-parser.

Цитата:

/7y3uK:
Писанины в любом случае будет в 2-3 раза меньше
Убийственный агрумент :claps:. Я плакаль.

/7y3uK 23.11.2005 20:22

Цитата:

gscorp:
А отноститься к .xml, как к нормальной БД... даже в первом приближении малоразумно. (привда .txt еще хуже)
к Access тоже неразумно относиться как к полноценной БД :biggrin:
Суть не в этом, а в том, что XML - это тоже txt (с некоторой натяжкой) - только в отличие от последнего - более технологичный и стандартизированый...
Цитата:

gscorp:
A с точки зрения ресурсоемкости при использовании XML она будет тяжелее
ресурсов чего? да, строится дерево будет несколько накладно, особенно большое, но зато шуршать по этому дереву будет довольно быстро и удобно...

Цитата:

gscorp:
Отпарсить не проблема. Вопрос в используемых ресурсах. На пример в проекте, который на данный мометн релизится (с++), используется самописный XML-parser.
это жесть :) Самописный XML парсер - это извращение. Я вообще не генеталометрией предлагал заняться, а намекал на то, что все парсеры одинаково устроены - ничего нового все равно не придумаешь, только ошибок наделаешь. А также, что упоминание XSL в данном случае несколько неуместно :)

ладно, скажу флуду STOP

gscorp 23.11.2005 21:50

да-да, отсалось сказань, что xsl тоже есть xml :)

Ладно, согласен. флайм разводить - лишнее.

Vaston509 28.11.2005 10:20

Я конечно извеняюсь за глуповатые вопросы, но у меня опять они появились, подскажите плиззз... :молись: :help:

Создал я текстовый файл:
Код:

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

2. Надо ли использовать компоненты DataSource и DbGrid, если да, то как?

Подскажите кто нибудь, очен надо, все сроки уж горят.... :help: :help: :help:

AZBuka 28.11.2005 11:21

Цитата:

Сообщение от Vaston509
2. Надо ли использовать компоненты DataSource и DbGrid, если да, то как?

:help:

Ежели надо отображать данные на экране, то эти компоненты конечно же нужны.
Рекомендую заглянуть на http://www.delphikingdom.ru/asp/nets.asp?ItemID=50
Там есть раздел "Обработка текста". Может быть поможет.

Vaston509 02.12.2005 12:45

Тогда Как записать "Порядковый номер", "Производитель" и все остальные элементы таблицы в компонент Table?

ЕЖ 02.12.2005 14:33

Vaston509
Table - это наследник TDataSet, т.е. работа с базами данных. Его содержимое и отображается в DBGrid через DataSource. Если тебе не надо хранить всё в базе данных, а хочется только работать с DBGrid, то вместо TTable используй один из многочисленных компонентов типа MemoryDataSet - тоже наследнки TDataSet, только всё хранят в памяти. Все методы работы с данными те же. Но если тебе нужно просто табличное представление данных, то проще наверное будет использовать TStringGrid.

AZBuka 02.12.2005 16:03

Цитата:

Сообщение от Vaston509
Тогда Как записать "Порядковый номер", "Производитель" и все остальные элементы таблицы в компонент Table?

С TTable в связке с текстовым файлом у меня не получилось нормальное отображение с разбивкой по полям в DBGrid, строка отображается одним полем.
Я воспользовался ADOTable. Пример выложил в Обменник (Primer.rar).

pitong 14.12.2005 00:00

Цитата:

Vaston509
Скажу по секрету что TTable никто никогда серьёзно не использует (не считая работы с BLOB полем), а пихать данные в табло надо напрямую через ПО поставляемое к СУБД (без BDE который 20 лет назад придумали)

AZBuka 15.12.2005 17:10

Цитата:

Сообщение от pitong
Скажу по секрету что TTable никто никогда серьёзно не использует (не считая работы с BLOB полем), а пихать данные в табло надо напрямую через ПО поставляемое к СУБД (без BDE который 20 лет назад придумали)

Не совсем понял о каком ПО идет речь. Человек вообще-то говорил о Delphi.


Часовой пояс GMT +4, время: 23:17.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.