unit Hod; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, Menus; type TFRM = class(TForm) Button1: TButton; RB: TRichEdit; Tim: TTimer; l1: TLabel; l2: TLabel; l3: TLabel; OP: TOpenDialog; MainMenu1: TMainMenu; Soubor1: TMenuItem; Otevt1: TMenuItem; Uloit1: TMenuItem; Konec1: TMenuItem; N1: TMenuItem; Zobrazit1: TMenuItem; Aktualizovat1: TMenuItem; procedure Button1Click(Sender: TObject); procedure FormDblClick(Sender: TObject); procedure TimTimer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Otevt1Click(Sender: TObject); procedure Uloit1Click(Sender: TObject); procedure Zobrazit1Click(Sender: TObject); procedure FormResize(Sender: TObject); procedure Aktualizovat1Click(Sender: TObject); procedure Konec1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Const Mesice:array[1..12] of string=('ledna', 'února', 'března', 'dubna', 'května', 'června', 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince'); PI180=Pi/180; var FRM: TFRM; SSS:string; Xa,Ya:integer; MX,MY:integer; MX1,MY1:integer; MX2,MY2:integer; XXX:integer; implementation uses Digital; {$R *.DFM} procedure TFRM.Button1Click(Sender: TObject); Var ss:tcaption; begin ss:=RB.Text; Rb.Lines.LoadFromFile('Hodiny.tob'); Form1.inicializuj(350,150,1,1); Form1.visible:=true; Form1.left:=0;Form1.top:=0; Form1.NactiObrazek(rb.text,1,1); Rb.text:=ss; Form1.NastavBarvy(clgray,claqua,clfuchsia); Form1.NamalujCaru(1,100,81,99); Form1.NamalujCaru(1,113,81,112); form1.namalujcaru(83,1,83,150); form1.namalujcaru(83,1,350,0); form1.namalujcaru(350,1,350,150); form1.namalujcaru(83,150,350,149); Form1.NastavBarvy(clgray,claqua,clblue); Tim.enabled:=true; timtimer(Nil); end; procedure TFRM.FormDblClick(Sender: TObject); begin Close; end; procedure TFRM.TimTimer(Sender: TObject); Var s,s2:string; i,o:integer; ho,mi,se: integer; begin s:=TimetoStr(now); Form1.Smaztext5x7(l1.caption,18,83); Form1.SmazCislo6x11(l1.caption,8,101); l1.caption:=s; Form1.Napistext5x7(l1.caption,18,83); Form1.NapisCislo6x11(l1.caption,8,101); ho:=strtoint(copy(s,1,2)); mi:=strtoint(copy(s,4,2))*6-90; se:=strtoint(copy(s,7,2))*6-90; s2:=Datetostr(now); If Ho > 12 Then Ho:=Ho - 12; Ho:=Ho * 30 - 90 + round((Mi + 90) / 12); Form1.SmazCaru(Xa,Ya,Mx,My); MX:=round(Cos(Se * PI180) * 27 + Xa); MY:=round(Sin(Se * PI180) * 27 + Ya); Form1.NamalujCaru(Xa,Ya,Mx,My); Form1.SmazCaru(Xa,Ya,Mx1,My1); MX1:=round(Cos(mi * PI180) * 23 + Xa); MY1:=round(Sin(mi * PI180) * 23 + Ya); Form1.NamalujCaru(Xa,Ya,Mx1,My1); Form1.SmazCaru(Xa,Ya,Mx2,My2); MX2:=round(Cos(ho * PI180) * 16 + Xa); MY2:=round(Sin(ho * PI180) * 16 + Ya); Form1.NamalujCaru(Xa,Ya,Mx2,My2); Form1.Smaztext5x7(l3.caption,1,92); for i:=1 to length(s2) do begin if copy(s2,i,1)='.' then begin if o=0 then begin o:=i+1; l3.caption:=copy(s2,1,i); end else begin o:=strtoint(copy(s2,o,i-o)); l3.caption:=l3.caption + mesice[o] +' '+ copy(s2,i+1,4); end; end; end; Form1.Napistext5x7(l3.caption,1,92); End; procedure TFRM.FormCreate(Sender: TObject); begin XA:=40;Ya:=40;Rb.text:=''; MX:=XA+1;MY:=Ya+1;XXX:=0; MX1:=XA+1;MY1:=Ya+1;MX2:=XA+1;MY2:=Ya+1; end; procedure TFRM.Otevt1Click(Sender: TObject); Var H:Boolean; begin H:=False; OP.Options := [ofFileMustExist, ofHideReadOnly, ofNoChangeDir ]; while not H do begin if OP.Execute then begin if not (ofExtensionDifferent in OP.Options) then begin Rb.lines.LoadFromFile(OP.FileName); SSS:=op.filename; H:=True;Uloit1.Enabled:=True; end end else H:=True; end; end; procedure TFRM.Uloit1Click(Sender: TObject); begin rb.Lines.SaveToFile(sss); end; procedure TFRM.Zobrazit1Click(Sender: TObject); begin Button1Click(nil); Aktualizovat1.Enabled:=true; Zobrazit1.Enabled:=false; Aktualizovat1Click(nil); end; procedure TFRM.FormResize(Sender: TObject); begin rb.width:=width-8; rb.height:=height-54; end; procedure TFRM.Aktualizovat1Click(Sender: TObject); var i,o,p:integer; s:string; z:char; begin (*Smazaní*) Form1.NastavBarvy(clgray,claqua,claqua); for i:=85 to 348 do For o:=3 to 148 do form1.z(i,o); Form1.NastavBarvy(clgray,claqua,clblue); (**) i:=1;o:=1;s:=rb.text; p:=1; while p<=Length(s) do begin z:=s[p]; if z=chr(13) then Begin p:=p+2;o:=o+1;i:=1; ENd else begin form1.Znak5x7(z,i*6+79,o*8-5); p:=p+1; i:=i+1; end; end; end; procedure TFRM.Konec1Click(Sender: TObject); begin Close; end; end.