Здравствуйте!
Не так давно написал програмку для учета расходов и доходов. Писалась для себя, поэтому немного запутана (возможно есть лишние элементы)так что строго не судите. Опыта написания таких программ небыло, да и SQL я не знал, изучал по ходу.
Програмка ведет базу данных доходов и расходов.
Выводит отчеты по выбранным датам в разрезе по категориям.
Строит графики доходов и расходов за год.
Буду рад, если кто-то что-то в нее добавит или переделает в лучшую сторону.
Скачать
PS. нехватает прав чтобы прикрепить файл, скинул в "Файлообмен"
Этот топик читают: Гость
Ответов: 17
Рейтинг: 4
|
|||
карма: 0 |
| ||
Голосовали: | Tad, sla8a, Poputchik, filyaxxxcom |
Ответов: 16884
Рейтинг: 1239
|
|||
faramir777, неплохо. А вот лишнего очень много.
В SQLite вычисления тоже на уровне. Простейший пример: Например к запросу
А вот тебе твой график
Успехов! P.S. Да, и компонент EventFromData применяешь совсем не по его назначению. |
|||
карма: 25 |
| ||
Голосовали: | sla8a |
Ответов: 17
Рейтинг: 4
|
|||
Tad писал(а): SELECT MAX(№)+1 FROM base;
вполне можно отказаться от применения компонента Math и сразу получить следующий номер. Учту... Мне просто поглубже нужно изучить SQL. Тем более он мне очень понравился, было интересно с ним повозится. Tad писал(а): А вот тебе твой графикОчень понравился график. Его оказыватся можно сделать таким простым, а я не один час потратил. Наверно если пересмотреть всю програмку, большую ее часть можно выкинуть Tad писал(а): P.S. Да, и компонент EventFromData применяешь совсем не по его назначениюПросто не знаю что еще можно использовать вместо него... |
|||
карма: 0 |
|
Ответов: 2236
Рейтинг: 676
|
|||
faramir777 писал(а): Просто не знаю что еще можно использовать вместо него.Используй Memory Вот такие вещи точно переделывай: code_28330.txt У тебя такое много где используется. В таких местах можно обойтись без таймера: code_28332.sha Элемент GetData устаревший (его то и в палитре элементов нет), вместо него GetDataEx (вкладка Помощники). Или вообще используй LineBreakEx (тоже вкладка Помощники). Вот так: code_28331.txt А вообще схема сделана аккуратно. Вот только незнание и неправильное использование элементов, но у всех так вначале и это поправимо. |
|||
карма: 11 |
| ||
файлы: 3 | code_28330.txt [282B] [457], code_28331.txt [1.2KB] [468], code_28332.sha [1.7KB] [554] |
Ответов: 16884
Рейтинг: 1239
|
|||
faramir777 писал(а): большую ее часть можно выкинуть clock_n.png Да. 1. Калькулятор можно сделать, используя возможности SQLite (без компонент математики) 2. Для создания таблиц используй команду с условием:
------------ Дoбавленo в 21.42:
А вот так примерно, одним запросом, формируется вся справка за период по категориям:
А если-бы дату в таблицах хранил в формате INTEGER, то всего 4 компонента. |
|||
карма: 25 |
| ||
файлы: 1 | clock_n.png [4.8KB] [1195] | ||
Голосовали: | Konst |
Ответов: 17
Рейтинг: 4
|
|||
Tad писал(а): Т.е. из используемых тобой ~170 компонент останется всего ~20.Мда... Конечно до идеального варианта программы мне еще долго изучать HiAsm... Tad писал(а): 2. Для создания таблиц используй команду с условием:
CREATE TABLE IF NOT EXISTS base (№, Дата DATE,Сумма, Категория, Описание TEXT); CREATE TABLE IF NOT EXISTS dohod (№, Дата DATE,Сумма, Категория, Описание TEXT); Tad писал(а): А если-бы дату в таблицах хранил в формате INTEGER, то всего 4 компонента.У меня уже очень много записей в базе данных, удалять ее не хочу чтобы создать новую. Есть ли способ переделать таблицу не удаляя данные в базе? |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
faramir777, только с помощью временной таблицы.
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
faramir777 писал(а): У меня уже очень много записей в базе данных, удалять ее не хочу чтобы создать новуюiarspider писал(а): с помощью временной таблицы. У тебя очень "жёсткая схема программы". Вопрос 1: Если надо будет добавить новую категорию, что будешь делать ? Искать исходник, добавлять, компилировать и т.д. Вопрос 2: Чем отличется работа с таблицами прихода и расхода ? Только именами таблиц БД. Значит число компонент в твоей программе можно считать раздутыми примерно в ~2 раза. Ничего не удаляй. Просто попробуй начать по новой с 0. Быть патриотом - похвально. Но давать русские имена колонкам таблиц - извини... |
|||
карма: 25 |
|
Ответов: 8915
Рейтинг: 823
|
|||
Эх, блин, были БЫ доходы такую БЫ таблицу нарисовал БЫ Даже с русскими именами!
|
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Примерная схема БД:
------------ Дoбавленo в 21.28: Леонид писал(а): Даже с русскими именами! |
|||
карма: 25 |
| ||
Голосовали: | faramir777 |
10