Delphi 2.0

3. óra

Feladat:

Egy olyan alkalmazás készítünk, ami csak a megfelelő azonosító beírása után indul el. Az alkalmazásnak 2 menü pontja van: Beállítás, Kilép.

A beállít menüpont kiválasztása esetén egy olyan ablak jelenik meg, ahol a próbaszövegen az alapvető módosítások (szín, betűtípus, stílus) eszközölhetőek.

Megoldás:

Az első ablakunkon létrehozzuk a menüt.

A menüpontok OnClick eseményét beállítjuk:

Beállítás menüponthoz:

procedure TForm1.Bellt1Click(Sender: TObject);

begin

   frmbeallitoablak.Showmodal;

end;

 

Kilépés menüponthoz:

procedure TForm1.Kilp1Click(Sender: TObject);

begin

    close;

end;

 

A Form Name és Caption tulajdonságának beállítása után az OnActivate eseményhez beírjuk a következőt:

procedure TForm1.FormActivate(Sender: TObject);

begin

    If Inputbox('Bejelentkezési ablak', 'Kérem gépelje be a jelszót!', '')<>'Jelszó' then

    Begin

        Showmessage('A megadott jelszó nem helyes, a program nem használható az Ön számára!');

        close;

    end;

end;

 

Kérünk egy új formot a File/New Form menüpont segítségével.

Kiteszünk a Formra egy ComboBox-ot, egy EditBox-ot, két darab RadioGroup-ot, egy Button-t, a Samples palettáról egy SpinEdit-et és egy GroupBox-ot, amibe 3 db ChechBox-ot rakunk.A form Name tulajdonságát beállítjuk frmbeallitoablak-ra.

Komponens Name Jellemző Érték
ComboBox1 CbMit Items Előtér
      Háttér
    Style DropDownList (nem lehet módosítani az értékeit)

OnChange eseményébe írjuk be:

procedure TfrmBeallitoAblak.cbMitChange(Sender: TObject);

begin

    Meret.Enabled:= cbMit.ItemIndex = 0;

    Font.Enabled:= cbMit.ItemIndex = 0;

    Dolt.Enabled:= cbMit.ItemIndex = 0;

    Alahuzott.Enabled:= cbMit.ItemIndex = 0;

    Felkover.Enabled:= cbMit.ItemIndex = 0;

end;

 

Komponens Name Jellemző Érték
Edit1 Proba Text Próbaszöveg
Radiogroup1 Szin Caption Szín
    Items Piros
      Kék
      Zöld

Radiogroup1 (szin) OnClick eseményébe írjuk be:

procedure TfrmBeallitoAblak.SzinClick(Sender: TObject);

    Var ASzin:LongInt;

begin

    Case Szin.ItemIndex Of

        0: ASzin:= clRed;

        1: ASzin:= clBlue;

        2: ASzin:= clGreen;

    End;

    If cbMit.Itemindex = 0 Then

        Proba.Font.Color:= ASzin

    Else

        Proba.Color:= ASzin;

end;

 

Komponens Name Jellemző Érték
RadioGroup2 Font Caption Font
    Items Courier
      Arial
      Desdemona

Radiogroup2 (font) OnClick eseményébe írjuk be:

procedure TfrmBeallitoAblak.FontClick(Sender: TObject);

    Var AFont: String;

begin

    Case Font.ItemIndex Of

        0: AFont:= 'Courier New';

        1: AFont:= 'Arial CE';

        2: AFont:= 'Desdemona';

    End;

    Proba.Font.Name:= AFont;

end;

Komponens Name Jellemző Érték
GroupBox1 Stilus Caption Stílus
CheckBox1 Dolt Caption Dőlt
CheckBox2 Alahuzott Caption Aláhúzott
CheckBox3 Felkover Caption Félkövér

Mind a 3 CheckBox OnClick eseményébe a StilusClick eljárásnevet írjuk a fehér csíkra és a Stilus nevu Groupbox (ami tartalmazza a 3 CheckBox-ot ) OnClick eseményébe begépeljük a következőket:

procedure TfrmBeallitoAblak.StilusClick(Sender: TObject);

    Var Ertek: TFontStyle;

begin

    If (Sender As TCheckBox).Name = 'Dolt' Then

        Ertek:= fsItalic

    Else If (Sender As TCheckBox).Name = 'Alahuzott' Then

                Ertek:= fsUnderline

            Else

                Ertek:= fsBold;

    If (Sender As TCheckBox).Checked Then

        Proba.Font.Style:= Proba.Font.Style+[Ertek]

    Else

        Proba.Font.Style:= Proba.Font.Style-[Ertek];

end;

Komponens Name Jellemző Érték
SpinEdit1 Meret MaxValue 78
    MinValue 8

SpinEdit1 (Meret) OnChange eseménye a következő:

procedure TfrmBeallitoAblak.MeretChange(Sender: TObject);

begin

    Proba.Font.Size:= Meret.Value;

end;

Komponens Name Jellemző Érték
Button1 BtnKilepes Caption Kilépés

Button1 (BtnKilepes) OnClick eseménye:

procedure TfrmBeallitoAblak.btnKilepesClick(Sender: TObject);

begin

    Close;

end;