来来来,看看你的水平有多高!——Aimingoo送分项目(超过600大元) (0分)

  • 主题发起人 aimingoo
  • 开始时间
A

aimingoo

Unregistered / Unconfirmed
GUEST, unregistred user!
继续啊~~~~~~~~还有没有人继续的?要END了。
 

弄影

Unregistered / Unconfirmed
GUEST, unregistred user!
我想继续,可是,现在没时间写呀,以前写过一些小东西,可是, 那是用C写的。
WWWW。。。。。等等我。
 
S

SINGLBOY

Unregistered / Unconfirmed
GUEST, unregistred user!
递归大法:仅供参考!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
procedure FormDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
var
CUT_RATE:double;
//树的切分点
LEFT_BRANCH_ANGLE:integer;
//左侧树枝相对于主干的张开度
RIGHT_BRANCH_ANGLE:integer;
//右树枝相对于主干的张开度
BRANCH_LENGTH:integer;
//树的主枝长度
LAST_BRANCH_LENGTH:double;
//最小分枝长度,改变这个值可以控制树叶密度
BRANCH_NUM:integer;
//树枝上的节点数,改变可以控制树枝的密度
procedure SetGlobalVar;
begin
case Form1.RadioGroup1.ItemIndex of
0: begin
CUT_RATE:=0.618;
LEFT_BRANCH_ANGLE:=60;
RIGHT_BRANCH_ANGLE:=60;
BRANCH_LENGTH:=300;
LAST_BRANCH_LENGTH:=0.1;
BRANCH_NUM:=60;
end;
1: begin
CUT_RATE:=0.3;
LEFT_BRANCH_ANGLE:=10;
RIGHT_BRANCH_ANGLE:=12;
BRANCH_LENGTH:=100;
LAST_BRANCH_LENGTH:=0.8;
BRANCH_NUM:=3;
end;
end;
end;

procedure DrawBranch(x,y,Length:double;StartAngle:integer);
//StartAngle 树枝的(直线)的倾斜角;
var
x1,y1,nx,ny,nLength:double;
count:integer;
begin
x1:=x+Length*cos(StartAngle*pi/180);
y1:=y-Length*sin(StartAngle*Pi/180);
Form1.Canvas.Pen.Color:=clGreen;
Form1.Canvas.MoveTo(Round(x),Round(y));
case Form1.RadioGroup1.ItemIndex of
0: Form1.Canvas.LineTo(Round(x1),Round(y1));
1: Form1.Canvas.Pixels[Round(x1),Round(y1)]:=RGB(255,0,0);
end;
if (Length<LAST_BRANCH_LENGTH) then
Exit;
nLength:=Length;
nx:=x;
ny:=y;
for count:=0 to BRANCH_NUM-1 do
begin
nx:=nx+nLength*(1-CUT_RATE)*cos(StartAngle*Pi/180);
ny:=ny-nLength*(1-CUT_RATE)*sin(StartAngle*Pi/180);
DrawBranch(nx,ny,nLength*(1-CUT_RATE),StartAngle+LEFT_BRANCH_ANGLE);
DrawBranch(nx,ny,nLength*(1-CUT_RATE),StartAngle-RIGHT_BRANCH_ANGLE);
nLength:=nLength*CUT_RATE;
end;
end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
SetGlobalVar;
Repaint;
DrawBranch(Round(Width/2),Height,BRANCH_LENGTH,90);
end;

end.
 
A

aimingoo

Unregistered / Unconfirmed
GUEST, unregistred user!
哈哈,等!!!
 
J

JJams_King

Unregistered / Unconfirmed
GUEST, unregistred user!
unit UApplyTemplate;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
Panel2: TPanel;
Splitter1: TSplitter;
Memo1: TMemo;
Splitter2: TSplitter;
Memo2: TMemo;
Memo3: TMemo;
Label1: TLabel;
Panel3: TPanel;
Button2: TButton;
Button3: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
strSource:string;
nIP:integer;
lsStack:TStringList;
procedure run;
procedure interpretCommand;
procedure do
Variable(cmd:string);
procedure do
For(cmd:string);
procedure do
End(cmd:string);
procedure appendString(str:string);
procedure do
Date(cmd:string);
procedure do
Time(cmd:string);
procedure do
Now(cmd:string);
procedure do
UTCTime(cmd:string);
procedure do
TimeZone(cmd:string);
public
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
strSource := Memo3.lines.Text;
Memo3.lines.Clear;
lsStack := TStringList.Create;
if length(strSource)>0 then
begin
nIP := 1;
run;
end;
lsStack.Free;
end;

