Strona 1 z 1

Delphi

: 2008-01-25, 14:59
autor: zico
Siemka może ktoś z was ogarnia Delphi, i pomógł by mi bo mam problem. A mianowicie chodzi mi o dopisanie komentarzy, albo opisanie co robi program w poszczególnych linijkach.
Mowa tu o prostej ankiecie

Kod:

unit test;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Menus;

type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label3: TLabel;
ComboBox2: TComboBox;
GroupBox2: TGroupBox;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
Label4: TLabel;
Label5: TLabel;
GroupBox3: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
Button1: TButton;
Button2: TButton;
Label6: TLabel;
Label7: TLabel;
GroupBox4: TGroupBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
SaveFile: TSaveDialog;
OpenFile: TOpenDialog;
Czytaj: TButton;
Zapisz: TButton;

procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CzytajClick(Sender: TObject);
procedure ZapiszClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

rekord = record
pyt1: byte;
pyt2: array[1..3] of boolean;
pyt3: byte;
pyt4: array[1..3] of boolean;
pyt5: array[1..6] of boolean;
pyt6: array[1..6] of boolean;
end;

var
Form1: TForm1;
zmienna: integer;
plik:file of rekord;
dane: rekord;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var i: byte;
begin
ComboBox1.text:='';
ComboBox2.text:='';
RadioButton1.checked:=false;
RadioButton2.checked:=false;
RadioButton3.checked:=false;
RadioButton4.checked:=false;
RadioButton5.checked:=false;
RadioButton6.checked:=false;
CheckBox1.checked:=false;
CheckBox2.checked:=false;
CheckBox3.checked:=false;
CheckBox4.checked:=false;
CheckBox5.checked:=false;
CheckBox6.checked:=false;
CheckBox7.checked:=false;
CheckBox8.checked:=false;
CheckBox9.checked:=false;
CheckBox10.checked:=false;
CheckBox11.checked:=false;
CheckBox12.checked:=false;
Label6.caption:='';
zmienna:=0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
zmienna:=0;
if ComboBox1.text='Europie środkowej' then zmienna:=zmienna+1;
if RadioButton3.checked=true then zmienna:=zmienna+1;
if ComboBox2.text='biało - czerwona' then zmienna:=zmienna+1;
if RadioButton6.checked=true then zmienna:=zmienna+1;
if CheckBox1.checked=true then
if CheckBox2.checked=false then
if CheckBox3.checked=false then
if CheckBox4.checked=false then
if CheckBox5.checked=true then
if CheckBox6.checked=true then zmienna:=zmienna+1;
if CheckBox7.checked=true then
if CheckBox8.checked=false then
if CheckBox9.checked=false then
if CheckBox10.checked=true then
if CheckBox11.checked=true then
if CheckBox12.checked=false then zmienna:=zmienna+1;
if zmienna=0 then zmienna:=1;
Label6.caption:='OCENA '+IntToStr(zmienna);
end;

procedure TForm1.CzytajClick(Sender: TObject);
begin
OpenFile.DefaultExt :='.ank';
OpenFile.Filter := 'ankieta (*.ank)|*.ank';

if not OpenFile.Execute then exit;
assignfile(plik,OpenFile.filename); {kojarzy plik}
reset(plik);
read(plik,dane);
closefile(plik);

Label6.caption:='';
zmienna:=0;

case dane.pyt1 of {warunek}
1: ComboBox1.text:='Europie zachodniej';
2: ComboBox1.text:='Europie środkowej';
3: ComboBox1.text:='Europie wschodniej';
else ComboBox1.text:='';
end;

RadioButton1.checked:=dane.pyt2[1];
RadioButton2.checked:=dane.pyt2[2];
RadioButton3.checked:=dane.pyt2[3];

case dane.pyt3 of
1: ComboBox2.text:='zielono - niebieska';
2: ComboBox2.text:='biało - czerwona';
3: ComboBox2.text:='niebiesko - fioletowa';
else ComboBox2.text:='';
end;

RadioButton4.checked:=dane.pyt4[1];
RadioButton5.checked:=dane.pyt4[2];
RadioButton6.checked:=dane.pyt4[3];

CheckBox1.checked:=dane.pyt5[1];
CheckBox2.checked:=dane.pyt5[2];
CheckBox3.checked:=dane.pyt5[3];
CheckBox4.checked:=dane.pyt5[4];
CheckBox5.checked:=dane.pyt5[5];
CheckBox6.checked:=dane.pyt5[6];

CheckBox7.checked:=dane.pyt6[1];
CheckBox8.checked:=dane.pyt6[2];
CheckBox9.checked:=dane.pyt6[3];
CheckBox10.checked:=dane.pyt6[4];
CheckBox11.checked:=dane.pyt6[5];
CheckBox12.checked:=dane.pyt6[6];
end;

procedure TForm1.ZapiszClick(Sender: TObject);
begin
if ComboBox1.text='Europie zachodniej' then dane.pyt1:=1
else if ComboBox1.text='Europie środkowej' then dane.pyt1:=2
else if ComboBox1.text='Europie wschodniej' then dane.pyt1:=3
else dane.pyt1:=10;

dane.pyt2[1]:=RadioButton1.checked;
dane.pyt2[2]:=RadioButton2.checked;
dane.pyt2[3]:=RadioButton3.checked;

if ComboBox2.text='zielono - niebieska' then dane.pyt3:=1
else if ComboBox2.text='biało - czerwona' then dane.pyt3:=2
else if ComboBox2.text='niebiesko - fioletowa' then dane.pyt3:=3
else dane.pyt3:=10;

dane.pyt4[1]:=RadioButton4.checked;
dane.pyt4[2]:=RadioButton5.checked;
dane.pyt4[3]:=RadioButton6.checked;

dane.pyt5[1]:=CheckBox1.checked;
dane.pyt5[2]:=CheckBox2.checked;
dane.pyt5[3]:=CheckBox3.checked;
dane.pyt5[4]:=CheckBox4.checked;
dane.pyt5[5]:=CheckBox5.checked;
dane.pyt5[6]:=CheckBox6.checked;

dane.pyt6[1]:=CheckBox7.checked;
dane.pyt6[2]:=CheckBox8.checked;
dane.pyt6[3]:=CheckBox9.checked;
dane.pyt6[4]:=CheckBox10.checked;
dane.pyt6[5]:=CheckBox11.checked;
dane.pyt6[6]:=CheckBox12.checked;

SaveFile.defaultext:='.ank';
SaveFile.Filter := 'ankieta (*.ank)|*.ank';

if not SaveFile.Execute then exit;
assignfile(plik,SaveFile.filename);
rewrite(plik);
write(plik,dane);
closefile(plik);
end;

end.


a wygląda ona tak:

Obrazek