📄 example1.cpp
字号:
// ---------------------------
// Code generated with VB2Cpp
// Copyright (C) 2002-2003 Franck Charlet.
// ---------------------------
// ---------------------------
// System includes
// ---------------------------
#include <MiniWin.h>
#pragma warning(disable:4018)
#pragma warning(disable:4146)
#pragma warning(disable:4244)
#pragma warning(disable:4805)
#pragma warning(disable:4700)
#pragma warning(disable:4102)
#pragma warning(disable:4305)
#pragma warning(disable:4554)
// ---------------------------
// Global parameters
// ---------------------------
#include "D:\Dev\VB2VC\Example1\Example1const.h"
#include "D:\Dev\VB2VC\Example1\Example1type.h"
#include "D:\Dev\VB2VC\Example1\Example1var.h"
#define DATE_SHORTDATE 1
#define LOCALE_USER_DEFAULT 0x0400
#define GMEM_ZEROINIT 0x40
#define GMEM_MOVEABLE 0x2
#define GMEM_NOCOMPACT 0x10
#define MAX_PATH 260
#define TIME_FORCE24HOURFORMAT 8
#define TIME_NOSECONDS 2
#define INVALID_HANDLE_VALUE -1
#define ERROR_NO_MORE_FILES 18
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
#define FILE_ATTRIBUTE_NORMAL 0x00000080
#define FILE_ATTRIBUTE_READONLY 0x00000001
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
#define PM_REMOVE 1
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME,*LPSYSTEMTIME;
typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength;
DWORD lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES;
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME,*LPFILETIME;
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
char cFileName[MAX_PATH];
char cAlternateFileName[14];
} WIN32_FIND_DATA,*LPWIN32_FIND_DATA;
typedef struct _POINT {
DWORD x;
DWORD y;
} POINT,*LPPOINT;
typedef struct _HELPINFO {
DWORD cbSize;
int iContextType;
int iCtrlId;
DWORD hItemHandle;
DWORD dwContextId;
POINT MousePos;
} HELPINFO,*LPHELPINFO;
typedef struct _MSGBOXPARAMS {
DWORD cbSize;
DWORD hwndOwner;
DWORD hInstance;
char *lpszText;
char *lpszCaption;
DWORD dwStyle;
char *lpszIcon;
DWORD dwContextHelpId;
DWORD lpfnMsgBoxCallback;
DWORD dwLanguageId;
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} MSGBOXPARAMS,*LPMSGBOXPARAMS;
typedef struct _MSG {
DWORD hwnd;
DWORD message;
DWORD wParam;
DWORD lParam;
DWORD time;
POINT pt;
} MSG,*LPMSG;
// ---------------------------
// Functions prototypes
// ---------------------------
extern "C"
{
int __stdcall WinMain(DWORD,DWORD,char *,int);
DWORD __stdcall GetModuleHandleA(DWORD);
#define GetModuleHandle GetModuleHandleA
DWORD __stdcall GetCurrentThreadId(void);
DWORD __stdcall GetModuleFileNameA(DWORD,char *,DWORD);
#define GetModuleFileName GetModuleFileNameA
DWORD __stdcall GetEnvironmentVariableA(char *,char *,DWORD);
#define GetEnvironmentVariable GetEnvironmentVariableA
DWORD __stdcall MessageBeep(DWORD);
DWORD __stdcall GetCurrentDirectoryA(DWORD,char *);
#define GetCurrentDirectory GetCurrentDirectoryA
DWORD __stdcall SetCurrentDirectoryA(char *);
#define SetCurrentDirectory SetCurrentDirectoryA
void __stdcall GetLocalTime(LPSYSTEMTIME);
long __stdcall GetDateFormatA(DWORD,DWORD,LPSYSTEMTIME,DWORD,DWORD,DWORD);
#define GetDateFormat GetDateFormatA
long __stdcall GetTimeFormatA(DWORD,DWORD,LPSYSTEMTIME,DWORD,DWORD,DWORD);
#define GetTimeFormat GetTimeFormatA
BOOL __stdcall SetFileAttributesA(char *,DWORD);
#define SetFileAttributes SetFileAttributesA
DWORD __stdcall DeleteFileA(char *);
#define DeleteFile DeleteFileA
DWORD __stdcall MessageBeep(DWORD);
DWORD __stdcall CreateDirectoryA(char *,LPSECURITY_ATTRIBUTES);
#define CreateDirectory CreateDirectoryA
DWORD __stdcall CopyFileA(char *,char *,DWORD);
#define CopyFile CopyFileA
DWORD __stdcall MoveFileA(char *,char *);
#define MoveFile MoveFileA
DWORD __stdcall RemoveDirectoryA(char *);
#define RemoveDirectory RemoveDirectoryA
void __stdcall Sleep(DWORD);
DWORD __stdcall GetFileAttributesA(char *);
#define GetFileAttributes GetFileAttributesA
DWORD __stdcall lstrcmpA(char *,char *);
#define lstrcmp lstrcmpA
DWORD __stdcall lstrcmpiA(char *,char *);
#define lstrcmpi lstrcmpiA
DWORD __stdcall FindFirstFileA(char *,LPWIN32_FIND_DATA);
#define FindFirstFile FindFirstFileA
DWORD __stdcall FindNextFileA(DWORD,LPWIN32_FIND_DATA);
#define FindNextFile FindNextFileA
DWORD __stdcall FindClose(DWORD);
DWORD __stdcall GetLastError(void);
DWORD __stdcall MessageBoxIndirectA(LPMSGBOXPARAMS);
#define MessageBoxIndirect MessageBoxIndirectA
DWORD __stdcall WinHelpA(DWORD,char *,DWORD,DWORD);
#define WinHelp WinHelpA
DWORD __stdcall PeekMessageA(LPMSG,DWORD,DWORD,DWORD,DWORD);
#define PeekMessage PeekMessageA
DWORD __stdcall TranslateMessage(LPMSG);
DWORD __stdcall DispatchMessageA(LPMSG);
#define DispatchMessage DispatchMessageA
}
// ---------------------------
// System variables
// ---------------------------
char *VBCommand;
DWORD VBRequestedArrayBound;
int VBCompareBase=0;
// --------------------------- MallocZero() function
__inline void AsmPointerFill(DWORD,DWORD,DWORD);
__inline void *MallocZero(size_t);
__inline void *MallocZero(size_t SizeToAlloc)
{
DWORD AllocatedMem;
AllocatedMem=(DWORD)malloc(SizeToAlloc);
AsmPointerFill(AllocatedMem,0,SizeToAlloc);
return((void *)AllocatedMem);
}
// ---------------------------
// Fill values for VB types
// ---------------------------
void initvbtypes(void);
void initvbtypes(void)
{
DWORD i;
DWORD j;
char *AppEXEName;
AppEXEName=(char *) MallocZero(260+1);
App.EXEName=(char *) MallocZero(260+1);
i=GetModuleFileName(0,AppEXEName,260);
while(i--)
{
if(AppEXEName[i]=='\\')
{
break;
}
}
j=i;
while(j++)
{
if(AppEXEName[j]=='.')
{
AppEXEName[j]=0;
break;
}
}
j=0;
while(i++)
{
if(AppEXEName[i]=='\0')
{
break;
}
App.EXEName[j]=AppEXEName[i];
j++;
}
free((void *)AppEXEName);
App.Path=(char *) MallocZero(260+1);
i=GetModuleFileName(0,App.Path,260);
while(i--)
{
if(App.Path[i]=='\\')
{
App.Path[i]=0;
break;
}
}
App.hInstance=GetModuleHandle(0);
App.ThreadID=GetCurrentThreadId();
App.StartMode=ApplicationStartConstants_vbSModeStandalone;
App.Title="Example1";
}
// ---------------------------
// Temporary strings handler
// ---------------------------
char *garbagestring(DWORD StrBytes);
void initgarbage(void);
int GarbagePos;
char *GarbageArray[0x4000];
char *garbagestring(DWORD StrBytes)
{
char *CurrentGarbage;
if (GarbageArray[GarbagePos]) free((void *)GarbageArray[GarbagePos]);
CurrentGarbage=(char *)MallocZero(StrBytes+1);
GarbageArray[GarbagePos]=CurrentGarbage;
GarbagePos=(GarbagePos+1)&0x3fff;
return CurrentGarbage;
}
void initgarbage(void)
{
GarbagePos=0;
memset(&GarbageArray,0,sizeof(GarbageArray));
}
// ---------------------------
// Strings handling replacements
// ---------------------------
char *DblToStr(double);
char *SngToStr(float);
char *DWORDToStr(DWORD);
char *IntToStr(int);
class VBStr
{
public:
VBStr(char * lv) { RealVBStr = lv; }
VBStr(double lv) { RealVBStr = DblToStr(lv); }
VBStr(float lv) { RealVBStr = SngToStr(lv); }
VBStr(DWORD lv) { RealVBStr = DWORDToStr(lv); }
VBStr(int lv) { RealVBStr = IntToStr(lv); }
char *Val()
{
return RealVBStr;
}
friend char *operator>>(char *StringLeft, VBStr &StringRight)
{
char *StrMeltTmp;
int StrMeltLen;
StrMeltLen=strlen(StringLeft);
StrMeltTmp=garbagestring(strlen(StringRight.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeft,StrMeltLen);
return strcat(StrMeltTmp,(char *)StringRight.Val());
}
friend char *operator>>(VBStr &StringLeft, char *StringRight)
{
char *StrMeltTmp;
int StrMeltLen;
StrMeltLen=strlen(StringRight);
StrMeltTmp=garbagestring(strlen(StringLeft.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeft.Val(),StrMeltLen);
return strcat(StrMeltTmp,StringRight);
}
friend char *operator>>(double StringLeft, VBStr &StringRight)
{
char *StrMeltTmp;
char *StringLeftTmp;
int StrMeltLen;
StringLeftTmp=DblToStr(StringLeft);
StrMeltLen=strlen(StringLeftTmp);
StrMeltTmp=garbagestring(strlen(StringRight.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeftTmp,StrMeltLen);
return strcat(StrMeltTmp,(char *)StringRight.Val());
}
friend char *operator>>(VBStr &StringLeft, double StringRight)
{
char *StrMeltTmp;
char *StringRightTmp;
int StrMeltLen;
StringRightTmp=DblToStr(StringRight);
StrMeltLen=strlen(StringRightTmp);
StrMeltTmp=garbagestring(strlen(StringLeft.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeft.Val(),StrMeltLen);
return strcat(StrMeltTmp,StringRightTmp);
}
friend char *operator>>(float StringLeft, VBStr &StringRight)
{
char *StrMeltTmp;
char *StringLeftTmp;
int StrMeltLen;
StringLeftTmp=SngToStr(StringLeft);
StrMeltLen=strlen(StringLeftTmp);
StrMeltTmp=garbagestring(strlen(StringRight.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeftTmp,StrMeltLen);
return strcat(StrMeltTmp,(char *)StringRight.Val());
}
friend char *operator>>(VBStr &StringLeft, float StringRight)
{
char *StrMeltTmp;
char *StringRightTmp;
int StrMeltLen;
StringRightTmp=SngToStr(StringRight);
StrMeltLen=strlen(StringRightTmp);
StrMeltTmp=garbagestring(strlen(StringLeft.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeft.Val(),StrMeltLen);
return strcat(StrMeltTmp,StringRightTmp);
}
friend DWORD operator>>(DWORD StringLeft, VBStr &StringRight)
{
char *StrMeltTmp;
char *StringLeftTmp;
int StrMeltLen;
StringLeftTmp=(char *)StringLeft;
StrMeltLen=strlen(StringLeftTmp);
StrMeltTmp=garbagestring(strlen(StringRight.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeftTmp,StrMeltLen);
return (DWORD) strcat(StrMeltTmp,(char *)StringRight.Val());
}
friend char *operator>>(VBStr &StringLeft, DWORD StringRight)
{
char *StrMeltTmp;
char *StringRightTmp;
int StrMeltLen;
StringRightTmp=DWORDToStr(StringRight);
StrMeltLen=strlen(StringRightTmp);
StrMeltTmp=garbagestring(strlen(StringLeft.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeft.Val(),StrMeltLen);
return strcat(StrMeltTmp,StringRightTmp);
}
friend int operator>>(int StringLeft, VBStr &StringRight)
{
char *StrMeltTmp;
char *StringLeftTmp;
int StrMeltLen;
StringLeftTmp=IntToStr(StringLeft);
StrMeltLen=strlen(StringLeftTmp);
StrMeltTmp=garbagestring(strlen(StringRight.Val())+StrMeltLen);
strncpy(StrMeltTmp,StringLeftTmp,StrMeltLen);
return (int) strcat(StrMeltTmp,(char *)StringRight.Val());
}
friend char *operator>>(VBStr &StringLeft, int StringRight)
{
char *StrMeltTmp;
char *StringRightTmp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -