unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, TabNotBk; type TForm1 = class(TForm) Label1: TLabel; ListBox1: TListBox; OpenDialog1: TOpenDialog; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Edit16: TEdit; Edit17: TEdit; Edit18: TEdit; BitBtn3: TBitBtn; Bevel1: TBevel; BitBtn4: TBitBtn; SaveDialog1: TSaveDialog; Label11: TLabel; ProgressBar1: TProgressBar; Timer1: TTimer; procedure BitBtn1Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; //I,O:string; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); var Radek:string; begin if OpenDialog1.Execute then label1.Caption:=OpenDialog1.FileName; listbox1.Items.LoadFromFile(label1.Caption); Radek:=listbox1.Items[1]; edit1.Text:=Radek[1]; edit2.Text:=Radek[2]; edit3.Text:=Radek[3]; end; procedure TForm1.BitBtn4Click(Sender: TObject); begin progressbar1.Position:=0; timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin progressbar1.Position:=progressbar1.Position+1; if progressbar1.Position=50 then begin timer1.Enabled:=false; edit10.Text:=edit1.Text; //z A do XOR edit4.Text:=edit1.Text; //z A do AND edit5.Text:=edit2.Text; //z B do AND edit7.Text:=edit3.Text; //z C do NOT edit15.Text:=edit3.Text; //z C do OR //--------------------- if edit7.Text='1' then begin //hradlo NOT edit8.Text:='0'; end else edit8.Text:='1'; //--------------------- edit6.Text:=edit8.Text; //z NOT do AND edit14.Text:=edit8.Text; //z NOT do OR if (edit4.Text='1')and(edit5.Text='1')and(edit6.Text='1')then begin edit9.Text:='1'; end else //hradlo AND edit9.Text:='0'; //--------------------- edit11.Text:=edit9.Text; //z AND do XOR edit13.Text:=edit9.Text; //z AND do OR if (edit10.Text='1')xor(edit11.Text='1')then begin edit12.Text:='1'; end else //hradlo XOR edit12.Text:='0'; edit17.Text:=edit12.Text; //z XOR do X if (edit13.Text='1')or(edit14.Text='1')or(edit15.Text='1')then begin edit16.Text:='1'; end else //hradlo OR edit16.Text:='0'; edit18.Text:=edit16.Text; end; end; end.