论坛: 编程破解 标题: 请哪位斑竹或哪位编程高手过来帮我指点,指点,感激不尽!!    复制本贴地址    
作者: ffandtt [ffandtt]    论坛用户   登录
我用delphi写的一个屏幕保护程序,用了一个Tform,一个TTimer,一个TImage,编译的时候老是出错,我改来改去也改不好,请哪位高手或者斑竹过来帮我指点一下,先谢了!




unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, forms, Dialogs,
 ExtCtrls;

type
 Tform1 = class(Tform)
   Timer1: TTimer;
   Image1: TImage;
   procedure Timer1Timer(Sender: TObject);
   procedure formMouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure formKeyDown(Sender: TObject; var Key: Word;
     Shift: TShiftState);
   procedure formCreate(Sender: TObject);
   procedure formPrint(Sender:TObject);
   procedure formPaint(Sender: TObject);
   procedure formActivate(Sender:TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 form1: Tform1;

implementation

{$R *.DFM}

procedure Tform1.Timer1Timer(Sender: TObject);
var x,y:integer;
begin
 x:=Image1.Left+Random(100)-50;
 y:=Image1.Top+Random(100)-50;
 if x<0 then x:=0;
 if x>Width then x:=Width;
 if y<0 then y:=0;
 if y>Height then y:=Height;
 Image1.Left:=x;
 Image1.Top:=y;
end;

procedure Tform1.formMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
close;
end;

procedure Tform1.formKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
close;
end;

procedure Tform1.formCreate(Sender: TObject);
var r,x,y:integer;
begin
 r:=25;x:=25;y:=25;
 Image1.Canvas.Brush.Color:=clBlack;
 Image1.Canvas.FillRect(Rect(0,0,x*2,y*2));
 Image1.Canvas.Brush.color:=clYellow;
 Image1.Canvas.Pen.Color:=clyellow;
 Image1.Canvas.Ellipse(x-r,y-(r div 3)-2,x+r,y+(r div 3)+2);
 Image1.Canvas.MoveTo(x+7,y-6);
 Image1.Canvas.LineTo(x+10,y-12);
 Image1.Canvas.Ellipse(x+10-2,y-12-2,x+10+2,y-12+2);
 Image1.Canvas.MoveTo(x-7,y-6);
 Image1.Canvas.LineTo(x-10,y-12);
 Image1.Canvas.Ellipse(x+10-2,y-12-2,x+10+2,y-12+2);

end;

procedure Tform1.formPaint(Sender: TObject);
begin
Var i:integer;s:string;
   ti:TIniFile;
   begin
   for i:=0 to 1000 do
    Canvas.Pixels[random(Width),random(Height)]:=RGB(random(255), random(255),random(255));
   s:=application.Exename;
   ti:=TIniFile.Creat(Copy(s,1,length(s)-3)+'Ini');
   s:=ti.ReadString('User','Name','');
   ti.Free:
   s:="Press Any Key!Mr"+s;
   Canvas.Font.name:='Arial';
   Canvas.Font.Size=16;
   Canvas.Font.Color=ClBlue;
   Canvas.TextOut(Width-Canvas.TextWidth(s))div 2,30,s)
   end;
   procedure Tform1.formActivate(Sender:TObject);
   begin
      setCapture(Handle);
      end;

end. 


地主 发表时间: 08/26 18:30

回复: cimsxiyang [cimsxiyang]   版主   登录
你写的有点乱。别的不说。单单看这个
代码:

procedure Tform1.formPaint(Sender: TObject);
begin
Var i:integer;s:string;
   ti:TIniFile;
   begin
   for i:=0 to 1000 do
    Canvas.Pixels[random(Width),random(Height)]:=RGB(random(255), random(255),random(255));
   s:=application.Exename;
   ti:=TIniFile.Creat(Copy(s,1,length(s)-3)+'Ini');
   s:=ti.ReadString('User','Name','');
   ti.Free:
   s:="Press Any Key!Mr"+s;
   Canvas.Font.name:='Arial';
   Canvas.Font.Size=16;
   Canvas.Font.Color=ClBlue;
   Canvas.TextOut(Width-Canvas.TextWidth(s))div 2,30,s)
   end;
   procedure Tform1.formActivate(Sender:TObject);
   begin
      setCapture(Handle);
      end;



你自己数一下,你有几个begin,又有几个end.
还有TIniFile类没有creat方法吧?:)应该为create.
你还是自己把这些基本的错误找找,如果再不行,再帖上来。:)

B1层 发表时间: 08/26 21:28

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号