Kezdőoldal » Számítástechnika » Programozás » Hogy tudnám megnövelni a...

Hogy tudnám megnövelni a delay "méretét"? (Free Pascal)

Figyelt kérdés
Azt szeretném megcsinálni, hogy a program elején bekérje az órát, időt, másodpercet, majd ennyi idő múlva kikapcsoljon a gép. Annyi a probléma, hogyha már egy órát is megadok, akkor valami 201-es hibával kidob. Azt értelmeztem, hogy a delay nem lehet egy bizonyos értéknél nagyobb, mivel úgy tudom, hogy a delay az ezred másodpercekben "mér". Hogy lehetne ezt pl. másodperce állítani? (h,s,m változók. h:=h*3600|m:=m*60|s|ezeket összeadom, és berakom a delayhoz. |Delay(valtozo). Szóval ötletek?

2014. febr. 11. 18:14
1 2
 1/16 anonim ***** válasza:
ezt delphibe értelmesebb lenne megcsinálni, a timert erre találták ki. mp=ezredmp/1000
2014. febr. 11. 18:17
Hasznos számodra ez a válasz?
 2/16 A kérdező kommentje:
És pascalban?
2014. febr. 11. 18:22
 3/16 anonim ***** válasza:
sehogy, túl nagy számnál szerintem túlcsordulna a delay
2014. febr. 11. 18:26
Hasznos számodra ez a válasz?
 4/16 anonim ***** válasza:

[link]

word típusú változó

2014. febr. 11. 18:27
Hasznos számodra ez a válasz?
 5/16 zsomkovacs ***** válasza:

Én alapvetően nem Pascalban csinálnám, de ha ragaszkodsz hozzá (remélem, jó lesz, nagyon rég programoztam Pascalban):


Procedure DelayEx(waitTime: Word)

Var

  currentWaitTime: Word;


Begin

  currentWaitTime:=waitTime;


  While (currentWaitTime>30) Do

  Begin

    currentWaitTime:=currentWaitTime-30;

    Delay(30000);

  End;


  Delay(1000*currentWaitTime);

End;


Ennek megadhatod másodpercben a várakozási időt (most max. 65535 másodperc), addig vár, aztán visszaadja a vezérlést a hívó eljárásnak.

2014. febr. 11. 18:28
Hasznos számodra ez a válasz?
 6/16 A kérdező kommentje:
Köszönöm.!
2014. febr. 11. 18:30
 7/16 anonim ***** válasza:
hát igen de ez is max 18,2 órára jó ugyanis ennyit lehet tárolni.
2014. febr. 11. 18:36
Hasznos számodra ez a válasz?
 8/16 zsomkovacs ***** válasza:
Rettenetes. :D Nem túl gyakran van szükségem arra, hogy Pascalban írt programmal több, mint 18,2 órát várakozzak... De a "Word" szavakat át lehet írni LongInt-re, akinek pedig a több, mint 2 milliárd másodperc várakozás nem elég, ír jobbat.
2014. febr. 11. 18:40
Hasznos számodra ez a válasz?
 9/16 iostream ***** válasza:
Persze mégegyszerűbb, ha nem szüttyögsz számokkal, hanem rábízod a környezetre. [link] szerint a SysUtils.ExecuteProcess alkalmas erre például.
2014. febr. 11. 18:42
Hasznos számodra ez a válasz?
 10/16 A kérdező kommentje:
Most ha hülyének néztek ha nem, valamiért nem megy. Beírom percnek az 50-t, és már nem megy. Pedig longint-re van rakva? Mi a franc baja lehet?
2014. febr. 11. 20:52
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!