unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons,
ExtCtrls, Windows;
type
{ TForm1 }
TForm1 = class(TForm)
BitBtn3: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
Panel1: TPanel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
public
end;
var
Form1: TForm1;
buffer : array[0..255] of char;
size : dword;
part1, i : Integer;
nombre, user: string;
part2 : integer;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
size := 256;
GetUserName(buffer, size);
user:= buffer;
for i:=1 to length(user) do
begin
part1:= part1 + Ord(user[i]);
end;
nombre:= Edit1.Text;
if length(nombre) = 0 then
begin
ShowMessage('Introduce algun nombre');
// Exit;
Edit2.Clear;
Edit1.SetFocus;
Exit;
end;
for i:= 1 to length (nombre) do
begin
part2:= part2+ Ord(nombre[i]);
end;
Edit2.Text := IntToStr ( part1+ part2 + $7A69+ ((length(user)+ length(nombre)) * $186A0));
Edit1.SetFocus;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Form1.Handle, WM_SYSCOMMAND, 61458, 0) ;
end;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Form1.Handle, WM_SYSCOMMAND, 61458, 0) ;
end;
end.