有一段文字,有中文字符也有英文字符,现在我要把它分成几段,每段不能超100个字,在程序中怎么分。我用了几种方法,总分出现乱码(string类弄存储的)。
解决方案 »
- treeview问题,如何在根节点添加子节点
- ADOQuery出现错误:“无法记录所做的更改,因为您输入的值违反了为此表或列定义的设置”
- ●●●●●强烈鄙视小楠生了CDSoftwareWj的小女子●●●●●
- 有朋友有类似按键精灵的例子或源码吗?
- 我没有学过Delphi语言,可以学习Delphi吗?
- 怎样知道程序有没有键盘或者鼠标操作呢?
- 调用FORM时,如何返回一个值?(菜鸟问题)
- 创建一个TTreeNodes,不是通过TTreeView,也就是说它不属于哪个TTreeView,那么执行Clear方法就会出错,怎么办?
- 走过路过不要错过哦。indy控件族问题急,急,急,在线等待!!!!!!!!
- 在database desktop中如何建立表与表间的索引
- 怎样才能在程序移动指针,使记录指针所指的DBGrid 行呈反选状态, 就是记录指针所在的一整行为蓝色?先谢了
- 求<<delphi5.x分布式多层应用系统篇>>一书
2 用widestring,分好了再转换为string
size: integer);
var
pos, len: integer;
low, high: word;
num: integer;
begin
num := bufstr;
pos := 1; // string start pos always is 1;
len := length(s);
while pos <= len do
begin
if num < (size - 1) then
begin
high := byte(s[pos]);
if high > 128 then // ºº×Ö
begin
low := byte(s[pos + 1]);
buf[num] := (high shl 8) + low;
inc(pos, 2);
end
else
begin // Ó¢ÎÄ
buf[num] := high;
inc(pos, 1);
end;
inc(num, 1);
end
else
begin
buf[num] := 0;
break;
end;
end;
buf[num] := 0;
end;