Search

 

Prosinec 2008
P Ú S Č P S N
« Lis    
1234567
891011121314
15161718192021
22232425262728
293031  
  • 22Lis

    Další program bude opět taková malá “legrácka”. Po spuštění programu se v levé části formuláře objeví tlačítko s nápisem “Konec”. Jakmile však uživatel přesune myš nad tlačítko, to zmizí a objeví se na pravé straně okna. Přesuneme-li na něj kurzor myší, opět zmizí a je znovu vlevo.
    Rozbor programu:

    1. Vytvořte si složku (adresář), do kterého budeme ukládat všechny soubory projektu.
    2. V menu File vyberte položku New Application nová aplikace. Vytvoříte nový projekt.
    3. Pojmenujte formulář FrmHlavni. Upravte jeho velikost. Nastavte vlastnost Caption na text “Legrácka”.
    4. Umístěte na plochu formuláře vlevo komponentu button a pojmenujte ji BtnLeve. Vlastnost Caption nastavte na text “Konec”.
    5. Umístěte na plochu formuláře vpravo komponentu button a pojmenujte ji BtnPrave. Vlastnost Caption nastavte na text “Konec”. Vlastnost Visible nastavte na hodnotu true.
    6. U komponenty BtnLeve vyberte událost OnClick a dopište kód. Nejprve zmizení komponenty BtnLeve a pak objevení komponenty BtnPrave.
    BtnLeve.Visible:=false; BtnPrave.Visible:=true;
    7. U komponenty BtnPrave rovněž ošetřete reakci na událost OnClick.
    BtnPrave.Visible:=false; BtnLeve.Visible:=true;
    8. Uložte všechny soubory do připravené složky a spusťte program.

    Soubor Project3.dpr

    program Project3;

    uses

    Forms,

    Unit1 in ‘Unit1.pas’ {FrmHlavni};

    {$R *.res}

    begin

    Application.Initialize; Application.CreateForm(

    TFrmHlavni, FrmHlavni); Application.Run;

    end.
    Soubor Unit1.pas

    // Příklady v Delphi

    // odladěno v Borland Delphi 6

    unit Unit1;

    interface

    uses

    32

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

    Dialogs, StdCtrls;

    type

    TFrmHlavni = class(TForm)

    BtnLeve: TButton; BtnPrave: TButton;

    procedure BtnLeveMouseMove(

    Sender: TObject; Shift: TShiftState;

    X,Y: Integer); procedure BtnPraveMouseMove(Sender: TObject;

    Shift: TShiftState;

    X,Y: Integer);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    FrmHlavni: TFrmHlavni;

    implementation

    {$R *.dfm}

    procedure TFrmHlavni.BtnLeveMouseMove(Sender: TObject;

    Shift:TShiftState;X, Y: Integer);

    begin

    BtnLeve.Visible:=false; BtnPrave.Visible:=true;

    end;

    procedure TFrmHlavni.BtnPraveMouseMove(Sender: TObject;

    Shift: TShiftState;X, Y: Integer);

    begin

    BtnLeve.Visible:=true; BtnPrave.Visible:=

    false;

    end;

    end.

    Časté chyby

  • Začátečníci se při tvorbě programů v Delphi často dopouštějí následujících chyb:
  • Neukládáte každý projekt do zvláštní složky - adresáře. Velmi rychle pak ztratíte přehled o tom, které soubory patří k projektu. Často si soubory z minulých programů přepisujete soubory z programů nových.
  • Při snaze změnit některou vlastnost u objektu se snažíte vložit novou hodnotu přímo do objektu. Klasickým příkladem je snaha o změnu textu u komponenty label následujícím způsobem:
  • Label1:=’Pozdě!’;

    Správně:

    Label1.Caption:=’Pozdě!’;

  • Ihned nepojmenováváte komponentu, kterou jste vložili do formuláře. Odůvodnění většinou zní “Já to pojmenuji později”. Později na to většinou již není čas ani chuť. Navíc pozdější přejmenovávání stojí obvykle více práce. Pamatujte, že automaticky vytvářené názvy grafických komponent jsou velmi nepřehledné.
  • Při nastavování vlastností či událostí určité grafické komponenty zapomínáte komponentu označit nebo si ji vybrat mezi ostatními komponentami v okně Object Inspector. Pak se stává, že například chcete nastavit vlastnost Caption u tlačítka, ale vybraný je formulář. Svůj text zapíšete do příslušné kolonky a s údivem sledujete, že se text neobjevil na tlačítku, ale v titulku okna. Pamatujte, že počítač ani Delphi nemá telepatické schopnosti, aby tušil, kterou komponentu chcete změnit!
  • Ke svému zdrojovému kódu nepřipojujete poznámky. Váš zápis se tím stává nepřehledným pro další úpravu.
  • Mnohdy nad svým postupem nepřemýšlíte a jen zkoušíte, co to udělá. Kdyby jste se tak chovali v běžném životě, zřejmě by to pro vás skončilo katastroficky. Proto se nedivte, že vaše programy jsou občas zmatené a nedělají to, co by měli.
  • Opakovací test

    Testové otázky a úkoly opakovacího testu jsou obsaženy pouze v on-line verzi kurzu. Do textového souboru nelze zakomponovat dynamicky zpracované otázky s automatickým vyhodnocováním.

    1. Který z následujících zápisů zajistí, že komponenta Button1 nebude na formuláři vidět?
    bullet

    Button!.Enabled:=false;
    Button1.Visible:=false;
    Button1.Visible:=true;
    Button1:=false;

    2. Která z následujících přípon patří zdrojovému souboru s unitou?
    dcu
    prj
    dfm
    pas
    Shrnutí

    Nezapomínejte každý projekt ukládat do zvláštní složky.

  • Před zahájením práce na svém programu si udělejte rozbor problému a navrhněte nejvhodnější řešení.
  • Pište do svých programů poznámky a všechny použité grafické komponenty ihned po vložení do formuláře přejmenujte.
  • Neustále sledujte s jakou komponentou pracujete, ať omylem nezměníte vlastnosti jinému objektu.
  • Rejstřík

    button
    form
    label
    projekt Read more…

Tags:

  • 21Lis

    Vítejte ve WordPressu. Toto je váš první příspěvek. Můžete jej upravit nebo vymazat a začít s vlastním blogováním!

  •    

    WebZdarma.cz