Delphi 菱行代码问题
要想一点按钮,窗口上就出现由“*”组成的菱形,代码要怎么写啊?如果我想点第二次就让他组成别的形状,比如五角星之类的,代码要怎么写啊?
答案:新建立一个项目,在窗体上添加一个按钮,然后代码如下:(菱形的算法给出,星行自己推一下吧)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
S: Array[0..1] of TStringList;
implementation
{$R *.dfm}
function LingXing:TStringList; //生成菱形的字符阵列
var
i:integer;
s,s1,s2:string;
begin
Result:=TStringList.Create;
s1:='
';
s2:='******************';
for i:=6 downto 1 do
begin
s:=Copy(s1,1,6-i)+Copy(s2,1,2*i)+Copy(s1,1,6-i);
Result.Add(s);
Result.Insert(0,s);
end;
end;
function XingXing:TStringList; //生成星形的字符阵列
var
i:integer;
s:string;
begin
Result:=TStringList.Create;
for i:=12 downto 1 do
begin
s:='
';
//自己编写星型的阵列
Result.Add(s);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:TStringList;
begin
Font.Name:='宋体';
Application.ProcessMessages;
Case Tag of
0:begin
s:=LingXing;
Tag:=1;
end;
1:begin
s:=XingXing;
Tag:=0;
end;
end;
for i:=0 to s.Count-1 do
Canvas.TextOut(10,10+i*16,s[i]);
s.Free;
end;
end.
上一个:delphi dbgrid 滚动条拖动
下一个:delphi6 编计算器问题