Показать сообщение отдельно
  #2  
Старый 14.07.2015, 06:50
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от login
...Нужны пояснения для каждой кнопки и каждого эдита, если можно..
Как работать с программой и т.д. Краткий обзор для нуба
Открываете новый проект, на форму набрасываете компонентов по-списку что в секции type прописаны, а именно: чотире лейбла, столько же едитов, пять кнопок плюс одну с картинкой, поле мемо и диалоги окрытия и сохранки файлов, зачем-то ещё манифест нужно подбросить, видимо для украски. Дальше жмёте на все кнопки, это чтоб в юните формы появились их процедуры обработки клика, ещё выбираете в инспекторе процедуру создания формы, а затем меняете весь текст на приведённый вами, и на этом с адаптацией вроде всё.

В лейблы на-русском вбиваете:

Label1 - "Дата выезда:", распологаете его рядом с Edit1
Label2 - "Пункт назначения:", рядом с Edit2
Label3 - "Время отправления:", рядом с Edit3
Label4 - "Число свободных мест:", рядом с Edit4

из этих надписей сразу видно, в каком едите и какую инфу следует набирать при добавлении новой записи

По кнопкам:

Button1 - это добавление новой записи (её содержимое формируется на основе данных из едитов) к типизированному, на этот момент уже открытому файлу и поэтому, она изначально на форме не видна, чтобы небыло ошибки доступа к файлу

Button2 - это создание нового файла, имя ему задаётся в диалоге и в конце на форме отображается первая кнопка, записи теперь добавить можно смело

Button3 - это загрузка существующего на диске типизированного файла с данными, тоже имя задаётся через диалог, одновременно происходит отображение его содержимого в мемо, вероятно для наглядности, про видимость первой кнопки вы и сами возможно догадаетесь

Button4 - это поиск подходящих под заданные условия записей, они вводятся последовательно, следуя подсказкам ввода данных. Кстати, сравнение может и не работать, поскольку не хватает кое-где парных скобок плюс несовпадение некоторых типов данных, в смысле должно быть так
Код:
...
if (d = data) and (p = punkt) and (StrToDateTime(t) <= StrToDateTime(time)) and (StrToInt(m) <= StrToInt(mesta))
...


Button5 - а это сохранение данных из типизированного файла в обычном, текстовом, имя ему задаётся в сейв-диалоге

BitBtn1 - вот здесь наблюдается косяк, какбы закрывается открытый (может быть) основной файл-хранилище, а на самом деле это нужно делать ещё при добавлении новой записи, такой вот недоработок у предоставленного алгоритма детектируется, есть и другие (напр. типы данных в записях), но эти грабли лучше пропустить

Как работать с программой:

Запускаете, при исполнении задаёте новый файл, набиваете его данными и сохраняете на диске. При повторной загрузке в мемо отобразится список возможных вариантов, из них уже можно производить отбор подходящих под условия задачи, примерно так это всё и работает
Ответить с цитированием