![]() |
Работа с txt в форме
Здравствуйте. Надеюсь на вашу помощь.
Требуется создать визуальную программу, которая считывает строки из указанного файла и выводит на экран. Надо сделать так, чтоб эти поля можно было редактировать, удалять, добавлять и сохранять результаты операций. Вот сам текстовый файл. Структура записи: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. Код:
8;"Запорожье - Вена";8.12.2010 18:45:00;8.12.2010 23:00:00;12 Вот структура: Код:
typedef struct Файл считываю так: Код:
TStringList *Lst = new TStringList; |
Всё очень просто, проверку я не указываю, но этот способ работает при условии что все поля заполнены или имеют хотя бы умолчальные данные. Далее, разбиваем каждую строку по разделиютелю, тут у нас это точка с запятой и обращаемся к элементам списка. Вместо ListBox можно подставлять свои переменные для хранения значений.
Код:
//--------------------------------------------------------------------------- |
Спасибо, Drongo, вы очень помогли. Реализовал вывод в TEdit'ах, правда много кода вышло, не знаю, как реализовать так, чтобы можно было видеть объект класса TEdit из функции.
Не подскажите теперь как реализовать запись из TEdit в файл. ![]() Вот реализовал на событии onClick в кнопке вывод в цикле объектов класса TEdit и заполнил поля, теперь же требуется после редактирования полей, по нажатию на другую кнопку запись в тот же файл. Если я правильно думаю, то тут через конкатенацию строк это делать. Записывать строки в объект типа TStringList и через функцию SaveToFile сохранять? |
Цитата:
|
Я попробовал ещё решить задачку через StringGrid. Проект прикрепляю. Среда Borland C++ Builder 6.0
|
Цитата:
Быть может, можно использовать структуру INI-файла? Тогда будет достаточно открыть его объектом класса TIniFile и считывать/записывать нужные значения, просто указывая имя нужного раздела |
Drongo, а я все через TEdit'ы делал, я даже не видел этого компонента :) Спасибо вам)
El Scorpio, да, требуется именно txt, я сначала делал вообще через БД, но сказали, что слишком все просто. |
Не подскажите, как можно вывести на StringGrid строки, которые были выделены в ListBox'e?
Код:
void TModules::task1(void) Код:
void TModules::task1_get(void) |
Вот что получилось, но данный код работает, если выделять с первого элемента, а требуется произвольное выделение в ListBox'e
Код:
void TModules::task1_get(void) |
|
Вложений: 1
Я попробовал так, введя счётчик для столбцов, в вашем случае n равна строке и само собой что пустая строка отсчитывается
Код:
//--------------------------------------------------------------------------- |
Время: 15:13. |
Время: 15:13.
© OSzone.net 2001-