Funktionen in eine Header Datei
-
Hi.. Ich habe bin ein ziemlicher noop was c++ angeht hab mich aber 2 Dinge gefragt... 1. Wie ist es möglich z.B die Unten Folgende Funktion in eine Header Datei zu Bastel das ich sie mit z.B gotoxy(12,2); in meinem prog benutzen kann ?
hab schon viel in diesem forum gestöbert ,aber nicht wirklich was gefunden was mir weiter geholfen hat... hab mir auch durch die Improove Console gewurschtelt aber
da sie noch auf 2 files aufgeteilt ist hab ich garnix mehr verstanden... Bitte um dringende Hilfe.... Danke im Foraus......#include <windows.h> void gotoxy(short x, short y) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X=x-1; pos.Y=y-1; SetConsoleCursorPosition(hCon, pos); }
Frage 2: Wie kann ich 2 Funktionen gleichzeitig laufen lassen ( ich weiss dieses thema wurde schon sehr oft in diesem forum behandelt hab aber nix verstanden...)
ich meine z.b eine funktion die die Uhrzeit angibt(die jede sec.. aktualisiert wird und z.B oben in der Ecke steht)
während ich gleichzeitig die main funktion ohne pausen und irgendwelches warten benutzen kann ( halt ganz normale konsole nur mir uhrzeit*g*)....Sorry das ihr immer von solchen noops wie mir vollgespamt werdet aber da ferien sind hab ich leider keinen den ich fragen kann *g*
Mfg Baltur
Könntet ihr mir dann beispiele schicken ? weil manch mal lese was von Befehlen die man nehmen kann und alle sind glücklich, nur ich verstehe dann garnet wie ich solche befehle anwenden kann.... tüdeldü...
-
ad 1)
mein Post, anderer Thread
ad 2)
mit _beginthread aus der CRT. Beispiel:
// mit der Multithreaded Runtime linken! #include <stdlib.h> #include <stdio.h> #include <process.h> #include <time.h> #include <windows.h> int where_x( ); int get_max_x( ); int where_y( ); void gotoxy( int x, int y ); void clock( void *data ); int main( ) { if( _beginthread( clock, 0, 0 ) == -1L ) { printf( "Clock could not be started!\n" ); return 0; } char buffer[ 81 ]; printf( "Enter some Text.\n" ); printf( "Enter a single 0 (null) at the beginning of a line to exit:\n" ); do { fgets( buffer, 80, stdin ); } while( buffer[ 0 ] != '0' ); } void clock( void *data ) { time_t now_sec; tm *now_asc; int old_x, old_y; do { time( &now_sec ); now_asc = gmtime( &now_sec ); old_x = where_x( ); old_y = where_y( ); gotoxy( get_max_x( ) - 10, 0 ); printf( " %02i:%02i:%02i ", now_asc->tm_hour, now_asc->tm_min, now_asc->tm_sec ); gotoxy( old_x, old_y ); _sleep( 10 ); } while( true ); } int where_x( ) { void *output = GetStdHandle( STD_OUTPUT_HANDLE ); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo( output, &csbi ); return csbi.dwCursorPosition.X; } int get_max_x( ) { void *output = GetStdHandle( STD_OUTPUT_HANDLE ); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo( output, &csbi ); return csbi.srWindow.Right - csbi.srWindow.Left + 1; } int where_y( ) { void *output = GetStdHandle( STD_OUTPUT_HANDLE ); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo( output, &csbi ); return csbi.dwCursorPosition.Y; } void gotoxy( int x, int y ) { void *output = GetStdHandle( STD_OUTPUT_HANDLE ); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition( output, pos ); }
Greetz, Swordfish
-
Erst ma danke für die schnelle Antwort !!!
ich weiss net genau.. warscheinlich bin ich zu dumm aber ich habs net verstanden *g*
ich peil so sachen wie namespace bzw using namespace oder #ifndef net... aber ansonsten sieht das scho ganz brauchbar aus...
könntest du mir die befehle noch erklähren ??? hab viele openbooks aber so sachen wie namespace sind dan net drin....und bei frage 2 mit den gleichzeitig laufenden funktionen....
was für funktionen sind in der datei <process.h> vorhanden und? wie kann ich mein prog bei dev c++ mit der Multithreaded Runtime linken?
Danke scho mal !!!
greetz big noop Baltur
:schland: hatt gestern Gewonnen Jippi....WIR GEWINNEN DIE WM..... *g* Hup HUP hup TÜT tüt TÜt *g* :schland:
-
Baltur schrieb:
ich peil so sachen wie namespace bzw using namespace [...]
Dann schaust du unter
using bzw.
namespace nach. Das lesen nimm ich dir nicht ab.
#ifndef SOME_MAYBE_DEFINED_SYMBOL // ... // Code // ... #endif
Weist den Präprozessor an, den Block zwischen #ifndef und #endif zu Compilieren, wenn SOME_MAYBE_DEFINED_SYMBOL nicht definiert ist.
Baltur schrieb:
könntest du mir die befehle noch erklähren???
WAS - using und namespaces ausgenommen - vertehst du nicht?
Baltur schrieb:
was für funktionen sind in der datei <process.h> vorhanden?
Dazu öffnest du die <process.h> deines Compilers und schaust nach...
Baltur schrieb:
wie kann ich mein prog bei dev c++ mit der Multithreaded Runtime linken?
Das fragst du am besten im "Compiler" Forum.
Greetz, Swordfish
-
Baltur schrieb:
Frage 2: Wie kann ich 2 Funktionen gleichzeitig laufen lassen
Hoffe du verfügst über 2 Prozessoren und ein OS, das diese auch ordentlich ausnutzen kann, ansonsten gar nicht. (Quasiparallelität)
<OT>
:schland: Was sollen diese komischen Fahnen hier im Forum? Ich würde mal sagen das ist wieder typisch. :schland:
</OT>
-
@Christoph K.: Witzkeks
[offtopic] Bist du denn auch kein Deutscher? BTW: Ob du willst oder nicht: Du bist Deutschland! [/offtopic]
Greetz, Swordfish
-
@ swordfish:
Du benutzt doch den früheren Borland (3.x). Weißt du wo man sich ihn runterladen kann? Auf der Borland-Page ist er AFAIK nicht mehr vorhanden.
MFG winexec*
-
winexec* schrieb:
Du benutzt doch den früheren Borland (3.x)
Woher weißt denn das!? Bist du allwissend?
Eigentlich benutz ich hauptsächlich MSVS .net 2003 Enterprise Architect *biggrin*, den BC 3.1 nur noch, wenn ich 'nen 16-Bit Compiler brauch. Stimmt, im Borland-Museum ist er nicht mehr und downloadlink dazu hab' ich leider keinen. Tut mir leid.
Greetz, Swordfish
-
@ swordfish:
Schade, mit dem konnte man AFAIK immer schön und unkompliziert inline-assembler nutzen. Theoretisch könntest du ihn einmal hochladen, aber ich weiß nicht ob das von Borland erlaubt wurde. Naja macht nichts. Irgendwann finde ich ihn ! :p
MFG winexec*
-
Hm, hab' mal google zum BorlandC++ for DOS Version 3.1 befragt:
Sag brav danke...
Greetz, Swordfish
PS: Woher zum Teufel weißt du, das ich den hab'!?
-
Hallo,
Vielen Dank. Es ist wahrlich peinlich, dass ich es nicht gefunden habe.
PS: Woher zum Teufel weißt du, das ich den hab'!?
Nebensächlich oder?
MFG winexec*
-
winexec* schrieb:
Nebensächlich oder?
Ne, hauptsächlich
Greetz, Swordfish
-
Was ist eigentlich der Unterschied zwischen Borland C++ 3.1 und Turbo C++ 3.0? Beide Programme haben als Copyright 1990/1992, das heißt, das eine Programm dürfte doch zum Programmieren eigentlich nicht besser sein als das andere, oder?
-
Nun ja, starte doch beide einfach mal, schau durch die Menüs durch, und du siehst den Unterschied. Programmiertechnisch vermute ich mal, dass der Turbo-Compiler der etwas "schlechtere" sein dürfte, denn die Turbo-Reihe ist schon etwas älter...