Автор: Maks150988
Дата сообщения: 05.08.2008 16:57
Хелп. Помогите перевести с Си на Делфи. Для плагина надо.
[more]
#pragma once
typedef DWORD (WINAPI* FN_HTTPDOWNLOAD)(const char* szURL, const char *szMethod, const char *szArgs, const char *szReferrer, const char *szContentType, BYTE *pBuffer, DWORD dwMaxBufferLen);
typedef HICON (WINAPI* FN_GETMODULEICON)();
typedef HMENU (WINAPI* FN_GETMODULEMENU)();
typedef BOOL (WINAPI* FN_PROCESSCONTEXTMENUCOMMAND)(DWORD dwCommand, const char* szAccount, const char* szPassword, FN_HTTPDOWNLOAD httpDownload);
typedef BOOL (WINAPI* FN_GETMODULEINFO)(char *szModuleName, DWORD dwMaxNameLen, char *szGUID, DWORD dwMaxGUIDLen, char *szModuleDescr, DWORD dwMaxDescrName);
typedef BOOL (WINAPI* FN_GETMODULEHINTS)(char *szLoginHint, DWORD dwLoginHintLen, char *szPasswordHint, DWORD dwPasswordHintLen, char *szForgetPasswordLink, DWORD dwLinkLen);
typedef BOOL (WINAPI* FN_GETACCOUNTSTATE)(const char* szAccount, const char* szPassword, double* dBalance, double* dOverdraft, double* dActive, double* dMinutes, char* szTarif, DWORD dwMaxTarifLen, DWORD *dwTarifDays, DWORD *dwTarifDaysLeft, char* szMessage, DWORD dwMaxMessageLen, FN_HTTPDOWNLOAD httpDownload);
typedef BOOL (WINAPI* FN_GETACCOUNTURLANDPOSTDATA)(const char* szAccount, const char* szPassword, char* szURL, DWORD dwURLLen, char* szPOSTData, DWORD dwPOSTDataLen);
typedef BOOL (WINAPI* FN_INITMODULE)(LPCTSTR lpszScriptPath);
typedef BOOL (WINAPI* FN_UNLOADMODULE)();
//GetModuleIcon Запрос иконки для учетной записи, относящейся к данному модулю
//Возвращает хэндл иконки или NULL
HICON APIENTRY GetModuleIcon();
//GetModuleIcon Запрос контекстного меню для учетной записи, относящейся к данному модулю
//Возвращает хэндл меню или NULL
//ВНИМАНИЕ! Для того, чтобы команды модуля обрабатывались корректно
//они должны иметь идентификатор > 40000
HMENU APIENTRY GetModuleMenu();
//ProcessContextMenuCommand Выполнение команды, выбранной в контекстном меню
//DWORD dwCommand - Команда
//const char* szAccount - Логил
//const char* szPassword - Пароль
//FN_HTTPDOWNLOAD httpDownload - указатель на функцию (см. объявление FN_HTTPDOWNLOAD)
BOOL APIENTRY ProcessContextMenuCommand(DWORD dwCommand, const char* szAccount, const char* szPassword, FN_HTTPDOWNLOAD httpDownload);
//GetModuleInfo Запрос информации о модуле
//char *szModuleName - название модуля (отображается в списке операторов при создании/редактировании записи)
//DWORD dwMaxNameLen - максимальная длина буффера под название модуля
//char *szGUID - уникальный (!) GUID идентифицирующий модуль
//DWORD dwMaxGUIDLen - максимальная длина буффера
//char *szModuleDescr - описание модуля
//DWORD dwMaxDescrName - максимальная длина буффера
BOOL APIENTRY GetModuleInfo(char *szModuleName, DWORD dwMaxNameLen, char *szGUID, DWORD dwMaxGUIDLen, char *szModuleDescr, DWORD dwMaxDescrName);
//Запрос подсказок, отображаемых при редактировании/создании записи
//char *szLoginHint - логин (Например: Введите номер телефона)
//DWORD dwLoginHintLen - максимальная длина буффера
//char *szPasswordHint - пароль (Например: Введите номер ЕЛС)
//DWORD dwPasswordHintLen - максимальная длина буффера
//char *szForgetPasswordLink - ссылка на восстановление пароля
//DWORD dwLinkLen - максимальная длина буффера
BOOL APIENTRY GetModuleHints(char *szLoginHint, DWORD dwLoginHintLen, char *szPasswordHint, DWORD dwPasswordHintLen, char *szForgetPasswordLink, DWORD dwLinkLen);
//Состояние записи, получение данных
//const char* szAccount - Логил
//const char* szPassword - Пароль
//double* dBalance - Баланс
//double* dOverdraft - Овердрафт
//double* dActive - Активные сессии (если есть)
//double* dMinutes - Минуты (если есть)
//char* szTarif - Тарифный план
//DWORD dwMaxTarifLen - Максимальная длина буффера
//char* szMessage - сообщение об ошибке
//DWORD dwMaxMessageLen - Максимальная длина буффера
//FN_HTTPDOWNLOAD httpDownload - указатель на функцию (см. объявление FN_HTTPDOWNLOAD)
BOOL APIENTRY GetAccountState(const char* szAccount, const char* szPassword, double* dBalance, double *dOverdraft, double* dActive, double* dMinutes, char* szTarif, DWORD dwMaxTarifLen, DWORD *dwTarifDays, DWORD *dwTarifDaysLeft, char* szMessage, DWORD dwMaxMessageLen, FN_HTTPDOWNLOAD httpDownload);
//Запрос данных для открытия WEB страницы
//const char* szAccount - Логил
//const char* szPassword - Пароль
//char* szURL - Адрес страницы
//DWORD dwURLLen - Максимальная длина буффера
//char* szPOSTData - Данные для отправки на сервер
//DWORD dwPOSTDataLen - Максимальная длина буффера
BOOL APIENTRY GetAccountURLAndPostData(const char* szAccount, const char* szPassword, char* szURL, DWORD dwURLLen, char* szPOSTData, DWORD dwPOSTDataLen);
//Инициализация ресурсов
BOOL APIENTRY InitModule(LPCTSTR lpszScriptPath);
//Освобождение ресурсов
BOOL APIENTRY UnloadModule();
typedef struct ACCOUNT_STATE
{
ACCOUNT_STATE()
{
szTarif[0] = '\0';
szMessage[0] = '\0';
dBalance = 0.0f;
dOverdraft = 0.0f;
dActive = 0.0f;
dMonthMinutes = 0.0f;
dwTarifDays = MAXDWORD;
dwTarifDaysLeft = MAXDWORD;
}
char* szAccount;
char* szPassword;
double dBalance;
double dOverdraft;
double dActive;
double dMonthMinutes;
char szTarif[1024];
char szMessage[1024];
DWORD dwTarifDays;
DWORD dwTarifDaysLeft;
FN_HTTPDOWNLOAD httpDownload;
}
ACCOUNT_STATE;
[/more]