Blame lazarus/typing/unit1.pas
|
|
f1e5db |
unit Unit1;
|
|
|
f1e5db |
|
|
|
f1e5db |
{$mode objfpc}{$H+}
|
|
|
f1e5db |
|
|
|
f1e5db |
interface
|
|
|
f1e5db |
|
|
|
f1e5db |
uses
|
|
|
f1e5db |
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
|
|
f1e5db |
StdCtrls;
|
|
|
f1e5db |
|
|
|
f1e5db |
type
|
|
|
f1e5db |
|
|
|
f1e5db |
{ TForm1 }
|
|
|
f1e5db |
|
|
|
f1e5db |
TForm1 = class(TForm)
|
|
|
f1e5db |
Button1: TButton;
|
|
|
f1e5db |
Edit1: TEdit;
|
|
|
f1e5db |
Edit2: TEdit;
|
|
|
f1e5db |
Image1: TImage;
|
|
|
f1e5db |
Image2: TImage;
|
|
|
f1e5db |
Timer1: TTimer;
|
|
|
f1e5db |
procedure Button1Click(Sender: TObject);
|
|
|
f1e5db |
procedure Edit1Change(Sender: TObject);
|
|
|
f1e5db |
procedure Edit2Change(Sender: TObject);
|
|
|
f1e5db |
procedure Timer1Timer(Sender: TObject);
|
|
|
f1e5db |
private
|
|
|
f1e5db |
{ private declarations }
|
|
|
f1e5db |
public
|
|
|
f1e5db |
{ public declarations }
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
|
|
|
f1e5db |
var
|
|
|
f1e5db |
Form1: TForm1;
|
|
|
f1e5db |
play: boolean = false;
|
|
|
f1e5db |
|
|
|
f1e5db |
implementation
|
|
|
f1e5db |
|
|
|
f1e5db |
{$R *.lfm}
|
|
|
f1e5db |
|
|
|
f1e5db |
{ TForm1 }
|
|
|
f1e5db |
|
|
|
f1e5db |
procedure TForm1.Edit2Change(Sender: TObject);
|
|
|
f1e5db |
begin
|
|
|
f1e5db |
if play then begin
|
|
|
f1e5db |
if copy(Edit1.Text, 1, Length(Edit2.Text)) <> Edit2.Text then begin
|
|
|
f1e5db |
Edit2.Text := copy(Edit2.Text, 1, Length(Edit2.Text)-1);
|
|
|
f1e5db |
Edit2.SelStart := Length(Edit2.Text);
|
|
|
f1e5db |
end else begin
|
|
|
f1e5db |
Image2.Left := Edit1.Left + round(Edit1.Width*Length(Edit2.Text)/Length(Edit1.Text));
|
|
|
f1e5db |
if Edit1.Text = Edit2.Text then begin
|
|
|
f1e5db |
play := false;
|
|
|
f1e5db |
Edit1.ReadOnly := false;
|
|
|
f1e5db |
ShowMessage('You WIN!!!');
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
|
|
|
f1e5db |
procedure TForm1.Edit1Change(Sender: TObject);
|
|
|
f1e5db |
begin
|
|
|
f1e5db |
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
|
|
|
f1e5db |
procedure TForm1.Timer1Timer(Sender: TObject);
|
|
|
f1e5db |
begin
|
|
|
f1e5db |
if play then begin
|
|
|
f1e5db |
Image1.Left := Image1.Left + 10;
|
|
|
f1e5db |
if Image1.Left >= Edit1.Left + Edit1.Width then begin
|
|
|
f1e5db |
play := false;
|
|
|
f1e5db |
Edit1.ReadOnly := false;
|
|
|
f1e5db |
ShowMessage('You loze');
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
|
|
|
f1e5db |
procedure TForm1.Button1Click(Sender: TObject);
|
|
|
f1e5db |
begin
|
|
|
f1e5db |
Image1.Left := Edit1.Left;
|
|
|
f1e5db |
Image2.Left := Edit2.Left;
|
|
|
f1e5db |
|
|
|
f1e5db |
Edit1.ReadOnly := True;
|
|
|
f1e5db |
Edit2.Text := '';
|
|
|
f1e5db |
Edit2.SetFocus;
|
|
|
f1e5db |
|
|
|
f1e5db |
play := true;
|
|
|
f1e5db |
end;
|
|
|
f1e5db |
|
|
|
f1e5db |
end.
|
|
|
f1e5db |
|