扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
编写一段简单的函数就可以把标签从横排变成竖排。因为中文字符集是用两个字节表示一个字符的,所以应在字符串的每两个字节之间加入回车换行符。这个函数的参数是一字符串,返回值是在中文字符之间添加了回车换行符的一个新的字符串。
下面就举例说明:我们以竖排方式显示一首诗。
新建一工程。
首先在implementation部分定义一个字符串数组常量poemary,该数组的每一个成员顺序存放了诗中的一句。
const
poemary: array[0..6] of string = (游子吟, 慈母手中线,游子身上衣, 临行密密缝, 意恐迟迟归, 谁言寸草心,报得叁春晖);
随后,在implementation部分加入字符串转换函数,代码如下:
function convertstring(source:string):string;
var
i,j:integer;
a,b:array[0..50] of char;
begin
StrPCopy(a, source) ;
j:=0; i:=0;
while (a[j] $#@60;$#@62;#0) do begin
b[i]:=a[j];
if (j mod 2=1)and(j$#@62;0) then begin
Inc(i); b[i]:=#13;
end;
Inc(j); Inc(i);
end;
b[i-1]:=#0;
result:= strpas(b);
end;
最后添加Form1的OnCreate事件。注意:要在uses子句中添加单元名称stdctrls。
procedure TForm1.FormCreate(Sender: TObject);
var
labary:array[0..6] of Tlabel;
i:integer;
begin
for i:=0 to 6 do
begin
labary[i]:=Tlabel.Create(self);
labary[i].parent:=self;
labary[i].caption:=convertstring(poemary[i]);
labary[i].top:=(form1.Height-labary[i].height) div 2;
labary[i].left:=10+i*33;
end;
end;
运行结果如图所示,此程序在Windows 95,Delphi3.0环境中运行通过。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者