jo stimmt
so bringt das nix
du setzt den cursor 10 mal hintereinander an ein und dieselbe stelle...
ok die stelle ist "zufällig", aber eben nur einmal
du meitnest sicher das hier:
srand( (unsigned)time( NULL ) );
int x;
int y;
for(int i=0; i<10;i++)
{
x = rand()%20;
y = rand()%60;
SetCursorPos(x,y);
// Sleep(500);
}
@Quellcode: Solange ich den Sinn der Umwandlungen des OPs nicht kenne, halt' ich mich lieber mit Ratschlägen bzgl. eleganz mal zurück
@OP:
klompt schrieb:
Wie wandel ich nun Space , Tab, Backspace etc um ?
für space zb würde DAS -->
if( hello[ 0 ] = ' ' ) {
hello[ 0 ] = 32;
}
nicht klappen.
1. cpp-Tags sind was schönes...
2. das Statement im if ist schon wieder (noch immer?) eine Zuweisung, kein Vergleich.
3. Wär's ein Vergleich wär's auch sinnfrei, da ' ' == 32 !!!111elf
Du hast uns immer noch nicht verraten, was Du eigentlich genau wie Umwandeln willst. ich Rate mal in's Blaue:
if( hello[ 0 ] == 10 /* backspace */ ||
hello[ 0 ] == 11 /* tab */ ||
hello[ 0 ] == 13 /* vertical tab */ ||
hello[ 0 ] == ' ' /* space (== 32) */ ||
hello[ 0 ] == 27 /* esc */ ) {
hello[ 0 ] = 32; // wobei die Zuweisung im falle hello[ 0 ] == ' ' sinnfrei ist.
}
Mit Home (Pos1) wirst Du dir schwer tun, da der Keyboard Controller da einen Scancode generiert, der sich nicht in ASCII wiederfindet. Zeichen wie ESC solltest Du IMHO von getline( ) aber garnicht erst bekommen.
Vielleicht magst Du endlich bescheiben, was Eingabe und was Ausgabe sein soll?
cheers, Swordfish
Die Funktion getch() gibt bei Sondertasten, wie Pfeil - oder F-Tasten, 2 Integer Werte zurück.
Um den Code für Pfeiltasten ausgeben zu lassen, mußt du deinen Code etwas erweitern.
#include <stdio.h>
#include <conio.h>
int main(void)
{
int c[2];
printf("\nTaste druecken\n");
c[0]=getch();
c[1]=getch();
printf("die eingegebene Taste besitzt den wert %d und %d", c[0], c[1]);
return 0;
}
Dieser Code funktioniert nur bei Sondertasten, da getch() wie bereits erwähnt zwei Integer zurückgibt. Den ersten beim ersten Aufruf und den zweiten beim zweiten Aufruf.
Wird eine normale Taste (z.B. Buchstabe) gedrückt, würde die getch() Funktion beim zweiten Aufruf wieder auf einen Tastendruck warten.
Um solch eine Sondertaste abzufragen, könnte man z.B. folgenden Code schreiben:
#include <conio.h>
int main(void)
{
int key;
bool loop = true;
while (loop) {
if (kbhit()) {
if( (key = getch()) == 224 &&
(key = getch()) == 72 ) {
loop = false;
printf("Pfeiltaste nach oben gedrueckt");
}
}
}
return 0;
}
So sollte es funktionieren:
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
bool loop = true;
int key;
while (loop) {
if (_kbhit()) {
if ( (key = _getch()) == 224 &&
(key = _getch()) == 133 ) {
cout << "F11 Taste gedrueckt";
cin.sync();
cin.get();
loop = false;
}
else
cout << "Andere Taste gedrueckt" << endl;
}
}
return 0;
}
Um die zusammengesetzten Codes für die Spezialtasten auszulesen, kannst du folgende kleine Schleife verwenden.
int key;
while (true) {
key = _getch();
cout << key << endl;
}
Ich hoffe der Code hilft dir.
Sicher kannst du die interrupts benutzen!
Wenn das Betriebssystem im Protected mode läuft (wie windows) kannst du auf gewisse Register nicht zugreifen! Stichwort v86 / unreal mode
http://www.brackeen.com/home/vga
Hey Danke ! das genau DAS!! habe ich gebraucht - jetzt muss ich nur noch gucken , wie ich das so machen kann das wenn in der datei
1 2 1 ..
steht der auch hintereinander das einlist
[cpp]
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream file("C://daten.dat", ios::in);
int num;
if(!(file >> num)) {return 1;}
if(num == 1)
Beep(100,100);
if(num == 2)
Beep(200,100);
retrun 0;
}
klompt11 schrieb:
Ich meine nicht tausend dab ei Sleep die zeitangabe in Milisekunden ist
Genau. Und für Sekunden musst du mal 1000 rechnen, nicht mal 6000.
Damit sollte es gehen aber wieso mischt du C++ mit C O_o
cout<<"Versuche Winsock zu starten...\n\n";
printf("Fehler: startWinsock, fehler code: %d\n",rc);
printf("IP eingeben: ");
gets (ip);
// Verbinden
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(12345);
addr.sin_addr.s_addr=inet_addr(ip);
tut mir leid so funzt das auch nicht.
naja, das PRG ist in Foxpro gemacht worden und der Programmierer hat mir gesagt das es an seiner Pfadung liegt das es nicht klappt.
wie gesagt wenn ich in der Cmd hin navigiere (c:\ordner\)
und dann das prg.exe starte dann funzt es.
MISTERY
Ok danke dir!
Ich kann also nun Nachrichten vom Client zum Server schicken, aber wie kann ich diese beim Server auswerten?
Einfaches Beispiel zum Verständnis:
Client schickt "oeffne cd" zum Server, dieser empfängt dies und macht mit
mciSendString("Set cdaudio door open wait", NULL, 0, NULL);
_endthread();
Das CD-Rom Laufwerk auf.
Mein Client sendet wie folgt:
{ char befehl[20] = ":cdrom:open";
rc=send(s,befehl,strlen(befehl),0); break;
}
Und der Server gibt das momentan noch so auf der Console aus
printf("Client sendet:%s\n",buf);
Meine Frage ist nun also: Wie kann ich mit der Ausgabe Arbeiten? (If else Abfragen mit dem Befehl starten).
Gruß
Radial
Hi Leute,
ich will mich kurz fassen, wieso zur Hölle gibt mir folgender recvfrom Aufruf
immer WSAEINVAL (10022) Invalid argument. zurück?
Hab das mehr oder weniger von c-worker.ch, und der BspCode von dort funktioniert
auch wie er soll, und da wirds auch nicht anders aufgerufen.
10022 bedeutet bei recvfrom ja eigentlich "socket not bound (for Dgram) or not yet connected (for Stream), or the requested length is zero (whether a length >32K", aber wo muss ich bei nem RAW Socket denn meinen Socket binden? o.O
int receive_p2p_message(char* write_to)
{
SOCKET sock;
sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
SOCKADDR_IN saFrom;
char buff[1024];
ip_header_t* ip_header;
icmp_header_t* icmp_header;
while(1)
{
int rc = 0;
int nFromLen = sizeof(saFrom);
rc = recvfrom(sock, buff, 1024, 0, (SOCKADDR *) &saFrom, &nFromLen);
// Hier ist GetLastError immer 10022
mfg
C++Laie1 schrieb:
ja ... aber ich habe sie mit Visual Studio Debuggt !!! Des kann man irgendwie net am anderen PC ausführen aber mit dem Dev-C++ Compiler geht des alles ( sogar diese ewige Problem mit der IC is jetz weg ) perfekt d.h. Ich kann die debugte Datei überall ausführen !
Ja, weil die Debug-DLLs auf dem Zielrechner fehlen. Die kann man auch einfach rüberkopieren, wenn man denn unbedingt die Debug-Version ausführen will.
Hallo Leute
ich suche eine Alternative für neuere Windowsversionen zu diesem Programm hier
http://www.siteupload.de/p706537-MSIMzip.html
Weil ich nämlich öfters Onlineprogramme bekomme die ich austesten will und da hab ich nicht immer ne Hadware in der Nähe.
Also dsas Proggi sollte eine Onlineverbindung vortäuschen damit ich lokal meine Onlineprogramme testen kann und Telefonkosten sparen kann
Danke für jeden Tipp
Bzw. Könnte mir jemand das msim umprogramieren sodas es ab win3.11 lüppt?
Dankesehr