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

📄 modoutput.bas

📁 一个把VB原代码转换为VC原代码的软件代码。
💻 BAS
📖 第 1 页 / 共 5 页
字号:
    WriteInHead vbNewLine & "// --------------------------- StrReverse() function" & vbNewLine
    WriteInHead "char *StrReverse(char *);" & vbNewLine
    WriteInHead "char *StrReverse(char *RevStr)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "int RevStrLen;" & vbNewLine
    WriteInHead vbTab & "int i;" & vbNewLine
    WriteInHead vbTab & "char *RevStrTmp;" & vbNewLine
    WriteInHead vbTab & "unsigned char RevChar;" & vbNewLine
    WriteInHead vbTab & "RevStrLen=strlen(RevStr);" & vbNewLine
    WriteInHead vbTab & "RevStrTmp=garbagestring(RevStrLen+1);" & vbNewLine
    WriteInHead vbTab & "strncpy(RevStrTmp,RevStr,RevStrLen);" & vbNewLine
    WriteInHead vbTab & "if(RevStrLen>1)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "for(i=0;i!=(RevStrLen/2);i++)" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "RevChar=RevStrTmp[RevStrLen-1-i];" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "RevStrTmp[RevStrLen-1-i]=RevStrTmp[i];" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "RevStrTmp[i]=RevChar;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "return RevStrTmp;" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- IsNumeric() function --- '
' Note that any any double is converted to char before (so . = ,)
Public Sub Func_IsNumericCore()
    WriteInHead vbNewLine & "// --------------------------- IsNumeric() function" & vbNewLine
    WriteInHead "BOOL IsNumeric(char *);" & vbNewLine
    WriteInHead "BOOL IsNumeric(char *NumericStr)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "DWORD i;" & vbNewLine
    WriteInHead vbTab & "DWORD j=0;" & vbNewLine
    WriteInHead vbTab & "i=strlen(NumericStr);" & vbNewLine
    WriteInHead vbTab & "while(j < i)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(NumericStr[j]!=43&&NumericStr[j]!=45) break;" & vbNewLine
    WriteInHead vbTab & vbTab & "j++;" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "if(j>=i) return FALSE;" & vbNewLine
    WriteInHead vbTab & "while(i > j)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(!isdigit(NumericStr[i-1]))" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "if(NumericStr[i-1]!=44) return FALSE;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & vbTab & "i--;" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "return TRUE;" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- ChDrive() function --- '
Public Sub Func_ChDriveCore()
    WriteInHead vbNewLine & "// --------------------------- ChDrive() function" & vbNewLine
    WriteInHead "void ChDrive(char *);" & vbNewLine
    WriteInHead "void ChDrive(char *DriveStr)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "char *ChDriveStrTmp;" & vbNewLine
    WriteInHead vbTab & "ChDriveStrTmp=garbagestring(MAX_PATH+1);" & vbNewLine
    WriteInHead vbTab & "GetCurrentDirectory(MAX_PATH,ChDriveStrTmp);" & vbNewLine
    WriteInHead vbTab & "strncpy(ChDriveStrTmp,Left(DriveStr,1),1);" & vbNewLine
    WriteInHead vbTab & "if (SetCurrentDirectory(ChDriveStrTmp)==0)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "ChDriveStrTmp[1]=':';" & vbNewLine
    WriteInHead vbTab & vbTab & "ChDriveStrTmp[2]='\\';" & vbNewLine
    WriteInHead vbTab & vbTab & "ChDriveStrTmp[3]='\0';" & vbNewLine
    WriteInHead vbTab & vbTab & "SetCurrentDirectory(ChDriveStrTmp);" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- ChDir() function --- '
Public Sub Func_ChDirCore()
    WriteInHead vbNewLine & "// --------------------------- ChDir() function" & vbNewLine
    WriteInHead "__inline void chdir(char *);" & vbNewLine
    WriteInHead "__inline void chdir(char *DirStr)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "SetCurrentDirectory(DirStr);" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- CurDir() function --- '
Public Sub Func_CurDirCore()
    WriteInHead vbNewLine & "// --------------------------- CurDir() function" & vbNewLine
    WriteInHead "char *CurDir(char * =" & Chr(34) & Chr(34) & ");" & vbNewLine
    WriteInHead "char *CurDir(char *Drive)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "char *CurDriveStrTmp;" & vbNewLine
    WriteInHead vbTab & "CurDriveStrTmp=garbagestring(MAX_PATH+1);" & vbNewLine
    WriteInHead vbTab & "GetCurrentDirectory(MAX_PATH,CurDriveStrTmp);" & vbNewLine
    WriteInHead vbTab & "return(CurDriveStrTmp);" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- Date() function --- '
Public Sub Func_DateCore()
    WriteInHead vbNewLine & "// --------------------------- Date() function" & vbNewLine
    WriteInHead "char *Date(void);" & vbNewLine
    WriteInHead "char *Date(void)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "char *ReturnedDate=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "char *ReturnValue=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "SYSTEMTIME DtNow;" & vbNewLine
    WriteInHead vbTab & "DWORD DateLen;" & vbNewLine
    WriteInHead vbTab & "DWORD DateMem;" & vbNewLine
    WriteInHead vbTab & "memset(&DtNow,0,sizeof(DtNow));" & vbNewLine
    WriteInHead vbTab & "GetLocalTime(&DtNow);" & vbNewLine
    WriteInHead vbTab & "DateLen=GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,&DtNow,0,0,0);" & vbNewLine
    WriteInHead vbTab & "DateMem=(DWORD)MallocZero(DateLen+1);" & vbNewLine
    WriteInHead vbTab & "if(DateMem!=0)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,&DtNow,0,DateMem,DateLen);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnedDate=String(strlen((char *)DateMem),0);" & vbNewLine
    WriteInHead vbTab & vbTab & "memcpy(ReturnedDate,(void *)DateMem,strlen((char *)DateMem));" & vbNewLine
    WriteInHead vbTab & vbTab & "free((void *)DateMem);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnValue=ReturnedDate;" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "return(ReturnValue);" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- Now() function --- '
Public Sub Func_NowCore()
    WriteInHead vbNewLine & "// --------------------------- Now() function" & vbNewLine
    WriteInHead "char *Now(void);" & vbNewLine
    WriteInHead "char *Now(void)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "char *ReturnedDate=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "char *ReturnedTime=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "char *ReturnValue=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "SYSTEMTIME DtNow;" & vbNewLine
    WriteInHead vbTab & "DWORD DateLen;" & vbNewLine
    WriteInHead vbTab & "DWORD DateMem;" & vbNewLine
    WriteInHead vbTab & "memset(&DtNow,0,sizeof(DtNow));" & vbNewLine
    WriteInHead vbTab & "GetLocalTime(&DtNow);" & vbNewLine
    WriteInHead vbTab & "DateLen=GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,&DtNow,0,0,0);" & vbNewLine
    WriteInHead vbTab & "DateMem=(DWORD)MallocZero(DateLen+1);" & vbNewLine
    WriteInHead vbTab & "if(DateMem!=0)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "GetDateFormat(LOCALE_USER_DEFAULT,DATE_SHORTDATE,&DtNow,0,DateMem,DateLen);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnedDate=String(strlen((char *)DateMem),0);" & vbNewLine
    WriteInHead vbTab & vbTab & "memcpy(ReturnedDate,(void *)DateMem,strlen((char *)DateMem));" & vbNewLine
    WriteInHead vbTab & vbTab & "free((void *)DateMem);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnValue=ReturnedDate;" & vbNewLine
    WriteInHead vbTab & vbTab & "DateLen=GetTimeFormat(LOCALE_USER_DEFAULT,TIME_FORCE24HOURFORMAT,&DtNow,0,0,0);" & vbNewLine
    WriteInHead vbTab & vbTab & "DateMem=(DWORD)MallocZero(DateLen+1);" & vbNewLine
    WriteInHead vbTab & vbTab & "if(DateMem!=0)" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "ReturnValue = ReturnValue>>(VBStr)" & Chr(34) & " " & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "GetTimeFormat(LOCALE_USER_DEFAULT,TIME_FORCE24HOURFORMAT,&DtNow,0,DateMem,DateLen);" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "ReturnedTime=String(strlen((char *)DateMem),0);" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "memcpy(ReturnedTime,(void *)DateMem,strlen((char *)DateMem));" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "free((void *)DateMem);" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "ReturnValue=ReturnValue>>(VBStr)ReturnedTime;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "return(ReturnValue);" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- Time() function --- '
