下载本文示例代码
大家知道用Deiphi开发应用程序时标签是必不可少的,但是Deiphi提供的Label构件只支持横排方式的标签,而不支持竖排方式标签。 编写一段简单的函数就可以把标签从横排变成竖排。因为中文字符集是用两个字节表示一个字符的,所以应在字符串的每两个字节之间加入回车换行符。这个函数的参数是一字符串,返回值是在中文字符之间添加了回车换行符的一个新的字符串。 下面就举例说明:我们以竖排方式显示一首诗。 新建一工程。 首先在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环境中运行通过。
大家知道用Deiphi开发应用程序时标签是必不可少的,但是Deiphi提供的Label构件只支持横排方式的标签,而不支持竖排方式标签。 编写一段简单的函数就可以把标签从横排变成竖排。因为中文字符集是用两个字节表示一个字符的,所以应在字符串的每两个字节之间加入回车换行符。这个函数的参数是一字符串,返回值是在中文字符之间添加了回车换行符的一个新的字符串。 下面就举例说明:我们以竖排方式显示一首诗。 新建一工程。 首先在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环境中运行通过。
下载本文示例代码
制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签制作Delphi的竖排标签
阅读(251) | 评论(0) | 转发(0) |