procedure TForm1.run;
begin
while nIP <= length(strSource) do
begin
Label1.Caption := IntToStr(nIP);
Application.ProcessMessages;
//Memo3.SelStart := 2147483647;
//* interpret
if strSource[nIP] <> '$' then
begin
if strSource[nIP] <> chr(13) then
//Memo3.lines.Text := Memo3.lines.Text + strSource[nIP];
appendString(strSource[nIP]);
nIP := nIP + 1;
end
else
begin
//* interpret command
interpretCommand;
end;
end;
end;

procedure TForm1.interpretCommand;
var
cmd:string;
begin
cmd := '';
nIP := nIP + 1;
while strSource[nIP] <> '$' do
begin
cmd := cmd + strSource[nIP];
nIP := nIP + 1;
end;
nIP := nIP + 1;
if length(cmd) = 0 then
appendString('$')
else
if cmd[1] = '#' then
do
Variable(cmd)
else
if cmd = 'FOR' then
do
For(cmd)
else
if cmd = 'END' then
do
End(cmd)
else
if cmd = 'DATE' then
do
Date(cmd)
else
if cmd = 'TIME' then
do
Time(cmd)
else
if cmd = 'NOW' then
do
Now(cmd)
else
if cmd = 'UTCTIME' then
do
UTCTime(cmd)
else
if cmd = 'TIMEZONE' then
do
TimeZone(cmd);
end;

procedure TForm1.doVariable(cmd:string);
var
n:integer;
begin
cmd := Copy(cmd,2,length(cmd)-1);
//Memo1.lines.add(cmd);
n := strtoint(cmd);
if n = 0 then
begin
//Memo3.lines.text := Memo3.lines.text + lsStack[lsStack.Count-1];
appendString(lsStack[lsStack.Count-1]);
end
else
begin
//Memo3.lines.text := Memo3.lines.text + memo1.lines[n-1];
appendString(memo1.lines[n-1]);
end;
end;

procedure TForm1.doFor(cmd:string);
var
i:integer;
begin
for i:=Memo2.lines.Count-1 do
wnto 0 do
begin
lsStack.Add(Memo2.lines);
lsStack.Add(IntToStr(nIP));
end;
if lsStack.Count>0 then
lsStack.Delete(lsStack.Count-1);
end;

procedure TForm1.doEnd(cmd:string);
begin
if lsStack.Count > 0 then
begin
lsStack.Delete(lsStack.Count-1);
end;
if lsStack.Count > 0 then
begin
nIP := StrToInt(lsStack[lsStack.Count-1]);
lsStack.Delete(lsStack.Count-1);
end;
end;

procedure TForm1.appendString(str:string);
var
i:integer;
begin
if length(str) <= 0 then
exit;
for i:=1 to length(str) do
SendMessage(Memo3.Handle,WM_CHAR,ord(str),1);
end;

procedure TForm1.doDate(cmd:string);
begin
appendString(DateTimeToStr(Date));
end;

procedure TForm1.doTime(cmd:string);
begin
appendString(TimeToStr(Time));
end;

procedure TForm1.doNow(cmd:string);
begin
appendString(DateTimeToStr(Now));
end;

procedure TForm1.doUTCTime(cmd:string);
var
time:TSystemTime;
begin
GetSystemTime(time);
appendString(IntToStr(time.wYear) + '-' +
IntToStr(time.wMonth) + '-' +
IntToStr(time.wDay) + ' ' +
IntToStr(time.wHour) + ':' +
IntToStr(time.wMinute) + ':' +
IntToStr(time.wSecond));
end;

