![]() |
сумма
Здравствуйте. Есть 3 Edit'a. В первом сумма, во втором дата и в третьем время. Сейчас по клику на кнопку создается строка с данными из этих трех значений, вида 06/02/13 в 10-30 на сумму 1000.00 отправлено. Ну итак каждый раз дописывается новая строка.
Сейчас у меня задача писать не в один файл, а в файл с соответствующей датой и в конце писать сумму всех строк. Соответственно каждый раз добавляя новую строчку надо пересчитывать все. Помогите пожалуйста с реализацией, я не в силах :( |
Попробую писать это все в эксель, если есть какие-нибудь напутствия прошу ответить :)
|
Исходники в студию.
Вообще, скорей всего придется перейти на некоторый форматированный ввод/вывод. Например csv. Да, так наверно будет проще всего. Пример работы Видео на YouTube |
Код:
procedure TForm1.Button2Click(Sender: TObject); 06.02.13 12:30 на сумму 1000.00 отправлен 06.02.13 12:35 на сумму 500.00 отправлен 06.02.13 13:30 на сумму 400.00 отправлен Итого 06.02.13 отправлено на сумму 1900.00 Ну итак для каждого числа... Вот я что на счет этого думаю, берем название файла из переменной date, далее если файл не существует - создаем, пишем строку time + ' ' + date + ' на сумму ' + price + ' отправлен'; и на следующей строке пишем итого Итого отправлено на сумму price. Если существует, то считываем сумму из последней строки (где итого) прибавляем к ней текущую price, а перед этой строки записываем time + ' ' + date + ' на сумму ' + price + ' отправлен'. Вот что пока придумалось. Не знаю как реализовать присвоение имя файла из переменной, и как считывать итого и перед ним новую строку писать. ИЛИ же как-то все это в эксель отправлять, что даже было бы удобней, почитал сейцчас работу с эксель на делфи, не совсем все понятно и не придумал пока как оформить шаблон экселевский куда все писаться будет, саму структуру. Эксель круто, лучше бы в него, но первый вариант тоже подойдет |
UPD
Сам себе отвечаю, буду пробовать отправлять в эксель, план работы придумал)) |
Как-то надо было создать программу для обработки TSV.
Ну я создал таблицу, все данные хранил в базе данных используя движок BDE. Так как я не знал, какого содержания будут данные (их много и они не однотипные и там вперемешку данные разных типов), то я загружал файл в файловый поток, оттуда их загружал в стринглист, заменив tab, которым отделены данные на пробел и потом из стринглиста подгружал это все в базу данных и выводил на таблице на форме. У тебя же задача намного легче, ты знаешь входные данные, поэтому тебе надо только создать таблицу с тремя полями, в первое вставляешь TDateTimePicker для даты, во второе TTimePicker для даты, а третье стандартная строка. (а можешь и не вставлять компоненты, а так и оставить стандартные поля, только тогда тебе надо будет анализировать правильность ввода данных пользователем). Сгенерировать конечную строку уже можно будет без проблем. Для упрощения: На форму кидаешь DbGrid, в него будут вносится данные. DbGrid-у в качестве входных данных прописываешь DataSource, а DataSource в качестве DataSet-а прописываешь ClientDataSet, а потом пишешь что-то вроде: Код:
ClientDataSet.Edit; |
Время: 08:25. |
Время: 08:25.
© OSzone.net 2001-