Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Povezivanje grafickog drajvera u exe fajl u pascalu

[es] :: Pascal / Delphi / Kylix :: Povezivanje grafickog drajvera u exe fajl u pascalu

[ Pregleda: 4022 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Darth
FON
Beograd

Član broj: 17230
Poruke: 45
*.sbb.co.yu.



Profil

icon Povezivanje grafickog drajvera u exe fajl u pascalu15.12.2004. u 22:02 - pre 235 meseci
Kao sto u naslovu pise, pokusavam da ubacim graficki drajver u sam exe tako da bih imao samo jedan fajl ali mi ne ide. Naime, pokusavam da provalim kako se to radi citajuci help, ali ne mogu da shvatim. Prvo kaze da se napravi od *.bgi *.obj ok to sam uradio, e sad taj obj treba da linkujem u exe, sto ne znam, i posle da ga registrujem pre poziva initgraph. Kako se to sve lepo radi? Hvala na pomoci!
Do or do not, there is no try...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu15.12.2004. u 22:57 - pre 235 meseci
Wow!!! To se jos uvek koristi :)

Kad instaliras Turbo Pascal imas primer u kojem fontove i drajvere ubacuje sve u exe (cini mi se da se primer zove BGILINK). Trenutno nemam instaliran TP, ali cu pogledati sutra pa ako ti niko do tad ne da resenje javljam ti ;)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
*.smin.sezampro.yu.

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 13:29 - pre 235 meseci
E... ovako... prvo sto treba da uradis je da od tvojih bgi drajvera napravis obj fajlove. U Bin direktorijumu paskala imas exe koji se zove BinObj.exe. On ce ti pomoci da napravis bin fajlove. Recimo da hoces da napravis bin od VGA.BGI, to radis ovako:
Code:
BinObj VGA.BGI VGADRV.OBJ VGADriver

Prvi parametar je fajl od kojeg hoces da napravis obj fajl, drugi parametar je ime obj fajla koji ce biti kreiran i treci parametar je ime na osnovu kojeg ces u svom programu da nadjes pokazivac na svoj blok podataka u obj fajlu.
Kada si napravio obj fajl za svoj(e) drajver(e) treba da ih ucitas u programu. To se radi ovako
Code:
procedure VGADriver; external;
{$L VGADRV.OBJ }

Ime procedure mora da bude isto kao treci parametar prilikom kreiranja obj fajla programom BinObj. VGADRV.OBJ je... pretpostavi sam :)
Sada imas "proceduru" koju bas i ne mozes da pozoves jer to i nije procedura vec samo blok podataka, ali kada nekoj funkciji prosledis ovu proceduru na ovaj nacin @VGADriver ona dobije pokazivac na pocetak tog bloka podataka. E, pa, RegisterBGIdriver(@VGADriver) uzima taj blok i kreira drajver za graficku karticu :)
To je to :)
BinObj moze da ti napravi obj od bilo kog fajla. Mozes na primer imati fajl
Code:
Pera.txt
Pera je car!

i da napises nesto kao
Code:
BinObj Pera.txt Pera.obj Recenica

pa da posle u kodu napises
Code:
procedure Recenica; external;
{$L Pera.obj }

i kada zelis da pristupis memoriji na koju pokazuje @Recenica naicices na 'Pera je car!' :) Zgodna stvarcica ;)
Nadam se da ti je pomoglo.
 
Odgovor na temu

Darth
FON
Beograd

Član broj: 17230
Poruke: 45
*.sbb.co.yu.



Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 14:24 - pre 235 meseci
Hvala ti za kompletan postupak, puno mi je pomoglo. Sve sam uspeo da odradim, osim sto nije hteo da napise proceduru direknto u programu nego sam morao da pravim poseban unit pa odatle da je zovem. U svakom slucaju mnogo dobra stvar. Jos jednom hvala.

P.S. Da ne znas mozda kako da postavim da mi kursor u tekstualnom rezimu rada bude nevidljiv? Ili bar da mu promenim boju?
Do or do not, there is no try...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
*.smin.sezampro.yu.

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 15:48 - pre 235 meseci
Sta da ti kazem... sacekaj do sutra da ponovo mogu da sednem za racunar gde imam TP :)
Znam 100% da moras da pozivas interrupt-e... cini mi se da je to bio DOS-ov int 21, nemam pojma da li ce raditi na novijim windowsima ili nekim drugm platformama. U svakom slucaju cu pogledati.

