Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- MasterDeeJay: i7 4980HQ asztali gépben, újabb kínai csoda.
- leslieke: leslieke farmerzsebe
- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT

Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
emitter
#1323
üzenetére
azt mondtad h szedjem ki a temp_failure-t, hát kiszedtem, de így meg a select ha jól látom, nem is hívódik meg sehol
Persze, mert azt is kiszedted
Talán azt hagyd benne, a return-nel egyetemben.
return select (FD_SETSIZE, &set, NULL, NULL, &timeout));
Már most nem tudom hogyan magyarázzam, ha az elõzõt nem értetted.
Na még egy próba.
Nézzük onnan, hogy mit szeretnél:
1. Ha a felhasználó megnyom egy gombot, akkor arra reagálni akarsz.
2. Másodpercenként kiírni az idõt.
3. Közben nem terhelni a processzort.
A 3. pont miatt meg kell mondani az operációs rendszernek, hogy az 1. és 2. események bekövetkeztekor fusson a progi. Ezt például a select függvénnyel lehet, ami azt tudja, hogy figyel tetszõleges számú fájlleírót megadott ideig. Billentyûleütés akkor van, ha a stdin fájlból van mit olvasni. Ezt szépen meg lehet adni a select-nek. Sajnos azt viszont nem tudja, hogy másodpercenként térjen vissza akkor is ha nincs billentyûleütés, csak várakozási idõt lehet neki megadni. Ezért a 2. pontot kicsit át kell fogalmazni, mégpedig úgy, hogy nem azt mondod, hogy másodpercenként, hanem azt, hogy a következõ másodpercig. Ezt pedig úgy csinálod, hogy minden frissítésnél illetve a select meghívása elõtt lekéred az idõt (a gettimeofday függvénnyel, mert kell a pontosság!) és a timeout értéket ebbõl számolod, értelemszerûen: timeout = elõzõ frissítés + 1mp - aktuális idõ.
A select visszatérési értéke elárulja, hogy az 1. vagy a 2. feltétel következett-e be, vagyis a felhasználó megnyomott egy gombot (ekkor getch() és eseménykezelés) vagy pedig a várakozási idõ járt le (ekkor idõ frissítése kell.).
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen TV-t vegyek?
- Az igazi Nokia örökébe lép egy legendás európai okostelefon
- Házimozi belépő szinten
- Chieftec-Prohardver nyereményjáték
- Nem akármilyen módon ugrik rá a memóriapánikra a Valve
- Xiaomi 15T Pro - a téma nincs lezárva
- Battlefield 6
- Vezeték nélküli fülhallgatók
- Formula-1
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- Okosóra felvásárlás!! Samsung Galaxy Watch 6, Samsung Galaxy Watch 7, Samsung Galaxy Watch Ultra
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

Talán azt hagyd benne, a return-nel egyetemben.
