![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.01.2012
Сообщений: 22
|
![]()
VB не изобилует встроенными функциями.
В то же время в библиотеках Microsoft C Runtime Library огромное количество полезных функций. Но... Вызов этих библиотек из VB ни к чему хорошему не приведет. Выход: пишем собственную C++ библиотеку с аналогами нужных функций. //StrNum.h namespace StrNum { class MyStrNum { public: static __declspec(dllexport) int IsNum(int ch); }; } //StrNum.cpp #include "StrNum.h" #include <stdexcept> #include "stdafx.h" #include <tchar.h> using namespace std; namespace StrNum { int MyStrNum::IsNum(int ch) { int a; a=isalnum(ch); return a; } } Компилируем.Получаем DLL с полной дрянью в секции экспорта типа: ?IsNum@MyStrNum@StrNum@@SAHH@Z Правим экспорт в hex-редакторе. (Читайте мою статью "Как превратить EXE в DLL") Получаем DLL с функциями C (для работы с символами), которые работают в среде VB. Справка к вложению: Функция IsAlnum IsAlnum(ByVal ch As Integer)As Integer Если аргумент является буквой или цифрой, функция isalnum() возвращает ненулевое значение, в противном случае возвращается нуль. Функция IsAlpha IsAlpha(ByVal ch As Integer)As Integer Если аргумент является буквой, функция isalpha () возвращает ненулевое значение, в противном случае возвращается нуль. Является ли символ буквой, зависит от языка. В английском алфавите буквами считаются строчные и прописные символы от А до Z. Функция IsPrint IsPrint(ByVal ch As Integer)As Integer Если аргумент является печатаемым символом, включая пробел, функция isprint () возвращает ненулевое значение, в противном случае возвращается нуль. Как правило, печатаемые символы расположены в диапазоне от 0x20 до 0х7Е. Функция IsPunct IsPunct(ByVal ch As Integer)As Integer Если аргумент является знаком пунктуации, функция ispunct () возвращает ненулевое значение, в противном случае возвращается нуль. К знакам пунктуации относятся все печатаемые символы, не являющиеся буквами, цифрами и пробелами. Функция IsSpace IsSpace(ByVal ch As Integer)As Integer Если аргумент является пробелом, знаком горизонтальной или вертикальной табуляции, символом возврата каретки или перехода на новую строку, функция isspace () возвращает ненулевое значение, в противном случае возвращается нуль. Функция IsUpper IsUpper(ByVal ch As Integer)As Integer Если аргумент является прописной буквой, функция isupper () возвращает ненулевое значение, в противном случае возвращается нуль. Функция IsXdigit IsXdigit(ByVal ch As Integer)As Integer Если аргумент является цифрой или буквой английского алфавита, функция isxdigit () возвращает ненулевое значение, в противном случае возвращается нуль. (Среда Microsoft Visual Studio 2008) Желаю успеха. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование функций С++ | ignat129 | Помощь студентам | 5 | 13.05.2012 16:15 |
Использование функций С++ | Eskared | Помощь студентам | 2 | 05.12.2011 19:12 |
Использование функций в Си | (=Hello=) | Общие вопросы C/C++ | 46 | 11.11.2011 17:41 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
Использование функций | prikolist | Общие вопросы C/C++ | 15 | 06.04.2009 18:42 |