delphi与C数据类型对照表
Java和C或C++的数据类型对照表

Java和C或C++的数据类型对照表java的数据类型和C++的对应关系(⼤部分可⽤,⼩部分需要根据实际情况调整)C++Javachar *Stringword shortbyte bytebyte[]byte[]dword intlong NativeLongVoid *Pointerlpvoid PointerlpDword IntByReferenceHWND HWNDchar[]byte[]byte *PointerJava和C的数据类型对照表Java类型C类型原⽣表现boolean int32位整数(可定制)byte char8位整数char wchar_t平台依赖short short16位整数int int32位整数long long,__int6464位整数float float32位浮点数double double64位浮点数Buffer/Pointer pointer平台依赖(32或64位指针)pointer/array32或64位指针(参数/返回值)邻接内存(结构体成员)String char*/0结束的数组(nativeencodingorjna.encoding)WString wchar_t*/0结束的数组(unicode)String[]char**/0结束的数组的数组WString[]wchar_t**/0结束的宽字符数组的数组Structure struct*/struct 指向结构体的指针(参数或返回值)(或者明确指定是结构体指针)结构体(结构体的成员) (或者明确指定是结构体)Union union等同于结构体Structure[]struct[]结构体的数组,邻接内存Callback(*fp)()Java函数指针或原⽣函数指针NativeMapped varies依赖于定义NativeLong long平台依赖(32或64位整数) PointerType pointer和Pointer相同。
DELPHI与C数据类型对照表

DELPHI与C数据类型对照表『Delphi和C++数据类型对照表』Delphi字长/值域C++ShortInt8位有符号整型signed char SmallInt16位有符号整型shortLongInt32位有符号整型intByte8位⽆符号整型unsigned char Word16位⽆符号整型unsigned short Integer32位有符号整型intCardinal32位⽆符号整型unsigned int Boolean真/假boolByteBool真/假或8位⽆符号整型unsigned char WordBool真/假或16位⽆符号整型unsigned short LongBool真/假或32位⽆符号整型BOOL(WinAPI) AnsiChar8位⽆符号字符char WideChar宽字编码字符wchar_tChar8位⽆符号字符char AnsiString Delphi的字符串类AnsiString类String[n]⽼式的Delphi字符串,n=1..255字节SmallString模板类ShortString⽼式的Delphi字符串,255字节SmallString<255> String Delphi的AnsiString类AnsiStringSingle32位浮点数floatDouble64位浮点数double Extended80位浮点数long doubleReal32位浮点数doublePointer32⽆类型指针void*PChar32位字符型指针unsigned char* PAnsiChar32位ANSI型字符指针unsigned char* Comp64位浮点数Comp类OleVariant OLE可变类型值OleVariant类『Win32API与C语⾔数据类型对照表』Win32API C语⾔HANDLE void*BYTE unsigned charSHORT shortWORD unsigned shortINT intUINT unsigned intLONG longBOOL longDWORD unsigned longULONG unsigned longCHAR charLPSTR char*LPCSTR const char*LPWSTR wchar_t*LPCWSTR const wchar_t*FLOAT floatDOUBLE double。
Delphi与各数据库数据类型比较

uses ftFloat.
[4] - If the EnableBoolean option is True
[5] - If the RawAsString option is True
[6] - If the BinaryAsString is True
if scale equals zero, provider checks values of the specific options to choose the correct Delphi type in the following order:
1.1 field precision is less or equal Precision Smallint (default is 4) - uses ftSmallint; 1.2 field precision is less or equal Precision Integer (default is 9) - uses ftInteger; 1.3 field precision is less or equal Precision LargeInt (default is 18) - uses ftLargeint;
-
DECIMAL(p, s)[3] FLOAT REAL
DECIMAL(p, s)[3] (p < 15) and (s < 5) DECIMAL(p, s) (14 < p < 39) and (4 < s < 39) MONEY SMALLMONEY
MySQL Types [1] TINYINT(M) (M > 1) SMALLINT TINYINT(M) UNSIGNED (M > 1) SMALLINT UNSIGNED YEAR MEDIUMINT MEDIUMINT UNSIGNED INT BIT INT UNSIGNED BIGINT BIGINT UNSIGNED
C语言代码套用在Delphi编程中

&dwBytesRead,
NULL);
if (dwBytesRead!=4)
{
CloseHandle(hFile);
return FALSE;
}
//读文件失败的时候
if (re!=TRUE)
{
CloseHandle(hFile);
NCCALCSIZE_PARAMS -> TNCCalcSize_Params
NEWTEXTMETRIC -> TNewTextMetric
OFSTRUCT -> TOFStruct
OUTLINETEXTMETRIC -> TOutlineTextMetric
PAINTSTRUCT -> TPaintStruct
这个例子是简单的提供一个函数,用来判断一个文件是否为Dat格式的VCD文件.头文件声明如下:
以下是引用片段:
/*
文件名称:DatFormat.h
*/
#ifndef DatFormat_H
#define DatFormat_H
#include
MEASUREITEMSTRUCT -> TMeasureItemStruct
MENUITEMTEMPLATE -> TMenuItemTemplate
MENUITEMTEMPLATEHEADER -> TMenuItemTemplateHeader
METAFILEPICT -> TMetaFilePict
{
HANDLE hFile;
DWORD dwBytesRead;
BOOL re;
DELPHI与C#语法比较

Comparison 比较
= < > <= >= <> in as
Comparison
== < > <= >= !=
Arithmetic 算述述运算
+ - * / div Mod \ (integer division) ^ (raise to a power) 阶乘
Arithmetic
+ % / * /
Value Types
bool byte, sbyte char (example: 'A') short, ushort, int, uint, long, ulong float, double decimal DateTime (not a built-in
C# type) Reference Types
Data Types 数据类型
Value Types 简单类型
Boolean Byte Char (example: "A"c) Word, Integer, Int64 Real ,Single, Double,Real48,Extended,Comp,Currenc y Decimal Tdate,TDateTime
No need for _ or : since ; is used to terminate each statement.
If (whenYouHaveAReally < longLine) and (itNeedsToBeBrokenInto2 > Lines Then UseTheUnderscore(charToBreakItUp if (x > 5) ); x *= y; else if (x == 5) 'If x > 5 Then x += y; x :=x* y else if (x < 10) Else If x = 5 Then x -= y; x :=x+ y else Else If x < 10 Then x /= y; x :=x- y Else x :=x/ y ; switch (color) { Case color of pink, red: r :=r+ 1; blue: b :=b+1;
delphi中类型转化

Delphi类型转换等语法关键字absolute 指令(变量)abstract 指令(方法)and 运算符(布尔)array 类型as 运算符(RTTI)asm 语句assembler 向后兼容(汇编)at 语句(异常处理)automated 访问类别符(类)begin 块标记case 语句cdecl 函数调用协定class 类型const 声明或指令(参数)constructor 特殊方法contains 运算符(集合)default 指令(属性)destructor 特殊方法dispid dispinterface 界面类别符dispinterface 类型div 运算符do 语句downto 语句(for)dynamic 指令(方法)else 语句(if 或case)end 块标记except 语句(异常处理)export 向后兼容(类)exports 声明external 指令(函数)far 向后兼容(类)file 类型finalization 单元结构finally 语句(异常处理)for 语句forward 函数指令function 声明goto 语句if 语句implementation 单元结构implements 指令(属性)in 运算符(集合) - 工程结构index 指令(dipinterface界面) inherited 语句initialization 单元结构inline 向后兼容(见asm) interface 类型is 运算符(RTTI)label 声明library 程序结构message 指令(方法)mod 运算符(数学)name 指令(函数)near 向后兼容(类)nil 数值nodefault 指令(属性)not 运算符(布尔)object 向后兼容(类)of 语句(case)on 语句(异常处理)or 运算符(布尔)out 指令(参数)overload 函数指令override 函数指令package 程序结构(控件包) packed 指令(记录)pascal 函数调用协定private 访问类别符(class) procedure 声明program 程序结构property 声明protected 访问类别符(类) public 访问类别符(类) published 访问类别符(类) raise 语句(异常处理)read 属性类别符readonly dispatch 界面类别符record 类型register 函数调用协定reintroduce 函数指令repeat 语句requires 程序结构(控件包) resident 指令(函数) resourcestring 类型safecall 函数调用协定set 类型shl 运算符(数学)shr 运算符(数学)stdcall 函数调用协定stored 指令(属性)string 类型then 语句(if)threadvar 声明to 语句(for)try 语句(异常处理)type 声明unit 单元结构until 语句uses 单元结构var 声明virtual 指令(方法)while 语句with 语句write 属性类别符writeonly dispatch 界面类别符xor 运算符(布尔)//(* 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:/nsgtao/ *)优先法则单目运算符(最高优先级)@ 取变量或函数的地址(返回一个指针)not 逻辑取反或按位取反乘除及按位运算符* 相乘或集合交集/ 浮点相除div 整数相除mod 取模(整数相除的余数)as 程序运行阶段类型转换(RTTI运算符)and 逻辑或按位求和shl 按位左移shr 按位右移加减运算符+ 相加、集合并集、字符串连接或指针增加一个偏移量- 相减、集合差集或指针减少一个偏移量or 逻辑或按位或运算xor 逻辑或按位异或运算关系及比较运算符(最低优先级)= 判断是否相等<> 判断是否不相等< 判断是否小于> 判断是否大于<= 判断是否小于或等于,或是否是一个集合的子集>= 判断是否大于或等于,或是否是一个集合的父集in 判断是否是集合成员is 判断对象是否类型兼容(又一个RTTI运算符)Boolean (ByteBool WordBool LongBool)CharIntegerShortInt -128~127Byte 0~255SmallInt -32768~32767Word 0~65535LongInt LongWordInt64Interger CardinalAnsiCharWidChar#=Chr(),把数字转化为字符,Ord为相反,把字符转化为数字#9 Tab键#10 换行#13 回车类型转换Chr 将一个有序数据转换为一个ANSI字符Ord 将一个有序类型值转换为它的序号Round 转换一个实型值为四舍五入后的整型值Trunc 转换一个实型值为小数截断后的整型值Int 返回浮点数的整数部分IntToStr 将数值转换为字符串IntToHex 将数值转换为十六进制数字符串StrToInt 将字符串转换为一个整型数,如字符串不是一个合法的整型将引发异常StrToIntDef 将字符串转换为一个整数,如字符串不合法返回一个缺省值Val 将字符串转换为一个数字(传统Turbo Pascal例程用于向后兼容)Str 将数字转换为格式化字符串(传统Turbo Pascal例程用于向后兼容)StrPas 将零终止字符串转换为Pascal类型字符串,在32位Delphi中这种类型转换是自动进行的StrPCopy 拷贝一个Pascal类型字符串到一个零终止字符串, 在32位Delphi中这种类型转换是自动进行的StrPLCopy 拷贝Pascal类型字符串的一部分到一个零终止字符串FloatToDecimal 将一个浮点数转换为包含指数、数字及符号的十进制浮点记录类型FloatToStr 将浮点值转换为缺省格式的字符串FloatToStrF 将浮点值转换为特定格式的字符串FloatToText 使用特定格式,将一个浮点值拷贝到一个字符串缓冲区FloatToTextFmt 同上面例程,使用特定格式,将一个浮点值拷贝到一个字符串缓冲区StrToFloat 将一个Pascal字符串转换为浮点数TextToFloat 将一个零终止字符串转换为浮点数Dec 将例程中的参数值递减1或一个特定的值,其中特定值可在第二个可选参数中定义Inc 将例程中的参数值增加1或一个特定的值Odd 如果参数为奇数返回真Pred 根据参数在其数据类型定义中的序列,返回参数值的前驱值Succ 返回参数值的后继值Ord 返回参数值在其数据类型值集合中的序号Low 返回参数对应的有序数据类型的最小取值High 返回参数对应的有序数据类型的最大取值实数:SingleDoubleExtendedReal {$REALCOMPATIBILITY ON}据说不标准,要兼容旧的格式使用这个宏CompCurrencyTDateTime = type Double为了后续使用或直接用于变量,需要给自定义类型命名。
VC_与Delphi源代码的互译详解

Computer Knowledge and Technology 电脑知识与技术第7卷第32期(2011年11月)VC++与Delphi 源代码的互译详解许苗村,陈业恩(海南软件职业技术学院软件工程系,海南琼海571400)摘要:以大量举例的形式给出了VC++与Delphi 的代码互译,首次做到了对VC++与Delphi 程序的沟通,为算法研究及软件开发人员提供了可靠的代码转换依据,具有非常重要的意义和应用价值。
关键词:VC++;Delphi ;互译中图分类号:TP311文献标识码:A 文章编号:1009-3044(2011)32-7924-04VC++and Delphi Source Code Mutual TranslationXU Miao-cun,CHEN Ye-en(Hainan College of Software Technology,Qionghai 571400,China)Abstract:The article gives VC++and the Delphi code mutually translation by the massive examples,for the first time to do the VC++and the Delphi code communication,which provides the reliable code conversion basis for the algorithm research and the software develop⁃er and has the extremely vital significance and the application value.Key words:VC++;Delphi;Mutually translation一个程序开发员常常手中掌握了一种语言的代码,但却需要以另一种开发平台进行开发,为解决此问题,本文通过举出大量实例对VC++与Delphi 语言中的一些不同之处进行了对应互译,解决了不同开发平台之间沟通难的问题[1-4]。
Delphi 常用文档资料之一

Delphi 常用文档资料之一——Paradox数据类型和长度表有关开发习惯的一些想法,如鲠在喉,不吐不快。
究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。
同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。
谢谢。
一.建立工程目录首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。
目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。
然后,在此目录中创建以下各个目录:<Doc>:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等);<Source>:用来存放Delphi源程序中的”.Dpr”,”.Pas”,”.Dfm”等文件;<Dcu>:该目录中存放”.Dcu”文件,将’.Pas’与’.Dcu’文件分开存放只是为了让Source目录的内容更加清楚一些;<Bin>:存放工程的输出文件,比如”.Exe”,”.Dll”或者”.Ocx”等等;<Log>:用来存放日志文件;通常在这个目录中我会放一个”<项目名称>程序员日志.Txt”文件。
<Images>:当然是存放工程中用到的图片的目录了。
一般情况下,这个目录是少不了的。
假如还用到其他资源,那么也一样建立各自的目录,比如Wav,比如Avi等等。
二.设置工程选项在Delphi中创建一个新的工程,将此工程保存到Source目录中,同时:a.选一个耐看的,与项目有些联系的图标作为这个工程的图标。
当然,这个图标可能只是临时用用的,但是总要比Delphi默认的那个难看的要好才行,要不然,怎么对得起自己?b.将Project Options -> Directories/Conditionals页面中的Output Directory设置为Bin目录;c.将Unit output Directory设置为Dcu目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
『Delphi和C++数据类型对照表』
Delphi 字长/值域C++
ShortInt 8位有符号整型signed char SmallInt 16位有符号整型short
LongInt 32位有符号整型int
Byte 8位无符号整型unsigned char Word 16位无符号整型unsigned short Integer 32位有符号整型int
Cardinal 32位无符号整型unsigned int Boolean 真/假bool
ByteBool 真/假或8位无符号整型unsigned char WordBool 真/假或16位无符号整型unsigned short LongBool 真/假或32位无符号整型BOOL (WinAPI) AnsiChar 8位无符号字符char
WideChar 宽字编码字符wchar_t
Char 8位无符号字符char
AnsiString Delphi的字符串类AnsiString 类String[n] 老式的Delphi字符串, n = 1..255字节SmallString<n> 模板类ShortString 老式的Delphi字符串, 255字节SmallString<255> String Delphi的AnsiString类AnsiString
Single 32位浮点数float
Double 64位浮点数double Extended 80位浮点数long double
Real 32位浮点数double
Pointer 32无类型指针void *
PChar 32位字符型指针unsigned char * PAnsiChar 32位ANSI型字符指针unsigned char * Comp 64位浮点数Comp 类OleVariant OLE可变类型值OleVariant 类
『Win32API与C语言数据类型对照表』Win32API C语言
HANDLE void*
BYTE unsigned char
SHORT short
WORD unsigned short
INT int
UINT unsigned int
LONG long
BOOL long
DWORD unsigned long
ULONG unsigned long
CHAR char
LPSTR char*
LPCSTR const char*
LPWSTR wchar_t*
LPCWSTR const wchar_t*
FLOAT float
DOUBLE double。