Moduł Graph we Free Pascalu - po wyjściu z trybu graficznego, tryb tekstowy wariuje

Moduł Graph we Free Pascalu - po wyjściu z trybu graficznego, tryb tekstowy wariuje
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Witam!
Bawię się ostatnio grafiką we Free Pascalu. Dodaję sobie moduł graph i wszystko pięknie działa, kompiluje się, rysuje jak trzeba, ale po zamknięciu trybu graficznego zaczyna mi wariować tryb tekstowy. Czego bym w programie nie napisał, to nie działa dobrze. Sprawdziłem to na dwóch komputerach i na dwóch systemach operacyjnych (XP i Windows 8). Z tego co przeczytalem w internecie, to nie tylko ja mam taki problem. Kilka miesięcy temu analogiczny temat założył ktoś na konkurencyjnym forum. Tam nie umieli nam pomóc, może Wy jesteście lepsi. A tak przy okazji to: jaki link trzeba podać we Free pascalu w procedurze initgraph( )?? Czego bym nie wpisał, to się kompiluje, nawet jak zostawię puste miejsce, ale tryb tekstowy i tak nawala. Pozdrawiam

edytowany 1x, ostatnio: PLrc
spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:7 dni
4

Zrobisz sobie największą przysługę porzucając wszystko co związane z modułem graph i grafiką BGI.
Mamy rok prawie 2015, a to już 20lat temu było stare.

Na dzień dzisiejszy znajomość tego nie ma absolutnie żadnej wartości.
Szczególnie przechodzenie pomiędzy trybami - to może powodować problemy - nikt tego nie rozwiąże, bo nie ma powodu ku temu - nikt nie powinien już tego używać.

edytowany 2x, ostatnio: spartanPAGE
drorat1
Dokładnie tak. Kiedyś się w to bawiłem w TP a potem FPC (z powodzeniem), jak FPC to lepiej już usiąść do Lazarusa i tam się bawić. Lazarus jakby nie było jest mało popularny i na dodatek tego niedopracowany, o czym się można boleśnie przekonać podaczas niektórych zabaw. Generalnie zastanawiam się czy z perspektywy dopiero zaczynających warto się tego uczyć.
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Rozumiem, to jest jakaś rada. Czym w takim razie powinienem był to zastąpić? Najlepiej, żebym nie musiał za dużo grzebać w plikach, ponieważ dopiero zaczynam zabawę modułami.

spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:7 dni
0

SDL2 for pascal
SDL - Simple DirectMedia Layer

PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

A czy możesz napisać jak tego używać?

spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:7 dni
2

http://www.baregame.org/topic_welcome.asp
(Baregame to jeden z bindingów SDL2 do pascala)

edytowany 1x, ostatnio: spartanPAGE
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

A czy jest jakiś podręcznik do SDL w pascalu w języku polskim, bo na kurs internetowy to pewnie nie mam co liczyć? (googlam i nic nie widzę). A czy nie ma czegość "pomiędzy" graphem, a SDL? Na razie piszę proste symulacje komputerowe układu Slonecznego i chodzi mi o to, żebym mógł to rysować na ekranie w 2D i wchodzić w jakieś interakcje z programem bez potrzeby edytowania kodu za każdym razem.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 10 godzin
1

A tak przy okazji to: jaki link trzeba podać we Free pascalu w procedurze initgraph
Żaden. Ten parametr jest ignorowany. Pod DOS-owym Turbo Pascalem była tam ścieżka do pliku .bgi ze sterownikiem grafiki.

flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
1

@PLrc - możesz też się zaintereować ZenGL; APi dla Delphi i Lazarusa, wspiera OpenGL i DirectX, ma różne bajery.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Chyba znalazłem coś odpowiedniego dla siebie (allegro.pas), ale nie mogę sobie poradzić z instalacją. Na stronie projektu http://allegro-pas.sourceforge.net/wiki/doku.php?id=documentation:full_installation przeczytałem, że najnowsza wersja allegro.pas jest kompatybilna z allegro w wersjach zaczynających się od numerów 4.4, więc ściągnąłem allegro 4.4.2, rozpakowałem w folderze z modułami FPC, ściągnąłem allegro.pas, rozpakowałem w tym samym folderze, kompilator ma do nich ścieżkę, ale program się nie chce skompilować, wyświetla mi komunikat can't find unit allegro. Co muszę zrobić, żeby zadziałało?

flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
0

Pokaż jak wyglądają dodane ścieżki w opcjach projektu (zrób zrzut).


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Wyglądają tak: Ścieżki dostepu.JPG Trzy pierwsze były wprowadzone domyślnie, czwartą wprowadziłem na wszelki wypadek.

edytowany 2x, ostatnio: PLrc
flowCRANE
Zrób zrzut zakładki Include files i dołącz do załączników tego posta;
flowCRANE
No i gdzie jest zrzut tej zakładki..?
PL
Wprowadziłem te dwie ścieżki (wcześniej ich nie było) tu, oraz w Labraries i dalej dupa
babubabu
  • Rejestracja:około 13 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:Łódź
  • Postów:648
1

po pierwsze ściągnij to: http://www.lazarus.freepascal.org

drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

Co do allegro, pobrałem stąd:
https://sourceforge.net/projects/allegro-pas/

Mam Lazarus 1.0.14, FPC 2.6.2 dla Windows.

I tak, rozpakowałem to allegro.pas do jakiegoś katalogu np. D:\temp\allegro.

I tam jest tak, podkatalog lib i podkatalog demo. Zakładając że fpc.exe albo ppc386.exe znajduje się w katalogu objętym przez PATH, zatem do kompilacji wpisuje się tylko fpc plik.pas albo ppc386 plik.pas zrobiłem tak:

  1. Najpierw skompilowałem te pliki pas z katalogu lib:
Kopiuj
d:\
cd temp\allegro\lib
fpc allegro.pas
fpc alflic.pas
fpc alfile.pas 

I zostały utworzone tam pliki .ppu, .o i .a

  1. Przechodzę do katalogu demo
Kopiuj
cd ..
cd demo
fpc demo.pp -FUD:\Temp\allegro\lib

Musiałem więc najpierw skompilować to co jest w lib a dopiero potem skompilować demo z ustawioną ścieżką modułów. Do utworzonego exe należy dołączyć plik aleg44.dll

Może coś pomoże. :-)

edytowany 2x, ostatnio: drorat1
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0
drorat1 napisał(a):

Może coś pomoże. :-)
Trochę pomogło :) Ale nie wiele, bo tak to napisałeś że nie wiele z tego zrozumiałem. To jest typowe dla informatyków, że piszecie tak, że nic nie można z tego zrozumieć. Głównie przez nadużywanie skrótów.

Chyba wreszcie mi sie udało! Napiszę co zrobiłem, to może komuś się przyda :)
0. Korzystam z Windowsa XP i FPC w wersji 2.6.2

  1. Sciągnąłem bibliotekę allegro w wersji 4.4.2 i rozpakowałem w folderze FPC z innymi modułami (w moim wypadku jest to i386-win32, który z kolei znajduje się folderze units.).
  2. Sciągnąłem najnowszą wersję allegro.pas (4.4.4) ze strony ich projektu i umieściłem w dowolny miejscu (konkretnie na dysku D).
  3. Uruchomiłem konsolę cmd i wszedłem do folderu z allegro.pas i uruchomiłem plik fix.bat:

d:
cd allegro.pas
fix.bat win32

Wyświetlił mi się komunikat

Done!

Na stronie z projektem allegro.pas piszą aby w tym momencie "type make and press intro". Nie wiem co to znaczy, ani jak można "wcisnąć intro" (ktoś wie?). Gdy to zrobiłem wyskoczyło mi 7 błędów...
4. Utworzyłem folder o nazwie allegro.pas w katalogu z modułami FPC.
5. Przekopiowałem zawartość podkatalogu "lib" z allegro.pas na dysku D do katalogu z punktu 4.
6. Ścieżkę do modułu miałem w kompilatorze podaną już wcześniej.
7. Dodałem moduł allegro za pomocą komendy uses allegro;

