PCPROG.4

22 Apr 1994 - 05 Jan 1995

Topics

  1. algoritmi (153)
  2. comment (15)
  3. ms.dos (123)
  4. windows (304)
  5. asembler (103)
  6. basic (80)
  7. jezici (196)
  8. pascal (880)
  9. cccc (586)
  10. cpp (157)
  11. clipper (1267)
  12. baze.podataka (525)
  13. razno (529)

Messages - pascal

pascal.1 dpriest...,
Evo da ostavim prvu poruku u pascal temi, iako mozda i nije za ovde... vise mu dodje za temu :treba mi... daklem, treba mi parce source-a (moze i u C-u ili u ASM-u) za prikazivanje GIF slicica na ekranu, kao i za prikazivanje TTF fontova (iliti crtanje slova, ako vam je draze)... ajde, znam da neko to ima... samo jos da ga ne mrzi da mi javi... thanx in advance... DP...
pascal.3 postmast,
From: jd53492d@buefhp.etf.uni-bg.yu (Dejan Jakovljevic) Subject: Re: pascal Date: Fri, 22 Apr 1994 15:16:58 GMT <*> Dejan Pejcinovski (dpriest...@sezam.UUCP) wrote: <*> : Ima li neko source za prikazivanje GIF-a ? <*> : ako nema moracu da izgubim par dana da ga oravim iz <*> : opisa GIF formata... POMAGAJTE JUNACI ! :( mislim da na fon-u ima nesxto (mada nisam siguran...) opis GIF-a je tamo....sigurno.... -- Jakovljevic Dejan, Sokobanja O:-) ////// yours (?), (try me at osmeh.FON.Uni-Bg.YU as dex) ////// ..dex..
pascal.4 dtadic,
>> daklem, treba mi parce source-a (moze i u C-u ili u ASM-u) >> za prikazivanje GIF slicica na ekranu, kao i za prikazivanje >> TTF fontova (iliti crtanje slova, ako vam je draze)... C source za rad sa gifovima imaš u IBMPC\C direktorijumu: giflib12 a01 113318 C source programa za rad sa GIF datotekama (#2/2) giflib12 arj 114224 C source programa za rad sa GIF datotekama (#1/2) Na FONu se može naći opis TTF fontova.
pascal.5 isekulovic,
>> daklem, treba mi parce source-a (moze i u C-u ili u ASM-u) >> za prikazivanje GIF slicica na ekranu, kao i za prikazivanje Pogledaj pascal teme u starim pc.prog konferencijama, ima dva unita. Mislim da su oba ega/vga only. Ima i za .pcx.
pascal.6 omega,
Ţ daklem, treba mi parce source-a (moze i u C-u ili u ASM-u) Ţ za prikazivanje GIF slicica na ekranu, kao i za prikazivanje Pogledaj PC.PROG: 4.57 i 4.108. Prvi je samo tpu (ako se ne varam), a drugi ima i source...
pascal.7 kriss,
reply na 8.877 [dpriest...] ˙˙ Ima li neko source za prikazivanje GIF-a ? ˙˙ ako nema moracu da izgubim par dana da ga oravim iz ˙˙ opisa GIF formata... POMAGAJTE JUNACI ! :( Bilo je u nekoj staroj PC.PROG konferenciji, zakačeno uz poruku. Protrči svaku što ima zakačen fajl, nema ih puno, a i naćićeš dosta često traženih sorsova.
pascal.8 dekiper,
Može da se nađe opis TTF-a i na NewAge BBS-u pošto je FON nenormalno teško dobiti (verovatno zbog OSMEH-a). Zovi 404639 posle 11
pascal.9 ppekovic,
>> Može da se nađe opis TTF-a i na NewAge BBS-u pošto je FON nenormalno teško >> dobiti (verovatno zbog OSMEH-a). Zovi 404639 posle 11 FON jeste tesko dobiti, ali je nesto lakse dobiti MR Systems BBS koji je mirror site FFS-a. Telefon je 4446246, 3 linije, 14400. Paya
pascal.10 markom,
█*█ Može da se nađe opis TTF-a i na NewAge BBS-u pošto je FON nenormalno teško █*█ dobiti (verovatno zbog OSMEH-a). Zovi 404639 posle 11 Do FON-a možeš doći i preko ETF-a ... :)
pascal.11 jovca.car,
/* Do FON-a možeš doći i preko ETF-a ... :) Stići može. A dl?
pascal.12 postmast,
From: dex@Osmeh.FON.Uni-BG.YU (Dejan Jakovljevic) Subject: Re: pascal Date: Mon, 25 Apr 1994 22:03:57 GMT Marko Milivojevic (markom@sezam.UUCP) wrote: ..... <*> Do FON-a mozes doci i preko ETF-a ... :) pa, mozxe....samo sxto su nesxto sredili TELNET nalog na ORLU pa visxe ne mozxe (osim preko hp-a.....)....... -- Jakovljevic Dejan, Sokobanja (poznato odmaraliste i leciliste...) dex@osmeh.fon.uni-bg.yu
pascal.13 crncic,
│║█ Moze da se nade opis TTF-a i na NewAge BBS-u posto je FON nenormalno │║█ tesko dobiti (verovatno zbog OSMEH-a). Zovi 404639 posle 11 Radi opet ?
pascal.14 postmast,
From: ak@Osmeh.FON.Uni-BG.YU (Aleksandar Kircanski) Subject: Re: pascal Date: Tue, 26 Apr 1994 15:26:21 GMT Slobodan Jovcic (jovca.car@sezam.UUCP) wrote: : /* Do FON-a mozes doci i preko ETF-a ... :) : Stici moze. A dl? Pa moze i DL. URadis rlogin fon.fon /eight i eto.. -- Aky - Kircanski Aleksandar aky@tesla.mcs.com
pascal.15 omega,
Ţ Do FON-a mozes doci i preko ETF-a ... :) Kako?
pascal.16 markom,
█*█ /* Do FON-a možeš doći i preko ETF-a ... :) Ispravka, moglo je :(((( █*█ Stići može. A dl? Meni je uspevalo, ali je CPS bio krajnje slab. Negde oko 200 :(
pascal.17 markom,
█*█ pa, mozxe....samo sxto su nesxto sredili TELNET nalog na ORLU █*█ pa visxe ne mozxe (osim preko hp-a.....)....... Da, na žalost, video sam :((
pascal.18 markom,
█*█ Kako? Moglo je, ali više ne može. Local> c telnet (...) Telnet> open fon.fon (...) login: Sada je telnet ograničen samo na ETF-ove računare ...
pascal.19 dpriest...,
>>> Ţ daklem, treba mi parce source-a (moze i u C-u ili u ASM-u) >>> Ţ za prikazivanje GIF slicica na ekranu, kao i za prikazivanje >>> >>> Pogledaj PC.PROG: 4.57 i 4.108. Prvi je samo tpu (ako se ne >>> varam), a drugi ima i source... E, sourcevi koji su zakaceni uz te poruke su toliko *stari* da sam se zaprepastio :) to je za neke prve verzije GIF-ova... radjeni su za EGA kartice, nije veliki problem da se preprave, ali su i prepravljeni prespori... zezao se celu noc i nesto kao uradio, onda pokusao da napisem onu LZW brze ali mi nesto ne radi... ili meni nesto fali u razmisljanju... verovatno iskustvo :) pa tek onda procitao opis PCX formata! Da sam znao da je *TOLIKO PROSTO* ne bi se uopste zezao s GIFovima... Bio sam pogresno informisan da je PCX slozeniji od GIF-a :(. Coveku koji me je dezinformisao je valjda jednostavnija LZW od brojanja ponavljanja... sta ces... ;) (btw: sta fakultet moze da uradi od coveka... ccc... ;) ) Jbm li mu nnu nninu... Xvala cBima 3a caBete... Digital Priest...
pascal.20 omega,
Ţ>>> Pogledaj PC.PROG: 4.57 i 4.108. Prvi je samo tpu (ako se ne Ţ>>> varam), a drugi ima i source... Ţ Ţ radjeni su za EGA kartice, nije veliki problem da se preprave, Ţ ali su i prepravljeni prespori... zezao se celu noc i nesto kao Prespori!? Cini mi se da jedan ima source u asm-u, i radi brzo kao i VPIC! U prevodu: ne moz' biti brze...
pascal.21 wizard,
> Ţ Do FON-a mozes doci i preko ETF-a ... :) > > Kako? 25-ticom.
pascal.22 boris,
>> Ţ Do FON-a mozes doci i preko ETF-a ... :) >> >> Kako? > > 25-ticom. Bolje je 14-ticom, manje se pešači :)))
pascal.23 omega,
Stavljanjem uses crt, pascal program osudjujemo da NE radi sa extended text modovima (npr. 132x24, 132x44...)...Da li neko zna kako da se ova prepreka savlada? Pazite, ovo ne vazi za modove u kojima ima 80 kolona - oni rade bez problema, medjutim, kad je aktivan mod recimo 132x44, tp ga automatski prebaci u 80x25 :(. Da li je jedino resenje pisanje sopstvenog CRT.TPU?
pascal.25 pedjak,
U vezi promene tekst moda... Možda lupam, ali da li si probao DirectVideo := False ?
pascal.26 omega,
Ţ U vezi promene tekst moda... Mozda lupam, ali da li si probao Ţ DirectVideo := False ? Jesam...Ne vredi...Stos je u tome sto crt.tpu izgleda nekako ovako: unit crt; ************* E ovde je neki deo koji prebacuje video mod :(( end.
pascal.27 pedjak,
> Jesam...Ne vredi...Stos je u tome sto crt.tpu izgleda nekako ovako: E, onda ti nema druge nego da praviš svoje rutine za ispis...
pascal.28 vpudar,
Primetio sam čudan bag kod Turbo Pascal-a 7.0, vezan za Crt unit i Readln naredbu: uses crt; var s: string; begin clrscr; write('Unesite bilo sta: '); readln(s); writeln('Napisali ste: ', s); end. "Brlja" komanda Readln, ne ispisuje prvi karakter tamo gde treba!?! Probajte i vi.
pascal.29 markom,
*** Probajte i vi. Radi savršeno ...
pascal.30 mmitrovic,
Ů█▀█Ţ> Jesam...Ne vredi...Stos je u tome sto crt.tpu izgleda nekako ovako: Ů█▀█Ţ E, onda ti nema druge nego da praviš svoje rutine za ispis... Ne mora. Kad se startuje program sa CRT unitom, CRT zapamti mod u kome je u LastMode promenljivoj. Samo treba da se pozove TextMode(LastMode) i rezulucija će se vratiti na početnu.
pascal.31 mmitrovic,
Ů█▀█Ţ "Brlja" komanda Readln, ne ispisuje prvi karakter tamo gde treba!?! Ů█▀█Ţ Probajte i vi. Probao i radi. I to i na Turbo i na Borland pascalu i u real i u protected modu. Mora da je nešto do tebe. Koji su ti default switchevi?
pascal.32 omega,
Ţ Ů█▀█Ţ E, onda ti nema druge nego da pravis svoje rutine za ispis... Ţ Ţ Ne mora. Ţ Ţ Kad se startuje program sa CRT unitom, CRT zapamti mod u kome je Ţ u LastMode promenljivoj. Samo treba da se pozove TextMode(LastMode) i Ţ rezulucija ce se vratiti na pocetnu. Kamo srece da je to tako :( Da objasnim jos jednom...Radimo recimo u modu 132x25. Startujemo program koji ima "uses crt" i CRT PRVO inicijalizuje 80x25, pa u LastMode stavi taj mod (znaci stavi 80x25, a NE 132x25) :(, pa nikakvo textmode(lastmode) ne moze da nam pomogne :(
pascal.34 eagle,
> Kamo srece da je to tako :( Da objasnim jos jednom...Radimo recimo u modu > 132x25. Startujemo program koji ima "uses crt" i CRT PRVO inicijalizuje > 80x25, pa u LastMode stavi taj mod (znaci stavi 80x25, a NE 132x25) :(, > pa nikakvo textmode(lastmode) ne moze da nam pomogne :( Ovo možeš rešiti tako što ćeš pre CRT-a pokupiti aktivan mod. Napravi se jedan mali unit koji to radi, i stavi se u uses pre CRT-a: unit Last; interface var LastMode: byte; implementation begin LastMode := memŠ$40:$49Ć; end. program: uses Last, CRT; begin asm mov ah, 0 mov al, Last.LastMode int 10h end; ... end. Naravno, TextMode neće dozvoliti postavljanje moda sa kojim CRT ne ume da radi, pa se mora direktno.
pascal.35 omega,
Ţ Ovo mozes resiti tako sto ces pre CRT-a pokupiti aktivan mod. Ţ Napravi se jedan mali unit koji to radi, i stavi se u uses pre Ţ CRT-a: Svaka cast na ideji. Probao sam i radi! Hvala...
pascal.36 saricl,
Dali neko može da baci ovde rutinu koja radi sledeće: Potrebno je da po njenom startovanju preuzima interapt, odnosno po zahtevu za interapt startuje jednu drugu rutinu x.y nakon završavanja posla rutine x.y vraća sve u pocetno stanje. E sad sve to treba da radi u realnom vremenu. Ako neko nema gotovu rutinu nek mi bar kaže zašto mi posle aktiviranja rutine za prekid zablokira uređaj ciji je prekid korišten. Unapred hvala.
pascal.43 djelovic,
Prethodnih šest poruka stiglih preko Beointerneta su sadržale kod PCX unita, a pošto su bile previše velike ja sam zapakovao u datoteku prikačenu ovde i onda obrisao. Dakle: Subject: Yu.prog.pascal 1/6 Date: Mon, 09 May 1994 22:04:00 BS> Ostaje mi samo da probam. Mada, ja sam se nadao da moze sve iz paskala i BS> bez ASM (kojeg, usput receno, ne znam). No ipak, hvala. Izvini, zadnji put sam zaboravio da ti possaljem PCX.TPU... Ovo cce ti pomocci... unit PCX; ... pcxtpu.zip
pascal.44 dzakic,
> Ako neko nema gotovu rutinu nek mi bar kaže zašto > mi posle aktiviranja rutine za prekid zablokira > uređaj ciji je prekid korišten. Možda bi bilo lakše da si napisao o kom se uređaju radi, i koji si interapt preuzimao. Pitaću te samo ovo: jesi li vodio računa o tome da interapt procedura pamti fleg registar. Dakle: Procedure xxx; interrupt; <-- pri pozivu se desi jedno pushf begin tvoj deo; poziv stare procedure; <-- ona možda menja flegove ? tvoj deo; end; <-- izlazak vraća stare flegove sa popf
pascal.45 mvukolic,
Dok sam juče nešto radio sa FindFirst i FindNext, desilo mi se da se kao atribut za 2 direktorijuma javlja 48 ($30), a za atribute ostalim direktorijumima 16 ($10, uobičajena vrednost za dir-ove). Šta predstavlja atribut $30 i otkud taj poremećaj?
pascal.46 ognjen,
Uh, urnise me ovaj rename. :( Dakle, kazem: assign (fl, 'begin.ogi') I tu dodelim ime fajla promenjljivoj fl, onda: Rewrite (fl) Sada fajl sigurno postoji. :) Rename (fl, 'new.ogi') E, ovo me buni: - da li je promenjljivoj fl dodeljeno ime fajla new.ogi, tj fajl FL i dalje ostaje isti kakav je bio (otvoren), i samo mu je ime promenjeno, a "begin.ogi" ne postoji, - ili je FL i dalje ostalo "begin.ogi", a sve dosadasnja ceprkanja po fajlu su prebacena u "new.ogi", s tim da je "new.ogi" zatvoren, a "begin.ogi" ovoren i ima 0 bytes, - ili je nesto trece? PS: posle komande rename sledi rewrite (FL) i projavljuje gresku "Invalid file handle" ?!?!?!?!?!??!
pascal.47 omega,
Ţ assign (fl, 'begin.ogi') Ţ Rewrite (fl) Ţ Rename (fl, 'new.ogi') Fajlove treba rename-isati PRE otvaranja datoteke, a ne posle. Ţ - da li je promenjljivoj fl dodeljeno ime fajla new.ogi, tj Ţ fajl FL i dalje ostaje isti kakav je bio (otvoren), i samo mu je Ţ ime promenjeno, a "begin.ogi" ne postoji, Postoje oba fajla, s tim sto ce drugi uvek biti velicine 0, a u prvom ce biti ono sto si napisao do rename-isanja (naravno ako si na kraju zatvorio fajl). Znaci prvi ostaje otvoren, ali za drugi nije ni bitno (?) jer je uvek velicine 0. Ţ PS: posle komande rename sledi rewrite (FL) i projavljuje gresku Ţ "Invalid file handle" ?!?!?!?!?!??! Zanimljivo, ali to se kod mene ne desava!?
pascal.48 drakce,
│ desilo mi se da se kao atribut za 2 direktorijuma javlja 48 ($30), a za │ atribute ostalim direktorijumima 16 ($10, uobičajena vrednost za │ dir-ove). Šta predstavlja atribut $30 i otkud taj poremećaj? └─────────── Nije poremećaj, samo su ta 2 direktorijuma imala setovan Archive flag ($20). Kada ispituješ da li je neki fajl direktorijum, nemoj koristiti jednakost: if (attribut = Directory) then writeln('To je direktorijum'); nego upotrebi logičko AND za ispitavanje Directory flag-a: if (attribut AND Directory) then writeln('To je direktorijum'); PS: Directory je konstanta iz DOS unita. Vrednost joj je $10.
pascal.49 dzakic,
> Dok sam juče nešto radio sa FindFirst i FindNext, desilo mi se > da se kao atribut za 2 direktorijuma javlja 48 ($30), a za > atribute ostalim direktorijumima 16 ($10, uobičajena vrednost za > dir-ove). Šta predstavlja atribut $30 i otkud taj poremećaj? Atribut čini više bitova, peti se pali kad je u pitanju direktorijum, a pored njega može biti upaljen u šesti, ako je setovan arhiv bit: Cnstant │ Value ════════════════ě════════ faReadOnly │ $01 faHidden │ $02 faSysFile │ $04 faVolumeID │ $08 faDirectory │ $10 faArchive │ $20 faAnyFile │ $3F Dakle, direktorijum ispituješ sa: if Attr and faDirecotry<>0 then ...
pascal.50 dzakic,
> PS: posle komande rename sledi rewrite (FL) i projavljuje gresku > "Invalid file handle" ?!?!?!?!?!??! Mislim da je jedini bezbedan način za promenu imena - rename nad ˙zatvorenom˙ datotekom.
pascal.51 pedjak,
> Rewrite (fl) > Rename (fl, 'new.ogi') Rename se radi na zatvorenim fajlovima...
pascal.52 mmitrovic,
Ů█▀█Ţ Potrebno je da po njenom startovanju Ů█▀█Ţ preuzima interapt, odnosno po zahtevu za interapt Ů█▀█Ţ startuje jednu drugu rutinu x.y nakon završavanja Ů█▀█Ţ posla rutine x.y vraća sve u pocetno stanje. procedure GetIntVec(IntNo: Byte; var Vector: Pointer); procedure SetIntVec(IntNo: Byte; Vector: Pointer); ove dve procedure uzimaju i postavljaju vektore. primer: SetIntVec($21,čMyProcedure); tvoja procedura mora biti deklarisana kao interrupt ili da je deklarises kao ASM pa da sam definises ulaz, posto interrupt procedure na pocetku stavlja sve registre na stek i postavlja DS na data segment. Za pozivanje drugih procedura koristi se stek pozivajuceg programa. Suzdrži se pozivanja procedure koje obilato koriste lokalne promenljive koje se inače alociraju na steku. Ako je u pitanju rutina za hardverski interrupt ne smes da koristis DOS procedure koje nisu reentrant, posto ces veoma verovatno da zabrljas DOS stek. Takođe se suzdrži pozivanja procedure koje obilato koriste lokalne promenljive koje se alociraju na steku. Ako si ostavio dosta HEAPa mozes slobodno da alociras memoriju, ili da koristis vec alociranu. Ako tvoja interrupt procedura treba da modifikuje neki registar moraces da koristis pseudo parametre (vidi Pascal help za "interrupt") a ne direktno menjanje. Toliko mi na pamet palo za sada. Ako ti nista ne pomogne, pisi opet. Ů█▀█Ţ E sad sve to treba da radi u realnom vremenu. Kakvo drugo vreme postoji? Ů█▀█Ţ Ako neko nema gotovu rutinu nek mi bar kaže zašto Ů█▀█Ţ mi posle aktiviranja rutine za prekid zablokira Ů█▀█Ţ uređaj ciji je prekid korišten. Ovo bas nisi jasno objasnio, koji uredjaj, koji prekid? Baci nam i tvoju proceduru ako nije tajna.
pascal.53 kriss,
Jel palo nekom napamet da posle uvođenja naredbe SYSM napravi malo programče za 'obradu' exec-a? :) Da posle svakog MAIL/GROUP/CONF SEND/REPLY doda /R? :)
pascal.54 markom,
*** Jel palo nekom napamet da posle uvođenja naredbe SYSM napravi malo *** programče za 'obradu' exec-a? :) Da posle svakog MAIL/GROUP/CONF *** SEND/REPLY doda /R? :) Zašto kad to možeš uraditi i u SOR-u ?
pascal.55 postmast,
Subject: Proenljivi zapisi Date: Sun, 15 May 1994 12:18:17 CD> kao type. Jednostavno, napravis mali pod-program koji ce da cita sam CD> podatke, bez obzira na strukturu. Evo primera: PS> PS> Eh, radi se o datotekama reda od par do par desetina megabajta. Ovaj PS> nacin bi to radio mnogo sporo. Razmisljao sam vec o tome. U Moduli bi to ne bi bio preteran problem - definises sa TYPE sve moguce strukture, a u kasnijem delu odaberes koja ti treba i definises nov TYPE koji ima osobine jednog od vec definisanih TYPE-ova i radis preko njega. Mozda moze slicno i u Pascalu, ne znam, ovakve stvari nikad nisam radio u njeu... ... QWK, QWK, QWK - mating call of the mail duck. * Origin: Prometheus BBS - The Northern Frontier - (38:111/107)
pascal.56 omega,
Ţ *** programce za 'obradu' exec-a? :) Da posle svakog MAIL/GROUP/CONF Ţ *** SEND/REPLY doda /R? :) Ţ Ţ Zasto kad to mozes uraditi i u SOR-u ? A je l' moze u SDW-u?
pascal.57 omega,
Povodom direktnog gadjanja memorije, evo procedure koju sam malo sredio... print.pas
pascal.58 saricl,
%%% Možda bi bilo lakše da si napisao o kom se uređaju radi, i koji si %%% interapt preuzimao. Pitaću te samo ovo: jesi li vodio računa o tome Ovo je taj Pascal program. Inace on je skroz pojednostavljen, a to je zato što još nije konacno zavrešen. Program Pritisnut; Uses DOS, CRT; var tim : String; vectorPrekida : pointer; Procedure prk; interrupt; Begin clrscr; tim:=' P R I T I S N U T J E T A S T E R '; Writeln(tim); end; Begin Getintvec($0b,vectorPrekida); Setintvec($0b,@prk); Delay(5000); SetIntvec($0b,vectorPrekida); end.
pascal.59 markom,
*** A je l' moze u SDW-u? Pa gde god ti se daje mogućnost da edituješ komandnu liniju, može, samo se tre- ba toga setiti, i naravno, povremeno pratiti SEZAM:sor ;>
pascal.60 .djn,
Radi periodicnog angazovanja potreban mi je jedan ili vise saradnika koji poznaju neke ili sve od navedenih stvari: - Borland Pascal 7.0 with Objects, - Turbo Pascal, - Turbo Pascal for Windows, - objektni Pascal, - Turbo Vision, - Object Windows Library, - Paradox Engine za Pascal, - pravljenje komunikacionih programa u Pascalu... Zainteresovane molim da mi ostave poruku sa brojem telefona na mail. Dejan
pascal.61 omega,
Ţ Pa gde god ti se daje mogucnost da editujes komandnu liniju, moze, samo se :) Pa komandnu liniju editujes rucno, a ne automatski, zar ne?
pascal.62 markom,
*** :) Pa komandnu liniju editujes rucno, a ne automatski, zar ne? Ne znam sa SDW, ali u SOR-u može da se namesti da umesto MAIL SEND piše i POŠA- LJI POŠTU, ako hoćeš ...
pascal.63 dzakic,
> tim:=' P R I T I S N U T J E T A S T E R '; > Writeln(tim); > Getintvec($0b,vectorPrekida); Da nisi hteo da uzmeš int 09? On se generiše prilikom svakog pritiska i otpuštanja tastera... Drugi razlog zašto ne radi (umrtvi se mašina?) je zato što u svojoj rutini za obradu prekida nigde nemaš pozivanje originalne procedure pa računar više nema podatak o tome šta se dešava za tastaturom... Adresu originalne procedure si upamtio u 'vektorPrekida'. Deklariši ga sa vektorPrekida:Procedure;, a pozivaj ga sa asm pushf end; vektorPrekida; Naravno, fali i asm mov ax,SEG @data mov ds,ax end; na početku interapt procedure.
pascal.64 kriss,
Ako neko reši, svaka mu čast, ja više nemam živce da pogađam ko je lud, me or TP 6.0 ;) Nije veliko ni teško, ko hoće da se zanima ima sve objašnjeno u arhivi. I ko ima nerve ... ;) evo.zip
pascal.65 mvukolic,
> Ako neko reši, svaka mu čast, ja više nemam živce da pogađam ko je lud, Greška je u zaglavlju procedure Unos. Treba da stoji 'var kraj:boolean', a ne 'kraj:boolean'.
pascal.66 kriss,
˙˙ Greška je u zaglavlju procedure Unos. ˙˙ Treba da stoji 'var kraj:boolean', a ne 'kraj:boolean'. Zašto? Šta treba zameniti? Var se odnosi i na kraj ... Za nepupućene, zaglavlje izgleda ovako: Procedure Unos (x,y,no:byte; Var g:string; kraj:boolean); I TP uporno odbija da vrati kraj pri pozivu ...
pascal.67 d.stamen,
> Zasto? Sta treba zameniti? Var se odnosi i na kraj ... > > Za nepupucene, zaglavlje izgleda ovako: > > Procedure Unos (x,y,no:byte; Var g:string; kraj:boolean); Ovako kako si napisao var se definitivno ne odnosi na promenljivu kraj. Ono sto tebi treba, da bi kraj bila ulazno/izlazna promenljiva je Procedure Unos (x,y,no:byte; Var g:string; Var kraj:boolean); u suprotnom promenljiva kraj je samo ulazna za proceduru Unos. Znaci poslusaj savet MVukolic-a i sve ce biti OK.
pascal.68 mvukolic,
> ˙˙ Greška je u zaglavlju procedure Unos. > Zašto? Šta treba zameniti? Var se odnosi i na kraj ... > Procedure Unos (x,y,no:byte; Var g:string; kraj:boolean); > I TP uporno odbija da vrati kraj pri pozivu ... Procedure Unos (x,y,no:byte; var g:string; var kraj:boolean); Normalno da ne vraća kraj pri pozivu zato što gore ne stoji 'var'. Ako ne staviš 'var' šta god da uradiš sa promenjivom u proceduri, njena vrednost se neće promeniti (tj. posle kraja izvršavanja procedure, vrednost ostaje ista kao i pre poziva). Elementarno znanje Pascala...
pascal.69 kriss,
˙˙ Procedure Unos (x,y,no:byte; var g:string; var kraj:boolean); Hvala, radi. Mislio sam da se Var odnosi na sve što ga sledi. Pogršno sam naučio ... ˙˙ Elementarno znanje Pascala... Kad zatražim pomoć ne činim to iz hira već zato što ne znam kako da rešim određen problem. Kada umem nekom da pomognem, pomognem. Nikada ne 'poklapam' sa ovakvim izjavama ...
pascal.70 zloboleon,
ňňň Ako neko reši, svaka mu čast, ja više nemam živce da pogađam ňňň ko je lud, me or TP 6.0 ;) Jesi li probao sa TP 7.0 ;) ?
pascal.71 mmitrovic,
Ů█▀█Ţ asm pushf end; Ů█▀█Ţ vektorPrekida; U ovom slucaju (sa int 09) bi radilo, ali ako su flagovi važni neće raditi pošto će na stek doći flag registar koji je handler već menjao. Tada mora da koristi pseudo parametar Flags: asm push Flags end; Za način definisanja pseudo-parametara za interrupt proceduru pogledajte BP help za rezervisanu reč INTERRUPT. Ů█▀█Ţ asm mov ax,SEG čdata Ů█▀█Ţ mov ds,ax Ů█▀█Ţ end; Ů█▀█Ţ fali na početku interapt procedure. pocetak interrupt procedure (init (ili begin) kod) je: push ax ; registri na stek (njima se posle pristupa .. ; preko pseudo-parametara (read help!)) push es push bp ; postavlja stek frame na steku prekinutog mov bp,sp ; programa sub sp,Local ; lokalne promenljive mov ax,SEG čDATA ; *!*!*!*!*!*!*!*!*!*! mov ds,ax ; !*!*!*!*!*!*!*!*!*!* ....... ; rutina tako da se ovo što predlažeš već dešava automatski.
pascal.72 mmitrovic,
Subject: promenljivi slogovi. Ů█▀█Ţ PS> Eh, radi se o datotekama reda od par do par desetina Ů█▀█Ţ PS> nacin bi to radio mnogo sporo. Razmisljao sam vec o tome. Ů█▀█Ţ Ů█▀█Ţ U Moduli bi to ne bi bio preteran problem - definises sa Nije ni ovde neki problem, važna je samo jedna struktura: FileRec iz Dos unita. Ona pokriva i netipizirane i tipizirane datoteke. Tačnije važno je polje strukture zvano RecSize. U helpu se nalazi pod TFileRec, ali se u stvarnosti ipak zove FileRec (Borlandov propust). Kad mu se zada var F: File of <nešto>; on automatski postavlja RecSize na veličinu tipa. dok kod var F: File; to radi user preko reset (ili rewrite) (sećate se drugog parametra?) a po defaultu je 128 bajtova?? (nemam pojma što bas tolko). Dakle evo primer koji bi trebao da radi (bar je sintaksno ispravan), nisam ga nikad probao jer mi nije trebao, teorijski šljaka. uses Dos; type PWord = žWord; var F: File of Word; š recsize=2 ć a: LongInt; begin assign(F,trte-mrte); reset(F); š u ovom trenutku RecSize postaje 2 ć FileRec(F).RecSize:=SizeOf(LongInt); š RecSize postaje 4 ć š Može i neki drugi broj npr. 234 ć š ili čak i varijabla ć read(F,PWord(ča)ž); š pointer typecast je neophodan da bi ć š se zavarao BP compiler ć š učitace 4 bajta (LongInt) umesto 2 (Word). ć ... - Neat trick, ha? -
pascal.73 mmitrovic,
Ů█▀█Ţ var tim : String; Ů█▀█Ţ Ů█▀█Ţ tim:=' P R I T I S N U T J E T A S T E R '; Ů█▀█Ţ Writeln(tim); Ne valja ti rabota. ;) Imaćeš dve kopije stringa u memoriji jednu u Code a drugu u Data Segmentu. Stavi samo writeln(' P R I ........ E R '); Ovo nije fatalna greška ali bez potrebe zauzima mesto u Data segmentu.
pascal.74 mmitrovic,
Ů█▀█Ţ Zašto? Šta treba zameniti? Var se odnosi i na kraj ... Ů█▀█Ţ Za nepupućene, zaglavlje izgleda ovako: Ů█▀█Ţ Procedure Unos (x,y,no:byte; Var g:string; kraj:boolean); Ů█▀█Ţ I TP uporno odbija da vrati kraj pri pozivu ... Var koji definiše promenljive i Var u definiciji formalnih parametara su dve sasvim različite stvari. U ovom drugom slučaju označava parametar koji će biti prenet kao adresa te se svaka promena nad vrednošću promenljive u proceduri automatski reflektovati na stvarnom parametru. Opseg ovog Var je do sledećeg ; tako da se kod tebe ne odnosi i na kraj. Kad smo već kod parametara, da li ste znali da postoje i const parametri. Pr: procedure XYZ (const a); prima kao stvarni parametar samo promenljivu, i prenosi je kao adresu (slično kao i var) ali ne dozvoljava menjanje parametra iako postoji dostupna adresa na steku. procedure XYZ (const a:word); prima kao stvarni parametar i konstantu i varijablu, i prenosi je kao kopiju vrednosti (slično kao bez var) ali ne dozvoljava menjanje parametra iako postoji dostupna kopija vrednosti na steku. Međutim parametar se može menjati iz internog asemblera u oba slučaja. Mešanje var i const ne radi. BP Help ne pominje ništa o ovome. Bug or Feature?
pascal.75 dpriest...,
Hi. Ako vas ne mrzi skinite ovaj pokusaj pravljenja jednog efekta mora i recite mi onda da li vam to lici na vodu i da li ga vredi stavljati u jedan intro. Radi *samo za tridend* kartice za sada, pa ako povoljno prokomentarisete mozda ce raditi i za ostale... Unapred hvala, DP... PS Nema veze sa temom, ali ga napisah u pascalu, i eto ga ovde... :) w.arj
pascal.76 postmast,
Subject: pascal Date: Tue, 17 May 1994 10:40:00 "V> From: "Marko Vukolic" <mvukolic@sezam.UUCP> "V> Dok sam juce nesto radio sa FindFirst i FindNext, desilo mi se "V> da se kao atribut za 2 direktorijuma javlja 48 ($30), a za atribute "V> ostalim direktorijumima 16 ($10, uobicajena vrednost za dir-ove). "V> Sta predstavlja atribut $30 i otkud taj poremecaj? Evo tabele atributa datoteka, koja se inace nalazi u TP Help-u: Constanta Vrednost =================== ReadOnly $01 Hidden $02 SysFile $04 VolumeID $08 Directory $10 Archive $20 AnyFile $3F =================== Atribut $10 znaci da je nadjena datoteka u stvari direktorijum. Atribut $30 je u stvari zibr atributa $10 i $20 sto znaci da je to direktorijum ali sa ukljucenim Archive flegom. On se koristi za oznacavanje sta je izmenjeno od poslednjeg BACKUP-a.. Nadam se da ce biti od pomoci. Pozdrav Predrag Supurovic, 38:101/101@setnet.org broker@osmeh.fon.uni-bg.yu ... Hej! Jesi li postao Clan YUCCA? * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.77 postmast,
Subject: .PCX file reader Date: Mon, 16 May 1994 10:59:00 Pozdrav! Dat je jedan ASEMBLER-ski listing za citanje .PCX grafickih fajlova. Sve ovo je moguce uraditi i iz PASKAL-a. Da li je bolje raditi ASEMBLER-om ne znam, ali imam UNIT koji cita .PCX fajlove. Ovo je napisao jedan moj ortak za nas program i stvar radi. Doduse, nama je trebao UNIT za citanje mono PCX slika, ali imam PCX TECHNICAL REFERENCE, u kome je opisana stuktura PCX formata. Nisam je sada poslao, jer je dugacak nekih 7-8 stampanih strana. Koga zanima, moze dobiti informacije i o drugim stvarima koje se mogu raditi iz PASKAL-a (promena oblika kursora, emulacija sivih boja, identifikacija IDE diskova,...). Strajder P.S. Ako ti treba ovaj listing, poslacu ti ga. Ostavi poruku. Isto vazi i za uputstvo. Mogu ti dati i za TIFF i GIF formate. A ako imas jos neki problem, pitaj. ... Najveca brzina u svemiru je Brzina Gluposti! * Origin: *TAURUNUM BBS +381 11 2354-253, 22 do 07* (38:38/115.1)
pascal.78 postmast,
Subject: Turbo Pascal 6.0 Date: Wed, 18 May 1994 04:28:04 MS> Kud ces polaganije od ovoga. :)) 3-4 godine radim na TP-u, ali eto, > kad uleti asembler u paskal, onda, hoces-neces, pomislis: 'mozda bi ovo > islo brze da je u asm?' I, kako to vec ide, poljubis sve knjige o tp-u, a > bacis se na trazenje help-a za tp 6.0. Ipak, u pravu si: ako ne laganije > uciti, onda svakako detaljnije. Vidim da si sam najbolje otkrio problem... Mogla bi ti pomoci knjiga koja se distribuira o fajlu (tpr-book.*), imas je i na FonFile Serveru. Help ti nece mnogo pomoci oko pointera ali knjige svakako hoce. MS> No, to je OK, ali jel' moze kako sa se eliminise ono mrljanje oko misa. > Da nije greska u mom drajveru? ( Ili treba laganije...:)))) Hmm, nisi citirao pa ne znam o cemu se radi. Siguran sam da ti nisam odgovarao u vezi mrljanja misa jer o tome ne znam uglavnom nista. Sto se tice laganijeg tempa, pa pomenuo sam ga samo jednom i mislio sam na pointere i slicno. Normalno je da pretpostavim da je neko uleteo u nebrano grozdje kada pogresno zove Viziju i ne zna sta su pointeri, molim te da se ne ljutis zbog toga. Inace iako znam da radim sa pointerima, skoro nikad ih ne koristim jer smatram da ako razmisljam na Pascal-u, onda mi padaju na pamet samo struktuirana resenja koja su toliko dobra da za njih ne trebaju pointeri koje sam nekako povezao sa brljotinama pa ih uglavnom izbegavam. Uglavnom pointere smatram vestackim delom paskala pa ih i ne koristim, kao ni goto (cak ni u bejziku ga ne koristim). Zeljko Dakic a.k.a. DesireCo. -- SPEED 1.30 [NR]: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q) * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.79 postmast,
Subject: Proenljivi Zapisi Date: Wed, 18 May 1994 04:28:06 PS> Eh, radi se o datotekama reda od par do par desetina megabajta. Ovaj > nacin bi to radio mnogo sporo. Razmisljao sam vec o tome. HI! Nisam video poruku na koju ti je on odgovorio. U cemu je problem, mozda mogu da pomognem ? Zeljko Dakic a.k.a. DesireCo. -- SPEED 1.30 [NR]: In DoubleSpace, no one can hear your files scream. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.80 postmast,
Subject: Array Date: Wed, 18 May 1994 04:28:08 MS> Packed Array[1..12,char] of String[20] BS> A sta mu dodje ovo 'packed' ? Uglavnom nista. Turbo Pascal to ignorise a ta rec se koristi u standardnom pascalu za neko muljanje. Ostala je da bi bio kompatibilan sa standardnim pascalom. Zeljko Dakic a.k.a. DesireCo. -- SPEED 1.30 [NR]: Radite kako vam kazem, a ne kako ja radim! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.81 mvukolic,
> Kad zatražim pomoć ne činim to iz hira već zato što ne znam kako da > rešim određen problem. Kada umem nekom da pomognem, pomognem. Nikada ne > 'poklapam' sa ovakvim izjavama ... Tačno ono što sam ja uradio u svojoj prvoj poruci, a ti nisi poslušao.
pascal.82 omega,
Ţ Kad smo vec kod parametara, da li ste znali da postoje i const Ţ parametri. Pr: Ţ procedure XYZ (const a); Je l' nekom pada na pamet za sta bi ovo moglo da se koristi?
pascal.83 gpplanum,
Evo domaceg zadatka za sve paskal programere kojima je dosadno: Rezidentni programcic koji ce svirnuti svaki put kada se neki taster pritisne(radi stvaranja utiska klickanja tastature). Slabo stojim sa TSR programima,a zeleo bih to da naucim! P.S.Ne bi trebalo da bude tesko,ali ni doneti pivo nije tesko,a plavusa ne zna;) -Ju!Sine sa kim se ti uporedjujes! -Sto mama i plavuse su ,ooovaj,i plavuse su, I PLAVUSE SU KORISNE!!;)
pascal.84 dgrbic,
:: Mešanje var i const ne radi. Isto ko ni mešanje deklaracija far i near u C-u. Jasno da ne radi, kad su to dve suprotne stvari.
pascal.85 pedjak,
> Evo domaceg zadatka za sve paskal programere kojima je dosadno: > Rezidentni programcic koji ce svirnuti svaki put kada se > neki taster pritisne(radi stvaranja utiska klickanja tastature). Takav programčić imaš u helpu, uz objašnjenje procedure Keep.
pascal.86 vitez.koja,
#=> Evo domaceg zadatka za sve paskal programere kojima je #=> dosadno: Rezidentni programcic koji ce svirnuti svaki #=> put kada se neki taster pritisne(radi stvaranja utiska #=> klickanja tastature). Baš taj primer (inače trivijalan) dat je u TP helpu za funkciju keep.
pascal.87 jasicp,
> procedure XYZ (const a); > prima kao stvarni parametar samo promenljivu, i prenosi je kao adresu > (slicno kao i var) ali ne dozvoljava menjanje parametra iako postoji > dostupna adresa na steku. Imam TP6.0. Da li ovo radi samo u BP-u ? Ima li BP ( i TP7.0 ) znacajno sire biblioteke objekata i mogu li koristiti uz 6.0 bez problema / valjda mogu...
pascal.88 gpplanum,
># => Evo domaceg zadatka za sve paskal programere kojima je ># => dosadno: Rezidentni programcic koji ce svirnuti svaki ># => put kada se neki taster pritisne(radi stvaranja utiska ># => klickanja tastature). > > Bas taj primer (inace trivijalan) dat je u TP helpu za funkciju > keep. Da,bas sam majmun! Ali,sta mogu,markom me zaplasio;> P.S.Sada znam RFM!! Ali ko ce ceo help da cita.
pascal.89 gpplanum,
> mora i recite mi onda da li vam to lici na vodu i da li ga > vredi stavljati Pa,ako ce se inicijalizovati ovako dugo;)bolje nemoj! Pozdrav,gpplanum! P.S.Meni vise lici na maglu(majke mi!).
pascal.90 kriss,
˙˙ Tačno ono što sam ja uradio u svojoj prvoj poruci, a ti nisi ˙˙ poslušao. Nisam jer me je zanimalo _zašto_ je to tako. A kasnije sam (kad si i objasnio zašto je to tako) i poslušao - ispravio.
pascal.91 kriss,
˙˙ reflektovati na stvarnom parametru. Opseg ovog Var je do ˙˙ sledećeg ; tako da se kod tebe ne odnosi i na kraj. Aaaa, e to mi nije bilo jasno. :) Mislio sam da se Var odnosi na sve što ga sledi. Hvala. :)
pascal.92 mmitrovic,
Ů█▀█Ţ Isto ko ni mešanje deklaracija far i near u C-u. Ů█▀█Ţ Jasno da ne radi, kad su to dve suprotne stvari. Pa nisu baš suprotne stvari, bar sa stanovišta koda (const a) i (var a:tip) obe ostavljaju 32bit pointer (const a:<tip>) i (a:<tip>) obe ostavljaju kopiju velicine <tip> far i near se razlikuju po veličini (32 i 16 bita).
pascal.93 mmitrovic,
Ů█▀█Ţ identifikacija IDE diskova,...). Ů█▀█Ţ i za uputstvo. Mogu ti dati i za TIFF Ove dve stvari bi dobro došle.
pascal.94 mmitrovic,
Ů█▀█Ţ BS> A sta mu dodje ovo 'packed' ? Ů█▀█Ţ Uglavnom nista. Turbo Pascal to ignorise a ta rec se koristi u Ů█▀█Ţ standardnom pascalu za neko muljanje. Ostala je da bi bio kompatibilan packed služi da označi "pakovani niz". Primer: da ne bi kucao: const a: array Š1..5Ć of char = ('a','b','c','d','e') kucaš const a: packed array Š1..5Ć of char = ('abdef'); Borlandovi Pascal-i ignorišu packed jer se svi nizovi u TP i BPu podrazumevaju kao packed. Korisna stvar za definisanje ASCIIZ stringova (bez bajta za dužinu, sa #0 na kraju).
pascal.95 markom,
*** Ali,sta mogu,markom me zaplasio;> Dobro ono je trivijalan primer, ali za neki komplikovaniji TSR, hmm, mora da se pazi na sve živo ... *** P.S.Sada znam RFM!! Jock, RTFM ...
pascal.96 saricl,
|||| asm pushf end; |||| vektorPrekida; |||| asm mov ax,SEG @data |||| mov ds,ax |||| end; Jel može detaljnije objašnjenje šta ovo radi. Inace u toj proceduri jeste bio int09 ali mi je krajnji cilj int5 (LPT 2)
pascal.97 asrdjan,
Da li bi neko mogao da mi malo objasni pojam pointera. Npr. ako treba da napravim niz od n članova,a n mi je poznato tek nakon ulaska u program. Thanx a lot:). - Anri The III -
pascal.98 mmitrovic,
Ů█▀█Ţ Imam TP6.0. Da li ovo radi samo u BP-u ? Ima li BP ( i TP7.0 ) Ů█▀█Ţ znacajno sire biblioteke objekata i mogu li koristiti uz 6.0 bez Ů█▀█Ţ problema / valjda mogu... Za prvo, pojma nemam, više ne držim 6.0, probaj pa vidi. Što se tiče biblioteka objekata, van TVision-a BP ima malo korisnih stvari kao što je TCollection i njegovi naslednici, pogledaj help za unit OBJECTS. Tu su svi objašnjeni. BP7 biblioteke se ne mogu koristiti u 6.0 jer se razlikuju TPU fajlovi, ali OBJECTS postoji i u TP 6.0.
pascal.99 dejanr,
>> Npr. ako treba da napravim niz od n članova,a n mi je poznato tek nakon >> ulaska u program. To se radi otprilike ovako: type nizt: array [1..65000] of byte; nizp: ^niz; var niz: nizp; n: longint; begin readln(n); getmem(niz, n); niz^[1]:=123; niz^[n-1]:=222; itd end.
pascal.100 postmast,
Subject: pascal Date: Mon, 23 May 1994 09:48:04 To: "Miljan Mitrovic" <mmitrovic@sezam.UUCP> "M> Nije ni ovde neki problem, vazna je samo jedna struktura: "M> FileRec iz Dos unita. Ona pokriva i netipizirane i tipizirane Ovo je bilo veoma zanimljivo. Iako mi nije direktno resilo problem, dalo mi je ideju kako da ga resim. Hvala, broker ... Ups. Ostadoh bez tagova... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.101 dzakic,
>> asm pushf end; >> vektorPrekida; >> >> asm mov ax,SEG @data >> mov ds,ax >> end; > Jel može detaljnije objašnjenje šta ovo radi. Kad pozivaš proceduru preko pointera na nju, paskal izvrši običan far call, dok se interapt procedura završava instrukcijom IRET. Iret skuplja sa steka adresu za povratak, ali isto tako i fleg registar, pa zato pre takvog pozivanja treba flegove ručno gurnuti na stek (sa pushf). A punjenje ds registra adresom data segmenta je neophodno jer u svojoj interapt proceduri koristiš globalne promenljive koje se tamo nalaze. Paskal očekuje da DS registar uvek ukazuje na data segment, što nije slučaj kada nastane interapt (pritisnut taster) i ds registar ostane da ukazuje na data segment aplikacije koja se u tom trenutku izvršava. Ti onda treba da sačuvaš ds, da mu daš tačnu adresu (na opisan način) i po završetku opet vratiš nazad.
pascal.102 dgrbic,
:: (const a) i (var a:tip) obe ostavljaju 32bit pointer :: (const a:<tip>) i (a:<tip>) obe ostavljaju kopiju :: velicine <tip> Nije bitno to, nego log'ka! Kad mu kažeš da je VAR onda znači da oćeš da ga menjaš, a kad mu kažeš CONST da ne nameravaš tu ništa da menjaš. I tu nije bitno što se u oba slučaja prenosi far pointer, nego što je navođenje oba prefiksa kontradikcija, da ne kažemo paradox :) Pascal je, sa te strane, mnogo restriktivniji od c-a. TP je, istina, olabavio provere (deklaracija var a - bez tipa - npr.) Ono što se mnogim programerima osobito dopada kod Wirthovih jezika upravo stroga provera tipova, što programera sprečava da radi nelogične stvari (koje bi kompajler mogo da proguta bez problema, ali...) Uvećavanje pointera je tipičan primer sprečavanja nelogičnih stvari, koje su neki put tako korisne... za razliku od const var a ;)
pascal.103 mmitrovic,
Ů█▀█Ţ call, dok se interapt procedura završava instrukcijom IRET. Iret Ů█▀█Ţ skuplja sa steka adresu za povratak, ali isto tako i fleg registar, pa Ů█▀█Ţ Paskal očekuje da DS registar uvek ukazuje na data segment, što nije Ů█▀█Ţ slučaj kada nastane interapt (pritisnut taster) i ds registar ostane da Ů█▀█Ţ ukazuje na data segment aplikacije koja se u tom trenutku izvršava. Ti Da li vi ljudi imate ignore za mene, ili ne čitate moje poruke iz principa?
pascal.104 dzakic,
> Korisna stvar za definisanje ASCIIZ stringova (bez bajta za > dužinu, sa #0 na kraju). const a:pchar='abcde'; ?
pascal.105 dzakic,
> Da li vi ljudi imate ignore za mene, ili ne čitate moje poruke > iz principa? Nemam ignore ni na koga. U poslednje vreme ne pratim konferencije baš sa posebnom pažnjom pa mi je tvoja poruka promakla. Ok, nisam znao da paskal automatski postavlja DS registar u procedurama deklarisanim sa interrupt. Ako sam i znao, izgubio sam iz vida, jer TSR pišem u asembleru, ne u paskalu. Hteo sam samo da pomognem čoveku i naveo razloge koji su možda mogli da budu uzrok njegovih problema.
pascal.106 toca,
Kako je i da li je uopšte moguće iz TP-a startovati BAT fajl? Konkretno verzija 6.0.
pascal.107 bigbrada,
*>> Kako je i da li je uopste moguce iz TP-a startovati BAT fajl? *>> Konkretno verzija 6.0. Pa ovako nekako... ... SwapVectors; Exec ('C:\Ime.Bat', ''); SwapVectors; ...
pascal.109 ognjen,
)-> type nizt: array [1..65000] of byte; Ovako se zauzme cela memorija dozvoljena za variables (64 Kb), i nema meste ni za jednu promenjljivu. I jos ako se stavi ovo, indexi mogu ici do 65k ali vrednosti clanova u nisu ne mogu biti veci od 356. Sto je niz... :) Znam, znam, moze se staviti of integer, ali je onda niz duplo "kraci". Kako recimo da definisem ovkakav niz: type korisnik = record ime : String[15] ; prezime : String[30] ; alias : String[14] ; broj_poziva : LongInt ; end; )-> nizp: ^niz; I, nek neko najzad objasni sta su to pointeri, ne kapiram nista... :( )-> var niz: nizp; NizP - vidi Niz; Niz - vidi NizP ???? :) )-> getmem(niz, n); Da li se ovako oslobadja mamorija za niz, tako da onih 64Kb ostaje slbodno za druge promenjljive?
pascal.110 ognjen,
M A I L S O R T !!! [jos ne radi] :( Radi se o programu koji (bi trebao da) sortira mailove, ustvari, sve sto radi je menja njihove brojeve. Mislio sam i kasnije kad razvijem program da uvedem i neku statistiku, ali naidjoh na ove bug-ove, i ne mogu da skontam sta nije u redu... Dakle, imena fajlova sa mail porukama se unose iz komandne linije (MAILSORT msg.1 msg.2) i pocinje obrada fajlova. Pretpostavlja se da ste fajlove uneli redom po datumu, tj, u prvom navedenom fajlu se nalaze najstarije poruke, u drugom novije... Dakle, program uzima prvi fajl (pa drugi, pa treci, kroz petllju For I := 1 to ParamCount) i trazi tring od 25 znakova "=" (pocetak poruke). Kada ga nadje, obradjuje heder, i u izlazni fajl upisuje istu tu poruku, ali sa promenjenim brojem. (pocinje se od 1, pa 2, 3, 4, 5...). I u jednom nizu se pamti originalni broj, kako bi se pri nailasku na string "Odgovor na" u hederu stavio tacan broj poruke na koju se odgovara. Sve bi trebalo da radi lepo, i radi, sve dok ne stigne do neke poruke (jednom je to bila poruka 90, drugi put 320 (zadnja u fajlu)...) gde prepise celu poruku, ali onda, kada treba da upise futer u fajl (ono ---(...)----brojporuke---) zbuni se, i proizvoljan broj "-" (uvek manji od trazenog (44)), i tu stane. Kraj. I, sve ovo sam napisao da bih vam rekao samo jedno: UPOMOOOOC!
pascal.111 dejanr,
>> SwapVectors; >> Exec ('C:\Ime.Bat', ''); >> SwapVectors; Mislim da neće ići tako, treba exec ('C:\COMMAND.COM', '/C ime') Ne zaboravi da $M direktivom ostaviš potrebnu količinu memorije. Uzgred, sa exec mogu da se pozivaju "direktno" programi, bez COMMAND.COM, ali to treba da budu isključivo izvršni programi, i mora se navesti puna staza i ekstenzija. Ako se učitava COMMAND.COM, onda mogu i .BAT fajlovi, i ne mora se navesti puno ime (mada ne škodi).
pascal.112 dejanr,
>> > type nizt: array [1..65000] of byte; >> >> Ovako se zauzme cela memorija dozvoljena za variables (64 Kb), >> i nema meste ni za jednu promenjljivu. Ne, ne i ne, nisi razumeo lepotu predloženog metoda :) Zauzima se tačno onoliko prostora koliko je potrebno, i to uopšte (praktično ni za bajt) ne tereti data segment u kome su promenljive. Probaj, svideće ti se :) PS Preporučujem i čitanje dokumentacije za TP, ili neke nezavisne knjige... može i umetka iz "Računara" sa kraja prošle godine, objašnjene su sve te stvari :)
pascal.113 dzakic,
> Exec ('C:\Ime.Bat', ''); Ako se ne varam, ne bi moglo tako. Već: Exec(GetEnv('COMSPEC'),'/c ime.bat');
pascal.114 postmast,
From: stjepan@fon (Stjepan Nikolic) Subject: Re: pascal Date: Fri, 27 May 1994 02:51:41 GMT Naravno, mnoogo je lakse ovo type niz=array [1..200] of integer; var x:niz; n,i:integer; begin readln(n); for i:=1 to n do readln(x[i]); for i:=1 to n do writeln(x[i]); end. -- Stjepan Nikolic Student, FON, Beograd
pascal.115 markom,
*** Mislim da neće ići tako, treba exec ('C:\COMMAND.COM', '/C ime') Jock ni ovako, ja nemam COMMAND.COM u C:\ ... SwapVectors; Exec(GetEnv('COMSPEC'), ' /C ime'); SwapVectors; Ovo je najsigurniji način :)
pascal.116 omega,
Ţ )-> type nizt: array [1..65000] of byte; Ţ Ovako se zauzme cela memorija dozvoljena za variables (64 Kb), Ne. Da je umesto type pisalo var, onda bi tako bilo. Ţ )-> nizp: ^niz; ^^^^^^^ Ovo je stamparska greska - treba ^nizt Ţ )-> var niz: nizp; Ovo je moglo i krace: var niz:^nizt; To znaci da je varijabla Niz pointer - ona ne sadrzi vrednost NizaT vec adresu NizaT. Tvoj program bi izgledao nekako ovako: type korisnik = record ime : String[15] ; prezime : String[30] ; alias : String[14] ; broj_poziva : LongInt ; end; k=array[1..5000] of ^korisnik; { Neka je maximalan broj korisnika 5000 } var korisnici:^k; n:longint; begin readln(n); getmem(c,sizeof(korisnik)*n*4); { Velicina recorda "korisnik"*broj korisnika*4 bytes za svaki pointer } { Da unapred znas da ih ima 5000, bilo bi sizeof(korisnik)*sizeof(k) } c^[1]^.ime:='Pera'; c^[1]^.broj_poziva:=10; freemem(c,sizeof(korisnik)*n*4); end.
pascal.117 nikac,
>■ *** Mislim da nece ici tako, treba exec ('C:\COMMAND.COM', '/C >■ ime') >■ >■ Jock ni ovako, ja nemam COMMAND.COM u C:\ ... >■ >■ SwapVectors; >■ Exec(GetEnv('COMSPEC'), ' /C ime'); >■ SwapVectors; >■ >■ Ovo je najsigurniji nacin :) I jos da izbegnemo $M: uses memory,dos; SetMemTop(HeapPtr); SwapVectors; Exec(GetEnv('COMSPEC'), '/c ime'); SwapVectors; SetMemTop(HeapEnd);
pascal.118 kriss,
˙˙*>> Kako je i da li je uopste moguce iz TP-a startovati BAT ˙˙*>> fajl? Konkretno verzija 6.0. ˙˙ ˙˙ Pa ovako nekako... ˙˙ ˙˙ ... ˙˙ SwapVectors; ˙˙ Exec ('C:\Ime.Bat', ''); ˙˙ SwapVectors; ˙˙ ... Ne zaboravi Uses Dos; na početku
pascal.119 mmitrovic,
Ů█▀█Ţ> Korisna stvar za definisanje ASCIIZ stringova (bez bajta za Ů█▀█Ţ> dužinu, sa #0 na kraju). Ů█▀█Ţ const a:pchar='abcde'; ? Mislio sam na const a:packed array Š0..5Ć of char='abcdef'#0; što radi na starim pascalima, kod novog Borlanda može i tako. Naravno pchar stringovima trebaju posebne rutine za manipulaciju, i nalaze su u Strings modulu.
pascal.120 mmitrovic,
Ů█▀█Ţ futer u fajl (ono ---(...)----brojporuke---) zbuni se, i Ů█▀█Ţ proizvoljan broj "-" (uvek manji od trazenog (44)), i tu stane. Sve ovo teorijski lepo zvuči, al' kakva ti je implementacija? Daj neku rutinu na koju sumnjaš, ovako smo u mraku.
pascal.121 ognjen,
)-> SwapVectors; )-> Exec ('C:\Ime.Bat', ''); )-> SwapVectors; Sta tacno radi SwapVectors, i da li je moguce ovo isto uraditi i sa EXE, i COM fajlovima?
pascal.122 dejanr,
>> Sta tacno radi SwapVectors, i da li je moguce ovo isto uraditi >> i sa EXE, i COM fajlovima? SwapVectors premesti sve vektore procesora, sa nulte strane, u predviđeno pordučje. Posle program može da radi šta 'oće (dobro... skoro ;) a drugo SwapVectors će vratiti vektore u prethodno stanje, tako da ne bi trebalo ni pod kakvim okolnosima da dođe do pada sistema. Inače, iako se to swapvectors preporučuje, nije neophodno, ako je program koji se startuje "kulturno" pisan (nije rezidentni i tako to). Mada ne smeta da se uradi, radi sigurnosti :) >> i da li je moguce ovo isto uraditi i sa EXE, i COM fajlovima? "Ovo" je moguće uraditi samo sa EXE i COM fajlovima, a za .BAT treba pozvati command.com, na način opisan ovde prethodnih dana.
pascal.124 vitez.koja,
#=> SwapVectors premesti sve vektore procesora, sa nulte #=> strane, u predviđeno pordučje. Posle program može da #=> radi šta 'oće (dobro... skoro ;) a drugo SwapVectors će #=> vratiti vektore u prethodno stanje, tako da ne bi #=> trebalo ni pod kakvim okolnosima da dođe do pada #=> sistema. Mada je sve ovo tačno, SwapVectors se koristi (bar ga ja koristim) da bi 'child process' imao na raspolaganju normalne vektore prekida - svaki program napravljem TPom preuzima nekoliko vektora, pa se sa SwapVectors oni vraćaju na default stanje.
pascal.125 sslavko,
Evo pripremio sam NG za Turbo Vision za Pascal 6.0. Probajte ga pa ako ima nekih zamerki ili sugestija javljajte. Inače izvučen je iz knjige tpr-book (ima je na sezamu). Mislim da može da bude veoma koristan, kako početnicima tako i iskusnijim korisnicima TV-a. Pozdrav. tv.zip
pascal.126 ognjen,
)-> Zauzima se tacno onoliko prostora koliko je potrebno, i to )-> uopste (prakticno ni za bajt) ne tereti data segment u kome )-> su promenljive. Evo, da probam da shvatim. Moj PC ima 640Kb osnovne memorije. Od toga, moj pascal progaram rezervise za sebe 64Kb za podatke. Ja definisem neki niz koji treba da se smesti _van_ data segmenta, koji, ubr, moze biti velicine do oko 500Kb. Onda popunjavam taj niz delimicno (znaci, ne popunim svih 500Kb), i kako ga popunjavam, tako iskoriscavam memoriju. Znaci, iako je taj niz definisan na velicinu 500Kb, on, u jednom trenutku, ne mora zauzitati ni bajta memorije? Jesam li dorbro shvatio? :) )-> PS Preporucujem i citanje dokumentacije za TP, Ima li neko ovde kupljen Turbo PASCAL? Nek' mi se javi na mail... :) )-> moze i umetka iz "Racunara" sa kraja prosle godine, )-> objasnjene su sve te stvari :) Imam umetak, ali mi neije bas najjasnije. Za pocetakm sta znace ona 2 zareza (type art_ptr = ,,artikl)?
pascal.127 ognjen,
)-> Sve ovo teorijski lepo zvuci, al' kakva ti je implementacija? )-> Daj neku rutinu na koju sumnjas, ovako smo u mraku. Najzanimljivije je sto ne sumanjam ni u sta. Sve je po mojoj proceni - u redu. Tako da ne znam koji deo koda da podaljem. Evo vam uz poruku ceo program (ima nekih viskova, jer je jos nedovrsen, ali uglavnom radi), staruje se sa MAILSORT textpad.1 textpad.2 ... Gde su textpad-ovi fajlovi sa mail porukama (i samo njima!), a pretpostavlja se da se zadaju redom, po datumu, tj prvo fajl sa najstarijim porukama, pa mladje poruke... E evo ovde delova koda: MsgHeder = '========================='; MsgBegin = '---------------------------------------------------'; begin {$I-} {----------------------------------} assign (WriteFile, WriteFileName); { Ovde se proverava da li } reset (WriteFile); { TEXTPAD.NEW zaista postoji. Ako } If IOResult=0 then { postoji, uzali u potprogram (da } begin { ga obrise ili promeni ime) u su- } end else { protnom upisuje u TEXTPAD.NEW } Rewrite (WriteFile); {----------------------------------} MsgCounter:=0; { Brojac poruka, resetuj } For I := 1 to ParamCount do { Radi sa fajlovima zadatim u } begin { komandnoj liniji } Assign (ReadFile, ParamStr(I)); { Dedeli ime fajla iz kom. linije } Reset (ReadFile); { Otvori za citanje... } If IOResult<>0 then { Ako ima problema, } begin { ispisuje poruku } goto FastEnd; { i prekida program } end; repeat { until EOF } repeat { ponavlja citanje liniju po } ReadLn (ReadFile, RLine); { liniju, dok ne nadje poruku } until RLine = MsgHeder; readln (ReadFile, FrstHdLn); { kad je nadje, porocita prvu } { liniju zaglavlja i obradi je } { Uzima broj poruke, i ostalo... } readln (ReadFile, ScndHdLn); { obradjuje i drugu liniju } { odatle uzima i MsgSize } ReadLn (ReadFile, ReplyLn); { ako je poruka reply... } If copy(ReplyLn, 1, 24) = ' Odgovor na poruku ' then begin { nadje u nizu novi broj... } ReadLn (ReadFile, ReplyLn); end; If ReplyLn = MsgBegin then { ako je do sada sve u redu: } begin { Ovde uglavnom dodeli} I2:=0; { tacan broj, tako da } Repeat { ne bude prouka broj } Inc(I2); { 1, odgvor na 10234 } Until (I2=MsgCounter+1) or (MsgOrgNo[I2]=RepMsgNo); { U izlazni fajl } WriteLn (WriteFile, MsgHeder); { se upisuje heder} Write (WriteFile, MsgCounter+1:5); { ovde nije nikad } WriteLn (WriteFile, Copy(FrstHdLn, 6, Length(FrstHdLn)-6)); { bilo problema } WriteLn (WriteFile, ScndHdLn); Write (WriteFile, ' Odgovor na poruku '); WriteLn (WriteFile, I2); WriteLn (WriteFile, MsgBegin); For I2 := 1 to MsgSize do { Prepisuje sâm text poruke } begin { koji je velicine MsgSize uzet iz 2 reda } end; {hedera. Ponekad nije ceo text prepisan } { u poslednjoj poruci } { Ovde se pravi } ReadLn (ReadFile, EndLine); { promenjljiva } EndLineTemp := concat (MsgBegin); { EndLineTemp koja } Delete (EndLineTemp, 44, 5); { "govori" kako bi } Insert (MsgNoStr, EndLineTemp, 44); { trebalo da izgleda zadnja linija } end; { Ako zadnja} If EndLine = EndLineTemp then { linija izgeda } begin { tako, onda uvecaj} Inc(MsgCounter); { brojac i zapamti } MsgOrgNo[MsgCounter] := MsgNo; { oroginali broj poruke} {Sada dolazi problematicni deo!!!!!} {ovo je jasno k'o} For I2 := 1 to 43 do {dan, ispise 24 minusa} Write (WriteFile, '-'); MsgNoStr :=''; Str (MsgCounter, MsgNoStr); For I2 := 1 to 5-Length(MsgNoStr) do MsgNoStr:=concat (' ', MsgNoStr); Write (WriteFile, MsgNoStr); { Ovde ubacuje blanko onoliko koliko trebada bi broj stao uz } { desnu marginu. Probao sam da stavim i :48, ali nije radilo, } { prebacuje u sledeci red } WriteLn (WriteFile, '---'); { I na kraju doda jos tri minusa, i predje u novi red } { zvuci savrseno, ali ne radi... :( } WriteLn (WriteFile, ''); { da bi izmedju svake poruke bio jedan prazan red } GotoXY(1, WhereY); Write ('U fajl ',UpCaseStr(WriteFileName),' je upisano ', MsgCounter, ' poruka'); { "U fajl TEXTPAD.NEW je upisano 123 poruka " } end; until eof(ReadFile); Fast_close: Close (ReadFile); end; Fast_end: end. mailsort.pas
pascal.128 ognjen,
)-> SwapVectors premesti sve vektore procesora, sa nulte strane, )-> u predvideno porducje. Super, sve sam shvatio! ;) A, sad malo, na srpskom... :)
pascal.129 .djn,
> Da li bi neko mogao da mi malo objasni pojam pointera. Zasto ne pogledas u bilo kom udzbeniku Pascala ? .djn
pascal.130 asterix,
>> Da li bi neko mogao da mi malo objasni pojam pointera. > > Zasto ne pogledas u bilo kom udzbeniku Pascala ? > > .djn Zato što hoće da mu neko ovde to objasni, pa ako već ne umeš ili nećeš onda mu bar ovakve poruke šalji na mail !
pascal.131 postmast,
From: stjepan@fon (Stjepan Nikolic) Subject: Re: pascal Date: Sun, 29 May 1994 23:23:09 GMT Toplica Tanaskovic (toca@sezam.UUCP) je napisao: : Kako je i da li je uopste moguce iz TP-a startovati BAT fajl? : Konkretno verzija 6.0. Pogledaj samo u helpu za SwapVectors, i sve ce ti se samo kazati:) -- Stjepan Nikolic Student, FON, Beograd
pascal.133 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Turbo Pascal 6.0 Date: Fri, 27 May 1994 19:54:00 PS>Ja imam TPBOOK, knjigu o TurboPascal-u u datoteci. Odmah da upozorim da PS>je ogroooomna. Ako te zanima ostavi mi privatnu poruku. VF> A, koliko je to mnogo ogroooomna? Pozdrav, wolleY. 300K arhivirano. Unutra je tekst. Knjiga je, inace, vrlo fina za pocetnike, jer u tancine objasnjava osnove Turbo Pascala. Nazalost, u nekim vaznim delovima se poziva na stampanu knjigu istog autora. broker ... BR> Gospode! Daj da u sledecem zivotu budem Vanzemaljac! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.134 postmast,
From: Darko.Andreevski@f108.n108.z38.setgate.setnet.co.yu (Darko Andreevski) Subject: Pascal Date: Sat, 28 May 1994 17:22:05 "P> Hi. Ako vas ne mrzi skinite ovaj pokusaj pravljenja jednog efekta "P>mora i recite mi onda da li vam to lici na vodu i da li ga vredi stavljati "P>u jedan intro. Radi *samo za tridend* kartice za sada, pa ako povoljno "P>prokomentarisete mozda ce raditi i za ostale... Dali bi mogao da possaljess source, bass me interesuje kako si to uradio..... okraD p.s.Veoma me interesuju INTRO-a, DEMO-a i sl. p.p.s.Ili bar mi kazzi gde si ostavio izvrssni file, pa da zamolim mog SYSOP-a da ga prenese ovde (STRUGA BBS Makedonija) * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.136 postmast,
From: Srdjan.Stanisic@p1.f115.n38.z38.setgate.setnet.co.yu (Srdjan Stanisic) Subject: Re: .PCX file reader Date: Wed, 25 May 1994 17:26:00 -=> Quoting Braslav Sesartic to Srdjan Stanisic <=- BS> Problem i jeste u tome sto mi treba unit za citanje PCX slika u 16 BS> boja do rezolucije 640x480. Samo dekodiranje linije nije problem, ali BS> kako dalje? Kako iz paskala da od 4 RGB komponente (3+intenzitet) BS> dobijem piksel odgovarajuce boje? (BTW "Tehnical Reference" imam). Ja imam ZSoft PCX Technical Reference. Stvar je dobra. Probacu da razbijem to u nekoliko poruka i posaljem ti na NET. S obzirom da mi se blizi ispitni rok ne mogu ti reci kada ce to biti, ali ces svakako dobiti. BS> Zanimaju me sve "egzoticne" stvari vezane za paskal. Samo reci kako BS> da dodjem do toga. I ovo ostalo cu ti razbiti u poruke i slati preko NET.PASCAL. Medjutim, to ce verovatno biti tek u julu, jer pre necu moci. BS> BTW Skoro da preskocim poruku misleci da je za nekog drugog jer si mi BS> pogresio i ime i prezime. :) Izvini na gresci, ali kucao sam malo brze tekst i mora da sam slucajno pretumbao tvoje ime. Strajder ... Najveca brzina u svemiru je Brzina Gluposti! * Origin: *TAURUNUM BBS +381 11 2354-253, 22 do 07* (38:38/115.1)
pascal.137 mmitrovic,
Ů█▀█Ţ kako ga popunjavam, tako iskoriscavam memoriju. Znaci, iako je Ů█▀█Ţ taj niz definisan na velicinu 500Kb, on, u jednom trenutku, ne Ů█▀█Ţ mora zauzitati ni bajta memorije? Jesam li dorbro shvatio? :) U globalu, samo što jedna struktura (bar za sada) u Pascalu može biti max 64k (tj. 64k-16b), usled segmentnih ograničenja starijih procesora. :(
pascal.138 mmitrovic,
Ů█▀█Ţ Evo pripremio sam NG za Turbo Vision za Pascal 6.0. Probajte ga pa ako Ů█▀█Ţ ima nekih zamerki ili sugestija javljajte. Inače izvučen je iz Lepo urađeno, nema šta. Jedino što je malo verovatno da neko danas radi sa komandnim prevodiocem i externim editorom, pa da ima potrebu za NG helpom. BP IDE već pruža opširan help. Opet da kažem, da ne ispadnem čangrizalo, lepo urađena stvar, samo napred.
pascal.139 dejanr,
>> > Zauzima se tacno onoliko prostora koliko je potrebno, i to >> > uopste (prakticno ni za bajt) ne tereti data segment u kome >> > su promenljive. >> >> Evo, da probam da shvatim. Moj PC ima 640Kb osnovne memorije. >> Od toga, moj pascal progaram rezervise za sebe 64Kb za podatke. >> Ja definisem neki niz koji treba da se smesti _van_ data >> segmenta, koji, ubr, moze biti velicine do oko 500Kb. Onda >> popunjavam taj niz delimicno (znaci, ne popunim svih 500Kb), i >> kako ga popunjavam, tako iskoriscavam memoriju. Znaci, iako je >> taj niz definisan na velicinu 500Kb, on, u jednom trenutku, ne >> mora zauzitati ni bajta memorije? Jesam li dorbro shvatio? :) Pa... osnovu si shvatio, ali ne baš sve pojedinosti ;) Prvo, ni jedna struktura u Turbo Pascalu ne može da bude veća od 64 K. Znači, nema nikakve šanse da jedan niz zauzme 500 K. Međutim, možeš da definišeš više nizova po (nešto manje od) 64 K, i tako popuniš čitavu memoriju. Drugo, metod koji sam opisao, sa getmem, alocira prostor za niz. Dakle, u trenutku kada se getmem izvršava, moraš da alociraš onoliko prostora koliko će niz najviše zauzimati. Prednost u odnosu na statičko dimenzionisanje (var x: array [1..1000] of byte itd) je što ono 'n' iz getmem (niz, n) može da se učita ili nekako drugačije preračuna. Drugo, kada niz više nije potreban, možeš sa freemem (ili tako nešto ;) oslobodiš zauzetu memoriju. Može se koristiti i metod dinamičkog rasta niza, dakle alociranja prostora element po element, uz ukazatelje. Komanda je new(ime). Ali, ja radije koristim getmem, nekako mnogo lakše ide :) >> > PS Preporucujem i citanje dokumentacije za TP, >> >> Ima li neko ovde kupljen Turbo PASCAL? Mnogi... :) >> Imam umetak, ali mi neije bas najjasnije. Za pocetakm sta >> znace ona 2 zareza (type art_ptr = ,,artikl)? Nisu dva zareza, nego ^ - oznaka za pointer. Dakle, art_ptr je pointer na artikl.
pascal.140 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 31 May 1994 23:26:02 To: "Ognjen Blagojevic" <ognjen@sezam.UUCP> "B> I, nek neko najzad objasni sta su to pointeri, ne kapiram "B> nista... :( Normalno da ne kapiras kad to niko i ne objasnjava. Svi napisu neki kod koji treba da posluzi kao primer, a koji, naravno, nije prokomentarisan. U stvari, da bi ti se objasnilo sta su pointeri, potrebno je mnogo objasnjavanja, a i nesto crtanja... Preporucujem ti da ipak prvo nadjes neku knjigu u kojoj je to objasnjeno. Jedna, za koju sigurno znam da je na pristupacan nacin, sa sve grafickim prikazom i objasnjenim primerima objasnjen pojam pointera je: TURBO PASCAL sa grafickim aplikacijama, Armando Jorno, Tehnicka Knjiga, 1990, II izdanje, strana 144 Nadam se da sam bio od pomoci, Broker ... BR> Ups. Opet ostadoh bez tagova... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.141 postmast,
From: Kiril.Vidimce@f108.n108.z38.setgate.setnet.co.yu (Kiril Vidimce) Subject: .Pcx File Reader Date: Wed, 01 Jun 1994 00:47:02 >> BS> Problem i jeste u tome sto mi treba unit za citanje PCX slika u 16 >> BS> boja do rezolucije 640x480. Samo dekodiranje linije nije problem, ali >> BS> kako dalje? Kako iz paskala da od 4 RGB komponente (3+intenzitet) >> BS> dobijem piksel odgovarajuce boje? (BTW "Tehnical Reference" imam). >Type > Pal_Array = Array [ 0..255, RED..BLUE ] Of Byte; > Ega_Array = Array [ 0..16 ] Of Byte; Ups. Zaboraviv na deklaracijata na RED, GREEN, BLUE. Const RED = 0; GREEN = 1; BLUE = 2; KiRe ViDiMCCe * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.142 kenza,
(;>> Da li bi neko mogao da mi malo objasni pojam pointera. Pazi ovako: (oni koji znaju neka idu dalje :) Pointer (ili pokazivac) je nesto slicno tvom telefonskom imeniku. Tamo imas zapisano ime nekog druga (ili zenske ;) i pored njega njegovu ili njenu adresu. Pointer isto tako ima zapisanu u sebi adresu onoga na sta pokazuje. Znaci on odredjuje polozaj nekog podatka u memoriji, kao sto adresa odredjuje polozaj tvog druga u gradu :) Moguce je da napravis pointere na slogove, kao i na proste tipove. To je to ;) p.s. Izvinjavam se na prostoti i slikovitosti odgovora. :)
pascal.143 inedeljkovic,
>>> BS> Problem i jeste u tome sto mi treba unit za citanje PCX slika >>> BS> u 16 boja do rezolucije 640x480. Samo dekodiranje linije nije >> Type >> Pal_Array = Array Š 0..255, RED..BLUE Ć Of Byte; >> Ega_Array = Array Š 0..16 Ć Of Byte; > Ups. Zaboraviv na deklaracijata na RED, GREEN, BLUE. Evo ga čitav PCX header. Ja sam ovakav header uspešno koristio u programčetu koje je menjalo koordinate položaja slike na ekranu upisane u xmin, ymin, xmax i ymax. Inače za prikazivanje PCX-ova u programu koji sada trenutno radim, koristim objektni unit pisan za TP 6.0 koji upravo prikazuje slike do 640x480 sa 16 boja. Mana ovog unita je što ne može da prikaže sliku veću od 64K (nemam njegov sors, inače... ;)), ali ja i ne koristim veće slike pa mi za sada i ne smeta. Međutim, imam sors drugog unita koji bi takođe trebao da radi gore navedenu stvar, ali ne radi, a ja opet sada nemam ni sekund vremena (matura, prijemni... :((( ) da vidim šta tu ne valja. Dakle, ako nekog interesuje, mogu i ovde da ga bacim, pa ko želi da proba... Sledi header: const ... RED = 0; GREEN = 1; BLUE = 2; ... pcx_header = record Manufacturer: byte; š Always 10 for PCX file ć Version: byte; š 2 - old PCX - no palette (not used anymore), 3 - no palette, 4 - Microsoft Windows - no palette (only in old files, new Windows version uses 3), 5 - with palette ć Encoding: byte; š 1 is PCX, it is possible that we may add additional encoding methods in the future ć Bits_per_pixel: byte; š Number of bits to represent a pixel (per plane) - 1, 2, 4, or 8 ć Xmin: integer; š Image window dimensions (inclusive) ć Ymin: integer; š Xmin, Ymin are usually zero (not always) ć Xmax: integer; Ymax: integer; Hdpi: integer; š Resolution of image (dots per inch) ć Vdpi: integer; š Set to scanner resolution - 300 is default ć ColorMap: array Š0..15, RED..BLUEĆ of byte; š RGB palette data (16 colors or less) 256 color palette is appended to end of file ć Reserved: byte; š (used to contain video mode) now it is ignored - just set to zero ć Nplanes: byte; š Number of planes ć Bytes_per_line_per_plane: integer; š Number of bytes to allocate for a scanline plane. MUST be an an EVEN number! Do NOT calculate from Xmax-Xmin! ć PaletteInfo: integer; š 1 = black & white or color image, 2 = grayscale image - ignored in PB4, PB4+ palette must also be set to shades of gray! ć HscreenSize: integer; š added for PC Paintbrush IV Plus ver 1.0, ć VscreenSize: integer; š PC Paintbrush IV ver 1.02 (and later) ć š I know it is tempting to use these fields to determine what video mode should be used to display the image - but it is NOT recommended since the fields will probably just contain garbage. It is better to have the user install for the graphics mode he wants to use... ć Filler: array Š74..127Ć of byte; š Just set to zeros ć end; To je to :). Pozdrav, Igor...
pascal.144 kenza,
(;> Moze se koristiti i metod dinamickog rasta niza, dakle alociranja (;> prostora element po element, uz ukazatelje. Komanda je new(ime). Da li new koristi samo konvencionalnu memoriju ili i ems/xms?
pascal.145 dejanr,
>> Da li new koristi samo konvencionalnu memoriju ili i >> ems/xms? new (i getmem) koriste konvencionalnu memoriju. Ima u direktorijumu PASCAL par unit-a za korišćenje proširene memorije, uz različit stepen komfora. Tako je, bar, na Turbo Pascalu. Borland Pascal omogućava da se koristi čitava memorija računara (mislim negde do 16 megabajta) ali svaka struktura i dalje mora da bude manja od 64 K. Dakle, da bi iskoristio 4 megabajta morao bi da deklarišeš šezdesetak nizova.
pascal.146 omega,
Ţ Da li new koristi samo konvencionalnu memoriju ili i ems/xms? Kamo puste srece da koristi ems/xms :((((
pascal.147 postmast,
From: alenin@setgate.setnet.co.yu (Aleksandar Ninkovic) Subject: pascal Date: Thu, 02 Jun 1994 09:15:03 *> Evo pripremio sam NG za Turbo Vision za Pascal 6.0. Probajte *> ga pa ako Da li bi mogao :) ako ti nije tesko ,da upakujes sa UUncode i posaljes ga na moju adresu kao poruku :) ...Rado bih ga stavio na SETNet :) Pozdrav Aleksandar alenin@setgate.setnet.co.yu * Origin: SETNet:INFOSYS*informacije+usluge*BG*011-1768526* (38:103/114)
pascal.148 postmast,
From: Kiril.Vidimce@f108.n108.z38.setgate.setnet.co.yu (Kiril Vidimce) Subject: Pascal Date: Thu, 02 Jun 1994 03:25:03 >TURBO PASCAL sa grafickim aplikacijama, Armando Jorno, >Tehnicka Knjiga, 1990, II izdanje, strana 144 Ako e ovaa istata kniga koja i jas ja imav na vremeto (ne se sekkavam dali besse I ili II izdanie) - knigata i ne e bass mnogu dobro napissana - osobeno besse smessno ona 'graficckim aplikacijama', bidejkki primerite se za vo TP 3.00 (turtle graphics). Za zzal, ne se sekkavam na iminnata na avtorite na knigata 'Data structures using Pascal' - kniga koja e odliccen priruccnik meggu drugoto i za pointer-i. Vo knigata se obraboteni i nizi, matrici, pointeri-i, listi, prebaruvanne, sortiranne, datoteki itn... KiRe ViDiMCCe *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* = Kiril Vidimce * kvidimce@a1.news.mk = "The best thing in = = Bojmija 8/1/24 = vkire@lotus.mk * learning is = = 91000 Skopje * vkire@cerera.uni.mk = understanding" = = Republic of Macedonia = vkire@ereb.uni.mk * ------------- = = Tel: +389-91-411-125 * vidik@ezinfo.ethz.ch = - L. Infeld = *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.149 postmast,
From: Kiril.Vidimce@f108.n108.z38.setgate.setnet.co.yu (Kiril Vidimce) Subject: Pascal Rutine 1/3 Date: Thu, 02 Jun 1994 03:25:05 >Moze li me neko uputiti na pogodan alat (biblioteke) kao i literaturu >koja se bavi manipulacijom memorijom (expanded, extended, swap-ovanje i sl.) >Zgodnije mi je ako je za PAscal ali ni za C nije na odmet. Eve edno zgodno primercce, a za poozbilna rabota ti ja preporaccuvam bibliotekata SNIPPETS. Ima se' i sessto vo nea - a najccesto mnogu korisno. :) --------------------- EMS.PAS ----------------------- Unit EMS; {-------------------------------------------------------------------} { This program allows you to define any array in the Expand Memory } { and access the array directly. You may freely distribute it or } { use it for any purpose, provided this notice is attached with it. } { I would be very happy if you intend to use it in your program. } { Please let me know if you like it. } { } { InterNet: } { jialong@neuro.informatik.uni-ulm.de } { } { Home address: } { Hof Str. 22 } { 7906 Blaustein } { Germany } { } {-------------------------------------------------------------------} Interface Const PAGESIZE = 16384; {bytes} Type {--------------------------------------------------------------} { You can modify BaseType to meet your need } {--------------------------------------------------------------} ByteArrayType = Array [1..(65535 div Sizeof(Byte))] of Byte; IntArrayType = Array [1..(65535 div Sizeof(Integer))] of Integer; RealArrayType = Array [1..(65535 div Sizeof(Real))] of Real; {--------------------------------------------------------------} { The following define a basic EMS object } {--------------------------------------------------------------} EMSArray=Object Ems_Handle, Page_Frame_Address, Pages_Needed : Word; NormalPtr : Pointer; ByteArry : ^ByteArrayType; IntArry : ^IntArrayType; RealArry : ^RealArrayType; {--------------------------------------------------------------} { The followings are all methods you can call } {--------------------------------------------------------------} Function Ems_Installed : Boolean; Function Pages_Available : Word; Procedure Alloc(Page_Requested: Word); Procedure MapIn(Logical_Page_No, Physical_Page_No: Word); Procedure Release; End; Var {--------------------------------------------------------------} { Global varible, You can check it after calling a function } {--------------------------------------------------------------} EmsError : Integer; Implementation Uses Dos; Const EMM_INT = $67; DOS_Int = $21; GET_PAGE_FRAME = $41; GET_UNALLOCATED_PAGE_COUNT= $42; ALLOCATE_PAGES = $43; MAP_PAGES = $44; DEALLOCATE_PAGES = $45; GET_VERSION = $46; STATUS_OK = 0; {--------------------------------------------------------------} { The function Emm_Installed checks to see if the Expanded } { Memory Manager (EMM) is loaded in memory. It does this by } { looking for the string 'EMMXXXX0', which should be located } { at 10 bytes from the beginning of the code segment pointed } { to by the EMM interrupt, 67h. } {--------------------------------------------------------------} Function EMSArray.Ems_installed : Boolean; Var Emm_Device_Name : string[8]; Int_67_Device_Name : string[8]; Position : integer; Regs : registers; Begin Int_67_Device_Name := ''; Emm_Device_Name := 'EMMXXXX0'; with Regs do Begin {------------------------------------------------------} { Get the code segment pointed to by interrupt 67h, } { the EMM interrupt by using DOS function 35h. } { (get interrupt vector) } {------------------------------------------------------} AH := $35; AL := EMM_INT; Intr (DOS_int,Regs); For Position := 0 to 7 do Int_67_Device_Name := Int_67_Device_Name+Chr (mem[ES:Position+$0A]); {------------------------------------------------------} { If the string is the EMM manager signature, } { 'EMMXXXX0', then EMM is installed and ready for } { use. If not, then EMM is not present. } {------------------------------------------------------} If Int_67_Device_Name = Emm_Device_Name then Ems_Installed := True Else Ems_Installed := False end; { with Regs do } End; {--------------------------------------------------------------} { This function returns the pages number that are available } { for use. After calling Intr, BX contains currrently } { unallocated pages, DS contains total pages in the system } {--------------------------------------------------------------} Function EMSArray.Pages_Available : Word; Var Regs: Registers; Begin With Regs Do Begin AH := Get_Unallocated_Page_Count; intr (EMM_INT, Regs); Pages_Available := BX; >>> Continued to next message * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.150 postmast,
From: Kiril.Vidimce@f108.n108.z38.setgate.setnet.co.yu (Kiril Vidimce) Subject: Pascal Rutine 2/3 Date: Thu, 02 Jun 1994 03:25:06 >>> Continued from previous message EmsError := AH; End; End; {--------------------------------------------------------------} {--------------------------------------------------------------} Procedure EMSArray.Alloc(Page_Requested: Word); Var Regs: Registers; Begin With Regs do Begin {------------------------------------------------------} { Get the page frame segment address from EMM. } { AH = get page frame segment function } {------------------------------------------------------} AH := Get_Page_Frame; intr (EMM_INT,Regs); {------------------------------------------------------} { BX = page frame segment address } { AH = status } {------------------------------------------------------} Page_Frame_Address := BX; EmsError := AH; {------------------------------------------------------} { Allocate the specified number of pages from EMM. } { AH = allocate pages function. } { BX = number of pages to allocate. } {------------------------------------------------------} Pages_Needed:= Page_Requested; AH := Allocate_Pages; BX := Pages_Needed; intr (EMM_INT,Regs); Ems_Handle := DX; EmsError := AH; End; {With Regs Do} End; {--------------------------------------------------------------} { This function maps a logical page allocated by the } { Allocate_Expanded_Memory_Pages function into one of the } { four physical pages. } {--------------------------------------------------------------} Procedure EMSArray.MapIn(Logical_Page_No, Physical_Page_No : Word); Var Regs: Registers; Begin With Regs do Begin {------------------------------------------------------} { Map a logical page at physical_page_No } { AH = map page function } { DX = handle } { BX = logical page number } { AL = physical page number } {------------------------------------------------------} AH := Map_Pages; DX := Ems_Handle; BX := Logical_Page_No; AL := Physical_Page_No; Intr (EMM_INT, Regs); EmsError := AH; end; { with Regs do } {------------------------------------------------------} { Making array pointer point to this physical pages } { For convience, Different pointer points to same } { address. User can add his own pointer type and } { add a line here. } {------------------------------------------------------} NormalPtr:= Ptr(Page_Frame_Address, Physical_Page_No * PAGESIZE); ByteArry := Ptr(Page_Frame_Address, Physical_Page_No * PAGESIZE); IntArry := Ptr(Page_Frame_Address, Physical_Page_No * PAGESIZE); RealArry := Ptr(Page_Frame_Address, Physical_Page_No * PAGESIZE); { **** add other pointer here *****} end; { Function Map_Expanded_Memory_Pages } {--------------------------------------------------------------} { This function releases the EMM memory pages allocated to } { us, back to the EMM memory pool. } {--------------------------------------------------------------} Procedure EMSArray.Release; Var Regs: Registers; Begin with Regs do Begin {------------------------------------------------------} { Deallocate the pages allocated to an EMM handle. } { AH = deallocate pages function } { DX = EMM handle } {------------------------------------------------------} AH := DEALLOCATE_PAGES; DX := Ems_Handle; Intr (EMM_INT,Regs); EmsError := AH; end; { with Regs do } end; { Function Deallocate_Expanded_Memory_Pages } End. ----------------- EMS.PAS ------------------------ ================= EMSTEST.PAS ==================== Program Test_EMS_Unit; {----------------------------------------------------------------} { This simple program test whether EMM exists, if it does exists,} { all pages are allocated to create the largest possiable array } { in EMS, then it will be written and read in three array types } {----------------------------------------------------------------} Uses EMS; Var A : EMSArray; Pages, KiloByte, EachPage, EachElement, ElementNum : Word; Procedure ReadAndWrite(ArrayType: Byte); Var VerifyFail : Boolean; Begin {----------------------------------} { Write and Read each page in } { in ArrayType: } { ArrayType = 1 Byte Array } { ArrayType = 2 Integer Array } { ArrayType = 3 Real Array } {----------------------------------} Case ArrayType of 1: ElementNum := PAGESIZE DIV Sizeof(Byte); 2: ElementNum := PAGESIZE DIV Sizeof(Integer); >>> Continued to next message * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.151 postmast,
From: Kiril.Vidimce@f108.n108.z38.setgate.setnet.co.yu (Kiril Vidimce) Subject: Pascal Rutine 3/3 Date: Thu, 02 Jun 1994 03:25:07 >>> Continued from previous message 3: ElementNum := PAGESIZE DIV Sizeof(Real); End; WriteLn('Each element of the array is writing ...'); For EachPage := 0 to Pages-1 Do Begin { Map in a logical page to physical page 0 } A.MapIn(EachPage, 0); For EachElement := 1 To ElementNum Do Case ArrayType of 1: A.ByteArry^[ EachElement ] := 10; 2: A.IntArry^[ EachElement ] := 25; 3: A.RealArry^[ EachElement ] := 3.5; End; End; WriteLn('Reading back each element of array and verifying...'); For EachPage := 0 to Pages-1 Do Begin { Map in a logical page to physical page 0 } A.MapIn(EachPage, 0); For EachElement := 1 To ElementNum Do Case ArrayType of 1: VerifyFail := (A.ByteArry^[ EachElement ] <> 10); 2: VerifyFail := (A.IntArry^[ EachElement ] <> 25); 3: VerifyFail := (A.RealArry^[ EachElement ] <> 3.5); End; If VerifyFail Then Begin WriteLn('Verify failed!'); Halt(1); End; End; End; { **** ReadAndWrite Procedure **** } Begin If A.Ems_Installed Then Begin Pages:=A.Pages_Available; KiloByte := Pages * 16; WriteLn('There are ', Pages, ' pages expand memory, That is ', KiloByte, ' Kb!'); A.Alloc(Pages); {----------------------------------} { If There are some probles, Exit } {----------------------------------} If EmsError<>0 Then Begin WriteLn ('Alloc ', Pages, ' Pages Error!' ); A.Release; Halt(1); End; WriteLn; WriteLn('Read and Write as *Integer* Array'); ReadAndWrite(2); WriteLn('Verify Passed, Good!'); WriteLn; WriteLn('Read and Write as *Real* Array'); ReadAndWrite(3); WriteLn('Verify Passed, Good!'); WriteLn; WriteLn('Read and Write as *Byte* Array'); ReadAndWrite(1); WriteLn('Verify Passed, Good!'); A.Release End Else Begin WriteLn('EMM does not exists'); Halt(1); End; End. ================= EMSTEST.PAS ==================== KiRe ViDiMCCe *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* = Kiril Vidimce * kvidimce@a1.news.mk = "The best thing in = = Bojmija 8/1/24 = vkire@lotus.mk * learning is = = 91000 Skopje * vkire@cerera.uni.mk = understanding" = = Republic of Macedonia = vkire@ereb.uni.mk * ------------- = = Tel: +389-91-411-125 * vidik@ezinfo.ethz.ch = - L. Infeld = *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.152 markom,
:: Kamo puste srece da koristi ems/xms :(((( Pa sa overlay jedinicom možeš da koristiš EMS :> Ali naravno, nije to to :((
pascal.153 dtadic,
Uz poruku se nalazi datoteka sa nekoliko unita za kompresiju podataka. Za sve unite je dat sors: ********************************************************************** -------- Presskit Version 1.0 -------- May 8th - 1993 -------- Douglas P. Webb -------- dwebb@binkley.cs.mcgill.ca I have for several years had an application that required the very best compression. The program is written in Turbo Pascal. Naturally almost all the code I've come across is written in C, so I've ported as much as I could. Of the code presented here, only the DOUGPACK unit is wholely my own original code, the rest was ported/wrapped to allow it's use in a Turbo Pascal. I figured others might like to try some of it out. The code is all donated to the public domain, although some of it may be under the patent cloud. There may be bugs in the implementations (although I don't think so) so use them at your own risk. If you make a notable improvement in the code, please mail me a copy. LZH The LZH unit implements a fairly faithful port of an algorithm that was written in C by Haruyasu Yoshizaki and Haruhiko Okumura. The Documentation on how to use the unit is pretty goodm the source code is pretty much undocumented. Included is a simple 1 file compression program as a demonstration on how to use the LZH unit. LZW (DOUGPACK) The DOUGPACK unit implements my own interpretation of how the LZW algorithm should be implemented. I take all the credit/blame for the implementation and any bugs it may contain. The Documentation on how to use the unit is pretty good the source code has some documentation but is pretty convoluted. Included is a simple 1 file compression program as a demonstration on how to use this unit. It should be noted that the LZW algorithm is patented, so use of this algorithm in a commercial program might not be a good idea. LZSS The LZSS program implements a turbo pascal wrapper I've placed around a very nice (and fast) implementation of the LZ77 algorithm submitted to the DR DOBBS compression contest a few years back by Andy Tam. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. It should be noted that the plain LZ77 algorithm is unpatented, so using this code in a commercial application should be OK. SIXPACK The SIXPACK program implements a faithful port from C of a unique compression algorithm submitted to the DR DOBBS compression contest a few years back by Philip G. Gage. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. VITTER This is a implementation of the dynamic Huffman coding algorithm presented by Jeffrey Scott Vitter in ACM Transactions on Mathematical Software, Vol, 15, June 1989, p 158, and described in Journal of the ACM, Vol. 34, October 1987, p 825. The algorithm is implemented in the context of a stand-alone file compression utility, which can be used to compress/decompress files one at a time. This program serves only to illustrate the use of the algorithm. Douglas P. Webb dwebb@binkley.cs.mcgill.ca May 8th 1993 ************************************************************************ preskit2.zip
pascal.155 omega,
Ţ Pa sa overlay jedinicom mozes da koristis EMS :> Ali naravno, nije to to Da, to stvarno nema veze :( Nego, sad mi pade na pamet, je l' postoji nacin da se XMS/EMS koristi kao produzetak heap-a?
pascal.156 dejanr,
>> Nego, sad mi pade na pamet, je l' postoji >> nacin da se XMS/EMS koristi kao produzetak heap-a? Ne baš direktno, ali probaj recimo xmm12.zip iz direktorijuma PASCAL, a pogledaj i razne unit-e kojih je bilo po PC.PROG.* konferencijama, u temi pascal. Ili razmišljaj o prelasku na BP 7.
pascal.157 markom,
:: Da, to stvarno nema veze :( Nego, sad mi pade na pamet, je l' postoji :: nacin da se XMS/EMS koristi kao produzetak heap-a? Koliko ja znam, nema, ali ako neko zna foru (pointer na TPU :>), bio bih mu večno zahvalan :)
pascal.158 ognjen,
)-> >> Ima li neko ovde kupljen Turbo PASCAL? )-> Mnogi... :) A moze li da mi da neku od knjizica da "pogledam"? )-> Nisu dva zareza, nego ^ - oznaka za pointer. Dakle, art_ptr )-> je pointer na artikl. Onda je u umetku stamparska greska. :( Evo sad da midimo da li sam dobro razumeo pintere. Oni sluze da u memoriju (van 64Kb data segmenta) strpamo neku promenjljivu (bilo string, lonint, ili neki niz (mada prvo dvoje bas i nema puno smisla)), i onda u pointerima cuvamo adresu gde se u memoriji nalazi taj niz (ili sta vec drugo). Tako da kada se obracamo pointeru, on se ustvari obraca memoriji van data segmenta, tako da smo fakticki prosirili data segment. Da li sam shvatio? :)
pascal.159 ognjen,
)-> Moguce je da napravis pointere na slogove, kao i na proste )-> tipove. To je to ;) )-> p.s. Izvinjavam se na prostoti i slikovitosti odgovora. :) Znaci, pointeri sluze da bi smo prekoracili data segment? Bezveze. Zasto, jednostavno, nisu povecali data segment na 16Mb, pa da se ne mucim sa pointerima?
pascal.160 dejanr,
>> Oni sluze da u memoriju (van 64Kb data segmenta) strpamo neku >> promenjljivu (bilo string, lonint, ili neki niz (mada prvo >> dvoje bas i nema puno smisla)), i onda u pointerima cuvamo >> adresu gde se u memoriji nalazi taj niz (ili sta vec drugo). >> Tako da kada se obracamo pointeru, on se ustvari obraca memoriji >> van data segmenta, tako da smo fakticki prosirili data segment. >> Da li sam shvatio? :) Shvatio si o čemu smo ovde pisali, i informacija je uglavnom korektna. Sve to nije inicijalna svrha pointera, niti su oni nastali zato što PC ima data segment, pa treba nekako "proviriti" u ostatak memorije. Nastali su pre PC-ja, sa idejom dinamičke alokacije memorije. Dakle, ne moraš unapred da odrediš koliki će koji niz (ili struktura) biti, nego kada ti zatreba, alociraš potrebnu memoriju, radiš šta treba i najzad vratiš memoriju "u fond". Međutim, kod TP-a se pointeri uglavnom koriste za ono što si napisao, ili ih bar ja uglavnom za to koristim.
pascal.161 asterix,
1. Da li se rekurzivni pozivi funkcija smeštaju na stek ? 2. Da li postoji način da se odredi koliko mesta zauzima svaki rekurzivni poziv ? 3. Da li postoji način da se spreči stack overflow prevelikim brojem poziva, odnosno da li se nekako u te svrhe može koristiti memorija iznad 1 MB ? Govorimo o BP 7.
pascal.162 goxx,
■ Znaci, pointeri sluze da bi smo prekoracili data segment? ■ Bezveze. Zasto, jednostavno, nisu povecali data segment na 16Mb, Nisam odavno radio Pascal, al ajde da i ja kažem neku. Ne. Pointeri služe za dinamičku alokaciju memorije. Virt sigurno nije razmišljao o segmentima memorije PC-a kad je pravio Pascal. Zamisli da treba da u memoriju učitaš najviše do 1000 slogova neke datoteke. Možda ih ima 5, a možda i 1000. To znači da bi statički morao da rezervišeš prostor za svih 1000. Ako dinamički alociraš memoriju dovoljno je da imaš pointer (pokazivač, kazalo :) i samo se za njega rezerviše memorija (statički), a zatim "zagrabiš" onoliko memorije koliko ti treba za određen broj slogova. Po završetku memoriju oslobodiš i ponovo je imaš za neki drugi proces. Goran
pascal.164 pedjak,
> 1. Da li se rekurzivni pozivi funkcija smeštaju na stek ? Da. > 2. Da li postoji način da se odredi koliko mesta zauzima svaki > rekurzivni poziv ? Postoji, sa greškom od plus minus nekoliko bajtova. Prilikom svakog pozivanja funkcija na steku kreira prostor za lokalne promenljive, zatim na stek se smeštaju i parametri funkcije i još par bajtova, kao što je adresa povratka. Znači, postupak bi bio sledeći: Prebrojiš koliko ti bajtova zauzimaju parametri funkcije: byte, shortint, boolean char - 1 bajt integer, word - 2 bajta longint, parametri koji se prenose kao Var, pointeri - 4 bajta stringovi - deklarisana dužina + 1 bajta Na ovo se sada još dodaje 4 ili 2 bajta, u zavisnosti od toga da li se radi pozivanje funkcije, koja je u drugom junitu ili ne, ili ako forsiraš daleke pozive. Otrprilike bi to bilo to. > 3. Da li postoji način da se spreči stack overflow prevelikim > brojem poziva, odnosno da li se nekako u te svrhe može koristiti > memorija iznad 1 MB ? Govorimo o BP 7. Za BP nisam siguran, tj. ne znam koliki je stek u zaštićenom režimu, ali svakako je ograničen, tako da granica postoji. Za realan mod ograničenje je 64k, a to je sasvim dovoljno. Moraš sam proceniti da koje dubine smeš da ideš...
pascal.165 pedjak,
> Da, to stvarno nema veze :( Nego, sad mi pade na pamet, je l' > postoji nacin da se XMS/EMS koristi kao produzetak heap-a? UMB_HEAP.DOC Documentation for UMB_HEAP.TPU (C) Copyright 1992, Brian D. Webb & P-Machinery Release 1.1, January 18, 1992 UMB_HEAP is a programing tool for extending the Turbo Pascal 6.0 dynamic heap into Upper Memory Blocks (UMB). By using UMB_HEAP, you can give your programs up to 200K more RAM to work with. u_heap.zip
pascal.166 omega,
Ţ>> Nego, sad mi pade na pamet, je l' postoji Ţ>> nacin da se XMS/EMS koristi kao produzetak heap-a? Ţ Ţ Ne bas direktno, ali probaj recimo xmm12.zip iz direktorijuma PASCAL, Ţ a pogledaj i razne unit-e kojih je bilo po PC.PROG.* konferencijama, Ţ u temi pascal. Pogledao sam, ali nije to to. :( Naime, pri radu sa dinamickim varijablama (new procedura i sl.) nije mi mnogo od pomoci getmem... Ţ Ili razmisljaj o prelasku na BP 7. Znaci tamo je to omoguceno pod dos-om? Ali onda se odricemo 286? I da li se exe mnogo povecava?
pascal.167 omega,
Ţ Bezveze. Zasto, jednostavno, nisu povecali data segment na 16Mb, Ţ pa da se ne mucim sa pointerima? Onda predji na C. Tamo mozes 'ladno da definises niz od 500kb bez problema i bez pointera :)
pascal.168 dejanr,
>> Onda predji na C. Tamo mozes 'ladno da definises niz od 500kb bez >> problema i bez pointera :) Da, u raznim High C-ovima itd. U klasičnim DOS C-ovima... može... ali ne baš bez problema, i svakako ne bez značajnog gubitka na brzini. DOS ima 64 K / 640 K limite, i nije ih lako "preskočiti".
pascal.169 pedjak,
> Na ovo se sada još dodaje 4 ili 2 bajta, u zavisnosti od toga da li > se radi pozivanje funkcije, koja je u drugom junitu ili ne, ili ako > forsiraš daleke pozive. Otrprilike bi to bilo to. Ops! Zaboravih da još dodam, ne sve ovo se još dodaje broj bajtova alociran za lokalne promenljive, po istoj šemi kao i za parametre funkcije.
pascal.170 markom,
:: Bezveze. Zasto, jednostavno, nisu povecali data segment na 16Mb, :: pa da se ne mucim sa pointerima? Pa ti lepo pređi na UNIX :)))
pascal.171 markom,
:: 1. Da li se rekurzivni pozivi funkcija smeštaju na stek ? Valjda, jer ako se mnogo puta ponavlja -- Stack Overflow :( :: 3. Da li postoji način da se spreči stack overflow prevelikim :: brojem poziva, odnosno da li se nekako u te svrhe može koristiti :: memorija iznad 1 MB ? Govorimo o BP 7. Ne znam za preko 1 Mb, ali da li si probao $M direktivu ? Ona služi da definiše veličinu steka, minimalnu i maksimalnu veličinu heap-a. {$M 1024,0,0} Zauzime 1Kb za stack i minimalna veličina heap-a je 0K, kao i maksimalna ...
pascal.172 omega,
Ţ> Da, to stvarno nema veze :( Nego, sad mi pade na pamet, je l' Ţ> postoji nacin da se XMS/EMS koristi kao produzetak heap-a? Ţ UMB_HEAP is a programing tool for extending the Turbo Pascal 6.0 Ţ dynamic heap into Upper Memory Blocks (UMB). By using UMB_HEAP, Ţ you can give your programs up to 200K more RAM to work with. Za ovo sam znao i ranije, ali to ipak nije to. Ovo koristi samo UMB, a ne celu EMS :(. I drugo, neki ortak mi je prijavio da se blokira sa ovim.. Ajde ponovo cu da ispitam celu stvar pa cu da javim...
pascal.173 omega,
Ţ Da, u raznim High C-ovima itd. U klasicnim DOS C-ovima... moze... ali Ţ ne bas bez problema, i svakako ne bez znacajnog gubitka na brzini. A koji su to High C-ovi? DOS C-ovi su pretpostavljam Turbo C, MS C i sl.? Zar se gubi na brzini kada se definisu nizovi > 64k? :(
pascal.174 markom,
:: realan mod ograničenje je 64k, a to je sasvim dovoljno. Nije baš 64K, već 65520 bajtova ... Baš me zanima za šta im ode onih 15 ?
pascal.175 dejanr,
>> A koji su to High C-ovi? Pa, na primer High C :) Tako se zove kompajler. >> DOS C-ovi su pretpostavljam Turbo C, MS C i sl.? >> Zar se gubi na brzini kada se definisu nizovi > 64k? :( Itekako.
pascal.176 mmitrovic,
Ů█▀█Ţ Znaci tamo je to omoguceno pod dos-om? Ali onda se odricemo 286? I da li Ů█▀█Ţ se exe mnogo povecava? Ne odričeš se 286, već XTa. BP Dos Extender radi u 286+ protected režimu, samim tim sa segmentnim ograničenjem. Na žalost ne radi u 32b 386p modu :(((((
pascal.177 mmitrovic,
Ů█▀█Ţ Zar se gubi na brzini kada se definisu nizovi > 64k? :( Ne alocira C jedan niz od 500K već više manjih, i svaki put kad pristupiš elementu niza, C na osnovu indexa računa segment i offset pa tek onda pristupa memoriji. To je daleko sporije od fiksnog segmenta. Za nizove preko 64k potreban je 32b 386 extender i odgovarajuća podrška. Pascal je (za sada) nema, a mislim da ga C++ 4.0 ima.
pascal.178 mmitrovic,
Ů█▀█Ţ Nije baš 64K, već 65520 bajtova ... Baš me zanima za šta im ode onih 15 Pascal (kad god je moguće) radi sa normalizovanium pointerima (offset im je u opsegu 0..15), tako da pokušaj alokacije preko 65520 možda uspe a možda i ne uspe (u zavisnosti od sledeće raspoložive adrese na heapu). Stek uvek počinje na offsetu 0 (tj završava se :)), tako da za njega ne važi 65520. Istina nikad nisam probao (ili se ne sešam). BP 7.0 ima granulaciju HEAPa od 8 bajtova (svi alocirani pointeri imaju offset 0 ili 8), za razliku od starijih verzija sa gran. od 1bajt.
pascal.179 mmitrovic,
Ů█▀█Ţ byte, shortint, boolean Ů█▀█Ţ char - 1 bajt Ů█▀█Ţ integer, word - 2 bajta Ů█▀█Ţ longint, parametri koji se prenose Ů█▀█Ţ kao Var, pointeri - 4 bajta Ů█▀█Ţ stringovi - deklarisana dužina + 1 bajta Ovo važi samo za lokalne promenljive. Evo celog opisa: - prvo idu na stek parametri. Svaki parametar je za sebe WORD ALLIGNED tj. jedan bajt zauzima 2; 3 zauzimaju 4. Dakle dva bajt parametra bi zauzela 4 bajta. Strukture (records) su poređane kao celine (znači struktura sa dva bajt polja zauzima dva, a ne četiri bajta). Naravno cela struktura ako je neparne veličine proširuje se za jedan bajt. Sve ovo se čini kako bi sam stek bio word alligned i pojednostavila CALL rutina za postavljanje parametara. - zatim ide povratna adresa. Ako je forsiran far model ili se koristi funkcija iz drugog modula ide 4 bajta, a ako je near poziv (unutar istog modula, sa $F-) onda 2 bajta. - kad se uđe u funkciju prvo se na steku pamti stari SP što zauzima dva bajta. Zatim idu lokalne promenljive, gde postoji dva slučaja. - 1. (sa $A+) Važi word allign za promenljive, i u ovom slučaju princip je isti kao za parametre. - 2. (sa $A-) Saberu se veličine svih lokalnih promenljivih, i ako je zbir neparan doda se 1 bajt (stek pointer mora biti paran). Suma ove tri grupice daje zauzetost steka po pozivu. Naravno za intenzivnu rekurziju treba što više smanjiti ovu sumu.
pascal.180 asterix,
> Suma ove tri grupice daje zauzetost steka po pozivu. Naravno za > intenzivnu rekurziju treba što više smanjiti ovu sumu. Da, ovo je potpuniji opis slaganja stvari na stek. Phanx ;) na tome, ali me i dalje interesuje da li je moguće uopšte koristiti više od 64 K u konstrukciji rekurzivnih poziva neke funkcije ?
pascal.181 vcalic,
>> Ne alocira C jedan niz od 500K već više manjih, i svaki put kad >> pristupiš elementu niza, C na osnovu indexa računa segment i offset >> pa tek onda pristupa memoriji. To je daleko sporije od fiksnog >> segmenta. Za nizove preko 64k potreban je 32b 386 extender i >> odgovarajuća podrška. Pascal je (za sada) nema, a mislim da ga C++ >> 4.0 ima. žini mi se da BC3.1 funkcija farcalloc baš može da alocira kontinualan memorijski prostor veći od 64K i da se njemu sasvim lepo (i JAKO sporo) pristupa sa normalizovanim huge pointerima. Vlada
pascal.182 omega,
Ţ Ne odrices se 286, vec XTa. BP Dos Extender radi u 286+ protected Ţ rezimu, samim tim sa segmentnim ogranicenjem. Na zalost ne radi u Ţ 32b 386p modu :((((( Znaci, ako sam dobro shvatio: BP 7 ima heap > 640 kb i to ne u sklopu TP-a 7? I da li postoje neka ogranicenja pri programiranju (mislim na razlike u klasicnom - TP-u i tu)? I koliko je veci exe? I u cemu se onda programira pod DOS-om, ako ne pod TP-om?
pascal.183 mmitrovic,
Ů█▀█Ţ Da, ovo je potpuniji opis slaganja stvari na stek. Phanx ;) na Ima jos jedna stvar koju sam prevideo, sve ovo važi za $S-, tj. bez provere steka, jer onda treba jos par bajtova za poziv rutine za proveru steka. Naravno ta memorija biva oslobođena čim se uđe u kod funkcije. Ů█▀█Ţ tome, ali me i dalje interesuje da li je moguće uopšte koristiti Ů█▀█Ţ više od 64 K u konstrukciji rekurzivnih poziva neke funkcije ? Naravno da može, sve se može, ali to zadire u domen sistemskog programiranja i poznavanja strukture Pascal programa na code nivou. Princip je da pre svakog poziva alociraš memoriju za novi stek sa HEAPa i postavisš SS:SP pre poziva i vratiš ih posle. Ovo vuče za sobom dosta sitnica koje treba zadovoljiti, sve u svemu veoma nepraktično. Ali ako ti baš očajnički treba, mene ćeš morati da sačekaš do 1. :(
pascal.184 dejanr,
>> BP 7 ima heap > 640 kb Da. >> i to ne u sklopu TP-a 7? TP 7 je "mala" verzija BP 7, dakle i dalje stari limiti, 640 K itd. >> I da li postoje neka ogranicenja pri programiranju (mislim na razlike >> u klasicnom - TP-u i tu)? Postoji i dalje ograničenje strukture na 64 K. Ali zato možeš naslagati koliko hoćeš takvih struktura (ili bar koliko imaš memorije, što osnovne, što extended itd) >> I koliko je veci exe? Ne spektakularno. >> I u cemu se onda programira pod DOS-om, ako >> ne pod TP-om? Pod DOS-om, a i pod Windows-om, programira se u Borland Pascalu 7. Turbo Pascal 7 je samo njegova jeftinija verzija. Dakle, ako imaš BP7, TP7 ti ne treba. Preporučujem čitanje starih poruka u PC.PROG.*/pascal, na prethodna pitanja je već više puta odgovoreno.
pascal.186 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Pascal Date: Thu, 02 Jun 1994 08:05:01 ==== Kiril Vidimce rece: ====================================== >TURBO PASCAL sa grafickim aplikacijama, Armando Jorno, >Tehnicka Knjiga, 1990, II izdanje, strana 144 KV> Ako e ovaa istata kniga koja i jas ja imav na vremeto (ne KV> se sekkavam dali besse I ili II izdanie) - knigata i ne KV> e bass mnogu dobro napissana - osobeno besse smessno ona KV> 'graficckim aplikacijama', bidejkki primerite se za vo KV> TP 3.00 (turtle graphics). Slazem se da knjiga nije nesto narocito, tj. bas je za apsolutne pocetnike. Ipak, moze sasvim lepo da posluzi. Mene grafika nije toliko interesovala, pa se ne secam da li sam taj deo knjige uopste i procitao, ali u prvom delu, za pocetnika, sasvim je upotrebljivo. Broker ... BR> Ups. Opet ostadoh bez tagova... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.187 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Pascal Rutine 1/3 Date: Thu, 02 Jun 1994 08:06:02 ==== Kiril Vidimce rece: ====================================== KV> @PID: JCQWK 2.01 Pre-Gamma3 26039401 >Moze li me neko uputiti na pogodan alat (biblioteke) kao i literaturu >koja se bavi manipulacijom memorijom (expanded, extended, swap-ovanje i sl.) >Zgodnije mi je ako je za PAscal ali ni za C nije na odmet. KV> Eve edno zgodno primercce, a za poozbilna rabota ti ja KV> preporaccuvam bibliotekata SNIPPETS. Ima se' i sessto vo nea - a KV> najccesto mnogu korisno. :) Hvala puno, bice korisno. Ipak, kad zelis da posaljes nesto ovako dugacko, prvo pitaj da li to jos nekoga zanima. Konferencija ide na veliki broj sistema i neko se moze buniti. ... BR> Ups. Opet ostadoh bez tagova... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.188 postmast,
From: Braslav.Sesartic@f101.n101.z38.setgate.setnet.co.yu (Braslav Sesartic) Subject: Re: .Pcx File Reader Date: Thu, 02 Jun 1994 03:10:00 KV> { =========================== VGA16palette Cini mi se da ova procedura setuje kompetnu paletu, a meni treba boja samo za jedan piksel (ili mozda gresim). No, ipak zahvaljujem. KV> Ako ti treba kompletniot program za rabota so PCX-ovi, samo KV> kazzi. :) - ako ima source i ako mu je source u TP, ako moze da prikaze .PCX u bilo kojoj velicini (znaci ne samo na celom ekranu)... onda bi mi bas to trebalo. :) Samo reci kako? Braslav Sesartic 38:101/101@SetNet.Oreska * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.190 inesic,
Potreban mi je savet u vezi diskusije koja se vodila krajem ovog meseca u ovoj konf.temi. Tiče se pozivanja .bat i ostalih izvršnih datoteka. Konkretno ja bih hteo da izvršim command.com /c md novidir što radi kad se pokuša iz programa datog u helpu za exec, ali ne radi iz mog programa koji je pun nizova i ostalih žderača memorije, pa ne mogu da upotrebom $M klauzulu na onaj način kako je to u helpu urađeno. Moj problem je što zapravo ne znam kako se ta klauzula koristi, čemu koji parametar tu služi. Zapravo, to nije moj jedini problem. Moj drugi problem je što radim na XTu pa moram da koristim TP 5.5. Neko je tu objasnio da se problem korišćenja $M zaobilazi veštim korišćenjem procedure/funkcije setMemTop,ali nje u helpu od TP 5.5 nema. Pitanje je dakle kako da se koristi $M i da li ova klauzula može da se koristi i na više mesta u programu (pokušao sam da pre gorenavedenog poziva postavim $M onako kako je u onom help primeru dato, pa da ga posle vratim na inicijalne vrednosti, ali nije išlo: TP je prijavljivao not inaf memori). Šta da radim? inesic
pascal.191 dejanr,
>> $M klauzulu na onaj način kako je to u helpu urađeno. Moj problem je >> što zapravo ne znam kako se ta klauzula koristi, čemu koji parametar >> tu služi. $M se stavlja na početku programa i ima tri parametra - prvi je veličina steka, drugi minimalni heap a treći maksimalni heap. Recimo, ako ti je 16 K za stek dovoljno i ako alociraš raznim nizovima najviše još 64 K, koristi {$M 17000,0,65000} i biće prostora za poziv command.com-a.
pascal.192 ognjen,
)-> Konkretno ja bih hteo da izvrsim )-> command.com /c md novidir Zasto se patis preko command.com-a? Uradi legalno sa: MKDIR ('basic'); tj. u tvom primeru: MKDIR (novidir);
pascal.193 omega,
Ţ Moj drugi problem je sto radim na XTu pa moram da koristim TP 5.5. Koliko znam i TP 7.0 radi na XT-u. Ţ Neko je tu objasnio da se problem koriscenja $M zaobilazi vestim Ţ koriscenjem procedure/funkcije setMemTop,ali nje u helpu od TP 5.5 nema. Da, ta procedura je uvedena u TP-u v6.0 u okviru unit-a Memory... Ţ Pitanje je dakle kako da se koristi $M i da li ova klauzula moze Ţ da se koristi i na vise mesta u programu (pokusao sam da pre Ne moze. Ţ Sta da radim? Jedno od resenja je SHROOM (r:\ibmpc\system\shrom24b.zip)...
pascal.194 mdave,
■> nije moj jedini problem. Moj drugi problem je što radim na XTu pa ■> moram da koristim TP 5.5. Neko je tu objasnio da se problem Nije to nikakav problem. Samo pravi muškarci koriste XT. :) PS. Imam ortaka koji piše programe na 386 računaru i padne u nesvest kad vidi kako to sporo radi na mom XT. Sa druge strane, moji programi su munje na bržim računarima jer su "maksimalno" optimizovani - samo takvi rade na XT-u. :) < C= Commodore PC10-III - forever & ever >
pascal.196 postmast,
From: ss45791d@buefhp.etf.bg.ac.yu (Simic Srdjan) Subject: Re: $R Date: Mon, 20 Jun 1994 09:29:13 GMT : U jednom sorsu sam nasao ovo: : {$R ime.dat} Hi Ovo pise u helpu Specifies the name of the resource file to be included in an application or library. Syntax: {$R FileName} Type: Local Remarks: The default extension for FileName is .RES. It must be a Windows resource file. Nije mi jasno zasto nisi pogledao help (Radi se o verziji 7.0) Nije bas pametno postavljati ovakva pitanja narocito sada kada je setnet povezan na Bint, jer ona opterecuju mrezu. -- Srdjan Simic srdjan@osmeh.fon ss45791d@buefhp.etf simic_45791d@buef78.etf
pascal.197 ilotina,
Pitanjce : Kako saznati koliko se fajlova nalazi u nekom direktorijumu, bez upotrebe findfirst & findnext procedura, tj. da li postoji brži način, možda preko nekog doc poziva ili slično? Ivan
pascal.198 djelovic,
> Pitanjce : Kako saznati koliko se fajlova nalazi u nekom > direktorijumu, bez upotrebe findfirst & findnext procedura, > tj. da li postoji brži način, možda preko nekog doc poziva > ili slično? Ništa čisto. Ukoliko te zanimaju prljave tehnike, pogledaj mjovin članak u poslednjim (ili beše pretposlednjim?) računarima. P.S. Ma Miljan je bre ko stvoren za te prljave stvari :).
pascal.201 dr.grba,
>> Nije to nikakav problem. Samo pravi muškarci koriste XT. :) Ali ako ima Nan-Tan tastaturu (((:
pascal.202 inesic,
> Nije to nikakav problem. Samo pravi muškarci koriste XT. :) Imam da izjavim da bih radije bio pičkica samo kad bih imao para da kupim jedan 486. Mada, s druge strane, gomila sitnobiznisnih firmi jednostavno neće da kupe ništa jače od 286, jer im i to radi knjigovodstvo sasvim dobro. Možda nije loše držati jednog XTa negde u zapećku, tek kolko da ima čovek na čemu da proba aplikaciju, pre nego što je proda. inesic
pascal.203 inesic,
> Koliko znam i TP 7.0 radi na XT-u. Ha, ha! Kad sam, ima tome valjda više od godinu ( ma kakvi godinu ) instalirao TP6.0 i kad mi je, pri pikušaju da izvršim neki demo, prijavio not inaf memori, shvatio sam da XT tu nema šta da traži. Tužno, al' šta ćeš. Ipak, hvala ti za predlog: neću biti lenj i skinuću taj SHROM inesic
pascal.204 inesic,
> Zasto se patis preko command.com-a? Uradi legalno sa: > > MKDIR ('basic'); Eto kako čovek svaki dan može nešto novo da nauči. Nisam ni znao da tako nešto postoji. Prvi put mi je u životu zatrebalo. Naravno da ću uraditi legalno. Međutim, pitanja o $M ostaju aktuelna, jer uvek zatreba da se startuje externi editor ili bilo kakav mali ali nedostižni jutiliti, koji napravi neki majstor i koji ja ne umem da napravim bolje. Još kad je PD :) inesic
pascal.205 inesic,
> $M se stavlja na početku programa i ima tri parametra - prvi je > veličina steka, drugi minimalni heap a treći maksimalni heap. > Recimo, ako ti je 16 K za stek dovoljno i ako alociraš raznim > nizovima najviše još 64 K, koristi {$M 17000,0,65000} i biće > prostora za poziv command.com-a. Shvatam ideju, ali ne i detalje. Šta ide na stek, a šta na hip. Gde idu promenjive i procedure iz junita. Ukratko, KAKO da znam koliko treba da odvojim za stek, a koliko za hip. inesic
pascal.206 eagle,
> moram da koristim TP 5.5. Neko je tu objasnio da se problem > korišćenja $M zaobilazi veštim korišćenjem procedure/funkcije > setMemTop,ali nje u helpu od TP 5.5 nema. Prevedi ovo tasm-om, i eto trazene procedure. MODEL TPASCAL .DATA EXTRN PrefixSeg:WORD .CODE PUBLIC SetMTop SetMTop PROC NEAR P: DWORD mov bx, word ptr P add bx, 000Fh mov cl, 04 shr bx, cl add bx, word ptr P + 2 mov ax, ŠPrefixSegĆ sub bx, ax mov es, ax mov ah, 4ah int 21h ret SetMTop ENDP END
pascal.207 markom,
:: Tužno, al' šta ćeš. žudno, imam ortaka koji bez problema radi u TP 7.0 na XT-u sa 640K memorije :)
pascal.208 omega,
Ţ Kad sam, ima tome valjda vise od godinu ( ma kakvi godinu ) Ţ instalirao TP6.0 i kad mi je, pri pikusaju da izvrsim neki demo, Ţ prijavio not inaf memori, shvatio sam da XT tu nema sta da trazi. Verovatno si kompajlirao iz "okoline" i stavio Compile Destination:Memory :) E pa, trebalo je Compile Destination:Disk i upalilo bi :) Ne verujem da je sam program (vec iskompajliran) izjavio da nema dovoljno memorije :)
pascal.209 dejanr,
>> Shvatam ideju, ali ne i detalje. Šta ide na stek, a šta na hip. >> Gde idu promenjive i procedure iz junita. Na heap ide ono što alociraš sa getmem, new i... da'l ima još nešto. Parametri, lokalne promenljive itd, idu na stek >> Gde idu promenjive i procedure iz junita. Ukratko, KAKO da znam >> koliko treba da odvojim za stek, a koliko za hip. Za heap možeš da proračunaš prema getmem-ovima. Za stek je teorijski moguće proračunati, ali bi bilo jako veliki posao, tako da uglavnom ide "odokativno". 16 K je često dovoljno.
pascal.210 markom,
:: Za heap možeš da proračunaš prema getmem-ovima. Za stek je teorijski :: moguće proračunati, ali bi bilo jako veliki posao, tako da uglavnom :: ide "odokativno". 16 K je često dovoljno. A 99% posto programa koji se napišu lepo i optimizovano, kao i bez rekurzije su zadovoljni i sa {$M 1024,0,0} :)
pascal.211 mmitrovic,
Ů█▀█Ţ Shvatam ideju, ali ne i detalje. Šta ide na stek, a šta na hip. Ů█▀█Ţ Gde idu promenjive i procedure iz junita. Ukratko, KAKO da znam Data Segment: Globalne promenljive, globalne i lokalne tipizirane konstante, Stek: Povratne adrese, lokalne promenljive Heap: Dinamičke promenljive (alocirane sa New, GetMem, ..) Ukratko pusti HEAP do maximuma, uključi MEMORY unit i pre nego uradić Exec zapamti HeapTop i postavi kraj heapa na HeapPtr. Nakon Execa vrati Heap na HeapTop. :) Moram priznati da je ovo bilo nejasno, ali se ne sećam napamet naziva procedura iz Memory unit. Ako nije jasno, buni se. ;)
pascal.212 mmitrovic,
Ů█▀█Ţ direktorijumu, bez upotrebe findfirst & findnext procedura, Ů█▀█Ţ tj. da li postoji brži način, možda preko nekog doc poziva Ů█▀█Ţ ili slično? Možeć da ideć korak niže, saznać dužinu dir fajla (direktorijumi su fajlovi), koja će biti (cluster size*x), onda locirać dir na disku, pročitaš clustere i prebrojić dir entry-e. Sve u svemu, koristi ff i fn, malo je sporije (češće pristupa disku) ali je lakše za programiranje i kraći je kod.
pascal.213 mmitrovic,
Ů█▀█Ţ P.S. Ma Miljan je bre ko stvoren za te prljave stvari :). Ko je taj moj imenjak? Vidim ima ga i u tvom tekstu.
pascal.214 mmitrovic,
Ů█▀█Ţ Da nemas mozda neka pisana uputstva za koriscenje Paradox Enginea Ů█▀█Ţ sa TPascalom? Nek me neko uputi preko maila gde mogu kupiti Paradox Engine. ;) Uputstva trebaju i meni, pa ako ih neko ima u e-formi, ...
pascal.215 dpriest...,
Hi. Zna li neko da li windows ima neki karakteristican 'potpis' negde u memoriji dok je aktivan? Ako ima bio bih zahvalan na informaciji. DP...
pascal.216 dejanr,
>> Nek me neko uputi preko maila gde mogu kupiti Paradox Engine. ;) Prodaje CET.
pascal.217 djelovic,
> Ko je taj moj imenjak? Vidim ima ga i u tvom tekstu. mjova :)
pascal.218 djelovic,
> Za stek je teorijski moguće proračunati, ali bi bilo jako veliki posao, > tako da uglavnom ide "odokativno". 16 K je često dovoljno. Evo empirijske metode: Na početku programa, popuniš stek nekim stringom. Na kraju, pogledaš dokle se taj string još uvek prostire, oduzmeš od ukupne veličine steka, i eto ti procene koliko si steka potrošio. Dodaj na to stotinak bajtova, i trebao bi da budeš siguran u rezultat, ukoliko u programu ne koristiš neku rekurziju.
pascal.219 maki,
> Zna li neko da li windows ima neki karakteristican 'potpis' negde u Pogledaj poruke 3.95 i 3.96 u ovoj konferenciji.
pascal.220 inesic,
> Data Segment: > Globalne promenljive, globalne i lokalne tipizirane konstante, Šta je sad ovo? Toga nema u $M. Da li je taj data segment nešto što je fiksno kod svakog programa ili se i to menja, tj. raste i smanjuje se po potrebi? Je l' to ono parče na koje pucaju oni pointeri koji pokazuju na promenjive? inesic
pascal.221 omega,
Ţ A 99% posto programa koji se napisu lepo i optimizovano, kao i bez Ţ rekurzije su zadovoljni i sa {$M 1024,0,0} :) Lepo i optimizovano!? Da ostanem bez heap-a? :))))
pascal.222 markom,
:: Lepo i optimizovano!? Da ostanem bez heap-a? :)))) Meni skoro nikad nije zatrebao ... A kad mi treba nešto veliko, zna se ;) CCCCCcccc :)
pascal.223 postmast,
From: Brankica.Kranjac@f110.n103.z38.setgate.setnet.co.yu (Brankica Kranjac) Subject: Re: $R Date: Tue, 21 Jun 1994 02:08:26 On 4 Jun 94 10:19pm, Predrag Supurovic wrote to All: :) U ednom sorcetu sam naisao na sledecu liniju: :) {$R keys.reg} Mozda je kasno, ali koliko znam ova direktiva sluzi samo za testiranje. Ako se stavi {$R+ ukljucuje se deo za proveru raspona svih varijabli u odnosu na njihove granice. Pravi veci kod, pa se obicno ne koristi. Lady Linet 38:103/110@SetNet.NewAge < Moderator SetNet.Erotika > ... Help!!! * ■ Hack by ANGEL ■ 1111111111 * Origin: [New Age BBS]*[Beograd]*[+38-11-404-639]*[23-06] (38:103/110)
pascal.225 postmast,
From: sale@fon (Aleksandar Hercog) Subject: pascal i fox Date: Thu, 23 Jun 1994 00:44:39 GMT Ima li neko ideju kako iz FoxPro 2.5 za Dos pozvati neku rutinu napisanu u Pascalu 7.0 i uz to pascal rutini prenenti neke parametre. (kako u TPascalu 7.00 napraviti OBJ fajl, njega povezati sa FoxPro 2.5 za Dos, iz Fox-a pozvati tu proceduru, prene ti joj eke parametre, po zavrsetku rada procedure vratiti neke parametre fox programu, a fox program i tu pascal proceduru smestiti u jedan EXE)? Sale
pascal.226 dr.grba,
Da li EXE program napravljen u Turbo Pascalu 7.0 ima nekakav CRC check ili nešto poput toga kao zaštitu integriteta EXE datoteke?
pascal.227 dejanr,
>> Ako se stavi {$R+ ukljucuje se deo za proveru >> raspona svih varijabli u odnosu na njihove granice. Pravi >> veci kod, pa se obicno ne koristi. Ja ga *uvek* koristim, čak mi je ta opcija u setupu TP-a podešena na uključeno. Ne znam ni sam koliko sam bagova tako našao, i to ne samo u svojim programima, nego recimo i u prilozima za Pitalice koje drugi šalju. Naravno, kada se kompajlira konačna verzija, onda ima smisla isključiti tu proveru, {$R-}, ali tokom razvoja je se ne treba odricati!
pascal.228 markom,
:: From: Brankica.Kranjac@f110.n103.z38.setgate.setnet.co.yu (Brankica Kranjac) :: Subject: Re: $R :: Mozda je kasno, ali koliko znam ova direktiva sluzi samo :: za testiranje. Ako se stavi {$R+ ukljucuje se deo za proveru :: raspona svih varijabli u odnosu na njihove granice. Pravi :: veci kod, pa se obicno ne koristi. Wrong, u TPW 1.x i BP 7.x, ta direktiva ima još jednu funkciju, isto kao što ima i $I. Slži u Windows programima da se naznači koji je resource fajl povezan sa datim programom ... Nevezano za poruku, neko je tražio dokaze o Blagojevom crackovanju SW programa ... :: * ■ Hack by ANGEL ■ 1111111111 Toliko o tome.
pascal.229 kriss,
˙˙ Možeć da ideć korak niže, saznać dužinu dir fajla ˙˙ (direktorijumi su fajlovi), koja će biti (cluster size*x), ˙˙ onda locirać dir na Ok, kako da otvorim taj fajl?
pascal.230 dejanr,
>> > Možeć da ideć korak niže, saznać dužinu dir fajla >> > (direktorijumi su fajlovi), koja će biti (cluster size*x), >> > onda locirać dir na >> >> Ok, kako da otvorim taj fajl? Ako uspeš, javi. Mnogi kažu da je "direktorijum zapravo fajl", da se može otvoriti ovako ili onako, ali šta god se proba, ne uspeva. Pričao sam i sa nekim ljudima na BIX-u o tome (u vezi mog čuvenog pitanja, kako napisati program koji setuje datum kreiranja direktorijuma), i na kraju je ispalo da niko ne zna, čak ni čovek koji je pisao knjigu Undocumented DOS
pascal.231 mmitrovic,
Ů█▀█Ţ Šta je sad ovo? Toga nema u $M. Da li je taj data segment nešto Ů█▀█Ţ što je fiksno kod svakog programa ili se i to menja, tj. raste i Data Segment ide između koda i steka i varira od programa do programa, ali mu je dužina za određeni program uvek ista, što nije slučaj sa zauzećem HEAPa. kad kažeš: var p:žword; onda je p u DATA segmentu, a pž (podatak) je u HEAPu (nakon New(p)); DATA segment se deli na dva dela, na inicijalizovani i neinizijalizovani inicijalizovani deo predstavljaju tipizirane konstante, i on je deo EXE fajla (fizički je prisutan) neinicijalizovani su varijable, i one se kreiraju logički u memoriji pri startovanju programa.
pascal.232 mmitrovic,
Ů█▀█Ţ Mozda je kasno, ali koliko znam ova direktiva sluzi samo Ů█▀█Ţ za testiranje. Ako se stavi š$R+ ukljucuje se deo za proveru Za $R je ista stvar kao i za $O: $R+ ili $R- je provera opsega $R<filename> je uključivanje resourcea $O+ ili $O- je kontrola Overlaya $O<name> je ime modula u nekom drugom fajlu (veoma retko se koristi)
pascal.233 pedjak,
> Da li EXE program napravljen u Turbo Pascalu 7.0 ima nekakav CRC > check ili nešto poput toga kao zaštitu integriteta EXE datoteke? žisto sumnjam.
pascal.234 mdave,
■> Wrong, u TPW 1.x i BP 7.x, ta direktiva ima još jednu funkciju, Ne znam kako vi, ali ja za vreme razvoja programa uključim obavezno sve check-ove. :) žak i one koje ne znam čemu služe... :) *** SOR 2.11 *** ■ Hack by MarkoM ■
pascal.235 kriss,
˙˙ Da li EXE program napravljen u Turbo Pascalu 7.0 ima nekakav ˙˙ CRC check ili nešto poput toga kao zaštitu integriteta EXE ˙˙ datoteke? Ne znam da li ima, ali ne vidim prepreku da se ugradi. :)
pascal.236 markom,
:: *** SOR 2.11 *** :: ■ Hack by MarkoM ■ Znači radi crack, odlično ;)
pascal.237 isekulovic,
>> Na heap ide ono što alociraš sa getmem, new i... da'l ima još nešto. I Initgraph traži malo heapa za sebe.
pascal.238 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Fri, 24 Jun 1994 13:48:50 GMT Dejan Ristanovic (dejanr@sezam.UUCP) wrote: : Ako uspes, javi. Mnogi kazu da je "direktorijum zapravo fajl", da se : moze otvoriti ovako ili onako, ali sta god se proba, ne uspeva. Pricao : sam i sa nekim ljudima na BIX-u o tome (u vezi mog cuvenog pitanja, : kako napisati program koji setuje datum kreiranja direktorijuma), i : na kraju je ispalo da niko ne zna, cak ni covek koji je pisao knjigu : Undocumented DOS A sta mislite da neko pita one ljude iz Symantec-a ili Central Pointa, ili ne daj boze Microsoft-a :) Postoje njihovi programcici koji menjaju datum kreiranj direktorijuma ...
pascal.239 omega,
Ţ ˙˙ CRC check ili nesto poput toga kao zastitu integriteta EXE datoteke? Ţ Ţ Ne znam da li ima, ali ne vidim prepreku da se ugradi. :) Npr. kako?
pascal.240 jasicp,
Da li neko zna kako se izvrsava program pomocu EXEC ( ... ) ali tako da se rezultati izvrsavanja ne vide na ekranu ? Proba sam sa nesto tipa PROGRAM.EXE argumenti >NULL, ali ne funkcionise ?
pascal.241 djelovic,
> Da li neko zna kako se izvrsava program pomocu EXEC ( ... ) ali tako > da se rezultati izvrsavanja ne vide na ekranu ? Proba sam sa nesto tipa > PROGRAM.EXE argumenti >NULL, ali ne funkcionise ? Da li program koji startuješ piše po ekranu preko BIOS-a ili gađa direktno u video memoriju? To možeš da proveriš tako što ćeš da ga staviš u dibager, pa da promatraš odgovarajući interapt.
pascal.242 markom,
Ja se stvarno izvinjavam Sezamovcima na ovakvim porukama, ali kad sam ih pisao, zaboravio sam da lupam enter, tako da je stiglo, ovakvo kako je. Evo cele sadržine ... :: A sta mislite da neko pita one ljude iz Symantec-a ili Central Pointa, ili :: ne daj boze Microsoft-a :) Postoje njihovi programcici koji menjaju datum :: kreiranj direktorijuma ...
pascal.243 dejanr,
>> A sta mislite da neko pita one ljude iz Symantec-a ili Central Pointa, >> ili ne daj boze Microsoft-a :) Postoje njihovi programcici koji menjaju >> datum kreiranj direktorijuma ... Prvo, ako i postoje, ja ih nisam video. FD, konkretno, ne može da promeni datum kreiranja direktorijuma. Datum kreiranja direktorijuma može da se promeni tako što odeš u direktorijum iznad pa kažeš NU . (ova tačka nije kraj rečenice ;)) i onda setuješ datum tako što direktno brljaš po zapisu direktorijuma. U tom smislu bi se datum mogao setovati tako što napišeš program koji prvo nađe gde je root katalog (što je lako) pa iz njega pročita gde su katalozi, pa iz njih gde su potkatalozi itd, dok ne nađe traženi katalog, pa onda u zapisu njegovog "roditelja" promeni datum kreiranja "deteta", direktno pišući po disku. Samo što bi to zahtevalo da se maltene napiše pola DOS-a, ne-elegantno je u visokom stepenu, aktiviralo bi sav mogući antivirus softver itd, itd. Sve skupa, nije neko rešenje. Ali prečicu niko ne ume da nađe :( PS Zanimljiva stvar: nije dosta promeniti samo datum direktorijuma, treba i ući u njega pa promeniti datume kreiranja "fajlova" . i .., da bi "maskiranje" bilo savršeno.
pascal.244 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 23 Jun 1994 09:47:04 "P> Zna li neko da li windows ima neki karakteristican 'potpis' negde "P> u memoriji dok je aktivan? Ako ima bio bih zahvalan na informaciji. Imam TP6.0 UNIT koji prpoznaje ne samo Windows, nego i veci broj drugih multitaskera. Arhiva je velika 6K pa mogu da ti je posaljem i postom (ako je jos neko zainteresovan, mogu da je ostavim UUENCODE-ovanu u ovoj konferenciji). Nazalost, nema source, vec TPU za 6.0 Evo isecka iz interface sekcije. Izvadjeno je mnogo propratnog teksta i ostavljeno samo ono sto ce ti pokazati sva sve ima unutra. Unit MulAware; { Multitasking Routines for TP 6.0 Copyright (c) 1991,1992 A.B.S. - ALL RIGHTS RESERVED Type MultiType = (None, {No Supported MultiTasker Found} DESQview, {DESQview 2.26+} TopView, {TopView, TaskView, DESQview 2.00- 2.25, OmniView, or Compatible} TaskSwitcher, {MS DOS 5.0 Task Switcher or Compatible} DoubleDOS, {DoubleDOS} WinEnh, {MS Windows 3.x in Enhanced Mode} Win386, {MS Windows 386 v2.xx} WinStandard, {MS Windows in Real or Standard Mode} OS2}; {OS/2 1.3 or 2.0} Var MultiTasker : MultiType; Procedure TimeSlice; Procedure PreventSwitching; Procedure ResumeSwitching; Function MulVersion : Word; Function VirtualBuffer : Word; Procedure TV_UpdateBuffer(Num : Word; Buffer, CharOffset : Word); Function DDOS_Visible : Boolean; ... BR> Deca su ukras sveta. Daj da se jos malo okitimo. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.245 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 23 Jun 1994 09:50:05 "P> Zna li neko da li windows ima neki karakteristican 'potpis' negde "P> u memoriji dok je aktivan? Ako ima bio bih zahvalan na informaciji. Hi, pored onog UNIT-a nasao sam jos nesto, sto sam skoro zaboravio da imam. Ovo sam nasao na U'NI-net. pozdrav, broker ─ Area: U.pascal ───────────────────────────────────────────────────────────── Msg#: 5113 Date: 12-22-93 23:59 From: Greg Estabrooks Read: Yes Replied: No To: Shel Shallon Mark: Subj: HOW DETECT WINDOWS? ────────────────────────────────────────────────────────────────────────────── SS>Does anyone know how a DOS program can determine whether it running as SS>a DOS application under Windows? Is there an interrupt that can be SS>tested? Many thanks in advance. Here are some routines I wrote a while back for a friend to test for windows which you might find of use: {*********************************************************************** } PROGRAM Win3XInf; { Simple Detection routines for Windows 3.X } { Last Updated April 28/93, Greg Estabrooks } FUNCTION Win3X :BOOLEAN; ASSEMBLER; { Routine to determine if Windows is currently running } ASM Mov AX,$4680 { Win 3.x Standard check } Int $2F { Call Int 2F } Cmp AX,0 { IF AX = 0 Win in real mode } JNE @EnhancedCheck { If not check for enhanced mode} Mov AL,1 { Set Result to true } Jmp @Exit { Go to end of routine } @EnhancedCheck: { Else check for enhanced mode } Mov AX,$1600 { Win 3.x Enhanced check } Int $2F { Call Int 2F } Cmp AL,0 { Check returned value } Je @False { If not one of the below it } Cmp AL,$80 { is NOT installed } Je @False Mov AL,1 { Nope it must BE INSTALLED } Jmp @Exit @False: Mov AL,0 { Set Result to False } @Exit: END;{Win3X} FUNCTION WinVer :WORD; ASSEMBLER; { Returns a word containing the version of Win Running } { Should only be used after checking for Win installed } { Or value returned will be meaning less } ASM Mov AX,$1600 { Enhanced mode check } Int $2F { Call Int 2F } END;{WinVer} BEGIN IF Win3X THEN { If it is running say so } BEGIN Writeln('Windows is Running! '); { Now display version running } Writeln('Version Running is : ',Lo(WinVer),'.',Hi(WinVer)); END ELSE { If not 'Just say NO!' } Writeln('Windows is not Running!'); END. {***********************************************************************} ....Greg.... ■ OLX 2.1 TD ■ We now return you to your regular programming... -!- ■ RoseMail 2.10ß: U'NI-net: VE1EI BBS Sambro, NS 90 ... BR> Pogubio sam tagove. Postenim nalazacima nagrada. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.246 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Sat, 25 Jun 1994 15:05:10 GMT :: Imam TP6.0 UNIT koji prpoznaje ne samo Windows, nego i veci broj :: drugih multitaskera. Arhiva je velika 6K pa mogu da ti je posaljem :: i postom (ako je jos neko zainteresovan, mogu da je ostavim UUENCODE-ovanu :: u ovoj konferenciji). Evo ga C source za detektovanje Windows-a ... int win (void) { union REGS regs; regs.x.ax = 0x1600; int86(0x2F, &regs, &regs); if (regs.h.al == 0) return 0; zija (3), a u AH je minor (1, 11 ili sta vec ;)
pascal.247 markom,
:: PROGRAM.EXE argumenti >NULL, ali ne funkcionise ? ^ Imaš L viška ;) PROGRAM.EXE argumenti > NUL :)
pascal.248 ognjen,
Help me! FindFirst('*.*', AnyFile, DirInfo); If (DirInfo.Attr and Directory)=0 Then Ovo ne kapiram. DirInfo.Attr je char. A Directory je Boolean? kako onda (baba i zaba)=integer ????
pascal.249 mmitrovic,
Ů█▀█Ţ Ako uspeš, javi. Mnogi kažu da je "direktorijum zapravo fajl", da se Ů█▀█Ţ može otvoriti ovako ili onako, ali šta god se proba, ne uspeva. Pričao Ů█▀█Ţ sam i sa nekim ljudima na BIX-u o tome (u vezi mog čuvenog pitanja, Ů█▀█Ţ kako napisati program koji setuje datum kreiranja direktorijuma), i Ništa ne pali sem direktnog pisanja po disku. Tužno, ali istinito. :(
pascal.250 mmitrovic,
Ů█▀█Ţ Da li EXE program napravljen u TP 7.0 ima nekakav CRC check Nema.
pascal.251 srdjan.j,
==> If (DirInfo.Attr and Directory)=0 Then ==> ==> Ovo ne kapiram. DirInfo.Attr je char. A Directory je Boolean? ==> kako onda (baba i zaba)=integer ???? Ovde se radi o integer operatoru _and_ ( ekstenzija TP-a ). Otkud ti da je Directory Boolean ? Ovde se radi o maskiranju jednog bita iz DirInfo.Attr : Neka je DirInfo.Attr = 01010011B ( binarno ) a neka je Directory = 00010000B ( takođe binarno, neznam je baš ovaj broj, ali za primer je dobro ) ------------------- Onda se radi bit po bit operacija and i dobija se sledeci rezultat: 00010000B E, sad, pozicija one jedinice u Directory predstavlja mesto gde se u okviru DirInfo.Attr nalazi informacija da li je dati fajl direktorijum ili nije. Ako je na toj poziciji nula, onda je rezultat prethone operacije 0, znači nije direktorijum; u suprotnom rezultat je različit od nule, => našli smo dir ! Srđan.
pascal.252 kriss,
˙˙ Ţ ˙˙ CRC check ili nesto poput toga kao zastitu integriteta ˙˙ EXE datoteke? Ţ ˙˙ Ţ Ne znam da li ima, ali ne vidim prepreku da se ugradi. :) ˙˙ ˙˙ Npr. kako? U TP 7.0 ne znam kako da ga ugradim, ;) ali u program bi znao i to veoma lako. Ako je 'običan' CRC u pitanju - ima dosta rutina za isti i posao se jednostavno sređuje iz asemblera, a on se pak lako ugrađuje u Paskal program. Ako treba i rešenje može ... :)
pascal.253 mmitrovic,
Ů█▀█Ţ je u visokom stepenu, aktiviralo bi sav mogući antivirus softver itd, Ů█▀█Ţ itd. Nebi. Šta misliš kako DOS dolazi do svojih dir-ova.
pascal.254 dejanr,
>> > je u visokom stepenu, aktiviralo bi sav mogući antivirus softver itd, >> > itd. >> >> Nebi. Šta misliš kako DOS dolazi do svojih dir-ova. Kada god sam pravio neke apsolutne upise na disk u zoni direktorijuma (jednom sam pisao program koji koristi onih par praznih bajtova), antivirusi su vrištali. Možda sada prave bolje antiviruse :) Možda DOS koristi neke nedokumentovane pozive DOS-a ;)
pascal.255 dr.grba,
>> ˙˙ Da li EXE program napravljen u Turbo Pascalu 7.0 ima nekakav >> ... >> Ne znam da li ima, ali ne vidim prepreku da se ugradi. :) Uf, vidim da je bilo nejasno. Naime, pored mene je u trenutku pisanja sedeo jedan dečko, pascal wizard (: i pitanje je zapravo njegovo. U međuvremenu je empirijski pokazano da nema ni govora o postojanju slične kontrole po defaultu kompajlera. Anyway, hvala svima na odgovoru.
pascal.256 omega,
Ţ veoma lako. Ako je 'obican' CRC u pitanju - ima dosta rutina za isti i Ţ posao se jednostavno sreduje iz asemblera, a on se pak lako ugraduje u Ţ Paskal program. Ako treba i resenje moze ... :) Moze...
pascal.257 mmitrovic,
Ů█▀█Ţ Možda DOS koristi neke nedokumentovane pozive DOS-a ;) Možda, dal se neko setio da debaguje CD funkciju?
pascal.258 kriss,
˙˙ Ţ veoma lako. Ako je 'obican' CRC u pitanju - ima dosta rutina ˙˙ za isti i ˙˙ Moze... Uh, nemam vremena za kompletnu proceduru, nadam se da će biti jasno kako se primenjuje fajl uz poruku. :) crc32.zip
pascal.259 omega,
Ţ Uh, nemam vremena za kompletnu proceduru, nadam se da ce biti jasno Ţ kako se primenjuje fajl uz poruku. :) Ma ok, to je 32-bitni crc, ali pitanje je kako ugraditi self-check u exe program?
pascal.260 bulaja,
│Ma ok, to je 32-bitni crc, ali pitanje je kako ugraditi self-check │u exe program? └─── Pa biće dovoljno da pri svakom startovanju radi CRC svog headera (početka EXE datoteke, bilo bi suviše sporo da radi CRC za ceo file), a da pri prvom startovanju taj CRC snimi negde (u samog sebe ili u neki CFG file).
pascal.261 omega,
Ţ Pa bice dovoljno da pri svakom startovanju radi CRC svog headera Ţ (pocetka EXE datoteke, bilo bi suvise sporo da radi CRC za ceo file), Ţ a da pri prvom startovanju taj CRC snimi negde (u samog sebe ili u Ţ neki CFG file). Pa u tome i jeste problem. I to naravno samo u situaciji koja mene zanima, a to je: EXE program koji si napravio je pekalajtisan, i potreban ti je jedan self-check svaki put kada se startuje, i to BEZ koriscenja drugih fajlova - znaci cisto crc zapis u samom spakovanom exe-u! Naravno, pitanje je da li to uopste moze da se izvede...
pascal.262 dpriest...,
>>> Da li neko zna kako se izvrsava program pomocu EXEC ( ... ) ali >>> tako da se rezultati izvrsavanja ne vide na ekranu ? Proba sam >>> sa nesto tipa PROGRAM.EXE argumenti >NULL, ali ne funkcionise ? Swap; Exec(GetEnv('comspec'), ' /c program.exe arg1 arg2 >NUL'); Swap; I nema nista na ekranu ako program.exe koristi bios rutime za ispis. Ako pise direktno, probaj da pre ovog exec-a exec-ujes burnmon.exe (dejanR) i nista se nece videti na ekranu :))))))))))) DP...
pascal.263 postmast,
From: Nenad.Radosavljevic@f114.n103.z38.setgate.setnet.co.yu (Nenad Radosavljevic) Subject: Pascal Date: Mon, 27 Jun 1994 17:19:02 ..│Imam TP6.0 UNIT koji prpoznaje ne samo Windows, nego i veci broj ..│drugih multitaskera. Arhiva je velika 6K pa mogu da ti je posaljem ..│i postom (ako je jos neko zainteresovan, mogu da je ostavim ..│UUENCODE-ovanu ..│u ovoj konferenciji). Ima zainteresovanih! Pozdrav, Nenad R. ■ CMPQwk 1.30 #316 ■ bius tagline. This is a mebius tagline. This is a me .. * Origin: SETNet:INFOSYS*informacije*NON-STOP*BG*011-414940* (38:103/114)
pascal.264 kriss,
˙˙ Ma ok, to je 32-bitni crc, ali pitanje je kako ugraditi ˙˙ self-check u exe program? Iskoristiš fajl prikačen uz moju poruku. ;) Kako - ako nema nekih mutnih radnji (direktno upisivanje u EXE i sl.), uradi se CRC prvih n bajtova (ili celog programa - nije bitno) i uporedi se sa prethodno izračunatim CRC-om koji stoji kao zadnja dva (četiri) bajta EXE-a. Ako nije OK - već_šta_treba_da_se_uradi. :)
pascal.265 jasicp,
> :: PROGRAM.EXE argumenti >NULL, ali ne funkcionise ? > ^ Imas L viska ;) > > PROGRAM.EXE argumenti > NUL :) Jok, isti je efekat. Opet pise. Osim toga, mislim da bi trebalo NULL, ali svejedno. U cemu je stos ?
pascal.266 jasicp,
> Da li program koji startujes pise po ekranu preko BIOS-a ili gada direktno > u video memoriju? To mozes da proveris tako sto ces da ga stavis u dibager, > pa da promatras odgovarajuci interapt. Iskreno, ne znam. Radilo se o PKZIP-u, ali je pitanje postavljeno u generalnom smislu. U cemu je razlika, sa moje/ tacke gledista ? Dibager mi nije na kucnoj masini ( imam 286/1MB ) pa i ne mogu da ga startujem... Sem toga, izvestaj o izlasku iz pozvanog programa je u DOSERROR varijabli, je'l tako ?
pascal.267 jasicp,
> I nema nista na ekranu ako program.exe koristi bios rutime za ispis. Ako > pise direktno, probaj da pre ovog exec-a exec-ujes burnmon.exe (dejanR) > i nista se nece videti na ekranu :))))))))))) Objasni :?...
pascal.268 dzakic,
> Jok, isti je efekat. Opet pise. Osim toga, mislim da bi trebalo > NULL, ali svejedno. U cemu je stos ? Da bi se ispis mogao preusmeriti u 'ništa', potrebno je da program piše preko DOS-a a ne preko BIOS-a! To postavljanje redirekcije radi komandni interpreter, pa startovanje sa Exec('prog.exe','> nul') nema efekta jer se string '> nul' prosređuje kao parametar a uređaj za izlaz je i dalje ekran (odnosno, onaj koji je postavljen prilikom startovanja našeg programa). Da bi sve radilo kako treba, uradi: Exec(GetEnv('comspec'),'/c prog.exe > nul');
pascal.269 markom,
:: Jok, isti je efekat. Opet pise. Osim toga, mislim da bi trebalo NULL, :: ali svejedno. U cemu je stos ? Nema šanse da je NULL. NUL: ti je DOS uređaj, a NULL je 0 u C-u :) -=> MM <=-
pascal.270 bulaja,
│Pa u tome i jeste problem. I to naravno samo u situaciji koja │mene zanima, a to je: EXE program koji si napravio je pekalajtisan, │i potreban ti je jedan self-check svaki put kada se startuje, i to BEZ │koriscenja drugih fajlova - znaci cisto crc zapis u samom spakovanom │exe-u! Naravno, pitanje je da li to uopste moze da se izvede... └─── Ok, npr. možeš da iskoristiš nekoliko bajtova u copyright poruci koju PKLite stavlja na početak fajla. Kad se program startuje prvi put posle PKLite-ovanja provalićeš da ima originalni header ("PKLITE..."), onda lepo izračunaš CRC cele datoteke sem ta 4 bajta gde ćeš strpati CRC i upišeš ga u file. Posle prilikom svakog startovanja vidiš da je header izmenjen, pokupiš ta 4 bajta iz njega, izračunaš CRC datoteke i uporediš :). PKLite se neće buniti pošto i ovako ta poruke ničemu ne služi, usput inicijalizaciona procedura (ona koja prilikom prvog startovanja računa CRC i upisuje ga) može da upiše i neke druge podatke u sam header (npr. konfiguraciju i sl.) i rešio si problem :).
pascal.271 omega,
Ţ Ok, npr. mozes da iskoristis nekoliko bajtova u copyright poruci koju Ţ PKLite stavlja na pocetak fajla. Kad se program startuje prvi put posle Ok, probacu za neki dan pa cu da javim za rezultate...
pascal.272 dejanr,
>> > Da li program koji startujes pise po ekranu preko BIOS-a ili gada direktno >> > u video memoriju? To mozes da proveris tako sto ces da ga stavis u >> > dibager, pa da promatras odgovarajuci interapt. >> >> Iskreno, ne znam. Radilo se o PKZIP-u, ali je pitanje postavljeno u >> generalnom smislu. Izlaz PKZIP-a može da se "rediriguje", dakle ne gađa video memoriju direktno. Nećeš imati problema sa opisanim metodima. >> Sem toga, izvestaj o izlasku iz pozvanog programa je u DOSERROR >> varijabli, je'l tako ? Da, PKZIP vraća ERRORLEVEL
pascal.273 tbecej,
Da li neko ima YU fontove u BORLANDOVOM CHR font formatu, neka se javi na mail ili na telefon 021 811 558 i trazi Jovu. Hvala.
pascal.274 maksa,
>> Da li neko ima YU fontove u BORLANDOVOM CHR font formatu, neka Da li neko ume da kaže nešto više o ovom formatu, ili može da podeli neke CHR fontove ? Dobro bi došao neki 'običan' 9x16, ili tako nešto. One gotice i slični ne liče ni na šta u 640x480, a ovaj 8x8 je jako mali. :(
pascal.275 dtadic,
>> Da li neko ima YU fontove u BORLANDOVOM CHR font formatu, neka Zašto ih ne napraviš sam, sa nekim editorom CHR fontova?
pascal.277 jasicp,
> Nema sanse da je NULL. NUL: ti je DOS uredaj, a NULL je 0 u > C-u :) Imas pravo, zeznuo sam se. Bas cu da isteram ovo pisanje/ne pisanje na cistac.
pascal.278 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 03 Jul 1994 10:04:01 "P> Pa u tome i jeste problem. I to naravno samo u situaciji koja "P> mene zanima, a to je: EXE program koji si napravio je pekalajtisan, "P> i potreban ti je jedan self-check svaki put kada se startuje, i to BEZ "P> koriscenja drugih fajlova - znaci cisto crc zapis u samom spakovanom "P> exe-u! Naravno, pitanje je da li to uopste moze da se izvede... Moze. Imao sam negde TP unit predvidjen za to... Probac da ga pronadjem pa stavim. Cini se da e bio u ekom stranom casopisu..uh, treba to prekucavati... Broker ... BR> Da li si clan YUCCA? Ne? Pa sta cekas?! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.279 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 03 Jul 1994 10:07:02 "M> Nema sanse da je NULL. NUL: ti je DOS uredaj, a NULL je 0 u "M> C-u :) U oba slucaja, ako se pise preko DOS-a na ekranu se nista ne bi videlo. U jedniom slucaju ispis bi isao na NUL uredjaj a u drugom u NULL datoteku. broker ... BR> Pusenje ili zdravlje. Odlucite sami. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.280 omega,
Ţ Moze. Imao sam negde TP unit predvidjen za to... Probac da ga pronadjem Ţ pa stavim. Cini se da e bio u ekom stranom casopisu..uh, treba to Ţ prekucavati... Odlicno :) Nadam se samo da taj unit ne zavisi od verzije TP-a?
pascal.281 postmast,
From: Nenad.Radosavljevic@f114.n103.z38.setgate.setnet.co.yu (Nenad Radosavljevic) Subject: Unit Za Miltitaskere Date: Wed, 06 Jul 1994 21:51:00 Svojevremeno je neko ovde pominjao da ima unit za prepiznavanje i vrsenje funkcije pod nazivom "giving up time slice" za DesqView, Windows i jos neki software-a koji omogucavaju multasking. Tom prilikom je receno da je unit mali i da ce ga poslati UUEnsode-ovanog u ovu konferenciju. Molio bih doticnog da mi javi gde mogu da skinem unit ili da ga UUEncode-uje i posalje ovde. Unapred zahvalan! Pozdrav, Nenad R. ■ CMPQwk 1.30 #316 ■ We now return to our regularly scheduled flame-throwing. * Origin: SETNet:INFOSYS*informacije*NON-STOP*BG*011-414940* (38:103/114)
pascal.282 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Unit Za Miltitaskere (1/2) Date: Thu, 07 Jul 1994 00:29:01 NR> Svojevremeno je neko ovde pominjao da ima unit za prepiznavanje i NR> vrsenje funkcije pod nazivom "giving up time slice" za DesqView, NR> Windows i jos neki software-a koji omogucavaju multasking. Tom NR> prilikom je receno da je unit mali i da ce ga poslati UUEnsode-ovanog NR> u ovu konferenciju. Ja sam bio taj. Evo sad saljem. Podelio sam u dve poruke pa sastavi pre nego sto dekodujes. Koristi UUENCODE. broker begin 644 TPMUL310.ZIP M4$L#!`H````&`$$9#!GF1H>3X`8``/D.```,````355,05=!4D4N24Y4#0(! M$B,4%38W:(F:VSP%!A(31,7VEO>KNDU+%V33NFR#W@TKM^S.A@KW"&\0SY.. M]0X[=VU:MV=!2GU;AWF[+3L7I-FW<D%2A0K2IDL8XZM\#GT+-Z_<M&?1_&^4 M8U."C)DS9TP6Q"\39%"70EU.=0FR!?)FRJ1_)SV*E.H4XUUT:E&I5HL2R:]C M"&N8*XQW4K=TR\IU&Y8MR*ISRX)\ZI9MGNTI8_N*-TBC:>7.P=9$TQ`O<2T& MZ"Y+1EB795M&ZBXS7L<8K_%<_Q6NF^S;.U[W4+1EQ\`=X&4,\*?Z]NU:$'X? MI-6F:;&\?3+]I8S^)%&B3Z=DM[?/]`TP!UD7+DBG;^VX:S;M98SV%'I)9>IB M?KIO08HM4WS&>VX;/C>=+WO;/._ZKEN09Z@W&?Y2!G_$H&?#B"MAOQHF;B*_ M$[72_C2L/.@U5Z%5[ONM&?]I<\6QG$%E%:S;PB%R=:\E_XK03;>,=O%U@-5N MB+TJ7+)AK#,Q^U,X>^RV:?50[[1OK-7U[O.GW$LR:$N60H0W$>%M1'@G$=Y. MA/<3X2U%>$\1WE9;C#<MNMFP8Y8M>`_9?SJ7%Z=W*]L;9$^0)\;ER1WADVI> MN&5P3S$/[T<QI*I]LQAZP>6>YPURBI8:CMG5A$BO1'?*;D2,)82RM_5$<"<R M^XYJ!TU]9YC<\YQ96;V'TH:&:\4]\;Z>4^8BN1*&@U*W0)8U61R#%ASV:9O1 M*O\J3!-B-.EBC%A`0SKWJ7>NV&.NT'**_MXFF5N=FS76E78'L9T=`S:1)]?U MZ3\+O,1SIAX*;[^H6S1EHN3%8[$N-I[%/0CO#^MV3)S"=P<,_)DX;0`#YWJ# MM"/FQHNG/OA3/JW,U^*;+(OZ</+6.37I&VOBF3ZPGFJ9?7=\'O>\7\K0M,_0 M'U_<X5CPM@*L,I=XO=9QND3O.E2Y;\!ZG<LI,Q5K=]FI;-..260^-&S=.;ER M.G1JD&.^%_BJ[`9AR:$;>39-J%>JQ_;`7JNZUYP7:_V$#=)K6+H`MDRYF75% M5;*1](;3O>^B39/$*EZ#WG1N@T'=><6^(2N@-YQ4;1>%G_@ZWW"D9L,^ILG- M9FC5^$Q+!MC3>&;*Z5?U.JT9K9![@JBM=&%*7A9O&%=/'7CV*_ALU"M^+X'7 M<.#^'"D,3A47$OJ!)BDV#W[U+)#;;C-GZO:FW(RX[ZIT67/C+<&>+7[6E6CC MMG,9V[,/$A&2=UD[;9IZI>8]47C=<^98DZ\F=YN0ARG]^E2^8'8J:FU'J<$1 MBI661-%MHT"/`:2GT=+4E&?EI+F86(3:8TS9V&^I=GLB?[W\C6'*ZXQV"F,( MI;]#&.+#:`(SG9Y;A\\3FU$^Y4BWKI%=7`DL)X%A)+"^#+</SG4HK`OC*:0A MF;G-T'ZC<Y!H=OYR7FVYWEQ.4E6;_]$)1F]TH9$NB<2P7_`YRP,Q^DJV)L.W MD*KI9-5N]JC`<R=$%=HMA[*,>J-9Z1MZ/O=CM#<=@[WU:F>W&B_>37IGL?A8 MMNO!QK[3'L+)<3?7,,S5L>=YF#%S>PQG*<KJM664F6/L9>UE)U.W*$]HS4^L M:Z1I43!%IGC>)UU0'T$OZM@40])%%`-#\/`T9:1Q=FF2,%1&!Z$Y7;,FS11W M`CB!P>(DB-4T#F,F*9\K09KXN7`^-_M\$9KZHM=U$+>%UC5K9I5,C&"%M"93 MJ&'+X3SMU%?'Y[AU4<;?:I,P.EBU<%.325\VM0BGYP!&"4[>N5)<THHW&I24 M)P!W@9UH4KOKM*%/!(O/N1R)@X%B&%LH4:2]7EP>/Z:WU6!?;IY"Z'GH%[;/ M10-9H<H/HX_-LYL9]'L,*`B@3&Y%K%K.SY:=HWDY)^`RJ]1<+/(3DR[#NEDG M;`_#B7?;<@X=*=VD3E>FL6^FXG;0+F<U9?O&3C=<867=;5#.YX;P`Y!,#0BI M6OTB$503-(K'7!0X".F:18$;T/U$>1FYZ6B7*=H@FUP)0>>6&S?SVJT;$6-S M6>922GT,)RT7\PW%7KR@4A";&:09J;O-Z9%"3V79=E.D$]R43Z30&)K?[^U9 MOY'"RC<(/*K'INR-[2)R[5.,T/H8^\S_UM?V;AO&%9B?:MZ,')6&)&ABL4>M MX]89I*<1>XK?Q>\QL_0YAN9A</\R4UKH-1EC"Y+6`20\G+%/A\A6+<T,L&:, MHGFQ'T[R\<HVFYCNDX8++YJ+L*N3Q3:X;-3NC?,E5C^EXB3+3(/+-'K#R%P@ MNH5@I##Y)7O/F7&1^@MYV/6Q[R;38$#?929JQ&1H1DD[_\5TKZ/IB"Z.X73X M9CL'F7U0QE3D+G\JY1M(P3:^QF&6]"R%-E'S,2YTM&0D9`^CCDDZX8N@R29Q M0!]02P,$"@`&``8`01D,&5;IC(?R"```ZQ8```P```!-54Q!5T%212Y$3T-A M"GL'!AL&NPQ+`PD'"PD+"0<6!P@&!08'!@4V!Q87"PH&"`H+!085!`87!0H( M!085!@HE!@@'&`H'"@@+!PL$)00E!`H&!`44!0DT!P87"1HK_/S\^_O[#`LL M"RP+/`LL*ZP,`2(C%!4V-VB)FML\!082(Q3E]I;W1<4"!^9_@4,ES^<X_MGN M7RCQEZOUK`GW]DF>@I^=-\F5.WRTE\)M5[6R_,)&P9]$CS[)1_@Y?YR7FM?. M^],_[O=_9Q`U2JO].V_[[83Q#O4/9GBO5_6XZS_D/_)V+<M]_&:X'V)/(^%W MKGHU_@D'.Z#@!U`"1R8]U?M/L,XJS0)=\@%4<.,_-NKV6F^OU08^#Z^U<3Y7 MV;K/RQ,XP/R?;7E.V>X;:QE7)7[Y/A;3`]+RN,M>MJLY+]=^_/'6J%P1;O]] MR-3+RGJ@+8]'KCS+OU;,IL8#D"A[_%_VG[C>G`?(_[,LSYV[JKP^QHM]`Y3E M:>MN5(ZK\9R_/9=*^T;?@+#\F9;G<2/AV.//NVY8T6Z@+`\A%E"5'+&`7@P' M[5%_/$A^.\1G_'I;_UZS/BW/Z_*?1N,N+7^I4.=UUD"=OM'?GF,)%PWP&@?N M3/57K_J\Z+V?E>/C]:W*_9]YJ>P;XWG]SWDR7JY[S8>\WN%+V[VN>!_K7V7' M)_]?1^.<Z]=1S?_QE^.?EW]>Y6N!SN0#[9OR1/*JM+%VHX+RG^9U7DNX_QRL MO_9KUW(8_U\C_L\1[I?FK;2O-]0PQ.NSKG/Y7O^Q@W_&B]M;?\I*]9H/NK>[ ML6BMC?U8[Y#-P/GUG%"[<C4JC-?R$^ZS;@;K7]OV,M@R@X?%F^3%`2I.Z;QO MY''G_>.H$C]9U]TBH9G[Y\>I^;A2VO;J]I3C$"\VW^-'N.H$U<5N5>@WTWS9 M&:_^UXU\I]SW^1U?!*]KQ?99E#L_W#YO-/^ZCSKTEG/_I?-^V';=\7+LRZ\Z MNB7[#ZDU:KW<&UX9ORX]:O[&^W'Z%;A\#;<N=SF/<92G2:_;^DV5!7`?N+NQ ME_VJEOV_CPC7MA_^3OQ+T&K5O9KDFBOD=17;C9ONUV_HMDK0/_ZIJ>V_EVX; M=^`O6"7J(?(_:%L?8X@B?AJ,?F6/OR/<6S[47^?FVMBN$K`;SAFA(WLHR>NU M`CTX69#:IDL[,.Q[NT\\QQ@U>RA#%'Y+\DA=>H3;C]LS5-52B%XG639*PB4> MO=WE^;A=;*7UBWBM7=MJLRR/81RK]5E\,D^]+N$7I3Z%K$4?F9`KI(R/5@C0 M*,UQH]K6OTD9LI=)/J+]&>Y7??SZ;]JM-MXWP8MB>*\>5TB!OI,ZP%HX;B<5 M,&:?.EX.7=FA\_579\G^O`S]61:T&,TDN,?S04+6N5%A.2:>:6*9'SI]#?<V MB8B+J*Y?IO493B`)4:N.DW5AGM0C7&RQJUE5KTTQZ-]X#JPW0=3I7)HN^[2N M^Z6#N5?X^E;]S'\U[.XU<A^1!VCCK<X@-;$UZ/;^N#.*,@CC=5"@0]MGB'(- M(2O\UO:3LK9>:]>)U^OO5E)R8C][DIL7R\8D)'_L[S6OE90(:MU*^C'R<G&3 M)AZXD:U.AMV1U4<Z#_?&#!8+DM$Z]*#7TOH#CWRK/6+^2E6R8Y_@)ZXN!87X MM-YV*R]IW/Z(OVWN>V3NQ[GW^JU;.%9T&CG*N*7LU_$2XI@.N-:\-7=[XY5< M*_CJO))GRT_";>%8V5'V?`:-*Y[B"I!YY#J`F\B47$<=1$\:\[8A]Q[^*ZOB MU2819<]U\5S6:.(21<SW^/5GI\?X.7GAP[,<GA>>,ZOS[Z/RRQ8UT!%FKW)% MZMJYE7NMNKV@_&>K_V2ST^';#M$(UQV/]G-SPT:Y['/SO(?=ML>UVXZ9\R=Y MV:@/U&>Z=-L_$Z\&J?XV;K@!;]7H'>WE$FV.^,D],7K#</[YO[67(.YN^;@D M[I"#'4EV#2/Y"MW4LYCV:O/#?5HS:SZZ2^MU0M.LG7F915+)$Q8]-QC_,;5Z M6?AO?C'Y?+H@>(?[=ZUV-2X8JRIO[5GU[2H^G-<HW<B_U?V)[1<I$*)KFTSY MEI.M&T,7E=TZ-GB][T#J@]CE7]U='856S1S[*T\$/Y?OAO^+)]0JF!H\\]*\ M>$DUWM6;U>H)-PL&[%+W!4'KU9C/1UMKFU2NN/*)[A>CZ>$;++G;K,X0SM8F >> nastavak u sledecoj poruci ... Ovo ovde je Balkan, zemlja iz snova. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.283 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Unit Za Miltitaskere (2/2) Date: Thu, 07 Jul 1994 00:29:02 >> nastavak iz prethodne poruke MTN5E##S:%BQ)/)N*G`[W-1@I-&55RU#??M([D5T`%ZNAR0'9]V*J5M]#*-JT M%:XD+3>,9R.0/BG>E/EH.+V^EB9M>^.N0]<F'3`;`[P)AN!SF::R/@2K4`FA MI8+N0**>)JI`KF:^,GXF'U>8M]LZ/T3_\>]MV[>3S%PD_F`*HU$2+\?.@F)E M);5HYXV*:G5,:A4K0DB:S"HP#+.1C5<%S9"SHU9A%IMFZ89DTB6FFB@Q2W67 M2!2WV8^OJ,D/?N/>EN<Z>$/C2<.,UW-?P'\2@NCM?EA->_(HFK^=$/K?SZ;( M?Q.)%.WE+B1TM[Q+Q%#\,K!J!3K5MHLF&U"-LH2)6W:T:(3G.I6R,D\H,G/- M?&%J._)R8W6W/1R6\'#T0I^7<]AT.\M,Q;.O?#B];:%1K&<NB?6('T]0MT'E M>\H(#1/`)1A4PT0=6N\H2F\P&O=_.S$IJ=OAY5&QB<*<U\W[J7OXGYD9(RL# MY0I(ZHJ\)K=_=O2<Z#&F."<Q<B?3[!@YTXS,Z-'_C_Z4IS%*Y3]J`Y]*^$V] MJC_U87?'^+NSLPQ_OV,QII,8,;)^882\[)SFM<:,TFX5`)Y'DMI([8S<C*S< M_*Q,>4O:_8B]>Y%X<S)SHV7GYL3,S,X13+GJ.\X]B98=(SLGYB0WBZ-Y/`JS MUXW<?X=1DP%E+!:H@U#+`%/#R,^"D"T_6P**W51N?[*LJ)+#(6/)XUA6_=3% MJ.!!3+X:V[[NM06XYF"^P<EX+!*=&A[$$)VM[>]-S3KA=_7,WK]MQ(VX(;$` MC2`>A!$.E[8Y-C_1Z[J+_(5.YUBP&J,.0,9@^C`LP\K,A0EKW+*/:1LN7,H% M'#R]-D%&2]:,+QZ#W7GRY^.DXA;SB;?@3\[I74<BHR#"),J*10<"4$L#!`H` M```&`$$9#!D$]7$_V`0``/`)```,````355,05=!4D4N5%!5#P`2`R05-B<X M.6I[3)UN'PD&`1,TY?:6]ZE"K9KC6*4#A`J0Y$"2!$D6")Y%L-\LN"389P[( M'FR`X05TV],`T2]`?,=\=$"4`J;QV@'W"O37C+8;T'N`8_T4[06&W7&`?UCS M`)\\0X]I1O^XAI=R[\>>N;&K4<'(K`B;5F4:]&I0J466!T\@ZLU-J\&I6:=2 M+=HD^;F3RFFH"\IQJT6E@@8('R#!F2YCPK@^:H)KIYJ4:E:H14.H-<"'`.[& M$0Q;M!X$""*9,)H3=/K4:9%F[-D1$BTZ-:K5I$6O3,L^#?4@U:=0I#&X:*@, MJ0:=NG3JE;,?BL3OKG7`-9V0Z-.J0ID6*7X*M1*@I@V<-_9.D41K@6CD3)PV MHM6`DXEH"_-!G1*)\D3,HJSY`*27X:P(\$0OX#*UM]5=--L6WG]J`NJ;W#73 MI$.+!E`G@C?8D,`4T1`#3H4(14WJE`I=%-L?21]".@C!3WV`_M0J3ALZ$@,Z MB.VD7D%3UD>?FD2(!Z@B&T<*#`B/:;H!GI9*M6I0ID*K&C6BGODHS('^D*K5 MKU6A\+G1#YT.#!#&W*`'N',!Q(A[9TA$C?YE[(:JCD8_#GIH&%V3`"J;"![; M,0GNF$1W3)SCT(Y)1,<$45@PMD4L3QB6,#YC7<:.PH$<DT@\%SLFL1R38(Y) M-,<DG&,2SS$)Z)B$=$QB.B9!'9.HCDE8QR2N8Q+8,8D,3\3P__\-O^"8/'!, M1C@F01R3#([!W6/'8`L<DQR.20=/@]]P3%IX&KR(.]DY;(=C$L([>`3'I(%C MH,J(RXYUR1?L6'W<T8YAF1R3>@[?CH54,4Q%<9[W1\PP(X-GW"64R"R<-T<Y MG#;,YB%Y*IPK$"8P96X8_'#<@(TV?]F#>[H$IE\O$'8`Z`4NC;G=\?#$WZQG M/'SP?H!U%R;>9RS?3N>;`Z0WM`NT,[0LTP&N6WYY<_K#F^L3?I_P_!EEGZO4 MUAUU*NZ`*[[]/UV%@?=K%"B70/_KZF4;/C&VH1<)X>V;5[B.;$-Z_\"@,><# MUKGW@`KR/D96$S2\;]VK)BZ/6R.$[1<;)4`\[A+)WE78GZLV:+9,`O:Q9J=+ MP5@%WFU(^_]BIPH=&T6XV*_!YA"[*BOCM!\<S_,@W0)[C7O]`.)A#X,F#T"[ M([2[=EC&Q_Q/VU_UC,*L%HY4F-U`D2W.U#.WJY`GH&EZ736*B1KHV(H75,P! M%<M3/IB]@,BVH9U`G:Z+@#(\L5'_ZR7R)+",-G!,#7G_B=EW719O[A+D$5!E M\@^L6\#;U\OXOVX"LSOEF+4DSP+=CJ#;#733%)HV9+Y`;#]@3BB-RM<-^72* M_-!I$/'XA7CS1BN`VJ(<W=(/R:$?D#GT`PW/&)K1,/YM&2?QUW4?+'M,Z;D5 M`KP?3UHC?`F^P.PG)2AK1_"['S166D:XGVF&+[@^2S,\PO5+FN$)KN_1#*?5 M+YKA#:X/T0Q_</V$9O@!?F<L1390@D`57N"89'!,'D@44D(FDAY"A33Q31)( M)7)"(),@8B$9(Y)(':%,'GF'.]<'@8#$$$MDB'/2Q3F(\,Y)0.<@'LA$TD'& M)S6D0M)$*)(YL$P2N#(BX7$)SZ2&4$"">"911`+B:]Q&+"1Y/)-$4AZIY)F4 M$O%)+,\DF&'2S#/IYIB0W5!+`P0*````!@!!"0P9%]QO>V,"``"0!```"P`` M`$U53%1%4U0N4$%3#0(!$B,4%38W:(F:VSP%!A(31,7VEO>ARGU[5F[8MB"; MUF5+M>Q<NCL;*MPCO$$.?0LWK]RT9]'2!8ER;$J0,7/FE`DRJ$NA+J>Z!-D" M>;-E"U+*]IQCO.)W6;EVRY*)7_,?TR5,&,9U3!#..JW;MW*,-=JP;L^,K^H> M$T;UK@J7;%@Z[ANDF>UW6_8.O0QZ-ZS<,N"[C[#<2S)H2Y9"A#<1X6U$>"<1 MWDZ$]Q/A+45X3Q'>5H0WUA;F99-G#5,F398P@A=TKSIGG#FC=U`/K#Y&7==I MWB")OJ5J1?JM9"_R:27NGIOVK5N0.D%>*;K)7+_0LF?8KNS(/9)%<P%^V3NI M&>XT3Y\@D&JZ:,LD[RM@KJ4:Y4DJ:FZK:9:ZW9,L02)-BR(_F>)YGW1!_4S? M4,>F>)9EV<1=_^FP<]<`"_1-M.C4J':4I8PDO07QEEEC>C]MZS9-=^6D?-L6 MSI\[K5BV94^FN/I%W9))RX"BHCD3N=5R\:VP((*HF@!GS.XC#@VC]>;/7&$= M=->]-F,]@K<3OKO,\0CN.OIFU1ODU+IPX7!=5@C[N&P2!%6$?:3J5)T!IYF\ M@E;5U6B(AJE^LF_O.$[;G9$?BK.#\-X@ZD]Q>LS8^99L&:[IIU-E2$4Y(ZKW M2QE8`YS1[3I6/!']919"=1:/:CV+)S1':"5GXK2A%1C:TX[D&R^>9,29/O4. M^1Z+AHR+1P3]&KZO[@[".[5[*/'D5#I5+LDHPZIXD-@%_IA2XP%2J'J'9>,\ MXE-(PI=!')M=W%5=!GF/D?Q`%S*28TT7Y1-@C:+U^!2.+5WT:@-02P$""P`* M````!@!!&0P9YD:'D^`&``#Y#@``#``````````!`"``````````355,05=! M4D4N24Y44$L!`@L`"@`&``8`01D,&5;IC(?R"```ZQ8```P``````````0`@ M````"@<``$U53$%705)%+D1/0U!+`0(+``H````&`$$9#!D$]7$_V`0``/`) M```,````````````(````"80``!-54Q!5T%212Y44%502P$""P`*````!@!! M"0P9%]QO>V,"``"0!```"P`````````!`"`````H%0``355,5$535"Y005-0 52P4&``````0`!`#G````M!<````` ` end sum -r/size 64/8739 section (from "begin" to "end") sum -r/size 7153/6321 entire input file ... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.284 postmast,
From: Vasil.Bacovski@f108.n108.z38.setgate.setnet.co.yu (Vasil Bacovski) Subject: pascal Date: Wed, 06 Jul 1994 09:04:02 Tema: pascal Datum: 03 Jul 94 14:38 Citat: "Damir Tadic" --> All "T> From: "Damir Tadic" <dtadic@sezam.UUCP> "T> Newsgroups: yu.prog.pascal "T> Organization: SEZAM Beograd, 011 648-422 >> Da li neko ima YU fontove u BORLANDOVOM CHR font formatu, neka "T> "T> Zasto ih ne napravis sam, sa nekim editorom CHR fontova? Gde moze da se nadje takav editor? Pozdrav Vasil ... A black hole is where God divided by ZERO... * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.285 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sat, 09 Jul 1994 11:28:26 "P> Moze. Imao sam negde TP unit predvidjen za to... Probac da ga "P> pronadjem pa stavim. Cini se da e bio u ekom stranom casopisu..uh, "P> treba to prekucavati... "P> "P> Odlicno :) Nadam se samo da taj unit ne zavisi od verzije TP-a? Ne bi trebalo, ako je u izvornom kodu, sem TP7.0 posto su u njemu uvedene neke novine koje programeri obilato koriste... Broker p.s. a kakva je rutina bila u pitanju, zaboravih... ... BR> Sto ne uradis danas - moraces sutra. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.286 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Mon, 11 Jul 1994 08:38:43 GMT Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: : U oba slucaja, ako se pise preko DOS-a na ekranu se nista ne bi : videlo. U jedniom slucaju ispis bi isao na NUL uredjaj a u drugom u NULL : datoteku. Da, tacno, ali u onom drugom slucaju, ne bi postigao zeljeni efekat, zar ne? :) -=> MM <=-
pascal.287 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: User Interface Date: Sun, 10 Jul 1994 13:58:00 Postoji li neka biblioteka funkcija namenjana pravljenju korisnickog interfejsa? Ne mislim na menije, vec na zamene za ReadLn, WriteLn i slicne funkcije. Nesto sto formatira unos i ispis podataka i tako to. broker * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.288 nikac,
Ajde da me neko prosvetli :) U svom progrsmu preuzmem npr. int 08h tj. sa setintvec postavim neku moju interupt proceduru. E sad, iz tog mog programa pozovem za exec preko command.com -a neki drugi program. Sta se desava sa preuzetim interuptima za vreme izvrsavanja ovog podprocesa? Da li ce se izvrsavati moje interupt procedure jer je moj program u memoriji, ili ne?
pascal.289 omega,
Ţ Ja sam bio taj. Evo sad saljem. Podelio sam u dve poruke pa sastavi Ţ pre nego sto dekodujes. Koristi UUENCODE. Pitam u pogresnoj conf, ali gde sa nadjem taj UUENCODE. Sta je to uopste?
pascal.290 omega,
Ţ p.s. a kakva je rutina bila u pitanju, zaboravih... Rutina za crc proveru exe programa pisanog u TP-u...
pascal.291 omega,
Ţ Postoji li neka biblioteka funkcija namenjana pravljenju Ţ korisnickog interfejsa? Ne mislim na menije, vec na zamene za Ţ ReadLn, WriteLn i slicne funkcije. Nesto sto formatira unos Ţ i ispis podataka i tako to. U kom smislu zamene? Potrebno ti je nesto kao writeln a nije writeln!?
pascal.292 dejanr,
>> Pitam u pogresnoj conf, ali gde sa nadjem taj UUENCODE. U direktorijumu COM, zove se UUEXE525.ZIP
pascal.293 vitez.koja,
#=> moju interupt proceduru. E sad, iz tog mog programa #=> pozovem za exec preko command.com -a neki drugi program. #=> Sta se desava sa preuzetim interuptima za vreme #=> izvrsavanja ovog podprocesa? Da li ce se izvrsavati moje #=> interupt procedure jer je moj program u memoriji, ili #=> ne? Interapt procedure (tvoje) će se izvršavati ukoliko taj novostartovani program ne menja interapt vektore. Međutim, sve što možeš da postigneš na ovaj način je duboko smrzavanje računara. Pretpostavljam da pokušavaš da izvedeš iskakanje programa na pritisak tastera (popup)... To se ne radi tako.
pascal.294 evlad,
>> U svom progrsmu preuzmem npr. int 08h tj. sa setintvec postavim neku >> moju interupt proceduru. E sad, iz tog mog programa pozovem za exec >> preko command.com -a neki drugi program. Sta se desava sa preuzetim >> interuptima za vreme izvrsavanja ovog podprocesa? Da li ce se izvrsavati >> moje interupt procedure jer je moj program u memoriji, ili ne? 1) Zavisi da li si upotrebio funkciju SwapVectors. Iz turbo pascal-ovog helpa: " Swaps the SaveIntXX pointers in the System unit with the current vectors. " Spiasak vektora koje paskal u sebi preusmerava imas u helpu, so, evo ti primera iz helpa kako treba pozvati novi komandni procesor. {$M 8192,0,0} uses Dos; var Command: string[79]; begin Write('Enter DOS command: '); ReadLn(Command); if Command <> '' then Command := '/C ' + Command; SwapVectors; Exec(GetEnv('COMSPEC'), Command); SwapVectors; if DosError <> 0 then WriteLn('Could not execute COMMAND.COM'); end. O ovom slucaju interapt procedure se nece izvrsavati. (probano sa interruptom 1Bh, u aplikaciji ne radi Ctrl-Break dok u shell-u radi). 2) Kombinaciju za izostavljanje funkcija SwapVectors nisam probao. 3) Ako mislis da pravis neki rezidentan program tada treba koristiti funkciju Keep.
pascal.295 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 12 Jul 1994 01:43:39 MM> : U oba slucaja, ako se pise preko DOS-a na ekranu se nista ne bi MM> : videlo. U jedniom slucaju ispis bi isao na NUL uredjaj a u drugom u MM> NULL : datoteku. MM> MM> Da, tacno, ali u onom drugom slucaju, ne bi postigao MM> zeljeni efekat, zar ne? :) Decku je problem bio u tome sto je u oba slucaja ispis i dalje isao na ekran, tj. ispis nije uopste isao preko BIOS-a. ... BR> Danas sam mladji no sto cu ikada biti. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.296 postmast,
From: Nenad.Radosavljevic@f114.n103.z38.setgate.setnet.co.yu (Nenad Radosavljevic) Subject: User Interface Date: Tue, 12 Jul 1994 08:56:01 PS│Postoji li neka biblioteka funkcija namenjana pravljenju ..│korisnickog interfejsa? Ne mislim na menije, vec na zamene za ..│ReadLn, WriteLn i slicne funkcije. Nesto sto formatira unos ..│i ispis podataka i tako to. ..│ Imas F/X Utils, na Fon File Server-u, koji ima dosta dobrih unita i za formatiranje "upisa" i "ispisa" za kontrolu misa, Fossil rutine itd. Pozdrav, Nenad R. ■ CMPQwk 1.30 #316 ■ Mnoge devojke vole da pokazuju noge, a i sire. * Origin: SETNet:INFOSYS*informacije*NON-STOP*BG*011-414940* (38:103/114)
pascal.297 dtadic,
>> "T> Zasto ih ne napravis sam, sa nekim editorom CHR fontova? >> Gde moze da se nadje takav editor? Po beogradskim BBS-ovima se mogu naći dva: - SFE.ARJ - BGIFONT.ARJ
pascal.298 igors,
Arhiva IMENIK.ZIP sadrzi program cija je namena servisiranje baze podataka sa informacijama o vasim prijateljima i poslovnim partnerima tj. neka vrsta elektronskog imenika i adresara. Program je pisan u TP 6.0 uz koristenje dve eksterne biblioteke, GUILIB koju je napisao Mladen Perkovic i Sasa Cuturic (namenjena je kreiranju elemenata korisnickog interfejsa) i TPDB (Turbo Pascal Tools for Data Base) koja se bavi kontolom DBase kompatibilnih fajlova koriscenih u programu. Program IMENIK.EXE je stoga demonstracija mogucnosti koju nude ove dve biblioteke. Posle raspakivanja arhive prvo startujte IMENINS.EXE (setup program) gde morate podesiti parametre vazne za rad. Najvazniji su PATHs (tj. direktorijumi u kojima ce se nalaziti *.DBF, *.HLP, *.CFG, *.RSC fajlovi koji su neophodni za rad programa). Ostali parametri su manje vazni i podesavaju se opciono. Program sam poslao na SEZAM na molbu njegovog autora Mladena Perkovica. P.S. GUILIB biblioteka ce nakon finalne dorade biti poslana na SEZAM u dogledno vreme. TPDB je uzeta sa SEZAMA i verovatno se nalazi pod imenom TPDB314.ZIP u PASCAL direktorijumu. imenik.zip
pascal.299 isekulovic,
>> U svom progrsmu preuzmem npr. int 08h tj. sa setintvec postavim neku >> moju interupt proceduru. E sad, iz tog mog programa pozovem za exec >> preko command.com -a neki drugi program. Sta se desava sa preuzetim >> interuptima za vreme izvrsavanja ovog podprocesa? Da li ce se izvrsavati >> moje interupt procedure jer je moj program u memoriji, ili ne? Zbog specifičnosti interapta 08h program iako menja interapt proceduru mora da pozove staru da ne bi došlo do neželjenih posledica, najverovatnije zbingovanja računara, tako da će se tvoja procedura izvršavati i posle startovanja drugog programa▀ Ovo sam i praktično proverio kada sam pravio auto-dl za mte. žak sam koristio i SwapVectors pre i posle exec procedure jer pošto promenim proceduru na int 08h ona ne može da je dira da ne bi napravila haos, a ostale vektore sredi ok.
pascal.300 msmiljanic,
Ukratko: do 4 igraca, boje, ton, zvuk, brzina itd. sve se podesava. One koji su skinuli neku od prethodne 2 verzije iz drugih konferencija nek ne mrzi da skinu i ovu jer je doterana i finalna. Program je napisan u TP-u i interesantan je kao primer da Crt unit radi i sa nestandardnim modovima i fontovima. yamb.zip
pascal.301 postmast,
From: Nenad.Radosavljevic@f114.n103.z38.setgate.setnet.co.yu (Nenad Radosavljevic) Subject: Pascal Date: Fri, 15 Jul 1994 08:44:00 ..│Ajde da me neko prosvetli :) ..│U svom progrsmu preuzmem npr. int 08h tj. sa setintvec postavim neku ..│moju interupt proceduru. E sad, iz tog mog programa pozovem za exec ..│preko command.com -a neki drugi program. Sta se desava sa preuzetim ..│interuptima za vreme izvrsavanja ovog podprocesa? Da li ce se izvrsav ..│moje interupt procedure jer je moj program u memoriji, ili ne? Ovako kao sto si napisao trebalo bi da se izvrsavaju ukoliko taj program koji je pozvan preko Comman.com-a --ne menja-- interupt vector tabelu (koliko ja znam sam command.com ne menja tabelu). Medjutim postoji dva ogranicenja: 1. U tvojim interrupt rutinama --ne sme-- se pozivati ni jedan DOS servis, jer ce (zbog problema reentrant-osti) sistem "puci"). 2. Na samom pocetku tvoje interrupt rutine (pogotovo za one rutine koje se "kace" na Int $08h i $09h) moras pozvati starog nosioca int vektora i to ne iz pascala vec preko masinske direktive. Primer: Vektor stare rutine si sa getintvec($08,oldvec) snimio u oldvec promenljivu (tipa pointer): Proceure CallOldInt(Sub : Pointer); begin InLine ($9C/$5E/$06); {* PUSHF *} {* call dword ptr [bp+6] *} end; a onda u tojoj inerrupt proceduri: Procedure My interrupt(.....); Interrupt; ... ... begin CallOldInt(oldvec); ... ... ... ... end; Nadam se da sam pomogao. Ako ti treba jos objasnjenja pisi - ja cu biti u Bgd-u od 24.07. pa ocekuj odgovor od tog datuma pa na dalje. Pozdrav, Nenad R. ■ CMPQwk 1.30 #316 ■ My other computer is a VAX. * Origin: SETNet:INFOSYS*informacije*NON-STOP*BG*011-414940* (38:103/114)
pascal.302 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 15 Jul 1994 10:22:19 "P> From: "Ivan Petrovic" <omega@sezam.UUCP> "P> Pitam u pogresnoj conf, ali gde sa nadjem taj UUENCODE. Sta je to "P> uopste? Ako ti nije teko na pocetku poruke navdi za koga je, posto SEZAM, kada je posalje u BInt napise da je za All. Jedva sam skontao da je za mene. UUENCODE i UUDECODE je par programa namenjenih za konvertovanje binarnih datoteka u ASCII i ponovno konvertovanje iz ASCII u originilnu binarnu datoteku. Na ovaj nacin se datoteke mogu poslati u obliku poruke, sto je vrlo zgodno kada se radi sa mrezama (naravno, administratori ne vole predugacke poruke. Pogledaj, siguran sam da na SEZAM-u imas ovaj par programa. broker@setgate.setnet.co.yu ... BR> Sta sam to popio? - rece Sokrat. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.303 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 15 Jul 1994 10:22:19 "P> p.s. a kakva je rutina bila u pitanju, zaboravih... "P> "P> Rutina za crc proveru exe programa pisanog u TP-u... E da. Bacio sam se u prelistavanje literature i nasao u jednom casopisu par rutina za menjanje izvrsnog koda, sto bi moglo da se primeni i na cuvanje CRC-a. Znam da sam negde imao i TPU koji je bas bio namenjen CRC proveri i jos uvek prevrcem casopise da ga nadjem... broker ... Svuda muskarci i zene - a nigde ljudi. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.304 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 15 Jul 1994 10:22:20 "P> From: "Ivan Petrovic" <omega@sezam.UUCP> "P> Postoji li neka biblioteka funkcija namenjana pravljenju "P> korisnickog interfejsa? Ne mislim na menije, vec na zamene za "P> ReadLn, WriteLn i slicne funkcije. Nesto sto formatira unos "P> i ispis podataka i tako to. "P> "P> U kom smislu zamene? Potrebno ti je nesto kao writeln a nije "P> writeln!? Upravo tako. Treba mi nesto kao Clipper GET i SAY. Ako to ne nadjem sescu da sam napravim, ali bolje je da se prvo raspitam, zar ne? :) broker ... BR> Ups. Opet ostadoh bez tagova... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.305 omega,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) :) > Upravo tako. Treba mi nesto kao Clipper GET i SAY. Ako to ne nadjem > sescu da sam napravim, ali bolje je da se prvo raspitam, zar ne? :) Ne znam kako to radi Clipper, ali ja sam pre nekoliko nedelja okacio print proceduru koja pise direktno u video memoriju. Ali ne radi bas kao writeln, vec se daju koordinate. Da li to pomaze?
pascal.306 mmitrovic,
Ů█▀█Ţ InLine ($9C/$5E/$06); š* PUSHF *ć Inline je stvar prošlost. Koristi asm direktivu.
pascal.307 kriss,
˙˙>> nastavak iz prethodne poruke ˙˙ ˙˙ MTN5E##S:%BQ)/)N*G`[W-1@I-&55RU#??M([D5T`%ZNAR0'9]V*J5M]#*-JT Jel nije teško onom ko ovo sve dešifruje i sredi da zakači ovde običan name.TPU i šta već ide uz to. Hvala.
pascal.308 postmast,
From: anubis@hobbiton.CO.YU Subject: Re: pascal Date: Tue, 26 Jul 1994 00:45:46 GMT Ivan Petrovic (omega@sezam.UUCP) wrote: >>> Ne znam kako to radi Clipper, ali ja sam pre nekoliko nedelja okacio >>> print proceduru koja pise direktno u video memoriju. Ali ne radi bas >>> kao writeln, vec se daju koordinate. Da li to pomaze? Imam ja svoju funkciju InputXY (x,y,'Text') Moguca su razna editovanja samog unesenog texta.
pascal.309 inesic,
Patim se sa nekim kalendarom. Treba mi formula za izračunavanje broja dana od 1. jan. 1. god. do tekućeg (zadatog) datuma. Isto tako trebala bi mi formula za obrnutu stvar. Ako je neko svojevremeno imao HP-71B, i ako se seća onih francuskih diskova, to su bile funkcije day(dat:longInt):longInt gde je dat neki intidžer u formatu ggggmmdd, a rezultat je broj dana proteklih od "nulte" godeine datum(d:longInt):longInt gde je d broj dana proteklih od "nulte" godine, a rezultat je datum u gorenavedenom intidžer formatu Meni lično ne treba funkcija koja će vraćati brojeve u ovim formatima, treba mi samo formula po kojoj se to računa. Probao sam nešto da skrpim ali mi nije išlo. Što je najgore, pozajmio sam od druga HP-71B, tako da uvek znam kad pogrešim, a pogrešim uvek. :( Dobijam sve neke približne brojeve. E da, sad sam se setio da je nekada, u uputstvima za stare pakardove kalkulatore sa RPNom, bio dat program za izračunavanje bioritma. Tu je, imeđu ostalog bila data funkcija day(). Ako neko još ima, i nostalgično čuva makinu, ako je nekom ostala knjižica "Aplications on your HP-33" (davnih li vremena) ili neka slična nek mi časkom prekuca onaj deo programa koji to računa. Unapred ću se zahvaliti svakom dobronamernom. inesic
pascal.310 djelovic,
> Patim se sa nekim kalendarom. Treba mi formula za izračunavanje > broja dana od 1. jan. 1. god. do tekućeg (zadatog) datuma. Dejanr je svojevremeno napisao veoma lep tekst na tu temu, pogledaj u starijim računarima ili se uputi odmah u /RSOFT direktorijum.
pascal.311 andrejt,
Svugde kaze (u prevodu) : JMP FFFF : 0 resetuje comp ako je na adr. 40h : 72h upisana vrednost 1234h, medjutim ne uspeva bas najbolje.Ako neko zna nesto nek mi kaze.
pascal.312 andrejt,
Mrzim reply na sopstvene porue ali jedno objasnjenje doticna jmp ff... nece iz pascala (6.0) preko direktive asm ...
pascal.313 dejanr,
>> Patim se sa nekim kalendarom. Treba mi formula za izračunavanje >> broja dana od 1. jan. 1. god. do tekućeg (zadatog) datuma. Isto >> tako trebala bi mi formula za obrnutu stvar. Ha! Imam gotovo rešenje za tebe :) Pogledaj tekst iz "Računara 94", zove se "Sve po kalendaru", takve stvari vrlo detaljno objašnjene. žak nije od 1.1.1. nego i od ranije :) Ako ti trebaju samo programi (procedure), imaš ih u direktorijum RSOFT, fajl R094KAL.ZIP.
pascal.314 dejanr,
PS Procedure možeš bezbedno koristititi za "razumne" datume iz prethodnih par vekova, ali treba da budeš oprezan sa datumima od pre pet-šest vekova zbog promene kalendara (mada procedure podržavaju i Julijanski kalendar. Sa datumima sa samog početka nove ere treba da budeš još oprezniji, jer je tada vladao haos sa kalendarima. Sa datumima od pre nove ere... najbolje da ih i ne računaš :) O svemu tome piše u rečenom tekstu.
pascal.315 evlad,
>> Mrzim reply na sopstvene porue ali jedno objasnjenje >> doticna jmp ff... nece iz pascala (6.0) preko direktive >> asm ... Probaj: Program Ctrl_Alt_Del; Uses Crt; Var Key : Char; Procedure RESET; Begin (* Load Reset_Flag [0000:0472] with 1234H *) Mem [$0000:$0472] := $34; Mem [$0000:$0473] := $12; (* JMP FFFF:0000 *) InLine ($EA/$00/$00/$FF/$FF); End; Begin (* MAIN *) ClrScr; GotoXY(27,12); Write ('Reboot System Now <Y/N> ?'); Key := ReadKey; if UpCase(Key) = 'Y' then RESET; ClrScr; Write('Have a nice day.'); end. (* MAIN *) Kod mene radi.
pascal.316 omega,
Ţ PS Procedure mozes bezbedno koristititi za "razumne" datume iz prethodnih Ţ par vekova, ali treba da budes oprezan sa datumima od pre pet-sest Kad smo vec kod toga, da li se zna kada je sve menjano vreme u ovom veku? (Mislim na to sto je sada vremenska razlika izmedju nas i GMT 1 cas).
pascal.317 andrejt,
__>>> Mrzim reply na sopstvene porue ali jedno objasnjenje __>>> doticna jmp ff... nece iz pascala (6.0) preko direktive __>>> asm ... __> __>Probaj: __> __>Program Ctrl_Alt_Del; __> ... Da radi.Ali sam u medjuvremenu i sam uspeo, mislim makar malo jednostavnije (zbog asm ... end; umesto inline(...);) Dakle : Var P : Pointer; Begin MemW[$42:$72] := $1234; P := Ptr($FFFf,0); ASM JMP P End; End. Hvala ipak.
pascal.318 dejanr,
>> Kad smo vec kod toga, da li se zna kada je sve menjano vreme u ovom >> veku? (Mislim na to sto je sada vremenska razlika izmedju nas i GMT 1 >> cas). Razlika je zbog toga što je London zapadnije od nas za jednu časovnu zonu, a ne zato što su oni menjali vreme a mi nismo, ili obrnuto. Istina je da se povremeno vreme pomeri za neku sekundu da bi se uskladilo sa kretanjem nebeskih tela, ali to se radi sinhronizovano u čitavom svetu.
pascal.319 omega,
Ţ Razlika je zbog toga sto je London zapadnije od nas za jednu casovnu Ţ zonu, a ne zato sto su oni menjali vreme a mi nismo, ili obrnuto. Ma to je ok, ali izgleda da ja nisam najbolje objasnio. Naime, mi pomeramo vreme u martu i septembru za sat vremena. Ali da li to vazi/ da li je vazilo za njih uvek?
pascal.320 evlad,
>> Hvala ipak. U svako doba, ako nesto treba moze ovde, moze mail. Sto znam, pomoci cu.
pascal.321 dejanr,
>> Ma to je ok, ali izgleda da ja nisam najbolje objasnio. Naime, mi >> pomeramo vreme u martu i septembru za sat vremena. Ali da li to vazi/ >> da li je vazilo za njih uvek? Uvek svakako nije, ali su to uveli pre nas. Međutim, za ovu raspravu je to sasvim nebitno, pošto smo govorili o programu koji računa referentni broj dana u okviru kalendara, dakle na primer koliko je dana prošlo između 12. januara 1905 i 30. jula 1994. Tu su sati uglavnom nebitni.
pascal.323 omega,
Ţ Uvek svakako nije, ali su to uveli pre nas. Pa to me i zanima. Od kog do kog trenutka je postojala neuskladjenost (aada valjda postoji - razlika je 1 cas)? Ţ Medutim, za ovu raspravu je to sasvim nebitno, Pa pitanje i nije vezano za raspravu, nego samo za sebe. Ja sam se samo nadovezao.
pascal.324 todorp,
Subject: Re: unit za multitaskere > Jel nije tesko onom ko ovo sve desifruje i sredi da zakaci ovde obican > name.TPU i sta vec ide uz to. Hvala. Evo ide :) tpmul310.arj
pascal.325 mmitrovic,
Ů█▀█Ţ pomeramo vreme u martu i septembru za sat vremena. Ali da li to vazi/ Mislim da oni pomeraju časovnike u aprilu i oktobru. Reference: Sky News's clock. Neko vreme nakon što mi pomerimo satove englezi imaju isto vreme kao mi.
pascal.326 omega,
Da li neko zna na koji nacin se pisu asm delovi za protected mod u BP-u, posto nijedan koji radi za realni mod ne funkcionise :( I drugo, zasto SetMemTop ne postoji u MEMORY.TPP, vec samo u MEMORY.TPU? Mozda postoji neki njegov ekvivalent za protected mod?
pascal.327 omega,
E sad je vec ovo pocelo da me nervira :(( BP ne podnosi cak ni writeln(mem[$B800:0]) u protected modu. Zasto!? Izgleda da je takav problem i sa onim asemblerskim delovima - naime i oni rade direktno sa memorijom...
pascal.328 bearboy,
> E sad je vec ovo pocelo da me nervira :(( BP ne podnosi cak ni > writeln(mem[$B800:0]) u protected modu. Zasto!? Izgleda da je > takav problem i sa onim asemblerskim delovima - naime i oni > rade direktno sa memorijom... Zato što u slučaju da se radi u protected modu ono $B800 gubi smisao. Adresa video memorije za tvoj program nije više ono $B000, kao što nijedna adresa nije ona koja je bila (mislim na ostale adaptere u 640k-1m).
pascal.329 omega,
Ţ Zato sto u slucaju da se radi u protected modu ono $B800 gubi smisao. Ko trazi, taj i nadje. Umesto writeln(mem[$B800:0]) treba writeln(mem[SegB800:0]); i to je to! Moram da priznam da pored ogromnog nedostatka (nema step by step :(( ), u protected modu neverovatno efikasno pronalazim bagove za koje obican (real) uopste i nije cuo :) Samo se pojavi ono Runtime Error 216 i sve mi je jasno :)) Uskoro stize Chat Off-Line Reader za dpmi, pa cete da vidite kako to izgleda i u stvarnosti ;) E da, za distribuiranje dpmi programa iz BP7, potrebni su valjda RTM.EXE i onaj OVL. Da li to moze da se ugradi u exe ili nekako izbegne?
pascal.330 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: transfer Date: Sun, 24 Jul 1994 09:58:30 NS> Da te covek lepo pita sta sam ja prekrsio ovom porukom? Da nisam zbog NS> glagola "smrdeti" i "usmredwti", epiteta "glupav" (koji se odnosi na NS> rutinu) zaradio LockOut? E bas bih voleo da to vidim, pa da stvarno Ovim si vredjao druge a to ovde nije dozvoljeno. > Sto se tice tema u konferenciji, slobodno pokreni neku koja ce > ti biti zanimljiva i onda ce biti razgovora i na tu temu. Trenutno su > ove teme zanimljive. NS> Ako hocete predloge, pogledacu sta me vec interesuje, ali misljenja NS> sam da BI MODERATORI MOGLI DA SE AKTIVIRAJU I DA ANIMIRAJU OSTALE NS> REDOVNE KORISNIKE, da pisu o necemu, da se interesuju! Moderatori za to nisu zaduzeni i od njih se to ne moze zahtevati. Ako te nesto zanima u vezi teme, slobodno pitaj i siguran sam da ce ljudi pokusati da ti odgovore. ... BR> Sacekaj samo malo, da napunim bacac plamena. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.331 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: UNITI Date: Mon, 25 Jul 1994 01:33:49 > Kad smo vec kod unita - kako deklarisati promenljivu koja ce >se koristiti >u drugom unitu i obratno ? > Tj. UNIT A - VAR B > UNIT B - VAR A > Gde A koristi A, a B, B. PS> Ja to radim ovako: PS> Unit A - definicija tipova, konstanti i promenljivih PS> Unit B - koristi unit A PS> unit C - koristi unit A Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. Eh, moja Modulico... ... Kukavica u opasnosti ne misli mozgom vec nogama. * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.332 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Wed, 27 Jul 1994 11:21:50 > Upravo tako. Treba mi nesto kao Clipper GET i SAY. Ako to ne nadjem > sescu da sam napravim, ali bolje je da se prvo raspitam, zar ne? :) "P> "P> Ne znam kako to radi Clipper, ali ja sam pre nekoliko nedelja okacio "P> print proceduru koja pise direktno u video memoriju. Ali ne radi bas "P> kao writeln, vec se daju koordinate. Da li to pomaze? Nazalost, to je okaceno samo na Sezam, pa ne mogu da vidim. U Clipperu ako das komandu @1,1SAY 'Unesi cenu:' GET cena PICTURE "99,999,999.99" Onda ce na koordinati 1,1 otvoriti polje duzine 13 znakova, dozvoliti unosenje samo brojeva i ukucane brojeve rasporediti automatski dodajuci zareze za hiljade i decimanu tacku... Vec sam digao ruke od trazenja i pripremam teren da sam napisem tako nesto. ... Necu da budem clan nikakve mafije. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.333 inesic,
> @1,1SAY 'Unesi cenu:' GET cena PICTURE "99,999,999.99" > > Onda ce na koordinati 1,1 otvoriti polje duzine 13 znakova, > dozvoliti unosenje samo brojeva i ukucane brojeve rasporediti > automatski dodajuci zareze za hiljade i decimanu tacku... > > Vec sam digao ruke od trazenja i pripremam teren da sam napisem > tako nesto. Ajd da ne pišeš sve from d veri bigining, ja sam nešto takvo već napisao, pa ti šaljem sors. Nemoj da te uplaši što sam ti poslao pet junita, samo je jedan važan - u ostalima su neke funkcije koje fieldMan (junit koji pravi polje na datom mestu) koristi. Ako praviš neku aplikaciju u kojoj se koristi prva tvoja citirana linija, verovatno će ti biti od koristi funkcija slovima(), kojoj daš broj, a ona ti vrati string u kome piše slovima koliko je to dinara. Izgubio sam jedan dan dva sata dok nisam potrefio sve rodove brojeva, jedninu, nekolicinu i množinu, pa će mi biti drago da još neko nađe da je korisna. Ono što tebi treba je procedura makeField() kojoj se prosledi rekord tipa field u kom piše i gde i kojom bojom, i da li je polje alfa, da li je intidžer, floating point, ili flag, pa u kom formatu, skoro da nema šta nema. Ako ti se učini zgodnim, tj. ako ti radi posao kad ga prekrojiš na svoju meru, mogu da ti pošaljem junit kalendarske tematike koji ima funkciju koja, koristeći makeField(), radi unos datuma i pri tom kontroliše njegovu ispravnost. Primetio sam bug (treba da ga ispravim, ali me mrzelo jer nije ništa strašno). Kad unosiš alfa polje, onda Ctrl-left i Ctrl-right rade reč levo i reč desno. To se radi malo traljavo, jer mi je, kao dilimiter za reči, stavljen samo chr(32). Možeš da staviš bilo šta još u skup. Kad pritisneš Ctrl-Backspace on bi trebao da obriše sve što je uneto u polje i da vrati kursor na početak. Funkcija uradi samo ono prvo, pa moraš sam da pritiskaš home. Uostalom, eto ti nedokumentovan sors, pa ga prepravi po svojoj meri, radi sa njim šta god hoćeš. Ne da je PD, ne da ne tražim da mi se pominje ime pri korišćenju, nego nema ni readOnly flag setovan, pa je free to delete, ako ti se ne sviđa. :) Ako ti šta još u vezi ovog treba, redovno pratim ovu konferenciju, a može i u mail. inesic field.zip
pascal.334 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: UNITI Date: Mon, 25 Jul 1994 01:33:49 > Kad smo vec kod unita - kako deklarisati promenljivu koja ce >se koristiti >u drugom unitu i obratno ? > Tj. UNIT A - VAR B > UNIT B - VAR A > Gde A koristi A, a B, B. PS> Ja to radim ovako: PS> Unit A - definicija tipova, konstanti i promenljivih PS> Unit B - koristi unit A PS> unit C - koristi unit A Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. Eh, moja Modulico... ... Kukavica u opasnosti ne misli mozgom vec nogama. * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.335 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Wed, 27 Jul 1994 11:21:50 > Upravo tako. Treba mi nesto kao Clipper GET i SAY. Ako to ne nadjem > sescu da sam napravim, ali bolje je da se prvo raspitam, zar ne? :) "P> "P> Ne znam kako to radi Clipper, ali ja sam pre nekoliko nedelja okacio "P> print proceduru koja pise direktno u video memoriju. Ali ne radi bas "P> kao writeln, vec se daju koordinate. Da li to pomaze? Nazalost, to je okaceno samo na Sezam, pa ne mogu da vidim. U Clipperu ako das komandu @1,1SAY 'Unesi cenu:' GET cena PICTURE "99,999,999.99" Onda ce na koordinati 1,1 otvoriti polje duzine 13 znakova, dozvoliti unosenje samo brojeva i ukucane brojeve rasporediti automatski dodajuci zareze za hiljade i decimanu tacku... Vec sam digao ruke od trazenja i pripremam teren da sam napisem tako nesto. ... Necu da budem clan nikakve mafije. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.336 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: UNITI Date: Fri, 29 Jul 1994 17:54:00 > PS> Ja to radim ovako: > PS> Unit A - definicija tipova, konstanti i promenljivih > PS> Unit B - koristi unit A > PS> unit C - koristi unit A > Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. >Eh, moja Modulico... Ja sam nasao da je ovaj nacin mnogo zgodniji. Sve definicije bitne za ceo program se nalaze na jednom mestu, pregledno slozene tako da se covek vrlo lako snadje. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.337 postmast,
From: stomic@hobbiton.CO.YU (Slobodan Tomic) Subject: Re: UNITI Date: Sun, 31 Jul 1994 08:01:38 GMT Attila Csipa (Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu) wrote: $ > Kad smo vec kod unita - kako deklarisati promenljivu koja ce $ >se koristiti $ >u drugom unitu i obratno ? $ $ > Tj. UNIT A - VAR B $ > UNIT B - VAR A $ $ > Gde A koristi A, a B, B. $ Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. Eh, moja $ Modulico... :) Definises promenljivu u Interface delu i ona je vidljiva za sve koji koriste taj unit. BTW, u Turbo Pascal-u mozes da referenciras promenljivu kao i u Moduli-2, tj. ImeUnita.ImePromenljive, u slucaju da koristis ista imena u razlicitim unitima. -- Slobodan Tomic (stomic@hobbiton.co.yu, stomic@sezam.co.yu) -- Slobodan Tomic (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.338 omega,
Ţ NS> Ako hocete predloge, pogledacu sta me vec interesuje, ali misljenja Ţ NS> sam da BI MODERATORI MOGLI DA SE AKTIVIRAJU I DA ANIMIRAJU OSTALE Ţ NS> REDOVNE KORISNIKE, da pisu o necemu, da se interesuju! Ţ Ţ Moderatori za to nisu zaduzeni i od njih se to ne moze zahtevati. Ako Ţ te nesto zanima u vezi teme, slobodno pitaj i siguran sam da ce ljudi Ţ pokusati da ti odgovore. Wrong :) Jesu zaduzeni i bas za to: [Dejanr,Sezam.7:2.213]: Ţ Duznost moderatora je da relativno redovno zove Sezam, pazljivo prati Ţ konferenciju koju moderise, odgovara na pitanja korisnika (koja dobija Ţ javno, u konferenciji, ili privatnom postom), pokusa da kanalise poruke Ţ u odgovarajuce teme, po potrebi uklanja poruke koje su u suprotnosti Ţ sa Ugovorom o koriscenju Sezama ili koje su "zalutale" u konferenciju, da Ţ se trudi da njegova konferencija bude sto zanimljivija i sto posecenija. Ţ To obuhvata i pokretanje novih tema za diskusiju, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pascal.339 omega,
Ţ Ajd da ne pises sve from d veri bigining, ja sam nesto takvo vec Ţ napisao, pa ti saljem sors. Zaboravio si da on nije na Sezamu, pa to nece moci da vidi...
pascal.340 dejanr,
>> > Moderatori za to nisu zaduzeni i od njih se to ne moze zahtevati. Ako >> > te nesto zanima u vezi teme, slobodno pitaj i siguran sam da ce ljudi >> > pokusati da ti odgovore. >> >> Wrong :) Jesu zaduzeni i bas za to: >> [Dejanr,Sezam.7:2.213]: Ako malo pogledaš, videćeš da je poruka na koju si odgovorio stigla preko Beointerneta sa nekog drugog sistema, dakle odnosila se na njihove moderatore, a moja poruka iz Sezam konferencije na naše. Obaveze moderatora na raznim sistemima ne moraju biti iste.
pascal.341 inesic,
> Zaboravio si da on nije na Sezamu, pa to nece moci da vidi... Kako bre, neće moći da vidi? Pa ja sam u malim oglasima ostavio pitanje ko menja ribone za štampače i taj isti čovek mi je odgovorio u mailu. To valjda znači da je moju poruku pročitao i da može da čita i sve ostale. Istina, poruka je bila dugačka kilobajt i preko celog ekrana sevale su linije from@... ali su one meni, "expertu" za telekomunikacije, veoma malo značile. Da onda ipak, za svaki slučaj, ovde ostavimo poruku EJ POSTMAST, AKO SI PROžITAO PORUKU, JAVI SE U ROKU TRI DANA. AKO SE NE JAVIŠ, DA ZNAMO, PA DA NEKAKO ISKOPAMO PUT DO TEBE. Stvarno mi nije jasno kako čitam njegove poruke, kako on odgovara na moje, a da pri tom nije na Sezamu. inesic
pascal.342 omega,
Ţ> Zaboravio si da on nije na Sezamu, pa to nece moci da vidi... Ţ Ţ Kako bre, nece moci da vidi? Nisi razumeo ;) Nece moci da vidi FAJL koji je zakacen...
pascal.343 inesic,
> Nisi razumeo ;) Nece moci da vidi FAJL koji je zakacen... Pa šta da mu radim? Ako svi ostali neće da se ljute, meni nije teško da fajl anzipujem, i ostavim poruku od 12k :> inesic
pascal.344 cira,
Da ne bi gledali ono PASCAL cudoviste evo jednog asm programcica za reset. Za one koje ono mov ax,2143h zbunjuje da kazem sledece : U TechRefu pise da ako je na adresu 0:0472h upisan broj 4321h dolazi do reseta ali uz ocuvanje memorije (ovo drugo je cist laz). Mozda je moglo i krace ali... Inace u DEBUGu je moguce direktno uneti liniju jmp f000:fff0 dok u TASMu nije. .MODEL tiny .CODE jmpfar dw 0fff0h,0f000h start: xor ax,ax mov es,ax mov bx,472h mov ax,2143h mov es:[bx],ax jmp dword ptr cs:jmpfar end start
pascal.345 boccaccio,
YOU> Pa šta da mu radim? Ako svi ostali neće da se ljute, meni YOU> nije teško da fajl anzipujem, i ostavim poruku od 12k :> Nema potrebe. Ja sam mu to prebacio na Oresku. Pozdrav, Boris
pascal.346 omega,
Ja se vratih i vidim da vec nedelju dana cutite :(( Moracu da predjem na C :)
pascal.347 dejanr,
Pazite glupog (?) problema: var izlaz: file; buf: array [1..100] of byte; upisano: word; begin {$I-} ... assign (izlaz, 'A:test.txt'); reset (izlaz, 1); seek (izlaz, 100); blockwrite (izlaz, buf[1], 100, upisano); if (ioresult<>0) or (upisano<>100) then begin writeln('Greška pri upisu'); halt(1); end; close(izlaz); if (ioresult<>0) then begin writeln('Greška pri zatvaranju'); halt(1); end; end. Rekao bi čovek, ništa prostije i običnije. E, probajte da disketa A na kojoj postoji test.txt bude zaštićena od upisa. Računar se zaglu :( Šta se u stvari desi (bar po mom mišljenju)? On proba da upiše, i izađe kao da je upisao, promenljiva upisano ima vrednost 100 a ioresult je nul(zašto?). E sada se dođe na 'close (izlaz)' i tu zatvaranje ne uspe, i ioresult više nije nula. Ispiše 'Greška pri zatvaranju', i krene da izvršava halt naredbu. Na nesreću, fajl je i dalje otvoren, i on proba da ga, tokom DOS funkcije koja koja uklanja program, zatvori. Ali to i dalje ne ide, on stalno pokušava i tako u beskraj. Naravno, moglo bi se lako odmah proveriti da li je diskete write protected, ali ima li izlaza iz ove situacije? Dakle fajl je otvoren, ne može da se zatvori, može li se izaći iz programa a da se računar ne zaglupi?
pascal.348 omega,
Ţ Rekao bi covek, nista prostije i obicnije. E, probajte da disketa A Ţ na kojoj postoji test.txt bude zasticena od upisa. Racunar se zaglu :( Ovo je stvarno neverovatno, ali istinito. Pitanje je gde on to pise u prazno :)) Ţ Sta se u stvari desi (bar po mom misljenju)? On proba da upise, i izade Ţ kao da je upisao, promenljiva upisano ima vrednost 100 a ioresult je Ţ nul(zasto?). To mi sve lici kao da postoji neki interni bafer, ali vise puta sam se uverio da ne postoji (nazalost). Ko zna u cemu je poenta...? Ţ protected, ali ima li izlaza iz ove situacije? Dakle fajl je otvoren, Ţ ne moze da se zatvori, moze li se izaci iz programa a da se racunar Ţ ne zaglupi? Izgleda da legalne "paskalske" tehnike nema :(( Mora znaci na pocetku da se chekira da li je write-protected disketa...Bas me zanima kako stoji stanje sa C-om po ovom pitanju...
pascal.349 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: UNITI Date: Sat, 06 Aug 1994 11:32:27 > PS> Ja to radim ovako: > PS> Unit A - definicija tipova, konstanti i promenljivih > PS> Unit B - koristi unit A > PS> unit C - koristi unit A > Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. >Eh, moja Modulico... PS> Ja sam nasao da je ovaj nacin mnogo zgodniji. Sve definicije bitne za PS> ceo program se nalaze na jednom mestu, pregledno slozene tako da se PS> covek vrlo lako snadje. Da, ALI :) to nisu bile definicije za program, tj. sto se tice hijerarhije unita, oni su na dubini 5-6, i to ne na istoj, pa ta definicija promenljivih se 'vuce' koz nekoliko unita gde uopste nije potrebna (samo ometa). ... ThIs Is a CaSe SeNsiTivE TagLiNe (pOrTed FrOm UNIX) * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.350 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: UNITI Date: Sat, 06 Aug 1994 11:42:40 $ > Tj. UNIT A - VAR B $ > UNIT B - VAR A ST> $ $ > Gde A koristi A, a B, B. ST> ST> $ Brrrrr :( Koza mi se jezi kad moram da radim ovakve stvari. Eh, ST> moja $ Modulico... ST> ST> :) Definises promenljivu u Interface delu i ona je vidljiva za sve ST> koji koriste taj unit. BTW, u Turbo Pascal-u mozes da referenciras ST> promenljivu kao i u Moduli-2, tj. ImeUnita.ImePromenljive, u slucaju ST> da koristis ista imena u razlicitim unitima. Da, da. Elem da malo pojasnim A Eto. E sad, jedan junit mi je E, a drugi B. Ako / \ radim po interface principu ja to moram da definisem B C jos u glavnom programu, zar ne ? A onda mi se te / \ promenljive vuku kao globalne po celom programu, D E sto ja (naravno) ne zelim. ... Brain damage ? No, thanks, I already have some. * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.351 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Mon, 8 Aug 1994 18:11:35 GMT Ivica Nesic (inesic@sezam.UUCP) wrote: : Kako bre, nece moci da vidi? Pa ja sam u malim oglasima ostavio : pitanje ko menja ribone za stampace i taj isti covek mi je : odgovorio u mailu. To valjda znaci da je moju poruku procitao i Aman, ljudi shvatite da se poruke vide, ali se ne vide fajlovi okaceni uz njih :) Nego, kad smo vec kod price sa posmastom, odnosno komunikacijama. Zna li neko postoji li nada da ce uskoro moci da se dodje do Dra- gishinog Hobbitona, posto tamo ocekujem prilicno vazan mail, od kako je Sloba uveo sankcije, izbacuje posle 076 :((( -=> MM <=-
pascal.352 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: UNITI Date: Sun, 07 Aug 1994 11:21:00 > A Eto. E sad, jedan junit mi je E, a drugi B. Ako > / \ radim po interface principu ja to moram da definisem > B C jos u glavnom programu, zar ne ? A onda mi se te > / \ promenljive vuku kao globalne po celom programu, > D E sto ja (naravno) ne zelim. Pa ne moze i jare i pare. Ako B i E TPU treba da koriste iste promenljive onda te promenljive moraju biti globalne. Mozes eventualno da koristis B TPU u okviru E TPU-a u implementation sekciji, pa da izbegnes da budu globalne. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.353 de.pavlov,
> Pazite glupog (?) problema: žini se da su se tu našla zajedno bar četiri problema : Prvi je nesrećna Turbo Pascalova procedura Reset, koja otvara ne-tekstualnu datoteku _i za čitanje i za pisanje_ . Kada se otvara datoteka na zaštićenoj disketi tada se Reset ponaša kao da ne zna ( a i ne zna ) da li će se ta datoteka koristiti za čitanje, što je dopušteno, ili za pisanje, što nije dopušteno na zaštićenoj disketi. Problem je u tome što se kasnije blockwrite izgleda služi samo podatkom da je Reset uspešno obavio operaciju otvaranja datoteke ( što je donekle i istina ), i ne proverava dalje ništa u vezi sa datotekom sve dok ne počne pisanje. Po pokušanom pisanju trebalo bi da blockwrite vrati izveštaj o količini uspešnog upisa (upisano) ali se tu javlja drugi problem jer upisano javlja 100 što nikako nije tačno jer je disketa zaštićena od upisa. Treći problem, u tom trenutku ni IOResult nije ažurno pa stoji IOResult = 0 iako nije bio uspešan upis. I da se sve začini, četvrti problem, nekada je nemoguć izlazak iz programa bez reseta celog računara. Veliki deo problema ( ako ne i svi ) dolazi od Reset procedure. Obično Rewrite pokušano na zaštićenoj disketi daje lepo grešku IOResult=150, Disk is write-protected, pa je onda sve jasno. Ne bi smetalo da je Borland bolje rešio rad sa datotekama :)
pascal.354 evlad,
>> To mi sve lici kao da postoji neki interni bafer, ali vise puta sam se >> uverio da ne postoji (nazalost). Ko zna u cemu je poenta...? Probaj sa debugerom step-by-step do blockwrite (izlaz .... pa jos jednom do if(ioresult ..... e sada pozovi help Ctrl-F1 poruka : Critical Error Disk is Write-protected in drive A. Retry or Abort ? TP je trebao da sa C diska ucita help, a otkud grom iz vedra neba ? stisnes A i ponovo Ctrl-F1 i gle cuda help je tu. E sad cudo broj 2: ako se malo prosetas po help-u, tada komotno mozes da izadjes iz TP sa Alt-X. ali ako stisnes ESC i probas Alt-X tada se ponovo javi gore pomenuti prozor Critical Error ... Sve mi se cini da je stvar do Borlandovske brace po tastaturi :). u literaturi pise IOResult vraca ustvari Dos Error Code. u ovom slucaju kada predje preko close kod je 150 ? [Ko li ispravi krivu drinu ?]
pascal.355 quale,
Subject: Dva modema u j[e|a]dnom PC-u Hi, sta mi sve treba da bi imao dva modema u jednom PCu i da obadva mogu da primaju pozive. Sorry ako je bilo nesto slicno.... Cisto softwerski kako bi zgledalo, BTW.
pascal.356 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Mon, 08 Aug 1994 20:06:18 ==== "Ivica Nesic" rece: ====================================== > @1,1SAY 'Unesi cenu:' GET cena PICTURE "99,999,999.99" > > Vec sam digao ruke od trazenja i pripremam teren da sam napisem > tako nesto. "N> "N> Ajd da ne pises sve from d veri bigining, ja sam nesto takvo vec "N> napisao, pa ti saljem sors. E hvala. Bas me zanima kako ovo tvoje izgleda. U medjuvremenu sam nasao neke TPU koji ce mi zavrsiti posao, ali ni oni to ne rade bas ovako... Sors si mi ostavio na Sezamu gde ja nemam pristup, ali vec se nasao neko ko ce to da mi skine. Pozdrav, broker p.s. posebno me zanima ona funkcija sto "prica" brojeve... ... BR> Do you speak Yamaikian english? * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.357 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Mon, 08 Aug 1994 20:06:19 NS> sam da BI MODERATORI MOGLI DA SE AKTIVIRAJU I DA ANIMIRAJU OSTALE NS> REDOVNE KORISNIKE, da pisu o necemu, da se interesuju! "P> "P> Moderatori za to nisu zaduzeni i od njih se to ne moze zahtevati. "P> Ako te nesto zanima u vezi teme, slobodno pitaj i siguran sam da ce "P> ljudi pokusati da ti odgovore. "P> "P> Wrong :) Jesu zaduzeni i bas za to: "P> "P> [Dejanr,Sezam.7:2.213]: "P> Duznost moderatora je da relativno redovno zove Sezam, pazljivo "P> prati konferenciju koju moderise, odgovara na pitanja korisnika (koja ... "P> sto zanimljivija i sto posecenija. To obuhvata i pokretanje novih "P> tema za diskusiju, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To je stvar razlicite koncepcije. Na Sezamu moderator jeste zaduzen za taj deo posla, a kod nas na SETNet-u nije obavezan da to radi. No, stvar je malo krenula i kako se cini bice ovde lepih tema. broker ... COMPLAINTS > NUL * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.358 pedjak,
> Hi, sta mi sve treba da bi imao dva modema u jednom PCu i da obadva > mogu da primaju pozive. Sorry ako je bilo nesto slicno.... Moraš imati prvo dve telefonske linije, a zatim modemi se mogu naći na sledećim portovima ( ovo su kombinacije ) -COM1,COM2 -COM1,COM4 -COM3,COM2 -COM3,COM4 Ovo ograničenje je zbog toga da bi se izbeglo poklapanje IRQ brojeva ( standarno COM1 i COM3 imaju IRQ3, a COM2 i COM4 su na IRQ4 ). Ukoliko imaš softver koji je u stanju da koristi i druge IRQ za komunikaciju sa modemom i ako modem možeš podesiti da bude na drugom IRQ, onda mogu da važe i druge kombinacije. Te druge kombinacije nisam probao, ovo gore što sam ja napisao je probano u praksi i radi. Sa softverske strane, komunikacija sa modemom preko DOS-a ili BIOS-a je slaba i ne može se koristiti za neku pravu komunikaciju, rutine su više nego bedne :( Jedini programski jezik kod koga je savršeno rešena komunikacija preko portova je verovali ili ne GWBASIC (!) ali sa obzirom da ga je pregazilo vreme, ostaje nam samo da napišemo sopstvene rutine za kontrolu portova. Potrebno je rudimentalno poznavanje programiranja kontrolera 8250 i 8259 i rutine su tu. Najpre se popune odgovarajući registri kontrolera 8250 i pri tome se odredi na kakve interapte će reagovati kontroler ( znak stigao na port, promena statusa ili znak je poslat ), postave se parametri komunikacije ( jedino ovo možemo raditi preko BIOS-a, rutina je korektna ) i zatim se preko kontrolera 8259 dozvoli generisanje interapta i to: ukoliko se primi zahtvev preko linije IRQ4 generisaće se INT 0CH, a preko linije IRQ3 INT 0BH. Znači, ukoliko želiš da tvoj program kontroliše istovremeno dva modema, moraš ih podestiti na odgovarajuće portove, a zatim preuzeti int 0ch i 0bh i primljene znakove smeštati u prihvatne bafere ( preporučujem da budu kružnog tipa ). Ista stvar važi i za znake koje želiš da šalješ na portove. Ukoliko želiš da u mašini imaš samo više modema, onda preporučujem neko multitasking okruženje ( DV ili Win ) Ukoliko želiš da vidiš kako je sve to realizovano u praksi, skini sa Sezama /RSOFT/R057COM.ZIP, u kome se nalazi lcomm biblioteka za rad sa portovima, pisana u asembleru, tako da se može prilagoditi bilo kom jeziku... Ako te još nešto zanima, reci slobodno..:) pedja
pascal.359 dejanr,
>> Hi, sta mi sve treba da bi imao dva modema u jednom PCu i da obadva >> mogu da primaju pozive. Trebalo bi da bude moguće. Ako je taj PC namenjen komunikacijama, izbaci iz njega sve serijske i slične kartice, i konfiguriši modeme kao COM1 i COM2. Naravno, ako su modemi eksterni, onda će kartica morati da ostane. Sada je glavno pitanje kako da program kontroliše oba modema "istovremeno". Sigurno se može napisati, ali ti je u praksi znatno lakše da pokreneš dva taska pod Windowsom (ili DV-om), pa u svakom od njih po program koji komunicira preko jednog od modema. Uz relativno brz računar (kritična je memorija, mnogo više nego mikroprocesor) ovo bi moglo pristojno funkcionisati. Ako neko proba, zanimalo bi me uspeva li "paralelna" komunikacija na većim brzinama, npr. 14400. Na 2400 sam davno probao i radilo je lepo, čak je prvi modem mogao da zove "komšiju" u susednom slotu preko telefona.
pascal.360 i.mandic,
Objasni malo ono "verovali ili ne GWBASIC (!)"?
pascal.361 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Thu, 18 Aug 1994 16:49:19 GMT Ivan Petrovic (omega@sezam.UUCP) wrote: : Ovo je stvarno neverovatno, ali istinito. Pitanje je gde on to pise u : prazno :)) A da probate da iskljucite raznorazne cashe-ove? Mozda upali :) -=> MM <=-
pascal.363 mmitrovic,
Ů█▀█Ţ Hi, sta mi sve treba da bi imao dva modema u jednom PCu i da obadva Ů█▀█Ţ mogu da primaju pozive. Sorry ako je bilo nesto slicno.... Prvo treba da rešiš problem sa IRQ. Pošto na raspolaganju imaš samo dva, mož' da se oprostiš od miševa ;) Kad podesiš modeme jedan na COM1/3 drugi na 2/4 i namestiš im IRQ3 i 4, pisanje softvera ti je lako. Samo ti umesto jednog hendlera treba dva (za IRQ 3 i 4).
pascal.364 mmitrovic,
Ů█▀█Ţ Pa ne moze i jare i pare. Ako B i E TPU treba da koriste iste Ů█▀█Ţ promenljive onda te promenljive moraju biti globalne. Mozes eventualno Ne mora, može da napravi modul F sa tim promenljivama i ubaci ih samo u B i E.
pascal.365 mmitrovic,
Ů█▀█Ţ Šta se u stvari desi (bar po mom mišljenju)? On proba da upiše, i izađe Ů█▀█Ţ kao da je upisao, promenljiva upisano ima vrednost 100 a ioresult je Ů█▀█Ţ nul(zašto?). E sada se dođe na 'close (izlaz)' i tu zatvaranje ne uspe, Ů█▀█Ţ i ioresult više nije nula. Ispiše 'Greška pri zatvaranju', i krene da Ů█▀█Ţ izvršava halt naredbu. Na nesreću, fajl je i dalje otvoren, i on proba Ů█▀█Ţ da ga, tokom DOS funkcije koja koja uklanja program, zatvori. Ali to i Ů█▀█Ţ dalje ne ide, on stalno pokušava i tako u beskraj. Evo rezultata male seansice sa TDom. - reset(izlaz,1); Poziva DOS funkciju 3Dh (open with handle), sa al=System.Filemode Filemode određuje kako će se fajl otvoriti 0 - read 1 - write 2 - erad/write (default) u primeru sve prođe OK. Naravno fajl mora postojati na disketi. - fseek(izlaz,100); Prvo proveri da li je fajl otvoren. Poziva DOS funkciju 42 za seek i ako je fajl veći od 100bl sve je OK. - blockwrite(izlaz,buf,100,ispis); E ovde se dešava fešta. Prvo normalno proveri da li je otvoren fajl, onda pomnoži 100 sa 1(veličina bloka) i pozove funkciju 40h (write with handle) koja NE VRATI grešku, ali u TDu ako probam bilo šta da izvedem sem single stepa (pr da resetujem program) dobijem Abort, retry za PRN:. Znači ovde nije u pitanju Borlandov sistem fajliranja već sam DOS, koji ima bafere za fajlove (neko ih je ovde spomenuo kao razlog) za razliku od pascala. Ako nastavim dalje da izvršavam program onda: - close(izlaz) vraća grešku 150 (write protected) i proglašava fajl zatvorenim (za pascal). Međutim kad se izvrši halt i postmortem rutina počne da zatvara fajlove, TD kao i kad se izvršava program u DOSu izbacuje "Write protected Abort,Retry?", dok pascalov Critical Handler zakaže i blokira kompjuter (ovo je teorija koja se slaže sa činjenicama). On izbaci Enter,Esc za Retry,Abort što znači da je pozvan ali blokira nakon odgovora. Druga teorija je da se kontrola i posle ovoga vraća DOSu i on ponovo pokušava da zatvori fajl i ponovo ide Critical error pa se onda zaglupi handler. Sve u svemu ovaj kraj nije do DOSa jer kad se startuje program iz DOSa njegov handler obavi posao kako treba. Pokušao sam da učitam turbo.exe u td386 i da vidim njegov handler međutim stalno dobijam invalid opcode kad startujem dejanov program u koji sam ubacio INT 3. Pokušavaću i dalje, so, ako uspem javiću. Znači jedan DOSov bug i jedan pascalov zajedno prave sra*e, al samo dok se radi u IDEu.
pascal.366 dejanr,
>> Znači jedan DOSov bug i jedan pascalov zajedno prave sra*e, al >> samo dok se radi u IDEu. Hvala na detaljnoj analizi. Još samo da nađemo kako zatvoriti ovako "vrljav" fajl, a da se računar ne zaglupi.
pascal.367 pedjak,
> Objasni malo ono "verovali ili ne GWBASIC (!)"? Mišljenja sam da je GWBASIC okolina koju je pregazilo vreme, ali ipak ima razvijene rutine za komunikaciju... za mene kuriozitet.
pascal.368 postmast,
From: Sasko.Celakovski@f108.n108.z38.setgate.setnet.co.yu (Sasko Celakovski) Subject: modem via pascal Date: Fri, 19 Aug 1994 14:31:00 Zdravo... Imam eden mal problem ... Kako preku TP da isprakam naredbi do modemot ??? Imam eden primer: program modem; var com:text; begin assign (com,'com4'); bidejki modemot mi e na com port 4 reset (com); problemot e vo toa sto sega koga ke probam da zapisam nesto vo com datotekata so write (com,'naredba') TP javuva greska deka datotekata ne e otvorena za pisenje nego samo za citanje (read only), dali mozda ima drug nacin za rabota so modem preku TP (verzija 6.0). pozdrav Sassko * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.369 mmitrovic,
Ů█▀█Ţ Hvala na detaljnoj analizi. Još samo da nađemo kako zatvoriti ovako Ů█▀█Ţ "vrljav" fajl, a da se računar ne zaglupi. Pada mi na pamet tri rešenja I) promeniti IDEov critical handler, tj onaj iz Turbo Visiona sa kojim je IDE pisan, što ne dolazi u obzir. I'm a copyright loving kind of guy :) II) Ubaciti tokom razvoja programa kod koji će ako close vrati grešku 150 (wr. prot.) ući u petlju dok user ne odštiti disketu. Ovde možda kao opciju dodati "resetovanje" dosovih buffera (za ovo treba da pogledam). III) napraviti lični rezidentni critical handler i malo prljavog koda koji će sprečiti IDE da instalira svoj handler ;). Ili možda samo ovo drugo, pošto DOSov handler dobro obavi stvar.
pascal.370 quale,
Subject: Re: Dva modema ██ Sigurno se moze napisati, ali ti je u praksi znatno lakse da pokrenes ██ dva taska pod Windowsom (ili DV-om), pa u svakom od njih po program koji ██ komunicira preko jednog od modema. Uz relativno brz racunar (kriticna ██ je memorija, mnogo vise nego mikroprocesor) ovo bi moglo pristojno E to upravo i hocu da pokrenem dva programa koji ce raditi pod Win/DV. Ostaje mi jedno ogromno pitanje a to je na koji nacin mogu ta dva programa da komuniciraju. Dakle ako ja otkucam npr. u prvom send "Hi komso!" na koji fazon ce da primi drugi program ovu poruku. IMHO koliko mi je poznato to se radi sa sharetom ili tako nesto. █
pascal.371 postmast,
From: Ivan.Markovic@f114.n103.z38.setgate.setnet.co.yu (Ivan Markovic) Subject: MODEM VIA PASCAL Date: Sun, 21 Aug 1994 20:31:11 Rekao Sasko ... -> Zdravo... Imam eden mal problem ... Kako preku TP da isprakam -> naredbi do modemot ??? Imam eden primer: Sasko - komunikacija sa modemom, tj sa COM portovima nije bas tako jednostavna da mu se mozes obracati kao datotaci. Za te stvari bi morao da koristis interapte - mozes kao jednostavnije resenje da koristis neki FOSSIL driver i njegove interapte za rad sa portom ili da pak - sto je malo slozenije resenje - napravis svoje rutine za rad sa COM portovima ... Pozdrav XENOX i SySop Fenix-a ---FidoPCB v1.0 [NR] * Origin: * Fenix BBS (011) 414-312;404-679 * SetNet: 38:103/122
pascal.372 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: modem via pascal Date: Sun, 21 Aug 1994 11:08:04 SC> Zdravo... Imam eden mal problem ... Kako preku TP da isprakam SC> naredbi do modemot ??? Imam eden primer: SC> SC> program modem; SC> var com:text; SC> begin SC> assign (com,'com4'); bidejki modemot mi e na com port 4 SC> reset (com); Ne moze to tako. Najbolje je da pronadjes neku biblioteku funkcija za rad sa serijskim portom. Za pocetak, preporuujem ASYNC. Mala je, zgodna, ima sve sto je neophodno. Ako je nemas u blizini, mozes je dobiti od mene. ... BR> Ja sam stvarno uvek u pravu. Dokazano. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.373 i.mandic,
Pa imaju i ostali Basic-jezici (sa prijatnijom okolinom) razvijene rutine za komunikaciju... Bilo mi je cudno ono "verovali ili ne" jer kako ne bih verovao, pisao sam i sam, ali pre 4 godine ;>
pascal.375 .bata.,
Ako neko nema sta da radi bio bih mu neizmerno zahvalan kad bi mi preveo ovaj idiotski program u Pascal. Program ima 16 linija i jedini problem je to što treba napisati funkciju koja izracunava X ^ Y. Unapred hvala na trudu... *********************************************** E = 2.7182818#: REM osnova prirodnog logaritma INPUT "Unesi maksimalanu magnitudu minus minimalna magnituda plus 1: ", n FOR i = 1 TO n INPUT "Unesi srednji broj meteora po intrervalu: ", m INPUT "Unesi broj klase (broj meteora u intervalu): ", k pomocna = k faktorijel = 1 WHILE (pomocna > 1) :REM ovaj deo faktorijel = faktorijel * pomocna :REM izracunava pomocna = pomocna - 1 :REM faktorijel WEND rezultat = m ^ k * E ^ (-k) hi = hi + rezultat - k / rezultat NEXT i PRINT "X na kvadrat je: ", hi END *********************************************** Pozdrav... Saša
pascal.376 pedjak,
> Ostaje mi jedno ogromno pitanje a to je na koji nacin mogu ta dva > programa da komuniciraju. Dakle ako ja otkucam npr. u prvom send "Hi > komso!" na koji > IMHO koliko mi je poznato to se radi sa sharetom ili tako nesto. Ukoliko misliš na poruke tipa page na sezamu, onda sami programi moraju podržavati deljenje datoteka pod mrežom ( zbog toga se startuje SHARE u multitasking okruženjima )
pascal.377 quale,
Hi, imam sledeci problem. Imam text file koji sadrzi text (oko 300kb). Interesuje me, naprimer, kako najbrze doci do npr. hiljadite linije. Dakle, da li postoji neki seek (koliko znam pisano je nesto u racunarima ali neverujem da je to to, posto linije nisu konstantne duzine). Do sad sam radio na vrlo grub nacin, ako hocu do hiljadite pucam ReadLn (f) hiljadu puta :). Sigurno moze elegantnije.
pascal.378 dejanr,
>> Do sad sam radio na vrlo grub nacin, >> ako hocu do hiljadite pucam ReadLn (f) hiljadu puta :). Hm. Radiće malo brže ako mu dodaš nekih 20-tak kilobajta kao settxtbuf. Ne vidim kako bi se našla hiljadita linija, ako su linije raznih dužina. Jedino što pada na pamet je da se napravi neki indeksni fajl u kome će biti onoliko longint brojeva koliko fajl ima linija - jednom pročitaš fajl, formiraš indeks, i onda ga kasnije otvaraš kao netipiziran i radiš seek na poziciju koju vadiš iz indeksa. Naravno, moraćeš još da napraviš programče koje izdvaja liniju iz netipiziranog fajla, ali to nije poseban problem. Ako se fajl promeni, moraće da se regeneriše i indeks.
pascal.379 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Mon, 22 Aug 1994 10:38:19 "U> Hi, sta mi sve treba da bi imao dva modema u jednom PCu i da obadva "U> mogu da primaju pozive. Sorry ako je bilo nesto slicno.... Probao sam par COMM biblioteka za TP koje su imale tu mogucnost, a i fossil drajveri to podrzavaju. Nisam probao ali sumnjam da nece da radi. ... TAG loading error... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.380 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: UNITI Date: Mon, 22 Aug 1994 14:09:14 > A Eto. E sad, jedan junit mi je E, a drugi B. Ako > / \ radim po interface principu ja to moram da definisem > B C jos u glavnom programu, zar ne ? A onda mi se te > / \ promenljive vuku kao globalne po celom programu, > D E sto ja (naravno) ne zelim. PS> Pa ne moze i jare i pare. Ako B i E TPU treba da koriste iste promenljive PS> onda te promenljive moraju biti globalne. Mozes eventualno da koristis PS> B TPU u okviru E TPU-a u implementation sekciji, pa da izbegnes da PS> budu globalne. Ne moze, jer i E koristi delice B-a :( * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.381 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 23 Aug 1994 23:42:27 To: "Bratislav Urakovic" <quale@sezam.UUCP> "U> E to upravo i hocu da pokrenem dva programa koji ce raditi pod Win/DV. "U> Ostaje mi jedno ogromno pitanje a to je na koji nacin mogu ta dva "U> programa da komuniciraju. Dakle ako ja otkucam npr. u prvom send "Hi "U> komso!" na koji fazon ce da primi drugi program ovu poruku. Ako radis pod multitaskingom, i ako je sve dobro podeseno, uslovno mozes matrati da imas dva racunara sa po jednim modemom i tako treba i da ih tretiras. Mozes ih povezati na isti nacin kao i dva racunara koji su potpuno odvojeni. ... BR> Lako je biti zao gospodar, ali kratko. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.382 djelovic,
> Hm. Radiće malo brže ako mu dodaš nekih 20-tak kilobajta kao > settxtbuf. Ne vidim kako bi se našla hiljadita linija, ako su > linije raznih dužina. Jedino što pada na pamet je da se napravi > neki indeksni fajl u kome će biti onoliko longint brojeva koliko > fajl ima linija - jednom pročitaš fajl, formiraš indeks, i onda > ga kasnije otvaraš kao netipiziran i radiš seek na poziciju koju > vadiš iz indeksa. Ukoliko se zaista radi o hiljadu-dve linija, onda indeks komotno može da se drži u memoriji (2000 linija * četiri bajta = 8K), i da bude manji od onog settxtbuf-a od 20K :). A i može da se formira inkrementalno, tako da praktično ne usporava sistem.
pascal.383 pedjak,
> i jedini problem je to što treba napisati funkciju koja > izracunava X ž Y. Unapred hvala na trudu... Function Power( x,y: Real): Real; Begin If y = 0 Then power := 1.0 Else if x = 0 Then Power := 0.0 Else If x > 0 Then Power := exp( y * ln(x)) Else if Trunc(y) mod 2 = 0 Then Power := exp( y * ln(abs(x))) Else Power := -exp( y * ln(abs(x))); End; pedja
pascal.384 cira,
Kako do pow(x,y) : > Else if Trunc(y) mod 2 = 0 Then > Power := exp( y * ln(abs(x))) > Else > Power := -exp( y * ln(abs(x))); Ovaj deo funkcije je malo problematican. Tacnije, ne vraca ispravnu vrednost ako je 0<y<1 (x<0) za neke y. Posto je TRUNC(y) uvek jednako 0 ako je y izmedju 0 i 1 onda je i TRUNC(y) mod 2 uvek 0 za takvo y. Primer : x=-2,y=1/3 => power=1.25992... a ne kao sto bi trebalo da bude power=-1.25992...( sto bi se dobilo izrazom iza poslednjeg ELSE). Moguce ispravke su da proveris kakav je deo iza tacke (paran/neparan) ili da proveris da li se desila greska u f-ji EXP pa ako jeste da predjes na sledeci korak, a ako nije da vratis rezultat. Verovatno ima jos nacina ali mi ne pada ni jedna druga ideja sem mozda razvoja u red.
pascal.385 stomic,
Subject: Re: UNITI $ PS> B TPU u okviru E TPU-a u implementation sekciji, pa da izbegnes da $ PS> budu globalne. $ $ Ne moze, jer i E koristi delice B-a :( IMHO, organizacija modula (unita) ti je loša. Ja težim da svaki modul bude što je moguće crnja kutija - što više zatvoren, i pristupačan samo preko par definisanih procedura u interface-u (bez ikakvih globalnih promenljivih). Znači najbolje rašenje je da preorganizuješ čitavu hijerarhiju i/ili kao što je već neko predlagao da ti svi globalni tipovi i promenljive idu u zaseban modul. --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.386 omega,
Ţ vec sam DOS, koji ima bafere za fajlove (neko ih je ovde spomenuo kao Ţ razlog) za razliku od pascala. Ako nastavim dalje da izvrsavam Da ponovim jos jednom :) Je l' postoji neko lepo resenje za baferisanje iz Pascala? Mislim na zvanicno koje mi je promaklo (mada nema sanse :))?
pascal.387 omega,
Ţ Ukoliko mislis na poruke tipa page na sezamu, onda sami programi Btw, kako to uopste funkcionise? I kako svaki od nodova "zna" ko je on-line?
pascal.388 omega,
Ţ Ovaj deo funkcije je malo problematican. Tacnije, ne vraca ispravnu Ţ vrednost ako je 0<y<1 (x<0) za neke y. Posto je TRUNC(y) uvek jednako 0 Ţ ako je y izmedju 0 i 1 onda je i TRUNC(y) mod 2 uvek 0 za takvo y. Pa fino si to zakljucio, ali to je i resenje :)) else if (y>0) and (y<1) then if Trunc(1/y) mod 2 = 0 Then Power := exp( y * ln(abs(x))) Else Power := -exp( y * ln(abs(x))); Ali sve je to neverovatno komplikovano ;) Mora da postoji i nesto krace, lepse :) Btw, uvek sam se pitao zasto ni Pascal i C nemaju normalnu Power rutinu :(((
pascal.389 omega,
Ţ Hm. Radice malo brze ako mu dodas nekih 20-tak kilobajta kao Ţ settxtbuf. Ne vidim kako bi se nasla hiljadita linija, ako su Hmm, ja bas nisam primetio da se dobijaju neka velika ubrzanja posle povecanja settextbuf posle cini mi se par kilobajta...? Verovatno je "krivac" disk kes, ali me u svakom slucaju zanima koja je optimalna vrednost za bafer pri dosta velikom radu sa datotekama?
pascal.390 pedjak,
> Ovaj deo funkcije je malo problematican. Tacnije, ne vraca ispravnu > vrednost ako je 0<y<1 (x<0) za neke y. Posto je TRUNC(y) uvek > jednako 0 ako je y izmedju 0 i 1 onda je i TRUNC(y) mod 2 uvek 0 za > takvo y. Hvala na primećenom bagu :) Evo ispravne verzije: Function Power( x,y: Real): Real; var imenilac:real; Begin imenilac:=round(100000000000.0/(y*100000000000.0)); If y = 0 Then power := 1.0 Else if x = 0 Then Power := 0.0 Else If x > 0 Then Power := exp( y * ln(x)) Else if Trunc(imenilac) mod 2 = 0 Then Power := exp( y * ln(abs(x))) Else Power := -exp( y * ln(abs(x))); End; pedja
pascal.391 zeljkoj,
> lepse :) Btw, uvek sam se pitao zasto ni Pascal i C nemaju > normalnu Power rutinu :((( U C-u imaš funkciju pow. Ipak je to u BASIC-u bolje. ;)
pascal.392 zeljkoj,
> koja je optimalna vrednost za bafer pri dosta velikom radu sa Nema tu optimalno. Što više, to bolje. (a to znači 64 kB)
pascal.393 dejanr,
>> > Ukoliko mislis na poruke tipa page na sezamu, onda sami programi >> >> Btw, kako to uopste funkcionise? I kako svaki od nodova "zna" ko je >> on-line? Svaki nod ima svoj redni broj, i čim neko dođe na vezu (ili ode sa veze) upiše u odgovarajući segment jednog deljenog fajla na serveru odgovarajuće podatke o korisniku. I page-ovanje ide preko deljenih fajlova u posebnom direktorijumu, svaki nod povremeno (i to dosta često) skanira ima li šta za njega, pa ako ima izvrši komandu koja mu je poslata.
pascal.394 omega,
Ţ Nema tu optimalno. Sto vise, to bolje. (a to znaci 64 kB) Pa da mi popuni ceo data segment? No way :)
pascal.395 omega,
Ţ U C-u imas funkciju pow. Ipak je to u BASIC-u bolje. ;) Koji je to C? Nijedan BASIC to nema sredjeno...O cemu pricas? ;)
pascal.396 djelovic,
> koja je optimalna vrednost za bafer pri dosta velikom radu sa > datotekama? Pri sekvencijalnom čitanju, bolji je što veći bafer mada preko neke određene cifre (20K mi deluje previše?) dobici na performansama postaju zanemarljivi. Na drugu stranu, ukoliko se radi o slučajnom pristupu datoteci, onda je najbolje da veličina bafera *tačno* odgovara veličini podataka koji se čitaju.
pascal.397 pedjak,
> Btw, kako to uopste funkcionise? I kako svaki od nodova "zna" ko je > on-line? Pa, ovako uprošteno, komunikacija se odvija preko zajedničkih fajlova.. s vremena na vreme nod konsultuje taj fajl da vidi da li ima novih poruka za njega, pa ako ima ispiše ih.. Na isti način funkcioniše i chat.
pascal.398 pedjak,
> Da ponovim jos jednom :) Je l' postoji neko lepo resenje za > baferisanje Za tekstualne postoji, dok za ostale ne.
pascal.399 zeljkoj,
> Pa da mi popuni ceo data segment? No way :) Pa ti nemoj da koristiš niz, nego listu, pa će ti data segment ostati netaknut.
pascal.400 zeljkoj,
> Koji je to C? Nijedan BASIC to nema sredjeno...O cemu pricas? > ;) Izgleda da nisi dobro razumeo o čemu je reč i šta sam ja napisao. Da počnemo od početka :). Neko (mislim .bata.) je zamolio nekog da mu konvertuje program sa BASICa na Pascal. Citiram: > Ako neko nema sta da radi bio bih mu neizmerno zahvalan kad bi > mi preveo ovaj idiotski program u Pascal. Program ima 16 linija > i jedini problem je to što treba napisati funkciju koja > izracunava X ^ Y. Unapred hvala na trudu... Znači, čoveku treba funkcija za stepenovanje u Pascalu, pošto to u istom NE POSTOJI. U BASICu za to služi operator ^, što se može videti i iz same poruke! I kako onda "Ni jedan BASIC to nema sređeno?" Očigledno da ne čitaš pažljivo poruke, jer čak i da ne znaš BASIC iz navedenog programa si mogao da vidiš da BASIC TO IMA SREĐENO!!! Ako si i dalje ubeđen da si u pravu :) evo navodim deo iz Quick Basic Proffessional 7.1 helpa koji se odnosi na aritmetičke operatore: ^ Exponentiation - Negation *,/ Multiplication and division \ Integer division MOD Modulo division +,- Addition and subtraction To važi i za sve ostale BASICe na PC-u, a i šire :) žak i u Spectrumovom BASICu postoji operator za stepenovanje. Poslaću ti Sinclair ZX Spectrum BASIC priručnik pa pogledaj, ako ne veruješ. To bi bilo što se tiče BASICa, a sada da pređemo na C :)) Ti kažeš "Koji je to C?", a niko od tolikih C-ovaca na Sezamu se ne buni! Za Microsoft C ne znam ali svaki Borlandov C ima funkciju pow. Navodim deo Turbo C++ 1.0 helpa kao dokaz: █Ů pow Power function, x to the y real: double pow(double x, double y); complex: complex pow(complex x, complex y); Prototype in math.h (real) complex.h (complex) Complex pow is defined by pow(base, expon) = exp(expon log(base)) Real pow returns x^y. Error handling for this routine can be modified by the function matherr. Evo i primera: #include <math.h> #include <stdio.h> int main(void) { double x = 2.0, y = 3.0; printf("%lf raised to %lf is %lf\n", x, y, pow(x, y)); return 0; } "O čemu pričaš" - Preporučujem ti da lepo pročitaš celu ovu poruku, pa će ti biti jasno o čemu pričam, pošto ono što sam do sada rekao očigledno nije bilo dovoljno. Još nešto za kraj: ako nekog zanima u FORTRANu se stepenovanje vrši operatorom ** i ja preporučujem onome od koga je diskusija i počela da svoj programčić sa BASICa, umesto na Pascal, prevede na FORTRAN, jer ipak je on BOLJI za te stvari. Toliko od mene. Ako treba još dokaza, samo reci :). Pozdrav, čeljko The Sorcerer ('ajd da dodam potpis, kad je već tolika poruka ;>)
pascal.401 mjova,
> Svaki nod ima svoj redni broj, i čim neko dođe na vezu > (ili ode sa veze) upiše u odgovarajući segment jednog > deljenog fajla na serveru odgovarajuće beše i neki tekst u računarima o ovome. mislim da ima i primer po imenu CHAT.C
pascal.402 i.mandic,
Najzad neko ko ima PDS 7.1 :)) Da li je neko pokusavao da koristi QLB biblioteke za Quick Basic 4.5 na PDS 7.1?
pascal.403 omega,
Ţ u istom NE POSTOJI. U BASICu za to sluzi operator ^, sto se moze Ţ videti i iz same poruke! I kako onda "Ni jedan BASIC to nema sredeno?" Ţ Ocigledno da ne citas pazljivo poruke, jer cak i da ne znas BASIC Ţ iz navedenog programa si mogao da vidis da BASIC TO IMA SREDENO!!! Ţ Ako si i dalje ubeden da si u pravu :) evo navodim deo iz Quick Naravno da sam u pravu! Sve to sto si ti naveo ne vredi ni pet para jer ne ume da izvadi neparne korenove iz negativnih brojeva. O TOME JA PRICAM. Znaci probaj u bilo kom BASIC-u "PRINT (-27)^(1/3)" pa ces da vidis da sam u pravu...Probaj i u C-u: "printf ("%lf\n",pow (-27,1/3)"... Prema tome, NEOPHODNO JE PISANJE SOPSTVENE FUNKCIJE ZA STEPENOVANJE. Ţ "O cemu pricas" - Preporucujem ti da lepo procitas celu ovu poruku, Ţ pa ce ti biti jasno o cemu pricam, posto ono sto sam do sada rekao Ţ ocigledno nije bilo dovoljno. To isto jedino ja tebi mogu da preporucim...
pascal.404 ognjen,
)-> Znaci, coveku treba funkcija za stepenovanje u Pascalu, posto )-> to u istom NE POSTOJI. Sad mi pade na pamet. Zar ne bi moglo ovako? : Resenje := X For I := 1 to Y-1 (recimo trazi se X^Y) Resenje := Resenje * X I, gotovo!
pascal.405 zeljkoj,
> Najzad neko ko ima PDS 7.1 :)) > Da li je neko pokusavao da koristi QLB biblioteke za Quick > Basic 4.5 na PDS 7.1? Nisam pokušao to, ali mislim da ne može. To kažem zato što VB for DOS nije hteo da učita biblioteke napravljene sa QBX PDS 7.1. Taj problem se može rešiti na sledeći način: Obriše se .QLB a ostavi .LIB, pošto su .LIB fajlovi kompatibilni. Zatim se napravi prazan .QLB (bez bilo kakvih funkcija i subrutina). i onda pomoću LIB.EXE i LINK.EXE doda stari .LIB u taj novi prazan .QLB i - dobijen je novi .QLB. Ako treba detaljnije kako se to radi, samo reci. BTW ovo je tema pascal, a mi pričamo o BASICu - mogli bismo polako da se preselimo tamo gde nam je i mesto.
pascal.406 vpudar,
-> Ů█▀█Ţ "Brlja" komanda Readln, ne ispisuje prvi karakter tamo gde treba!?! -> Ů█▀█Ţ Probajte i vi. -> -> Probao i radi. I to i na Turbo i na Borland pascalu i u real i -> u protected modu. Mora da je nešto do tebe. Definitivno. Probleme je pravio FASTVID, programčić za ubrzavanje (i to drastično!) ispisa na DOS-ov ekran. žudno je to da do sada (6 meseci) nisam imao nikakvih problema, sem pomenutih s CRT Unit-om TP-a.
pascal.407 mboban,
**> Sad mi pade na pamet. Zar ne bi moglo ovako? : **> **> **> Resenje := X **> For I := 1 to Y-1 (recimo trazi se X^Y) **> Resenje := Resenje * X **> **> I, gotovo! Može, ali ako važi (X ţ R+) /\ (Y ţ N) A šta ako je Y realan broj? A šta ako je Y negativan broj? A šta ako je X negativan broj? Prve dve stvari mogu da se urade pomoću par If-ova, ali ovo treće... Mrzi me da kopam po udžbenicima (dok je još uvek raspust :) da tražim formule.
pascal.408 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Mon, 29 Aug 1994 11:05:54 "T> IMHO, organizacija modula (unita) ti je losa. Ja tezim da svaki "T> modul bude sto je moguce crnja kutija - sto vise zatvoren, i "T> pristupacan samo preko par definisanih procedura u interface-u (bez "T> ikakvih globalnih promenljivih). Znaci najbolje rasenje je da Ponekad globalne promenljive dobro dodju. Recimo neki parametar je potreban velikom broju funkcija u unit-u, ali se menja zavisno od SETUP-a na pocetku programa. Nezgodno je traziti od proramera da taj paametar svaki put prosledjuje funkcijama, vec je jednostavnije da na pocetku podesi sadrzaj neke globalne promenljive iz unit-a i posle to funkcije same upotrebljavaju kad im zatreba. Recimo, radis Unit koji radi razne stvari sa stringovima, ali vodi racuna o nasim slovima. Umesto da svakoj funkciji prosledjuje podatak koja su nasa slova, to jednostavno podesis u glob promenljivoj... Mislim da je tako lakse... ... BR> Sto vise TAG-ova imam, sve bolje lezu uz poruke... * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.409 omega,
Ţ Resenje := X Ţ For I := 1 to Y-1 (recimo trazi se X^Y) Ţ Resenje := Resenje * X Jok bre, mora preko log i exp zato sto su x,y realne vrednosti.
pascal.410 i.mandic,
Ili ipak da osnujemo grupu...
pascal.411 stomic,
Subject: Re: pascal $ "T> pristupacan samo preko par definisanih procedura u interface-u (bez $ "T> ikakvih globalnih promenljivih). Znaci najbolje rasenje je da $ racuna o nasim slovima. Umesto da svakoj funkciji prosledjuje podatak $ koja su nasa slova, to jednostavno podesis u glob promenljivoj... Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne na nivou celog programa (mislio sam na te globalne promenljive). Znači globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva je za ostatak programa), a njen sadržaj se menja preko vidljivih procedura, čime i dalje imamo lepu crnu kutijicu :). --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.412 mmitrovic,
Ů█▀█Ţ Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne Ů█▀█Ţ na nivou celog programa (mislio sam na te globalne promenljive). Znači Ů█▀█Ţ globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva je Ů█▀█Ţ za ostatak programa), a njen sadržaj se menja preko vidljivih procedura, Ů█▀█Ţ čime i dalje imamo lepu crnu kutijicu :). Ovo meni sve liči na "Što prosto kad može komplikovano". Crne kutijice kako ih ti zoveš su ostavljene proizvođačima modula da zaštite princip rada svojih modula i da preko funkcija kontrolišu da li su prosleđeni podatci validni. Ako ti sam pišeš modul za sebe onda uopšte nemaš potrebe za tim. Em ima više koda, em je sporije. Navedeš promenljivu u INTERFACE delu i nju će videti svi moduli i program koji ima uses za taj modul. Jedno modul.promenljiva:=vrednost je mnogo efikasnije od modul.PostaviPromenljivu(vrednost); Sad ako misliš da ćeš uspeti da sam sebi ukradeš modul, onda ne znam. ;)
pascal.413 djelovic,
> Ovo meni sve liči na "Što prosto kad može komplikovano". Crne kutijice > kako ih ti zoveš su ostavljene proizvođačima modula da zaštite princip > rada svojih modula i da preko funkcija kontrolišu da li su prosleđeni > podatci validni. Ako ti sam pišeš modul za sebe onda uopšte nemaš potrebe > za tim. Em ima više koda, em je sporije. Navedeš promenljivu u > INTERFACE delu i nju će videti svi moduli i program koji ima uses za taj > modul. Pogrešno. Koncept skrivanja informacija ne služi da bi proizvođač krio svoje tajne, već da bi svaki modul imao jasno definisan interfejs. Kako to da nikome u toku vožnje automobila ne pada na pamet da odvrće šrafove sa motora, dok u programiranju većina misli da je time čini nešto posebno? :)
pascal.414 postmast,
From: Attila.Csipa@f107.n111.z38.setgate.setnet.co.yu (Attila Csipa) Subject: pascal Date: Tue, 30 Aug 1994 06:55:47 $ PS> B TPU u okviru E TPU-a u implementation sekciji, pa da izbegnes da $ PS> budu globalne. "T> $ "T> $ Ne moze, jer i E koristi delice B-a :( "T> "T> IMHO, organizacija modula (unita) ti je losa. Ja tezim da svaki "T> modul bude sto je moguce crnja kutija - sto vise zatvoren, i "T> pristupacan samo preko par definisanih procedura u interface-u (bez "T> ikakvih globalnih promenljivih). Znaci najbolje rasenje je da "T> preorganizujes citavu hijerarhiju i/ili kao sto je vec neko predlagao "T> da ti svi globalni tipovi i promenljive idu u zaseban modul. Jasno, ali je poenta u tome sto je doticni program pisan u Moduli, a sad bi trebalo da se prevede na Paskal. Posto se radi o povecem programu, nesto mi nije do reorganizacije, pa sam bas zato pitao :) Dovoljan problem mi je to sto je program pisan da koristi Modulin multitasking... ... Error 216: Tagline out of paper. * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.415 mmitrovic,
Ů█▀█Ţ svoje tajne, već da bi svaki modul imao jasno definisan interfejs. Uhh :) Recimo da si u pravu, i nazovimo to (u nedostatku boljeg izraza) čistim programiranjem. žisto programiranje nije i efikasno programiranje, zbog razloga koje sam već naveo. Ne postoje apsolutno nijedan dobar razlog zbog koga bi trebalo sakrivati promenljive od samog sebe. Specijalno one koje se koriste u višim modulima i u samom programu. Ů█▀█Ţ dok u programiranju većina misli da je time čini nešto posebno? :) Pa istini za volju i nije ti neka metafora :) Skidajući šrafove sa motora tokom vožnje će pre il kasnije izazvati havariju. ;) Sa druge strane to što ćeš dati majstoru da ti skida šrafove ne znači da neće doći do havarije (koja analogija :). Stvarno, izbegavanje funkcija je veoma posebno (less & faster code), ako znaš mašinac i pascal ili c (a verovatno znaš) uporedi oba metoda za postavljanje promenljive i kaži iskreno koji je bolji. Što se tiče zaštite o kojoj sam govorio, nju sam naveo iz ličnog iskustva vezanog za analizu TVision objekata. Kad se izvuku privatni metodi i polja, ceo princip funkcionisanja TVa postaje mnogo jasniji. Probaj (opet ako si radio sa TVom) da objasniš na koju foru rade Load, Store, PutPeerView, itd objekti za rad sa Strimovima. Odokativno izgleda kao da tu nešto fali i uopšte nije bilo jasno šta se tu i na koji način odvija (naročito sa snimanjem pointera koji se svaki put drugde nalaze). Analizom metoda i privatnih polja koja koriste ceo princip se pokazao savršeno jednostavnim. To je bilo pre nekih 6 meseci dok sam se zanosio da napravim Graphic Vision :) Silly of me.
pascal.416 omega,
Ţ To je bilo pre nekih 6 meseci dok sam se zanosio da napravim Graphic Ţ Vision :) Silly of me. Steta :( Ja sam video da su neki nasi klinci iz unutrasnjosti uspeli, i to vrrrrrlo lepo :)
pascal.417 pedjak,
> Ovo meni sve liči na "Što prosto kad može komplikovano". Crne > kutijice kako ih ti zoveš su ostavljene proizvođačima modula da > zaštite princip rada svojih modula i da preko funkcija kontrolišu da > li su prosleđeni podatci validni. Ako ti sam pišeš modul za sebe > onda uopšte nemaš potrebe za tim. Em ima više koda, em je sporije. > Navedeš promenljivu u Nije stvar u proizvođačima, nego se na taj način pišu čistiji i čitljiviji programi, a po potrebi se posle i lakše menjaju, pogotovo ako radiš u nekom timu.
pascal.418 dejanr,
>> Kao što se vidi iz priloženog, on je ignorisao net.cfg instrukcije iako >> je gore napisao da koristi "net.cfg". Imao sam nedavno sličan problem, i evo u čemu je bila stvar: *SVE* što piše u NET.CFG mora da bude tačno! Kod mene, konkretno, nije bio tačan port, i on mi je stalno prijavljivao da koristi nekakav INT 15. Naravno, to je upućivalo da se podešava onaj red u kome piše INT, ali je on bio dobar, i što mu god radio, prijavljivao je 15. Kada sam podesio i port tačno, odjednom je dobro preuzeo i INT 5. Ne znam da li će to rešiti i tvoj problem, ali vredi da se proveri.
pascal.419 pedjak,
> Jasno, ali je poenta u tome sto je doticni program pisan u Moduli, a > sad bi trebalo da se prevede na Paskal. Posto se radi o povecem > programu, nesto Eh, da me sad vidi dragisha :) Koja te je muka navela da prevodiš program na paskal..?
pascal.420 de.pavlov,
Ima li kakvih nagoveštaja za pojavljivanje Borland Pascal 8.0 ?
pascal.421 mmitrovic,
Ů█▀█Ţ Steta :( Ja sam video da su neki nasi klinci iz unutrasnjosti uspeli, Ů█▀█Ţ i to vrrrrrlo lepo :) Stvarno, jel imaš neki primer, da vidim kako izgleda. Ja sam radio do trenutka kad je počinjalo da radi, međutim u grafičkom modu je radilo veoma sporo i miš je stalno bio problem, pa sam ja izgubio volju ;) Mislio sam da se ne može uraditi, sad možda i nastavim gde sam stao.
pascal.422 mmitrovic,
Ů█▀█Ţ Nije stvar u proizvođačima, nego se na taj način pišu čistiji i Ů█▀█Ţ čitljiviji programi, a po potrebi se posle i lakše menjaju, pogotovo Ů█▀█Ţ ako radiš u nekom timu. Što stalno potežete to pitanje timova, ja znam šta treba za rad u timu, pošto sam većbio u jednom. Međutim ova diskusija je počela oko jednog programa jednog autora. Takvo čistunisanje je samo teret, jer da su globalne promenljive nepotrebne ne bi ih ni bilo.
pascal.423 omega,
Ţ Stvarno, jel imas neki primer, da vidim kako izgleda. Ja sam radio Program je Font Maker v3.0. Pravila su ga dva klinca iz Nis ;) Kad startujes, ne poverujes da nisi u Win! Cak i system.fon koriste!!! E sad to sve zajedno je oko 400kb pa jedino da posaljem jedan exe, ali time bi se narusio sw koncept...? :)
pascal.424 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Fri, 2 Sep 1994 14:44:16 GMT Ivan Petrovic (omega@sezam.UUCP) wrote: :: Btw, kako to uopste funkcionise? I kako svaki od nodova "zna" ko je :: on-line? Pa lepo, kad se korisnik uloguje u jedan share-ovan faj se upise, ili njegov username, ili user ID, vreme logovanja i sta vec treba :) Pos- le kad korisniku saljes page, prvo proveris jel ga ima ulogovanog, ako ima, onda u nekom drugom fajlu proveris sta radi, pa ako prima pa- ge, u neki fajl PAGE??.DAT upises page poruku, a onda u drugom tasku programa (2. nod) funkcija check(), koja stalno proverava sta se dogadja procita velicinu fajla PAGE??.DAT, pa ako je > 0, onda ima page-a i to bacis na ekran, prosto, zar ne? :) -=> MM <=-
pascal.425 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Fri, 2 Sep 1994 14:46:25 GMT Dejan Ristanovic (dejanr@sezam.UUCP) wrote: : Svaki nod ima svoj redni broj, i cim neko dode na vezu (ili ode sa veze) : upise u odgovarajuci segment jednog deljenog fajla na serveru odgovarajuce : podatke o korisniku. I page-ovanje ide preko deljenih fajlova u posebnom : direktorijumu, svaki nod povremeno (i to dosta cesto) skanira ima li sta : za njega, pa ako ima izvrsi komandu koja mu je poslata. Vidi ti ovo, pa znaci nisam ni ja za bacanje :) To mu dodje isto ono sto mu ja napisah, hehe O:)) -=> MM <=-
pascal.426 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sat, 03 Sep 1994 13:17:30 ==== "Slobodan Tomic" rece: ====================================== "T> $ racuna o nasim slovima. Umesto da svakoj funkciji prosledjuje "T> podatak $ koja su nasa slova, to jednostavno podesis u glob "T> promenljivoj... "T> Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne "T> na nivou celog programa (mislio sam na te globalne promenljive). Znaci "T> globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva "T> je za ostatak programa), a njen sadrzaj se menja preko vidljivih "T> procedura, cime i dalje imamo lepu crnu kutijicu :). Star kako ko vise voli. Meni se vise svidja da tu promenljivu ostavim vidljivu, nego da pisem funkcije za menjanje njenog sadrzaja. Posebno mi to vise odgovara ako je promenljiva neki record, posto korisnik onda moze da promeni sadrzaj samo dela strukture bez nekih vecih komplikacija. ======= Usput, hteo bih da zamolim sezamovce da na pocetku poruke stavljaju jedno: 'To: username' posto mi ovde dobijamo da su poruke za All. Slucajno prepoznah da je citiran deo moje poruke pa sam pretpostavio da je odgovor bio upucen meni. ... COMPLAINTS > NUL * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.427 szeman,
Baš me zanima kao je rešeno deljenje pristupa datoteka u programu RIND. (Program je pisan na TP-u za one koji se pitaju zašto ovde postavljam pitanje ;) Ako neko može nešto više da napiše o deljenu pristupa datoteka na TP pri upisu, pošto to u osnovi (ako uopšte jeste) nije podržano kao kod C-a. Pozdrav, Saša
pascal.428 dejanr,
>> Baš me zanima kao je rešeno deljenje pristupa datoteka u programu RIND. Jako jednostavno, na početak programa se stavi filemode:=$42 i posle toga se koristi normalno reset. Fajlovi se tako otvaraju u modu koji omogućava da više programa istovremeno otvori isti .DBF. Naravno, sve to može zato što kod RIND-a svi samo čitaju bazu, a niko ne piše u nju. Ako treba da se obezbedi i upis u neku bazu, onda se mora ići na rešenje sa zaključavanjem slogova, za šta Turbo Pascal baš i nije opremljen, pa se koriste direktni pozivi DOS funkcija.
pascal.429 kenza,
(;> Ima li kakvih nagovestaja za pojavljivanje Borland Pascal 8.0 ? Rece mi ssokorac pre neki dan da bi trebalo uskoro da se pojavi. Kaze da je u Kanadi reklamna kampanja u toku i da se ocekuje svakog casa.
pascal.430 szeman,
>> Jako jednostavno, na početak programa se stavi >> filemode:=$42 i posle toga se koristi normalno reset. >> Naravno, sve to može zato što kod RIND-a svi samo čitaju >> bazu, a niko ne piše u nju. Naravno, to sam i predpostavljao. Ima li nekih indicija da će se to rešiti u nekoj od sledećih verzija TP-a?
pascal.431 peca.st,
!-> Program je Font Maker v3.0. Pravila su ga dva klinca iz Nis ;) Kad !-> startujes, ne poverujes da nisi u Win! Cak i system.fon koriste!!! Pa jel' u pitanju samo program koji ima Windows look, ili je to kompletna biblioteka (dakle, nevezana sa taj program) kao što je to Turbo vision? Peđa.
pascal.432 omega,
ŢPa jel' u pitanju samo program koji ima Windows look, ili je Ţto kompletna biblioteka (dakle, nevezana sa taj program) kao Ţšto je to Turbo vision? Nažalost samo look :(
pascal.434 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Mon, 5 Sep 1994 21:19:38 GMT Sasa Zeman (szeman@sezam.UUCP) wrote: :: Bas me zanima kao je reseno deljenje pristupa datoteka u programu RIND. :: (Program je pisan na TP-u za one koji se pitaju zasto ovde postavljam :: pitanje ;) Ako neko moze nesto vise da napise o deljenu pristupa datoteka :: na TP pri upisu, posto to u osnovi (ako uopste jeste) nije podrzano kao kod :: C-a. Pogledaj po starim PC.PROG konferencijama DZakiceve poruke u temi Pascal, nema ih mnogo, a jedna je bas na tu temu, ali za pocetak pogledaj u dokumentaciji/help-u FileMode... :)
pascal.435 pedjak,
> Rece mi ssokorac pre neki dan da bi trebalo uskoro > da se pojavi. Kaze da je u Kanadi reklamna kampanja u toku i > da se ocekuje svakog casa. Koje su novosti..?
pascal.436 pedjak,
> Naravno, to sam i predpostavljao. Ima li nekih indicija da će se to > rešiti u nekoj od sledećih verzija TP-a? A šta bi trebalo da se reši..? Jednostavno napišeš rutine za zaključavanje/otključavanje slogova i eto ti rešenja.
pascal.437 stomic,
$ Ovo meni sve liči na "Što prosto kad može komplikovano". Crne kutijice $ kako ih ti zoveš su ostavljene proizvođačima modula da zaštite princip $ rada svojih modula i da preko funkcija kontrolišu da li su prosleđeni $ podatci validni. Ako ti sam pišeš modul za sebe onda uopšte nemaš potrebe $ za tim. Em ima više koda, em je sporije. Navedeš promenljivu u Prvo, izvinjavam se što tek sada odgovaram na poruku :). Crne kutijice (npr. apstrakcija) ne služe da bi proizvođači zaštitili princip rada svojih modula, već da bi onaj koji koristi te module (makar na programu radio samo jedan čovek sa svim modulima koje je on napisao) oslobodio sebe razmišljanja baš o tom principu rada. Uopšte, zašto moraš da znaš princip rada modula koje koristiš? Tebe interesuje šta oni rade, a ne kako (tačka gde postaješ programer-korisnik). Samim tim se bolje koncentrišeš na glavni program a ne na neke pomoćne module koji se bave sporednim stvarima kao npr. interfaceom :) Da ne spominjem lakoću održavanja i čistoću izvornog koda. BTW, gotovo identična rasprava je bila pre nekih godinu i po :). --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.438 stomic,
$ timu, pošto sam većbio u jednom. Međutim ova diskusija je počela oko $ jednog programa jednog autora. Takvo čistunisanje je samo teret, jer $ da su globalne promenljive nepotrebne ne bi ih ni bilo. žistunisanje može biti trenutni teret, ali te oslobaća od kasnijih problema koji mogu nastati prljavim programiranjem. Zašto pereš zube kada je u trenutku samo teret :)? Glupo bi bilo tvrditi da su globalne promenljive nepotrebne; unutar samog modula ih često koristim. Ali se u velikoj većini slučajeva mogu izbeći (bez gotovo ikakvog dodatnog napora) za komunikaciju među modulima. Prilično velika diskusija na istu temu je bila pre oko godinu i po, tako da ne bih želeo da ponavljam iste odgovore :). --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.439 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 08 Sep 1994 19:19:17 "M> Sto stalno potezete to pitanje timova, ja znam sta treba za rad "M> u timu, posto sam vecbio u jednom. Medutim ova diskusija je pocela "M> oko jednog programa jednog autora. Takvo cistunisanje je samo teret, "M> jer da su globalne promenljive nepotrebne ne bi ih ni bilo. Ako i kad si sam radis kao da si u timu, pri ukljucivanju u timove ne moras ni malo da se prilagodjavas. Programiranje je izmedju ostalog i stvar navike i treba raditi tko da se naviknes na ono sto je najefikasnije. ... BR> Oreska BBS, Uzice, 031 28276 = 23:00-09:00 * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.440 kenza,
(;> Koje su novosti..? Kaze da bi DELPHI(bp8.0) trebao da podrzava CHICAGO, i da ce izaci u novembru.Videcemo..
pascal.441 drpr,
Haj svima, pravio sam jedan program tj. malo se igram sa merenjem vremena na compu, ne toliko merenjem, već da imam jedan što tačniji interval vremena (sekundu ili pola sekunde). Za tu svrhu sam koristio INT 15h fja 83h. Taj interapt postavlja user alarm koji će se javiti za broj mikrosekundi koji mu se zada. Sve sam ja to lepo napisao i probao da merim. Ja sam očekivao tačnost bar na milisekundu (greška od 1000 mikrosekundi), ali takvu tačnost nisam dobio, zašto ne znam. Nemoguće je da se vreme razlikuje za 3-4 mili sekunde?? Zanimljivo je da se proteklo vreme menja u intervalima, recimo kao (0.88 0.88 0.82 0.87.0.88 0.82.....) intervali su različiti za različite vremenske intervale, što bi verovatno trebalo da bude nekom indikativno. U samom sorsu (test.pas) se nalaze i procedure za startovanje i zaustavljanje int70h koje je pisao Vasic , jer neki biosi ovo isključuju, što kod mene nije slučaj, pa reko ajd da stavim ako nekom ko proba neće da radi. Sam sors je mali i ništa ne radi (sem dekrementiranja jednog brojaca) dok se na promenljivu "dali" ne postavi najviši bit kada je aktiviran alarm. Toliko od mene s nadom da će mi neko pomoći. cope PS Pitanje je možda čisto hardversko/asemblersko/msdosovsko pa su i ostale sugestije dobrodošle! PPS Ako mi neko predlaže da se kačim o int 1ch ili ostale tajmerske intove odma da kažem džaba, jer ako rešim ovo bezveze je kačiti se o neke interapte i tako praviti gluposti. PPPS Dat je i sors tpu-a kojim merim proteklo sistemsko vreme. alarm.zip
pascal.442 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:33:32 GMT Miljan Mitrovic (mmitrovic@sezam.UUCP) wrote: : Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne : na nivou celog programa (mislio sam na te globalne promenljive). Znaci : globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva je : za ostatak programa), a njen sadrzaj se menja preko vidljivih procedura, : cime i dalje imamo lepu crnu kutijicu :). : Ovo meni sve lici na "Sto prosto kad moze komplikovano". Crne kutijice : kako ih ti zoves su ostavljene proizvodacima modula da zastite princip : rada svojih modula i da preko funkcija kontrolisu da li su prosledeni : podatci validni. Ako ti sam pises modul za sebe onda uopste nemas potrebe : za tim. Em ima vise koda, em je sporije. Navedes promenljivu u : INTERFACE delu i nju ce videti svi moduli i program koji ima uses za taj : modul. : : Jedno modul.promenljiva:=vrednost je mnogo efikasnije od : modul.PostaviPromenljivu(vrednost); Mnogo? Koliko je to mnogo?:) Moderni kompajleri znaju da salju argumente u registrima, sto kad se primijeni na gornji primjer donosi za nijansu sporiji kod od direktnog pridruzivanja. Samo, nije poenta u tome koliko je sta brze. Najbrze je da se sve radi u jednom modulu, i to u asembleru. Banalizujem, ali ne mnogo vise nego ti. Za programe koji se rade adhoc, za jednokratnu upotrebu, i uz to su nekoliko kilo linija, nije bitno kako ga pises. Mnogi su se slozili. Medjutim, za projekte preko 10K linija, koji se odrzavaju vise godina, bitno je da su komponente sto slabije povezane (pojam slabe veze ima mnooogo veze sa globalnim varijablama, jer zahtijeva da moduli komuniciraju u sto manjem broju strogo kontrolisanih tacaka). Ja sam imao priliku da se vracam na programe koje sam radio prije dvije-tri godine, i veoma mi je pomogao nacin na koji su pisani. : Sad ako mislis da ces uspeti da sam sebi ukrades modul, onda : ne znam. ;) Ukrades?
pascal.443 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:49:02 GMT Miljan Mitrovic (mmitrovic@sezam.UUCP) wrote: : svoje tajne, vec da bi svaki modul imao jasno definisan interfejs. : Uhh :) : Recimo da si u pravu, i nazovimo to (u nedostatku boljeg izraza) : cistim programiranjem. Cisto programiranje nije i efikasno : programiranje, zbog razloga koje sam vec naveo. Ne postoje apsolutno : nijedan dobar razlog zbog koga bi trebalo sakrivati promenljive od : samog sebe. Specijalno one koje se koriste u visim modulima i u samom : programu. Naveo si nesto sto TI smatras argumentom, a prosta analiza dva fragmenta koda bi pokazala da je razlika smijesna. Drugo, dobar razlog za sakrivanje promjenljivih je pojednostavljivanje interfejsa, nebitno za interfejse sa tri varijable i pet procedura uz jedan ili dva tipa podataka, koji se uz to koristi u jednom ili najvise dva modula. Jos jedan dobar razlog je cistoca koda i imena koja se daju. Lakse cu i kvalitetnije dati dva nego dvadeset imena. T(B)P ima (po meni) gadan ambiguity, a to je da nece da vrisne ako se ponovi neko ime u nekom interfejsu pri parsiranju USES (dozvoljava on modul.objekat, ali treba to PRIMIJETITI na vrijeme, sto je lako kad se cijeli program radi u komadu, a nemoguce kad program raste vremenom, sto je common case). Prava potreba za skrivanjem nastupa kod apstraktnih tipova podataka. ADT je uglavnom pointer na neku strukturu, a operacije nad njim su procedure koje izmedju ostalog postavljaju i razna polja unutar te strukture. Mnoge procedure samo to i rade, pa bi (po tebi) najbolje bilo ubaciti tu strukturu u interfejs i izbaciti suvisne procedure:). I naravno, pozdraviti se sa idejom o unapredjivanju takvog ADT, jer svaka promjena povlaci promjenu u proizvoljnom broju modula koji uvoze taj interfejs. : Sto se tice zastite o kojoj sam govorio, nju sam naveo iz licnog : iskustva vezanog za analizu TVision objekata. Kad se izvuku privatni : metodi i polja, ceo princip funkcionisanja TVa postaje mnogo jasniji. : Probaj (opet ako si radio sa TVom) da objasnis na koju foru rade : Load, Store, PutPeerView, itd objekti za rad sa Strimovima. Odokativno : izgleda kao da tu nesto fali i uopste nije bilo jasno sta se tu i : na koji nacin odvija (narocito sa snimanjem pointera koji se svaki put : drugde nalaze). Analizom metoda i privatnih polja koja koriste ceo : princip se pokazao savrseno jednostavnim. Da si probao RTFM, sto je standardni pristup, skontao bi i prije. Da radis sa iole kompleksnijim klasama/modulima/unitima, ili nekima koje si kupio/dobio kao object module, to bi ti jedino i ostalo, a to i jeste profesionalni pristup.
pascal.444 pedjak,
> Pitanje je možda čisto hardversko/asemblersko/msdosovsko pa su > i ostale sugestije dobrodošle! Zašto ne probaš da kontrolišeš vreme preko 8253 i njegovog kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? Naime, njegov brojac broji od 65535 do 0 i zatim okida int 8h. Teoretski možeš postići rezoluciju od 838 nanosekundi. Sa nekih prašnjavih disketa sam iskopao ovo TPHRT V3. Mana je jedino što ima .tpu fajlove za TP 5.0 i 5.5, tako da jedino da probaš sa nekim od njih ili da probaš da propustiš .tpu kroz TPU2ASM i da probaš da isčupaš relevantne rutine. Evo šta kaže DOC: TPHRT (Turbo Pascal High Resolution Timer) is a software library that provides the software developer with reliable timing functions that work across the entire Intel 80xxx PC compatible hardware environment with microsecond resolution. The TPHRT timing logic calibrates itself to the host PC clock rate and processor environment at run-time, so a single executable program will yield accurate results regardless of the host microprocessor and clock speed. tphrtv3.arj
pascal.445 omega,
Ţ Zasto ne probas da kontrolises vreme preko 8253 i njegovog Ţ kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? Naime, Ţ njegov brojac broji od 65535 do 0 i zatim okida int 8h. Teoretski Ţ mozes postici rezoluciju od 838 nanosekundi. Naravno, to je CISTA teorija. 1.19Mhz nema sanse da izvuces, ali mozes bar 22KHz, tj. oko 45 mikrosekundi...Jos ako kupis nove Racunare (102), sve ce ti biti jasno ;)
pascal.446 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:50:50 GMT Predrag Knezevic (pedjak@sezam.UUCP) wrote: : > Jasno, ali je poenta u tome sto je doticni program pisan u Moduli, a : > sad bi trebalo da se prevede na Paskal. Posto se radi o povecem : > programu, nesto : Eh, da me sad vidi dragisha :) Koja te je muka navela da prevodis : program na paskal..? Big Brother is watching you!:)))) A bogami i Atilu! :)
pascal.447 janko,
Da li je operator @ dokumentovan u Turbo Paskalu i sta uopste radi?
pascal.448 ilazarevic,
> Da li je operator č dokumentovan u Turbo Paskalu i sta uopste radi? Prvo, sori što je to kod mene č a ne "majmun", radim na juskiju. Drugo, dokumentovan je, i vraća adresu promenljive ili čega već. Sinonim je funkcija Addr.
pascal.449 petkovicd,
kN Kako se u TVisionu Prozor = object(TWindow) moze koristiti kao obican ekran na koji neka procedura posle obavlenog posla izbaci izvestaj (neki tekst)? U Prozor je ubacen TScroller. Nije problem otvoriti prozor i ubaciti u njega tekst koji je jednom procitan nego u isti prozor stalno ubacivati nov tekst. :)ejan
pascal.450 dejanr,
>> Da li je operator @ dokumentovan u Turbo Paskalu i sta uopste radi? Dokumentovan je, vraća adresu onoga na šta ga primeniš (obično promenljive)
pascal.451 janko,
Nevr majnd za juski, i ja ga koristim, otkačio sam ga samo da bih maksimalno skratio pitanje. Pitanje sam postavio jer radim program koji bi trebalo da parsira TP kod, a pri ruci sam imao samo help iz TP 5.5 i 6.0. U TP 5.5 se operator pominje samo kada pominju prioritete, a u šestici ga nema nigde, pa sam se malo čudio. Pitanje dva: Ima li neko originalne menjuele koji idu uz TP 4.0? tag: Manuel! Ke?H
pascal.452 ilazarevic,
> Pitanje sam postavio jer radim program koji bi trebalo da > parsira TP kod, a pri ruci sam imao samo help iz TP 5.5 i 6.0. žudi me, zakleo bih se da ga u šestici ima sigurno?!
pascal.453 postmast,
From: ss45791d@buefhp.etf.bg.ac.yu (Srdjan Simic) Subject: pascal Date: Tue, 20 Sep 1994 01:31:19 GMT "Ivan Lazarevic" <ilazarevic@sezam.UUCP> je napisao: > Cudi me, zakleo bih se da ga u sestici ima sigurno?! I mene cudi narocito sto sam pogledao u help i tamo je :) -- Srdjan Simic ss45791d@buefhp.etf
pascal.455 postmast,
From: Ognen.Duzlevski@f108.n108.z38.setgate.setnet.co.yu (Ognen Duzlevski) Subject: Re: TP & ASM Date: Sat, 17 Sep 1994 16:08:01 PS> Nadam se da nece zvucati suvise laicki, ali me oduvek zanimalo kako PS> se pisu ASM u TP-u; koja je sintaksa, koje mogucnosti, koja PS> ogranicenja i o cemu treba voditi racuna? Imass dve moguccnosti za mesanje ASM u TP source: 1. procedure DoSmt(var S:String); assembler; asm les di,s mov es:[di],0 ; duzzina stringa je sada 0... end; Ova procedura sa rezervisanom reci assembler generise nesto manji ulazni i izlazni kod od obicne TP procedure. Kod funkcija rezultat se vraca u registru AX ili DX:AX, zavisno od tipa funkcije. 2. Direktno mesanje ASm koda u TP kod: .... WriteLn('.....'); . . . ASM mov ax,bx xchg cx,bx . . . END; WriteLn('Opet paskal...:) '); . . . end. E, sada, ASM kod mozze da pristupa svim TP promenljivima itd. 32-bitne asm instrukcije nisu direktno podrzane ali se to zaobilazi upotrebom opcode-a 60h ispred date asm instrukcije. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.456 mvulovic,
> Ţ Zasto ne probas da kontrolises vreme preko 8253 i njegovog > Ţ kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? > Naime, Ţ njegov brojac broji od 65535 do 0 i zatim okida int > 8h. Teoretski Ţ mozes postici rezoluciju od 838 nanosekundi. > > Naravno, to je CISTA teorija. 1.19Mhz nema sanse da izvuces, > ali mozes bar 22KHz, tj. oko 45 mikrosekundi...Jos ako kupis > nove Racunare (102), sve ce ti biti jasno ;) Prvo, piše ematic, istekla mi je pretplata pa do daljneg virim preko ramena mvul-u ;), a sudeći po novim cenama pretplate tako će i da ostane ;). Elem, pre par meseci sam imao isti problem kao cope, naime trebale su mi precizne kratke pauze. Prvo sam probao preko int 15h, f-ja 86h (wait f-ja). Ona meri vreme uz pomoć RTC-a i njena granularnost je mislim 973 Šs, ali preciznost ipak nije zadovoljavajuća. Bolje rečeno, preciznost je ok ako se iz komada prave veće pauze reda recimo sekunde, međutim kad su potrebni intervali reda ms, pa se to još zatvori u neku petlju, dolazi do greške, pretpostavljam zbog vremena koje odlazi na sam poziv interapt mehanizma pa se to vreme akumulira ili šta ja znam ;). Zato me je muka naterala ;) da pročačkam malo oko 8253, da vidim šta može tu da se uradi. Za one koji ne znaju, 8253 sadrži tri nezavisna tajmera koji mogu da rade u 6 modova rada. Izlaz tajmera 0 je vezan za interapt kontroler i kreše int 8, tajmer 1 je vezan za dma kontroler i služi(o) je za refresh dinamičkih memorija, a tajmer 2 je namenjen generisanju zvuka. Vrednosti tajmera 0, 1 i 2 mogu da se čitaju/pišu sa portova 40h, 41h i 42h respektivno, dok se upravljački registar 8253 nalazi na portu 43h i to je otprilike to što se tiče sâmog 8253. Samo po sebi se nametnulo da je za zajebanciju ;) najbolje ne čačkati mečku sa tajmerom 0 i 1 nego iskoristiti tajmer 2. Prema dokumentaciji, gejt tajmera 2 se nalazi na bitu 0 porta B PPI-a (port 61h), bit 1 istog porta se and-uje sa izlazom i ide na zvučnik, a sâm izlaz tajmera 2 možemo pratiti na bitu 5 PPI porta C (62h) (o tome kasnije). Dalje je prosto, ako hoćemo recimo ton određene frekvencije stavljamo 8253 u mod 0, odabiramo tajmer 2, punimo ga sa vrednošću kojom delimo ulazni klok 8253 (1.19318 MHz), kresnemo gejt (PPI B, bit 0), aktiviramo i bit 1 istog porta i svirka kreće. Ako ne želimo svirku, bit 1 istog porta se stavi da bude nizak i nema muzike. U modu 3 ciklus se ponavlja samo jednom i nakon toga se izlaz sa tajmera 2 postavlja na keca i to je to što je potrebno da bi se pravila kratka pauza, dovoljno je da propratimo izlaz tajmera 2 i gotova stvar :) Sve je to divno i krasno, i sve piše u dokumentaciji pa da ne prepisujem. Međutim, stvar je u tome da jeste to tako kod XT-a, ali već nadalje ovo ne važi, to jest izlaz sa tajmera 2 se *ne nalazi* tamo gde piše u dokumentaciji, na bitu 5 PPI porta C, već na bitu 5 PPI porta B (bar kod moje i još par parova mašina). Dok sam to provalio počeo sam da ćelavim, što mi pored kilaže koju polako povećavam i nije baš potrebno ;>. To najbolje znaju zak, cvele i zlaya sa kojima sam brbljao o ovoj temi i koje sam terao da listaju manuale da vidim gde grešim, međutim pošto ja ne grešim O;) znači da greši dokumentacija. Koristim ovu priliku i da im se zahvalim što su saosećali sa mnom ;) Zato, da bih video gde se nalazi izlaz sa tajmera 2 upotrebio sam silu ;) i sklepao sledeće programče, izvršni program je vezan uz poruku: TIMERCTRL equ 43h TIMER2 equ 42h PPI_B equ 61h PPI_C equ 62h CR equ 13 LF equ 10 IFNDEF DELILAC DELILAC equ 1193 ENDIF code segment assume cs:code, ds:code org 100h main proc mov ah, 09h mov dx, offset header int 21h petlja: mov ah, 0eh in al, TIMERCTRL mov dl, al in al, PPI_B mov dh, al in al, PPI_C mov bh, al mov al, dl call write mov al, dh call write mov al, bh call write mov al, CR int 10h mov ah, 1 int 16h jz petlja xor ax, ax int 16h cmp al, 'u' je timeron cmp al, 'U' je timeron cmp al, 't' je soundon cmp al, 'T' je soundon cmp al, 'i' je timeroff cmp al, 'I' je timeroff cmp al, ' ' jne petlja mov ah, 0eh mov al, CR int 10h mov al, LF int 10h mov al, LF int 10h mov ax, 4c00h int 21h timeron: mov al, 0b6h out TIMERCTRL, al mov ax, DELILAC out TIMER2, al mov al, ah out TIMER2, al in al, PPI_B or al, 1 out PPI_B, al jmp petlja soundon: mov al, 0b6h out TIMERCTRL, al mov ax, DELILAC out TIMER2, al mov al, ah out TIMER2, al in al, PPI_B or al, 3 out PPI_B, al jmp petlja timeroff: in al, PPI_B and al, 0fch out PPI_B, al jmp petlja main endp write proc mov bl, al mov ah, 0eh mov cx, 8 inner: mov al, '1' shl bl, 1 jc dalje mov al, '0' dalje: int 10h mov al, ' ' int 10h loop inner mov al, ' ' int 10h int 10h ret write endp header db CR, LF db '''U'' ukljucenje, ''T'' uklj+ton, ''I'' iskljucenje, spejs kraj' db CR, LF, CR, LF db 'TIMER CTRL(43h) PPI PORT B(61h) PPI PORT C(62h)', CR, LF db '7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0', CR, LF db '$' code ends end main Dakle, pusti se ovo gore i gde počne da promrdava kec tu je otprilike izlaz tajmera 2 ;) Kada se to utvrdi, može da se napiše funkcija koja pravi tačnu i dovoljno kratku pauzu. Evo jedne takve, za pauze od 1 do 55 ms, pa ko hoće nek je koristi i krpi po želji: void pascal pauza(int vreme) /* u ms */ { vreme = vreme * 1193; asm { cli mov al, 0b0h out 43h, al mov ax, vreme out 42h, al mov al, ah out 42h, al jmp S2 } S2: asm { in al, 61h mov ah, al or al, 1 out 61h, al jmp cekaj } cekaj: asm { in al, ONAJ_PORT_GDE_JE_IZLAZ_TAJMERA test al, BIT_NA_KOME_JE_IZLAZ_TAJMERA jz cekaj sti } } Zasad toliko. Koga zanima još nešto neka pita slobodno pa da pojasnim. Takođe se izvinjavam zbog čaršava. Ako je poruka pomalo (xe, pomalo ;) konfuzna takođe se izvinjavam, beletristika mi nikad nije bila jača strana ;) Pozdrav ematic :) mrdaj.com
pascal.457 janko,
> "Ivan Lazarevic" <ilazarevicčsezam.UUCP> je napisao: >> Cudi me, zakleo bih se da ga u sestici ima sigurno?! > > I mene cudi narocito sto sam pogledao u help i tamo je :) A gde tamo, interesantan sam znati. Tamo gde su svi drugi (pod naslovom "OPERATORS") nema ga, nema ga u indeksu...?
pascal.458 postmast,
From: ss45791d@buefhp.etf.bg.ac.yu (Srdjan Simic) Subject: pascal Date: Sat, 24 Sep 1994 01:26:48 GMT >A gde tamo, interesantan sam znati. Tamo gde su svi drugi (pod naslovom >"OPERATORS") nema ga, nema ga u indeksu...? Moja greska gledao sam u help od 7.0 :( Operator @ je doduse objasnjen u knjizi. -- Srdjan Simic ss45791d@buefhp.etf
pascal.459 inikolic,
Imam problem koji i nije za ovu konferenciju, ali posto radim u PASCAL-u ostavljam ga ovde: 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj ASCII karakter pa promena oko rasporeda slova nije problem, ali ENTER-a nigde nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga promenim, po mogucstvu u PASCAL-u premda moze i ASM. 2. HZanima me kako da detektujem ring na modem. U stvari ja ga detektujem ali mi posle toga blokira i za sledecu zvonjavu ne javlja ring, procedura koju sam napisao nije velika i stoga je ovde nisam poslao, zato molim one koji imaju konkretno resenje, da mi ga dostave ovde, predlozi nisu potrebni jer i ja imam ideju ali nece, zato me zanima konkretno, pomogucstvu neka bude u ASM-u posto je PASCAL u tim stvarima malo skrt. unapred hvala IGOR
pascal.460 omega,
Ţ 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj ASCII Ţ karakter pa promena oko rasporeda slova nije problem, ali ENTER-a nigde Ţ nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga promenim, po Jel nije? ;) A sta je onda ASCII kod 13?
pascal.461 dejanr,
>> 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj >> ASCII karakter pa promena oko rasporeda slova nije problem, ali ENTER-a >> nigde nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga >> promenim, po mogucstvu u PASCAL-u premda moze i ASM. Enter je chr(13), a obično do njega ide i chr(10) (line feed). >> 2. HZanima me kako da detektujem ring na modem. Imaš dve mogućnosti, svaka ima svoje prednosti i mane. Jedna je da koristiš RING liniju RS-232 porta, druga je da detektuješ tekst RING (po ASCII-ju) koji modem šalje. Verovatno je ovo drugo lakše. Imaš u direktorijumu PASCAL unit(e) koji rešavaju probleme komunikacija, možda da pogledaš neki od njih?
pascal.462 inikolic,
Dorada pitanja: 1. Poznato mi je da je ASCII kod Enter-a #13 i da je #10 prelazak u sledei red , ali pitanje je gde je to zapisano u TXT datoteci? Konkretno mi treba da one silne entere koje Word4Win nalazi na kraju svakog reda u tekstu kucanom u recimo CW-u da skine, da bi moglo lepo da se sredi strana, a ne da ja peske to skidam u Word-u. Znaci pitanje je gde ih on pise? 2. Ring sam uspeo da detektujem procedura je sledeca: mov AH,03h mov AL,00h mov DX,00h - com1 Int 14h Test AL,01000000b jz Detect HHHjmp Kraj Detect: Sta ovde Kraj: Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, probao sam , posto je ovo radjeno u pascal-u, da kada ga detektujem izbacim RING klasicno naredbom WriteLn ali kada startujem program on odma pocinje da pise RING. Gde je greska? Molim da mi dostavite ako moze gotovu proceduru. IGOR
pascal.463 evlad,
>> 1. Poznato mi je da je ASCII kod Enter-a #13 i da je #10 prelazak u >> sledei red , ali pitanje je gde je to zapisano u TXT datoteci? Konkretno >> mi treba da one silne entere koje Word4Win nalazi na kraju svakog reda u >> tekstu kucanom u recimo CW-u da skine, da bi moglo lepo da se sredi >> strana, a ne da ja peske to skidam u Word-u. Znaci pitanje je gde ih on >> pise? Uzmes LIST sa sezama i kada udjes u file otkucas ALT H pa ce ti biti jasno gde se nalaze. Ako si stavio: Var dat : File; dat1 : Text; dat je ne tipizirana datoteka i koristis read i write i ako citas datoteku byte po byte naici ces i na kontrolne CR i LF. dat1 je tipizirana datoteka i koristis readLN i writeLN tako da sam paskal 'vodi racuna' od CR i LF. Capito ? >> Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, probao >> sam , posto je ovo radjeno u pascal-u, da kada ga detektujem izbacim >> RING klasicno naredbom WriteLn ali kada startujem program on odma >> pocinje da pise RING. Gde je greska? Molim da mi dostavite ako moze >> gotovu proceduru. Probaj sa paskalovom naredbom rdbyte := PORT[adresa] da iscitas vrednost iz registra UART-a. +----------------+ | (* THE ASYNCHRONOUS COMMUNICATION ADAPTER | *) (* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *) (* The Registers of the 8250,16550 Asynchronous Communication Element *) (* ================================================================== *) (* *) (* Recieve Buffer / Transmitter Holding Register port 0x3f8 0x2f8 *) (* 0-7 8-bit data character *) (* *) (* Interrupt Enable Register port 0x3f9 0x2f9 *) (* 0 Recieved data available *) (* 1 Transmitter holding register empty *) (* 2 Receiver line status *) (* 3 Modem status *) (* 4-7 (unused) *) (* *) (* Interrupt Identification Register port 0x3fa 0x2fa *) (* 0 Interrupt pending (0 = true, 1 = false) *) (* 1-2 Interrupt type *) (* 11 = Receiver line status (OE, PE, FE, BI) *) (* 10 = Received data available (DR) *) (* 01 = Transmitter holding register empty (THRE) *) (* 00 = Modem status (DCTS, DDSR, RI, DDCD) *) (* 3-7 (unused) *) (* *) (* Line Control Register port 0x3fb 0x2fb *) (* 0 WLS0 Word length select *) (* 1 WLS1 Word length select *) (* 00 == 5 bits *) (* 01 == 6 bits *) (* 10 == 7 bits *) (* 11 == 8 bits *) (* 2 STB Number of stop bits *) (* 0 == 1 stop bit *) (* 1 == 2 stop bit *) (* 3 PEN Parity enable *) (* 4 EPS Even parity select *) (* 10 == Undefined *) (* 00 == No parity *) (* 01 == Odd parity *) (* 11 == Even parity *) (* 5 SP Stick parity *) (* 6 BRK Set break *) (* 7 DLAB Divisor latch access bit *) (* *) (* Modem Control Register port 0x3fc 0x2fc *) (* 0 DTR Data terminal ready *) (* 1 RTS Request to send *) (* 2 OUT1 (not connected) *) (* 3 OUT2 Enable interrupt buffer *) (* 4 LOOP Loopback (CTS, DSR, DCD, RI = DTR, RTS, OUT1, OUT2) *) (* 5-7 (unused) *) (* *) (* Line Status Register port 0x3fd 0x2fd *) (* 0 DR Data ready *) (* 1 OE Overrun error *) (* 2 PE Parity error *) (* 3 FE Framing error *) (* 4 BI Break interrupt *) (* 5 THRE Transmitter holding register empty *) (* 6 TSRE Transmitter shift register empty *) (* 7 (always zero) *) (* *) (* Modem Status Register port 0x3fe 0x2fe *) (* 0 DCTS Delta clear to send *) (* 1 DDSR Delta data set ready *) (* 2 TERI Trailing edge ring indicator *) (* 3 DDCD Delta data carrier detect *) (* 4 CTS Clear to send *) (* 5 DSR Data set ready *) (* 6 RI Ring indicator *) (* 7 DCD Data carrier detect *) (* *) (* Note : The port addresses are shown as COM1 first, then COM2 *) (* *) (* Divisor Latch Low Byte port 0x3f8 0x2f8 *) (* Divisor Latch High Byte port 0x3f9 0x2f9 *) (* *) (* Example: *) (* Divisor = 115200 / BaudRate *) (* *) (* Baud Rate DLHB DLLB *) (* 50 0x09 0x00 *) (* 75 0x06 0x00 *) (* 110 0x04 0x17 *) (* 134 0x03 0x59 *) (* 150 0x03 0x00 *) (* 300 0x01 0x80 *) (* 600 0x00 0xC0 *) (* 1200 0x00 0x60 *) (* 1800 0x00 0x40 *) (* 2000 0x00 0x3A *) (* 2400 0x00 0x30 *) (* 3600 0x00 0x20 *) (* 4800 0x00 0x18 *) (* 7200 0x00 0x10 *) (* 9600 0x00 0x0C *) (* 19200 0x00 0x06 *) (* 38400 0x00 0x03 *) (* 57600 0x00 0x02 *) (* 115200 0x00 0x01 *) (* *) (*************************************************************************) U modem status registru je ring inikator, pa se igraj do mile volje ;). Izvinjavam se sto je poruka mal(k)o duza.
pascal.464 inesic,
> Izvinjavam se sto je poruka mal(k)o duza. Neka, neka.
pascal.465 duzle,
Da li je neko video neuralnu mrežu implementiranu u paskalu i kako to izgleda i da li se neko bavi ovde veštačkom inteligencijom (posebno me interesuje da li poseduje literaturu u elektronskom obliku vezanu za neuro-mreže).
pascal.466 drpr,
-> pravi tačnu i dovoljno kratku pauzu. Evo jedne takve, za -> pauze od 1 do 55 ms, pa ko hoće nek je koristi i krpi po -> želji: Prvo hvala na iscrpnom odgovoru. Javljam se malo sa zakašnjenjem jer sam bio na (ne)zasluženom odmoru pa sam tek sada pročitao tvoju poruku. Moram priznati sa zadovoljstvom. Napravio sam mali test programčić i sve šljaka kako treba sa tačnošću koja više nego zadovoljava. Na mestu kada ispituješ port ja sam samo ubacio jedno inkrementiranje i merio razlike. Ja imam problem da mi treba vremenski period od jedne sekunde ili pola sekunde i dosao sam do odličnih rezultata. Prvo procedura je brojala za oko 1 sec (pisano asemblerski u pascalu) 376000 puta što mi je više nego dovoljno. najvažnije je da su se razlike kretale od 0 do 7 brojanja što na toliku cifru izgleda zanemarljivo i uočio sam da mi je najbolji osnovni interval negde oko 45 milisekundi. Još jednom ti se zahvaljujem a ako nekog zanima taj test program vrlo radu ću ga baciti ovde u conf mada mislim da svako može da prepravi po svojoj potrebi sors koji si nam dao. cope PS Da upotpuniš kolekciju ljudi i meni je port 61h 5 bit a imam 386 na 33 MHz.
pascal.467 mjova,
> treba da one silne entere koje Word4Win nalazi na kraju > svakog reda u tekstu kucanom u recimo CW-u da skine, da bi > moglo lepo da se sredi strana, a ne da ja peske to skidam > u Word-u. Znaci pitanje je gde ih on pise? uh, svašta. pa zar ne znaš za autoformat? to sve može word sam da sredi. lakše je napisati čak i makro za word, no petljati po datoteci...
pascal.468 ognjen,
Ja ne znam da li radi onaj Debugger iz TP 6.0 ??? Lepo prekinem program na tacno odredjenom mest, posmatram promenjljive, i radim step po step, i gldam. I sve izgleda u redu. Kada dodje do linije Write (WriteFile, TxtChar); sve izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem iz programa (pustim ga da se zavrsi do kraja), i pogledam datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam gledao kako radi program, i nije prijavljivao nikakvu gresku! U cemu je stvar???
pascal.469 janko,
>> treba da one silne entere koje Word4Win nalazi na kraju >> svakog reda u tekstu kucanom u recimo CW-u da skine, da >> bi moglo lepo da se sredi strana, a ne da ja peske to >> skidam u Word-u. Znaci pitanje je gde ih on pise? > > uh, svašta. pa zar ne znaš za autoformat? to sve može word > sam da sredi. lakše je napisati čak i makro za word, no > petljati po datoteci... Problem je klasičan i izuzetno lak za rešavanje -- tekst u CW snimiš kao običan tekst fajl. Onda taj tekst fajl daš jednom malom programčiću da isfiltrira, pa isfiltrirani fajl uvučeš u Word. Bitno je da pišeš pasuse tako da izgledaju ovako red teksta prvog paragrafa red teksta prvog paragrafa red teksta novog paragrafa. tj da paragrafe odvajaš jednim praznim redom. Programčić za filtriranje iseci iz ove poruke i nazovi todoc.awk Da bi ga pokrenuo, skini program AWK 3.0 sa Sezama (bio u nekoj od starijih programerskih konferencija, ne znam zašto ga nema u dirovima (Bulajoooo? ;) ) i kucaj u DOS komandnoj liniji: AWK todoc IMETVOGTXTFAJLA > IMENOVOGFAJLA ---- cut ---- (program written by Janko ;> ) ---- BEGIN { p=0 } /^([\ \t])*$/ { p=1 } p==0 { printf("%s ",$0) ; p=0 } p==1 { print $0 ; p=0 } ---- cut ---- Ako ne iskopaš AWK, skini GAWK koga ima u Sez. dir i koji je malo veći jer ima i sors, ali je u poslednjem parčetu višedelne arhive i .EXE Njegova sintaksa je GAWK -f todoc.awk IMETVFAJ > IMENOVFAJ a programčić je isti.
pascal.470 omega,
Ţ redu. Kada dodje do linije Write (WriteFile, TxtChar); sve Ţ izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem Ţ iz programa (pustim ga da se zavrsi do kraja), i pogledam Ţ datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam Ţ gledao kako radi program, i nije prijavljivao nikakvu gresku! U Ţ cemu je stvar??? Verovatno si zaboravio close(WriteFile); na kraju.
pascal.471 dejanr,
>> Kada dodje do linije Write (WriteFile, TxtChar); sve >> izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem >> iz programa (pustim ga da se zavrsi do kraja), i pogledam >> datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam >> gledao kako radi program, i nije prijavljivao nikakvu gresku! U >> cemu je stvar??? Za početak, proveri da li si datoteku zatvorio.
pascal.472 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 30 Sep 1994 11:34:55 "N> Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, "N> probao sam , posto je ovo radjeno u pascal-u, da kada ga detektujem "N> izbacim RING klasicno naredbom WriteLn ali kada startujem program on "N> odma pocinje da pise RING. Gde je greska? Molim da mi dostavite ako Mislim da nepotrebno komplikujes. Preporucljivije je da RING detektujes tako sto ocekujes da ti modem posalje rec 'RING' nego da cekas da proveravas statusne registe. Cak je i standardom ovo preporucen metod. Video sam da neki programi koriste kombinaciju: cekaju i na promenu statusa i na RING od modema. ... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.473 postmast,
From: Stevan.Dejanovic@f119.n111.z38.setgate.setnet.co.yu (Stevan Dejanovic) Subject: rs232 Date: Thu, 29 Sep 1994 22:01:06 Nabavio sam unit rs232.tpu, i neznam kako da ga koristim, tj. modem mi je instaliran na com4 i kad unesem taj podatak nece da posalje poruku modemu kao da program nije predvidjen za com4. Probao sam sa com1 tj. sa misem i onda radi. Posto me mrzi da menjam com na modemu da li postoji neko drugo resenje. => Mad Dog <= ... Not tonight, dear. I have a modem. * Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.474 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: rs232 Date: Sat, 01 Oct 1994 11:35:51 ==== Stevan Dejanovic rece: ====================================== SD> Nabavio sam unit rs232.tpu, i neznam kako da ga koristim, SD> tj. modem mi je instaliran na com4 i kad unesem taj podatak SD> nece da posalje poruku modemu kao da program nije predvidjen za SD> com4. Probao sam sa com1 tj. sa misem i onda radi. Verovatno ta bibilioteka ne podrzava druge portoveosim COM1 i COM2. Probaj Async. nisam je probao na com3 i 4 posto modeme uvek montiram na com1 ili com2, ali po dokumentaciji, trebalo bi da radi. ... BR> All good and evil of this world is in a woman. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.475 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Lokalne konstante Date: Sat, 01 Oct 1994 23:12:01 Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri u kojoj su definisane? Pojavio mi se problem, da se unapred definisana promenljiva koja je definisana u const sekciji procedure ponasala kao globalna. Evo otprilike kako je to izgledalo: Program test; Procedure A; const testc : string[8] = '00000000'; begin { ovde je kod koji menja sadrzaj testc } end; begin Procedure A; { medjukod } Procedure A; end; Problem je u sledecem: kada je procedura A prvi put izvrsena, promenljiva testc dobija zadatu vrednost '00000000', a kasnije se ta vrednost u samoj funkciji menja. Kada je procedura A u glavnom programu ponovo pokrenuta, vise se ne menja vrednost testc, tj. ne postavlja se ponovo na '00000000' vec zadrzava vrednost koju je imala kada je prosli put zavrseno izvrsavanje procedure. Problem sam resio tako sto sam preskocio da promenljivu definisem u const sekciji, nego na uobicajeni nacin, na pocetku procedure, i tada je sve radilo. Ipak, zanimjivo je da se ovako ponasa... Broker ... BR> Sankcije? Najzad svoji na svome. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.476 ognjen,
Vec sam rekao da mi ne radi upisivanje u fajl sa Write (WriteFile, TxtChar); do kraja, a sada naslucujem i zasto. Naime, primetio sam da nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i dalje je bila ista stvar. :( Podigao sam i sistem sa diskete, i ponovio sve, ali i dalje ne radi. Verovatno je 'kriv' TP (6.0). Da li on ima neki bafer u koji privrmeno smesta podatke za upis, pa tek kad se isti napuni on ka isprazni na disk? Ne bi trebao, ali mozda...?
pascal.477 mjova,
> Problem je klasičan i izuzetno lak za rešavanje pazi, nije da mi se rešenje AWKom nije dopalo, već se radi o tome da Word ima autoformat komandu koja baš to radi i još mnogo više! samo treba uzeti dokumentaciju (iz helpa ;) u ruke...
pascal.478 dejanr,
>> Problem je klasičan i izuzetno lak za rešavanje -- tekst u CW snimiš >> kao običan tekst fajl. Onda taj tekst fajl daš jednom malom programčiću >> da isfiltrira, pa isfiltrirani fajl uvučeš u Word. >> >> Bitno je da pišeš pasuse tako da izgledaju ovako >> >> red teksta prvog paragrafa >> red teksta prvog paragrafa >> >> red teksta novog paragrafa. >> >> tj da paragrafe odvajaš jednim praznim redom. Da... ako se tekst namenski piše tako da bude zgodan za konverziju. U praksi to obično nije slučaj, dobiješ često tekst bez praznih redova među pasusima. Ako neko uvlači pasuse za par blankova, i to je dosta, ali biva da se i to ne radi, ili se ne radi uvek, naročito kada postoje neka nabrajanja, listinzi itd. Međutim, Chi (bar verzije koje sam ja viđao) imaju zgodnu osobinu da, pri export ascii, na krajeve redova koji nisu krajevi pasusa stave po jedan blanko, dakle tekst izgleda ovako (_ je oznaka za blanko): red teksta iz prvog pasusa_ drugi red teksta iz provog pasusa_ treći red teksta iz prvog pasusa čitav drugi pasus prvi red teksta iz trećeg pasusa_ itd. Štos je da se to onda uvuče u WordPerfect (ili nešto drugo) pa onda ide: zameni _[HRt] sa ##$$ zameni [HRt] sa _ zameni ##$$ sa [HRt][HRt] I rešen problem.
pascal.479 isekulovic,
>> Vec sam rekao da mi ne radi upisivanje u fajl sa Pretpostavljam da radiš Rewrite(f); probaj sa: Rewrite(f,1);
pascal.480 janko,
> pazi, nije da mi se rešenje AWKom nije dopalo, već se radi > o tome da Word ima autoformat komandu koja baš to radi i > još mnogo više! samo treba uzeti dokumentaciju (iz helpa > ;) u ruke... Izvini, kada kažeš Word, na koji Word misliš? 2 ili 6? U 2 nisam primetio tako nešto, a na 6 se još nisam nakanio... Svejedno, ovo je programerska konf. pa je bilo logično da se pokaže programersko rešenje. Ako ništa drugo, viđi ga al' je lijep. ;) Šalim se, ono što mi stvarno fali je što Word ne ume da radi ništa pod milim bogom sa regularnim izrazima a oni su takoooo zgodni. (Jao al' zastranismo ;) Da se ne bi mrdala poruka, moram da dam odgovor onom momku (Predrag) koji je pitao zašto mu tipizirani CONST zadržava vrednost između dva poziva TP fje: zato što TAKO TREBA. Tipizirani CONST u pozivu fje je ono što se u FORTRAN-u zove SAVED promenljiva (ako se sećam) ili u C-u static promenljiva u fji -- baš joj je i namena da pamti šta je rađeno u poslednjem pozivu. Dizajneri TP-a su očigledno bili dobro upoznati sa svim prednostima C-a, pa su se potrudili da što više C fora ubace u (da zlobno kažem teško upotrebljivu) Virtovu definiciju Paskala.
pascal.481 janko,
> Međutim, Chi (bar verzije koje sam ja viđao) imaju zgodnu > osobinu da, pri export ascii, na krajeve redova koji nisu > krajevi pasusa stave po jedan blanko, dakle tekst izgleda > ovako (_ je oznaka za blanko): Jao, jeste, jako zgodna osobina, dosta pojednostavljuje... Sad sam se setio da si o toj osobini CW već negde pisao, nekad. Nema veze, dadoh rešenje koje radi i za običan tekst fajl koji nije generisan izvozom iz CW. U stvari, sve ovo sam pisao najviše zato što je pitanje postavljeno u temi Paskal, a hteo sam da podsetim da ima jedan jezik koji se specijalno bavi žvakanjem i prežvakavanjem teksta, te je pogodniji od Paskala za takve rabote. Na kom još (kompjuterskom) jeziku se gornji problem rešava u četiri reda? :) > Štos je da se to onda uvuče u WordPerfect (ili nešto > drugo) pa onda ide: > > zameni _[HRt] sa ##$$ > zameni [HRt] sa _ > zameni ##$$ sa [HRt][HRt] > > I rešen problem. Ne znam šta radi WP, tj ne znam šta mu je to HRt, ali ako je kraj paragrafa, nešto mi je čudan gornji red, jer, u Wordu (i 2.0 i posle, sigurno) je dovoljno zameniti razmak i kraj pasusa (kraj pasusa se kuca strelica na gore pa malo slovo p, tj. ^p) sa običnim razmakom i to je sve.
pascal.482 pedjak,
> Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri > u kojoj su definisane? > Problem je u sledecem: kada je procedura A prvi put izvrsena, > promenljiva testc dobija zadatu vrednost '00000000', a kasnije se ta > vrednost u samoj funkciji menja. Kada je procedura A u glavnom > programu ponovo pokrenuta, vise se ne menja vrednost testc, tj. ne > postavlja se ponovo na '00000000' vec zadrzava vrednost koju je > imala kada je prosli put zavrseno izvrsavanje procedure. > sve radilo. Ipak, zanimjivo je da se ovako ponasa... Pa da, jeste zanimljivo, i meni se prvi put učinilo da to nije normalno ponašanje, ali to je dokumentovana osobina, evo: Note: Typed constants are initialized only once--at the beginning of a program. For each entry to a procedure or function, the locally-declared typed constants are not reinitialized. Jedino bi bilo lepo da postoji neki svič, pa da svako može da odredi kako će se svaka procedura ponašati.
pascal.483 pedjak,
> Mislim da nepotrebno komplikujes. Preporucljivije je da RING > detektujes tako sto ocekujes da ti modem posalje rec 'RING' nego da > cekas da proveravas statusne registe. Cak je i standardom ovo > preporucen metod. Video sam da Kakvim standardom...?
pascal.484 pedjak,
> do kraja, a sada naslucujem i zasto. Naime, primetio sam da > nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno > neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i Dužina fajla je deljiva sa 128, zato što je inicijalna vrednost paskalovog bafera za tekstualne datoteke 128 bajtova. Izgleda da ne zatvaraš datoteku.
pascal.485 goxx,
■ Procedure A; ■ const ■ testc : stringŠ8Ć = '00000000'; ■ begin ■ š ovde je kod koji menja sadrzaj testc ć ■ end; Ne zamerite ako grešim (već par godina ne radim pascal), ali kako je uopšte moguće menjati konstantu. Em se ruši definicija njene suštine, em kompajler to dozvoljava ? Goran
pascal.486 srdjan.j,
==>■ const ==>■ testc : stringŠ8Ć = '00000000'; ==> Ne zamerite ako grešim (već par godina ne radim pascal), ali kako je ==> uopšte moguće menjati konstantu. Em se ruši definicija njene suštine, ==> em kompajler to dozvoljava ? Ovo je ekstenzija Turbo Pascala. testc je samo inicijalizovana varijabla. Neznam koji im je djavo bio pa su napravili takvu sintaksu, ali to nije konstanta !
pascal.487 ognjen,
[dejanr] )-> Za pocetak, proveri da li si datoteku zatvorio. [omega] )-> Verovatno si zaboravio close(WriteFile); na kraju. Hvala vam k'o braci! Niste ni svesni koliko ste mi pomogli. Mesecima nisam mogao da dovrsim program jer nisam znao sta se desilo. Pre neki dan sam stampao listing, i sve sam crtao sta kako ide, ali nisam mogao da ukapiram u cemu je problem... Vec sam pomislio da je bug u pascalu. :) [ Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. . . . Treba zatvoriti datoteku. ]
pascal.488 vlador,
> nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno > neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i Pre će biti da ti je TxtChar podatak dužine 128 (array [0..127] of Char, String[127]...). Izvini ako si ovo znao... Za svaki slučaj. :)
pascal.489 ognjen,
)-> Pre ce biti da ti je TxtChar podatak duzine 128 (array )-> [0..127] of Char, String[127]...). Izvini ako si ovo znao... )-> Za svaki slucaj. :) Nije to bilo u pitanju, zaboravio sam da zatvorim datoteku. U svakom slucaja hvala svima koji su pokusali (i uspeli) da mi pomognu.
pascal.490 nikac,
>■ Procedure A; >■ const >■ testc : string[8] = '00000000'; >■ begin >■ ... >■ end; >■ ... ne resetuje se stalno na '000...' To je dokumentovano ponasanje, tako se u pascalu definisu static promenljive...
pascal.491 mmitrovic,
Ů█▀█Ţ Neznam koji im je djavo bio pa su napravili takvu sintaksu, ali to nije Ů█▀█Ţ konstanta ! Verovatno zato što bi morala da se dodaje nova rezervisana reč ili da se menja sintaksa var definicije, a to je teško uraditi bez da se poremeti sintaksa standardnog pascala.
pascal.492 postmast,
From: Sloba.Markovic@f101.n101.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: String u stringu Date: Tue, 04 Oct 1994 08:52:00 Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da trazim string u stringu. Npr. kako da nadjem string '445' u stringu '217364450349267'. Hvala unapred, + , O:)-|--< MAGIC FLASH! + ' ... Daddy, what does "FORMATTING DRIVE C:" mean? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.493 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 04 Oct 1994 11:31:06 To: "Ognjen Blagojevic" <ognjen@sezam.UUCP> " "B> redu. Kada dodje do linije Write (WriteFile, TxtChar); sve "B> izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem "B> iz programa (pustim ga da se zavrsi do kraja), i pogledam "B> datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam BIlo bi dobro da prilozis malo koda, da vidimo o cemu se radi. U svakom slucju, probaj da promenljivu TxtChar stavis u Watch i pratis i njen sadrzaj. ... BR> Nema vise industrijskog zagadjivanja! Hvala UN! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.494 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: String u stringu Date: Tue, 04 Oct 1994 11:31:06 ==== Sloba Markovic rece: ====================================== SM> Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da SM> trazim string u stringu. Npr. kako da nadjem string '445' u stringu Evo izvoda iz TP Help-a: Pos (function) =============== Searches for a substring in a string. Declaration: function Pos(Substr: String; S: String): Byte; Target: Windows, Real, Protected Remarks: Substr and S are string-type expressions. Pos searches for Substr within S, and returns an integer value that is the index of the first character of Substr within S. If Substr is not found, Pos returns zero. Sample Code: {Pos.PAS} {Sample code for the Pos function.} var S: String; begin S := ' 123.5'; { Convert spaces to zeroes } while Pos(' ', S) > 0 do S[Pos(' ', S)] := '0'; end. ... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.495 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 5 Oct 1994 07:44:23 GMT Ognjen Blagojevic (ognjen@sezam.UUCP) wrote: :: do kraja, a sada naslucujem i zasto. Naime, primetio sam da :: nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno :: neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i :: dalje je bila ista stvar. :( Podigao sam i sistem sa diskete, i :: ponovio sve, ali i dalje ne radi. Verovatno je 'kriv' TP (6.0). :: Da li on ima neki bafer u koji privrmeno smesta podatke za upis, :: pa tek kad se isti napuni on ka isprazni na disk? Ne bi trebao, :: ali mozda...? Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne navedes velicinu sloga, po defaultu je 128, zar ne? Ispravite me ako gresim, ali nisam pratio ovo iz pocetka. Takodje, ako nije neki TopSecret, posalji deo koda sa kojim otvaras fajl, tako ce nam biti mnogo lakse... -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 786
pascal.496 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 5 Oct 1994 07:50:39 GMT Marko Milivojevic (markom@exodus.fon.bg.ac.yu) wrote: :: Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne :: navedes velicinu sloga, po defaultu je 128, zar ne? Ispravite me Greska, ako je fajl tipa FILE, jer ostali tipovi imaju velicinu navedenog tipa... Definitivno mislim da je tu omanuo ;) -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 521
pascal.497 sdjordjevic,
EJ PROVALIO SAM KAKO SE PUŠTA BMP NA PASCALU ALI LAKO MOžE DA SE PRERADI ZA NPR: "C" UZ PORUKU JE PRIKAžENO TO ŠTO SAM PROVALIO s_w_bmp.arj
pascal.498 dejanr,
>> Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne >> navedes velicinu sloga, po defaultu je 128, zar ne? Odnosi se na netipiziran fajl. Dakle, ako otvaraš fajl koji je deklarisan sa: var ime: file onda treba koristiti: reset (ime, 1) inače će stvarno biti slog od 128 bajta, što najverovatnije nije ono što se želelo. To je, inače, zbog kompatibilnosti sa Turbo Pascalom 2 i 3. Ukoliko fajl ima tip (znači, ne samo tekst, nego bilo koji), onda je slog onoliki koliki je tip, dakle otvara se običnim reset (ime).
pascal.499 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 06 Oct 1994 22:56:01 "B> Vec sam rekao da mi ne radi upisivanje u fajl sa "B> "B> Write (WriteFile, TxtChar); "B> "B> do kraja, a sada naslucujem i zasto. Naime, primetio sam da "B> nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno Ako si datteku otvorio kao binarni tj kao tip FILE a ne ka TEXT, onda pri otvaranju treba da navedes duzinu sloga, npr: Reset (WriteFile,1); { duzina sloga je jedan bajt } Ako ovo ne navedes, podrazumeva se da je duzina sloga 128 bajta, pa ce, cak i ako je ono sto upisujes krace od 128 bajta biti upisano 128 bajta, s tim da ce 'visak' biti ono sto se naslo u memoriji na odgovarajucoj lokaciji. ... Don't shoot! There are people too. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.500 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 06 Oct 1994 22:56:02 MM> Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: MM> :: Mislim da nepotrebno komplikujes. Preporucljivije je da RING MM> detektujes tako :: sto ocekujes da ti modem posalje rec 'RING' nego da MM> cekas da proveravas :: statusne registe. Cak je i standardom ovo MM> preporucen metod. Video sam da :: neki programi koriste kombinaciju: MM> cekaju i na promenu statusa i na RING :: od modema. MM> MM> ATQ1, da vidim kako ce da mi stigne RING od modema ;> ATQ1 se koisti sam u specificnim situacijama. Za normalan rad to bi bilo katastrofalno iskljuciti jer teminal ne bi od modema mogao da dobije nijednu informaciju o statusu veze, sem samih podataka koji se prenose. Ne bi cak mogao da sazna ni kojom brzinom se pravi konekt, ni da li je BYSY ili NO RESPONSE .... Jednostavno, to je specifican slucaj koji se moze zanemariti. S druge strane, cesto moze da se desi da recimo kabal kojim je modam spojen na racunar jednostavno nema RING liniju, i eto belaja... ... COMPLAINTS > NUL * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.501 kenza,
(;> Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da (;> trazim string u stringu. Npr. kako da nadjem string '445' u stringu Zar to ne radi POS ? Ako ti POS ne odgovara, javi pa cemo nesto vec da napisemo :)
pascal.502 bajaga,
Da li je moguče u paskalovom asembleru koristiti 386 instrrukcije i ako jeste kako?
pascal.503 pedjak,
This package is for users of Turbo Pascal, version 5.0 or later. These three files are all you need to add XMS support to overlaying. If you think you can use it, then I probably don't have to explain what the benefits are of using XMS memory over EMS memory - or emulations thereof. But I will anyway: - XMS is found on more machines than EMS. - All XMS is addressable as one physical unit, not in chunks of 16 kB like EMS. - XMS is faster. How much faster, depends on the kind of system. It probably doesn't matter much on 386/486 systems, but the speedup is noticable on a 286 with emulated EMS. Or if you have a typical 1 MB 286 clone, configured as 640+384, without either board EMS or emulated EMS (served by e.g. Quarterdeck's QRAM memory manager), then thanks to OVERXMS you'll have fast loading overlays at last. ... and last but not least: - OVERXMS is compact. It adds a mere 425 bytes of code to your .EXE file. overxms
pascal.504 srdjan.j,
==> Verovatno zato što bi morala da se dodaje nova rezervisana reč ili da ==> se menja sintaksa var definicije, a to je teško uraditi bez da se ==> poremeti sintaksa standardnog pascala. A ovako su poremetili sintaksu const definicije, pa nikom ništa ! Srđan.
pascal.505 mmitrovic,
Ů█▀█Ţ Da li je moguče u paskalovom asembleru koristiti 386 instrrukcije Ů█▀█Ţ i ako jeste kako? Jeste, ali posredno. moraš da dodaš bajt 66h ispred svake instrukcije koja koristi 32b registre kako bi naznačio da se radi o recimo EAX a ne o AX, pošto je opcode za te dve instrukcije identičan.
pascal.506 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Mon, 10 Oct 1994 19:57:16 GMT Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: :: slucaj koji se moze zanemariti. S druge strane, cesto moze da se desi da :: recimo kabal kojim je modam spojen na racunar jednostavno nema RING :: liniju, i eto belaja... Hmda, tacno... Ali veruj mi da je to redje slucaj nego da je na modemu postavljeno ATQ1 ;) -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 1389
pascal.507 postmast,
From: Slobodan.Popovic@f1.n103.z38.setgate.setnet.co.yu (Slobodan Popovic) Subject: Editor Date: Fri, 07 Oct 1994 19:00:04 * Originally from: Igor Loncarevic * Originally to: All IL> Zeljko Dakic (Zeljko.Dakic@f116.n103.z38.setgate.setnet.co.yu) wrote: IL> : Nasam sam savrseni editor !!! Lepo izgleda (mnogo lepse od mnogih, IL> IL> Ima jedan jos bolji :). Zasto nikom nije palo na pamet da koristi IL> editor iz Borland paketa (BP6|7,BC4), moze da edituje koliko i sta IL> hoces. Btw, meni jos nije palo na pamet :). Mozda zato sto ima 400 KB? ... Prema zadnjim procenama, preko 67% statisticara gresi. * Origin: SETNet - Belgrade HUB1 (38:103/1)
pascal.508 postmast,
From: Slobodan.Popovic@f1.n103.z38.setgate.setnet.co.yu (Slobodan Popovic) Subject: Editor Date: Sat, 08 Oct 1994 04:29:07 * Originally from: Predrag Kraguljac * Originally to: Slobodan Popovic PK> Road Runer bar sto se mene tice radi skoro savrseno. Normalno ubacuje PK> fajlove jedan u drugi kao i sve moguce delove fajla. Verzija koju ima PK> Miomir je kao i moja posto sam je i uzeo sa Sensible BBS-a. Radio sam PK> istovremeno sa nekoliko fajlova ukupne duzine preko 3 Mb i sve je PK> radilo savrseno. Sve u svemu "Nijesam imao zamjerki". Evo, ovo je jos jedna potvrda o kvalitetu RoadRunnera. Da ne bude da sam ja "ciganin koji svoga konja hvali"... :) ... Glumiti znaci stajati go i polako se okretati. -- Rosalind Russell * Origin: SETNet - Belgrade HUB1 (38:103/1)
pascal.509 postmast,
From: anubis@hobbiton.CO.YU (Igor Loncarevic) Subject: Re: pascal Date: Tue, 11 Oct 1994 22:19:17 GMT Goran Zafirovic (goxx@sezam.UUCP) wrote: : Procedure A; : const : testc : stringS8C = '00000000'; : begin : s ovde je kod koji menja sadrzaj testc c : end; : Ne zamerite ako gresim (vec par godina ne radim pascal), ali kako je : uopste moguce menjati konstantu. Em se rusi definicija njene sustine, : em kompajler to dozvoljava ? Pa tako deklarisana konstanta je ustvari var promjenjiva koja je inicija lizovana datom vrijednoscu. I treba da je moguce da se mjenja. Licno, ja ovu osobinu koristim do bola u programima :). --------------------------------------------------------------------------- anubis@hobbiton.CO.YU - anubis@hobbiton.sin.com
pascal.510 omega,
Ţ Evo, ovo je jos jedna potvrda o kvalitetu RoadRunnera. Da ne bude da Ţ sam ja "ciganin koji svoga konja hvali"... :) Pitam se samo ko je ovde konj, a ko ciganin? ;)
pascal.511 ddobic,
rz B00000000000000 Hitno mi je potrebna ZBIRKA RESENIH ZADATKA PROGRAMSKI JEZIK PASCAL autori: Stojkovic i Tosic izdavac: Naucna knjiga (1989) Knjigu bih kupio novu ili fotokopiranu ili pozajmio da iskopiram. Unapred hvala DDobic
pascal.513 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: Lokalne konstante Date: Fri, 14 Oct 1994 17:47:51 GMT Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: : Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri u kojoj : su definisane? : Pojavio mi se problem, da se unapred definisana promenljiva koja je : definisana u const sekciji procedure ponasala kao globalna. Da ne citiram mnogo, ponasa se kako se i ocekuje. Uporedivo je sa statickim varijablama u C procedurama. : Procedure A; : const : testc : string[8] = '00000000'; : begin : { ovde je kod koji menja sadrzaj testc } : end; Koji je smisao konstante koju mijenjas kodom? Inicijalizacija? E, morace drugacije :).
pascal.514 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: pascal Date: Sun, 16 Oct 1994 20:12:02 -=> Quoting "Srdan Dordevic" to All <=- "D> EJ PROVALIO SAM KAKO SE PUSTA BMP NA PASCALU ALI LAKO MOzE DA SE "D> PRERADI ZA NPR: "C" "D> UZ PORUKU JE PRIKACENO TO STO SAM PROVALIO Kako si to uspeo?!?!?!?!?!?!?!?!?!?Molio bih te da mi posaljes mail u kojem bi to malo pojasnio.Mooooooooooooooooooooolim te... Nikola Sivacki * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.515 uobradovic,
Da li neko ima Norton Guide za Pascal.Jako mi je potreban. Sve poruke slati na mail. Uroš
pascal.516 evlad,
>> Da li neko ima Norton Guide za Pascal.Jako mi je potreban. >> Sve poruke slati na mail. Moze i meni :)
pascal.517 djelovic,
> Da li neko ima Norton Guide za Pascal.Jako mi je potreban. Originalni NG za Pascal nije PD/SW pa je tako nedostupan preko Sezama. Ne znam da li postoji i neka PD/SW verzija.
pascal.518 jovca.car,
/* > Da li neko ima Norton Guide za Pascal.Jako mi je potreban. /* Originalni NG za Pascal nije PD/SW pa je tako nedostupan preko Sezama. Neko je u (valjda) ovoj temi ostavi ng za TurboVision. Potraži.
pascal.519 superhik,
=:> Originalni NG za Pascal nije PD/SW pa je tako nedostupan =:> preko Sezama. Ne znam da li postoji i neka PD/SW verzija. Jel bi mogao neko da mi objasni Šta je to Norton Guide tj. za šta služi (e jesam neupućen ccc... ;)
pascal.520 dejanr,
>> Jel bi mogao neko da mi >> objasni Šta je to Norton Guide tj. >> za šta služi Norton Guide je rezidentni program koji omogućava da, ako imaš odgovarajuću bazu (.NG fajl), tokom rada sa nekim programom pogledaš sintaksu neke od naredbi, primer itd. Nešto kao on-line dokumentacija. Sam Norton Guide (program) nije pd/sw, a pojedine baze jesu, dok su druge deo komercijalnih paketa pa se ne mogu slobodno distribuirati.
pascal.521 superhik,
=:> Sam Norton Guide (program) nije pd/sw, a pojedine baze jesu, =:> dok su druge deo komercijalnih paketa pa se ne mogu slobodno =:> distribuirati. Kog komercijalnog paketa!?
pascal.523 uobradovic,
ĆĆĆ Neko je u (valjda) ovoj temi ostavi ng za TurboVision. ĆĆĆ Potraži. Treba mi i ostatak Pascala a ne samo TV.
pascal.524 dejanr,
>> > a pojedine baze jesu, dok su druge deo komercijalnih >> > paketa pa se ne mogu slobodno distribuirati. >> >> Kog komercijalnog paketa!? Pa, recimo kupiš Clipper i uz njega dobiješ Norton Guide za Clipper. Taj fajl (odnosno ti fajlovi) je deo paketa CA Clipper, i ne možeš ga slobodno distribuirati.
pascal.525 postmast,
From: Predrag.Knezevic@f127.n103.z38.setgate.setnet.co.yu (Predrag Knezevic) Subject: pascal Date: Wed, 19 Oct 1994 18:55:05 Pozdrav, "D> Hitno mi je potrebna "D> ZBIRKA RESENIH ZADATKA "D> PROGRAMSKI JEZIK PASCAL "D> autori: Stojkovic i Tosic "D> izdavac: Naucna knjiga (1989) Mislim da je na tom nivou i od Cabarkape i Spalivic. ZBIRKA ZADATAKA IZ PROGRAMIRANJA SA RESENJIMA U PASCAL_u Moze se lako nabaviti. Krang * Origin: SetNET Krang CITY BBS +381-11-474-373, Beograd (38:103/127)
pascal.527 uobradovic,
ĆĆĆ Neko je u (valjda) ovoj temi ostavi ng za TurboVision. ĆĆĆ Potraži. Treba mi i ostatak Pascala a ne samo TV.
pascal.528 pedjak,
Pre jedno mesec dana bilo je rasprave o tome da li postoje juniti za turboviziju u grafičkom modu... pa postoji :) TVGRAPH 1.10 TURBO VISION using TURBO VISION In EGA/VGA graphics (C) Mindware 1991,1993 Brisbane,QLD,Australia Fido : 3:640/307 0. See Modified TVDEMO program and STYX.PAS to show you how to do things To recompile the TVDEMO program, copy TVDEMO.PAS and STYX.PAS to the TVDEMO directory, then build TVDEMO. Ensure all standard units are the original (i.e. time stamp is 7.0x) or version mismatches will occur. 1. All that is required is to include TVGRAPH in the uses statement in your main program and amazing - TV will work in graphics mode. tvg110a.zip
pascal.529 saricl,
Imam jednu veoma hitnu molbu za one koji imaju iskustva sa pisanjem softvera na PASCALU a koji treba da radi pod NOVEL MREžOM. Radi se o sledećem : prijateljica ide na višu pedagošku i treba da sastavi sledeći program: 1) Postoji deset grupa pitanja. 2) Svaka grupa pitanja sadrži po deset pitanja. 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj grupe ?" nakon unošenja broja grupe treba da se pojave pitanja te grupe. 4) Takođe treba da postoji mogućnost povratka na pitanje "broj grupe?" i izlaska iz programa. Ovo je trivijalan problem, međutim ja nisam pravio progarame za mreže pa neznam na koji se načiin pišu programi za mreže, Takođe me zanima dali je nešto ovako moguće uopšte uraditi iz TP v7.0 Zahvaljujem se svima koji mi budu pomogli. Ovo je zaista hitno, treba da bude gotovo za četvrtak popodne, pa vas molim da mi odgovore pošaljete do tada.
pascal.530 pedjak,
> PASCALU a koji treba da radi pod NOVEL MREžOM. > Radi se o sledećem : prijateljica ide na višu pedagošku i treba da > sastavi sledeći program: > 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj > grupe ?" nakon unošenja broja grupe treba da se pojave pitanja te > grupe. > 4) Takođe treba da postoji mogućnost povratka na pitanje "broj > grupe?" i izlaska iz programa. Pa jednostavno, koliko sam shvatio, startuješ napisani program na svakoj stanici... Program pišeš najnormalnije kao i za go DOS.. jedino ako program treba da vrši neke zajedničke obrade rezultata koji se ukucavaju sa raznih stanica, onda se koriste zajedničke datoteke u koje se upisuju podaci.
pascal.531 inferno,
Oj ljudi! Imam jedan problem. Rešio sam da počnem da učim Pascal, pa sam nabavio TP 6.0. Naravno, nemam pojma da programiram u TP-u. Od knjiga imama neke starudije, tako da je slaba vajda. No, da ne davim više... Pravim prg. koji će po startovanju da pročita datum, zapisan u nekom fajlu, i ako se taj atm ne poklapa sa sistemskim, on će da u taj fajl preko starog datuma upiše novi datum i da izvrši jedam batch file. Prvo, batch file neće da se izvrši iako sam napisao: SwapVectors; exec(path,'batch.bat'); SwapVectors; Drugo, neće da upiše datum u fajl iako stoji: LABEL 1,2,3; const dat = 'dexe'; path = '.'; exef = 'command /c c:\dexe\dexe.bat'; var y, m, d, dow, y1, m1, d1, dow1 : word; f : file of word; BEGIN 1: assign(f, dat); reset(f); begin read(f, y1,m1,d1,dow1); getdate(y,m,d,dow); end; IF (d1 = d) then goto 2; begin write(f, y,m,d,dow); writeln('Ecexuting...'); writeln(' '); close(f); SwapVectors; exec('c:\',exef); SwapVectors; goto 3; end; 2: .... (neke poruke...).. 3: end.; p.s. Izvinjavam se na dužini poruke. :(
pascal.532 omega,
Ţ Imam jedan problem. Resio sam da pocnem da ucim Pascal, pa Ţ sam nabavio TP 6.0. Naravno, nemam pojma da programiram u Ţ TP-u. Od knjiga imama neke starudije, tako da je slaba Ţ vajda. Ja sam naucio iz umetaka Racunara (dejanr) i iz help-a samog TP-a. Srecno! :) Ţ SwapVectors; Ţ exec(path,'batch.bat'); Ţ SwapVectors; SwapVectors; Exec(getenv('COMSPEC'),'/C '+path+'batch.bat'); SwapVectors; Ţ LABEL 1,2,3; Izbegavaj ovo koliko god mozes (citaj: nemoj uopste da upotrebljavas) Nije ti ovo BASIC ;) Svaki od delova koje pozivas preko labela prebaci u procedure bez parametara... Program se vise manje cini ok, verovatno je problem sto datoteka ne postoji u startu, jer Reset otvara POSTOJECU datoteku.
pascal.533 dejanr,
>> SwapVectors; >> exec(path,'batch.bat'); >> SwapVectors; Ne radi se tako. Prvo, na početak programa stavi nešto kao {$M 16000,0,0} Drugo, ne pozivaj direktno batch.bat, nego command.com, kome kao parametar prosleđuješ ime batch fajla. Dakle, exec ('c:\command.com', '/C batch.bat). Još bolje je umesto c:\command.com staviti indirektno njegovo ime, preko environment promenljive COMSPEC, ali može i ovako kako sam napisao. >> exef = 'command /c c:\dexe\dexe.bat'; Ovde treba puno ime, dakle C:\COMMAND.COM. I ono .COM je bitno. File ne treba da ti bude file of word, verovatno će ti bolje poslužiti neki text fajl. Pre svega, moraš da naučiš da nazubljuješ program, i da "zaboraviš" na goto naredbu. Najbolje pročitaj neku početničku knjigu o tome, možda je umetak iz "Računara" zgodan način da se učine prvi koraci.
pascal.534 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Boje Date: Sat, 22 Oct 1994 13:38:02 NS> Imam jedan problem.Da li iko zna kako se moze u tp 6.0 (uz SVGA NS> karticu) U ISTO VREME prikazati 256 boja? Verovatno ti treba neki poseban drajver. Navrati na Oresku i u pascal direktorijumu ces naci priican broj alatki za VGA. ... BR> Da li si clan YUCCA? Ne? Pa sta cekas?! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.535 uobradovic,
::> Imam jedan problem. Rešio sam da počnem da učim Pascal, pa ::> sam nabavio TP 6.0. Naravno, nemam pojma da programiram u ::> TP-u. Od knjiga imama neke starudije, tako da je slaba ::> vajda. No, da ne davim više... Pravim prg. koji će po ::> startovanju da pročita datum, zapisan u nekom fajlu, i ako ::> se taj atm ne poklapa sa sistemskim, on će da u taj fajl ::> preko starog datuma upiše novi datum i da izvrši jedam batch ::> file. Kažeš da nemaš pojma a praviš program do kog bi ti trebalo više vremena rada. Uroš
pascal.536 bulaja,
│ TVGRAPH 1.10 │ TURBO VISION │ using TURBO VISION In EGA/VGA graphics └─── Prebačeno u PASCAL dir, hvala :).
pascal.537 postmast,
From: Predrag.Knezevic@f127.n103.z38.setgate.setnet.co.yu (Predrag Knezevic) Subject: Boje Date: Mon, 24 Oct 1994 23:38:05 Pozdrav, NS> Zdravo! NS> Imam jedan problem.Da li iko zna kako se moze u tp 6.0 (uz SVGA karticu) NS> U ISTO VREME prikazati 256 boja? Nikako. Bar ne koristeci standardne TP procedure. Probaj sa direktnim upisom u video mem (videces u asm-u ima interupt). Krang * Origin: SetNET Krang CITY BBS +381-11-474-373, Beograd (38:103/127)
pascal.538 postmast,
From: Aleksandar.Sasa.Nikolic@f104.n103.z38.setgate.setnet.co.yu (Aleksandar Sasa Nikolic) Subject: PITANJE Date: Tue, 25 Oct 1994 02:43:00 E voleo bih kad bi mi neko pruzio pomoc oko ovoga , zadatak je da se iz TSR-a startuje posle 3 minuta COMMAND.COM :))) malo tezak zadatak zar ne? mozda i neostvariv? Naravno za merenje vremena se za one koji ne znaju koristi INT 08 koji kuca 18,2 puta po sekundi dakle da vas vidim hakeri, problem je u ,cemu?, u exekuciji naravno ;))) Toliko, ===>> POMAGAJTE OKO OVOGA ! <<==== ;))) Aca * Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.539 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: Boje Date: Sun, 23 Oct 1994 00:06:05 NS> Imam jedan problem.Da li iko zna kako se moze u tp 6.0 (uz SVGA NS> karticu) U ISTO VREME prikazati 256 boja? Potreban ti je BGI driver za SVGA, on se zove SVGA256.BGI i mozes ga naci na vecini BBS-ova. Kada ga nabavis onda se on inicijalizuje pomocu procedure InitSVGAGraph(mode): Program SVGA_GRAPH; Uses Graph, Crt; Var MO, UD, EC, mode, GM, GD : Integer; {$F+} Function DetectVGA256 : Integer; Begin DetectVGA256:=MO; end; {$F-} Procedure InitSVGAGraph(mode: integer); Begin MO:=mode; UD:=InstallUserDriver('SVGA256', @DetectVGA256); EC:=GraphResult; If GraphResult <> grOk then Begin Writeln('Fatal error: ',GraphErrorMsg(EC)); Halt(1); end; GD:=Detect; InitGraph(GD, GM, ''); EC:=GraphResult; If (EC <> GrOk) then Begin Writeln('Fatal error: ',GraphErrorMsg(EC)); Halt(1); end; end; Begin InitSVGAGraph(2); { Tvoj program } CloseGraph; end. Ovo je izvod iz mog TPU-a i na brzaka je skrpljen, pa nisam siguran da je sve ok, ali bi trebalo da shvatis kako se to radi. U ovom slucaju promenljiva MODE dobija vrednost 2, sto znaci da ce se inicijalizovati 640x480x256 grafika. Evo i tabele vrednosti, svi modovi su u 256 boja i za SVGA 512k karticu (postoje vrednosti do 6 za SVGA 1024 kartice, ali sam ih zabozavio): Vrednost | Mod ------------------- 0 | 320x200 1 | 640x400 2 | 640x480 3 | 800x600 Play with colours, hope it helps! MAGIC FLASH! ... Computers are tools, but the Amiga is an instrument. * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.542 inferno,
Ů│ ˙ Ja sam naucio iz umetaka Racunara (dejanr) i iz help-a samog TP-a. Ů│ ˙ Srecno! :) Ha! I meni nije išlo dok te nisam poslušao i pročitao umetak by dejanr. Onda je odjedamput program proradio! :) Ů│ ˙ SwapVectors; Ů│ ˙ Exec(getenv('COMSPEC'),'/C '+path+'batch.bat'); Ů│ ˙ SwapVectors; Aaa, u tome je štos... A šta je ono COMSPEC ?? Ů│ ˙ Izbegavaj ovo koliko god mozes (citaj: nemoj uopste da upotrebljavas) Ů│ ˙ Nije ti ovo BASIC ;) Svaki od delova koje pozivas preko labela Ů│ ˙ prebaci u procedure bez parametara... U pravu si... Nisam znao za procedure dok nisam pročitao bas2pas... :) Veliki pozdrav! :)
pascal.543 inferno,
Ů│ ˙>> SwapVectors; Ů│ ˙>> exec(path,'batch.bat'); Ů│ ˙>> SwapVectors; Ů│ ˙ Ů│ ˙ Ne radi se tako. Prvo, na početak programa stavi nešto kao {$M Ů│ ˙ 16000,0,0} E to mi nije bilo jasno... Dok to nisam stavio program nije hteo da radi. Uspeo sam da ukapiram da je to nepohodno za izvršavanje programa van mog programa, ali nisam ukapirao kako da odredim kolika treba da bude vrednost onih brojeva (16000,0,0)? Ů│ ˙>> exef = 'command /c c:\dexe\dexe.bat'; Ů│ ˙ Ů│ ˙ Ovde treba puno ime, dakle C:\COMMAND.COM. I ono .COM je bitno. Aaaa, znači zato tek sad radi... Ů│ ˙ File ne treba da ti bude file of word, verovatno će ti bolje poslužiti Ů│ ˙ neki text fajl. Probao sam da eksperimentišem s tim, ali javlja da je pogrešna promenljiva. Mora da sam ja nešto pogrešio? Javlja error kod read(f, ... Ů│ ˙ Pre svega, moraš da naučiš da nazubljuješ program, i da "zaboraviš" na Ů│ ˙ goto naredbu. Da, program sam nazubio, ali sam ga ovako okačio na SEZAM da mi se ne bi polomile linije... Što se tiče GOTO naredbe shvatio sam da je nepotrebna tek kad sam pročitao bas2pas.zip.. Ů│ ˙ Najbolje pročitaj neku početničku knjigu o tome, možda je Ů│ ˙ umetak iz "Računara" zgodan način da se učine prvi koraci. Pročitao sam "Sa BASIC-a na Pascal". Da nisam to našao nikad ne bih ništa shvatio. :)
pascal.544 inferno,
Ů│ ˙ ::> Imam jedan problem. Rešio sam da počnem da učim Pascal, pa Ů│ ˙ ::> sam nabavio TP 6.0. Naravno, nemam pojma da programiram u Ů│ ˙ ::> TP-u. Od knjiga imama neke starudije, tako da je slaba Ů│ ˙ ::> vajda. No, da ne davim više... Pravim prg. koji će po Ů│ ˙ ::> startovanju da pročita datum, zapisan u nekom fajlu, i ako Ů│ ˙ ::> se taj atm ne poklapa sa sistemskim, on će da u taj fajl Ů│ ˙ ::> preko starog datuma upiše novi datum i da izvrši jedam batch Ů│ ˙ ::> file. Ů│ ˙ Ů│ ˙ Kažeš da nemaš pojma a praviš program do kog bi ti trebalo Ů│ ˙ više vremena rada. Ne razumem? Do tog programa mi je trebalo tri-četri dana. Druga stvar je što bih ga sad sastavio za pola sata, kao što bi ga sastavio i svako ko iole zna osnove Pascal-a... Zar ne valja tehnika: "Uči dok pišeš program"??
pascal.545 evlad,
>> A sta je ono COMSPEC ?? Environment varijabla u kojoj se nalazi putanja i ime komandnog 'procesora' (obicno COMMAND.COM), postavlja se u autoexec.bat datoteci sa SET COMSPEC=[d:\path\name.ext]
pascal.546 omega,
Ţ E to mi nije bilo jasno... Dok to nisam stavio program nije Ţ hteo da radi. Uspeo sam da ukapiram da je to nepohodno za Ţ izvrsavanje programa van mog programa, ali nisam ukapirao Ţ kako da odredim kolika treba da bude vrednost onih brojeva Ţ (16000,0,0)? Ima resenje i za to, i to najbolje resenje: uses Memory, Dos; ... SetMemTop(HeapPtr); SwapVectors; Exec(getenv('COMSPEC'),'/C '+path+'batch.bat'); SwapVectors; SetMemTop(HeapEnd); ... end.
pascal.547 omega,
Ţ Zar ne valja tehnika: "Uci dok pises program"?? To je najbolja tehnika i jedina. Naravno, potrebno je bar neko predznanje.
pascal.548 ognjen,
)-> A sta je ono COMSPEC ?? Puno ime komandnog interaptera. Na primer: c:\4dos\4dos.com ili mnogo cesce: c:\dos\command.com
pascal.549 drpr,
Haj, mislim da se nekada ovde raspravljalo o X , Y ili Z modemu pa su mi potrebni ti sorsovi. Zato molim neku dobru dušu da me uputi gde da tražim . U napred hvala, Cope
pascal.550 vitez.koja,
#=> U pravu si... Nisam znao za procedure dok nisam #=> pročitao bas2pas... :) Auuu... pa ti ne znaš ni basic ;) Prelažem ti da, umesto 'divlje' metode učenja, uzmeš neku knjigu i lepo se o svemu informišeš. Umetak iz Računara nisam video, ali sumnjam da vredi koliko prava knjiga.
pascal.551 vitez.koja,
#=> Ţ Zar ne valja tehnika: "Uci dok pises program"?? #=> #=> To je najbolja tehnika i jedina. Naravno, potrebno je #=> bar neko predznanje. Najbolja ? Možda... Jedina ? Ni slučajno. Zaboravio si da pomeneš da je utrošak vremena pri "uči dok pišeš program" dva-tri puta veći nego kod 'tradicionalnih' metoda. Predložio bih jednu ekstravagantnu metodu učenja programskog jezika: pisanje interpretera/kompajlera za taj jezik. Na taj način dobijaš uvid 'unutar' samog jezika, vidiš kako sve to zapravo funkcioniše. Ovaj metod je ubedljivo najteži i vremenski najzahtevniji, ali rezultati su veoma dobri (iz iskustva:). Za ovaj metod je potrebno i ubedljivo najviše literature - ja sam koristio jednu knjigu o leksičkoj analizi i parserima, jednu 'popularnu' o programskom jeziku (u pitanju je bio 'C'), jednu nepopularnu ;)) o programskom jeziku - "Programski jezik C" by njegovi tvorci - i jednu knjigu u kojoj se obrađuje pojam interpretera u čitaj_listing maniru (mnoogo koda, malo komentara). Trebalo mi je tri meseca, a rezultirajući interpreter sam već u trenutku završavanja mogao da napišem dva puta bolje, ali je vredelo :)
pascal.552 vitez.koja,
#=> mislim da se nekada ovde raspravljalo o X , Y ili Z #=> modemu pa su mi potrebni ti sorsovi. Zato molim neku #=> dobru dušu da me uputi gde da tražim . Nekada = juče :)) Sorsovi X i Y -modem protokola su izuzetno jednostavni, mogu se (između ostalog) naći pri demo programu za PCL biblioteku (ima na sezamu). Sors Zmodema imaš u COM direktorijumu.
pascal.553 mmitrovic,
Ů█▀█Ţ E voleo bih kad bi mi neko pruzio pomoc oko ovoga , zadatak je da se iz Ů█▀█Ţ TSR-a startuje posle 3 minuta COMMAND.COM :))) malo tezak zadatak zar ... Ů█▀█Ţ u exekuciji naravno ;))) Naravno. ;) Ne mogu se startovati drugi programi iz rezidentnog prvo i osnovno zato što 90% EXE programa ima u headeru upisano FFFF za maximum memorije, što rezultira u tome da DOS svu memoriju alocira tom programu, pa ništa ne ostaje za 4Bh funkciju. Rešenje ti je da pronađeš inkriminisani program i smanjiš mu memoriju. However, ako je taj program imao neke podatke unutar svog segmenta (što je vrlo često slučaj), oni će biti uništeni pa će biti sranja kad se vratiš u program. Tek toliko. ;)
pascal.554 mmitrovic,
Ů█▀█Ţ Potreban ti je BGI driver za SVGA, on se zove SVGA256.BGI i mozes Ovo je najsporiji mogući drajver, i postoji verzija koja se ovde muva a koja ima bag u radu sa paletama (tu verziju sam inače izvukao iz SCORCHa ;)). Za brži rad postoji n drajvera, gde n teži broju različitih kartica, koje su prilagođene i koriste prednosti pojedinačne kartice. Gde ih ima, to ne znam. Ako neko zna nek kaže, ja imam samo par starih.
pascal.555 omega,
Ţ#=> To je najbolja tehnika i jedina. Naravno, potrebno je Ţ#=> bar neko predznanje. Ţ Ţ Zaboravio si da pomenes da je utrosak vremena pri "uci dok pises Ţ program" dva-tri puta veci nego kod 'tradicionalnih' metoda. Na koje si ti tradicionalne metode mislio? Ovo sto se radi po nasim fakultetima je ocaj, nadam se da to ne uzimas u obzir?
pascal.556 omega,
Ţ Prelazem ti da, umesto 'divlje' metode ucenja, uzmes neku knjigu Ţ i lepo se o svemu informises. Umetak iz Racunara nisam video, ali Ţ sumnjam da vredi koliko prava knjiga. Sumnjaj ti koliko hoces, ali mislim da je dejanr-ov pristup ubedljivo najbolji. Ja to iz licnog iskustva. Knjige moze da uzme tek kasnije.
pascal.557 omega,
Ţ Ovo je najsporiji moguci drajver, i postoji verzija koja se ovde muva SVGABGI v5.0? Pa jel ima neki brzi, ali univerzalni koliko toliko?
pascal.558 vlador,
> Zar ne valja tehnika: "Uči dok pišeš program"?? Po meni, apsolutno valja!
pascal.559 ognjen,
)-> 'procesora' (obicno COMMAND.COM), postavlja se u autoexec.bat )-> datoteci sa SET COMSPEC=[d:\path\name.ext] Zar ovo iko postavlja? Podrazumevana vrednost je iz config.sys-a posle shell=
pascal.560 rcolic,
> E to mi nije bilo jasno... Dok to nisam stavio progra > hteo da radi. Uspeo sam da ukapiram da je to nepoho > izvrsavanje programa van mog programa, ali nisam uk > kako da odredim kolika treba da bude vrednost onih b > (16000,0,0)? $M je direktiva kompajleru za organizaciju memorije po sledecem principu: {$M stacksize, heapstart, heapend }PP U TP-u u Options/Compiler ili tako negde imas da setujes to i ako to uradis automatski se to primenjuje u svakom programu. Default je 16384,0,655360. Normalno, u skladu sa potrebama u samom sorsu se ponavlja direktiva pri cemu se zaobilazi default setovanje. Nadam se da sam bio od pomoci... Rcolic
pascal.561 mitcho,
> jednu knjigu o leksičkoj analizi i parserima, Koja je to knjiga (ako je dobra), i gde se može nabaviti? > jednu knjigu u kojoj se obrađuje pojam interpretera u čitaj_listing > maniru (mnoogo koda, malo komentara) Isto me interesuje i za ovu knjigu.
pascal.562 uobradovic,
::> Prelažem ti da, umesto 'divlje' metode učenja, uzmeš neku ::> knjigu i lepo se o svemu informišeš. Umetak iz Računara nisam ::> video, ali sumnjam da vredi koliko prava knjiga. Umetak iz Računara je loš.Nabavi knjigu 'Turbo Pascal 6.0 - Kompletan vodič' Stephena O'Briena. Uroš
pascal.563 rcolic,
> > Zar ne valja tehnika: "Uci dok pises program"?? > > Po meni, apsolutno valja! Slazem se sa tobom, ali ipak se ne moze sve nauciti pisuci programe samoinicijativno.. ipak treba da postoji i literatura pomocu koje ce se usmeravati samostalni rad (ne mislim na tupave knjige koje se koriste u skolama za informatiku). Postoji jedna strasna skupina programa pod imenom PCGPE (iliti PC Games Programming Encyclopaedia) koja sadrzi gomilu sorseva grafickog, zvucnog, i/o i slicnog sadrzaja. Ja je imam, ali je prilicno velika(>1.5MB) pa vicite ako vam treba poneki sors.. pozdrav... rastko
pascal.564 ognjen,
)-> 'Turbo Pascal 6.0 - Kompletan vodic' Stephena O'Briena. Da ne bude oglas, ali moj ortak prodaje za 30 din, nova. Ne znam koliko je povoljno, pogledajte prvo u Mikro Knjizi (oni to prodaju), ako nema, mail me.
pascal.565 spantic,
> Na koje si ti tradicionalne metode mislio? Ovo sto se radi po nasim > fakultetima je ocaj, nadam se da to ne uzimas u obzir? Veoma hrabro uopštavanje, moram primetiti. Sećam se da su mnogi dok sam bio student kod Hozea kukali na njegov metod predavanja "Programskih jezika i metoda programiranja". Danas sam pak ubeđen da je isti ipak superioran u odnosu na druge metode. Stalno domaći zadaci, tri parcijalna ispita, stalni rad.
pascal.566 omega,
Ţ> Na koje si ti tradicionalne metode mislio? Ovo sto se radi po nasim Ţ> fakultetima je ocaj, nadam se da to ne uzimas u obzir? Ţ Ţ Veoma hrabro uopstavanje, moram primetiti. Secam se da su mnogi Ţ dok sam bio student kod Hozea kukali na njegov metod predavanja Ţ "Programskih jezika i metoda programiranja". Danas sam pak ubeden Ţ da je isti ipak superioran u odnosu na druge metode. Stalno domaci Ţ zadaci, tri parcijalna ispita, stalni rad. Ja ovo zovem veoma drskim neodgovaranjem na pitanje.
pascal.567 andrejt,
__> )-> 'Turbo Pascal 6.0 - Kompletan vodic' Stephena O'Briena. __> __> Da ne bude oglas, ali moj ortak prodaje za 30 din, nova. Ne __> znam koliko je povoljno, pogledajte prvo u Mikro Knjizi (oni to __> prodaju), ako nema, mail me. Nije povoljno u Mikro Knjizi je oko 20 din.
pascal.568 vvelisavljev,
> program" dva-tri puta veći nego kod 'tradicionalnih' > metoda. Baš me zanima šta smatraš pod to 'tradicionalne' metode učenja?
pascal.569 superhik,
=:> Da ne bude oglas, ali moj ortak prodaje za 30 din, nova. =:> Ne znam koliko je povoljno, pogledajte prvo u Mikro Knjizi =:> (oni to 25 din u Mikro KnjIGi!
pascal.570 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: Re: pascal Date: Fri, 28 Oct 1994 11:03:00 "D> Oj ljudi! "D> "D> Imam jedan problem. Resio sam da pocnem da ucim Pascal, pa "D> sam nabavio TP 6.0. Naravno, nemam pojma da programiram u "D> TP-u. Od knjiga imama neke starudije, tako da je slaba "D> vajda. No, da ne davim vise... Pravim prg. koji ce po "D> startovanju da procita datum, zapisan u nekom fajlu, i ako "D> se taj atm ne poklapa sa sistemskim, on ce da u taj fajl "D> preko starog datuma upise novi datum i da izvrsi jedam batch "D> file. "D> "D> Prvo, batch file nece da se izvrsi iako sam napisao: "D> "D> SwapVectors; "D> exec(path,'batch.bat'); "D> SwapVectors; ... Pa zar ti nije lakse da eksterne programe ucitavas na sledeci nacin: {$M 8192, 0, 0} ... Var c: string; ... begin c:=('batch.bat'); if c<>'' then c:='/c'+c; swapvectors; exec(getenv('comspec'),c); end. The End... Prosto zar ne ?! Pozdrav Bole... p.s. javi se malo na RAF BBS, tel. 011/724-073, od 22-06 - bavimo se programiranjem... ... ARRRRRGGGHHH!!!! ... Tension breaker, had to be done. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.573 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 28 Oct 1994 11:04:00 >"P> Ja sam naucio iz umetaka Racunara (dejanr) i iz help-a samog TP-a. >Blago tebi kad si odatle naucio (ako to nazivas naucenim). Bogami, umetk je odlican kao referenca, jer ima lepo slozeno uglavnom sve sto zatreba u pocetku. Ipak iz njega ja ne bih mnogo naucio, srecom sam Pascal prilicno znao i od ranije. Umetak je prilicno upotrebljiv. Ja ga i danas drzim pri ruci, posto su funkcije logicno i pregledno rasporedjene i lako je naci sintaksu za svaku. Meni se vise svidja da koristim stampani materijal od ugradjenog help-a. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.574 inikolic,
Da li neko ima izvorni kod za rad za DBF datotekama(citanje, promena , i sve ostalo) . Ili moze TPU ali za BP 7.0. Uzgred bi me zanimalo vae misljenje o Pascal-ovoj bazi : koliko je ona kvalitetna i pouszdana za veliki broj podataka. IGOR
pascal.575 omega,
Ţ> "P> Ja sam naucio iz umetaka Racunara (dejanr) i iz help-a samog TP-a. Ţ Ţ> Blago tebi kad si odatle naucio (ako to nazivas naucenim). Ovo vec pocinje da me iritira. Izgleda da nam ne stizu sve poruke sa Beointernet-a, jer ovu quote-iranu poruku nigde ne videh!? A sto se tice same poruke, bas mi je drago sto mi zavidis na znanju, ko god da si.
pascal.576 vvelisavljev,
> Program Ctrl_Alt_Del; Zanima me kako bi u Pascalu moglo da se uradi ovo isto da bude rezidentno u mem i da čeka na pritisak tastera da izvrši onu proceduru u asembleru za reset? ( uh al ga sroči :)
pascal.577 spantic,
> Ja ovo zovem veoma drskim neodgovaranjem na pitanje. Neodgovaranjem? Jedina zaista drska osoba ovde si bojim se ti. Prvo, ja sam komentarisao tvoju veoma "hrabru" tvrdnju kako je "ovo što se radi kod nas na fakultetima očaj". Da bi mogao sa autoritetom da tako nešto tvrdiš morao bi da znaš kako se ti programi izvode i šta je uopšte u njima. "Kod nas" je opet širok pojam. Imaš Univerzitet u Beogradu, Novom Sadu, Nišu, Podgorici, Prištini... Samo u Beogradu opet imamo, da nabrojimo samo relevantne, ETF, FON i PMF. Dakle, na kojima je sve "očaj"? Drugo, pitaš "koje metode". Direktno sam ti odgovorio koji je sistem rada bio kod profesora Joze Dujmovića na predmetu "Programski jezici i metode programiranja I" na ETF Beograd. Isti pristup je i danas na snazi, mada su ukinuli domaće zadatke, što je jedna velika greška. Treće, ti sebi pridaješ veliku važnost kada smatraš da je neko zaista dužan da ti nešto odgovara. I još se buniš i kada odgovor dobiješ.
pascal.578 omega,
Ţ Neodgovaranjem? Jedina zaista drska osoba ovde si bojim se ti. Vidis u tome se mi i razlikujemo. Ja se ne bojim. Ja znam. Ţ Da bi mogao sa autoritetom da tako nesto tvrdis morao bi da Ţ znas kako se ti programi izvode i sta je uopste u njima. "Kod nas" Ţ je opet sirok pojam. Imas Univerzitet u Beogradu, Novom Sadu, Naravno da sam mislio na Univerzitet u Beogradu. Ţ Drugo, pitas "koje metode". Direktno sam ti odgovorio koji je Ţ sistem rada bio kod profesora Joze Dujmovica na predmetu "Programski Ţ jezici i metode programiranja I" na ETF Beograd. Isti pristup je To nije tradicionalna metoda, vec specificna. Ti znaci pricas na osnovu jednog jedinog primera, i to specificnog!? Ţ Trece, ti sebi pridajes veliku vaznost kada smatras da je neko Ţ zaista duzan da ti nesto odgovara. I jos se bunis i kada odgovor Ţ dobijes. Ma niko te nista ne tera. Samo kazem da, ako mi vec protivurecis, potkrepi to sa cinjenicama.
pascal.579 andrejt,
__>> Program Ctrl_Alt_Del; __> __> Zanima me kako bi u Pascalu moglo da se uradi ovo isto da bude __> rezidentno u mem i da ceka na pritisak tastera da izvrsi onu proceduru u __> asembleru za reset? ( uh al ga sroci :) Evo otprilike ovako : {$M 1600,0,0} Uses Dos; Var Old28,Old9 : Procedure; Confirm : Boolean; {$F+} Procedure New28; interrupt; Begin Old28; If Confirm Then Alt_Ctrl_Del; ASM PUSHF END; End; Procedure New9; interrupt; Begin If Port[$60] = 29 Then Confirm := True Else Confirm := False; ASM PUSHF END; Old9; End; {$F-} Begin Confirm := False; GetIntVec(9,@Old9); GetIntVec($28,@Old28); SetIntVec(9,@New9); SetIntVec($28,@New28); Keep(0); End. Ono 29 ti je za Ctrl.
pascal.580 vlador,
> From: broker@setgate.setnet.co.yu (Predrag Supurovic) > Subject: pascal > Meni se vise svidja da koristim stampani materijal od ugradjenog help-a. A meni se najviše sviđa da koristim ugrađeni help. :)
pascal.581 inferno,
Ů│ ˙#=> U pravu si... Nisam znao za procedure dok nisam Ů│ ˙#=> pročitao bas2pas... :) Ů│ ˙ Ů│ ˙ Auuu... pa ti ne znaš ni basic ;) Ů│ ˙ Ů│ ˙ Prelažem ti da, umesto 'divlje' metode učenja, uzmeš neku knjigu Ů│ ˙ i lepo se o svemu informišeš. Umetak iz Računara nisam video, ali Ů│ ˙ sumnjam da vredi koliko prava knjiga. Sve knjige koje sam ja čitao su SHIT! Jadan onaj ko odatle mora da uči (studenti). Lepo ljudi listaju program za programom i odjedamput negde npr. iskrsne neka komanda za koju nigde nema objašnjenja. Samo gomila beskorisnih grafikona i listinga.. po principu "snađi se!" Što se tiče umetka, on je mnogo dobro napisan. Sama činjenica da nisam ništa uspeo da uradim dok nisam pročitao bas2pas dosta govori (o textu, a možda i o meni ;))...
pascal.582 inferno,
Ů│ ˙ ::> Prelažem ti da, umesto 'divlje' metode učenja, uzmeš neku Ů│ ˙ ::> knjigu i lepo se o svemu informišeš. Umetak iz Računara nisam Ů│ ˙ ::> video, ali sumnjam da vredi koliko prava knjiga. Ů│ ˙ Ů│ ˙ Umetak iz Računara je loš.Nabavi knjigu Ů│ ˙ 'Turbo Pascal 6.0 - Kompletan vodič' Stephena O'Briena. Ovo je već nešto novo (za mene)... Možeš li mi reći nešto o knjizi? Nisam je video po knjižarama.. :( (mislim na cenu, ko je štampa, i gde je knjižara budući da je nisam video)
pascal.583 inferno,
Ů│ ˙ "O> Kazes da nemas pojma a pravis program do kog bi ti trebalo Ů│ ˙ "O> vise vremena rada. Ů│ ˙ Ů│ ˙ Dobro, covek krece odmah sa 'ozbiljnim' stvarima... Znam ja da to nije ozbiljna sstvar, ali pisao sam pogram koji mi je trebao za nešto. Sad nije bitno da li je "ozbiljan" ili ozbijan... ;)) žudno je eto što mi je za istu stvar u BASIC-u trenalo 10=ak minuta, a za Pascal verziju 3 dana...
pascal.584 rccomp,
Da li neko ima program za Stomatolosku ordinaciju ? Ponude na mail rccomp
pascal.585 spantic,
> Vidis u tome se mi i razlikujemo. Ja se ne bojim. Ja znam. Da si drzak? Svaka čast na iskrenosti. > Naravno da sam mislio na Univerzitet u Beogradu. Nije "naravno". Kada već o nečem diskutuješ, onda moraš jasno da naznačiš o čemu je reč. Ovako možeš posle da vičeš kako je bila reč o ... tvom Univerzitetu, tvom fakultetu, tvojoj ulici, a kad te priteraju i tvojoj sobi. > To nije tradicionalna metoda, vec specificna. Ti znaci pricas na > osnovu jednog jedinog primera, i to specificnog!? Tradicionalni metod u predavanju programskih jezika? I ja to negde tvrdio? Niti je tradicionalni, niti specifičan. Reč je o jednome od metoda koji se koriste u svetu (a radi tvoje informacije ima ih više od dva, baš kao što je pre nego što sam ti opisao drugi, bilo i više od jednog ;) > Ma niko te nista ne tera. Samo kazem da, ako mi vec protivurecis, > potkrepi to sa cinjenicama. Najbolje da se sam sa sobom dogovoriš šta želiš da pokažeš. Ovde niko drugi do tebe samoga ne upada sebi u usta. Nisam ja pričao o stvarima koje vrlo slabo poznajem, to si bio ti. Ti pričaš o "jednom jedinom primeru" što samo pokazuje koliko znaš kada ETF Beograd zoveš jednim, jedinim primerom. Usput, o kojoj raspravi i da se govori, kada uopšte nisi ni naveo GDE se to nastava programskih jezika kod nas odvija loše. Ako misliš da je samo tvoja paušalna procena dovoljna da potkrepi svoj stav, nadam se da ćeš pre nego što ti to zaista bude značajno, ipak malo razmisliti.
pascal.586 superhik,
=:> Možeš li mi reći nešto o knjizi? Nisam je video po =:> knjižarama.. :( (mislim na cenu, ko je štampa, i gde je =:> knjižara budući da je nisam video) Mikro knjiga 011 542-516 Petra Martinovića 6 11030 Beograd
pascal.587 omega,
Ţ> Vidis u tome se mi i razlikujemo. Ja se ne bojim. Ja znam. Ţ Ţ Da si drzak? Svaka cast na iskrenosti. Ha ha. Al' smo zanimljivi Ţ Tradicionalni metod u predavanju programskih jezika? I ja to negde Ţ tvrdio? Pa ako vec ne mozes da se setis, pogledaj malo tvoje prethodne poruke. Ţ Niti je tradicionalni, niti specifican. Rec je o jednome Ţ od metoda koji se koriste u svetu (a radi tvoje informacije ima ih O, pa mi smo to upoznati i sa predavanjima u svetu ;> Ţ Najbolje da se sam sa sobom dogovoris sta zelis da pokazes. Ovde Ţ niko drugi do tebe samoga ne upada sebi u usta. :))) Mdave, sta ti mislis o ovome? ;) Ţ stvarima koje vrlo slabo poznajem, to si bio ti. Ti pricas o Ţ "jednom jedinom primeru" sto samo pokazuje koliko znas kada ETF Ţ Beograd zoves jednim, jedinim primerom. ETF JESTE JEDAN JEDINI PRIMER. A ti ako toliko volis svoj fakultet, ne moras ovde da se lozis. Ţ Usput, o kojoj raspravi i da se govori, kada uopste nisi ni naveo Ţ GDE se to nastava programskih jezika kod nas odvija lose. Vidis, ja znam za bar dva fakulteta pouzdano, a ti samo za jedan. Ma znas sta, mi zivimo u predivnoj zemlji, sve oko nas cveta, svi profani su savrseni, svi predaju "tradicionalnim" metodama po svetskom standardu ;))) Mozda se sad i slozis sa mnom?
pascal.588 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: Boje Date: Tue, 01 Nov 1994 19:07:01 SM> SM> Potreban ti je BGI driver za SVGA, on se zove SVGA256.BGI i mozes SM> ga naci na vecini BBS-ova. Kada ga nabavis onda se on SM> inicijalizuje pomocu procedure InitSVGAGraph(mode): SM> Ovo je izvod iz mog TPU-a i na brzaka je skrpljen, pa nisam siguran SM> da je sve ok, ali bi trebalo da shvatis kako se to radi. U ovom Radi, radi i hvala ti mnogo.Medjutim sada mi se javio novi problem, pa sam mislio da bi ti znao u cemu je problem.Jer niko, ko se bavi Pascalom nije znao da mi to objasni.Evo u cemu je stvar:Uspeo sam(uz tvoju pomoc) da ko- ristim 256 boja u programima, i takodje sam uspeo da ucitam sliku od DVE boje(malo uz pomoc jednog sourcea koji sam skinuo sa nekog BBS-a a malo sam i ja nesto dodao).Pogadjas, hocu da te pitam kako da ucitam sliku od 256 boja.Pokusao sam sve, pa i sam ne shvatam kako da tako nesto(mozda tebi jednostavno) uradim.Unapred hvala, Nikola ... File not found, I'll load something *I* think is interesting. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.589 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: Boje Date: Sat, 29 Oct 1994 12:31:02 Origin.SUBJ: Boje Origin.FROM: Predrag Knezevic Origin.TO: Nikola Sivacki NS> Da li iko zna kako se moze u tp 6.0 (uz SVGA karticu) PK> Probaj sa direktnim upisom u video mem (videces u asm-u ima interupt). Ajde muni ovde neki LIB ili source za direktan upis u video mem! Veoma me zanima kako se to radi, ali ne znam! Znam kako se radi za txt mod, ali ne i za graficki! MAGIC FLASH! ... "Da se izmirimo i da ona govna izgazimo!" * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.590 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: pascal Date: Sat, 29 Oct 1994 12:34:03 Origin.SUBJ: pascal Origin.FROM: "Ivan Petrovic" Origin.TO: All "P> Imam jedan problem. Resio sam da pocnem da ucim Pascal, pa "P> sam nabavio TP 6.0. Naravno, nemam pojma da programiram u "P> TP-u. Od knjiga imama neke starudije, tako da je slaba "P> vajda. Ja sam TP naucio iz sjajne knjige "OSNOVI PASKALA SA EKSTENZIJAMA TURBO-PASCALA" Milana Cabarkape (crvena knjiga), i iz jos boljeg (zbog vise primera) TP On-line helpa! MAGIC FLASH! ... Gluma je umetnost odvracanja publike od zevanja! * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.591 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: tri-door Date: Sat, 29 Oct 1994 12:40:04 Origin.SUBJ: tri-door Origin.FROM: Bosko Rafajlovic Origin.TO: All BR> Da li je neko ovde radio sa TRI-DOOR-om ? BR> Ja sam provalio neke funkcije ali nisam sve :( ... pa me interesuje BR> sta sve moze ... ! Ja sam pravio neke door-ove i mogu ti reci da je TPU -- mrak! Very easy za upotrebu, jasna imena func. i proc. koje skoro sve rade za tebe, tako da se pisanje svodi na nesto komplikovanije pisanje programa za DOS, jer ti TPU proc. i func. same obavljaju prakticno zezanje sa modemom. MAGIC FLASH! ... Ostali smo bez senfa na koti 45! * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.592 mdave,
Subject: Re: VOAH! MD> Ţ Najbolje da se sam sa sobom dogovoris sta zelis da pokazes. MD> Ţ Ovde niko drugi do tebe samoga ne upada sebi u usta. MD> MD> :))) Mdave, sta ti mislis o ovome? ;) MDave ne razmišljati ! Bledoliki Spantić govoriti zmijskim (tss tss tss) jezikom ! Veliki SysAdm-Manitu njemu obrisati poruku ! HAUG !
pascal.593 vvelisavljev,
> Begin > If Port[$60] = 29 Then Confirm := True > Else Confirm := False; > ASM PUSHF END; > Old9; > End; Ovo radi Ok kad pritisneš CTRL. Vidiš, ja sam primetio da svki taster portu šalje jedan kod dok je pritisnut i drugi kod kad ga pustiš. E, ja sam imao u planu da mi se računar resetuje kad ja pritisnem ALT-R. Primetio sam da onda na port izlaze sledeći kodovi: 56 19 147 184. 56 je za ALT kad ga pritisneš a 19 za r. 147 je za r kad ga pustim a 184 za ALT. Najverovatnije je da ja sad nisam otkrio nikakvu Ameriku :) ali to je za mene novina. Mene zanima kako ja da kad proverim da je prvi taster 56 da prosledim portu sledeći taster da bi video dali je on 19 pa da se mašina resetuje. Huh, nadam se da vas nisam ugnjavio.
pascal.594 vitez.koja,
#=>> Program Ctrl_Alt_Del; #=> Zanima me kako bi u Pascalu moglo da se uradi ovo isto #=> da bude rezidentno u mem i da čeka na pritisak tastera #=> da izvrši onu proceduru u asembleru za reset? ( uh al ga #=> sroči :) Pogledaj primer uz help za "Keep" funkciju - sve će ti se kasti samo.
pascal.595 inferno,
Ů│ ˙ Ů│ ˙ Mikro knjiga 011 542-516 Petra Martinovića 6 Ů│ ˙ 11030 Beograd Hvala, ovo je stvarno bilo od koristi! :)
pascal.596 uobradovic,
::> Možeš li mi reći nešto o knjizi? Nisam je video po ::> knjižarama.. :( (mislim na cenu, ko je štampa, i gde je ::> knjižara budući da je nisam video) Knjiga je odlična(najbolja za učenje Turbo Pascala).Možeš je naći u Mikro knjizi(Petra Martinovića 6; tel:542-516) i mislim da joj je cena 25 dinara. Uroš
pascal.597 pedjak,
> Ů│ ˙ 'Turbo Pascal 6.0 - Kompletan vodič' Stephena O'Briena. > Možeš li mi reći nešto o knjizi? Nisam je video po > knjižarama.. :( (mislim na cenu, ko je štampa, i gde je > knjižara budući da je nisam video) Mikro knjiga.
pascal.599 vitez.koja,
#=> mene novina. Mene zanima kako ja da kad proverim da je #=> prvi taster 56 da prosledim portu sledeći taster da bi #=> video dali je on 19 pa da se mašina resetuje. Svaki taster ima svoj scan code. Broj koji se pojavljuje na portu 0x60 kada je taster pritisnut je njegov sken kod ;) a kada se taj taster pusti na taj port stiže njegov sken kod sa upaljenim sedmim bitom - tj. uvećan za 128. U programu treba da u neku boolean promenljivu postaviš 1 kada očitaš da je taster ALT pritisnut, a 0 kada je pušten. Onda: if alt and port(0x60)=šta_već do to_i_to.
pascal.600 kriss,
˙˙ Ţ> Vidis u tome se mi i razlikujemo. Ja se ne bojim. Ja znam. ˙˙ Ţ ˙˙ Ţ Da si drzak? Svaka cast na iskrenosti. ˙˙ ˙˙ Ha ha. Al' smo zanimljivi Baš ste zanimljivi. A zanimljiv je i moderator koji ovo sve trpi u temi. :<
pascal.601 vitez.koja,
#=> i šta raditi da se skine onaj BAD sektor. Ili je to stvarno #=> oštećen sektor koji se BAŠ tu pojavio u BAŠ tom trenutku?!?!?! Startuj Disktool iz nortona i obeleži ga kao da je dobar (ako si siguran da stvarno jeste), u svakom slučaju pusti posle NDD da proveri disk... sk
pascal.602 vlador,
>> Vidis u tome se mi i razlikujemo. Ja se ne bojim. Ja znam. > Da si drzak? Svaka čast na iskrenosti. Da niste malllko promašili conf? :)
pascal.603 ognjen,
[uobradovic] )-> Nabavi knjigu 'Turbo Pascal 6.0 - Kompletan vodic' )-> Stephena O'Briena. Da li ima puno razlika u odnosu na 5.5 (ne turbo pascal, nego knjiga :) ??? Ja imam tu knjigu na engleskom, pa me zanima da li ad nabavljam novu? Kakav je prevod?
pascal.604 andrejt,
__> E, ja sam imao u planu da mi se racunar resetuje kad ja pritisnem ALT-R. Umesto If Port[$60] = 29 Then Confirm := True Else Confirm := False; u proceduri New9, stavi Case Port[$60] Of 56 : Alt := True; (* 56 - kad pritisnes Alt *) 184 : Alt := False; (* 184 - kad pustis Alt *) 19 : RChar := True; (* 19 - kad pritisnes R *) 147 : RChar := False; (* 147 - Kad pustis R *) End; i umesto If Confirm Then ... ; u proceduri New28, stavi If Alt And RChar Then ... ;
pascal.605 inferno,
Ů│ ˙ Da li ima puno razlika u odnosu na 5.5 (ne turbo pascal, nego Ů│ ˙ knjiga :) ??? Ja imam tu knjigu na engleskom, pa me zanima da li Ů│ ˙ ad nabavljam novu? Kakav je prevod? Niam video 5.5 knjigu... Što se tiče ove knjige Stivena O Brajana ;), sve mje preporuke...
pascal.606 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: raf bbs Date: Mon, 31 Oct 1994 18:58:01 -=> Quoting Bosko Rafajlovic to All <=- BR> raf bbs, tel. 011/724-073 BR> od 22-06 h BR> Sta je ovo i kakve to veze ima sa Pascalom? Da li je to neka najnovija metoda ispisa teksta u Pascalu? Da li mozda ide ovako ?: program raf_bbs; uses crt; begin clrscr; writeln('raf bbs, tel. 011/724-073'); writeln('od 22-06 h'); end. Cini mi se da postoji konferencija NET.Oglasi ili tako nesto. Ako vec imas toliku neiscrpnu zelju za oglasavanjem probaj tamo ako vec nisi(ma, ne i nisi). Nikola ... "Mr. Worf, fire phasers at Bosko" ... Zzzzzap! * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.607 superhik,
=:> Da li ima puno razlika u odnosu na 5.5 (ne turbo pascal, =:> nego knjiga :) ??? Ja imam tu knjigu na engleskom, pa me =:> zanima da li ad nabavljam novu? Kakav je prevod? Slušaj... Za 25 DIN ako nađeš bolju knjigu o TP-u sečem glavu!
pascal.608 uobradovic,
::> Da li ima puno razlika u odnosu na 5.5 (ne turbo pascal, ::> nego knjiga :) ??? Ja imam tu knjigu na engleskom, pa me ::> zanima da li ad nabavljam novu? Kakav je prevod? Nemam tu knjigu(Turbo Pascal 5.5).Video sam je kod jednog čoveka ali neznam kakva je.Što se tiče knjige Stephena O'Briena odlična je.Samo toliko. Ako imaš para ne bi bilo loše da je kupiš. Uroš
pascal.609 vlador,
> Slušaj... Za 25 DIN ako nađeš bolju knjigu > o TP-u sečem glavu! žiju? ;)
pascal.610 vlador,
JEDNO PITANJE ============= Već sam pitao u PC.PROG:windows, ali ovo se ne tiče samo Windowsa. Kako iz Pascala da podesim volume label diskete? Pkušao sam pozivanjem interapta i to lepo radi kroz DOS, ali ne i kroz Windows (a ovo drugo mi treba). Pokušao sam setovanjem volume atributa fajla (SetFAttr), ali ova operacija vraća DosError 5 (Acces denied), iako na disketi nema postojećeg volume labela. Setovanje nekog "normalnog" atributa, kao štu su hidden, read-only radi bez problema. 'Ajte ljudi, nije valjda da niko ne zna!
pascal.611 ognjen,
)-> Nemam tu knjigu(Turbo Pascal 5.5).Video sam je kod jednog )-> coveka ali neznam kakva je.Sto se tice knjige Stephena )-> O'Briena odlicna je. Samo toliko. Nisi razumeo. Ja imam knjigu: TURBO PASCAL 5.5 - Complete reference - Stephen O'Brien Da li da kupujem novu, ili da ucim engleski?
pascal.612 postmast,
From: bebek@setgate.setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Mon, 31 Oct 1994 08:24:07 -=> Quoting "Rastko Colic" to All <=- Citat: "Rastko Colic" <rcolic@sezam.UUCP> "C> Slazem se sa tobom, ali ipak se ne moze sve nauciti pisuci programe "C> samoinicijativno.. ipak treba da postoji i literatura pomocu koje ce "C> se usmeravati samostalni rad (ne mislim na tupave knjige koje se "C> koriste u skolama za informatiku). Postoji jedna strasna skupina "C> programa pod imenom PCGPE (iliti PC Games Programming Encyclopaedia) "C> koja sadrzi gomilu sorseva grafickog, zvucnog, i/o i slicnog sadrzaja. "C> Ja je imam, ali je prilicno velika(>1.5MB) pa vicite ako vam treba "C> poneki sors.. Nevolim da vicem ali evo: DA SLUCAJNO NEMAS MODEM NA 14400 PA DA MI DAS TO SVE ? uf ostadoh bez glasa ... BR> Pogubio sam tagove. Postenim nalazacima nagrada. * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.613 postmast,
From: bebek@setgate.setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Mon, 31 Oct 1994 08:27:08 Citat: "Ognjen Blagojevic" <ognjen@sezam.UUCP> )-> 'Turbo Pascal 6.0 - Kompletan vodic' Stephena O'Briena. "B> "B> Da ne bude oglas, ali moj ortak prodaje za 30 din, nova. Ne "B> znam koliko je povoljno, pogledajte prvo u Mikro Knjizi (oni to "B> prodaju), ako nema, mail me. Gledah u neki katalog MikroKnjige i tamo pise 20 (bilo letos) ali kad se uracuna inflacija od letos do sad sumlnjam da je i dalje 20 .. ... BR> Pusenje ili zdravlje. Odlucite sami. * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.614 postmast,
From: bebek@setgate.setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Mon, 31 Oct 1994 08:32:09 -=> Quoting "Igor Nikolic" to All <=- Citat: "Igor Nikolic" <inikolic@sezam.UUCP> "N> Da li neko ima izvorni kod za rad za DBF datotekama(citanje, promena , "N> i sve ostalo) . Ili moze TPU ali za BP 7.0. Uzgred bi me zanimalo vae "N> misljenje o Pascal-ovoj bazi : koliko je ona kvalitetna i pouszdana za "N> veliki broj podataka. Ja imam neke dva paketa za rad sa dbf -ovima ali ni jedna nece da funkcionise u BP 7.00 isto sam nasao jos TPU-ova za razne stvari koji necedu da rade... ... ×réss 楜 kłś tĽ ŤĽĄtíĄüŐ žr äŘś žthér kłś tó qüít * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.615 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: Boje Date: Thu, 03 Nov 1994 23:07:01 Origin.SUBJ: Re: Boje Origin.FROM: Nikola Sivacki Origin.TO: Sloba Markovic NS> tvoju pomoc) da ko- ristim 256 boja u programima, i takodje sam uspeo NS> da ucitam sliku od DVE boje(malo uz pomoc jednog sourcea koji sam NS> skinuo sa nekog BBS-a a malo sam i ja nesto dodao).Pogadjas, hocu da NS> te pitam kako da ucitam sliku od 256 boja.Pokusao sam sve, pa i sam ne NS> shvatam kako da tako nesto(mozda tebi jednostavno) uradim.Unapred Procedure su u glavnom komplikovane, jer se radi o citanju odredjenog grafickog formata. Ja se nisam bavio takvim stvarima sto se tice grafike, mada imas npr. na POLITICI ili ECSTASY-ju arhive u kojima se nalazi source ili TPU za prikazivanje slika (na zalost) u .PCX formatu, ali zato u 256 boja (sto tebi i treba). Ako oces sam da prckas po slikama, mogu ti poslati (a mozes i sam da skines sa gotovog svakog veceg BBS-a) opis najpopularnijih grafickih formata (GIF, PCX, TIFF...) Nadam se da sam, iako ne kao za prethodno pitanje, bar malo pomogao. Pozdrav, MAGIC FLASH! ... Nije sve u seksu ima nesto i u drzanju za ruke O:) * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.616 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: pascal Date: Thu, 03 Nov 1994 23:52:02 Origin.SUBJ: pascal Origin.FROM: "Igor Nikolic" Origin.TO: All "N> Da li neko ima izvorni kod za rad za DBF datotekama(citanje, promena , Arhiva se nalazi na POLITIKA BBS-u, file oblast 51 ili 53 ne secam se. MAGIC FLASH! ... Government isn't the answer... Government is the PROBLEM! * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.617 postmast,
From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic) Subject: Re: pascal Date: Sun, 06 Nov 94 20:59:12 GMT In article <sezam$pascal uobradovic@sezam.UUCP writes: > >::> Da li ima puno razlika u odnosu na 5.5 (ne turbo pascal, >::> nego knjiga :) ??? Ja imam tu knjigu na engleskom, pa me >::> zanima da li ad nabavljam novu? Kakav je prevod? > > Nemam tu knjigu(Turbo Pascal 5.5).Video sam je kod jednog > coveka ali neznam kakva je.Sto se tice knjige Stephena > O'Briena odlicna je.Samo toliko. > Ako imas para ne bi bilo lose da je kupis. > > Uros > E pa ja sam procitao i jednu i drugu knjigu i o TP 6.0 - The Complete Reference knjizi mogu reci samo najbolje stvari.Odlicno je koncipirana, jasna, i jednom recju treba je imati. Ima sve i za pocetnika i za iskusnijeg programera, sa gomilom primera za skoro sve nivoe znanja Pascal-a. Jedina mana koju sam nasao je u delu koji govori o direktnom pristupu video memoriji gde su primeri uradjeni za CGA i MDA monitore/kartice, ali se i podaci za VGA/EGA daju izbunariti iz nekog DOS Thecnical Reference-a. Sve u svemu: svako i malo ozbiljnije radi u pascalu trebao bi da je ima (bilo original bilo 'prepev' na srpski). Sto se tice TP 5.5 (citao sam samo prevod) nekako mi je sve u toj knjizi bilo "nabacano" i nelogicno rasporedjeno. Mogao je covek da pronadje sta ga zanima ali je morao da pretura i prelistava po knjizi. Eto toliko. Pozdrav, Nenad R. -- ----------------------------------------------------------------------- Nenad Radosavljevic Elektrotehnicki Fakultet nenadr@sunset.fon.bg.ac.yu Beograd, Yugoslavia -----------------------------------------------------------------------
pascal.618 kriss,
˙˙ Kako iz Pascala da podesim volume label diskete? Pojma nemam iz paskala, ali u asm-u bi umeo (ne garantujem za Win, jer ga je gajim na disku. žak štaviše, nemam pojma da radim u njemu! Ne znam kako se pokreće aplikacija, kako se izlazi i sl. Za izlaz koristim reset taster ...). Ideja je u sledećem: volume label se nalazi u boot sektoru (sektor 0), dakle učitaš ga u neki bafer od 512 bajtova, izmeniš label i vratiš ga. :) Jednostavno? :)
pascal.619 mjova,
> Kako iz Pascala da podesim volume label diskete? možda ti mali hint bude od pomoći: labela je slična imenu datoteke dužine 0 bajtova, ali sa setovanim atributom VOL.
pascal.620 inesic,
># => i šta raditi da se skine onaj BAD sektor. Ili je to stvarno ># => oštećen sektor koji se BAŠ tu pojavio u BAŠ tom > trenutku?!?!?! > > Startuj Disktool iz nortona i obeleži ga kao da je dobar (ako > si siguran da stvarno jeste), u svakom slučaju pusti posle NDD > da proveri disk... > sk Sećam se jednog virusa, zvao se Ping-pong ili tako nekako - skakuće ti loptica po ekranu u text režimu. Taj je virus imao običaj da označi neki sektor kao bad pa da se tamo upiše, ili je tamo prepisivao but sektor ne sećam se više. Najbolje bi bilo da se najpre obriše taj bad sector makar bajt po bajt iz pc-toolsa, pa tek onda da se obeležava da je dobar. Marfi ne spava.
pascal.621 omega,
Ţ "C> koriste u skolama za informatiku). Postoji jedna strasna skupina Ţ "C> programa pod imenom PCGPE (iliti PC Games Programming Encyclopaedia) Ţ "C> koja sadrzi gomilu sorseva grafickog, zvucnog, i/o i slicnog sadrzaja. Ţ "C> Ja je imam, ali je prilicno velika(>1.5MB) pa vicite ako vam treba Ţ "C> poneki sors.. Ţ Ţ Nevolim da vicem ali evo: Ţ DA SLUCAJNO NEMAS MODEM NA 14400 PA DA MI DAS TO SVE ? I ja sam u tom slucaju interesent :)
pascal.622 omega,
Ţ volume label se nalazi u boot sektoru (sektor 0), dakle ucitas ga u Ţ neki bafer od 512 bajtova, izmenis label i vratis ga. :) Jednostavno? A za DOS ver < 4.0 ? ;>
pascal.623 mmitrovic,
Ů█▀█Ţ I ja sam u tom slucaju interesent :) Ja mu tražio preko mail-a, al me izgleda ne miriše mnogo. ;)
pascal.624 kriss,
˙˙ Ţ volume label se nalazi u boot sektoru (sektor 0), dakle ˙˙ ucitas ga u Ţ neki bafer od 512 bajtova, izmenis label i ˙˙ vratis ga. :) Jednostavno? ˙˙ ˙˙ A za DOS ver < 4.0 ? ;> A za to napišeš poruku 'Ako još koristiš DOS < 4.0, onda ti ni ne treba volume label' ;> BTW., ako već znaš pomozi čoveku ...
pascal.625 sslavko,
Šta mislite šta će ovo dole dati kao rezultat? 36000 ??? E pa to neće. Umesto pravog rezultata dobićete 36000-65536=-29536. Znam da se to dešava zbog prekoračenja integer-a, ali mi je opet malo priglupo da Borland nije vodio računa o ovome. Ili možda jeste ali ja ne znam. var i:integer; begin i:=9; writeln(i*4000); end.
pascal.626 omega,
Ţ A za to napises poruku 'Ako jos koristis DOS < 4.0, onda ti ni ne Ţ treba volume label' ;> Ţ Ţ BTW., ako vec znas pomozi coveku ... Ni meni niko ovde nije pomogao, pa ne mogu ni ja njemu... Hint: Odustani dok jos mozes... P.S. Sad mi pade na pamet - treba debagovati COMMAND.COM i naci kako to VOL radi.
pascal.627 janko,
> Ideja je u sledećem: > volume label se nalazi u boot sektoru (sektor 0), dakle > učitaš ga u neki bafer od 512 bajtova, izmeniš label i > vratiš ga. :) Jednostavno? Jednostavno -- pogrešno. Label se NE nalazi u boot sektoru. Nalazi se u root diru. Kako mu se pristupa -- skinite TECH Help, ako već niste, za početak.
pascal.628 vlador,
> volume label se nalazi u boot sektoru (sektor 0), dakle učitaš ga u > neki bafer od 512 bajtova, izmeniš label i vratiš ga. :) Jednostavno? Da. :) Još kad bi radilo u Windowsu... :( Stvarno, zašto bre ovo ne radi u Windowsu? Inače, nisam čitao boot nego sam preko funkcije $69 int $21 čitao volume label. Sors sam ostavio u PC.PROG:windows.233. Isti taj sors kroz DOS radi (???).
pascal.629 vlador,
> labela je slična imenu datoteke dužine 0 bajtova, ali sa setovanim > atributom VOL. Pokušao sam i to, ali DOS komanda label preimenuje (ili kreira) takav fajl i plus toga promeni u bootu ime diskete. Za čitanje mi je bilo dovoljno samo da pronađem fajl sa Vol atributom, ali za promenu ne. Osim toga, kada sam pokušao da setujem Vol atribut fajla DOS mi je vratio Acces Denied. Q: Gde li sam pogrešio?... A: Što nisam uzeo C...
pascal.630 omega,
Ţ Q: Gde li sam pogresio?... Ţ A: Sto nisam uzeo C... Da znas, prelazi dok jos mozes. Ja sam se uvalio u taj TP, sad se jedva prilagodjavam ;)
pascal.631 goxx,
Nalazi se i na jednom i na drugom mestu. Goran
pascal.632 uobradovic,
::> TURBO PASCAL 5.5 - Complete reference - Stephen O'Brien ::> Da li da kupujem novu, ili da ucim engleski? U prethodnoj poruci sam mislio na knjigu Turbo Pascal 6.0. A da li da je kupiš ili ne,to je tvoja stvar.Ja lično više volim knjige na srpskom jeziku. Uroš
pascal.633 andrejt,
__> Da. :) Jos kad bi radilo u Windowsu... :( Stvarno, zasto bre ovo ne radi __> u Windowsu? Inace, nisam citao boot nego sam preko funkcije $69 int $21 __> citao volume label. Sors sam ostavio u PC.PROG:windows.233. Isti taj __> sors kroz DOS radi (???). Glupi Windows ;)) Zar on ne preuzima neke interapte ? Nemam veze sa winom ali mozda preuzme 21 pa onda 21,69h ne radi kako je ocekivano ?
pascal.634 pedjak,
> Ni meni niko ovde nije pomogao, pa ne mogu ni ja njemu... Jako lepo :((
pascal.635 kriss,
˙˙> volume label se nalazi u boot sektoru (sektor 0), dakle ˙˙ Jednostavno -- pogrešno. ˙˙ Label se NE nalazi u boot sektoru. Nalazi se u root diru. E nije pogrešno, već nedorečeno. ;) Nalazi se *i* u boot sektoru, i to od dos-a 4+, a nalazi se i u root diru (kao što mjova reče) kao fajl nulte dužine sa setovanim vol atributom. Ako baš treba, eno u sledećoj poruci sors-a koji radi preko root-a. :)
pascal.636 kriss,
˙˙ Da. :) Još kad bi radilo u Windowsu... :( Stvarno, zašto bre ˙˙ ovo ne radi u Windowsu? Inače, nisam čitao boot nego sam preko ˙˙ funkcije $69 int $21 čitao volume label. Sors sam ostavio u ˙˙ PC.PROG:windows.233. Isti taj sors kroz DOS radi (???). Nemam pojma o čemu se radi, ali evo programa koji radi (u DOS-u), pa probaj da ga doradiš/ispraviš prema svojim potrebama: mov ah,1ah ; Set DTA, da bacimo DTA na kraj fajla mov dx,offset kraj int 21h mov ah,4eh ; find first mov dx,offset filetype mov cx,8 ; osmi bit je volume label int 21h mov ah,4ch ; terminate int 21h filetype: db "*.*",00 kraj: Ovo dakle _radi_ i pronalazi volume label bez obzira u kom je dir-u pokrenuto. Volume label ti se nalazi u (novoj) DTA, na adresi kraj+01eh - tvoje je da ga samo pokupiš. Za win veruj ne znam, ne gajim to na disku.
pascal.637 ognjen,
)-> Znam da se to desava zbog prekoracenja integer-a, ali mi je )-> opet malo priglupo da Borland nije vodio racuna o ovome. Ili )-> mozda jeste ali ja ne znam. Pa i nije tako glupo. Da bi se zapamtio jedan integer potrebno je (cini mi se) 16 bitova. Ti definises i: integer; i on rezervise 16 bitova za ti I. Posle samo toliko mozes da koristis, tj. posle prekoracenja 111..111 (16 puta) dolazi 000..000, sto je -32767, i tu nema pomoci. Ako zelis da radis sa vecim brojevima izaberi longint, a ako ti se radi sa bas velikim, radi sa REAL.
pascal.638 sslavko,
>> je (cini mi se) 16 bitova. Ti definises i: integer; i on >> rezervise 16 bitova za ti I. Posle samo toliko mozes da koristis, Jeste ali ni sledeći program ne radi: var i:integer; j:longint; begin i:=6; j:=10 writeln(i*3600+j); end. ...na primer. Iako se za ispis gura i longint writeln opet brlja.
pascal.639 vlador,
> Glupi Windows ;)) Zar on ne preuzima neke interapte ? Nemam veze sa winom > ali mozda preuzme 21 pa onda 21,69h ne radi kako je ocekivano ? Stvarno, možda... Kako da saznam šta je Windows uradio sa interaptima?
pascal.640 andrejt,
__> Stvarno, mozda... Kako da saznam sta je Windows uradio sa interaptima? Zavisi kako ih preuzima ... Ako ih preuzima preko int 21,25 onda je jednostavno : samo preuzmes int 21h i cekas da ti se u ah pojavi 25h a u AL npr. 8,9 ili koji vec interapt oces da vidis i onda procitas DS:DX - pointer na novi int. E sad ako samo upise u memoriju na mesto int vectora ono sto mu treba onda nemam pojma.
pascal.641 janko,
>>> je (cini mi se) 16 bitova. Ti definises i: >>> integer; i on rezervise 16 bitova za ti I. Posle samo > toliko mozes da koristis, > > Jeste ali ni sledeći program ne radi: > > var i:integer; > j:longint; > > begin > i:=6; > j:=10 > writeln(i*3600+j); > end. Zbog prekoračenja međurezultata. Probaj var i : integer; var j : integer; (* ovo je dovoljno za ovu upotrebu *) ... writeln( longint(i)*3600 + j ) i sve je OK. Takođe probaj da nađeš negde neki tekst o implicitnim konverzijama, napravio si stratešku grešku, koju ne bi da si znao tu priču.
pascal.642 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: Boje Date: Sun, 06 Nov 1994 16:43:00 SM> Nadam se da sam, iako ne kao za prethodno pitanje, bar malo SM> pomogao. Jesi! Hvala ti mnogo! :))))) ... Sreca.To je...NO CARRIER * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.643 postmast,
From: Vladimir.Bonc@f101.n101.z38.setgate.setnet.co.yu (Vladimir Bonc) Subject: Konverzija tipova Date: Tue, 08 Nov 1994 06:44:11 Sta ovde ne valja: ... var dd, mm, gg: integer; datum : longint; ... begin datum := dd + mm*100 + gg*10000 ... Moj kolega je skoro koristio slicnu konstrukciju u TP i, umesto ocekivanog rezultata, dobio je rezultat tipa integer, iako je datum deklarisao kao longint. U uputstvu za Kickpascal koji sam ranije koristio za Amigu, upozoravaju na ovakvu situaciju Program IntToLong; Var a,b: integer; begin a:=26731; b:=20000; write(a+2*b); end. i predlazu resenje: write(a+2*long(b)), znaci, prisiljavanje kompajlera da racuna u opsegu longint. Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu kao long? * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.644 sslavko,
>> Sta ovde ne valja: Isto što i u mom primeru od pre par dana :))) >> Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu >> kao long? Evo Janko je to objasnio u 7.641. Znači Longint(b);
pascal.645 evlad,
>> begin >> datum := dd + mm*100 + gg*10000 >> >> Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu >> kao long? datum := LongInt(dd) + LongInt(mm)*100 + LongInt(gg)*10000;
pascal.646 uobradovic,
::> Zavisi kako ih preuzima ... Ako ih preuzima preko int 21,25 ::> onda je jednostavno : samo preuzmes int 21h i cekas da ti se ::> u ah pojavi 25h a u AL npr. 8,9 ili koji vec interapt oces da ::> vidis i onda procitas DS:DX - pointer na novi int. E sad ako ::> samo upise u memoriju na mesto int vectora ono sto mu treba ::> onda nemam pojma. E,a kako ja da naučim sve ovo.Mislim kada da koristim DS kada DX,zašto nije AL nego AX ...... Uroš P.S. Ovo sam lupao jer neznam ništa o tome.Probao sam da učim iz Brian-ove knjige ali ne ide.
pascal.647 szeman,
>> Znam da se to dešava zbog prekoračenja integer-a, ali mi je >> opet malo priglupo da Borland nije vodio računa o ovome. Ili >> možda jeste ali ja ne znam. Integer * integer = integer i tu nema pomoći, osim ako se ne promeni tip varijable ili ne napiše konstanta u real obliku, kao 4000.0.
pascal.648 pedjak,
> Jeste ali ni sledeći program ne radi: > writeln(i*3600+j); > ...na primer. Iako se za ispis gura i longint writeln opet > brlja. Zato što TP smatra da je rezultat neke računske operacije istog tipa kao i prvi operand, ukoliko ti eksplicitno ne tražiš drugačije. Prilično glupo, ali šta je tu je :) To se može rešiti sa: writeln(longint(i)*3600+j);
pascal.649 vukov,
Pitanje za poznavaoce Turbo Pascala: Da li je moguce iz programa usmeriti stampanje na port LPT2, uz potpuno ocuvanje udobnosti rada sa LST datotekom iz Borlandovog PRINTER Unit-a? Zahvaljujem unapred na svim sugestijama.
pascal.650 vlador,
> 25h a u AL npr. 8,9 ili koji vec interapt oces da vidis i onda procitas Ok, probaću. I šta da radim ako je preuzeo int?
pascal.651 uobradovic,
U Pascalu neće da mi radi sledeći program. {$M 2000,0,0} Uses Dos; begin exec('ime fajla',''); end; Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i oslobodim stek jer treba da startujem neke programe,naprimer TM. Uroš
pascal.652 dares,
VL> U Pascalu neće da mi radi sledeći program. VL> VL> š$M 2000,0,0ć VL> Uses Dos; VL> begin VL> exec('ime fajla',''); VL> end; VL> VL> Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i oslobodim VL> stek jer treba da startujem neke programe,naprimer TM. VL> Probaj ovako: š$M 2000,0,0ć Uses Dos; begin SwapVectors; exec('Ime_fajla',''); MMM SwapVectors; end.
pascal.653 pedjak,
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz > potpuno ocuvanje udobnosti rada sa LST datotekom iz Borlandovog > PRINTER Unit-a? Naravno, potrebno je sledeće: var lst:text; Assign(lst,'lpt2'); Reset(lst); Ostatak koda ne moraš da menjaš.
pascal.654 pedjak,
> exec('ime fajla',''); Ime fajla mora biti sa kompletnom putanjom i ekstenzijom, na primer c:/pera/mika/laza.exe
pascal.655 andrejt,
__> E,a kako ja da naucim sve ovo.Mislim kada da koristim DS kada __> DX,zasto nije AL nego AX ...... Imas cini mi se i na sezamu neki spisak intova od 4 mb ;)) Koristio sam HelpPC 2.01 - moze da se skine i sa sezama kolko mi se cini. (Nije veliki - oko 800k texta) __> P.S. Ovo sam lupao jer neznam nista o tome.Probao sam da ucim __> iz Brian-ove knjige ali ne ide. Kako ne ide ? Sta ti ne ide ? (Jel' mislimo na istog Briana ? ;))
pascal.656 andrejt,
__> Ok, probacu. I sta da radim ako je preuzeo int? Ne znam dal' bi ovo radilo - ne koristim win ali mogo bi da probas da napravis jos jedan int21 (mislim da ga preuzmes jos jednom) i da kao adresu neke globalne prom. tipa procedure stavis ono sto dobijes kao adresu winovog int handlera i onda u novom intu proveris ono sto ti treba pa ako je funkcija za menjanje voluma (jel se o ovome bese radilo ?) ti pozoves onaj prvi - dosov int21 a ako to nije ta funkcija onda samo pozivas winov int21.
pascal.657 vlador,
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz potpuno Evo potpunog kratkog sorsa printer.tpu-a. Možeš promeniti šta ti se ne sviđa. :) --- Cut here --- {*******************************************************} { } { Turbo Pascal Runtime Library } { Printer Interface Unit } { } { Copyright (C) 1988,92 Borland International } { } {*******************************************************} unit Printer; {$I-,S-} interface var Lst: Text; implementation procedure LstBinaryMode; inline( $8B/$1E/Lst/ { MOV BX,Lst.Handle } $B8/$00/$44/ { MOV AX,4400H } $CD/$21/ { INT 21H } $80/$CA/$20/ { OR DL,20H } $B6/$00/ { MOV DH,0 } $B8/$01/$44/ { MOV AX,4401H } $CD/$21); { INT 21H } begin Assign(Lst,'LPT1'); Rewrite(Lst); LstBinaryMode; end. --- Cut here ---
pascal.658 omega,
Ţ U Pascalu nece da mi radi sledeci program. A da pogledas poruke od pre jedno mesec dana?
pascal.659 evlad,
>> š$M 2000,0,0ć >> Uses Dos; >> begin >> exec('ime fajla',''); >> end; begin exec ... WriteLn (OutPut,'Dos greška: ',DosError); ReadLn; (* ovo čeka enter, da bi na miru pročitao poruku *) end Pokušaj da očitaš DOSERROR variablu, da vidiš šta ti je dos prijavio (šta ga boli doktore ?) ... E onda probaš swapvect, puno ime datoteke, povećaš, kompajlersku direktivu $M na 8000 ili 16000 etc ... Prijatno ...
pascal.660 superhik,
=:> MMM SwapVectors; ^^^ Jel treba i ovo ;) ili je samo loša veza!?
pascal.661 janko,
> Da li je moguce iz programa usmeriti stampanje na port > LPT2, uz potpuno ocuvanje udobnosti rada sa LST datotekom > iz Borlandovog PRINTER Unit-a? Da. Odgovor je prost -- ne koristi taj junit, otvori svoju datoteku lst2 i gotovo.
pascal.662 janko,
> U Pascalu neće da mi radi sledeći program. > > {$M 2000,0,0} > Uses Dos; > begin > exec('ime fajla',''); > end; > > Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i > oslobodim stek jer treba da startujem neke > programe,naprimer TM. Stek si već rešio, ono što ti nije uspelo je da ti program nađe fajl -- nisi naveo punu adresu programa. Neispravno: exec("TM"); exec("\kumun\TM"); ispravno: exec("\komun\TM.exe"); Sa TM-om (ako je reč o komunikacionom programu, a ne Nortonovom Time Mark) ima šanse da ti ni ispravna varijanta ne uspe, jer TM je mnogo alav za memorijom (bar ova verzija koju ja koristim).
pascal.663 superhik,
=:> (šta ga boli doktore ?) ... E onda probaš swapvect, puno ime =:> datoteke, $$$$$$$$ Zašta uopšte služi naredba SwapVectors ?
pascal.664 evlad,
>> Zašta uopšte služi naredba SwapVectors ? The following variables are all of the type pointer, and save the original values of interrupt vectors that Turbo Pascal changes. Their names are of the form SaveIntXX, where XX is the interrupt number in hex: SaveInt00,SaveInt02,SaveInt1B,SaveInt23,SaveInt24,SaveInt34,SaveInt35, SaveInt36,SaveInt37,SaveInt38,SaveInt39,SaveInt3A,SaveInt3B,SaveInt3C, SaveInt3D,SaveInt3E,SaveInt3F,SaveInt75: pointer; Sve ove interrupt vektore paskal preusmerava. Naredba SwapVector ih postavlja na originalnu vrednost.
pascal.665 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: tri-door Date: Sat, 12 Nov 1994 12:09:00 > Ja sam pravio neke door-ove i mogu ti reci da je TPU -- > mrak! > Very easy za upotrebu, jasna imena func. i proc. koje > skoro sve rade > za tebe, tako da se pisanje svodi na nesto > komplikovanije pisanje > programa za DOS, jer ti TPU proc. i func. same obavljaju > prakticno > zezanje sa modemom. :)) Da li si mozda provalio kako moze da se izabere (naravno iz TPU-a) ANSI, ASCII ili AVATRRAT grafika - ja sam napravio neki door - ali samo podrzav ANSI grafiku, tj. moze on da radi i sa ASCII-em i AVATAR-om ali nece sve da se ispise na ekranu kao sto bi to ANSI uradio :( Pozdrav Bole... p.s. raf bbs / tel. 011/724-073 svakog dana od 22-06 h * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.666 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: (R) PITANJE Date: Sat, 12 Nov 1994 20:55:00 [ Citat iz poruke (autor: Aleksandar Sasa Nikolic) na temu PITANJE : ] ASN> ... Naravno za merenje vremena se za one koji ASN> ne znaju koristi INT 08 koji kuca 18,2 puta po sekundi dakle... Moj ti je savet da taj INT ostavis na miru; on je potreban hardveru. Umesto njega koristi INT 1CH, on se poziva iz INT 8H (dakle svakih 55 ms) i originalno sadrzi pointer na IRET. Ovo ti je "cistiji" nacin da uradis istu stvar. Sa druge strane, ako ti je potrebno MNOGO preciznije merenje vremena mozes to izvesti pomocu INT 15H, funkcije 83H/86H. Prva se zove "Event Wait" a koristi se ovako: u AL upises vrednost podfunkcije (0 - postavljanje, 1 - brisanje intervala). Ako ti je AL = 0, onda u ES:BX upises seg:ofs bajta u memoriji koji ce signalizirati kraj intervala u milisekundama, koga postavljas u LONGWORD CX DX (CX je visi WORD). Kada sve to tako postavis (ne zaboravi AH = 83H!), izvrsi INT 15H i tada se kontrola vraca tvom programu. Na njemu je da s vremena na vreme proveri da li je bajtu na adresi ES:BX setovan bit 7; ako jeste, period CX DX je istekao. Funkcija 86H se koristi isto kao i 83H, samo ne postavljas ES:BX niti AL; po isteku CX DX kontrola se vraca tvom programu. Interapti se ne izvrsavaju dok interval ne istekne. Kako bilo da bilo, imaj u vidu da ove funkcije nisu dostupne na svim racunarima (ima ih na AT i +). Ako funkcije ne postoje, nakon INT 15H bice setovan CF. ... Who made you God to say: "I will disconnect you!" (obrada Metalike) * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.667 vukov,
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz >> Naravno, potrebno je sledeće: >> var lst:text; >> Assign(lst,'lpt2'); >> Reset(lst); Zahvaljujem na poruci. Isprobano i fino radi, uz jednu malu korekciju: naime, datoteku LST treba otvoriti za upis, tj. potrebno je staviti Rewrite(lst) umesto Reset(lst). Pozdrav Vukov
pascal.668 zarkos,
U Turbo Pascalu 6.0 sam uradio rezidentni program koji skuplja podatke sa serijskog porta. Program koristi nedokumentovane DOS funkcije, i to lepo funkcionise do momenta pokretanja Windows-a. Naime Windows proradi lepo, ali moj rezidentni program nestaje, tj. nema ga vise. Potrebno je naravno da programcic zivi i pre i posle pokretanja Windows-a. Ako neko ima resenje... Pomagajte!!! P.S. Znam da nije bas neki opsiran opis, ali mozda je neko imao neki slican problem. Zarkos
pascal.669 andrejt,
__> P.S. Znam da nije bas neki opsiran opis, ali mozda je neko imao neki __> slican problem. Imao je neko ovakve probleme - samo ne znam da li su nedokumentovane funkcije bile u pitanju - ja sam dao "objasnjenje" da win preuzima intove i onda ne moze da se normalno radi samo njima - mada verovatno nije samo to u pitanju. Dakle pogledaj malo unazad poruke iz ove teme i pitaj coveka kako je to resio - verovatno jeste posto se posle nije javljao vise.
pascal.670 inikolic,
Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li je problem u meni(nesto sam izostavio i sta) ili je problem u TriDoor-u. Unapred zahvalan... Igor
pascal.671 zeljkoj,
> U pravu si... Nisam znao za procedure dok nisam procitao > bas2pas... :) I funkcije i procedure postoje u BASIC-u!
pascal.672 pedjak,
> Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad > ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li > je problem u meni(nesto sam izostavio i sta) ili je problem u > TriDoor-u. Unapred zahvalan... Da li kontrolišeš iz svog doora da je došlo do prekida veze..? Ako ne, onda bi trebalo da kontrolišeš i shodno tome postupiš, recimo vratiš kontrolu BBS aplikaciji.
pascal.673 vlador,
> i pitaj coveka kako je to resio - verovatno jeste posto se posle nije > javljao vise. Nije. ;) Rekao sam da ću probati kad budem imao vremena... A ovih danas nisam imao vremena. :)
pascal.674 frant,
> Sa TM-om (ako je reč o komunikacionom programu, a ne Nortonovom Time > Mark) ima šanse da ti ni ispravna varijanta ne uspe, jer TM je mnogo > alav za memorijom (bar ova verzija koju ja koristim). Radiće sa Telemate-om 4.12 sigurno, probao sam. Frant
pascal.675 dzakic,
> Evo potpunog kratkog sorsa printer.tpu-a. Možeš promeniti šta ti se Odakle ti ovo? Imaš li sors i ostalih tpu-ova?
pascal.676 inikolic,
Zanima me kako da kontrolisem prekid veze u TriDoor-u ako je to moguce, jer mislim da on to sam radi. Kod druga u C-u kada pukne veza ispadne se iz dora automatski, kao recimo da u pascalu kazete HALT. Ali kod mene nece, jednostavno kada pukne program on stane i mogu samo da resetujem racunar. Neverujem da je problem u TriDoor- posto sam ga skinuo sa SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je STA??? IGOR
pascal.677 andrejt,
__> jer mislim da on to sam radi. Kod druga u C-u kada pukne veza ispadne se __> iz dora automatski, kao recimo da u pascalu kazete HALT. Ali kod mene Sta je tu automatski kod HALT ? __> nece, jednostavno kada pukne program on stane i mogu samo da resetujem Pukne program ? __> racunar. Neverujem da je problem u TriDoor- posto sam ga skinuo sa __> SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je STA??? Kako mi to da znamo - mislim dal' si ti nesto izostavio - sta si uopste stavio ? P.S. Jel' si probao sa funkcijom offline (vraca boolean) ?
pascal.678 uobradovic,
::> Kako ne ide ? Sta ti ne ide ? ::> (Jel' mislimo na istog Briana ? ;)) Mislim na Stephena O'Briena i knjigu 'Turbo Pascal 6.0 - Kompletan vodič' Uroš
pascal.679 uobradovic,
::> A da pogledas poruke od pre jedno mesec dana? Nemam ja toliko vremena.
pascal.680 andrejt,
__> Mislim na Stephena O'Briena i knjigu 'Turbo Pascal 6.0 - Kompletan __> vodic' E, pa ne znam sta moze da ti ne ide sa tom knjigom ? Stvarno ima dosta stvari vrlo lepo objasnjenih. Dakle ponavljam pitanje : Ti rece da ti nesto ne ide - sta ti nije islo - konkretno ?
pascal.681 vlador,
> Odakle ti ovo? Imaš li sors i ostalih tpu-ova? Imam. To je deo Run Time Library-ja za BP 7.0.
pascal.682 omega,
Ţ::> A da pogledas poruke od pre jedno mesec dana? Ţ Ţ Nemam ja toliko vremena. E pa nemam ni ja. Ako ti treba resenje - gledaj.
pascal.683 duzle,
Da li neko ima paskal source (ako nema, moze i samo algoritam) sledecih metoda za resavanje sistema linearnih jednacina: - Direktni metodi: 1)Gauss 2)Cholasky 3)metod glavnih elemenata 4)Banachiewisz (metod kvadratnih korena) - Iterativni metodi: 1)Jakobi 2)Leibman (Gauss-Seidel) Jos ako neko ima isto i za dobijanje inverzne matrice (preferably Gausovim metodom).... ;). Pogadjate da mi je ovo potrebno za ispit is numericke matematike sa programiranjem (tako se u Skopju zove predmet) :)
pascal.684 d.stamen,
> Da li neko ima paskal source (ako nema, moze i samo algoritam) > sledecih metoda za resavanje sistema linearnih jednacina: > > - Direktni metodi: > 1)Gauss Prilazem source u Fortranu, lako ces ga promeniti... Matrica A su koeficijenti uz clanove, a u nizu X su resenja. Resava se sistem n*n, ali lako se da pretvoriti u n*m. subroutine GAUS(A,X,n) real pom,mx,A(300,301),X(300) integer I,J,K,L do 10 K=1,(n-1) mx=abs(A(K,K)) L=K do 20 I=(K+1),n if (mx.lt.abs(A(I,K))) then mx=A(I,K) L=I end if 20 continue if (L.ne.K) then do 30 J=1,(n+1) pom=A(K,J) A(K,J)=A(L,J) A(L,J)=pom 30 continue endif do 40 I=(K+1),n do 40 J=(K+1),(n+1) A(I,J)=A(I,J)-A(I,K)*A(K,J)/A(K,K) 40 continue 10 continue X(n)=A(n,(n+1))/A(n,n) I=n-1 50 continue if (I.eq.0) then goto 70 end if X(I)=A(I,(n+1)) do 60 K=(I+1),n X(I)=X(I)-A(I,K)*X(K) 60 continue X(I)=X(I)/A(I,I) I=I-1 goto 50 70 end
pascal.685 duzle,
>**>> 1)Gauss >**> >**> Prilazem source u Fortranu, lako ces ga promeniti... >**> Matrica A su koeficijenti uz clanove, a u nizu X su resenja. >**> Resava se sistem n*n, ali lako se da pretvoriti u n*m. Hvala. Ognen P.S. Da li su bas sve knjige i svi programi koji nesto rade sa ovim metodama vezani za Fortran (do sada mi je kroz ruke proslo jedno 15-tak knjiga iz numericke i svi primeri su u ovom jeziku) ? Problem je u tome sto bih sam seo i napisao ovo ali, nema se vremena (zato sam i zamolio da mi neko sa sezama da gotov source). Anyway, thanx a lot.
pascal.686 duzle,
Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi P-code pascal kompajler. Svrha programa je borba medju robotima koji su napisani u paskalu. Roboti imaju svoj motorni pogon, svoje oruzje, radare itd. koje koriste na bojnom polju. E, sad, da li ima zainteresovanih da se organizuje takmicenje borbe medju robotima (svako ko je zainteresovan napise svojeg robota - pravila za pisanje su jednostavna, neke vec predefinisane procedure postoje, mainly za skeniranje bojista, pucanje, pomeranje, dobijanje koordinata robota, ocitavanje momentalne stete itd.) ? Cisto da vidimo ko najbolje poznaje paskal (i ko je najbolji strateg, a bogami i programer ;)).
pascal.687 uobradovic,
::> stvari vrlo lepo objasnjenih. Dakle ponavljam pitanje : Ti ::> rece da ti nesto ne ide - sta ti nije islo - konkretno ? Za sad nema ništa tako mnogo konkretno.Jednostavno nerazumem. Na primer xoću da napravim sat neznam koje registre da koristim i kako.Ili da na primer izlistam direktorijum u dve kolone..... Uroš P.S. Hvala na pomoći
pascal.688 uobradovic,
::>> Odakle ti ovo? Imaš li sors i ostalih tpu¤ša? ::> ćmaÁŚ$TĚ$je deo Run Time Library-j! sa BP 7.0. Može li neko da mi kaže o čemu se radi jer se nisam javljao oko 7 dana na Sezam a pad mi je bio ogroman da bi uspeo da ga skinem.
pascal.690 andrejt,
__> Za sad nema nista tako mnogo konkretno.Jednostavno nerazumem. __> Na primer xocu da napravim sat neznam koje registre da koristim Najbolje je da pogledas malo unazad u ovu temu jer se pre raspravljalo o merenju vremena - a mene mrzi da sad pisem. (Ako ti bas toliko nije jasno pitaj me na mail sta ti treba - kad ti nesto konkretno bude trebalo - - pa cu da ti kazem). __> i kako.Ili da na primer izlistam direktorijum u dve kolone..... Imas primer za 'dir' bas u o'brianovoj knjizi ako se ne varam. (Pogledaj u helpu za findfirst,findnext itd.)
pascal.691 inesic,
> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi > je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj > se nalazi P-code Buuuu, shmrtz. Oćemo PROBOTS.zip
pascal.692 uobradovic,
::> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle ::> mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U ::> njoj se nalazi P-code A jel možeš ti da pošalješ to pa da kasnije vidimo ko to može a ko nemože da nastavi sa takmičenjem.Možda u tom programu ima korisnog sora.
pascal.693 uobradovic,
::> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle ::> mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U ::> njoj se nalazi P-code A jel možeš ti da pošalješ to pa da kasnije vidimo ko to može a ko nemože da nastavi sa takmičenjem.Možda u tom programu ima korisnog sora.
pascal.694 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: Re: pascal Date: Sat, 19 Nov 1994 14:33:00 -=> Quoting "Igor Nikolic" to All <=- "N> From: "Igor Nikolic" <inikolic@sezam.UUCP> "N> Newsgroups: yu.prog.pascal "N> Organization: SEZAM Beograd, 011 648-422 "N> Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad "N> ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li "N> je problem u meni(nesto sam izostavio i sta) ili je problem u "N> TriDoor-u. Unapred zahvalan... I meni se to dogadja isto ... :(( Kada napravis door u TRIDOOR-u da li ti je orijentisan samo za ANSI grafiku (osim ako koristis naredbe TD_naredba) Ja nisam primetio nikakvu razliku izmedju naredbe TD_CLRSCR i ANSI_CLRSCR ?! Da li si provalio kako moze da se ocita AVATAR skrin iz tridoor-a ? Ja nisam :( Pozdrav Bole... p.s. pozovi RAF BBS / tel. 011/724-073 svakog dana od 22-06 h Ja sam SySop... :)) ... My hard disk is full! Maybe I'll try this message section thing. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.695 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: Re: pascal Date: Sat, 19 Nov 1994 14:37:01 -=> Quoting "Igor Nikolic" to All <=- "N> From: "Igor Nikolic" <inikolic@sezam.UUCP> "N> Newsgroups: yu.prog.pascal "N> Organization: SEZAM Beograd, 011 648-422 "N> Zanima me kako da kontrolisem prekid veze u TriDoor-u ako je to "N> moguce, jer mislim da on to sam radi. Kod druga u C-u kada pukne veza "N> ispadne se iz dora automatski, kao recimo da u pascalu kazete HALT. "N> Ali kod mene nece, jednostavno kada pukne program on stane i mogu samo "N> da resetujem racunar. Neverujem da je problem u TriDoor- posto sam ga "N> skinuo sa SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je "N> STA??? IGOR Najbolje bi bilo da sacekamo verziju 4.0 (ili koje vec ide...) pa da onda vidimo kako ce se desavati ! I meni se to dogadja...Kakve door-ove pravis u tridoor-u ? i koji TP koristis ? Mozda je u ovoj verziji taj problem neostvarljiv ili je neki bug... :(( Pozdrav Bole... ... ebius tagline. This is a moebius tagline. This is a mo ... * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.696 postmast,
From: bear@setnet.co.yu (Attila Csipa) Subject: Modula 2 Date: Thu, 17 Nov 1994 20:35:22 Bas sam pre neki dan pregledavao ponudu prodavca softvera iz Madjarke i vidim sledece: Borland: Borland xxx vx.xx Turbo xxx vx.xx Symantec: Modula 2 v9.1 E sad, dal' neko zna kakva je to Modulica ? Cudi me da je dosad prosla neopazeno (kod relativno poznatog izdavaca), a ima i relativno veliki broj verzije (cak 9.1). So, ako neko zna nesto... Bear@setnet.co.yu * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.697 mdave,
Subject: Re: Modula 2 MD> From: bear@setnet.co.yu (Attila Csipa) MD> Symantec: MD> Modula 2 v9.1 Pošteno da ti kažem, nikad čuo. Inače, ne znam koliko si upoznat ali modulaši uveliko prelaze na Modula-3. :) SRC DEC je "proizvođač", a aminovano je od strane Wirth-a.
pascal.698 vlador,
> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, mozda > je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi P-code Šalji! :)
pascal.699 duzle,
>**> A jel možeš ti da pošalješ to pa da kasnije vidimo ko to >**> može a ko nemože da nastavi sa takmičenjem.Možda u tom >**> programu ima korisnog sora. Source (ako si na to mislio sa onim "sora" :)) kod kompajlera nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak robota.Evo je i arhiva. :) probots.arj
pascal.700 andrejt,
Jel' ima neko neki primer TSRa koji preuzima INT 21h ? P.S. Moze i na mail.
pascal.701 inesic,
> Source (ako si na to mislio sa onim "sora" :)) kod kompajlera > nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak > robota.Evo je i arhiva. :) Skinuo arhivu. Pročitao .doc i probao nekoliko robota sa target. Mislim da je jako zanimljivo. Pokušaću ovih dana na poslu da nađem vremena pa da i ja napravim nekog robota. Interesantna igra, čak bih rekao dobra za početnike koji uče paskal. Ako ima još zainteresovanih nek se jave, a ako nema, da ne opterećujem conf eventualno napravljenim robotima. Ili da se otvori grupa?
pascal.702 sslavko,
Prilično interesantna igra. Nije toliko u pitanju poznavanje programiranja koliko algoritmika. Ja sam napravio nekoliko varijanti i zainteresovan sam za razmenu i okršaj sa ostalima. P.S. Ajde neka neko pobedi GORO-a. ja ne uspevam nikako. Naravno direktno kopiranje datih robota ne dolazi u obzir.
pascal.703 ognjen,
Moze li se nekako upisati neki znak u donji desni ugao ekrana a da isti ne 'odskroluje' za jedan red?
pascal.704 andrejt,
__> Moze li se nekako upisati neki znak u donji desni ugao ekrana __> a da isti ne 'odskroluje' za jedan red? Nisam siguran nasta mislis ali probaj : Var VM : Array[1..4000] Of Byte Absolute $B000:$8000; Ch : Char; Begin Read(Ch); VM[3999] := Ord(Ch); VM[4000] := 15; End. P.S. Posto upisuje direktno u video memoriju nece 'odskrolovati'. P.P.S. Za vise o ovome me pitaj na mail.
pascal.705 sslavko,
Apropo onih robota. Evo mog remek-dela pa ko voli nek izvoli. Pobedite me u većini slučajeva pa da ga dorađujem. Naravno, ne Još nešto. Ako vas nervira čekanje pri startovanju probots.exe onda ga izeditujte, nadjite niz: 36 8B 57 04 i zamenite ga sa: BA 00 00 90. Ovo izbacuje čekanje ali ostavlja uvodnu poruku. (da se ne ogrešim baš mnogo). killer.pr
pascal.706 sslavko,
Evo ti kako sam ja rešio presretanje int $21. Ako se radi o upisu u fajl onda postavljam pointer strp na string koji se upisuje, a u strplen upisujem veličinu stringa. Ovo zato što on posle upisa poništi veličinu stringa pa je potrebno sačuvati je. Naravno meni je trebalo ovako, a ti vidi. var strp:žstring; strplen:byte; old21:procedure; š$F+ć procedure new21;interrupt; label dalje; begin asm pop bp pop es pop d pop di pop si pop dx pop cx pop bx pop ax push word ptr old21+2 push word ptr old21 pushf cmp ah,$40 jne dalje push d pop word ptr strp+2 sub dl,1 mov word ptr strp,dx add dl,1 mov strplen,cl dalje:popf mov ds,d retf end; end; š$F-ć
pascal.707 inesic,
> Moze li se nekako upisati neki znak u donji desni ugao ekrana > a da isti ne 'odskroluje' za jedan red? Ja koristim procedure writeStr i sriteChr iz unita win koji je priložen uz TP5.5 (nisam prešao na noviju verziju jer mi je pri kompajliranju demoa iz TP6.00 prijavljivao not inaf memori: imam XT sa 640k). Ove priložene procedure rade ispis direkto u memoriju, nešto su brže, i nema tih neželjenih efekata. Ja uvek pazim da formatiram ispis, tj. string mi nikad nije duži nego što bi smeo da bude, pa ne znam šta se dešava kad na poziciji 79,25 ispišeš string dug 10 karaktera, ali vredi probati. Jedina nezgoda je ta što pre ispisa moraš broj da konvertuješ u string. U tu svrhu sam napravio proceduru koja od broja pravi string sa željenim brojem decimala, umeće zareze (ili tačke) na svaka tri mesta (odvaja klase) opciono. Napraviš sebi jednom takvu uslužnu proceduru i prebrineš brigu za sva vremena.
pascal.708 inferno,
Ů│ Apropo onih robota. Evo mog remek-dela pa ko voli nek izvoli. Ů│ Pobedite me u većini slučajeva pa da ga dorađujem. Naravno, ne ja se stvarno izvinjavam (nisam pratio raspravu od pocetka), pa ako mogu znati o kakvim je robotima rec? :))
pascal.709 duzle,
>**> robota. Interesantna igra, čak bih rekao dobra za >**> početnike koji uče paskal. Ako ima još zainteresovanih nek >**> se jave, a ako nema, da ne opterećujem conf eventualno >**> napravljenim robotima. Ili da se otvori grupa? Ja mislim da se otvori grupa.
pascal.710 duzle,
>**> P.S. >**> Posto upisuje direktno u video memoriju nece 'odskrolovati'. >**> P.P.S. >**> Za vise o ovome me pitaj na mail. Nece ni ako koristis Int 10h, funkcija 09h (write char at cursor). Normalno pre toga treba da se postavis na zeljenu poziciju.
pascal.711 andrejt,
__> Evo ti kako sam ja resio presretanje int $21. Ako se radi o __> __> procedure new21;interrupt; ... __> pop bp __> pop es __> pop d <- __> pop di __> pop si __> pop dx __> pop cx __> pop bx __> pop ax ... __> push d <- ... Sta je ovo 'd' ?
pascal.712 sslavko,
>> ... >> __> pop d <- >> ... >> __> push d <- >> ... >> >> Sta je ovo 'd' ? Ops, sorry. Na to sam zaboravio. var d:word; promenljiva u kojoj čuvam DS registar. Ako DS napuniš originalnom vrednošću onda gubiš sve svoje promenljive, a potrebno je ponekad u INT proslediti i originalnu vrednost DS-a. Zato sam to tako uradio. Ako neko ima bolje rešenje neka kaže.
pascal.713 dares,
Roboti su stvarno prava stvar. Ima li neko možda neko source onog kompajlera, da borbu prebacimo u grafički mod? Time bi beorba bila i vizuelno mnogo interesantnija. Zna li neko po kom principu glavni program (PROBOTS) prebacuje kontrolu sa jednog na drugi robot? Da li se jedno vreme kontroliše jedan pa se onda isti vremenski interval kontroliše drugi, ili je to rešeno nekako drugačije? A mogli bi da osnujemo i tu grupu.
pascal.714 sslavko,
>> kontrolu sa jednog na drugi robot? Da li se jedno vreme >> kontroliše jedan pa se onda isti vremenski interval kontroliše >> drugi, ili je to rešeno nekako drugačije? E to i mene interesuje. ako je u pitanju isti vremenski interval onda to u mnogome menja potrebnu strategiju, a ako je u pitanju protok cele petlje jednog pa onda drugog to je onda prava stvar. U prvom slučaju bi manji algoritam bio bolji, a u drugom veličina nema veze, svi su podjednaki.
pascal.715 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: pascal Date: Fri, 25 Nov 1994 00:52:04 Origin.SUBJ: pascal Origin.FROM: "Ognen Duzlevski" Origin.TO: All "D> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, "D> mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi "D> P-code pascal kompajler. Svrha programa je borba medju robotima koji su "D> ko je zainteresovan napise svojeg robota - pravila za pisanje su JA SAM! Koliki je program i gde da ga nadjem! MAGIC FLASH! ... Nasao sam devojku, ali ona tvrdi da nije ni bila izgubljena :))) * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.716 djelovic,
> A mogli bi da osnujemo i tu grupu. Nema razloga za skrivanje u grupama, ukoliko je stvar toliko zanimljiva koliko kazete, verujem da ce zanimati i siru publiku. Zar nije cilj svake igre da ima sto vise zainteresovanih za nju?
pascal.717 sslavko,
Lupam, lupam. Ponekad mnogo, ponekad malo manje. MORA da koristi isti (ili sličan) vremenski interval inače bi bilo moguće napraviti robota od par hiljada linija koje su sve: cannon(dir,scan(dir,5));dir:=dir+20; i uništiti drugog robota u jednom ili dva prolaza. Direktna posledica ovoga je da treba imati jedan scan..cannon na svakih desetak redova koda. (Potrebno je neko vreme da se top napuni)
pascal.718 inesic,
> ja se stvarno izvinjavam (nisam pratio raspravu od pocetka), > pa ako mogu znati o kakvim je robotima rec? :)) Skini fajl uz poruku 7.699
pascal.719 inesic,
> P.S. Ajde neka neko pobedi GORO-a. ja ne uspevam nikako. > Naravno direktno kopiranje datih robota ne dolazi u obzir. Probaj goro vs. abasiri. Ja sam probao nekoliko puta i abasiri je uvek pobeđivao. Šteta na njemu je bila između 65 i 89.
pascal.720 duzle,
>**> Roboti su stvarno prava stvar. Ima li neko možda neko >**> source onog kompajlera, da borbu prebacimo u grafički mod? >**> Time bi beorba bila i vizuelno mnogo interesantnija. Konacno sam se setio odakle je ova arhiva (InForma BBS u Skopju - imaju prikaceno jedno 3-4 CD-a). Pogledacu, mozda se i nadje nesto. >**> Zna li neko po kom principu glavni program (PROBOTS) >**> prebacuje kontrolu sa jednog na drugi robot? Da li se jedno >**> vreme kontroliše jedan pa se onda isti vremenski interval >**> kontroliše drugi, ili je to rešeno nekako drugačije? Nisam mnogo razmisljao o ovome. Ako nekoga interesuje kako da simulira multi-tasking u paskalu, evo jedna arhiva iz knjige Turbo Pascal 6.0 - Techniques & Utilities (Neil Rubenking). Princip je jednostavan - svi znaju da konstante koje su deklarisane kao const ime:tip = nesto unutar procedure/funkcije zadrzavaju svoju tekucu vrednost i po izlasku iz procedure/funkcije. E, sad takva procedura se deli na vise delova koji zavise od vrednosti jedne takve konstante. Onda se dve takve procedure pozivaju naizmenicno. Ko nije shvatio - evo mu source :) >**> A mogli bi da osnujemo i tu grupu. Moze, moze... multitsk.zip
pascal.721 duzle,
Malopre sam pregledao neke prasnjave diskete ;) i naleteh na Pascal Newsletter (autori su isti kao i za Windows Programmers Journal). Ima jedno 6 zipova. Da li ih vec ima na Sezamu, ili da ih saljem ? Ogi P.S. neko je pitao kako da ulinkuje slike i slicno u .EXE. U nekom od brojeva Pascal Newsletter-a ima bas ovo :).
pascal.722 jkpbvk,
>< P.S. neko je pitao kako da ulinkuje slike i slicno u .EXE. U nekom od >< brojeva Pascal Newsletter-a ima bas ovo :). Ako neces sve da saljes , vidi da posaljes samo taj . P.S. Ja sam bio taj koji je pitao :))
pascal.723 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: Modula 2 Date: Fri, 25 Nov 1994 07:20:36 GMT -> Symantec: -> Modula 2 v9.1 -> -> E sad, dal' neko zna kakva je to Modulica ? Cudi me da je dosad prosla -> neopaze o (kod relativno poznatog izdavaca), a ima i rel Koliko sam üuo, Symantec je kupio Logitech. Znaüi, to je Logitech Modula-2, a 9.1... pa moderno je praviti skokove u verzijama da se, k'o fol, stigne konjkurencija. Mene zanima neäto viäe o toj Moduli, äta sve moée (32bitna, Windows prog...) kao i njena cijena... Ajde please raspitaj se malo. -- [Cure for postal strikes: mail them their strike pay.]
pascal.724 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Fri, 25 Nov 1994 07:36:47 GMT -> MD> Symantec: -> MD> Modula 2 v9.1 -> -> Posteno da ti kazem, nikad cuo. Inace, ne znam koliko si -> upoznat ali modulasi uveliko prelaze na Modula-3. :) Hehe, uveliko = ?... Glede Module-3, to radi i na 386icama, postoje dva porta, jedan ima üak i Threads. Ovaj bez Threads (zbog ograniüenja GO32 extendera) imam i moée se dobije. [i bi noć, i drugi dan...] He, sada imam i drugu verziju, to je pet disketa, podrzava Threads, XMS only i ima interno mapiranje 32char imena fajlova preko FATa. Viäe ću napisati kad stignem to da instaliram i probam. Ovo je portovana verzija 3.1 (aktuelna M3 je 3.3, ali to su minor razlike, niäta suätinski) a ona prva je 2.11 verzija SRC M3. -- [I wanna see 'em explode in every zip code!]
pascal.725 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: File Find Algoritam... Date: Fri, 25 Nov 1994 07:36:59 GMT -> SSta mislite koji je algoritam za File Find najefikasniji?? Onaj kod SSTa :) -> Ja koristim rekurzivni (onaj tipiccno sskolski algoritam), ali kada na -> disku ima veeeeeliki broj direktorijuma, program mi puca radi stack over -> flow (iako sam stavio pomoccu $M max za STACK..) Ima logike da pukne na stkovf samo ako imas jako duboku strukturu ili gresku u strukturi koja stvara privid beskonacnog stabla, desi se to DOSu ponekad. Jako duboka struktura, plus previse lokalnih varijabli u toj proceduri (koje se alociraju na steku) ce da ubije program. Mislim da bi trebalo da ti pomogne smanjivanje broja tih varijabli. -> Isto, dali je neko od vas imao visse iskustva pri radu sa FAT -ovima, i -> ako da, dali je voljan da napisse nessto visse o tome... mjova je (cini mi se) pravio fajlfinder koji je isao direktno na disk, i dao je sors uz njega. -- [An optimist is a guy without much experience]
pascal.726 postmast,
From: bole@mrsys1.MR-Net.co.yu (Bosko Radivojevic) Subject: Recordi Date: Thu, 24 Nov 1994 17:44:24 GMT Hay! Eto ovih dana sam nesto pravio u Turbo Pascalu 6.0 (da se zna:) E i trebali mi recordi.. Zam ja (mislim ja:) te recorde nije to tesko.. imas seek imas typove i sve je ok! ... ALi ne bi ni bilo ove poruke da to nije bas tako:) I pocne da me zeza.. zeza.. pa rastura:) Pa evo vam otprilike skracena verzija mog programa (nesto bezveze) ...: i recimo ima 4 rekorda on prodje 4 puta i ispise tacno ali prodje i 5-ti put i kaze na read (uf, user) DISK READ ERROR i to u svim kombinacijamA:) Tako posto ovde ima jaaako dobrih programera.. POMOZ'TE! :) program proba_Za_rekord; Type juzer = Record ime: String; End; Var user: juzer; uf : File Of juzer; i,a: Integer; b : String; Begin Assign (uf, 'users1.dat'); {$I-} Reset (uf); if ioresult <> 0 then rewrite (uf); {$I+} ReadLn(a); Seek (uf, a); ReadLn (b); user.ime := b; Write (uf, user); Close (uf); Reset (uf); WriteLn (FileSize (uf) ); For i := 0 To FileSize (uf) Do Begin Seek (uf, i); Read (uf, user); WriteLn (user. ime); ReadLn; End; End. -- Pozdravlja vas, Bole@Mrsys1.MR-Net.co.yu
pascal.727 sslavko,
Evo ga šampion!! Predlažem da se roboti nazovu po korisničkim imenima onih koji ih prave, pa da se tako takmičimo. Evo ga moj SSLAVKO!!! Ajde ko će da ga pobedi. Moramo da napravimo i propozicije. Recimo da se igra 20 ili 50 partija. procedure SSlavko; var r,dir,head,range:integer; procedure go(d,s:integer); begin if loc_x<200 then head:=0; if loc_x>800 then head:=180; if loc_y<200 then head:=90; if loc_y>800 then head:=270; drive(d,s); end; begin dir:=0; head:=0; r:=0; repeat range:=scan(dir,10); while range=0 do begin range:=scan(dir,10); if range>40 then cannon(dir,range) else begin dir:=dir+170; r:=0; end; go(head,100); end; dir:=dir-5; range:=scan(dir,5); if range=0 then begin dir:=dir+10; range:=scan(dir,5); end; if range>40 then begin r:=trunc((r-range)/2); cannon(dir,range-r); r:=range; end; head:=dir; go(head,40); until dead or winner; end;
pascal.728 sslavko,
>> Probaj goro vs. abasiri. Probao sam i tačno je da abasiri uglavnom pobeđuje. Dobar je i patrol. Moj sslavko :)) gubi od gorooa sa 70-80% (u proseku). A goro ima izuzetno jednostavan algoritam. Najvažnije je napraviti algoritam koji će dovoljno brzo i dovoljno precizno skenirati okoliknu i nalaziti neprijatelja.
pascal.729 sslavko,
>> For i := 0 To FileSize (uf) Do i ti ide od 0 do FileSize(uf), odnosno jedan put više nego što ih stvarno ima. Daj mu "To FileSize(uf)-1".
pascal.730 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 27 Nov 1994 09:03:00 To: "Ivica Nesic" <inesic@sezam.UUCP> > Source (ako si na to mislio sa onim "sora" :)) kod kompajlera > nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak > robota.Evo je i arhiva. :) "N> "N> Skinuo arhivu. Procitao .doc i probao nekoliko robota sa target. "N> Mislim da je jako zanimljivo. Pokusacu ovih dana na poslu da "N> nadem vremena pa da i ja napravim nekog robota. Interesantna "N> igra, cak bih rekao dobra za pocetnike koji uce paskal. Ako ima Interesuje me ta igra ili vec sta je ?? ... Ali mama, pa tamo su svi dorovi registrovani... * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.731 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 27 Nov 1994 09:07:01 To: "Slavko Snjegota" <sslavko@sezam.UUCP> "S> sacuvati je. Naravno meni je trebalo ovako, a ti vidi. "S> procedure new21;interrupt; "S> label dalje; "S> begin "S> asm "S> pop bp "S> pop es "S> pop d "S> pop di "S> pop si "S> pop dx "S> pop cx "S> pop bx "S> pop ax Sta radi ova ASM naredba nikako da shvatim... "S> push word ptr old21+2 "S> push word ptr old21 Takodjer i ova .. "S> pushf ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.732 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 27 Nov 1994 12:45:00 > Moze li se nekako upisati neki znak u donji desni ugao >ekrana a da isti ne 'odskroluje' za jedan red? Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu funkciju onda je zameni drugom i resices problem. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.733 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Recordi Date: Sat, 26 Nov 1994 13:06:00 >i recimo ima 4 rekorda on prodje 4 puta i ispise tacno ali >prodje i 5-ti >put i kaze na read (uf, user) DISK READ ERROR i to u svim >kombinacijamA:) > For i := 0 To FileSize (uf) Do Klasicna greska. FileSize() vraca broj slogova u datoteci, a ti pocinjes da brojis od nule, sto znaci da se petlja vrti za jedan krug vise nego sto treba. Pocni da brojis od 1. Ja vise volim da citam podatke u WHILE NOT EOF(uf) petlji. Tako sigurno izbegavam disk error a sigurno cu da procitam sve podatke. Broker * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.734 postmast,
From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic) Subject: Re: pascal Date: Tue, 29 Nov 94 20:13:58 GMT In article <786090458.AA09777@setgate.setnet.co.yu> broker@setnet.co.yu writes: > >> Moze li se nekako upisati neki znak u donji desni ugao >>ekrana a da isti ne 'odskroluje' za jedan red? > >Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu >funkciju onda je zameni drugom i resices problem. > Malko teze u ovom slucaju. Naime pascal-ove naredbe za pristup CRT-u writeln() i write(), prepoznaju kada se nesto upisuje u poslednji karakter na ekranu (donji desni ugao) i automatski scroll-uju ekran za jedan red vise (obe naredbe). Jedno od mogucih resenja je da prestanes da koristis write i writeln, da sa od nekud preuzmes arhivu TPFAST, sa asemblerski pisanim rutinama za pristup video memoriji kod SVIH do sada poznatih tipova kartica. Rutine cak podrzavaju i video pages (kao kod Norton Commander-a - vise screen-ova koji se preklapaju momentalno) i pravljenje windows-a a imas i gomilu drugih korisnih rutina (za stringove, matematicke f-je itd. itd.). I sto je (barem meni) najlepse cela arhiva je srazmerno mala a u sebi sadrzi i source-ove svega sto je napisano). Pozdrav, -- ======================================================================= Nenad Radosavljevic E-mail: nenadr@sunset.fon.bg.ac.yu =======================================================================
pascal.735 vlador,
> Probaj goro vs. abasiri. Ja sam probao nekoliko puta i abasiri je Ja nisam našao robota koji može u većini slučajeva da pobedi abasirija, mada nisam sve isprobao.
pascal.736 uobradovic,
::> if loc_x<200 then head:=0; \ ::> if loc_x>800 then head:=180; \ --- šta ovo znači ::> if loc_y<200 then head:=90; / ::> if loc_y>800 then head:=270; / ::> drive(d,s); / . . ::> dir:=0; ::> head:=0; ::> r:=0; . . ::> range:=scan(dir,10); \ ::> while range=0 do \ ::> begin \ ::> range:=scan(dir,10); \ ::> if range>40 then cannon(dir,range) else \ --- šta ovo znači ::> begin / ::> dir:=dir+170; / ::> r:=0; / . . ::> end; ::> dir:=dir-5; \ ::> range:=scan(dir,5); \ ::> if range=0 then \ ::> begin \ ::> dir:=dir+10; \--- šta i ovo znači ::> range:=scan(dir,5); / ::> end; / ::> if range>40 then / . . ::> r:=trunc((r-range)/2); \ ::> cannon(dir,range-r); \ ::> r:=range; \ ::> end; \----- šta ovo znači ::> head:=dir; / ::> go(head,40); / ::> until dead or winner; / ::> end; / Može li neko da mi objasni kako se pravi procedura za P-ROBOTS. Šta je CANNON,SCAN,DIR,LOC_X,LOC_Y,RANGE,HEAD.... Hoću i ja da ga napravim ali moram da znam sta je sta.OK. Hvala Uroš P.S. Izvinite na velikom replyu.
pascal.737 vitez.koja,
#=> <broker@setnet.co.yu (Predrag Supurovic)> #=>> Moze li se nekako upisati neki znak u donji desni ugao #=>> ekrana a da isti ne 'odskroluje' za jedan red? #=> #=> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako #=> koristis prvu funkciju onda je zameni drugom i resices #=> problem. Ne pomaže to :) Zapravo, sa Write će dobiti jedan prazan red, sa Writeln cela 2, i to zato što ove procedure pomeraju kursor za jedno mesto iza onoga što ispišu; kako je jedno mesto iza poslednjeg karaktera u redu prvi karakter u sledećem redu, kursor se pomera u sledeći red. Kada je, usto, u pitanju karakter i u posledjoj koloni, ceo ekran ode za jedan red... Rešenje je direktno pisanje po video memeoriji.
pascal.738 vitez.koja,
#=> Evo ga šampion!! Predlažem da se roboti nazovu po korisničkim #=> imenima onih koji ih prave, pa da se tako takmičimo. Evo ga #=> moj SSLAVKO!!! Ajde ko će da ga pobedi. Pa i nije se pokazao... Abasiri vs SSlavko , a uzvratni meč SSlavko vs Abasiri 19 1 2 18 sk
pascal.739 ognjen,
)-> 6 zipova. Da li ih vec ima na Sezamu, ili da ih saljem ? Salji.
pascal.740 szeman,
>> For i := 0 To FileSize (uf) Do !!!!!!!!!!!!! >> Begin >> Seek (uf, i); >> Read (uf, user); >> WriteLn (user. ime); >> ReadLn; >> End; Normalno je da javi grešku - učitavao je ono što ne postoji. :) - FileSize(f: file of type) - daje UKUPAN BROJ zapisa (slogova) u bazi - Seek(f,num) prelazi na Record.No koji se nalazi u varijabli num. - Tipizirana baza počinje od NULTOG SLOGA, dakle: R.No USERS1.DAT ================= 0. sima 1. pera 2. laza 3. mika 4. žika Dakle: - FileSize(f) daje kao rezultat: 5 - Seek(f,4) pozicionira se na R.No: 4 Stoga, rešenje tvog problema je da umesto: For i := 0 To FileSize (uf) Do napišeš: For i := 0 To FileSize (uf) - 1 Do Pozdrav, Sale P.S. Loša ti je praksa ako bazu ne popunjavaš "postepeno" - uvek osiguraj da svaki slog u bazi ima definisanu početnu vrednost. Dakle, ovako nešto je "štetno po zdravlje" ;) rewrite(f); ime:='R.No 0' seek(f,0); write(f,ime); ime:='R.No 5' seek(f,5) write(f,ime); close(f); jer će u R.No od 1 - 4 (uključno) biti nedefinisane vrednosti, što može da bude veoma iritirajuće prilikom štampanja.
pascal.741 sslavko,
>> "S> push word ptr old21+2 >> "S> push word ptr old21 >> >> Takodjer i ova .. >> >> "S> pushf Prva gura na stek adresu old21 procedure, a druga flegove.
pascal.742 sslavko,
>> Može li neko da mi objasni kako se pravi procedura za P-ROBOTS. Sve ti piše u P-ROBOTS.DOC.
pascal.743 sslavko,
>> Pa i nije se pokazao... Ajde da vidimo vitez.koja vs sslavko. Nemoj mi porediti abasirija. Sa njim ćemo da se poredimo kasnije kad razradimo taktiku :))
pascal.744 andrejt,
__> For i := 0 To FileSize (uf) Do __> Begin ^^^^^^^^^^^^^ __> Seek (uf, i); __> Read (uf, user); __> WriteLn (user. ime); __> ReadLn; __> End; Dolazi do FileSize(UF) i pokusava da dodje do njega sa Seek ali to je nemoguce jer je prvi slog u stvari 0 a zadnji slog FileSize-1. Resenje je da stavis, tamo gde je podvuceno, FileSize(UF)-1. Nadam se da sam dovoljno razumljiv :)
pascal.745 inikolic,
jedini meni poznati nacin da se upise karakter na koordinate 80,25 jeste da se on upise direktno u memoriju. karakter se upisuje u $b000:$0fde(ako je u pitanju hecules) i u Hgreska : to je $b000:$0f9e(herc) i $b800:$0f9e(VGA) tu je karakter a sledeci je njegov atribut(0f9f) . Ako te zanima odakle to -> pa prvi karakter za VGA je $b800:$0000 , tu je karakter , a u $b800:$0000 ide njegov atribut i tako dalje svaki drugi je karakter(za herc. je isto samo je $b000). Obrati paznju da je rec o heksa zapisu. Komanda kojom ces to obaviti je : MEM[$b800:$****]:=65 {upisuje A na odredjeno mesto} Nadam se da je to sto ti je trebalo... Ivan
pascal.746 mboban,
Subject: P-Robots **> Ja sam napravio nekoliko varijanti i zainteresovan sam za razmenu **> i okršaj sa ostalima. So, otvaramo grupu? **> P.S. Ajde neka neko pobedi GORO-a. :)) Joj, gde Goroa nađe? :) Leader lepo počne protiv njega, dere ga, dere... a onda ga Goro na krJaju :) s*ebe... A Gorov algoritam - nema 4-5 redova :) Sve u svemu, interesantna igrica, samo bih ja dodao više različitog oružja, kao i više sposobnosti i karakteristika robota (probojnost oklopa, max brzina, preciznost...)
pascal.747 inesic,
> Apropo onih robota. Evo mog remek-dela pa ko voli nek izvoli. > Pobedite me u većini slučajeva pa da ga dorađujem. Naravno, ne Isprobao sam tvoga killera. Najpre sa abasirijem koji ga je dobio u 6 od 10, a i imao je manje oštećenje pri kraju partije nego killer, kad ubije. Isprobao sam ga i sa subminijem, koji ga je dobio u sve četiri partije, ali sa manjom razlikom u šteti. Nego nije to ono na šta bih hteo da osvrnem pažnju. Ima jedan bug ili u kompajleru ili u killeru. Kad startuješ program tako da je killer prvi, a onaj drugi robot drugi, onda sve radi. S druge strane kad ti je prvi argument neki drugi robot, a drugi killer, onda kompajler prijavi BEGIN expected. Probao sa dva robota i simptom se ponovio. Neko je ovde pominjao prerađivanje programa tako da radi u grafičkom modu. Kako će to da radi na mom herculesu? Mislim da je program i bez toga dovoljno spor.
pascal.748 uobradovic,
Slušajte pažljivo: - Kako treba da mi glasi linija pod brojem 2 1-Startujem neki program iz mog programa 2-Kad izlazim iz tog nekog programa da se ponovo vrati u moj program. Mislim da ste me razumeli. Uroš
pascal.750 zeljkoj,
> 2-Kad izlazim iz tog nekog programa da se ponovo vrati > u moj program. exec (tvoj_program, parametri);
pascal.751 vlador,
> program i bez toga dovoljno spor. :) Kako kome... Ja moram da isključim turbo i da dooobro pratim šta se dešava. :)
pascal.752 sslavko,
>> Isprobao sam tvoga killera. Najpre sa abasirijem koji ga >> je dobio u 6 od 10, a i imao je manje oštećenje pri >> kraju partije nego killer, kad ubije. Isprobao sam ga >> i sa subminijem, koji ga je Dobro, nisam ni mislio da me testiraš sa datim primerima. Za robota koji je uradjen na brzaka, metodom grube sile i nije loš. Primere su radili ljudi koji su se sa PROBOTS zezali malo duže nego ja. Ajde ti napravi svog robota pa ga isprobaj sa mojim. Za nedelju-dve i moji će derati Goroa i Abasirija O;). P.S. Naravno rename abasiri ne dolazi u obzir. Mora da bude baš tvoja kreacija.
pascal.753 sslavko,
Evo ga nova verzija mog favorita. Nešto je bolji od Goro-a. procedure SSlavko; var r,dir,head,range:integer; procedure go(d,s:integer); begin if loc_x<200 then head:=0; if loc_x>800 then head:=180; if loc_y<200 then head:=90; if loc_y>800 then head:=270; drive(d,s); end; begin dir:=0; head:=0; r:=0; repeat range:=scan(dir,10); while range=0 do begin range:=scan(dir,10); if range>40 then cannon(dir,range) else begin dir:=dir+20; r:=0; end; go(head,100); end; dir:=dir-5; range:=scan(dir,5); if range=0 then begin dir:=dir+10; range:=scan(dir,5); end; if range>40 then begin r:=trunc((r-range)/2.5); cannon(dir,range-r); r:=range; end; head:=dir; go(head,50); until dead or winner; end;
pascal.754 uobradovic,
::> Nego nije to ono na šta bih hteo da osvrnem pažnju. Ima jedan ::> bug ili u kompajleru ili u killeru. Kad startuješ program ::> tako da je killer prvi, a onaj drugi robot drugi, onda sve ::> radi. S druge strane kad ti je prvi argument neki drugi ::> robot, a drugi killer, onda kompajler prijavi BEGIN ::> expected. Probao sa dva robota i simptom se ponovio. U soru Killera promeni jedan deo i sve će da radi,a to je: zameni mesta tako da prvo piše PROCEDURE ......,a zatim VAR .... Mislim da je ovo bio problem kod ovog robota ili kod SSLAVKO-vog. Uroš
pascal.755 inferno,
Ů│ ˙> program i bez toga dovoljno spor. Ů│ ˙ Ů│ ˙ :) Kako kome... Ja moram da isključim turbo i da dooobro pratim š Ů│ ˙ dešava. :) Meni ni to ne pomaže. :( :>>
pascal.756 dzakic,
> For i := 0 To FileSize (uf) Do for i:=0 to filesize(uf)-1 do ... Ako filesize vrati da ima 4 rekorda, onda bi trebalo od 1 do 4, ali pošto ti seek traži poziciju računajući od nula, onda ako počneš od nula ideš do filesize-1, prosto... :)
pascal.757 inferno,
HI, ima li iko onog roborta Target, malo mi je nezgodno da isprobavam svoje kreacije sa Abasirijem ili onim samoubicom, na primer.. :)) p.s. kako da usporim bitku (i sa turbom ide ko munja). Mislim da ima neki prg. SLOW ili tako nekako...
pascal.758 lovro,
Kako da napravim rezidentan program, a da ne stoji ceo u memoriji: begin writeln('Hvala na pitanju, dobro sam.'); radinesto; zabavljajnarod; . . . swapvectors; getintvec(... setintvec(... keep(0); end. Sve ono pre tri tacke povećavaće zauzetu memoriju. Kako? Zašto? Lovro
pascal.759 mboban,
**> HI, ima li iko onog roborta Target, malo mi je nezgodno da isprobavam **> svoje kreacije sa Abasirijem ili onim samoubicom, na primer.. :)) :)) Target, kažeš? :) Fajt svog robota protiv robota Target startuješ tako što izostaviš naziv protivničkog robota. Znači: PROBOTS dileja će da startuje borbu robota Dileja, protiv Targeta. **> p.s. kako da usporim bitku (i sa turbom ide ko munja). ──────────────────────── Pa isključi turbo :)) **> Mislim da ima neki prg. SLOW ili tako nekako... U direktorijumu UTIL, program AT-SLOW. Samo, piše da neregistrovana verzija traje samo 5 min :))
pascal.760 sslavko,
>> HI, ima li iko onog roborta Target Edituj PROBOTS.EXE. Unutar njega imaš lepo ispisan kod Target-a. A ćto se tiče isprobavanja, napravi robota koji se samo kreće, ne puca ili stoji u mestu ili tako nešto, zavisi šta isprobavaš. Ja imam par takvih, Proba1, Proba2...
pascal.761 sslavko,
>> Isprobao sam tvoga killera. Najpre sa abasirijem koji ga >> je dobio u 6 od 10, a i imao je manje oštećenje pri >> kraju partije nego killer, kad ubije. Isprobao sam ga >> i sa subminijem, koji ga je Dobro, nisam ni mislio da me testiraš sa datim primerima. Za robota koji je uradjen na brzaka, metodom grube sile i nije loš. Primere su radili ljudi koji su se sa PROBOTS zezali malo duže nego ja. Ajde ti napravi svog robota pa ga isprobaj sa mojim. Za nedelju-dve i moji će derati Goroa i Abasirija O;). P.S. Naravno rename abasiri ne dolazi u obzir. Mora da bude baš tvoja kreacija.
pascal.762 sslavko,
>> Kako da napravim rezidentan program, a da ne stoji ceo u >> memoriji: Sve o tome imaš u Računarima 93 i 94. Doduše pisano je za C ali se da preraditi i za Pascal.
pascal.763 kriss,
˙˙ p.s. kako da usporim bitku (i sa turbom ide ko munja). Mislim ˙˙ da ima neki prg. SLOW ili tako nekako... Ima, program se zove slower.
pascal.764 postmast,
From: Amir.Zolic@f115.n103.z38.setgate.setnet.co.yu (Amir Zolic) Subject: pascal Date: Wed, 30 Nov 1994 02:55:06 -=> Quoting Predrag Supurovic to "Ognjen Blagojevic" <=- > Moze li se nekako upisati neki znak u donji desni ugao >ekrana a da isti ne 'odskroluje' za jedan red? PS> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu PS> funkciju onda je zameni drugom i resices problem. Mislim da nisi u pravu ;) Sta ce dati ovaj program? ┌────────────────────────────────────────┐ │ uses crt; │ │ begin │ │ ClrScr; │ │ WriteLn('Ovo je prva linija'); │ │ WriteLn('Ovo je druga linija'); │ │ WriteLn('a ovo je treca'); │ │ GoToXY(80, 25); │ │ Write('1'); { WriteLn('1') } │ │ end. │ └────────────────────────────────────────┘ U prvom slucaju ( Write() ), na ekranu ce ostati 'druga' i 'treca' poruka i '1' na (80, 24) i kursor ce biti na (1,25). U drugom slucaju ( WriteLn() ), na ekranu ce ostati samo 'treca' poruka i '1' na (80,23) i kursor na (1, 25). Resenje je da se koristi direktno pisanje u video memoriju. Tada ne dolazi do pomeranja kursora posle ispisa teksta (ovo je uzrok 'podizanja' ekrana za jedan red) pa nema nikakvih problema :)) Pozdrav Amir P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse pisanje direktno u Video memoriju. ... Pisac je covek koji prazni glavu da bi napunio stomak. * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.765 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Wed, 30 Nov 1994 12:43:05 * Citat: Predrag Supurovic --> "Ognjen Blagojevic" * Tema : pascal > Moze li se nekako upisati neki znak u donji desni ugao >ekrana a da isti ne 'odskroluje' za jedan red? PS> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu PS> funkciju onda je zameni drugom i resices problem. Ako i to neuspe uzmi direktan upis u memoriju... ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.766 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: Recordi Date: Wed, 30 Nov 1994 12:45:06 * Citat: Predrag Supurovic --> Bosko Radivojevic * Tema : Recordi >i recimo ima 4 rekorda on prodje 4 puta i ispise tacno ali >prodje i 5-ti >put i kaze na read (uf, user) DISK READ ERROR i to u svim >kombinacijamA:) > For i := 0 To FileSize (uf) Do PS> Klasicna greska. FileSize() vraca broj slogova u datoteci, PS> a ti pocinjes da brojis od nule, sto znaci da se petlja vrti PS> za jedan krug vise nego sto treba. PS> Pocni da brojis od 1. Ali onda mora u Seek(x) da stavlja i-1 ako koristi Seek... ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.767 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Recordi Date: Thu, 01 Dec 1994 09:22:00 > >put i kaze na read (uf, user) DISK READ ERROR i to u svim > >kombinacijamA:) > > > For i := 0 To FileSize (uf) Do > PS> Klasicna greska. FileSize() vraca broj slogova u datoteci, > PS> a ti pocinjes da brojis od nule, sto znaci da se petlja vrti > PS> za jedan krug vise nego sto treba. > PS> Pocni da brojis od 1. >Ali onda mora u Seek(x) da stavlja i-1 ako koristi Seek... Pa dobro onda neka broji od f:=0 do FileSize (uf)-1. Dodje na isto. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.768 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Thu, 01 Dec 1994 09:26:06 * Citat: Amir Zolic --> Predrag Supurovic * Tema : pascal AZ> Resenje je da se koristi direktno pisanje u video memoriju. Tada AZ> ne dolazi do pomeranja kursora posle ispisa teksta (ovo je uzrok AZ> 'podizanja' ekrana za jedan red) pa nema nikakvih problema :)) AZ> AZ> Pozdrav AZ> Amir AZ> AZ> P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse AZ> pisanje direktno u Video memoriju. Jeste to je bilo za mene ako nemas taj tekst u nekom fajlu ja mislim da ga cuvam u nekom fajlu pa ako treb poslacu.. Pretpostavljam da znas asembler.. Cemu sluze nareba POP i PUSH kao i one sto su slicne PUSH-u samo neko slovo je izmenjeno .. ... BR> Da li je Internet interna ili internacionalna mreza? * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.769 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Thu, 01 Dec 1994 09:48:07 * Citat: Nenad Radosavljevic --> All * Tema : pascal NR> From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic) NR> broker@setnet.co.yu writes: > >> Moze li se nekako upisati neki znak u donji desni ugao >>ekrana a da isti ne 'odskroluje' za jedan red? > >Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu >funkciju onda je zameni drugom i resices problem. > NR> NR> Malko teze u ovom slucaju. Naime pascal-ove naredbe za pristup NR> CRT-u writeln() i write(), prepoznaju kada se nesto upisuje u NR> poslednji karakter na ekranu (donji desni ugao) i automatski scroll-uju NR> ekran za jedan red vise (obe naredbe). Jedno od mogucih resenja je da NR> prestanes da koristis write i writeln, da sa od nekud preuzmes arhivu NR> TPFAST, sa asemblerski pisanim rutinama za pristup video memoriji kod NR> SVIH do sada poznatih tipova kartica. Rutine cak podrzavaju i video NR> pages (kao kod Norton Commander-a - vise screen-ova koji se preklapaju NR> momentalno) i pravljenje windows-a a imas i gomilu drugih korisnih NR> rutina (za stringove, matematicke f-je itd. itd.). I sto je (barem NR> meni) najlepse cela arhiva je srazmerno mala a u sebi sadrzi i NR> source-ove svega sto je napisano). Dobro nisam bas bio siguran ... Koristi tu rutinu ili napravi sam rutinu za direktan upis u memoriju... Amir mi je objasnio pre neki mesec kako se to radi pa ako hoces to da ti posaljem... x ... Da siljnem dve pricice...? * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.770 postmast,
From: Vasiljevic.Igor@p1.f107.n111.z38.setgate.setnet.co.yu (Vasiljevic Igor) Subject: CZONE Date: Thu, 01 Dec 1994 21:47:00 Evo samo da obavestim zainteresirane da kod mene na Takeda Inc. BBS-u mozete naci igru CZone (za Win.). Igra podseca na ovo o cemu se ovde vodi prica. Jedino ima malo robota. Ince igra je sharware, pa ako je neko zainteresiran da je skine nek mi se javi. Vigor * Origin: # TĺKţDĺ Inc. # Zrenjanin # $ţTNţT # (38:111/107.1)
pascal.771 inesic,
> Može li neko da mi objasni kako se pravi procedura za P-ROBOTS. > Šta je CANNON,SCAN,DIR,LOC_X,LOC_Y,RANGE,HEAD.... > Hoću i ja da ga napravim ali moram da znam sta je sta.OK. Pročitaj probots.doc, ima ga u arhivi.
pascal.772 inesic,
> Interesuje me ta igra ili vec sta je ?? Skini fajl uz poruku 7.699 u ovoj konferenciji. Ne znam kako se to radi sa long distance. Ako ni ti ne znaš, pitaj sysAdma.
pascal.773 duzle,
Evo ga pascal source programa Infoplus (u dokumentaciji pise da je kao neki naslednik/klon programa SYSID). Namena mu je identifikacija komponenti sistema. Pogledajte, ima nekih interesantnih trikova ;). Pozdrav, Ognen. P.S. Sorry ako se ova datoteka vec nalazi u sezamovim konf/dirovima :) infoplus.arj
pascal.774 inesic,
> ... Da siljnem dve pricice...? Pošalji, naravno! :)
pascal.775 djelovic,
> Evo ga pascal source programa Infoplus (u dokumentaciji pise da je kao neki > naslednik/klon programa SYSID). Namena mu je identifikacija komponenti > sistema. Pogledajte, ima nekih interesantnih trikova ;). Hvala na zanimljivom prilogu!
pascal.776 postmast,
From: Amir.Zolic@f115.n103.z38.setgate.setnet.co.yu (Amir Zolic) Subject: pascal Date: Sat, 03 Dec 1994 22:04:00 -=> Quoting Zeljko Stevanovic to Amir Zolic <=- AZ> P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse AZ> pisanje direktno u Video memoriju. ZS> ZS> Jeste to je bilo za mene ako nemas taj tekst u nekom fajlu ja mislim ZS> da ga cuvam u nekom fajlu pa ako treb poslacu.. Ako neko bude trazio, salji. Imas moju pisanu dozvolu :)) Samo treba da dodas Copyright (c)by Amir Zolic 1994. All rights reserved. I sve ostalo sto ide uz svaki PD/SW software :))) ZS> Pretpostavljam da znas asembler.. ZS> Cemu sluze nareba POP i PUSH kao i one sto su slicne PUSH-u samo neko ZS> slovo je izmenjeno .. Odgovor na ovo je u NET.PC Prog posto nema puno veze sa Pascal-om. Pozdrav Amir ... Postoje tri vrste lazi; laz, prokleta laz i statistika. * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.777 duzle,
Paskal, C i ASM source za pusstanje .mod-ova na SoundBlasteru, Covoxu i (!) zvucniku :). ModOBJ_1.ZIP. Pozdrav, Ogi modobj_1.zip
pascal.778 ognjen,
)-> Neko je ovde pominjao preradivanje programa tako da )-> radi u grafickom modu. Kako ce to da radi na mom herculesu? )-> Mislim da je program i bez toga dovoljno spor. Da li pominjani program radi u tekstualnom modu?
pascal.779 postmast,
From: Marko.Milivojevic@p1.f1.n103.z38.setgate.setnet.co.yu (Marko Milivojevic) Subject: Re: pascal Date: Sun, 04 Dec 1994 05:19:01 "O> Slusajte pazljivo: "O> - Kako treba da mi glasi linija pod brojem 2 "O> 1-Startujem neki program iz mog programa "O> 2-Kad izlazim iz tog nekog programa da se ponovo vrati "O> u moj program. Probaj exec funkciju (ili je be{e procedura?) -=> MM <=- * Origin: SETNet - Belgrade HUB1 (38:103/1.1)
pascal.780 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 04 Dec 1994 13:42:11 * Citat: Amir Zolic --> Zeljko Stevanovic * Tema : pascal AZ> Copyright (c)by Amir Zolic 1994. All rights reserved. AZ> AZ> I sve ostalo sto ide uz svaki PD/SW software :))) AZ> Naravno ... ... Zivjeti je vrlo nezdravo. Tko zivi, taj umire. * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.781 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Seriski borj! Date: Sun, 04 Dec 1994 22:01:00 Zdravo, Imam jedno pitanje koje je u vezi toga,dali moze Turbo Pascal da procita seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj program ovde u SET.PASCAL ! ... Everyone has a photographic memory. Some don't have film. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.782 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Re: Konverzija tipova Date: Mon, 05 Dec 1994 15:42:01 VB> Sta ovde ne valja: ... VB> var VB> dd, mm, gg: integer; VB> datum : longint; VB> ... VB> begin VB> datum := dd + mm*100 + gg*10000 VB> ... Videh u ovoj konf. poruke na slicnu temu. Problem je u tome sto kompajler izracunava medjurezultate mm*100 i gg*10000 vodeci racuna ne o tipu lvalue-a, vec o tipu promenljivih koje figurisu u medjurezultatu. Posto su promenljive mm i gg intidzeri, a takodje i konstante 100 i 10000, medjurezultati ce biti smesteni takodje u intidzere, sto dovodi do (logicke) greske rezultata. Ako ti je potreban (a i jeste ti potreban) dugi intidzer, izvrsi konverziju tipova "u letu", to jest: datum := dd + LONGINT (mm) * 100 + LONGINT (gg) * 10000 3OPAH ... Zvrrr... (klik) "Zdravo, Mile, kako... (BIIIIIIIIP) Mile? Sta ti je?" * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.783 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Re: pascal Date: Mon, 05 Dec 1994 15:42:02 IN> ...prijavljivao not inaf memori: imam XT sa 640k... Nisi ni ti jedini. I ja imam XT/8 MHz/640 Kb/32.6 Mb HD/360 Kb FD uf ostadoh bez daha ali sam imao dovoljno memorije za sve programe/demoe iz TP6.0. Da li si podesio Link buffer -> Disk i Compile to -> Disk? P. S. Mene Paskal ne odusevljava, a POGOTOVO ne Turbo Paskal. Ali ako cemo o tome, bolje da skoknemo do PC.PROG. 3OPAH ... Sueprbrazo kucnje ima svcoje poslefdcie! * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.784 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Pascal Date: Mon, 05 Dec 1994 15:42:03 OD> ...ako nekoga interesuje kako da simulira multi-tasking u paskalu... Vidi, vidi... Pa ovde se pravi operativni sistem! :) Mislio si na multi- -threading? OK. Samo, za to vam je M2 prava stvar. 3OPAH ... E, izvinite me, ja sada zurim na cas dopunske nastave iz informatike. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.785 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: M3 Date: Mon, 05 Dec 1994 15:42:04 Neko ovde spomenu Modulu-3? Ja koristim Modulu-2 i odusevljen sam i samim programskim jezikom i kompajlerom (TopSpeed, razume se ;) ). I ranije sam cuo za M3, ali tada nisam imao modem... Da li bi neko mogao da mi objasni (u NET.PCPROG) sustinske razlike izmedju M3 i M2, i da li je M3 produzedak M2 ili se radi o programskom jeziku potpuno drugacije osnove? ... Brazo kucanje inmad i svoje poslediuce. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.786 evlad,
>> From: Robert.Mileskičf108.n108.z38.setgate.setnet.co.yu (Robert Mileski) >> Imam jedno pitanje koje je u vezi toga,dali moze Turbo Pascal da procita >> seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj >> program ovde u SET.PASCAL ! Uses Dos; Const EBPB : Array of Byte = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); Procedure GetSerialNumber (Drv : Byte); Begin š GetSerialNumber ć R.AH := $69; R.AL := 0; R.BL := Drv; R.DS := Seg (EBPB); R.DX := Ofs (EBPB); MsDos (R); if (R.Flags AND $01) <> 0 then Begin Era := R.AX; WriteLn; Case Era of 1 : WriteLn ('NetWork drive not supported !'); 5 : WriteLn ('No extended BPB found on disk !'); 15 : WriteLn ('Invalid drive specified !'); Else WriteLn ('Dos error: ', Era); End; š of case ć Halt (Era) End End; š GetSerialNumber ć posle izvršenja procedure getserialnumber serijski broj se nalazi: EBPB Š3Ć EBPB Š4Ć EBPB Š5Ć EBPB Š6Ć Pozdrav .... PS. Sorry za yuscii code
pascal.787 andrejt,
Q> seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj Q> program ovde u SET.PASCAL ! Nema potrebe za programom - to je interrupt. Evo informacija : ┌───────────────────────────────────────────────────────────────────────────┐ │ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) │ │ │ │ AH = 69h │ │ AL = 00 get serial number │ │ = 01 set serial number │ │ BL = drive (0 = default, 1=A:, 2 = B:, ... ) │ │ DS:DX = buffer to contain extended BIOS Parameter Block (BPB, AL=0) │ │ = disk information to set of the form: │ │ │ │ Offset Size Description │ │ 00 word info level (zero) │ │ 02 dword disk serial number (binary) │ │ 06 11bytes volume label or "NO NAME " if not present │ │ 11 8bytes filesystem type string "FAT12 " or "FAT16 " │ │ │ │ returns: │ │ CF = set on error │ │ AX = error code if CF set │ │ = 01 network drive not supported │ │ = 05 no extended BPB found on disk │ │ CF = clear if successful and value in AX is destroyed │ │ AL = 00 buffer filled from Extended BPB on disk │ │ = 01 disk Extended BPB updated from buffer │ │ DS:DX = pointer to returned data, when AL = 0 │ │ │ │ │ │ - copies data from Extended BIOS Parameter Block to buffer │ │ - no critical error is generated on error │ │ - does not work on network drives (returns 01) │ └───────────────────────────────────────────────────────────────────────────┘ Dakle pozivas ga sa MsDos(R); - gde je R promenljiva tipa Registers. (O msdos proceduri i doticnom tipu mozes pogledati u helpu za TP.)
pascal.788 janko,
> Begin š GetSerialNumber ć > EBPB Š6Ć > PS. Sorry za yuscii code Vidiš, za razliku od C-a, Paskal su napravili Evropljani, a oni su imali iste probleme kao i mi. Zato se Paskal i Juski dovoljno slažu da si mogao to da napišeš tako da ne moraš da se izvinjavaš: Begin (* GetSerialNumber *) EBPB (. 6 .) Tj. umesto uglastih zagrada [ ] se pišu (. .) a umesto vitičastih { } zagrada se pišu (* *) I svi srećni.
pascal.789 evlad,
>> Vidiš, za razliku od C-a, Paskal su napravili Evropljani, a oni su imali nisam prepravljao kod, već je bilo cut & paste iz mojih programa ;) a i žurio sam da čoveku dam odgovor što pre ... inače da se nadovežem ... (* je 'starije' od š tako da ako imaš neki kod sa komentarima pisanim sa šć možeš da lako izbaciti sa (* *), a kada pokušaš šš ćć turbo pascal 'se buni' ... NHF!
pascal.790 omega,
Ţ Nema potrebe za programom - to je interrupt. Ţ│ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) │ ^^^^^^^^^^^^^^^^^^^^^^^ I to kakav ;)
pascal.791 zeljkoj,
> Ţ│ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS > 4+) │ ^^^^^^^^^^^^^^^^^^^^^^^ > I to kakav ;) To ne treba koristiti. Lako se može dogoditi da se u nekoj od sledećih verzija DOS-a nešto promeni, i onda jednostavno stari programi koji koriste taj int. neće raditi.
pascal.792 postmast,
From: avram@setnet.co.yu (Sinisa Avram) Subject: Re: Exec.. Date: Sat, 10 Dec 1994 03:57:14 RM> Dali neko moze da napise jedan mali primer kako koristiti naredbu RM> 'exec',ali i objasnjenje jer onaj program u HELP-u Turbo Pascal-a RM> 6.0,ne radi! :( Evo ti izvod iz helpa: Exec (procedure) (Dos unit) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Executes a specified program with a specified command line. Declaration: procedure Exec(Path, CmdLine: string); Target: Real, Protected Remarks: Errors are reported in DosError. When compiling a program that uses Exec, reduce the "maximum" heap size; otherwise, there won't be enough memory (DosError = 8). Sample Code: {DOSXCODE.PAS} { Example for DosExitCode and Exec } {$M $4000,0,0 } { 16K stack, no heap } uses Dos; var ProgramName, CmdLine: string; begin Write('Program to Exec (full path): '); ReadLn(ProgramName); Write('Command line to pass to ', ProgramName, ': '); ReadLn(CmdLine); WriteLn('About to Exec...'); SwapVectors; Exec(ProgramName, CmdLine); SwapVectors; WriteLn('...back from Exec'); if DosError <> 0 then{ Error? } WriteLn('Dos error #', DosError) else WriteLn('Exec successful. ', 'Child process exit code = ', DosExitCode); end. Pozdrav, Avram. ... If it wasn't for C, we would be using BASI, PASAL and OBOL! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.793 postmast,
From: Robert.Mileski@p1.f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Exec komanda. Date: Tue, 06 Dec 1994 23:50:00 Dali neko moze da mi posalje neki mali programcic kao primer za naredbu 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u HELP-u ne radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo startovanje Autoexec.Bat-a ! Molim vas za malo objasnenja! MileR, * Origin: SetNet: *** VEGA BBS*** +389-91-225-280 (38:108/108.1)
pascal.794 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Exec.. Date: Wed, 07 Dec 1994 09:06:00 Dali neko moze da napise jedan mali primer kako koristiti naredbu 'exec',ali i objasnjenje jer onaj program u HELP-u Turbo Pascal-a 6.0,ne radi! :( ... Real programmers practice safe HEX. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.795 janko,
> inače da se nadovežem ... (* je 'starije' od š tako da ako > imaš neki kod sa komentarima pisanim sa šć možeš da lako > izbaciti sa (* *), a kada pokušaš šš ćć turbo pascal 'se > buni' ... Tumačenje ti je pogrešno. Ni jedno od ta dva nije starije. Ako regularno koristiš (* *) onda ćeš i tekst koji sadrži (* *) moći da "iskomentarišeš" sa { }.
pascal.796 bulaja,
│Nema potrebe za programom - to je interrupt. │ │INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) └─── Nema potrebe ni za ovim, sve se može lepo pročitati iz boot sektora.
pascal.797 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: Exec komanda. Date: Fri, 09 Dec 1994 10:23:10 * Citat: Robert Mileski --> All * Tema : Exec komanda. RM> Dali neko moze da mi posalje neki mali programcic kao primer za RM> naredbu 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u RM> HELP-u ne radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo RM> startovanje Autoexec.Bat-a ! Molim vas za malo objasnenja! RM> MileR, Evo neceg iz knjige TURBO PASCAL 6 kompletan vodic.. Exec [DOS jedinica] Sintaksa : Procedure Exec(Path, CmdLine: String); Opis : Exec izvrsava program sadrzan u datoteci navedenoj putanji Path sa parametrima linije definisanim u komandnoj liniji CmdLine. Na primer, u narednim programu: {$M 2000, 0, 0} Program TestExec; Uses Dos; Begin Exec ('TESTPROG.EXE', 'A B C'); ReadLn; Exec ('\COMMAND.COM', ''); End. Prvi Exec iskaz izvrsava program TESTPROG.EXE sa parametrima A, B, C. Drugi Exec iskaz aktivira Dos-ov COMMAND.COM bez parametara; cime se kreira DOS okruzenje u okviru kojeg mozemo startovati druge programe. ---------------------------------------------------------------------------- Pozdrav, Blue MAGIC Blue BeBeK ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.798 andrejt,
Q> To ne treba koristiti. Lako se moze dogoditi da se u nekoj od sledecih Q> verzija DOS-a nesto promeni, i onda jednostavno stari programi koji Q> koriste taj int. nece raditi. Cisto sumnjam da bi bas toliko izmenili da ne moze da se koristi - - pre bi ubacili novi, kao sto su radili sa drugim intovima (npr. terminate int, tsr int itd.).
pascal.799 andrejt,
Q> Dali neko moze da mi posalje neki mali programcic kao primer za naredbu Q> 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u HELP-u ne Q> radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo startovanje Q> Autoexec.Bat-a ! Molim vas za malo objasnenja! Da bi execovao .bat program moras da koristis command.com, 4dos.com ili sta vec koristis i to : exec(getenv(comspec) + ' /c',ime_bat + parametri);
pascal.800 zeljkoj,
> Cisto sumnjam da bi bas toliko izmenili da ne moze da se Nikad se ne zna...
pascal.801 postmast,
From: Vladimir.Bonc@f101.n101.z38.setgate.setnet.co.yu (Vladimir Bonc) Subject: Re: Konverzija tipova Date: Wed, 14 Dec 1994 01:08:54 Zoran Rilak > Vladimir Bonc : VB> Sta ovde ne valja: ... VB> var VB> dd, mm, gg: integer; VB> datum : longint; VB> ... VB> begin VB> datum := dd + mm*100 + gg*10000 VB> ... ZR> ZR> Videh u ovoj konf. poruke na slicnu temu. Problem je u tome sto Pitanje je poteklo od mene, ako nisi pratio od pocetka, kako TP resava ovakav problem i naveo sam kako je to reseno kod Kick Pascala koji sam ranije koristio na Amigi. ZR> kompajler izracunava medjurezultate mm*100 i gg*10000 vodeci racuna ne ZR> o tipu lvalue-a, vec o tipu promenljivih koje figurisu u ZR> medjurezultatu. Posto su promenljive mm i gg intidzeri, a takodje i ZR> konstante 100 i 10000, medjurezultati ce biti smesteni takodje u ZR> intidzere, sto dovodi do (logicke) greske rezultata. Ako ti je potreban ZR> (a i jeste ti potreban) dugi intidzer, izvrsi konverziju tipova "u ZR> letu", to jest: ZR> datum := dd + LONGINT (mm) * 100 + LONGINT (gg) * 10000 Probao sam ovo, radi ok. Resenje je slicno, samo sto je kod KP bilo dovoljno prisiliti jedan clan (tj. koji se racuna prvi) da bude longint. ... Ateist je stanovnik Atine. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.802 mmitrovic,
Ů█▀█Ţ To ne treba koristiti. Lako se može dogoditi da se u nekoj od sledećih Ů█▀█Ţ verzija DOS-a nešto promeni, i onda jednostavno stari programi koji Ů█▀█Ţ koriste taj int. neće raditi. Pa jedina alternativa tome je čitanje BOOT sektora i vađenje serijskog broja iz njega. Međutim i deo BOOT sektora u kome se nalazi ser. broj je nedokumentovan i podložan promenama. Van ova dva načina ne može se nikako otkriti ser. broj. Zato je za očekivati da će Microsoft dokumentovati ovu funkciju (pre će to učiniti nego što će dokumentovati reserved deo BOOT sektora) u sledećoj verziji DOS-a (7.0)
pascal.803 sbrk,
Da li neko zna nešto o povezivanju TPascala sa C-om preko OBJ fajlova? Znam da to ranije nije moglo (sa ranijim verzijama TPa), ali skoro čujem od jednog drugara da je to sada moguće sa Borland Pascalom 7.0 i nekim Borlandovim Com (mislim da mi je rekao da nije značajna verzija Ca). Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland Pascal 7.0 ume da koristi OBJ fajlove koje napravi C kompajler)
pascal.804 szeman,
Poznato je da se parametri, koji se prosledjuju programu pisanom u TP, odvajaju space karakterom, npr.: PRIMER.EXE Sima 'Pera Petrović' - paramcount() : 3 - paramstr(0) : C:ĐTP60ĐPRIMERIĐPRIMER.EXE (pun naziv dir-a gde se prog nalazi) - paramstr(1) : _Sima_ - paramstr(2) : _'Pera_ - paramstr(3) : _Petrović'_ Kod nekih aplikacija je potrebno precizno navesti ceo string, pa me zanima gde se u *NEPROMENJENOM* obliku smeštaju parametri koji su prosledjeni programu, odnosno, celokupna komandna DOS linija posle starovanja programa. Pozdrav, Saša
pascal.805 andrejt,
Q> Kod nekih aplikacija je potrebno precizno navesti ceo string, pa me Q> zanima gde se u *NEPROMENJENOM* obliku smestaju parametri koji su Q> prosledjeni programu, odnosno, celokupna komandna DOS linija posle Q> starovanja programa. Sve sto ide posle imena programa se nalazi na ofsetu 81h PSPa (127 byteova). PSP dobijas (npr.) sledecom funkcijom : * Function GetPSP : Word; Var R : Registers; Begin R.AH := $62; MsDos(R); GetPSP := R.BX; End; * A u string[127] mozes da procitas celi parametar string : * Const CR = 13; Var Param : String[127]; PSP,i : Word; Begin Param := ''; PSP := GetPSP; i := $81; While (Mem[PSP:i] <> CR) Do Begin Param := Param + Chr(Mem[PSP:i]); Inc(i,1); End; End. *
pascal.806 omega,
Ţ otkriti ser. broj. Zato je za ocekivati da ce Microsoft dokumentovati ovu Ţ funkciju (pre ce to uciniti nego sto ce dokumentovati reserved deo BOOT Ţ sektora) u sledecoj verziji DOS-a (7.0) ...koja zvanicno nece ni postojati ;)
pascal.807 janko,
> Da li neko zna nešto o povezivanju TPascala sa C-om preko > OBJ fajlova? > > Znam da to ranije nije moglo (sa ranijim verzijama TPa), > ali skoro čujem od jednog drugara da je to sada moguće sa > Borland Pascalom 7.0 i nekim Borlandovim Com (mislim da mi > je rekao da nije značajna verzija Ca). > > Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland > Pascal 7.0 ume da koristi OBJ fajlove koje napravi C > kompajler) Moglo je od TP 4.0 nadalje, uvek. Ako imate pune instalacije, bacite malo pogled. TP ume da koristi .OBJ fajlove. C rutine možete da trpate u TP programe, OBRNUTO je nemoguće jer TP ne pravi .OBJ-ove od svog koda.
pascal.808 vlador,
> Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland Pascal 7.0 ume da > koristi OBJ fajlove koje napravi C kompajler) Možda preko DLL fajlova? --- ■ VLADOR ■ Don't pick up that phonž9ôť NO CARRIER
pascal.809 szeman,
>> Sve sto ide posle imena programa se nalazi na ofsetu 81h PSPa (127 >> byteova). PSP dobijas (npr.) sledecom funkcijom : To je ono što mi treba. Tnx. Pozdrav, Saša
pascal.810 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Re: Exec.. Date: Thu, 15 Dec 1994 22:39:00 -=> Quoting Sinisa Avram to Robert Mileski <=- SA> Evo ti izvod iz helpa: SA> SA> Exec (procedure) (Dos unit) SA> ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Thanks,a dali znass kako mozze da se procita serijski broj diska ? ... If you can't change Yourself, then change the World *** * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.811 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Re: Exec komanda. Date: Thu, 15 Dec 1994 22:41:01 -=> Quoting Zeljko Stevanovic to Robert Mileski <=- ZS> Evo neceg iz knjige TURBO PASCAL 6 kompletan vodic.. Hvala ti,uradio sam to.A kako procitati serijski broj diska? ... Documentation - The worst part of programming. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.812 srdjanr,
Evo jednog mog, meni zanimljivog, resenja datumskih funkcija na TURBO PASCAL-u, koje uvazava Gregorijanski kalendar za sve godine 1..5,000,000 i vise. Mozda ima i boljih resenja, ali eto, ipak ... SrdjanR dates.arj
pascal.813 sjocic,
Imao bih dva pitanja: 1. Kako u Turbo Pascalu 6, izvesti štampanje datoteke - naime hoću da posle pitalice štampa d/n, ide direktna štampa fajla. Nije bitno da li da ide preko dos-ove naredbe ili preko writeln(Lst,fajl). 2. Kako izvesti hot-key, tj. posle pitalice npr. štampa d/n, pritiskom na 'd' počne štampa bez prethodnog pritiskanja enter tastera. Unapred hvala na odgovorima.
pascal.814 cira,
Poludeh trazeci fajl (mozda i ne postoji) na Sezamu. Radi se o window TPUu koji je neophodan za rad programa iz RACUNARA 65 (ono o fraktalima). Bio bih veoma zahvalan da mi neko pokaze put ili doturi taj TPU. Sto hitnije jer letim sa Sezama 21.12.1994.:(
pascal.815 omega,
Ţ C rutine mozete da trpate u TP programe, OBRNUTO je nemoguce jer TP ne Ţ pravi .OBJ-ove od svog koda. Da, ali postojao je bese program tpu->obj.
pascal.816 dejanr,
>> 2. Kako izvesti hot-key, tj. posle pitalice npr. štampa d/n, pritiskom >> na 'd' počne štampa bez prethodnog pritiskanja enter tastera. Umesto da koristiš readln, stavi na početak uses crt pa onda koristi readkey, u petlji.
pascal.817 evlad,
>> Umesto da koristiš readln, stavi na početak uses crt pa onda koristi >> readkey, u petlji. A ako ti readkey vrati #0 tada se radi o funkcijskim tasterima i treba uraditi još jedan redkey. Da ne bi lutao po literaturi evo ti spisak funkcijskih i alt-tastera .... F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Norm│ 59 │ 60 │ 61 │ 62 │ 63 │ 64 │ 65 │ 66 │ 67 │ 68 │ 133 │ 134 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Shf │ 84 │ 85 │ 86 │ 87 │ 88 │ 89 │ 90 │ 91 │ 92 │ 93 │ 135 │ 136 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Ctrl│ 94 │ 95 │ 96 │ 97 │ 98 │ 99 │ 100 │ 101 │ 102 │ 103 │ 137 │ 138 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Alt │ 104 │ 105 │ 106 │ 107 │ 108 │ 109 │ 110 │ 111 │ 112 │ 113 │ 139 │ 140 │ ──┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ Norm Ctrl ─────┼─────┼─────┤ Alternate Alternate Shift-Tab == 15 Ins │ 82 │ - │ Q == 16 Z == 44 Ctrl-č == 3 ─────┼─────┼─────┤ W == 17 X == 45 Del │ 83 │ - │ E == 18 C == 46 ─────┼─────┼─────┤ R == 19 V == 47 Home │ 71 │ 119 │ T == 20 B == 48 ─────┼─────┼─────┤ Y == 21 N == 49 End │ 79 │ 117 │ U == 22 M == 50 ─────┼─────┼─────┤ I == 23 1 == 120 PgUp │ 73 │ 132 │ O == 24 2 == 121 ─────┼─────┼─────┤ P == 25 3 == 122 PgDn │ 81 │ 118 │ A == 30 4 == 123 ─────┼─────┼─────┤ S == 31 5 == 124 Up │ 72 │ - │ D == 32 6 == 125 ─────┼─────┼─────┤ F == 33 7 == 126 Down │ 80 │ - │ G == 34 8 == 127 ─────┼─────┼─────┤ H == 35 9 == 128 Left │ 75 │ 115 │ J == 36 0 == 129 ─────┼─────┼─────┤ K == 37 - == 130 Right│ 77 │ 116 │ L == 38 = == 131 ─────┴─────┴─────┘
pascal.818 andrejt,
Q> Thanks,a dali znass kako mozze da se procita serijski broj diska ? Pre neku poruku, kad sam ja ovde poslao izvod iz PC Helpa o intu koji to radi, neko je rekao da je to lepse citati iz BOOTa, pa evo sada opisa BOOTa : ┌────────────────────────────────────────────────────────────────────────────┐ Boot Sector (since DOS 2.0) Offset Size Description 00 3bytes jump to executable code 03 8bytes OEM name and version 0B word bytes per sector 0D byte sectors per cluster (allocation unit size) 0E word number of reserved sectors (starting at 0) 10 byte number of FAT's on disk 11 word number of root directory entries (directory size) 13 word number of total sectors (0 if partition > 32Mb) 15 byte media descriptor byte 16 word sectors per FAT 18 word sectors per track (DOS 3.0+) 1A word number of heads (DOS 3.0+) 1C word number of hidden sectors (DOS 3.0+) 20 dword (DOS 4+) number of sectors if offset 13 was 0 24 byte (DOS 4+) physical drive number 25 byte (DOS 4+) reserved 26 byte (DOS 4+) signature byte (29h) 27 dword (DOS 4+) volume serial number 2B 11bytes (DOS 4+) volume label 36 8bytes (DOS 4+) reserved - implementation format not guaranteed in all OEM DOS releases - BIOS expects a boot sector of 512 bytes - DOS 3.2 began reading BIOS Parameter Block (BPB) information from the boot sector, previous versions used only the media byte in FAT - DOS 4.x added offsets 20-3Dh and offset 20h determines the number of sectors if offset 13h is zero - hard disks have a master boot record and partition boot records; the master boot record and Disk Partition Table (DPT) share the same sector └────────────────────────────────────────────────────────────────────────────┘
pascal.819 andrejt,
Q> Bio bih veoma zahvalan da mi neko pokaze put ili doturi taj TPU. Sto Q> hitnije jer letim sa Sezama 21.12.1994.:( Ako taj neko moze da doturi u conf ili i meni na mail zamolio bih ga da to i uradi :)
pascal.821 mboban,
=-= >> Umesto da koristiš readln, stavi na početak uses crt pa onda koristi =-= >> readkey, u petlji. =-= =-= A ako ti readkey vrati #0 tada se radi o funkcijskim tasterima i treba =-= uraditi još jedan redkey. Onda probaj preko Port[$60]. Nešto ovako. Repeat If Port[$60]=49 then WriteLn('Izabrali ste slovo N') Else If Port[$60]=32 then WriteLn('Izabrali ste slovo D'); Until Port[$60]=1; (* Dok se ne pritisne taster Esc *) S tim što bi mogao da ubaciš neke promenljive za proveru da li je ta vrednost Porta već aktivna da se ne ponavlja isto. Da ne tupim, evo spisak vrednosti Porta[$60], za sve tastere (tenks tu Ognjen :) The keyboard scan codes. The characters above the boxes are the key legends. The numbers in the boxes are the scan codes. The codes for F1-F10 are 59-68. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Esc 1 2 3 4 5 6 7 8 9 0 - = Backsp NumLock ScrLock ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌────┐ ┌────┐ ┌───┐ │1 ││2 ││3 ││4 ││5 ││6 ││7 ││8 ││9 ││10││11││12││13│ │ 14 │ │ 69 │ │70 │ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └────┘ └────┘ └───┘ Tab Q W E R T Y U I O P [ ] Enter Home ^ PgUp - ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌────┐ ┌──┐┌──┐┌──┐┌──┐ │ 15 ││16││17││18││19││20││21││22││23││24││25││26││27│ │ 28 │ │71││72││73││74│ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ │ │ └──┘└──┘└──┘└──┘ Ctrl A S D F G H J K L ; ' ` │ │ <- -> + ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐│ │ ┌──┐┌──┐┌──┐┌──┐ │ 29 ││30││31││32││33││34││35││36││37││38││39││40││41││ │ │75││76││77││ │ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘└──┘└──┘│78│ Shift \ Z X C V B N M , . / Shift * End V PgDn│ │ ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐┌──┐┌──┐┌──┐┌──┐│ │ │ 42 ││43││44││45││46││47││48││49││50││51││52││53││ 54 ││55││79││80││81││ │ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘└──┘└──┘└──┘└──┘└──┘ Alt Space Bar Caps Lock Ins Del ┌────┐ ┌──────────────────────────────────────────┐ ┌────┐ ┌────┐ ┌────┐ │ 56 │ │ 57 │ │ 58 │ │ 82 │ │ 83 │ └────┘ └──────────────────────────────────────────┘ └────┘ └────┘ └────┘ P.S. Ono <-, ->, ^ i V na numeričkoj tastaturi zamenjuje strelice...
pascal.822 evlad,
>> Onda probaj preko PortŠ$60Ć. Nešto ovako. Ok, samo šta u međuvremenu radi PIC 59-ka na portu $20 ??? Ovo je bitno zbog interrupta 9, koji će prepuniti buffer ako čitaš direktno sa keyboard kontrolera ... ;)
pascal.823 postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setgate.setnet.co.yu (Arpadffy Zoltan) Subject: Re: pascal Date: Fri, 09 Dec 1994 12:47:43 Quoting by Mamut ■From:"Predrag Knezevic" ■To :All ■Date:23 Oct 94 23:56:00 ■Subj:pascal "K> From: "Predrag Knezevic" <pedjak@sezam.UUCP> "K> Newsgroups: yu.prog.pascal "K> Organization: SEZAM Beograd, 011 648-422 > PASCALU a koji treba da radi pod NOVEL MREzOM. > Radi se o sledecem : prijateljica ide na visu pedagosku i treba da > sastavi sledeci program: > 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj > grupe ?" nakon unosenja broja grupe treba da se pojave pitanja te > grupe. > 4) Takode treba da postoji mogucnost povratka na pitanje "broj > grupe?" i izlaska iz programa. "K> "K> Pa jednostavno, koliko sam shvatio, startujes napisani program na "K> svakoj stanici... Program pises najnormalnije kao i za go DOS.. "K> jedino ako program treba da vrsi neke zajednicke obrade rezultata "K> koji se ukucavaju sa raznih stanica, onda se koriste zajednicke "K> datoteke u koje se upisuju podaci. To nije resenje. Pravi mrezni program bi bilo da sa jednog terminala saljes ostalima. To se moze postici koriscenjem BINDERY baze. Pristup bazi je netrivijalan i na niskom nivou, ali sa nekoliko f() je relativno prosto se moze resiti. Na raspolaganju.. :-) Zoli ... RAM DISK is NOT an installation procedure! * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.824 postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setgate.setnet.co.yu (Arpadffy Zoltan) Subject: Re: pascal Date: Fri, 09 Dec 1994 13:04:55 Quoting by Mamut ■From:"Ognen Duzlevski" ■To :All ■Date:20 Nov 94 12:12:00 ■Subj:pascal "D> From: "Ognen Duzlevski" <duzle@sezam.UUCP> "D> Newsgroups: yu.prog.pascal "D> Organization: SEZAM Beograd, 011 648-422 "D> Da li neko ima paskal source (ako nema, moze i samo algoritam) "D> sledecih metoda za resavanje sistema linearnih jednacina: Ja imam skoro sve probleme resene sa menijem itd. Meni je to trebalo na trecoj iz numericke... Rado cu ti pomoci u svemu, ali ti ne zelim resiti problem, jer to su elementarne stvari ako se bavis programiranjem i nikad neces nauciti ako samo prepises. BTW te metode mozes naci u skoro svakoj knjizi iz numericke matematike. cu Zoli ... RAM DISK is NOT an installation procedure! * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.825 postmast,
From: avram@setnet.co.yu (Sinisa Avram) Subject: Seriski broj Date: Sun, 18 Dec 1994 00:02:01 RM> Thanks,a dali znass kako mozze da se procita serijski broj diska ? RM> Ovu funkciju imas u zadnjim Racunarima u Bajtovima licne prirode. function GetDiskSerNo:string; {vratice 10 bajtova} var bbb,i :integer; srno: array[1..20] of char; srnostr : string[10]; begin while port[$1F7] = $50 do { wait for controller not busy} begin end; port[$1F6] :=$A0; {Get first drive } port[$1F7] :=$EC; {Get drive info data } while port[$1F7] = $58 do { wait for data ready} begin end; delay(1000); for i:=1 to 10 do bbb:=portw[$1F0]; for i:=1 to 5 do begin bbb:=portw[$1F0]; srno[2*i-1] :=Chr(Mem[Seg(bbb):Ofs(bbb)+1]); srno[2*i ] :=Chr(Mem[Seg(bbb):Ofs(bbb)]); end; Move(srno,srnostr[1],10); srnostr[0]:=Chr(10); GetDiskSerNo := SrNoStr; end; Pozdrav, Avram. ... Who's not with us, he's against us. (Julius Ceasar) * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.826 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 18 Dec 1994 22:08:00 To: "Sasa Zeman" <szeman@sezam.UUCP> > Kod nekih aplikacija je potrebno precizno navesti ceo >string, pa me zanima gde se u *NEPROMENJENOM* obliku smestaju parametri koji >su prosledjeni programu, odnosno, celokupna komandna DOS linija posle >starovanja programa. Ako ti treba da se recimo Pera Peric prosledi kao jedan parametar, stavi ga pod navodnike, tj. "Pera Peric". DOS sve izmedju navodnika, bez obzira na SPACE smatra za jedan parametar. broker * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.828 sjocic,
> Umesto da koristiš readln, stavi na početak uses crt pa onda > koristi readkey, u petlji. Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Probao sam sa imefajla:=imefajla+'lpt1'; Exec('c:\dos\copy','ime fajla') ali nece. Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, odstampa samo naziv datoteke (napominjem da je imefajla:text).
pascal.829 inesic,
Ima jedna DOSova eksterna komanda i zove se print. Divna stvar! Ti joj, kao parametar, daš ime text fajla, a ona sama printa u pozadini, vodeći računa o tome da li je printer on-line. Štaviše, moguće je dati celu listu fajlova, pa će print da ih izbaci jedan po jedan. Ono što mene zanima je kako da iz paskal programa printu prosledim argumente - fajlove za štampu. Da li je to moguće uraditi pomoću exec naredbe i kako da napišem onu $M kompajlersku direktivu, da ima memorije i za exec naredbu i za gomilu mojih procedura, koje su takođe memorijski zahtevne?
pascal.830 mboban,
=-= Ok, to radi fino, ali kako direktno iz programa da stampam text file ? =-= Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, odstampa =-= samo naziv datoteke (napominjem da je imefajla:text). Ja to radim ovako: Uses Printer; Var f:text; s:string; Begin Assign(f,'fajl.txt'); Reset(f); While not eof(f) do Begin ReadLn(f,s); WriteLn(lst,s); End; End. Gde je fajl.txt fajl kojeg treba odštampati...
pascal.831 evlad,
>> Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Ako imaš ceo pascal instaliran pogledaj lister.pas koji je sa njim 'došao', tamo ti je sve lepo objašnjeno !!! konkretno za tp 7.0 je u ĐtpĐexamplesĐlister.pas
pascal.832 dejanr,
>> Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Najjednostavniji (premda ne baš savršen, kada se radi o slikama) način: var stampa: text; assign (stampa, 'lpt1'); rewrite (stampa); writeln (stampa, "Prvi red"); writeln (stampa, a+b, c+d); itd close(stampa);
pascal.833 dejanr,
>> Ono što mene zanima je kako da iz paskal programa printu >> prosledim argumente - fajlove za štampu. Da li je to moguće >> uraditi pomoću exec naredbe i kako da napišem onu $M kompajlersku >> direktivu, da ima memorije i za exec naredbu i za gomilu mojih >> procedura, koje su takođe memorijski zahtevne? Imaš recept za korišćenje EXEC naredbe ovde bar jedno 10 puta u zadnjih par meseci :), dakle pogledaj starije poruke. Jako ukratko, staviš {$M 16000,0,0} (ili ne baš 0,0, ako ti programi koriste heap) i onda sa exec pozoveš command.com i proslediš mu ime komande. Međutim, PRINT nije dobro pozivati na ovaj način, pošto (pod odgovarajućim uslovima) ostavlja deo sebe rezidentan u memoriji, što može da napravi haos (ili bar fragmentiranu memoriju) kada se pozove iz tvog programa. Mnogo je bolje da sam rešiš štampu, kao što sam opisao u prethodnoj poruci. Ili, ako baš hoćeš da pozivaš nešto, pozovi COPY /B fajl LPT1.
pascal.834 inesic,
> Međutim, PRINT nije dobro pozivati na ovaj način, pošto (pod > odgovarajućim uslovima) ostavlja deo sebe rezidentan u > memoriji, što može da napravi haos (ili bar fragmentiranu > memoriju) kada se pozove iz tvog programa. Mnogo je bolje da > sam rešiš štampu, kao što sam opisao u prethodnoj poruci. Ili, > ako baš hoćeš da pozivaš nešto, pozovi COPY /B fajl LPT1. Ja printa imam skoro uvek instaliranog u memoriji i spreman sam na kompromis da najpre njega instaliram, pa onda da startujem moj program. Ne znam kako bih rešio štampu tako da se ona radi u pozadini, dok moj program čeka neki unos s tastature (ovaj program koji sam skrpio i onako 90% vremena radi baš to). Imam dosta za štampu i malo mi je nezgodno da bacam vreme dok unosim podatke. žini mi se da COPY /B ne ume da radi u pozadini i da će mi to vreme računar biti mrtav za unos podataka.
pascal.835 aleka,
Hi! Upravo sam naisao na jednu stvar koju ne mogu da razjasnim,a to je ovo: FOR X = 0.1 to 1 step 0.1 PRINT X NEXT X Izlaz: .1 .2 .3 .4 .5 .6 .7 .8000001 .9000001 ^^^^^ Zbog radi cega su ove nule? A interesantno je da se to desava samo pri ovom slucaju! Pozdrav, Mindza. P.S.U nadi da ce vasi programerski mozgovi znati da osvetle ovaj slucaj (Of Course,ako nije restrikcija;))
pascal.836 dejanr,
>> žini mi se da COPY /B ne ume da radi u pozadini i da će >> mi to vreme računar biti mrtav za unos podataka. To je tačno, nisam primetio da ti je potrebna štampa u pozadini. Onda je možda print najjednostavnije rešenje, ako ga najpre rezidentno instaliraš. Alternativa bi bila da praviš "svoj print" koji radi pod interaptom, što je u datoj prilici verovatno nepotrebno usložnjavanje.
pascal.837 vitez.koja,
#=> Probao sam sa imefajla:=imefajla+'lpt1'; #=> Exec('c:\dos\copy','ime fajla') ali nece. #=> Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, #=> odstampa Probaj sa exec('c:\dos\copy', 'ime_fajla prn'), ili još bolje: uses printer; f: text; s: string; while not eof(f) do begin readln(f, s); writeln(lst, s); end;
pascal.838 vgenije,
Kako da iz pascala napravim plaikaciju koja ce kontrolisati rad modema konkretno da na upucen pozziv modem se javi i posle je sve prica ostalog dela programa?
pascal.839 vgenije,
e vidite gde je ovde bag.Ubi se trazeci ga a ono nece da mi pretrazuje preko opisa robe? kese.pas
pascal.840 andrejt,
Q> Kako da iz pascala napravim plaikaciju koja ce kontrolisati rad modema Q> konkretno da na upucen pozziv modem se javi i posle je sve prica ostalog Q> dela programa? Evo ti jednog programa (mozda ga ima na sezamu ali ipak da posaljem) koji radi sa modemom - mozda nesto korisno mozes da izvuces iz njega. comm.arj
pascal.841 zeljkoj,
> program. Ne znam kako bih rešio štampu tako da se ona radi > u pozadini, dok moj program čeka neki unos s tastature > (ovaj program koji sam skrpio i onako 90% vremena radi baš Pa napravi mali multitasking. :)
pascal.842 dejanr,
>> Kako da iz pascala napravim plaikaciju koja ce kontrolisati rad modema >> konkretno da na upucen pozziv modem se javi i posle je sve prica ostalog >> dela programa? Problem, ako hoćeš da ga rešiš ozbiljno, nije ni malo jednostavan. Pročitaj tekstove Zorana čivotića iz "Računara" 57, 61 i 95. Imaš i primere u direktorijumu RSOFT, doduše na C-u, ali nadam se da ćeš se snaći. Naravno, imaš i gotovu biblioteku za rad sa modemom u direktorijumu PASCAL.
pascal.843 sjocic,
Kakva je pouzdanost onog programa za očitavanje serijskog broja diska, naime isti sam testirao na jednom Quantumu od 82 Mb i radi bez problema, dok kod mene na Conner-u blokira mašinu, jel imao neko slična iskustva?
pascal.844 janko,
> Ako ti treba da se recimo Pera Peric prosledi kao jedan > parametar, stavi ga pod navodnike, tj. "Pera Peric". DOS > sve izmedju navodnika, bez obzira na SPACE smatra za jedan > parametar DOS, koliko ga ja poznajem, nikada nije umeo da bilo šta smatra za bilo šta. On programu radi samo dve stvari: - Prosledi nedirnutu komandnu liniju - Izdvoji dva imena datoteka iz komandne linije BEZ direktorijuma. (nasledio od CP/M-a). Sve ostalo rade aplikativni programi. >> Kod nekih aplikacija je potrebno precizno navesti ceo >> string, pa me zanima gde se u *NEPROMENJENOM* obliku >> smestaju parametri koji su prosledjeni programu, odnosno, >> celokupna komandna DOS linija posle starovanja programa. Nalaze se u drugih 128 bajtova DOS-ovog PSP (Program Segment Prefix). Prvi bajt je dužina komandne linije. Ostatak je nedirnuta komandna linija, BEZ redirekcionih parametara.
pascal.845 janko,
> Ono što mene zanima je kako da iz paskal programa > printu prosledim argumente - fajlove za štampu. Da li > je to moguće uraditi pomoću exec naredbe i kako da > napišem onu $M kompajlersku direktivu, da ima memorije i > za exec naredbu i za gomilu mojih procedura, koje su > takođe memorijski zahtevne? Moguće je pomoću exec. Kolka god ti je gomila procedura, malo je verovatno da ti treba baš 500K za program. Za rad EXEC-a je dovoljno da imaš oko 60-tak KB slobodno (ako ne pozivaš PRINT iz komandnog procesora, već direktno). Međutim, postoji još elegantnije rešenje, koje zahteva malo više posla (ako nemaš neke gotove biblioteke): Koristiti DOS funkcije koje obezbeđuje PRINT po instalaciji! Ako umeš da pozivaš iz višeg prog. jezika DOS interapte, mnogo je zgodno. --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - INSTALLATION CHECK AX = 0100h Return: AL = 00h not installed, OK to install 01h not installed, not OK to install FFh installed --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - SUBMIT FILE AX = 0101h DS:DX -> packet (see below) Return: CF set on error AX = error code CF clear if successful AL = 01h added to queue 9Eh now printing SeeAlso: AX=0102h Format of submit packet: Offset Size Description 00h BYTE level (must be 0) 01h DWORD pointer to ASCIZ filename (no wildcards) --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - REMOVE FILE AX = 0102h DS:DX -> ASCIZ file name (wildcards allowed) Return: CF set on error AX = error code SeeAlso: AX=0103h --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - REMOVE ALL FILES AX = 0103h Return: CF set on error AX = error code SeeAlso: AX=0102h --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - HOLD QUEUE/GET STATUS AX = 0104h Return: CF set on error AX = error code 01h function invalid 02h file not found 03h path not found 04h too many open files 05h access denied 08h queue full 09h spooler busy 0Ch name too long 0Fh drive invalid DX = error count DS:SI -> print queue (null-string terminated list of 64-byte ASCIZ file names) SeeAlso: AX=0105h --------------------------------------------- INT 2F - Multiplex - DOS 3+ PRINT.COM - RESTART QUEUE AX = 0105h Return: CF set on error AX = error code SeeAlso: AX=0104h --------------------------------------------- INT 2F - Multiplex - DOS 3.3+ PRINT.COM - CHECK IF ERROR ON OUTPUT DEVICE AX = 0106h Return: CF set on error AX = error code DS:SI -> device driver header CF clear if successful AX = 0000h Note: eventually calls device driver for spooled device with request 0Ah, looping until not busy or timeout SeeAlso: AX=0104h --------------------------------------------- I da, ne obraćaj pažnju na to da PRINT navodno "pravi probleme." Ako njega instaliraš pri dizanju sistema, a posle samo koristiš usluge, ne bi trebalo da pukne (godinama mi na par mašina radi tako, aplikacije ga koriste u toku rada, štampanje je non stop u pozadini i sve je OK.)
pascal.846 andrejt,
Q> Kakva je pouzdanost onog programa za ocitavanje serijskog broja diska, Q> naime isti sam testirao na jednom Quantumu od 82 Mb i radi bez problema, Q> dok kod mene na Conner-u blokira masinu, jel imao neko slicna iskustva? Jel' moze broj poruke u kojoj je iznet program ?
pascal.847 zeljkoj,
> Kako da iz pascala napravim plaikaciju koja ce kontrolisati rad > modema konkretno da na upucen pozziv modem se javi i posle je > sve prica ostalog dela programa? Pa treba ti neka biblioteka. Ima toga ovde na Sezamu.
pascal.848 sjocic,
> Jel' moze broj poruke u kojoj je iznet program ? Ne znam koja poruka bese, mislim da je tekst bio i u racunarima, ali evo kompletnog sorsa: Program disk; Uses Crt; Function GetDiskSerNo:string; {vratice 10 bajtova} var bbb,i :integer; srno: array[1..20] of char; srnostr : string[10]; begin while port[$1F7] = $50 do { wait for controller not busy} begin end; port[$1F6] :=$A1; {Get first drive } port[$1F7] :=$EC; {Get drive info data } while port[$1F7] = $58 do { wait for data ready} begin end; delay(1000); for i:=1 to 10 do bbb:=portw[$1F0]; for i:=1 to 5 do begin bbb:=portw[$1F0]; srno[2*i-1] :=Chr(Mem[Seg(bbb):Ofs(bbb)+1]); srno[2*i ] :=Chr(Mem[Seg(bbb):Ofs(bbb)]); end; Move(srno,srnostr[1],10); srnostr[0]:=Chr(10); GetDiskSerNo := SrNoStr; end; Begin Writeln(' Serijski broj diska je:',GetDiskSerNo) end.
pascal.849 szeman,
>> Ako ti treba da se recimo Pera Peric prosledi kao jedan parametar, >> stavi ga pod navodnike, tj. "Pera Peric". DOS sve izmedju navodnika, >> bez obzira na SPACE smatra za jedan parametar. Nikako! TP - ova funkcija paramstr() radi na upravo onaj način koji sam opisao. Rešenje problema je poslao ANDREJT, pa pogledj.
pascal.850 vgenije,
E imam ideju(kao i 500 proslih neostvarenih) da napravim simulacuju berze na racunaru.naravno prilagodenu modemu-da se covek lepo prikljuci pokupuje,isprodaje itd.. U startu bi imao otprilik1 oko 100 000 bodova i imao ponudu robew koju nudi moja firma -tj.racunar a kako bi se igra razvijala korisnici bi sve vise prelazili natransakcije jedni sa drugima .Pitanje je dali ce ovo upaliti kod sireg auditorijuma-dali ce ljudi igrati tu igru? Sto se programerskog stanovista tice mislim da ne bi bilo problema pri programiranju ali me zanima i vase misljenje pozdrav
pascal.851 wizard,
> Probaj sa exec('c:\dos\copy', 'ime_fajla prn'), Ne bih hteo da ti narušavam koncepciju, a možda i nisam u toku, ali zar copy nije interna komanda DOS-a? :)
pascal.852 andrejt,
Q> Ne znam koja poruka bese, mislim da je tekst bio i u racunarima, ali Q> evo kompletnog sorsa: Tenks na sorsu. Inace, meni lepo radi. (Western Digital)
pascal.853 ognjen,
)-> ali me zanima i vase misljenje Ne razumam. Kako ti tu zaradjujes? Uzimas neki mali procenat od transakcija? Onda, treba ubediti firme da je to dobar softver i korisna mreza, sto znaci da moras da se pomucis sa programom, pa da imas jos min 10 linija, da je ponuda povoljna, i da je sistem siguran. U protivnom, firme nece biti zainteresovane. Ako mislis na neku mini berzu (prodaje na malo) /sto sam svojevremeno predlagao na sezamu, ali nije naislo na odziv/ to i nije losa ideja, i mozda i nije tako glupo za realizaciju, ali treba nesto razjasniti. Da li bi na taj sistem bilo pretplate (ako da, onda bi trebala biti simbolicna, a da je u pocetku i nema)? Bilo bi dobro da svako da koliko para zeli (recimo 100 din) i za to dobije toliko bodova (100 bodova) i kad nesto hoce da kupi, odbijaju mu se bodovi, a prenose se na 'racun' prodavca. S tim da ti dobijas (recimo) 2% od cene, na racun prodavca. Koliko ja znam, ti se nalazis van Beograda, pa je to jos jedan neuslov za realizaciju svega toga.
pascal.854 andrejt,
Q>> Probaj sa exec('c:\dos\copy', 'ime_fajla prn'), Q> Ne bih hteo da ti narusavam koncepciju, a mozda i nisam u toku, ali zar Q> copy nije interna komanda DOS-a? :) Mozda je mislio (ko god da je) exec(getenv('comspec'),'/c copy ' + ...) ?
pascal.855 duzle,
>**> Ja imam skoro sve probleme resene sa menijem itd. >**> Meni je to trebalo na trecoj iz numericke... >**> >**> Rado cu ti pomoci u svemu, ali ti ne zelim resiti problem, >**> jer to su elementarne stvari ako se bavis programiranjem >**> i nikad neces nauciti ako samo prepises. >**> >**> BTW te metode mozes naci u skoro svakoj knjizi iz numericke >**> matematike. :) Hvala na ponudi, ali me nisi shvatio. Znam ja da su sve to elementarne stvari i imao sam knjige koje su mi potrebne - ali nisam jednostavno imao vremena. Thx, anyway. Ogi
pascal.856 vgenije,
> (recimo) 2% od cene, na racun prodavca. > > Koliko ja znam, ti se nalazis van Beograda, pa je to jos jedan > neuslov za realizaciju svega toga. Mozda ste pogresno protimacili poruku-berza bi radila kao door program besplatno bi se pristupalo i svi bi u pocetku imali isti broj bodova Ono sto mene zanima je dali bi siri auditorijum bio zainteresovan za ovako nesto-dali bi igrao igru,inace zarada mi nije u prvom planu,a i da jeste nemam toliko programerskog staza da bih mogao da prilagodim program firmama Inace ne vidim razlog zbog cega je neuslov to sto moj pozivni nije 011 vec 026.tel troskovi?
pascal.857 inesic,
Zanimljivo. Zahvaljujem. Ako ima neki pointer na neki fajl prisutan na sezamu, gde ima detalja o ovome, bio bih još više zahvalan.
pascal.858 vgenije,
sto se tice onog programa za stampanje o kome je bilo reci comanda preko exec comande nece da mi radi zbog malo memorije . moze li se to resiti pomocu lst komande stim sto kad napisem writelN(lst,'imefajla'); on odprinta :imefajla a ako stavim pod neku varijablu tipa string on stampa njeno ime! ima li resenja(mislim kako izgleda) ako mi varijabla ima vrednost(??) a:='fajl1' da on odstampa ceo fajl a ne njeno ime. Malo sam poduze objasnjavao ali se nadam da ce te shvatiti pozdrav vlada biskupljanin
pascal.859 sjocic,
Hteo bih da napravim rezidentni help, koji bi se recimo pozivao pritiskom na npr.F5, i koji bi bilo moguce pozvati u toku rada sa q editorom i iskljuciti isto sa F5. Dok sam u cistom DOS-u radi Ok, ali se isto ne iskljucuje, naime treba da se pritiskom na F5 cuje Beep, pojavi tabela, i ponovnim pritiskom na F5 cuje beep i ukloni ista (u svakom dos okruzenju). Kako to izvesti ? Unapred hvala na odgovorima :) --------------------------------------------------- Program okvir; {BM B800,0,0 } uses Crt, Dos; var KbdIntVec : Procedure; Radi:boolean; {BF+} procedure Keyclick; interrupt; begin if Port[B60] = B3F then begin sound(5000); delay(1); if not(radi) then begin Window(10,4,70,12); write('┌───────────────────────────────────────────────────────────┐'); write('│ │'); write('│ │'); write('│ │'); write('│ │'); write('├───────────────────────────────────────────────────────────┤'); write('│ │'); write('└───────────────────────────────────────────────────────────┘'); radi:=true;end; if radi then begin { Kako izvesti uklanjanje tabele? } end; Nosound; {-------------------------------} end; inline (B9C); KbdIntVec; end; {BF-} begin radi:=false; GetIntVec(B9,Addr(KbdIntVec)); SetIntVec(B9,Addr(Keyclick)); Keep(0); end.
pascal.860 ognjen,
Mozda vam nikada i nece zatrebati dinamicka alokacija memorije: const max_imena = 30; type user = record ime: string[14]; poruka: integer; end; var useri: array [1..max_imena] of user; !!!!!!!!!!!! Uglavnom, nisam ubacio nikakvu proveru da li je doslo do 30 (max_imena) jer sam smatrao da nema sanse da taj broj ikada dodje do 30. Ali, posto se uvek nadje neko da testira program do poslednjih granica, frizirao sam ulazni fajl, tako da ima 42 username-a, da vidim sta ce se desiti, i gle cuda - program bez greske odradi posao, iako sam rezervisao memoriju samo za 30 usera! Bug? Feature?
pascal.861 sjocic,
├> comanda preko exec comande nece da mi radi zbog malo memorije . ├> moze li se to resiti pomocu lst komande stim sto kad napisem ├> writelN(lst,'imefajla'); ├> on odprinta :imefajla ├> a ako stavim pod neku varijablu tipa str Probaj ovako: Var Izlaz:text; red:string; begin {BM 2000,0,0} While not( eof(izlaz) )do begin Readln(izlaz,red); Writeln(lst,red); end;Close(izlaz);end;
pascal.862 janko,
> Zanimljivo. Zahvaljujem. Ako ima neki pointer na > neki fajl prisutan na sezamu, gde ima detalja o ovome, > bio bih još više zahvalan. Da podsetim (i sam sam zaobravio o čemu je reč ;) ) čovek pita o korišćenju usluga DOS-ovih PRINT funkcija. U prethodnoj poruci sam ti dao SVE potrebne detalje, ako umeš da pozivaš DOS fje iz višeg programskog jezika i imaš pristojno znanje o "iznutricama" kompajlera i asembleru 80x86. Kao što se videlo, program PRINT koristi tzv. "multiplex" interapt -- interapt koji je MS specijalno predvideo za proširivanje mogućnosti MS DOS-a. SVI detalji su u prethodnoj poruci. Ako ne umeš, hmmm... trebalo bi malo da naučiš o procesoru, malo da konsultuješ literaturu kompajlera kako se pozivaju fje, pa da paziš da li pozivi i parametri koje ove fje zahtevaju narušavaju konvencije kompajlera itd. Ili da daš da ti neko ko zna napravi biblioteku "omotača" tih DOS fja -- ti ih potom koristiš kao da su to najobičnije procedure ili funkcije iz višeg programskog jezika. Npr. za Kliper sam video da je neko to već bio uradio. Za Turbo Paskal je moguće napraviti istu stvar. Prostije rešenje: ništa ti neće faliti i da pozivaš PRINT pomoću EXEC -- razliku u brzini na keširanoj mašini skoro nećeš primetiti, a i tih par desetina KB možeš uvek da obezbediš.
pascal.863 janko,
> var useri: array [1..max_imena] of user; > !!!!!!!!!!!! **************** > poslednjih granica, frizirao sam ulazni fajl, tako da ima > 42 username-a, da vidim sta ce se desiti, i gle cuda - > program bez greske odradi posao, iako sam rezervisao > memoriju samo za 30 usera! Bug? Feature? Slučajnost. Niko ne može ni da pretpostavi kada će ti ovakav program pući -- čak ni ti. Može svaki put, može ponekad -- zavisi i od toga gde su ti ostele promenljive zauzele memoriju i sl. Hoću da kažem, program ti se ponaša tako, da sluša imperativ kojim si nazvao svoju promenljivu.
pascal.864 andrejt,
Q> Kako to izvesti ? Unapred hvala na odgovorima :) Da ne ulazim u ono sto si poslao ... Trebas da 'sacuvas' sadrzaj ekrana pre ispisivanja 'tabele' i da posle samo popunis taj deo ekrana onime sto si 'sacuvao'. Ja to radim preko video memorije (za text mod) - bilo je pre nekih poruka o ovome pa pogledaj. P.S. Ako ti nije bilo dovoljno jasno pitaj me u mail pa cu da ti posaljem neko resenje.
pascal.865 drpr,
-> if radi then begin { Kako izvesti uklanjanje tabele? } end; -> Nosound; {-------------------------------} Koliko ja znam treba da zapamtiš šta je bilo na ekranu pre pisanja a onda da to ponovo napišeš i nema problema. To možeš da uradiš tako što ćeš da cimneš deo video memorije i to je to. To je onako što mi je prvo palo na pamet e sad verovatno ima i nekih drugih fora. cope
pascal.866 djelovic,
-> if radi then begin { Kako izvesti uklanjanje tabele? } end; -> Nosound; {-------------------------------} BC++ ima funkcije gettext i settext za koje prebacuju sadrzaj dela ekrana u memoriju i vice versa. Proveri da li mozda i BP ima iste funkcije?
pascal.867 vgenije,
> Probaj ovako: > Var > Izlaz:text; > red:string; > begin {BM 2000,0,0} > While not( eof(izlaz) )do begin > Readln(izlaz,red); Writeln(lst,red); > end;Close(izlaz);end; e nece ni ovako.Pokusacu da blize objasnim problem(mozda cu biti i dosadan): u jednom delu programa racunar zove jednu proceduru i varijabli a(inace tipa string) dodeljuje vrednost 'd51' u proceduri za stampanje treba da stoji programcwe koje ce da pokrece stampac da otprinta fajl 'd51' odnosno A POzdrav i izvinjavam se ako sam naporan ovim naizgled prostim stvarima
pascal.869 beast,
>> { Kako izvesti uklanjanje tabele? } Procedure StoreWindow(x,y,w,h:integer; var p:pointer); (* x,y - koordinate, w,h - veličina prozora koji se pamti (wide, high) *) (* Na primer: StoreWindow(1,1,80,25,p) pamti ceo ekran. *) begin GetMem(p,w*2*h+8); asm dec x dec y push ds lds si,p mov di,[si] mov ax,[si+2] mov es,ax mov ax,x stosw mov ax,y stosw mov ax,w stosw mov ax,h stosw mov ax,y mov cl,160 mul cl mov si,x add si,si add si,ax mov ax,SEG @data mov ds,ax mov ax,videoseg mov ds,ax mov dx,h @l1: mov bx,si mov cx,w rep movsw mov si,bx add si,160 dec dx jnz @l1 pop ds end; end; Procedure RestoreWindow(var p:pointer); var x,y,h,w:integer; begin asm push ds mov ax,videoseg mov es,ax lds si,p mov ax,[si] mov bx,[si+2] mov ds,bx mov si,ax lodsw mov x,ax lodsw mov y,ax lodsw mov w,ax lodsw mov h,ax mov ax,y mov cl,160 mul cl mov di,x add di,di add di,ax mov dx,h @l1: mov bx,di mov cx,w rep movsw mov di,bx add di,160 dec dx jnz @l1 pop ds end; FreeMem(p,w*2*h+8); end; Videoseg definiši kao: const VideoSeg:word=$B000 (ili $B800 (VGA i Herc). Pozdrav, Dejan
pascal.870 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: pascal Date: Thu, 22 Dec 1994 14:10:09 -=> Reply to: Predrag Supurovic <=- PS> Ako ti treba da se recimo Pera Peric prosledi kao jedan parametar, PS> stavi ga pod navodnike, tj. "Pera Peric". DOS sve izmedju navodnika, PS> bez obzira na SPACE smatra za jedan parametar. Probaj ovo bez NDOS-a ili 4DOS-a... -=> MM <=- ... Ko tebe kamenom, taj te gadja! * Origin: SETNet - Belgrade HUB1 (38:103/1.1)
pascal.871 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Re: pascal Date: Tue, 27 Dec 1994 21:34:00 > PS> Ako ti treba da se recimo Pera Peric prosledi kao jedan parametar, > PS> stavi ga pod navodnike, tj. "Pera Peric". DOS sve izmedju navodnika, > PS> bez obzira na SPACE smatra za jedan parametar. > Probaj ovo bez NDOS-a ili 4DOS-a... Ne koristim nijedan od pomenutih. U uputstvu za neki program sam nasao ovo i isprobao na par programa i radilo je. Medjutim, ne radi sa svakim... * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.872 inikolic,
Imam mali problem vezan za ANSI grafiku. Zanima me sta treba da se posalje preko modema (koji karakter, odnosno ASCIIkod) da bi se kod onog tamo kursor pozicionirao u gornji levi ugao, pri cemu ne dolazi do brisanja ekrana. Nasto kao kada bi rekli GoToXT(1,1) , u PASCAL-u. Prijatelj mi je rekao da za to postoji kod ali ga on ne zna. HH IVAN
pascal.873 andrejt,
Q> posalje preko modema (koji karakter, odnosno ASCIIkod) da bi se kod onog Q> tamo kursor pozicionirao u gornji levi ugao, pri cemu ne dolazi do Nije to bas vezano za pascal. Kod je "ESC[1,1H".
pascal.874 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 28 Dec 1994 07:42:28 -=> Reply to: Predrag Supurovic <=- PS> Ne koristim nijedan od pomenutih. U uputstvu za neki program sam nasao PS> ovo i isprobao na par programa i radilo je. Medjutim, ne radi sa PS> svakim... To zavisi od programa i kako oni analiziraju komandnu liniju. Ako naidje na _"_ onda sve do sledeceg _"_ tretira kao jedan string. U NDOS-u i 4DOS-u je ovo ugradjeno ;-) -=> MM <=- ... Death is life's way of telling you you've been fired. * Origin: SETNet - Belgrade HUB1 (38:103/1.1)
pascal.875 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 28 Dec 1994 07:44:06 -=> Reply to: "Nenad Milenkovic" <=- NM> Ne bih hteo da ti narusavam koncepciju, a mozda i nisam u toku, ali NM> zar copy nije interna komanda DOS-a? :) Jeste i stoga gorepomenuti primer nece raditi ;-> -=> MM <=- ... Nice girl in sight: (G)o, (R)un, (H)urry, (D)o it? * Origin: SETNet - Belgrade HUB1 (38:103/1.1)
pascal.876 zeljkoj,
> pozicionirao u gornji levi ugao, pri cemu ne dolazi do brisanja > ekrana. Nasto kao kada bi rekli GoToXT(1,1) , u PASCAL-u. > Prijatelj mi je rekao da za to Imaš u DOS helpu ANSI sekvence. Otkucaj help ansi.sys
pascal.877 vitez.koja,
#=>> Probaj sa exec('c:\dos\copy', 'ime_fajla prn'), #=> #=> Ne bih hteo da ti narušavam koncepciju, a možda i nisam #=> u toku, ali zar copy nije interna komanda DOS-a? :) Koliko ja znam, jeste... :) Nešto sam se očigledno bio zabunio, ali ideja je tu.
pascal.878 vitez.koja,
#=> Hteo bih da napravim rezidentni help, koji bi se recimo #=> pozivao pritiskom na npr.F5, i koji bi bilo moguce #=> pozvati u toku rada sa q editorom i iskljuciti isto sa #=> F5. Ne valja ti metoda... ti ceo help pokušavaš da smestiš u interapt rutinu, što naravno nije moguće. U okviru procedure koja opslužuje interapt moguće je odraditi samo veoma kratkotrajne poslove, tipa klika iz primera (pisanje po disku je već kritična kategorija). Programi koji iskaču na pritisak tastera se pišu tako što se u interapt rutini glavna procedura tog programa proglasi za 'osnovni zadatak', pa se po završetku interapt rutine izvršava glavna procedura. Elem, za pisanje ozbiljnijeg rezidentnog programa je potrebno više od primera iz helpa... Za početak (a možda i za kraj, jer malo toga tamo nema) pročitaj tekstove na temu u Računarima.
pascal.879 ognjen,
)-> Probaj ovo bez NDOS-a ili 4DOS-a... Probao 4dos i MSdos 5.0, ni jedan ne radi.
pascal.880 postmast,
From: Ivan.Panasiuk@f119.n111.z38.setgate.setnet.co.yu (Ivan Panasiuk) Subject: luk Date: Fri, 30 Dec 1994 12:31:18 Treba da povucem luk izmedju dve tacke, s tim da se on moze menjati. Tj. nesto kao sto imaju najprostiji programi za crtanje: Obelze se dve tacke i povuce se luk izmedju i onda se moze taj luk savijati, uvecavati i smanjivati. Ako je neko radio nesto slicno nek vice. Vec sam uradio nesto, ali mi izgleda jako primitivno, tako da me interesuju i ideje ostalih. Pozdrav [3,14] * Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)