我想在一个字符串里,比如在Str:='请您对您的言行负责,遵守中华人民共和国有关法律!'中提取出长度为16毫米的字符串,Str的长度会随着字体的大小改变而改变,怎样才能实现提取这对应长度的字符串出来呢?
解决方案 »
- adoquery.savetofile生成的xml文件是utf-16格式,请问可否转换成gb2312格式。谁有转换函数?
- Unknown directive:'external' 这是什么意思啊?
- 服务器运行时报错“由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作。” 是什么原因
- 打印输出问题,好难!
- 两台异地ADSL宽带上网(没有固定ip)的电脑,能否使用TCPServer、TCPClient进行通讯?
- Delphi7.0+sqlserver2000,存放图片到数据库image字段成功了,但是从数据库中清除和更改却不好用。
- 怎样用声母查字符
- 哪位有修改好的modlink for xe5 啊?
- 关于类型文件,请进来灌水!
- 用QUERY,+UpdateSql,在APPLYUPDATES时出错,Table is read only, 函数序列出错!,求救
- @@@@@TAggregateField怎么使用?@@@@@
- 急!麻烦回答一下!
判断label的 width 之后处理就可以了
有问题请发信息到我的E-mail:[email protected]
Str2:=Str;
Str2.font.size:=8;
用(Str/Str2)*Str2.width可以算出Str在相对于Str2的宽度所占的字的个数;
然后Copy(...)
var
strcount:integer;
str,str1,str2:string;
begin
canvas.Font:=dbedit1.Font;
strcount:=Trunc(163/canvas.TextWidth('H'));
str:=dbedit1.Text;
if CharLength(str,strcount)=2 then
begin
strcount:=strcount+1;
end;
str1:=copy(str,1,strcount);
delete(str,1,strcount);
str2:=str;