Po wykonaniu powyższych czynności program się skompilował (jupi!), ale przy próbie wykonania wywaliło mi błąd, że brakuje pliku allleg44.dll i przeinstalowanie programu może pomóc. Ale w tym momencie zrozumiałem o co Ci chodziło:

drorat1 napisał(a):

Do utworzonego exe należy dołączyć plik aleg44.dll

Przekopiowałem ten plik (był w podkatalogu lib) do folderu w którym Free Pascal tworzy pliki exe i wtedy zadziałało :) Dziękuję wszystkim osobom, które próbowały mi pomóc :)

edytowany 1x, ostatnio: PLrc
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
1
drorat1 napisał(a):

Może coś pomoże. :-)

Trochę pomogło :) Ale nie wiele, bo tak to napisałeś że nie wiele z tego zrozumiałem. To jest typowe dla informatyków, że piszecie tak, że nic nie można z tego zrozumieć. Głównie przez nadużywanie skrótów.

Żartujesz...?

@drorat1 wszystko opisał jak należy, ponadto nie ma tam żadnych skrótów, a jedynie nazwy plików, katalogów i rozszerzeń plików; Więc jeśli czegokolwiek nie rozumiesz z tamtego posta, to na pewno nie z winy jego autora; Typowe nie jest to że informatycy produkują jakiś bełkot, tylko to, że ktoś bez specjalistycznej wiedzy próbuje zrozumieć co się do niego pisze, a jak nie zrozumie to wini wszystko i wszystkich, tylko nie siebie;

W każdym razie dobrze, że jednak udało Ci się rozwiązać problem; Zakończ więc wątek, jeśli faktycznie już po problemie.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Mam jeszcze kilka pytań:

  1. Dlaczego Free Pascal zapisuje programy w folderze o takiej dziwnej nazwie - "i386-win32" i czy ta nazwa ma coś wspólnego z architekturą windowsa (32 bitowy XP/64 bitowy Windows 7)?
  2. Czy jak będę instalował allegro na windowsie 7 to też powinienem wpisać

d:
cd allegro.pas
fix.bat win32

czy

d:
cd allegro.pas
fix.bat win64
??

edytowany 1x, ostatnio: PLrc
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
1
PLrc napisał(a):

Mam jeszcze kilka pytań:

  1. Dlaczego Free Pascal zapisuje programy w folderze o takiej dziwnej nazwie - "i386-win32" i czy ta nazwa ma coś wspólnego z architekturą windowsa (32 bitowy XP/64 bitowy Windows 7)?

Tak właśnie z tym ma to związek. Katalog i386-win32 odzwierciedla $FPCTARGET albo $(TargetCPU)-$(TargetOS) w Lazarusie. Zaś $FPCVERSION określa wersję FPC. Jakiś porządek powinien być, bo możesz mieć problemy.

Ustawienia konfiguracji powinny być w fpc.cfg

  1. Czy jak będę instalował allegro na windowsie 7 to też powinienem wpisać
    d:
    cd allegro.pas
    fix.bat win32

czy
d:
cd allegro.pas
fix.bat win64??

Ja podałem tylko przykładowe katalogi. Nie mam komputera z Win7 ale z XP i nie będę się wypowiadał co do innych architektur. Nie miałem z tym do czynienia. Tylko z i386 i win32 albo wcześniej DOS (go32v2).

edytowany 1x, ostatnio: drorat1
PL
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:23
0

Sprawdziłem allegro na windowsie 7 - działa pięknie. Instalacja przebiegła dokładnie tak samo jak to opisałem dla XP, z tą różnicą że tym razem zadziałało wpisanie make
Gdy to zrobiłem konsola nagle zaczęła wypisywać mi mnóstwo rzeczy i skompilowały się jakieś pliki.

edytowany 1x, ostatnio: flowCRANE

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.