Problém v Delphi

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Pavelm
Začátečník
Začátečník
Uživatelský avatar
Registrován: 17. bře 2004
Bydliště: Frýdek - Místek

Problém v Delphi

Příspěvek od Pavelm »

Mám problém v Delphi. Jedná se o funkci MessageDlg.
Jelikož se chci naučit programovat v Delphi, tak podle jednoho návodu jsem ji chtěl zkusit vytvořit zkušební program, který měl při kliknutí na tl "Konec" zobrazit okno, kde dostanu na výběr možnosti Ano a Ne. Po stisku tl. Ano by se měl program ukončit. Ale pořád mi to píše nějaké chyby. Zkoušel jsem to různými způsoby, strávil jsem u toho problémů asi 2 hodiny a nevyřešil jsem to.. Tak mi prosím poraďte, kde jsem udělal chybu, díky...
Vím, že je to asi primitivní, ale neporadil jsem si s tím :(
Obrázek
AMD Athlon II X2 245 AM3 @3190Mhz, Gigybyte M55S-S3 - nForce550, 2x512MB GoodRAM 667Mhz Dual Ch.,
HDD160GB Hitachi SATA2, HDD80GB Samsung PATA, HDD320GB WD3200AAKS SATA2, HDD250GB WD2500JS SATA2,
GF 7300GT TOP 128MB DDR3, Zdroj 350W Fortron
3D Mark01 -19 124 bodů
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Problém v Delphi

Příspěvek od bubanek »

zkus

Kód: Vybrat vše

= mrYes then
nahradit za

Kód: Vybrat vše

= 1 then 
(nebo 0, teď nevím, jak to počítá)
Pavel.P.
Středně pokročilý
Středně pokročilý
Registrován: 28. lis 2005
Bydliště: UHB

Re: Problém v Delphi

Příspěvek od Pavel.P. »

Já osobně sem si programoval tázací okna sám, už jen kvůli tomu, že sem je mohl libovolně upravovat. Tím myslí to, že si vytvoř nový Formulář (čistě jen File -> New -> Form [nejsem si jistý cestou], nebo jen nový Dialog, který tam taky najdeš. Poté na formulář, který se ti vytvořil dáš dva buttony = ok, no a ještě label, kde budeš mít napsanou tu otázku, která se ti ptá na ukončení.
Jak to budeš mít, tak na ok poklikáš a napíšeš form1.close a pak jdeš na no a napíšeš jen close nebo tlačítku přiřadíš metodu Cancel.
Poté skoč na hlavní form a v objectu inspector najdi OnClose a dej tam volat tvůj zavírací dialog -> MůjZavíracíDialog.Show nebo MůjZavíracíDialog.ShowModal;
Chápeš co sem ti chtěl napsat? :mrgreen:

...
Pavelm
Začátečník
Začátečník
Uživatelský avatar
Registrován: 17. bře 2004
Bydliště: Frýdek - Místek

Re: Problém v Delphi

Příspěvek od Pavelm »

Pavel.P. píše:Já osobně sem si programoval tázací okna sám, už jen kvůli tomu, že sem je mohl libovolně upravovat. Tím myslí to, že si vytvoř nový Formulář (čistě jen File -> New -> Form [nejsem si jistý cestou], nebo jen nový Dialog, který tam taky najdeš. Poté na formulář, který se ti vytvořil dáš dva buttony = ok, no a ještě label, kde budeš mít napsanou tu otázku, která se ti ptá na ukončení.
Jak to budeš mít, tak na ok poklikáš a napíšeš form1.close a pak jdeš na no a napíšeš jen close nebo tlačítku přiřadíš metodu Cancel.
Poté skoč na hlavní form a v objectu inspector najdi OnClose a dej tam volat tvůj zavírací dialog -> MůjZavíracíDialog.Show nebo MůjZavíracíDialog.ShowModal;
Chápeš co sem ti chtěl napsat? :mrgreen:
Chápu, dokonce jsem to zkoušel a vono to funguje :wink: díky za tip, alespoň znám další užitečný fígl..

bubanek píše:zkus

Kód: Vybrat vše

= mrYes then
nahradit za

Kód: Vybrat vše

= 1 then 
(nebo 0, teď nevím, jak to počítá)
zkoušel jsem a napsalo to tu samou chybu..
Je možné, že v různých verzích(starších a novějších) delphi se určité kódy píšou trochu jinak, tak možná proto mi to nebere... Ale snad časem zjistím kde byla chyba. :)
AMD Athlon II X2 245 AM3 @3190Mhz, Gigybyte M55S-S3 - nForce550, 2x512MB GoodRAM 667Mhz Dual Ch.,
HDD160GB Hitachi SATA2, HDD80GB Samsung PATA, HDD320GB WD3200AAKS SATA2, HDD250GB WD2500JS SATA2,
GF 7300GT TOP 128MB DDR3, Zdroj 350W Fortron
3D Mark01 -19 124 bodů
Pavel.P.
Středně pokročilý
Středně pokročilý
Registrován: 28. lis 2005
Bydliště: UHB

Re: Problém v Delphi

Příspěvek od Pavel.P. »

Večer jak budu mít čas, tak se ti na to mrknu, ale myslím, že funkci jsem nepsal do těla programu pod proceduru. Napiš jí do sekce PUBLIC. Tu funkci zcela vynech ;) A zkopíruj sem prosím celý výpis chyb a tvůj kod pro to okno dialogvové, jak jej voláš. Díky.

...
Pavelm
Začátečník
Začátečník
Uživatelský avatar
Registrován: 17. bře 2004
Bydliště: Frýdek - Místek

Re: Problém v Delphi

Příspěvek od Pavelm »

Pavel.P. píše:Večer jak budu mít čas, tak se ti na to mrknu, ale myslím, že funkci jsem nepsal do těla programu pod proceduru. Napiš jí do sekce PUBLIC. Tu funkci zcela vynech ;) A zkopíruj sem prosím celý výpis chyb a tvůj kod pro to okno dialogvové, jak jej voláš. Díky.
sry, že jsem neodepsal dříve, protože jsem teď poslední dobou docela zaneprázdněn..
Problém jsem už velice jednoduše vyřešil..
stačilo smazat toto:

Kód: Vybrat vše

function MessageDlg(const Msg: string;
    mtInformation: TMsgDlgType;
    mbYes,mbNo: TMsgDlgButtons;
    HelpCtx: Longint): Word;
A pak už to fungovalo. :D
AMD Athlon II X2 245 AM3 @3190Mhz, Gigybyte M55S-S3 - nForce550, 2x512MB GoodRAM 667Mhz Dual Ch.,
HDD160GB Hitachi SATA2, HDD80GB Samsung PATA, HDD320GB WD3200AAKS SATA2, HDD250GB WD2500JS SATA2,
GF 7300GT TOP 128MB DDR3, Zdroj 350W Fortron
3D Mark01 -19 124 bodů
Pavel.P.
Středně pokročilý
Středně pokročilý
Registrován: 28. lis 2005
Bydliště: UHB

Re: Problém v Delphi

Příspěvek od Pavel.P. »

Já sem si říkal, že sem to nepsal jako funkci :)

...
Odpovědět

Zpět na „Programování a web“