Turbo Pascal jak wkleić BMP na ekran

0

Potrzebuję informacji o tym jak wkleić obraz BMP na ekran w turbo pascalu. Jaki to jest UNITS, i gdzie można go ściągnąć?

2

Moduł graph. Nic nie trzeba ściągać, bo jest już wbudowany.

Tylko po co to pisać w Turbo Pascalu w 2021 roku?

0

E.. chyba coś przeoczyłem. Moduł graph na szczęście działa. Chodzi ci o jakieś porty ? Mi to potrzebne, bo działa mi prosty asembler, temu się przerzuciłem na turbo pascal. Jednak nie chce mi się rysować ręcznie w turbo , za długo to trwa. Na pewno ktoś z was zna rozwiązanie mojego problemu. Chodzi mi o taką procedurkę , która wrzuca obrazek na ekran. Bardzo proszę.

2

Rysowanie zrób sobie w trybie 13h. Będziesz miał do dyspozycji 256 kolorów.

Ściągnij sobie przykłady do książki: https://helion.pl/ksiazki/tworzenie-gier-2d-i-3d-w-jezyku-turbo-pascal-piotr-besta,2d3dtp.htm
Bezpośredni link: https://helion.pl/pobierz-przyklady/2d3dtp/

Kiedyś rysowałem 16-kolorowe obrazki z modułem graph - bo to można zrobić bez assemblera.

0

Są funkcje do działania na obrazkach.

http://pascal.net.ru/Getimage+PAS+(en)

0

Mógłbyś mi przesłać kod na rysowanie bmp... bardzo proszę. Ja próbuje to robić w assemblerze.

Ok mam jakiś moduł. Nazywa się graf_fx. Dzięki wielkie

1

Jak pisałem w Pascalu, kiedyś miałem podobny problem jak ty, i po prostu na partyzanta wczytałem plik BMP binarnie i rysowałem kolejne piksele (chyba rozkminiając wcześniej zapisaną w pliku wielkość i szerokość?). I narysowało się. Do góry nogami xD Swoją drogą nie pamiętam, jak to wtedy rozwiązałem, ale byłem megapoczątkujący, więc czy umiałem odwrócić obrazek? Plus całość obrazka wczytywała się z ileś sekund, więc niezbyt było to wydajne, ale wtedy były słabsze komputery.

Z drugiej strony dzisiaj takie rzeczy można osiągnąć jedną linijką HTMLa <img src="costam.bmp">, więc pytanie, czy warto iść w stare zapomniane języki jak Pascal i bawić się w assembler, jak i tak kończy się na prośbach typu "Mógłbyś mi przesłać kod na rysowanie bmp... bardzo proszę. "

6
LukeJL napisał(a):

Z drugiej strony dzisiaj takie rzeczy można osiągnąć jedną linijką HTMLa <img src="costam.bmp">, więc pytanie, czy warto iść w stare zapomniane języki jak Pascal i bawić się w assembler […]

To pewnie zadanie na studiach, u jakiegoś leśnego dziada. Normalni ludzie nie używają Turbo Pascala od dobrych 25 lat, chyba że dla czystej zabawy, mając już doświadczenie z programowaniem. Tyle że to raczej nie w tym przypadku.


Cuzz napisał(a):

Mógłbyś mi przesłać kod na rysowanie bmp... bardzo proszę.

Nie — po pierwsze dlatego, że to Twój program i nikt nie będzie odwalał całej roboty za Ciebie, a po drugie, że to archaiczne oprogramowanie, którego od dekad nikt nie używa i którego nie da się dziś normalnie używać (bez emulacji). Obstawiam, że mało kto jeszcze pamięta jak się w ogóle programowało pod DOS-a, więc pozostają co najwyżej materiały do znalezienia w Google (a te możesz sobie sam znaleźć).

Jeśli nie jest to zadanie na studia to wywal w cholerę ten zabytek i przerzuć się na współczesnego Pascala. Masz do dyspozycji darmowego i otwartego Lazarusa, a także darmowe Delphi Community, w których można programować jak człowiek, na współczesne systemy, bez babrania się w asmie.

0

Ok w porządku nie będę nalegać. Mam jeszcze jedno pytanie, mianowicie jakie procedury i funkcje zawiera w sobie modul graf-fx? może ktoś wie?

2

Ten moduł był pisany razem z książką. Żeby się dowiedzieć jakie procedury i funkcje on zawiera jego ostateczna wersja, przeglądnij plik PogramyPoKorekcji\cR9\moduł graf_fx v.5.0\Graf_fx.pas.
Możesz też po prostu przeczytać książkę.

Przykłady z plikami BMP są w folderze cR5, więc pewnie wystarczy Ci też moduł graf_fx z tamtego rozdziału (ma mniej linijek - mniej feature'ów).

0

@Cuzz: a można wiedzieć, dlaczego i w jakim celu używasz Turbo Pascala?

1

Zamierzam napisać grę. Po prostu w młodości bawiłem się w turbo pascala i chcę do tego wrócić.

2

To jest bez sensu w takim razie. Szybciej nauczysz się jakiegoś Pythona czy innego współczesnego języka niż znajdziesz materiały do tego zabytku.

0
Cuzz napisał(a):

Zamierzam napisać grę. Po prostu w młodości bawiłem się w turbo pascala i chcę do tego wrócić.

Skoro jesteś aż tak zdeterminowany Hero, to dlaczego kosztem innych, dlaczego nam trujesz d ?

Parowóz sprzed 150 łepszy od samochodu etc - to ta sama proporcja czasowa, 150 lat w transporcie odpowiada 25 lat w informatyce

0

@szatkus: W Pythonie do gier szału nie ma. To praktycznie tak jakbyś polecał Delphi/Lazarusa. Niby to lepsza propozycja niż TP, ale wciąż bieda :]

2

Po prostu się zapytałem. Co wy macie jakieś kompleksy? ja tylko pytam.

3

@Cuzz zainteresuj się kompilatorem Free Pascal (i jego IDE wzorowanym na Delphi – Lazarus). Jest cały czas rozwijany, generuje binarki dla współczesnych systemów (Windows, Linux), będziesz miał dostęp do znacznie szerszej gamy różnych bibliotek (zarówno wieloplatformowych jak i specyficznych dla danego systemu) no i przede wszystkim nie będziesz musiał się użerać z niemerytorycznymi odpowiedziami "dlaczego Turbo Pascal".

Co do pierwotnego pytania.
TP ma moduł Graph, niestety jest bardzo wolny w działaniu i do gier to on się chyba nigdy nie nadawał.
No i nie ma tam raczej żadnej funkcji do czytania plików BMP. To trzeba by oprogramować samodzielnie (na podstawie wygóglanej budowy takiego pliku) albo znaleźć gotowiec.
Albo użyć alternatywnej/własnej biblioteki do grafiki pod Turbo Pascalem, znalezionych gdzieś w zapomnianych czeluściach Internetu...
Ale im głębiej w to brnąć tym mniejszy chyba ma to sens.

Pod Free Pascalem widzę że jest moduł SDL. To jest bardzo popularna biblioteka do grafiki i dźwięku, obsługuje różne formaty plików, no i łatwiej będzie ci znaleźć jakieś przykłady (choć pewnie zwykle będą w C).
Do tego można zaprząc jakieś OpenGL i nagle masz akcelerowane 3D i gwarancję dobrej zabawy na całe miesiące (albo aż ci się odechce – którekolwiek będzie pierwsze).

0

. Mam następne pytanie jak się umieszcza w pliku dane, bardzo proszę o odpowiedz, jak nazywa się ta procedura, z góry dziękuję bo zapomniałem, już nie pamiętam. A co do przesiadki, pomyślę...

1

Masz bana na google?

https://www.google.com/search?q=turbo+pascal+obsługa+plików

Kurs podstawowy praktycznie każdego języka programowania omawia to zagadnienie!

0

Ok już w porządku. Udało się. Wszystko działa

0

Są nowe Jednostki TPU w turbo pascalu : APP.TPU , COLORSEL.TPU , DIALOGS.TPU , DRIVERS.TPU , EDITORS.TPU , MEMORY.TPU , MENUS.TPU , MSGBOX.TPU , OBJECTS.TPU , OUTLINE.TPU, STDDLG.TPU, STRINGS.TPU, TCVN.TPU , TEXTVIEW.TPU , TURBO3.TPU , VALIDATE.TPU , VIEWS.TPU , WINDOS.TPU
Podałbym pliki, ale nie dam rady wstawić.

Dodaję pliki

2

@Cuzz: nie rób bałaganu na forum — jeden wątek to jeden problem. Forum to nie czat, dyskusji nie ciągnie się w nieskończoność. Jeśli rozwiązałeś problem z wyświetlaniem bitmapy na ekranie, to dyskusję uznaje się za zakończoną. Plusujesz pomocne posty, jeden z nich oznaczasz jako rozwiązanie problemu (zaznaczasz fajeczkę przy nim) i to wszystko. Jeśli masz kolejny problem, o którym chciałbyś podyskutować, to załóż kolejny wątek.

0

Ten moduł był tworzony przez autora tej publikacji https://helion.pl/ksiazki/tworzenie-gier-2d-i-3d-w-jezyku-turbo-pascal-piotr-besta,2d3dtp.htm
Miałem ją w dzieciństwie, ale tytuł to ma ona na wyrost bo tłumaczy tylko jak rysować rzeczy na ekranie, nie ma tam de facto nic o algorytmach czy strukturach danych, więc po przeczytaniu tego niekoniecznie będzie się umiało napisać samodzielnie Warcrafta, Dune czy Quake jak buńczucznie oznajmia tekst wewnątrz książki. Rysować pixele w 13h czy wyświetlić trójwymiarowy oteksturowany sześcian już owszem. Nic jednak w niej nie ma o grafach wyświetlania, jak Quake trzyma w pamięci mapy i tak dalej. Próby tłumaczenia przez autora czym jest assembler też oceniam bardzo średnio. Jest też co nieco o DMA i odtwarzaniu WAV na soundblasterach za ich pośrednictwem. We wczesnych 2000ych jak się mieszkało na prowincji i nie umiało w angielski i nie znało nikogo innego kto się bawił w programowanie to jednak było sporo.

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