// GKO Demo 2 22.9.2003 // Tehtävät 2-5 // Jussi Häkkinen 19.9.2003 unit AutolaskuriForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus, chclr; type TFormAutolaskuri = class(TForm) ButtonHA: TButton; ButtonKA: TButton; LabelHA: TLabel; LabelKA: TLabel; ButtonNollaa: TButton; ButtonPP: TButton; LabelPP: TLabel; ImageHA: TImage; TimerHA: TTimer; MainMenu1: TMainMenu; Options1: TMenuItem; File1: TMenuItem; Help1: TMenuItem; Exit1: TMenuItem; Colors1: TMenuItem; About1: TMenuItem; ColorDialogTausta: TColorDialog; Label5: TLabel; Label20: TLabel; Label10: TLabel; ButtonVari: TMenuItem; LabelVari: TMenuItem; TaustaVari: TMenuItem; ColorChangeVari: TColorChange; PopupMenuVari: TPopupMenu; PopUpVari: TMenuItem; ButtonVaihdaVari: TButton; procedure ButtonHAClick(Sender: TObject); procedure ButtonKAClick(Sender: TObject); procedure ButtonNollaaClick(Sender: TObject); procedure ButtonPPClick(Sender: TObject); procedure TimerHATimer(Sender: TObject); procedure Exit1Click(Sender: TObject); // procedure Colors1Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure LabelHADragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure LabelHADragDrop(Sender, Source: TObject; X, Y: Integer); procedure TaustaVariClick(Sender: TObject); procedure LabelVariClick(Sender: TObject); procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer); procedure FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure PopUpVariClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ButtonVaihdaVariClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormAutolaskuri: TFormAutolaskuri; implementation //uses About; {$R *.dfm} procedure lisaa(lab:TLabel; n:integer); begin lab.Caption := IntToStr(StrToInt(lab.Caption)+n); end; procedure TFormAutolaskuri.ButtonHAClick(Sender: TObject); begin lisaa(LabelHA,1); end; //procedure TFormAutolaskuri.ButtonHAClick(Sender: TObject); //begin // LabelHA.Caption := IntToStr(StrToInt(LabelHA.Caption)+1); //end; procedure TFormAutolaskuri.ButtonKAClick(Sender: TObject); begin LabelKA.Caption := IntToStr(StrToInt(LabelKA.Caption)+1); end; procedure TFormAutolaskuri.ButtonNollaaClick(Sender: TObject); begin LabelHA.Caption := '0'; LabelKA.Caption := '0'; LabelPP.Caption := '0'; end; procedure TFormAutolaskuri.ButtonPPClick(Sender: TObject); begin LabelPP.Caption := IntToStr(StrToInt(LabelPP.Caption)+1); end; procedure TFormAutolaskuri.TimerHATimer(Sender: TObject); begin ImageHA.Left := ImageHA.Left + 1; if ( ( ImageHA.Left + ImageHA.Width ) >= ClientWidth ) then ImageHA.Tag := -1; ImageHA.Left := ImageHA.Left + ImageHA.Tag; if ImageHA.Left <= 0 then ImageHA.Tag := 1; ImageHA.Left := ImageHA.Left + ImageHA.Tag; end; procedure TFormAutolaskuri.Exit1Click(Sender: TObject); begin Close; end; //procedure TFormAutolaskuri.Colors1Click(Sender: TObject); //begin // ColorDialogTausta.Color := Color; // if ( not ColorDialogTausta.Execute ) then exit; // Color := ColorDialogTausta.Color; //end; procedure TFormAutolaskuri.About1Click(Sender: TObject); begin // FormAbout.Show; // voi palata pääikkunaan ilman About-ikkunan sulkemista //FormAbout.ShowModal; tämä vaatii About-ikkunan sulkemisen end; procedure TFormAutolaskuri.LabelHADragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := True; end; procedure TFormAutolaskuri.LabelHADragDrop(Sender, Source: TObject; X, Y: Integer); begin if ( Source = ImageHA ) then lisaa(Sender as TLabel,10); if ( Source = Label5 ) then lisaa(Sender as TLabel,5); if ( Source = Label10 ) then lisaa(Sender as TLabel,10); if ( Source = Label20 ) then lisaa(Sender as TLabel,20); //lisaa(Sender as TLabel,10); end; procedure TFormAutolaskuri.TaustaVariClick(Sender: TObject); begin ColorDialogTausta.Color := Color; if ( not ColorDialogTausta.Execute ) then exit; Color := ColorDialogTausta.Color; end; procedure TFormAutolaskuri.LabelVariClick(Sender: TObject); begin ColorDialogTausta.Color := Color; if ( not ColorDialogTausta.Execute ) then exit; LabelHA.Color := ColorDialogTausta.Color; LabelKA.Color := ColorDialogTausta.Color; LabelPP.Color := ColorDialogTausta.Color; Label5.Color := ColorDialogTausta.Color; Label10.Color := ColorDialogTausta.Color; Label20.Color := ColorDialogTausta.Color; end; procedure TFormAutolaskuri.FormDragDrop(Sender, Source: TObject; X, Y: Integer); begin TControl(Source).top := y; TControl(Source).left := x; end; procedure TFormAutolaskuri.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := True; end; procedure TFormAutolaskuri.PopUpVariClick(Sender: TObject); begin ColorChangeVari.Ask(PopupMenuVari.PopupComponent); end; procedure TFormAutolaskuri.FormCreate(Sender: TObject); begin // ColorChangeVari.ReadColors; end; procedure TFormAutolaskuri.ButtonVaihdaVariClick(Sender: TObject); begin ColorChangeVari.RunColor; end; end.