Du kannst mit gotoxy() über den Bildschirm laufen und die Zeichen in regelmäßigen Abständen neu überschreiben:
int pos=0;
while(1)
{
gotoxy(pos,10);printf(" ");
pos=(pos+1)%80;
gotoxy(pos,10);printf("*");
}
(das erzeugt ein Sternchen, das quer über den Bildschirm wandert - veventuell brauchst du noch eine Hilfsschleife (oder ein sleep()), um ihn etwas zu bremsen)
a) fehlerausgabe unterdrücken (nicht die standardausgabe, da geht der fehler ja gar nicht hin)
mkdir tmp 2> nul
b) oder es gar nicht zum fehler kommen lassen
if not exist tmp mkdir tmp
Es gibt noch eine andere Möglichkeit: du kannst in den Einstellungen der EXE unter "Programm" den Punkt "Nach beenden schließen" abwählen. Dann bleibt das Fenster offen, in der Titelleiste steht allerdings "Beendet - <Programmname>"
Hallo Hilla,
INT 13 AH=10, Test For Drive Ready funktioniert wohl nicht für CD-Laufwerke.
Möglicherweise geht das ja irgendwie über IOCTL, INT 21 AH=44.
Mir erscheint es einfacher auf das Teil zuzugreifen und ggf. den Fehler abzufragen, siehe harderr.
Wahrscheinlich verbiegt harderr den "Critical Error Handler" via INT 24.
Ist halt schon etwas länger her
Schau Dich vielleicht mal hier um:
http://www.faqs.org/faqs/msdos-programmer-faq/part1/index.html
http://www.ctyme.com/intr/cat.htm
http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
http://www.borncity.com/Library/DOSProgHB.PDF
HTH, Bernd
Oder statt char einen Ganzzahltyp (z.B.: int) verwenden..
Außerdem solltest du:
.) statt den else if zweigen switch verwenden
.) deinen Code in Zukunft als [C++Code] posten
ich hab mir jetzt nochmal die datei gezogen:
http://vannius.funpic.de/laby.zip
aber das level wird wieder übersprungen und danach nur die stats angezeigt...
werd warscheinlich die Sleep(x,y)-Fkt. rausnehmen...
sleep(x,y)? meinst du gotoxy(x,y)?
aber ja...nimm die sleep() heraus...
Ansonsten find ich es recht gut gelungen.
MfG Kuldren
Swordfish schrieb:
wohl eher:
void clrscr( )
{
int n = 200;
while (n--)
putchar( '\n' );
}
ist aber trotzdem russisch...
Greetz, Swordfish
BTW: Was tust du, wenn mein Terminal 500 Zeilen darstellt?
ok danke des lässt sich wenigstens mal compilen, aber löschen ut das nicht oder ? sieht bei mir nur nach einer ganze meneg Lehrzeichen aus....halt ein bichen scrollen und es ist wieder da...
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Wieso habe ich das Gefühl, dass die Bearbeitung gar nicht so lang dauernd würde und du nur eine Dummy-Schleife einbaust? *Hass-Objekt gefunden*
MfG SideWinder
Hi ich möchte jetzt in meinem c++ Programm mehrere System Befehle kombinieren sodass nicht jedes mal ein neues Fenster geöffnet wird. Ein kleines Beispiel:
system((" "+Edit1->Text+" " + Edit3->Text+".java").c_str());
Hinter diesen Befehl würd ich gerne noch eine Pause anhängen aber wie mache ich das? Danke schonmal für die Antworten.
Danke für eure Hilfe !!!
das m. system(....werd ich auf jeden fall mal ausprobieren...
mit der improoved console hab ich mich auch schon auseinandergesezt...
meine meinung dazu:
Das thema Text und Hintergrundfarbe hatt sich damit für mich abgeschlossen Danke für die Hilfe !!!!