PCPROG.2

06 Nov 1992 - 26 Jul 1993

Topics

  1. algoritmi (223)
  2. ms.dos (250)
  3. asembler (141)
  4. jezici (278)
  5. pascal (1307)
  6. cccc (752)
  7. cpp (91)
  8. clipper (1027)
  9. baze.podataka (229)
  10. razno (379)
  11. van.teme (189)
  12. basic (56)

Messages - pascal

pascal.431 predragd, -> #423, lovro
> Bilo bi lepo od tebe, pa ako ih imas... > Evo ih stižu. Videćeš da na biperu malo šušti, ali ipak radi. žuo sam da postoji i novija - bolja verzija, ali ne znam tačno gde. Peđa. modcode.arj
pascal.432 predragd, -> #421, ilazarevic
> U kojoj rezoluciji, po difoltu, radi TP program ako je BGI > drajver EGAVGA? Zavisi koju karticu imaš. Ako je EGA onda je 640x350, a ako je VGA onda u 640x480 sve to u 16 boja. Naravno sve to važi za sledeću proceduricu. DetectGraph (GraphDriver, GraphMode); InitGraph (GraphDriver, GraphMode, ''); Peđa.
pascal.433 predragd, -> #414, dejanr
> je TP 7 ograničen na DOS. Možda će te zanimati da pogledaš > preliminarni prikaz Pascala 7.0 u prošlim "Računarima" Nisam siguran da li sam dobro shvatio taj članak, ali da li BP može da prihvati sledeće var Niz: Array Š1..70000Ć of Byte; Peđa.
pascal.434 bulaja,
**** new file **** R:\IBMPC\PASCAL\*.* ---------------------- tpti1 arj 132264*+Turbo Pascal Technical Informations (Borland) #1 tpti2 arj 71832*+Turbo Pascal Technical Informations (Borland) #2 Ranije je na Sezamu vec bila datoteka tpti10.arj, ali smo nabavili jos neke TP TI od Borland-a, pa smo napravili malu reorganizaciu arhiva :). U tpti1.arj se nalaze uglavnom stvari koje su bile i u tpti10, ali takodje ima i nekih novih stvari. U tpti10 su se nalazile i neke stvari za Turbo Prolog (takvu arhivu smo svojevremeno skinuli sa Trickle-a) koje su sada prebacene u \ibmpc\program\tpro_ti.arj. U tpti2.arj se nalaze nove stvari vezane za TP 6.0 i novije verzije (TP 4 Win, BP 7.0). Nadam se da je sve jasno :).
pascal.435 dgrbic, -> #383, ppekovic
:: Probao i tako, ali neće :(. Nekad oće, nekad neće. Probao i ja, i dobio sledeće rezultate: 1. Font mora da ti bude u tekućem dir-u, jer installuserfont ne prima celu kobasicu sa punim imenom fajla. 2. žak i onda, nekad oće a nekad neće (?) Ja probao sa onim Borlandovim fontovima koji se i dobiju uz Pascal, i sa dva je radilo kako treba a sa dva nikako, to jest, ne baš nikako, funkcija install... je očito zavirila u fajl, vratila kao rezultat broj fonta isti ko što piše za taj font u helpu, a ondak... ništa, ružna debela slova. Probato sa TP 5.0 i sa TC++ neznamkojaverzijamoraobihdaizađemamrzime i isti su rezultati.
pascal.436 dgrbic, -> #391, pedjak
:: Nee... Svaki taster ima samo jedan SCAN kod. Njegova :: vrednost ide od 1-127. Ukoliko je taster pritisnut onda :: je sedmi bit resetovan, a ako je taster pušten onda je :: setovan. Zato se scan kodovi za pritisnut i otpušten :: taster razlikuju za 128. E, kako bi bilo lepo da je tako prosto... Ali nije! Pogledaj u HelpPC, ima čitava gomila scan kodova koje šalju neki tasteri, pa se još to razlikuje na AT i PS/2, pa ovo, pa ono... Mada, za neku normalnu primenu, moglo bi da se uvaži gorecitirano objašnjenje (osobito ako se radi o programu koji ne pravi egzibicije sa AT tastaturom, nego treba jednako da radi i na XTu).
pascal.437 skerl,
┌───────────────────────────────────────────────────────────────────┐ │ │ │ Documentation for │ │ │ │ TPU2ASM.EXE │ │ │ │ A symbolic disassembler for │ │ Turbo Pascal version 5.0 units │ │ │ │ Copyright (C) 1989 by Per Bent Larsen │ │ All rights reserved │ │ │ │ Version 1.0, March 1989 │ │ │ └───────────────────────────────────────────────────────────────────┘ What it is ────────────────────────────────────────────────────────────────────────────── TPU2ASM is a symbolic disassembler capable of extracting compiled code from a version 5.0 Turbo Pascal TPU file. The output is a TASM compatible assembly file. How to register ────────────────────────────────────────────────────────────────────────────── This program is sold under the ShareWare concept. This means that you may keep a copy of it for a period of 30 days for the sole purpose of testing it. After you have reviewed it, you should register it if you plan to continue using it. As a benefit of registration, you will receive the full source code for TPU2ASM (requires Turbo Professional 5.0 to compile) plus a few public domain utilities for Turbo Pascal, also written by me. You are encouraged to distribute the sha- reable version of TPU2ASM along with this documentation to others via BBS or on diskette.
pascal.438 ndragan, -> #400, inesic
/ treba da odbroji tih 'iljadu i(S)teracija. To je gubljenje Ionako radiš iteracije u petlji; napraviš petlju u petlji i nju teraš do 1000, kad izađe, zaviriš.
pascal.439 almi,
Kako da iz pascala pristupim VIDEO memoriji (recimo rez.800x600x256) tako da mogu direktno da menjam njen sadržaj. Pozdrav ALMI
pascal.440 ssokorac, -> #417, pedjak
─┼┤ Jel' mogu već sad rezervišem mesto u budućoj grupi za testiranje ─┼┤ novog SUPI-ja, a ? Ajde sredi mi :)) Teško, s obzirom da je puna :). Ali ako bude potrebe, za obimnije testiranje SUPI-ja 54 od 2.5Mb, napraviću drugu grupu O:).
pascal.441 ssokorac, -> #419, pedjak
─┼┤ A da li će raditi na Herc/mouse ? Pošto bi onda ružno izgledalo - ne :).
pascal.442 ssokorac, -> #418, pedjak
Ovo sam pravio kada sam probao kako radi. Startuj sa demosvir ime_moda. Nije ništa efektno, ako tako nešto očekuješ :) samo crta i svira istovremeno. demosvir.arj
pascal.443 ssokorac, -> #421, ilazarevic
─┼┤ U kojoj rezoluciji, po difoltu, radi TP program ako je BGI drajver ─┼┤ EGAVGA? 640x480, vidiš uz pomoć getmaxx i getmaxy :).
pascal.444 pedjak, -> #421, ilazarevic
> U kojoj rezoluciji, po difoltu, radi TP program ako je BGI drajver > EGAVGA? Pa u onoj rezoluciji koja se prosledi kao parametar procedure InitGraph ( Driver, Mode, Path ) Znači Mode je odgovoran za rezoluciju.
pascal.445 ssokorac, -> #435, dgrbic
─┼┤ Probao i ja, i dobio sledeće rezultate: Ja sam probao i radilo mi je ok sa svim fontovima koje sam probao, a ima ih 5. Samo je bio štos da ime mora biti samo 4 slova.
pascal.446 dejanr, -> #433, predragd
>> Nisam siguran da li sam dobro shvatio taj članak, ali da li BP može >> da prihvati sledeće >> >> var Niz: Array Š1..70000Ć of Byte; Ma žalost ne, u tom obliku (nikad pobeći od ta 64 kilobajta :( ). Ipak, BP 7.0 ima mehanizam koji to obezbeđuje, pogledaj poruku koju sam pre oko mesec-mesec ipo dana preneo sa BIX-a u okviru koje je izloženo moguće rešenje.
pascal.447 vvelisavljev, -> #428, vitez.koja
{$X+} Uključuje Extended syntax. (!?) Šta mu to dođe?
pascal.448 peca.st,
E jedno pitanjce, koje je verovatno glupo, al nikako da gi rešim. Na tekstualnom ekranu je nešto ispisano. Kako da to nešto, sa određenog dela ekrana sačuvam? Mislim, nešto kao getimage ali za text mod. P e C a
pascal.449 peca.st, -> #425, dzakic
!->>> Kako da ispraznim bafer tastature? A kako da ubacim znak u bafer tastature a da ne pritiskam tastaturu? To mi već odavno treba... P e C a
pascal.450 mjova, -> #449, peca.st
> A kako da ubacim znak u bafer tastature a da ne pritiskam > tastaturu? To mi već odavno treba... int 16/05h
pascal.451 ilazarevic,
Hvala svima!
pascal.452 ilazarevic, -> #449, peca.st
> A kako da ubacim znak u bafer tastature a da ne pritiskam tastaturu? > To mi već odavno treba... Pozoveš int 16h, funkcija 05h. U CH turiš scan code, a u CL ascii kod znaka. U CF ti vraća da li je greška ili ne.
pascal.453 pedjak, -> #436, dgrbic
> Mada, za neku normalnu primenu, moglo bi da se uvaži gorecitirano > objašnjenje (osobito ako se radi o programu koji ne pravi egzibicije sa AT > tastaturom, nego treba jednako da radi i na XTu). Ma da :))) potpuno se slažem sa ovim. Kod EXTENDED tastatura postoje i drugi SCAN kodovi ( sivi tasteri i tako to ). Zoran čivotić je svojevremeno napisao jedan tekst u "Računarima" o toj temi. pedja
pascal.454 pedjak, -> #441, ssokorac
> A da li će raditi na Herc/mouse ? > Pošto bi onda ružno izgledalo - ne :). A da li ćeš uz svaku kopiju SUPI-ja deliti besplatno i VGA i monitor, da bi sve to izgledalo lepše , a ? :)))))) Na nas sa Herculesom niko ne misli, šmrc :((( pedja
pascal.455 peca.st,
Povodom onog mog pitanja o snimanju tekstualnog ekrana... Ja sam prvo postavio pitanje, a posle toga mi lovro reče da on otprilike zna kako bi to trebalo da se uradi. E, on mi objasni to malo u školi, onako iz glave, ja dođem kući i uz malo muke uspem da napravim to što mi je trebalo... E, ako nekog zanima, mogu da pošaljem... P e C a
pascal.456 ssokorac, -> #447, vvelisavljev
─┼┤ š$X+ć Uključuje Extended syntax. (!?) Šta mu to dođe? Možeš da pozivaš funkcije kao procedure.
pascal.457 stomic, -> #447, vvelisavljev
$ {$X+} Uključuje Extended syntax. (!?) Šta mu to dođe? žini mi se mogućnost ignorisanja vrednost koju vraća funkcija, tj. isto tretiranje procedura i funkcija (kada je potrebno, naravno). ST.
pascal.458 stomic, -> #448, peca.st
$ E jedno pitanjce, koje je verovatno glupo, al nikako da gi $ rešim. Na tekstualnom ekranu je nešto ispisano. Kako da to $ nešto, sa određenog dela ekrana sačuvam? Mislim, nešto kao $ getimage ali za text mod. Na $b000:0000 za Hercules i $b800:0000 pa nadalje (4000 bajtova) su redom slovo, atribut za svaku poziciju na ekranu. Pročitaj odatle, sačujav, pa posle vrati upisivanjem na isto mesto. Može preko interrupt-a, ali je sporije (teže?). ST.
pascal.459 dgrbic, -> #447, vvelisavljev
:: {$X+} Uključuje Extended syntax. (!?) Šta mu to dođe? To mu dođe da možeš funkciju da koristiš i kao proceduru (ko u C-ju), na primer imaš function a (i : integer): integer; pa možeš da staviš b:=a(1); a možeš i samo a(1); ako ti tako nešto treba. Može da bude korisno.
pascal.460 ppekovic, -> #455, peca.st
>> E, ako nekog zanima, mogu da pošaljem... Samo napred, sigurno će nekog zanimati. Paya
pascal.461 ssokorac, -> #454, pedjak
─┼┤ A da li ćeš uz svaku kopiju SUPI-ja deliti besplatno i VGA i ─┼┤ monitor, da bi sve to izgledalo lepše , a ? :)))))) Može, ali SUPI košta 1000Dem. :) ─┼┤ Na nas sa Herculesom niko ne misli, šmrc :((( Ma, šalim se, radiće, samo neće biti tako lepo :).
pascal.462 ssokorac, -> #455, peca.st
─┼┤ glave, ja dođem kući i uz malo muke uspem da napravim to što mi je ─┼┤ trebalo... A što jednostavno kad može komplikovano :). Imaš uz TP 6.0 windemo.pas u kome ima lepo primer i procedure za skidanje dela ekrana.
pascal.463 zolika, -> #448, peca.st
>> E jedno pitanjce, koje je verovatno glupo, al nikako da gi rešim. >> Na tekstualnom ekranu je nešto ispisano. Kako da to nešto, sa određenog >> dela ekrana sačuvam? Mislim, nešto kao getimage ali za text mod. Naravno, Modula-2 rešava problem!!! Evo ti procedura pisana na MODULI-2, koja sadržaj prozora zadate širine i visine, i koordinate gore-levo prenosi u bafer, a takođe i sa bafera na ekran. Mala podešavanja mislim da će biti potrebna, u zavisnosti od početne adrese video-memorije. Dakle: CONST WindowWidth = 20; (* The width and height of the window with the message *) WindowHeight = 7; (* can be easily changed *) BufferSize = WindowWidth*WindowHeight; TYPE BufferType = ARRAY[1..BufferSize] OF WORD; (* For putting the contents of the screen*) Action = (ToScreen, ToBuffer); (* Which action? *) PROCEDURE BufferScreen(ScrBegin, Line, Column : CARDINAL; VAR Buf : BufferType; Mode : Action); VAR i, j: CARDINAL; (* this procedure moves block from video memory *) BegAddr: FarADDRESS; (* with Line and Column as coordinates of top- *) BEGIN (* -left-handside corner to Buf or from Buf *) BegAddr:=[ScrBegin: (* which depends on Action. Segment of screen *) 160*(Line-1)+2*(Column-1)]; (* begin is given in the ScrBegin *) FOR i:=Line TO Line+WindowHeight-1 DO FOR j:=Column TO Column+WindowWidth-1 DO IF Mode=ToBuffer THEN Buf[(j-Column+1)+WindowWidth*(i-Line)]:=BegAddr^;(* move to buffer *) BegAddr^:=BlankScreen; ELSE BegAddr^:=Buf[(j-Column+1)+WindowWidth*(i-Line)];(* ...or to screen!*) *) END; IncFarAddr(BegAddr,2); END; BegAddr:=[ScrBegin:160*i+2*(Column-1)]; (* new line *) END; END BufferScreen; Nazovi program kako hoćeš, iskompajliraj ga i uživaj!!!
pascal.464 darone, -> #442, ssokorac
>> Nije ništa efektno, ako tako nešto očekuješ :) >> samo crta i svira istovremeno. E pa kod mene ili svira ili crta ;) Sad - zavisi kako ga startujem :)) >> D:\>demosvir.exe >> Error #1 in music unit, please report to author >> BGI Error: Graphics not initialized (use InitGraph) Prvo, što ne reče da mu treba egavegea, jedva ga nađoh na disku :)) Pazi sad ozbiljno: kada mu dam parametar oxygene.mod, ali bez egavga u blizini, on počne da svira, posle par sekundi napiše BGI Error (...) i nastavi da šušti (logično). Međutim, kada mu dobacim egavegea, samo crta i ne svira :((( Buaaaaaaa, zašto? darone
pascal.465 isekulovic, -> #432, predragd
>> Zavisi koju karticu imaš. Ako je EGA onda je 640x350, a ako je VGA >> onda u 640x480 sve to u 16 boja. Naravno sve to važi za sledeću >> proceduricu. Da li to znači da ako se grafika incijalizuje na taj način, na vga raditi u 640x480 iako se podesi kartica da radi u 1024x768 modu? Ne zamerite ako je pitanje glupo ja sam hercaš.
pascal.466 inesic, -> #456, ssokorac
> Možeš da pozivaš funkcije kao procedure. ??????? žemu to služi, a uz to i ne radi?
pascal.467 dzakic, -> #466, inesic
> žemu to služi Recimo, imam neku proceduru koja treba da uradi nešto i da mi vrati Boolean da li je posao uspeo ili ne. Recimo, da iskopira datoteku uz jednog u drugi direktorijum. Ja tu proceduru napišem kao funkciju i stavim da vraća boolean. Sad, kad mi treba izveštaj da li je posao uspeo ili ne, pozivaću sa Stat:=MyCopy(s1,s2); Međutim, ako me ne zanima da li je kopiranje uspelo ili ne, što da džabe deklarišem promenljivu, lakše staviti samo MyCopy(s1,s2); Eto čemu služi, a naravno da radi. Zak
pascal.468 peca.st, -> #450, mjova
!-> int 16/05h A šta dalje? Ajde malo opširnije! P e C a
pascal.469 dzakic, -> #468, peca.st
Nema tu mnogo šta opširnije... 05H Place a keystroke into the keyboard buffer. (11/15/85 BIOS) Input: CL = ASCII character. CH = Scan Code byte (or 0 if you don't care). Output: AL = status: 0=success; 1=buffer full Function InBuf(c:char):boolean; assembler; asm mov cl,c sub ch,ch mov ah,5 int $16 xor al,1 end; Funckiji proslediš karakter koji oćeš da staviš u bafer, ona vrati true ako je uspelo ili false ako nije. Ako nije bitno, pogledaj moju prethodnu poruku.
pascal.470 vitez.koja, -> #447, vvelisavljev
#=> {$X+} Ukljucuje Extended syntax. (!?) Sta mu to dode? Mozes da pozivas funkciju kao proceduru, tj da zanemaris vrednost koja se vraca kroz ime funkcije (kao u Cu)
pascal.471 skerl, -> #455, peca.st
Posto predpostavljam da to pitas zbog pravljenja nekih prozora i slicnih stvarcica, saljem jedan jaako upotrebljiv unit za sad sa prozorima. Pusti demo program koji je vrlo ilustrativan. Pozdrav, Skerl. ───────────────────────────────────────────────────────────────────────── TPW60 March 15, 1988 MULTI-LEVEL WINDOWS FOR BORLANDS TURBO PASCAL Version 6.0 FILES In this version, TPW60.ARC contains TPW60.TPU - Turbo Pascal window unit TPW60.PAS - Source for TPW60.TPU TPW60.OBJ - Object used by TPW60.PAS TPD60.PAS - Demonstration program TPW60.TXT - This document file. USING TPWINDO You can either leave the TPW60.TPU unit file as a stand-alone unit or put it in the TURBO.TPL library with the TPMOVER program. Include TPW60 in your uses statement. Rick Fothergill 141 Oak Hill Road Pittsfield, MA 01201 procedure TPWprint(row,col:integer;strdat:str80;tattr:integer); procedure TPWfill (row,col,rows,cols:integer;ch:char;tattr:integer); procedure TPWattr (row,col,rows,cols,tattr:integer); procedure TPWprintc(row,colL,colR:integer;strdat:str80;tattr:integer); procedure TPWborder(colornum:integer); procedure TPWbox(col,row,col1,row1,wattr,wbattr,brdrsel,zoom,sattr, shadow:integer;TPWptr:byteptr); procedure TPWrbox(row,col,rows,cols,shadow:integer;TPWptr:byteptr); procedure TPWtitle(loc,row,col,rows,cols:integer;strdat:str80; tattr:integer); procedure MakeWindow(row,col,rows,cols,wtattr,wbtattr,brdrsel,stattr, shadow,zoom:integer); procedure MakeBox(row,col,rows,cols,wtattr,wbtattr,brdrsel,stattr, shadow,zoom:integer); procedure TitleWindow(dir,tattr:integer;title:str80); procedure RemoveWindow; procedure ClearWindow; procedure PrtWindow(row,col:integer;strdat:str80); procedure PrtCWindow(row:integer;strdat:str80); procedure CursorChange(new:integer;var old:integer); procedure MakeMenu(var menu:menurec); procedure VideoOn; procedure VideoOff; procedure EGA43; function Attr (fore,back:integer):integer;
pascal.472 ssokorac, -> #464, darone
─┼┤ počne da svira, posle par sekundi napiše BGI Error ─┼┤ (...) i nastavi da šušti (logično). Međutim, kada ─┼┤ mu dobacim egavegea, samo crta i ne svira :((( žudo da uopšte crta :(. Problem je u mom initgraph-u :), dakle, ako nekome ne crta, neka stavi egavga.bgi u direktorijum c:ĐtpĐbgi, a ako nema takav direktorijum - neka ga napravi samo za ovu priliku :). To je valjda to, ako neće i dalje - viči! :)
pascal.476 predragd, -> #465, isekulovic
> Da li to znači da ako se grafika incijalizuje na taj > način, na vga raditi u 640x480 iako se podesi kartica da > radi u 1024x768 modu? Naravno, pod uslovom da koristiš EGAVGA drajver. Za rad sa SVGA rezolucijama morao bi da koristiš neki SVGA BGI drajver (SVGA16 ili SVGA256). Nisam baš siguran, ali mi se čini da bi ti i tada DetectGraph naredba predložila najveću rezoluciju koju podržava ta kartica. Peđa.
pascal.477 peca.st, -> #463, zolika
!-> Nazovi program kako hoćeš, iskompajliraj !-> ga i uživaj!!! Ma idi bre ovako je mnogo komplikovano... Rešio sam sam, procedura ima dva tri reda... Evo je: procedure getchar(x,y:byte;var boja:byte;var ch:char); type niz=array Š1..4000Ć of byte; var textekran:niz absolute $b800:$000; šovde staviti $b000 za Herculesć begin dec(x); dec(y); boja:=textekranŠ2*(x+y*80)Ć; ch:=chr(textekranŠ2*(x+y*80)+1Ć; end; A dalje je lako, samo u matricu slogova ubacuješ pomoću ovoga boju i karakter sa dela ekrana...
pascal.478 peca.st,
Htedoh da napravim neki rezidentni program, kad ono... Kojim interruptom se očitava interni časovnik? Mislim, hoću da on nešto uradi na primer na svakih pola sata, pa ne znam kojim se interruptom to kontroliše... Ajde ko zna neka bači vamo taj interapt! P e C a
pascal.479 drpr, -> #471, skerl
-> TPW60 March 15, 1988 Šteta što si morao ponovo da ga ul-uješ jer sam ja to ulovao još pre godinu dana (fajl modertori diga ste sada ;)) ali evo mene zanima asinhorona komunikacija sa com portovima a video sam da na trickle-u (do koga ja ne mogu da dođem) ima neki fajlić o tome pa ako ti nije frka bio bi presretan da baciš neki. cope
pascal.480 peca.st, -> #467, dzakic
!-> Eto čemu služi, a naravno da radi. Pa to je haos. Znači samo š$X+ć i onda mogu ovako da radim? P e C a
pascal.481 skerl,
TPU2TPS program je napisao isti covek koji je napisao i INTRFC61 za dumpovanje tpu-ova. Ovaj program vadi iz SYSTEM.TPU bootstrap file SYSTEM.TPS kojim se moze napraviti novi SYSTEM.TPU Moze u dir! Pozdrav, Skerl. ──────────────────────────────────────────────────────────────── TPU2TPS - Extracts SYSTEM.TPS from TP6.0/TPW1.0 run-time library Written by D.J. Murdoch for the public domain, July 1991, after having my curiosity piqued by Mitch Davis. Syntax: TPU2TPS will read SYSTEM.TPU, and create SYSTEM.TPS, suitable for recompiling into a new version of SYSTEM.TPU. What does it do? Turbo Pascal keeps most of the run-time library in the SYSTEM unit, which is usually stored in SYSTEM.TPU within TURBO.TPL or TPW.TPL. To recompile it, you need a special "bootstrap file" called SYSTEM.TPS. This program, TPU2TPS, extracts the bootstrap file from a compiled version of SYSTEM.TPU. What use is it? If you have SYSTEM.TPS in the current directory, you can compile a new SYSTEM unit and change the run-time library. Why bother? Perhaps you don't need any of the standard library; if you're writing a tiny utility that doesn't use any of its services, there's no point linking in several K of it that won't be used. The included SYSTEM.PAS is an absolutely minimal replacement; using it, you can shrink the sample TEST.PAS from an .EXE size of 1400 bytes down to 128 bytes. Everyone will think you wrote it in assembler. How do I use it? First, get a copy of SYSTEM.TPU from TP 6.0 or TPW 1.0 (or compatible later versions) in the current directory. You may have to use TPUMOVER to get it out of TURBO.TPL or TPW.TPL; the syntax to use is TPUMOVER TURBO *SYSTEM or TPUMOVER TPW *SYSTEM Then, run TPU2TPS. It'll create SYSTEM.TPS (or tell you that something has gone wrong). Next, get rid of the original SYSTEM.TPU (keeping a copy of course!), and compile SYSTEM.PAS. (You may want to make some changes to it first.) This should give you a new version of SYSTEM.TPU. Don't put it into *.TPL unless you're very sure of yourself; it is almost certainly not the one you want to use as a default. Finally, hide the old SYSTEM.TPU and *.TPL; be sure they aren't on the path, in the .TPU directory, or in the same directory as your compiler. Make sure that the new SYSTEM.TPU is available in one of those places, and compile TEST.PAS or another program of your choice. Don't use any system procedures or functions; don't use strings, sets, longints, floating point, or files; don't use dynamic memory or overlays; disable stack and range checking, IEEE reals, and floating point emulation. All of those need a real SYSTEM.TPU. If you use one of those by mistake, you'll be in real trouble: the compiler doesn't expect you to fool around with SYSTEM.TPU this way, and it can get very, very confused if it goes looking for services that aren't there. A more robust SYSTEM replacement would halt with an error if you tried any of those things, but the included one won't. (There are over 130 functions/procedures in the real thing; I was too lazy to code that many stubs!) tpu2tps.zip
pascal.482 skerl,
Ovaj unit aktivira IBM enhanced tastaturu na racunarima koji je imaju i simulira je na onima bez nje. Moze u dir! Pozdrav, Skerl. ─────────────────────────────────────────────────────────────────── This unit activates the IBM enhanced keyboard for machines that have one, and simulates an enhanced keyboard for machines that don't. The enhanced scan codes will be returned by all normal calls which read the keyboard, e.g, ReadKey (from CRT), ReadKeyWord (from TPCRT and supplied here), and even when DOS reads from the keyboard. This unit should be USEd early in a program's USES list. There are no procedures to call here -- operation is completely transparent to the program. The unit interfaces a variable, HasEnhancedKbd, which will be True if an enhanced keyboard was detected, False otherwise. It interfaces a second variable, EnableEnhanced, which defaults to true. If you set this variable to False, the ENHKBD special functions will be disabled until you set the variable to true again. The following table summarizes the keys which are affected by using this unit. The entries are the values of the scan word in hex. The high byte of the scan word is the scan code, the low byte the ASCII character. If the low byte is 00, the high byte will be returned on the next call to ReadKey. Any keys not listed are returned in the usual manner (see the Turbo Pascal 4.0 manual, first printing pages 571-572, for a scan code chart). See Notes, following the table, for the key to special symbols. Plain Shift Control Alt ----- ----- ------- ---- F11 8500% 8700% 8900% 8B00% F12 8600% 8800% 8A00% 8C00% Esc 011B 011B 011B 0100* Backquote 2960 297E 2960 2900* Backspace 0E08 0E08 0E7F 0E00* Tab 0F09 0F00 9400* A500* Left Brack 1A5B 1A7B 1A1B 1A00* Right Brack 1B5D 1B7D 1B1D 1B00* Backslash 2B5C 2B7C 2B1C 2B00* Semicolon 273B 273A - 2700* Quote 2827 2822 - 2800* Enter 1C0D 1C0D 1C0A 1C00* Comma 332C 333C - 3300* Period 342E 343E - 3400* Slash 352F 353F - 3500* Insert 5200 5230 9200* A200# Del 5300 532E 9300* A300# Home 4700 4737 7700 9700# End 4F00 4F31 7500 9F00# PgUp 4900 4939 8400 9900# PgDn 5100 5133 7600 A100# Up 4800 4838 8D00* 9800# Down 5000 5032 9100* A000# Left 4B00 4B34 7300 9B00# Right 4D00 4D36 7400 9D00# Pad-Asterisk 372A ! ! 3700# (numeric keypad keys) Pad-Minus 4A2D 4A2D 8E00* 4A00# Pad-Plus 4E2B 4E2B 9000* 4E00# Pad-5 4C00* 4C35 8F00* 9C00# Notes: - These keystrokes are ignored. * These keystrokes are not normally returned by the non-enhanced keyboard. # These keystrokes are not normally returned by the enhanced keyboard. ! These keystrokes control printscreen and print echoing. They cannot simulate the effect of the enhanced keyboard, which has the Asterisk and PrtSc keys separated. % The F11 and F12 keys are returned only if they actually exist on the keyboard. With a few exceptions, the EnhKbd unit returns results identical to those of the enhanced keyboard BIOS. One difference makes the enhanced keyboard simpler to use in a program: those scan words which normally contain E0 in the low byte to indicate that the key is specific to the enhanced keyboard (like the dedicated cursor keys) will have the low cleared to zero by EnhKbd. Keys marked with # are normally ignored by the enhanced BIOS. By defining these numeric keypad keys when Alt is pressed, the usual ability to enter arbitrary keys on the numeric keypad is disabled. Within applications, the ability to use alt-shifted arrow keys will generally be more useful. The arbitrary keys from the numeric keypad are still available by pressing both Alt and Left Shift simultaneously. tpenhkbd.zip
pascal.483 skerl,
Unapredjene rutine za mnozenje, deljenje, korenovanje, sin, cos, arctan, exp i ln za racunare i programe koji rade sa real tipom i koji su bez koprocesora. Moze u dir. Pozdrav, Skerl. ─────────────────────────────────────────────────────────────────────── Improved Floating Point Subroutines for Turbo Pascal This software package is meant to be a superior alternative for Turbo Pascal's built in floating point library for the "real" format. Programs using the "real" format for intensive numeric computation can benefit from this package when run on a computer without a numeric co-processor. To use this package, you should have Turbo Pascal version 4.0 or later. The library is in the form of a TPU file. To use this library, you need to add the statement "uses rlib;" at the beginning of your program. The library consists of subroutines for floating point multiplication, division, sqrt, sin, cos, arctan, exp and ln. To get the equivalent of x*y in your program, just substitute _mul(x,y). Similarly, to get x/y, use _div(x,y).(x and y can themselves be expressions instead of variables.) To get the other functions, just add an underscore before the equivalent TP definition. For example, _sin(x) for sin(x). Creating RLIB.TPU Since TPU files created using different versions of Turbo Pascal are, in general, incompatible with one another, the TPU file has to be compiled using your current version of Turbo Pascal. To create RLIB.TPU, compile RLIB.PAS to disk, making sure that the correct path to the OBJ files which come in this package is specified in the compiler. This package also comes with a program 'TEST.PAS' which can be used to compare this package with Turbo Pascal's. The average speed improvement ranges from 20% for multiplication to about 1200% for sqrt. The "Savage" option is a benchmark to test the accuracy of the routines. The lower the residual error, the better is the accuracy of the routines. This package can be seen to be superior than Turbo Pascal's by running the "Savage" option. Error Handling When a floating point error occurs, the type of error and the address where the error occured in the main program are displayed and the program is halted. Errors are of three types-division by zero, overflow, and illegal function call. If you want, you can write your own error handling routine. The rules are: 1. The global pointer variable matherrptr declared in RLIB.TPU should be set to the address of your routine at the beginning of the program. Eg., matherrptr:=@myerrproc; 2. The error handling routine should be compiled with the far option turned on.({$F+}) 3. The input parameters to the error handling routine are an integer and a pointer in that order. The integer contains the type of floating point error (1-division by zero, 2-overflow, 3-illegal function call) and the pointer contains the address of the main program from where the call was made. Even if you don't use these parameters, they should appear in the procedure declaration. Also, do not use "var" in the input declaration. A typical error handling routine might look like: procedure myerrproc(typeoferror:integer;erroraddr:pointer); begin writeln('Its debugging time!'); end; Failure to follow the above rules might result in a crashed program! The error handler can pass control back instead of halting. In that case, the value returned by the floating point subroutine would be 1.7E38 in magnitude, the sign depending on the input variables to the routine. tpreal2.zip
pascal.484 skerl, -> #479, drpr
│ mene zanima asinhorona komunikacija sa com portovima a │ video sam da na trickle-u (do koga ja ne mogu da dodem) │ ima neki fajlic o tome pa ako ti nije frka bio bi │ presretan da bacis neki. └───── Evo jednog paketcica sa trickle-ta. Pozdrav, Skerl. ────────────────────────────────────────────────────────────────── INTRODUCTION This utility is an answer to the many public domain serial port routines which I have acquired in the quest for good RS-232 support under Turbo Pascal. Unlike the others, this one works. Not only does it work, but it also allows you to use as many COM ports as you want at the same time. Designed to be relatively simple and easy to use, I hope many will benefit from it. FEATURES - Easily expandable interrupt routine - Interrupt driven send and receive routines - Carrier Detect monitoring for modem support - Turbo Pascal 4.0 & 5.x compatible TPU source code - Convenient TPU format keeps your code uncluttered - Easy to customize for your hardware, and software requirements - Uninstalls the interrupt handlers on abnormal program termination - Number of COM ports limited only by buffer sizes & Turbo memory limits - A TPU which handles 4 ports can be less than 8K in size - Easy to use even if you don't understand how it works - All COM ports handled concurrently in the background - Example TTY and port setup routines included - Optional error checking and error messages - Extensive documentation for software use - Heavily documented source code comm-tp5.zip
pascal.485 skerl, -> #479, drpr
│ mene zanima asinhorona komunikacija sa com portovima a │ video sam da na trickle-u (do koga ja ne mogu da dodem) │ ima neki fajlic o tome pa ako ti nije frka bio bi │ presretan da bacis neki. └───── Evo jos jednog paketcica sa trickle-ta. Pozdrav, Skerl. ────────────────────────────────────────────────────────────────── 1.1 FEATURES The LiteComm-TP Toolbox(Tm) is a set of powerful routines designed to provide easy access to the full capabilities of the PC's asynchronous communications ports. The LiteComm-TP ToolBox supports fully interrupt-driven and buffered communications support on COM1 through COM4 simultaneously. Now you can quickly incorporate sophisticated communications support in your applications without having in-depth knowledge of how the hardware functions. LiteComm-TP is implemented as a set of 4 units for the basic product, with additional units providing the protocol-engine capability. The protocol engines are a part of the registered version of the package. ltcomm50.arc
pascal.486 pedjak, -> #478, peca.st
> Mislim, hoću da on nešto uradi na primer na svakih pola sata, pa ne znam > kojim se interruptom to kontroliše... Ajde ko zna neka bači vamo taj > interapt! Interapt 21H, funkcija 2CH - očitavanje sistemskog vremena ========================================================== Poziv sa: Rezultat: AH=2CH CH=sati CL=minuti DH=sekunde DL=stotinke Hm, samo ne znam zašto bi koristio interapte kad već u Pascalu imaš proceduru GetTime koja radi istu stvar ? pedja
pascal.487 peca.st, -> #486, pedjak
!-> Hm, samo ne znam zašto bi koristio !-> interapte kad već u Pascalu imaš !-> proceduru GetTime koja radi istu stvar ? Pa hoću da to bude rezidentno! Kako drugačije da stalno očitavam vreme u rezidentnom programu? Za gettime znam, koristim ga ali meni treba ovo: setintvec(????????,čradi_to_i_to); meni treba ovo ???????? P e C a
pascal.488 isekulovic,
Pišem jedan program sa grafikom u tp-u 6.0 i često mi se događa da kad startujem program pored onog što hoću na ekranu se pojave i razne brljotine. Ako prekinem program pa ponovo strtujem brljotina ama baš nikad nema. Takođe ih nema ama baš nikad kad program iskompjaliram u .exe pa ga onda startujem. Šta je uzrok ovoga?
pascal.489 ilotina, -> #488, isekulovic
> Pišem jedan program sa grafikom u tp-u 6.0 i često mi se > događa da kad startujem program pored onog što hoću na > ekranu se pojave i razne brljotine. Da ti se to ne bi događalo u meniju Options, ili beše negde drugde imaš opciju "save graphics screen"(ili tako nešto) pa je postavi na on i problem je rešen. Ivan
pascal.490 ilazarevic, -> #488, isekulovic
> Ako prekinem program pa ponovo strtujem brljotina ama baš nikad nema. Može da bude da treba da se uradi jedno ClearDevice. Procedura je u graph unitu, mora da se već bude u graph režimu. Trebalo bi da ti ona očisti izlaz na ekran u grafici, tako da nema problema.
pascal.491 drpr, -> #485, skerl
-> Evo jos jednog paketcica sa trickle-ta. -> Pozdrav, -> Skerl. E jesi maher još ako ih poteram da rade na tp6.0 eto moje sreće! cope
pascal.492 peca.st,
Verovatno je već bilo ovakvo pitanje, al ajde... Da li je ikako moguće da se egavga.bgi uključi u exe fajl, a ne da ga akam zajedno sa njim, kao poseban fajl? Ajde odgovor... P e C a
pascal.493 skerl, -> #491, drpr
│ -> Evo jos jednog paketcica sa trickle-ta. │ -> Pozdrav, │ -> Skerl. │ │ E jesi maher jos ako ih poteram da rade na tp6.0 eto moje │ srece! └────── Ja sam ih poterao bez problema na sestici! Skerl.
pascal.494 drakce, -> #492, peca.st
│ Da li je ikako moguće da se egavga.bgi uključi u exe fajl, a ne da ga akam └─────── Moguće je. Uz TP 6.0 dobija se program BGILINK.PAS, gde je sve na primeru objašnjeno. Možeš ubaciti i fontove u EXE fajl. Pozdrav
pascal.495 predragd,
Ima li neko iskustva sa korišćenjem BGI drajvera za štampače (na SEZAM-u PRBGI094.ZIP). Naime pokušao sam da nešto odštampam na HPLJ III i nije išlo, dobio sam neke kuke i kvake. Doduše drajver je namenjen za HPLJ II, ali ipak mislim da bi trebalo da radi. Postoji li možda novija verzija. Peđa.
pascal.496 stomic, -> #487, peca.st
$ !-> Hm, samo ne znam zašto bi koristio $ !-> interapte kad već u Pascalu imaš $ !-> proceduru GetTime koja radi istu stvar ? $ $ Pa hoću da to bude rezidentno! Kako drugačije da stalno $ očitavam vreme u rezidentnom programu? Za gettime znam, $ koristim ga ali meni treba ovo: $ setintvec(????????,čradi_to_i_to); meni treba ovo ???????? Ako misliš da kačiš proceduru na interrupt za očitavanje vremena ne verujem da ćeš baš postići što želiš, tj. tvoja procedura će biti pozvana tek kada se očitava vreme. Okači proceduru o $08 interrupt koji se okida svakih 55ms, pa u tvojoj proceduri uvećavaj neki brojač, koji kada dostigne x, gde je x=30*60*100/55, uradi šta želiš. Koliko sam razumeo ovo si tražio. Right? ST.
pascal.497 ilazarevic, -> #492, peca.st
> Da li je ikako moguće da se egavga.bgi uključi u exe fajl, a ne da ga > akam zajedno sa njim, kao poseban fajl? Ajde odgovor... Može sa RegisterBGIDriver. Pogledaj u Helpu sintaksu i ostalo.
pascal.498 peca.st, -> #494, drakce
!-> Moguće je. Uz TP 6.0 dobija se program !-> BGILINK.PAS, gde je sve na primeru !-> objašnjeno. Možeš ubaciti i fontove u EXE !-> fajl. TOOOOO! Hvala puno! P e C a
pascal.499 skerl,
Jos jedan program za dump-ovanje tpu-ova koje je napravio tp6.0. Ovo bi moglo da ide uz INTRFC u PASCAL dir. Pozdrav, Skerl. ─────────────────────────────────────────────────────────────────────── TPUINFO.EXE =========== TPUINFO is a utility that will list various facts concerning .TPU files created by Turbo Pascal v. 6.0. TPUINFO will accept wild cards allowing a listing of multiple .TPU files within a directory. A sample execution of TPUINFO would be: C>TPUINFO d:\TURBO\TVISION TPUInfo version 6.0 Copyright (C) 1990, J.P. Ritchey Unit Flags Init Code Data Actual Name -------- ------------ --- ------ ------ ----------- OBJECTS $N-,O+,D-,L- 8298 456 DRIVERS $N-,O-,D-,L- Yes 2775 734 MEMORY $N-,O+,D-,L- 559 10 VIEWS $N-,O+,D-,L- 21866 864 HISTLIST $N-,O+,D-,L- 489 14 MENUS $N-,O+,D-,L- 9615 414 DIALOGS $N-,O+,D-,L- 12607 1372 COLORSEL $N-,O+,D-,L- 6894 622 APP $N-,O+,D-,L- 3561 628 MSGBOX $N-,O+,D-,L- 1463 84 STDDLG $N-,O+,D-,L- 12040 932 TEXTVIEW $N-,O+,D-,L- 2495 304 The "Unit" column is the name of the .TPU as it is found on disk. The "Flags" column lists the state of those compiler options that are detectable by a simple inspection of a .TPU file. The "Init" column will contain "Yes" if the unit contains initialization code. The "Code" column indicates the number of bytes of code contained within the .TPU. The "Data" column indicates the number of bytes of data (both initialized and unitialized) contained within the .TPU. TPUINFO has a command line option, Verbose (enabled by specifying /v on the command line), that will list the source and object files used to create the .TPU in addition to the information listed when /Verbose is not specified. An example follows: C>TPUINFO D:\TURBO\TVISION\DRIVERS /v TPUInfo version 6.0 Copyright (C) 1990, J.P. Ritchey Unit Flags Init Code Data Actual Name -------- ------------ --- ------ ------ ----------- DRIVERS $N-,O-,D-,L- Yes 2775 734 PAS 11/05/90 06:00:00a DRIVERS.PAS OBJ SYSINT.OBJ OBJ FORMAT.OBJ TPCONFIG.EXE ============ This utility will take your IDE configuration file (TURBO.TP) and create a configuration file (TPC.CFG) for use with the command line compiler. It will also take as input a TPC.CFG file and update your TURBO.TP file to reflect the options contained in the TPC.CFG file. tp6util.zip
pascal.500 skerl,
┌──────────────────────────────────┐ │ Multitasking Routines for TP 6.0 │ └──────────────────────────────────┘ Copyright (c) 1991,1992 A.B.S. - ALL RIGHTS RESERVED 2.00 First Distributed Release 2.10 Fixed Windows Checking 2.11 Took out VMiX Code 2.20 Fixed DDOS Code - Locking up Novell 2.21 Fixed Code - Tried to be too smart for my own good CONST MultiTasker : Boolean = True; DV_Loaded : Boolean = False; {DESQview 2.26+} TV_Loaded : Boolean = False; {DV 2.00-2.25, TaskView, TopView, OmniView, & clones} DDOS_Loaded : Boolean = False; {DoubleDOS} WIN386_Loaded : Boolean = False; {Windows in 386enh mode} PROCEDURE TimeSlice; {Gives up one Time Slice, call while polling the keyboard for input, has no effect if a multitasker is not present} PROCEDURE PreventSwitching; {Prevents Task Switching until ResumeSwitching is called, used for critical code, don't leave on for too long!, has no effect if a multitasker is not present} PROCEDURE ResumeSwitching; {Resumes Task Switching, has no effect if a multitasker is not present} FUNCTION MulVersion : Word; {Returns the Version Number for TopView, DESQview 2.26+, and Win386, 0 for all others or none, OmniView - who knows} FUNCTION VirtualBuffer : Word; {Returns the Virtual Buffer for Direct Screen Writes Should only be called once for DESQview & TV, should be called EVERY write for DDOS, returns 0 if no multitasker is present} PROCEDURE TV_UpdateBuffer(Num : Word; Buffer, CharOffset : Word); {Updates the screen from the virtual buffer. Num is the number of sequential characters that have been modified. Buffer is the VirtualBuffer. CharOffset is the offset of the first character modified. Do NOT call with Num = 0! Only needed for TV, DESQview will discontinue the automatic screen updating if this is called!, might crash if TV/DV is not present!} FUNCTION DDOS_Visible : Boolean; {Returns True if the current task is the visible task, might crash if DDOS_Loaded is False!} tpmul221.zip
pascal.501 drpr, -> #493, skerl
-> Ja sam ih poterao bez problema na sestici! -> Skerl. Ipak izgleda najbolji fajl koji si poslao ltcomm50.arc neće da radi na šestici :((.Prijavljuje mi lošu verziju tp a na moju probu da u zaglavlju promenim broj na TP9 kaze mi da ima neki invalid u zapisu tpu-a :((.Elem izgleda ili da se vrćem nazad na 5.5 ( ili treba na 5.0) ili da čekam bolja vremena. cope
pascal.502 peca.st, -> #496, stomic
!-> Koliko sam razumeo ovo si tražio. Right? Ma to čoveče! Onaj obrazac što si napisao za izračunavanje 30min jasan mi je, mada sam ja to stavio tek primera radi. Hvala puno, meni je baš trebalo nešto ovako što se vrlo često izvršava... Hvala! P e C a P.S. Ima li neki koji se izvršava češće od 55ms? :)
pascal.503 valhala,
e ovako, moj glupavi turbo paskal nece da prihvati asemblerske naredbe(mov, ret, push...), iako sam mu zadao ono "asm". Sta da radim?
pascal.504 ssokorac, -> #500, skerl
─┼┤ has no effect if a multitasker is not presentć Je l' ovo znači da rutine rade samo pod DV-om, Windowsima i sličnima? P.S. Svaka ti čast za fajlove, samo napred!
pascal.505 dejanr, -> #503, valhala
>> e ovako, moj glupavi turbo paskal nece da prihvati asemblerske naredbe(mov, >> ret, push...), iako sam mu zadao ono "asm". Sta da radim? Za početak, da li je "glupavi turbo pascal" verzija 6.0 ili neka ranija? Pre 6.0 nije ni mogao da se integriše asembler u program.
pascal.506 skerl, -> #501, drpr
│ Ipak izgleda najbolji fajl koji si poslao ltcomm50.arc │ nece da radi na sestici :(( └───── Na zalost, nisam primetio da neostaje source za tpu. Videcu da li mogu da isceprkam nesto pisamo bas za sesticu. Pozdrav, Skerl.
pascal.507 skerl,
Evo jedne udarne doze raznoraznih Turbo Pascal 6.0 unit-a. Evo spiska unita koji ce biti poslati. PSDIR101.ZIP Directory functions for Turbo Pascal 6 PSLST100.ZIP List functions for Turbo Pascal 6 PSPPD100.ZIP Database functions for Turbo Pascal 6 PSSTK101.ZIP Stack functions for Turbo Pascal 6 PSSTR102.ZIP String/keyboard functions for Turbo Pascal 6 PSDSM103.ZIP Replaces GetMem and FreeMem for Turbo Pascal 6 PSXMH103.ZIP Access to XMS heap for Turbo Pascal 6 PSGUI130.ZIP GUI for Turbo Pascal 6 Ovo automatski treba da ide u dir! Pozdrav, Skerl.
pascal.508 skerl,
PSDIR101.ZIP Turbo Pascal 6 directory functions (source/NG) Various directory functions for Turbo Pascal 6. Download this if you download the PSGUI. Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format.
pascal.509 skerl,
PSLST100.ZIP List functions for Turbo Pascal 6 Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format. pslst100.zip
pascal.510 skerl,
PSPPD100.ZIP Database functions for Turbo Pascal 6 Advanced database support. Allows you to store files in files. This saves disk space and is ideal for storing many little files (like icons). You can request a file from the database as if it were a normal file and thus makes programs more professional without major code modification. Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format.
pascal.511 skerl,
PSSTK101.ZIP Stack functions for Turbo Pascal 6 Various stack functions. This emulates a second stack in Turbo Pascal 6 and thus allows one to push and pop various variables. Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format. psstk101.zip
pascal.512 skerl,
PSSTR102.ZIP String/keyboard functions for Turbo Pascal 6 Many fast assembler routines for Turbo Pascal 6. Various string, keyboard and other general procedures have been implemented. Required by PSGUI. Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format.
pascal.513 skerl,
PSDSM103.ZIP This unit replaces GetMem and FreeMem. When using the Turbo Pascal Heap (in Version 6), you will find that you are not permitted to get more than 64 kb. By using {$M <StackSize>,0,0} in your program, no heap is allocated for your program. This leaves all that memory available to DOS. You can then get blocks of this memory from the procedures in this unit, even blocks greater than 64 kb. This unit can also replace the Graph.GetImage function as the function does not give values for sprites greater than 64 kb in size. To use this unit, simply place DosMem as the last unit in your Uses statement. Any GetMem's will then use the DOS heap. If you still want to use the Pascal Heap you can, using System.GetMem. psdsm103.zip
pascal.514 skerl,
PSXMH103.ZIP This unit gives the pascal programmer access to an XMS heap for Pascal. It uses a similar system to the Pascal standard heap. This unit is ideal for programmers requiring many large blocks of data. Requirements Turbo Pascal 6 TPXMS.TPU (Public Domain by Vernon E. Davis, Jr.) DosMem (Public Domain by Pure Power Software, PSDSM) Both PSDSM and TPXMS should be available where you obtained this file. How it works HIMEM requires a request for memory. Usually HIMEM only permits 32 blocks, that is, only 32 handles are issued. Thus requesting a new handle each time is silly as one often uses more than 32 pointers in a program, often more than the 128 HIMEM maximum. So, when you allocate your XMS heap with GetXMSHeap, the unit takes a block (one handle) from HIMEM. You can then access this memory in any size chunks you wish, from blocks of 1 byte to blocks of 640 kb. The unit has its own handles and can allocate many handles to the XMS heap (set by MaxPointers). Your programs will now use handles to the XMS heap (not to XMS controlled by HIMEM), not only pointers. Handles point to the XMS heap, pointers point to the Pascal or DOS heap (see DosMem). When you request a block of memory from the unit, you are issued with a handle, that is, a unique number, a word. When you want to access the data in that block of memory, you will have to request it with AwakePointer which places it in conventional memory for you. Once you have used it, you then copy it back to XMS with SleepPointer. It's actually much easier than it sounds. All you have to do is awaken a pointer before using it. You must also remember to put it in sleep mode again when you are done with it. This unit supports up to 2 Gb of XMS, which should do for most of your programs. ;-) psxmh103.zip
pascal.515 skerl,
PSGUI130.ZIP Pure Power GUI for Turbo Pascal 6 Requirements: - Turbo Pascal 6 - EGA, VGA or Super VGA - Pure Power Units: Strings (v1.02) [Not Included], Directories (v1.01) [Not Included], Keyboard Definitions, Icons, BGI PGUI Mouse Driver These units should be available at the same site / BBS that you found this unit. - Expert Help or Norton Guides Optional: - Mouse with Mouse Driver - Super VGA BGI Drivers Features: - Internal BGI Mouse Driver (Still needs standard mouse driver) - Supports Mouse Cursors with 64k colours - Mouse Supports Super VGA Modes - Easy Window Popup Routines - Fast - Popup Help in .NG Format - Source Included - Free - User Support You can make nice looking programs quickly. Save yourself weeks of programming by using units available on the public domain and units available as shareware. Today so many fine programmers are releasing their source code for the benefit of software in general. Make use of this.
pascal.516 kenza, -> #503, valhala
[;> e ovako, moj glupavi turbo paskal nece da prihvati asemblerske [;> naredbe(mov, ret, push...), iako sam mu zadao ono "asm". Sta da radim? Koji je to pascal!?
pascal.517 ssokorac, -> #514, skerl
─┼┤ TPXMS.TPU (Public Domain by Vernon E. Davis, Jr.) ─┼┤ DosMem (Public Domain by Pure Power Software, PSDSM) Još ako možeš i ova dva da pošalješ, i častim te pićem. Mada si ga i ovako zaslužio :).
pascal.518 valhala, -> #505, dejanr
"glupavi paskal" je 5. ja stvarno nisam znao da ne moze da prihvati asm. ima li drugog nacina da se unesu asemblerske naredbe u njega? i ako nećš_üq5šťđp i ako nema znaci li to da su primeri iz racunara 84 za mene neupotrebljivi?
pascal.519 dejanr, -> #518, valhala
>> "glupavi paskal" je 5. ja stvarno nisam znao da ne moze da prihvati asm. >> ima li drugog nacina da se unesu asemblerske naredbe u njega? Ne direktno, ali se može napraviti .OBJ fajl pa se linkovati u Turbo Pascal program direktivom {$L }. Naravno, pre toga ga asembliraš pomoću MASM-a ili TASM-a. Pogledaj u uputstvu (za 5.0/5.5), ima čitavo poglavlje o povezivanju Pascal/Assembler.
pascal.520 isekulovic,
Par pitanja u vezi Tp-a: (čega drugog:) 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? 2.Da li je moguće iz programa postaviti vrednost enviroment promenljive? Razmišljao sam preko procedure exec i set ime_prom=to_i_to ali da li će uspeti ako je program startovan iz npr. NC-a jer negde sam pročitao da ako je aktivan NC kucanje set ime_prom.... na promptu ne daje željeni rezultat. 3.Nije mi najasnija sintaksa naredbe SetUserCharSize. Prema helpu ona glasi SetUserCharSize( MultipX, DivX, MultipY, DivY :Word); Šta je koji parametar? Da li se sa vrednošču koju prosledim u MultipX pomnoži neka osnovica, a sa vrednošču u DivX podeli? Ako jeste kolika je ta osnovica u pixelima? Možda je osnovica veličina karaktera font pri veličini 1 ? Pozdrav, Ivan
pascal.521 bulaja, -> #507, skerl
│Evo jedne udarne doze raznoraznih Turbo Pascal 6.0 unit-a. └─── Thanks! Eno ga ponesto vec prebaceno u dir (gui i str), a i ostalo ce cim ga pregledam.
pascal.522 peca.st, -> #503, valhala
!-> ret, push...), iako sam mu zadao ono !-> "asm". Sta da radim? Kolko ja znam, ne može asm nego mora assembler. Nisam siguran. P e C a
pascal.523 dejanr, -> #520, isekulovic
>> 2.Da li je moguće iz programa postaviti vrednost enviroment promenljive? Imaš baš u januarskim "Računarima" tekst o tome. Doduše, primeri su u C-u ali je stvar više do DOS-a nego do C-a, tako da se lako prepravlja na asembler, paskal, bilo šta. Ukratko, moguće je, ali ne baš jednom funkcijom nego treba malo više koda.
pascal.524 cubro,
Evo pokusacu poslati TUTILITY program za rekonstrukciju PARADOX datoteka. Ovo ce dobro doci svima koji koriste ObjectVision, Paradox, QuattroPro, itd..., znaci sa DB datotekama. Program sam DL sa Borland BBS-a i predlazem bulaji da stavi na neko prikladno mesto, jer o ovom programu se govori u oficijelnoj knjizi Borlanda. Ja sam stavio ovde jer Engine radim u Pascalu, ali sam mogao staviti bilo gde. Program je ODLICAN !!! tutil40.zip
pascal.525 kenza, -> #522, peca.st
[;> Kolko ja znam, ne moze asm nego mora assembler. Stavlja se asm,problem je u verziji ;(
pascal.526 skerl, -> #521, bulaja
││ Evo jedne udarne doze raznoraznih Turbo Pascal 6.0 ││ unit-a. │└─── │ Thanks! Eno ga ponesto vec prebaceno u dir (gui i str), │ a i ostalo ce cim ga pregledam. └──── Nema na cemu, jedino pozuri jer gui trazi i neke od onih ostalih da bi radio. Bas su haos :) Pozdrav, Skerl.
pascal.527 skerl, -> #517, ssokorac
│ ─┼┤ TPXMS.TPU (Public Domain by Vernon E. Davis, Jr.) │ ─┼┤ DosMem (Public Domain by Pure Power Software, PSDSM) │ │ Jos ako mozes i ova dva da posaljes, i castim te picem. │ Mada si ga i ovako zasluzio :). └──── TPXMS je poslao pedjak, fajl je uz poruku 6.270, a DosMem je poslat u ovom naletu :) PSDSM103.ZIP uz poruku 6.513. Pozdrav, Skerl. p.s. Racunam na picence :)
pascal.528 zolika, -> #505, dejanr
>> Za početak, da li je "glupavi turbo pascal" verzija 6.0 ili neka ranija? >> Pre 6.0 nije ni mogao da se integriše asembler u program. Uzmi TopSpeed Modulu-2, tu SIGURNO može da se sve pomeša (uključujući i asembler) k'o šopska salata...
pascal.529 drpr, -> #523, dejanr
-> Imaš baš u januarskim "Računarima" tekst o tome. Doduše, -> primeri su u C-u ali je stvar više do DOS-a nego do C-a, -> tako da se lako prepravlja na A da li bi , kad smo već kod januarskih računara, neko bio jubazan da prevede onaj algoritam za slučajne brojeve sa C-a na TP jer sam ja nepismen što se C-a tiče a taj programčić me baš zanima :)) cope
pascal.530 eagle, -> #496, stomic
> Okači proceduru o $08 interrupt koji se okida svakih 55ms, pa u > tvojoj proceduri uvećavaj neki brojač, koji kada dostigne x, > gde je x=30*60*100/55, uradi šta želiš. 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?
pascal.531 eagle,
Jel ima neko SVGA driver(800*600*256), ali za OAK VGA? Ovaj sa Zezama mi za svaki mod iznad 320*200*256(obicna Vga) ispisuje " Your board does not support this mode " :(, a inace imam Svga :).
pascal.532 ssokorac, -> #527, skerl
─┼┤ p.s. Racunam na picence :) Zaslužio si :). P.S. GUI-demo neće da mi radi bez .ico fajlova, kojih nigde nema :(.
pascal.533 dejanr, -> #528, zolika
>> Uzmi TopSpeed Modulu-2, tu SIGURNO može da se sve pomeša (uključujući i >> asembler) k'o šopska salata... 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 Logitech i TopSpeed) veliko XRD ;)