Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[ALLEGRO 5] Zamykanie i otwieranie konsoli/ jak uzyskać

Ostatnio zmodyfikowano 2012-12-13 16:10
Autor Wiadomość
qest43
Temat założony przez niniejszego użytkownika
[ALLEGRO 5] Zamykanie i otwieranie konsoli/ jak uzyskać
» 2012-12-12 21:27:34
Czy jest możliwe do uzyskania taki efekt że po przybraniu pewnych wartości przez zmienne otwiera lub zamyka się konsola ?
P-70851
kubawal
» 2012-12-12 21:32:55
Zamykając konsolę (kliknięciem na ikonę "X"), zamykasz program.
Gdy włączasz program z konsoli, programowi towarzyszy jej okno.
Gdy program używa cin i cout, wyświetlana jest konsola twojego programu.
A jak używa innych mechanizmów we/wy, to nie.
P-70852
qest43
Temat założony przez niniejszego użytkownika
» 2012-12-12 21:36:00
Chciał bym uzyskać cos takiego:

Mam zmienną STAN == 0

Jeśli stan == 0 to konsola jest zamknięta, przy starcie programu powinno uruchamiać się tylko okienko stworzone przez ALLEGRO, podczas działania programu STAN przyjmuję wartość 1 i konsola powinna się włączyć, po ponownej zmianie na 0 zamknąć.
P-70853
Admixior
» 2012-12-12 21:51:01
W projekcie powinieneś ustawić opcje zamiast Console to Window API czy coś podobnego (w ustawieniach linkera zmienić subsystem console na windows lub) utwórz jeszcze raz projekt zaznaczając opcje windows.
Używając funkcji możesz sobie utworzyć konsole lub nie w zależności od potrzeb:
C/C++
if( !AllocConsole() )
{
    MessageBeep( 0xFFFFFFFF );
    MessageBox( 0, L"Nie mozna utworzyc konsoli", L"ERROR:0", 0 );
    return - 1;
}
freopen( "CONOUT$", "w", stdout );
freopen( "CONIN$", "r", stdin );

Alternatywnym sposobem jest otwieranie programu przez wiersz poleceń. Wtedy wszystko jest wypisywane na konsole(która już jest).

@kubawal: to miał być trol?
2 pierwsze linijki mówią nie na temat a 2 ostatnie są błędne.
Możesz używać jakichkolwiek mechanizmów we/wy a konsola i tak będzie (lub nie będzie) jak się ją wybierze w podczas linkowania.

//edit:
komilator może podawać ci za poprawne użycie bezpieczniejszej wersji funkcji niż freopen(), a dokładnie freopen_s() nie wiem jak się jej używa bo się nie zgłębiałem ale jak chcesz możesz spróbować
P-70854
qest43
Temat założony przez niniejszego użytkownika
» 2012-12-12 21:56:30
Kompilator nie rozpoznaje tych funkcji:

freopen( "CONOUT$", "w", stdout );
freopen( "CONIN$", "r", stdin );

Twierdzi że nie są zadeklarowane, dodałem bibliotekę windows.h ale to nie pomogło.
P-70855
Mrovqa
» 2012-12-12 22:03:47
Frazy, które należy wpisać w wyszukiwarkę google:
i masz (pierwszy link!):
#include <cstdio>
P-70856
RazzorFlame
» 2012-12-13 13:49:09
Admixior pokazales jak włączyć konsole. A jak ją wyłączyć? :P
P-70870
Mrovqa
» 2012-12-13 16:10:58
P-70883
« 1 »
  Strona 1 z 1