pointerz

8 отговора 308 прегледа
#1

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.

Отговор
в отговор на infh #2

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
Отговор
в отговор на malkia #3

Re: pointerz

Абе старшият не беше ли да показва дали мига символа?

Отговор
в отговор на Colombino #4

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
Отговор
в отговор на malkia #5

Re: pointerz

По дяволите изпозабравил съм всичко!!! :-)
Ама си спомням че номера с превключването между интензитет и мигане си го имаше и на CGA.

Отговор
в отговор на malkia #6

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.

Отговор
в отговор на infh #7

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.

Отговор
в отговор на infh #8

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

Отговор
в отговор на infh #9

Re: pointerz

Ако се не лъжа в конзолата цветно се пише с cprintf() като преди това с библиотечните функции се задават желаните стойности на цвета на фона и текста.
Кофтито е, че с cprintf() новия ред е "\n\r".

Аз съм!
Отговор