2Pascal-新时代的Pascal

 找回密码
 立即注册
搜索
热搜: fastreport
12
返回列表 发新帖
楼主: wang_80919
打印 上一主题 下一主题

字符串 编码 和 跨平台 讨论 01

[复制链接]

90

主题

293

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
82071
11#
 楼主| 发表于 2015-8-10 12:10:24 | 显示全部楼层
京东购书支持本站
浪费时间
你直接说找不到 THTTPEncdong
不就得了。

主要是我英文太差 不记得正确的 类名
TNetEncdong。
(C)(P)Flying Wang
回复 支持 反对

使用道具 举报

90

主题

293

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
82071
12#
 楼主| 发表于 2015-8-27 17:59:27 | 显示全部楼层
京东数码购物支持本站
http://bbs.2ccc.com/topic.asp?topicid=496558
大家可以看看这个帖子。
调用 DLL。也可以使用 TEncoding

function GetVerifyCode(fileName: PByte; strsn: PByte; var strCode: PByte): BOOL; stdcall; external 'GetVerifyCode.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
  aFile, aSn, aCode: string;
  PFile,PSn, PCode: PByte;
  ACodes: TBytes;
begin
  aFile := 'verify_code.bin';
  aSn := '535727843';
  PFile := addr(TEncoding.ANSI.GetBytes(aFile)[0]);  //建议 GetBytes(aFile + #0)
  PSn := addr(TEncoding.ANSI.GetBytes(aSn)[0]);  //建议 GetBytes(aSn + #0)
  SetLength(ACodes, 6); //ANSI 是 6 Unicode 是 6*2。//建议多留一个字符的空间,用于存放 #0
  PCode := addr(ACodes[0]);
  if GetVerifyCode(PFile, PSn, PCode) then
  begin
    aCode := TEncoding.ANSI.GetString(ACodes);
    ShowMessage(aCode);
  end
  else
  begin
    ShowMessage('获取密码失败!');
  end;
end;
(C)(P)Flying Wang
回复 支持 反对

使用道具 举报

90

主题

293

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
82071
13#
 楼主| 发表于 2015-9-11 11:51:08 | 显示全部楼层
京东购书支持本站
对于 StringList 可以设置 读取文件 或者 读取流的 TEncoding。保存也是。
AStringList.Loadxxxxx(xxx,TEncoding.XXXX);
AStringList.Savexxxxx(xxx,TEncoding.XXXX);

还可以设置 换行的格式。
AStrignList.LineBreak := #$0A;  这是 MAC IOS 安卓下 通用的,但是 WIN 下就不行了。 所以,建议大家改为 #$0D#$0A 。这个所有平台都是回车换行。

类似于 Memo 的控件 Lines Items  都是 TStringList 。都可以自己控制读取或保存的 字符编码。
(C)(P)Flying Wang
回复 支持 反对

使用道具 举报

90

主题

293

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
82071
14#
 楼主| 发表于 2015-11-2 17:17:24 | 显示全部楼层
京东数码购物支持本站
如果 需要输入一个 PWideChar
TMarshal.InString  即可。
(C)(P)Flying Wang
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|新时代Pascal论坛

GMT+8, 2024-5-24 01:00 , Processed in 0.066757 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表