anoniem Geplaatst: 16 november 2003 Delen Geplaatst: 16 november 2003 Hey, ik wil nu een clock in mijn programma plaatsen, dioe gewoon blijft lopen (en dat moet je dan ook zien), maar ondertussen moet het programma wachten tot een toets wordt ingedrukt. Hoe doe ik dat? Ik heb echt geen idee hoe ik dat wil doen... Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 Threads is het magische woord :) Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 [quote:64f0ac53f6="turbo-pascal"]Hey, ik wil nu een clock in mijn programma plaatsen, dioe gewoon blijft lopen (en dat moet je dan ook zien), maar ondertussen moet het programma wachten tot een toets wordt ingedrukt. Hoe doe ik dat? Ik heb echt geen idee hoe ik dat wil doen...[/quote:64f0ac53f6] Threads en wachten tot er een toets wordt ingedrukt met kbhit() if(kbhit()) { break; } Voor treaths probeer google Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 njaah, bedankt voor de info maar het gaat mij hier om pascal maar aangezien dat hier erg weinig (meer) gebruikt wordt is woordenuitleg prima! -TP, sorry maar ik weet wat break betekent (onderbreking van een loop) maar met dat mini stukje code ??? (mijn taal is niet C++ :cry: ) btw staat jouw naam voor de afkorting van mijn naam? (turbo-pascal = tp :D) -Andreas, en wat is een thread? Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 [quote:3778f8f5b2="turbo-pascal"]njaah, bedankt voor de info maar het gaat mij hier om pascal maar aangezien dat hier erg weinig (meer) gebruikt wordt is woordenuitleg prima! -TP, sorry maar ik weet wat break betekent (onderbreking van een loop) maar met dat mini stukje code ??? (mijn taal is niet C++ :cry: ) btw staat jouw naam voor de afkorting van mijn naam? (turbo-pascal = tp :D) -Andreas, en wat is een thread?[/quote:3778f8f5b2] Ik bedoel dit: while (TRUE) { if (kbhit()) { break; } } als je een toest raakt dan gaat hij uit de while lus. Moet denk ook wel in pascal werken (denk :lol: ) Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 [quote:d800d56b43="turbo-pascal"]Andreas, en wat is een thread?[/quote:d800d56b43]Weleens van Google of zo gehoord? Een klein beetje eigen inzet is toch niet teveel gevraagd? Quote Link naar reactie
anoniem Geplaatst: 16 november 2003 Auteur Delen Geplaatst: 16 november 2003 Een thread is letterlijk een draad, elk programma is voor Windows een thread. In zo'n thread kan je één ding tegelijk doen, met meerdere threads kan je meerdere dingen tegelijk doen. Ik programmeer al jaren met Pascal, maar ben het oude command-line Pascal zo verleerd dat ik je geen code kan geven. Er staat vast wel vanalles op het Internet hierover. Het zou zelfs kunnen dat threads niet in Turbo Pascal bestaan, maar dit kan ik mis hebben. kbhit is volgens mij geen Pascal functie, hiervoor wordt KeyPress gebruikt. Deze wacht op een toetsaanslag en dan gaat het programma verder. Eerst de thread starten, daarna KeyPress aanroepen, vervolgens de thread stoppen en het programma laten stoppen. Ik betwijfel trouwens of threads wel kunnen in Pascal, maar zoals Pieter al zei moet je hier zelf ff info over zoeken. Anders zal je het in Delphi moeten doen, wat ook erg mooi is 8) Quote Link naar reactie
anoniem Geplaatst: 17 november 2003 Auteur Delen Geplaatst: 17 november 2003 Als je voor Windows programmeert (ik zag een andere post van je), is er een WM_TIMER event waarop je kunt controleren in de message loop. Timer opzetten om bv iedere seconde een event te genereren en die afvangen. Geen threads voor nodig in dit geval. Quote Link naar reactie
anoniem Geplaatst: 17 november 2003 Auteur Delen Geplaatst: 17 november 2003 [quote:c0d6610900="Wim Sturkenboom"]Als je voor Windows programmeert (ik zag een andere post van je), is er een WM_TIMER event waarop je kunt controleren in de message loop. Timer opzetten om bv iedere seconde een event te genereren en die afvangen. Geen threads voor nodig in dit geval.[/quote:c0d6610900] Maar hij programmeert niet voor Windows :wink: En al zou WM_TIMER werken, dan moet je het programma draaiende houden en dat kan niet met een timer, wel met een loop. Quote Link naar reactie
anoniem Geplaatst: 17 november 2003 Auteur Delen Geplaatst: 17 november 2003 Ik programeer NU wel voor windows hoor meneer Stoking :lol: Wim had het hier bij het juiste eind, en ik zal wm_timer proberen... Quote Link naar reactie
anoniem Geplaatst: 17 november 2003 Auteur Delen Geplaatst: 17 november 2003 [quote:a2431c3fd6="turbo-pascal"]Ik programeer NU wel voor windows hoor meneer Stoking :lol: Wim had het hier bij het juiste eind, en ik zal wm_timer proberen...[/quote:a2431c3fd6] Stokking is het kerel :wink: Owke, maar je gebruikt Turbo Pascal... Je programmeert wel voor Windows maar niet in Delphi maar command-line en dat bedoel ik met DOS meneer Pascal 8) Quote Link naar reactie
anoniem Geplaatst: 19 november 2003 Auteur Delen Geplaatst: 19 november 2003 Excuses heer Sto[b:246d175fd7]kk[/b:246d175fd7]ing (voor het foruspellen van uw/je naam), BTW commandline is geen DOS. Maar oke . Ik ben Delphi 6 en 7 aan het downlaoden (wellewaar illegaal maar oke) Ik kijk wel welke het eerste klaar is. Wat is de nieuwste Delphi IDE/compiler ? Quote Link naar reactie
anoniem Geplaatst: 19 november 2003 Auteur Delen Geplaatst: 19 november 2003 Nieuwste Delphi is nummero 7, maar dit jaar komt Delphi 8 nog. Command-line programma's werken als het goed is ook onder DOS, dus dat bedoel ik met voor DOS programmeren :) Quote Link naar reactie
anoniem Geplaatst: 2 februari 2004 Auteur Delen Geplaatst: 2 februari 2004 [quote:44a50e6dd9="Johan Stokking"]Command-line programma's werken als het goed is ook onder DOS, dus dat bedoel ik met voor DOS programmeren :)[/quote:44a50e6dd9]Ja dat mocht je willen ! Alleen echte DOSprogramma's werken onder DOS ! :D Quote Link naar reactie
anoniem Geplaatst: 4 februari 2004 Auteur Delen Geplaatst: 4 februari 2004 Als je voor een Dos omgeving had gewerkt had je gewoon de timer interrupt (BIOS, 0x01C) kunnen afvangen, die komt 18,2 keer per seconde. Denk dat zoiets ook wel lukt onder Pascal. Het beste kun je dan een TSR (Dos, interrupt 0x31) maken die je weer afsluit wanneer je je eigen programma afsluit. Onder Windows is het een WM_TIMER event waar je op kan letten. Commandline programma's die gemaakt zijn met een 16 bit compiler werken prima onder Dos, maar als de compiler 32 bits code genereert dan zul je met Dos extenders moeten werken wil je ze onder Dos kunnen draaien. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen