Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 08.10.07
Prihlásený: 22.11.10
Príspevky: 70
Témy: 30
Bydlisko: Myjava
Príspevok NapísalOffline : 07.08.2009 21:24

Kde by sa dalo najst nieco ako zhrnutie vsetkych podporovanych prikazov pre DELPHI 7 ?
Pripadne aj ku kazdemu strucne vysvetlenie.


Online

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 12.10.06
Prihlásený: 23.04.24
Príspevky: 20311
Témy: 79
Bydlisko: Banska Byst...
Príspevok NapísalOnline : 08.08.2009 10:48

v helpe k delphi samotnemu.







_________________
Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Patriot Viper 4 Blackout 16GB DDR4-3600 CL17 | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 24" BenQ GW2470H | 3x Noctua NF-S12B redux 1200 PWM
Xiaomi Mi 9 Lite 64GB
Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 08.10.07
Prihlásený: 22.11.10
Príspevky: 70
Témy: 30
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 09.08.2009 11:15

shiro píše:
v helpe k delphi samotnemu.


Ale ja by som chcel nieco ako tabulku so vsetkymi prikazmi.


Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.08.2009 20:26

Príkazy? Príkaz je aj x:= 10; :rolleyes:
Zrejme si myslel funkcie. Bežne používaš API funkcie a potom funkcie z štandardných unitov (IntToStr, ShowMessage, a pod.) . Tieto funkcie (za funkcie považujem aj procedúry a properties zapuzdrené v triedach) sú, ako už shiro spomenul, v Delphi nápovede. API funkcie sa nachádzaju v súbore nápovedy C:\Program Files\Common Files\Borland Shared\MSHelp\WIN32.HLP.


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 26.11.06
Prihlásený: 02.09.15
Príspevky: 24
Témy: 3
Bydlisko: Snina
Príspevok NapísalOffline : 11.08.2009 22:30

ja dost casto cerpam z http://www.delphibasics.co.uk/index.html
je to tam vsetko krasne vysvetlene


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 08.10.07
Prihlásený: 22.11.10
Príspevky: 70
Témy: 30
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 12.08.2009 9:46

Fico píše:
Príkazy? Príkaz je aj x:= 10; :rolleyes:
Zrejme si myslel funkcie. Bežne používaš API funkcie a potom funkcie z štandardných unitov (IntToStr, ShowMessage, a pod.) . Tieto funkcie (za funkcie považujem aj procedúry a properties zapuzdrené v triedach) sú, ako už shiro spomenul, v Delphi nápovede. API funkcie sa nachádzaju v súbore nápovedy C:\Program Files\Common Files\Borland Shared\MSHelp\WIN32.HLP.


No myslel som funkcie zo štandardných unitov, a v tej napovede su aj niekde zhrnute?


Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 12.08.2009 18:04

Je to riadne abecedný zoznam funkcií, dátových typov, kľúčových slov, direktív, atď. V Delphi len klikni na ikonu knižky a zadaj názov funkcie.
Ale toto isté nájdeš na stránke od martin.007 a myslím, že tam je to oveľa viac prehľadnejšie. Ďakujem aj ja za stránku, martin.007, to sa určite raz bude hodiť.


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 15.09.2009 0:33

Ahoj, nechcem kvoli tomuto zakladat novu temu. Mam zadane taketo prikazy, podmienky:

f := StrToInt (Edit1.Text);
if f > 10940 then
Application.Terminate;


Obmedzenie je tam kvoli tomu, ze pri vyssich cislach to velmi zatazuje CPU. Ked zadam do Edit1 cislo 12 000 tak sa program vypne. Ale ak zadam 100 000 tak zacne pocitat, respektive pracovat (a tam to uz zatazi procesor a samozrejme, ze to nereaguje a tak.)
Takze, preco pri tych 100 000 to zacne pracovat, ked sa ma vypat?
Osobne si myslim, ze kym sa vypne ten program, tak ono zacne uz pocitat a kedze to vtedy nereaguje tak sa to nevypne. Keby aspon nejaky prikaz, aby po tej podmienke pockalo 100ms :)







_________________
Moj PC: Intel core 2 duo (2,66 ghz), nvidia 8600 512mb, 2gb Ram 800Mhz Corsair, 500gb HDD
Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 15.09.2009 8:14

Nepochopil som, aký je presne problém (trebalo dať viac kódu), ale skúsim odpovedať na niektoré otázky:

Draco píše:
Ale ak zadám 100 000 tak začne počítať

Tak toto mi akosi nepasuje. Podľa podmienky if to nepripadá v úvahu. Akého typu je premenná f ? Ak je číslo 100000 zadané korektne (bez medzier), tak sa program musí ukončiť.

Draco píše:
nejaký príkaz, aby po tej podmienke počkalo 100ms

API funkcia sleep:
procedure Sleep(MiliSecValue : cardinal);

Ešte jedna pomôcka: Ak sa v programe vykonáva operácia náročná na čas a kvôli nej aplikácia potom "zatuhne", zvykne sa do tejto operácie pridávať procedúru Application.ProcessMessages.


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 15.09.2009 10:51

No tu je teda dlhsi kod :)

procedure TForm1.Button1Click(Sender: TObject);
var
cislo, pocet, y, f, i, x, j: Integer;
begin
f := StrToInt (Edit1.Text);
y := 10;
x := 10;
if f > 11000 then
Application.Terminate;
for cislo := 1 to f do
begin

A potom vlastne zacina pocet cyklov na zaklade toho cisla. Ak chces tak poslem aj cely kod, je to iba obycajny vyhladavac prvocisiel a potom ich vypisuje do plochy (ucim sa).
Ta procedura sleep sa ako pouziva? Napisem ju ako proceduru (ako si napisal) a potom ju pouzivam ako aj ine pomocne procedury? Napriklad, ze by som to umiestnil za tu podmienku asi v takomto tvare?: sleep(100);

Alebo, naco je dobra ta druha procedura?:)







_________________
Moj PC: Intel core 2 duo (2,66 ghz), nvidia 8600 512mb, 2gb Ram 800Mhz Corsair, 500gb HDD
Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 15.09.2009 13:01

Áno, presne v takom tvare sa používa. Čiže ak treba čakať napríklad 200 ms, tak sa to zapíše takto:
Kód:
sleep(200);

Application.ProcessMessages spracuje správy windows (windows messages). To znamená, že počas výpočtu sa s oknom bude dať hýbať, stláčať tlačídlá atď. V skratke - zabráni sa zatuhnutiu počas počítania.


Skús upraviť svoj kód podľa tohto + pridaj si svoj výpočet, do ktorého je pridaný riadok Application.ProcessMessages:

Kód:
procedure TForm1.Button1Click(Sender: TObject);
var
  cislo, pocet, y, f, i, x, j: integer;
begin

  Button1.Enabled:= false;

  try
    f:= StrToInt (Edit1.Text);
  except
    ShowMessage('Nesprávne zadané číslo.');
    Button1.Enabled:= true;
    Exit;
  end;

  y:= 10;
  x:= 10;
  if (f > 11000) then begin
      ShowMessage('Príliš veľké číslo!');
      Exit;
  end;

  for cislo:= 1 to f do begin

    (* ... výpočet ... *)

    Application.ProcessMessages;
  end;

// koniec procedury

  Button1.Enabled:= true;

end;


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 15.09.2009 13:33

Funguje to super, ked zadam velke cislo tak zobrazi tu spravu :) Tak pekne som si to ani nepredstavoval :)

Este som sa chcel spytat, ze kedy vypise tuto spravu, respektive kedy bude tato podmienka splnena? (aby som to vedel v buducnosti pouzit)
Kód:
 try
    f:= StrToInt (Edit1.Text);
  except
    ShowMessage('Nesprávne zadané číslo.');
    Button1.Enabled:= true;
    Exit;