Public Sub Func_TimeCore()
    WriteInHead vbNewLine & "// --------------------------- Time() function" & vbNewLine
    WriteInHead "char *Time(void);" & vbNewLine
    WriteInHead "char *Time(void)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "char *ReturnedTime=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "char *ReturnValue=" & Chr(34) & Chr(34) & ";" & vbNewLine
    WriteInHead vbTab & "SYSTEMTIME DtNow;" & vbNewLine
    WriteInHead vbTab & "DWORD DateLen;" & vbNewLine
    WriteInHead vbTab & "DWORD DateMem;" & vbNewLine
    WriteInHead vbTab & "memset(&DtNow,0,sizeof(DtNow));" & vbNewLine
    WriteInHead vbTab & "GetLocalTime(&DtNow);" & vbNewLine
    WriteInHead vbTab & "DateLen=GetTimeFormat(LOCALE_USER_DEFAULT,TIME_FORCE24HOURFORMAT,&DtNow,0,0,0);" & vbNewLine
    WriteInHead vbTab & "DateMem=(DWORD)MallocZero(DateLen+1);" & vbNewLine
    WriteInHead vbTab & "if(DateMem!=0)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "GetTimeFormat(LOCALE_USER_DEFAULT,TIME_FORCE24HOURFORMAT,&DtNow,0,DateMem,DateLen);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnedTime=String(strlen((char *)DateMem),0);" & vbNewLine
    WriteInHead vbTab & vbTab & "memcpy(ReturnedTime,(void *)DateMem,strlen((char *)DateMem));" & vbNewLine
    WriteInHead vbTab & vbTab & "free((void *)DateMem);" & vbNewLine
    WriteInHead vbTab & vbTab & "ReturnValue=ReturnedTime;" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "return(ReturnValue);" & vbNewLine
    WriteInHead "}" & vbNewLine
End Sub

' --- Visual Basic types handling --- '
Public Sub Func_VBTypesCore()
    WriteInHead vbNewLine & "// ---------------------------" & vbNewLine & "// Fill values for VB types" & vbNewLine & "// ---------------------------" & vbNewLine
    WriteInHead "void initvbtypes(void);" & vbNewLine
    WriteInHead "void initvbtypes(void)" & vbNewLine
    WriteInHead "{" & vbNewLine
    WriteInHead vbTab & "DWORD i;" & vbNewLine
    WriteInHead vbTab & "DWORD j;" & vbNewLine
    WriteInHead vbTab & "char *AppEXEName;" & vbNewLine
    WriteInHead vbTab & "AppEXEName=(char *) MallocZero(260+1);" & vbNewLine
    WriteInHead vbTab & "App.EXEName=(char *) MallocZero(260+1);" & vbNewLine
    WriteInHead vbTab & "i=GetModuleFileName(0,AppEXEName,260);" & vbNewLine
    WriteInHead vbTab & "while(i--)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(AppEXEName[i]=='\\')" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "break;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "j=i;" & vbNewLine
    WriteInHead vbTab & "while(j++)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(AppEXEName[j]=='.')" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "AppEXEName[j]=0;" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "break;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "j=0;" & vbNewLine
    WriteInHead vbTab & "while(i++)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(AppEXEName[i]=='\0')" & vbNewLine
    WriteInHead vbTab & vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & vbTab & "break;" & vbNewLine
    WriteInHead vbTab & vbTab & "}" & vbNewLine
    WriteInHead vbTab & vbTab & "App.EXEName[j]=AppEXEName[i];" & vbNewLine
    WriteInHead vbTab & vbTab & "j++;" & vbNewLine
    WriteInHead vbTab & "}" & vbNewLine
    WriteInHead vbTab & "free((void *)AppEXEName);" & vbNewLine
    WriteInHead vbTab & "App.Path=(char *) MallocZero(260+1);" & vbNewLine
    WriteInHead vbTab & "i=GetModuleFileName(0,App.Path,260);" & vbNewLine
    WriteInHead vbTab & "while(i--)" & vbNewLine
    WriteInHead vbTab & "{" & vbNewLine
    WriteInHead vbTab & vbTab & "if(App.Path[i]=='\\')" & vbNewLine

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -