PDA

Показать полную графическую версию : Курс 8 видов валют на любой выбранный день и конвертация [Валюта] <-> [Рубль]


Страниц : [1] 2

kaster
11-08-2009, 16:36
После очередных видоизменений, подвожу промежуточный итог.

Строение скрипта

Основная вкладка: Выбор вида валюты, выбор даты, конвертация
Вспомогательная вкладка: перезапись основного файла с базой данных



Сопровождающие файлы



ButtonConstants.au3
EditConstants.au3
GUIConstantsEx.au3
StaticConstants.au3
ProgressConstants.au3
WindowConstants.au3 - Необходимы константы
Date.au3 - Библиотека для получения разницы дат
GuiTab.au3 - Библиотека для вкладок

[Resources]

dollar.ico - Файл с иконкой
ru.ini
eng.ini - Файлы языковых настроек
dollar.ico - Файл с иконкой
CViewerHelp.chm - Файл справки (Пока пустой)



Возможности скрипта

Показ курса валют на любой выбранный день в случае наличия в базе ЦБ РФ для любого из 8 выбранных видов валюты
Хранение полученных курсов в общей локальной базе данных для дальнейшего к ним обращения без необходимости скачивать страницы снова
Возможность выбирать собирать курсы самому или загрузить всю историю курсов с сайта ЦБ за период с 01.07.1992 - по настоящее время с сохранением имеющейся базы
Конвертация из вышеперечисленных видов валют в рубли и обратно по курсу "на сегодня"
Возможность смотреть курс "на завтра" в случае успешной регистрации курса Центробанком.
Выбор языка [I]NEW
Различные виды защит "от дурака"

Защита от ввода дат не зарегистрированных в ЦБ
защита от ввода "далекого будущего" (+2 дня и больше)
Защита от ввода завтрашнего дня в случае отсутствия зарегистрированного курса (как правило курс "на завтра" регистрируется "сегодня" после полудня)
Защита от случайной перезаписи существующей базы при обновлении с сайта за полный период с 1992 года - Старая база будет хранится под названием database_old.ini

визуализация процесса загрузки данных и записи в базу значений и всякого рода страшилками по поводу перезаписи данных и возможно большого количества времени ожидания :teeth:
Возможность конвертировать валюты в обоих направления относительно рубля
Скомпилированная версия файла является самодостаточной для беспроблемного запуска на машинах с только лишь предустановленной операционной системой Windows XP SP3 (про остальные ОСи ничего сказать не могу, не проверял)


Особенности скрипта и будущие планы

Наполнение HELP-файла
Использование модуля sqlite для более удобного и быстрого доступа к истории курсов - Отказался от этой затеи, т.к. была получена оптимизация записи данных в database.ini
Построение временных трендов за указанные период времени


Скрины

http://pic.ipicture.ru/uploads/090907/5337/VvVeKx5BhX.png http://pic.ipicture.ru/uploads/090907/5337/ufJr6OF540.png
http://pic.ipicture.ru/uploads/090907/5337/6SuiZxLTg9.png http://pic.ipicture.ru/uploads/090907/5337/xELMX65lKT.png

Архивы
Смотрите в аттаче (Как обычно src, exe и database.ini с курсами по сегодняшний день)

Дополнения и изменения к версии 5
* Интерфейс. Теперь одно окно с вкладками. Цвет изменен на нейтральный. Немного подкрашен текст. Убрана возможность редактировать поля для вывода. Другая иконка
* Календарь. Без отдельного окна, и ограничение на редактирование поля для даты. Формат теперь жестко задан самой формой календаря
* Прогресс-Бар. Без отдельного окна.
+ Вкладки
+ Кнопка-Пустышка для Хелпа.

Дополнения и изменения к версии 6
* Скорость записи *.ini файла заметно возросла (Это пока единственное что сделано :teeth: )

Дополнения и изменения к версии 7
* Добавлен выбор языка интерфейса. Винить сами знаете кого :teeth: (Выбор языка при первом запуске определяется по локали системы)

bez_
11-08-2009, 17:23
kaster, не могли бы добавить и пересчет курса в гривнах для жителей Украины?

kaster
11-08-2009, 17:48
Привет, bez_ :)
Уточни пож-та, о каком пересчете ты говоришь, UAH -> RUR или UAH -> USD/EUR?

kaster
16-08-2009, 20:37
Проупдейтил первый пост и сам скрипт :)

SyDr
16-08-2009, 21:37
- Шрифт изменен с дефолтного, не помню какой был, на Calibri »
Лучше сменить на дефолтный. Калибри по умолчанию есть начиная с Висты.
Date.au3; GDIPlus.au3 (для работоспособности скрипта у тех, у кого нет Autoit3) »
Если ты компилируешь скрипт - тебе не надо таскать рядом файлы, вложенные с #include
PPS: Повторюсь, скрипт не претендует ни на что и является продуктом исключительно моего желания получше изучить язык.
Опять же, буду рад всем пожеланиям/комментариям/критике. »
Смени в основном цикле обработки GUI Select на Switch...
И добавь обработку события $GUI_EVENT_CLOSE - чтоб из проги можно было выйти не только по кнопке exit

kaster
16-08-2009, 22:02
Лучше сменить на дефолтный. Калибри по умолчанию есть начиная с Висты. »
а в хп нет. проверял на виртуальной машине. калибри мне больше по душе
Если ты компилируешь скрипт - тебе не надо таскать рядом файлы, вложенные с #include »
хм... у меня как раз наоборот было на машине на котором не было установленного autoit
Смени в основном цикле обработки GUI Select на Switch... »
и что это даст?
И добавь обработку события $GUI_EVENT_CLOSE »
у меня почему-то с двумя гуи окнами глюки. закрываешь один закрываются все

SyDr
17-08-2009, 09:51
а в хп нет. проверял на виртуальной машине. калибри мне больше по душе »
http://foto.tut.by/albums/userpics/z/r/1000014988/2009-08-17_083734623600.png
Даже после установки шрифта и перезагрузки
хм... у меня как раз наоборот было на машине на котором не было установленного autoit »
Что-то не так значит понял. Для скриптов UDF нет нужды таскать с собой сами файлы для скомпилированного скрипта. Если же скрипт нескомпилирован и у человека нет AutoIt - он не сможет его запустить)))
и что это даст? »
Ну... В принципе ничего... Просто Select обычно используется, как замена куче If'ов. Когда надо сравнить $a и $b, $c и $d и т.д. Switch же используется, когда надо сравнить одно какое-то значение со многоими другими. Хотя... Здесь кому как удобнее.
у меня почему-то с двумя гуи окнами глюки. закрываешь один закрываются все »
AutoIt3\Examples\GUI\Simple\child.au3
Посмотри пример работы с двумя GUI окнами.

kaster
17-08-2009, 10:53
Даже после установки шрифта и перезагрузки »
а ты проверь скопировались ли действительно шрифты в нужную папку
%windir%\fonts
и попробуй еще раз запустить
Что-то не так значит понял. Для скриптов UDF нет нужды таскать с собой сами файлы для скомпилированного скрипта. Если же скрипт нескомпилирован и у человека нет AutoIt - он не сможет его запустить))) »
вот именно, что тестил на машине без автоита, экзешник запустился но выдал ошибку, после FileInstall нужных либ ошибка исчезла. Не знаю как с автоитом конкретно дело обстоит, но по логике вещей вроде так и должно быть. откуда он может брать эти функции если их нет в компиляторе который вшивается в экзешник? можешь попробовать сам. подправь инклуды, убери файлинсталлы и запусти на тачке без автоита ;)
Ну... В принципе ничего... »
ну значит пусть будет так ;)
AutoIt3\Examples\GUI\Simple\child.au3 »
там и так одно окна идет как child
но все равно глючило. поизучаю. ну а пока путь будет Exit :D

FlatX007
17-08-2009, 12:56
а ты проверь скопировались ли действительно шрифты в нужную папку
%windir%\fonts
и попробуй еще раз запустить »

А ничего если шрифт надо зарегить в реестре ?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
Или сюда C:\Windows\win.ini секция [fonts]

kaster
17-08-2009, 13:07
А ничего если шрифт надо зарегить в реестре ? »
ничего. на хп работает и так

FlatX007
17-08-2009, 13:47
А с рапиды некачает, видать кто - то удалил О)

Подправил малец (или испортил каму как нравится)

kaster
17-08-2009, 15:03
А с рапиды некачает, видать кто - то удалил О) »
нет. файл лежит.
Подправил малец (или испортил каму как нравится) »
ща посмотрим :)

kaster
17-08-2009, 19:02
FlatX007, вобщем посмотрел я на твои поправки и сделал следующие выводы :)
Буду ставить тебе и себе оценки в виде "+" - принял на вооруженеи, "-" - не принял, "0" - проигнорировал :teeth:
За подсказку про собирание инклудов - отличная идея: + тебе
Аналогичным образом собрал и остальные файлы в папку - + мне :teeth:
Идея со свичами вместо селектов, начал править свой старый скрипт, и теперь там снова селекты, - 0
Не совсем понял зачем ты перерисовал мой GUI calendar. в общем я вернул все назад. тем более там былая какая-то константа $GUI_WS_EX_PARENTDRAG, которой не было ни в справке, да и компилятор ругался на него - "-"
в остальном, как я понял без изменений

по поводу самого скрипта, обновил его, с учетом вышесказанного. вобщем, FlatX007, кое-что из подправленного оказалось действительно полезным.

И так, последний упдейт
- Кнопка закрытия окна снова активна, можно закрывать нажав его или Esc-ом
- Все инклуды собраны в папку
- Все другие файлы нужные для работы скрипта собраны в папку
- Большой ини с историей курсов убран из основных файлов. кому надо можете скачать отдельно и заменить .\Resources\database.ini
- Шрифт заменен на дефолтный. Чтобы меньше возни было при первом запуске. А как известно, первое впечатление решающее :yes:

Архивы
Смотрим шапку

FlatX007
18-08-2009, 06:58
$GUI_WS_EX_PARENTDRAG

Позволяет перемещать окно указателем мыши не с помощью заголовка окна, а используя для этого его надписи или изображения. Назаменимый стиль окна без заголовка.

Этот стиль я наверно зря сунул ... недосмотрел
Вместо $GUI_WS_EX_PARENTDRAG напиши значение 0x00100000

Календарь должен был быть такой :)

kaster
18-08-2009, 09:31
Календарь должен был быть такой »
не поверишь, но он и сейчас такой :biggrin:

kaster
19-08-2009, 03:40
Смотрим шапку :beta:

FlatX007
19-08-2009, 19:09
Зачем создан этот файл с иконками icons.icl - всего из за 4 иконок...
Может тогда лучше dll ?
Да и воще помоиму нужен всего один ico да и тот для компилируемого файла.

И значки какие-то странные с белым фоном может лучше нарисовать нормальные - качественные с максимальным разрешением 255*255.

Да и почему программа на английском О-) , я вот лично ничего непонимаю.

kaster
19-08-2009, 19:45
Зачем создан этот файл с иконками icons.icl - всего из за 4 иконок... »
даже еслибы там были 2 файла, все равно удобнее держать один файл вместо 2,3,...,1000000
Может тогда лучше dll ? »
лучше чем? тоже 1 файл, тоже содержит иконки, а гемора больше. да и не умею я. а тут. берешь любой icon librarian, пихаешь иконки и сохраняешь как icl, просто как 5 копеек :)
Да и воще помоиму нужен всего один ico да и тот для компилируемого файла. »
если исключительно для компилирования, то после компилирования иконка, как мне помнится вообще внедряется в exe, так что в дальнейшем даже он не нужен. однакож, пусть будут. мне они нравятся :yes:
И значки какие-то странные с белым фоном может лучше нарисовать нормальные - качественные с максимальным разрешением 255*255. »
странные не странные, не знаю, брал у гугля. какие дал, такие взял. сам рисовать красиво не умею, да и потом, иконки ониж крохотные, зачем их мастерить :search: а эти может не очень красивые, зато со смыслом :teeth:
Да и почему программа на английском О-) , я вот лично ничего непонимаю. »
просто так. а тебе пора подучить язык :yes:

266903582
19-08-2009, 20:22
Да и почему программа на английском О-) »
Скорее всего возможностей Русского недостаточно для корректного информирования пользователя...
пора подучить язык »
... или взять исходники и перевести программу, ведь учить язык не так... просто как 5 копеек »
Или мы не ищем легких путей? :)

FlatX007
19-08-2009, 20:30
Я имелл виду такую иконку она растягивается до ... 255*255 :)




© OSzone.net 2001-2012