Šta je novo?

Konzolni program...

voodoo_

Čuven
Učlanjen(a)
31.08.2003
Poruke
9,710
Poena
920
Pokusavam nesto da izvedem sa menjanjem boje teksta, pozicioniranjem kursora itd. u konzolnom programu, ali posto MS-ov kompajler nema SetTextColor i ostalo kao stari Borlandovi, morao sam preko API-ja.

Program izgleda ovako:

Kod:
#include <windows.h>
#include <stdio.h>
#include <string.h>

void main()
{
  HANDLE hConsole;
  char Tekst[8];
  DWORD test;

  strcpy(Tekst, "Pozdrav");

  hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
  SetConsoleActiveScreenBuffer(hConsole);
  SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_RED);
  WriteConsole(hConsole, Tekst, 7, &test, NULL);
}

Medjutim, nista ne izlazi na output. Probano i sa Delphijem 7, rezultat je isti. Proverio sam sve vrednosti koje vracaju funkcije, ni jedna ne daje error niti je broj ispisanih znakova nula...
Gde gresim?
 
U principu ne gresis... ispod WriteConsole(), stavi getch() i sve ce ti se samo reci :)
 
Pazi kad radi :d
Doduse, stavio sam getchar() da ne bih morao da ukljucujem conio, ali to je to :)

Zahvaljujem puno.

E sad, ostaje misterija zasto ne radi bez getchar-a...
Primetio sam da ako program pokrenem iz postojece konzole njen sadrzaj se brise (verovatno jer sam postavio aktivni bafer na handle koji sam napravio). Kako da uhvatim handle postojece konzole?
 
Voodoo_NBGD je napisao(la):
Pazi kad radi :d
Doduse, stavio sam getchar() da ne bih morao da ukljucujem conio, ali to je to :)

Zahvaljujem puno.

E sad, ostaje misterija zasto ne radi bez getchar-a...
Primetio sam da ako program pokrenem iz postojece konzole njen sadrzaj se brise (verovatno jer sam postavio aktivni bafer na handle koji sam napravio). Kako da uhvatim handle postojece konzole?
Nisam primetio reply.
Elem, dobro si primetio - zapravo zato si i stavio getch(), da bi dosao do tog "saznanja" :)
Ono sto bi tebi zapravo trebalo je da pises recimo na GetStdHandle(STD_OUTPUT_HANDLE), ili std_error ako ti je draze.
Verovatno moze i bolje, ali win32api bas i nije moje polje delovanja...

btw Sto se tice programiranja, mozda ti je bolje da posecujes neke druge forume. :d
 
Nazad
Vrh Dno