Цитата:
Сообщение от 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 - вот здесь наблюдается косяк, какбы закрывается открытый (может быть) основной файл-хранилище, а на самом деле это нужно делать ещё при добавлении новой записи, такой вот недоработок у предоставленного алгоритма детектируется, есть и другие (напр. типы данных в записях), но эти грабли лучше пропустить
Как работать с программой:
Запускаете, при исполнении задаёте новый файл, набиваете его данными и сохраняете на диске. При повторной загрузке в мемо отобразится список возможных вариантов, из них уже можно производить отбор подходящих под условия задачи, примерно так это всё и работает