PCSOFT

09 Nov 1989 - 22 Sep 1991

Topics

  1. bios (50)
  2. ms.dos (492)
  3. unix (322)
  4. os.2 (5)
  5. jezici (125)
  6. cccc (343)
  7. clipper (273)
  8. turbo.pascal (247)
  9. tools (219)
  10. grafika (189)
  11. programiranje (156)
  12. tekst.procesori (164)
  13. word.perfect (222)
  14. ventura (216)
  15. windows (270)
  16. spec.softver (212)
  17. virusi (255)
  18. zastita (44)
  19. knjige (61)
  20. razno (668)
  21. mreze (75)
  22. ms.word (42)
  23. nabavka (153)
  24. baze.podataka (60)
  25. radne.tabele (2)
  26. van.teme (17)
  27. 4dos (25)

Messages - turbo.pascal

turbo.pascal.1 dejanr,
Turbo Pascal je jezik koji je izvršio presudan uticaj na PC kompajlere - posle njega sve je trebalo ubrzati i olakšati ali je i dalje programiranje na Turbo Pascal-u pojam komfora i udobnog razvoja kao i, na žalost, potpune mašinske zavisnosti i zatvorenosti u sebe. U okviru ove teme diskutovaćemo o tehnikama pomoću kojih se iz Turbo Pascal-a može izvući najviše.
turbo.pascal.2 dejanr,
Glavni novitet Turbo Pascal-a 5.5 su objektno orijentisane ekstenzije. Moram da priznam da se objektno orijentisanim programiranjem do sada nisam ozbiljnije bavio, da poslednjih dana pokušavam da nateram sebe da pročitam objektno orijentisanu dokumentaciju i da mi to slabo ide - sve mi to liči na beskrajno komplikovanje bez stvarne potrebe. Sa svih strana se, sa druge strane, čuje da će objektno orijentisani jezici (naročito C++) uskoro zavladati programerskim svetom. Šta mislite o tome?
turbo.pascal.3 lgavrilovic,
Zna li neko gde se i po kojoj ceni može nabaviti: ???????????????????????????????????????????????????? ? ? ? Turbo Access Toolbox (ISAM metod) i Turbo sort ? ? za turbo pascal 5 ili 5.5 ? ? ? ???????????????????????????????????????????????????? GWW
turbo.pascal.4 dejanr,
Za ISAM metod ne znam ali bih umesto Turbo Sort-a svakako preporučio OptTech sort - prikaz i adresa su bili u "Računarima", pogledajte RIND, naslov "Munja iz računara".
turbo.pascal.5 gnoc,
Kako ja znam ne postoji verzija 5.0 ili 5.5 Turbo ccesa. Kako vjerovatno znate sasvim OK je verzija 4.0 ako promenite nekoliko compiler direktiva. Medjutim, postoji druga varianta. Proizvod firme Turbo Power Software ( sjecate li se Turbo Professional paketa ) ima program sa nazivom B-Tree Filer koji je izvrstan, odnosno mnogo bolji od Turbo Access-a.
turbo.pascal.6 dejanr,
Zna li neko kako TP program može da "umre" i prepusti kontrolu drugom programu, nešto kao EXECUTE ('NEWPROG.EXE PARAM1 PARAM2'). Nije problem da se startuje drugi program i da on kada završi rad vrati kontrolu prvom (to je funkcija EXEC) ali treba mi da prvi program odmah "umre" i oslobodi memoriju. Dejan
turbo.pascal.7 dejanr,
Zanimljivo je da je Turbo Pascal 3.0 to mogao - a sada je ukinuto. Prelistao sam ceo Advanced MS DOS i nigde ni traga odgovarajućem DOS pozivu! Zar je moguće da je nešto ovako očigledno nemoguće?
turbo.pascal.8 vkostic,
Dejane, Da program "umre" i da u isto vreme pokrene drugi program, to u DOS-u jednostavno ne postoji. Postoji samo funkcija EXEC za koju i sam znas, i to je sve. Jedna zanimljiva ideja: Mozda bi program maogao da u keyboard buffer upise nasiv sledeceg programa, pa kada on "umre", DOS pokupi karaktere iz keyboard buffer-a, interpretira komandu i izvrsi novi program. Zar ovo nije perverzno resenje? Ako nekome slucajno treba rutina koja stavlja karaktere u keyboard buffer, evo je: ; PUTS CHAR IN KEYB BUFFER ; ------------------------ ; (SAME AS INT 16H SERVICE 05H) ; ----------------------------- ; IN: CH = SCAN CODE ; CL = ASCII CODE ; OUT: AL = 0 ; OK ; AL = 1 ; BUFFER FULL ; USE: - PUT_KEY PROC NEAR PUSHF CLI PUSH DS PUSH BX PUSH CX MOV BX,0040H MOV DS,BX MOV BX,WORD PTR DS:Š001CHĆ PUSH BX INC BX INC BX CMP BX,WORD PTR DS:Š0082HĆ JNZ KEY_00 MOV BX,WORD PTR DS:Š0080HĆ KEY_00: CMP BX,WORD PTR DS:Š001AHĆ MOV AL,01H JZ KEY_01 MOV WORD PTR DS:Š001CHĆ,BX POP BX MOV ŠBXĆ,CX PUSH BX MOV AL,00H KEY_01: POP BX POP CX POP BX POP DS POPF RET PUT_KEY ENDP Inace, AT-ov BIOS sadrzi ovu rutinu, ali ne i XT-ov, pa je u svakom slucaju bolje koristiti sopstvenu rutinu nego pozivati BIOS koji to mozda ne radi. Pozdrav, V.K.
turbo.pascal.9 dejanr,
Začudo, i ja sam razmišljao o tome... samo nekako se bojim da korisnik u tom trenutku (čika Marfi na delu) ne pritisne nešto i da se onda to nešto ne "umuva" u komandnu liniju... Nekako ipak verujem da bi se start drugog programa mogao izvesti - ako ništa drugo nekim prljavim trikom...
turbo.pascal.10 vkostic,
Da, slazem se da stos sa keyboard buffer-om nije... kako da se izrazim... nije bas ono sto bi ja voleo da ugradim u svoj program. Mada se moze vrlo lako spreciti da korisnik nesto ne kucka u tom trenutku. Ne mogu nikako da smislim kako to TURBO PASCAL izvodi... Imam kompletan algoritam za funkciju EXEC od Microsoft-a, pa bi mozda tu mogao nesto da procackam. Navodno, i sam COMMAND.COM poziva korsinicke programe bas preko funkcije EXEC (kako bi drukcije uostalom). Vredelo bi pogledati i interapt vector 22H i terminate address u PSP, pa da se to sve nekako poveze sa EXEC funkcijom. Recimo da program koji "umire" upise nove podatke u EXEC CONTROL BLOCK, pa onda vrati kontrolu na pocetak EXEC funkcije... Ne koristim TURBO PASCAL, ali da imam kompletnu staru verziju i uputstva, rado bi sproveo jednu seansu sa debugger-om da vidim kako je to BORLAND izveo. Pozdrav, V.K.
turbo.pascal.11 dejanr,
Dobra ideja, to sa Debuggerom i starim TP-om. Na žalost, nemam TP 3.0 - čini mi se da ga Zoran ima pa ako ga jednom ne bude mrzelo... Ako nekog interesuje, i Turbo C ima odgovarajuću funkciju - može da se koristi ili exec ili može sa spawn(p_overlay...). C to verovatni nije izmislio - mora da postoji mehanizam u DOS-u. Zna li neko kako to radi?
turbo.pascal.12 vkostic,
Kako to mislis Dejane? Da sa spawn mogu da postignem da program "umre", a da u isto vreme pokrene neki drugi program? Ili sam to lose razumeo, ili ima nesto sto mi nije poznato kod funkcije spawn. Pozdrav, V.K.
turbo.pascal.13 dejanr,
Ja ovo lično nisam probao ali evo citiram Turbo C - the Complete Reference: The spawn group of functions is used to execute another program. This other program does not *necessarily replace the parent program (unlike the child process executed by exec group of functions)... The mode parameter determins how the child process will be executed. It can have one of these three values (defined in process.h): P_WAIT (suspends parent process until the clild has finished executing), P_NOWAIT (executes both parent and the child concurently - not implemented in Turbo C), P_OVERLAY (replaces the parent process in memory. Since P_NOWAIT is not available, you will almost always use P_WAIT (if you want to replace the parent program, it is better to use the exec function instead)... Kao što vidiš, u Turbo C-u postoje čak dva načina da se problem reši. Moram da kažem da i dalje ne verujem da je to nešto što je Turbo C izmislio - verovatno se ipak radi o veštom DOS pozivu samo treba videti kom... Dejan
turbo.pascal.14 vkostic,
Zanimljivo! Bas cu da probam... (mada me OVERLY asocira na nesto drugo, a na ono sto nama treba).
turbo.pascal.15 dejanr,
Ja prob'o (Turbo C) i radi! A kako... ko će ga znati?
turbo.pascal.16 vkostic,
Da, i kod mene radi. Sada sledi seansa sa TURBO DEBUGGER-om...
turbo.pascal.17 vkostic,
Seansa sa debugger-om je pokazala ovo: spawn(P_OVERLAY,....) koristi poziv DOS-a 4B (EXEC) da ucita program u memoriju (ali ne i da ga pokrene - to se radi tako sto se stavi broj 3 u al registar), a onda izvrsi jedno JMP na pocetak programa (a ne CALL). Pre toga, naravno oslobodi memoriju (to sam primetio), i pozatvara fajlove (to nisam primetio, ali vrlo verovatno i to uradi). Jedino pitanje: kao se spawn osigura da ne ucita program preko samog sebe. U primeru koji sam ja single step-ovao, spawn je ucitao program na adresu nizu od samog sebe (mislim na adresu nizu od potprograma spawn, ali sigurno ne nizu od samog pocetka programa). U svakom slucaju, ne postoji magicna funkcija DOS-a koja ubije program i pokrene neki drugi. TURBO C to izvodi pomocu svojih trikova. Pozdrav, V.K.
turbo.pascal.18 dejanr,
Vlado, da li bi se taj niz instrukcija mogao izvaditi, asemblirati i priključivati uz programe na drugim jezicima, na primer onome kome je posvećena ova tema?
turbo.pascal.19 vkostic,
Moze! Jos to imam negde na disku, pa cu ponovo pogledati i poslati cim stignem. Pozdrav, V.K.
turbo.pascal.20 dejanr,
Sinoć sam ovaj problem postavio na BIX-u, nisam mnogo pričao od ove naše diskusije nego sam samo formulisao stvar i rekao da Turbo C to radi onako kako radi. Do večeras nije bilo ništa - baš me interesuje da li će tamo neko od onih hiljada korisnika znati rešenje! Ako baš ne budu znali, moraćemo da im kažemo...
turbo.pascal.21 vkostic,
Dejane, vidim da nisi odoleo da pozoves BIX. Kako izgleda?
turbo.pascal.22 dejanr,
>> Dejane, vidim da nisi odoleo da pozoves BIX. Na žalost, pozvati BIX nije dovoljno - treba platiti $156 za godinu dana - ako imaš kreditnu karticu, možeš odmah da počneš da radiš (naš slučaj) a ako nemaš moraš da čekaš papire pa da platiš pa da čekaš da pare stignu... >> Kako izgleda? Moram da kažem da sam još poprilično zbunjen. Korisnički interfejs prilično podseća na SEZAM-ov (ili obratno) s tim što je SEZAM-ov bolji (ha, ha, meni stvarno tako izgleda - valjda što sam navikao) imaš menije i komandni mod, same skraćenice prilično podsećaju na Unix (who...). Imaš uglavnom sekciju privatnih poruka i sekciju konferencija s tim što se fajlovi skupljaju preko konferencija (ima tema listings manje-više svuda). Uz ovu poruku poslaću kompletan spisak konferencija na BIX-u (ima ih brat bratu 400) i što je najvažnije gde god odeš ima puno poruka - nije ni čudo kad istovremeno radi po nekoliko stotina korisnika! Ideja koju bi možda trebalo ukrasti je scratchpad - uđeš u konferenciju i onda, umesto da listaš poruke, pre svake READ komande daješ reč FILE. Sve što bi listao se umesto na ekran upiše u tvoj scratchpad i odatle možeš da napraviš download kada sakupiš sve što ti treba. Najteže je što je broj poruka ogroman, vuku se još od 1987, i stvarno nije lako izdvojiti ono što ima nekakvog smisla. Isto važi i za fajlove - beskrajne gomile svega i svačega iz kojih treba izvaditi ono što je potrebno... Biće o tome dosta reči ovde i u "Računarima"... samo dok se malo snađem! Dejan bixconf.zip
turbo.pascal.23 dejanr,
Još nešto - od ljudi koje poznaješ članovi BIX-a su i SysOp-i Zagreb BBS-a i MIPS-a, Darko i Tom. Možda ima još Jugoslovena ali treba nekako da prokljuvim kako naterati sistem da pretražuje bazu korisnika po državi iz koje su...
turbo.pascal.24 dejanr,
Hiljade programera na jednom mestu ipak nešto znače - dva dana posle poruke na BIX-u dobio sam dva odgovora, zvaničan i nezvaničan. Nezvaničan odgovor je napisao 'hack', ALLEN P. ACKERMAN, Kenmore, New York 14217 a drugi morerator konferencije 'adhillon', Amrik Dhillon, ScottsValley, CA. Prva procedura je "kucana iz glave" i svakako bih je probao da nije došla druga. A ta druga je jedna mala arhiva u kojoj je CHAIN.ASM, CHAIN.OBJ pa čak i CHAIN.DOC gde je kompletan mehanizam detaljno obrađen. CHAIN arhivu ću "prikačiti" uz ovu poruku dok 'hack'-ovo rešenje može da dobije svako koga to interesuje. Za one koje sam Turbo Pascal ne zanima ali ih problem 'chain' muči, evo kratkog objašnjenja iz dokumentacije: CHAIN works by using DOS function 4B, subfunction 03 (load overlay) to overwrite the current code in memory and transfer control to the new program. While performing the load overlay call, CHAIN executes a number of steps: o All available memory is allocated to the process. o All file handles except StdIn, StdOut, and StdErr are closed. o Interrupt vectors 0, 2, 23h, 24h, and 75h taken over by the Turbo SYSTEM unit are restored to their original values. o The new command line is put in place within the PSP. o FCB's normally initialized by the DOS loader are initialized using the new command line. o The machine stack is moved to the top of available memory, a step required for the load overlay call to work reliably. The newly loaded program will move the stack back to wherever its normal location. o After the new program is loaded, the registers DS, ES, SS, and SP are initialized the same way that the DOS loader normally would and control is transferred to the entry point of the program. Ah da, čisto da steknete utisak o tome kako BIX izgleda, evo poruka koje su se bavile ovim problemčićem: ========================== borland/turbo.pascal #3151, from hack, 4379 chars, Mon Dec 4 01:32:30 1989 This is a comment to message 3147. There are additional comments to message 3147. -------------------------- RE: Chaining... The following is an adaption of my old EXEC function, modified to allow overlays, which in essence are what you want a Chain procedure to do. It was a quick piece of code I threw together, so it might not work first try. Let me know if it doesn't, and if possible why... The PPB is short for Program Parameter Block... .... ovde je bio program .... Hope this helps... Hack Read Ref:reply Comment to message number 3151. Enter text. End with '.<CR>' >Thanks a lot, Hack, I'll comment when I try which will be >Very Soon! >I really needed this piece of code! >. Add/action:send Adding message...Message 3156 added. Read Ref: ========================== borland/turbo.pascal #3154, from adhillon, 178 chars, Mon Dec 4 16:52:29 1989 This is a comment to message 3147. -------------------------- RE: Chaining This is in addition to Hack's Chain procedure.. There is a file here in the listings called CHAIN.ARC which accomplishes exactly what you want. Good luck. Amrik- chain.zip
turbo.pascal.25 vkostic,
Dejane, tvoja seansa na BIX-u me je oslobodila obaveze da jos jedanput disasembliram spawn funkciju. Bas cu sada da pogledam kako to rade Ameri... Kazes hiljade korisnika, stotine linija? Koja razlika u odnosu na SEZAM ! Mozda bi SEZAM za utehu moga da napise korisniku nesto ovako: Please consider yourself to be a very important personage, since you are connected to the one and only node SEZAM have. Pozdrav, V.K.
turbo.pascal.26 bojanp,
Eh, eh!! Covek izgleda nikad nije dovoljno bezobrazan. Kada sam kupio TP4.0 smetalo mi je sto nema CHAIN funkciju kao u TP3, pa sam resio da je napravim. Resenje je slicno onom koje je stiglo na BIX, ali se razlikuje u jednom detalju; parce koda koje ucitava novi program se nalazi u posebno alociranom delu memorije, a ne u PSP-u (koje li drskosti !?). Takva "prljavstina" mi uopste nije "pala napamet", mada je u stvari vrlo "logicna". Gde ste videli program kome treba svih 80h byte-ova u command tail-u? Sve u svemu stvarno izuzetno dobro resenje. Izvinjavam se Dejanu i Vladi sto se nisam ranije ukljucio u diskusiju, ali nisam bas imao vremena za pisanje, a bilo mi je glupo da ostavim poruku u stilu "znam kako se to radi" bez bilo kakvog objasnjenja. Uzgred Vlada jos uvek duguje primer kako to radi Turbo-C, a ja cu poslati primer kako to radi TP3.0 (s tim sto treba uociti razliku da TP3.0 moze da chain-uje samo COM file-ove, a Turbo-C verovatno i EXE). Dejane, zanima me i alternativno resenje koje si pokupio s BIX-a, pa bih te molio da mi ga na neki nacin posaljes. Bojan
turbo.pascal.27 dejanr,
Ne znam koliko je rešenje alternativno a koliko je ustvari ista stvar bez mašinca ali ga šaljem uz ovu poruku - možda bi ASCII upload bio zgodniji ali BIX ima široooooke redove a mrzi me da to u tekst procesoru seckam i potpisujem. Bio je to zanimljiv problem, zar ne? Imate li vi neko Turbo Pascal pitanje za BIX? hack.zip
turbo.pascal.28 ilja,
Neka piše "SEZAM je mali, ali tehničar!"
turbo.pascal.29 bojanp,
Pogledao, sam resenje (koje u stvari predstavlja deo paketa Turbo Professional 4.0 firme TurboPower Software) i hteo bih da dam jednu napomenu. Funkcija je pisana za TP4.0, a verzija TP5.0 se u nekim (za ovaj problem bitnim stvarima) razlikuje od prethodne verzije. Prema tome oni koji koriste ovu funkciju u kombinaciji sa TP5.0 ili TP5.5 neka budu oprezni. Razlika se pre svega odnosi na IVT (Intterupt Ve\Ä.óů늼ą gde TP5.0 menja veci broj entry-ja nego TP4.0. Ovo se pre svega odnosi na interapte za emulaciju numerickog koprocesora i interapte za rad overlay manager-a. Moguce je da to nece praviti nikakve probleme, ali malo opreza nikad nije na odmet. Bojan
turbo.pascal.30 dejanr,
Imaš li predlog za izmenu koja bi stvar učinila potpuno sigurnom i za TP 5.0/5.5?
turbo.pascal.31 bdobranovic,
~r Ja sam rad sa prozorima rijesio na slijedeci nacin. Procedura STOREWINDOW posprema prozor.Pri pozivu treba navesti x i y lokaciju gornjeg lijevog kuta,x i y lokaciju doljnjeg desnog kuta i broj prozora(od 1 do 15). Pri pozivu procedure RESTOREWINDOW treba navesti samo broj prozora koji se zeli ponovo prikazati na ekranu. Unit Window sam u source kodu i TPU formatu uploadao pod nazivom WINDOW.ZIP Zanimalo bi me da li je mozda netko takodjer napravio procedure za rad s prozorima i na koji nacin. Bojan Dobranovic
turbo.pascal.32 bdobranovic,
U prethodnoj poruci radi smetnja na vezi nije snimljen fajl WINDOW.ZIP pa ga saljem u ovoj. window.zip
turbo.pascal.33 dejanr,
Sasvim nevezano sa temom diskusije - ako slanje datoteke uz poruku iz bilo kog razloga ne uspe, na raspolaganju je komanda ATTACH poruka datoteka kojom fajl možete naknadno prikačiti. Mislim da ovu komandu još niko nije upotrebio iako postoji od prvih SEZAM dana.
turbo.pascal.34 bojanp,
Trenutno nemam definitivno resenje sta treba izmeniti, ali se nadam da cu u narednih par dana naci malo vremena da to detaljno ispitam. Obzirom da radim sa TP5.0, molim one koji imaju TP5.5 da mi kazu da li je Borland pravio jos neke promene u odnosu na prethodnu verziju (onu koju ja koristim), sem sto je dodao ono malo naredbi za OOP. Koliko je meni poznato nije. Da li sam u pravu? Bojan
turbo.pascal.35 dejanr,
Spolja posmatrano, sasvim si u pravu - dokumentacija je POTPUNO ista s tim što je dodata OOP knjižica. Međutim, izmena očito ima pošto su EXE fajlovi za nijansu kraći i brži, CMP otkriva dosta razlika... Ne verujem, međutim, da su neke od tih razlika bitne - verovatno se radi o ispravci nekih bagova i daljoj optimizaciji.
turbo.pascal.36 gnoc,
Zdravo ! Zelio bih koristiti L°─COMM rutine u Turbo Pascalu. Posto sam cista nula u asembleru i C-ju, molim za uputstvo, kako da te rutine pozovem iz TP. Hvala, Gorazd
turbo.pascal.37 zzivotic,
:: Zelio bih koristiti LCOMM rutine u Turbo Pascalu. Posto sam :: cista nula u asembleru i C-ju, molim za uputstvo, kako da te :: rutine pozovem iz TP. Iako ne mogu direktno da ti odgovorim na ovo pitanje jer nisam stručnjak za Turbo Pascal, mogu ipak da ti dam savet. Naime, kako je u tekstu u "R" objašnjeno, problem sa COMM portovima jer u tome što ih BIOS podržava na krajnje pojednostavljen način. Alternativa je (1) ili izrada sopstvene podrške za rad sa COM portovima (LCOMM), ili upotreba neke vrste drajvera koji zamenjuje BIOS rutine i pruža adekvatnu podršku komunikacionim programima. Ovo drugo rešenje je za početak svakako jednostavnije. Jedan od ovakvih programa, fossil drajvera kako se nazivaju je i X00.SYS koji može naći na nekom od ostalih BBS-ova (recimo ZAGREB BBS). Nakon što u CONFIG.SYS ugradiš liniju DEVICE=X00.SYS možeš slobodno koristiti standardne BIOS pozive u tvom programu - dakle preko interapta 14h funkcije 0 - status, 1 - send, 2 - receive. Pozdrav, zz
turbo.pascal.38 dejanr,
Upozorio bih te da u decembarskim računarima, u okviru "Bajtova lične prirode", imaš set osnovnih Turbo Pascal procedura za rad sa COM portovima. Pretpostavljam da ne bi bio preveliki problem da se na to nagradi podrška interapt mehanizma.
turbo.pascal.39 lgavrilovic,
Evo malo paskalskih buggova. "Padaju" i TP 5.0 i TP 5.5 Računar je bez koprocesora. š$A+,B-,D+,E+,F-,I+,L+,N+,O+,R+,S+,V+ć š$M 16384,0,655360ć var r:double; begin r:=11.1; r:=int(r*10)/10; writeln(r:18:2); r:=11.1; r:=int(r*10.0)/10; writeln(r:18:2); r:=11.1; r:=int(r*10.0)/10.0; writeln(r:18:2); š---------- OK --------ć r:=11.1; r:=r*10.0; r:=int(r); r:=r/10.0; writeln(r:18:2); š---------------------ć end. pozdrav GWW.
turbo.pascal.40 davorin,
Par pitanja o Turbo Pascalu: - da li su LongInt oznaceni ili ne? - sto znaci sljedeca deklaracija: a:array[b..c] absolute l; - ako su w:word i i:integer da li inc(w) radi brze od succ(i) - koliko prostora zauzima varijabla tipa pointer (na bilo sto), 2 ili 4 bajta ?
turbo.pascal.41 dejanr,
Kao što obično biva, čovek nešto zna a nešto misli da zna. Tako ću i ja odgovoriti >> da li su LongInt označeni ili ne? Znam: označeni su. >> što znaci sljedeca deklaracija: a:array[b..c] absolute l; Znam: znači da je niz lociran u memoriji počevši od adrese l; koristi se uglavnom za direktan pristup video memoriji >> ako su w:word i i:integer da li inc(w) radi brze od succ(i) Mislim da znam: ista stvar >> koliko prostora zauzima varijabla tipa pointer (na bilo sto), >> 2 ili 4 bajta ? Mislim da znam: 4 bajta
turbo.pascal.42 gnoc,
Dejan ima pravo ! >> koliko prostora zauzima varijabla tipa pointer (na bilo sto), >> 2 ili 4 bajta ? Citat iz Reference Manual-a : "A pointer type is stored as a double word, with the offset part in the low word and the segment part in the high word. The pointer value NIL is stored as a double-word zero." Jos jedan "hint" : Zasto ne pokusas da odgovoris na ta pitanja sa Turbo Pascalom samim? Prostor koji zauzima pointer variabla dobijas sa preprostim programom : Var P : Pointer; begin Writeln(SizeOf(P)); end. Isto tako mozes postupiti i kod "LongInt pitanja" : Var L : LongInt; begin L := -1; Writeln(L); end. Ako rezultat ne bi bio -1 ( a jeste ) to bi znacilo, da LongInt nije oznacen. A vjerovatno bi vec kompajler javio gresku u smislu : "Constant out of range." U vezi sa succ i inc isto tako mozes napisati testni program pa da na licu mjesta vidis sta je brze. Pozdrav, Gorazd
turbo.pascal.43 dejanr,
Osim toga, Turbo Pascal ima vrlo obiman i dobro organizovan HELP - toliko mi se puta desilo da u tom HELP-u nađem nešto što jedva da bih očekivao i u manualu da se ne bih začudio ni da to o dužini pointera negde piše.
turbo.pascal.44 zzivotic,
Jedini je problem u tome ako je čovek dobio turbo pascal program i hoće da ga prevede na nešto drugo. Turbo pascal nema pa kako onda da proveri sem da pita? Pozdrav, zz
turbo.pascal.45 gnoc,
Zorane, bez zamjere ! Znam da si programerska dasa. A stvarno nisam pomislio, da nemas TP. Ako imas jos neka pitanja, slobodno mi se javi. Pozdrav, Gorazd
turbo.pascal.46 zzivotic,
Očigledno je neki nesporazum u pitanju! Ja sam tvoju i Dejanovu prethodnu poruku shvatio neku vrstu prekora Davorinu zašto pita stvari koje bi lako mogao sam da proveri ili da pročita uputstvo pa sam pokušao da objasnim zašto bi neko mogao biti u situaciji kao on. Dakle, ako je dobio program na TP-u, a niti ima PC niti ima TP a hoće program da prevede na neki drugi jezik ili računar - jedino što mu ostaje je da pita onako kako je pitao. Pozdrav, zz P.S. Ja sam sa TP stao negde oko verzije 3.1 i praktično ga više ne koristim osim ponekad baš TURBOBCD 3.1. Pitanje ipak imam, imaju li novije verzije TP BCD support?
turbo.pascal.47 dejanr,
Jedno grozno pitanje koje će naterati svakog "strukturiranog programera" da iskoči iz kože - naime, postoji li način da iz jedne Turbo Pascal procedure nekako GOTO u drugu? Ovo mi neobično treba za jedan programčić pa ne pravim pitanje, može i sa INLINE. Pitao bih na BIX-u ali bi me tamo dočekali na nož pošto su zaključili da je GOTO kriv za sva zla ovoga sveta. Mi smo valjda malo liberalniji, zar ne? Pozdrav, Dejan
turbo.pascal.48 majkl,
>> postoji li nacin da iz jedne Turbo Pascal procedure nekako GOTO >> u drugu? Ovo mi neobicno treba za jedan programcic ... Sta je potrebno tom programu ne znam, ali mozda moze da pomogne: poziv:=ulaz; repeat case poziv of 1: proc_1; 2: proc_2; ......... end; until poziv=0; ============== procedure proc_x ................ if treba_poziv_x then begin poziv:=x; exit; end; ............... nisu 'prljavi' trikovi, a nije ni u duhu strukturnog programiranja... Pozdrav Majkl
turbo.pascal.49 dejanr,
Ne pomaže - treba mi GOTO koji će da uleti usred druge pro- cedure i da se onda, kada dođe do kraja, vrati u onaj program koji je pozvao prvu proceduru, dakle kao kad u bejziku napišeš: .... 100 gosub 1000 ... 300 gosub 2000 .... 1000 ... 1100 IF ... goto 2200 1110 ... 1500 RETURN 2000 ... 2200 ... 2300 RETURN U međuvremenu sam problem rešio na drugi način ali me ovo i dalje interesuje - pitao sam i na BIX-u (...) pa ću javiti ako oni smisle nešto pametno. Dejan
turbo.pascal.50 dejanr,
Borland je upravo predstavio Turbo Debugger 2.0, Turbo Assembler 2.0 i Turbo Profiler 1.0. Profiler je program koji vam omogućava da analizirate već urađeni program i ustanovite gde su mu "uska grla", takođe je vrlo zgo- dan za bilo kakvo ispitivanje performansi nekog programa i/ili sistema. Detalji u konferenciji FORUM, tema MICROB, poruka Konferencija 'FORUM', tema 'MICROB' poruka 26.7
turbo.pascal.51 dejanr,
Naravno, tamo na BIX-u ljudi sve znaju :-). Dakle, može GOTO usred procedure uz malo INLINE. Međutim, ono što je smešno, to je da je baš ovo objavljeno pre mesec dana u PC Magazine-u na koji su me tamo uputili. Naravno, ja sam PC Magazine imao ali ko bi to sve pročitao :-( Ako nekog interesuje, mogu da otkucam programčić pa da ga ovde priključim u cilju kompletiranja diskusije. Dejan
turbo.pascal.52 sdjurekovic,
Skok iz jednog bloka u drugi je vec sam po sebi semanticki nekorektan. Skok iz jedne procedure u drugu je #@!$%!!!. Osnovni uvjet da program prezivi takav skok jest da obje procedure imaju isto zauzece stack-a, tj. da zbroj velicina lokalnih varijabli i argumenata bude isti. To ces najlakse i najcisce postici tako da one imaju isti broj i tip argumenata i isti broj lokalnih varijabli. Side-effect skoka bit ce taj da varijable u proceduri u koju si skocio naslijedjuju vrijednosti iz predhodne procedure. Ovaj uvjet je neophodan zbog RET instrukcije na kraju procedure koja skida lokalni frame sa stack-a. Ako oni ne bi imali jednaku velicinu frame-a, nakon RET-a bi na stack-u ostalo smece, ili bi pokupio dio predhodnog frame-a. Kako neki prevodioci kod for-petlji stavljaju brojac na stack, (ne znam dali je to slucaj i sa TP), treba oprezno postupati kod skokova iz/u for-petlju. Kad smo vec kod RET instrukcije, neophodno je da obje procedure budu ili NEAR ili FAR (naravno zbog razlike izmedju RET i RETF). Mislim da vise nema ogranicenja. Npr. slobodno mozes skakati iz procedure u funkciju i obrnuto, nema problema i ako procedure imaju razlicite leksicke nivoe. . Sam skok izvodis preko inline kodiranog JMP WORD PTR [WHERE] odnosno, JMP DWORD PTR [WHERE]. WHERE je naravno offset labele gdje skaces u near modelu, odnosno SEG:OFS pointer na labelu u far modelu. SEG svakako treba biti isti kao i kod normalnog poziva target procedure. Kako to izvesti, druga je stvar. . I tako smo dosli i do jedinog pravog problema u cijeloj stvari, treba odrediti WHERE. Da ti pravo kazem, ne znam neki opceniti nacin kako to izvesti. TP naravno ne dopusta ADDR(LABELA). Ponegdje mozda mozes napraviti nesto ovako: . {$F-} Procedure Target; Label Where; begin { ... } Where: { ... } Exit; Goto Where; end; Procedure Dummy; begin end; . Vjerujem da TP to prevodi ovako: . ... Jmp Where Ret 10 ; npr. frame od 10 Dummy: Ret . Kako je labela Dummy adresibilna, preko nje mozes doci do adrese Jmp Where instrukcije, a iz ove jednostavno uzeti koliko je daleko Where. Trenutno mi nista drugo ne pada na pamet, a pitanje je dali je i ovo izvedivo. Ako ti je ipak taj postupak strasno nuzan i neophodan, mozda je najbolje da udjes u debugger i tamo potrazis gdje zelis skociti, a zatim eksplicitno iskodiras skok. . Kako su to na BIX-u napravili? S.
turbo.pascal.53 dejanr,
>> Kako su to na BIX-u napravili? Na BIX-u su se dosetili da naprave proceduru JUMP koju ako pozoveš sa argumentom, to je skok. Ako je pozoveš bez argumenta, to je label. Naravno, procedura može da sazna odakle je pozvana pa da to negde zabeleži i onda zna kuda da skoči. Probao sam i radi savršeno. Imam negde program pa ću izdvojiti taj njegov deo i staviti ga ovde. >> Skok iz jednog bloka u drugi je vec sam po sebi semanticki >> nekorektan. Skok iz jedne procedure u drugu je #@!$%!!!. Da li #@!$% stoji umesto "koristan" :-)
turbo.pascal.54 dejanr,
Nedeljom na BIX-u nema vesti ali evo jedne male zanimljive diskusije o NULL pointerima. ========================== borland/turbo.pascal #3833, from tanj, 1301 chars, Sun Mar 25 00:58:08 1990 This is a comment to message 3832. There is/are comment(s) on this message. -------------------------- TP may not generate code to catch wrong pointers, but you can use TD to catch them. Admittedly, slow unless you have a 386. It is non-trivial to generate code which catches wild pointers. Only a minority of such faults dereference NULL. The strongest systems add some overhead to the size of a heap allocation, as well as code everywhere you use a pointer -- and even then there is a problem because you can set pointers to non-heap objects. Would you add overhead to every integer or byte ? I'm not being sarcastic or down on you, just drawing your attention to the implications. A wild pointer is the programmer's error, how much would you be willing to add to your program's size and time to catch what fraction of such errors, and if it does not catch them all would it cause you to drop your guard thinking it will catch all such errors ? Effective support for catching bad pointers is one of the nicest things about protected mode, but DOS is not protected mode. I've spent many days chasing wild pointer bugs. A few fell into easy categories, like pointing to zero, but most were harder like pointing to an object which was freed or moved. There are probably an infinite number of ways program bugs could crash your disk. If you develop software for a living, you should use backups. ========================== borland/turbo.pascal #3834, from p.schmidt, 204 chars, Sun Mar 25 12:33:03 1990 This is a comment to message 3833. There are additional comments to message 3833. -------------------------- Hmm - if you have access to the runtime library, I suppose you could add in checks for the flying pointer. Sure, this adds overhead (perhaps a lot), but you'd take it out again in the production version. ========================== borland/turbo.pascal #3835, from daiken, 357 chars, Sun Mar 25 14:13:16 1990 This is a comment to message 3833. -------------------------- Tanj - I would like to be able to compile and run the program with the "pointer checking" on for test cases, and turn it off for production cases. If pointers to a type were initialized to NIL, wouldn't most cases come down deferencing a NIL pointer? I see your points, that this is a tough nut to crack in real mode, but I think it can be done. .A nnoD Ah, da: cela priča je počela tako što je jedan VRLO bezazlen program (naoko...) zaglupeo čoveku FAT-ove... Mali pointer i...
turbo.pascal.55 lgavrilovic,
Jedna slobodna noć za rad za svoju dušu. Malo Pascal, malo AutoCad, malo opet Pascal i evo jednog poklona za Sezam (a i da popravim moj UpLoad score). Treba vam sledeće: Obavezno: * Herkules karta (2 page t.j. HGC FULL), * oko 500-600 Kb slobodnih na disku. Neobavezno ali bolje: * neki brži PC (AT 12MHz pa naviše), * brži hard (ili cache i neki dodatni ram ili RAM disk ili norton-speed-ujte XYP datoteke na početak harda), * i koprocesor može pomoći. kucajte VOZI i gledajte, a kad Vam dosadi pritisnite bilo koji taster za prekid. pozdrav, GWW P.S. Verovatno može i bolje (Moj ACad malo štuca) ali ni ovo nije loše za jednu noć.
turbo.pascal.56 lgavrilovic,
Jedno izvinjenje: Datoteka uz poruku 8.55 nije bila prikačena jutros (30.3. u 6:55) zbog izuzetno loših telefonskih veza, a kasnije i zbog lične zauzetosti. Pokušao sam da je prikačim još par puta večeras ali ne ide pa ne ide. Interesantno je da kad nagura 16 error-a PCPlus iskoči a na ekranu umesto da bude 'Greška u komunikaciji' ispadne komandna linija i još par sekundi se pojavljuju razne matrakuke i poruka 'nepoznata CONFERENCE naredba'. Izgleda da kad padne XMODEM PCP s ove strane misli da još uvek radi a SEZAM s one da je završio. Datoteka ima oko 260Kb zipovano. Jako mi je žao što mi nije uspelo. GWW P.S. Pokušaću još jednom kada budem slao ovu poruku. (ako nema datoteke, znači nisam uspeo)
turbo.pascal.57 dejanr,
Ludo je, pored živog ZMODEM-a, koristiti XMODEM!
turbo.pascal.58 lgavrilovic,
Da ne bi bilo nesporazuma datoteka uz poruku 8.55 je ISPRAVNA (osim ako se nije desio uticaj kosmičkih zraka na transfer podataka) jedino što je prikačena naknadno (ATTACH). Ovo obaveštenje je iz razloga što mi je Vlada K. rekao da je moje poruke shvatio tako da nisam uspeo da pošaljem ispravnu datoteku. Primećena je inače jedna anomalija kod VANIMATE.EXE. Ja imam Paradise Ega kartu koja je uglavnom u autoswitch režimu. Iako je u programu ispitivanje da li je GrMode<>HercMonoHi Boralndov detektor detektuje Herkules režim ali traži EGAVGA.BGI umesto HERC.BGI. Sve radi korektno sa kada stavite EGAVGA.BGI. Ja na mojoj mašini ne mogu da testiram kako se program ponaša sa karatama koje nemaju 2 grafičke stranice, pa ako neko ima takvu kartu molim da ga testira i da me obavesti. Verujem da će biti od opšte koristi jer su korišćene samo standardne grafičke rutine. GWW
turbo.pascal.59 lgavrilovic,
Slažem se u potpunosti. Ja sam malo težak čovek kada je u pitanju prihvatanje novih stvari. Nikako mi se nije svidjao svojevremeno ARC, pa Norton commander, sada DSZ ali ima vremena (to mi ne smeta da ih sada ne koristim). Posle nekog tvog članka o svojevrsnim problemima sa ZMODEMOMom nisam se jednostavno odlučio da ga koristim. Medjutim posle Vladinih argumenata u jednom telefonskom razgovoru stvar se malo popravila. P.S. Za ono 'ludost' neko bi mogao i da se uvredi. Ima lakših ljudi na jeziku od mene. Osećam se tak bedasto .... :-))))) Uz dužno poštovanje, Pozdrav GWW.
turbo.pascal.60 mikij,
Da li neko moze da mi kaze kako da deklarise podprograme iz LCOMM-a.(rutine Zorana Zivotica za komunikaciju sa COM portovima) Probao sam na razne nacine i ne ide. :-( P O M O C ! ! ! Hvala, Miki. :-(((((( SMRK!
turbo.pascal.61 mikij,
Dobro, recite mi barem da li je moguce???  Miki.
turbo.pascal.62 dejanr,
Teorijski je moguće - treba ih asemblirati, dobiti .OBJ fajlove i to sa $L učitati u Turbo Pascal kao eksterne procedure. Plus rešiti problem argumenata. Ima u upustvu za TP primera kako se to radi. Sve ovo teorijski. Probao nisam. Pozdrav, Dejan
turbo.pascal.63 rozi,
Saljem ti unit rs232.pas, koji ti moze posluziti za komunikaciju. Preporucujem ti ga umesto fossil drivera jer su (bar one verzije koje su mi dosle do ruku) prilicno zbrkano napravljeni, komlikovani i puni bugova. Ovako imas uvid u sve sto program radi, a mozes i da ga izeditujes za specificne primene. Happy rs232-ing \ / Robb| rs232.zip
turbo.pascal.64 aleks,
HELP!!! HITNO MI JE POTREBNO : KAKO PISATI,CITATAI,AZURIRATI DBASE III/CLIPPER DATOTEKE, INDEKS I DBF, TREBA MI DETALJNI FILE DESCRIPTOR TAKO BAR DA MOGU DA NAPISEM BAR SAM UNIT PRISTUP - NESTO KAO MODBASE ZA MODULU 2 HVALA UNAPRED, ACA.
turbo.pascal.65 bojanp,
Aco, nemam opise NTX i DBF datoteka, ali mozda za pocetak moze da ti pomogne ovaj unit koji cita DBF. Imas source pa izvoli. Pozdrav Bojan db2pas.zip
turbo.pascal.66 mikij,
Zamolio bih SEZAM-ovce da mi pomognu!!! Ne mogu uspesno da povezem asemblerske programe sa tpascal programima. Problem je u prenosenju parametara. U TP-u je sve u redu, nema poruka o greskama, COMPILE OK... Ali asemblerski programi nema sanse da nadju parametre koje sam im poslao. Pokusao sam na razne nacine (stack...) ali nema sanse. Svaka pomoc je dobro dosla, a narocito neki primer. Imace parametri su ili word ili integer imi byte (ako nekom pomaze). Unapred hvala, pozdrav Miki
turbo.pascal.67 dejanr,
>> Ne mogu uspesno da povezem asemblerske programe sa tpascal >> programima. Problem je u prenosenju parametara. U TP-u je >> sve u redu, nema poruka o greskama, COMPILE OK... Ali asemblerski >> programi nema sanse da nadju parametre koje sam im poslao. Pošali primer kako si to radio pa ćemo te "ispraviti".
turbo.pascal.68 mikij,
Da ne bi slao i objasnjavao pokazite mi (ako znate) kako da povezem LCOMM rutine sa TP programima. Mozda je tu nastao neki problem jer sam morao da izmenim nazive DATA i CODE segmenta, jer TP nije prihvatao original. Izmene: ASSUME CS:CODE, DS:DATA ... DATA SEGMENT WORD PUBLIC ... DATA ENDS CODE SEGMENT WORD PUBLIC ... CODE ENDS ... Ako vam treba jos podataka recite jer stvarno ne znam sta moze da vam pomogne. Pozdrav Miki
turbo.pascal.69 mikij,
Jeste malo (vise) zakasnelo ali nisam imao bas puno vremena. Moja rutina je samo nadgradnja tvoje, koristi heap i naredbu absolute, pa moze da bude zanimljiva i drugima. Naravno nisam je usavrsavao, ona je samo ideja... Pozdrav Miki win.zip
turbo.pascal.70 nesic,
Jos dosta davno sam se zaradovao kada sam primetio da racunar na kome sam tada radio raspoznaje kodove tastature koji inace ne postoje (<Ctrl>-<UpArrow>, <Ctrl>-<DownArrow>, itd). Posto vec na sledecoj masini to nije funksionisalo ustanovio sam da je krivac bio SideKick+. Posto je program bio ogroman i intenzivno je koristio te kodove (i mnoge druge koji inace ne postoje) instalirao sam i na tom racunaru SideKick+ i time se odrekao dragocenih 100KB memorije koja mi je ionako bila mala (radi se o aplikaciji za "graficko predstavljanje urbanog prostora"). Kako da prevazidjem ovu glupost i da pomocu nekog TSR programa (kraceg od 100KB) ili bilo kako u Turbo Pascalu 5.5 nateram racunar da raspoznaje i ove kodove. Ne znam gde mi je cela tabela tih "nepostojecih" kodova, ali evo nekoliko njih koji su mi najpotrebniji. Postojeci: - <Ctrl><ArrowLeft> 0 115 - <Ctrl><ArrowRight> 0 116 - i ostali (vec poznata stvar) Nepostojeci: - <Ctrl><ArrowUp> 0 141 - <Ctrl><ArrowDown> 0 145 - <Ctrl><Tab> 0 148 - <Alt><Tab> 0 165 - <Ctrl><0> 0 184 - <Ctrl><1> 0 185 - <Ctrl><2> 0 3 (postoji) - <Ctrl><3> 0 187 - <Ctrl><4> 0 188 - <Ctrl><5> 0 189 - <Ctrl><6> 30 (postoji) - <Ctrl><7> 0 191 - <Ctrl><8> 0 192 - <Ctrl><9> 0 193 - i mnogi drugi ... Ako neko napravi rutinu ja cu vec obaviti fizicki deo posla oko unosa svih scan kodova. Pozdrav Srba Nesic P.S. Sada na mom racunaru imam operativni sistem PC-MOS koji raspoznaje neke scan kodove (isti su kao i u SideKick+), ali ne sve. Mislim da sam negde video rutinu Vlade Kostica koja mozda moze da resi moj problem ali ne secam se gde. S.N.
turbo.pascal.71 mikij,
Posto sam se duze vreme radio sa COM portovima trebao mi je dobar drajver za slanje i primanje znakoma sa RS232. Ovaj iz prethodne poruke mi je posluzio za primer (osnovu) necek malcice kompleksnijeg i "boljeg" (to ce javnost odnosno vi odluciti). Neke rutine su dozivele minimalne promene, neke uopste nisu menjane, ali je znacajno poboljsana komunikacija sa programom koji poziva rutine, posto je to bila jedina prepreka na koju sam naisao. Nadam se da se autor nece ljutiti zbog ovih promena jer sam radio sa najboljom voljom, i samo da pomognem sebi i drugima. Rutine ce moci da dobije svako ko ostavi poruku bilo gde (licnu ili u konferenciju). To je uradjeno da bih imao barem mali pregled o tome koliko ljudi ima rutine odnosno ko se za ovu oblast interesuje. Ocekujem primedbe i sugestije jer ce to pored usavrsavanja rutina doprinositi i povecanju mog veoma malog iskustva. Pozdrav Miki. P.S. Molim da se autor originala javi radi diskusije ili ako ima bilo sta protiv ovih izmena.
turbo.pascal.72 nesic,
Ponavljam pitanje. Primetio sam da kada je aktivan SideKick+ rutina za citanje tastature prepoznaje i nepostojece kombinacije tastera. BIOS rutine "Extended Keyboard Read" i "Extended Keyboard Status" (INTR($16), AH:=$10 i AH:=$11) zavrsavaju vecinu posla, ali ipak ne mogu prepoznati sledece kombinacije, koje, kada je instaliran SideKick+ normalno rade: ŠCtrlĆŠ0Ć 0 184 ŠCtrlĆŠ1Ć 0 185 ŠCtrlĆŠ2Ć 0 3 (postoji) ŠCtrlĆŠ3Ć 0 187 ŠCtrlĆŠ4Ć 0 188 ŠCtrlĆŠ5Ć 0 189 ŠCtrlĆŠ6Ć 30 (postoji) ŠCtrlĆŠ7Ć 0 191 ŠCtrlĆŠ8Ć 0 192 ŠCtrlĆŠ8Ć 0 193 U prilogu su funkcije ExtKeyPressed i ExtReadKey koje su alternativa funkcija KeyPressed i ReadKey u Turbo Pascalu. Nesic keyread.zip
turbo.pascal.73 bmijatovic,
Za potrebe polaganja ispita mom prijatelju je HITNO potreban dobar udzbenik za Pascal (na nasem jeziku). Molim Vas da mi preporucite neki koji je moguce naci u nasim knjizarama. Takodje mu je potreban program HiSoft Paskal za Amstrad CPC 464 ili Turbo Paskal za IBM masinu. Unapred zahvalan, - BANE -
turbo.pascal.74 vkostic,
>> Za potrebe polaganja ispita mom prijatelju je HITNO potreban >> dobar udzbenik za Pascal (na nasem jeziku). Postoji prevod knjige "Pascal user manual and report". Cini mi se u izdanji Mikro Knjige. Potrazi u nekoh dobroj knjzari. Pozdrav, V.K.
turbo.pascal.75 dejanr,
========================== borland/turbo.pascal #4584, from dmason, 1450 chars, Tue Nov 6 15:51:46 1990 This is a comment to message 4583. -------------------------- Yes, the announcement happened last night. I was there. TP 6.0 was announced. Pretty much all the rumors you've probably heard were true. Turbo Vision "Application Framework" is the big additional feature. An inline assembler has been added. A new, more powerful IDE (developed using TurboVision, by the way). Borland also gave a sneak preview of Turbo Pascal for Windows, which they'd previously planned keeping secret until Comdex. It'll be available sometime in 1991. (Sure looked neat.) One thing I didn't find out til I got home... the heap manager has been changed a good bit. So if any of your code does funky things with the heap, you may have to do some rewriting. When I tried recompiling TurboPower's Object Professional, the compile bombed in a bunch of places. I left a message on Compuserve to the TurboPower people, they (Kim K. himself) said that the changes to the heap manager had required changes to ten or more files. So there's no quick fix other than waiting for the upgrade to Object Professional 1.1, later this month. If anybody else gets Turbo 6.0 and depends on OPRO, they may want to consider waiting until the OPRO upgrade before installing TP 6.0. Another tidbit for TP fans... the manuals have been reorganized... there's four of them now, and they're all pretty thin, and if you open one of them, they STAY OPEN and don't FALL APART. They seem to be bound with thread, and not just glue. Hooray. --dkm ========================== pascal/turbo #4192, from pgm, 394 chars, Mon Nov 5 21:52:02 1990 This is a comment to message 4191. There is/are comment(s) on this message. -------------------------- I attended the 'official' release of Turbo Pascal 6.0 tonight. Very impressive presentation/very impressive program. Aside from giving out free copies of the software <grin> the best thing was that they announced development of an integrated development environment for Windows 3.0. They even showed a bit of what they had. Also impressive! Borland definitely knows what they're doing. ========================== pascal/turbo #4193, from barryn, 248 chars, Mon Nov 5 22:04:48 1990 This is a comment to message 4192. There are additional comments to message 4192. -------------------------- I'm just speculating, but I think Borland will have to supply the equivalent of the Windows Software Development Toolkit (SDK), including Resource Compiler, Dialog Box Editor, etc., in order to sell a Turbo Pascal that creates Win Apps. Yes? ========================== pascal/turbo #4194, from bbrown, 250 chars, Tue Nov 6 11:43:35 1990 This is a comment to message 4192. -------------------------- >official release of 6.0 ... I'm stuck in Washington for the next two days and so am out of touch. I'd appreciate your posting as much about your impressions as you have time for, either here on in /long.messages as appropriate. Thanks.
turbo.pascal.76 dejanr,
========================== borland/turbo.pascal #4585, from dejanr, 191 chars, Tue Nov 6 16:33:49 1990 This is a comment to message 4584. -------------------------- I always have three questions about Turbo Pascal: 1. Are there structures larger then 64K? 2. Can it use extended or expanded memory for heap? 3. Is it shipping? How about TP6.0? Dejan ========================== borland/turbo.pascal #4586, from whofan, 807 chars, Tue Nov 6 16:41:54 1990 This is a comment to message 4585. There is/are comment(s) on this message. There are additional comments to message 4585. -------------------------- Well, Borland finally got 'round to posting some news release stuff on CompuServe. Thing that irks me is that Borland says TP6.0 is "shipping immediately" and according to the Borland order dept. this is not true. I was told it'd be AT LEAST FOUR WEEKS before my upgrade was shipped. What's the story, Borland? Is it shipping or is it vapor? I've gotten every upgrade from 3.0 on, and every time, Borland comes out and says it's shipping "today" and then the order people say no, not four at least 4 weeks. And I usually don't get the package for 5 or 6. Does anyone know if Turbo Vision works with BGI? Or is this yet another text-based windowing thing? It's of no use unless it supports BGI and works in graphics mode. It's almost 1991, and it's hard to believe text mode is still around. ========================== borland/turbo.pascal #4587, from adhillon, 132 chars, Tue Nov 6 18:02:19 1990 There is/are comment(s) on this message. -------------------------- TITLE: TP6.0 Announcement for more information about the Turbo Pascal 6.0 release look in the Long.Messages area, message #26. ========================== borland/turbo.pascal #4588, from adhillon, 83 chars, Tue Nov 6 18:12:23 1990 This is a comment to message 4585. -------------------------- the answers are: 1. No 2. No 3. about 2 weeks TP6.0 shipping in about 2 week or so ========================== borland/turbo.pascal #4589, from whofan, 784 chars, Tue Nov 6 18:24:58 1990 This is a comment to message 4587. There is/are comment(s) on this message. -------------------------- Taken from the long.messages message #26: > BORLAND SHIPS OBJECT-ORIENTED TURBO PASCAL 6.0 Shouldn't that be "BORLAND PLANS TO SHIP..."? > Borland International... today announced and started shipping... Did Borland truly start shipping TP6.0? To whom? > Turbo Pascal... is available now for... Is it REALLY? > Both products are available immediately... Oh yeah? It's not normally my nature to flame like this, but it sure is frustrating to hear two different stories from two different Borland people. I must get 2-3 packages a week from "Phillipe Kahn" (that's all it says on the envelope) asking me to buy Paradox or Quattro Pro. I don't want Paradox. I don't want Quattro Pro. I want Turbo Pascal! Today, not in December some time. Ok, off of soap box now. ========================== borland/turbo.pascal #4590, from adhillon, 254 chars, Tue Nov 6 18:52:59 1990 This is a comment to message 4586. There are additional comments to message 4586. -------------------------- take a look in the long.message area, message #26 for more details about TP6.0 . BGI is supported within the TVision environment. TVision is still in text mode though. There is a demo of this called TVBGI.PAS in TP6.0 that will illustrate the interface. ========================== borland/turbo.pascal #4592, from john.r.strohm, 55 chars, Tue Nov 6 20:23:39 1990 This is a comment to message 4584. There is/are comment(s) on this message. -------------------------- Any word yet on an upgrade policy for owners of TP5.5? ========================== borland/turbo.pascal #4593, from dmason, 470 chars, Tue Nov 6 23:54:00 1990 This is a comment to message 4586. -------------------------- According to the Borland folks at the announcement yesterday, TurboVision is text-only, but they intend for it to do graphics eventually. The chief developer said "we've got some ideas" or something like that. Maybe he was talking about the next regular DOS version, or maybe he was talking about Turbo Pascal for Windows. By the way, it was my understanding that they'll continue developing the non-windows version even when the windows version is released. --dkm ========================== borland/turbo.pascal #4594, from adhillon, 82 chars, Wed Nov 7 11:59:17 1990 This is a comment to message 4589. -------------------------- The shipping of TP6.0 will be in about 2 weeks from the announcement date, Nov 5. ========================== borland/turbo.pascal #4595, from adhillon, 96 chars, Wed Nov 7 12:02:06 1990 This is a comment to message 4592. There is/are comment(s) on this message. -------------------------- the upgrade cost for TP5.5 to TP6.0 is $69.00 for just TP6.0 and $95.00 for the TP6.0 Pro Pack. ========================== borland/turbo.pascal #4596, from lkraft, 1155 chars, Wed Nov 7 16:50:01 1990 This is a comment to message 4576. -------------------------- Prez, Before reading your message, I posted the press release file in borland/listings, as I do with every press release I post. Unfortunately, I failed to mention the file's availability to John Wong, Amrik or anyone else in this topic. Oh well, so now there's a copy in borland/listings as TP6.RLS and another one in long.messages. I only bring this up because I want to let you know that I prefer to continue putting press releases in borland/listings, since I have a pretty decent script for uploading multiple files to listings. This is meaningful, as opposed to using something like JLBlink for a message in long.messages, because having a script puts me in a position to link it to other similar scripts for other online services. I'm trying to get it so when I do these "little" favors for our PR people it doesn't take such big chunks of my day. After that, perhaps I'll put together a little program to which I can feed the filename(s), description(s), keywords, etc. and the program will generate the upload scripts for BIX, CompuServe and GEnie. Obviously, this will have applications for things other than press releases, too. Larry
turbo.pascal.77 dejanr,
========================== borland/long.messages #26, from adhillon, 4353 chars, Tue Nov 6 17:58:52 1990 -------------------------- TITLE: TP6.0 Announcement BORLAND SHIPS OBJECT-ORIENTED TURBO PASCAL 6.0 BOSTON, Mass. -- November 5, 1990 -- Borland International (NASDAQ:BORL) today announced and started shipping the newest version of Turbo Pascal, its popular object-oriented programming language. Since its introduction in 1983, Turbo Pascal has become the world standard, used by more than two million Pascal programmers worldwide. "Turbo Pascal 6.0 offers computer programmers the latest in object-oriented technology, giving them the ability to create software applications faster than ever before," said Philippe Kahn, Borland's chairman, president and CEO. Turbo Pascal 6.0 will be supported by third-party library and tool vendors as well as trade, professional and educational publishers. More than 25 new Pascal books will be published for users at all experience levels. Among these is Turbo Pascal 6: The Complete Reference, part of the Borland*Osborne/McGraw-Hill Programming Series. The new features in Turbo Pascal 6.0 include: Turbo Vision, which puts the ability to write professional-quality applications within the reach of every programmer. This application framework allows programmers to start from a generic, inheritable application with complete built-in support for overlapping windows, pull-down menus, handling of mouse and keyboard events. Turbo Vision's data management capabilities include extensible collection types and the ability to save and load persistent objects. A new Integrated Development Environment (IDE), which offers high programmer productivity by offering overlapping windows and mouse support, a new multi-file editor, dialog boxes, cut-and-paste clipboard and integrated debugging with a new register window and conditional breakpoints. Turbo Pascal 6.0 also features an online tutorial and Turbo Help, a comprehensive hypertext help system. Turbo Pascal 6.0's new built-in assembler gives programmers complete access to Pascal symbols and allows the easy addition of assembly language routines to boost the performance of Pascal code. Turbo Pascal Professional 6.0 includes all the features in Turbo Pascal 6.0 plus: The command-line Turbo Drive (TM) compiler, which runs in extended memory and allows compilation of very large DOS applications. The award-winning Turbo Debugger, which supports object-oriented debugging and features reverse execution. Turbo Drive allows Turbo Debugger to debug programs of any size on 286 or 386 PCs with extended memory. Turbo Profiler, the first interactive profiler for DOS, measures program performance and helps programmers spot execution bottlenecks. The MASM-compatible Turbo Assembler generates highly optimized code, supports 486 instructions and offers a high level language interface for easy integration with Pascal and C. "First introduced in November 1983, Turbo Pascal has emerged as the preferred language for learning good structured programming style," said Gene Wang, general manager of Borland's Languages Business Unit. "And now on its seventh anniversary, Turbo Pascal 6.0 offers programmers the ideal gateway into the new world of object-oriented programming." Availability and Price Turbo Pascal 6.0 is available now for IBM PC/XT/AT and PS/2 computers and 100% compatible systems with 512K RAM (256K for command-line compiler), DOS 2.0 or later versions that are 100% compatible. A hard disk is recommended. Turbo Pascal Professional 6.0 will be available in German, French and Italian in the first quarter of 1991. The U.S. and Canadian version of Turbo Pascal has a suggested retail price of $149.95; Turbo Pascal Professional 6.0 is $299.95. Both products are available immediately through major resellers or direct from Borland. Registered Turbo Pascal customers in the U.S. and Canada can upgrade to Turbo Pascal 6.0 for $69.95, or to Turbo Pascal Professional 6.0 for $99.95. Borland International, Inc. (Scotts Valley, Calif.) is a leading developer of business software and of object-oriented programming languages and tools. Borland offers some of the world's most widely used PC software, including Paradox, Quattro Pro, Sidekick, Turbo C++, and Turbo Pascal with Objects.
turbo.pascal.78 dejanr,
Koliko iz ovoga vidim, nema mnogo sreće u TP6.0 - umesto da malo srede upravljanje memorijom, daju veće strukture i stringove (256 karaktera u stringu... jel ovo 1990. ili 1983?), Borland ide na "objektna pojačanja". Ali, šta je tu je... Zanimljivo će biti videti novu integrisanu okolinu a i taj TP za Windows bi mogao da bude zanimljiv kada se pojavi...
turbo.pascal.80 rozi,
Meni vec polako dokusuruje zivce ovo Borlandovo ignorisanje problema, zna li neko za neki pascal kompajler koji ima velike strukture podataka i u kome se moze koristit heap preko 640K? Pozdrav \ / Robb|
turbo.pascal.81 dejanr,
>> zna li neko za neki pascal kompajler koji ima velike >> strukture podataka i u kome se moze koristit heap preko 640K? Nema takvog... na žalost.
turbo.pascal.82 bojt,
>> >> zna li neko za neki pascal kompajler koji ima velike >> >> strukture podataka i u kome se moze koristit heap preko 640K? >> >> Nema takvog... na žalost. Kako nema. A MetaWare High Pascal? A NDP Pascal? Do 4GB! P.S. Al samo na 386 :)
turbo.pascal.83 rozi,
BojT-e, ima li neki od ova dva kompajlera ono editor, pa prevodjenje iz editora i tako to? \ / Robb|
turbo.pascal.84 dejanr,
========================== borland/turbo.pascal #4600, from jdulberg, 489 chars, Thu Nov 8 09:55:04 1990 This is a comment to message 4595. There is/are comment(s) on this message. -------------------------- Amrik -- What if you already have the TP5.5 Pro Pack and just upgraded to the new debugger/assembler? Do you still have to pay $95 to get the new Pro-Pack? I need the special command-line compiler, but don't need yet another copy of the same debugger. In the past, there was a special upgrade price for Pro-Pack owners to upgrade to the next Pro-Pack. It was real hard to find -- no one seemed to want to mention it -- but it did exist. Is Borland discontinuing this policy? -- Joan ========================== borland/turbo.pascal #4601, from adhillon, 711 chars, Thu Nov 8 11:43:21 1990 This is a comment to message 4598. There is/are comment(s) on this message. -------------------------- The following is the basic upgrade list: - Turbo Pascal X.X to Turbo Pascal 6.0 $69.95 * - Turbo Pascal X.X to Turbo Pascal Professional $99.95 ** - Turbo Pascal 6.0 to Turbo Pascal Professional(Disk Only) $30.00 * Note: The Professional Pack contains a new maintenance release of the Turbo Debugger 2.01. The Turbo Assembler and Turbo Profiler have not been changed. ** Note: This particular upgrade will provide only disks which will contain the Protected Mode Command-Line compiler. You must have Turbo Pascal 6.0 in order to use this Protected Mode command-line compiler. Turbo Debugger 2.0 will be able to read and debug code that is generated by Turbo Pascal 6.0. ========================== borland/turbo.pascal #4603, from orkand, 473 chars, Thu Nov 8 13:09:16 1990 This is a comment to message 4601. -------------------------- RE: Upgrade price TP6.0 to PROFESSIONAL for $30.00.... At the Boston announcement for the BCS I attended (an absolutely FIRST RATE pitch, I might add... all done in Quattro PRO v2.0), Gene Wang (VP, Language Business Unit), stated that the cost to upgrade the TP6.0 copies being GIVEN AWAY at the pitch, could be upgraded to PROFESSIONAL for the $99.95 price tag... Who is right? How much do I make the check out for??? Thanks, Ed Aldrich The Orkand Corp. Newport, RI
turbo.pascal.85 bojt,
>> BojT-e, ima li neki od ova dva kompajlera ono editor, pa >> prevodjenje iz editora i tako to? Ne znam, ali ne verujem. To su ozbiljni kompajleri :), unix like. Uostalom, evo šta kažu za NDP Pascal: NDP Pascal-386 generate globally optimized, mainframe quality code that runs on the 386 or 486 in protected mode under Unix, Xenix, or extended DOS. NDP Pascal-386 runs as a full ANSI/IEEE Pascal, with extensions from C and BSD 4.2 Pascal. The compiler adress 4 gigabytes of memory while supporting 80287, 80387, Weitek and Cyrix coprocessors and assembly language.
turbo.pascal.86 zormi,
>> ... ima li neki od ova dva kompajlera ono editor, pa >> prevodjenje iz editora i tako to? Ja koristim Metaware High C (pretpostavljam da je slicna realizacija i za pascal) i nije sa integrisanom radnom okolinom. Uz njega se dobija neki editor koji nije nista posebno. Inace, radi samo na 386/486 u 'protected' modu (znaci sva memorija do 4 Gb, 32-bitne instrukcije i registri...itd.). U proseku je 20-30% brzi od standardnih C-ova...
turbo.pascal.87 dejanr,
Ja nisam video NDP Pascal (a voleo bih!) ali koliko sam čitao, nema on lepih Turbo Pascal ekstenzija... A Pascal je zapravo bio grozan jezik dok ga Borland nije malo (više) "okadio".
turbo.pascal.88 zoki,
Napravio sam dobru logicku igru SLY .Probajte i napisite svoje misljenje. Nazalost za sada je samo za monitore u boji, ali ce uskoro biti i za crno bele. sly.zip
turbo.pascal.89 rozi,
Hi ! Planiram da sa turbo pascal kompajlera predjem na neki drugi. Zamolio bih sve koji imaju odgovore na neka od sledecih pitanja za neki kompajler, da mi odgovore ili da ostave adresu (tel,fax) na kojoj se mogu dobiti takve informacije. 1. Moze li da ima strukture podataka vece od 64k? 2. Moze li da ima promenljive ili bar heap preko 640k? 3. Ima li proveru referenciranja pointera? 4. Da li funkcije mogu da vracaju bilo koje tipove? 5. Nacin prenosenja procedura i funkcija kao parametara. 6. Mogu li se zadati struktuirane konstante u const sekciji? 7. Ima li konformant nizove kao parametre? 8. Mogu li se alocirati case recordi sa odabranim tagom? 9. Mogu li se praviti biblioteke potprograma, tako da se vrsi provera tipova i parametara pri pozivu? 10. Brzina prevodjenja i linkovanja. (okvirno, u Kb/sec, navedite racunar i brzinu diska, ako moze i brzina iz ram diska) 11. Moze li se dobiti adresa promenljive (procedure) u pointeru? 12. Ima li stringove? 13. Postoji li type cast? 14. Moze li se promeniti velicina alociranog bloka? Unapred hvala \ / Robb|
turbo.pascal.90 dejanr,
Bojim se da je "paskal" koji ti treba zapravo Modula 2 (grin). Ja probao ali mi nije uspelo... ;)
turbo.pascal.91 rozi,
Skoro sve osim 14. imaju *mnoge* implementacije pascala. To 14. mi je bitno, samo da resim neke probleme sa dos-om, sto se narvno da izvesti i na druge nacine. S druge strane, najbitnije je 1. i 2. Zasto modula ????? Fast but secure \ / ^^^^ Robb|
turbo.pascal.92 dpozaric,
*********** Napravio sam dobru logicku igru SLY .Probajte i napisite svoje misljenje. Nazalost za sada je samo za monitore u boji, ali ce uskoro biti i za crno bele. *********** Igra je odlicna, neobicna, iskace dosta iz sablona kojima su podlozne kompjuterske igrice za PC-a i rado sam SLY uvrstio medju one koje cu sa zadovoljstvom igrati. Sada sam u fazi provaljivanja nacina da uopce slozim boje (hehe) jer moj LCD EGA ima problema sa nijansama, pa cu obavezno downloadati crno-bijelu verziju. Cestitam, Drazen.
turbo.pascal.93 dejanr,
========================== pascal/turbo #4207, from dmason, 844 chars, Wed Nov 21 15:41:37 1990 This is a comment to message 4206. There is/are comment(s) on this message. -------------------------- What can I tell you about 6.0? Let's see... It comes with four manuals... They're not wire-bound, but they stay open when you open them and they don't fall apart. The IDE has changed... you can have several files open at the same time, each in its own window. It comes with a built in assembler, so you can put assembler source right into your pascal source file (use an asm statement instead of inline). It comes with an "application framework" to help you build event-driven applications with dialog boxes and windows and stuff, called TurboVision. This only works for text applications, unfortunately. The developers built the new IDE using TurboVision. The help system has been improved... well, there's a lot more of it, anyway. You can generate programs with 286 instructions with 6.0. 'Fraid that's all I can think of right now. --dkm ========================== pascal/turbo #4208, from bbrown, 191 chars, Wed Nov 21 15:55:25 1990 This is a comment to message 4207. There is/are comment(s) on this message. -------------------------- >built-in assembler... Thanks very much for the comments. Is the built-in assembler only a part of the "professional" version, or does vanilla 6.0 also come with an assembler? ========================== pascal/turbo #4209, from dmason, 258 chars, Wed Nov 21 19:20:50 1990 This is a comment to message 4208. -------------------------- The built-in assembler is part of the standard package. The only things you don't get in the standard package are (1) the standalone, full- featured assembler (2) the debugger (3) the profiler and (4) the protected-mode pascal compiler ("TurboDrive"). -dkm
turbo.pascal.94 tgorisek,
Zanima me kako da u TP sacuvam deo ekran (HERCULES) i posle ga ponovo vratim na isto ili neko drugo mesto,posto nikako nemogu da dobijem neke postene knjige (jedno cekam vec vise od jednog mesec) za TP sa opisom svih procedura i funkcija. Pozdrav , Tomislav !
turbo.pascal.95 rklinar,
Evo iscjecka programa koji bi ti trebao rijesiti problem: TYPE Screen_Line = ARRAY Š1..80Ć of word; Screen_Array = ARRAY Š1..25Ć of Screen_Line; VAR ekran: ČScreen_ARRAY; š Variabla, koja pamti sadrzaj ekrana ć mono: Boolean; š true, ako je monokromatski, false inace ć Procedure Ekran_Init; š Postavlja ekranske variable na njihove prave adrese za zadatu situaciju ć VAR regs: Registers; begin Intr($11,Dos.Registers(Regs)); mono:= (Lo(regs.ax) and $30) = $30; if mono then screen:= Ptr($B000,0) else screen:= Ptr($B800,0); end; š Init ć Variablu ekran 'punis' na sljedeci nacin: Move (ekranČ,screenČ,SizeOf(screenČ)); ČČČČČČ -> isto deklariraj kao i ekran ! Eto, to je u grubim crtama to. Malo eksperimentiraj sa time, bit ces zadovoljan (ja sam barem). Pozdrav Radovan, alias RKlinar
turbo.pascal.96 tgorisek,
Bas ti hvala . Pokusat cu pa cu videti . Pozdrav , Tomi !
turbo.pascal.97 dejanr,
========== borland/turbo.pascal #4760, from fred.robinson, 3027 chars, Wed Dec 5 19:45:35 1990 ---------- TITLE: TP 6.0 gripes Just received my TP 6.0 today, and it's installed. Being paranoid, I did not wipe out my TP 5.5 first. Lucky, that. Why? Read on... (asbestos screens may be needed - major flames coming) 1. First and foremost, TP 6.0 will NOT compile a program. It says, "File not found (SYSTEM.TPU)". I am assuming that SYSTEM.TPU is in TURBO.TPL, as is usual. TURBO.TPL is in C:\TP, and C:\TP is FIRST in the list of Unit directories in the Options-Directories window. Even a one-line "hello" program does not compile. TP 5.5 ant 6.0 are in separate subdirectories. TP 5.5's subdir is not in the PATH. 2. Color control in the IDE is not extensive enough. Call me picky, but I want the menu bar on top to be gray with black letters, and the pull-down menus to have blue & white borders, with black-on-gray interiors (like I have in 5.5). Also, why aren't the 8 intense background colors supported, like in Sprint? Blinking is not used anywhere, so far as I can tell... Also, some explanation of what's being colored would help a _lot_. 3. Speaking of colors, you cannot set something to black on black: You get blinking white on red! What good is that? You can put gray on gray, blue on blue, etc. I want black on black for the desktop background. 4. Failing black on black (#3), I want to change the character used for the background to blank (#32, ' '), because I HATE "textured" backgrounds. I also think that shadows under windows (and the mouse buttons, for that matter) are silly, too. Can they be turned off? 5. What the hell happened to the ability to change the editor commands? It appears that I now have to make up a file full of macros and compile THAT! I found this out accidentally by wandering at random through the .DOC files. Not the manuals. I HATE HATE HATE Wordscar (yes, that's Word_SCAR_) keyboard controls! (So sayeth the Wordperfect bigot.) End major flames, begin minor points 6. The help text for the Options-Environment-Mouse dialog is messed up: +----------------------------+ | Mouse Double Click | | Slow Medium Fast | | <###########*##########> | +----------------------------+ The Mouse Double Click slider bar adjusts the double-click speed of your mouse. Looks like somebody wasn't counting their spaces right. 7. The buttons in the dialog boxes jerk one space to the right when you click the mouse on them. To see this, click and hold down the left button on a dialog button, and move the mouse pointer off and on the dialog button. 8. No more on-screen Num/Scroll/Caps lock indicators? (Granted, I have them built into my keyboard, now.) Probably more to come, once #1 is set to rights. In the meantime, could the Borland rep pass these along to the TP development team, please? I'd appreciate it. Fred Robinson ========== borland/turbo.pascal #4761, from hkenner, 156 chars, Wed Dec 5 21:33:41 1990 Comment to 4760. More refs to 4760. ---------- AT LAST somebody said that TP-6 is a disaster. My experience so far is that it rejects units that ran perfectly well under 5.5; won't even compile them. ========== borland/turbo.pascal #4764, from larryjudy, 564 chars, Wed Dec 5 22:23:28 1990 Comment to 4762. Comment(s). More refs to 4762. ---------- To echo the comments from Fred and Hugh: I have tvision.pas, and so far cannot get it to compile in either the IDE or commandline modes under TP6.0! I have spent three hours trying to compile various programs, and do admit to finally getting "arty.pas" and "bgidemo.pas" to run. But they ran without diddling with the "environment" under previous releases. Perhaps over the next week I'll be able to figure all the unit dependencies (since "make" and "tpc /m tvdemo.pas" keep choking during compiling)and then be able to say something about turbo vision. Larry ========== borland/turbo.pascal #4766, from larryjudy, 527 chars, Wed Dec 5 22:32:24 1990 Comment to 4760. Comment(s). More refs to 4760. ---------- I thought the warmth of your flaming felt good -- temperature was 17 degrees this morning, and I have been frustrated myself this evening with TP6. I am not happy with the use of the tab key, the space bar, the check boxes, and the radio button arrangement to load or save files. I was confused as to why the compiler couldn't find "cga.bgi" in the same directory. Perhaps as I become used to the more complicated, but likely "pre-Win3" IDE, I will cool down. For now I'm happy I did not load TP6 over TP5.5 and can choose. ========== borland/turbo.pascal #4767, from hkenner, 259 chars, Wed Dec 5 22:58:31 1990 Comment to 4764. Comment(s). More refs to 4764. ---------- Larry, we dissidents are finally emerging from the closet. And Under the Rug is where the disparities between TP5.5 and 6.0 have hitherto been swept. They are *not* fully compatible, and the manuals as far as I can see nowhere address that brute fact. --HK ========== borland/turbo.pascal #4768, from hkenner, 226 chars, Wed Dec 5 23:00:59 1990 Comment to 4766. Comment(s). ---------- A problem with finding things like cga.bgi is that in TP5.5 they had names like cga.obj. But even when the call is renamed they seem unfindable. Some path trouble in the Install program? SOMEONE AT BORLAND PLEASE COMMENT. ========== borland/turbo.pascal #4769, from larryjudy, 363 chars, Wed Dec 5 23:12:23 1990 Comment to 4767. ---------- Gosh, if I wasn't so tired and late getting home, I'd be more confident that TP6 is "buggy" and not me! <grin> Part of the problem may be the "what I'm used to" being just enough changed to not work, leading to an interference of habit with what I need to learn. OTOH, why couldn't the compiler find a file in the active directory. That's not me being tired! ========== borland/turbo.pascal #4785, from jawong, 1303 chars, Thu Dec 6 20:22:56 1990 Comment to 4760. More refs to 4760. ---------- In regards to the Flames, let's try to lower them a bit. > gripe 1 Check the date and time stamp on the Turbo.TPL file in your TP6.0 subdirectory. Check it against the date and time on the original disk. Also make sure that you have only two copies of the Turbo.TPL, one for TP5.5 and one for TP6.0. > gripe 2 I will pass these suggestions about the color and the explainations of what is being changed to the developers. > gripe 3 Black on Black is considered an invalid palette color combo. This is why the flashing red with white text occurs when you make this choice. The developers had to set limits to the possible color combinations and so the lower limit is the Black on Black. > gripe 4 The standards for the interface and the shadowing were developed by IBM. The specific standards are: C.U.A. ==> Common User Access S.A.A. ==> System Application Architecture > gripe 5 The TINST is no longer present with TP6.0. The replacement for the TINST is the TEMC compiler. The use and operation of the Temc compiler is described in the TEMC.DOC file. > gripe 6 We all make mistakes. > gripe 7 The button face moving to right and the shadow disappearing provides the illusion of a button being pressed. > gripe 8 Again, I can bring this suggestion to the developers for evaluation. ========== borland/turbo.pascal #4789, from fred.robinson, 2066 chars, Sat Dec 8 09:25:12 1990 Comment to 4785. ---------- >answers to gripe answers 1. Timestamp on TURBO.TPL is 10-23-90, 6:00, same as the dist disks. Only two TURBO.TPLs, one in each subdirectory. The TP 5.5 subdir isn't on the PATH, nor is it in the Options- Directories "Unit directories" list. The problem is TP can't _find_ SYSTEM.TPU, not that SYSTEM.TPU is the wrong version. 2. Thanks. Oh- another thing I like to have is window titles (when positioned in the frame itself) which are colored differently (white on black) than the frame (white on blue). 3. "Black on Black is considered an invalid palette color combo." And blue-on-blue, gray-on-gray, etc., aren't? C'mon, let's have black-on-black. Or else (much less desirable) disallow ALL such combinations. Be consistent. 4. Standards are made to be broken, er, enhanced. What's wrong with adding a switch to turn off shadowing? And/or changing the background character? Shadows & backgrounds are not essential to data input/translation/etc. Sounds like Big Blue is saying "You can do it _our_ way, or you can FOAD." Anybody know of the location of the "background character" byte? 5. Groan. 6. I know, I make enough of them myself. 7. I eventually figured it out on my own -- normally, the button's effect happens so quickly that the button's "descent" isn't very noticable. But I thought that "descending" buttons on a computer screen was too cutsey when I first read that Windows 3.0 did it. A sure sign of a programmer who didn't have enough real work to do. 8. Just something I noticed, really. Not a big issue. Overall, thanks for the quick return. I still can't compile anything, but I will fool around with TEMC (yeesh) until I get a fix. Should any breakthroughs happen, I will notify this topic of same on my next blink. ps. I also couldn't find a "differences between TP 6.0 and earlier versions" chapter, but I didn't look very hard. Is there one? There should be. Fred Robinson ========== borland/turbo.pascal #4792, from fred.robinson, 2223 chars, Sun Dec 9 10:43:36 Comment to 4785. ---------- Addition to my reply to the answers to my gripes... flame on... Did some experimenting after I posted my reply, re gripe #1 (Saturday morn). Extracted SYSTEM.TPU from TURBO.TPL with TPUMOVER. Test program compiled. Erased SYSTEM.TPU. Test program didn't compile. Went to the manuals, seeking "TURBO.TPL" in the index. Found references to "loading TURBO.TPL". Say what? Doesn't TP look in TURBO.TPL by default? Found the /T option for the IDE (User's Gude, p. 176), which controls whether TURBO.TPL is loaded or not. IT DOES NOT SAY WHAT THE DEFAULT STATE FOR THIS OPTION IS. The wording, however, leads one to suspect that the default is "load TURBO.TPL". Run TURBO /T+ anyway. Test program compiles. This proves that the default state for the /T option is "do NOT load TURBO.TPL". Immediate problem solved. New problem discovered. What gives? Why doesn't the IDE automatically load or look in TURBO.TPL, like it ALWAYS USED TO? This has caused me to waste several days which could have been put to better use, as well as giving me a bad feeling about this allegedly great new product. I think a reply on this is mandatory now. My other gripes (#3 & #4 specifically) still stand. More gripes: 9. Pascal has _never_ required a semicolon just before an END keyword. I have never put them there. Now I find that object declarations require this, WHERE THEY DIDN'T in TP 5.5. I will have to go into my object code & stick them in. Again, this should not be necessary! 10. (Saturday even) TEMC has problems big-time. It will not let me define key combinations that begin with the Home key. TINST would. This is important to me (a Wordperfect user). It does not seem to have a "return to error position" command. The TEMC.DOC file is barely adequate in explaining how to use TEMC. Many of the command descriptions are too short. Where it mentions TPCONFIG.TP (page 1), it means TURBO.TP, and does not mention that this file must exist. Overall, it looks like the .DOC was thrown together in a hurry and not adequately checked. IMO, TEMC is a poor substitute for TINST. flame off... (pant pant pant) Fred Robinson
turbo.pascal.98 pbojan,
HELP!!!!!!!!! Ne pitajte kako,ali uspeo sam da ostanem bez cele trece diskete TP 4.0. A to znaci bez svih .BGI,svih onih poucnih .PAS i naravno TPU,a i td. Naravno,moze se preziveti bez grafike,ali nije tako prijatno.Uzgred, ja sam manje-vise pocetnik,bar na TURBO-u,pa bi mi stvarno trebala ta !@#$!@#$!@#$!@ disketa,koju sam,zahvaljujuci svom !@#!@ geniju pretvorio u @#$%@$#%.Gde mi je kopija sa harda?Pa nema je! HKako bih inace znao da mi ona sa diskete takodje fali?! Ako ima neko ko jos koristi TP 4.0 a hoce da mi pomogne (vidi:programer u nevolji) neka mi se javi.PLEASE!! (P)BOJAN 4440181
turbo.pascal.99 mradulovic,
Neko je pominjao neki alternativni paket za obradu indeksnih datoteka na PASCAL-u u vidu unit-a (nalik na TACCESS) ali mnogo pouzdaniji i mocniji. Ako nije problem dostavite mi adresu ili fax (ili mesto gde se moze nabaviti) posto sam izuzetno zainteresovan za takav softver. Takodje ako neko ima iskustva sa TACCESS-om neka pokusa da odgovori zasto dolazi do "ludila" sa kljucevima na odredjenoj velicini datoteke tj. AddKey nije u stanju da alocira nove zapise, pa stalno izbacuje da je slobodan zapis 0, sto izaziva katastrofane posledice. Misko
turbo.pascal.100 pogo,
Za one koji imaju problema sa provjerom tipa pri unosu, evo kako zaj..... loše unose: program p; var r : real; begin repeat š$I-ć readln (r); š$I+ć until IOResult=0; end.
turbo.pascal.101 dsavic,
U štampi je knjiga "Turbo Pascal - naredbe i objekti". Autor: Duško SAÚVIĆ, 240 strana, pretplatna cena 250 dinara. Isključivo pouzećem. Knjiga je uvod u objektno programiranje na turbo paskalu u verzijama 5.5 i 6.0. Takodj3 daje detaljan opis svih funcija i procedura, njih preko 300. ▀Takodje je izašao iz štampe KUFI, KUćne finansije, 300 dinara. Moći će da se kupi u svakoj radnji sa audio i video kasetama, a može se ovde poručiti i direktn´ko.
turbo.pascal.102 oduzlevski,
Hocu ja tu knjigu... Kako,kada,gde...?
turbo.pascal.103 mikij,
Problem. Imam proceduru deklarisanu: function saberi(a,b:byte):byte; external; Kako moj asm podprogram da uzme parametre i kako da vrati rezultat? Ako vam nije tesko molim primer u asembleru (nekoliko redova). Pozdrav Miki
turbo.pascal.104 dejanr,
========== borland/turbo.pascal #4987, from fred.robinson, 2518 chars, Sat Jan 5 11:04:36 1991 ---------- TITLE: TP 6.0 IDE Gripe scorecard 1. Gripe: Turbo can't find SYSTEM.TPU. Status: The "Load TURBO.TPL" checkoff wasn't checked off. No more problem. 2. Gripe: More control desired over IDE colors (frames, titles, etc.). Status: Passed on the design team. 3. Gripe: Black-on-black is not possible -- results in blinking-white- on-red. Status: "Invalid color combination." "Design decision by team." Passed on to design team. 4. Gripe: No control over desktop background character, or existence of windows' shadows. Status: Passed on to design team. 5. Gripe: No more TINST. Replaced with TEMC. Status: Live with it. 6. Gripe: Goof-up in a mouse window help text. Status: Duly noted. 7. Gripe: Buttons in dialogue boxes jump one space right when clicked. Status: They're supposed to do that (documented). It simulates a 3D effect of a button being pushed in. Stupid looking. 8. Gripe: On-screen Caps/Num/Scroll lock indicators gone. Status: Not really a gripe, just an observation. 9. Gripe: A semicolon is now required before the END keyword in an object declaration, where it wasn't before. Status: Unanswered. 10. Gripe: TEMC does not allow HOME+key combinations. Status: Unanswered. 11. Gripe: Scroll bars do not move cursor when they move the window. This effect is not documented. Status: from tanj: "This is normal for windowing systems." Since when? And where? I beg to differ. Live with it. 12. Gripe: TP isn't DV-aware. IDE mouse pointer disappears after compiling & running a program and then invoking DV's menu. Status: "Fixed" by loading trackball driver in TP's window, at a loss of 18K. 13. Gripe: 8087 chapter is in the wrong section of the User's Guide. Status: Just an observation. Unanswered. I am being nice by holding off on posting this until after the Xmas holy days. But now, I expect some answers, vis. on #9, #10, #3, #4, #12, and #13, in that order. The rest have either been solved, noted by the Borland rep, or I have given up on them. I'm gonna keep bashing on these points until I get some answers. And I don't mean answers like "That was a Design Decision". Again I ask, is there any chance of my receiving a no-charge "repaired" copy of TP 6.0, once all this is taken care of? Fred Robinson
turbo.pascal.105 tgorisek,
Dali ima neko mozda neki editor ili koncept editora napisanog u TURBOPASCALU ? Pozdrav , Tomislav . P.S. Trema mi source .
turbo.pascal.106 dejanr,
>> Dali ima neko mozda neki editor ili koncept editora >> napisanog u TURBOPASCALU ? Jel nešto pomaže Turbo Editor Toolbox koji pravi sam Borland? Doduše za neku matoriju verziju Turbo Pascala, ali neko svakako ima i za 5.0 ili 5.5.
turbo.pascal.107 gww.,
To je valjda opisano u svakom user manualu za turbo pascal. Parametri se prenose preko steka u reverznom redosledu. Dakle prvo desni pa nalevo. Nažalost moraš se pozabaviti da POPuješ ono što je PUCHnuto na stek to je ujedno i razlog zašto recimo Pascal ne može da prenosi promenljivi broj parametara u potprograme. Trebao bi da imaš i source primere za to (valjda).
turbo.pascal.108 shone,
Imam jedan problem u vezi Turbo Paskala. Naime u jednom programu koji radim potreban mi je sav raspolozivi heap medjutim onda ne mogu da pozovem ni jedan drugi program iz mog a ni da odem u dos shell. Ako stavim {$M direktivu bilo gde osim na pocetku, kompajler miÚ prijavljuje gresku. Shone
turbo.pascal.109 dejanr,
Na žalost, nema pomoći - {$M je direktiva koja utiče na sam HEDER EXE fajla. A fajl ima samo jedan heder.
turbo.pascal.110 dsavic,
Izašlo iz štampe! TURBO PASCAL - NAREDBE I OBJEKTI autor: Duško Savić cena: 250 + 15 dinara = 265 ukupno i samo pouzećem! Narudžbine na dsavic. Objašnjenje svih naredbi i uvod u objektno programiranje.
turbo.pascal.111 dejanr,
Juče mi se desila (skoro) tužna stvar - stigao je TP6.0. Kažem "tužna" jer sam na prvi pogled veoma razočaran a "skoro" za slučaj da se predomislim ;) Program stigne na 4 diskete i raspakuje su u jedno 10 direktorijuma, uzimajući oko 3 megabajta prostora na disku - nešto od toga može da se briše (tekstovi itd) ali opet ostane puno više nego što je moralo da stoji u prethodnoj verziji. Najveće razočarenje je IDE tj. radna okolina. Potpuno je predizajnirana i sada je postala "moderna" - mesto lepog i čistog ekrana sada su sa strane one proklete trake za skrolovanje teksta a čim dunem u pacova kurzor poleti po ekranu. Miš se uopšte ne može isključiti (ili bar ja nisam još našao kako se isključuje) osim da se iz AUTOEXEC-a ukine učitavanje MOUSE drajvera što sam najzad i uradio (šta će mi pacov dok programiram! Imam nekakav problem sa kurzorom koji se pojavljuje samo dok kucam a čim prestanem, nema kurzora pa ne znam gde sam tj. gde će se pojaviti ono sledeće što otkucam. Pretpostavljam da se to može nekako srediti ali ne na način koji bi mi bio očigledan. Postoji mogućnost da se programi pišu u više prozora što je veliki korak naprad ali je ekran tada za moj ukus malo previše pretrpan linijama i šrafurama. Lepo je što je omogućeno prenošenje teksta iz jednog unita u drugi zahvlaljujući clipboardu (za to sam ranije morao da izlazim iz Turbo Pascala i zovem neki drugi editor, mada mi se retko događalo da mi to treba) ali je plaćena cena - novi IDE uzima više memorije tako da mi je na sistemu sa 704K RAM-a i "neograničenom" količinom LIM memorije na raspolaganju za podatke nekih 20-tak K manje nego na TP5.5. Najviše me je izludelo što više nema onog lepog programa TINST pomoću koga se podešavaju editorske komande i druge stvari - sada treba čačkati po nekakvim kilometarskim listinzima i još, koliko vidim, ne mogu da ga nateram da recimo Home Levo bude komanda za kurzor na početak reda (navika od WordPerfecta) što je nekada jako lepo radilo. Uz to su i meniji malo promenjeni, ne znam da li je to nabolje ili nagore ali meni se više sviđalo ono nekadašnje - kada izaberem neku opciju, on mi ukine meni pa recimo za prevođenje na disk moram da kucam Alt C D Alt C B dok je nekada moglo Alt C D B (doduše posle mora Esc ali je meni nekako logičnije, možda zato što sam navikao). Help je opsežniji ali po meni ima mnogo nepregledniji index. Što se samog kompajlera tiče, na prvi pogled je sasvim kompatibilan, nešto sporiji (ali i dalje brz, jedan moj osrednji paket je preveo za 5.8 sekundi dok to TP5.5 radi za 4.6 s), generiše kraći kod (isti taj paket je nekad bio EXE od 64.5K a sada je 59.5K) koji je (imam utisak posle par prevedenih primera) *malo* sporiji. Nema nikakvih promena u jeziku koje bi me interesovale - stringovi i dalje 256 znakova, data segment i dalje 64K, EMS memorija se koristi za prevođenje ali ne i za izvršavanje. Dodate su neke objekte ekstenzije ali ni do sada ih nisam koristio (a i ne nameravam ;( ) pa ne znam koliko su značajne. Dokumentacija je u 4 knjige, zaista mnogo strana, sasvim promenjena u odnosu na prethodnu. Samo sam je prelistao, možda u njoj pišu i neke zanimljive stvari. Sve u svemu, imam utisak da ću posle PC Toolsa 4.30 i Nortona 4.50, ostati na Turbo Pascalu 5.5 :(
turbo.pascal.112 vkrstonosic,
>> Juče mi se desila (skoro) tužna stvar - stigao je TP6.0. ... >> Nema nikakvih promena u jeziku koje bi me interesovale - stringovi >> i dalje 256 znakova, data segment i dalje 64K, EMS memorija se koristi >> za prevođenje ali ne i za izvršavanje. Dodate su neke objekte ekstenzije >> ali ni do sada ih nisam koristio (a i ne nameravam ;( ) pa ne znam >> koliko su značajne. Računari 68, strana 24, dole desno: "Ako se ostali proizvođači softvera dobro ne pomuče, Turbo Pascal može postati glavni jezik za pisanje programa na PC računarima." Sve to u članku pod naslovom "San snova".
turbo.pascal.113 dejanr,
Turbo Pascal je i dalje veoma dobar jezik za razvoj PC softvera (mada je razvoj isuviše zasnovan na C-u da bi imalo ikakve šanse da se to tek tako promeni), ali meni izgleda da Turbo Pascal 6.0 nije baš neki korak napred. Pokušali su da promene neke stvari, ali su se uglavnom orijentisali na ono što meni izgleda nebitnije. U onome bitnom nisu uradili ništa a nešto su i pokvarili.
turbo.pascal.114 matejk,
Pozdrav Sezame, Zanima me ima li neko iskustva sa B-Tree Network Support-om. Cuo sam, da je "normalan" B-Tree izvrstan, pa me zanima kako se ponasa njegova mrezna verzija. Moze li se usporediti sa Btrieve-om ( 5.0 )? Btrieve ima oko 80Kb rezidentnih stvari iza sebe. Kako je to sa B-Tree Network Supportom ? Hvala, Matej
turbo.pascal.115 dpozaric,
******************************* Zanima me ima li neko iskustva sa B-Tree Network Support-om. Cuo sam, da je "normalan" B-Tree izvrstan, pa me zanima kako se ponasa njegova mrezna verzija. Moze li se usporediti sa Btrieve-om ( 5.0 )? Btrieve ima oko 80Kb rezidentnih stvari iza sebe. Kako je to sa B-Tree Network Supportom ? ******************************* Ne znam na što točno misliš. Imam Btrieve 5.00c i to je mrežna verzija, i ima 64K rezidentno, bar kod mene. DP
turbo.pascal.116 matejk,
%Ěî******************************* Ne znam na sto tocno mislis. Imam Btrieve 5.00c i to je mrezna verzija, i ima 64K rezidentno, bar kod mene. ******************************* Problem je u tome, da moj narucnik trazi, da naruceni program radi u mrezi bez ikakve rezidence - vec je ima puno zbog same mreze i raznih drajvera za ACAD. To je jedini razlog, zbog kojeg izbegavam Btrieve ( opet ova PCevska memorija ). A sto se tice B-Tree-a: ovo je proizvod firme TurboPower Software, a ukljucuje biblioteke za rad sa bazam podataka. To znam o "normalnoj" verziji, a kako je sa mreznom neznam, pa bi htio nesto da saznam i o njoj - valjda radi iste stvari kao BTrieve. Matej
turbo.pascal.117 dkovac,
Btree - malo čudno, ali koliko ja znam u prevodu ovo znaci binarno drvo, a to opet podrazumijeva određenu strukturu koju svi poznajemo. Druga je stvar što postoje i paketi sa tim nazivom. Ja sam narucio ( i dobio) od MIX software, C/Database toolchest, koji se znasniva na Btree strukturi. Jednostavno jedan poveči lib, uz pomoću kojeg se u C - u mogu pisati database aplikacije bez posebne muke. Uz njega sam narucio i source u C - u. Pa mogu kopati i prepravljati do mile volje. Sve zajedno ( dvije diskete 3.5 ' + knjiga od 640 strana) za tridesetak dolara. Do sada nisam imao previše vremena da se posvetim njemu, a i drugi razlog je da nemam niti jedan kompletan sistem za C. Pa kada naručim i koji C, onda ću se više posvetiti njemu. Mislim da ima nešto za zaključavanje za mrežu i još neke trice. A ovo što dpozaric ima je nešto sasvim drugo, a to je tip aplikacije za koji mislim da tebe interesira. A'la Oracle, sjedneš, malo program pročačkaš, nacrtaš u njemu prozore, definiraš baze, a on radi večinu ostalih stvari. Ali kad treba prodati aplikaciju onda moraš prodati i Btrieve. Mislim da ovo što imam je jednostavno upotrebljivo za ZZ i njemu slične. Pozdrav Dejan KOvač
turbo.pascal.118 dpozaric,
************** Problem je u tome, da moj narucnik trazi, da naruceni program radi u mrezi bez ikakve rezidence - vec je ima puno zbog same mreze i raznih drajvera za ACAD. To je jedini razlog, zbog kojeg izbegavam Btrieve ( opet ova PCevska memorija ). ************** Da, kao što ti je Dejan Kovač rekao, ja ne radim aplikacije ni u C-u ni u Pascalu već pomoću alata koji praktički posve sam rješava najveći dio kodiranja programa. Kad sam nabavio TAS Professional, dobio sam nešto prepuno bugova, loše izvedeno, čudne razvojne logike, nerazumljive sintakse. No, zbog nedostatka drugih alata, bio sam prisiljen nastaviti sa radom na tome, i sada se klanjam Svevišnjem što me je na to natjerao :))) No, kasnije su stizale sve potpunije verzije, kako za pisanje tako i za održavanje baza, i sada imam uz te programe i svoj vlastiti toolbox kojeg nemam namjeru mijenjati. Navodno se sprema i UNIX verzija TAS-a, a to jedva čekam ! :)) Eto, neka kaže i ZZ koji je to neki dan po prvi puta sreo. Prvi njegov komentar je bio "Loše, sporo" ili tako nekako. Evo ti izvoda iz chata, nadam se da se zz neće ljutiti :))) dpozaric -- Jesi prob'o TAS ? zzivotic -- jes! Al nisam impressed. dpozaric -- Ma znam, nije ništa posebno, ali uz zaista malo truda možeš sa njim dosta napraviti, zaista zzivotic -- da, očigledno je da to što radi ide lako, to je ok. Ipak, deluje mi malo sporo, a i mnogo je zatvoren. bar meni tako izgleda na prvi pogled. dpozaric -- da, zatvoren, a sporo je ako ne otvaras datoteke accelerated. U tom modu radi kao i Clipper, čak i brže, dok Clipper nema impplementiran pre-immaging odnosno rollback :) zzivotic -- a jesi li imao prilike da proveriš kako rollback radi? dpozaric -- Zoki, rekao sam dti da to nije reprezentativno i da je puno bugova, no upravo je pljuga složiti bazu i natjerati je da radi korektno i iznad svega sigurno, što je i najvažnije po meni ? dpozaric -- Radi rollback bez greške, garant. zzivotic -- toje jako zanimljivo! Naime, sa DOS-om ima puno problema da se to uradi kako treba. Moraću malo da pročačkam po tome... dpozaric -- Rollback proradi kad nakon kvara ponovno prvi put otvoriš istu datoteku na kojoj si rollback rtadio. Onda se pre-image file "odmota" Dakle, ZZ je primijetio sporost i zatvorenost, a ja bih dodao još i bugovitost. Ali, nakon godinu dana rada imam ga toliko u malom prstu da ću *GARANTIRANO* napisati aplikaciju barem za pet puta manje vremena i da će i opet *GARANTIRANO* raditi ispravno. Jer, sintaksnih grešaka u ovom jeziku nema, treba paziti samo da baza bude dobro složena i da strukture koretno zatvaraš. A da se osvrnem na zz-ove primjedbe: kao što se vidi iz chat izvatka, rekao sam da Btrieve omogućava nekoliko modova otvaranja datoteka (lock record, lock file, no locks, accelerated u TAS-u) i još neke koje u TAS nisu implementirane. Clipper stalno radi u accelerated modu i zato djeluje brže u odnosu na TAS u locking modu, no ako u clipperu probaš napisati rollback proceduru bit će to užasno sporo prema TAS-u, vidio sam svojim očima, iako ta procedura u Clipperu ima izgleda da bude i mnogo bolje napisana. Zamisli ovakvu situaciju: radiš na ažuriranju saldakonta kupaca i dobavljača i promet trpaš u financijsko. Čitaš iz 5-6 datoteka i spremaš rezultat u dvije-tri druge. Zapisao si jedan record u prvu od ove druge tri kad je odjednom nestalo struje i mašine su umrle. Dođe struja, pokreneš opet isti program da otvoriš oštećene datoteke, btrieve nađe transaction fajl i vrati datoteku u ispravno stanje. Pokreneš program ponovo i on nastavi od zadnjeg ispravnog zapisa. Ako ti treba brzina, otvoriš datoteku na odgovarajući način i stvar je ok. Ako ti treba sigurnost, napraviš pre-imaging tako da jednostavno koristiš 3 naredbe, odnosno jednu (trans. processing) sa flagovima ON, OFF i ABORT. Sigurno se sada pitaš zašto sam sve ovo napisao ? Pa, prije svega zato što se ne mogu načuditi tome da ogroman broj programera u C-u i drugim jezicima piše stvari koje su već napisane, i to zaista dobro. Druga je istina da ništa nikad nije dovoljno dobro, no rad sa relacijskim bazama kojim se kod nas bave privatne firmice i pojedinci po meni *NE OPRAVDAVA* ulaganje tolikog vremena (čitaj: novaca) u razvoj sistemskog softwarea. Kad bih posjedovao firmu sa velikim tržištem, sigurno je da bih se bavio i razvojem sistemskog softa, no kad uzmem u obzir da je to za kojekakva knjigovdstva kojima se silom prilika bavim... nikako. dp
turbo.pascal.119 alexa,
Btree je, naravno, B-stablo, a ne binarno stablo. To su sasvim različita stabla.
turbo.pascal.120 agobovic,
>Citas iz 5-6 datoteka i spremas rezultat u dvije-tri druge. Zapisao >si jedan record u prvu od ove druge tri kad je odjednom nestalo >struje i masine su umrle. Dode struja, pokrenes opet isti program >da otvoris ostecene datoteke, btrieve nade transaction fajl i vrati >datoteku u ispravno stanje. Pokrenes program ponovo i on nastavi od >zadnjeg ispravnog zapisa. Drazene, ja nemam veliko prakticno iskustvo sa bazama podataka, ali sam ovde primetio sledece: nekorektnosti u bazi koje ovde pominjes rezultat su "pada" sistema. Koliko je meni poznato, u slucaju lokalnih otkaza (u transakciji) recovery manager automatski mora da izvrsi rollback koristeci log i before image (tj. pre-image). Za vreme rollback-a, takodje moze doci do "pada" sistema. Tvoja rollback procedura mora biti sposobna da ponovo sve restaurira! U opstem slucaju, te stvari mogu biti vrlo komplikovane. Za takve otkaze najcesce se uvode 'checkpoints', koji se koriste u zadatim intervalima vremena i forsiraju upis bafera na disk. Procedura zahteva i uvodjenje redo i undo lista transakcija za siguran recovery. Ali, zasto i to ne reci, to nije dovoljno! U vremenskom intervalu izmedju upisa u bazu i log (dakle, kada postoji redudansa baze u odnosu na log) moze doci, sto mu gromova, do otkaza! I za to ima leka: uvodi se log write-ahead princip (prvo upis u log), pa se recovery moze izvrsiti na osnovu informacije iz log-a. Dakle, proveri kako to radi tvoj recovery manager, jer svasta je moguce, pa i da sistem "padne" dok radis recovery! AG
turbo.pascal.121 dkovac,
>Btree je, naravno, B-stablo, a ne binarno stablo. To su sasvim >različita stabla. " B-trees are a generalization of 2-3 trees that were discovered by R. Bayer and E. McCreight in 1970 ( althought the results were not published until 1972) and independetly by M. Kaufman. They were developed for use with fixed - lenght keys; that ia where every in the tree is the same lenght. A B-tree of 'order' M satisfies three rules: 1. The root has at least 2 children, unless it is an empty where the root has no children at all. 2. Each node has a maximum of M children, but each node is a least half full. Specifically, the number of children on every node, except for the root and the leaves, iz greater or equal to M/2, but less then equal to M. 3. Each path from the root to a leaf has a same lenght." 1988. Shrier and Deihl Nadam se da je sada jasnije. Ali za važnost one poruke ovo baš i nije bilo bitno. Pozdrav Dejan KOvac.
turbo.pascal.122 dpozaric,
***************** Drazene, ja nemam veliko prakticno iskustvo sa bazama podataka, ali sam ovde primetio sledece: nekorektnosti u bazi koje ovde pominjes rezultat su "pada" sistema. Koliko je meni poznato, u slucaju lokalnih otkaza (u transakciji) recovery manager automatski mora da izvrsi rollback koristeci log i before image (tj. pre-image). Za vreme rollback-a, takodje moze doci do "pada" sistema. Tvoja rollback procedura mora biti sposobna da ponovo sve restaurira! ***************** Točno, potpuno si u pravu. Btrieve je zamišljen tako (koliko je meni poznato) da kod svakog rollbacka također radi neku vrstu pre-imaginga tako da se sekvencijalno može sve teoretski povratiti. Inače, potreba za rollbackom je izrazita kod nekoliko najtipičnijih primjera: 1. korisnik prekida aplikaciju jer ju je greškom pokrenuo. Pritiska Esc i stvar se vraća na svoje mjesto. 2. korisnik je toliko glup da gasi mašinu dok je transakcija u toku. 3. Dolazi do nestanka struje. U prvom slučaju učinim da ekran nenormalno blinka sa upozorenjem "HANDS OFF" a program istovremeno zastekava tastaturu tako da je prekid nemoguć. Ukoliko idiot ugasi mašinu dolazimo do situacije pod 2. u kojoj predividim u osnovnom meniju jednu radnju koja potraži pre-image file i ako postoji - odvrće film unatrag, također pod pre-imagingom. Ako postoji budala koja na novo upozorenje ponovno ugasi mašinu - neka mu ako je blesav :))))) no ima i tome lijeka - ponovni rollback koji se aktivira kod slijedećeg ulaska u main menu. Naravno postoji negdje i fizička granica dubine do koje se može ići sa pre-imagingom. U trećem slučaju stvar se rješava kao i pod jedan i dva. *************** intervalima vremena i forsiraju upis bafera na disk. Procedura zahteva i uvodjenje redo i undo lista transakcija za siguran recovery. Ali, zasto i to ne reci, to nije dovoljno! U vremenskom intervalu izmedju upisa u bazu i log (dakle, kada postoji redudansa baze u odnosu na log) moze doci, sto mu gromova, do otkaza! I za to ima leka: uvodi se log write-ahead princip (prvo upis u log), pa se *************** Eto vidiš, sad si mi uprao objasnio nešto što na engleskom u manualu nisam mogao shvatiti :)) No, to je upravo tako kako si rekao. dp
turbo.pascal.123 alexa,
Hvala na citatu iz literature. Svejedno, ova 'generalizacija' je nešto sasvim drugačije od binarnog stabla (a i 2-3 stablo je sasvim drugačije od binarnog). Uzgred, B-stabla se (tako kako su u citatu definisana) retko koriste za indekse na disku, zbog problema sa balansiranjem stabla. Izgleda da je danas uobičajeno da se B-stablima zovu stabla koja se u teoriji zovu B+ ili B* stabla.
turbo.pascal.125 rakim,
Mala dopuna, ORACLE koristi B*, dok INFORMIX i MF COBOL koriste B tree +. Ovo je obicno povezano i sa fajl sistemom koji se koristi i u samom operativnom sistemu. rakim
turbo.pascal.126 dejanr,
[Odgovor na 6.94, dsavic, 09.02.Sub 12:48] >> Inače, TP 6.0 (bez Professional verzije) košta 2.880 dinara - >> platiš na njihov račun i dobiješ za manje od sedam dana. Nije loša cena ali nije baš ni jeftino. Mene je TP6.0 koštao $100 odnosno 150 DEM odnosno recimo 1700 dinara (ne kao upgrade nego kao program) a kod nas, na žalost, mora da bude 70% više... Nekada je softver kod nas bio "džabe" a hardver je bio grozno skup. Sada je hardver relativno jeftin (kažu da se računar jeftinije dobija ovde nego, recimo, u Engleskoj uz jednako uložen trud u "traganje za boljom ponudom) ali nas distributeri softvera deru. Verovatno zato što na tom polju i dalje nema dovoljno konkurencije. Inače, kad sam kod TP6.0, da kažem da sam tu bacio $100; program sam posle izvesne količine "eksperimentisanja" obrisao sa diska i nastavio da koristim TP5.5. Ako nekoga zanima diskusija na ovu temu, mogu da napišem i zašto.
turbo.pascal.127 rklinar,
Pa, ako ti nije tesko, imat ces barem jednog pazljivog (i zahvalnog) slusatelja/citatelja. RK
turbo.pascal.128 vkostic,
Jel neko zna (ima) program koji prevodi pascal source na C ? Imam u perspektivi da program od par hiljada linija prevedem sa pascala na C. Ideja da to rucno radim mi se ne dopada ni malo. Stvar mi treba HITNO. V.K.
turbo.pascal.129 alazic,
Cini mi se da je to ova datoteka (skinuto sa jubas-a) ali posto mi vreme za danas istice ja cu da je upload-ujem pa makar i bila pogresna. Ipak cini mi se da je to ona prava. lepo se zabavljaj Alazic. tp2tc.zip
turbo.pascal.130 gww.,
V.K. ako ti ne bude teško napiši nešto o tom translatoru TP->TC ako misliš da valja. Imaš bar jednog pažljivog čitaoca.
turbo.pascal.131 vkostic,
Alazic, hvala za pc2tc. Probacu, pa sta bude... Pozdrav, V.K.
turbo.pascal.132 vkostic,
Zdravo Ljubisa, Ako bude nesto, imaces izvestaj. Inace, prilicno sam skeptican i plasim se da cu na kraju ipak dobar deo programa morati sam da prevodim. Pozdrav, V.K.
turbo.pascal.133 pogo,
Jedna od mana TP-a je što se ne može miješati tekst i grafika, što je, na primjer, mogao još blaženi SPECTRUM. Ipak, evo jednog nekompletnog rješenja: program p; uses graph, crt; var driver, mode : integer; begin driver := Detect; InitGraph (driver, mode, ''); DirectVideo := false; Circle (100, 100, 50); GoToXY (10, 10); WriteLn ('Ovo je tekst'); ReadLn; CloseGraph; end. Trik je u onome DirectVideo := false; Rješenje je nekompletno jer ne radi na HERCULES-u (za CGA nisam siguran). Za opće rješenje treba raditi druge stvari (vidi Graphic Toolbox) ali i ovo zadovoljava u nekim slučajevima.
turbo.pascal.134 dsavic,
Pa, izvoli. Da čujemo što ti se TP 6.0 toliko ne dopada!? Pozdrav, Duško Savić
turbo.pascal.135 dejanr,
Bojim se da trenutno nemam vremena da pišem nešto opširnije, ali vrlo ukratko: 1) IDE (integrisana okolina) - ozbiljan korak unazad. Prvo, ne volim miša dok programiram. Drugo, ne mogu se predefinisati tasteri kao što je godinama moglo: način koji postoji je beskrajno složeniji od starog TINST-a u kome je sve bilo očigledno, ali što je još gore ne mogu se UOPŠTE uraditi neke stvari koje su ranije mogle da se urade, recimo ne može se predefinisati da Home LeftArrow bude "kurzor na početak reda" i tome slično. Plus: rad u više prozora, ali i to izađe na minus kada se vidi da za program ostane manje memorije. 2) TurboVision: jedini pravi novitet, zamišljen kao način da se u programe pisane na Turbo Pascalu lako ugrađuju meniji, pacov itd. Po meni promašaj jer je njegova upotreba strahovito komplikovana. Na tržištu postoji nekoliko biblioteka (ja ih imam dve) uz pomoć kojih se slične stvari mogu napraviti beskrajno lakše, maltene da se ne otvori uputstvo. Upotreba TurboVision-a zahteva da se čita knjižurina i da se u program dodaju neke budi-Bog-s-nama konstrukcije tamo gde se sve lepo može rešiti pozivom jedne procedure. 3) Bugovi: TP6.0 kao da nije gotov proizvod, u njega je "upalo" toliko bugova da je to sramota za jednu firmu Borlandovog renomea. Jednom ću sa BIX-a preneti TP6.0 "bug sheet", trenutno oko 90K teksta (TP5.5 "bug sheet" ima 800 bajta). Ja sam nezavisno primetio dva neprijatna buga u kompajlerskom delu. 4) TPCX - neozbiljno. Jako sporo radi a naročito je ružno što koristi extended memoriju tj. tera me da u sistemu imam i LIM i extended RAM što je jako rasipajuće. Ako se Borland opredelio da u svim drugim komponentama TP (i uopšte, Turbo serije kompajlera) koristi LIM, onda ima nju da koristi i u TPCX! 5) Literatura: sramota. U indeksu postoji obilje referenci na stvari koje ne postoje u knjizi. Uz to, gomila značajnih (i to vrlo!) stvari i nije u uputstvu nego u nekakvim DOC fajlovima koje treba štampati pa koričiti. Zgodno za pirate, nezgodno za korisnike. Dobra strana: izdvajanje Language Reference-a u posebnu knjigu. 6) Ovo nije "mana" Turbo Pascala, nego prosto moje razočarenje. Intenzivno koristim TP već godinama i smatram (kao i, kako vidim, mnogi slični korisnici) da je ovo izvanredan proizvod kome nedostaju samo tri stvari: stringovi duži od 256 znakova, Large/Huge model (dakle strukture veće od 64K) i neka vrsta EMS manager-a koji bi omogućio Heap u LIM-u. Borland ne radi NIŠTA po tom pitanju, nego uvodi neke novitete koji lepo zvuče na papiru ali su u praksi od male koristi (meni - od nikakve). Uz to, Microsoft u svaku novu verziju svojih kompajlera ugradi dodatne nivoe optimizacije koda, koji istina ponekad umeju da prave probleme ali koji iz generacije u generaciju daju bitno brži i/ili kraći kod. Borland je "konzervirao" svoj paskal kompajler negde na verziji 4.0 i od tada se bavi njegovim spoljnim šminkanjem, u početku korisnim (TP5.0 je dobio sjajan Debuger, emulaciju koprocesora itd) a onda slabo upotrebljivim. 7) Recenzije paketa i korisnički komentari na CS-u i BIX-u su izrazito nepovoljni, broj korisnika koji se odlučio na upgrade je (prema nezvaničnim podacima) otprilike za 40% manji nego što je bio na prelasku TP5.0 --> TP5.5. Mislim da TP6.0, ako Borland nešto hitno ne uradi, neće zaživeti. Ja, u svakom slučaju, nemam nameru da ga koristim, zapravo obrisao sam ga sa diska ;) U sledećoj poruci ću preneti malo "random" diskusije sa BIX-a na tu temu, recimo od juče. Pozdrav, Dejan
turbo.pascal.136 dejanr,
========== borland/turbo.pascal #5191, from jtallet, 328 chars, Sun Feb 10 22:08:33 1991 Comment(s). ---------- TITLE: editor demo problem... I was playing around with the editor demo that comes with 6.0 and noticed that the '3 4 5 6' key's do not work! Has anyone else noticed? Is this intentional? I've tried to track the code that handles the keyboard keys but have not yet located it. Any help on this would be appreciated! jot .; ========== borland/turbo.pascal #5192, from jawong, 291 chars, Mon Feb 11 16:58:17 1991 Comment to 5187. Comment(s). ---------- Problems 19 and 20 are noted. Problem 21 is solved with the including of a History List in the IDE Open file selection. There should be a down arrow selection next to the Name Input line. If you click on it it will bring up a history list. From here you can choose the files of interest. ========== borland/turbo.pascal #5193, from jawong, 171 chars, Mon Feb 11 16:59:09 1991 Comment to 5191. ---------- There is a fix to the problem with the 3,4,5, and 6 keys. The patch can be found in the Borland Listings as EDITOR.PAT. This patch should fix the problem with those keys. ========== borland/turbo.pascal #5194, from jawong, j&JJ j$4_171 chars j$4_Comment to 5192. ---------- >History list as replacement for the Pick list Close, but no cigar. The File/Open history list keeps track of files opened ONLY if they were opened by moving the highlight bar to the name and pressing Enter (or, same thing, clicking the Open button). I use a trackball and double-click on the file I want, and this method does not put the name in the history list. And yes, it's still a bother to walk the directories with a trackball. Another annoyance with the history list: When you switch directories in the File/Open window, the first filename in the new directory winds up in the history, EVEN THOUGH you didn't load it. To top off the indignity, the history list does not keep track of the paths which go with the file names. Try to re-load the file when you aren't looking at its directory, and you get a blank editor window. Fat lot of good this does me when I'm grabbing files from three directories at once. The history list is a very poor replacement for the Pick list. File this with the programmers as a legitimate gripe. (Altho I admit I had forgotten about the History list until you mentioned it.) Fred Robinson ========== borland/turbo.pascal #5197, from fred.robinson, 396 chars, Tue Feb 12 19:11:04 1991 Comment(s). ---------- TITLE: David Gerrold in PC Techniques Did anybody else read David Gerrold's critique of TP 6.0 in the lastest PC Techniques? It's his regular column, not a review. His perspective is that of a semi-to-pro code hacker. For some reason, there are quite a few things he dislikes about TP 6.0. I wonder why... I find I agree with a lot of what he said. Anybody else? Aye? Nay? Fred Robinson ========== borland/turbo.pascal #5198, from fred.robinson, 258 chars, Tue Feb 12 19:11:15 1991 Comment to 5190. ---------- >... how about... Prokey/Superkey/whatever? Fine & dandy, for 1-key macros. Try to program "ctrl-K V" or "Home-Home-Up" with one of them. (FWIW, I have used Superkey. DESQview (my environment of choice) provides similar macro capability.) Fred Robinson ========== borland/turbo.pascal #5199, from fred.robinson, 284 chars, Tue Feb 12 19:11:25 1991 Comment to 5188. ---------- Yeah, A000 _is_ the EGA/VGA graphics segment (didn't notice that before). I wasn't using it for high mem (the cursor goes spastic when I do) and I hadn't been running any graphics. ?:-( Sounds like the instruction pointer got lost. I promise I'll try not to do it again ;-) Fred ========== borland/turbo.pascal #5200, from billn, 453 chars, Tue Feb 12 20:03:09 1991 Comment to 5197. Comment(s). ---------- I am *amazed* at the number of useful tricks and tools that were left out of TP 6.0. Frankly, the pick list is enough to make me skip the upgrades until they get it back in. I'm still working with 5.5 and plan to stay that way. What is interesting here is the product is better, but the IDE and human interface for the *programmer* is worse. This is not what I have expected from Borland in the past. Let's hope it's just a short abberation. BillN ========== borland/turbo.pascal #5201, from gchicares, 377 chars, Tue Feb 12 20:16:36 1991 Comment to 5200. More refs to 5200. ---------- I think that was the gist of Dave Gerrold's article that Fred mentions in #5197. 6.0 is better for the casual user, but some aspects of the new IDE make things more tedious for the pro's. Like search and replace. It's not just ^QA anymore. There are all kinds of nifty options now. Well, to be fair, you can set the options to reasonable defaults and they'll be remembered. ========== borland/turbo.pascal #5202, from pwmeek, 317 chars, Tue Feb 12 20:16:58 1991 Comment to 5200. More refs to 5200. ---------- My guess is that it's a 'hiccup' on the way to a Window's version. Most to the interface changes seem to be steps in the direction of the standard windows GUI. I use Win3 and they don't seem to 'strange' to me; different than the old way but not strange. I hope Borland makes a success of the final version. --Pete ========== borland/turbo.pascal #5203, from hkenner, 93 chars, Tue Feb 12 22:17:03 1991 Comment to 5200. ---------- TP-6 bids fai to be the classic example of an upgrade that was Released Before it was Ready. ========== borland/turbo.pascal #5204, from wlmoore, 434 chars, Tue Feb 12 22:30:21 1991 ---------- TITLE: EMS hangup. I got ahold of an above board with 2 megs of RAM that I installed as all expanded. When I fired up TP6.0 with the /x option I got an error message 'Not enough virtual memory for operation'. I clicked the ok button, and the system was hung! I haven't been able to find any reference to the error message, obviously something with the expanded memory. It has been a rough year for 6.0 releases hasn't it? Wayne
turbo.pascal.137 gww.,
" (TP5.5 "bug sheet" ima 800 bajta). Zašto toga nema na Sezamu (mislim tih bug-sheet-ova za razne jezike) u odgovarajućim direktorijumima? Takodje bih voleo da se nadju i druge dokumentacije (INTER589 je lep početak) formati grafičkih standarda, strukture važnijih datoteka (ARC, DBF, WKx ...) i tako to, kome treba uzeće možda i napisati neki programčić (ili programčetinu) a verovatno i svi mi kad se nadjemo pred problemom (ko će sad da juri neku knjigu o tome i tome)
turbo.pascal.138 dejanr,
>> Zašto toga nema na Sezamu (mislim tih bug-sheet-ova za razne jezike) u >> odgovarajućim direktorijumima? Ehhhh.... uz ove cene Jupaka i ove restrikcije na SET HOST /X29 i druge lepote, pravo pitanje koje treba postaviti kad nešto slično vidite u direktorijumu ili u konferenciji je "zašto toga ovde IMA" ;(
turbo.pascal.139 ppekovic,
>>Zašto toga nema na Sezamu (mislim tih bug-sheet-ova za razne jezike) >>u odgovarajućim direktorijumima? Takodje bih voleo da se nadju >>i druge dokumentacije (INTER589 je lep početak) formati grafičkih >>standarda, strukture važnijih datoteka (ARC, DBF, WKx ...) i >>tako to, kome treba uzeće možda i napisati neki programčić (ili >>programčetinu) a verovatno i svi mi kad se nadjemo pred problemom >>(ko će sad da juri neku knjigu o tome i tome) Kad smo već kod toga, zašto se u, recimo, direktoriju novosti ili negde drugo, ne nađe fajl sa ad│Ýyresama i naročito fax-ovima (jer ih je jako teško naći), poznatijih firmi (Microsoft, IBM, Compaq, pa možda i Borland ;)) ). Naime, verovatno većina na Sezamu ima po 1-2 broja fax-a, pa kad bi se to skupilo,... Paya
turbo.pascal.140 dejanr,
>> Kad smo već kod toga, zašto se u, recimo, direktoriju novosti ili >> negde drugo, ne nađe fajl sa ad│Ýyresama i naročito fax-ovima >> (jer ih je jako teško naći), poznatijih firmi (Microsoft, IBM, >> Compaq, pa možda i Borland ;)) ). Naime, verovatno većina na Sezamu >> ima po 1-2 broja fax-a, pa kad bi se to skupilo,... Dobra ideja. Šaljite ih u PC.SOFT/nabavka.softvera (čak i kada firme prave hardver) pa ćemo ih posle izvesnog vremena srediti i staviti u direktorijum. Pozdrav, Dejan
turbo.pascal.141 mtadic,
Dejane, "uz malu pomoć prijatelja" ništa nije nemoguće! Šalu na stranu, ako je SET HOST /X29 najveća prepreka za realizaciju gww.-ovog predloga (koji podržavam iz sve snage!!), onda imam jedno, ako ne rešenje, a onda barem workaround. Šifra je "Freiburg". Ako je problem više u manpower, možda mogu i tu da pomognem ;) (tm) MT
turbo.pascal.142 pbojan,
Evo jedne male procedure koja ume da razlikuje 80286,80386 i one sitnije: USES dos; PROCEDURE cpu; VAR r: REGISTERS; sp,ax : WORD; BEGIN WRITE ('CPU is '); INLINE($54/$58); sp:=SPTR; ax:=r.ax; IF SP=AX THEN WRITELN ('8086 (or 8088,80188,80186,v20,v30)') ELSE BEGIN INLINE ($9c/$58/$0d/$00/$40/$50/$90/$9c/$58); IF (r.ax AND $4000)=1 THEN WRITELN ('80286') ELSE WRITELN ('80386'); END; END; Kako radi? Procesore sa PROTECTED modom cemo razlikovati od 'sitnijih' po tome sto PROTECTED mode procesori DEC SP posle PUSH a oni sitniji DEC SP pre PUSH. Da bi smo razlikovali 286 od 386, posmatramo BIT 14 u FLAGS koji moze biti setovan u REAL modu SAMO na 386 ili 486 (odn. ne moze biti setovan u REAL modu na 286).BIT 14 u FLAGS je tzv. NESTED TASK bit. Razliku izmedju 386 i 486 neznam, ali je treba traziti negde oko CASH-a. pBOJAN ps. Ideja preuzeta iz nekog stranog casopisa, nesecam se kojeg jer sam samo zapisao fazon.
turbo.pascal.143 arsa,
pomoc. napravio sam neku igricu u turbo paskalu i sad neznam kako da ulinkujem fajlove: myprog.exe herc.bgi goth.bgi sans.bgi small.chr Hkako da sve ovo objedinim u jedan fajl ili u jedan exe i jedan pomocni
turbo.pascal.144 mikij,
Negde u primerima koje si dobio uz TP imas i BGILINK.PAS i BGILINK.MAK . Unutra je objasnjeno (i napravljeno) kako se linkuju drajveri za kartice i fontovi (mislim da si hteo da napises goth.chr itd.) . Ako imas i dalje problema javi se. Pozdrav Miki
turbo.pascal.145 mtadic,
> Razliku izmedju 386 i 486 NEZNAM, ali je treba traziti negde >oko cash-a. > pbojan > >ps. Ideja preuzeta iz nekog stranog casopisa, NESECAM se kojeg > jer sam samo zapisao fazon. Obe reci napisane velikim slovima sam ja prepravio radi isticanja. Bojanova poruka mi je bila samo povod da kritikujem veliki deo populacije zbog elementarnog nepoznavanja gramatike. Vrlo se dobro sećam da sam u *trećem* razredu *osnovne* dobio jedinicu na diktatu iz srpskohrvatskog jezika, jer sam negaciju pisao zajedno sa glagolom na koji se odnosila: neznam, nemogu i sl. Pravilno je da se negacija piše odvojeno od glagola: ne znam, ne mogu i sl. Postoje (koliko se sećam) samo četiri izuzetka, kojih ne mogu tačno da se setim, ali *nemam* je sigurno jedan od njih (kandidati su i nisam i nemoj). Lako ih je prepoznati, jer ako odvojimo negaciju, ostaje nam besmisleni deo (ne mam - "mam" nije ništa dok mu se ne doda I). Nasuprot glagolima, pridevi se pišu zajedno sa negacijom: nemoguć, nepristojan i sl. Zaključak: a) Loše telefonske veze vole da "gutaju" blankove na važnim mestima ;) b) *Ne* šaljite izvinjavajuće, opravdavajuće, polemišuće i slične odgovore c) Šaljite sve odgovore koji iznose *činjenice* sa područja gramatike d) Nemojte Bojanu dati jedinicu :) Vaša dežurna cepidlaka
turbo.pascal.146 dejanr,
>> Vaša dežurna cepidlaka Vala baš :(
turbo.pascal.147 pbojan,
>Razliku izmedju 386 i 486 neznam... E, sada saznadoh za bit 29 u registru CR0 koji postoji samo na 486, ali ga nema na 386. Verovatno samo treba ispitati da li moze da mu se dodeli vrednost- ako moze to je 486, ako ne moze to je 386. Nazalost, nemam 486 da probam. pBOJAN ps. Nazalost, moram da reagujem na MTADIC-evu opasku na moj racun. Nisam ocekivao da cu na SEZAMU doziveti da ce se jedan cisto programerski rad ocenjivati sa gramaticke strane, bas kao sto bi bilo jako neprijatno ocenjivati literarni rad sa gledista programera ('gde mu je BEGIN? A END?..'). Zao mi je sto se na jednoj programerskoj konferenciji raspravlja o potpuno nevaznim stvarima. Uostalom, ovakav trend je zahvatio veci deo SEZAMA sto nije za pohvalu mnogim sezamovcima. Ja sam SIGURAN da bi mnogim ucesnicima PROGRAMERSKI komentar na moj prilog bio mnogo korisniji nego lekcija iz treceg osnovne. Ali, ne razmislja svako kao ja...
turbo.pascal.148 bulaja,
> SIGURAN da bi mnogim ucesnicima PROGRAMERSKI komentar na moj > prilog bio mnogo korisniji nego lekcija iz treceg osnovne. > Ali, ne razmislja svako kao ja... Na svu srecu, tako ipak razmislja vecina.
turbo.pascal.149 mtadic,
> Nisam ocekivao da cu na SEZAMU doziveti da ce se jedan cisto > programerski rad ocenjivati sa gramaticke strane, bas kao sto AAAAAAAAUUUUUUUUUU narode, al ste vi osetljivi!! IZVINJAVAM SE, MNOGO SE IZVINJAVAM - NEĆU VIŠE NIKAD NIKOME DA SKREĆEM PAŽNJU NA GREŠKE. Nije mi prvi put da budem popljuvan zbog dobronamerne, kulturno napisane digresije u kojoj sam se još i propisno ogradio. Nije mi prvi, ali mislim da mi je *poslednji* put potpis: :-X (lips sealed)
turbo.pascal.150 dejanr,
>> > SIGURAN da bi mnogim ucesnicima PROGRAMERSKI komentar na moj >> > prilog bio mnogo korisniji nego lekcija iz treceg osnovne. >> > Ali, ne razmislja svako kao ja... >> >> Na svu srecu, tako ipak razmislja vecina. Sasvim se slažem. Za mene je svaki tekst dobar dokle god razumem šta u njemu piše. A da li je dali ili da li to mi je sasvim svejedno.
turbo.pascal.151 tgorisek,
<< Evo jedne male procedure koja ume da razlikuje 80286,80386 << i one sitnije: Ovde nesto ne radi dobro ?! Imam 286 a procedura CPU ispise : " CPU is 80386 " . Pozdrav , Tomislav !
turbo.pascal.152 bulaja,
> Ovde nesto ne radi dobro ?! > Imam 286, a procedura CPU ispise : " CPU is 80386 ". Eto, nisi ni znao da su ti uvalili 386 plocu, a ti platio obicnog ATa, da ne bi programa, ziveo bi u neznanju :).
turbo.pascal.153 pbojan,
Nazalost, upravu si. Greska je u drugom INLINE ( 7. broj treba da je $9D a ne $90 ). Evo tacnog INLINE-a: .. .. .. .. BEGIN INLINE ($9c/$58/$0d/$00/$40/$50/$9D/$9c/$58); IF (r.ax AND $4000)=1 THEN WRITELN ('80286') ELSE WRITELN ('80386'); END; Greska se pojavila pri prevodjenju masinca na Pascal (rucno, naravno). SORRY. pBOJAN
turbo.pascal.154 tgorisek,
HE,HE !!! Bilo bi lepo !! Pozdrav ,Tomislav ! :))
turbo.pascal.155 matejk,
Pozdrav Sezamu, U pocetku ove teme, puno se razgovaralo o CHAIN proceduri za TP4.0 - TP5.5. Problem se resio sa CHAIN4 procedurom (poruka 8.24). Ovo stvarno dobro radi, ali ne i u kombinaciji sa ugradenom EXEC procedurom. Ako u TP5.0 ili TP5.5 sa CHAIN4 pozovem program, koji sadrzava npr.: ... SwapVectors; Exec ( 'c:\command.com','/c copy test.ba1 test.ba2 >> nul:' ); SwapVectors; ... stvar vise ne radi. Ako isti program pozovem iz DOSa on radi. Zasto ? Ima li nekog resenja ? Matej
turbo.pascal.156 dejanr,
========== borland/turbo.pascal #5316, from lkraft, 1121 chars, Mon Mar 18 18:58:23 1991 ---------- TITLE: Announcing TP for Windows (see borland/news #30) A press release announcing Turbo Pascal for Windows is in borland/news #30. A quick way to get that message would be to type "jo borland/news 30". The press release gives a fairly detailed description of TPW and describes a very special offer for users of ANY Borland language product. It also mentions that TPW will be "available later this month". To discuss any of the details pertaining to your obtaining a copy of this program please telephone our order line at 800 331-0877 (toll free) or (408) 438-5300 (toll call from outside U.S.) or send BixMail to Borland Customer service representative Dan Lukin by typing "mail to borland.cs". On the other hand, the technical support reps who man the Borland conference are not in a good position to help with business matters of this nature. If you don't necessarily want to see all future press releases and are in the habit of using someting like the "file all" command then you may want to type resign borland/news after getting that message. Larry Kraft Online Services Administrator Borland International
turbo.pascal.157 dejanr,
========== borland/news #30, from lkraft, 4093 chars, Mon Mar 18 18:57:56 1991 ---------- TITLE: BORLAND ANNOUNCES TURBO PASCAL FOR WINDOWS Brings Windows Within Every Programmer's Reach SCOTTS VALLEY, Calif. - March 18, 1991 - Borland International (NASDAQ:BORL) announced today Turbo Pascal for Windows, a new programming environment that allows millions of computer programmers to easily develop programs for the Microsoft Windows operating system. Turbo Pascal for Windows streamlines Windows development through the use of ObjectWindows, an object-oriented Application Program Interface (API) that dramatically reduces the amount of code required for Windows applications. "With the introduction of Turbo Pascal for Windows, Borland is once again extending its leadership role in providing Windows products using Object-Oriented Programming," said Philippe Kahn, Borland's chairman, president and CEO. "With three Windows products, Turbo Pascal for Windows, Borland C++ and ObjectVision, Borland provides a Windows application development solution for everyone -- from professional programmers to end-users." Turbo Pascal for Windows is exclusively designed for Windows development and does not require the Microsoft Software Development Kit (SDK). The product is available for IBM personal computers and 100 percent compatibles under Windows 3.0 or later. It runs in protected mode on an 80286 or higher processor, and requires a hard disk, 2 MB memory, EGA, Hercules, or VGA graphics and mouse (or other pointing device). "Turbo Pascal for Windows features the world's first mainstream Windows Integrated Development Environment," said Gene Wang, vice president of Borland's Languages Business Unit. "By integrating the speed and ease of Turbo Pascal with a new graphical user interface, we will enable millions of DOS programmers to break into Windows." Pricing and Special Offer Turbo Pascal for Windows has a suggested retail price of $249.95 in the U.S. and Canada and will be available later this month. The product will be offered in the U.S. and Canada for a limited time at the special price of $99.95 for registered owners of any Borland language. The product will be available in German, French, Danish, Swedish and Japanese versions later this year. Major Features of Turbo Pascal for Windows * ObjectWindows reduces the amount of Windows code required by providing predefined objects for windows, menus, dialogs, controls, data management and more. * Windows Integrated Development Environment enables the programmer to create, edit, compile and run programs all from within the Windows environment. * The Whitewater Resource Toolkit enables the user to create and manage customized dialog boxes, menus, icons, bitmaps and other Windows resources visually, without programming. * Turbo Debugger for Windows provides the programmer with Windows message trapping, reverse execution, object hierarchy browser and inspectors. * Help Compiler allows programmers to create their own on-line help systems. * Turbo Help provides the programmer with an on-line hypertext help system documenting all aspects of programming including every Windows API function. Third Party Support Turbo Pascal for Windows will be supported by third-party library and tool vendors as well as trade, professional and college text publishers. Numerous books are under development about programming using Turbo Pascal for Windows. Among these are Turbo Pascal for Windows 3.0 Programming by Tom Swan; a Borland/Bantam book Turbo Pascal for Windows Bible, from Howard W. Sams & Co.; and Using Turbo Pascal for Windows from Que Corporation. Borland International, Inc. (Scotts Valley, Calif.) is a leading developer of object-oriented business software and programming languages. Borland offers some of the world's most widely user PC software, including Borland C++, Turbo C++, Turbo Pascal, Paradox, ObjectVision, Quattro Pro and Sidekick.
turbo.pascal.158 dejanr,
[From CIS]: Turbo Pascal for Windows 1.0 Hot Sheet Feature Highlights ---------------------- NEW! state-of-the-art Windows integrated development environment (IDE) Runs under Windows Multiple editor windows Full Mouse Support Supports TP6 type hot keys Multi-file editor that can edit files up to 1MB complete save and restore of desktop NEW! ObjectWindow library - Built in support for Windows, Menus, Dialogs, Buttons, List boxes, Edit fields, Icons and more. All for use in your applications. NEW! Full access to all Windows API functions and messages. NEW! Fully Supports creation of DLLs. NEW! Turbo Debugger for Windows Supports Windows messages Advanced breakpoints Reverse execution Automatic DLL debugging Object browser and inspectors Single and dual monitor support INCLUDED! Whitewater Resource Toolkit - Visually create Dialogs, Menus, Icons, Bitmaps and String resources. INCLUDED! Resource Compiler INCLUDED! Windows Help Compiler Full featured inline assembler (BASM) Private fields and methods in object declarations Extended syntax directive ($X) that lets you treat functions like procedures (and ignore function results) 286 code generation address references in typed constants Far and near procedures directives ($F) Link in initialized data ($L) from object (OBJ) files Smart linker removes unused objects and code complete math coprocessor emulation and support - 8087/80287/80387 NEW! Turbo Help hypertext on-line help facilities, including references to all Windows API finctions and messages. Turbo Pascal for Windows includes everything you need to create Windows applications. It does not require the Microsoft Windows SDK. System Requirements --------------------- IBM PC or PS/2 and all 100% compatibles Microsoft Windows 3.0 or later 2Mb of memory EGA, Hercules or VGA graphics Mouse or other pointing device Hard Disk (Requires 6.5 Meg for full product) Benchmarks ----------- Machine Lines/Min Compaq DeskPro 386/33 84,000 Documentation ---------------- 1. User's Guide 2. Programmer's Guide 3. Windows Reference Guide 4. Windows Programming Guide 5. Whitwater Resource Toolkit Users Guide 6. Turbo Debugger for Windows Users Guide 7. Help Compiler Reference Guide Pricing Information ------------------------- Turbo Pascal for Windows $249.95 Special Offer Information --------------------------- Registered user of ANY BORLAND LANGUAGE PRODUCT $99.95 *** ***Turbo Pascal for Windows is exclusively for Windows Development and does not replace Turbo Pascal version 6.0. TP6 is the current product for standard DOS development. The offer is not an upgrade it is a limited special offer to our current Turbo Pascal Customers.
turbo.pascal.159 bjirecek,
Bolje ikad nego nikad; naime tek sam danas procitao tvoju poruku. Saljem ti svoj editor - poprilicno je kilav, ali ti mozda moze posluziti. Naravno, radi sa Hercules-om, te ako ti treba drugacije - prepravi ga. Pozdrav, Branko edt.zip
turbo.pascal.160 dobradovic,
Nesto u vezi TP 6.0. Lepo ga instaliram sa originalne diskete. Sve bude OK. Posle toga uradim "attrib +r turbo.exe" i dobijem sledecu poruku: Internal error 254 at 0018:1750. Please report to Borland. Vec sam poceo da im spominjem drage osobe, pa se setih da stavim RW atribut i sve opet lepo proradi. U cemu je stos.
turbo.pascal.161 dejanr,
========== borland/turbo.pascal #5347, from jclinton, 295 chars, Mon Mar 25 21:03:21 1991 Comment(s). ---------- TITLE: ObjectWindows vs TURBOVision How similar are these ? Was ObjectWindows designed with compatability to TURBOVision in mind? Can a program written to use TURBOVision be compiled with ObjectVision? With a minimum of changes? Any info along this line would be of great interest! Bill. ========== borland/turbo.pascal #5348, from jawong, 1056 chars, Tue Mar 26 12:41:58 1991 Comment to 5347. Comment(s). ---------- Turbo Vision and Object Windows are two seperate and distinct libraries intended for their respective compilers. Turbo Vision has been optimized for Turbo Pascal 6.0 running under a text based environment. Object Windows, on the otherhand is meant exclusively for the Windows 3.0 environment. It has been optimized specifically for Windows and the graphical environment of Windows. The look and feel of the two libraries may be similar, but the two are definitely not compatible with each other. Turbo Vision code will not compile under TPW to produce Vision apps as with TP6. In order to port an application in Turbo Vision to Windows the program will require a complete rewrite. Since Object Windows has a similar structure to Turbo Vision, getting started with the Windows platform will quicker than using the standard API function calls. Much of the functionality of Turbo Vision has been incorporated into Object Windows, such as TApplication and TCollections. This certainly makes the transition between the two mediums a bit smoother. ========== borland/turbo.pascal #5353, from jclinton, 122 chars, Fri Mar 29 00:27:12 1991 Comment to 5348. ---------- Any plans to make them more compatible, or reasons (beyond extended feature) why they were NOT made more similar? Bill. ========== pascal/turbo #4329, from mwelch, 658 chars, Thu Mar 28 19:32:11 1991 ---------- TITLE: Turbo Pascal for Windows I have just received Turbo Pascal for Windows (it may have arrived at the office yesterday), and spent an hour installing it. It took an hour because it ran out of disk space during installation, for reasons unknown. I had 9 megs free and it needs only about 7, but even with 12 megs free it couldn't complete installation. Eventually, with the help of Borland tech support I completed installation manually. From five minutes with the product, it seems to be just what I expected: Turbo Pascal, running under Windows. Some nifty demos. I have to run to an appointment, but i'll offer more comments as time permits.
turbo.pascal.162 dejanr,
PS U Redakciju "Računara" je stigao Turbo Pascal for Windows. Prikaz će biti u majskom broju časopisa a u međuvremenu ću, kada ga pogledam, izložiti prve utiske ovde.
turbo.pascal.163 dejanr,
Kratka diskusija posle (moje :) observacije da TP for Windows po prilici stvari I DALJE ima limit od 64K za strukturu i ukupno 64K za podatke :((( ========== borland/turbo.pascal #5373, from chchmeds, 304 chars, Fri Apr 5 23:55:00 1991 Comment to 5372. Comment(s). More refs to 5372. ---------- Oh surely not. I have to make a descision soon about what to adopt for Windows development - C or Pascal. Can anyone confirm that a structure cannot, in TPW, exceed 64K. I assume the limit of 64K of global data doesn't apply - does it? Gordon (who is in danger of haveing to take C++ seriously :-( ) ========== borland/turbo.pascal #5382, from jawong, 756 chars, Mon Apr 8 19:06:18 1991 Comment to 5373. Comment(s). ---------- OK, here's the definitive answer to the 64K segmentation limit, It is still present in TPW. The Global data segment is 64K and the a single code segment is 64K, in protected mode. Of course, because of the medium memory model, multiple code segments are possible with units, but the global data segment is still limited to a single 64k structure. More bad news, the stack is now located in the global data segment also. But now for the good news. Using the Windows API function Call GlobalAlloc, you will be able to construct structures that exceed the 64k limitation for any one structure in the global heap. By using this function call you will be able to allocate a data structure on the heap of any size up to available free memory unders Windows. ========== borland/turbo.pascal #5385, from pwmeek, 369 chars, Mon Apr 8 19:33:45 1991 Comment to 5382. Comment(s). ---------- That's the answer *I* wanted to hear! So far, all the big data structures I've wanted to construct have been more easily done as dynamic anyway. I keep building trees with relatively small nodes (2 pointers, a character, and an integer) that run out of heap space under TP. (typical node size ^^) --Pete (glad I ordered it; where is it? It's been a WEEK!) --Pete ========== borland/turbo.pascal #5392, from dave2, 294 chars, Thu Apr 11 00:15:49 1991 Comment to 5390. ---------- TP6 and TPW handle the heap differently from TP5.5. I am having some strange problems with the Borland-supplied patches to the Editor Toolbox, and have gone back to 5.5 so I can meet my schedule. I'll post a complete description and sample code when I get finished tracking it down. <sigh>
turbo.pascal.164 dejanr,
Još malo o TP for Windows (biće test u majskim "Računarima" - al smo ažurni :). Stringovi su i dalje ograničeni na 256 bajta :(((( što je, pomislio sam, veeeeliki bezobrazluk sa Borlandove strane. Međutim, pokazalo se da su ti stringovi ostali kakvi su bili, ali da su uvedeni novi 'zero terminated' stringovi koji mogu da budu dugački do 65535 znakova. Takođe su uvedene razne funkcije za rad sa njima (računajući i ekvivalente svih standardnih string funkcija) i konverziju. To su dobre novosti. Loše (?) novosti je da su ti stringovi veoma nalik na C stringove, dakle najobičniji pointeri. Nema, dakle, lepe Paskalske zaštite od prekoračenja niza, čuvanja od "udara" u neku drugu strukturu nego ako napravite bug... sami ste krivi! Osim toga, TP for Windows više *nema* integrisani debager nego se mora pozivati Turbo Debuger. To se radi dosta jednostavno iz IDE-a ali je onaj raniji sistem bio mnogo zgodniji. I još nešto - ako mislite da kupite Turbo Pascal 6.0 i Turbo Pascal for Windows, pa da onda napravite aplikaciju u tekst modu i "prevedete" je tako da radi i u grafičkom modu pod Windows-ima, zaboravite. Jezici su u domenu grafike na neki način slični (vidi se da je to dalja rodbina) ali su daleko od kompatibilnog, tj. slede ozbiljne prepravke! Ali TP for Windows je i dalje najmanji i najjeftiniji paket koji vam omogućava da (vrlo kvalitetno i komforno!) pišete softver koji će raditi pod Windows-om!
turbo.pascal.165 ivans,
Registrovan sam korisnik TP6 proffesional. Da li imam pravo na upgrade verziju TPW? Ako imam, kako je organizovana nabavka upgrade verzije?
turbo.pascal.166 bulaja,
> Registrovan sam korisnik TP6 professional. Da li imam pravo na upgrade > verziju TPW? Ako imam, kako je organizovana nabavka upgrade verzije? Ne znam da ti odgovorim na pitanja, ali mislim da bi najbolji odgovor trebalo da dobijes na Borland BBS-u - (0601) 21 596, koji bi trebalo da pruza tehnicku podrsku za TC i TP (tako bar pise u reklami, nisam zvao :).
turbo.pascal.167 dejanr,
>> Registrovan sam korisnik TP6 proffesional. Da li imam pravo na >> upgrade verziju TPW? Ako imam, kako je organizovana nabavka >> upgrade verzije? Trebalo bi da ti od Borlanda stigne kupon sa pozivom na nabavku. TPW košta $100 ali mislim da se trenutno ne distribuira van USA (osim pomalo računarskim novinama :)
turbo.pascal.168 zonjic,
Ako imas vremena prosetaj do Americke citaonice gde uvek mozes da procitas (ne bas najnoviji, ali ipak...) BYTE ili PC MAGAZINE. Puni su oglasa, pa cak i Borland-ovih :) Tu ces sigurno naci i obavestenje za sebe!!! Rade
turbo.pascal.169 zonjic,
Trebao bi mi neki mali program za PC koji 'ulepsava' pascal source, kao program cb za C. Ako neko ima, neka stavi. Hvala, Rade
turbo.pascal.170 majkl,
Program Source Print (v 3.00 Copyright 1985,86 Aldebaran Labs.) daje formatizovan ispis (ekran/datoteka/štampač) Basic, C, dBase, Modula-2, Pascal i Fortran programa. Izmadju ostalog, može da istakne rezervisane reči jezika i da označi strukture. Pozdrav, Majkl
turbo.pascal.171 snemcev,
To je tačno, ali verzija Source Print-a je prilično stara, tako da je fenomenalna za upotrebu sa TP 3.0, ali ne prepoznaje sve rezervisane reči TP 4.0 i svih većih. Ovo i nije previše bitno, ali ograničenje je ograničenje (mrzim da vidim BOOLEAN a ispod toga 'word').
turbo.pascal.172 yupc,
Evo ukratko, ON LINE, sta Turbo Profesional (serije) imaju vise u odnosu na obicne Turbo serije (bilo Pascal, bilo C) Unapred hvala, YUPC P.S. Mislim naravno na Borlad
turbo.pascal.173 zormi,
> sta Turbo Profesional (serije) imaju vise > u odnosu na obicne Turbo serije (bilo Pascal, bilo C) U paketu je Turbo Debugger, Turbo Assembler i možda još ponešto.
turbo.pascal.174 djelovic,
možda još ponešto := Turbo Profiler
turbo.pascal.175 ivujanic,
> sta Turbo Profesional (serije) imaju vise > u odnosu na obicne Turbo serije (bilo Pascal, bilo C) > P.S. Mislim naravno na Borlad Evo što se tiče verzije Borland C++ 2.0, dakle ne Turbo C++ 2.0. Ovaj drugi je klasičan C++, dok Borland C++ generiše i kod za Windows-e. Dakle Borland C++ Professional ima: -C++ (i u verziji sa IDE i kao klasični kompajler postoje po dve verzije, jedna je standardna a druga radi u protected modu vašeg 286+ računara, što rezultira bržim prevođenjem i linkovanjem) -TASM -Turbo Debbuger -Profiler -Whitewater Resource Toolkit (za Windows-e, ikoni, meniji...) Inače, izgleda da nije samo razlika u broju programa, već i u knjigama. Kažem izgleda jer poredim Turbo C++ i Borland C++ Professional. Ovaj drugi ima i Library Reference, Što onaj prvi nema. Ivica
turbo.pascal.176 dejanr,
========== borland/turbo.pascal #5536, from fred.robinson, 384 chars, Mon May 13 19:19:50 1 991 Comment(s). ---------- TITLE: Potential trouble with the Intr procedure Interrupts $25 and $26 (Absolute Disk Sector Read or Write) leave an extra word on the stack when they are done. When called with the TP Intr procedure, this extra word is not cleared and the program goes west into uncharted territory. Fair warning: To use these interrupts with TP, you gotta do your own ASM code. Fred 2345447310 ========== borland/turbo.pascal #5537, from sjgrant, 2872 chars, Mon May 13 20:28:38 1991 Comment to 5536. Comment(s). ---------- > To use these interrupts [$25 and $26] with TP, you gotta do > your own ASM code. Exactly right. When I was moving SYSID from TP4 to TP5 ligo showed me how to invoke INT 25H from TP. Like this: ;-------------------- cut here -------------------- public DISKREAD CODE segment word use16 DISKREAD proc near assume cs : CODE assume ds : DATA assume es : nothing ; On entry: ; ; BP ; SP => near return address ; offset of disk buffer ; segment " " " ; number of sectors to read ; starting logical sector number (lo) ; starting logical sector number (hi) ; drive number (0=A, 1=B, etc.) ; ; On exit: ; ; AX = function result ; 0000 - function successful ; other - error result as returned by INT 25H arg buffer_ofs : word, \ buffer_seg : word, \ num_secs : word, \ start_sec_lo : word, \ start_sec_hi : word, \ drive : byte : 2 \ = parmsize push bp mov bp, sp push ds mov ax, 3000H int 21H cmp al, 4 jnc diskread_1 ; DOS 3.x mov al, drive mov dx, start_sec_lo mov cx, num_secs lds bx, dword ptr buffer_ofs jmp diskread_2 diskread_1: ; DOS 4.x mov al, drive mov cx, 0FFFFH mov bx, seg int25_parms mov ds, bx mov bx, offset int25_parms mov dx, start_sec_lo mov int25_parms.int25_sec_lo, dx mov dx, start_sec_hi mov int25_parms.int25_sec_hi, dx mov dx, num_secs mov int25_parms.int25_num_secs, dx mov dx, buffer_ofs mov int25_parms.int25_buffer_ofs, dx mov dx, buffer_seg mov int25_parms.int25_buffer_seg, dx diskread_2: int 25H inc sp ; fix broken stack inc sp jc diskread_3 xor ax, ax diskread_3: pop ds pop bp ret parmsize DISKREAD endp CODE ends ;--------------------------------------------------------------------- DATA segment word use16 int25_parms_t struc int25_sec_lo dw ? int25_sec_hi dw ? int25_num_secs dw ? int25_buffer_ofs dw ? int25_buffer_seg dw ? int25_parms_t ends int25_parms int25_parms_t <> DATA ends end ;-------------------- cut here -------------------- The calling Pascal program then declares the DISKREAD function like this: (*$L DISKREAD*) function diskread(drive : byte; start_sec : longint; num_secs : word; var buffer) : word; external; Implementation of a DISKWRITE procedure using INT 26H is left as an exercise for the reader. Steve ========== borland/turbo.pascal #5544, from fred.robinson, 318 chars, Wed May 15 19:20:12 1991 Comment to 5537. Comment(s). ---------- >DISKREAD code Oh, goody, pennies from heaven! Now I don't have to beat my head against the asm wall to do it. Extremely frustrating since I know diddly-squat about assembler code. Mucho thanx! (Weds. eve: Although to use it in a unit I had to make it "PROC FAR". Had me wondering for a while.) Fred 2363144956
turbo.pascal.177 ognjan,
Prijatelj me zamoli da priupitam: Kako da isprinta grafiku na štampač iz TP 5.0 ??? Grafička kartica je Herkules. Ogy.
turbo.pascal.178 djelovic,
Postoji BGI drajver koji komande (line, putpixel, ...) umesto na ekran šalje na štampač. Dobijaš i source. $89.95 + $4.00 RYLE DESIGN PO Box 22 Mt. Pleasant MI 48804 Tel: 517-733-0587 Napiši nešto o njemu ako ga naručiš, verujem da mnoge na SEZAM-u zanima.
turbo.pascal.179 ognjan,
>> Postoji BGI drajver koji komande (line, putpixel, ...) >> umesto na ekran šalje na štampač. Dobijaš i source. $89.95 + $4.00 Izgleda da se nismo razumjeli :) Pitanje je u stvari: Kako napraviti najobičniji hardcopy grafičkog ekrana ? Rješenje je sigurno jednostavnije i jeftnije od pomenutog, ali s obzirom da sam ja iz "protivničkog" tabora (ST :), ne zamjerite na ovako trivijalnom pitanju. Pozdrav, Ogy.
turbo.pascal.180 ivujanic,
>TITLE: Potential trouble with the Intr procedure >Interrupts $25 and $26 (Absolute Disk Sector Read or Write) leave >an extra word on the stack when they are done. When called with >the TP Intr procedure, this extra word is not cleared and the >program goes west into uncharted territory. Fair warning: To >use these interrupts with TP, you gotta do your own ASM code. Ne radim u Pascal-u, ali ovakvi prilozi su ono što čini Sezam pravom zrelom investicijom! Svaka čast Dejane, samo napred! Nekome si uštedeo sate debugg-ovanja. Ivica P.S. Taj ekstra byte je izgleda ono o čemu je već bilo reči ovde u vezi sa DOS-ovima koji imaju particije veće od 32MB, pa su ulazi u FAT veći... Nije na odmet biti oprezan, možda je Borlandu promaklo u još nekom jeziku.
turbo.pascal.181 trki,
Interesuje me da li verzija 6.0 ogranicava source kod na 64k kao prethodne. trki
turbo.pascal.182 shone,
> Interesuje me da li verzija 6.0 ogranicava source kod na 64k kao prethodne. Ja ne znam ovo, ali dali neko zna jeli u TP 6.0 ukinuto ijedno ogranicenje ranijih verzija turbo paskala. Cak je i prevedeni kod programa u jednom modulu ogranicen na 64k sta sam nedavno utvrdio pokusavajuci da "ulinkujem" jedan .obj sa grafickim elementima koji je bio oko 60K.
turbo.pascal.183 dejanr,
>> Interesuje me da li verzija 6.0 ogranicava source kod na 64k kao prethodne. Mislim da source nije odavno ograničen, ali obj jeste - jedan modul može da proizvede objektni kod od najviše 64 K. Međutim, nema prepreke da se program sastoji od više modula tako da ovo ograničenje kao i da ne postoji. Problem je u ugraničenju STRUKTURE na 64 K što je ostalo i na TP for Windows.
turbo.pascal.184 shone,
>Mislim da source nije odavno ogranicen, ali obj jeste - jedan modul moze >da proizvede objektni kod od najvise 64 K. Medutim, nema prepreke da se >program sastoji od vise modula tako da ovo ogranicenje kao i da ne >postoji. Problem je u ugranicenju STRUKTURE na 64 K sto je ostalo i na >TP for Windows. Ja mislim da gresis. Evo sta TP 5.5 kaze kad pokusas ucitati duzi fajl od 64K. ╔════════════════ Verify ═════════════════╗ ║ TEXTPAD.PAS too large. Truncate? (Y/N) ║ ╚═════════════════════════════════════════╝ Znaci cak je SOURCE ogranicen na 64K, naravno i sve strukture. Shone P.S. TEXTPAD.PAS je bila duga oko 70K.
turbo.pascal.185 dejanr,
>> Ja mislim da gresis. Evo sta TP 5.5 kaze kad pokusas ucitati duzi fajl >> od 64K. >> >> ╔════════════════ Verify ═════════════════╗ >> ║ TEXTPAD.PAS too large. Truncate? (Y/N) ║ >> ╚═════════════════════════════════════════╝ Sorry, mislio sam da misliš na TP a ovo je ograničenje IDE-a (možeš uvek kompajlirati TPC-om. Nisam probao na TP6.0 ali probaću pa ću javiti.
turbo.pascal.186 bulaja,
> Ja mislim da gresis. Evo sta TP 5.5 kaze kad pokusas ucitati duzi fajl > od 64K. > > ╔════════════════ Verify ═════════════════╗ > ║ TEXTPAD.PAS too large. Truncate? (Y/N) ║ > ╚═════════════════════════════════════════╝ > > Znaci cak je SOURCE ogranicen na 64K, naravno i sve strukture. To znaci samo da u TP editor (tj. IDE) ne mozes da ucitas tekstualnu datoteku duzu od 64K. Kao sto je Dejan vec rekao, kad koristis TPC nema tog ogranicenja. Ali zaboga, kako mozes da programiras i da se snalazis u jednom modulu duzine preko 64K?
turbo.pascal.187 shone,
>nema tog ogranicenja. Ali zaboga, kako mozes da programiras i da se >snalazis u jednom modulu duzine preko 64K? A ne, ja ne programiram module od 64K nego sam kao sto vidis preimenovao TextPad u textpad.pas i pokusao da ucitam u editor. Inace ja ne koristim IDE vec Brief editor. Eventualno idem u IDE kad debagujem program za sta je neprevazidjen. Shone
turbo.pascal.188 nesavic,
Pozdrav svima, htedoh da priupitam kako sa TP-om da skinem neku sliku za svoj program tj. da ucitam npr.PIC-format ili nesto slicno. Hvala unapred,Nesa!
turbo.pascal.189 dejanr,
>> htedoh da priupitam kako sa TP-om da skinem neku sliku za svoj program tj. >> da ucitam npr.PIC-format ili nesto slicno. Imaš recimo uz poruku 10.2 opis PCX grafičkog formata, dosta je lako da se napravi program koji bi ga čitao... Ne znam ima li neki gotov toolkit koji to sadrži, tj. (skoro) sigurno ima ali ne znam gde se može nabaviti. Ali pisanje programa je posao od najviše sat. Prijateljski savet - ne pokušavaj da čitaš TIFF format (opis uz poruku 10.5) - posao za ceo život :(
turbo.pascal.190 nesavic,
Hvala puno! Cao!:)
turbo.pascal.191 rnaglic,
Sve za rad Turbo Pascala sa PCX slikama nalazi se u toolkitu PCX Programmers's toolkit firme GENUS, 11315 Meadow Lake, Houston, TX 77077, USA. Cena (mislim) oko 140$, Pozdrav
turbo.pascal.192 rnaglic,
Več duže vremena pratim raspravu o funkciji, koja bi vratila tip računara. Zar je mogoče, da je DOS technical reference manual tako redka knjiga u tim krajevima? Dakle, funkcija upšte NIJE potrebna. Byte na adresi $F000:$FFFE vodi evidenciju. Ta ide samo do AT-ja pošte je moj primerak knjige veoma star. Evo programa u Pascalu. Pokušao sam na AT i XT računaru i radi. Program CPU; (**** vrne vrsto računalnika ***) Var kateri : Byte absolute $F000:$FFFE; Begin Write('CPU je '); case kateri of $FF : Writeln('IBM PC'); $FE : Writeln('PC/XT'); $FD : Writeln('PCjr'); $FC : Writeln('AT'); Else Writeln(kateri); End; End. Probajte.
turbo.pascal.193 alexa,
Pa, mislim da većina današnjih BIOSa na 386 mašinama ima na toj lokaciji vrednost $FC, tj. istu kao kod originalnog AT-a. Prema tome, nema baš puno koristi :(
turbo.pascal.194 dejanr,
Ja probao na 386SX, 386 a sutra ću i na 486 - na ova dva je $FC a garant je i na 486... Dakle, obzirom da XT-a više i nema a o PCjr-ovima i da ne govorimo, ovaj bajt je od male praktične koristi.
turbo.pascal.195 ppekovic,
>>Ja probao na 386SX, 386 a sutra ću i na 486 - na ova dva je >>$FC a garant je i na 486... Dakle, obzirom da XT-a više >>i nema a o PCjr-ovima i da ne govorimo, ovaj bajt je od >>male praktične koristi. Evo jednog programa koji između ostalog, ume da prepozna bilo koji CPU. Nemam 486 pa nisam za njega probao, ali mislim da i njega prepoznaje. Paya need30.zip
turbo.pascal.196 dejanr,
========== borland/turbo.pascal #5626, from lfirrantello, 2272 chars, Thu Jun 13 19:29:21 1991 Comment to 5624. Comment(s). More refs to 5624. ---------- The following is a true Julian date (astronomical) routine. It produces and uses LongInts so it is reasonably fast compared to the original floating point code. I hereby release it into the public domai It should meet your needs since the routine is valid from 4700+ BCE. -------------------------- cut here --------------------------------------- PROGRAM testdat; USES OpDate; PROCEDURE jd2mdy(jd : LongInt; VAR mm, dd, yy : Integer); VAR A, B, c, D, e : LongInt; BEGIN IF jd < 2299161 THEN A := jd + 1 ELSE BEGIN A := (4 * jd - 7468865) DIV 146097; A := jd + 2 + A - A DIV 4; END; B := A + 1524; c := (20 * B - 2442) DIV 7305; D := (1461 * c) DIV 4; e := (10000 * (B - D)) DIV 306001; dd := B - D - (306001 * e) DIV 10000; IF e > 13 THEN mm := e - 13 ELSE mm := e - 1; IF mm > 2 THEN yy := c - 4716 ELSE yy := c - 4715; IF yy <= 0 THEN Dec(yy); END; FUNCTION jd(mm, dd, yy : Integer) : LongInt; VAR Y, M, D : LongInt; J : LongInt; BEGIN D := dd; IF yy < 0 THEN Inc(yy); IF mm > 2 THEN BEGIN M := mm; Y := yy; END ELSE BEGIN M := mm + 12; Y := yy - 1; END; IF Y < 0 THEN J := (1461 * Y - 3) DIV 4 ELSE J := (1461 * Y) DIV 4; J := J + (306 * (M + 1)) DIV 10 + D + 1720994; IF J > 2299160 THEN J := J + 2 - Y DIV 100 + Y DIV 400; jd := J; END; VAR mm, dd, yy : Integer; J : Date; PROCEDURE writex(M, D, Y : Integer); BEGIN J := DMYtoDate(D, M, Y); DateToDMY(J, dd, mm, yy); WriteLn(J:10, M:3, D:3, Y:5, ' -- ', mm:3, dd:3, yy:5); END; BEGIN AdjustDatesLT100 := False; writex(10, 4, 1957); WriteLn; writex(10, 03, 1582); writex(10, 04, 1582); writex(10, 05, 1582); writex(10, 06, 1582); writex(10, 14, 1582); writex(10, 15, 1582); writex(10, 16, 1582); writex(01, 27, 333); writex(01, 01, 1900); writex(01, 01, 1980); writex(01, 01, 2000); writex(05, 28, - 583); writex(05, 28, - 584); writex(05, 28, - 585); writex(01, 01, - 4715); writex(01, 01, - 4714); writex(01, 01, - 4713); writex(01, 01, - 4000); writex(12, 31, 4000); END. Mick Brown
turbo.pascal.198 dejanr,
========== borland/long.messages #68, from terjem, 3538 chars, Mon Jun 17 06:53:52 1991 ---------- TITLE: > Country-specific stuff for TP. Unit Country; Interface TYPE ASCIIZ2 = ARRAY [0..1] OF CHAR; ExtCountryInfoBlock = RECORD InfoID : BYTE; InfoSize : WORD; CountryID : WORD; CodePage : WORD; DateFmt : WORD; Currency : ARRAY [0..4] OF CHAR; Thousands, Decimal, DateSep, TimeSep : ASCIIZ2; CurrFmt : BYTE; CurrDec : BYTE; TimeFmt : BYTE; CaseMap : Pointer; DataSep : ASCIIZ2; Reserved : ARRAY [0..9] OF CHAR; END; DosUpCaseBlock = RECORD rectype : BYTE; DosUpcase : Pointer; END; FUNCTION DefaultCaseMap : CHAR; CONST c_info : ExtCountryInfoBlock = ( InfoID:0; InfoSize:0; CountryID:47; CodePage:865; DateFmt:1; { 0 = mdy, 1 = dmy, 2 = ymd } Currency:'Kr'#0#0#0; Thousands:'.'#0; Decimal:','#0; DateSep:'/'#0; TimeSep:'.'#0; CurrFmt:2; { 0=$1.00, 1=1.00$, 2=$ 1.00, 3=1.00 $, 4=1$00} CurrDec:2; TimeFmt:1; { 0=12am/pm, 1=24 } CaseMap:@DefaultCaseMap; DataSep:';'#0; Reserved:#0#0#0#0#0#0#0#0#0#0 ); d_case : DosUpCaseBlock = ( rectype:0; DosUpCase:NIL ); FUNCTION DOS_Upcase(c : CHAR): CHAR; PROCEDURE DOS_UpcaseStr(VAR st : STRING); FUNCTION DOS_CaseMap(c : CHAR): CHAR; FUNCTION TimeStr(h,m,s : WORD): STRING; Implementation FUNCTION TimeStr(h,m,s : WORD): STRING; Assembler; ASM les di,[@Result] mov bx,di inc di mov dx,[c_info.TimeSep] mov al,byte ptr [h] mov ch,[c_info.TimeFmt] and cx,0FF00h jnz @hdone mov ah,12 div ah { ah = hour, al = am/pm } mov cl,al { ch = am/pm } mov al,ah or al,al jnz @hdone add al,12 @hdone: aam xchg al,ah add ax,'00' stosw mov [es:di],dx inc di or dh,dh jz @ok1 inc di @ok1: mov al, byte ptr [m] aam xchg al,ah add ax,'00' stosw mov [es:di],dx inc di or dh,dh jz @ok2 inc di @ok2: mov al, byte ptr [s] aam xchg al,ah add ax,'00' stosw cmp cx,1 ja @done mov ax,'am' jb @ok3 mov al,'p' @ok3: stosw @done: lea ax,[di-1] sub ax,bx mov [es:bx],al END; FUNCTION DefaultCaseMap : CHAR; Assembler; ASM END; FUNCTION DOS_CaseMap(c : CHAR): CHAR; Assembler; ASM mov al,[c] call dword ptr [c_info.CaseMap] END; FUNCTION DOS_Upcase(c : CHAR): CHAR; Assembler; ASM mov al,[c] cmp al,'a' jb @done cmp al,80h jae @use_dos cmp al,'z' ja @done sub al,'a'-'A' jmp @done @use_dos: cmp [d_case.rectype],2 je @dos_ok mov ah,al cmp al,'' mov al,'' je @done cmp ah,'' mov al,'' je @done cmp ah,'' mov al,'' je @done mov al,ah jmp @done @dos_ok: sub al,80h les bx,[d_case.DosUpCase] add bx,2 seges xlat @done: END; PROCEDURE DOS_UpcaseStr(VAR st : STRING); VAR i : WORD; BEGIN FOR i := 1 TO Length(st) DO st[i] := DOS_Upcase(st[i]); END; BEGIN ASM mov ah,30h int 21h cmp al,3 jb @done push ax mov ax,3800h mov dx, offset c_info.DateFmt int 21h pop ax jc @done mov [c_info.CountryID],bx xchg al,ah cmp ax,31Eh { DOS 3.30+ can return extended country } jb @done mov ax,6501h mov dx,bx { Country code } mov bx,0FFFFh { Console Code Page } push ds pop es mov di, offset c_info mov cx,29h int 21h jc @done mov ax,6502h mov dx,[c_info.CountryID] mov bx,0FFFFh push ds pop es mov di, offset d_case mov cx,5 int 21h @done: END; END. Regards, Terje (From Oslo, Norway)
turbo.pascal.199 ilotina,
HI! Samo da pitam da li je neko shvatio(provalio) kako se koristi onaj SVGABGI drajver za TP. Ako neko jeste neka napis│e kraci prg. koji npr. crta kruzic u rez. npr. 640*480*256. Pozdrav Ivan!
turbo.pascal.200 nesic,
Evo kako se koristi driver VGA256.BGI u rezoluciji 320x200 sa 256 boja. Odakle ti SVGA.BGI? Zna li uopšte neko nešto više o ovim .BGI datotekama. Pozdrav, Nešić uses dos, graph; type colortype=record r,g,b:byte; end; vgapalettetype=array[0..255] of colortype; procedure vgasetallpalette(var p:vgapalettetype); var regs:registers; begin with regs do begin ax:=$1012; bx:=$0000; cx:=$0100; es:=seg(p); dx:=ofs(p); end; intr($10,regs); end; {$f+} function detectvga256:integer; var detecteddriver:integer; suggestedmode:integer; begin detectgraph(detecteddriver,suggestedmode); if (detecteddriver=vga) or (detecteddriver=mcga) then detectvga256:=grok else detectvga256:=grerror; end; {$f-} var autodetectpointer:pointer; driver,mode:integer; errorcode:integer; colornum:integer; begin autodetectpointer:=@detectvga256; driver:=installuserdriver('vga256',autodetectpointer); driver:=detect; initgraph(driver,mode,''); errorcode:=graphresult; if errorcode<>grok then begin writeln('Error:',grapherrormsg(errorcode)); halt; end; for colornum:=0 to getmaxcolor do begin setpalette(colornum,colornum); setcolor(colornum); circle(getmaxx div 2,getmaxy div 2,colornum); end; readln; closegraph; end.
turbo.pascal.201 dsavic,
Hvala URHU na pozdravu. Knjiga za Turbo Pascal 6.0 će biti na jesen. Verovatno u septembru. Ova sadašnja knjiga, "Turbo Pascal - naredbe i objekti" će onda biti prvi deo a ta nova knjiga će biti drugi deo i zajedno u oba dela biće pookriven praktično ceo Turbo Pascal 6.0. Tačan datu m izlaženja biće objavljen u oglasima. Ova prva knjiga i sada ima da se kupi. Pozdrav, Duško Savić
turbo.pascal.202 djnsnd,
U Licence Statementu TP-a pise da se programi u koje je ukljucen neki deo nihovog KKKKKKKKKKKKKKKKKKKKKKkoda mogu distribuirati ako je uz njih stavljen Copyright notice . Da li neko znz kako treba da izgleda neki koji bi ja nnapisao kao autor neke aplikacije. vala Dejan Sunderic
turbo.pascal.203 bulaja,
> U Licence Statementu TP-a pise da se programi u koje je ukljucen neki deo > nihovog KKKKKKKKKKKKKKKKKKKKKKkoda mogu distribuirati ako je uz njih stavljen > Copyright notice . Da li neko znz kako treba da izgleda neki koji bi ja > nnapisao kao autor neke aplikacije. vala > Dejan Sunderic "Copyright (C) 1991, by XYZ" gde je XYZ tvoje ime ili ime tvoje kompanije. Da li ovo treba da se pojavljuje na ekranu pri radu programa ili u dokumentaciji, ne znam. Cpr notice je neophodan zbog americkih zakona vezanih za softvereske patente, i vazi za vecinu kompajlera (ako ne i za sve). Vazno je napomenuti da se copyright notice stavlja i na public domain i shareware programe.
turbo.pascal.204 dejanr,
============================================================================ Note 201.1 Bug: TP6 or me ? 1 of 1 RCUM::UEL003R6A "Tomi Crnicki, apsolvent" 33 lines 9-APR-1991 14:56 -< Popravljeno u TP6? >- ---------------------------------------------------------------------------- Mislim da sam nasao bug u Turbo Pascalu 5.5: Ako je pokazivac (kazalec) NIL TP svejedno dereferencira komponente tog kazalca tj. imaju neku vrijednost. Istina u programu se ne bi smjelo desiti trazenje vrijednosti nekog pokazivaca (kazalca) ako je on NIL, medjutim ovo je korisno znati pri razvoju programa. Ja sam izgubio dosta vremena trazeci gresku u strukturi podataka koju sam napravio dok je ona u stvari bila tocna, a greska je bila sto sam pokusao dereferencirati NIL kazalec a TP nije prijavio gresku vec mi je vratio neki ludi rezultat. I TP DEBUG cini istu gresku! Primjer: --------------------------------------------------------------------------- TYPE tip_kaz=^tip_k; tip_k=RECORD broj:INTEGER; sl:tip_kaz; END(*RECORD*); VAR kaz:tip_kaz; BEGIN kaz:=NIL; WriteLn(kaz^.broj); END.
turbo.pascal.205 macak,
Jel zna neko kako mogu da se upotrebljavaju jokeri (* i ?) u kombinaciji sa recimo reset naredbom??? Ili sa nekom drugom (ako postoji) koja otvara file?
turbo.pascal.206 dejanr,
Procedura je otprilike sledeća (kucam napamet): uses dos; var srec: searchrec; begin findfirst ('*.pas', 1, srec); while doserror<>0 do begin assign (dat, srec.name); reset (dat); ... close (dat); findnext (srec); end; end.
turbo.pascal.207 macak,
Videcemo da li radi. Ipak hvala!
turbo.pascal.208 macak,
Dejane,onaj programcic je ok,samo tamo gde je while doserror<>0 treba da pise: while doserror=0 NCS ^^^
turbo.pascal.211 dmiric,
Pre neki dan skinuo sam sa Tanjuga 2 programa koji vrše konverziju Turbo Pascal 3.0 & 4.0 (malo zastarelo :( ) source-a u Turbo C source. Ako nekog zanima, mogu da Uploadujem. Pozdrav, Dragan. PS. Pošto ne čitam poruke redovno, bolje mi ostavite privatnu poruku. U svakom slučaju fajlove ću ovde uploadovati.
turbo.pascal.212 popac,
Nakon pokretanja RUN opcije u TP 6.0 i ponovnog povratka u editor, mis mi u editoru vise ne radi, ali u user window-u radi. Znade li netko objasnjenje i lijek? Popac
turbo.pascal.213 cuba,
Pitanje misa u turbo programima... Isti problem sam imao u TC++. Jednostavno zameni drajver za misa novijom verzijom, proradice. Na tanjugu postoji gmouse.com i sys verzija 9.04, sa kojim nemam problema. Srecno, Cuba
turbo.pascal.214 nesavic,
Evo datoteke za asinhrono komuniciranje na TPu. Ako neko uspe da napravi chat,tj.ako neko zna KADA treba citati ono sto dolazi u kompjuter tj.znake sa COM porta. Unapred zahvalan,NeSa! rs232pas.zip
turbo.pascal.215 igor.mil,
>> Evo datoteke za asinhrono komuniciranje na TPu. >> Ako neko uspe da napravi chat,tj.ako neko zna KADA treba citati ono sto >> dolazi u kompjuter tj.znake sa COM porta. Posto je u pitanju interrupt I/O, znake koji stizu na COM port u za to predvidjeni bafer smesta inerapt servis rutina, u pozadini programa koji se trenutno izvrsava. Oni se mogu citati bilo kada, a da li je nesto stiglo se ispituje pozivom funkcije "rs232_bufferempty". Na primer: { citanje COM porta } while not rs232_bufferemty do end; rs232_read(receive_string); Izvinjavam se ako sam negde pogresio u sintaksi, posto nisam Pascal programer. Uzgred, ko je napisao ovaj kod? Cudi me da je bio tako stedljiv na komentarima. Pozdrav od Igora
turbo.pascal.216 sale,
Jedno malo pitanjce. Kako TP 5.5 snima na disk sledeće: file of object ... end; gde u okviru objekta ima, naravno, i procedura i funkcija? Da, to ne radi, ali kada se compiler malo predje sa: file of record ... xxx: object ... end; ... end; Naravno, sve ovo nije ovako, nego je pre toga uvijeno u razne type-ove. Sale
turbo.pascal.217 ivan.s,
TurboPaskal ne podrzava file of objects; umesto toga, u fajlu objects.pas nalaze se definicije i source klasa Stream, DosStream, i BuffStream. Za dalje informacije pogledaj fajl oopdemos.doc.
turbo.pascal.218 ndragan,
>> Proverio sam, Z radi i na EGA kartici. Proverio sam, Z ne radi na VGA kartici. BTW, ako imaš vremena, dobro bi legao sors za tako nešto, ali u text modu (da i ostali ne moraju da pišu svako svoju rutinu za pregled uputstva itd...), pa da se da linkovati sa drugim stvarima... a? Bue_ NDragan
turbo.pascal.219 dmiric,
Zdravo! Zna li neko način da se spreči kontrola Ctrl-Breaka pri očitavanju tastature sa readkey. Ja sam pokušavao da postavim DOS varijablu BREAK na off, bilo iz samog pascala, bilo direktno, međutim sve je ostalo isto. Imam osećaj da TP nije u stanju da kontroliše Ctrl-Break za vreme unosa. Da li ovo znači da ću morati da pišem svoju rutinu. Ako neko ima nešto slično bio bih mu jaaaako zahvalan... Pozdrav, Dragan.
turbo.pascal.220 ivan.s,
>> Zna li neko nacin da se spreci kontrola Ctrl-Breaka pri ocitavanju >> tastature sa readkey. Dovoljno je da preuzmes interapt vektor 1bh, tako da pokazuje na iret. Iz TurboPaskala to ces najlaske uraditi ovako : procedure dummy; begin end; procedure DisableBreak; begin GetIntVec($1b,OrgInt1b); SetIntVec($1b,Addr(dummy)); end; procedure EnableBreak; begin SetIntVec($1b,OrgInt1b); end;
turbo.pascal.222 dzakic,
>> Zna li neko način da se spreči kontrola Ctrl-Breaka pri očitavanju >> tastature sa readkey. Dovoljno je jedno "CheckBreak:=false;" na početku programa. To je promenljiva unit-a Crt, pogledaj help... dz
turbo.pascal.223 nesavic,
Pozdrav, kako iz TPa pomerati misa,tj. kako u svoj program da ubacim misa? Unapred zahvalan,NeSa!
turbo.pascal.224 zeljkod,
Pozdrav, mislim da će ti rutine u priloženoj arhivi pomoći. PS. Ono PROBA.* su neki moji pokušaji PPS. Rado bih dobio verziju sa kraćim imenima procedura ;) mouse.zip
turbo.pascal.225 nesavic,
Pozdrav, hvala videcu sta moze dase uradi, pa ti mozda vratim preradjenu verziju... Pozdrav,NeSa!
turbo.pascal.226 powderman,
Znam da je vec bilo ovo pitanje ali, trabalo bi mi da u programu ustanovim stanje CAPS LOCK-a,NUM LOCK-a I SCROOL LOCK-A. Unapred hvala.
turbo.pascal.227 djelovic,
Bajt 0:418h bitovi 6-4. To ti je Extended shift status, a na 417h imaš običan shift status. Detaljnije u NG/Low memory usage.
turbo.pascal.228 dherceg,
HI! Evo jednog programa veštičje inteligencije: GluGen, The GLupost GEnerator. Radi u Turbo Pascalu. Kada se startuje, navedete samo ime GLU datoteke koju želite da koristite, i ime LOG fajla u koji želite da snimate generisane rečenice. GLU fajlovi imaju veoma jednostavnu strukturu, jedini problem bi mogao da predstavlja broj ispod imena grupe reči. Taj broj označava procenat pojavljivanja reči iz te grupe. Ako je 100, svaki put se pojavljuje reč. Što je broj manji, procenat pojavljivanja je manji. Sve nove GLU datoteke su dobrodošle, pa bih molio eventualne autore da ih uploaduju na sezam. Ah, da. Postoji i jedna datoteka, PERV.GLU koja nije za mlađe od 18 godina. Toliko. glugen.zip
turbo.pascal.229 dejanr,
Juče me je neko u chatu pitao kako softverski resetovati PC. Evo odgovora, prema Bajtovima lične prirode, "Računari 55" 167 [OS.MSDOS, PC]: PC zaista nije teško resetovati - možete da otkucate Alt Ctrl Del ili da pritisnete crveno dugme ili da ga isključite iz struje a ponekad će se i resetovati kada vam je to najmanje potrebno. Kako, međutim, da resetujete PC pod programskom kontrolom - instalacioni program, na primer, modifikuje CONFIG.SYS i pita "hoćete li da resetujem računar?". Procedura je sasvim jednostavna: izvršite dugi JUMP na adresu FFFF:0000 (ako koristite neki viši jezik, INLINE sekvenca bi bila $EA, $00, $00, $FF, $FF). PC poznaje dve vrste reset-a - ako želite da se testira memorija kao da je računar tek uključen, na adresu 0040:0072 (sve heksadekadno) upišite reč 0; ako želite samo inicijalizovanje (simulacija pritiska na Alt Ctrl Del) tamo upišite reč $1234.
turbo.pascal.230 nesic,
Evo kako se poziva driver za Super VGA karticu, SVGA256.BGI, za Borlandove kompajlere. Na mojoj kartici (GTK Tech, za sada kompatibilna sa Paradise) sve funkcioniše, što ne mora da znači da će raditi i na ostalim. Najbolje je da se inicijalizacija izvrši kao u primeru (INITIALIZE). Procedura HSITORGB je samo primer kako se pretvara predstavljanje boje pomoću Hue-Saturation-Intensity u Red-Green-Blue. Ništa značajno ali nije loše da se zna. uses dos, graph; type colortype=record r,g,b:byte; end; vgapalettetype=array[0..255] of colortype; {$ifopt n+} float=double; {$else} float=real; {$endif} const svgalo=3; { U unit-u Graph su već definisane } svgahi=4; { konstante vgalo, vgamed i vgahi. } var initvideomode:integer; { =0 320x200x256 vgalo } { =1 640x400x256 vgamed } { =2 640x480x256 vgahi } { =3 800x600x256 svgalo } { =4 1024x768x256 svgahi } {$f+} function detectvga256:integer; var detecteddriver:integer; suggestedmode:integer; begin detectgraph(detecteddriver,suggestedmode); if (detecteddriver=vga) or (detecteddriver=mcga) then detectvga256:=initvideomode else detectvga256:=grerror; end; {$f-} procedure vgasetallpalette(var p:vgapalettetype); var regs:registers; begin with regs do begin ax:=$1012; bx:=$0000; cx:=$0100; es:=seg(p); dx:=ofs(p); end; intr($10,regs); end; procedure hsitorgb(h,s,i:float;var c:colortype); var t:float; r,g,b:float; begin t:=2*pi*h; r:=1+s*sin(t-2*pi/3); g:=1+s*sin(t); b:=1+s*sin(t+2*pi/3); t:=64*i/2; c.r:=trunc(t*r); c.g:=trunc(t*g); c.b:=trunc(t*b); end; procedure initialize(ivm:integer); var driver,mode:integer; errorcode:integer; begin initvideomode:=ivm; driver:=installuserdriver('svga256',@detectvga256); driver:=detect; initgraph(driver,mode,''); errorcode:=graphresult; if errorcode<>grok then begin writeln('Error:',grapherrormsg(errorcode)); halt; end; end; var i:integer; begin initialize(vgamed); for i:=0 to getmaxcolor do begin setcolor(i); circle(getmaxx div 2,getmaxy div 2,i); end; readln; closegraph; end. Uzgred, čuo sam da postoji i driver SVGA16.BGI koji bi trebao da služi onim 'srećnicima' koji imaju VGA karticu sa 256K memorije. Valjda ima rezoluciju kao i SVGA256.BGI ali u 16 boja. Ima li neko taj driver? Evo SVGA256.BGI pa ako ima copyright neka ga moderator obriše. Pozdrav, Nešić
turbo.pascal.232 beast,
Ili za manje talentovane: boot.arj
turbo.pascal.233 dmiric,
> Dovoljno je da preuzmes interapt vektor 1bh, tako da pokazuje na > iret. > Sa malim zakašnjenjem (ne bejah u Bgd) HVALA!
turbo.pascal.234 macak,
Jel zna neko za STA TACNO sluzi (funkcija ili procedura,ne secam se tacno) KEEP???
turbo.pascal.235 djelovic,
> KEEP pretvara tvoj program u TSR (iliti: u rezidentan, >kao sidekick, pc-cache, ...). Mada, da bi to bilo funcionalno, >moraš još mnogo toga da središ. Ako hoćeš da pišeš TSR, reci da > >*elucidiram*... :)
turbo.pascal.237 macak,
> >*elucidiram* Ok,mislim da sam skontao.
turbo.pascal.238 rklinar,
>> KEEP pretvara tvoj program u TSR (iliti: u rezidentan, >> kao sidekick, pc-cache, ...). Mada, da bi to bilo funcionalno, >> moraš još mnogo toga da središ. Ako hoćeš da pišeš TSR, reci da Paaa, našlo bi se interesenata koji bi rado napisali neki TSR u TP-u, a ne znaju kako... Ja bih ti svakako bio vrlo zahvalan (ako to nije preveliki posao) za kratko objašnjenje. RK.
turbo.pascal.239 ppekovic,
>> Paaa, našlo bi se interesenata koji bi rado napisali neki TSR u TP-u, a >> ne znaju kako... Ja bih ti svakako bio vrlo zahvalan (ako to nije >> preveliki posao) za kratko objašnjenje. Moj Mikro, Septembar 1991., str. 23., "Pritajeni programi u Turbo Pascalu", Janez Demšar. Paya
turbo.pascal.240 drakce,
>> Paaa, našlo bi se interesenata koji bi rado napisali neki TSR u TP-u, a >> ne znaju kako... Ja bih ti svakako bio vrlo zahvalan (ako to nije >> preveliki posao) za kratko objašnjenje. > Moj Mikro, Septembar 1991., str. 23., "Pritajeni programi u Turbo >Pascalu", Janez Demšar. Šaljem primer TSR programa pisanog u Turbo Pascalu. Mislim da je autor isti onaj Janez Demšar koji je napisao gore pomenuti članak. Pozdrav od Dragana pas-tsr.arj
turbo.pascal.241 macak,
>>...koji je napisao gorespomenuti J.D. {Ovo je ujedno i odgovor na poruku ppekovic-a.} U MM-u je bilo o TSR-ima na Pascalu,ja sam taj program prepisao(ne znam vise ni sam koliko puta sam proverio da li je tacno prepisan) ,ali NE RADI! Jednostavno zablokira se posle startovanja EXE fajla . Slabo se razumem u asembler,ali mislim da nesto ne stima u delu sa INLINE naredbom (mozda pravim ERROR,ali bi trebalo ispitati). TXE JA! P.S.Ako neko nadje u cemu je greska nek me (nas) obavesti.
turbo.pascal.242 macak,
U vezi poruke 9.241. Izgleda da program koji se nalazi u Mom Mikru nesto ne stima najbolje (bar kod mene (???)),a taj isit koji je poslao...ko ono bese...radi ki BOG! ^^^^=ISTI TXE JA!
turbo.pascal.243 rklinar,
Puno hvala. Payi takodjer. RK.
turbo.pascal.244 nesavic,
Pozzdrav, imam mali problem izbrisao sam WIN.OBJ iz TP 5.5,pa ako ga neko ima ako moze da ga spusti bio bih mu jako zahvalan, jer mi je potrebno JAKOOOOOOOO.... Hvala!
turbo.pascal.245 todorp,
Hi! Evo ga. win.arj
turbo.pascal.246 vvelisavljev,
Zahvaljujem se Nešiću (nesic) na primerima za korišćenje drajvera za VGA karticu poruka 9.200 i 9.230, a posebno za drajver SVGA256.BGI (prikačen uz 9.230). Međutim program u poruci 9.230 mi javlja grešku : "Mode not supported on this card." ( !? B( ) Možda je to do moje VGA kartice? Sa programom u poruci 9.200 sam imao manje problema, kompajler je javljao neke greške koje sam lako ispravio te uz ovu poruku šaljem i ispravljeni Nešićev sors iz poruke 9.200. Nadam se da se Nešić neće ljutiti zbog toga. Ukoliko sam ovim prekršio autorska prava molim moderatora da skine datoteku prikačenu na ovu poruku! Ipak ni ova verzija koju šaljem ne radi baš onako kako bi se meni sviđalo. Naime ne mogu nikako da promenim mod. Na primer da dobijem 640X480X256 ili 800X600X256 umesto 320X200X256. Ovim pozivam sve koji su radili na ovome da pošalju svoje priloge, a molio bi nekoga da mi objasni šta me to psuje program iz poruke 9.230. Pozdrav, Viktor!
turbo.pascal.247 dmiric,
> imam mali problem izbrisao sam WIN.OBJ iz TP 5.5,pa ako ga neko ima ako > moze da ga spusti bio bih mu jako zahvalan, jer mi je potrebno > JAKOOOOOOOO.... Stiže ti u mail. Pozdrav, Dragan.