Borland c++ Multitaskin unter WinXP
-
Hi,
ich hab mein Telefon mit meinem PC verkabelt und will immer wenn cih einen Anruf bekomme eine kleine Nachricht auf dem Bildschirm erhalten die automatisch nach ende des Anrufes wieder erlischt.
Button 1
....
do
{
i=LptPortIn (LPT1,1); // Diverse Bits einlesen
Label1->Caption=i;
}
while(stop!=1);LptExit(); // Treiber deinitialisieren
}
....
Button 2
....
stop = 1 ;
....so ungefähr sieht das bei mir aus allerding läuft das nciht so wie ich es unter Dos gewöhnt bin ... das Programm hängt sich einfach auf ...
meine frage: ich bräuche nen code der die funktion LptPortIn sändig überprüft mir den rückgabe wert in i speichert und sobalt dieser einen gewissen wert annimt sollte eine kleine box unten am bildschrim erscheinen die nach ein par sekunden sich wieder versteckt ( =
vieleicht könnt ihr mir ein par links geben auf dem ich das nachlesen kann oder sowas ( 0
ich weiß leide rnicht was ich in google suchen soll
vielen dank
MArtin
-
Schau mal in der Hilfe nach TThread. Das würde sich dafür am besten eignen.
-
Was ist denn dieses LptPortIn für eine Funktion? Bremst diese Schleife nicht die CPU total aus?
-
jap ( = 100% cpu last mir würde es aber auch reichen wenn sie jede 100-500ms aufgerufen wird dann bau ich noch nen kondensator in die schaltung ....
-
Würde da nicht ein Timer reichen?
-
Habs mit Sleep probiert ... so wie ich es unter Dos gemacht hab ... die sache ist unter Windows hängt das Program ... und ich kann es mit dem andern Butten nicht abschalten noch bekomme ich eine ausgabe in Lablel1
-
Sleep hält das gesammte Programm an. Das es nicht reagiert, ist logisch.
WebFritzi hat recht: Nimm einen Timer.
-
wie jetz ? ne nur spass mir fälts wieder ein hab den timer sogar in der schule gehabt ... )=
vielen dank
meine nächste frage wäre wie ich eine kleine box z.b unten rechts am bildschrim anzeigen lasse und zwar so das sie in der vordergrund rückt aber ohne aktiv zu werden z.b das man in word weiterschreiben kann ohne erst wieder auf word zu klicken ... ich hatte sowas im sinn wie icq online alert oder msg sign in ...
Grüße
Martin
-
also hab das jetz mit visible gemacht nciht grad die geilste lösung aber das geht schon so ... hätte noch einer ne idee wie ich das ganze nicht als aktives fenster starte sonder im vordergrund passiv ?
-
würde das mit __property bool Active = fals funktionieren ? wo müsste diese antweisung hin ?
-
Martin123 schrieb:
while(stop!=1);
LptExit(); // Treiber deinitialisieren
}Hi,
einApplication->ProcessMessages();in der while Schliefe soll da Wunder wirken.
Mit nem Timer geht's natürlich auch...
MfG
AlexanderS
-
i=LptPortIn (LPT1,1); // Diverse Bits einlesen
//Label1->Caption = i;
Danke ...
Timer schon drine ( =
Timer:if (i==95)
{
call=5;
Form1->Visible=true;
}if (call>=0)
call-- ;if (i==127)
{
if(call<=0)
Form1->Visible=false;}
LptExit();
}