PCPROG.2

06 Nov 1992 - 26 Jul 1993

Topics

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

Messages - pascal

pascal.1157 peca.st, -> #1148, dejanr
!-> Mislim da je stvar u tome što crt nisu !-> samo procedure, nego u najmanju ruku i !-> tretman standardnog ulaza i standardnog !-> izlaza. žim si stavio uses crt, !-> redirekcija više ne radi (ako ne !-> preduzmeš neke mere). Dakle, Ok, može biti. Peđa.
pascal.1158 peca.st, -> #1149, vitez.koja
!-> Za njegove 'interne' unite (DOS i CRT) !-> ovo sigurno vazi ;) Peđa.
pascal.1159 peca.st, -> #1152, lovro
!-> Crt i ostali to ne rade. Crt radi, DOS jok. Ja praktično dokazao, a DejanR objasnio zašto. Peđa.
pascal.1160 juros, -> #1155, dejanr
>Postoji, u okviru paketa Turbo Pascal Profesional. Samo, sada je sve to >zastarelo, aktuelna verzija je Borland Pascal 7.0, tu je extended memorija >(preko DPMI standarda) potpuno podrzana. Doduse, strukture su ogranicene >i dalje na 64 K (fuj, fuj :( ) ali se bar moze alocirati kol'ko oces takvih >struktura (tj. koliko staje u citavu memoriju). Zastarelo? Borland Pascal zauzima ~ 20,30 MB koliko sam obavesten, a TP 6.0 oko 2,3 MB. Nije stos u zastarelosti nego u MB.
pascal.1161 juros, -> #1156, dejanr
>Ne znam bas sta zoves "vizuelno programiranje", ali u svakom slucaju pomocu >Borland Pascal-a 7.0 mogu da se pisu programi koji rade pod Windows-om. >Pomocu TP 7.0, koliko znam, ne mogu (osim u DOS prozoru). Pod vizuelnim programirasnjem smatram : izaberes okruzenje, menije, ikone, pa tek onda programiras akciju za svaku izabranu opciju. (Npr. VISUAL BASIC)
pascal.1162 dejanr, -> #1160, juros
>> Zastarelo? Borland Pascal zauzima ~ 20,30 MB koliko sam obavesten, a >> TP 6.0 oko 2,3 MB. Nije stos u zastarelosti nego u MB. A Turbo Pascal 5.5 zauzima 720 K, Turbo Pascal 4.0 600, Turbo Pascal 3.0... Sve zavisi šta se instalira. Ako ti ne treba Windows, zauzima negde 6 mega, plus ili minus. A ako ti treba Windows, onda je TP 6.0 jednostavno neupotrebljiv, pa poređenje nema smisla.
pascal.1163 dejanr, -> #1161, juros
>> Pod vizuelnim programirasnjem smatram : izaberes okruzenje, menije, ikone, >> pa tek onda programiras akciju za svaku izabranu opciju. (Npr. VISUAL BASIC) Ne, Borland Pascal 7.0 je manje-više klasičan Turbo Pascal sa opisanim novitetima, nema nekih koncepcijskih promena koje bi ga približile Visual Basic-u. Bar koliko se meni čini.
pascal.1164 dgrbic, -> #1147, peca.st
:: a zatim stavio uses crt; begin i end. i ispalo je Ko što znaš, unit može da ima svoj deo za inicijalizaciju. E, to ti je ta razlika.
pascal.1165 peca.st,
Pošto vidim da se o tome vodi rasprava u temi cccc, ajde da i ja pitam isto to, samo za pascal. So, kako ulinkovati u .exe fontove koji nisu standardni TP 6.0 fontovi, ali koji jesu .bgi? (npr. onih 5-6 što su bili ovde na sezamu) Peđa.
pascal.1166 a.kircanski,
Kako pomoću paskala dokučiti (:) ) sa li je 4dos instaliran ili nije? Ovako: u ax stavite $d44d; u bx $0000 i izvršite interpat $2f. E pa, ako se ax posle izvršenog prekida promeni onda je 4dos TU.:) A ako se NE promeni onda nije tu.:) Program može da izgleda npr. ovako: Uses Dos; var t : registers; begin t.ax := $d44d; t.bx := $0000; intr($2f,t); if t.ax = $d44d then begin Writeln('4dos NIJE instaliran u memoriju!'); end else Writeln('4dos JESTE instaliran u memoriju!'); end.
pascal.1167 jasicp, -> #1110, skerl
> TOTDOC.ZIP TechnoJock's Object Toolkit documentation, 2/4 Najljubaznije vas molim da podelite TOTDOC na dva dela jer se tesko moze preneti pomocu 1200 bps modema ( >32 minuta za prenos datoteke ). Hvala !
pascal.1168 skerl, -> #1167, jasicp
│ Najljubaznije vas molim da podelite TOTDOC na dva dela jer se │ tesko moze preneti pomocu 1200 bps modema ( >32 minuta za prenos │ datoteke ). └──── Ne znam da li je Bulaja vec prebacio kompletan TOT u pascal dir pa ako nije, eto zgodne prilike da se podseti :) U dir-u ce fajlovi biti prilagodjeni i za dl na 1200. Pozdrav, Skerl.
pascal.1169 bulaja, -> #1168, skerl
│Ne znam da li je Bulaja vec prebacio kompletan TOT u pascal │dir pa ako nije, eto zgodne prilike da se podseti :) └─── Imam to u podsetniku, smao nikako da stignem ovih dana da istresem sa lokala jos gomilu drugih stvari koje takodje treba razdeliti. Bice :).
pascal.1170 a.kircanski,
Hi Oće' li ni neko reći kako da iz pascal-a, upalim npr. numlock i "zaglavim njegovo paljenje i gašenje:)". TJ. ne znam samo kako da zaglavim to, a palim sa npr: var p : žBYTE begin p := ptr($40,$17); pž := xx; š neznam napamet ć end. Pozdrav (A.K)
pascal.1171 paki,
Treba mi neka ideja (još bolje funkcija :) koja bi radila sledeće: Zadate su 2 tačke, A(x,y) i B(x1,y1). Treba odrediti u kom je položaju B u odnosu na A, tj. da li je gore, goredesno, desno itd. Skontao sam da treba podeliti pun krug na 8 jednakih oblasti i onda ispitivati u kojoj se nalazi. Svaka oblast je trougao s uglom u tački A 45°, s tim što, ako je tačka u oblasti s uglom manjim ili jednakim 22°30' levo i desno od vertikale, onda se nalazi gore itd. Kako proveriti u kojoj se oblasti nalazi tačka? Meni jedino na pamet padaju sinusi, kosinusi i ostale zveri :) Može li lakše/lepše/elegantnije? I još nešto, da li BP7.0 podržava VGA mod 320x200x256? Bilo bi čudno da ne podržava, ali opet...Probao sam sa InitVGA256 funkcijom iz Računara, ali tada MouseLib neće da radi kako treba.
pascal.1172 bulaja,
**** new file **** R:\IBMPC\PASCAL\*.* ---------------------- totdemo zip 113493 TechnoJock's Object Toolkit, Demonstracija (#1/5) totdoc1 zip 104972 TechnoJock's Object Toolkit, Dokumentacija 1 (#2/5) totdoc2 zip 97757 TechnoJock's Object Toolkit, Dokumentacija 2 (#3/5) totng zip 20189 TechnoJock's Object Toolkit, Norton Guide (#4/5) totsrc zip 140063 TechnoJock's Object Toolkit (TP5.5+), Source (#5/5) Poslao koliko malopre :) Skerl, prebaceno u PASCAL dir (doc podeljen). TechnoJock's Object Toolkit (or simply the Toolkit) is a library of objects, procedures and functions for Pascal programmers. While writing a PC program, most people spend 80% or more of their time writing the program's user interface, and only 20% on the "meat" of the applica- tion. The Toolkit is designed to provide a wealth of professional user interface tools which can eliminate up to 80% of your development work. For example, to display a sorted directory listing in a moveable window takes a mere three lines of code. The interface tools include such features as efficient screen writing, window management, menu management, full screen user input, list dis- playing, directory listing and much more. These tools give programs a truly professional appearance, and use the latest interface style with pop-up dialog boxes, scroll-bars and malleable windows, all with full mouse and keyboard support. As well as needing a user interface, many programs have to manipulate strings, access files, check attached hardware, and the like. The Tool- kit also provides a rich set of routines to help with these common tasks. If you are new to object oriented programming, you are in luck, for the Toolkit provides a great way for you to learn this powerful facility without requiring that you be a rocket scientist!
pascal.1173 bulaja, -> #1171, paki
│Zadate su 2 tacke, A(x,y) i B(x1,y1). Treba odrediti u kom je polozaju │B u odnosu na A, tj. da li je gore, goredesno, desno itd. Skontao sam │da treba podeliti pun krug na 8 jednakih oblasti i onda ispitivati u │kojoj se nalazi. Svaka oblast je trougao s uglom u tacki A 45°, s tim │sto, ako je tacka u oblasti s uglom manjim ili jednakim 22°30' levo i │desno od vertikale, onda se nalazi gore itd. Kako proveriti u kojoj se │oblasti nalazi tacka? Meni jedino na pamet padaju sinusi, kosinusi i │ostale zveri :) Moze li lakse/lepse/elegantnije? └─── Uh bre al' ga zakomplikova :). Ako je Ax < Bx onda je A levo od B, takodje ako je Ay < Bx onda je dole, itd. Nista lakse :). type Tacka = record x, y : Real end; procedure Polozaj (A, B : Tacka); begin writeln ('Tacka A je u odnosu na B'); if (a.y > b.y) then write ('Gore ') else if not(a.y=b.y) then write ('Dole '); if (a.x > b.x) then write ('Desno') else if not(a.x=b.x) then write ('Levo'); writeln; end;
pascal.1174 a.kircanski,
hi Niko mi ne odgovori:(( kako da isključim, gašenje, paljenje, lockova npr. CAPS locka???????????? Ne moguće da niko ne zna....;) cy
pascal.1175 paki, -> #1173, bulaja
­> Uh bre al' ga zakomplikova :). Ako je Ax < Bx onda je A levo ­> od B, takodje ako je Ay < Bx onda je dole, itd. Nista lakse ­> :). GoreLevo? DoleDesno? :(((((
pascal.1176 paki, -> #1172, bulaja
­> Poslao koliko malopre :) Skerl, prebaceno u PASCAL dir (doc ­> podeljen). Super, cenim da je ovo prava stvar za početnike u OOPu (a još je i korisna :)
pascal.1177 ssokorac, -> #1171, paki
─┼┤ Zadate su 2 tačke, A(x,y) i B(x1,y1). Treba odrediti u kom je ─┼┤ položaju B u odnosu na A, tj. da li je gore, goredesno, desno ─┼┤ Može li lakše/lepše/elegantnije? If x1<x then levo:=true else levo:=false; if y1<x then gore:=true else gore:=false; if gore then if levo then writeln('gorelevo') else writeln('goredesno') else if desno then writeln('dolelevo') else writeln('doledesno'); E, sad, naravno, ovo tebi ne valja, samo mi reci zašto? :) ─┼┤ funkcijom iz Računara, ali tada MouseLib neće da radi kako treba. Uzmi SVGABGI3, ili SVGABG30, ne znam kako se tačno zove :). E, za MouseLib moraš da uradiš jedan InitMouse; SetMouseGraph; pre rada pa će i on da radi. Samo, pazi, moraš da koristiš svga256m.bgi a ne svga256.bgi, jer prvi ne radi... (sa mišem) :(
pascal.1178 eagle, -> #1171, paki
> Zadate su 2 tačke, A(x,y) i B(x1,y1). Treba odrediti u kom je > položaju B u odnosu na A, tj. da li je gore, goredesno, desno > itd. Skontao sam da treba podeliti pun krug na 8 jednakih > oblasti i onda ispitivati u kojoj se nalazi. Svaka oblast je > trougao s uglom u tački A 45°, s tim što, ako je tačka u > oblasti s uglom manjim ili jednakim 22°30' levo i desno od > vertikale, onda se nalazi gore itd. Kako proveriti u kojoj se > oblasti nalazi tačka? Meni jedino na pamet padaju sinusi, > kosinusi i ostale zveri :) Može li lakše/lepše/elegantnije? Evo ovako, bez sinusa i kosinusa ali sa ostalim zverima ;) if arctan(abs((x1-x)/(y1-y))) <= (3/8*pi) then if y1>y then writeln('Gore') else writeln('Dole'); if arctan(abs((y1-y)/(x1-x))) <= (3/8*pi) then if x1>x then writeln('Desno') else writeln('Levo'); Ovo proverava da li je ugao u određenom kvadrantu manji ili jednak sa uglom od 67°30' tj. uglom koji čini na primer ceo gornji-desni trougao plus parče og gornjeg trougla. Ako ispunjava uslov, znači da u opisu treba da stoji reč "gornji" bio to gornji ili gornji-levi ili gornji-desni trougao. Uzima se da je za y1>y2 prva tačka gore a druga dole, kao u normalnom koordinatnom sistemu. Program ne radi ako se tačke nalaze na istoj vertikali ili horizontali, što lako možeš prethodno da proveriš.
pascal.1179 ilazarevic,
Treba mi pomoć :) Zna li neko šta ne valja u priloženom sorsu: procedure kopi(imedira,karta:string;var res:boolean); var f1,f2:file; bafer:arrayŠ1..2048Ć of char; nr,nw:word; šnr,nw: broj procitanih i upisanih bajtać info:searchrec; procedure kopifajl(fajl:string); begin š$I-ć findfirst(fajl,Archive,info); š$I+ć if doserror<>0 then res:=false else res:=true; if res then begin assign(f1,info.name); assign(f2,imedira+'Đ'+info.name); reset(f1); rewrite(f2); repeat blockread(f1,bafer,sizeof(bafer),nr); blockwrite(f2,bafer,nr,nw); until (nr=0) or (nr<>nw); close(f2); close(f1); end; end; begin kopifajl('atom.exe'); kopifajl('reg.cfg'); kopifajl(karta+'.bgi'); end; O čemu se radi? Treba da kopiram ova tri fajla sa A diska u dati direktorijum. Ime dira se nalazi u promenljivoj 'imedira' i korektno je zadato. Promenljiva 'karta' označava koji BGI fajl treba kopirati, što i nije bitno. Evo šta se dešava kada probam da startujem ovo - fajlovi se otvore u datom diru, ali budu dugački 0 bajta! Kad trace-ujem (trejsujem) ovu proceduru, dobijam da pri prvom čitanju sa blockread NR postaje 0, a zatim i NW (što je logično). Ovako nešto ne bi smelo da se desi, zato što sam po helpu tražio primer za blockread i blockwrite i našao primer koji potpuno isto izgleda kao moja KOPIFAJL procedura.
pascal.1180 eagle, -> #1174, a.kircanski
> Niko mi ne odgovori:(( kako da isključim, gašenje, paljenje, > lockova npr. CAPS locka???????????? Verovatno da postoji bolji način, ali možeš i ovako za caps lock. š$M 1024,0,0ć uses dos; var old:procedure; procedure pp;interrupt; begin if portŠ$60Ć in Š58,186Ć then portŠ$60Ć:=0; inline($9c); old; end; begin getintvec($09,čold); setintvec($09,čpp); keep(0); end. Ovime praktično možeš da isključiš bilo koji taster, dovoljno je samo da promeniš 58,186 u odgovarajuće vrednosti. Inače, ovo je rezidentan program, ne znam kako bi izgledalo u "običnom".
pascal.1181 dejanr, -> #1179, ilazarevic
>> Treba mi pomoć :) Zna li neko šta ne valja u priloženom sorsu: >> assign(f1,info.name); Stavi ovde i imedira+info.name
pascal.1182 funky, -> #1177, ssokorac
>> E, sad, naravno, ovo tebi ne valja, samo mi reci zašto? :) A ako je x1=x ili y1=y ;)))))) funky
pascal.1183 sjeremic, -> #1175, paki
=> GoreLevo? DoleDesno? :((((( Zar GoreLevo nije Gore And Levo ?
pascal.1184 ndragan, -> #1171, paki
/ Meni jedino na pamet padaju sinusi, kosinusi i ostale zveri :) I treba, a onda se svede na to da ti je tangens tog ugla dovoljan, a i to samo da li je veći ili manji od jedan, odnosno minus jedan... pa se stvar uprosti time da je taj tangens u stvari količnik vertikalna kroz horizontalna kateta trougla kome su tvoje dve tačke na hipotenuzi... 'vako biva: Neka ti je a=x2-x1, b=y2-y1, onda po pi_četvrtinama ide ovako pi/4 a b abs(b/a) 1 >0 >0 <1 2 >1 3 <0 >0 >1 4 <1 ... itd, dopuni za donju polovinu kruga. Moglo bi da se svede na nekakav logički izraz tipa usl1 + 2*usl2 + 4*usl3, (uslx da bude 0 ili 1, odnosno 0 i -1, zavisno od jezika). pa onda dobijaš 8 slučajeva... tek da ne praviš četir ifa u dva ifa u ifu, nego jedan kejs.
pascal.1185 eagle, -> #1179, ilazarevic
> Treba mi pomoć :) Zna li neko šta ne valja u priloženom sorsu: > procedure kopi(imedira,karta:string;var res:boolean); > reset(f1); > rewrite(f2); Otvori sa reset(f1,1) i rewrite(f2,1). Tako postavljaš veličinu jednog bloka na 1 bajt, što je obavezno kada je u pitanju fajl proizvoljne dužine. > Ovako nešto ne bi smelo da se desi, zato > što sam po helpu tražio primer za blockread i blockwrite i > našao primer koji potpuno isto izgleda kao moja KOPIFAJL > procedura. Pogledaj malo bolje :)
pascal.1186 paki, -> #1177, ssokorac
­> If x1<x then levo:=true ­> else levo:=false; ­> if y1<x then gore:=true ­> else gore:=false; ­> E, sad, naravno, ovo tebi ne valja, samo mi reci zašto? :) Pa sad... :)) Prvo, treba y1<y :))) Drugo, treba mi za svih 8 smerova, ali da budu ravnopravni :)) Tj. kao ono što je Eagle poslao (proveriću da li radi...). U svakom slučaju hvala svima. ­> Uzmi SVGABGI3, ili SVGABG30, ne znam kako se tačno zove :). E, ­> za MouseLib moraš da uradiš jedan InitMouse; SetMouseGraph; ­> pre rada pa će i on da radi. Samo, pazi, moraš da koristiš ­> svga256m.bgi a ne svga256.bgi, jer prvi ne radi... (sa mišem) ­> :( Pošto me SVGA asocira na 512 i više Kb (kojih nemam :() radi li to i s modom 320x200x256? Ako radi, odma' ga mažnjavam. Ako ne, ostajemo na VGA256. Inače, uradio sam ja i init i setgraph ali neće :( Misli da se nalazi u nekom AAAxBBB modu pa mi tako i vraća koordinate ;)
pascal.1187 andra, -> #1180, eagle
>> Niko mi ne odgovori:(( kako da iskljucim, gasenje, paljenje, >> lockova npr. CAPS locka???????????? > promenis 58,186 u odgovarajuce vrednosti. Inace, ovo je rezidentan program, > ne znam kako bi izgledalo u "obicnom". U obicnom bi negde AND-ovao neki bit. Zaboravio sam koji, ali ako poglevas u .ng sa asm nacices kako je memorija mapirana,pa AND-uj sta treba. Inace, ceo program ima cc 8 bytes.
pascal.1188 a.kircanski, -> #1180, eagle
_-=> if portŠ$60Ć in Š58,186Ć then portŠ$60Ć:=0; Thanx! Samo odakle ti one vrednosti 58,186??
pascal.1189 bulaja, -> #1175, paki
││Uh bre al' ga zakomplikova :). Ako je Ax < Bx onda je A levo ││od B, takodje ako je Ay < Bx onda je dole, itd. Nista lakse :). │└─── │GoreLevo? DoleDesno? :((((( └─── Pa pise ti u funkciji koju sam dao :). Gore/Dole i Levo/Desno su nezavisne relacije, posto zavise od nezavisnih :) koordinata, tj. Gore/Dole od Y, a Levo/Desno od X. Znaci prvo racunas jedan odnos (svejedno koji) pa onda drugi, onda spojis rezultate i dobijes ono sto ti treba - Gore-Levo (ili Levo-Gore), Dole-Desno i sl. Jel' treba mozda da nacrtam? :)
pascal.1190 mmile, -> #1180, eagle
*> Niko mi ne odgovori:(( kako da isključim, gašenje, paljenje, *> lockova npr. CAPS locka???????????? * Verovatno da postoji bolji način, ali možeš i ovako za caps * lock. * * Ovime praktično možeš da isključiš bilo koji taster, dovoljno * je samo da promeniš 58,186 u odgovarajuće vrednosti. Inače, ovo * je rezidentan program, ne znam kako bi izgledalo u "običnom". Status Caps,Scroll i Num Lock-a kao i Shiftova,Altova i Ctrl-ova cuva se na adresi 40h:17h. "Obicno" resenje bi bilo : begin (*....*) memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32; (* 32 za num lock *) (*...*) end. * getintvec($09,čold); Cemu ovo sluzi kad nigde nemas uslov kojim bi stari vektor sa interapta 9h vratio na njegovu originalnu vrednost ? Evo mog rezidentnog resenja ( stalno pali gasi lampicu Num Lock-a ) : š$M 1024,0,0ć uses dos; Procedure Pali;interrupt; begin memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32; end; Begin SetIntVec($1c,čpali); keep(0); end.
pascal.1191 eagle, -> #1187, andra
>> promenis 58,186 u odgovarajuce vrednosti. Inace, ovo je >> rezidentan program, ne znam kako bi izgledalo u "obicnom". > U obicnom bi negde AND-ovao neki bit. Zaboravio sam koji, > ali ako poglevas u .ng sa asm nacices kako je memorija > mapirana,pa AND-uj sta treba. > Inace, ceo program ima cc 8 bytes. Ok to, ali kako u "običnom" programu okačiti neku proceduru na $09 ?
pascal.1192 eagle, -> #1188, a.kircanski
> _-=> if portŠ$60Ć in Š58,186Ć then portŠ$60Ć:=0; > Thanx! > Samo odakle ti one vrednosti 58,186?? Pa napišeš otprilike: While true do writeln(portŠ$60Ć), pritiskaš tastere i gledaš šta se dešava. 58 je kod koji daje pritisnut a 58+128 pušten taster caps lock.
pascal.1193 eagle, -> #1190, mmile
>* getintvec($09,čold); > Cemu ovo sluzi kad nigde nemas uslov kojim bi stari vektor sa > interapta 9h vratio na njegovu originalnu vrednost ? Pa mora se obezbediti izvršavanje procedure(a) koja već stoji na $09. U suprotnom bi tastatura ostala "mrtva" za sve osim za našu proceduru. Slično važi i za još neke, na primer $08. Baci pogled, proceduru old svaki put poziva naša interapt procedura. > Evo mog rezidentnog resenja ( stalno pali gasi lampicu Num > Lock-a ) : > Procedure Pali;interrupt; > begin > memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32; > end; žemu ovo služi, a uz to i ne radi? Prvo ne pozivaš staru proceduru, drugo ovo stalno pali-gasi num od čega nema ama baš nikakve koristi (problem je kako zaključati num-lock) što se da lako ispraviti zamenom XOR naredbe OR naredbom. Treće, i najvažnije, zašto nepotrebno teretiti prekid koji se poziva oko 20 puta u sekundi? Ovako samo usporavaš sistem, pošto ionako korisnik nema načina da promeni status num-locka nego preko pritiska na dugme na tastaturi, čime se poziva prekid na $09 vektoru.
pascal.1194 ssokorac, -> #1175, paki
─┼┤ GoreLevo? DoleDesno? :((((( žekaj, u čemu je problem? Ono ispisuje upravo GoreLevo ili DoleDesno, ako to hoćeš. Ako je stvar u tome da to nećeš, šta onda hoćeš? :)
pascal.1195 mmile, -> #1193, eagle
* Pa mora se obezbediti izvršavanje procedure(a) koja već stoji na $09. * U suprotnom bi tastatura ostala "mrtva" za sve osim za našu proceduru. * Slično važi i za još neke, na primer $08. Baci pogled, proceduru old svaki put * poziva naša interapt procedura. Nisam primetio da igde pozivas staru ali da ti verujem ... ;) *> Evo mog rezidentnog resenja ( stalno pali gasi lampicu Num *> Lock-a ) : *> Procedure Pali;interrupt; *> begin *> memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32; *> end; * žemu ovo služi, a uz to i ne radi? Prvo ne pozivaš staru proceduru, * drugo ovo stalno pali-gasi num od čega nema ama baš nikakve koristi (problem * je kako zaključati num-lock) što se da lako ispraviti zamenom XOR naredbe * OR naredbom. Treće, i najvažnije, zašto nepotrebno teretiti prekid koji se * poziva oko 20 puta u sekundi? Ovako samo usporavaš sistem, pošto ionako * korisnik * nema načina da promeni status num-locka nego preko pritiska na dugme na * tastaturi, čime se poziva prekid na $09 vektoru. Nisam pratio od pocetka ali mislio sam da je covek (a.kir* ? ) trazio neki primer kako da kontrolise num lock .... 1ch je interapt koji inace nesluzi nicemu drugom (?) sem da na njega okacis neki rezidentni program.Ako treba obezbediti konstantnu iskljucenost num lock-a samo se : memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32 zameni sa memŠ$40:$17Ć:=0; Ili blokom : MemŠ$40:$17Ć:=MemŠ$40:$17Ć or 32; (* da ga upali *) memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32; (* posto je sigurno upaljen da ga ugasi *) ili necim slicnim sto gasi 5-ti bit.
pascal.1196 paki, -> #1183, sjeremic
­> => GoreLevo? DoleDesno? :((((( ­> ­> Zar GoreLevo nije Gore And Levo ? Nenenene :)) Gore nije samo jedna vertikalna prava, to je čitava oblast.
pascal.1197 paki, -> #1194, ssokorac
­> žekaj, u čemu je problem? Ono ispisuje upravo GoreLevo ili ­> DoleDesno, ako to hoćeš. Ako je stvar u tome da to nećeš, šta ­> onda hoćeš? :) >>>.....<<< .>>>...<<<. ..>>>.<<<.. ...>>X<<... ..>>>.<<<.. .>>>...<<<. >>>.....<<< Aufff, dok sam ovo nacrtao... :)) Dakle, 8 pravaca, svi su jednaki, kako testirati gde je tačka? :) Eagle je dao program koji valjda radi, ali nisam još stigao da ga proverim...
pascal.1198 paki, -> #1189, bulaja
­> Jel' treba mozda da nacrtam? :) Ne, očigledno ja treba da nacrtam :) Svejedno, hvala.
pascal.1200 eagle, -> #1195, mmile
> 1ch je interapt koji inace nesluzi nicemu drugom (?) sem da na > njega okacis neki rezidentni program.Ako treba obezbediti A šta ako je neki program već bio okačen ? > konstantnu iskljucenost num lock-a samo se : > memŠ$40:$17Ć:=memŠ$40:$17Ć xor 32 zameni sa memŠ$40:$17Ć:=0; Ovo ne gasi samo num lock već i sve ostalo... Ako već hoćeš ovako, onda treba staviti: m:=m or 32 za paljenje m:=m and (255-32) za gašenje
pascal.1201 ilazarevic, -> #1181, dejanr
> Stavi ovde i imedira+info.name Ne, tu i treba da bude samo info.name, zato što je imedira ime dira u koji se kopira. Inače, problem je rešen: trebalo je fajle otvoriti sa reset(f1,1) i rewrite (fs,1). Hvala ivantodu :)
pascal.1202 ilazarevic, -> #1185, eagle
> Pogledaj malo bolje :) Pogledah... :) sorry. Hvala svima.
pascal.1203 ssokorac, -> #1186, paki
─┼┤ Pošto me SVGA asocira na 512 i više Kb (kojih nemam :() radi li ─┼┤ to i s modom 320x200x256? Ako radi, odma' ga mažnjavam. Ako ne, Radi, naravno. Radi, sve od 320x200x16 do 1024x768x256, i još neki čudni, izduženi (tweak) modovi...
pascal.1204 kenza,
Da ne zna neko da li je unit koji svira muziku u backgroundu jos uvek na Sezamu? Trazio sam i nema ga nigde :( p.s. Jel moze neko da ga okaci,ako nije predugacak ;)
pascal.1205 lovro, -> #1171, paki
­=- Treba mi neka ideja (jos bolje funkcija :) koja bi radila ­=- sledece: Dovraga, izracunaj ugao u odnosu na x osu, pa ispitujes: a:=(ugao-22.5) div 45; case a of 1:desno; 2:goredesno; 3:gore; ... end; Lovro
pascal.1206 sbrk, -> #1204, kenza
>> Da ne zna neko da li je unit koji svira muziku u backgroundu jos >> uvek na Sezamu? Trazio sam i nema ga nigde :( >> 6.254 PC.PROG.2:pascal >> Play music in the background. >> ** Uz poruku 'tpmusic.zip' (6416 bytes) Jel ovo?
pascal.1207 andra, -> #1191, eagle
> Ok to, ali kako u "obicnom" programu okaciti neku proceduru na $09 ? Pardon, promakla mi je sustina problema (cini mi se).
pascal.1208 kenza, -> #1206, sbrk
(;>>> ** Uz poruku 'tpmusic.zip' (6416 bytes) (;> Jel ovo? Videcu pa cu da javim ;) Svejedno, Hvala ;)
pascal.1209 funky,
Jel ovde beše onaj program USERS koji lista usere po vremenu zvanja? Valjda je ovde. Bye!
pascal.1210 skerl,
PSSTR105.ZIP String/keyboard functions for Turbo Pascal 6 Many fast assembler routines for Turbo Pascal 6. Various string, keyboard and other general procedures have been implemented. Free Software, No Registration Required. (Postcard would be nice). Source is included. Popup help for the unit is available in .NG format. Pozdrav, Skerl. psstr105.zip
pascal.1211 vitez.koja, -> #1200, eagle
#=> A šta ako je neki program već bio okačen ? Nista ;) ko mu je kriv kad se kači za interapt niže vrednosti ;>
pascal.1212 m.hristodulo, -> #1205, lovro
>> Dovraga, izracunaj ugao u odnosu na x osu, pa >> ispitujes: Ali on je i hteo da izbegne računanje ugla, to jest trigonometriju, ako sam dobro razumeo! Naravno da je tako kao što si ti dao, logično... To je znao i on! Ali može i drukčije, al me mrzi da razmišljam, polažem sutra Matematiku 3, pa odmaram vijuge... :))
pascal.1213 bulaja, -> #1210, skerl
> PSSTR105.ZIP String/keyboard functions for Turbo Pascal 6 Thanks :), prebaceno u PASCAL dir.
pascal.1214 paki, -> #1212, m.hristodulo
­> Ali on je i hteo da izbegne računanje ugla, ­> to jest trigonometriju, ako sam dobro razumeo! ­> Naravno da je tako kao što si ti dao, logično... To ­> je znao i on! Ali može i drukčije, al me mrzi da ­> razmišljam, polažem sutra Matematiku 3, pa odmaram ­> vijuge... :)) Ma hvala vam svima, uradiću ovako kao što je Lovro predložio, a zatim moje remek delo stiže na Sezam :))
pascal.1215 zzile,
Pozivam command.com sa parametrom da izvrsi neki program na sledeci nacin: Exec(GetEnv('COMSPEC'),'/C '+ime_programa'); Program ne pozivam direktno jer mozda nije u tekucem direktorijumu vec negde u path-u (ili je samo interna dos komanda). Problem : kako da znam da li je taj progam ili komanda bila izvrsena? Doserror se naravno odnosi na izvrsenje command.com-a. Pozdrav ZZile
pascal.1216 eagle, -> #1215, zzile
> Pozivam command.com sa parametrom da izvrsi neki program na > sledeci nacin: > Exec(GetEnv('COMSPEC'),'/C '+ime_programa'); > Problem : kako da znam da li je taj progam ili komanda bila > izvrsena? Doserror se naravno odnosi na izvrsenje > command.com-a. Imaš funkciju Dosexitcode koja vraća 0 ako je program izvršen do kraja. Međutim, vrednost različita od nule ne mora da znači da taj program nije ni startovan, već na primer da je nasilno prekinut(ctrl-break ili slično).
pascal.1217 zzile, -> #1216, eagle
> Imas funkciju Dosexitcode koja vraca 0 ako je program izvrsen > do kraja. Medutim, vrednost razlicita od nule ne mora da znaci > da taj program nije ni startovan, vec na primer da je nasilno > prekinut(ctrl-break ili slicno). Na zalost cini mi se (koliko sam probao) da se i Dosexitcode odnosi na command.com, tj. ako se pozove nepostojeci program preko command.com-a, Dosexitcode vraca nulu! Pozdrav ZZile
pascal.1218 eagle, -> #1217, zzile
> Na zalost cini mi se (koliko sam probao) da se i Dosexitcode > odnosi na command.com, tj. ako se pozove nepostojeci program > preko command.com-a, Dosexitcode vraca nulu! Znači da command.com stvarno ništa ne valja... 4dos vraća dvojku ako program ne postoji.
pascal.1219 petkovicd,
Jel' ima neko napisan program koji reesava sisteme jVÂiÝ'(d┼đĽĐĎâŕd jednacina i radi sa kompleksnim brojevima (+,-..). Ne treba mi nesto posebn slozen program jer radi sa resivim sistemima jednacina .Sve mi to treba za spremanje ispita preko leta a tamo gde idem imam samo obican dzepni racunar program moze biti napisan i u BASICU ili FORTRANU . PS bilo bi pozeljno da mi siljnete na MAIL jer nemam bas vremena da ceprkam po temi. Dejan
pascal.1220 dejanr,
========== borland/bpascal.dos #6694, from ligo, 1308 chars, Tue Jun 15 04:02:53 1993 ---------- TITLE: Strange File-Access under protected-mode Seems BP is somewhat picky when using normal file-io under protected mode. Here is a little program, which is giving "unpredictable results" when run under a dos-box of OS/2 2.0. --- cut here --- program test; var f:file; begin assign (f,'a:test'); rewrite (f); close (f); end. --- cut here --- There isn't a diskette in drive a: If I compile this into real-mode, I get the correct error 152, Drive not Ready If I compile it into protected mode I get different results. If I run inside the IE, I get no visible reaction, no red error-bar nothing, if I switch to the user-screen, there is a message runtime-error 0006 at xxxx:yyyy (invalid handle) Question: why doesn't the IE report this error back??? If run under TDX I get either the same error as above, but TDX is reporting the return-code of 6 correctly. Or, I get an exception-error 13 (trap 13 to be precise). If I continue after this error, TDX is corrupting the hole system. OS/2 is trapping out with Trap 000d and halting the system (calling for the coordinator). It looks like it could be working under DOS 6.0 with the BP-DPMI-Server. (Just one quick test). Under WIN31/DOS6 its looking like it is running. Has anybody an idea/recommendations how this can be made reliable? Jens
pascal.1221 lovro,
Ne radi mi stampanje iz rezidentnog programa! ... uses printer,crt,dos; ... writeln(lst,'Neki tekst'); ... Javlja Run-time error 006, sto mu dodje neki 'Invalid file handle'. Moze li to nekako? Lovro
pascal.1222 bole,
HI, Jel zna neko od vas kako da pustam MODOVE (*.MOD) TPu 6.0 (recimo)
pascal.1223 vitez.koja, -> #1221, lovro
#=> Ne radi mi stampanje iz rezidentnog programa! #=> writeln(lst,'Neki tekst'); Kuku nesrećniče, dobro je dok javlja greške, mogo je da okine 'ladno. U prinpicu, ne smes "tek tako" da koristis dosove funkcije iz rezidentnog programa (a writeln ih koristi), vecmoras da pazis nekezezalice ko sto su int 13h, int 28h, tzv. indos flag itd... Pogledaj u novim racunarima, pise da je neko tamo napisao "pravi rezidentni program", valjda ima, ili pitaj mene ako tamo nema :)
pascal.1224 ilazarevic, -> #1222, bole
> Jel zna neko od vas kako da pustam MODOVE (*.MOD) TPu 6.0 (recimo) Bio je ovde negde jedan unit za te stvari. Možde je u diru, a možda je u porukama. Uradi jedan find...
pascal.1225 a.kircanski, -> #1224, ilazarevic
_-=>> Jel zna neko od vas kako da pustam MODOVE (*.MOD) TPu 6.0 _-=> (recimo) Ako ne nađeš imam ja, traži, da ti ostavim na mail...
pascal.1226 bole,
Evo poc'o i ja da se zezam sa paskalom :) Jel ima neko od vas proceduru(e) sa kojom mogu da ucitavam i prikazujem PCX slike, ili gif. i jel ima neko od vas to isto ali za *.mod
pascal.1227 dejanr, -> #1226, bole
>> Jel ima neko od vas proceduru(e) sa kojom mogu da ucitavam i prikazujem >> PCX slike, ili gif. Predložio bih posetu direktorijumu PASCAL, imaš sve što ti treba tamo.
pascal.1228 bole, -> #1227, dejanr
THanks, Nemoj da se ljutis, nov sam, sto se tice PASKALA!
pascal.1229 bole, -> #1227, dejanr
Ali tamo nema to!
pascal.1230 dejanr, -> #1229, bole
>> Ali tamo nema to! Pokušaj sa ovim programom R:\IBMPC\PASCAL\*.* ---------------------- tppcx zip 46327 Rad sa slikama u Paintbrush formatu Takođe, pogledaj arhivu uz poruku 6.805 u ovoj konferenciji.
pascal.1231 bole,
HELP!! MI HELP MI!!!! Ovako treba mi jedna dobra dusa, koja cde da mi da primer za sledece: Da mi program bude rezidentan a da radi u pozadini recimo da svira sa sound nesto a ja da radim u dosu, ili da svira a moj prg. da crt! crta HELP MI pliz
pascal.1232 a.kircanski,
Ajde da mi neko da program, koji ostaje rezidentan, i radi u backgruondu, npr. svira .mod ili bilo sta drugo. help... pozdrav..
pascal.1233 bole,
VIDIM NIKO NIJE SVATIO MOJE PITNJE: EVO GA PONOVO: Da li neko moze da mi kaze kako recimo napravim prg. koji ce da svira (sa sound, delay i nosound) a u isto vreme da radi nesto drugo, recimo ceka sa readln; itd.? JEl sad jasno? .
pascal.1234 skerl,
TECHNOJOCK'S TURBO TOOLKIT v5.10 <ASP> - An award winning library of tools for Turbo Pascal programmers. The main focus of the Toolkit is to give programs a professional and polished appearance. The Toolkit includes a host of menu building tools, sorted directory listings, full-screen data entry, window support, automatic mouse suport and much, much more! FASTTTT5 (22) ColorScreen:boolean; Attr(F,B:byte):byte; FastWrite(Col,Row,Attr:byte; St:StrScreen); PlainWrite(Col,Row:byte; St:StrScreen); ColWrite(Col,Row:byte; St:StrScreen); FWrite(St:StrScreen); FWriteLN(St:StrScreen); Attrib(X1,Y1,X2,Y2,F,B:byte); Clickwrite(Col,Row,F,B:byte; St:StrScreen); Replicate(N:byte; Character:char):StrScreen; Box(X1,Y1,X2,Y2,F,B,boxtype:integer); FBox(X1,Y1,X2,Y2,F,B,boxtype:integer); GrowFBox(X1,Y1,X2,Y2,F,B,boxtype:integer); HorizLine(X1,X2,Y,F,B,lineType:byte); VertLine(X,Y1,Y2,F,B,lineType:byte); ClearText(x1,y1,x2,y2,F,B:integer); ClearLine(Y,F,B:integer); WriteAT(X,Y,F,B:integer; St:StrScreen); WriteBetween(X1,X2,Y,F,B:byte; St:StrScreen); WriteCenter(LineNO,F,B:integer; St:StrScreen); WriteVert(X,Y,F,B:integer; St:StrScreen); EGAVGASystem: boolean; WINTTT5 (33) SizeCursor(Top,Bot:byte); FindCursor(var X,Y,Top,Bot:byte); PosCursor(X,Y: integer); Fullcursor; HalfCursor; OnCursor; OffCursor; GetScreenChar(X,Y:byte):char; GetScreenAttr(X,Y:byte):byte; GetScreenStr(X1,X2,Y:byte;var St:StrScreen); CreateScreen(Page:byte;Lines:byte); SaveScreen(Page:byte); RestoreScreen(Page:byte); PartRestoreScreen(Page,X1,Y1,X2,Y2,X,Y:byte); SlideRestoreScreen(Page:byte;Way:Direction); PartSlideRestoreScreen(Page:byte;Way:Direction;X1,Y1,X2,Y2:byte); DisposeScreen(Page:byte); SetCondensedLines; Set25Lines; CopyScreenBlock(X1,Y1,X2,Y2,X,Y:byte); MoveScreenBlock(X1,Y1,X2,Y2,X,Y:byte); Scroll(Way:direction;X1,Y1,X2,Y2:byte); Mkwin(x1,y1,x2,y2,F,B,boxtype:integer); GrowMkwin(x1,y1,x2,y2,F,B,boxtype:integer); Rmwin; FillScreen(X1,Y1,X2,Y2:byte; F,B:byte; C:char); TempMessageCh(X,Y,F,B:integer;St:strscreen;var Ch : char); TempMessage(X,Y,F,B:integer;St:strscreen); TempMessageBoxCh(X1,Y1,F,B,BoxType:integer;St:strscreen;var Ch : char); TempMessageBox(X1,Y1,F,B,BoxType:integer;St:strscreen); Activate_Visible_Screen; Activate_Virtual_Screen(Page:byte); Reset_StartUp_Mode; KEYTTT5 (23) Assign_Pressed_Hook(PassedProc : Key_pressed_Type); Assign_Idle_Hook(PassedProc : Key_Idle_Type); Mouse_Installed:Boolean; Show_Mouse_Cursor; Hide_Mouse_Cursor; Get_Mouse_Action(var But: button; var Hor,Ver: integer); Move_Mouse(Hor,Ver: integer); Confine_Mouse_Horiz(Left,Right:integer); Confine_Mouse_Vert(Top,Bot:integer); Set_Mouse_Cursor_Style(OrdChar: integer); Alt_Pressed:Boolean; Ctrl_Pressed:Boolean; LeftShift_Pressed: Boolean; RightShift_Pressed: Boolean; Shift_Pressed: Boolean; CapsOn: Boolean; NumOn: Boolean; ScrollOn: Boolean; Set_Caps(On : boolean); Set_Num(On : boolean); Set_Scroll(On : boolean); GetKey : Char; DelayKey(Time : integer); MENUTTT5 (3) No_Hook(var Ch:char; Choice:integer; var Ecode : integer); Menu_Set(var M : Menu_record); DisplayMenu(MenuDef: Menu_record;Window:Boolean;var Choice,Ecode:integer); PULLTTT5 (2) No_Hook(var Ch: char; Main, Sub :byte); Pull_Menu( Definition:Pull_Array; var PickM, PickS:byte); NESTTTT5 (12) Assign_Despatcher(D:Despatcher_Proc); Initialize_Menu(var Menu:Nest_Menu;Tit: menuStr;Width: byte; Display_Lines: word); Add_Topic(var Menu:Nest_Menu;Nam:MenuStr;Activ:boolean;HKey:char; Code:integer;Sub: MenuPtr); Modify_Topic(var Menu:Nest_Menu;TopicNo:word;Nam:MenuStr;Activ:boolean; HKey :char;Code:integer;Sub: MenuPtr); Modify_Topic_Name(var Menu:Nest_Menu;TopicNo:word;Nam:MenuStr); Modify_Topic_Active(var Menu:Nest_Menu;TopicNo:word;Activ:Boolean); Modify_Topic_HotKey(var Menu:Nest_Menu;TopicNo:word;HKey:char); Modify_Topic_RetCode(var Menu:Nest_Menu;TopicNo:word;Code:integer); Modify_Topic_SubMenu(var Menu:Nest_Menu;TopicNo:word;Sub:MenuPtr); Delete_A_Topic(var Menu:Nest_Menu;TopicNo: word); Delete_All_Topics(var Menu:Nest_Menu); Show_Nest(var Menu:Nest_Menu); LISTTTT5 (1) Show_List(var StrArray;StrLength:Byte;TotalPicks:byte); DIRTTT5 (1) Display_Directory(DirFullFileName: StrScreen;var Retcode:integer): StrScreen; READTTT5 (11) Read_String(X,Y,L:byte;Prompt:StrScreen; BoxType: byte; Var Txt:StrScreen); Read_String_Upper(X,Y,L:byte;Prompt:StrScreen;BoxType: byte; Var Txt:StrScreen); Read_Password(X,Y,L:byte;Prompt:StrScreen;BoxType: byte; Var Txt:StrScreen); Read_Alpha(X,Y,L:byte;Prompt:StrScreen;BoxType: byte;Var Txt:StrScreen); Read_YN(X,Y:byte;Prompt:StrScreen;BoxType: byte;Var Yes:Boolean); Read_Byte(X,Y,L:byte; Prompt:StrScreen;BoxType: byte;Var B : Byte; Min, Max : Byte); Read_Word(X,Y,L:byte; Prompt:StrScreen;BoxType: byte;Var W : word; Min, Max : word); Read_Int(X,Y,L:byte;Prompt:StrScreen;BoxType: byte;Var W : integer; Min, Max : integer); Read_LongInt(X,Y,L:byte;Prompt:StrScreen;BoxType: byte;Var W : longint; Min, Max : longint); Read_Real(X,Y,L:byte;Prompt:StrScreen;BoxType: byte;Var W : real; Min, Max : real); Read_Select(X,Y:byte;Pmt,Txt:StrScreen;var Choice:byte); IOTTT5 (26) Create_Tables(No_Of_Tables:byte); Activate_Table(Table_no:byte); Assign_LeaveFieldHook(Proc:Move_Field_Proc); Assign_EnterFieldHook(Proc:Move_Field_Proc); Assign_CharHook(Proc:Char_Hook_Proc); Assign_InsHook(Proc:Insert_Proc); Create_Fields(No_of_fields:byte); Define_Colors(HiF,HiB,LoF,LoB,MsgF,MsgB:byte); Add_Message(DefID,DefX,DefY : byte; DefString : string); Add_Field(DefID,DefU,DefD,DefL,DefR,DefX,DefY:byte); String_Field(DefID:byte;var Strvar:String;DefFormat:string); Assign_Finish_Char(Ch : char); Byte_Field(DefID:byte;var ByteVar:Byte;DefFormat:string;Min,Max:byte); Word_Field(DefID:byte;var Wordvar:Word;DefFormat:string;Min,Max:word); Integer_Field(DefID:byte;var Integervar:Integer;DefFormat:string; Min,Max:integer); LongInt_Field(DefID:byte;var LongIntvar:LongInt;DefFormat:string; Min,Max:LongInt); Date_Field(DefID:byte;var Datevar:Dates;DateFormat:byte;DefFormat:string; Min,Max : Dates); Real_Field(DefID:byte;var Realvar:Real;DefFormat:string;Min,Max:real); Set_Default_Rules(Rules:word); Field_Rules(DefID:byte;Rules:word;AChar:IOcharset;DChar:IOcharset); Display_All_Fields; Allow_Esc(OK:boolean); Allow_Beep(OK:boolean); Dispose_Fields; Dispose_Tables; Process_Input(StartField:byte); STRNTTT5 (23) Squeeze(L:char;Str:string;Width:byte): string; First_Capital_Pos(Str:string): byte; First_Capital(Str:string): char; PadLeft(Str:string;Size:byte;Pad:char):string; PadCenter(Str:string;Size:byte;Pad:char):string; PadRight(Str:string;Size:byte;Pad:char):string; Last(N:byte;Str:string):string; First(N:byte;Str:string):string; Upper(Str:string):string; Lower(Str:string):string; Proper(Str:string):string; OverType(N:byte;StrS,StrT:string):string; Strip(L,C:char;Str:string):string; LastPos(C:Char;Str:string):byte; PosWord(Wordno:byte;Str:string):byte; WordCnt(Str:string):byte; ExtractWords(StartWord,NoWords:byte;Str:string):string; Str_to_Int(Str:string):integer; Str_to_Long(Str:string):Longint; Str_to_Real(Str:string):real; Real_to_str(Number:real;Decimals:byte):string; Int_to_Str(Number:longint):string; Real_to_SciStr(Number:real; D:byte):string; MISCTTT5 (22) Exist(Filename:string):boolean; CopyFile(SourceFile, TargetFile:string): byte; File_Size(Filename:string): longint; File_Drive(Full:string): string; File_Directory(Full:string): string; File_Name(Full:string): string; File_Ext(Full:string): String; Time: string; Clock; Date: String; PrintScreen; Beep; Printer_Status:byte; Printer_ready:boolean; FlushKeyBuffer; Reset_Printer; Date_To_Julian(InDate:string;format:byte): dates; Julian_to_Date(J:dates;format:byte):string; Today_in_Julian: dates; Date_Within_Range(Min,Max,Test:dates):boolean; Valid_Date(Indate:string;format:byte): boolean; Future_Date(InDate:string;format:byte;Days:word): string; Pozdrav, Skerl. p.s. Sve je ja hederom i provereno na viruse, bar one poznate ;) tttsrc51.zip
pascal.1235 skerl,
TECHNOJOCK'S TURBO TOOLKIT v5.10 <ASP> - docs tttdoc51.zip
pascal.1236 skerl,
TECHNOJOCK'S TURBO TOOLKIT v5.10 <ASP> - demos tttdem51.zip
pascal.1237 skerl,
TECHNOJOCK'S OBJECT TOOLKIT v1.10 <ASP> - A sophisticated library of tools for Turbo Pascal programmers. With this Toolkit you can quickly and easily build programs sporting the latest interface style with pop-up dialog boxes, scroll-bars and stretchable/dragable windows. To display a sorted directory list in a moveable window, for example, takes just three lines of code. TOTFLAGS.INC contains global compiler directives TOTLOOK.PAS controls the overall look and feel of your programs TOTREAL.PAS provides numeric co-processor support and supports extended reals TOTSYS.PAS contains objects for ascertaining hardware and operat- ing system configurations TOTINPUT.PAS provides mouse and keyboard support TOTFAST.PAS supports writing to physical and virtual screens TOTWIN.PAS contains a variety of window objects TOTMSG.PAS provides objects for displaying messages and prompts in Pop-up windows TOTLINK.PAS includes a variety of objects for managing linked lists TOTLIST.PAS provides objects for displaying string arrays or linked lists in a window TOTDIR.PAS includes a directory display object TOTIO1,2,3.PAS three units for building full screen input TOTMENU.PAS includes routines for building pop-up and pull-down menus TOTSTR.PAS contains a host of string manipulation functions TOTDATE.PAS includes a set of functions for managing Julian and Gregorian dates TOTMISC.PAS provides a potpourri of procedures and functions TOTBUILD.PAS used to re-build all the TOT TPUs Pozdrav, Skerl. p.s. I ovo je sa hederom i bez virusa. totsrc11.zip
pascal.1238 skerl,
TECHNOJOCK'S OBJECT TOOLKIT v1.10 <ASP> - docs totdoc11.zip
pascal.1239 skerl,
TECHNOJOCK'S OBJECT TOOLKIT v1.10 <ASP> - demos totdem11.zip
pascal.1240 paki, -> #1237, skerl
­> p.s. I ovo je sa hederom i bez virusa. A jel može samo par reči o tome šta je novo u odnosu na staru verziju? Ne skida mi se 400Kb zbog 2 baga (a da ne govorim o tome da sam odštampao 600Kb dokumentacije, pa mi dođe da se ubijem :)))
pascal.1241 bole,
meni nema niko namere da odgovori... neki fazon je sa keep(0) i sa onim cudima, ali ne znam ~
pascal.1242 ssokorac, -> #1233, bole
─┼┤ Da li neko moze da mi kaze kako recimo napravim prg. koji ce da svira ─┼┤ (sa sound, delay i nosound) a u isto vreme da radi nesto drugo, recimo ─┼┤ ceka sa readln; itd.? Verovatno ti treba nešto kao PLAY iz bejzika? :) E, upravo to je neko poslao ranije u ovu temu... Pogledaj sa Co Fi Pascal /a (PLAY;), a ako ne nadješ, potražiću čim se javim na Sezam.
pascal.1243 a.kircanski, -> #1241, bole
_-=> meni nema niko namere da odgovori... neki fazon je sa _-=> keep(0) i sa onim cudima, ali ne znam č Ma ne zna niko.;>
pascal.1244 nikac, -> #1241, bole
Izvini nisam bas u toku, ali ako je nesto u vezi pravljenja TSR programa na PASCALU mogu da ti pomognem. ( cak ce i da rade ;) -=Nikac=-
pascal.1245 barka,
Jel ima neko rutinu za scrol teksta kursorskim tasterima, i sa PgDn, PgUp, Home, End? Ajdete, molim vas, da se ne patim sam. Podrazumeva se, stvar je hitna.
pascal.1246 skerl, -> #1240, paki
│ A jel moze samo par reci o tome sta je novo u odnosu na staru └──── Evo ti flash.txt, not-so-quick-reference. Nigde nisam nasao izdvojene razlike od prosle do ove verzije a tu imas sve lepo izlistano i objasnjeno. Pozdrav, Skerl. flash.zip
pascal.1247 a.kircanski,
Zašto sledeća stvar neće da mi radi? var s:string; ch:char; begin s:=''; ch:='a'; sŠ1Ć:=ch; Write(s); end. I kad stavim write(s) s je prazan?!?!? A kad stavim write(sŠ1Ć) onda pokaže char a. ccc, šta mu bi?:)
pascal.1248 dejanr, -> #1247, a.kircanski
>> var s:string; >> ch:char; >> begin >> s:=''; >> ch:='a'; >> s[1]:=ch; >> Write(s); >> end. >> I kad stavim write(s) s je prazan?!?!? >> A kad stavim write(sŠ1Ć) onda pokaže char a. ccc, šta mu bi?:) Bi mu da nisi pročitao uputstvo :) String promenljiva, osim sadržaja, ima i dužinu koja se upisuje u nulti bajt. Time što si u prvi bajt upisao neko slovo nisi ništa posebno uradio, jer je tamo i tako bio nekakav sadržaj (nula?) pa se ipak nije ispisivao. Zato bi u datom primeru trebalo da dodaš i s[0]:=#1 i onda ispis ne bi bio prazan. Znatno je preporučljivije koristiti konkatenaciju, dakle s:=s+ch. Tada sam paskal "brine" o dužini.
pascal.1249 .obj, -> #1245, barka
> Jel ima neko rutinu za scrol teksta kursorskim > tasterima, i sa PgDn, PgUp, Home, End? Pa, pitanje ti je totalno neodređeno, teško će neko da ti odgovori. Međutim, uopšteno, napravi proceduru za ispis nekako ovako: procedure NekiIspis (X, Y: longint); A u nekoj "glavnoj petlji" ugradiš dve promenljive koje drže poziciju ispisa. Na primer, PosX i PosY: NekiIspis (PosX, PosY); Bilo kakvo kretanje se, posle ovoga, lako realizuje. Let's say: case Key of VkDown: Inc(PosY); VkPageDown: Inc(PosY, 25); i tome slično. Nadam se da sam ti malo pomogao. Uvek je bolje da postaviš konkretno pitanje. .obj
pascal.1250 paki, -> #1246, skerl
­> Evo ti flash.txt, not-so-quick-reference. Nigde nisam ­> nasao izdvojene razlike od prosle do ove verzije a tu imas sve ­> lepo izlistano i objasnjeno. Hvala, Skerl.
pascal.1251 sbrk, -> #1245, barka
>> Jel ima neko rutinu za scrol teksta kursorskim >> tasterima, i sa PgDn, PgUp, Home, End? Evo ti nešto, proizvod moje dokolice :) program WWindow; š 12.05.92 Slavisha Brkic ------------------------------------------------------------------------- Demonstracija ROM-BIOS servisa 6 i 7 (scroll up/down). Program otvara prozor na ekranu u koji se text unosi sa tastature. Page Up/Down se koriste za scroll texta gore, dole respektivno. ------------------------------------------------------------------------- 07.02.93 - malo dopunjeno, za kretanje gore,dole,levo,desno... ć uses Dos, Crt; š Type regSet = record Case Integer of 1: (AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags: Integer); 2: (AL, AH, BL, BH, CL, CH, DL, DH : Byte); end; ć const LEFT = Chr(27); BS = Chr(8); ATR = 112; var Ch : Char; Regs : registers; š-----------------------------------------------------------------------ć procedure PageUp (X1, Y1, X2, Y2, ATTR : Byte); š scroll up one line in the window ć begin Regs.AH := 6; š requesting service 6 ć Regs.AL := 1; š scroll up one line ć Regs.CH := Y1; š upper left row ć Regs.CL := X1; š upper left column ć Regs.DH := Y2; š lower left row ć Regs.DL := X2; š lower right column ć Regs.BH := ATTR; š attribute for line ć Intr($10, Regs) š calling interupt 10H ć end; š-----------------------------------------------------------------------ć procedure PageDown (X1, Y1, X2, Y2, ATTR : Byte); š scroll down one line in the window ć begin Regs.AH := 7; Regs.AL := 1; Regs.CH := Y1; Regs.CL := X1; Regs.DH := Y2; Regs.DL := X2; Regs.BH := ATTR; Intr($10, Regs) end; š-----------------------------------------------------------------------ć š *** main program begins here *** ć begin Window(30, 8, 50, 18); š define window ć TextColor(Black); š set text foreground and ć TextBackground(White); š background colors ć ClrScr; š clear screen inside window ć GoToXY(1,1); š go to top left corner ć repeat Ch := ReadKey; š read character from Kbd ć if Ch = #0 then š read extended char,if typed ć Ch := ReadKey; case Ch of #8 : if WhereX = 1 then š BACKSPACE ć begin if WhereY <> 1 then begin GoToXY(21,WhereY-1); Write(' '); GoToXY(21,WhereY-1); end; end else begin GoToXY(WhereX-1,WhereY); Write(' '); GoToXY(WhereX-1,WhereY); end; #73 : PageUp (29, 7, 49, 17, ATR); š page up key ć #81 : PageDown (29, 7, 49, 17, ATR); š page down key ć #75 : if WhereX = 1 then š cursor left ć GoToXY(21,WhereY-1) else GoToXY(WhereX-1,WhereY); #77 : if WhereX = 21 then š cursor right ć GoToXY(1,WhereY+1) else GoToXY(WhereX+1,WhereY); #72 : if WhereY = 1 then š cursor up ć PageDown (29, 7, 49, 17, ATR) else GoToXY(WhereX,WhereY-1); #80 : if WhereY = 11 then š cursor down ć PageUp(29, 7, 49, 17, ATR) else GoToXY(WhereX,WhereY+1); else if (Ch in Š#32..#126,#8Ć) then Write(Ch); š write character to screen ć end; until Ch = Chr(13) š until <CR> ć end. Pozdrav, Slavisha.
pascal.1252 predragd, -> #1223, vitez.koja
> ... U prinpicu, ne smes "tek tako" da koristis > dosove funkcije iz rezidentnog programa (a writeln ih > koristi), vec moras da pazis nekezezalice ko Kako to misliš ne možeš da koristiš DOS funkcije u TSR programima. Već više od dve godine jedan TSR program koji obilato koristi DOS pozive radi bez ikakvih problema. Nikad nije izazvao blokiranje mašine, ili javio neki run-time error. Mogu slobodno da kažem da mi drugi komercijalni programi prave više problema nego ovaj moj programčić. Peđa.
pascal.1253 barka, -> #1251, sbrk
Ů>> Jel ima neko rutinu za scrol teksta kursorskim Ů>> tasterima, i sa PgDn, PgUp, Home, End? Ů Ů Evo ti nešto, proizvod moje dokolice :) Ů Ů program WWindow; Ok, ali kako da izvedem da ne zaboravi text koji je otišao iz prozora, već da ga zapamti i po potrebi ponovo vrati na ekran?
pascal.1254 vitez.koja, -> #1252, predragd
#=> Kako to misliš ne možeš da koristiš DOS funkcije u TSR #=> programima. Mislim ono sto sam napisao... Vuk Karadžić je u pitanju ;) Inače, ključno mesto u toj rečenici je "tek tako", čini mi se da si to prevideo. #=> Već više od dve godine jedan TSR program koji obilato #=> koristi DOS pozive radi bez ikakvih problema. Srećan slučaj, pogodilo se da se program slaže sa ostalim stvarima koje koristiš. Pročitaj _bilo šta_ o pisanju ISRa, videćeš da se pominje tzv. reentrancy. Vidim da ti ne bi škodilo malo "formalnog obrazovanja" ;)
pascal.1255 vitez.koja,
Da li je neko uspeo da iskoristi onaj unit za animaciju - ANIMVGA - iz direktorijuma pascal ? Ne mogu da ucitam pozadinu, _nikako_ :( U cemu je fazon ?
pascal.1256 mmile, -> #1247, a.kircanski
* s:=''; * ch:='a'; * s[1]:=ch; * Write(s); Zameni s:='' sa s:=' ' i radice.
pascal.1257 ficus, -> #1253, barka
>> zaboravlja ono {to je bilo... ovde dekiper... Pa, u okviru CRT unita ima{ funkcije gettext i puttext i sa njima bi problem trebao da bude re{en :) . Nisam se puno igrao sa sli~nim stvarima, tako da samo pretpostavljam, ali mislim da bi trebalo da bude OK. Pozdrav, Deki