procedure TForm1.doTimeZone(cmd:string);
var
time:TTimeZoneInformation;
bias:integer;
begin
GetTimeZoneInformation(time);
bias := ((-time.Bias) div 60);
if bias > 0 then
appendString('+');
appendString(IntToStr(bias));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.lines.clear;
Memo2.lines.clear;
Memo3.lines.clear;
Memo1.lines.add('var1');
Memo1.lines.add('var2');
Memo1.lines.add('var3');
Memo2.lines.add('loop1');
Memo2.lines.add('loop2');
Memo2.lines.add('loop3');
Memo3.lines.add('Text: Click Apply');
Memo3.lines.add('Dolar: $$');
Memo3.lines.add('Date: $DATE$');
Memo3.lines.add('Time: $TIME$');
Memo3.lines.add('Date and Time: $NOW$');
Memo3.lines.add('UTC: $UTCTIME$');
Memo3.lines.add('Time Zone Bias: $TIMEZONE$');
Memo3.lines.add('Variable1: $#1$');
Memo3.lines.add('Variable2: $#2$');
Memo3.lines.add('Variable3: $#3$');
Memo3.lines.add('$FOR$');
Memo3.lines.add('This section will be repeated: $#0$');
Memo3.lines.add('$END$');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo3.lines.LoadFromFile(OpenDialog1.FileName);
end;
end;

end.
 
T

Tense

Unregistered / Unconfirmed
GUEST, unregistred user!
礼拜1下午13:00结束吧。最好要随时提前,因为还有很多人没看到这个帖子。
 
F

firebolt

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(]这里的气氛真是亲切,真是相识狠晚呀,我接触DELPHI才几个月,进境一直不佳,
希望能够得到大家的指点,让我也真正成为你们中的一员,我希望能得到大赛的程序集,
虽然有很多我都是看不动,但我会很努力的,希望能够满足我入会的第一个请求。
最后告诉大家一件事,我是个男地。嘻嘻~~!
 
Y

YunEr

Unregistered / Unconfirmed
GUEST, unregistred user!
唉,没时间参与了
好久没来了,回到这里来,有一种GO HOME的感觉
剧情
寒风瑟瑟中,云儿裹紧了棉衣,脚步匆匆,GO HOME的旋律在身后飘荡着,
风越来越大了,也越来越冷了,唯有不停的向前才能度过这一场网络业的
冬天……
 
X

xyf2001721

Unregistered / Unconfirmed
GUEST, unregistred user!
多多向你们学习
 
O

Oldtiger

Unregistered / Unconfirmed
GUEST, unregistred user!
《云儿》
踏着沉重的脚步,
回Home的时刻是那么的短暂,
当身边的奔腾已经发烫,
散发富翁们的心肠。
回来吧,归来哟,
浪迹网络的游子!
回来吧,归来哟,
不再四处飘搏!
我曾经豪情万丈,
回来却是空空的行囊,
大富翁上的yunEr,
大富翁上的yySun,
使我永不感悲伤!
 
L

liuzr

Unregistered / Unconfirmed
GUEST, unregistred user!
迟了,但看看别人的,不也是一种享受吗?
 

诚信

Unregistered / Unconfirmed
GUEST, unregistred user!
太帅了
不过做为黑客不是太有用!
想学点真家伙???
 

番番

Unregistered / Unconfirmed
GUEST, unregistred user!
精彩精彩,可惜可惜,可恨才来到这儿不久.
 
C

c~c

Unregistered / Unconfirmed
GUEST, unregistred user!
太晚了,不然我的说不准可以进前50呢?哈哈。。。。开玩笑了。
 

阿笨瓜

Unregistered / Unconfirmed
GUEST, unregistred user!
你是吃饱了撑的!
 
D

datm

Unregistered / Unconfirmed
GUEST, unregistred user!
[:D]我要把我的256M内存40G硬盘卖了,换个16M内存,1G硬盘。
我能捐赠注册码吗?
 

Similar threads

S
回复
0
查看
931
SUNSTONE的Delphi笔记
S
S
回复
0
查看
756
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部