pascal.534valhala,
-> #522, peca.stkenzo, koji trik pali za verziju 5? mislim na asm/assembler. Dajt ljudi
pomagajte treba mi asembler u paskalu ko leba!(sem ako neko zna bolji nacin za
direktno koriscenje adresnog prostora iz paskala)
potpis
valhala pocetnik
(ne bas toliko ali...)
pascal.535stomic,
-> #530, eagle$ Npr. napravim program koji svaki minut ispisuje " Miloš
$ car", startujem nešto što radi sa diskom(npr. CHKDSK),to
$ počne da radi sa istim, dodje vreme za cara,pa pošto timer
$ ima prednost nad diskom, pojavi se poruka " Miloš car " i
$ disk prestaje da radi,
Problem je što iz dos interrupta ne smeš da pozivaš drugi
dos interrupt. Tj. CHKDSK je nešto radio sa diskom (verovatno)
preko negod dos inerrupta, zatim je naletela tvoja procedura
koja je pozvala dos interrupt za ispis i tu je pao.
U svakoj proceduri (bar koliko ja znam) ne smeš pozivati
neko od dosovih inta. Probaj preko BIOSa. Da se ne bih ispaljivao
neka kaže neko ko ima više iskistva.
ST.
pascal.536stomic,
-> #533, dejanr$ Može i u TP-u... Ja sam toj Moduli ozbiljno hteo da dam
$ šansu pre par godina, čak sam pomišljao da pređem na nju.
$ Međutim, posle vrlo opsežnih testiranja i poređenja, došao
$ sam do zaključka da je za rad daleko nepogodnija od Turbo
$ Pascala pa je palo jedno (tj. dva, pošto sam probao
Prvo pitanje je šta očekuješ od novog jezika. Ako očekuješ
samo brži kompajler, zaboravi, Borland je tu zakon. Npr. JPI
Modula-2 zahteva relativno jaču mašinu.
Kao okolina za razvoj JPI i Borlandov IDE nema šanse da se
porede. Borland je jedino bolji u estetici, a koliko je to
bitno (pravim) programerima? Jedna od velikih gluposti Borlandovog
IDEa je kada edituješ dva i više istih fajlvoa, promenom
jednog ne menjaju se ostali. Posledice možeš sam i da pretpostaviš.
U JPIov IDE je integrisana gomila korisnih alata.
Kao programski jezici nema šanse da se porede, mada je to više
manje stvar ukusa. Ali i ja sam relativno lako posle 3 godine
intenzivnog programiranja na pascalu prešao na Modulu. Kao primer
pokušaj da pratiš kako radi neki pascal program od 1000> linija
koji poziva X unita. Zabava zagarantovana ;).
Koju si poslednju JPI Modulu-2 gledao. U novoj JPI TopSpeed
v3.02, možeš da koristiš Modulu-2, C, C++, Pascal i ASM. Lepo?
ST.
pascal.537darone,
-> #524, cubro>> knjizi Borlanda. Ja sam stavio ovde jer Engine
>> radim u Pascalu, ali sam mogao staviti bilo gde.
>> Program je ODLICAN !!!
Mislim da je najpametnije u CET konferenciju, ako
već ne može u dir. Bulajo?
darone
pascal.538dejanr,
-> #534, valhala>> (sem ako neko zna bolji nacin za direktno koriscenje adresnog
>> prostora iz paskala)
Ako je to sve što je potrebno, imaš pseudo-niz mem kojim možeš da
pristupaš bilo kojoj adresi. Takođe neku strukturu možeš "prikucati"
na željenu apsolutnu adresu opcijom absolute.
pascal.539dejanr,
-> #536, stomic>> Prvo pitanje je šta očekuješ od novog jezika. Ako očekuješ
>> samo brži kompajler, zaboravi, Borland je tu zakon...
Pa, nekako krajnje uopšteno rečeno, očekujem alat koji će da poveća
produktivnost. To obuhvata i brzinu kompajlera ali i udobnost pri
korišćenju debagera, fleksibilnost pri radu, pouzdanost itd, itd.
Dobar deo ocene je usmeren na sam jezik, koliko je jednostavno
rešavati probleme kojima se bavim i koliko je te programe docnije
teško/lako održavati. Najzad, bitan parametar su performanse
rezultujućeg koda (koliko je veliki/brz) a tu je, bar kada se
radi o verzijama koje sam probao, TP bio ubedljivo bolji.
Naravno, značajan parametar je i navikavanje, jer teško da ću se
navikavati na nešto novo ako je jednako dobro kao staro ili čak
nešto malo bolje - da bi se menjao jezik treba da se nađu vrlo
jaki razlozi tj. da taj "novi" bude *znatno* bolji od postojećeg.
Pitanja nekakve softverske podrške u vidu biblioteka itd mi je
relativno malo bitno, jer u suštini malo tih stvari koristim -
više puta sam pokušavao i nailazio na probleme, tako da bi se
uglavnom na kraju odlučio da to što biblioteka nudi uradim sam,
pa bar da znam na čemu sam.
>> Kao okolina za razvoj JPI i Borlandov IDE nema šanse da se
>> porede. Borland je jedino bolji u estetici, a koliko je to
>> bitno (pravim) programerima? Jedna od velikih gluposti Borlandovog
>> IDEa je kada edituješ dva i više istih fajlvoa, promenom
>> jednog ne menjaju se ostali. Posledice možeš sam i da pretpostaviš.
Tjah, ne znam zašto bih u dva prozora uzimao isti fajl (možda da bih
gledao dva njegova segmenta? hmm... ne radim to tako), tako da mi to
ne znači mnogo. Estetika mi je takođe vrlo nebitna, ali već činjenica
da TP sve poziva direktno iz IDE-a a Modula stalno rovari po disku
nije za bacanje...
Jedina prava i velika prednost PC Modula 2 je, po mom mišljenju, to što
generišu .OBJ fajlove a ne one glupe paskalove TPU-ove.
>> Kao programski jezici nema šanse da se porede
U kom smeru? :) Mene je Modula prevashodno razočarala kao jezik,
očekivao sam od nje mnogo više. Naročito mi je zasmetala *strašna*
neportabilnost (a navodno Modula portabilnija, ha, ha ;) čak i
između dva PC Modula 2 kompajlera program moraš da prevrneš naglavačke
da bi se preveo. A ono što ima sa kao nekim "poslovima" i "semaforima"
to kao da su se deca igrala pravljenja operativnog sistema.
>> Kao primer pokušaj da pratiš kako radi neki pascal program od 1000>
>> linija
Ne vidim smetnju. Potrebna je samo disciplina u davanju imena procedurama,
i čovek se spase postojanja po dva fajla (definicija i implementacija) za
svaki modul. Ako se imena biraju "nedisciplinovano", biće nevolja sa većim
projektima u svakom jeziku.
pascal.540ldragan,
Ako neko ima "DBASE.PAS" I "NDX_CREA.PAS" bio bih zahvalan ako mi ih pošalje.
LdraGan
pascal.541cubro,
Pomagajte ! HELP !
Imam jedan problemcic koju nikako da resim.
Stavr stoji ovako: Treba za pozovem neku proceduru ali ne znam
unapred koliko ce biti argumenata, odredjnog tipa, recimo ovako
proc1(arg1,arg2,...argn); Pitanje: kako napisati samu proceduru
da rukuje sa argumentima, i sa njihovim tipovima.
Drugo.
Kako da napisem funkciju koja ce meni po nekoj logici vracati
razlicite tipove podataka. Recimo posaljem funkciji 'ABC', a
da mi taj vrati realan tip podatka, ako upisem 'DEF' da mi
vrati string.
Interesuje me da li se ovo moze uopste da se izvede u TP 6.0
da se i dalje mucim, ili da se prebacim na neko drugo resenje ?
I treba mi HITNO !!!
pascal.542skerl,
Nova verzija jednog od najboljih mouse unit-a! Trenutno
kod verzije 7 ubacena podrska za BP7 DPMI mod!!! Ovog puta uz
unit se dobija i kratak, ali efektan, demo program koji radi
u textualnom i grafickom rezimu :)
Iskreno preporucujem.
Pozdrav
Skerl.
p.s. Bulaja, znas sta ti je ciniti :)
╔═════════════════════════════════════════════════════════════════╗
║ MouseLib ║
║ second release, written by Loewy Ron, AUG 90 ║
║ Third release, TP6.0 asm support, LR Jan 91. ║
║ Fourth release, added functions, LR May 91. ║
║ Fifth release, added intercept, release functions, Jun 91. ║
║ 6.th Release - Better Docs., Test Sample Program. ║
║ 7.th Relaase - Support for BP7 DPMI mode. ║
╚═════════════════════════════════════════════════════════════════╝
mouseLib documentation file : mouseLib.doc, rel 7.0.
last update : Dec. 05, 1992, LR.
Whats new
---------
V7.0
- Support for BP7 DPMI mode - corrected the graphics mode detection
to work with DPMI mode.
- Improved MOUSETST program includes sample to event handler code.
V6.0
- Added better documentation in MOUSELIB.PAS source.
- Added A Simple Sample program - MOUSETST.PAS.
- From this version mouseLib is distributed by
ISoft D&M, P.O.B 5517, Coralville IA 52241, U.S.A
Introduction
------------
mouseLib is a Turbo (Borland) Pascal 6.0+ mouse support unit, designed to
provide event driven mouse support, using a standard (default) event
handling mechanism. The unit includes all of the normal mouse library
functions, (show, hide cursor, define tresh-hold, detect mouse etc..).
mouseLib was used for over 3 years now, with many programs and products
written by the author, and other programmers. Several mouseLib based packages
are distributed by ISoft D&M, and can be downloaded for evaluation from BBSes
around the world.
pascal.543skerl,
-> #532, ssokorac│ P.S. GUI-demo nece da mi radi bez .ico fajlova, kojih
│ nigde nema :(.
└────
Probaj da raspakujes icons.arj :)
Skerl.
pascal.544ivan.s,
Hi,
Da li neko slucajno ima ceo Technojock's Object Toolkit za Turbo Pascal (ima
ga ne Feniksu ali nemam dovoljno vremena da ga skinem). Pozdrav
pascal.545bulaja,
-> #537, darone│Mislim da je najpametnije u CET konferenciju, ako vec ne moze u dir. Bulajo?
└───
Pa ako radi, sto ne bi moglo u dir. A ako ne radi, moze u CET :).
Nisam jos pogledao file, valjda cu stici ovih dana :).
pascal.546dgrbic,
-> #530, eagle:: pojavi se poruka " Miloš car " i disk prestaje da radi,
:: što rezultuje padom sistema :(
Stavi uses crt, da ispis na ekran ide direktno u memoriju (ili preko BIOS-a
ako staviš directvideo:=FALSE) a ne preko DOS-a. Time gubiš mogućnost
redirekcije (ali ne sasvim, writeln (out, 'GRBA CAR! :)') ide na stdout), a
sistem se ne zaglupi. U interaptu, generalno gledano, ne smeš da pozivaš
DOS funkcije (osim par retkih izuzetaka, a i te su uglavnom
nedokumentovane, vidi inter33, ima na Sezamu).
Ako ti to ne treba za rezidentni program, nego oćeš da ti tvoj program na
primer na svakih xxx sekundi/minuta uradi "nešto" (npr. ispiše "Press any
key" kad 20 sec. korisnik bulji u ekran sa pozdravnom porukom i čeka da se
dotična makne), možeš u petlju da staviš ispitivanje npr. adrese 0:$46c ili
upotrebom int $15, f-ja $83 (opet vidi inter33).
pascal.547dgrbic,
-> #531, eagle:: support this mode " :(, a inace imam Svga :).
Jes siguran da tvoja OAK kartica ima 512K memorije?
Ima ih i sa samo 256K, što je dovoljno za 800 x 600 u 16 boja.
A osim toga, ako je taj SVGA drajver napisan za VESA kartice, OAK baš i
neće biti prepoznat kao kartica koja može da prikaže bilo šta osim
standardnih VGA modova, za OAK mora da postoji malko drugačiji postupak
ispitivanja da'l kartica podržava neki mod, odnosno drajver mora da bude
napisan specijalno za OAK VGA (osim ako su u međuvremenu izbacili neki
model koji je VESA kompatibilan).
pascal.548dgrbic,
-> #541, cubro:: Stavr stoji ovako: Treba za pozovem neku proceduru ali ne
:: znam unapred koliko ce biti argumenata, odredjnog tipa,
:: recimo ovako proc1(arg1,arg2,...argn); Pitanje: kako
:: napisati samu proceduru da rukuje sa argumentima, i sa
:: njihovim tipovima.
Pa, prosto rečeno:
Teško, vrlo teško.
TP dozvoljava da procedura bude deklarisana kao procedura sa promenjivim
brojem (i tipom) parametara, ali konkretna realizacija zahteva upotrebu
asemblera.
Stvar otežava činjenica da procedura mora sama da očisti stek od
parametara, pa se za povratak ne može koristiti ret x (gde je x broj
wordova koji se "skidaju" sa steka), jer x nije poznato u trenutku pisanja
programa!
:: Kako da napisem funkciju koja ce meni po nekoj logici
:: vracati razlicite tipove podataka. Recimo posaljem
:: funkciji 'ABC', a da mi taj vrati realan tip podatka, ako
:: upisem 'DEF' da mi vrati string.
Umesto funkcije napiši proceduru, kao u sledećem primeru:
var r : real;
s : string;
procedure abcdef (janjemu : string; var onmeni);
begin
if janjemu='ABC' then
real(onmeni):=12.3
else if janjemu='DEF'then
string(onmeni):='12.3';
end;
begin
abcdef ('ABC',r);
abcdef ('DEF',s);
writeln (r:8:3,s:8);
end.
Obrati pažnju na deklaraciju "var onmeni" bez navođenja tipa, kao i na
način doceljivanja vrednosti promenljivoj! I, naravno, moraš voditi računa
da je varijabla u kojoj očekuješ rezultat odgovarajućeg tipa.
pascal.549dgrbic,
-> #542, skerl:: - Support for BP7 DPMI mode - corrected the graphics mode
:: detection
:: mouseLib is a Turbo (Borland) Pascal 6.0+ mouse support
:: unit, designed to
Je li, koja je verzija BP7 unita?
Jel ostala verzija 9, kao kod TPW (i TP 6.0)?
pascal.550isekulovic,
-> #523, dejanr>> Imaš baš u januarskim "Računarima" tekst o tome. Doduše, primeri su u
Pročitah sada, jel ima pascal ekvivalent putenv-a kod c-a jerbo mi nije
bitno da li ostaje zadata vrednost u promenljivoj posle izlaska iz programa?
pascal.551pedjak,
-> #520, isekulovic> 1.Da li je u grafičkom režimu rada moguće uraditi na neki način
> treptanje kao što to može u textulanom režimu dodavanjem 16 na boju ili
> se moram kačiti na int 08?
Moraćeš da se kačiš na int.
> 3.Nije mi najasnija sintaksa naredbe SetUserCharSize. Prema helpu
> ona glasi SetUserCharSize( MultipX, DivX, MultipY, DivY :Word);
SetUserCharSize (MultX,DivX,MultY,DivY:word);
Postavlja širinu i visinu linijskih fontova. MultX:DivX je odnos
omnožen uobičajenom širinom aktivnog fonta. MultY:DivY je odnos
pomnožen uobičajenom visinom aktivnog fonta. Na primer, tekst će biti
dvaput širi ako se prenesu vrednosti MultX=2 i DivX=1.
pedja
pascal.552pedjak,
-> #530, eagle> Sve je to lepo radilo...until this:
> Npr. napravim program koji svaki minut ispisuje " Miloš car",
> startujem nešto što radi sa diskom(npr. CHKDSK),to počne da radi sa istim,
> dodje vreme za cara,pa pošto timer ima prednost nad diskom,
> pojavi se poruka " Miloš car " i disk prestaje da radi,
> što rezultuje padom sistema :(
> Jel se može ovo izbeći?
Naravno da može uz malu pomoć nedokumentovanih poziva DOS-a.:) Najpre
je važno istaći da DOS ne dozvoljava rekurziju, tj. jedna DOS
funkcija ne može prekinuti drugu DOS funkciju. E sad na scenu stupaju
nedokumentovani pozivi DOS-a:
DOS funkcija 34h vraća adresu DOS flega u ES:BX ( Critical Section Flag )
njegova vrednost je 0 samo onda kad sistem nije unutar DOS koda, te
je u tom slučaju moguće pozvati neku DOS funkciju, u tvom slučaju
možemo nešto ispisati.
Međutim, ukoliko se nalaziš u komandnoj liniji i sistem čeka da
uneseš neku komandu, startuješ program i sl., on se stalno nalazi
unutar DOS funkcije 0Ah , pa i dalje drugi program ne sme da pozove
neku drugu DOS funkciju.
Ali za ovu priliku postoji interapt 28h, koji se naziva Idle
Interrupt ( " besposleni " interapt ) i on se izvodi uvek dok DOS
čeka pritisak na neki taster. Inače poziv ovog interapta je tako
pripremljen da se iz njega mogu izvršavati drugi interapti.
Za tvoj problem postoje dva rešenja. Pre ispisa na ekran trebalo bi
proveriti stanje Critical Section Flaga pa ako je prekid dozvoljen
ispisati poruku. Međutim, poruka će se ispisivati samo ako se nalaziš
u nekom programu. Ukoliko želiš da se poruka ispisuje dok se nalaziš
u komandnoj liniji ona preuzmi interapt 28h , a moguća je i
kombinacija ova dva rešenja.
pedja
pascal.553dejanr,
-> #541, cubro>> Stavr stoji ovako: Treba za pozovem neku proceduru ali ne znam
>> unapred koliko ce biti argumenata, odredjnog tipa, recimo ovako
>> proc1(arg1,arg2,...argn); Pitanje: kako napisati samu proceduru
>> da rukuje sa argumentima, i sa njihovim tipovima.
Mislim da je to, ako ne nemoguće, ono toliko komplikovano da je bolje
da potražiš neko drugo rešenje. Možda da probaš sa objektima (mislim da
i dalje neće moći tako "čisto" kao što bi želeo, ali opet, verovatno
može nešto na tu temu).
pascal.554dejanr,
-> #542, skerl>> mouseLib, rel 7.0.
Ima li tu i source ili se isti dobija tek po registraciji (ili ni tada)?
pascal.555stomic,
-> #539, dejanr$ Pitanja nekakve softverske podrške u vidu biblioteka itd
$ mi je relativno malo bitno, jer u suštini malo tih stvari
$ koristim - više puta sam pokušavao i nailazio na probleme,
$ tako da bi se uglavnom na kraju odlučio da to što
$ biblioteka nudi uradim sam, pa bar da znam na čemu sam.
Ovde se slažem :). Ako uspeš da razviješ SVOJU biblioteku od
nule, posle je sve mnogo lakše. Tu je jedna od prednosti Module-2
jer su na nivo jezika samo osnovne funkcije ORD, CHR,... Sve ostalo
je u Modulima.
$ ne znači mnogo. Estetika mi je takođe vrlo nebitna, ali
$ već činjenica da TP sve poziva direktno iz IDE-a a Modula
$ stalno rovari po disku nije za bacanje...
Zato sam i rekao relativno jaču mašinu. Mada Borlandov intergrisani
debuger i VID (JPI debuger), ipak mislim, nema šanse da se porede ;).
$ Jedina prava i velika prednost PC Modula 2 je, po mom
$ mišljenju, to što generišu .OBJ fajlove a ne one glupe
$ paskalove TPU-ove.
žini mi se da je baš ovde velika prednost u brzini TPa nad bilo
kojim drugim kompajlerom.
$ U kom smeru? :) Mene je Modula prevashodno razočarala kao
$ jezik, očekivao sam od nje mnogo više. Naročito mi je
$ zasmetala *strašna* neportabilnost (a navodno Modula
$ portabilnija, ha, ha ;) čak i
Zašto? Što se tiče portabilnosti to je (po meni) obmanjivanje javnosti.
C/C++ nisu ni pola portabilni koliko se reklamira, mada su i dalje
dosta ispred ostalih jezika. Probaj Dos<->Unix na nekom iole kompleksnijem
programu. Zašto postoji GNU sw za Unix, pa GNUish MSDOS port tog sw, a
sve je pisano u 'portabilnom' C-u :).
$ da bi se preveo. A ono što ima sa kao nekim "poslovima" i
$ "semaforima" to kao da su se deca igrala pravljenja
$ operativnog sistema.
Meni se to baš svidelo :).
$ Ne vidim smetnju. Potrebna je samo disciplina u davanju
$ imena procedurama, i čovek se spase postojanja po dva
$ fajla (definicija i implementacija) za svaki modul. Ako se
$ imena biraju "nedisciplinovano", biće nevolja sa većim
Eh... I da se C programeri pridržavaju discipline, C ne bi bio
prljav jezik ;))). Ipak je (meni) dosta lakše kada je to sređeno
na nivou kompajlera. Npr. Imaš modul za menije, indeksne datotke,
fajlove... U svakom modulu imaš Create, što je sasvim prirodno
(zašto pamtiti X imena procedura za kreiranje). U M2 to bi bilo
Menu.Create, Index.Create. Može isto i u TP (ako si disciplinovan :),
MenuCreate, IndexCreate, ali treba stavljati taj prefiks za svaku
proceduru iz tog modula, zatim u interface delu Unita, implementation
, ... Što na kraju ispadne da se više kuca nego u M2.
Uniti u TP su (očigledno) preuzeti iz M2. BTW, JPI M2 je napravio
čovek koji je zbog neke svađe napustio Borland ;).
Modularno programiranje je jedan međukorak između strukturnog i
OOPa :). A svi ćemo kad tad preći na OOP.
ST.
pascal.556paki,
-> #534, valhala> kenzo, koji trik pali za verziju 5? mislim na asm/assembler.
> Dajt ljudi pomagajte treba mi asembler u paskalu ko leba!(sem
> ako neko zna bolji nacin za direktno koriscenje adresnog
> prostora iz paskala)
A za asembler, moraćeš da nabaviš TASM, pa da u njemu pišeš program
na asembleru, pa da ga prevedeš, pa da ga uključiš u svoj program.
Mnogo lakše je da nabaviš v6.0 TPascala (kompatibilna sa 5.0),
koja ima i asm direktivu :)
pascal.557skerl,
-> #549, dgrbic│ Je li, koja je verzija BP7 unita?
│ Jel ostala verzija 9, kao kod TPW (i TP 6.0)?
└─────
Kol'ko se secam, negde procitah, ostala je ista. Na
zalost nisam srecni vlasnik doticnog packeta pa ne mogu da tvrdim.
DejanR-e, da li gresim?
Pozdrav,
Skerl.
pascal.558skerl,
Dok ne sacekamo CAD program iz Racunara ;) evo unit-a
koji omogucava rad sa 2d i 3d objektima (zicanim modelima).
Sors je pisan u dve verzije, za tp 6.0 i tpw 1.0. Za svaki
tpu je dat i KOMPLETAN SOURCE!
Obratite pasnju na 3dc.exe program koji prevodi *.m3d macro
fajlove u cist pascal source!
Ukoliko se nekome svidi, mogao bi i u dir da uleti :)))
Pozdrav,
Skerl.
p.s. Pokupite i .A01 koji je uz sledecu poruku!
╔═══════════════════════════════════════════════════════════════════════╗
║ 3dLIB ║
║ 3dLIB - 3D Graphic objects library for Turbo-Pascal Programmers. V1.5 ║
║ Last Update : Oct. 13, 1992. ║
╚═══════════════════════════════════════════════════════════════════════╝
FILE - LIST
-----------
The distribution file 3DLIB12 contains the following files :
* .PAS - Pascal sources :
CTM3D .PAS - Current Transformation Matrix
definition.
CTM3DW .PAS - Same as above for Windows.
PROJECT3.PAS - Projection (3D -> 2D) unit.
PROJECTW.PAS - Same as above for Windows.
HDR3D .PAS - Header to 3D structures.
HDR3DW .PAS - Same as above for Windows.
RTOBJ .PAS - 3D Wire-Mesh objects.
RTOBJW .PAS - Same as above for Windows.
DEMO3D .PAS - A demo program - Dos.
DEMO3DW .PAS - A demo program - Windows.
* .TPU - Complied Units.
* .3D2 - Demo OBJ3D Type object files :
3 .3D2 - A 3 dimensional "3" character.
BOX .3D2 - A 3D box.
D .3D2 - A 3 dimensional "d" character.
PROP .3D2 - A 3D Propeller.
PYR .3D2 - A Pyramid.
SUPROP .3D2 - Another 3D Propeller.
TRAP .3D2 - A 3D Trapeze.
* .3DS - Demo ComplexObj type object files.
3DLIB .DOC - This file.
3DC .EXE - M3D to PAS source file translator.
3DCW .EXE - Windows Hosted M3D to PAS generator.
3DC .DOC - 3dC translator documentation.
3DA .EXE - 3dA Macro Animator (Interpreter) for the Dos
environment.
* .M3D - Sample macro programs.
DEMO3D.EXE - Demo 3d animation program - Dos.
DEMO3DW.EXE - Demo 3d animation program - Windows.
PROGRAMS.TXT - ISoft D&M shareware products description.
3DLIB .REG - 3dLIB registration file.
3DLIB .RES - 3dLIB resource file for windows programs.
INTRODUCTION
------------
3dLIB is a library of pascal units that allows Turbo-Pascal
programmers to write applications that display and animate 3D
wire-mesh objects. The library is based on a project developed
since 1984 on different platforms.
This package supports both Turbo-Pascal for DOS and Turbo Pascal
for Windows.
3dlib15.arjpascal.559skerl,
Drugi deo 3DLIB15 paketa.
Skerl.
3dlib15.a01pascal.560skerl,
-> #554, dejanr│ Ima li tu i source ili se isti dobija tek po registraciji
│ (ili ni tada)?
└─────
mouseLib documentation file : mouseLib.doc, rel 7.0.
last update : Dec. 05, 1992, LR.
File List
---------
This package contains the following files :
MOUSELIB.PAS - mouseLib Turbo Pascal Source file
MOUSELIB.DOC - This file.
MOUSELIB.REG - Registration File.
PROGRAMS.TXT - ISoft D&M shareware products description.
MOUSETST.PAS - Simple mouseLib Turbo Pascal test sample.
MOUSETST.EXE - Compiled version of the mouseTst sample.
Pozdrav,
Skerl.
pascal.561bulaja,
-> #554, dejanr││mouseLib, rel 7.0.
│└───
│Ima li tu i source ili se isti dobija tek po registraciji (ili ni tada)?
└───
Ima source. File je prebacen i u PASCAL dir, pa koga interesuje...
pascal.562kenza,
-> #534, valhala [;> kenzo, koji trik pali za verziju 5? mislim na asm/assembler. Dajt
Na zalost,za verziju 5 ne pali nikakav trik :(Sorry :(
pascal.563dejanr,
-> #557, skerl>> DejanR-e, da li gresim?
U onoj alfa verziji koju sam video verzija TPU-a je 9. Pun paket
još nemam.
pascal.564ssokorac,
-> #554, dejanr ─┼┤ Ima li tu i source ili se isti dobija tek po registraciji (ili ni tada)?
Videh da su drugi već odgovorili, ali bih ipak iskoristio priliku da
pohvalim unit :). Ako nekome treba podrška miša i u text i u grafičkom i na
herc-u i na vga (a i na ega/cga, naravno:) - mouslib radi odlično, pa neka ga
obavezno uzme. Ima i source pa se može po volji doradjivati, mada nisam
otkrio još ništa što bi mi trebalo a da nema :).
pascal.565ssokorac,
-> #558, skerl ─┼┤ Dok ne sacekamo CAD program iz Racunara ;) evo unit-a
─┼┤ koji omogucava rad sa 2d i 3d objektima (zicanim modelima).
Usput, šta bi sa tim CAD-om? I uopšte, sa "Savetnikom za TP". :( Nema ništa
ni u novom broju. Dobro, sad nam CAD više i ne treba ;) ali bar 'savetnika'
vratite :).
pascal.566predragd,
-> #531, eagle> Jel ima neko SVGA driver(800*600*256), ali za OAK VGA?
Ne bih želeo da te unapred obeshrabrim, ali ja sam svojevremeno
tražio baš taj drajver i nisam ga uspeo naći. Sudeći po tome koliko
postoji drajvera za OAK kartice sumnjam da ćeš naći odgovarajući BGI
drajver. No, ako ga pronađeš javi, mislim da će mnogi biti
zainteresovani. Postoji doduše još jedna mogućnost, ali ti je baš ne
bih preporučio. Možeš i sam da kreiraš BGI drajver.
Peđa.
pascal.567predragd,
-> #520, isekulovic> 3.Nije mi najasnija sintaksa naredbe SetUserCharSize.
SetUserCharSize (MultX, DivX, MultY, DivY: Word);
Prva dva parametra ove naredbe se odnose na dužinu fonta, a druga
dva na visinu fonta. Sam parametar MultX označava dužinu fonta. Dužina
će biti jednaka normalnoj vrednosti aktivnog fonta puta MultX. DivX
predstavlja gustinu ispisa slova datog fonta. Što je DivX veće slova
će biti zbijenija međusobno. Za MultY i DivY važi isto samo što se
odnosi na visinu fonta. Preporučujem ti da malo eksperimentišeš sa
ovom naredbom, tako ćeš najbolje videti čemu koji parametar služi. Ako
imaš TP6 pogledaj primer u help-u. U knjizi ne piše ovako kako sam ti
ja objasnio, ali možda će ti ovako biti jasnije.
Peđa.
pascal.568kenza,
-> #558, skerl [;> Ukoliko se nekome svidi, mogao bi i u dir da uleti :)))
Mogao bi odmah da ide u dir ;)
pascal.569drmarke,
-> #399, darone
> Evo ti jedan VGAMODE, za OAK 037, možda proradi.
Hvala puno!
Proradilo je kako treba. U stvari bila je greška do čoveka
kome sam i rekao da upotrebi svoj VGAMODE ali on nije baš
najbolje shvatio, pa kad sam ja otišao tamo sve je iz cuga
proradilo. Uzgred kako da taj VGAMODE pozivam iz batch file-a,
i da ga setujem na MDA. Postoje tamo neki kodovi za razne
režime rada ali nisam ih baš provalio, tj nisam našao koji je
za MDA?
Pozdrav DrMarke
pascal.570dejanr,
==========
borland/turbo.pascal #6589, from mnevalainen, 951 chars,
Thu Feb 11 18:12:32 1993
----------
TITLE: Pos function in TP7.0
I just got my copy of TP7.0 after using version 5.5 for years. First
ten minutes made me believe that 7.0 is not quite compatible with 5.5 code.
The incompatibleness appears in the following situation:
Var
SearchString: Array[1..10] of string;
Line:String;
i:Integer;
begin
.
SearchString[1] := ''; { Null string }
Line := 'Some String';
i:=Pos(SearchString[1], Line);
.
After this i=1 in version TP5.5, but in TP7.0 i=0 !!
I believe 5.5 is right, because Null-string should be compatible with
any string.
My program should search quickly about 10 SearchStrings from a 0.5 MB big
file. Some of the search strings are sometimes empty (=Null strings). This
simple routine that worked OK in 5.5 will run slower and be more
complicated if i have to add ten more if..thens.
Or is there some other way than Null Strings to have all_string_compatible
variables in version 7.0 ?
mnevalainen
pascal.571valhala,
-> #556, paki: xŠöJxđčÝ
nabavio sam tasm, ali ne znam sta sa njim da radim. stalno mi daje izvestaje
tipa (ako startujem tasm) fatal...;(ako
startujem make)can't open make file...;Sta da radim? Da li da trazaim pomoc
u drugoj konf, ili mi ovde neko moze pomoci?
pascal.572bulaja,
-> #565, ssokorac│Usput, sta bi sa tim CAD-om? I uopste, sa "Savetnikom za TP". :(
└───
Ne znam sta bi, ali meni se cini da taj savetnik onako kako je bio
koncipiran i pisan nije bio previse koristan :). Rubrika tipa savetnika
za TP je svakako neophodna, ali bi bilo mnogo korisnije da se autor
ugleda npr. na ZZ-ove i NBatocanin-ove rubrike za C i Clipper.
pascal.573ssokorac,
-> #570, dejanr ─┼┤ I believe 5.5 is right, because Null-string should be compatible with
─┼┤ any string.
Da napomenem da je i u TP 6.0 kao i u TP 5.5. Ovo je baš jedna 'zgodna
glupost' Borlanda :(.
pascal.574predragd,
-> #563, dejanr> U onoj alfa verziji koju sam video verzija TPU-a je 9.
Borland ne bi bio ono što i je kad ne bi napravio novu glupost. U
TP 7.0 nema više 9-ke. Nalazi se neki Q ili X (to je i razlog zašto ne
koristim paket).
Peđa.
pascal.575dejanr,
-> #555, stomic>> Mada Borlandov intergrisani debuger i VID (JPI debuger), ipak
>> mislim, nema šanse da se porede ;).
Pa, treba porediti ono što je u istoj klasi. Dakle, Turbo Debugger
i VID, a tu je već poređenje mnogo primerenije i, mislim, na strani
TD-a (mada mi nikako nije jasno zašto ne naprave pravu Windows
verziju nego onaj surogat što dele uz Borland C++ i Borland Pascal).
Sa druge strane, TP-ov integrisani debager je nešto što JPI M2 naprosto
nema, i to je opet prednost TP-a.
>> > Jedina prava i velika prednost PC Modula 2 je, po mom
>> > mišljenju, to što generišu .OBJ fajlove a ne one glupe
>> > paskalove TPU-ove.
>>
>> žini mi se da je baš ovde velika prednost u brzini TPa nad bilo
>> kojim drugim kompajlerom.
Možda si u pravu, ali mi ipak nije jasno zašto bi se pojavljivala
*tolika* razlika u brzini prevođenja samo u zavisnosti od toga u
kom se formatu "prevod" snima. Najzad, ako napraviš TP program
koji uopšte nema unit-e, a sa druge strane JPI M2 program koji
je takođe u jednom modulu, opet će TP beskrajno brže prevoditi,
dakle mora da tu ima "još nešto". Voleo bih da je TP prebaci na
OBJ fajlove pa makar nešto (ne previše ;) i izgubio na brzini.
>> Uniti u TP su (očigledno) preuzeti iz M2.
Da, mislim da su tu veliki posao napravili.
>> BTW, JPI M2 je napravio čovek koji je zbog neke svađe napustio Borland ;).
Znam... mada ne mislim da je bila "svađa" nego je čovek prosto zaključio
da će bolje zarađivati radeći za svoj račun... i verovatno mu dobro ide :)
Ipak, Jensen & Parters je "patuljak" prema Borlandu, što, naravno, ne znači
ništa loše po JPI M2 jer je, najzad, i Borland "patuljak" prema Microsoftu,
Microsoft prema IBM-u i tako dalje (ili nema "tako dalje"? :)
>> Modularno programiranje je jedan međukorak između strukturnog i
>> OOPa :). A svi ćemo kad tad preći na OOP.
Nisam ubeđen.
pascal.576stomic,
-> #575, dejanr$ Pa, treba porediti ono što je u istoj klasi. Dakle, Turbo
$ Debugger i VID, a tu je već poređenje mnogo primerenije i,
$ mislim, na strani TD-a (mada mi nikako nije jasno zašto ne
$ naprave pravu Windows
Slažem se :).
$ Možda si u pravu, ali mi ipak nije jasno zašto bi se
$* pojavljivala tolika* razlika u brzini prevođenja samo u
$ zavisnosti od toga u kom se formatu "prevod" snima.
$ Najzad, ako napraviš TP program
Ne znam dovoljno strukturu .OBJ a kamoli .TPU da bih znao tačno,
ali moguće da je deo ubrzanja na drugačijoj i bržoj strukturi.
Kao što se pojavljuju nove, brže baze podataka, jednostavno jer ne
koriste (zastarelu?) .DBF strukturu. Mada ne treba zanemariti,
što je TP "malo" stariji, tj. dosta dugo se usavršava.
$ Ipak, Jensen & Parters je "patuljak" prema Borlandu, što,
$ naravno, ne znači ništa loše po JPI M2 jer je, najzad, i
$ Borland "patuljak" prema Microsoftu,
Sasvim :). Mada je JPI otkupljen od strane Clariona, nadam se da će
nastaviti razvoj M2 :).
$>> Modularno programiranje je jedan međukorak između
$>> strukturnog i OOPa :). A svi ćemo kad tad preći na OOP.
$
$ Nisam ubeđen.
Za koji deo nisi ubeđen ;)? Da je međukorak ili da će mo svi
preći na OOP :)?
Ostalo što nisam citirao, se uglavnom slažem sa tobom :).
ST.
pascal.577dejanr,
-> #576, stomic>> > > Modularno programiranje je jedan međukorak između
>> > > strukturnog i OOPa :). A svi ćemo kad tad preći na OOP.
>>
>> > Nisam ubeđen.
>>
>> Za koji deo nisi ubeđen ;)? Da je međukorak ili da će mo svi
>> preći na OOP :)?
Nisam ubeđen da ćemo svi preći na OOP. Zapravo, ubeđen sam da nećemo
svi preći na OOP. Toliko sam ubeđen da bih se kladio u, što bi rekao
pokojni Isaac Asimov, 30 centi, najveću sumu koju rizikujem ako sam u
nešto baš siguran :)
pascal.578skerl,
Ukoliko niste zadovoljni rasporedom hot key kombinacija u
TP 6.0 IDE-u, ovaj program je prava stvar za vas!
Pozdrav,
Skerl.
┌────────────────────────────────────────────────────────────────┐
│ HOTMOD is a program that allows you to reassign the hot keys │
│ in the Integrated Development Environment of Turbo Pascal 6. │
└────────────────────────────────────────────────────────────────┘
hotm60.zippascal.579skerl,
┌────────────────────────────────────────────────────────────┐
│ STRLIST.DOC -- Turbo Pascal 6.0 String List Resource │
│ by Wilbert van Leijen │
├────────────────────────────────────────────────────────────┤
│ *** Released into the Public Domain *** │
└────────────────────────────────────────────────────────────┘
Description
-----------
STRLIST takes an ASCII file as input and converts it to an object
file, linkable to a TP 6.0 program.
STRLIST interprets the ASCII file to be a list of strings,
each on a separate line.
STRLIST aides you to store lists of strings efficiently in your
application; e.g. error messages or pick-list data. This utility
overcomes the drawbacks of storing static data that, when put in
an array of String[nn] would waste considerable data space, or
when looked up using a Case statement, would unnecessarily increase
code size.
The following files should be present in the archive:
-----------------------------------------------------
STRLIST.DOC Brief description of STRLIST utility
STRLIST.EXE Turbo Pascal string list compiler
ERRORSTR.LST List of critical error codes, input for STRLIST
ERRORSTR.OBJ Output from STRLIST
CRITERR.PAS Critical error handler, incorporates ERRORSTR.OBJ
DEMO.PAS Demonstrates the usage of CritErr
Pogledajte demo program i criterr unit, moze vam pomoci u
resavanju problema sa pisanjem vasih programa, ukoliko ih ima :)
Pozdrav,
Skerl.
strlist.zippascal.580skerl,
┌──────────────────────────────────────────────────────────────────┐
│ PACKOBJ.DOC -- The Turbo Pascal Compressing Data Objitizer │
│ │
│ By Wilbert van Leijen │
└──────────────────────────────────────────────────────────────────┘
Introduction
────────────
PACKOBJ is a program that takes binary data as input, compresses it using
a fast LZW algorithm and converts it to an .OBJ file that you can link in
a Turbo Pascal (TP) program, version 4.0 or later.
TPUNPACK.PAS is the TP unit that takes care of decompressing the data.
Running the demo
────────────────
In order to compile and run the demo, you must have the following:
- Turbo Pascal, version 4.0 or later
- A VGA display. (Any VGA display will do.)
What you must do:
- Make TPC.EXE, the Turbo Pascal command line compiler, accessible
on the DOS path
- Run JOLTCOLA.BAT
Files in this archive:
──────────────────────
READ.ME This file
BINOBJ.EXE BINOBJ replacement - faster, smaller, more features
PACKOBJ.EXE PACKOBJ compressing BINOBJ-like utility
PACKOBJ.DOC Accompanies PACKOBJ utility
TPUNPACK.PAS Declares the decompression routine
UNPACK.OBJ Implements the decompression routine
MAKEJOLT.BAT Batch file to run the demo - VGA required!
VGABIOS.PAS Interfaces VGA BIOS routines to Turbo Pascal
VGABIOS.ASM
VGABIOS.OBJ
JOLTCOLA.PAS Source of program, shows the Programmer's Beverage
JOLTCOLA.DAC Colour table of VGA mode 13h picture
JOLTCOLA.PIC Bitmap of VGA mode 13h picture
Pozdrav,
Skerl.
packobj.zippascal.581darone,
-> #569, drmarke>> proradilo. Uzgred kako da taj VGAMODE pozivam iz
>> batch file-a, i da ga setujem na MDA. Postoje
>> tamo neki kodovi za razne režime rada ali nisam
>> ih baš provalio, tj nisam našao koji je za MDA?
E ovo već ne znam :(
darone
pascal.582vitez.koja,
-> #520, isekulovic#=> 2.Da li je moguce iz programa postaviti vrednost
#=> enviroment promenljive?
Moguce je... samo /cini mi se/ taj deo mora da se napise asemblerom...
Postoji int funkcija koja izvrsava komandu komandnog interpretera na
nultom (osnovnom?) nivou, pod uslovom da je isti ostao citav u
memoriji... pogledaj help-pc ili nesto slicno za detalje.
pascal.583vitez.koja,
-> #572, bulaja#=> :). Rubrika tipa savetnika za TP je svakako neophodna,
#=> ali bi bilo mnogo korisnije da se autor ugleda npr. na
#=> ZZ-ove i NBatocanin-ove rubrike za C i Clipper.
Bas tako... a uzgred, bilo je u ovom savetniku s vremena na vreme
svetlih mesta tipa "if b=true" (b:boolean) i sl.
pascal.584ssokorac,
-> #572, bulaja ─┼┤ koncipiran i pisan nije bio previse koristan :). Rubrika tipa savetnika
Slažem se da nije bio koristan, ali, nekako, uvek sam se nadao da će se
nešto pojaviti, a ono - cap! ukinuše ga :(. I, sada, imam gomilu tekstova o
drugim jezicima, a TP ni reč :(. Umesto onih svadanja i replyova, koji će,
izgleda, prerasti u običaj, moglo bi se dodati nešto korisnije.
pascal.585ssokorac,
Kako mogu neki deo ekrana da zapišem u fajl tako da posle mogu ponovo da ga
nacrtam (graph)? Samo ne onako tačku po tačnu, već nešto poput
GetImage/PutImage...
Thanks, Stasha.
pascal.586eagle,
-> #585, ssokoracImaš u direktorijumu paskal datoteku wctunits, u kojoj je izmedju ostalog
unit xgraph, koji ima to što tražiš.
pascal.587pedjak,
-> #585, ssokorac> Kako mogu neki deo ekrana da zapišem u fajl tako da posle mogu ponovo da
> ga nacrtam (graph)? Samo ne onako tačku po tačnu, već nešto poput
> GetImage/PutImage...
Pa ja to radim ovako:
da snimiš: da učitaš:
Assign(f,'slika.dat'); Assign(f,'slika.dat');
Rewrite(f,1); Reset(f,1);
size:=ImageSize(x1,y1,x2,y2); GetMem(slika,FileSize(f));
GetMem(slika,size); BlockRead(f,slikaž,FileSize(f));
GetImage(x1,y1,x2,y2,slikaž); PutImage(x,y,slikaž,NormalPut);
BlockWrite(f,slikaž,size); Close(f);
Close(f);
E sad, ja na ovaj kod imam Copyright, pa nećeš moći da ga primeniš
u SUPI-ju. :))))
pedja
pascal.588paki,
-> #585, ssokorac> Kako mogu neki deo ekrana da zapišem u fajl tako da posle mogu
> ponovo da ga nacrtam (graph)? Samo ne onako tačku po tačnu,
> već nešto poput GetImage/PutImage...
Pomoću Window unita, imaš 2 procedure baš za to. Unit je u dir-u
RSOFT, u Računarima 60-i-nešto.
pascal.589dgrbic,
-> #556, paki:: Mnogo lakše je da nabaviš v6.0 TPascala (kompatibilna sa
:: 5.0), koja ima i asm direktivu :)
Ali ima ružan IDE, i sporije prevodi ako nemaš EMS ili VEEEELIKI keš, i ne
slaže se sa svim drajverima za pacova, i obrisao sam ga sa diska (a i mnogo
mi je tri verzije Turbo Pascala na disku od 40 mega :)
pascal.590dgrbic,
-> #555, stomic:: jer su na nivo jezika samo osnovne funkcije ORD, CHR,...
:: Sve ostalo je u Modulima.
Al zato je NEMOGUĆE napisati funkciju sa promenljivim brojem parametara
(osim ako izlazi iz okvira Wirthove definicije), pa ondak ko će da popamti
sve one ludačke kombinacije malih i velikih slova u nazivima funkcija
standardne biblioteke...
:: Menu.Create, Index.Create. Može isto i u TP (ako si
:: disciplinovan :), MenuCreate, IndexCreate, ali treba
:: stavljati taj prefiks za svaku
Jock!
Ako u unitu A i u unitu B imaš proceduru C, možeš da ih pozivaš sa A.C,
odnosno sa B.C, a ako staviš samo C biće pozvana ona iz unita koga si
kasnije naveo u uses listi (ili koji je u tom delu programa koji upravo
pišeš). Zgodno ako hoćeš da "prejašeš" neku standardnu proceduru, kao što
je npr. getmem (baš skoro je Skerl tu negde ostavio unit koji to radi).
:: Modularno programiranje je jedan međukorak između
:: strukturnog i OOPa :). A svi ćemo kad tad preći na OOP.
TP već jeste, od verzije 5.5 (a i mi polako prelazimo, od verzije TPW...)
pascal.591dgrbic,
-> #569, drmarke:: proradilo. Uzgred kako da taj VGAMODE pozivam iz batch
:: file-a, i da ga setujem na MDA. Postoje tamo neki kodovi za razne
VGAMODE M - MDA
C - CGA
E - EGA
V - VGA
x - mod broj x a x je heksa cifra. Npr VGAMODE 13 je 320x200x256
pascal.592dgrbic,
-> #573, ssokorac:: Da napomenem da je i u TP 6.0 kao i u TP 5.5. Ovo je baš
:: jedna 'zgodna glupost' Borlanda :(.
Možda nije u redu što se tiče kompatibilnosti, ali što se tiče logike - pa
"ništa" se sigurno NE sadrži u "nečemu".
pascal.593dejanr,
-> #589, dgrbic>> Ali ima ružan IDE, i sporije prevodi ako nemaš EMS ili VEEEELIKI keš,
>> i ne slaže se sa svim drajverima za pacova, i obrisao sam ga sa diska
Isti slučaj, ja ostao na 5.5 premda sam kupio 6.0 :(
Ovaj BP 7.0 bi mogao da se pokaže kao ozbiljno iskušenje za preći na
njega ;) Bar po prvim utiscima.
pascal.594stomic,
-> #590, dgrbic$ Al zato je NEMOGUĆE napisati funkciju sa promenljivim
$ brojem parametara (osim ako izlazi iz okvira Wirthove
$ definicije)
Ne znam da li je u okvirima Wirthove definicije, ali je
MOGUĆE, npr:
PROCEDURE PrintF(VAR res: ARRAY OF CHAR; formstr: ARRAY OF CHAR (*...*));
BTW, 90% stvari u TPu nije po Wirthovoj definiciji ;).
$ (osim ako izlazi iz okvira Wirthove definicije), pa ondak
$ ko će da popamti sve one ludačke kombinacije malih i
$ velikih slova u nazivima funkcija standardne biblioteke...
Stvar navike. Kombinacije su sasvim logične.
$ Ako u unitu A i u unitu B imaš proceduru C, možeš da ih
$ pozivaš sa A.C, odnosno sa B.C, a ako staviš samo C biće
$ pozvana ona iz unita koga si
Ovo sam baš ja izneo pre nekih 6-7 meseci ;))). BTW, koliko lepo
izgleda sors kada neke procedure/funkcije pozivaš sa imenom modula,
a neke bez :)?
$ TP već jeste, od verzije 5.5 (a i mi polako prelazimo, od
$ verzije TPW...)
Lično mislim da je OOP u TPu blago rečeno očajan.
ST.
pascal.595dejanr,
-> #594, stomic>> > pa ondak ko će da popamti sve one ludačke kombinacije malih i
>> > velikih slova u nazivima funkcija standardne biblioteke...
>>
>> Stvar navike. Kombinacije su sasvim logične.
Možda, samo kako onda da kod Logitech i JPI Module 2 važe različite
logike? ;)
Meni se mnogo više sviđa kad može da se kuca po želji, dakle ako hoću
mogu i sve malim slovima, a ako hoću da pravim preglednost, mogu po
"svojoj" logici :) A tek stari dobri fortran kod koga blanko nije
element jezika, pa možeš gde ti volja da staviš blanko, a gde ti nije
volja da ga izostaviš... :)
pascal.596ssokorac,
-> #589, dgrbic ─┼┤ Ali ima ružan IDE, i sporije prevodi ako nemaš EMS ili VEEEELIKI keš, i
─┼┤ ne slaže se sa svim drajverima za pacova, i obrisao sam ga sa diska (a i
Po meni, IDE je mnogo lepši, brzina je ok, a nemam ni ems ni veliki keš
(340k:( )... jedino se slažem za pacova, ali bože moj, onako mi ne treba miš
dok kucam program :).
pascal.597ssokorac,
-> #592, dgrbic ─┼┤ "ništa" se sigurno NE sadrži u "nečemu".
Pa, jes' da je logično, ali sada pola programa koji su tražli sa pos ne
rade kako treba :(.
pascal.598ssokorac,
-> #587, pedjak ─┼┤ Pa ja to radim ovako:
Eh, kad god uzmem pa pišem neke gluposti sa mem(blablabla...) i zapetljam
se, i ništa ne radi, onda ovde pitam i dobijem odgovor BlockRead/Write i onda
se ubijem kako se nisam setio :). Hvala :).
─┼┤ E sad, ja na ovaj kod imam Copyright, pa nećeš moći da ga primeniš
─┼┤ u SUPI-ju. :))))
Dobro, spomenuću te u prozoru 'Zahvaljujem' dimenzija 3x1 :).
pascal.600ssokorac,
Može li neko da pošalje svga256.bgi i sl. bgi drajvere, ili,
ako ih je već neko poslao da napomene gde su :)
pascal.601paki,
-> #587, pedjak> E sad, ja na ovaj kod imam Copyright, pa nećeš moći da ga
> primeniš u SUPI-ju. :))))
Izem ti (C) kad je skoro isti kod primenjen u Window unitu,
autor Viktor Cerovski.
pascal.602eagle,
-> #600, ssokorac> Može li neko da pošalje svga256.bgi i sl. bgi drajvere, ili,
> ako ih je već neko poslao da napomene gde su :)
Pogledaj direktorijum drivers, i datoteku svga256.zip (ili arj)
Pošto tebi treba samo 320*200 256 slobodno ga skini. Inače, meni ne radi
u drugim modovima..
E A G L E
pascal.603ssokorac,
-> #602, eagle ─┼┤ Pošto tebi treba samo 320*200 256 slobodno ga skini. Inače, meni ne
─┼┤ radi u drugim modovima..
Meni radi i u većini drugih, mada malo zeza ponekad ali to sad nije
bitno... Fontovi ne rade u tim drugim rezolucijama... Da li mogu ovi
postojeći da se preprave ili neko ima fontove za 320x200x256?
P.S. Ima li neko nešto što radi isto što i PutImage, samo brže?
pascal.604bulaja,
-> #524, cubro│Evo pokusacu poslati TUTILITY program za rekonstrukciju PARADOX datoteka.
└───
Cini mi se da pokusaj nije uspeo :), posto ne uspevam nikako da
otpakujem arhivu. Jel uspeo neko? :)
pascal.605bulaja,
-> #584, ssokorac│Slazem se da nije bio koristan, ali, nekako, uvek sam se
│nadao da ce se nesto pojaviti, a ono - cap! ukinuse ga :(.
└───
Mislim da je bolje da ga nema makar i godinu dana dok se ne nadje
neko resenje (npr. kadrovsko, ako je problem u tome) da TP savetnik
bude korisniji, nego da se ovako otaljava unedogled uskracujuci time
sansu nekome ko bi mozda bolje iskoristio taj prostor.
pascal.606inesic,
-> #577, dejanr> Nisam ubeđen da ćemo svi preći na OOP. Zapravo, ubeđen sam
> da nećemo svi preći na OOP. Toliko sam ubeđen da bih se
> kladio u, što bi rekao
Zašto? Šta će nas sprečiti da pređemo na OOP jednog dana kad svi budemo
imali mašine sa 15Gb RAMa? Inertnost ili..?
Video sam u 55 na ETF, dva tipa su na vižual bejziku napravili simulaciju
NAR-1 procesora (eh Parezanoviću, besmrtan si :) i to je IZGLEDALO
fantastično. Ne kažem da se to ne može u TPu, ali je vamo bilo u nekih
pedesetak linija sorsa.
Pitao bih iskusnije Šta je mana OOP?
Ivica
pascal.607dejanr,
-> #606, inesic>> > Nisam ubeđen da ćemo svi preći na OOP. Zapravo, ubeđen sam
>> > da nećemo svi preći na OOP. Toliko sam ubeđen da bih se
>> > kladio u, što bi rekao
>>
>> Zašto? Šta će nas sprečiti da pređemo na OOP jednog dana kad svi budemo
>> imali mašine sa 15Gb RAMa? Inertnost ili..?
Pa, pre svega, reći da će *svi* nešto uraditi uvek je deplasirano. Ma koliko
nešto bilo dobro, naći će se neko kome ne odgovara.
Drugo, mislim da prelazak na OOP nema mnogo veze sa snagom kompjutera,
RAM-a, diska itd. To je kao kada mi jedan prijatelj, koji se bavi Venturom
na AT-u, kaže "joj kad ću ja da imam 80886 sa hardom od 4 gigabajta", a ja
mu odgovorim da će to nema sumnje da se desi, ali da će tada postojati
Ventura 21.0 koja za komforan rad zahteva 80986 i disk od terabajta :)
Oprema i softver idu napred zajedno.
Treće, pogledaj objektivno šta nam je danas OOP doneo. Ugrađen je u neke
Microsoftove i sve Borlandove jezike (C, Pascal itd), prevashodno da bi
učinio programiranje pod Windows-om jednostavnim. I, da li ga je učinio
jednostavnim? Nije, ili bar ne naročito - i dalje su to šume objekata,
klasa, čuda, i dalje neko da bi počeo ozbiljno da programira pod Windows-om
ima da potroši silne sate i dane proučavajući papire, help-ove, biblioteke
itd. I kada sve to prouči, da li će ti njegovi Windows programi posle da
budu lako prenosivi na druge platforme? Već je OS/2 pokazao da neće. Ispada
da sa OOP-om nije ništa naročito lakše nego sa Windows SDK-om koji su svi
onoliko napadali da je komplikovan (i jeste komplikovan).
Ili ajmo nešto jednostavnije, valjda se svi sećaju kako su se na bejziku
kontrolisale run time greške. Kažeš:
10 ON ERROR GOTO 1000
...
100 REM Glavni meni
...
990 END
1000 PRINT ERR, " at line ", ERL
1010 GOTO 100
Da li može da se zamisli lepši, efikasniji i za razumevanje jednostavniji
način da se kontroliše pojava greške? Da li je taj način nekome potrebno
mnogo objašnjavati? Nije, razume se na prvi pogled. E onda uzmeš pa
pogledaj "objektno orijentisano" tretiranja greški kod novog Clippera
(jezik koji se gotovo interpretira, i u kome je moglo da se primeni
isto takvo rešenje). Šetaju te sa nekakvim objektima, nekakvim njihovim
elementima, brojačima, čudima, i kad se najzad ispetljaš iz toga, vidiš
da su ti ponudili divnu mogućnost da ti "objekat" sam broji koliko je
puta greška nastupila, pa da recimo odustane tek posle desetog pokušaja.
Kao da mi ne bi bilo lakše, kad bi mi već to jednom u milion puta trebalo,
da sam napravim brojač koji će to da meri!
Sve u svemu, sve te priče o objektnom programiranju lepo zvuče na papiru,
ali da to toliko olakšava rad koliko se tvrdi... duboko sumnjam. Lično
više verujem u veliko širenje nekakvih generatora aplikacija (pa makar
i objektno orijentisanih) nego OOP-a. Ono što je dobro u njemu će, nema
sumnje, "preživeti" ali će se utopiti u neku novu metodologiju.
PS Kao što se vidi, poruka je veoma u vezi temom pascal :(
pascal.608stomic,
-> #595, dejanr$ Meni se mnogo više sviđa kad može da se kuca po želji,
$ dakle ako hoću mogu i sve malim slovima, a ako hoću da
$ pravim preglednost, mogu po "svojoj" logici :) A tek stari
$ dobri fortran kod koga blanko nije
Ali zato nikada ne smeš da koristiš type za ime promenljive,
procedure, ... Što je prilično lepo za ime promenljive koja
sadrži neki tip (npr.). I jedno i drugo ima prednosti i mana.
Meni, lično, uopšte ne pada teško case sensivity (ili kako se
već piše ;).
ST.
pascal.609dejanr,
-> #608, stomic>> > A tek stari dobri fortran kod koga blanko nije
>>
>> Ali zato nikada ne smeš da koristiš type za ime promenljive,
>> procedure, ... Što je prilično lepo za ime promenljive koja
>> sadrži neki tip (npr.).
Ne znam da li se ovo odnosilo na paskal ili na "stari dobri fortran",
jer za prvi važi a drugi... elem, baš kao što blanko nije element fortrana
pa možeš po volji da ga stavljaš i ne stavljaš gde želiš, tako i fortran
nema rezervisane reči, dakle apsolutno svako ime može da bude ime
promenljive, i uz to nema veze kakvim ga slovima kucaš :)
Al su ga napravili, svaka im čast, a? :)
Uzgred, ja ne bih zvao promenljivu type (pa ni tYpe, Type itd) sve i
da to ne zbunjuje kompajler - zbunjivalo bi mene ;)
pascal.610dgrbic,
-> #596, ssokorac:: Po meni, IDE je mnogo lepši, brzina je ok, a nemam ni ems
:: ni veliki keš (340k:( )... jedino se slažem za pacova,
:: ali bože moj, onako mi ne treba miš dok kucam program :).
Ako možeš, od tih 384K stavi 64K EMS a ostalo za keš, da vidiš kako će da
se poveća brzina prevođenja.
TP6.0 nad starijim ima dve prednosti, ugrađeni asembler i editor koji može
da proguta više od 64K teksta (naravno, ako ne računamo objekte, koji jesu
neka relativna prednost u odnosu na verzije starije od 5.5 ali samo ako se
koriste).
E, da, ima i treća prednost, a to je {$X+}.
Ali sve to ima i TPW, a i još ponešto ;)
pascal.611dgrbic,
-> #594, stomic:: Ne znam da li je u okvirima Wirthove definicije, ali je
:: MOGUĆE, npr:
::
:: PROCEDURE PrintF(VAR res: ARRAY OF CHAR; formstr: ARRAY
:: OF CHAR (*...*));
Ha, ovo su prepisali iz TP-a ;)
pascal.612dgrbic,
-> #597, ssokorac:: Pa, jes' da je logično, ali sada pola programa koji su
:: tražli sa pos ne rade kako treba :(.
Pa dobro, meni nikad nije ni palo na pamet da tražim prazan string, pa
pošto nisam ni probao kako radi funkcija u tom slučaju, a bilo mi je
logično da radi onako kako radi "po novom", uvek bih stavio proveru da nije
string slučajno prazan, pa ako jeste... što da se gubi vreme na traženje?
pascal.614bulaja,
-> #524, cubro│Evo pokusacu poslati TUTILITY program za rekonstrukciju PARADOX datoteka.
│...
│** Uz poruku 'tutil40.zip' (64421 bytes)
└───
Pokusaj definitivno nije uspeo :). Nasao sam tutil40.zip na listi
datoteka jednog outer BBS-a i isti je dugacak 228 KB.
pascal.615pedjak,
-> #589, dgrbic> Ali ima ružan IDE, i sporije prevodi ako nemaš EMS ili VEEEELIKI keš, i ne
> slaže se sa svim drajverima za pacova, i obrisao sam ga sa diska (a i
> mnogo
A i pravi duže programe i ima ružan help...
pedja
pascal.616vitez.koja,
-> #593, dejanr#=> Isti slucaj, ja ostao na 5.5 premda sam kupio 6.0 :(
Bice da jednostavno niste pruzili sestici pravu sansu... Ja sam joj
prisao sa povecim entuzijazmom, mada sam bio prilicno naviknut na 5.5, i
malo vremena mi je trebalo da se naviknem :)
pascal.617peca.st,
-> #587, pedjak!-> E sad, ja na ovaj kod imam Copyright, pa
!-> nećeš moći da ga primeniš u SUPI-ju.
!-> :))))
Ih al ti je ideja....
Ovo što jes jes radi, al samo na Hercu, jerbo njegov ekran ima manje od 64K,
a VGA ekran ima barem 256K. Neće raditi zato što je parametar koji se
prosleđuje (kod tebe SIZE) tipa word, a to je 64K. :(
Ja sam se malo mučio sa ovim, pa sam iz više puta snimao VGA ekran i tako može
al je glupo. Bolje je uzeti ono za snimanje u PCX formatu, šljaka ko ludo,
al opet samo do rezolucije 640*480*16.
P e C a
pascal.618peca.st,
-> #603, ssokorac!-> P.S. Ima li neko nešto što radi isto što
!-> i PutImage, samo brže?
A pro po ovoga...
Ima li neko što radi isto što i GetPixel, samo brže?
Nije bitno da li je u assembleru ili bilo čemu već...
P e C a
pascal.619mjova,
-> #604, bulaja>│ Evo pokusacu poslati TUTILITY program za rekonstrukciju
>│ PARADOX datoteka.
> Cini mi se da pokusaj nije uspeo :), posto ne uspevam
> nikako da otpakujem arhivu. Jel uspeo neko? :)
mislim da nije jer imam istih problema...
pascal.620ssokorac,
-> #615, pedjak ─┼┤ A i pravi duže programe i ima ružan help...
Programi manje-više, ali u help mi ne diraj, uradjen je odlično! Bar meni.
Sve što se može naći - nadješ. Plus primer.
pascal.621ssokorac,
-> #617, peca.st ─┼┤ a VGA ekran ima barem 256K. Neće raditi zato što je parametar koji se
─┼┤ prosleđuje (kod tebe SIZE) tipa word, a to je 64K. :(
Ma, meni je trebao samo deo ekrana, ali sam ionako odustao od onog načIna
jer je Put/GetImage grozan, pa sam napravio svoj(e) :). Da viš' samo brzinu
:)...
P.S. Na onim drugim rezolucijama sa svga???.bgi drajverima rade i fontovi
samo se moraju ponovo instalirati svi sa InstallUserFont :).
pascal.622paki,
-> #620, ssokorac> Programi manje-više, ali u help mi ne diraj, uradjen je
> odlično! Bar meni. Sve što se može naći - nadješ. Plus primer.
Fala Bogu. Ja sam paskal naučio iz helpa, bez ikakve dokumentacije u
pisanoj formi (sem Dejanovih umetaka, naravno :)
pascal.623inesic,
-> #607, dejanr> PS Kao što se vidi, poruka je veoma u vezi temom pascal :(
Nema veze, dobila je R flag u mojoj bazi poruka.
Fala za tri kile texta.
pascal.624ldragan,
Ako neko ima "DBASE.PAS" i "NDX_CREA.PAS" bio bih zahvalan da mi ih poŠalje.
LdraGan
pascal.625pedjak,
-> #621, ssokorac> Ma, meni je trebao samo deo ekrana, ali sam ionako odustao od onog načIna
> jer je Put/GetImage grozan, pa sam napravio svoj(e) :). Da viš' samo
> brzinu
Pa hajde da vidimo, pošaljni tvoj(e) :)
pedja
pascal.626pedjak,
-> #617, peca.st> Ovo što jes jes radi, al samo na Hercu, jerbo njegov ekran ima manje od
> 64K, a VGA ekran ima barem 256K. Neće raditi zato što je parametar koji se
Pa sad nema svaki VGA ekran više od 256K. Standardna VGA rezolucija
u video memoriji zauzima 640*0.5*480=150Kb. žak i rezolucija
800*600*16 zauzima 800*0.5*600=234Kb
> al je glupo. Bolje je uzeti ono za snimanje u PCX formatu, šljaka ko ludo,
> al opet samo do rezolucije 640*480*16.
Tja, taj unit koristim samo za neke najobičnije stvari, ali on
mi ne omogućava smeštanje slike na proizvoljan deo ekrana, što su
PutImage/GetImage mogu, a to mi u najvećem broju slučajeva i treba.
pedja
pascal.627pedjak,
-> #620, ssokorac> Programi manje-više, ali u help mi ne diraj, uradjen je odlično! Bar meni.
> Sve što se može naći - nadješ. Plus primer.
Pa sad, ne znam kol'ko si se bavio sa 5.5 , ali mi je njegov help
( po meni ) bolje organizovan i lakše nalazim nešto što mi treba
( možda i stvar navike ) i to postižem sa svega nekoliko tastera. E
sad, kad moram radim i u 6.0 , ali pronaći nešto u njegovom helpu je
prava muka ( pogotovo u onom ogromnom indexu ) . Kol'ko puta sam
tražio nešto o rezervisanim rečima, pa sam morao da ih jurim po
!?#!## indexu :), jer nema odvojene stavke kao u 5.5 . Povrh svega
help me tera i da koristim miša, a to bogami ne volim :) A primere
imaš i u helpu za 5.5 .
pedja
pascal.628peca.st,
-> #621, ssokorac!-> jer je Put/GetImage grozan, pa sam
!-> napravio svoj(e) :). Da viš' samo brzinu
!-> :)...
Kako si to napravio svoje?
Sa direktnim pristupom video memoriji ili nešto drugo?
Kolko brže radi, ako si ga napravio, XorPut?
P e C a
pascal.629peca.st,
-> #626, pedjak!-> Tja, taj unit koristim samo za neke
!-> najobičnije stvari, ali on mi ne
!-> omogućava smeštanje slike na proizvoljan
!-> deo ekrana, što su PutImage/GetImage
!-> mogu, a to mi u najvećem broju slučajeva
!-> i treba.
A zašta, crni sine, služi SetVisualPage i SetActivePage???
Ti lepo staviš na primer visual na 1 a active na 0, pa onda učitaš to,
pa onda uzmeš image, pa onda active na 1, pa onda putimage i gotovo.
Ovako izgleda komplikovano, al kad napraviš proceduru sve je lako i vrlo
fino radi!
P e C a
P.S. Imade li neko source za čitanje i pisanje PCX ili nekog sličnog?
pascal.630stomic,
-> #609, dejanr$ Ne znam da li se ovo odnosilo na paskal ili na "stari
$ dobri fortran", jer za prvi važi a drugi... elem, baš kao
Na pascal naravno :).
$ Uzgred, ja ne bih zvao promenljivu type (pa ni tYpe, Type
$ itd) sve i da to ne zbunjuje kompajler - zbunjivalo bi
$ mene ;)
Opet stvar navike. Meni se mnogo sviđa. Što se tiče Fortrana
ne mogu da sudim, jer sam ga pogledao samo jednom pre 2-3 godine
(tj. kao da ga i nisam pogledao ;). Veliki propust, priznajem :).
žim stignem pozabaviću se malo :).
Jedna velika (po meni) prednost M2, koju sam zaboravio da navedem,
su .DEF fileovi (pogotovo kada više programera rade na jednom
projektu). Kod TP se to svelo na izdvajanje interface dela iz unita,
i stavljanje u .INT file, ali, znaš već sam, da je ovo budalaština.
DEF fileovi su izbačeni iz Oberona. To je, činimi se, druga velika
greška posle izbacivanja FOR petlji u Oberonu.
Prešao sam na M2 jer mi je došla kao pascal bez stvari koje su
mi smetale u njemu (pascal po meri :).
ST.
pascal.631dtadic,
-> #629, peca.st>> P.S. Imade li neko source za citanje i pisanje PCX ili nekog slicnog?
Pogledaj stare poruke u ovoj temi. Uz neke od njih treba da se
nalaze TPPCX.ARJ i GIF-PAS.ARJ (ili ZIP).
DT
pascal.632pedjak,
-> #624, ldragan> Ako neko ima "DBASE.PAS" i "NDX_CREA.PAS" bio bih zahvalan da mi ih
> poŠalje.
Evo, stiže...
pedja
dbasendx.arjpascal.633dejanr,
-> #630, stomic>> Jedna velika (po meni) prednost M2, koju sam zaboravio da navedem,
>> su .DEF fileovi (pogotovo kada više programera rade na jednom
>> projektu).
Uh, a meni baš ti DEF fajlovi izgledaju kao jedna od mana Module, mnogo
se stvari komplikuju, sto fajlova za jedan program, obaška što treba da
menjam na više mesta kad dodajem/oduzimam neki argument.
Moje je mišljenje da ih se sam Wirth nije "džabe" odrekao u "sledećim"
jezicima.
pascal.634nbatocanin,
-> #607, dejanrUh, ko da slušam sebe pre koju godinicu ;)) Ali, debelo sam grešio,
ili danas debelo grešim.
Mislim da je OOP izuzetna stvar i pokušaću to donekle da objasnim.
U tekstovima u "Računarima" sam pokušao par puta da dam neki
jednostavan primer koji bi ovo potkrepio, ali jednostavni primeri su
kao seksualno obrazovanje sa leptirićima i bubicama ;) - ne služi
ničemu. A složen primer je teško objasniti. A prava prednost OOP-a se
ne vidi u manjim programima kakvi se obično pišu kod nas, već u
složenim sistemima koje razvijaju timovi.
Probaću sa jednim složenijim primerom: elem, u poslednje vreme
radim Clipper programe po narudžbini, tako da svaki korisnik dobija
jedinstven primerak, ali opet ima veoma mnogo zajedničkih delova. U
suštini, potrebno je paralelno održavati 3-7 verzija jednog programa.
Posao strahovito težak ako se radi na klasičan način i bez pomoćnih
alatki (uzgred, ima li neko pvcs ili neki drugi program za kontrolu
verzija?). Ovo sam rešio sasvim standardno: odvojio sam zajednički
deo u biblioteku, a svaki korisnik ima svoj katalog koji sadrži
"unikatni" kod. E sad: bez obzira kako organizuješ "sistemski" i
"unikatne" delove, i dalje ostaje mnogo koda koji je zajednički za
sve korisnike.
Primera radi, nivelacija. Svaka firma ima neki svoj sistem za
dizanje cena, pa je skoro uvek osim standardnih načina za proračun
cena potrebno dodati neki specifičan proračun koji se ne svodi uvek
na novu formulu. Tako je neminovno iskopirati proceduru i napraviti
nekoliko izmena. Ali se time stablo verzija grana na najgori mogući
način: nova verzija je samo malo različita od stare, ali dovoljno da
se promene na jednoj ne mogu automatski preneti na drugu.
Zato se ja dovijam na razne načine, ali odavno mi je jasno da su
objekti za ovo idealno rešenje: ako bih nivelaciju napravio kao neki
objekat, varijante bi mogle da budu jednostavno naslednici! U stvari,
radi se o klasama i metodama, ali da ne cepidlačim. Zašto je to bolje?
Pa, novi objekat ima sve željene osobine starog, neke nove, ali
najvažnije, sve izmene na starom objektu *automatski* nasleđuje! I to
je samo jedna od prednosti.
> Ili ajmo nešto jednostavnije, valjda se svi sećaju kako su
> se na bejziku kontrolisale run time greške. Kažeš:
>
> 10 ON ERROR GOTO 1000
> ...
> 100 REM Glavni meni
> ...
> 990 END
> 1000 PRINT ERR, " at line ", ERL
> 1010 GOTO 100
Uh, izabrao si mnogo loš primer ;) Clipper ima sistem za kontrolu
grešaka koji je daleko moćniji od navedenog. Naime, ono što tebi
treba radi sledeća naredba:
ErrorBlock ({|| Greska(e) })
Kad god se desi greška, aktivira se procedura Greska(). Ako te
interesuju podaci o greški, imaš SLOG (ovo je u ovakvom slučaju mnogo
bolje reći nego objekt) koji sadrži sve potrebne informacije, pa je
tako e:description opis greske, itd. Ako te ne interesuje,
jednostavno ne koristiš. Ovo što si naveo kao primer se veoma lako
izvodi i sa naredbom BEGIN SEQUENCE koja omogućava veoma fino
kontrolisanje greške: u programu bukvalno kažeš 'odavde' i 'dovde'
kontroliši grešku tako i tako.
> E onda uzmeš pa pogledaj "objektno orijentisano" tretiranja greški
> kod novog Clippera (jezik koji se gotovo interpretira, i u kome je
> moglo da se primeni isto takvo rešenje).
Kao što rekoh, ovo je bolje. Ali veoma je važno da Clipper-ov sistem
za greške nije OO! Pa tu se objekti koriste samo kao zamena za
nepostojeće slogove. Doduše, slažem se da je ovo moglo čistije da se
izvede.
> Ono što je dobro u njemu će, nema sumnje, "preživeti" ali će se
> utopiti u neku novu metodologiju.
E, ovde se skroz slažem. Bez obzira na žestoku kritiku hibridnih
pristupa uveren sam da on jedini ima šanse.
> PS Kao što se vidi, poruka je veoma u vezi temom pascal :(
Modulatore, znaš šta ti je činiti :))
pascal.635ppekovic,
-> #634, nbatocanin>>> PS Kao što se vidi, poruka je veoma u vezi temom pascal :(
>>
>> Modulatore, znaš šta ti je činiti :))
:) To sysadm neće njega da ispljuju zbog haosa u sor-u pa
prebacuje loptu moderatoru. :))
Paya (The Modulator)