Dwa okna w pascalu. Moduł Graph.

0

Witam,

Napisałem program który po zakończeniu pętli w trybie tekstowym otwiera nowe okno trybu graficznego. Okno graficzne otwiera się pod oknem tekstowym. Chciałbym się zapytać czy jest możliwość zamknięcia okna trybu tekstowego, w czasie działania programu i pozostawienie samego okna graficznego.

0

Nie możesz zamknąć okna macierzystego (tutaj konsoli) !
ale możesz go ukryć ;]

0

Jak to zrobić?
Muszę użyć do tego funkcji WinAPi?

0

Tak WinApi:

program Project1;

{$APPTYPE CONSOLE}

uses
  Windows, SysUtils;

  function GetConsoleWindow: Cardinal; external 'kernel32.dll';
var
  hWnd: Cardinal;
begin
  hWnd:= GetConsoleWindow;
  ShowWindow(hWnd, SW_HIDE);
  //tu cos tam niech będzie sleep dla przykladu
  Sleep(5000);
  ShowWindow(hWnd, SW_SHOW);
  Readln;
end.
0

Nie bardzo wychodzi mi wstawienie to do swojego programu;/
Chodzi mi o to żeby po zakończeniu pętli okno trybu tekstowego zostało ukryte i na wierzchu było okno trybu graficznego.

 
program matrix;
uses crt, graph;
var
a,s : integer;
b: char;

procedure napis;

var
textheight : Word;
driver, mode : integer;

BEGIN
driver := DETECT;
initgraph(driver, mode,'d:\FPC\2.4.4');
settextstyle(3,horizdir,2);
setbkcolor(5);
setcolor(blue);
outtextxy(400,120,'Createdy by :');
settextstyle(3,horizdir,8);
outtextxy(50,220,'<(:Sandalek:)>');
delay(5000);
closegraph;

end;

begin
randomize;
clrscr;
s:=0;

    repeat
     s:=s+1;
     textcolor(10);
     a:=random(8);
     b:=chr(random(94)+33);

      write(a+1,' ');

   textcolor(2);

       write(b,' ');

   until s=1500;
    if s=1500 then napis;

        end.
0

Widzisz jest różnica między FreePascal a Delphi, bo jest ograniczony więc ja radze usuń FreePascal i zainstaluj Delphi ;] albo przeżuć się na C++ jak wolisz konsolki pisać

0

Widzisz jest różnica między FreePascal a Delphi, bo jest ograniczony więc ja radze usuń FreePascal i zainstaluj Delphi ;]

Powiedział co wiedział.

pod FPC wpisujesz zamiast {$APPTYPE CONSOLE} {$APPTYPE GUI} (pod Program przed Uses) i już. W przełącznikach też to gdzieś jest.

0

ta i w Delphi masz bibliotekę graph i crt ...

0

ta i w Delphi masz bibliotekę graph i crt ...

I właśnie dlatego FPC jest lepsze, bo zapewnia zgodność z TP jak i Delphi.

Kolego, zamiast dalej się kompromitować gadając głupoty o FPC, pobierz sobie FPC+Lazarus (www.lazarus.freepascal.org), odpal, i zobacz co oferuje. Bo ty po prostu nie wiesz o czym gadasz.

0

A jak chcesz konsole a później tryb graficzny to możesz:

program project1;

{$mode TP}

uses
  Crt, Graph;

const
   SW_HIDE = 0;
   SW_SHOW = 5;

var
   hWnd: Dword;
   Driver, Mode: Integer;

   function GetConsoleWindow: Dword; external 'kernel32.dll';
   function ShowWindow(hWnd, nCmdShow: Dword): Dword; stdcall; external 'user32.dll';

begin

  writeln('test tryb tekstowy'); //tu cos w trybie tekstowym
  delay(5000);

  hWnd:= GetConsoleWindow;
  ShowWindow(hWnd, SW_HIDE); //ukryj okno

  //tryb graficzny
  Driver:= DETECT;
  Mode:= DETECT;
  InitGraph(Driver, Mode, '');
  if (GraphResult = grOK) then
  begin
    ClearViewPort;
    OutTextXY(1,1,'Tryb graficzny');
    delay(5000);
    CloseGraph();
  end;

  ShowWindow(hWnd, SW_SHOW); //pokaz okno

  writeln('znowu test tryb tekstowy');  //tu znowu cos w trybie tekstowym
  repeat until keypressed;
end.

Nie jest to dobre rozwiązanie, bo korzysta z funkcji Windows ale nic lepszego nie przychodzi mi do głowy...
Na dobrą sprawę obecnie raczej powinno się porzucić Crt i Graph na rzecz WinCrt i WinGraph http://math.ubbcluj.ro/~sberinde/wingraph/;

0

... i dalej się bawić w kompilatorach z 2000 roku (o dziwo w maju była kolejna stabilna wersja) ja nie rozumiem po co ktoś to jeszcze ulepsza jak już mamy potężne języki takie jak Java czy VB (Visual Basic) i platformy .NET, jak by nie patrzeć to już C powoli wymiera jeżeli chodzi o czyste pisanie w programów.

0

ja nie rozumiem po co ktoś to jeszcze ulepsza jak już mamy potężne języki

Potężny bo... nowy?
Ty myślisz że jeżeli język został stworzony w latach 80, to nie może być dobry? Nie bierzesz pod uwagi metamorfozy jaką od tego czasu przeszedł? Najwyraźniej nie. Idź sobie dalej piernicz, że tylko nowe języki są fajne, ale tak się składa że teraz jesteś w dziale Delphi/Pascal i tutaj są sami fanatycy Pascala. Więc tutaj twoje poglądy nie są popularne. Zresztą, tematy typu 'dlaczego dany język jest najlepszy' nigdy się nie kończą i dlatego uważam że powinniśmy przestać rozmawiać o tym.

poza tym, jeszcze pare postów wcześniej, mówiłeś o wyższości Delphi nad FPC a teraz gadasz o wyższości innych języków nad Delphi. Czyżbyś kolego szukał po prostu tematu i chciał się stać popularny?

Wydaje mi się że nie wiesz praktycznie nic, a gadasz dużo. Takich tutaj nie potrzebujemy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1