_________________
Moj PC: Intel core 2 duo (2,66 ghz), nvidia 8600 512mb, 2gb Ram 800Mhz Corsair, 500gb HDD
Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 15.09.2009 14:12

Try / except blok (prípadne try / finally) sa používa na ošetrenie chýb. Ak sa v bloku try vyskytne chyba, tak programátor môže pekne túto chybu ošetriť (napríklad zobrazením chybovej správy).
V našom prípade, ak dôjde k chybe počas konverzie reťazca na číslo (StrToInt), vykoná sa blok except. Môžeš skúsiť namiesto čísla napísať nejaký znak a vyhodí chybové hlásenie. Ak je konverzia úspešná, blok except sa nevykoná.

(Odporúčam stiahnuť seriál Umíme to s Delphi, ktorý je myslím skvelý na začiatok a sú v ňom pekne a zrozumiteľne vysvetlené základné funkcie a komponenty. Je tam aj spomenutý blok try/except)


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 15.09.2009 14:29

To viem, avsak kedy je konverzia na cislo neuspesna? Pretoze, ak napisem do Edit1 napr. 100 000 (s medzerou) alebo nejaky text tak vyhodi systemovu chybu (alebo ako to nazvat). Avsak, podla mna by malo napisat, ze bolo Nespravne zadane cislo - teda vykonat except :)


(dakujem, skusim to stiahnut ;) )


Offline

Skúsený užívateľ
Skúsený užívateľ
prikazy v Delphi

Registrovaný: 11.01.09
Prihlásený: 22.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 15.09.2009 14:40

Áno, vyhodí to systémovú chybu, ale iba ak spúšťaš projekt z Delphi. Potom ak stlačíš F9, program pokračuje a zobrazí sa naša chybová hláška. Ak spustíš priamo svoju aplikáciu z miesta, kde je skompilovaná (tzn nie z Delphi debuggera), tak sa zobrazí iba naša chybová hláška.


Offline

Užívateľ
Užívateľ
prikazy v Delphi

Registrovaný: 03.01.08
Prihlásený: 26.01.23
Príspevky: 185
Témy: 31
Príspevok NapísalOffline : 15.09.2009 14:48

Ano, tak to uz funguje.
Vdaka za pomoc, toto budem vyuzivat celkom casto :)


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. delphi zapis cisla do editu v delphi

v Delphi, Visual Basic

3

1107

11.05.2008 12:02

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WIN98-instalacia-prikazy

v Operačné systémy Microsoft

14

665

25.08.2006 14:27

p55p Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vsetky prikazy ubuntu

v Operačné systémy Unix a Linux

2

1495

23.07.2009 17:36

Snacker Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. AT prikazy na Xperiu

v Smartfóny a tablety

0

307

04.05.2012 15:07

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Základné príkazy v Linuxe

v Články

2

5889

30.05.2008 21:33

zmija31 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Základné linuxové príkazy na pozadie

v Operačné systémy Unix a Linux

1

581

30.01.2010 15:33

_FleXoR_ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 2 prikazy sql do jedneho

v PHP, ASP

11

645

17.02.2008 15:40

middlesboro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi 7

v Ostatné programy

3

286

08.10.2013 19:11

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi class

v Delphi, Visual Basic

1

791

10.09.2009 16:35

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi TreeView

v Delphi, Visual Basic

3

654

07.05.2011 21:35

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] komponent

v Delphi, Visual Basic

21

1885

16.03.2010 17:05

zy-zy-zyrixi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Delphi

v Delphi, Visual Basic

2

875

18.06.2010 14:36

Manny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] Okno

v Delphi, Visual Basic

6

687

15.01.2010 21:42

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi - taby

v Delphi, Visual Basic

2

949

26.06.2009 13:49

LordMMX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odmocnina (delphi)

v Delphi, Visual Basic

4

965

13.01.2012 15:47

jucho29 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] klavesy

v Delphi, Visual Basic

15

2060

06.02.2010 13:04

Fico Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra