pointerz
8 отговора
308 прегледа
pointerz
Interesuva me kak da si smenia backgrounda i cveta na texta v console, stava duma za C i windows. Znam che stava s ukazateli. Izvinete nevezhestvoto mi no, kade moga da nameria sourc-ovete na window();, goto();, settextcolor() i setbkcolor(); ot conio.h . Strahuvam se samo otgovora da ne e vuv vaprosa mi ili na hdd-to mi, zashtoto v takuv sluchaj shte sum dosta glupav.
Re: pointerz
ako stava duma za textov rezhim, prez realen (ili protected rezhim) eto kak stava
ot 0xB800:0000 - ti e video pametta - i wurwjat po dvoika - ASCII(8bits) Color(8bits) - cveta se obrazuwa kato starshia bit pokazwa koja palitra da bude izpolzwana, sledwahsitte tri bita sa background i mladshite chetiri - color.
Wurwjat taka: A C A C A C
imashe edni zeleni knigi navremeto na bulgarski - tam beshe opisano - inache pak potursi "Ralph Brown"
tirulirutatuutuu
ot 0xB800:0000 - ti e video pametta - i wurwjat po dvoika - ASCII(8bits) Color(8bits) - cveta se obrazuwa kato starshia bit pokazwa koja palitra da bude izpolzwana, sledwahsitte tri bita sa background i mladshite chetiri - color.
Wurwjat taka: A C A C A C
imashe edni zeleni knigi navremeto na bulgarski - tam beshe opisano - inache pak potursi "Ralph Brown"
tirulirutatuutuu
Re: pointerz
mda - tova e vjarno - obache posle imashe edin globalen flag (port de) kojto kazwashe dali tozi flag simwolite da migat ili prosto da sa s po-goljam intensitet (mislja che samo na EGA i VGA mozheshe tova da se prewkljuchwa)
tirulirutatuutuu
tirulirutatuutuu
Re: pointerz
По дяволите изпозабравил съм всичко!!! :-)
Ама си спомням че номера с превключването между интензитет и мигане си го имаше и на CGA.
Ама си спомням че номера с превключването между интензитет и мигане си го имаше и на CGA.
Re: pointerz
Sorry za nahalstvoto, no ne znam kak tochno da go ukazha. Iskam da te pomolia za niakakvo primerno source-che za printf-vane ne niakakuv text s niakakuv background.
Re: pointerz
Naj-prosto napisano shte e neshto kato slednoto (estestweno ima dostatychno kusuri):
void printstring(const char* pString, int x, int y, char attr)
{
char* pDisplay = 0xb8000000 + 160*y + 2*x;
while (*pString)
{
*pDisplay++ = attr;
*pDisplay++ = *pString++;
}
}
Tuk attr e attributyt na simwola - cvetowe za tekst i fon.
0xb8000000 e ukazatel kym adresa na nulewata tekstowa stranica pri 80 znaka na red.
void printstring(const char* pString, int x, int y, char attr)
{
char* pDisplay = 0xb8000000 + 160*y + 2*x;
while (*pString)
{
*pDisplay++ = attr;
*pDisplay++ = *pString++;
}
}
Tuk attr e attributyt na simwola - cvetowe za tekst i fon.
0xb8000000 e ukazatel kym adresa na nulewata tekstowa stranica pri 80 znaka na red.
Re: pointerz
sigurno imash instalacia na Borland C 3.1
wij w neia za direktoria w koiato ima sources na wsichki
funkcii w raznite biblioteki, mai se kazwashe CRT direktoriata
trysi w neia funkciite ot conio.h
(h failowete sa ti w direktoriata INCLUDE)
nai-weroiatno e da namerish failowe na ASM
ili na C ASM ne pomnia weche..
oswen towa imashe primer za prawene na prozorcheta, koito
syshto beshe na ASM, primeryt mai beshe za wryzka na C programa
s obj kompilirano s TASM... ako ne se lyja taka mai stoiaha neshtata
wij w neia za direktoria w koiato ima sources na wsichki
funkcii w raznite biblioteki, mai se kazwashe CRT direktoriata
trysi w neia funkciite ot conio.h
(h failowete sa ti w direktoriata INCLUDE)
nai-weroiatno e da namerish failowe na ASM
ili na C ASM ne pomnia weche..
oswen towa imashe primer za prawene na prozorcheta, koito
syshto beshe na ASM, primeryt mai beshe za wryzka na C programa
s obj kompilirano s TASM... ako ne se lyja taka mai stoiaha neshtata
Re: pointerz
Ако се не лъжа в конзолата цветно се пише с cprintf() като преди това с библиотечните функции се задават желаните стойности на цвета на фона и текста.
Кофтито е, че с cprintf() новия ред е "\n\r".
Аз съм!
Кофтито е, че с cprintf() новия ред е "\n\r".
Аз съм!