Alle Beiträge von Klotzkopp
-
Overlapped I/O (was: CreateFile doppelt anwenden)
// nicht getestet HANDLE hSerial = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ); HANDLE hEvent = CreateEvent( NULL, FALSE, FALSE, NULL ); OVERLAPPED ol = {0}; ol.hEvent = hEvent; unsigned char pBuf[10]; DWORD dwBytesRead = 0; if( ReadFile( hSerial, pBuf, 10, &dwBytesRead, &ol ) ) { // alles klar } else { if( ERROR_IO_PENDING == GetLastError() ) { // warten if( WAIT_OBJECT_0 == WaitForSingleObject( hEvent, 200 ) ) { // Daten sind da } else { // timeout } } else { // Fehler } } [/PHP] Entscheident ist FILE_FLAG_OVERLAPPED beim CreateFile. Danach muss jeder Zugriff mit ReadFile oder WriteFile mit der Adresse einer OVERLAPPED-Struktur gemacht werden. Der einzige Teil der Struktur, der bei Kommunikationsressourcen gebraucht wird, ist der Event-Handle. Das Overlapped bewirkt, dass ReadFile sofort zurückkommt, egal ob Daten da sind oder nicht. Wenn dann Daten da sind, wird das Event gesetzt, dessen Handle in der OVERLAPPED-Struktur angegeben wurde. Auf das Event kann man mit WaitForSingleObject mit Timeout, hier 200 Millisekunden, warten.
-
Datum hochzählen!! Aber wie??
Du könntest eine Funktion schreiben, die das anhand des Monats und des Jahres ausrechnet. Das sollte das Problem doch schon lösen.
-
Overlapped I/O (was: CreateFile doppelt anwenden)
Nimm doch Overlapped I/O. Da kannst Du ein Event-Handle mitgeben, das gesetzt wird, wenn die Anweisung abgeschlossen wurde. Auf das Event kannst Du prima mit Timeout warten.
-
Overlapped I/O (was: CreateFile doppelt anwenden)
Laut MSDN ist sharing von Kommunikationsressourcen nicht möglich. Wofür brauchst Du denn zwei Handles auf denselben Com-Port?
-
CSC Ploenzke Einstellungstest
1. bist Du sehr ungeduldig. 2. sind Doppelpostings und Thread-Pushing hier nicht gern gesehen. 3. bist Du hier Off-Topic
-
Primzahlen + extra Bedingung
Und bis wohin läuft meine Schleife? Was das Optimieren angeht, hast Du natürlich Recht, aber es kam mir auf Verständlichkeit an, nicht auf Laufzeit.
-
Netzwerk Übertragungsrate
Nicht zwangsläufig. Wenn es mehr als zwei mögliche Signalstärken - Spannungen, Lichtintensitäten usw. - auf der Datenleitung gibt, dann kann pro "Signalstärkenwechsel" mehr als ein Bit übertragen werden. Allerdings ist mir kein Datenübertragungsstandard bekannt, der so etwas verwendet.
-
BeOS
Klotzkopp hat auf einen Beitrag in einem Thema geantwortet in News und Feedback zu Fachinformatiker.deFachliches, das sonst nirgendwo reinpasst, gehört ins Forum IT Allg./Literaturtipps IT-Berufe/BWL.
-
C++ & Odbc
Habs hier nur auf Englisch: Project->Settings->C/C++, Category "Code Generation": Unter "Use run-time library": "Debug Multithreaded" Und beim nächsten mal bitte gleich das richtige Forum
-
Primzahlen + extra Bedingung
Hier mein Beispiel, ohne Beschränkung auf zwei Faktoren: #include <stdio.h> int KleinsterTeiler( int nZahl ) { int nKT = nZahl; for( int i=2; i*i <= nZahl; i++ ) { if( 0 == (nZahl % i) ) { nKT = i; break; } } return nKT; } int main() { const int nMax = 100000; const int nKleinsterErlaubterTeiler = 100; int nStart = nKleinsterErlaubterTeiler * nKleinsterErlaubterTeiler; for( int i = nStart; i <= nMax; i++ ) { int nKT = KleinsterTeiler( i ); if( nKT >= nKleinsterErlaubterTeiler && nKT != i ) { printf( "%d\n", i ); } } return 0; } [/PHP]
-
Menü-Steuerung durch TastenCode
Hiermit getan. @ph-online: Es wäre hilfreich, wenn Du uns sagen würdest, auf welchem Betriebsystem und mit welchem Compiler/IDE Du arbeitest.
-
Wie funktioniert dreamrender
Ich vermute, dreamrender verwendet DirectX, und baut in alle Fenster, deren Hintergrund der "normale" Fensterhintergrund ist, einen Transparenzeffekt ein, durch den man das bildschirmfüllende Desktopfenster sieht. Wie gesagt, nur eine Vermutung
-
SQL Programmierung via iodbc unter linux und in c auch noch
Nach allem, was ich gefunden habe, ist iodbc keine API, sondern ein eigenständiges Programm. Das würde auch erklären, warum keine API-Doku oder Tutorials zu finden ist.
-
Taschenrechner
Lies doch einfach den Wert aus, multipliziere ihn mit -1, und schreib ihn wieder rein.
-
Problembericht bei XP
@oanes: Das Spiel stürzt nicht ab, weil XP einen Bericht senden will, XP will einen Bericht senden, weil das Spiel abstürzt. @SVEN EICHLER: Um die Berichte abzuschalten, braucht man kein Tool: Eigenschaften von System -> Erweitert -> Fehlerberichterstattung.
-
Netzwerk Übertragungsrate
AFAIK spricht man von Bit/KBit/MBit, wenn die Daten seriell übertragen werden (bzw. nicht so viele Bits parallel, dass man von Bytes sprechen könnte). Das beschränkt sich nicht auf den Netzwerkbereich, auch bei anderen seriellen Übertragungen spricht man von Bit, z.B. bei USB oder IEEE 1394.
-
Kontext Hilfe
Du willst simpel? CToolTipCtrl!
-
CTS abfragen und RTS setzten???
GetCommState und SetCommState werden Dir wohl weiterhelfen, vor allem die fOutxCtsFlow und fRtsControl-Member der struct DCB.
-
was geht mit der zeit
Kleine Auswahl: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=19177 http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=18689 http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=16715 http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=15304 http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=14864
-
Banner in email
Im "Neue Nachricht"-Fenster unter Format.
-
sql-Befehle unter Borland C++ Builder 5.0 nutzen
Falsches Forum, gehört hierhin: Compiler, IDEs, APIs zu C++
- Sos
-
kann mal jemand "übersetzen" ??
Die Zeit sollte sich schon ändern, nimm doch statt dessen mal xWert. Das macht keinen Sinn, ist das gleiche wie: yPos = Ergebnis * 5;
-
kann mal jemand "übersetzen" ??
Nur zu Ich schick Dir die E-Mail-Adresse als PM.
-
kann mal jemand "übersetzen" ??
Wenn Du mit "grafisch" etwas meinst, dass über das ausgeben von Sternchen mittels printf oder cout hinausgeht, dann ist das plattformabhängig, hat nichts mehr mit dem C/C++-Standard zu tun, und gehört demzufolge nach Compiler, IDEs, APIs zu C++