Visual Basic программирование

1.  Печатает в поле прописью сумму, набранную цифрами в другом поле. Задачка встречается при создании бухгалтерских программ. В приведенном конкретном исходнике сумма цифрами вводится в Text7. После ухода из этого поля по клавише Tab в Text4 появляется сумма прописью. Сумма может вводится в виде: 1457= или 1457-40.

2.  Та же программка, с небольшими изменениями, успешно работает в VBA в среде приложения Excel 97. Там удобнее ее использовать не как макрос, а как новую функцию Converter, тогда данные будут изменяться автоматически, без вызова макроса вручную. Изменением типа данных в ячейке можно разрешать или запрещать вывод копеек в конкретную ячейку, без изменения программки. В этом варианте сумма может вводиться в виде 1457 или 1457,40.

3.  Перекодировкa текста DOS (866 кодовая таблица) в Windows (1251). Код можно вставить в любую программу для просмотра текстового файла DOS в NotePad.

4.  Пример изъятия из текстового файла DOS нужных фрагментов и преобразования их в таблицу базы данных MS Access. Задачка часто встречается при использовании текстовых отчетов, созданных в DOS в качестве входных документов для приложения на VB. В этом примере кода входной файл, считываемый с дисковода A, представляет собой набор столбцов немного плавающих по ширине и содержащих цифровые значения. В отдельных строках располагаются названия объектов, которым соответствуют считываемые значения.

5.  Простенький пример печати бланка отчета без применения Crystal Report. Такой способ вывода на печать более трудоемок, но зато результат в меньшей степени зависит от марки принтера. Mожно использовать даже Epson FX-1000, который обычно не справляется с текстами Word 97, если применены таблицы или иные графические элементы.

6. 
 Еще один пример печати отчета без применения Crystal Report. Интересен тем, что во втором столбце печатаемой таблицы могут быть длинные строки, в которых надо переносить слова не разрезая, но нумерация в первом столбце должна появляться один раз. Поскольку отчеты могут быть различны по объему, организована постраничная печать с ориентацией на количество строк, выдаваемых не лучшим принтером. В отличие от предыдущего примера здесь применены относительные координаты позиций печати. Тема печати отчетов заслуживает внимания и в ближайшем будущем я подробнee остановлюсь на проблемах печати в отдельной статье.

7.  Пример запроса SQL для вывода некоторых полей таблицы базы данных MS Access в DBGrid, по параметру, выбираемому в DBCombo.

8. Функция Delimit(No,Text,Delimiters) делит Text на элементы, разделенные строкой символов Delimiters (которая может быть любой длины). Если параметр No=0, функцией возвращается количество элементов (Integer), при других значениях - получившаяся строка, отделенная первым встретившимся элементом Delimiters (String). Здесь же некоторые примеры использования функции.

9. Функция Separate делает примерно тоже, но есть несколько отличий: 
1. При любом No возвращается String 
2. Разделитель всегда состоит из одного символа, но их может быть несколько, например если Delimiters=",;-/", то в качестве разделителей будет принят любой из символов ",", ";", "-", "/" (в Delimit разделителем была бы строка ",;-/").

10. Функция fmtCurrency преобразовывает число к денежному формату: разделитель - точка, два знака после точки.

11. Этот кирпичик аналогичен примеру 1. Впрочем, у него есть более красивое решение. Функция IntTxt печатает в поле прописью сумму, набранную цифрами в другом поле без названия денежных единиц.

12. Функция LetterSum является дополнением к предыдущему примеру 11. Печатает названия денежных единиц.

13. Функция HyphText, решающая задачу размещения многострочного текста в PictureBox с организацией переноса слов.

14. Еще один вариант процедуры "Сумма - прописью". Изящное и компактное решение - красивая работа !

15. Выводит список шрифтов, доступных объекту Printer на вашей машине.

16. Операции с файлами. Простые процедуры, которые могут быть полезны начинающим

17. Модифицированная и подправленная процедура печати отчета из DBGrid (как ей пользоваться - см. статью о печати отчетов). Добавлен перенос слов в длинной строке. Добавлены более-менее приличные комментарии. По-видимому изменения будут продолжаться, поскольку подобные задачки постоянно встречаются мне в работе.

18. Процедура, решающая очень актуальную при выводе отчетов на принтер задачу. Определяет границы недоступных для печати зон по краям листа.

19. Пример отправки почты из VB-приложения без привлечения почтовых программ.

20. Пример отправки почты с аттачментом из VB-приложения без привлечения почтовых программ.

21. Модифицированная и подправленная процедура печати отчета из MSFlexGrid (как ей пользоваться - см. статью о печати отчетов).

22. Модуль, содержащий функции для работы с треем.

23. Универсальный класс, который позволяет изменять вид тулбара, читать данные из *.ini и записывать в него, проигрывать wav, запускать IE с web-адресом, отслеживать ввод с клавиатуры определенного слова. Для создания *.dll исходный код полностью вставляется в открытый проект ActiveX и компилируется.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=25751