⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example1.cpp

📁 一个把VB原代码转换为VC原代码的软件代码。
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// ---------------------------
// 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 + -