turbo.pascal.1dejanr,
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.2dejanr,
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.3lgavrilovic,
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.4dejanr,
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.5gnoc,
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.6dejanr,
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.7dejanr,
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.8vkostic,
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.9dejanr,
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.10vkostic,
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.11dejanr,
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.12vkostic,
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.13dejanr,
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.14vkostic,
Zanimljivo! Bas cu da probam... (mada me OVERLY asocira na nesto
drugo, a na ono sto nama treba).
turbo.pascal.15dejanr,
Ja prob'o (Turbo C) i radi! A kako... ko će ga znati?
turbo.pascal.16vkostic,
Da, i kod mene radi. Sada sledi seansa sa TURBO DEBUGGER-om...
turbo.pascal.17vkostic,
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.18dejanr,
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.19vkostic,
Moze! Jos to imam negde na disku, pa cu ponovo pogledati i poslati
cim stignem.
Pozdrav, V.K.
turbo.pascal.20dejanr,
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.21vkostic,
Dejane, vidim da nisi odoleo da pozoves BIX. Kako izgleda?
turbo.pascal.22dejanr,
>> 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.zipturbo.pascal.23dejanr,
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.24dejanr,
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.zipturbo.pascal.25vkostic,
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.26bojanp,
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.27dejanr,
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.zipturbo.pascal.28ilja,
Neka piše "SEZAM je mali, ali tehničar!"
turbo.pascal.29bojanp,
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.30dejanr,
Imaš li predlog za izmenu koja bi stvar učinila potpuno sigurnom i
za TP 5.0/5.5?
turbo.pascal.31bdobranovic,
~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.32bdobranovic,
U prethodnoj poruci radi smetnja na vezi nije snimljen fajl
WINDOW.ZIP pa ga saljem u ovoj.
window.zipturbo.pascal.33dejanr,
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.34bojanp,
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.35dejanr,
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.36gnoc,
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.37zzivotic,
:: 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.38dejanr,
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.39lgavrilovic,
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.40davorin,
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.41dejanr,
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.42gnoc,
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.43dejanr,
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.44zzivotic,
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.45gnoc,
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.46zzivotic,
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.47dejanr,
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.48majkl,
>> 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.49dejanr,
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.50dejanr,
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.51dejanr,
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.52sdjurekovic,
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.53dejanr,
>> 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.54dejanr,
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.55lgavrilovic,
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.56lgavrilovic,
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.57dejanr,
Ludo je, pored živog ZMODEM-a, koristiti XMODEM!
turbo.pascal.58lgavrilovic,
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.59lgavrilovic,
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.60mikij,
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.61mikij,
Dobro, recite mi barem da li je moguce???
Miki.
turbo.pascal.62dejanr,
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.63rozi,
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.zipturbo.pascal.64aleks,
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.65bojanp,
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.zipturbo.pascal.66mikij,
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.67dejanr,
>> 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.68mikij,
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.69mikij,
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.zipturbo.pascal.70nesic,
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.71mikij,
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.72nesic,
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.zipturbo.pascal.73bmijatovic,
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.74vkostic,
>> 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.75dejanr,
==========================
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.76dejanr,
==========================
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.77dejanr,
==========================
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.78dejanr,
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.80rozi,
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.81dejanr,
>> 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.82bojt,
>> >> 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.83rozi,
BojT-e, ima li neki od ova dva kompajlera ono editor, pa
prevodjenje iz editora i tako to?
\ /
Robb|
turbo.pascal.84dejanr,
==========================
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.85bojt,
>> 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.86zormi,
>> ... 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.87dejanr,
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.88zoki,
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.zipturbo.pascal.89rozi,
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.90dejanr,
Bojim se da je "paskal" koji ti treba zapravo Modula 2 (grin).
Ja probao ali mi nije uspelo... ;)
turbo.pascal.91rozi,
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.92dpozaric,
***********
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.93dejanr,
==========================
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.94tgorisek,
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.95rklinar,
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.96tgorisek,
Bas ti hvala . Pokusat cu pa cu videti .
Pozdrav , Tomi !
turbo.pascal.97dejanr,
==========
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.98pbojan,
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.99mradulovic,
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.100pogo,
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.101dsavic,
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.102oduzlevski,
Hocu ja tu knjigu... Kako,kada,gde...?
turbo.pascal.103mikij,
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.104dejanr,
==========
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.105tgorisek,
Dali ima neko mozda neki editor ili koncept editora
napisanog u TURBOPASCALU ?
Pozdrav , Tomislav .
P.S. Trema mi source .
turbo.pascal.106dejanr,
>> 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.107gww.,
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.108shone,
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.109dejanr,
Na žalost, nema pomoći - {$M je direktiva koja utiče na sam HEDER
EXE fajla. A fajl ima samo jedan heder.
turbo.pascal.110dsavic,
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.111dejanr,
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.112vkrstonosic,
>> 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.113dejanr,
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.114matejk,
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.115dpozaric,
*******************************
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.116matejk,
%Ěî*******************************
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.117dkovac,
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.118dpozaric,
**************
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.119alexa,
Btree je, naravno, B-stablo, a ne binarno stablo. To su sasvim
različita stabla.
turbo.pascal.120agobovic,
>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.121dkovac,
>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.122dpozaric,
*****************
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.123alexa,
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.125rakim,
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.126dejanr,
[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.127rklinar,
Pa, ako ti nije tesko, imat ces barem jednog pazljivog
(i zahvalnog) slusatelja/citatelja.
RK
turbo.pascal.128vkostic,
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.129alazic,
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.zipturbo.pascal.130gww.,
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.131vkostic,
Alazic, hvala za pc2tc. Probacu, pa sta bude...
Pozdrav, V.K.
turbo.pascal.132vkostic,
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.133pogo,
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.134dsavic,
Pa, izvoli. Da čujemo što ti se TP 6.0 toliko ne dopada!?
Pozdrav, Duško Savić
turbo.pascal.135dejanr,
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.136dejanr,
==========
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.137gww.,
" (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.138dejanr,
>> 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.139ppekovic,
>>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.140dejanr,
>> 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.141mtadic,
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.142pbojan,
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.143arsa,
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.144mikij,
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.145mtadic,
> 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.146dejanr,
>> Vaša dežurna cepidlaka
Vala baš :(
turbo.pascal.147pbojan,
>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.148bulaja,
> 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.149mtadic,
> 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.150dejanr,
>> > 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.151tgorisek,
<< 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.152bulaja,
> 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.153pbojan,
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.154tgorisek,
HE,HE !!! Bilo bi lepo !!
Pozdrav ,Tomislav ! :))
turbo.pascal.155matejk,
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.156dejanr,
==========
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.157dejanr,
==========
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.158dejanr,
[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.159bjirecek,
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.zipturbo.pascal.160dobradovic,
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.161dejanr,
==========
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.162dejanr,
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.163dejanr,
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.164dejanr,
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.165ivans,
Registrovan sam korisnik TP6 proffesional. Da li imam pravo na upgrade
verziju TPW? Ako imam, kako je organizovana nabavka upgrade verzije?
turbo.pascal.166bulaja,
> 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.167dejanr,
>> 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.168zonjic,
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.169zonjic,
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.170majkl,
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.171snemcev,
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.172yupc,
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.173zormi,
> 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.174djelovic,
možda još ponešto := Turbo Profiler
turbo.pascal.175ivujanic,
> 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.176dejanr,
==========
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.177ognjan,
Prijatelj me zamoli da priupitam: Kako da isprinta grafiku na štampač
iz TP 5.0 ??? Grafička kartica je Herkules.
Ogy.
turbo.pascal.178djelovic,
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.179ognjan,
>> 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.180ivujanic,
>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.181trki,
Interesuje me da li verzija 6.0 ogranicava source kod na 64k kao prethodne.
trki
turbo.pascal.182shone,
> 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.183dejanr,
>> 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.184shone,
>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.185dejanr,
>> 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.186bulaja,
> 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.187shone,
>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.188nesavic,
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.189dejanr,
>> 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.190nesavic,
Hvala puno!
Cao!:)
turbo.pascal.191rnaglic,
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.192rnaglic,
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.193alexa,
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.194dejanr,
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.195ppekovic,
>>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.zipturbo.pascal.196dejanr,
==========
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.198dejanr,
==========
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.199ilotina,
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.200nesic,
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.201dsavic,
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.202djnsnd,
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.203bulaja,
> 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.204dejanr,
============================================================================
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.205macak,
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.206dejanr,
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.207macak,
Videcemo da li radi.
Ipak hvala!
turbo.pascal.208macak,
Dejane,onaj programcic je ok,samo tamo gde je
while doserror<>0
treba da pise:
while doserror=0
NCS
^^^
turbo.pascal.211dmiric,
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.212popac,
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.213cuba,
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.214nesavic,
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.zipturbo.pascal.215igor.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.216sale,
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.217ivan.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.218ndragan,
>> 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.219dmiric,
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.220ivan.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.222dzakic,
>> 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.223nesavic,
Pozdrav,
kako iz TPa pomerati misa,tj. kako u svoj program da ubacim misa?
Unapred zahvalan,NeSa!
turbo.pascal.224zeljkod,
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.zipturbo.pascal.225nesavic,
Pozdrav,
hvala videcu sta moze dase uradi, pa ti mozda vratim preradjenu verziju...
Pozdrav,NeSa!
turbo.pascal.226powderman,
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.227djelovic,
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.228dherceg,
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.zipturbo.pascal.229dejanr,
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.230nesic,
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.232beast,
Ili za manje talentovane:
boot.arjturbo.pascal.233dmiric,
> Dovoljno je da preuzmes interapt vektor 1bh, tako da pokazuje na
> iret.
>
Sa malim zakašnjenjem (ne bejah u Bgd) HVALA!
turbo.pascal.234macak,
Jel zna neko za STA TACNO sluzi (funkcija ili procedura,ne secam se tacno)
KEEP???
turbo.pascal.235djelovic,
> 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.237macak,
> >*elucidiram*
Ok,mislim da sam skontao.
turbo.pascal.238rklinar,
>> 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.239ppekovic,
>> 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.240drakce,
>> 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.arjturbo.pascal.241macak,
>>...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.242macak,
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.243rklinar,
Puno hvala. Payi takodjer.
RK.
turbo.pascal.244nesavic,
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.245todorp,
Hi!
Evo ga.
win.arjturbo.pascal.246vvelisavljev,
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.247dmiric,
> 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.