hi, also in deinem quelltext sind einige fehler enthalten.... du musst nicht den kompletten pfad beim importieren von dateien angeben dafür gibt es z.B "class.h"... darüber hinaus werden immer nur interfaces importiert und nie dir implementation => nie *.cpp Dateien.. Weiterhin solltest du das Interface immer von der Implementation trennen, es sei denn du möchtest die methoden implizit inline deklarieren.... Es reicht auch in der .h Datei den namensraum zu öffnen dadurch ist der Namensraum ebenfalls der implementation bekannt. Eigentlich sollte man den Namensraum aber nie global öffnen da es schnell zu missverständnissen beim compiler kommen kannn.. Ändere vielleicht erst mal die sachen und vielleicht läuft dann + das const dein programm...
bis denne dohan
The _cputs function writes the null-terminated string pointed to by string directly to the console. A carriage return?linefeed (CR-LF) combination is not automatically appended to the string.
Die sollten am Schirm sein
Nimm weiter cout , ist Standard, C++-Stream-Based und leichter zu handhaben.
Sehe keinen Grund cputs() zu verwenden. Wenn ich die Konsole schon direkt beschreiben will, dann mit WriteConsole() bzw. WriteConsoleOutput().
MfG SideWinder
hallo
das ist kein fehler im compiler.. nur lass dich auf die tatsache ein, daß alle compiler, die was auf sich halten, den standard fahren, aber alles über den standard hinaus ist oft compilerspezifisch.
mein djgpp kann sowas wie du da oben machen willst (mit ein paar anderen funktionsaufrufen), das studio kann es so wie oben, wenn es der devcpp nicht kann, liegt es an der ausrichtung des compilers.
die conio.h kann unterschiedlich aussehen, denn: sie ist KEIN standard.
nimm einfach eine schülerversion des studios, dann funzt dein programm.
bye
Fein, funktioniert. Danke! Hatte beim einbasteln interessanten Effekt: bei Funktionsaufruf direkt nach simuliertem ALT-ENTER (über keybd_event-Fkts; aus einem der Konsolen-Threads gekupfert) war der Mauspömpel im nächsten aufgebauten Screen noch vorhanden, im darauf folgenden endlich ausgeblendet. Ein unpeppiges Sleep(500); dazwischen behob den Effekt, DisableMouse(); VOR dem ALT-Enter tuts auch.
Nicht, das ich wirklich Ahnung davon hätte, aber kann es sein, dass sich das Umschalten in den Fullscreen und abklemmen der Maus zeitlich in die Quere kommen?
Unter anderem deswegen die Folgefrage: wie prüfe ich ab, ob sich das Programm bereits im Vollbildschirmmodus befindet?
Aha du speicherst also den Bildschirminhalt und gibst ihn danach wieder aus. Das funktioniert sicher unter DOS, aber bei neueren Betriebssystemen wirst du da Schwierigkeiten haben. Die geben dir nämlich nicht so einfach den Zugriff auf irgendwelchen Speicher frei.
Hallo zusammen!
habe ein Ping-Beispiel aus eurem Forum nachgebaut und es hat funktioniert, aber erst dann, nach dem ich das kompillierte Programm mit Administratorrechten gestartet habe. Ansonsten wurde immer bei
sendto
die Fehlernummer 10013 ausgegeben, welche einen Zugriffsfehler bedeutet.
Wie kann man das Socket für Hauptbenuter des Systems zugänglich machen?
Gruß
Russak
system? Das ist es nicht!
- extremst langsam
- konsolenabhängig
- die Konsole bewertet den String "cls" - kann sein, dass die Software im nächsten Windows nicht mehr funktioniert
etc.
Also lieber mal in die FAQ schauen. Wenn du die <windows.h> sowieso includet hast kannst du auch gleich die Improved Console benützen!
Einmal noch ein Wort zu system("cls")...
MfG SideWinder
Du kannst die Datei öffnen (die kleinste Einheit die du aus Dateien lesen kannst sind Bytes). Liest jeweils 1 Byte aus und rechnest es ins Binärsystem um.
Oder liegen die Probleme beim Umrechnen vom Dezimalsystem ins Binärsystem?
MfG SideWinder
bei accept solltest du wohl einen anderen socket verwenden, sonst ist der andere müll! accept gibt den _neuen_ socket zurück, du überschreibst also deinen wächtersocket. des weiteren solltest du mal deine send aufrufe überprüfen, sprich die rückgabewerte anschauen. hast du ausserdem die FDSETs und das Timeval richtig gesetzt? ein bisschen komisch kommit auch vor, dass du nach belieben sendest und empfängst: send und recv sind blokierende aufrufe, also must du deine programme entsprechend ausrichten. ausserdem ist deine abfrage (if(!kbhit())) ein bisschen komisch. du solltest dir schon im klaren sein, wer mit senden und empfangen dran ist, wenn nicht, musst du entweder mit nonblocking arbeiten, oder multithreaded. ist dir ausserdem folgendes aufgefallen:
serverseite:
Cli --> connected --> Svr
Svr --> send --> Cli
Svr --> send --> Cli
[if-abfrage]
a] Svr --> send --> Cli
b] Cli --> send --> Svr
clientseite:
Cli --> connected --> Svr
Cli --> send --> Svr
[if-abfrage]
a] Cli --> send --> Svr
b] Svr --> send --> Cli
das kann überhauptnicht funktionieren du musst bei blokierenden aufbau ein schema behalten, das dann auf beiden seiten durchexerziert wird. deine programme machen zu beginn beide ähnliche sachen, mindestens eins müsste aber gleich zu beginn was empfangen, weil der andere sendet. das variable senden/empfangen musst du multithreaded oder ohne blokierende sockets (schwieriger) angehen.
Ja du musst den setsockopt call machen um dem Kernel mitzuteilen dass du den Header reinpacken willst. Sonst packt er seinen eigenen davor.
Erm wo ist eigentlich dein IP header oder hab ich jetz was überlesen ?
Wudu schrieb:
MessageLoop ?
Der Ort, an dem Messages aus der Schlange abgeholt und verteilt werden. Genaueres erfährst Du im Windows-Buch Deiner Wahl, dort einfach mal Kaiptel 1 lesen. Ich kann Dir das jedenfalls nicht besser erkären, sorry.
also langsam zweifel ich an meinem verstand.
das waveinxxx waveoutxxx funktionen auf win-api´s sind das wei´ß ich auch.
ich will doch nur ein beispiel haben, das erstens auf callbacks basieren, ohne jeglicher anderen win-api (ausser waveinxxx waveoutxxx funktionen).
das moechte ich deshlab so haben, damit ich untferscheiden kann, was nun zur audio api gehoert und was nicht. ich verwende ansich sonst auch viele sachen der win-api, aber halt nicht das windows message system. und das bringt mich einfach zuviel durcheinander.
also einfach nur z.b. den source eines konsolen-proggies, das mittels waveinxxx funktionen und eines mehrfachbuffers einen recorder darstellt. die erklaerung in der MSN ist fuer mich nicht durchschaubar, deshalb dieser besondere und scheinbar fuer einige nichtverstaendliche wunsch. ich brauch nur die erklaerung dafuer, wann und wie ich die funktionen benutzen muß.
Meep Meep