widestring和string这两个类型的关系,如何把前的转换成后一种。
解决方案 »
- lookup得到的结果怎样显示在DBGridEh中
- ocx控件右键弹出菜单问题
- 调用sendmessage给IE窗体 classname'#32770' windowname'选择要上传的档案' 的edit1传送字串
- 如何用delphi来对word文档进行分割?
- PageControl如何用?
- 兄弟们!救救我,用delphi作sap和sql的接口的问题!高分求救!
- 现有崭新的mp3,(64M可做U盘),原价580元,现价400元出售,哪位高手要。
- delphi2009+dbexpress 发布软件的问题
- 如何设置只按一个键的快捷键呢请指教?
- ????高手:在组件中如何实现集合对象的属性?????
- 有关pchar类型
- 如何获得bios的版本信息?
STRING类型:天天见这种类型如果标记开关默认的话为string类型否则为shortstring类型。乱说
var
aa:widestring;
bb:string;
begin
aa:='1234';
bb:='5678';
aa:=bb;
bb:=aa;
end;
Unicode characters;
COM servers and interfaces In the default {$H+} state, the compiler interprets string (when it appears without a bracketed number after it) as AnsiString. Use the {$H杴 directive to turn string into ShortString.
ShortString的最大长度为255个字符.
AnsiString 的最大长度为2^31个字符.
WideString 的最大长度为2^30个字符.
AnsiString和WideString的区别在于字符集的不同.
AnsiString对应于AnsiChar,WideString对应于WideChar.
widestring可以直接赋给string,而string要赋给widestring必须使用widestring(string)
WideCharToString,
如果你不嫌繁,或者涉及了pchar的话。
unicode就是繁。
function WidecharToString(Source:PWideChar):String;
该函数利用WidecharToMultiByte Win32 API将空终止Unicode编码字符串转换为单个或多个字节。
StringToWidechar函数
function StringToWideChar(const Source:string;Dest:PWideChar;DestSize:Integer);PWideChar;
该函数将由Source参数给定的字符串从ANSI编码转换为UNICODE编码后保存在由Dest和DestSize给定的缓冲区中。该缓冲区中包含的最多字符数为DestSize-1,以一个NULL宽字符终止。该函数返回一个指向Dest的指针。
另外,它们之间的转换,直接用=号就行了。例如
var
ws:widestring;
s:string;
begin
ws:='字符串';
s:=ws;
end;
{H-}编译开关
这好象对string长度的限制吧(记不太清楚,说错别怪我)
{H-} string 长度是最大为256
{H+} string 长度为4G吧!