禁用JavaScript。为了获得更好的体验,请在运行之前启用浏览器中的JavaScript。
您正在使用一款已经过时的浏览器!部分功能不能正常使用。
请尝试升级或使用
其他浏览器 。
EnumSystemCodePages为什么会这样?(100分)
Delphi7.net
Unregistered / Unconfirmed
GUEST, unregistred user!
<br>//以下的代码目的是想枚举出系统中所安装的所有代码页。<br>//只能显示出系统已安装的一种CodePage。<br>Function EnumSystemCodePagesProc(Str
Char):Boolean; stdcall;<br>Function EnumSystemCodePagesProcCalcSize(Str
Char):Boolean; stdcall;<br><br>implementation<br><br>Function EnumSystemCodePagesProcCalcSize(Str
Char):Boolean;<br>begin<br> Inc(i,StrLen(Str)+1);<br> Result:=True;<br>end;<br><br>Function EnumSystemCodePagesProc(Str
Char):Boolean;<br>var s:String;<br>begin<br> Inc(i,StrLen(Str));<br> StrCat(PC,Str);<br> Inc(i);<br> StrCat(PC,#13);<br> Result:=True;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var s:String;<br>begin<br> i:=0;<br> EnumSystemCodePages(@EnumSystemCodePagesProcCalcSize,CP_INSTALLED);<br> PC:=StrAlloc(i);<br> try<br> FillChar(PC^,i,0);<br> EnumSystemCodePages(@EnumSystemCodePagesProc,CP_INSTALLED);<br>//目的是想枚举出系统中所安装的所有代码页。<br> ListBox1.Items.Text:=PC;<br>//只能显示出系统已安装的一种CodePage。<br> finally<br> StrDispose(PC);<br> end;<br>end;<br>
aizb
Unregistered / Unconfirmed
GUEST, unregistred user!
根据MSDN上的说明你是做不出这个程序来了,不知是什么原因,<br>说回调函数的返回值是LongBool,在Delphi中把回调函数定义成Boolean或LongBool都不行。<br>必须定义成Integer;<br><br>请作如下修改:<br><br>Function EnumSystemCodePagesProc(Str
Char):Integer; stdcall;<br>Function EnumSystemCodePagesProcCalcSize(Str
Char):Integer; stdcall;<br><br>implementation<br><br>Function EnumSystemCodePagesProcCalcSize(Str
Char):Integer;<br>begin<br> Inc(i,StrLen(Str)+1);<br> Result:=1;<br>end;<br><br>Function EnumSystemCodePagesProc(Str
Char):Integer;<br>var s:String;<br>begin<br> Inc(i,StrLen(Str));<br> StrCat(PC,Str);<br> Inc(i);<br> StrCat(PC,#13);<br> Result:=1;<br>end;<br>
jsxjd
Unregistered / Unconfirmed
GUEST, unregistred user!
确实只有一种, 1251<br><br>function EnumCodePagesProc(ps
char):BOOL;stdcall;<br>begin<br> form1.memo1.Lines.Add (ps);<br> Result:=true;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br> IF EnumSystemCodePages(@EnumCodePagesProc,CP_INSTALLED)<br> then showmessage('Ok');<br>end;<br><br>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br> if EnumSystemCodePages(@EnumCodePagesProc,CP_SUPPORTED)<br> then showmessage('Ok');<br>end;<br>
Delphi7.net
Unregistered / Unconfirmed
GUEST, unregistred user!