找不到我再过几天发给你。
因为太多code,不出贴出来。
因为太多code,不出贴出来。
解决方案 »
- 数据对比问题
- delphi调用c++的dll。显示图片,有两给参数JPEG图片首地址lpbyte、图片的长度int.
- 在windows2003上已经安装了myodbc3.51,可是在delphi7中设置ADO控件的ConnectionString时在“提供程序”选项页中根本找不到myodbc驱动
- 数字排列计算
- 此贴讨论DBGrid,TDataset,TDataSource,UpdateSql 的使用和交互问题。。。。。
- Delphi的工具的问题。各位大哥大姐帮帮忙
- 问一个关于Delphi编译开关的问题。
- CSV文件导入MEMO中显示不全
- combobox控件
- 特奇怪的现象!!“开始”--》查找--》“文件或文件夹”?!·#¥%……—*
- 请教各位高手:如何将一文本文件中的字符串 2002-01-11:23:38:03 到入到数据库中,谢谢!!
- 有谁清楚虚拟光驱技术能指导我一下吗?
函数名里有String的是AnsiString版,
没有的是PChar版uses
SysUtils, Windows;function StrConv(pszSrc : PChar; cpSrc : UINT; pszDest : PChar; cbDest :
Longint; cpDest : UINT) : Longint;
var
buf : PWideChar;
cwLen : LongInt;
begin
cwLen := MultiByteToWideChar(cpSrc,
0,
pszSrc,
-1,
nil,
0);
GetMem(buf, (cwLen+1) * SizeOf(WideChar));
ZeroMemory(buf, (cwLen+1) * SizeOf(WideChar));
MultiByteToWideChar(cpSrc,
0,
pszSrc,
StrLen(pszSrc),
buf,
cwLen+1);
Result := WideCharToMultiByte(cpDest,
0,
buf,
-1,
pszDest,
cbDest,
nil,
nil);
FreeMem(buf);
end;function StringConv(const Src : string; cpSrc, cpDest : UINT) : string;
var
buf : PChar;
len : Longint;
begin
len := StrConv(PChar(Src), cpSrc, nil, 0, cpDest);
GetMem(buf, len);
ZeroMemory(buf, len);
StrConv(PChar(Src), cpSrc, buf, len, cpDest);
Result := string(buf);
FreeMem(buf);
end;function CHTStringToCHSString(Src : string) : string;
var
buf : PChar;
len : Integer;
begin
len := LCMapString($804, // LCID_CHINESE_SIMPLIFIED
LCMAP_SIMPLIFIED_CHINESE,
PChar(Src),
-1,
nil,
0);
GetMem(buf, len);
ZeroMemory(buf, len);
LCMapString($804, // LCID_CHINESE_SIMPLIFIED
LCMAP_SIMPLIFIED_CHINESE,
PChar(Src),
-1,
buf,
len);
Result := string(buf);
FreeMem(buf);
end;function CHSStringToCHTString(Src : string) : string;
var
buf : PChar;
len : Integer;
begin
len := LCMapString($404, // LCID_CHINESE_SIMPLIFIED
LCMAP_TRADITIONAL_CHINESE,
PChar(Src),
-1,
nil,
0);
GetMem(buf, len);
ZeroMemory(buf, len);
LCMapString($404, // LCID_CHINESE_SIMPLIFIED
LCMAP_TRADITIONAL_CHINESE,
PChar(Src),
-1,
buf,
len);
Result := string(buf);
FreeMem(buf);
end;function CHTToCHS(pszSrc, pszDest : PChar; cbDest : Longint) : Longint;
begin
Result := LCMapString($804, // LCID_CHINESE_SIMPLIFIED
LCMAP_SIMPLIFIED_CHINESE,
pszSrc,
-1,
pszDest,
cbDest);
end;function CHSToCHT(pszSrc, pszDest : PChar; cbDest : Longint) : Longint;
begin
Result := LCMapString($404, // LCID_CHINESE_SIMPLIFIED
LCMAP_TRADITIONAL_CHINESE,
pszSrc,
-1,
pszDest,
cbDest);
end;function Big5StringToGBString(Src : string) : string;
begin
Result := CHTStringToCHSString(StringConv(Src, 950, 936));
end;function Big5ToGB(pszSrc, pszDest : PChar; cbDest : Longint) : Longint;
var
buf : PChar;
len : Integer;
begin
len := StrLen(pszSrc)+1;
GetMem(buf, len*2);
ZeroMemory(buf, len*2);
StrConv(pszSrc, 950, buf, 936, len*2);
Result := CHTToCHS(buf, pszDest, cbDest);
FreeMem(buf);
end;function GBStringToBig5String(Src : string) : string;
begin
Result := CHSStringToCHTString(StringConv(Src, 936, 950));
end;function GBToBig5(pszSrc, pszDest : PChar; cbDest : Longint) : Longint;
var
buf : PChar;
len : Integer;
begin
len := StrLen(pszSrc)+1;
GetMem(buf, len*2);
ZeroMemory(buf, len*2);
StrConv(pszSrc, 936, buf, 950, len*2);
Result := CHSToCHT(buf, pszDest, cbDest);
FreeMem(buf);
end;
去找找吧!
[email protected]
谢谢
能不能给点注释啊,看起来很费力啊,谢谢