volkard schrieb:
xkeks93x schrieb:
Habe es schon! Danke
Bitte zeige es, damit schwächere Programmierer bei ähnlichem Problem von Dir lernen können.
void spielfeld(int ilaenge, int ihoehe)
{
system("cls"); //Clear Screen - Vorbereitung für das Spiel
iposition2 = 0; //Spielfelderzeugung beginnt
while(iposition2<ihoehe)
{
iposition1 = 0;
while(iposition1<ilaenge)
{
zufaelligefarbe();
printf(" X");
iposition1++;
}
printf("\n\n");
iposition2++;
} //Spielfelderzeugung beendet
}
War eigentlich gar nichts kompliziertes... Habe es nur nich gesehen bzw. war ich warscheinlich dafür einfach nur zu müde.
Die aktuelle Uhrzeit und Datum bekommst du mit time() (als Sekunden seit 1.1.1970), daraus kannst du mit localtime() eine Struktur bilden, die das Datum in einer Form aufbereitet, wie sie Menschen gewohnt sind.
(beide Funktionen findest du in <ctime> bzw. <time.h>)
My Name is Earl schrieb:
void gotoxy (int x, int y)
{
union REGS regs; /* Registers of intel CPU */
regs.h.ah = 0x02; /* AH= 02 Fkt. Set Cursor */
regs.h.bh = 0; /* BH= Page 0 */
regs.h.dh = (char) y-1; /* DH= line (BIOS from 0)*/
regs.h.dl = (char) x-1; /* DL= column (BIOS from 0)*/
int86 (0x10, ®s, ®s); /* Execute funktion */
}
ftp://ssv-embedded.de/ssv/products/trm916-rev-b/sample/1520/dos/c-code/lcd/lcdtest.c
Die alten int86 BIOS-Aufrufe gehen mit jedem Compiler der 16-bit Code
erzeugen kann. Das wäre mein Favorit. Leider kommen da aktuelle Compiler
nicht in Frage.
Ich würde es evtl. direkt mit Assembler implementieren
asm {
mov ah, 02h;
...
int 10h
}
Spontan fällt mir nur die Baudrate ein. Schau mal in den Systemeinstellungen nach auf was dein Comport eingestellt ist, und probiers mal mit dieser Baudrate.
Is aber wirklich nur eine spontane Vermutung.
Der Code von Genervter_Gott ist unter XP inkompatibel, da die Funktion
GetCurrentConsoleFontEx() erst ab Windows Vista existiert. Das gilt auch
für VisualStudio ...
Die undokumentierte Funktion SetConsoleFont() aus der kernel32.dll
funktioniert mit Windows XP und VS2010 und sollte auch mit anderen
Compilern nutzbar sein. Der Name der Aufrufkonvention könnte aber
variieren. Bei Microsoft heisst es aktuell WINAPI ...
Bei mir läuft das hier unter XP mit VS2010
http://www.c-plusplus.net/forum/quote760701
Etwas eleganter auch das (läuft mit VS)
http://cboard.cprogramming.com/windows-programming/102187-console-font-size-2.html
Das mit
#include "myheader.h"
brauchst du nur, wenn du selbstgestrickte oder sonstige spezielle Header im selben Verzeichnis wie deinen Quellcode hast. Auch da gibt es noch andere Möglichkeiten.
#include <iostream.h>
funktioniert auch schon bei den alten Borland-Compilern, wenn du die richtig installiert hast
MfG f.-th.
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung 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.
Hallo,
meine 16-Bit Entwicklungstätigkeiten habe ich schon vor einiger Zeit eingestellt. Ich versuche daher aus meiner Erinnerung zu antworten.
Grundsätzlich gibt es beim 16 Bit Modus 3 verschiedene Arten von Zeigern:
near: 16 Bit und können damit nur max. 64 kB Adressieren.
far: segment + offset entspricht wenn ich mich recht erinnere einem 20 Bit Zeiger und kann daher bis zu 1 MB adressieren. Der Speicherblock darf aber nicht größer als 64 kB sein.
huge: Wie far, aber der Speicherblock darf bis zu 1 MB groß sein.
Je nach dem wie Du Deinen Code übersetzt hast, ist ein Zeiger ohne nähere Angaben einer dieser 3 Arten. Zu kannst aber beim Deklarieren eines Zeigers auch einen der anderen Arten angeben.
Genauere Infos findest Du aber bestimmt in der Doku zu Deinem Compiler.
mfg Martin
das ergebnis zeigt er jetzt an, leider gibt er mir immer, wenn ich versuche das Ergebnis für die Frau anzuzeigen, einen Runtimefehler: The variable is used without inizalied.. - obwohl ich doch das gleiche verfahren gemacht habe, wie für den mann..