P.S.
Napravi nekoliko unit-a za svaki graficki drajver, za svaki font, itd... sve sto hoces da mozes da vezes za svoju aplikaciju, zatim napravi jedan ili vise unita za rad sa kursorom, nekim brzim ispisivanjem texta (direktno pisanje u graficku memoriju), neki unit za rad sa grafickim modom i to sve stavi u jedan folder, recimo Common i onda kad god budes pravio novu aplikaciju samo pokupis unit-e odatle koji ti trebaju i imas sve sto ti je potrebno :) Smem li da znam zastose jos uvek igras sa TP kad imas Delphi i windows programiranje?

P.P.S.
Mozda iskopam neku staru igru koju sam pravio pa cu je postovati ovde, ali radi na staaaaaaaaaaroj Herkules grafickoj... hmmmmmmmm... bila je prava zver kad je izasla :P
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
*.smin.sezampro.yu.

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 16:16 - pre 235 meseci
Sakrivanje (ili menjanje debljine kursora) se radi ovako:
Code:
function HideCursor:Word;
begin
  HideCursor := CursorSize($2000);
end;

function CursorSize(S: Word):Word;
var R:Word;
begin
  asm
    mov AH,03h;
    mov BH,0;
    int 10h;
    mov R,CX;
    mov AH,01h;
    mov BH,0;
    mov CX,S;
    int 10h;
  end;
  CursorSize := R;
end;


Ovako kad sakrijes kursor ustvari podesis da ti je kursor tanji od 0 i onda se ne vidi. Funkcija ti vrati debljinu kursora pre sakrivanja. Kada hoces da pokazes kursor samo vratis na onu debljinu na koju je bio pre sakrivanja i gotovo. Igraj se malo sa debljinom kursora dok ne vidim kako se menja boja ;)
 
Odgovor na temu

Darth
FON
Beograd

Član broj: 17230
Poruke: 45
*.sbb.co.yu.



Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 21:22 - pre 235 meseci
Radi!!! Super su ti ove funkcije. Hvala.
Ne znam zasto se jos igram sa pascalom, zanimljivo mi... A kad jednom to naucim necu imati problema sa delphijem (bar se nadam ;) ) Inace, odakle vadis sve ove funkcije, imas neku knjigu ili tako nesto?
Do or do not, there is no try...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu16.12.2004. u 23:00 - pre 235 meseci
Vadim ih iz TP helpa :) Znam sta hocu samo ne znam tacne nazive funkcija i njihove parametre :) Help cini cuda. Interrupte sam davno koristio pa mi samo treba malo vremena da isprobam par njih i onda se setim :)

Da li ce ti pomoci u Delphi-u... ne znam :) Mozda hoce, mozda nece, ali ces bar znati sintaksu i poneke funkcije i procedure. Ako jos radis sa objektima u paskalu bice ti lako da predjes na klase u Delphi-u :)
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.87.eunet.yu.



+1 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu18.12.2004. u 19:15 - pre 235 meseci
Ma pusti TP samo gubis vreme. Bolje da ucis Delphi. Ja sam radio u TP-u pre x godina...napravio sam i svoj graficki interfejs slican win95, sa sve vizuelnim editorom kao sto ga Delphi ima (naravno prostija verzija) gde si mogao da stavljas dugmice i sve ostale standardne komponente, cak sam napravio i svoj vektorski format za slike. Program ti posle od toga generise paskal kod i ti samo popunjavas konkretnim kodom. Imao je i svoj "dos prompt". Eh, mladalacki entuzijazam...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu19.12.2004. u 02:37 - pre 235 meseci
Stari DOS programcici :) Ko ih nije pravio ne zna sta je propustio :P
Imam na poslu TP 7 i jos uvek se ponekad igram u njemu. Moj najveci poduhvat u TP je bio AVI player, ali se sve iscrtavalo u textualnom modu :) Znaci rezolucija 80*50 i pici... haha... nije licilo ni na sta, ali je radilo :P I, da... zvuka nije bilo.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.83.beocity.net.

Sajt: localhost


+5 Profil

icon Re: Povezivanje grafickog drajvera u exe fajl u pascalu19.12.2004. u 03:15 - pre 235 meseci
eh, nostalgija.. ;)


morlic: pazi kada sam skoro sve što si opisao i ja radio.. (sem vektorskog formata)

još ako si radio i svoju 3d biblioteku (mojoj je falilo samo malo bolje lepljenje textura na 3d objekte).. :-P


srki: slaba ti ta rezolucija bila.. si čuo ti za izmenu karaktera u video memoriji možda? moj plejer je puštao animacije do rezolucije 128x128, u text modu naravno.. :-P

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Povezivanje grafickog drajvera u exe fajl u pascalu

[ Pregleda: 4022 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.