pascal.1marko.dj,
PHMMMKKKada koristim mouse biblioteku kao podrsku rada sa misem u grafickom
modu ne mogu da dobijem pointer. Predstavljen je nekom malom jedva vidljivom
crticom koja se vrlo skokovito krece. Biblioteka je skinuta sa sezama. Graf
kartica je herkules. Mis je geniusov i microsoft mouse kompatibilan. U text
mogu radi perfektno. Usput ako moze neko da opise kako se koristi
setpointershape procedura.
pascal.2mboban,
=-= Biblioteka je skinuta sa sezama.
Sve si mi rek'o... :) Tih biblioteka ima na tone :)
=-= Usput ako moze neko da opise kako se koristi setpointershape procedura.
E pošto ne znam o kojoj se biblioteci radi, evo kako ja to radim, pa možda
nađeš neke sličnosti.
procedure Shape(x,y:integer;p:pointer);
var
r : registers;
begin
r.ax := 9;
r.bx := x;
r.cx := y;
r.es := seg(p^);
r.dx := ofs(p^);
intr($33, r);
end;
Jel' to ta procedura? Ako jeste, onda ti je rešenje sledeće.
Kako se pointer miša (barem kod mene na SVGA) sastoji (crta) od kvadrata
dimenzija 16 * 16, parametri x i y su koordinate na tom kvadratu kojima
se dodeljuje "vrh" pokazivača. Znači to je ustvari srce pokazivača.
Npr. ako je pointer strelica, onda će ti parametri x i y da imaju koordinate
vrha te strelice. Ili ako je pointer plusić, onda su parametri x i y
koordinate preseka horizontalne i vertikalne linije.
Nadam se da si ovo do ovde ukapirao, idemo dalje...
Definiši promenljivu tipa
a : Array[1..32] of Word;
i uradi sledeće...
For i:=1 to 16 do a[i]:=$FFFF;
Znači prvih 16 elemenata niza moraju da imaju vrednost $FFFF, koliko
sam ja ukapirao, da bi se pointer miša XORovao sa podlogom (ekranom).
E sada šta radiš sa ostalim elementima niza (17-32)?
Pa kao što sam objasnio, ta miševa ikona, tj kvadrat na kojem se iscrtava
pointer je dimenzija 16 * 16. E sad a[17] je zadužen za prvi red, a[18] za
drugi, itd. do kraja. Znači u svakom redu imaš 16 elemenata, koji su ustvari
pixeli zaduženi za iscrtavanje tog pointera. Kao 16-to bitni registar,
1 znači da ima tačke, 0 znači da nema. Dakle ako hoćeš da ti recimo kroz
drugi red prolazi vertikalna linija po sredini debljine 2 pixela imaćeš
nešto ovako:
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
a[18] │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
E sad ovo pročitaš kao broj u binarnom zapisu (110000000) i pretvoriš
u hex ili dec zapis i dodeliš tu vrednost elementu a[18] i tako do kraja.
I na kraju u proceduri Shape sve to pozivaš sa npr.
Shape(x,y,@a);
I to je sve... :)
Ovo kucam na brzinu tako da ni ne verujem da si me baš razumeo, ali tu
su primeri da izvuku situaciju:
Primer prvi...
Znači uvek zbog XORovanja imaš
For i:=1 to 16 Do a[i]:=$FFFF;
Pa sad recimo...
For i:=17 to 23 Do
a[i]:=$180;
a[24]:=$FFFF;
a[25]:=$FFFF;
For i:=26 to 32 do
a[i]:=$180;
Znači ovo će da napravi plusić. I na kraju se poziva procedura Shape:
Shape(8,8,@a);
Koordinate preseka su 8,8 (mada ima 4 koordinate ustvari, jer su linije
koje se seku debljine 2)
U drugom primeru posle XORovanja imaš
For i:=17 to 20 Do
a[i]:=$0800;
a[21]:=$FF80;
For i:=22 to 25 do
a[i]:=$0800;
For i:=26 to 32 do
a[i]:=$0000;
Shape(5,5,@a);
Ovako ćeš dobiti isto plusić, ali nešto manji od onog...
To bi bilo sve, ako te još nešto interesuje, pitaj...
// Reci mi iskreno, jesi li ukapirao ovo, delijo? :) \\
pascal.3marko.dj,
# Jel' to ta procedura? Ako jeste, onda ti je resenje sledece.
Bas ta. :) Hvala na pojasnjenju. :)
pascal.4vgenije,
kako da odstampam samo oznaceni dao textfajl-a?
Fajl otvaram programcicem slicnim kao sto je tvedit.pas
Inace deo texta oznacavam misem ili sa shift-strelica(logicno ali neka
se nade)
pascal.5vgenije,
Probao sam onaj primer za odredivanje ser.broja diska
Lepo ga pokrenem ali on se samo ukoci i cuti.Jedini lek je da resetujem
racunar.Resenje?
pascal.6vgenije,
kako da obrisem o
pascal.7vgenije,
Kako da obrisem jedan slog iz datoteke(datoteka sadrzi npr
ime,prezime,telefon)
I kada unosim novo ime ako ime vec postoji ono koje je ranije bilo da se
obrise a da vazi samo najnovije?
pozdrav
pascal.8vgenije,
kako da obrisem o
pascal.9vgenije,
Kako da obrisem jedan slog iz datoteke(datoteka sadrzi npr
ime,prezime,telefon)
I kada unosim novo ime ako ime vec postoji ono koje je ranije bilo da se
obrise a da vazi samo najnovije?
pozdrav
pascal.10dejanr,
>> Kako da obrisem jedan slog iz datoteke(datoteka sadrzi npr
>> ime,prezime,telefon)
Osim polja ime, prezime i telefon predvidi i polje 'bris', pa kad tu
staviš true, znači da je slog obrisan i ubuduće ga programski preskačeš.
Kada upisuješ novi slog, možeš prvo da probaš da ga upišeš umesto nekog
od obrisanih.
>> I kada unosim novo ime ako ime vec postoji ono koje je ranije bilo da se
>> obrise a da vazi samo najnovije?
Moraćeš da pišeš program koji ide od sloga do sloga i proverava.
pascal.11vgenije,
e posto mi nije najasnije ispala ona poruka u vezi brisanja sloga saljem
preimer gde sam ukocio..
pa ako vam nije tesko pogledajet ga i posaljite ispravnu verziju..
data.paspascal.12inikolic,
Ima li neko TriDoor stariji od verzije 3.0 koja se ovde moze naci. Potreban
mije jer ovaj 3.0 ne radi lepo(blokira racunar kada pukne veza).Negde sam video
(na staranom BBS-u ) da postoji verzija 1.78. Mozda bi ona bila dobra, jer su
mi potrebne samo neke osnovne naredba u ansiju i ascii-u. Unapred zahvalan...
Ivan
pascal.13kriss,
Kako da u TP-u 6.0 "napunim" određene registre vrednostima koji bi se
potpom prosledili ulinkovanoj proceduri (.OBJ fajl)? Znači nešto kao:
Var
r:registers;
{$L ja.obj}
Procedure ja;external;
Begin
r.ax:=12;
r.si:=22;
ja;
End.
(ne uzimajte u obzir sintaksu, ovo je samo slikovito napisano :)
Ili moram da se 'vatam za asm direktivu, pa "ručno" da dodajem? (znači
ovako:)
asm
mov ax,12
mov si,22
end
pascal.14bigbrada,
*>> pa ako vam nije tesko pogledajet ga i posaljite ispravnu
*>> verziju..
Here it goes...
The.Great
data.paspascal.15andrejt,
Q> Ima li neko TriDoor stariji od verzije 3.0 koja se ovde moze naci.
Evo.
td183.zippascal.16inesic,
> PHMMMKKKada koristim mouse biblioteku kao podrsku rada sa misem
> u grafickom modu ne mogu da dobijem pointer. Predstavljen je
> nekom malom jedva vidljivom crticom koja se vrlo skokovito
> krece. Biblioteka je skinuta sa sezama. Graf
Ja imam XT i naravno hercules kartu. Sa sezama sam skinuo davno
fajl koji mi sad stoji u direktorijumu pod nazivom mouselib.pas.
Počinje ovako
(******************************************************************************
* MouseLib *
* second release, written by Loewy Ron, AUG 90 *
* Third release, TP6.0 asm support, LR Jan 91. *
* 4TH release, added functions, LR FEB. 91. *
* 5th release, added intercept & release functions *
******************************************************************************)
unit MouseLib;
pascal.17postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Real2Int
Date: Thu, 05 Jan 1995 11:07:00
>Imam promenljivu Real tipa,a njen integer deo
>(Int(promenljiva)) bi mi trebao u promenljivoj Integer tipa.
TP ima dve funkcije Round i Trunc. Prva zaokruzi real na integer, a
druga samo odsece decimalni deo i vrati celobronu vrednost. Za detalje
pogedaj u help.
broker
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.18postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Tue, 03 Jan 1995 19:06:02
Hi,natrcao sam na jedan problemcic danas.
Imam promenljivu Real tipa,a njen integer deo (Int(promenljiva))
bi mi trebao u promenljivoj Integer tipa.
U stvari,da ja kazem sve to detaljnije.Funkcija za stepenovanje koju su
dali u nekom od FAQ-ova o TP-u ( Pow:=Exp(y*Ln(x)) sto je x^y ) kao
rezultat (promenljiva Pow) daje podatak Real tipa.Onda tu promenljivu
koristim u drugoj formuli,ciji je rezultat neka Integer promenljiva.
Naravno,TP me pljune sa "Type mismatch error" i nece ni makac dalje.
Kako sto jednostavnije da dobijem rezultat?
Unapred hvala,
Sigma
___
X SLMR 2.1a X ...i jedna zlica Vegete!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.19postmast,
From: pedjak@hobbiton.CO.YU (Predrag Knezevic)
Subject: Re: pascal
Date: Tue, 10 Jan 1995 07:01:15 GMT
> From: "Ognjen Blagojevic" <ognjen@sezam.UUCP>
> username-a, da vidim sta ce se desiti, i gle cuda - program bez
> greske odradi posao, iako sam rezervisao memoriju samo za 30
> usera! Bug? Feature?
Imao si srece, sledeci put pazi. Dok testiras svoje programe
ukljuci prekidacku direktivu $R+ ( Range ). Da ti je opcija bila
ukljucena, program bi prijavio gresku.
pascal.20postmast,
From: pedjak@hobbiton.CO.YU (Predrag Knezevic)
Subject: Re: Real2Int
Date: Tue, 10 Jan 1995 07:01:21 GMT
> From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian A
> Imam promenljivu Real tipa,a njen integer deo (Int(promenljiva))
> bi mi trebao u promenljivoj Integer tipa.
Postoje i funkcije Round i Trunc, pa vidi koja ti odgovara.
pascal.21postmast,
From: pedjak@hobbiton.CO.YU (Predrag Knezevic)
Subject: Re: mouse
Date: Tue, 10 Jan 1995 07:01:26 GMT
> From: "Marko Dordevic" <marko.dj@sezam.UUCP>
> modu ne mogu da dobijem pointer. Predstavljen je nekom malom jedva
> vidljivom crticom koja se vrlo skokovito krece. Biblioteka je skinuta sa
> sezama. Graf kartica je herkules. Mis je geniusov i microsoft mouse
> kompatibilan. U text mogu radi perfektno.
Problem je u tome sto imas Herkulesa. Naime, drajveri za misa koje
sam ja do sada video nisu sposobni da prepoznaju, prelazak
Herkulesa u graficki mod. Zato treba pribeci simuliranju strelice
ili ono sto pali kod "dzinijus" drajvera je da pozoves BIOS
funkciju za ulazak u CGA mod 640x200 i time prevaris drajver.
Naravno, ovo ne radi ni pod jednim drugim drajverom.
Naravno, moram da se i malo pohvalim :) na Sezamu u ovoj temi, cini
mi se u PC.PROG.2 konferenciji postoji moj junit, (sezamusername:pedjak)
koji sasvim lepo i na Herkulesu.
pedja
pascal.22postmast,
From: pedjak@hobbiton.CO.YU (Predrag Knezevic)
Subject: Re: pascal
Date: Tue, 10 Jan 1995 07:01:31 GMT
> From: "Kristijan Lazic" <kriss@sezam.UUCP>
> Kako da u TP-u 6.0 "napunim" odredene registre vrednostima koji bi se
> potpom prosledili ulinkovanoj proceduri (.OBJ fajl)? Znaci nesto kao:
> Ili moram da se 'vatam za asm direktivu, pa "rucno" da dodajem? (znaci
> ovako:)
Da li ti tvoje procedure mogu da se prerade tako da parametre
uzimaju sa steka...? Ako je odgovor da, onda jednostavno definises
parametre eksterne procedure kao na primer:
procedure ja(a1,a2,a3:byte);external;
A zatim u eksternoj proceduri napises nesto kao:
PROC ja FAR A1:BYTE,A2:BYTE,A3:BYTE
onda u rutini samo kazes:
mov ah,a1 i slicno.
pascal.23predragd,
Odgovor na poruku PC.PROG.4: 7.825
> RM> Thanks,a dali znass kako mozze da se procita serijski broj diska ?
> RM>> Ovu funkciju imas u zadnjim Racunarima u Bajtovima licne prirode.
Može i malo brže.
Function GetDiskSerNo: string; švratice 10 bajtovać
var
bbb, i :integer;
srno: array Š1..20Ć of char;
srnostr: string Š10Ć;
begin
Repeat Until Port Š$1F7Ć = $50; š Wait for controller not busy ć
portŠ$1F6Ć:=$A0; šGet second drive ć
portŠ$1F7Ć:=$EC; šGet drive info data ć
Repeat Until Port Š$1F7Ć = $58; š Wait for data ready ć
for i:=1 to 10 do
bbb:=portw Š$1F0Ć;
for i:=1 to 5 do
begin
bbb:=portw Š$1F0Ć;
srnoŠ2*i-1Ć:=Chr (MemŠSeg (bbb):Ofs (bbb)+1Ć);
srnoŠ2*i Ć:=Chr (MemŠSeg (bbb):Ofs (bbb)Ć);
end;
Move (srno, srnostrŠ1Ć, 10);
srnostrŠ0Ć:=Chr (10);
GetDiskSerNo:=SrNoStr;
end;
Peđa.
pascal.24sjocic,
├> Može i malo brže.
├>
├>
├> Function GetDiskSerNo: string; švratice 10 bajtovać
Taj program se pokazao kao nepouzdan, ima l' drugih resenja?
pascal.25predragd,
> Probao sam onaj primer za odredivanje ser.broja diska
Kakav disk imaš. Program sam probao na WD, Conner, Maxtor, Seagate i
Fujitsu (IDE naravno) diskovima, i radi savršeno. Na SCSI garantovano
blokira. Za ostale tipove diskova ne znam.
Peđa.
pascal.26kriss,
˙˙ From: pedjak@hobbiton.CO.YU (Predrag Knezevic)
˙˙> Kako da u TP-u 6.0 "napunim" odredene registre vrednostima
˙˙> koji bi se
˙˙ Da li ti tvoje procedure mogu da se prerade tako da parametre
˙˙ uzimaju sa steka...? Ako je odgovor da, onda jednostavno
˙˙ definises parametre eksterne procedure kao na primer:
Odgovor je ne, znači da su u pitanju dobijeni .OBJ fajlovi (ko će sad
da ih disasemblira, menja, rizikuje da ne radi posle ...). Znači,
potrebno mi je nešto što bi recimo moglo da se nazove 'asembleskim'
pozivom - "podesiš" registre, pa call (far, near, nije bitno).
˙˙ procedure ja(a1,a2,a3:byte);external;
Da li ovde može da stoji i word, integer i slično, ili mora samo byte?
pascal.27bigbrada,
*>> Naravno,TP me pljune sa "Type mismatch error" i nece ni makac
*>> dalje. Kako sto jednostavnije da dobijem rezultat?
A da probaš sa jednim Round (Pow) ili Trunc (Pow)? Ako
sam te lepo razumeo to radi posao... Pozdrav,
The.Great
pascal.28postmast,
From: zoran@setnet.co.yu (Zoran Tomic)
Subject: Real2Int
Date: Thu, 05 Jan 1995 18:31:00
* Sebastian Adanko in message to All wrote:
SA> U stvari,da ja kazem sve to detaljnije.Funkcija za stepenovanje koju
SA> su dali u nekom od FAQ-ova o TP-u ( Pow:=Exp(y*Ln(x)) sto je x^y ) kao
SA> rezultat (promenljiva Pow) daje podatak Real tipa.Onda tu promenljivu
SA> koristim u drugoj formuli,ciji je rezultat neka Integer promenljiva.
SA> Naravno,TP me pljune sa "Type mismatch error" i nece ni makac dalje.
TP je u pravu. ;)
Sasvim je normalno da javi gresku ako pokusas da realnu vrednost formule (a
realna je zbog promenljive Pow) dodelis celobrojnoj promenljivoj. Ne mozes
cak upotrebiti ni razlomacku crtu u formuli - bez obzira sto su argumenti
celobrojni.
Nego ces lepo da koristis funkcije i operatore koje vracaju celobrojne
vrednosti. Verovatno ces morati da skreses decimale (funkcija Trunc),
koristis DIV operator sa celobrojno delenje itd.
Pozdrav! Zoran
... Mene novac i slava ne zanimaju. Zanima me samo novac!
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.29postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: pascal
Date: Mon, 09 Jan 1995 10:43:27
-=> Reply to: "Ognjen Blagojevic" <=-
"B> Probao 4dos i MSdos 5.0, ni jedan ne radi.
Heh i posle kazu da NDos ne valja, :-]]
-=> MM <=-
... Operacijom mu je odstranjen mozak, sad moze da vrsi duznost milicajca.
* Origin: SETNet - Exodus BBS #137-477# from 22:00 to 09:00 (38:103/130)
pascal.30postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: pascal
Date: Mon, 09 Jan 1995 10:45:04
-=> Reply to: "Zeljko Jovanovic" <=-
"J> Imas u DOS helpu ANSI sekvence.
ESC[y,xH
Obratite paznju da prvo ide Y, pa onda X koordinata,
nelogicno, al' boze moj :-) Ah da, za neiskusne, 'H' mora
biti veliko O:-)
-=> MM <=-
... Ja se tebe, vidim, svidjam, a ti mene?
* Origin: SETNet - Exodus BBS #137-477# from 22:00 to 09:00 (38:103/130)
pascal.31postmast,
From: Zoran.Rilak@f126.n103.z38.setnet.setnet.co.yu (Zoran Rilak)
Subject: Real2Int
Date: Tue, 10 Jan 1995 01:00:52
SA> ...Imam promenljivu Real tipa,a njen integer deo (Int(promenljiva))
SA> bi mi trebao u promenljivoj Integer tipa...
Postoje dve funkcije u standardnom (Virtovom) Paskalu za transformaciju tipa
iz realnog u INTEGER. To su ROUND (REAL) : INTEGER i TRUNC (REAL) : INTEGER.
Prva zaokruzuje realni parametar na najblizi ceo broj i vraca taj broj, a druga
samo odseca decimale i vraca ceo deo realnog parametra. Na primer,
ROUND (10.36) = 10; ROUND (10.55) = 11; TRUNC (10.36) = 10; TRUNC (10.55) = 10.
Da pises u Modulici ne bi te ovo mucilo ;))))) (kad se jednom covek navikne)
... "Ako jos jednom provalis sifru, imaces posla sa mnom!"
* Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.32pedjak,
> ˙˙ procedure ja(a1,a2,a3:byte);external;
> Da li ovde može da stoji i word, integer i slično, ili mora samo
> byte?
Može.
pascal.33janko,
> ESC[y,xH
>
> Obratite paznju da prvo ide Y, pa onda X
> koordinata, nelogicno, al' boze moj :-) Ah da, za
> neiskusne, 'H' mora biti veliko O:-)
Da pogodim, ti si jako mlad? Samo onaj kome je prvi programski jezik
baš TP može da kaže da je ovo nelogično. :)) (Uticaj GotoXY)
pascal.34zeljkoj,
> baš TP može da kaže da je ovo nelogično. :)) (Uticaj GotoXY)
Pa da. Onome ko koristi settextposition (Microsoft) umesto GotoXY (Borland)
je ovo sasvim normalna stvar.
:)
pascal.35vitez.koja,
#=> Pa da. Onome ko koristi settextposition (Microsoft) umesto GotoXY
#=> (Borland) je ovo sasvim normalna stvar.
E nemo' se vredjamo. LOCATE red, col je uvek radilo normalno i
zna se BRE (ovo bre mi je glavni argument pa ide veliko :) šta je
starije.
sk
pascal.36postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: pascal
Date: Wed, 11 Jan 1995 10:55:06
-=> Reply to: "Vlada Biskupljanin" <=-
"B> kako da odstampam samo oznaceni dao textfajl-a?
Oznaceni deo teksta iskopiras u neki interni bafer i stampas
taj bafer, prosto :-)
-=> MM <=-
... Death is life's way of telling you you've been fired.
* Origin: SETNet - Exodus BBS, Novi Beograd #137-477# (38:103/130)
pascal.37postmast,
From: Zeljko.Stevanovic@f130.n103.z38.setnet.setnet.co.yu (Zeljko Stevanovic)
Subject: pascal
Date: Thu, 05 Jan 1995 20:17:18
To: "Vlada Biskupljanin" <vgenije@sezam.UUCP>
"B> kako da odstampam samo oznaceni dao textfajl-a?
"B> Fajl otvaram programcicem slicnim kao sto je tvedit.pas
"B> Inace deo texta oznacavam misem ili sa shift-strelica(logicno ali neka
"B> se nade)
Pa posle markiranja trebas da ga prebacis u baffer sa CRTL-INS (toko je IDE-u)
pa zatim prebacis (kopiras) na stampac..
Neznam kako se sve to programira u Turbo Visual-u , ali potrazi u tvedit.pas
sourcu sta se radi kad se pretisne CRTL-INS pa mozes videti sa cime puni
baffer, i zameniti da to umesto da ide u baffer da ide na lpt ( tako mozes
u potpunosti zaobici CRTL-INS )..
Pozdrav,
Blue MAGIC
... IBM-PC - Imbecil Bussines Machine - Permanently Craches
* Origin: SETNet - Exodus BBS, Novi Beograd #137-477# (38:103/130)
pascal.38postmast,
From: Zeljko.Stevanovic@f130.n103.z38.setnet.setnet.co.yu (Zeljko Stevanovic)
Subject: pascal
Date: Thu, 05 Jan 1995 20:24:43
To: "Vlada Biskupljanin" <vgenije@sezam.UUCP>
"B> Probao sam onaj primer za odredivanje ser.broja diska
"B> Lepo ga pokrenem ali on se samo ukoci i cuti.Jedini lek je da
"B> resetujem racunar.Resenje?
I meni se to desava.. Program se ne zablokira vec se lepo izvrsava, samo sto
se nalazi u peklju, evo samo dela iz soursa:
...
begin
while port[$1F7] = $50 do { wait for controller not busy}
begin end;
... ^^^^^^^^^^
Evo tu se program nalazi.. Mozda je greska u port-u ili vrednosti koja treba
da se ceka da bi kontroler bio slobodan.. Ili kontroler je zauzet od strane
DOS-a ...
Nadam se da ce dejanr obrazloziti ovo ili uputiti poruku autoru primera..
... IBM-PC - Imbecil Bussines Machine - Permanently Craches
* Origin: SETNet - Exodus BBS, Novi Beograd #137-477# (38:103/130)
pascal.39postmast,
From: Zeljko.Stevanovic@f130.n103.z38.setnet.setnet.co.yu (Zeljko Stevanovic)
Subject: pascal
Date: Thu, 05 Jan 1995 20:45:27
To: "Vlada Biskupljanin" <vgenije@sezam.UUCP>
"B> Kako da obrisem jedan slog iz datoteke(datoteka sadrzi npr
"B> ime,prezime,telefon)
Tako sto ces preko njega upisati nov..
"B> I kada unosim novo ime ako ime vec postoji ono koje je ranije bilo da
"B> se obrise a da vazi samo najnovije?
Pa prvo nadjes slog u kome je doticno ime pa zatim se vradis jedan slog pre
doga (sa Seek(n-1) n je trenutni slog kojeg dobijes sa FilePos(f) f je file
promenjljiva) i zatim upises preko tog sloga ..
Ako i dalje nije jasno kazi, mozda neznas jos nesto sto sam pretpostavio
da vec znas..
P.S. Ako pises programe koji barataju sa velikim bazama, savetujem ti da
predjes na Cliper...
... IBM-PC - Imbecil Bussines Machine - Permanently Craches
* Origin: SETNet - Exodus BBS, Novi Beograd #137-477# (38:103/130)
pascal.40zeljkoj,
> E nemo' se vredjamo. LOCATE red, col je uvek radilo normalno i
> zna se BRE (ovo bre mi je glavni argument pa ide veliko :) šta
> je starije.
žekaj malo... Pa ja to i kažem.
Rekao sam da ju u svim Microsoftovim jezicima row, col.
Nije bitno da li se zove LOCATE ili settextposition.
Bitno je samo da je kod Borlanda obrnuto, i zato je ovo "Borlandovcima"
nenormalno.
pascal.41vlador,
> while port[$1F7] = $50 do { wait for controller not busy}
> begin end;
Sad sam pogledao svoju funkciju koju sam svojevremeno napravio i koja radi
lepo. Tamo piše
while port[$1F7] <> $50 do ;
!!
Da, i 'begin end' nije potrebno. :)
---
■ VLADOR ■
pascal.42postmast,
From: Sebastian.Adanko@f107.n111.z38.Setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Tue, 10 Jan 1995 15:41:48
-=> On 05 Jan 95 , Zoran Tomic wrote this to Sebastian Adanko <=-
SA> rezultat (promenljiva Pow) daje podatak Real tipa.Onda tu promenljivu
SA> koristim u drugoj formuli,ciji je rezultat neka Integer promenljiva.
SA> Naravno,TP me pljune sa "Type mismatch error" i nece ni makac dalje.
ZT>
ZT> TP je u pravu. ;)
Na zalost,on je uvek u pravu. ;)
ZT> Nego ces lepo da koristis funkcije i operatore koje vracaju celobrojne
ZT> vrednosti. Verovatno ces morati da skreses decimale (funkcija Trunc),
ZT> koristis DIV operator sa celobrojno delenje itd.
Islo je mnogo lakse sa Round.Naime,doticni program (stavio sam ga na par
BBS-ova,UNC.ZIP) nije zahtevao tako veliku preciznost,nego samo da se od
npr 3.9999999999999 dobije 4.U svakom slucaju,hvala.
Sigma
... Catch the Blue Wave!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.43postmast,
From: Sebastian.Adanko@f107.n111.z38.Setgate.setnet.co.yu (Sebastian Adanko)
Subject: pascal
Date: Fri, 13 Jan 1995 01:23:10
"B>E imam ideju(kao i 500 proslih neostvarenih) da napravim simulacuju berze
"B>na racunaru.naravno prilagodenu modemu-da se covek lepo prikljuci
"B>pokupuje,isprodaje itd..
"B>.Pitanje je dali ce ovo upaliti kod sireg auditorijuma-dali ce ljudi igrati
"B>tu igru?
Ja bih igrao.Cini mi se da je takva igra mnogo primerenija ovakvom
nacinu igranja od strategija.
PhuZZy L0GiK
... Niko ne primecuje velike greske.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.44postmast,
From: Sebastian.Adanko@f107.n111.z38.Setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Fri, 13 Jan 1995 01:45:32
PS>>Imam promenljivu Real tipa,a njen integer deo
PS>>(Int(promenljiva)) bi mi trebao u promenljivoj Integer tipa.
PS>TP ima dve funkcije Round i Trunc. Prva zaokruzi real na integer, a
PS>druga samo odsece decimalni deo i vrati celobronu vrednost. Za detalje
Nasao sam to jos to vece,ali nisam stigao da zaustavim poruku na putu
kroz SETNet.U svakom slucaju,hvala.
BTW,ti si jedini koji mi je odgovorio na ovo,zaista jednostavno
pitanje.Da li to znaci da svi ovi paskalovci bas i ne poznaju svoj
"maticni jezik"? ;)) Ili su samo lenji ;)))
PhuZZy L0GiK
... C'est la vie.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.45postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Real2Int
Date: Mon, 16 Jan 1995 10:33:00
> Islo je mnogo lakse sa Round.Naime,doticni program (stavio sam
>ga na par BBS-ova,UNC.ZIP) nije zahtevao tako veliku preciznost,nego
>samo da se od npr 3.9999999999999 dobije 4.U svakom slucaju,hvala.
Nemoj se ljutiti, ali ucini sebi uslugu i onakve programe nemoj da na
BBS-ove ostavljas pod svojim imenom. Ono sto si kod mene ostavio spada
u klasu programa 'napisanih samo da ga autor koristi i niko vise'.
Sredi ga malo, uvedi provere i doteraj korisnicki interfejs pa tek onda
salji na BBS.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.46postmast,
From: Predrag_Supurovic@f101.n101.z38.Setgate.setnet.co.yu (Predrag_Supurovic)
Subject: Statistics
Date: Tue, 17 Jan 1995 22:40:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.PASCAL maintained on 10.01.95. for 7 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 550
Number of messages covered in report: 24
Processed period from: 10-1-1995 to 1-1-2074
------------------------------------------------------------------------------
Blacklist-Top 10 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Sebastian Adanko......... 38:111/107 5 61 33 54.10%
2. "Janko Stamenovic"....... 38:103/120 1 10 5 50.00%
3. "Srdan Jocic"............ 38:103/120 1 8 4 50.00%
4. "Predrag Knezevic"....... 38:103/120 1 7 3 42.86%
5. Predrag Knezevic......... 38:103/120 4 51 17 33.33%
6. Marko Milivojevic........ 38:103/130 1 6 2 33.33%
7. Zeljko Stevanovic........ 38:103/126 1 9 3 33.33%
8. "Aleksandar Bradaric".... 38:103/120 1 8 2 25.00%
9. "Vladimir Maric"......... 38:103/120 1 9 2 22.22%
10. Zoran Rilak.............. 38:103/126 1 9 2 22.22%
------------------------------------------------------------------------------
Top 10 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Sebastian Adanko 5 20.8% 654 54.10%
2. Predrag Knezevic 4 16.7% 608 33.33%
3. "Predrag Dobrovic" 2 8.3% 653 7.89%
4. Predrag Supurovic 2 8.3% 1795 5.08%
5. "Janko Stamenovic" 1 4.2% 390 50.00%
6. Marko Milivojevic 1 4.2% 319 33.33%
7. Zeljko Stevanovic 1 4.2% 407 33.33%
8. "Aleksandar Bradaric" 1 4.2% 342 25.00%
9. "Vladimir Maric" 1 4.2% 366 22.22%
10. Zoran Rilak 1 4.2% 633 22.22%
------------------------------------------------------------------------------
Top 8 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 15 62.5%
2. "Vlada Biskupljanin" 2 8.3%
3. Sebastian Adanko 2 8.3%
4. Zoran Rilak 1 4.2%
5. Robert Mileski 1 4.2%
6. Predrag Supurovic 1 4.2%
7. Zoran Tomic 1 4.2%
8. "Aleksandar Bradaric" 1 4.2%
------------------------------------------------------------------------------
Top 6 of the subjects.
Subject Nr.
------- ---
1. pascal...................................................... 14
2. Real2Int.................................................... 6
3. c komanda.--- FMail/386 1.0g
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.47postmast,
From: Sebastian.Adanko@f107.n111.z38.Setgate.setnet.co.yu (Sebastian Adanko)
Subject: pascal
Date: Sun, 15 Jan 1995 22:28:18
-=> "Aleksandar Bradaric" wrote this to All <=-
*>> Naravno,TP me pljune sa "Type mismatch error" i nece ni makac
*>> dalje. Kako sto jednostavnije da dobijem rezultat?
"B>
"B> A da probas sa jednim Round (Pow) ili Trunc (Pow)? Ako
"B> sam te lepo razumeo to radi posao... Pozdrav,
Fala,fala,nas'o sam to vec,program radi!
Jos jednom fala na odgovoru. ;)
PhuZZy L0GiK
... Kako im ne promukne glas savesti!?
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.48postmast,
From: Sebastian.Adanko@f107.n111.z38.Setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Sun, 15 Jan 1995 22:31:27
-=> Zoran Rilak wrote this to All <=-
SA> ...Imam promenljivu Real tipa,a njen integer deo (Int(promenljiva))
SA> bi mi trebao u promenljivoj Integer tipa...
ZR>
ZR> Postoje dve funkcije u standardnom (Virtovom) Paskalu za
ZR> transformaciju tipa iz realnog u INTEGER. To su ROUND (REAL) : INTEGER
ZR> i TRUNC (REAL) : INTEGER. Prva zaokruzuje realni parametar na najblizi
Hvala,hvala,vec me blam 'vata od ovih silnih odgovora.Istrc'o sam se i
poslao onako tupavo pitanje,pa me sad svi zasipaju odgovorima ;)
Hvala opet,nasao sam te f-je i program je proradio.
ZR> TRUNC (10.36) = 10; TRUNC (10.55) = 10. Da pises u Modulici ne bi te
ZR> ovo mucilo ;))))) (kad se jednom covek navikne)
Pisacu ja,pisacu,samo da je nabavim.BTW,kako se to tamo resava? (mrzi me
da sad kopam po knjizi ;)
PhuZZy L0GiK
... Behind every argument is someone's ignorance.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.49vgenije,
Kako da izbegnem da me ne izbacuje iz programa ako na pitanje za neku
varijablu tipa real korisnik ogovori sa nekim slovom?
Ocu da kazem kako da ga vratim na to isto pitanje ako je pogresio sa
numerickim formatom?
pozdrav
pascal.50sljubisic,
Molim sve one koji mogu da pomognu da ovu poruku procitaju pazljivo.
Radi se o sledecoj situaciji:
Postoji program napisan u TP koji kao izlaz daje alfanumericke podatke
(samo ASCII karakteri) u vidu dve grupe kolona. Ovo je vrlo bitno jer
je vazno da se ispis vrsi u LANDSCAPE formatu, dok je u PORTRAIT i
vrlo neekonomicno i nepregledno.
Stampac na kome to sve treba postici je CANON BJC 600, dakle jedan
bubble jet kolor stampac, i problem je u tome sto on NEMA ESC sekvencu
koja bi ga prebacila u stampanje u landscape formatu.
Sudeci bar po faksu koji je stigao 'srecnom' vlasniku, cak iz dalekog
Japana, direktno iz Canon-a, jedino je moguce postici nesto sa odgova-
rajucim bibliotekama, koje bi ovakvu opciju podrzavale.
Dakle, pitanje i zapravo molba:
gde se moze naci takva biblioteka?
Za svaki savet, bilo ovde ili u mail sam vrlo zahvalan!
Hvala unapred,
Slobodan
pascal.51pedjak,
> Kako da izbegnem da me ne izbacuje iz programa ako na pitanje za
> neku varijablu tipa real korisnik ogovori sa nekim slovom?
var
a:real;
begin
repeat
(*I-*)
readln(a);
(*I+*)
until ioresult=0;
end.
Izvini, (* i *) koristim umesto vitičastih zagrada zbog juskija.
pedja
pascal.52severian,
> Kako da izbegnem da me ne izbacuje iz programa ako na pitanje
> za neku varijablu tipa real korisnik ogovori sa nekim slovom?
> Ocu da kazem kako da ga vratim na to isto pitanje ako je
> pogresio sa numerickim formatom?
Na primer, ovako:
{ bafer ti je string, a var_real real promenljiva }
repeat
begin
write('Unesi trt-mrt...');
readln(bafer);
val(bafer, var_real, code);
end
until code=0;
pascal.53postmast,
From: Brankica.Kranjac@f110.n103.z38.setgate.setnet.co.yu (Brankica Kranjac)
Subject: pascal
Date: Fri, 20 Jan 1995 21:58:18
"S> From: "Janko Stamenovic" <janko@sezam.UUCP>
"S> > ESC[y,xH
"S> >
"S> > Obratite paznju da prvo ide Y, pa onda X
"S> > koordinata, nelogicno, al' boze moj :-) Ah da, za
"S> > neiskusne, 'H' mora biti veliko O:-)
"S> Da pogodim, ti si jako mlad? Samo onaj kome je prvi programski jezik
"S> bas TP moze da kaze da je ovo nelogicno. :)) (Uticaj GotoXY)
Eh, a ja dugo svojevrmeno mislila da ne umem da proracunavam kako
treba koordinate :) Eto sta se desava kad covek ne obrati paznju :(
Pozdrav od Lady Linet
___
■ PQ 2.14 ■ SF SF SF SF SF SF SF SF SF SF SF SF SF SF SF SF SF SF SF:)
* Origin: # New Age # 23-06h # Beograd # SETNet: (38:103/110)
pascal.54postmast,
From: Brankica.Kranjac@f110.n103.z38.setgate.setnet.co.yu (Brankica Kranjac)
Subject: Paskal i C
Date: Fri, 20 Jan 1995 22:02:20
Evo jedan Hint svim paskaldzijama (a mozda i sire):
Kad Pascal vrti petlju:
for i:=1 to Max do
on prvo ispita koliko puta bi trebalo da je vrti i onda je
vrti tacno toliko puta.
Zasto ovo pisem?
Zato sto C npr. to ne radi.
for (i=1;i<=Max;i++)
{
nesto;
}
radi isto to, ali samo ako ne menjate vrednost Max u toku petlje,
Paskal to ignorise - on zna da treba vrti petlju toliko i toliko
puta i to radi, menjali mu vi Max ili ne. C se normalno ne buni ako
to uradite, ali jos normalnije vrti pogresan broj puta.
Pozdrav, i nadam se da ce ovo nekome biti od koristi,
Lady Linet
___
■ PQ 2.14 ■ PC - pametan covek.
* Origin: # New Age # 23-06h # Beograd # SETNet: (38:103/110)
pascal.55postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Tue, 17 Jan 1995 20:52:29
-=> Predrag Supurovic wrote this to Sebastian Adanko <=-
>ga na par BBS-ova,UNC.ZIP) nije zahtevao tako veliku preciznost,nego
PS> Nemoj se ljutiti, ali ucini sebi uslugu i onakve programe nemoj da na
PS> BBS-ove ostavljas pod svojim imenom. Ono sto si kod mene ostavio spada
PS> u klasu programa 'napisanih samo da ga autor koristi i niko vise'.
Ne ljutim se, ali ako si pazljivije procitao README koji je uz njega,
tamo sam napisao da je program bas u toj klasi i da niko ko ga eventualno
skine ne ocekuje ne-znam-ni-ja-sta.Napisan je za dva dana (tacnije,dve
noci),a i to samo zato sto sam zapeo oko onog problema sa promenljivama.
Ako ti se bas toliko ne svidja,obrisi ga ;)
BTW,to je bilo samo zbog UL/DL odnosa (mnogo volem SF) ;)))
PS> Sredi ga malo, uvedi provere i doteraj korisnicki interfejs pa tek
PS> onda salji na BBS.
Ako imas volje,poslacu ti source,pa ga menjaj.Ja,kao sto tamo rekoh,nemam
volje.Moje potrebe zadovoljava.BTW,kakve provere da uvodim? (cisto da znam
ako pravim nesto ozbiljnije)
PhuZZy L0GiK
... Ko se poslednji smeje ima bore oko ociju!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.56mmitrovic,
Ů█▀█Ţ Ili moram da se 'vatam za asm direktivu, pa "ručno" da dodajem? (znači
Ů█▀█Ţ asm mov ax,12
Ů█▀█Ţ mov si,22
Ů█▀█Ţ end
Moraš! ;)
Druga alternativa ti je (ukoliko si sam pisao source za OBJ) da
u proceduri postaviš standardni stack frame (push bp; move bp,sp)
pa da u kodu primaš parametre relativno u odnosu na BP.
onda u PAS fajlu deklarišeš
preocedure Ja(prvi,drugi:word); external;
pa da je pozivaš sa
Ja(12,22);
pascal.57evlad,
>> Ocu da kazem kako da ga vratim na to isto pitanje ako je pogresio sa
>> numerickim formatom?
Repeat
čitanje;
Until tačno;
čitanje == procedura za unos parametara
tačno == funkcija za proveru istih (vraća Boolean)
pascal.58ikordic,
RE: Landscape print
=> Postoji program napisan u TP koji kao izlaz daje alfanumericke
=> podatke (samo ASCII karakteri) u vidu dve grupe kolona. Ovo je vrlo
=> bitno jer je vazno da se ispis vrsi u LANDSCAPE formatu, dok je u
=> PORTRAIT i vrlo neekonomicno i nepregledno.
Mislim da ćeš ovakvu specijalizovanu biblioteku vrlo teško naći. Jedino
smisleno rešenje je da se preusmeri izlaz iz programa u neku tekstualnu
datoteku i da se ista potom poveri na štampu nekom eksternom programu koji
će to izvozati u grafičkom modu, pošto, kao što reče, štampač ne podržava
landscape štampu.
Mislim da onaj Booklet ima neku sličnu opciju, ima ga na Sezamu, pa ga
progledaj malo.
Ovako, na prvi pogled, čini mi se da i nije neki preteran posao da se
napiše programče koji će vršiti konverziju ASCII char -> bitmap landscape
char pod uslovom da:
1) poznaješ naredbe za bitmap štampu na tom štampaču
2) se ograničiš na neproporcionalan ispis
3) neće biti nekih suludih efekata tipa underline, shadow, grafika i sl.
4) imaš vremena za eksperimentisanje
Normalno, takav program će potom raditi samo na tom štampaču.
pascal.59vgenije,
koji je asci kod za ENTER
pascal.60vgenije,
>
> Izvini, (* i *) koristim umesto viticastih zagrada zbog
> juskija.
>
Zahvaljujem na odgovoru ali on me i dalje izbacuje iz programa sa istom
porukom..
pascal.61pedjak,
> repeat
> begin
> end
> until code=0;
U Repeat-Until petlji nije potrebno koristiti Begin-End. To se
podrazumeva.
pascal.62niklaus,
(:> Izvini, (* i *) koristim umesto vitičastih zagrada zbog
(:> juskija.
Lepo što si nas podsetio na osnovne standarde Pascal-a.
(: Sean :)
ps Nažalost (po sve nas koji "trpimo" YUSCII) C to nema, inače bi bilo manje
svađe oko kodnih rasporeda...
Ni u Moduli-(1,2,3) nema problema sa vitičastim zagradama.
pascal.63niklaus,
(:> RE: Landscape print
(:> Normalno, takav program će potom raditi samo na tom štampaču.
Bilo bi potrebno sakupiti podatke o ESC kodovima za inincijalizaciju raznih
modova na printeru, i problema ne bi bilo. Sa programerske strane jedino bi
dodatno moralo da se vodi računa "samo" (: o odnosu vertikalne i horizontalne
rezolucije.
Ima li neka zvanična baza printerskih ESC kodova zajedno sa funkcijom svakog
od njih? Uz poruku najbogatija koju imam (60ak printera). Ako imate neku
opskrbljeniju, zamolio bih vas da mi pošaljete.
(: Sean :)
prn_esc.zippascal.64dejanr,
>> koji je asci kod za ENTER
13.
Za PC pod DOS-om redovi u tekstualnim datotekama se završavaju sa
<CR><LF>, dakle sa 13 10
pascal.65zeljkoj,
> koji je asci kod za ENTER
13 decimalno.
Kad smo već kod kodova :)) interesuje me šta komunikacioni program pošalje
"drugoj strani", recimo Sezamu :), kada pritisnem neku od strelica ili neki
drugi taster koji nema svoj ASCII kod?
pascal.66sljubisic,
Subj: Za bibliotekare i entuzijaste :)
> Mislim da ces ovakvu specijalizovanu biblioteku vrlo tesko naci. Jedino
Da, to mi je bilo poznato od samog pocetka :(
> smisleno resenje je da se preusmeri izlaz iz programa u neku tekstualnu
> datoteku i da se ista potom poveri na stampu nekom eksternom programu koji
> ce to izvozati u grafickom modu, posto, kao sto rece, stampac ne podrzava
> landscape stampu.
> Mislim da onaj Booklet ima neku slicnu opciju, ima ga na Sezamu, pa ga
> progledaj malo.
A mozda je i resenje ukucati tabele u Word setovan na landscape format,
lepo izabrati font, i ljudski ih odstampati? :)
No sada malo ozbiljno - problem je u nameni programa. Naime, napisan je
program koji podatke dobija iz opreme za akviziciju podataka (Adaptek)
i kao takve ih treba obraditi i proslediti na stampac. Dakle, da se radi
o jednom slucaju koji se javlja jednom u mesec dana sve prethodno bi
bilo ok, medjutim ovde to nije slucaj.
Akvizicija se treba raditi bar jedno 10-tak, a mozda cak i znacajno vise
puta u toku jednog dana, sa po par strana ispisa, pa kad bi se posle svakog
trebalo tako, manje vise (semi)manuelno... Uostalom, sve sto nije unutar
jednog jedinstvenog programa, koga korisnik jednostavno pokrene i ne razmi-
slja dalje, po meni nije dovoljno user-proof resenje. A osim toga, uvek
su moguce kolizije sa pozivanjem drugih programa, jer covek jednostavno
nikad nije siguran koje sve resurse i oni sami koriste.
Nije naodmet primetiti da bi procedura startovnanje programa za akviziciju,
koji daje neki .txt, pa izlazak iz njega, pa startovanje nekog 'utility-a'
i import .txt-a i samo stampanje, pa izlazak iz njega, ponovni ulazak u
akvizicioni.... bila sve samo ne jednostavna i brza :). No radili su ljudi
i gore stvari, i to mesecima, dok im neko nije pokazao... :) Ovo bi mozda
moglo i nesto jednostavnije u zavisnosti od programa koji bi trebao da
radi stampu i njegove fleksibilnosti i mogucnosti startovanja svih opcija
iz komandne linije, no, to je vec druga prica.
> Ovako, na prvi pogled, cini mi se da i nije neki preteran posao da se
> napise programce koji ce vrsiti konverziju ASCII char -> bitmap landscape
> char pod uslovom da:
> 1) poznajes naredbe za bitmap stampu na tom stampacu
Ovo nije problem, ali osim osnovne premise ne pomaze ama bas nista :(
> 2) se ogranicis na neproporcionalan ispis
Nije problem, ionako su tabele u pitanju.
> 3) nece biti nekih suludih efekata tipa underline, shadow,
> grafika i sl.
Ne, za ovim kao sto sam i rekao nema potrebe, samo ASCII, no ako se
vec pise program koji konvertuje portrait->landscape, ne ubaciti i
ove funkcije je pravi greh :), prema korisniku dakako :))
> 4) imas vremena za eksperimentisanje
Normalno, vremena nikad nema :). A i ovde bi se eksperimentisanje
svodilo na pisanje bas takvog programskog modula. Trebalo bi se
unapred recimo odluciti za oblik i velicinu fonta, zatim ga bitma
pirati, i napisati rutine za takvo ispisivanje, i kako to sigurno
nebi proradilo iz prve, testirati, ispravljati, testirati.....
Poznavanje 'u prste' sekvenci doticnog stamapca, ne treba ni pomi-
njati ('sreca' je da dokumentacija kompletna :)
Pa, sada koliko to izgleda kao 'ne preterano veliki posao'?
No ionako je ona moja prethodna poruka bila manje vise jedan
'ocajnicki pokusaj', da probam spasti, sta se spasti moze.
Po svemu sudeci, Canon ce biti vracen i zamenjen za Packarda
(550c mislim) koji navodno ima famoznu mogucnost stampanja u
Landscape formatu, kojom bi svi problemi nestali, ko rukom
odneseni... :)
Pozdrav,
Slobodan
pascal.67maksa,
>> Kad smo već kod kodova :)) interesuje me šta komunikacioni
>> program pošalje "drugoj strani", recimo Sezamu :), kada
>> pritisnem neku od strelica ili neki drugi taster koji nema
>> svoj ASCII kod?
Program detektuje extended scan code, a "drugoj strani" pošalje
šta mu ti kažeš.
pascal.68pedjak,
> Zahvaljujem na odgovoru ali on me i dalje izbacuje iz programa sa
> istom porukom..
Pa čekaj sad.. :) Da li si probaj primer koji sam ti ja dao..? On
sigurno radi, pa prilagodi svoj program prema tome.. Koju ti poruku
inače javlja program..?
pascal.69severian,
> U Repeat-Until petlji nije potrebno koristiti Begin-End. To se
> podrazumeva.
Pa sad, ja sam navikao jer mi je preglednije...
pascal.70bulaja,
│Kad smo već kod kodova :)) interesuje me šta komunikacioni program pošalje
│"drugoj strani", recimo Sezamu :), kada pritisnem neku od strelica ili neki
│drugi taster koji nema svoj ASCII kod?
└───
Zavisno od terminal emulacije, npr. u ANSI terminalu šalje ANSI sekvencu
za strelicu gore :).
pascal.71zeljkoj,
> Program detektuje extended scan code, a "drugoj strani" pošalje
> šta mu ti kažeš.
Ovo mi nije baš najjasnije. Da pokušam da drugačije formulišem pitanje:
Šta Sezam treba da primi da bi to shvatio kao strelicu na gore ili na dole?
pascal.72ikordic,
RE: Landscape štampa
=> Nije naodmet primetiti da bi procedura startovnanje programa za
=> akviziciju, koji daje neki .txt, pa izlazak iz njega, pa startovanje
=> nekog 'utility-a' i import .txt-a i samo stampanje, pa izlazak iz
=> njega, ponovni ulazak u akvizicioni.... bila sve samo ne jednostavna
Sasvim je jednostavno to sve organizovati, bilo u okviru samog programa,
bilo u vidu .BAT datoteke, pošto pomenuti Book(let) radi iz komandnog moda,
tako da opisanih problema nema.
=> Pa, sada koliko to izgleda kao 'ne preterano veliki posao'?
Pa, dan-dva posla, al' ne znam da li bi se .OBJ BC-a mogao koristiti uz BP?
U protivnom, taj Pascal program će morati da ga poziva kao eksterni kad
treba nešto printati, što, uzevši u obzir uslove rada, i nije neko
ograničenje. Nego, ... da se preselimo u susednu temu (cccc)? ;)
=> Po svemu sudeci, Canon ce biti vracen i zamenjen za Packarda
=> (550c mislim) koji navodno ima famoznu mogucnost stampanja u
Pa, odluči se više ;)
pascal.73sljubisic,
> RE: Landscape stampa
Ne, nego: User-friendly landscape stampa! :)
> Sasvim je jednostavno to sve organizovati, bilo u okviru samog programa,
> bilo u vidu .BAT datoteke, posto pomenuti Book(let) radi iz komandnog moda,
> tako da opisanih problema nema.
Hm, opet teorija i teorija. Dakako, ne odbacujem mogucnost da bi to
i funkcionisalo unutar jedne petlje u batch fajlu, no kako imam vrlo
rdjava iskustva sa svim programima koji nesto salju ili primaju sa
portova i njihove mogucnosti da se 'zaglave', ipak se ne bih previse
pouzdao u tako nesto.
Inace vec ranije je probano nesto slicno (batch i jedan program koji
podrzava landscape, mislim da ga ima ovde na Sezamu) i zaglavio je od-
mah nakon stampe. Moralo je: reset pa sve jovo nanovo..
Normalno je da svakom iole trezvenom coveku ovako nesto padne na
pamet odmah cim se problem javi, no ovako nesto se ne moze ni u
najboljoj nameri smatrati resenjem.
Da sam mislio na nesto ovako sigurno bi moje pitanje na pocetku lanca
diskusije bilo drugacije ?
> => Po svemu sudeci, Canon ce biti vracen i zamenjen za Packarda
> => (550c mislim) koji navodno ima famoznu mogucnost stampanja u
> Pa, odluci se vise ;)
Neznam odakle ti uopste i nagovestaj da sam nesto neodlucan ?
Ako jos jednom procitas prethodnu repliku videces da sam
'u ocajnickoj nadi' potrazio neko korisno resenje u ovoj temi,
u medjuvremu dok se stampaci ne zamene kod isporucioca.
Pozdrav,
Slobodan
pascal.74postmast,
From: anubis@hobbiton.CO.YU (Igor Loncarevic)
Subject: Re: pascal
Date: Sun, 22 Jan 1995 22:08:47 GMT
Predrag Knezevic (pedjak@sezam.UUCP) wrote:
: var
: a:real;
: begin
: repeat
: (*I-*)
: readln(a);
: (*I+*)
: until ioresult=0;
: end.
: Izvini, (* i *) koristim umesto viticastih zagrada zbog juskija.
Ne prima se izvinjenje:).
Da si rekao zbog module2, hajde... al vako ... :)
-+-
anubis@hobbiton.CO.YU
pascal.75zeljkoj,
> Zavisno od terminal emulacije, npr. u ANSI terminalu šalje ANSI
> sekvencu za strelicu gore :).
Ima li neko spisak svih ANSI sekvenci?
pascal.76djelovic,
> Ima li neko spisak svih ANSI sekvenci?
Ostavljan je više puta u konferenciji KOMUNIKACIJE, a bogami mislim i ovde.
pascal.77duzle,
Nisam se nikada igrao fontovima i sličnim stvarčicama, pa da pitam (možda
će neko da umre smejući se :) - jel moguće koristiti (i kako) TrueType ili
neki drugi rasprostranjeni font format iz Paskal programa ?
Ognen
pascal.78postmast,
From: anubis@hobbiton.CO.YU (Igor Loncarevic)
Subject: Re: pascal
Date: Sun, 22 Jan 1995 22:08:47 GMT
Predrag Knezevic (pedjak@sezam.UUCP) wrote:
: var
: a:real;
: begin
: repeat
: (*I-*)
: readln(a);
: (*I+*)
: until ioresult=0;
: end.
: Izvini, (* i *) koristim umesto viticastih zagrada zbog juskija.
Ne prima se izvinjenje:).
Da si rekao zbog module2, hajde... al vako ... :)
-+-
anubis@hobbiton.CO.YU
pascal.79andrejt,
Q> Ima li neko spisak svih ANSI sekvenci?
Ovo mozda nije sve ali je sigurno deo :))
ANSI.SYS and NANSI.SYS Functions - ANSI x3.64
ESC[y,xH Cursor position y,x
ESC[nA Cursor Up n lines
ESC[nB Cursor Down n lines
ESC[nC Cursor Forward n characters
ESC[nD Cursor Backward n characters
ESC[y;xf Cursor position y,x (less frequently used)
ESC[y;xR Cursor position report y,x
ESC[6n Device status report (cursor pos)(n is constant 'n')
ESC[s Save cursor position
ESC[u Restore cursor position
ESC[2J Erase display
ESC[K Erase to end of line
ESC[nL Inserts n blank lines at cursor line. (NANSI)
ESC[nM Deletes n lines including cursor line. (NANSI)
ESC[n@ Inserts n blank chars at cursor. (NANSI)
ESC[nP Deletes n chars including cursor char. (NANSI)
ESC[n;ny Output char translate (NANSI)
When first char is encountered in output request, it
is replaced with the second char. When no parameters
are given, all chars are reset.
ESC["str"p Keyboard Key Reassignment. The first char of str gives
the key to redefine; the rest of the string is the
key's new value. To specify unprintable chars, give
the ASCII value of the char outside of quotes, as a
normal parm. IBM function keys are two byte strings.
Ex: ESC[0;";dir a:";13;p
redefines F1 to have the value "dir a:" followed by CR.
If no parameters given, all keys are reset to their
default values. Single or double quotes are valid.
ESC[n;n;...nm Set Graphics Rendition is used to set attributes as
well as foreground and background colors. If multiple
parameters are used, they are executed in sequence, and
the effects are cumulative. 'n' is one of the following
attributes or colors:
0 All attributes off 5 Blink
1 Bold 7 Reverse Video
2 Dim 8 Invisible
4 Underline
Foreground colors Background colors
30 Black 40 Black
31 Red 41 Red
32 Green 42 Green
33 Yellow 43 Yellow
34 Blue 44 Blue
35 Magenta 45 Magenta
36 Cyan 46 Cyan
37 White 47 White
ESC[=nh Set mode (see screen modes for n)
ESC[=nl Reset Mode (see screen modes for n)
Screen modes are similar to those found in the IBM BIOS:
0 text 40x25 Black & White
1 text 40x25 Color
2 text 80x25 Black & White
3 text 80x25 Color
4 320x200 4 bits/pixel
5 320x200 1 bit/pixel
6 640x200 1 bit/pixel
7 cursor wrap
13 320x200 4 bits/pixel (EGA)
14 640x200 4 bits/pixel (EGA)
16 640x350 4 bits/pixel (EGA)
- for more information see ANSI document x3.64 or your DOS manual
~~~~~~~~~~
U DOS helpu imas ansi sekvence takodje (HELP ANSI.SYS).
pascal.80ognjen,
)-> Repeat
)-> čitanje;
)-> Until tačno;
Pa neće ići. Jer kad dođe do čitanja, ako se unese pogrešna
vrednost (string za integer i slično) pascal će da prijavi
Run-time error.
pascal.81ognjen,
)-> koji je asci kod za ENTER
Baksuzni. :) 13.
pascal.83vlador,
> neki drugi rasprostranjeni font format iz Paskal programa ?
Koliko ja znam, možeš samo ako praviš program za Windows.
---
■ VLADOR ■ Ne smeta mi sto imam veliki nos, vec sto se to vidi.
pascal.84zeljkoj,
> Ostavljan je više puta u konferenciji KOMUNIKACIJE, a bogami
> mislim i ovde.
Hvala.
Moraću malo da pretražim stare konferencije.
pascal.85zeljkoj,
> će neko da umre smejući se :) - jel moguće koristiti (i kako)
> TrueType ili neki drugi rasprostranjeni font format iz Paskal
> programa ?
E zavisi o kom je Pascalu reč. :)))
Microsoftovi jezici mogu da rade sa .FON fontovima, ali pošto je
verovatno reč o Borlandovom proizvodu :))) treba ti neka biblioteka.
pascal.86zeljkoj,
> Ovo mozda nije sve ali je sigurno deo :))
Hvala, ali to nije ono što mi treba. :))
Jel' to iz HELP PC-a? Imam ja HELP PC ali u njemu su samo sekvence
koje podržava ANSI.SYS (i NANSI). Isto važi i za DOS help.
pascal.87pedjak,
> Nisam se nikada igrao fontovima i sličnim stvarčicama, pa da pitam
> (možda će neko da umre smejući se :) - jel moguće koristiti (i kako)
> TrueType ili neki drugi rasprostranjeni font format iz Paskal
> programa ?
Moguće je, ako nađeš odgovarajuću biblioteku :)
pascal.88evlad,
>> Pa neće ići. Jer kad dođe do čitanja, ako se unese pogrešna
>> vrednost (string za integer i slično) pascal će da prijavi
>> Run-time error.
Zavisno od komajlerskih direktiva
$I
$V
$P
(za tp 7.0)
koje bi upotrebio u proceduri citanje.
Možemo da teramo mak na konac ;) moj odgovor je više bio logičke prirode ...
petlja se izlazom na dnu ako su parametri ok ...
pascal.89vlador,
Nekoliko korisnika je na mailu tražilo da pošaljem one funkcije o kojima
sam govorio u PC.PROG:windows. Radi se o ekvivalentima SOpen i Locking
funkcija iz Ca - funkcije za zaključavanje/otključavanje slogova i za
otvaranje fajlova sa različitim zabranama. Koriste se u izradi programa
koji će raditi pod mrežom. Evo ih prikačenih uz poruku.
---
■ VLADOR ■ Zaustavite zemlju, silazim.
fshare.zippascal.90kriss,
˙˙ ESC[n;n;...nm Set Graphics Rendition is used to set
˙˙ 0 All attributes off 5 Blink
Super, i kad mu ja kažem:
ESC[5m
i on počne da blinkuje, nema te sile koje će efekat isključiti
(ili ja za tu silu ne znam pa pitam da li neko zna)
Probao sam sve one parametre iz tabele, međutim jock.
pascal.91zeljkoj,
Hej, ljudi :)))
Pretražio sam sve KOMUNIKACIJE i PC.PROG konferencije ali tražene ANSI
sekvence nisam našao (našao sam samo neke VT102).
pascal.92andrejt,
Q> Pretrazio sam sve KOMUNIKACIJE i PC.PROG konferencije ali trazene ANSI
Q> sekvence nisam nasao (nasao sam samo neke VT102).
Pa koje ti trebaju ? Za sta ?
pascal.93andrejt,
Q> ˙˙ 0 All attributes off 5 Blink
Q> Probao sam sve one parametre iz tabele, medutim jock.
A 0 ? :)
pascal.94vgenije,
> sigurno radi, pa prilagodi svoj program prema tome.. Koju ti
> poruku inace javlja program..?
Tvoj program je isto izbacivao na onom mestu readln(a) kao u stilu nije
dobar odgovor zbog formata...
Od druga sam uzeo ovaj primer i on radi mada logicki gledano trebao je i
tvoj:
uses dos,crt;
var a:integer;
s:string
begin
repeat
readln(a);
str(a,b);
until ioresult=0;
end.
Iako progamiram oko 2 godine,moram priznati da su mi mnoge stvari
promakle..Valjda zbog toga sto sam sve ucio iz literature i
pascalske probleme resavao peske a ne pravim putem.
pozdrav
pascal.95zeljkoj,
> Pa koje ti trebaju ? Za sta ?
Ne čitaš pažljivo poruke :((.
Trebaju mi ANSI sekvence raznih "specijalnih" tastera (strelica i sl.),
znači ono što ANSI terminal šalje kada pritisnem te tastere.
pascal.96zeljkoj,
Obaveštavam vas da sam pronašao rešenje problema sa onim ANSI sekvencama.
Uz pomoć programa MONITOR iz Procomma za Windows moguće je posmatrati kodove
svih karaktera koji se primaju ili idu na com port. Jednostavno u terminalu
pritiskam strelice (ili ostale tastere) a u monitorovom prozoru se vide
njihovi kodovi, odnosno ASNI sekvence.
pascal.97postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: pascal
Date: Sun, 22 Jan 1995 21:30:00
To: "Vlada Biskupljanin" <vgenije@sezam.UUCP>
>Kako da izbegnem da me ne izbacuje iz programa ako na pitanje
>za neku varijablu tipa real korisnik ogovori sa nekim slovom?
Moraces da napises svoju funkciju koja zamenjuje ReadLN. Evo ti jedna
koju ja koristim za prirucno. Mozes da ogranicis broj cifara, a ako
pritisnes enter a ne uneses nista, podrazumeva se kao da si uneo nulu.
Pozdrav,
Broker
(***********************************************************************)
(***********************************************************************)
Function NReadLn (len : byte) : Integer;
{ potprogram za unosenje numericke vrednosti
ima istu funkciju kao ReadLn (prom) ako je prom tipa Integer
samo sto obezbedjuje kontrolu unosa
len - broj dozvoljenih cifara
}
var
tempstr : string;
tempnr, code, F : integer;
tempchr : char;
templen : Byte;
Kraj : Boolean;
begin
tempstr := ''; { na pocetku nema otkucanog teksta }
Kraj := False; { u petlji ostajemo dok ne zatreba izl
Repeat
templen := Length (tempstr);
If Keypressed then begin { sacekaj pritisak tastera }
tempchr := ReadKey;
Case tempchr of
{cifre} '0'..'9' : begin { cifre su dozvoljene }
tempstr := tempstr + tempchr;
Write (tempchr);
end;
{BckSpc} #8 : begin { BackSpace - obrisi poslednju cifru }
tempstr := Copy (tempstr, 1, templen-1);
if templen-1 > -1 then Write (#8+' '+#8);
end;
{Enter} #13 : Kraj := True; { Enter - kraj unosa }
end; { case }
end; { if }
until kraj;
{ izracunaj numericku vrednost unetu kao string }
Val ('0'+ Copy (tempstr,1,len), tempnr, code);
{ obrisi ispisane karaktere i ispisi izracunatu vrednost }
For F := 1 to Length (tempstr) do Write (#8,' ',#8);
WriteLn (tempnr);
NReadln := tempnr;
end; { function NReadLn}
(***********************************************************************)
(***********************************************************************)
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.98postmast,
From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic)
Subject: ansi sekvence
Date: Tue, 24 Jan 95 22:13:28 GMT
In article <sezam$pascal zeljkoj@sezam.UUCP writes:
>
>> Zavisno od terminal emulacije, npr. u ANSI terminalu salje ANSI
>> sekvencu za strelicu gore :).
>
>Ima li neko spisak svih ANSI sekvenci?
>
Evo ti nesto sto je meni pomoglo:
-< ANSI/VT100/102 i VT52 ESC sekvence>-
ANSI/VT102/VT100 Mode
Set Mode
'ESC'[2h Keyboard locked
'ESC'[4h Insert mode
'ESC'[12h Local echo off
'ESC'[20h New line mode on
'ESC'[?1h Cursor key application mode
'ESC'[?3h *RI 132 column mode
'ESC'[?4h Smooth scrolling
'ESC'[?5h Screen reverse
'ESC'[?6h Origin mode relative
'ESC'[?7h Auto wrap on
'ESC'[?8h * Auto repeat on
'ESC'[?9h * Interlace on
'ESC'[?18h Print form feed on
'ESC'[?19h Print extent full screen
'ESC'[2l Keyboard unlocked
'ESC'[4l Replace mode
'ESC'[12l Local echo on
'ESC'[20l New line mode off
'ESC'[?1l Cursor key cursor mode
'ESC'[?2l *NI VT52 mode
'ESC'[?3l 80 column mode
'ESC'[?4l Jump scrolling
'ESC'[?5l Screen normal
'ESC'[?6l Origin mode absolute
'ESC'[?7l Auto wrap off
'ESC'[?8l * Auto repeat off
'ESC'[?9l * Interlace off
'ESC'[?18l Print form feed on
'ESC'[?19l Print extent scrolling region
Select Character Sets
G0 G1
'ESC'(A 'ESC')A UK
'ESC'(B 'ESC')B USASCII
'ESC'(0 'ESC')0 Special graphics (line drawing)
'ESC'(1 'ESC')1 *NI Alt char ROM
'ESC'(2 'ESC')2 *NI Alt char ROM
Shift into Character Sets
'ESC'N Single shift into G1
'ESC'O Single shift into G0
'SO' Locked shift G1
'SI' Locked shift G0
Character Attributes
'ESC'[m No attributes
'ESC'[0m No attributes
'ESC'[1m Bold
'ESC'[4m Underline
'ESC'[5m Blink (Light)
'ESC'[7m Reverse
Scrolling Region
'ESC'['Pt';'Pb'r Set scrolling region
Cursor Movement Commands
'ESC'['Pn'A Cursor up
'ESC'['Pn'B Cursor down
'ESC'['Pn'C Cursor right
'ESC'['Pn'D Cursor left
'ESC'['Pl';'Pc'H Cursor position
'ESC'['Pl';'Pc'f
'ESC'D Index
'ESC'M Reverse Index
'ESC'E Next line
'ESC'7 Save cursor
'ESC'8 Restore cursor
Tab Stops
'ESC'H Horizontal tab set
'ESC'[g Tab clear
'ESC'[0g Tab clear
'ESC'[3g Clear all tabs
Line Attributes
'ESC'#3 *RI Double-height top half
'ESC'#4 *RI Double-height bottom half
'ESC'#5 Single-width single-height
'ESC'#6 *RI Double-width single-height
Erasing
In Line
'ESC'[K Cursor to end of line
'ESC'[0K
'ESC'[1K Beginning of line to cursor
'ESC'[2K Entire line
In Screen
'ESC'[J Cursor to end of screen
'ESC'[0J
'ESC'[1J Beginning of screen to cursor
'ESC'[2J Entire screen
Requests/Reports
Requests from host Reports to host
'ESC'[5n Status 'ESC'[0n Terminal OK
'ESC'[3n * Terminal not OK
'ESC'[6n Cursor position 'ESC'['Pl';'Pc'R Cursor position Pl,Pc
'ESC'[c What are you? 'ESC'[?1;'Ps'c VT100, Ps options
'ESC'[0c 'ESC'[?6;'Ps'c VT102, Ps options
'ESC'Z
'ESC'[?15n Printer status 'ESC'[?10n Printer ready
'ESC'[?11n Printer not ready
'ESC'[?13n No printer
'ESC'[0x Terminal Parameter
Request, send on
exit of setup
'ESC'[1x send only on
request
Reset
'ESC'c Reset to default values
Tests
'ESC'#8 Fill screen with E's
'ESC'[2;'Ps'y * Invoke tests
Keyboard LED's
'ESC'[0q All off
'ESC'['Ps'q LED 'Ps' on
VT52 Mode
'ESC'< Enter ANSI Mode
'ESC'= *NI Enter alternate keypad mode
'ESC'> *NI Exit alternate keypad mode
'ESC'F *NI Select special graphics character set
'ESC'G *NI Select US/UK character set
'ESC'A *NI Cursor up
'ESC'B *NI Cursor down
'ESC'C *NI Cursor right
'ESC'D *NI Cursor left
'ESC'H *NI Cursor home
'ESC'Y'Pl''Pc' *NI Direct cursor address
'ESC'I *NI Reverse line feed
'ESC'K *NI Erase to end of line
'ESC'J *NI Erase to end of screen
'ESC'Z *NI What are you?
'ESC'/Z *NI I am a VT52 (Response)
'ESC'^ *NI Enter auto print mode
'ESC'- *NI Exit auto print mode
'ESC'W *NI Enter printer controller mode
'ESC'X *NI Exit printer controller mode
'ESC'] *NI Print screen
'ESC'V *NI Print cursor line
Editing Functions
'ESC'['Pn'P Delete character
'ESC'['Pn'L Insert Line
'ESC'['Pn'M Delete Line
Print Commands
'ESC'[?5i Enter auto print
'ESC'[?4i Exit auto print
'ESC'[5i Enter printer controller
'ESC'[4i Exit printer controller
'ESC'[i Print screen
'ESC'[0i
'ESC'[?1i Print cursor line
Pozdrav!
--
-----------------------------------------------------------------------
Nenad Radosavljevic E-mail: ...nenadr@sunset.fon.bg.ac.yu
...nenadr@durlan.gtc25.gtc.net ...durlan!rnenad@ban.junis.ni.ac.yu
-----------------------------------------------------------------------
[ Dva najcesca elementa u univerzumu: Vodonik i Idiotizam! ]
pascal.99postmast,
From: Jovan.Sedlan@f119.n111.z38.setgate.setnet.co.yu (Jovan Sedlan)
Subject: pomoc (chr)
Date: Fri, 20 Jan 1995 05:52:04
-=> Quoting Stevan Dejanovic to All <=-
SD> Da li neko moze da mi da savet kako da ubacim svoje
SD> fontove u svoj program. BTW radim u Pascalu 6.0
Zdravo. Ako ti treba pomoc, javi se ponovo, ali malo preciznije: o kakvim
fontovima se radi, da li radis u grafickom ili text modu, itd...
Jole :Q...
... Ljudi su uplaseni jer se boje.
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.100postmast,
From: Jovan.Sedlan@f119.n111.z38.setgate.setnet.co.yu (Jovan Sedlan)
Subject: pascal
Date: Sun, 22 Jan 1995 22:15:16
-=> Quoting "Vlada Biskupljanin" to All <=-
"B> Kako da izbegnem da me ne izbacuje iz programa ako na pitanje za neku
"B> varijablu tipa real korisnik ogovori sa nekim slovom?
E, za tako nesto moraces da napises (ili iskoristis neku vec postojecu
biblioteku) funkciju, npr. "InputReal" koja ucitava string i proverava
da li su svi znaci u opsegu 0-9, odnosno da li su u skupu
['-', '+', '.', '0'..'9']. Nakon te provere, ako je sve u redu, treba
ucitani string prebaciti u Real tip.
To je, otprilike, sve. Ako imas problema sa implementacijom, javi se.
Jole :Q...
... Mora se ponoviti Kosovski boj, Turci su bili dopingovani.
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.101postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: kbd. buffer
Date: Mon, 23 Jan 1995 10:19:00
>Bez panike... Nije rec o virusu nego o komunikacionom
>programu. Taj interapt bi sa COM porta skidao karaktere ali
>problem je dati programu.
Ne bih ti preporucivao da ovako radis. Napravi posebnu funkciju koja cita
COM port i posebnu koja cita tastaturu. Onda napravi funkciju koja
poziva ove dve i vraca ti kod pritisnutog tastera bez obzira odakle je
stigao.
Vrlo brzo ce ti u programu zatrebati da ipak znas da li je kod tastera
dosao sa COM porta ili sa tastature, pa ako uradis kako si naumio neces
to moci da regulises.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.102postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setgate.setnet.co.yu (Arpadffy Zoltan)
Subject: kbd. buffer
Date: Tue, 17 Jan 1995 12:01:50
hi :-)
Imam jedan problem. Ima li neko resenje...
Potrebno je da nekom programu podturim (nekim interaptom )
neke karaktere tako da taj program detektuje kao da je
stiglo sa tastature, stim da mi tastatura i nadalje bude
pristupna.
Bez panike... Nije rec o virusu nego o komunikacionom
programu. Taj interapt bi sa COM porta skidao karaktere ali
problem je dati programu.
Napominjem nemam puno iskustva sa interaptima, ovo je doslo
silom prilike.
cu Zoli
... Sorry, the Dog ate my Blue Wave packet.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.103postmast,
From: Amir.Zolic@f115.n103.z38.setgate.setnet.co.yu (Amir Zolic)
Subject: pascal
Date: Mon, 23 Jan 1995 00:01:03
-=> Quoting "Vlada Biskupljanin" to All <=-
"B> From: "Vlada Biskupljanin" <vgenije@sezam.UUCP>
"B> Newsgroups: yu.prog.pascal
"B> Organization: SEZAM Beograd, 011 648-422
"B> Kako da izbegnem da me ne izbacuje iz programa ako na pitanje za neku
"B> varijablu tipa real korisnik ogovori sa nekim slovom?
"B> Ocu da kazem kako da ga vratim na to isto pitanje ako je pogresio sa
"B> numerickim formatom?
"B> pozdrav
Ovako nesto bi trebalo da radi.
var r : real;
error : integer;
begin
{ ... }
repeat
{$I-}
readln(r);
{$I+}
error := IOResult
if (error <> 0) then WriteLn('Pogresan unos. Unesite ponovi...');
until (error = 0)
{ ... }
end.
Za vise podataka pogledaj help za {$I} direktivu i funkciju IOResult.
Pozdrav
Amir
* Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.104pedjak,
> Potrebno je da nekom programu podturim (nekim interaptom )
> neke karaktere tako da taj program detektuje kao da je
> stiglo sa tastature, stim da mi tastatura i nadalje bude
> pristupna.
AH = 05h
CH = scan code
CL = ASCII character
INT 16h
Return: AL = 0 success
AL = 1 buffer full
Samo pazi: neki jako stari BIOS-i ne podržavaju ovu stvar. Tek sa
pojavom proširenih tastatura, javlja se i ovaj poziv.
pascal.105janko,
pedjak:
> var
> a:real;
> begin
> repeat
> (*I-*)
> readln(a);
> (*I+*)
> until ioresult=0;
> end.
>
vgenije:
>> sigurno radi, pa prilagodi svoj program prema tome.. Koju
>> ti poruku inace javlja program..?
>
> Tvoj program je isto izbacivao na onom mestu readln(a) kao
> u stilu nije dobar odgovor zbog formata...
> Od druga sam uzeo ovaj primer i on radi mada logicki
> gledano trebao je i tvoj:
> uses dos,crt;
> var a:integer;
> s:string
> begin
> repeat
> readln(a);
> str(a,b);
> until ioresult=0;
> end.
Prvi program javlja grešku kada se ukuca alfanumerik jer umesto (*I-*) i
(*I+*) treba da stoji (*$I-*) i (*$I+*) Drugi program bi takođe trebalo
da javlja istu grešku iz istih razloga, osim ako nisi u međuvremenu
promenio podešavanja na Compiler Options meniju. Takođe, drugi program
besmisleno troši string s, zatim, b nije nigde deklarisano, testiranje
na ioresult nema smisla ako je I opcija ugašena i sl. Međutim, moguće je
prvo učitavati u string a zatim ga konvertovati sa val, pa da se ne
izaziva ran tajm greška, ali program izgleda malo drugačije. Sve u
svemu, imaš još puno puno puno toga da učiš...
pascal.106zeljkoj,
> Evo ti nesto sto je meni pomoglo:
Hvala.
pascal.107mmitrovic,
Ů█▀█Ţ Function NReadLn (len : byte) : Integer;
...
Ů█▀█Ţ end; š function NReadLnć
Oh my god! :)
Kako te nije mrzelo da pišeš tu funkciju kad $I- i IOResult rešavaju
stvar. Osim toga ova funkcija neće raditi ako se uradi redirekcija pri
startovanju programa jer koristi CRT modul.
pascal.108inikolic,
Vidim da se ovde razvila poprilicna polemika o ANSI-ju i sta modem salje. Ja
imam drugo pitanje . Sta modem salje kada je u pitanju ACSII. Konkretno me
zanima kako da se pomeri za red gore, kako da se kursor pozicionira u gornji
levi ugao, kako da se izbrise ekran. Dolaze u obzir i sve ostale sekvence.
Znaci cist ASCII, nema ANSI.
Ivan
pascal.109postmast,
From: Aleksandar.Nikov@f131.n108.z38.setgate.setnet.co.yu (Aleksandar Nikov)
Subject: pascal
Date: Tue, 24 Jan 1995 09:28:00
-=> Quoting "Zeljko Jovanovic" to All <=-
"J> Kad smo vec kod kodova :)) interesuje me sta komunikacioni program
"J> posalje "drugoj strani", recimo Sezamu :), kada pritisnem neku od
"J> strelica ili neki drugi taster koji nema svoj ASCII kod?
U ASCII -ju mislim da ne salje nista. A u ANSI salje kombinaciju
kodova. Pr. za levu strelicu salje ESC [ A.
ĆĆ Anikov žž
... Taglines are irrelevant. You will be assimilated into the VEGA BBS
* Origin: SetNet * VEGA BBS * Skopje * +389-91-225-280 (38:108/131)
pascal.110postmast,
From: Aleksandar.Nikov@f131.n108.z38.setgate.setnet.co.yu (Aleksandar Nikov)
Subject: pomoc (chr)
Date: Tue, 24 Jan 1995 10:12:00
* Vo porakata za All, Stevan Dejanovic reche:
> Da li neko moze da mi da savet kako da ubacim svoje
> fontove u svoj program
> BTW radim u Pascalu 6.0
uses Graph,Crt;
var
Driver, Mode : Integer;
TestFont : Integer;
c : char;
begin
TestFont := InstallUserFont('triplex.chr');
if GraphResult <> grOk then
begin
WriteLn('Greska u instaliranju');
ReadLn;
end;
Driver := Detect;
Mode := 0;
InitGraph(Driver, Mode, 'egavga.bgi');
if GraphResult <> grOk then Halt(1);
SetTextStyle(Testfont, HorizDir, 9);
OutTextxy(100,100,'Novi font');
c:=Readkey;
Closegraph;
end.
ĆĆ Anikov žž
... Read messages, not taglines.
* Origin: SetNet * VEGA BBS * Skopje * +389-91-225-280 (38:108/131)
pascal.111vitez.koja,
#=> ps Nažalost (po sve nas koji "trpimo" YUSCII) C to
#=> nema, inače bi bilo manje
Ima :) janko je slao detalje, čini mi se čak i jedan program u
tom fazonu.
pascal.112postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Real2Int
Date: Mon, 23 Jan 1995 03:28:44
Hail to you, oh great Predrag of the house Supurovic !
>rekoh,nemam volje.Moje potrebe zadovoljava.BTW,kakve provere da uvodim?
>(cisto da znam ako pravim nesto ozbiljnije)
PS> Kad god nesto pravis, prvi do kraja. Tako ces steci naviku.
Pokusavam,ali ovakve stvari pravim samo dok mi trebaju. ;)
PS> Mislio sam na provere da li je unesena vrednost u dozvoljenom opsegu i
PS> slicno...
Aha,pa sto ne kazes odma ;)
Znas kako,ovaj put me MRZELO ;)
Naime,kad unosis neku hex vrednost,on moze da istrpi cetiri-pet-sest,ne
secam se koliko cifara,a blesavo mi je da ogranicavam binarni broj na
isto toliko cifara,a da pisem rutinu za proveru velicine broja u odnosu na
sistem u kojem je,to me je jaaaaako mrzelo ;) pa sam taj deo izostavio.
I uglavnom,sve sto fali je zbog moje lenjosti ;))))
PhuZZY L0GiK
... He who has a shady past knows that nice guys finish last.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.113postmast,
From: Varga.Mihály@f111.n111.z38.setgate.setnet.co.yu (Varga Mihály)
Subject: Re: pascal
Date: Mon, 23 Jan 1995 06:30:01
"B> Kako da izbegnem da me ne izbacuje iz programa ako na pitanje za neku
"B> varijablu tipa real korisnik ogovori sa nekim slovom?
"B> Ocu da kazem kako da ga vratim na to isto pitanje ako je pogresio sa
"B> numerickim formatom?
"B> pozdrav
"B>
Probaj sa:
{$I-} {iskljucis proveru I/O}
repeat
{ a ovde lepo ispitas da lije ispravno uneto ono sto ves treba da se unese}
{ koristi whereXY pa mu javi da je pogresno unet podatak i onda ga vratis}
{ lepo na zapamceno mesto }
until IOresult=0
{$I+} {vratis nazad I/O proveru}
Mishi.
PS: Ako ti ovo nije dovoljno javi, posto je sad jutro 6:30 i zurim na
posao. A i 'skocice' Ti u pomoc mislim i ostali.
* Origin: {SETNET} TĺKţDĺ Inc. BBS 64-572 Zrenjanin (38:111/111)
pascal.114postmast,
From: Stevan.Dejanovic@f119.n111.z38.setgate.setnet.co.yu (Stevan Dejanovic)
Subject: pomoc (chr)
Date: Mon, 23 Jan 1995 12:00:06
JS>
JS> Zdravo. Ako ti treba pomoc, javi se ponovo, ali malo preciznije: o
JS> kakvim fontovima se radi, da li radis u grafickom ili text modu, itd...
JS>
JS> Jole :Q...
JS>
Radim u grafickom modu i za pravljenje fontova koristio sam font editor
(samo za chr fontove i za paskal) neznam kako da navedem u programu koje
fontove treba da cita.
=> Mad Dog <=
... SENILE.COM found . . . Out Of Memory . . .
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.115postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: pascal
Date: Sun, 29 Jan 1995 02:21:49
-=> Reply to: "Kristijan Lazic" <=-
"L> Probao sam sve one parametre iz tabele, medutim jock.
ESC[0m
Radi provereno ;-)
-=> MM <=-
... Hapiness is... CONNECT 19600/ARQ/HST/HST/V42BIS
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
pascal.116niklaus,
Subject: Re: '(*' '*)' menjaju 'š' 'ć' u paskalu. A u Cu?
(:> #=> ps Nažalost (po sve nas koji "trpimo" YUSCII) C to
(:> #=> nema, inače bi bilo manje
(:>
(:> Ima :) janko je slao detalje, čini mi se čak i jedan program u
(:> tom fazonu.
Ako može, daj da izvšimo jezičku reformu i - svi pređemo na YUSCII. (:
(: Sean :)
ps Nemojte po glavi! (:
pascal.117postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: pascal
Date: Sat, 28 Jan 1995 15:14:00
>From: "Zeljko Jovanovic" <zeljkoj@sezam.UUCP>
>Uz pomoc programa MONITOR iz Procomma za Windows moguce je
>posmatrati kodove svih karaktera koji se primaju ili idu na com port.
Radi li to pod DOS-om? Ja imam potrebu da utvrdim koje kodove jedan DOS
program salje modemu...
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.118zeljkoj,
> Radi li to pod DOS-om? Ja imam potrebu da utvrdim koje kodove
> jedan DOS program salje modemu...
Ne, MONITOR je deo Procomma za Windows.
pascal.119matan,
Kakvi su to ogromni .$$$ fajlovi koji mi se javljaju po TP
direktorijumima?
pascal.120andrejt,
Q> Kakvi su to ogromni .$$$ fajlovi koji mi se javljaju po TP
Q> direktorijumima?
TP-ovi temp fajlovi. Mozes slobodno da ih obrises. Meni to ostavi
kad resetujem komp. usred TP-a.
pascal.121zeljkoj,
> Kakvi su to ogromni .$$$ fajlovi koji mi se javljaju po TP
To su neki temp fajlovi koje možeš da obrišeš.
Najverovatnije si na neregularan način prekinuo rad TP-a (reset ili sl.)
pascal.122inikolic,
Zar je moguce da nema nikoga da mi odgovori na temu ASCII-a u modemskoj
komunikaciji. Ponovicu jos jednom, jer se mozda prva poruka provukla negde.
Pitanje je kako da se u ASCII-u preko modema generise pomeranje kursora po
ekranu, da se kursor pozicionira na odredjeni deo ekrana, da se obrise ekran...
i sve druge sekvence koje mogu doci u obzir.
IVAN
pascal.123kum.zoki,
You --> Kakvi su to ogromni .$$$ fajlovi koji mi se javljaju po
You --> TP direktorijumima?
Slobodno ih obrisi !!!
pascal.124vlador,
> Kakvi su to ogromni .$$$ fajlovi koji mi se javljaju po TP
> direktorijumima?
Briši! :) To su privremeni fajlovi koji ostaju ako neregularno izađeš iz
TPa (restrikcija, reset).
---
■ VLADOR ■ Sine, ne otvaraj prozor! Baka ce da odleti!
pascal.125dcolak,
│ Zar je moguce da nema nikoga da mi odgovori na temu ASCII-a u modemskoj
│ komunikaciji. Ponovicu jos jednom, jer se mozda prva poruka provukla negde.
│ Pitanje je kako da se u ASCII-u preko modema generise pomeranje kursora po
│ ekranu, da se kursor pozicionira na odredjeni deo ekrana, da se obrise
│ ekran... i sve druge sekvence koje mogu doci u obzir.
Preko ASCII nikako. Kraj priče ;)
Sledge DAMMIR!
pascal.126vitez.koja,
#=> Pitanje je kako da se u ASCII-u preko modema generise
#=> pomeranje kursora po ekranu, da se kursor pozicionira na
#=> odredjeni deo ekrana, da se obrise ekran...
Možeš da pomeriš kursor ulevo (backspace, ASCII 8), i eventualno
da orbišeš ekran (form feed, ASCII 12). Takođe možeš da pomeriš
kursor na početak reda (carriage return, ASCII 13) i u sledeći
red (line feed, ASCII 10). To je sve što može da se uradi sa
ASCIIjem.
pascal.127janko,
>│ Zar je moguce da nema nikoga da mi odgovori na temu
>│ ASCII-a u modemskoj komunikaciji. Ponovicu jos jednom,
>│ jer se mozda prva poruka provukla negde. Pitanje je kako
>│ da se u ASCII-u preko modema generise pomeranje kursora
>│ po ekranu, da se kursor pozicionira na odredjeni deo
>│ ekrana, da se obrise ekran... i sve druge sekvence koje
> mogu doci u obzir.
>
> Preko ASCII nikako. Kraj priče ;)
Daleko od toga "nikako." Ne širi dezinformacije. Vidi drugu poruku.
pascal.128janko,
> Zar je moguce da nema nikoga da mi odgovori na temu
> ASCII-a u modemskoj komunikaciji. Ponovicu jos jednom, jer
> se mozda prva poruka provukla negde. Pitanje je kako da se
> u ASCII-u preko modema generise pomeranje kursora po
> ekranu, da se kursor pozicionira na odredjeni deo ekrana,
> da se obrise ekran... i sve druge sekvence koje mogu doci
> u obzir.
Pomoću čistog ASCII-ja se stvarno može štošta uraditi, čak, mogu se
napraviti "animirane" sekvence. Sezam, recimo, filtrira i ovakve
sekvence, inače bi recimo, korisnik u rezimeu mogao imati npr. "vozić"
koji se preveze sa kraja na kraj ekrana, pred očima čitača rezima, čak i
bez ANSI drajvera. Vrlo korisno, naravno. ;>>
ASCII kodovi 0-31 i 127 su tzv. "kontrolni karakteri." Dizajnirani još u
vreme kada se za konzole koristio teleprinter, nisu zamišlejni tako da
daju sve pogodnosti jednog, recimo, ekranskog editovanja, ali mnogo toga
mogu da urade, u zavisnosti od toga koliko ih određeni sistem podržava
(jer razni proizvođači su do različite mere podržavali ove kontrolne
znake).
Najbitniji znaci (decimalno) su:
8 - Backspace
9 - Tab
10 - Line Feed
12 - Form Feed
13 - Carriage Return
Na sistemima koji podržavaju ove znake, mogu se uraditi razni "efekti."
Komunikacioni programi obično, u no-ansi emulacijama, ako imitiraju
"prazan PC" interpretiraju ove znake ovako:
8 - Pomeranje kurzora jedno mesto nazad (*)
9 - Ispisivanje određenog broja razmaka, tako da se kurzor
pozicionira na sledeću "tab stanicu."
10 - Pomeranje kurzora jedan red niže, bez pomeranja na početak (**)
12 - Brisanje ekrana (ili, samo, pozicioniranje na (0,0)) (***)
13 - Pomeranje kurzora na početak istog reda (****)
Zvezdice znače da se ova ponašanja kod određenih programa mogu
konfigurisati jer se svi sistemi ne pridržavaju ASCII specifikacije.
PC se pridržava.
Evo i primera jedne "animacije", napisanog na Turbo Pascalu. Ako ovo
neko u današnje vreme 3d-rej-trejs-renderinga-na-kućnim-igračkama smatra
ozbiljnom temom, neka mu je sa srećom. :))
-------------
(*
primer plain ASCII "animacije" Janko 1995.
*)
uses crt;
(* primer sekvence za animaciju koja koristi PLAIN ASCII *)
const niz : string =
'oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#' +
#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8 +
' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#'#8#8#8' oo#' +
#8#8#8' oo#'#8#8#8' oo#'#8#8#8' '#10#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8 +
'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '#8#8#8#8#8'#oo '
;
var i : integer;
begin
clrscr;
writeln('Pritisni neko dugme za početak');
i:=ord(readkey);
for i:=1 to length( niz ) do (* najobičnija petlja *)
begin
delay( 400 ); (* da bi se animacija videla,
znaci moraju da sporo pristižu *)
write( niz(. i .) ); (* jedan znak u svakom prolazu *)
end;
end.
pascal.129postmast,
From: glisin@galaxy.fon.bg.ac.yu (Ivan Glisin)
Subject: Re: pascal
Date: Sat, 4 Feb 1995 18:59:25 GMT
"Igor Nikolic" <inikolic@sezam.UUCP>:
>> Zar je moguce da nema nikoga da mi odgovori na temu ASCII-a u modemskoj
Pa zar ne bese ovde ostavljen spisak ANSI i VT100 sekvenci? To ti resava
problem oko upravljanja terminalom preko modema, naravno ako sa druge strane
ceka ANSI ili VT100 (ili jaci) terminal. To su obicne ESC sekvence koje se
samo prinuju na odredisni terminal i to je sve.
________________________________________
Ivan Glisin (glisin@galaxy.fon.bg.ac.yu)
pascal.130kenza,
Hi!
Imali neko f-je za pustanje audio cd-ova na cd rom-u?
Onih par najjednostavnijih.
Poz,
Kenza
pascal.131dcolak,
│ Daleko od toga "nikako." Ne širi dezinformacije. Vidi drugu poruku.
Kako da pozicioniraš kursor na 0,0 ? Print i šta?
Sledge DAMMIR!
pascal.132inikolic,
Zahvaljujem na pomoci oko ASCII-a . Samo ima jos jedna ideja. brisanje ekrana
moze da se ostvari i skrolovanjem ekrana tako sto se posalje 25 puta #10
IVAN
pascal.133janko,
> Kako da pozicioniraš kursor na 0,0 ? Print i šta?
write(#12)
To sam već bio napisao, ne paziš na času, sedi, jedan. ;>
pascal.134dcolak,
│> Kako da pozicioniraš kursor na 0,0 ? Print i šta?
│
│ write(#12)
│
│ To sam već bio napisao, ne paziš na času, sedi, jedan. ;>
Profesore, da li si ti to proverio. Nešto mi se čini da ne radi...
Sledge DAMMIR!
pascal.135andrejt,
Iz teme BASIC poruka 5.46.
Q> Izasao sam iz stosa, pretpostavljam da bi trebalo samo:
Q> const imena=('Mile','Pera','Laza');
Ovo nije moguce u TP-u. Ono sto je moguce je ono sto si napisao
a to je array sa predefinisanom (al' sam se izrazio :)) vrednoscu.
Cini mi se da je ovde bila neka rasprava o ovome prosle godine.
pascal.136inikolic,
Da li je moguce, i kako da se OBJ ulinkuje u PASCAL. Ali sta je fora: na primer
u ASM-u se napravi ceo program i napravi se OBJ i onda da se taj program uvuce
u PASCAL, znaci kao da se pozove taj program u PASCAL-u, stim sto bi trebao da
on bude uvucen u PASCAL program. Znaci da se program startuje iz PASCAL-a i da
bude u njemu.
IVAN
pascal.137inikolic,
kako da se u ASCII-u kursor pozicionira na koordinate 0,0, u pitanju je
modemska komunikacija.
IVAN
pascal.138vitez.koja,
#=> Profesore, da li si ti to proverio. Nešto mi se čini da
#=> ne radi...
Radi, radi. Ali samo ponegde ;)))
Sezam na CLS reaguje slanjem ASCII 12. Ako ti radi prozvana
komanda, onda funkcioniše.
Naravno, ANSI drajver za PC konzolu ne priznaje ovakve arhaizme :)
pascal.139vitez.koja,
#=> kako da se u ASCII-u kursor pozicionira na koordinate
#=> 0,0, u pitanju je modemska komunikacija.
Ama, ti uopšte ne slušaš šta se priča :(
Ako hoćeš da pozicioniraš kursor (ASCII kursor??) na 0,0 I PRITOM
OBRIŠEŠ EKRAN, pošalješ ASCII 12. Ako nećeš da brišeš ekran, a
nalaziš se u prvoj (odnosno, nultoj) koloni ekrana, pošalješ
ASCII 13. Ako nećeš da brišeš ekran, a ne nalaziš se u prvoj
koloni ekrana, ne možeš da uradiš šta si naumio.
pascal.140dejanr,
>> Da li je moguce, i kako da se OBJ ulinkuje u PASCAL.
Moguće je, koristi se opcija {$Limefajla}. Međutim, mora se dodati i
malo "paskalskih" deklaracija funkcije. Ovo sam dosta davno radio pa
se baš mnogo ne sećam kako se prenose argumenti itd, ali se svakako
sećam da se može uraditi i da u dokumentaciji ima primer :)
pascal.141inesic,
> Q> const imena=('Mile','Pera','Laza');
>
> Ovo nije moguce u TP-u. Ono sto je moguce je ono sto si napisao
> a to je array sa predefinisanom (al' sam se izrazio :))
> vrednoscu. Cini mi se da je ovde bila neka rasprava o ovome
> prosle godine.
Ovo se piše kao
const imena:array[3] of string[4]=('Mile','Pera','Laza');
pascal.142vlador,
> on bude uvucen u PASCAL program. Znaci da se program startuje iz PASCAL-a i
> da bude u njemu.
Ajde pročitaj šta si napisao pa pokušaj to reći u dve rečenice. :) Ovako je
teško zaključiti šta si _tačno_ tražio.
---
■ VLADOR ■ :) :)) :))) Ko se zadnji smeje, najsladje se smeje!
pascal.143mibak,
> Da li je moguce, i kako da se OBJ ulinkuje u PASCAL. Ali sta je
Isto sam hteo da pitam mudre glave. Koristim MASM61 i prevodim uz direktivu
.pascal ali Turbo Paskal mi javlja invalid format OBJ?
pascal.144pedjak,
> Da li je moguce, i kako da se OBJ ulinkuje u PASCAL. Ali sta je
> fora: na primer u ASM-u se napravi ceo program i napravi se OBJ i
> onda da se taj program uvuce u PASCAL, znaci kao da se pozove taj
> program u PASCAL-u, stim sto bi trebao da on bude uvucen u PASCAL
> program. Znaci da se program startuje iz PASCAL-a i da bude u njemu.
Može. Potrebno je samo taj tvoj program prevesti u modelu tpascal i
pri tome ulaznu proceduru u program označiti kao public. Zatim na
početku paskal programa kažeš
(*$L ImeOBJfajla*)
procedure ImeUlazneProcedure;external;far;
i to je to.
pascal.145andrejt,
Q> Ovo se pise kao
Q> const imena:array[3] of string[4]=('Mile','Pera','Laza');
Ma Ok. :) Ali to nije ono sto je on hteo (pogledaj na sta sam odgovarao).
On je hteo konstantu a ne ovo sto si ti napisao i sto nije konstanta jer
moze da se menja.
pascal.146kriss,
˙˙ (*$L ImeOBJfajla*)
˙˙ procedure ImeUlazneProcedure;external;far;
Ja svojevremeno nisam dodavao FAR na kraju i radilo je. Da li siguran
da je obavezno? (u smislu da može da proguta, ali da posle može da
pravi i probleme)
pascal.147inesic,
> Ma Ok. :) Ali to nije ono sto je on hteo (pogledaj na sta sam
> odgovarao). On je hteo konstantu a ne ovo sto si ti napisao i
> sto nije konstanta jer moze da se menja.
Pa niko ga i ne bije po ušima da je menja. Ja sam pokazao način
kako da u memoriji rezerviše tačno onoliko prostora koliko mu
treba, a to što može da se menja ne znači da i mora.
pascal.148inikolic,
Poznato mi je da ce da u TM-u #12 da izbrise ekran i da pozicionira kursor na
0,0 ali u MTE- on reaguje kao da je pristigao #10.
IVAN
pascal.149pedjak,
> Ja svojevremeno nisam dodavao FAR na kraju i radilo je. Da li
> siguran da je obavezno? (u smislu da može da proguta, ali da posle
> može da pravi i probleme)
Zavisi. Ako je asm procedura prevedena kao FAR, onda i u paskal
programu mora stajati far, inače za NEAR ne treba da stoji ništa.
Ova informacija u stvari govori samom kompajleru kakav skok da
izvrši pri pozivu rutine (far ili near)
pascal.150kriss,
˙˙ Zavisi. Ako je asm procedura prevedena kao FAR, onda i u
˙˙ paskal programu mora stajati far, inače za NEAR ne treba da
˙˙ stoji ništa. Ova informacija u stvari govori samom kompajleru
˙˙ kakav skok da izvrši pri pozivu rutine (far ili near)
To za FAR je jasno, ali sam mislio da li paskal vrši neke intervencije
na samoj proceduri (.OBJ) ako mu kažeš FAR, a procedura je NEAR? :)
pascal.151bigbrada,
*>> Ja svojevremeno nisam dodavao FAR na kraju i radilo je. Da li
*>> siguran da je obavezno? (u smislu da može da proguta, ali da
*>> posle može da
Može 'ladno da proguta, a što se tiče problema ja ih još
nisam imao (i nadam se da će tako i da ostane :)
The.Great
pascal.152pedjak,
> To za FAR je jasno, ali sam mislio da li paskal vrši neke
> intervencije na samoj proceduri (.OBJ) ako mu kažeš FAR, a procedura
> je NEAR? :)
Ne, ali će doći do zakucavanja mašine prilikom povratka iz rutine,
jer će na steku ostati dva bajta više.
pascal.153vgenije,
Skinuo sam ono programce za pravljenje door-ova i za prelazak pascal programa
u door ali mi nije jasno kako da koristim ni jedan ni drugi program!
Npr napisao sam program.Kako da ga presaltujem u door pomocu onog
programa koji se nalazi u direktorijumu /bbs?
Ako gore pomenuto nije moguce kako da napisem program pomocu one
biblioteke example.pas
pozdrav
pascal.154sbrk,
Naleteo sam na neku biblioteku potprograma za TP koja koristi
neki STAKDUMP.OBJ koji (naravno) nije priložen :( To je napisao
neki Kim Kokkonnen i nalazi se na nekom TPro Bonus Disku ?!
Ima li neko ovo?
pascal.155dejanr,
Jeste li čuli za Delphi, zvani interno Borland Pascal 8.0? Nekoliko
pestih pitanja:
==========
pascal/turbo #4706, from abailey, 8680 chars, Fri Feb 17 21:33:25 1995
Comment to 4705.
----------
>I had been under the impression that Delphi was more of a code generator
>and less of a compiler.
It's both. The visual part lets you drag components around on a form. Once
you get them the way you want, you click on the code window and you have
the basic code written for you. Just add the meat of the application.
Then when the code is right you compile it just like BP7 and you have an
executable EXE You could take your current Turbo Pascal for Windows and
compile it too, if you didn't want to fool around with the forms.
But that's no fun!
Here's a descriptive doc from Borland on Delphi. Last update 1/16/95.
1. What is Delphi?
A) Delphi is an unreleased high performance visual client/server
Rapid Application Development (RAD) tool. A portion of the Delphi
technology was demonstrated at the BIC conference in Orlando on
June 7, and we have been traveling around the world demonstrating
Delphi at User Group functions and Trade Shows.
2. What is the Delphi target audience?
A) Delphi is targeted to corporate developers, departmental
programmers, vertical marketing consultants, VARs and independent
developers who want a client/server or desktop development tool
that is easy to use and that produces small, fast, single file
executables.
3. What are the major benefits of Delphi over competing products?
A) Delphi is the first tool that offers the high performance
of a native code compiler with the speedy turnaround time and
and hearty database access capability of a RAD client/server
applications. It provides greater productivity, code reuse and
performance than any competing product.
4. Will there be both a desktop and a client/server version of Delphi?
A) Yes, there will be both a client/server version of Delphi
and a standalone Desktop version for local PC development.
5. Will there be a 32-bit version?
A) Yes, there will be a 32-bit version of Delphi that will run on
Windows 95 (aka Chicago) and Windows NT.
6. Can Delphi link to C/C++ DLL's?
A) Yes. You can link to any C/C++ DLLs that use the Pascal or C
calling conventions.
7. What is the difference between the client/server version
and desktop version?
A) The client/server version of Delphi will include SQL links
for connections to Oracle, Sybase, Interbase, Informix, and ODBC.
It will also include Reportsmith and other team development tools
not found in the desktop version. The desktop version is
basically a subset of the client/server tool.
8. Will I be able to start with the desktop version and later
upsize my applications to the client/server version?
A) Yes.
9. How much will Delphi cost? Will there be upgrades?
A) Pricing for the product has not yet been announced.
10. When will Delphi be released?
A) No specific release dates have been announced. The first version of
Delphi will be available in the first quarter of 1995. The 32-bit version of
Delphi will be available after Windows 95 ships.
11. What language does Delphi use?
A) We wanted a structured object-oriented language that would
support our goals of reuse, easy to maintain code, and high
performance. Object Pascal met these goals better than other
language.
12. What is Object Pascal?
A) Object Pascal is Delphi's underlying language. It is similar
to Borland Pascal, but has been enhanced for use in Delphi's high-
performance visual environment. Object Pascal language features
include Exception Handling, Runtime type information, and far
virtual method tables.
13. Is Delphi a replacement for Borland Pascal or Turbo Pascal?
A) Delphi is a new product line and does not replace BP7. BP7
and TP7 will stay on the market.
14. Will Delphi write DOS programs? What about DPMI?
A) No. Delphi is a Windows-only development product.
15. Will Delphi run on NT and Windows 95?
A) Yes, you will be able to run 16-bit Delphi under Windows 95 and
Windows NT, but you will only be able to write 32-bit programs for
Windows 95 and NT with the 32-bit version of Delphi.
16. Will Delphi support Dynamic Data Exchange (DDE)?
A) Yes. Delphi has built-in controls that facilitate DDE.
17. Will Delphi support VBX's? What versions?
A) Yes. Delphi currently supports level 1-compliant VBXs. We
are looking into supporting higher-level VBX controls in a
later version.
18. Will Delphi support OLE 2.0?
A) Yes. Delphi has built-in controls that support OLE 2.0 containers.
The first release of Delphi will not have built-in support for OLE
servers or automation.
19. Will Delphi support OCX?
A) The first release of Delphi will not support OCX, but we are
planning to add support for OCX in a later release of Delphi.
20. Will Delphi support OpenDoc?
A) The first release of Delphi will not support OpenDoc, but we are
planning to add support for OpenDoc in a later release of Delphi.
21. Where can I find articles about Delphi?
A)
PC Magazine, November 1994
Windows Tech Journal, October 1994
PC Techniques, November 1994 & December/January 1995
The Pascal Magazine, August/September 1994 & October/November 1994
Windows Sources, December 1994 (Delphi vs. VB article)
InfoWorld, October 31, 1994 & November 21, 1994
22. Who do I contact if I want to be a beta tester?
A) Download SURVEY.ZIP from BPASCAL library 2 or the Borland Download
BBS (408-431-5096). Complete that application and follow the
directions for returning it to Borland. Please understand that we
receive many more beta test application than we have room for.
23. How can I get a copy of Delphi now?
A)There is one way to get Delphi right now:
Borland SI/VAR Connections is a program for System Integrators,
VARs, and Consultants who want a business relationship with Borland
for generating leads, getting access to technical information,
training, and early access to Delphi and other Borland software.
Cost is $1500 annually. Call 800-353-2211 or GO BORCONN on
CompuServe for information on Connections.
The Delphi Discovery program, a Delphi early-experience program, is now closed
due to a very large initial response. Thanks for your support!
24. How do I get a copy of Delphi if I live outside the USA?
Contact your local Borland distributor regarding Connections and/or
Discovery in your country.
25. Will Delphi compile my Borland Pascal or Turbo Pascal for
Windows code?
A) Yes, Delphi will compile your existing Object Windows Library
(OWL) and non-OWL Windows source code.
26. Is Delphi Borland Pascal 8.0?
A) No. Delphi is a new development tool targeted for Windows
only. We have not announced any other new products at this time and
will keep Borland Pascal 7.0 and Turbo Pascal 7.0 on the market for
DOS and DOS Protected Mode developers.
27. Does Delphi include the Borland Database Engine?
Delphi includes the same core database technology found in the Borland
Database Engine, dBASE 5.0 for Windows, and Paradox 5.0 for Windows.
Delphi doesn't come with the same C/C++ development tools as does the
Borland Database Engine 2.0.
28. What database formats does Delphi support?
The Borland Database Engine, which is built into Delphi, includes
built-in support for dBASE and Paradox tables and database servers
such as Oracle, Sybase, Interbase, Informix.
29. Does Delphi support ODBC?
A) Yes. The Borland Database Engine includes a socket for ODBC.
30. Does Delphi support SQL?
A) Yes. Delphi allows you to issue pass-through SQL commands to
database servers. You can also use SQL to query dBASE and
Paradox tables.
31. Is Delphi the same as the VBK?
A) The press has occasionally referred to the desktop version
of Delphi as the Visual Basic Killer (VBK). The client/server
version of Delphi also competes against PowerBuilder.
32. What is VCL?
A) VCL stands for Visual Component Library. It is the name for the
object library that Delphi is built on top of. VCL is constructed
from the ground up with 32-bit portability in mind, so your
applications will require little or no changes to source code when
compiling between 16 and 32-bit.
33. Can I generate DLL's with Delphi?
A) Yes. You can generate DLLs in Delphi that are callable not only
from other Delphi applications, but also from C, C++, Visual Basic,
Object PAL, or virtually any other Windows programming environment.
You can use VCL objects in your DLLs.
34. Is Delphi an interpreter or a compiler?
A) Unlike most competing products, Delphi generates true,
optimized, compiled executables and DLLs. There is no run-time
interpreter module (e.g. VBRUNx00.DLL) necessary for applications
developed in Delphi. Since the code is compiled into machine code,
performance is 10-20x faster than p-code interpreters such as
PowerBuilder and Visual Basic.
pascal.156drpr,
Haj,
pozdrav svima, ima li neko sors (tj. samo parče) koji
sortira jednostruko povezanu listu? Dugo to nisam radio pa sam
malo zarđao tako da molim nekog ko to ima da mi to baci ovde u
conf ili na mail. Ja to sad radim čistom silom dva puta
prolazim kroz listu i pravim novu ali znam da moze. Ajte da se
čiča ne muči :)
Cope
PS
Kako se pravi lista i sve ostalo znam toliko zarđao nisam.
pascal.157vlador,
> prolazim kroz listu i pravim novu ali znam da moze. Ajte da se
> čiča ne muči :)
Najbolje da pogledaš sors QuickSorta koji se deli uz TPascal.
---
■ VLADOR ■ Ne pucajte u pijanistu!
pascal.158janko,
>> prolazim kroz listu i pravim novu ali znam da moze. Ajte
>> da se
> Najbolje da pogledaš sors QuickSorta koji se deli uz
> TPascal.
žovek traži sortiranje LISTE.
Lista se mora tretirati kao i sekvencijalna datoteka. Dakle, mora
MERGESORT.
pascal.159dkolar,
Hteo bih, ne znam po koji put, da postavim pitanje, ako neko zna, kako da iz
paskala iscitam serijski broj IDE hard diska!
Ako je neko vec to uradio ili zna kako, neka mi poshalje poruku na privatnu
postu na ima dkolar.
cu
pascal.160djelovic,
> Hteo bih, ne znam po koji put, da postavim pitanje, ako neko zna, kako da i
> paskala iscitam serijski broj IDE hard diska
Ta funkcija je ostavljena u ovoj temi početkom Januara ove godine. Potraži
malo.
pascal.161msmiljanic,
Kako da TP program koji koristi Crt unit 'prepozna' mod i
font? Resenje je unit PreCrt:
unit PreCrt;
interface
var mode: byte; { video mod }
implementation
begin
mode:= mem[$0000:$0449];
mem[$0000:$0449]:= 7; { 0, 1, 2, 3 ili 7 }
end.
Program treba da izgleda otprilike ovako:
program xyz;
uses ... , PreCrt, ... , Crt, ... ; { PreCrt ispred Crt-a }
...
begin
...
mem[$0000:$0449]:= mode; { Pre prvog rada sa ekranom }
...
end.
Sve funkcije i procedure Crt-a radice bez greske na celom
ekranu.
pascal.162jasicp,
Da li se objekat moze prostirati u vise unita ( valjda ne moze ). I sta
znaci kada DosError vrato kod 18 -> No more files ?
pascal.163vlador,
> znaci kada DosError vrato kod 18 -> No more files ?
Baš to. :) Znači da je FindNext ispucao sve fajlove koji odgovaraju
traženom.
---
■ vlador ■ Kad ono mene tuku!...
pascal.164mmitrovic,
Ů█▀█Ţ performance visual environment. Object Pascal language features
Ů█▀█Ţ include Exception Handling, Runtime type information, and
Ů█▀█Ţ far virtual method tables.
-------------------------
Ovo je novost. žemu bi ovo moglo da služi? Možda za direktno
bindovanje externih funkcija kao metoda?
Ů█▀█Ţ A) Unlike most competing products, Delphi generates true,
Ů█▀█Ţ optimized, compiled executables and DLLs. There is no run-time
Yes, napokon da vidim optimizaciju u pascal-u. :)
Ovaj Delphi je izgleda neka mešavina Paradox-a f/w i BP 7.0, pravljena
za razvoj baza. U principu, to će biti vrlo moćna "alatka". Pitanje je
samo kol'ko resursa arči? ;)
pascal.165mmitrovic,
Ů█▀█Ţ Da li se objekat moze prostirati u vise unita ( valjda ne moze ). I sta
Ů█▀█Ţ znaci kada DosError vrato kod 18 -> No more files ?
a) Ne može iz prostog razloga što VMT tabele sadrže NEAR pointere,
pa svi virtualni metodi moraju biti u istom segmentu. Delphi će imati
FAR VMT, pa će možda i ovo moći da se izvede, mada sumnjam (identifier
missing).
b) DosError 18 obično vraćaju FindFirst i FindNext funkcije kada
u pretraživanom DIR-u više nema datoteka koje se traže.
pascal.166toca,
Potrebna mi je pomoć. Ukoliko nekog od vas ne mrzi, neka mi okaci ovde ili na
mail listing programa koji ocitava serijki broj hard diska, moze i pointer na
poruku. Znam da ce mi neki reci bilo je to u Racunarima, ali to ne radi.
THNX,
Toca
pascal.167dejanr,
>> Znam da ce mi neki reci bilo je to u Racunarima, ali to ne radi.
Otkud ne radi??? Procedura je korektna i koliko znam radi, ja sam je
koristio mali milion puta. Za svaki slučaj, evo je još jednom, u nešto
luksuznijoj ali i slabije optimizovanoj formi:
function getserno(diskime: string): string;
var regs: registers;
buf: array[1..32] of byte;
b1, b2, b3, b4: longint;
function hex(ulaz: longint): string;
const hcif: array[0..15] of char =
('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
begin
hex:=hcif[ulaz div 16]+hcif[ulaz mod 16];
end;
begin
regs.ah:=$69;
regs.al:=0;
if diskime='' then regs.bl:=0
else regs.bl:=ord(upcase(diskime[1]))-ord('A')+1;
regs.ds:=seg(buf);
regs.dx:=ofs(buf);
intr($21, regs);
if regs.flags and $1 <> 0 then getserno:='-111' else
begin
b1:=buf[3]; b2:=buf[4]; b3:=buf[5]; b4:=buf[6];
getserno:=hex(b4)+hex(b3)+hex(b2)+hex(b1);
end;
end;
pascal.168mibak,
Zadatak: Potrebno je Grafički fajl urađen u nekom poznatom formatu
štampati iz pascala.
Probao sam sa TPPCX ali koristim TP 7.0 koji ne prepoznaje TPU fajlove
ovog programa.
Hvala.
/\/\|3
pascal.169darkovas,
Da li je moguce na Turbo Pascalu formirati niz od ~ 250 000 clanova.
Treba bi jer bi radio FFT za 512x512 tacaka.
Unapred zahvalan za svaku sugestiju!
pascal.170dejanr,
>> Da li je moguce na Turbo Pascalu formirati niz od ~ 250 000 clanova.
Kao jedan niz, ne. Struktura je ograničena na 64 k.
Možeš eventualno da alociraš (na heap-u, sa getmem) više nizova po 64 K,
pa da onda procedura koja piše odluči na osnovu adrese u koji niz upisuje,
i na koji ofset.
pascal.171janko,
> Ů█▀█Ţ Da li se objekat moze prostirati u vise unita (
> valjda ne moze ). I sta Ů█▀█Ţ znaci kada DosError vrato
> kod 18 -> No more files ?
>
> a) Ne može iz prostog razloga što VMT tabele sadrže NEAR
> pointere, pa svi virtualni metodi moraju biti u istom
> segmentu. Delphi će imati FAR VMT, pa će možda i ovo moći
> da se izvede, mada sumnjam (identifier missing).
VMT tabele nisu bitne. Ideja je puno prostija: Junit je hijerarhijski
viši od objekta.
A i čemu to, jedan objekat u više junita? Ne vidim potrebu za time?
pascal.172janko,
> Da li je moguce na Turbo Pascalu formirati niz od ~ 250
> 000 clanova. Treba bi jer bi radio FFT za 512x512 tacaka.
> Unapred zahvalan za svaku sugestiju!
250Kx8 bajtova = 2 MB. Ako koristiš TP 6.0, ili imaš slabu mašinu, nema
šanse. Posle TP 6.0 nisam pratio. Pretpostavljam da TP for Win (nisam u
toku sa TP > 6.0) može da adresira više od 640 K barijere. U jednom nizu
sigurno opet ne možeš da imaš više od 64 KB, jer je kod sigurno 16-bitni
(eh, Windows). Ali zato niz nizova (nisam siguran), ili (sigurno) niz
pokazivača na nizove mora da prođe.
Da dodam i ja pitanje, ume li neko da izloži karakteristike u kratkim
crtama TP-ova koji su se pojavili posle 6.0? Delfi ne mora da pominje,
sad pročitah o njemu.
pascal.173zeljkoj,
>>> Da li je moguce na Turbo Pascalu formirati niz od ~ 250 000
> clanova.
>
> Kao jedan niz, ne. Struktura je ograničena na 64 k.
Zato ako možeš predji na FORTRAN, niz može biti velik onoliko koliko imaš
memorije - nema ograničenja od 64 kB.
pascal.174mmitrovic,
Ů█▀█Ţ VMT tabele nisu bitne. Ideja je puno prostija: Junit je hijerarhijski
Ů█▀█Ţ viši od objekta.
To objašnjenje je čisto teorijsko, a ono što stvarno sprečava
postavljanje metoda u druge unite je činjenica da svaki unit u Pascalu
zauzima jeddan segment i da VMT tabele sadrže NEAR pointere. Ukoliko
bi deklarisao metod u objektu, a zatim ga ne definisao u IMP. sekciji
dobio bi poruku o grešci. Ne zato što je Unit viši od objekta, već
zato što Pascal ne dozvoljava "rupe" koje bi se popunile pri linkovanju.
Ů█▀█Ţ A i čemu to, jedan objekat u više junita? Ne vidim potrebu za time?
Ne vidim ni ja, ali je čovek pitao dal' može. Osim toga, u Delphi
info-u piše da će podržavati FAR VMT, a to može da služi samo za jedno:
da različiti metodi budu u različitim segmentima. Iako ne vidim svrhu
toga, sačekaćemo Delphi i videćemo zašto su ubacili. ;)
pascal.175mmitrovic,
Ů█▀█Ţ Da dodam i ja pitanje, ume li neko da izloži karakteristike u kratkim
Ů█▀█Ţ crtama TP-ova koji su se pojavili posle 6.0? Delfi ne mora da pominje,
- TP f/w 1.5 * Pravio je 16b aplikacije za Win3. Sadržao je
ObjectVision 1.0 (?). Nije radio pod ni za DOS/DPMI.
Valjda je na 5 disketa.
- TP 7.0 * Turbo Pascal 7.0. Radi samo za DOS, bez Win/DPMIa.
Sadrži TurboVision 2.0, kao i source-ove za većinu
TV unita. Dakle unapređeni TP6.0. Na 2 diskete.
- BP 7.0 w/obj * Borland Pascal 7.0 with objects. Radi na/za sve tri
platforme. Sadrži ObjectVision 2.0 i TurboVision 2.0
Sourceova NEMA, iako u DOCu piše da ih ima, ali rade
oni iz TP7.0. Win aplikacije su i dalje 16b, iako su
podržane neke 32b funkcije. Pod DPMI-om na raspolaganju
je do 16Mb, ali je veličina strukture i dalje
ograničena na 64K.
Tol'ko za sada.
pascal.176janko,
> Ů█▀█Ţ VMT tabele nisu bitne. Ideja je puno prostija: Junit
> je hijerarhijski Ů█▀█Ţ viši od objekta.
>
> To objašnjenje je čisto teorijsko, a ono što stvarno
> sprečava postavljanje metoda u druge unite je činjenica da
> svaki unit u Pascalu zauzima jeddan segment i da VMT
> tabele sadrže NEAR pointere. Ukoliko bi deklarisao metod u
> objektu, a zatim ga ne definisao u IMP. sekciji dobio bi
> poruku o grešci. Ne zato što je Unit viši od objekta, već
> zato što Pascal ne dozvoljava "rupe" koje bi se popunile
> pri linkovanju.
Principi određuju implementaciju a ne obratno. Implementacija je samo
posledica unapred postavljenih ograničenja.
> Ne vidim ni ja, ali je čovek pitao dal' može. Osim toga, u
> Delphi info-u piše da će podržavati FAR VMT, a to može da
> služi samo za jedno: da različiti metodi budu u različitim
> segmentima
..samo kaže da će da VMT ulaz troši 4 bajta. E sad, da li je to klasičan
FAR pointer ili šta bilo, videćemo, ali, ko kaže da možda i juniti neće
biti veći od segmenta (što je čisto implementacioni detalj?)
pascal.177mmitrovic,
Ů█▀█Ţ Principi određuju implementaciju a ne obratno. Implementacija je samo
Ů█▀█Ţ posledica unapred postavljenih ograničenja.
Pazi, mi sad ovde možemo mesecima da raspravljamo šta je starije:
kokoška ili jaje. Delom se i slažem sa tobom. Međutim, ja se primarno
bavim sistemskim programiranjem i ono što sis.prog. definitivno ne
podnosi su teorijska ograničenja. Mene ništa, sem nedostatak vremena,
ne sprečava da napišem Pascal kojem bi objekat bio hijerarhijski
iznad unita. Ne bi to, naravno, bilo nešto specijalno, ali bi
funkcionisalo. :) žisto da ti objasnim da u nekim slučajevima teorija
sputava praktičnu primenu.
Ů█▀█Ţ ..samo kaže da će da VMT ulaz troši 4 bajta. E sad, da li je to klasičan
Ů█▀█Ţ FAR pointer ili šta bilo, videćemo, ali, ko kaže da možda i juniti neće
Ů█▀█Ţ biti veći od segmenta (što je čisto implementacioni detalj?)
Citiram:
A) Object Pascal is Delphi's underlying language. It is similar
to Borland Pascal, but has been enhanced for use in Delphi's high-
performance visual environment. Object Pascal language features
include Exception Handling, Runtime type information, and
far virtual method tables.
-------------------------
Nigde se ne pominje 4 bajta, osim toga u protected modu 32b pointer je
NEAR pointer. FAR pointer zauzima 6 bajtova (16b selektor + 32b offset).
Što se tiče multi-segmentnih unita, to baš i nije za očekivati. Prvo,
zato što bi bilo veoma teško odrediti šta ide u koji segment, a bilo bi
puno očekivati od korisnika da to manuelno označi; drugo, u Prot. modu
segmenti su ograničeni na dohvat 32b offseta, znači 4Gb. Ne znam kol'ko
dug program da pišeš, sigurno će stati u jedan segment. Sve zajedno sa
DOSom, WindowSOM, alatkama, backupom diska i gomilom slika. :)
pascal.178ilotina,
Kako da disejblujem ctrl-c, ranije sam znao ;)
Ivan
pascal.179postmast,
From: Knezovic.Bojan@f133.n103.z38.setgate.setnet.co.yu (Knezovic Bojan)
Subject: novi TP?
Date: Sat, 04 Mar 1995 11:53:02
Hi!
Cuo sam da treba da izadje novi Turbo Pascal, objektni cini mi se?
Jel moze neko da mi kaze nesto podrobnije o njemu, rekose da ce biti cudo
nevidjeno;)) Kada da se ocekuje i kako ce se zvati?
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.180vitez.koja,
#=> ObjectVision 1.0 (?).
ObjectWindows - dalji rođak Turbo Vision-a. ObjectVision je nešto
sasvim drugo.
pascal.181postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Memory
Date: Thu, 09 Mar 1995 18:55:10
SA> Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
SA> jedna promenljiva tipa Boolean?
SA> Ili,jos bolje,da ne bude zabune,da mi neko lepo kaze kako TP
SA> rasporedjuje Boolean promenljive u memoriji? :)
Trebalo bi da zauzima samo jedan bit, posto koliko znam u Turbo
Paskalu ima poseban Boolean tip koji zauzima ceo bajt.
... Fatal ERROR! Missing power supply!
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.182postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Memory
Date: Tue, 28 Feb 1995 21:51:17
Hi narode!
Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
jedna promenljiva tipa Boolean?
Ili,jos bolje,da ne bude zabune,da mi neko lepo kaze kako TP rasporedjuje
Boolean promenljive u memoriji? :)
10x in advance,
Phuzzy Logik
... Jump out of range error ???
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.183postmast,
From: bear@setnet.co.yu (Attila Csipa)
Subject: Memory
Date: Thu, 09 Mar 1995 00:08:01
SA> Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
SA> jedna promenljiva tipa Boolean?
SA> Ili,jos bolje,da ne bude zabune,da mi neko lepo kaze kako TP
SA> rasporedjuje Boolean promenljive u memoriji? :)
Po defaultu 1 boolean zauzima jedan bajt, zbog brze operacije. Ako se tip
definise kao PACKED BOOLEAN, onda se radi bitovima, ali se (kao) rad
usporava.
... Radni sto je korpa za smece sa fiokama.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.184postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Memory
Date: Wed, 08 Mar 1995 20:55:30
Hail to you, oh great Attila of the noble house Csipa !
SA> Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
SA> jedna promenljiva tipa Boolean?
AC>
AC> Po defaultu 1 boolean zauzima jedan bajt, zbog brze operacije. Ako se
AC> tip definise kao PACKED BOOLEAN, onda se radi bitovima, ali se (kao)
AC> rad usporava.
Posto mi je usteda memorije ovog puta izuzetno bitna,da li bi mogao
da me prosvetlis i kazes kako da definisem promenljivu kao packed?
(mrzi me da ceprkam po helpu,uvek mi odnese po pola sata ;)
Nije valda da samo kazem nesto kao var I:Boolean(packed) ili nesto
slicno??
Phuzzy Logik
... I just took an IQ test. The results were negative.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.185dejanr,
>> Posto mi je usteda memorije ovog puta izuzetno bitna,da li bi mogao
>> da me prosvetlis i kazes kako da definisem promenljivu kao packed?
>> (mrzi me da ceprkam po helpu,uvek mi odnese po pola sata ;)
>> Nije valda da samo kazem nesto kao var I:Boolean(packed) ili nesto
U Turbo Pascalu nikako - reč packed je podržana, ali nema dejstvo (piše
u uputstvu).
Dakle, napravi niz flags[1..10000] of byte a onda funkcije setflag,
clearflag i testflag koji primaju argument između 1 i 80000 i onda
maskiraju odgovarajući bit u odgovarajućem elementu flags registra.
Eventualno se ove procedure mogu napraviti na asembleru, ako je i
vreme kritično; inače, lepo rade i na TP-u.
pascal.186jasicp,
Sta znaci kada TP7.0 izbaci run time error 215 ? Imam dokumentaciju
za 6.0 a tamo ovoga nema.
pascal.188ivantod,
Help kaže ovako:
Run-time error 215: Arithmetic overflow error
This error is reported by statements compiled in the {$Q+} state when an
integer
arithmetic operation caused an overflow, such as when the result of the
operation was
outside the supported range.
Nadam se da pomaže...
Ivan
pascal.189jasicp,
Da li TP7.0 ima bag u Editors unitu (ili nekom drugom koji ovaj
koristi) ? Naime, kada aktiviram TFileWindow odnosno TEditor, text se lepo
prikaze, ali samo dok ne pritisnem backspace. Tada iskoci run time error
215. Kod editors iz TP6.0 nema greske, radi normalno (ali on koristi
buffers iz TP6.0 kojih opet nema u TP7.0.
Ima li grupe za OOP Pascal ? Ako ima pitam za prijem, ako nema
otvoricu je pa molim interesente na mail. Mislim samo za OOP, ne i ostalo.
pascal.190janko,
> funkcionisalo. :) žisto da ti objasnim da u nekim
> slučajevima teorija sputava praktičnu primenu.
Ne slažem se, u vezi sputavanja -- ograničenja vidljivosti su velika
blagodet modernog programiranja, a ne mana. Zato i postoje juniti,
moduli, objekti. Ako ti sve treba "preko granica" piši i dalje u
Fortranu sa COMMON područjima.
> Nigde se ne pominje 4 bajta, osim toga u protected modu
> 32b pointer je NEAR pointer. FAR pointer zauzima 6 bajtova
> (16b selektor + 32b offset).
Međutim, s obzirom da ništa još ne prave "stvarno tridesetdvobitno" vrlo
verujem da će sizeof(farvirtualptr) ipak biti 4 bajta -- tj. da koriste
starinsku terminologiju. Da dočekamo da vidimo? :)
pascal.191mmitrovic,
Ů█▀█Ţ ObjectWindows - dalji rođak Turbo Vision-a. ObjectVision je nešto
Ů█▀█Ţ sasvim drugo.
U pravu si. :) Mislim jedno, pišem drugo.
Što se tiče kompleksnosti, TurboVision je mnogo kompleksniji
od ObjectWindowsLibrary-a, iako se misli da je obrnuto (valjda zato
što OWL radi pod Windowsom). ;)
Pod DOSom je sve trebalo uraditi od nule, sve osmisliti, kreirati
visualne elemente, grupe, podršku za Evente. ObjectWindows se 100%
oslanja na Windows ili BWCC za visualne elemente i Evente, dok mu sve
podatke (pr. elementi liste) drži Windows; u samim objektima nema ništa
sem poziva WinAPIa.
pascal.192mmitrovic,
Ů█▀█Ţ Sta znaci kada TP7.0 izbaci run time error 215 ? Imam dokumentaciju
Ů█▀█Ţ za 6.0 a tamo ovoga nema.
215: Arithmetic overflow error
Reported by statements compiled with š$Qć when an integer arithmetic
operation caused an overflow or the result was outside the supported
range.
In the $Q+ state, certain integer operations are checked for overflow,
such as: +, -, * Abs, Sqr, Succ, and Pred
Dakle, integer overflow. Ako ti je overflow bio namera, stavi $Q-.
Sve greške imaš u helpu, pod stavkom Errors. Tu se nalaze i RunTime
greške i Compiler greške podeljene u dve grupe. Dakle, ubuduće Shift-F1.
pascal.193mmitrovic,
Ů█▀█Ţ Ne slažem se, u vezi sputavanja -- ograničenja vidljivosti su velika
Ů█▀█Ţ blagodet modernog programiranja, a ne mana. Zato i postoje juniti,
Ů█▀█Ţ moduli, objekti.
Ne slažem se sa tobom, i evo ti konkretan primer. Sinulo mi pre neki
dan dok sam razmišljao čemu bi FVMT koristilo. Uzmimo na primer
(nepostojeću) klauzulu "substitute". Primer:
procedure TView.HandleEvent(var Event:TEvent); virtual; substitute;
begin ... end;
Šta bi ovo radilo? Zamenilo bi kod standardnog HandleEventa ovim, i to
ne ne kraju hij. stabla, već na samom početku, tako da bi ubuduće svi
pozivi starog metoda ustvari ulazili u ovaj novi metod. Tehnički ovo
uopšte nije teško izvesti. Ako je metod virtuelan, izmeni se VMT tabela
objekta TView, ako nije onda se pri linkovanju koristi nova adresa. Pošto
će novi metodi sigurno biti u drugim segmentima, potrebna je FVMT.
žemu sve ovo služi (a uz to i ne radi :)
Jedna od najvećih primena bi bila u dijagnostici. Sa ovim može lako da
se izmeni ponašanje čitavog stabla klasa, menjanjem jeddnog metoda. Mogu
na primer izmeniti ClearEvent, HandleEvent, SetState TView objekta tako da
javljaju nekoj funkciji kad god instanca obradi ili primi Event, kad god
se promeni stanje objekta (izgubi fokus, itd). Pošto će biti izmenjen top
objekat, a sve dobro organizovane objektne hijerarhije (kakav je i TV)
pozive prosleđuju uz stablo, svi će ti pozivi doći do promenjenih metoda.
Postoji još par primena koje mi se vrte kroz glavu, al' ih još nisam
smisleno formulisao. :)
Naravno cela ova priča podrazumeva da znaš OOPascal i funkcionisanje
TurboVizije. I očigledno ova tehnika krši sva teorijska ograničenja, a
ipak je blagodet. B)
Ů█▀█Ţ Ako ti sve treba "preko granica" piši i dalje u Fortranu sa COMMON
područjima.
Arghh, a tako mi je lepo počeo dan. :(
FORTRAN & BASIC out of my life. I mean it. Ne volim ih, mrzim ih, uh.
Znam da mašinci ne mogu bez njega, al' ne moraju svi da pate zbog toga,
mrzeo sam ga u srednjoj, mrzeću ga i sad kad me budu terali da ga učim
ponovo. Jednostavno nema te stvari koju može fortran a ne može pascal ili
C.
Ů█▀█Ţ Međutim, s obzirom da ništa još ne prave "stvarno tridesetdvobitno" vrlo
Ů█▀█Ţ verujem da će sizeof(farvirtualptr) ipak biti 4 bajta -- tj. da koriste
Ů█▀█Ţ starinsku terminologiju. Da dočekamo da vidimo? :)
Nema potrebe. :) Citiram opet:
5. Will there be a 32-bit version?
A) Yes, there will be a 32-bit version of Delphi that will run on
--------------
Windows 95 (aka Chicago) and Windows NT.
10. When will Delphi be released?
A) No specific release dates have been announced. The first version of
Delphi will be available in the first quarter of 1995. The 32-bit
version of Delphi will be available after Windows 95 ships.
----------------------
15. Will Delphi run on NT and Windows 95?
A) Yes, you will be able to run 16-bit Delphi under Windows 95 and
Windows NT, but you will only be able to write 32-bit programs for
Windows 95 and NT with the 32-bit version of Delphi.
Dakle pod Windowsom 95 i NTom radiće 32b verzija koja će moći da pravi
32b aplikacije. Ipak, ono >after Win95 ships< ne zvuči oduševljavajuće,
ipak je to Microsoft. ;)
pascal.194jasicp,
> Bas to. :) Znaci da je FindNext ispucao sve fajlove koji odgovaraju
> trazenom.
Znam aili uopste ne upotrebljavam spomenutu naredbu vec samo assign +
reset za textualni fajl :). Mora da mi jesto drugo. Mada mi ne pada na
pamet sta. Smesno.
pascal.195jasicp,
> Dakle, integer overflow. Ako ti je overflow bio namera, stavi $Q-.
> Sve greske imas u helpu, pod stavkom Errors. Tu se nalaze i RunTime
> greske i Compiler greske podeljene u dve grupe. Dakle, ubuduce Shift-F1.
Ne, nego sam se vijao sa nekom bubom u implementaciji editora. Pojavi
se kada pritisnem backspace. Dolazi do problema u editors unitu, pa je
verovatno nesto malo komlikovanije.
Problem je u Shift-F1. Ili sam skroz izlapeo ili zaista nema ugradjena
objasnjenja za Run time greske. Sve je ostalo normalno osim ovog ( radim
mnogo godina u ovome :) stvarno nije u tome problem ) pa mi nije jasno da
li stalno nesto previdjam :)).
pascal.196vlador,
> reset za textualni fajl :). Mora da mi jesto drugo. Mada mi ne pada na
> pamet sta. Smesno.
Baš smešno. :) Baci parče koda, ovo bi moglo biti interesantno.
pascal.197postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Die & Run
Date: Thu, 09 Mar 1995 23:01:39
Hi!
Svojevremeno je neko ovde objasnio kako ima neki fazon koji dopusta
da se iz Turbo Pascala (7.0) postigne to da neki program stane,
istovremeno pustajuci u rad neki drugi program.Ne mislim na Exec,
nego na to da se bas,redovno,prekine i onda pusti onog drugog.
Ali,ako se moze postici samo opasnim hakerskim cackanjem onda mi
ne treba,jer ne bih da komplikujem i ovako komplikovan program ;)
Samo mi se cini kao da je neko nasao 'zvanicno' resenje.
CU & 10x in advance...
Phuzzy Logik
... Who was Casper the Friendly Ghost before he died?
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.198postmast,
From: Kliment.Andreev@f108.n108.z38.setgate.setnet.co.yu (Kliment Andreev)
Subject: Memory
Date: Sat, 11 Mar 1995 00:15:00
PS> SA> Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
PS> SA> jedna promenljiva tipa Boolean?
PS> SA> Ili,jos bolje,da ne bude zabune,da mi neko lepo kaze kako TP
PS> SA> rasporedjuje Boolean promenljive u memoriji? :)
PS> Trebalo bi da zauzima samo jedan bit, posto koliko znam u Turbo
PS> Paskalu ima poseban Boolean tip koji zauzima ceo bajt.
PS> ... Fatal ERROR! Missing power supply!
Evo ssta kazze original uputstvo za TP6.0:
"A Boolean type is stored as a byte that can assume the value
of 0 (False) or 1 (True)."
KAN
■ SPEED 1.30 [NR] ■ Speed Read or die!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.199postmast,
From: bear@setnet.co.yu (Attila Csipa)
Subject: Memory
Date: Sat, 11 Mar 1995 00:38:49
AC> Po defaultu 1 boolean zauzima jedan bajt, zbog brze operacije. Ako se
AC> tip definise kao PACKED BOOLEAN, onda se radi bitovima, ali se (kao)
AC> rad usporava.
SA>
SA> Posto mi je usteda memorije ovog puta izuzetno bitna,da li bi mogao
SA> da me prosvetlis i kazes kako da definisem promenljivu kao packed?
SA> (mrzi me da ceprkam po helpu,uvek mi odnese po pola sata ;)
SA> Nije valda da samo kazem nesto kao var I:Boolean(packed) ili nesto
SA> slicno??
Uf, kad sam ja tako poslednji put radio u paskalu... Ako me secanje ne
vara, trebalo bi da ide u stilu VAR I:ARRAY[1..8] OF PACKED BOOLEAN, ili
PACKED ARRAY[1..8] OF BOOLEAN. Eksperimentisi malo, valjda ces pronaci :)
... Artificial Intelligence is no match for natural stupidity
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.200postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Memory
Date: Sat, 11 Mar 1995 09:21:30
PS> SA> Zanimalo bi me samo koliko bitova (ili bajtova?) zauzima u memoriji
PS> SA> jedna promenljiva tipa Boolean?
PS> Trebalo bi da zauzima samo jedan bit, posto koliko znam u Turbo
PS> Paskalu ima poseban Boolean tip koji zauzima ceo bajt.
KA> Evo ssta kazze original uputstvo za TP6.0:
KA> "A Boolean type is stored as a byte that can assume the value
KA> of 0 (False) or 1 (True)."
U pravu si i u mom uputstvu to pise. Nisam uspeo da pronadjem ali
sam siguran da sam negde video da TP ima poseban Boolean tip koji
zauzima bajt (mozda word?) i to mi se ucinilo zanimljivo ali nisam
nasao upotrebnu vrednost. Zbog toga sam ovak iz glave zakljuco da
verovatnoobican Boolean koristi memoriju na nivou bita, ali sam se
prevario.
... Don't shoot! There are people too.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.201postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Memory
Date: Sat, 11 Mar 1995 09:21:31
AC> Uf, kad sam ja tako poslednji put radio u paskalu... Ako me secanje
AC> ne vara, trebalo bi da ide u stilu VAR I:ARRAY[1..8] OF PACKED BOOLEAN,
AC> ili PACKED ARRAY[1..8] OF BOOLEAN. Eksperimentisi malo, valjda ces
AC> pronaci :)
U Turbo Paskalu je rec PACKED ostavljena samo radi kompatibilnosti,
a inace nema funkciju posto se nizovi uvek pakuju.
... Don't shoot! There are people too.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.202zeljkoj,
> Svojevremeno je neko ovde objasnio kako ima neki fazon koji
> dopusta da se iz Turbo Pascala (7.0) postigne to da neki
> program stane,
Pitanje je postavio dejanr u PC.SOFT, poruka 9.6. (13.11.1989.)
Odgovori su u porukama 9.7 i 9.24.
pascal.203fortran,
> moduli, objekti. Ako ti sve treba "preko granica" piši i dalje
> u Fortranu sa COMMON područjima.
A šta fali FORTRAN-u?
pascal.204fortran,
> FORTRAN & BASIC out of my life. I mean it. Ne volim ih, mrzim
> ih, uh.
Pazi šta pričaš. :)
pascal.205dejanr,
>> Svojevremeno je neko ovde objasnio kako ima neki fazon koji dopusta
>> da se iz Turbo Pascala (7.0) postigne to da neki program stane,
>> istovremeno pustajuci u rad neki drugi program.Ne mislim na Exec,
>> nego na to da se bas,redovno,prekine i onda pusti onog drugog.
Potoji "fazon", doduše primenljiv na TP 5.x, verovatno i na kasnijima,
nisam probao. Bila je to tema o kojoj je opsežno razgovarano u prvim
Sezamovim danima, dakle krajem 1989. godine. Bilo je nekoliko "domaćih"
rešenja, i najzad sam našao na BIX-u kompletno rešenje problema, doduše
koje uključuje i nešto "prljavog" programiranja (koliko me sećanje
služi, nešto koda je upisivano u sam PSP). Ta arhiva postoji negde na
Sezamu, verovatno u konferenciji PC.SOFT. Može da se potraži ako nekome
treba.
pascal.206pedjak,
Subject: The truth about Delphi... an example
Š Article crossposted from comp.lang.oberon,comp.lang.modula2 Ć
Š Author was Taylor Hutt (thuttčclark.net) Ć
Š Posted on 9 Mar 1995 08:37:13 -0500 Ć
Ok people, here is some hard evidence about Delphi. There are many of
you out there who believe this to be the savior of the programming
industry. I have been highly critical of Delphi for the preposterous
notion it protrays that programming is easy and you can write Windows
applications without doing any coding at all.
Brooks' said it well enough, but it seems to have fallen on deaf
ears: THERE IS NO SILVER BULLET.
That deserves repeating: THERE IS NO SILVER BULLET.
The price you have to pay with Delphi is typical of any of these
beasts which boast a programming framework in Windows: loss of
control. Your main program essential turns into the entire OS,
dispatching the appropriate Windows messages to your functions.
Secondly, you lose the large ability to write real Windows
applications which take advantage of the graphical features of the
environment. Using these frameworks you become vanquished to
transporting your text-based menu-driven select-1,2,3 application to
a pull-down form of the same thing. With Delphi you are making
Dialog based applications which are awfully boring.
But, the biggest drawback to using this abberation is size. Or,
should I say SIZE.
Here is an actual Delphi program, in its entirety. It has one form
and a small dialog to log onto the database. If you cancel the logon
dialog it gets a General Protection Fault (gee, what a surprise).
------------- cut here ---------------------
program Project1;
uses
Forms,
Unit1 in 'UNIT1.PAS' šForm1ć;
š$R *.RESć
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
unit Unit1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, DB, DBTables, Grids, DBGrids;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1CHANGE_STATUS: TStringField;
Table1CORPSRC_CODE: TStringField;
Table1CITY: TStringField;
Table1STATE_PROVINCE: TStringField;
Table1COUNTRY: TStringField;
Table1ABBREVIATED_ORG_NAME: TStringField;
Table1USERNAME: TStringField;
Table1MOD_FLAG: TStringField;
private
š Private declarations ć
public
š Public declarations ć
end;
var
Form1: TForm1;
implementation
š$R *.DFMć
end.
----------------- cut here ----------------------
Impossible to follow flow-of-control, huh? No wonder people have to
have debuggers. Readable? Hardly. Semantic content? Project1?
Unit1? Oh, yes... meaningful. Maintainable. Hardly.
Now, for the biggest shock of all, the size of the files that Delphi
spews out into your directory:
----------- cut here ----------------------
project1.dpr 161 2-09-95 14:23 ; Delphi Program (project1)
project1.opt 241 2-09-95 15:21 ; compiler option
unit1.pas 718 2-09-95 14:55 ; Unit1
unit1.dfm 862 2-09-95 15:21 ; form associated with Unit1
project1.dsk 1284 2-09-95 15:21 ; desktop settings
project1.res 2318 2-09-95 15:21 ; resources
unit1.dcu 2352 2-09-95 15:20 ; ???
project1.exe 366336 2-09-95 15:20 ; EXE from 879 bytes of code
and 862 bytes of form
project1.dsm 572957 2-09-95 15:21 ; settings and info
------------- cut here -------------------
Another interesting thing to note is that in the effort to make
programming as easy as possible, Delphi names everything for you.
Project1, Project2. Unit1, Unit2, etc. It's possible to change the
names, but of the 15 or so people using Delphi here, no one is
changing the names -- directories and directories littered with
files which all have similar names!
Yes, Delphi is another step toward the illusion that programming can
be done by anyone.
No, Delphi is certainly not a step forward in making programming more
robust and reliable.
It fails miserably at any concept of efficiency.
Taylor Hutt
pascal.207pedjak,
> U pravu si i u mom uputstvu to pise. Nisam uspeo da pronadjem ali
> sam siguran da sam negde video da TP ima poseban Boolean tip koji
> zauzima bajt (mozda word?) i to mi se ucinilo zanimljivo ali nisam
> nasao upotrebnu vrednost. Zbog toga sam ovak iz glave zakljuco da
Boolean types
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
There are four predefined boolean types:
Boolean, WordBool, LongBool, and ByteBool.
Syntax:
type
Boolean = (False, True);
WordBool = (False, True);
LongBool = (False, True);
ByteBool = (False, True);
Remarks:
These types are the following sizes:
- Boolean is Byte-sized (8 bits)
- WordBool is Word-sized (16 bits)
- LongBool is Longint-sized (32 bits)
- ByteBool is Byte-sized (8 bits)
pascal.208dejanr,
Uz poruku je zanimljiva diskusija o Delphi-ju, Borlandovom (budućem?)
"basic killer"-u. Priča se o programskom modelu, načinu rada, performansama
itd. Videćete da su utisci podeljeni, ali reklo bi se da su u većini
povoljni.
delphi.zippascal.209janko,
> procedure TView.HandleEvent(var Event:TEvent); virtual;
> substitute; begin ... end;
>
> Šta bi ovo radilo? Zamenilo bi kod standardnog
> HandleEventa ovim, i to ne ne kraju hij. stabla, već na
> samom početku, tako da bi ubuduće svi pozivi starog metoda
> ustvari ulazili u ovaj novi metod. Tehnički ovo uopšte
> nije teško izvesti. Ako je metod virtuelan, izmeni se VMT
> tabela objekta TView, ako nije onda se pri linkovanju
> koristi nova adresa. Pošto će novi metodi sigurno biti u
> drugim segmentima, potrebna je FVMT.
> Jedna od najvećih primena bi bila u dijagnostici. Sa ovim
> može lako da se izmeni ponašanje čitavog stabla klasa,
> menjanjem jeddnog metoda. Mogu na primer izmeniti
> ClearEvent, HandleEvent, SetState TView objekta tako da
> javljaju nekoj funkciji kad god instanca obradi ili primi
> Event, kad god se promeni stanje objekta (izgubi fokus,
> itd). Pošto će biti izmenjen top objekat, a sve dobro
> organizovane objektne hijerarhije (kakav je i TV) pozive
> prosleđuju uz stablo, svi će ti pozivi doći do promenjenih
> metoda. Postoji još par primena koje mi se vrte kroz
> glavu, al' ih još nisam smisleno formulisao. :)
Imam utisak da si malo pobrkao stvari -- obrada eventa nema veze sa
virtuelnim tabelama. virurlne tabele su deo jezika, a obrada eventa iz
tvog primera je stvar TurboVisiona (ako ti je iz njega primer), zar ne?
Jer, od virtuelnih funkcija, uvek se izvršava samo JEDNA.
"Prosleđivanje nagore" nije osobina jezika -- osobina jezika je da se
pozove ODGOVARAJUĆI metod za dati objekat. Ni više ni manje.
Promena TView metoda se radi promenom sorsa tog metoda i tačka. :)
pascal.210janko,
>> moduli, objekti. Ako ti sve treba "preko granica" piši i
>> dalje u Fortranu sa COMMON područjima.
>
> A šta fali FORTRAN-u?
Ništa, samo je malo zastareo. Ljudi i dan danas programiraju u njemu,
ali uglavnom oni koji to vuku kao "nasleđe iz prošlosti", ili koji imaju
specifične zahteve (recimo, ne žele da uče C++, ne žele da koriste neki
matematički program, a žele da rade sa kompleksnim brojevima).
Fakat je da su FORTRAN kompajleri po pravilu napisani tako da često
daju brži kod za računanje od njihovih sadrugova.
Neki konstrukti FORTRANA se i meni sviđaju. Konkretno, zadavanje labele
koja će se izvršiti pri neuspeloj U/I operaciji je lepo rešenje, meni
izgleda elegantnije od nesrećne obaveze u drugim jezicima da posle svake
U/I operacije eksplicitno pišeš if i akcije koje moraju da se preduzmu.
Tek "exceptions" rade to slično.
Međutim, ubeđen sam da FORTRAN osim za umereno prosto računanje (a i to
VRLO pažljivo, ko je navikao na čistije jezike ima velike šanse da
izračuna pogrešno :) ) ne treba koristiti (dakle, ne pisati nenumeričke
programe u njemu!) jer to potencijalno pravi veću štetu no korist, zbog
malog miliona razloga.
A i za numeričke, potrebna je vraška pažljivost. Pomenuti COMMON blokovi
su jedan od dobrih razloga za to.
pascal.211postmast,
From: zoka@topaz.hobbiton.CO.YU (Zoran Vilendecic)
Subject: Programiranje modema za velike brzine
Date: Tue, 14 Mar 1995 16:10:18 GMT
Koliko sam cuo obicne interapt procedure za slanje karaktera (mislim
pomocu int 16) nise podobne za brzine preko 2400 bps. Kako je moguce srediti
da sve sljaka?
--
********************************
email: zoka@topaz.hobbiton.co.yu
pascal.212zeljkoj,
> Međutim, ubeđen sam da FORTRAN osim za umereno prosto računanje
> (a i to VRLO pažljivo, ko je navikao na čistije jezike ima
> velike šanse da izračuna pogrešno :) ) ne treba koristiti
???? Objasni ovo? Može li neki primer?
> programe u njemu!) jer to potencijalno pravi veću štetu no
> korist, zbog malog miliona razloga.
Navedi bar jedan.
pascal.215jasicp,
> Bas smesno. :) Baci parce koda, ovo bi moglo biti interesantno.
Pronasao sam samo deo problema. Imam deo koda ( stvarno je veliki za
kompletno slanje, a i radi se o necemu "zvanicnom", oko 3000 linija ), gde
se pojavljuje greska. To je prilikom poziva funkcija :
PXErr := PXTblCreate ( ImeTabele , BrojPolja ,
@Polja , @Tipovi) ;
TestParadoxGreske;
.
.
.
TestDosGreske ---> if DosError <> 0 then halt ...
.
.
.
Ovo "if DosError..." sam stavio cisto da zaustavim program za vreme
debagovanja. Ne obracaj paznju na to, osim sto govori da POSLE poziva
Paradox Engine f-je TableCreate DosError nije vise nula. Napominjem da PRE
TblCreate DosError jeste 0. Ovaj deo koda se nalazi u jednoj proceduri, a
nekoliko istih kasnije, gde sam radio:
{$I-}
reset(a)
{$I+}
if IOResult<>0 then...
sasvim sam slucajno otkrio prilikom standardne provere ispravnosti
otvaranja datoteke, da DosError <>0 ! Mislio sam da je problem u "reset"
ali nije. Vratilo me proveravanje sve do pomenute TblCreate. Napominjem
da je PXErr sasvim u redu ! Nema nikakve greske i tabela se savim normalno
kreira i odradi posao, samo sto mi iskoci poruka o gresci ( jer sam to
ugradio u program ) koja samo javi gresku (program nastavi da radi sasvim
normalno). Dakle, sve normalno radi, ali DosError<>0 posle TblCreate ??
Izmedju TblCreate i onog Reset nema poziva funkcija koje bi mogle
prouzrokovati problem sa DosError var.
Evo i procedure koja daje poruku o gresci, a koja je detektuje ni kriva
ni duzna posle "Reset", nekoliko blokova dalje od "osnivaca" problema,
TblCreate:
uses Editors, Objects;
procedure PrikazGreskeIODOS;
procedure PrikazGreskeParadox;
.
.
.
implementation
uses Dos, MsgBox, PXEngine,
Views, App, PXMsg,
Drivers,
Display, constvar;
.
.
.
procedure PrikazGreskeParadox ;
begin
if PXErr <> PXSuccess
then
begin
MessageBox(#3'Greska u radu aplikacije #13 +
#3'Kod ( opis ) greske je :'#13#3+PXErrMsg ( PXErr
),
nil, mfError or mfOKButton);
end;
end;
procedure PrikazGreskeIODOS ;
var ErrorStr : string[3];
begin
if DosError <> 0
then
begin
str ( DosError, ErrorStr ) ;
MessageBox(#3'Greska u radu sa DOS-om '#13 +
#3'Kod ( opis ) greske je :'#13#3+ErrorStr,
nil, mfError or mfOKButton);
end;
end;
.
.
.
pascal.216vlador,
> Pronasao sam samo deo problema. Imam deo koda ( stvarno je veliki za
žekaj, je l' se program terminatira povodom te greške? Možda bi trebalo
pogledati sors Paradoxovih f-ja koje koristiš - možda one nešto čačkaju.
Možda koriste neke trikove pa se error može 'ladno ignorisati?
pascal.217postmast,
From: Jovan.Sedlan@f119.n111.z38.setgate.setnet.co.yu (Jovan Sedlan)
Subject: pascal
Date: Mon, 13 Mar 1995 06:18:01
On 10 Mar 95 02:07pm, "Ivan Lotina" wrote to All:
IL> Kako da disejblujem ctrl-c, ranije sam znao ;)
CheckBreak := False;
(na pocetku programa :)
Jole :Q...
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.218postmast,
From: Jovan.Sedlan@f119.n111.z38.setgate.setnet.co.yu (Jovan Sedlan)
Subject: Die & Run
Date: Mon, 13 Mar 1995 02:05:00
On 9 Mar 95 11:01pm, Sebastian Adanko wrote to All:
SA> Hi!
SA> Svojevremeno je neko ovde objasnio kako ima neki fazon koji dopusta
SA> da se iz Turbo Pascala (7.0) postigne to da neki program stane,
SA> istovremeno pustajuci u rad neki drugi program.Ne mislim na Exec,
SA> nego na to da se bas,redovno,prekine i onda pusti onog drugog.
Ne znam da li je neko resio, ali se secam da je u nekom od starijih
brojeva Racunara bilo resenje za C. Cini mi se da je bilo "relativno"
hakersko resenje, ali da za C cak i postoji naredba (mislim da se zove
"spawn").
Sto se tice TP-a, nemam pojma. (Sad ces da se naljutis na mene sto ti
ovoliko pisem i na kraju kazem da nemam pojma ;)
Jole :Q...
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.219postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: Memory
Date: Mon, 13 Mar 1995 17:10:24
Hail to you, oh great Predrag of the noble house Supurovic !
AC> Uf, kad sam ja tako poslednji put radio u paskalu... Ako me secanje
AC> ne vara, trebalo bi da ide u stilu VAR I:ARRAY[1..8] OF PACKED BOOLEAN,
AC> ili PACKED ARRAY[1..8] OF BOOLEAN. Eksperimentisi malo, valjda ces
AC> pronaci :)
PS> U Turbo Paskalu je rec PACKED ostavljena samo radi kompatibilnosti,
PS> a inace nema funkciju posto se nizovi uvek pakuju.
Pa zar onda ne moze da se BOOLEAN stisne u jedan bit?
Phuzzy Logik
... Najokrutnije lazi izricu se cesto sutnjom. - R.L. Stevenson
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.220postmast,
From: Stevan.Dejanovic@f119.n111.z38.setgate.setnet.co.yu (Stevan Dejanovic)
Subject: pascal
Date: Mon, 13 Mar 1995 21:06:00
IL> Kako da disejblujem ctrl-c, ranije sam znao ;)
JS>
JS> CheckBreak := False;
JS>
JS> (na pocetku programa :)
JS>
Naravno prvo
uses Crt;
=> Mad Dog <=
... Open mouth, insert foot, echo internationally.
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.221postmast,
From: SETN@f101.n101.z38.setgate.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 16 Mar 1995 22:38:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.PASCAL maintained on 16.02.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 300
Number of messages covered in report: 46
Processed period from: 18-2-1995 to 16-3-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Attila Csipa............. 38:111/107 2 21 13 61.90%
2. Stevan Dejanovic......... 38:111/119 1 10 6 60.00%
3. Kliment Andreev.......... Invalid Origin 1 12 7 58.33%
4. "Janko Stamenovic"....... Invalid Origin 3 47 27 57.45%
5. Petar Zivanovic.......... 38:103/128 1 15 8 53.33%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Predrag Supurovic 4 8.7% 479 52.78%
2. Sebastian Adanko 4 8.7% 571 27.27%
3. "Dejan Ristanovic" 4 8.7% 2767 3.59%
4. Jovan Sedlan 3 6.5% 401 36.00%
5. "Janko Stamenovic" 3 6.5% 702 57.45%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 32 69.6%
2. Sebastian Adanko 4 8.7%
3. Attila Csipa 2 4.3%
4. Predrag Supurovic 2 4.3%
5. Kliment Andreev 1 2.2%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. pascal...................................................... 32
2. Memory...................................................... 9
3. Die & Run................................................... 2
4. novi TP?.................................................... 1
5. Statistics.................................................. 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 5 10.9% *************************
Monday 7 15.2% ************************************
Tuesday 3 6.5% ***************
Wednesday 9 19.6% **********************************************
Thursday 7 15.2% ************************************
Friday 5 10.9% *************************
Saturday 10 21.7% ***************************************************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 7 15.2% **************************************************
2:00- 3:59 5 10.9% ************************************
4:00- 5:59 1 2.2% *******
6:00- 7:59 3 6.5% *********************
8:00- 9:59 6 13.0% *******************************************
10:00-11:59 4 8.7% ****************************
12:00-13:59 1 2.2% *******
14:00-15:59 2 4.3% **************
16:00-17:59 3 6.5% *********************
18:00-19:59 4 8.7% ****************************
20:00-21:59 5 10.9% ************************************
22:00-23:59 5 10.9% ************************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.222vitez.koja,
#=> From: zoka@topaz.hobbiton.CO.YU (Zoran Vilendecic)
#=> Koliko sam cuo obicne interapt procedure za slanje
#=> karaktera (mislim pomocu int 16) nise podobne za brzine
#=> preko 2400 bps. Kako je moguce srediti da sve sljaka?
Potrebno je da napišeš sopstveni interrupt handler, koji će da
kupi karaktere sa porta kako koji bude dolazio, i prosleđivati ih
dalje. Cela operacija zahteva malo dokumentacije i malo truda,
i radi, ali...
Preporučio bih ti da uzmeš neku od šarevare biblioteka za
serijsku komunikaciju - one su sve veoma razrađene i doterane.
Najbolja biblioteka, po meni, je PCL, ako hoćeš da se baviš
niskim nivoom komunikacije, odnosno OPENDOORS, ukoliko praviš
DOOR program, i nećeš da se zamajavaš sa "obaveznim sastavom" :)
pascal.223dejanr,
>> > U Turbo Paskalu je rec PACKED ostavljena samo radi kompatibilnosti,
>> > a inace nema funkciju posto se nizovi uvek pakuju.
>>
>> Pa zar onda ne moze da se BOOLEAN stisne u jedan bit?
Ne može... moraš praviti procedure koje pakuju, raspakuju i testiraju
bitove. Nije preterani problem.
pascal.224mitcho,
> SA> istovremeno pustajuci u rad neki drugi program.Ne mislim na
> Exec, SA> nego na to da se bas,redovno,prekine i onda pusti
> onog drugog.
>
> Ne znam da li je neko resio, ali se secam da je u nekom od
> starijih brojeva Racunara bilo resenje za C. Cini mi se da je
> bilo "relativno" hakersko resenje, ali da za C cak i postoji
> naredba (mislim da se zove "spawn").
U C-u postoji više funkcija za rad sa "child" procesima. Medjutim,
funkcija spawn ne radi ono što se tražilo. Ona ne prekida izvršavanje
"parent" programa, već radi kao Exec u Paskalu. Funkcije koje prekidaju
izvršenje roditeljskog programa su exec... familija funkcija (u TC).
pascal.225mibak,
Molim sve upućene da mi pomognu oko sledećeg problema:
Potrebno je iz pascala štampati neki poznati grafički format. Pokušao sam
sa TPPCX ali pošto koristim TP7 ne prihvata format TPU datoteka.
Hvala.
/\/\|3
pascal.226mibak,
Možle li neko da me podseti kako se sa write/ln štampa iz paskala.
Da li ista procedura prijavuje gršku prilikom štampaču(pretpostavljam preko
neke promenjive). Bilo bi poželjno da štampač sam, bez zadavanja linija po
strani, može da odredi kad je kraj strane i pređe na novu.
Hvala.
/\/\|3
pascal.227jasicp,
> Cekaj, je l' se program terminatira povodom te greske? Mozda bi trebalo
> pogledati sors Paradoxovih f-ja koje koristis - mozda one nesto cackaju.
> Mozda koriste neke trikove pa se error moze 'ladno ignorisati?
Program se savim normalno izvrsava. Moja f-ja za error handling je
vrlo prosta, samo prijavi gresku i ok. Nema uticaja na izvrsavanje
programa. Tabela normalno odradi posao. A gde da nadjem izvorni kod PX
funkcija :) ? Ne verujem da bi mi Borland to rado poslao. Ipak mislim da
dolazi do interakcije sa nekim delom mog koda, ali za to cu morati da
usijam TD ... A i nije mi presudno, osim sto me nervira sto ne mogu da
pronadjem uzrok. Sigurno je zackoljica do mene, jer TBLCreate ovo ne radi
na drugim mestima ( verovatno ? ). Samo, posle nedelju dana trazenja
uzroka, stvarno mi nije jasno sta bi trebalo da bude problem.
pascal.228postmast,
From: anubis@topaz.hobbiton.CO.YU (Igor Loncarevic)
Subject: Re: pascal
Date: Sun, 19 Mar 1995 23:35:43 GMT
U poruci od Vladimir Maric (vitez.koja@sezam.UUCP) stoji:
## #=> From: zoka@topaz.hobbiton.CO.YU (Zoran Vilendecic)
## #=> Koliko sam cuo obicne interapt procedure za slanje
## #=> karaktera (mislim pomocu int 16) nise podobne za brzine
## #=> preko 2400 bps. Kako je moguce srediti da sve sljaka?
## Potrebno je da napises sopstveni interrupt handler, koji ce da
## kupi karaktere sa porta kako koji bude dolazio, i prosledivati ih
## dalje. Cela operacija zahteva malo dokumentacije i malo truda,
## i radi, ali...
Nema ali:). To je to... btw pogledaj malo zz-ov code. Jest da je c
ali portira se za 2.3 sec. :)
## Preporucio bih ti da uzmes neku od sarevare biblioteka za
## serijsku komunikaciju - one su sve veoma razradene i doterane.
## Najbolja biblioteka, po meni, je PCL, ako hoces da se bavis
## niskim nivoom komunikacije, odnosno OPENDOORS, ukoliko pravis
## DOOR program, i neces da se zamajavas sa "obaveznim sastavom" :)
Shareware je brezveze... najbolje je da se potrudi. Ako uspijes da uradis
sigurno ces puno nauciti... a ako ne, tu smo vici. :)
A PCL, je tek shit... norocito ona shareware poruka.
Sam i u se ...
--
Igor Loncarevic, anubis@topaz.hobbiton.CO.YU
anubis@hobbiton.CO.YU
pascal.229janko,
>> Međutim, ubeđen sam da FORTRAN osim za umereno prosto
>> računanje (a i to VRLO pažljivo, ko je navikao na čistije
>> jezike ima velike šanse da izračuna pogrešno :) ) ne
> treba koristiti
>
> ???? Objasni ovo? Može li neki primer?
Pretpostavljam da poznaješ Fortran, a i druge više programske jezike,
ako hoćeš da diskutujemo o tome? Ovde inače govorim o Fortranima 4 i 77,
novije ne znam.
U Fortranu ti kompajler ne garantuje čemu ćeš za boga miloga pristupati
-- čak ti daje legalno sredstvo za pristupanje pogrešnim podacima --
COMMON blokovi -- zbuni se u REDOSLEDU navođenja imena i gađaćeš ono što
nisi ni sanjao. Dalje, nepostojanje rekurzije. Još dalje, stalni prenos
"by reference". Nemogućnost uvođenja složenih tipova podataka.
Nepostojanje dinamičke alokacije. Imena ograničena na šest slova (u
standardu). Tragično.
>> programe u njemu!) jer to potencijalno pravi veću štetu
>> no korist, zbog malog miliona razloga.
>
> Navedi bar jedan.
Ono što se zove "održavanje" (iako se softveru niti menja ulje niti
šteluje paljenje) a misli se na to da kada je nešto napisano, nije remek
delo za uvek, nego često treba da se promeni da radi nešto "potpuno
drugačije". Fortran sors se mnogo teže prilagođava izmenama od Paskala,
Paskal od C++-a i tako je to.
pascal.230inesic,
> Možle li neko da me podseti kako se sa write/ln štampa iz
> paskala.
USES printer;
BEGIN
writeLn(lst,'Pera');
END.
Gornji program bi trebao da ispiše Pera, ako je štampač on-line.
Ja ti ipak preporučujem da dokument ispišeš u neki fajl, tamo ga
lepo formatiraš, središ, pa ga onda pošalješ dosovom printu na
štampu.
pascal.231zeljkoj,
> "by reference". Nemogućnost uvođenja složenih tipova podataka.
Evo malog izvoda iz helpa MS FORTRAN-a 5.1:
─────STRUCTURE...END STRUCTURE──────────────────────────────────────────────
Action
Defines a compound variable type from other variable types.
Syntax
STRUCTURE /type_name/
element_declaration(s)
.
.
.
END STRUCTURE
Parameter Description
type_name The name for the new data type.
element_declarations Any combination of variable-typing
statements and UNION constructs. Can
include previously defined structure
types in RECORD declarations.
> Nepostojanje dinamičke alokacije. Imena ograničena na šest
─────ALLOCATABLE Attribute──────────────────────────────────────────────────
Allows the dimensions of an array to be dynamically determined at
run-time, not during compilation. ALLOCATABLE can appear in either
a type declaration or a DIMENSION statement.
Indicate an allocatable array by leaving colons in the declaration
where you would ordinarily place dimensions. For instance, the
following line declares a dynamic array with three dimensions:
REAL*8 dynamic [ALLOCATABLE] (:, :, :)
Priznajem da ovih stvari nema u standardu iz 1977. godine, ali danas ih
podržavaju skoro svi FORTRAN kompajleri.
pascal.232vitez.koja,
#=> Shareware je brezveze... najbolje je da se potrudi. Ako
#=> uspijes da uradis sigurno ces puno nauciti... a ako ne,
#=> tu smo vici. :)
Ama, nema to svrhe. Ako ti treba nešto da odradiš, a ne razumeš
se u problematiku serijskih komunkacija, shw. biblioteke su odličan
izbor.
#=> A PCL, je tek shit... norocito ona shareware poruka.
Koja shareware poruka ? O;>
#=> Sam i u se ...
...i u svoj dibager. I dok dlanom o dlan, nema poruke ;)
ps. dobar ti je kriterijum ;) PCL naročito ne valja zbog shw
poruke :)))
pascal.233mmitrovic,
Ů█▀█Ţ Imam utisak da si malo pobrkao stvari -- obrada eventa nema veze sa
Ů█▀█Ţ virtuelnim tabelama. virurlne tabele su deo jezika, a obrada eventa iz
Ů█▀█Ţ tvog primera je stvar TurboVisiona (ako ti je iz njega primer), zar ne?
Ne. ;) Handlovanje sam dao kao primer, princip je iz prog. jezika.
Da nije ne bi postojala rezervisana reč inherited koja poziva
nasleđene metode. Samo se umesto trenutne VMT koristi VMT nadređenog
objekta.
Ů█▀█Ţ Jer, od virtuelnih funkcija, uvek se izvršava samo JEDNA.
Ů█▀█Ţ "Prosleđivanje nagore" nije osobina jezika -- osobina jezika je da se
Ů█▀█Ţ pozove ODGOVARAJUĆI metod za dati objekat. Ni više ni manje.
Posledica pređašne greške. ;)
Prosleđivanje poziva uz stablo je apsolutno sigurno deo OO jezika.
Da nije tako, bilo bi prekršeno pravilo (vidi ko se 'vata za pravila B) )
o "code reusability", jer bi ponovo morao da kucaš sve što je bilo i u
nadređenom metodu, čak i ako ti je cilj bio da samo dodaš nešto. Puno
pisanja bez potrebe. Tvoj objekat treba da živi, i pusti druge da žive too.
:)
Ů█▀█Ţ Promena TView metoda se radi promenom sorsa tog metoda i tačka. :)
Hmm. Pa ne bi ja da pišem posle tačke, malo mi je nezgodno. :)
Ako si mislio na ONO menjanje, ja bih samo da pitam gde se ima naći
kompletan source Turbo Visiona. ;)
pascal.234mmitrovic,
Ů█▀█Ţ Priznajem da ovih stvari nema u standardu iz 1977. godine, ali danas ih
Ů█▀█Ţ podržavaju skoro svi FORTRAN kompajleri.
Možda, ali to ga i dalje ne čini prog. jezikom u kome bi pisao
bilo šta, naročito ne sistemske programe.
Osim toga, prekinite da me mučite, move 2 prog.jezici ili kako se već
zvaše ta tema. Ovo je tema pascal.
pascal.235vojas,
> programa. Tabela normalno odradi posao. A gde da nadjem izvorni kod PX
> funkcija :) ? Ne verujem da bi mi Borland to rado poslao. Ipak mislim da
Zašto ne bi? Ja imam instalacionu verziju Paradox Engine 3.0 i unutra imaš
source kod funkcija...
pascal.236mjova,
> Zašto ne bi? Ja imam instalacionu verziju Paradox Engine
> 3.0 i unutra imaš source kod funkcija...
da li si siguran u ovo? ja sam svojevremeno pisao o PE i dobio
original, ali nije imao source za PE. jedino je imao neke primere
i izvorni kod za C++ veznik.
pascal.237postmast,
From: Guduric.Predrag@f113.n103.z38.setgate.setnet.co.yu (Guduric Predrag)
Subject: Re: pascal
Date: Sun, 12 Mar 1995 07:49:03
"V> Da li je moguce na Turbo Pascalu formirati niz od ~ 250 000 clanova.
"V> Treba bi jer bi radio FFT za 512x512 tacaka.
"V> Unapred zahvalan za svaku sugestiju!
Ne moze ogranicen si na bednih 64 k. Umesto da prelazis na FORTRAN
upitaj se li bas moras za toliki broj clanova da koristis RAM?
HDD je mnogo mnogo veci. Iako ce te prilicno usporiti iskoristi ga...
Napravi datoteku odgovarajuceg tipa i mislim da ce na brzoj masini
brzina nece biti tako tragicna. A i da hoce 4-5 h tamo amo . . .
Caveman
... The last thing I saw was this Big Blue Cave!
* Origin: * Milliways * BELGRADE * Serbia * SETNet Address (38:103/113)
pascal.238postmast,
From: Sebastian.Adanko@f107.n111.z38.setgate.setnet.co.yu (Sebastian Adanko)
Subject: pascal
Date: Thu, 16 Mar 1995 01:26:44
Hail to you, oh great "Zeljko of the noble house Jovanovic" !
> Svojevremeno je neko ovde objasnio kako ima neki fazon koji
> dopusta da se iz Turbo Pascala (7.0) postigne to da neki
> program stane,
"J>
"J> Pitanje je postavio dejanr u PC.SOFT, poruka 9.6. (13.11.1989.)
"J> Odgovori su u porukama 9.7 i 9.24.
Posto jos nemam BInt racun, moram ovako da ti se zahvalim...
Sorry 'bout da noise, people...
Phuzzy Logik
... Baba,ako me ne slusas,pusticu ti CECU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.239postmast,
From: anubis@topaz.hobbiton.CO.YU (Igor Loncarevic)
Subject: Re: pascal
Date: Tue, 21 Mar 1995 14:45:11 GMT
U poruci od Vladimir Maric (vitez.koja@sezam.UUCP) stoji:
## Ama, nema to svrhe. Ako ti treba nesto da odradis, a ne razumes
## se u problematiku serijskih komunkacija, shw. biblioteke su odlican
## izbor.
Pa sto si se kacio onda sa necim sto neznas?! Ako ti treba nesto,
a zelis da znas kako radi (a covjek je pitao uvravo tu stvar, kako
da uradi a ne jad program da mi uradi) trebao bi da znas (rasturas)
takve stvari.
## #=> A PCL, je tek shit... norocito ona shareware poruka.
## Koja shareware poruka ? O;>
Ona koja stopira izvrsavanje ... cini mi se PCL430p da sam pregleda..
## ...i u svoj dibager. I dok dlanom o dlan, nema poruke ;)
I sta sad? Sad znas kako funkcionise "tvoj" sistem...
## ps. dobar ti je kriterijum ;) PCL narocito ne valja zbog shw
## poruke :)))
Nisam govorio o tome ... , ali sta ja pricam, valjda znas o
cemu se govorilo. Oladi loma:).
--
Igor Loncarevic, anubis@topaz.hobbiton.CO.YU
anubis@hobbiton.CO.YU
pascal.240postmast,
From: zoka@topaz.hobbiton.CO.YU (Zoran Vilendecic)
Subject: Re: pascal
Date: Tue, 21 Mar 1995 21:36:16 GMT
Vladimir Maric (vitez.koja@sezam.UUCP) wrote:
: #=> Shareware je brezveze... najbolje je da se potrudi. Ako
: #=> uspijes da uradis sigurno ces puno nauciti... a ako ne,
: #=> tu smo vici. :)
: Ama, nema to svrhe. Ako ti treba nesto da odradis, a ne razumes
: se u problematiku serijskih komunkacija, shw. biblioteke su odlican
: izbor.
: #=> A PCL, je tek shit... norocito ona shareware poruka.
: Koja shareware poruka ? O;>
: #=> Sam i u se ...
: ...i u svoj dibager. I dok dlanom o dlan, nema poruke ;)
: ps. dobar ti je kriterijum ;) PCL narocito ne valja zbog shw
: poruke :)))
Kojo, bre:).
Koji ce mi pcl kad nema sors u sebi? Princip Kojo, princip:).
--
---------------------------------
email: zoka@topaz.hobbiton.co.yu
pascal.241postmast,
From: NIKOLI05892D@BUEF31.ETF.BG.AC.YU (Nikolic Ivica)
Subject: Re: Memory
Date: Wed, 22 Mar 1995 16:16:06 GMT
In <795064631.AA02068@setgate.setnet.co.yu> broker@setnet.co.yu writes:
>
> U Turbo Paskalu je rec PACKED ostavljena samo radi kompatibilnosti,
> a inace nema funkciju posto se nizovi uvek pakuju.
Da li neko zna kako to TP u stvari 'pakuje' nizove, i da li ih uopste
pakuje, kako se tvrdi u HELP-u. Meni to 'pakovanje' mirise na neki reklamni
trik.
U stvari, oduvek me je zanimalo na kakvo je to pakovanje nizova mislio
Wirth kad je uveo klauzulu PACKED u Pascal.
pascal.242mmitrovic,
Ů█▀█Ţ Da li neko zna kako to TP u stvari 'pakuje' nizove, i da li ih uopste
Ů█▀█Ţ pakuje, kako se tvrdi u HELP-u. Meni to 'pakovanje' mirise na neki
Ů█▀█Ţ reklamni trik.
Borlandov nikako.
Ů█▀█Ţ U stvari, oduvek me je zanimalo na kakvo je to pakovanje nizova mislio
Ů█▀█Ţ Wirth kad je uveo klauzulu PACKED u Pascal.
ako uzmeš neki stari pascal i probaš:
var a: array Š1..10Ć of char;
b: packed arrayŠ1..10Ć of char;
moći ćeš da uradiš writeln(b), ali ne i writeln(a).
U principu mislim da Wirthov pascal tretira packed tipove kao bazne, a
ne kao izvedene.
pascal.243duzle,
Da li neko ima ideju kako da .exe proizveden BP-om sam sebe relocira u UM ?
Meni je palo na pamet da uzmem početnu adresu procedure/funkcije i da je
kopiram sve dok ne naletim na RET ili RETF (i tako za sve proc/funkc.). Samo
mi se čini da ovo ipak nije baš najbolje rešenje. Znači, treba neka rutina
koja bi ceo program prekopirala odjednom. Jel ima neko nešto takvo ?
Ognen
pascal.244novak,
> Potrebno je da napišeš sopstveni interrupt handler, koji će da
> kupi karaktere sa porta kako koji bude dolazio, i prosleđivati ih
> dalje. Cela operacija zahteva malo dokumentacije i malo truda,
> i radi, ali...
Pa jel posedudujes ti nesto te "dokumentacije", i gde bi se
to moglo naci...
poz
Novak
pascal.245vitez.koja,
#=> From: anubis@topaz.hobbiton.CO.YU (Igor Loncarevic)
#=> Pa sto si se kacio onda sa necim sto neznas?!
Eto. Ni ti sa pravopisom srpskog jezika ne stojiš baš najbolje,
pa ipak ga koristiš.
#=> Oladi loma:).
...
pascal.246vitez.koja,
#=> From: zoka@topaz.hobbiton.CO.YU (Zoran Vilendecic)
#=> Kojo, bre:).
#=> Koji ce mi pcl kad nema sors u sebi? Princip Kojo,
#=> princip:).
Eh, ti principi... :)
Uzmi knjigu "PC modemske komunikacije" Aleksandra Radovanovića i
sve će ti postati jasno. U knjizi je dat i skup funkcija za rad
sa serijskim portom, u obliku C sorsa.
pascal.247mmitrovic,
Ů█▀█Ţ Da li neko ima ideju kako da .exe proizveden BP-om sam sebe relocira u
Ů█▀█Ţ UM ? Meni je palo na pamet da uzmem početnu adresu procedure/funkcije i
Ů█▀█Ţ da je kopiram sve dok ne naletim na RET ili RETF (i tako za sve
Ů█▀█Ţ proc/funkc.). Samo mi se čini da ovo ipak nije baš najbolje rešenje.
Ů█▀█Ţ Znači, treba neka rutina koja bi ceo program prekopirala odjednom. Jel
Ů█▀█Ţ ima neko nešto takvo ?
Ovo sam isto odgovorio i DPriestu..., pa evo i u conf.
Da bi program sam sebe prebacio u UMB, nije dovoljno da se kopiraju
proc/funk. do ret/f naredbe. Šta više, to neće ni raditi. Potrebno je
naći slobodan blok u UMBu i izpočetka UžITATI program u njega i ispucati
relokacionu tabelu u novi program shodno njegovom položaju u UMBu. Znam
da ste svi oduševljeni DblSpace-om i Stacker-om kako oni sebe dižu u
UMB, ali ne postoji "magični" DOS poziv koji će to uraditi. Zbog promene
segmenta ništa od toga nije moguće bez novog loadera.
pascal.248postmast,
From: SAJDL_39394D@BUEF31.ETF.BG.AC.YU (Sajdl Tomislav)
Subject: memory
Date: Fri, 24 Mar 1995 10:46:15 GMT
E, sada mi vise mnogo toga nije jasno. U jednoj knjizi koja je inace
bila ocajna (TPascal 5.5 od Kompjuter biblioteke iz Cacka) jer je
zapravo bila nepismen prevod (valjda) zvanicnog uputstva, sam procitao da
PACKED ne znaci nista u TP-u. Da li se nesto od TP-a 5.5 promenilo, ne
znam. Dakle PACKED se propusta kao deo standardnog pascala ali ga TP
ignorise.
Druga stvar me zbunjuje. Zasto postoje cak cetiri tipa boolean?
Koja je sustinska razlika izmedju njih?
pascal.249jasicp,
> Zasto ne bi? Ja imam instalacionu verziju Paradox Engine 3.0 i unutra imas
> source kod funkcija...
Dobija se source primera za svaku fun., database framework i source
jednog programa - demoa. Ja nemam source funkcija.
pascal.250postmast,
From: Ivan.Markovic@f122.n103.z38.setgate.setnet.co.yu (Ivan Markovic)
Subject: PASCAL
Date: Sun, 19 Mar 1995 14:36:11
Ne znam kako drugi, ali sam ja prestao da koristim
{$I-} ... {I+} kombinaciju. Cesto mi se desavalo isto sto i
tebi - prijava greske iako je nema ...
Za proveru fajla koristim GetFattr i DosError ...
Ako neko zna razlog "sasavog" ponasanja IORESULT-a, bilo bi
lepo da objasni uzrok (volim da znam razloge ...)
Pozdrav XENOX
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
pascal.251vvelisavljev,
Može li neko da mi objasni čemu služe Segments i Offset (ako se
tako piše) kod pointera i adresaa?
U HELP-u ovako stoji :
Ptr(Segs,Offs);
pascal.252evlad,
>> Može li neko da mi objasni čemu služe Segments i Offset (ako se
>> tako piše) kod pointera i adresaa?
Za segmentni deo i offsetni deo adrese ...
offset zamisli kao stari dobri C64, a segment x-ti C64 ;)
// ovo nije vic meseca :)))
Sad ozbiljno: Uzmi neko uputstvo za programiranje I80x86 familije
mikroprocesora, pa će ti biti jasnije. Probaj u ovoj conf 13.264 <zeljkoj>
da skineš file ASMTUTOR.ZIP
Tamo lepo piše:
calculation SSSS0 ---- value in the relevant segment register SHL 4
depicted in AAAA ---- apparent address from register or instruction
hexadecimal --------
RRRRR ---- real address placed on address bus
pascal.253vitez.koja,
#=> From: Ivan.Markovic@f122.n103.z38.setgate.setnet.co.yu (Ivan Markovic)
#=> Ako neko zna razlog "sasavog" ponasanja IORESULT-a, bilo
#=> bi lepo da objasni uzrok (volim da znam razloge ...)
Ne znam za paskal, ali u Cu errno (neki ekvivalent IORESULT-a)
ima smislenu vrednost samo ukoliko se greška zaista dogodila,
dok ukoliko nema greške može da dâ pogrešnu informaciju. Znači,
za kontrolu grešaka nije dovoljno samo kontrolistati vrednos
errno promenljive.
pascal.254vojas,
> da li si siguran u ovo? ja sam svojevremeno pisao o PE i dobio
> original, ali nije imao source za PE. jedino je imao neke primere
> i izvorni kod za C++ veznik.
Ja se veoma izvinjavam, jer sam izneo netačnu informaciju :( Kada sam pogledao
datoteke, jedini source kod je bio PXMSG. Još jedno izvinjenje :(
pascal.255postmast,
From: bb_link@durlan.co.yu (bb_link)
Subject: PASCAL
Date: Tue, 28 Mar 95 00:32:31 MET
ORIGIN. From: DJDULE
ORIGIN. To: IVAN MARKOVIC
IM > Pozdrav XENOX
Gde si XENOXe. Sta ima. Ajd cik pogodi oklen se znamo. Pravo ime mi je
Dusan Djordjevic a iz Nisa sam ;)))
-- SPEED 1.30 #514: Ne pozajmljuj nekome novac. To izaziva amneziju.
pascal.256postmast,
From: Ognen.Spiroski@f132.n108.z38.setgate.setnet.co.yu (Ognen Spiroski)
Subject: pascal
Date: Fri, 24 Mar 1995 16:05:03
-=> Reply to: Igor Loncarevic <=-
IL> A PCL, je tek shit... norocito ona shareware poruka.
MMĆ Vidis, ja ne mislim da je shit. Shareware poruka se lako
MMĆ skloni ($55), a toliko vredi dati. Biblioteka je odlicna.
MMĆ Medjutim, ako nema preterane potrebe za pisanje LeLe
MMĆ pristupa portu, onda je najbolje ici preko Fossil-a.
Posto i mene muci slican problem, imas li sors za pracnje naredbe fossil-u ? Jer sam koristio PCL i sam se zeznuo... :((
0GZy
* 0Gi'S eDiT0R * With faster machines comes slower software
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž (38:108/132)
pascal.257postmast,
From: Ognen.Spiroski@f132.n108.z38.setgate.setnet.co.yu (Ognen Spiroski)
Subject: TP & FONTs
Date: Mon, 27 Mar 1995 13:53:05
Zdravo!
Zna li neko kako da font od fajl-a ucitam iz TP-a i koristim ga samo u programu, u 80x25 text mod. Font-file sadrzi sve one dzvrcke sto nalikuju na ovo:
xxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxx xxxxxxxxx
0GZy
p.s. ako nisam jasan recite...
* 0Gi'S eDiT0R * We are the people our parents warned us about.
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž (38:108/132)
pascal.259lovro,
Postoji li način da se predefiniše default font iz turbo
paskala, konkretno, ubacio bih yu slova, a ne znam kako.
Pomozite!
Lovro
pascal.260mmitrovic,
Problemčić: Kako da doznam da li je objekat čiju instancu imam,
naslednik nekog (određenog) objekta. Mogu lako da se uverim da li je
u pitanju baš taj objekat, međutim kako sa naslednicima? Ovo mi je
potrebno jer sam u jedan objekat dodao novi virtuelni metod, a jedini
način da budem siguran da ću pozvati ispravan (postojeći?) metod je
da se uverim da je u pitanju instanca nekog od nasleđenih objekata.
Ukoliko bi u pitanju bio neki drugi objekat, typecast bi pročitao
pogrešnu VMT.
Malo sam lutao po helpu, međutim nisam našao odgovarajuće "čisto"
rešenje. Probaću nešto da izmanipulišem, al reko' da pitam ako je neko
već radio takvo nešto. Siguran sam da je ovakvo nešto moguće, i vrlo
je korisno. žudi me da Borland nije mislio na to (možda i jeste, ali ja
to ne vidim :)).
pascal.261bigbrada,
*>> Postoji li način da se predefiniše default font iz turbo
*>> paskala, konkretno, ubacio bih yu slova, a ne znam kako.
Pa, ne znam za defaul font, ali za .CHR ima načina, nije da nema.
Lepo skineš ovo čudo od CHR Font Editora, pobiješ govna i gotova
stvar ;)
The.Great
P.S. Btw. program je shit, ali će poslužiti za ovo što ti hoćeš
da uradiš :)
fontedit.zippascal.262mrajko,
Kako da u TP-u prikazem tekst koji ce moci da se pomera gore-dole strelicama na
tastaturi???
Unapred hvala...
pascal.263lovro,
=- Pa, ne znam za defaul font, ali za .CHR ima načina, nije da
=- nema. Lepo skineš ovo čudo od CHR Font Editora, pobiješ
Eh, ali default font nije vektorski, već bitmap 8x8. Ne
(za)pomaže! Možda kada bih znao adresu na kojoj je, pa nešto ručno da uradim...
pascal.265ognjen,
Subject: Bug u Turbo pascalu 6.0 / GRAPH
Očigledno je da je Bug. I u najkraćim primerima, koji su
apsolutno prosti, a koriste grafiku, vrlo često (mada ne uvek,
čak i za isti program) program mi prijavljuje:
Error 200: Division by zero.
Naravno, od deljenja nema ni traga.
pascal.266jasicp,
> Ja se veoma izvinjavam, jer sam izneo netacnu informaciju :( Kada sam
> pogledao datoteke, jedini source kod je bio PXMSG. Jos jedno izvinjenje :(
Pa sta se bre toliko izvinjavas, ko da si Sloba :) !
pascal.267evlad,
>> Error 200: Division by zero.
>> Naravno, od deljenja nema ni traga.
Koliko KB si mu stavio u direktivi za stack, kada radiš sa grafikom
stavi bar 32k, možda pomogne
pascal.268postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: PE.gcards
Date: Thu, 30 Mar 1995 19:35:26
Evo mog priloga esnafu...
==========================================================================
BBS: ORESKA Conference: U.Pascal Imported: 11/06/1993
To: IAN MILLER Num: 9783 Date: 11/03/1993
Subj: Stuff... Prvt: N Read: N
==========================================================================
IM>Does anyone have either ASM or TP (7.0) code to do vga scrolling, ie as
IM>in BBS demos, loaders...
------------------------ SWAG snippet ---------------------------
{
Here is some demo code showing how to use Smooth.Obj. It offers
vertical and horizontal smooth scrolling in Text or Graphics modes.
NOTE: Requires Smooth.Obj (see below) EGA & VGA ONLY !!!!
REQUIRES: Smooth.Obj Run the debug script through DEBUG to create
Smooth.Obj. The NEXT message has the debug script.
ALSO: Until last week, I'd never seen a line of Pascal code.
So ForGIVE the rough edges of this code: bear in mind
the Complete novice status of its author <!!G!!> }
Uses Crt;
{ NOTE: SmoothScroll is a MEDIUM MODEL Asm/OBJ For use in
**either** Pascal or most flavors of modern BASIC.
It expects parameters to be passed by reference! We handle
that here by not including Var, then passing Ofs(parameter).
Don't know if this is appropriate, but it works. Comments? }
{$F+} Procedure SmoothScroll(Row, Column: Integer); external; {$F-}
{$L Smooth.Obj}
Var
Row, Col, Speed, WhichWay : Integer;
Ch : Char;
s : String [60];
begin
TextColor (14); TextBackground (0); ClrScr;
GotoXY (25,4); Write ('Press <Escape> to move on.');
ch := 'A';
For Row := 10 to 24 do
begin
FillChar (s, Sizeof(s), ch);
s[0] := #60; Inc (ch);
GotoXY (10, Row); Write (s);
end;
Speed := 1; { Change Speed! See notes. }
{The higher the Speed, the faster the scroll.
Use Speed = 1 For subtle scrolling.
Try Speed = 5 (10 in Graphics) For very fast scrolling.
Try Speed = 10+ (25 in gfx) to see some **Real shaking**.
Even in Text mode here, Row and Column use GraphICS MODE
pixel coordinates (ie., begin w/ 0,0). }
{================================= demo vertical smooth scrolling}
Row := 0; Col := 0;
WhichWay := Speed; { start by going up }
Repeat { press any key to end demo }
GotoXY (2,10); Write (Row, ' ');
SmoothScroll(ofs(Row), ofs(Col));
Row := Row + WhichWay;
if (Row > 150) or (Row < 2) then { try 400 here }
WhichWay := WhichWay * -1; { reverse direction }
if Row < 1 then Row := 1;
Until KeyPressed;
ch := ReadKey; Row := 0; Col := 0;
SmoothScroll ( ofs(Row), ofs(Col) ); { return to normal (sort of) }
{================================= demo horizontal smooth scrolling}
Row := 0; Col := 0;
WhichWay := Speed; { start by going left }
Repeat { press any key to end demo }
GotoXY (38,3); Write (Col, ' ');
SmoothScroll(ofs(Row), ofs(Col));
Col := Col + WhichWay;
if (Col > 65) or (Col < 0) then { try 300 here }
WhichWay := WhichWay * -1; { reverse direction }
if Col < 0 then Col := 0;
Until KeyPressed;
Row := 0; Col := 0; SmoothScroll(ofs(Row), ofs(Col));
end.
{ Capture the following to a File (eg. S.Scr).
then: DEBUG < S.SCR.
Debug will create SMOOTH.OBJ.
N SMOOTH.OBJ
E 0100 80 0E 00 0C 73 6D 74 68 73 63 72 6C 2E 61 73 6D
E 0110 87 96 27 00 00 06 44 47 52 4F 55 50 0D 53 4D 54
E 0120 48 53 43 52 4C 5F 54 45 58 54 04 44 41 54 41 04
E 0130 43 4F 44 45 05 5F 44 41 54 41 90 98 07 00 48 89
E 0140 00 03 05 01 87 98 07 00 48 00 00 06 04 01 0E 9A
E 0150 04 00 02 FF 02 5F 90 13 00 00 01 0C 53 4D 4F 4F
E 0160 54 48 53 43 52 4F 4C 4C 00 00 00 A7 88 04 00 00
E 0170 A2 01 D1 A0 8D 00 01 00 00 55 8B EC 06 56 33 C0
E 0180 8E C0 8B 76 08 8B 04 33 D2 26 8B 1E 85 04 F7 F3
E 0190 8B D8 8B CA 26 A1 4A 04 D0 E4 F7 E3 8B 76 06 8B
E 01A0 1C D1 EB D1 EB D1 EB 03 D8 26 8B 16 63 04 83 C2
E 01B0 06 EC EB 00 A8 08 74 F9 EC EB 00 A8 08 75 F9 26
E 01C0 8B 16 63 04 B0 0D EE 42 8A C3 EE 4A B0 0C EE 42
E 01D0 8A C7 EE 4A 83 C2 06 EC EB 00 A8 08 74 F9 83 EA
E 01E0 06 B0 08 EE 8A C1 42 EE 83 C2 05 EC BA C0 03 B0
E 01F0 33 EE 8B 76 06 8B 04 24 07 EE 5E 07 8B E5 5D CA
E 0200 04 00 F5 8A 02 00 00 74
RCX
0108
W
Q
'======== end of Debug Script ========
}
------------------------ SWAG snippet ---------------------------
Cyrus
■ SPEED 1.30 #666 ■ If life only had a scroll-back buffer with cut & paste.
■ U'NI-net: RichWare ShareWare ■ Antioch
... BR> If space separates us,why should we separate space
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.269postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: PASCAL
Date: Wed, 29 Mar 1995 12:47:45
bb> ORIGIN. From: DJDULE
IM > Pozdrav XENOX
bb> Gde si XENOXe. Sta ima. Ajd cik pogodi oklen se znamo. Pravo ime mi je
bb> Dusan Djordjevic a iz Nisa sam ;)))
Mozes li ti ovo u mail?!?!? Nemoj nam praviti sum.
... BR> Hey! Do not touch that pho├Ó˙┴¡ŞĹĂĂŠłž NO CARRIER
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.270postmast,
From: bb_link@durlan.co.yu (bb_link)
Subject: Delphi
Date: Thu, 30 Mar 95 22:36:16 MET
ORIGIN. From: DJDULE
ORIGIN. To: ALL
Zna li neko sta je to Borland Delphi ???
---
* SPEED 1.30 #514 * The OFFICIAL tagline of the 1996 Olympics!
pascal.271vojas,
> Eh, ali default font nije vektorski, već bitmap 8x8. Ne
> (za)pomaže! Možda kada bih znao adresu na kojoj je, pa nešto ručno da
Koristi BIOS interapte karakter generatora. To je INT 10h, AH = 11h, AL =
funkcija koja ti treba. Imaš u Ralph Brown listi interapta, a ako ne možeš
nigde da nađeš, zapomaži ovde, pa ćemo da to iskopamo...
pascal.272vvelisavljev,
Da li neko ima iskustva sa hardverskim ZOOM-om i PAN-om kod VGA
ULTRA ET3000 kartice? Ili barem neke druge koja podržava isto. U ovoj
mojoj knjižici ima napisano kako se otvara prozor preko interapta i
sistemskih promenljivih ali meni to baš nije najjasnije pa ako bi
neko
hteo da mi pomogne zanima me sledeće:
Na primer ovde piše:
Set Zoom Window
Function Code:
AX = 6
Arguments
BX = Segment address of window coordinate array
CX = Offset address of window coordinate array
The format of the array:
Offset[0] x start of zoom window
Offset[1] y start of zoom window
Offset[2] x end of zoom window
Offset[3] y end of zoom window
E, sad, kako bih ja sve ovo definisao u Pascalu. Pogotovo me
zanima
kako da definišem taj niz i napišem na kojoj je adresi. Znam da treba
nešto oko pointera ali ssam još slab u tome. Inače, trebalo bi da se
poziva Int 60H. Uz karticu idu Hotkey.com i Hotzoom.com potrebni za
to.
Uz karticu ide takođe i jedan demo u kome je lepo urađeno menjanje
veličine prozora, šetanje prozora po ekranu, veći-manji zoom itd.
Ako treba da ga pošaljem odma će te znati o čemu pričam.
Unapred hvala na pomoći.
pascal.273bkaradzic,
> Da li neko ima iskustva sa hardverskim ZOOM-om i PAN-om kod VGA
> ULTRA ET3000 kartice? Ili barem neke druge koja podrzava isto. U ovoj
> mojoj knjizici ima napisano kako se otvara prozor preko interapta i
> sistemskih promenljivih ali meni to bas nije najjasnije pa ako bi...
Evo sorseva (BAS,C) koji se dobijaju na disketi uz Tseng ET3000.
Ovo radi samo na ET3000 (i mozda ET4000).
čatßoy
et3000.zippascal.275postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: pascal
Date: Sun, 02 Apr 1995 10:27:02
"I> Postoji li nacin da se predefinise default font iz turbo
"I> paskala, konkretno, ubacio bih yu slova, a ne znam kako.
Jesi probao installuserfont?
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.276vvelisavljev,
> Evo sorseva (BAS,C) koji se dobijaju na disketi uz Tseng ET3000.
Tenx, pogledaću ih.
pascal.277lovro,
=- Koristi BIOS interapte karakter generatora. To je INT 10h,
=- AH = 11h, AL =
To je za tekst mod, zar ne. Mislio sam na default (grafički) font.
pascal.278postmast,
From: Jovan.Sedlan@f119.n111.z38.setnet.setnet.co.yu (Jovan Sedlan)
Subject: PE_PAS.Keyboard.Stuff
Date: Sat, 08 Apr 1995 17:20:03
On 30 Mar 95 08:46pm, Sebastian Adanko wrote to Jovan Sedlan:
SA> Nego, zasto mi se bafer tastature ne isprazni nakon sto zavrsim ispis
SA> mojih 15 znakova??
SA> Ja lepo u jednoj proceduri ispisem jedno, stavim end; u drugoj
SA> proceduri lepo pomocu interapta krenem opet isto sto i u prvoj, samo
SA> drugi tekst, a on nece da stampa. Pun bafer i nece da se isprazni :((
Nesto bas i nisam razumeo ovo... :(
JS>> vektora, kada je vrlo jednostavno napisati programcic koji ce (nakon
JS>> kreiranja poruka i izlaska i OLR-a) da raspakuje UPLOAD arhivu i da
JS>> "prikaci" potpis na svaku poruku?
SA>
SA> Ali, zar nece onda potpis da ide ispod taga?
SA> Ili ces raditi tako da prvo program mazne tag, obrise ga, napise potpis
SA> i onda vrati tag?
Ma, to je najmanji problem. Uzmes tekstualnu datoteku i trazis u njoj
odredjeni string (kod mene je to "Via Silver Xpress ...") ili jednostavno
par linija pre kraja (odredjen broj linija, koliko zauzima XPress-ov
"potpis") "ubacis" sve sto ti dusa hoce.
SA> Cool, samo obrati paznju na ono gore ;)
SA> (BTW, ovaj potpis ide novom metodom batch programa ;))
SA> phuzzy.logik@vacuum.breathers.club.edu.spc
He, he, he... Vec su ti neki napisali o ovoj tvojoj BATCH ideji.
Jole Q...
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.279postmast,
From: Guduric.Predrag@f113.n103.z38.setnet.setnet.co.yu (Guduric Predrag)
Subject: Re: Memory
Date: Sun, 09 Apr 1995 18:05:06
-=> Quoting Attila Csipa to Predrag Supurovic <=-
AC> radi sa bitovima, a ako kucne samo BOOLEAN onda TP radi sa bajtovima ?
AC> Sumnjam da je TP kompajler tako pametan i stedljiv :)
Nije ni pametan ni stedljiv samo podrazmuva komandu packed kod
Turbo Pascala koju si ranije morao da pises. BTW jesu li te
pozvali u Petnicu . . . Ja sam bio s tobom u jednoj grupi ali sumnjam
da ces se setiti . . .
Caveman
... "Scotty, beam me up another Blue Cave message."
* Origin: * Milliways * BELGRADE * Serbia * SETNet Address (38:103/113)
pascal.281postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: ANSI
Date: Wed, 12 Apr 1995 20:38:43
DJ> Kako da detektujem dali mi je "sugovornik" sa druge strane linije ANSI
DJ> capable? Koristim TP6.0 i PCL.
Uh, ne znam napamet, ali mi se cini da je neka komanda <Esc>J.
Pogledaj ansi komande i nadji neku koja "vraca" neku vrednost.
U krajnjem slucaju, zovni neki BBS ali iskljuci ANSI i vidi sta sve
BBS salje na pocetku. Vecina BBs-ova moze da automatski prepozna ANSI
i to rade upravo na gore navedeni nacin.
... TAG loading error...
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.282bulaja,
│3. Mislim da za toliku cenu casopisa bi uz njega morala ici
│i disketa sa shareware programima...
└───
Realni troškovi za disketu bi bili bar 4 dinara po primerku, što bi se
verovatno slabo isplatilo izdavačima :). To bi možda modlo da prođe
kao poklon uz pretplatu, samo treba onda izmozgati šta snimiti na tu
jednu disketu (npr. najbolje domaće PD i shareware programe).
pascal.283bulaja,
Izvinjavam se, ovo je trebalo da ide u PCPRESS konferenciju :).
pascal.284cwele,
Novi sam korisnik Sezama, i zelim da posaljem neke svoje programe na Moduli,
a ne znam okme da se obratim za pomoc (Upload mi odgovara da nemam pravo upisa
na diskH r:\program) Molim nekoga za odgovor, pozdrav, cwele.
pascal.285dejanr,
>> Novi sam korisnik Sezama, i zelim da posaljem neke svoje programe na
>> Moduli, a ne znam okme da se obratim za pomoc (Upload mi odgovara da
>> nemam pravo upisa na diskH r:\program)
Najbolje je da datoteke pošelješ uz privatnu poruku korisniku Bulaja.
On je naš file moderator odnosno brine o datotekama na Sezamu.
pascal.286chula,
Problem u Pascal-u :
U grafičkom modu, kada menjam aktivnu stranu i onu koja se vidi, na onoj drugoj
(koja nije default) mi pravi gluposti. Ako, najjednostavnije, spojim gornji
levi sa donjim desnim uglom, on tu liniju počne sa vrha ekrana ali pomerenu za
jedno 5-6 cm, i vuče je do negde opet 5-6 cm do dna ekrana, onda je pomeri za
(prekine) za onoliko koliko je promašio gornji levi ugao tako da se ona ipak
završi u donjem desnom. Ovo je jedan od banalnih primera, ali isto radi i sa
svim ostalim... Da napomenem da sve radi kako treba na default strani, da imam
od skoro VGA, i da je kartica Trident 9000c... Ima li rešenja za ovaj problem
(?) ???
hvala
pascal.287mdave,
Subject: Re: Modula
> Novi sam korisnik Sezama, i zelim da posaljem neke svoje programe na
> Moduli,
Ako je Modula-2/Modula-3/Oberon u pitanju, šalji i meni. :)
pascal.288postmast,
From: DAMJAN.JANEV@f131.n108.z38.setnet.setnet.co.yu (DAMJAN JANEV)
Subject: ANSI
Date: Fri, 14 Apr 1995 14:07:00
PS:-> DJ> Kako da detektujem dali mi je "sugovornik" sa druge strane linije ANS
PS:-> DJ> capable? Koristim TP6.0 i PCL.
PS:->Uh, ne znam napamet, ali mi se cini da je neka komanda <Esc>J.
PS:->Pogledaj ansi komande i nadji neku koja "vraca" neku vrednost.
Hvala lepo.
PS:->U krajnjem slucaju, zovni neki BBS ali iskljuci ANSI i vidi sta sve
PS:->BBS salje na pocetku. Vecina BBs-ova moze da automatski prepozna ANSI
PS:->i to rade upravo na gore navedeni nacin.
To sam i ja pomislio kao rajnje resenje.
damJANev
___
■ OLX 2.1 TD ■ You tell 'em Dough, you're well bred.
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
pascal.289superhik,
=:> Realni troškovi za disketu bi bili bar 4 dinara po primerku,
=:> što bi se
Kako si došao do ove cifre??
pascal.290comi,
Da li ima neko tablicu prekida za inicijalizaciju vesa
grafike u true-coloru?U pitanju su BIOS prekidi i adrese.
pascal.291comi,
Ima li neko program u pascalu za ocitavanje strukture GIF fajlova.
Interesuje me nacin upisivinja i ucitavanja GIF.
ű
pascal.293jasicp,
Kako se postize da aplikacija ima razlicite MenuBar-ove, u zavisnosti
od toga sta radi ? Otprilike isto kao za razlicite statusne linije.
Naravno, radi se o TV objektima.
Usput, odgovaram sam sebi na jedno davno postavljeno pitanje (zasto
TVEDIT daje run time 215 ako pokusam da brisem text pomocu backspace): zato
sto editors unit treba prevesti sa Range i Stack checking off. Ko se seca,
seca se...
pascal.294jasicp,
Napravio sam objekat, naslednika TGroup. U njega sam ubacio objekte:
jedan vise manje klasican prozor, i TEditWindow objekat. Ovaj drugi ima
ugradjene funkcije StdEditorDialog, koje izbacuju razne poruku ili kreiraju
dijaloge. Kada direktno TEditWindow ubacim pomocu InserWindow ili samo
Insert u aplikaciju, sve funkcionise normalno. Kada radim ovako, sa
grupom, StdEditorDialog uopste ne uspeva da prikaze dijalog na ekranu, dok
na komande reaguje kao daje tu. Verovatno se dijaloze "ne probiju" do
prikaza. Ima li neko ideju u cemu je stvar ?
pascal.296eleoni,
z+╬╦╗TâĹÎŢC█ń=Ě
╣K
----- H I T N O -----
Hitna pomoć (+):
Radim u TP 6.0 neki projekat (ovde nije od značaja koji) i pri
izvršavanju programa javlja se greška oblika:
"ERROR 202: STACK OVERFLOW ERROR", i TP "pokaže" na funkcijski
potprogram (koji ne radi ništa posebno: recimo da sabira elemente
nekog niza). Pokušao sam da menjam veličinu steka, ali ne vredi kao
što ne vredi menjajući direktivu prevođenja š$S+/-ć. Možda će vam
ove informacije biti od pomoći: 1. u samom modulu (unit) imam dosta
definisanih konstanti, ali opet to ne bi trebalo biti previše i samo
ovaj jedan potprogram 2. potprogram koristi dve UQy!█é╔ŻÁĽ╣Šćą┘Ľ5
koje se izračunavaju na osnovu gore pomenutih konstanti.
Unapred se zahvaljujem.
Pozdrav,
Emil
ĹÜa┐kč
pascal.297djelovic,
> Radim u TP 6.0 neki projekat (ovde nije od značaja koji) i pri
> izvršavanju programa javlja se greška oblika:
> "ERROR 202: STACK OVERFLOW ERROR", i TP "pokaže" na funkcijski
> potprogram (koji ne radi ništa posebno: recimo da sabira elemente
> nekog niza). Pokušao sam da menjam veličinu steka, ali ne vredi kao
> što ne vredi menjajući direktivu prevođenja š$S+/-ć.
Da li program "hvata" neki interapt? U tom slučaju treba izbaciti proveru
prekoračenja steka.
pascal.298evlad,
>> "ERROR 202: STACK OVERFLOW ERROR", i TP "pokaže" na funkcijski
{$M 32000, ... , ..... }
Direktiva kojom određuješ veličinu steka ...
pascal.299eleoni,
>> Radim u TP 6.0 neki projekat (ovde nije od značaja koji) i pri
>> izvršavanju programa javlja se greška oblika:
>> "ERROR 202: STACK OVERFLOW ERROR", i TP "pokaže" na funkcijski
>> potprogram (koji ne radi ništa posebno: recimo da sabira elemente
>> nekog niza). Pokušao sam da menjam veličinu steka, ali ne vredi kao
>> što ne vredi menjajući direktivu prevođenja š$S+/-ć.
> Da li program "hvata" neki interapt? U tom slučaju treba izbaciti proveru
> prekoračenja steka.
> š$M 32000, ... , ..... ć
> Direktiva kojom određuješ veličinu steka ...
Program ne "hvata" nikakav interapt, a i na glasio sam u prvoj poruci
da nije problem u veličini steka. Hvala na pokušanoj pomoći ali problem
sam najzad sam rešio. Zamislite, čitav problem je bio u imenu funckijskog
potprograma. Definicija je izgledala:
Function SpM(X:word):string;
i ja slučajno stavim:
Function SpaceM(X:word):string;
i ono radi. E sad, ime SpM prethodno nije nigde deklarisano, službena reč
SpM u TP6.0 (da ja znam) nije, e onda zašto je tako bilo nemam pojma.
(ali sad radi :)))
Pozdrav,
Emil
pascal.300lovro,
Opet stek u pitanju! Kako da znam koliko je mesta ostalo na
steku? Radi se neka rekurzija, a ne znam kako da proverim ima
li mesta za poziv procedure.
Lovro
pascal.301mmitrovic,
::::: svim ostalim... Da napomenem da sve radi kako treba na default strani,
::::: da imam od skoro VGA, i da je kartica Trident 9000c... Ima li rešenja za
::::: ovaj problem (?) ???
Pretpostavljam o cemu se radi. Koristio si EGAVGA.BGI i aktivirao si
VGA drajver u VGAHi (640x480) modu. Ako jesi, onda da te obavestim da
double buffering NE radi u VGAHi modu, najveća rezolucija u kojoj ovo pali
(na VGA) je VGAMed (640x350).
pascal.302mmitrovic,
::::: Kako se postize da aplikacija ima razlicite MenuBar-ove, u zavisnosti
::::: od toga sta radi ? Otprilike isto kao za razlicite statusne linije.
Ne postoji metoda koja bi to uradila slično statusnoj liniji. Jedina
fora je da InitMenuBar namestiš da u zavisnosti od onoga što radi
postavi MenuBar na željeni meni. Naravno treba promeniti odrđene metode
koji bi u nekim slučajevima ponovo pozivali InitMenuBar (pošto ga
TProgram poziva samo u Init-u). Najprikladniji za to bi bio HandleEvent.
Of course, postoji još i problem kreiranja i oslobađanja silnih menija,
međutim to se sve može smestiti u konstruktore i destruktore.
pascal.304andrejt,
Subj: stek
Q> Opet stek u pitanju! Kako da znam koliko je mesta ostalo na
Q> steku?
Sacuvas na pocetku programa sp. U trenutku u kom hoces da znas
kol'ko jos steka imas oduzmes taj broj od sp-a i rezultat oduzmes
od velicine steka koju si sebi dodelio.
pascal.305lovro,
=- Sacuvas na pocetku programa sp. U trenutku u kom hoces da
=- znas kol'ko jos steka imas oduzmes taj broj od sp-a i
=- rezultat oduzmes od velicine steka koju si sebi dodelio.
Da! Da li je na početku programa sp=0, a SS dobija već neku vrednost? Ako
je tako, ne mora ništa ni da se pamti.
pascal.306chula,
> Pretpostavljam o cemu se radi. Koristio si EGAVGA.BGI i
> aktivirao si VGA drajver u VGAHi (640x480) modu. Ako jesi, onda
> da te obavestim da double buffering NE radi u VGAHi modu,
> najveća rezolucija u kojoj ovo pali (na VGA) je VGAMed
> (640x350).
Na žalost nije u tome problem. Isto se dešava i u 320x200 i u svim
drugim rezolucijama :(
pascal.307andrejt,
Subj: Re: stek
Q> Da! Da li je na pocetku programa sp=0, a SS dobija vec neku vrednost? Ako
Q> je tako, ne mora nista ni da se pamti.
Sirim dezinformacije :( SP je trenutna velicina steka tj. slobodnog steka.
pascal.308mmitrovic,
::::: Opet stek u pitanju! Kako da znam koliko je mesta ostalo na
::::: steku? Radi se neka rekurzija, a ne znam kako da proverim ima
::::: li mesta za poziv procedure.
Evo ti jedna f-ja koja vraca kolicinu slobodnog steka:
function StackFree: Word; far; assembler;
asm
mov ax,sp
add ax,4
end;
Naravno moras imati bar 4 bajta slobodna da bi se funkcija mogla pozvati
Ukoliko f-ju koristiš samo unutar jednog modula ono far možeš da zameniš sa
near, a add ax,4 u add ax,2.
Funkciju koristi samo pri komandi dodeljivanja, pošto velika većina
ostalih komandi koristi stek (pr.: mat. operacije nad real. brojevima).
Naravno možeš rizikovati, ali sa x:=StackFree sigurno dobijaš tačnu
vrednost.
var x:word;
begin
writeln(StackFree); š dace rezultat manji za 4 posto writeln ć
š ostavlja pointer na stek ć
x:=StackFree; š ovo ce ispisati tacan rezultat ć
writeln(x);
end.
pascal.309drpr,
Haj svima,
uz pomoc nam dragog korisnika makse saznah da u je u
racunarima nekad pisano o prepoznavanju izraza (Rac. 79
"Rastavi me nežno") i to mi je sve trebalo za neke funkcije
koje na zalost moram da računam. E sad ja sam probao da
provalim ali za sad mi ne ide kako uz pomoć svega toga da
izračunam novi izraz. Sve sam prekucao iz računara ali čovek
kao primer nije uzeo glavnu stvar. Zato ako se neko ovim bavio
i ostao mu je sors a voljan je da to podeli sa nama neka se
javi.
cope
pascal.310dejanr,
>> uz pomoc nam dragog korisnika makse saznah da u je u
>> racunarima nekad pisano o prepoznavanju izraza (Rac. 79
>> "Rastavi me nežno") i to mi je sve trebalo za neke funkcije
>> koje na zalost moram da računam. E sad ja sam probao da
>> provalim ali za sad mi ne ide kako uz pomoć svega toga da
>> izračunam novi izraz.
Ne sećam se baš tačno tog teksta, ali ono što znam sigurno jeste da
sam ja pisao o računanju aritmetičkih izraza (ako sam dobro razumeo
da ti to treba) u "Računarima 14", strana 54. To je bilo u pre-PC
vremenu, dakle čini mi se da je dat neki program u paskalu ali ne
Turbo Paskalu... ili je možda bilo na bejziku. U svakom slučaju,
možda bi ti mogao biti od pomoći, u kombinaciji sa pratećim tekstom.
pascal.311ddabic,
DELPHI je stigao,
Prvi utisci su impresivni, mada moram da priznam da do sada nisam radio u
Paskalu lakse je nego se baktati sa zaboravljenim Bejzikom. Ono sto sam
mogao da vidim za ovih 10 sati definitivno izbacuje Visual Basic iz
konkurencije. Sta sve moze ovo cuda sa bazama podataka (na cemu ja inace
radim) je jednom recju SVE. Mozete da radite u cistom SQL-u, da koristite
DBase ili Paradox formate ili preko ODBC-a sa svim ostalim kod nas poznatim
bazama (FoxPro, Access...)
Da ne duzim dalje evo vam njegovog (skracenog) Read-me fajla:
Welcome to Delphi
-----------------
....
1. MINIMUM SYSTEM REQUIREMENTS
------------------------------
Delphi requires Windows 3.1 or a 100% compatible operating
system, an 80386 or newer processor (486 recommended), and 6Mb of
system memory (Delphi Client/Server requires 8Mb, 12Mb or more is
recommended for Client/Server development). A minimum
installation requires approximately 30Mb of disk space (a full
installation of Delphi Client/Server requires approximately
80Mb).
DCC.EXE, the DOS command-line compiler, requires at least 1Mb of
extended memory.
Delphi has been tested under Windows 3.1, Windows for Workgroups
3.11, Windows NT 3.5, OS/2 Warp, and the latest pre-release
version of Windows 95. Note that we do not recommend large-scale
deployment of database applications running under Windows 95
until Microsoft certifies a release for commercial use.
...
3. INSTALLATION
---------------
Please refer to the file INSTALL.TXT on your CD in the
\INSTALL\DISK1 directory or on DISK1 of your floppy disk set
for complete installation instructions.
To start the installation, run the SETUP.EXE program on your CD
in the \INSTALL\DISK1 directory or on the floppy disk labeled
DISK1.
4. PRODUCT OVERVIEW
-------------------
Delphi's visual design environment lets you create sophisticated
Windows applications faster than any other development tool.
Because Delphi is built around and optimizing native code
compiler, Delphi applications are up to 10-20 times faster than
interpreted code.
Delphi integrates the Borland Database Engine, so you have
instant support for dBase, Paradox, and ODBC local databases.
Delphi includes the Local InterBase Server so you can create
standalone client/server applications with a high-performance
ANSI SQL-92 compatible database server.
Delphi also includes Borland's award-winning ReportSmith report
writing tool, which allows programmers to prepare innovative
reports using live data in all popular database formats.
Delphi Client/Server includes all of Delphi plus high performance
native drivers for Oracle, Sybase, Microsoft SQL Server, Informix
and InterBase remote servers with unlimited application
deployment. You also get team development support, ReportSmith
SQL, a Visual Query Builder, source code to the Visual Component
Library (VCL), and the Local InterBase Server Deployment Kit.
....
....
BP 7.0 Compatibility Notes
--------------------------
o Passing Borland Pascal 7.0 style object variables as arguments
in an open array constructor is not supported.
o Don't use the Borland Pascal 7.0 Fail procedure with Delphi
classes.
o Though we do not recommend using ObjectWindows and VCL units
in the same application, by following these instructions, you
can easily work on your Borland Pascal 7.0 Windows projects in
the Delphi development environment:
1. Open your program or library file as a project. Make sure
there's a correct module header declaration (i.e. program,
library or unit) at the beginning of the .PAS file.
2. Change the Search Path on the Options|Project|Directories
page to include \DELPHI\SOURCE\RTL70.
3. Update the uses clause of each unit as follows:
o For each unit that uses WinTypes, replace "WinTypes" with
"Messages, WinTypes"
o Remove all references to the Win31 unit
-----------------------------------------------------------------
pascal.312dejanr,
>> Prvi utisci su impresivni, mada moram da priznam da do sada nisam radio
>> u Paskalu lakse je nego se baktati sa zaboravljenim Bejzikom.
I ja sam, kao ljubitelj Turbo Pascala, bio vrlo zainteresovan za Delphi,
trebalo bi da ovih dana dobijem original za prikaz u sledećem broju PC-ja.
U međuvremenu imam neku pre-release verziju, i utisci o njoj su dosta
povoljni. Mada ne delim baš toliko oduševljenje vezano za baze podataka,
prema onome što sam do sada video zaostaje za Visual Basicom + Access
Basic-om.
Delphi je zgodan za rad i dosta produktivan, ali je i prilično "glomazan".
Izgleda da ne može ništa manje da se napravi pod Windows-om :(
pascal.313postmast,
From: Vlado.Prelovac@f104.n103.z38.setnet.setnet.co.yu (Vlado Prelovac)
Subject: help!
Date: Mon, 24 Apr 1995 01:52:16
Da li neko moze da mi kaze kako da uradim sledece:
Imam na ekranu npr. HISCORE listu u nekoj igrici a u pozadini hocu da uradim
neki efekat npr. starfield ili da mi se loptica odbija od zidove i sl. a mi
pri tom ne remeti text hiscore liste odnosno da je on sve vreme nepromenljiv
dok se ova radnja odvija u pozadini...
(naravno u grafickom modu)
Unapred zahvalan Pascal korisnik.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.314postmast,
From: Guduric.Predrag@f113.n103.z38.setnet.setnet.co.yu (Guduric Predrag)
Subject: Window
Date: Sat, 22 Apr 1995 02:48:11
Kako mogu da u grafickom rezimu ostvarim efekat koji komanda window
ima u textualnom da li nesto tako vec postoji ili ga ima u nekom za-
sebnom unitu itd ???
Caveman
... I'd rather be in the Cave than wallow in QWKsand!
* Origin: * Milliways * BELGRADE * Serbia * SETNet Address (38:103/113)
pascal.315postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Oberon?
Date: Tue, 25 Apr 1995 08:36:00 CET
QWK To: Milos Dragicevic
@MSGID: 0:0/0.0 2f9cecd0
@PID: BWRA 3.02 [Eval]
(Tekst poruke: Milos Dragicevic, na temu PASCAL)
MD> Ako je Modula-2/Modula-3/Oberon u pitanju, salji i meni. :)
Oberon? Koji kompajler koristis i koji su mu prohtevi?
Ako te ne mrzi, baci mi par recenica sa opisom glavnih karakteristika tog
jezika. Bio sam suvise lenj u ISP da bih citao, i suvise posten da bih
maznuo one slatke ICM publikacije ;( I, da ko je autor jezika i da li ima
slicnosti sa M2/M3 ?
3OPAH
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0) #! rnews 709
pascal.316postmast,
From: ivan.jocic@durlan.co.yu (Ivan Jocic)
Subject: Window
Date: Tue, 25 Apr 1995 8:08:00 GMT
QWK To: Guduric Predrag
From : Ivan Jocic
To : Guduric Predrag
Subject: WINDOW
GP> Kako mogu da u grafickom rezimu ostvarim efekat koji komanda
GP> window ima u textualnom da li nesto tako vec postoji ili ga ima u
GP> nekom za- sebnom unitu itd ???
A sta radi ta komanda window? Ja sam pravio razne graficke prg. u MSC
6.0 i
verovatno imam to sto ti treba.
The Shadow
... I wan'a get HIGH!
--- Blue Wave/RA v2.12 [NR]
■ MKNet ■ BBLink <tm> ■ Sirius BBS ■ 018/711-667 ■ W.T:23-08
#! rnews 706
pascal.317postmast,
From: djdule@durlan.co.yu (Djdule)
Subject: Pascal
Date: Sat, 22 Apr 1995 00:50:00 GMT
QWK To: Milos Corak
MC >Da li ima neko tablicu prekida za inicijalizaciju vesa
MC >grafike u true-coloru?U pitanju su BIOS prekidi i adrese.
Mislim da ne postoji VESA standard za true color.
---
■ SPEED 1.30 #514 ■ "Yield to temptation, it may not pass your way again."
#! rnews 554
pascal.318postmast,
From: Vlado.Prelovac@f104.n103.z38.setnet.setnet.co.yu (Vlado Prelovac)
Subject: Re: Help!
Date: Thu, 27 Apr 1995 01:37:00
IJ> tackice na svoja mesta. Ako ti nesto nije bilo jasno ostavi poruku,
^^^^^^^^^^^^^^^^^^^^^
You bet...
Ajde ti to ako mozes malp opsirnije i prihvatljivije molim te...
Resenje koje sam ja imao u vidu je:
repeat
-Nactam tackice na izracunatim kordinatama
-Izcrtam (ponovo) text
until bla_bla;
No, ovo je moguce ali je jako sporo posto stalno ispisujem text koji je
nepromenljiv u toku vremena (jednostavna Hiscore lista) i na fixnim
kordinatama na ekranu.
Uzgred kako bi uradio starfield, da se dobije realistican efekat kretanja
kroz prostor...
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.319postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Wed, 26 Apr 1995 23:26:07
"R> Novi sam korisnik Sezama, i zelim da posaljem neke svoje programe na
"R> Moduli, a ne znam okme da se obratim za pomoc (Upload mi odgovara da
"R> nemam pravo upisa na diskH r:\program) Molim nekoga za odgovor,
Posalji program u CONF i ako Bulaja, pardon neko od moderatora/sisopa skonta
da valja bice prebacen tamo.....
Sta mislis, kako se na sezamu nalaze samo PROBRANI programi....?
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.320postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Wed, 26 Apr 1995 23:26:08
"C> Ima li neko program u pascalu za ocitavanje strukture GIF fajlova.
"C> Interesuje me nacin upisivinja i ucitavanja GIF.
Ima tako nesto na SEZAM-u....
99%....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.321postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Wed, 26 Apr 1995 23:26:08
"L> Radim u TP 6.0 neki projekat (ovde nije od znacaja koji) i pri
"L> izvrsavanju programa javlja se greska oblika:
"L> "ERROR 202: STACK OVERFLOW ERROR", i TP "pokaze" na funkcijski
Ovde stvarno jeste od znacaja koji program radis(stek si povec'o kazes....)
, ako je VAZNO posalji program u Conf.....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.322niklaus,
Subject: Re: Delphi
(:> ... trebalo bi da ovih dana dobijem original za prikaz u sledećem
(:> broju PC-ja.
Mala digresija. Nije li naziv časopisa "PC Press"? Ovako kada se
pročita "...sledećem broju PC-a" čovek može da pomisli i na P6
(naslednik Pentiuma, jelte).
(:> Delphi je zgodan za rad i dosta produktivan, ali je i prilično
(:> "glomazan". Izgleda da ne može ništa manje da se napravi pod Windows-om
(:> :(
Koja je 'retail' cena Delphi-ja?
Da li će svaka platformska varijanta Delphi-ja podržavati generisanje
aplikacija za ostale platforme?
(: SeanŐ :)
pascal.323niklaus,
Subject: Re: Help!
(:> Resenje koje sam ja imao u vidu je:
(:>
(:> repeat
(:> ...
(:> until bla_bla;
(:>
(:> No, ovo je moguce ali je jako sporo posto stalno ispisujem text koji je
(:> nepromenljiv u toku vremena (jednostavna Hiscore lista) i na fixnim
(:> kordinatama na ekranu.
Mnogo bi lepše izgledala ta hi-score lista, kada bi se nalazila u
nekom prozoru, a ne ovako sirovo - golo na ekranu.
U tom slučaju je lakše imati i starfield pozadinski efekat. Tada bi
sa svaku proračunatu tačku imao proveru 'if not inside(<window>)'.
(: SeanŐ :)
pascal.324dejanr,
>> Mala digresija. Nije li naziv časopisa "PC Press"?
Naziv časopisa je "PC". "PC Press" je naziv firme koja ga izdaje.
>> Koja je 'retail' cena Delphi-ja?
Izgleda da ima neki mali milion cena, zbog raznih upgrade-ova sa
raznih platformi. Kada se ide "od nule", mislim da je između 300 i
400 dolara. Trebalo bi da može da se nađe upgrade za oko 150, mada
ne videh nešto oglase tog tipa.
pascal.325bulaja,
│ Koja je 'retail' cena Delphi-ja?
└───
Kod "Programmer's Paradise" je 189 USD, ne piše da li je u pitanju
regularna verzija ili upgrade.
pascal.326postmast,
From: Ivan.Markovic@f122.n103.z38.setnet.setnet.co.yu (Ivan Markovic)
Subject: GRAFIKA U TVISION-U ...
Date: Thu, 27 Apr 1995 02:31:11
Jedan prijatelj me je zamolio da mu pogledam za nekakav unit koji
omogucava da Turbo Vision predje u graficki mod. Kaze da je citao negde
o tome - verovatno Racunari, ali nije siguran.
Ako neko ima pojma o cemu se radi neka ostavi i gde se isti moze
naci ...
---FidoPCB v1.0 [NR]
* Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
pascal.327postmast,
From: DAMJAN.JANEV@f131.n108.z38.setnet.setnet.co.yu (DAMJAN JANEV)
Subject: Window
Date: Tue, 25 Apr 1995 11:55:00
GP:-> Kako mogu da u grafickom rezimu ostvarim efekat koji komanda window
GP:-> ima u textualnom da li nesto tako vec postoji ili ga ima u nekom za-
GP:-> sebnom unitu itd ???
Mislim da se procedura zove GraphWindow i mislim da se nalazi u
GRAPH.TPU.
damJANev
___
■ OLX 2.1 TD ■ Red, white, and blue. Three colors that only run forward.
* Origin: SetNet * VEGA BBS * Skopje * +389 91 225 280 (38:108/131)
pascal.328postmast,
From: ivan.jocic@durlan.co.yu (Ivan Jocic)
Subject: Re: help!
Date: Fri, 28 Apr 1995 8:55:00 GMT
QWK To: Vlado Prelovac
From : Ivan Jocic
To : Vlado Prelovac
Subject: RE: HELP!
VP> Resenje koje sam ja imao u vidu je:
VP> repeat
VP> -Nactam tackice na izracunatim kordinatama
VP> -Izcrtam (ponovo) text
VP> until bla_bla;
VP> No, ovo je moguce ali je jako sporo posto stalno ispisujem text
koji
VP> je nepromenljiv u toku vremena (jednostavna Hiscore lista) i na
fixnim
U pravu si - sporo je. Prva stvar. trebalo bi da imas stvarno brze
rutinice za pixel (ne one iz PASCAL-a). Ako hoces mogao bih da ti
napisem jednu. Isto tako moras da imas brze rutinice za getpixel.. Ja
imam jednu, ali upravo dok ti pisem ovo pala mi je na pamet mnoooogo
brza ideja (tj. algoritam). Inace da bi resio ono sa ispisivanjem
teksta
trebao bi da koristis sledecu stvar. Kada izracunas nove koordinate
proveris da li na njima imas vec neku tackicu (tj. da li je
boja<>crna).
Ako jeste ti ne upisujes tu tackicu, i zabelezis negde, u nekoj
promenljivoj, da taj pixel nisi postavio. Tako posle i kada treba da
vratis nazad tackicu vracas samo pixel-e koje si postavio. To bi
trebalo
derasticno da ti ubrza prg. Jos bi bilo bolje da znas asembler, pa sve
da napises u njemu(ili bar dobar deo).
VP> Uzgred kako bi uradio starfield, da se dobije realistican efekat
VP> kretanja kroz prostor...
E to je vec malo tesko. Tackice moraju da ti idu iz centra, i da kada
"prolaze" pored tebe se uvecavaju. Ovo je malo teze da se resi, ali
mozes da koristis drugi fazon. Recimo neke tackice idu brze, a neke
sporije, a skrol je po horizontali. Ovo bi trebalo da upali.
The Shadow
... call Sirius BBS: 018/711-667, V42B, work time: 23-08
... >> Zivot je ugasen. Bravo vatrogasci! <<
--- Blue Wave/RA v2.12 [NR]
■ MKNet ■ BBLink <tm> ■ Sirius BBS ■ 018/711-667 ■ W.T:23-08
#! rnews 817
pascal.329postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Fri, 28 Apr 1995 17:04:10
"I> steku? Radi se neka rekurzija, a ne znam kako da proverim ima
"I> li mesta za poziv procedure.
Zapamti da se relativno lako preko pointera pravi VVVVVEEEEEEELLLLLIIIIIKKKI
stek..... Pa ako jednog dana udaris u plafon.....
... This tagline is SHAREWARE! To register, send me $10
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.330postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Re: help!
Date: Sun, 30 Apr 1995 23:42:00 CET
QWK To: Ivan Jocic
(Tekst poruke: Ivan Jocic, na temu RE: HELP!)
VP> Uzgred kako bi uradio starfield, da se dobije realistican efekat
VP> kretanja kroz prostor...
IJ> E to je vec malo tesko. Tackice moraju da ti idu iz centra, i da kada
IJ> "prolaze" pored tebe se uvecavaju. Ovo je malo teze da se resi, ali
IJ> mozes da koristis drugi fazon. Recimo neke tackice idu brze, a neke
IJ> sporije, a skrol je po horizontali. Ovo bi trebalo da upali.
Zasto? Moze i ovako: svaka tacka ima koordinate (X, Y, Z). One je
predstavljaju u prostoru. Ako predstavis ekran pomocu ravni u koordinatnom
sistemu odredjenom y i z osama, a svoje oko tackom na x-osi sa suprotne strane
ravni od one na kojoj se nalaze tacke, mozes da postavis proporcije:
x : ekran_x = z : oko_z (1)
y : ekran_y = z : oko_z (2)
ekran_x, ekran_y - koordinate tacaka na ekranu
Odavde se vidi da ti je potrebna samo udaljenost oka od ravni ekrana (sa tom
vrednoscu mozes da eksperimentises), a priblizavanje zvezda se izvodi
jednostavnim povecavanjem (ili smanjivanjem, zavisi kako si postavio
koordinatni sistem) z vrednosti koordinata tacaka.
Ajd' pa javi sta si uradio.
3OPAH
... sin(Ó - ß) = sin Ó cos ß - cos Ó sin ß
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0) #! rnews 1013
pascal.331nlazic,
> Kako mogu da u grafickom rezimu ostvarim efekat koji komanda
> window ima u textualnom da li nesto tako vec postoji ili ga ima
> u nekom za- sebnom unitu itd ???
Procedura koja ovo radi nalazi se u GRAPH.TPU. Njena deklaracija je
sledeća:
procedure SetViewPort (X1,Y1,X2,Y2:Integer; Clip:Boolean);
gde su X1,Y1,X2,Y2 koordinate gornjeg levog i donjeg desnog ugla
pravougaonog dela ekrana. Ako je vrednost Clip TRUE, crteži se
odsecaju na granicama prikaza. Bitno je napomenuti da ova procedura
NE pamti sadrzaj ekrana "ispod" prozora. Prozor možeš obrisati
sa ClearViewPort, itd...
P.S.
X1,Y1, X2,Y2 se UVEK zadaju u odnosu na stvarne koordinate ekrana
i nemaju nikakve veze sa eventualno prthodno upotrebljenom procedurom
SetViewPort i njenim parametrima.
:) Nebojša :)
pascal.332nlazic,
> Jedan prijatelj me je zamolio da mu pogledam za nekakav unit
> koji omogucava da Turbo Vision predje u graficki mod. Kaze da
> je citao negde
Arhiva sa ovim unit-om postoji na SEZAM-u:
R:ĐPASCALĐtvg110a.zip 126841 TVGraph v1.10: Turbo Vision u
EGA/VGA grafičkom modu
Kada se ovo instalira i pusti u rad (ako se dobro sećam) ne dobijaš
baš ništa novo. Sve izgleda potpuno isto, samo što je u grafičkom modu.
Naravno, mogu se koristiti standardne funkcije GRAPH unit-a, ali treba
biti prilično obazriv, jer se on ne slaže baš najbolje sa TVision-om.
:) Nebojša :)
pascal.333nlazic,
> Kako se postize da aplikacija ima razlicite MenuBar-ove, u
> zavisnosti od toga sta radi ? Otprilike isto kao za razlicite
> statusne linije. Naravno, radi se o TV objektima.
Prvo što mi pada na pamet napisao sam u datoteci newmenu.zip
koja ide uz ovu poruku. To je izmenjen TUTOR04C.pas iz BP 7.0,
tako da ima različite Menu Bar-ove. Nisam probao, ali sam 99%
siguran da će raditi i u TP 6.0. Nadam se da ćeš se uz pomoć
komentara u listingu lako snaći.
:) Nebojša :)
newmenu.zippascal.334flash,
Pozdrav!
Imam problem. Pišem TSR program u TP6 koji bi između ostalog trebao s
vremena na vreme da upiše nešto u neku datoteku na disku.
Pre poziva moje procedure koja se može aktivirati preko tastature
(int 9h), svakih X minuta (int 8h), ili povremeno (int 28h), ja
proverim da li je:
In_Dos_Flag=false (indikator da se izvršava neka DOS funkcija),
Crtitcal_Error_Flag=false (u toku je obraćanje disku preko DOS
funkcija)
Tek ako su ovi uslovi ispunjeni, vrši se upis u fajl. (open,write,
close) Problem je u tome, što programi koji pišu na disk preko
BIOS-a ne koriste CriticalErrorFlag i moja procedura ne zna da je
upis na disk već u toku, i normalno, računar se zaglavi.
Rešenje sam video u TSRBONES.ASM. Treba preuzeti int 13h i pre
poziva originalnog interapta setovati neku promenljivu 'DiskFlag',
a posle je resetovati. To je ovo:
;******************************************************************
NewInt13 PROC FAR ;We hook Int13h only for purpose
;of setting a flag to prevent our
;TSR from triggering during time-
;critical Disk accesses.
mov CS:diskflag,1 ;Set flag to show Disk access.
;
pushf ;Invoke prior Int13 handler
cli ;(be sure interrupts disabled)
call CS:oldint13 ;by simulating an interrupt.
;
mov CS:diskflag,0 ;Clear flag to show Disk finished.
;
; The following RET 2 bumps the SP register up by 2 bytes to effecti-
; vely take the flags off the stack (where they were put by the invo-
; king INT 13h) WITHOUT popping them off and ruining the meaningful
; flags left in the Flags register by the original DOS INT13 handler
; (the DOS INT13 handler also returns via a RET 2 to keep from ru-
; ining the Flags that the handler has painstakingly prepared for
; communicating back to the calling program). The effect on the stack
; pointer, SP, is exactly the same as with the more usual IRET. It is
; just that the Flags in the Flag register are preserved at the va-
; lues the handler placed and wanted there.
;
RET 2 ;Return from interrupt while
;preserving flags.
NewInt13 ENDP
;**********************************
Ja sam to preveo na TP ovako:
Procedure NewInt13 (Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP :word);
interrupt;
begin
DiskFlag^:=TRUE;
pushF;
Inline($FA); { CLI }
OldInt13;
DiskFlag^:=FALSE;
end;
Međutim, to ne radi. Pomagajte...
KOLE
P.S. Izvinite na dugačkoj poruci.
pascal.335postmast,
From: Sebastian.Adanko@f107.n111.z38.setnet.setnet.co.yu (Sebastian Adanko)
Subject: PE_TP7.teh.restart
Date: Sun, 30 Apr 1995 23:54:51
Cao.
Evo mene opet, posto sam pun pitanja, a imam tako malo odgovora. :( :)
Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije restart
programa, znaci, brisanje svih promenljivih i "GOTO 10" ;))
Anybody?
Phuzzy Logik
... It is easier to get forgiveness than permission.
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.336postmast,
From: Guduric.Predrag@f113.n103.z38.setnet.setnet.co.yu (Guduric Predrag)
Subject: help!
Date: Wed, 26 Apr 1995 07:39:04
VP> Unapred zahvalan Pascal
VP> korisnik.
Ako si zaista Pascal korisnik tj. ne koristis komande za inline
asembliranje vec ovo radis pomocu starog, dobrog putimage-a onda
je stvar samo u zadnjem parametru komande tj. da li se radi o
normalput-u, xorput, orputu ili andputu. Mislim da je parametar
koji sprecava preklapanje andput ali me ne hvataj za rec vec pro-
citaj turbo help za doticne.
Caveman
... Catch the Blue Cave!
* Origin: * Milliways * BELGRADE * Serbia * SETNet Address (38:103/113)
pascal.337postmast,
From: Guduric.Predrag@f113.n103.z38.setnet.setnet.co.yu (Guduric Predrag)
Subject: Window
Date: Tue, 25 Apr 1995 08:33:05
IJ> A sta radi ta komanda window? Ja sam pravio razne graficke prg. u MSC
IJ> 6.0 i
IJ> verovatno imam to sto ti treba.
Mislim da radi isto ono sto radi i komanda Window u C textualnom
modu . . . Jedna od onih bezbrojnih istih komandi u Pascalu i C-u . . .
Caveman
... I'd rather be in the Cave than wallow in QWKsand!
* Origin: * Milliways * BELGRADE * Serbia * SETNet Address (38:103/113)
pascal.338postmast,
From: Vlado.Prelovac@f133.n103.z38.setnet.setnet.co.yu (Vlado Prelovac)
Subject: Re: help!
Date: Mon, 01 May 1995 02:09:00
IJ> U pravu si - sporo je. Prva stvar. trebalo bi da imas stvarno brze
IJ> rutinice za pixel (ne one iz PASCAL-a). Ako hoces mogao bih da ti
IJ> napisem jednu.
Bio bih ti veoma zahvalan. Samo posto mi je ovo za maturski rad iz
PASCALA molim te da bude sto krace i da je iskomentarises posto nisam
bas najbolji sa asm-om...
IJ> Ako jeste ti ne upisujes tu tackicu, i zabelezis negde, u nekoj
IJ> promenljivoj, da taj pixel nisi postavio. Tako posle i kada treba da
IJ> vratis nazad tackicu vracas samo pixel-e koje si postavio. To bi trebalo
Probao sam ovo i lepo radi ...HVALA.
VP> Uzgred kako bi uradio starfield, da se dobije realistican efekat
VP> kretanja kroz prostor...
IJ> E to je vec malo tesko. Tackice moraju da ti idu iz centra, i da kada
IJ> "prolaze" pored tebe se uvecavaju. Ovo je malo teze da se resi, ali
IJ> mozes da koristis drugi fazon. Recimo neke tackice idu brze, a neke
IJ> sporije, a skrol je po horizontali. Ovo bi trebalo da upali.
Uradio sam i ovo i napokon sam zadovoljan...
Sad imam jos jedno pitanje za tebe (vidim da se lepo razumes u ove stvari).
Kako da obezbedim DA MI SE SVE ODVIJA ISTOM BRZINOM NA RACUNARIM RAZLICITE
BRZINE?
Probao sam da napravim funkciju koja "izracuna brzinu' pa onda sam stavio
jednu prazznu For petlju koja broji da te brzine(sto je brzina veca FOR se
duze izvrsava) ali opet nisam postigao da je svugde ISTA brzina...
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.339jasicp,
Koji je najlaksi nacin da se sazna da li neko objekat postoji u
programu ? Napominjem sledece:
1. Funkcija message otpada, zato sto se odnosi na objekte tipa PView.
2. Objekat koji treba da se otkrije je naslednik samo objekta TObject.
3. Ako se definise nesto kao:
type
TMojObj = object(TObject)
.
.
.
end;
var PTMojObj:^TMojObj;
PMojObj :PTMojObj;
pa se onda radi kao :
PMojObj:=new(PTMojObj,Init)
a zatim negde u programu se objekat ukloni sa:
Dispose(PMojObj,Done);
stos je u tome sto PRE poziva PMojObj:=new(PTMojObj,Init) , PMojObj jeste
bio NIL. Posle, naravno, ne. Medjutim, posle poziva
Dispose(PMojObj,Done); varijabla PMojObj opet nije NIL, vec nesto<>NIL.
Ovo pisem jer bi se moglo testirati if PMojObj<>NIL ==> objekat postoji a u
suprotnom ne. Da li ima logicnijeg nacina za "pronalazenje" je li objekat
postoji (njegova instanca) ?
pascal.340nemko,
)>Ć- Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije
)>Ć- restart programa, znaci, brisanje svih promenljivih i "GOTO
)>Ć- 10" ;))
Ako mi das samo jedan valjan razlog za sve ovo, mozda cu i pokusati
da to resim.
pascal.341nlazic,
> Insert u aplikaciju, sve funkcionise normalno. Kada
> radim ovako, sa grupom, StdEditorDialog uopste ne uspeva da
> prikaze dijalog na ekranu, dok na komande reaguje kao daje
> tu. Verovatno se dijaloze "ne probiju" do prikaza. Ima li neko
> ideju u cemu je stvar ?
Stvar uopšte nije jednostavna kako se na prvi pogled čini, ali
rešenje naravno postoji. Štos je u tome da ti se dijalozi koje
pravi StdEditDialog ne nalaze u tvojoj grupi, već u DeskTop-u,
ispod nje. Zato se oni ne vide (zaklanja ih tvoja grupa), ali
rade. Zbog obimnosti kompletno rešenje šaljem uz ovu poruku,
pa ti vidi.
Sličan problem je mene prilično oznojio pre nekog vremena, pa
bi mi bilo drago da neko nađe neko kraće rešenje.
:) Nebojša :)
editdlg.zippascal.342nlazic,
> Kako da obezbedim DA MI SE SVE ODVIJA ISTOM BRZINOM NA
> RACUNARIM RAZLICITE BRZINE?
Najjednostavije je pomoću DELAY. Ona u TP 6.0 ima bag, ali
čini mi se da na SEZAM-u ima ispravka. Ako nema mail-uj da
ti je bacim.
:) Nebojša :)
pascal.343duzle,
>**> stos je u tome sto PRE poziva PMojObj:=new(PTMojObj,Init) ,
>**> PMojObj jeste bio NIL. Posle, naravno, ne.
>**> Medjutim, posle poziva Dispose(PMojObj,Done);
>**> varijabla PMojObj opet nije NIL, vec nesto<>NIL. Ovo
>**> pisem jer bi se moglo testirati if PMojObj<>NIL ==> objekat
>**> postoji a u suprotnom ne. Da li ima logicnijeg nacina za
>**> "pronalazenje" je li objekat postoji (njegova instanca) ?
U Done destruktor (na kraju) stavi jedno PMojObj := NIL. Posle proveravaj
ovo što si gore naveo...
Pozdrav,
Ognen
pascal.344janko,
> Međutim, to ne radi. Pomagajte...
Normalno da ne radi. :)
Slično tako ne radeći sors je svojevremeno objavio PBojan u Računarima i
patio je od istog baga kao i tvoj.
Bag se ogleda u lošem prenosu parametara staroj rutini za interapt,
odnosno lošem preuzimanju parametara koje ostavi stara rutina za
interapt. Sve to opet ima veze sa načinom na koji kompajler generiše
tzv. "calling" sekvence. Konkretno, jedna od stvari koje bi morao da
uradiš je da posle poziva stare rutine "ručno" zakrpiš stek tako da
i nova vrati "ono što je htela stara."
Da gornje razumeo moraš znati:
a) asembler za '86
b) preciznu specifikaciju parametara koje pravi INT 13 preuzima i vraća.
c) kako TP generiše calling sekvence.
Da li imaš još neki sitniji bag ne znam, ali sam za ovaj SIGURAN, i
najveći je.
Lično sam ovo rešavao za Borland C, i imam asm sors rutina koje to
rešavaju. Problem je samo što su one zavisne i od modela, a takođe i što
iste fale Turbo Pascalu, i što njihova modifikacija za TP zahteva dosta
rada i imanje orignialnih referntnih priručnika (podatke o kodu koji
generiše TP nećeš naći u helpu).
pascal.345madamovic,
> From: Sebastian.Adankočf107.n111.z38.setnet.setnet.co.yu
> (Sebastian Adanko) Subject: PE_TP7.teh.restart
> Date: Sun, 30 Apr 1995 23:54:51
> Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije
> restart programa, znaci, brisanje svih promenljivih i "GOTO 10"
> ;))
Tebi u stvari treba "50 RUN"...
Možeš recimo pozvati opet taj isti program preko EXEC, ali pazi,
u memoriji ostaje stara kopija programa, tako da ako neekkkoooliiko
puta pokreneš "50 RUN" = EXEC your_program dovodi do zaglavljivanja
računara...
Ako je recimo PROGRAM AHA;
možda bi se moglo nešto aha; pa da ga starta opet sa new promenljivim,
ali trenutno nemam TP 7.0 pa ne mogu da proverim....
Možeš pokušati ovako : da tvoj program prekine sa radom
i prepusti rad novoj kopiji tvog programa, što je u TC(++)-u trivijalno,
dok u TP moraš izvesti uz pomoć trikova.... Pomenute trikove je na
Sezam prebacio DEJANR daaaaavnnnooo, čini mi se u PC.PROG.1:pascal ili
PC.PROG.2:pascal... To je on svojevremeno pitao na Bix-u i našao ta
rešenja (2 različita rešenja...). Ne mogu ti reći gde tačno, a pošto
nemaš pristup Sezam-u, zamoli prijatelja :( :)...
pascal.346madamovic,
> From: Vlado.Prelovacčf133.n103.z38.setnet.setnet.co.yu (Vlado
> Prelovac) Subject: Re: help!
> Date: Mon, 01 May 1995 02:09:00
> Sad imam jos jedno pitanje za tebe (vidim da se lepo razumes u
> ove stvari). Kako da obezbedim DA MI SE SVE ODVIJA ISTOM
> BRZINOM NA RACUNARIM RAZLICITE BRZINE?
> Probao sam da napravim funkciju koja "izracuna brzinu' pa onda
> sam stavio jednu prazznu For petlju koja broji da te brzine(sto
> je brzina veca FOR se duze izvrsava) ali opet nisam postigao da
> je svugde ISTA brzina...
Zapamtiš vreme,pokreneš svoj program 10 iteracija, i zatim
izmeriš delta vreme i proračunaš brzinu, odrediš pauzu između
iteracija, i to ti je to... Tako ćeš postignuti brzinu +-5%
one na tvom računaru... :)
Ako nije bilo jasno, mogu ja i detaljnije... :) :(
pascal.347nemko,
)>Ć- Dispose(PMojObj,Done); varijabla PMojObj opet nije NIL,
)>Ć- vec nesto<>NIL. Ovo pisem jer bi se moglo testirati if
)>Ć- PMojObj<>NIL ==> objekat postoji a u suprotnom ne. Da li
)>Ć- ima logicnijeg nacina za "pronalazenje" je li objekat
A da posle svakog dispose() stavis pmojobject:=NIL?
pascal.348mmitrovic,
::::: Procedure NewInt13 (Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP :word);
::::: interrupt;
::::: begin
::::: DiskFlagž:=TRUE;
::::: pushF;
::::: Inline($FA); š CLI ć
::::: OldInt13;
::::: DiskFlagž:=FALSE;
::::: end;
Ovo ti neće raditi jer kad pozivaš OldInt13 (koji je tipa procedure,
pretpostavljam), registri će se razlikovati od onih koji su bili na
ulazu (ES:DI će se promeniti pri DiskFlagž:=true; DS,BP će se promeniti
na samom ulazu u proceduru, AX odmah na pocetku postaje isti kao DS, i
koliko vidim dalje se ne menja), a INT 13 zahteve prima preko registara.
(uglavnom ovih spomenutih). Budi srećan što ti ništa nije stradalo na
disku (mogo je da ti utrči neki nezgodni servis u AX, pa da ti poformatira
nešto). Zato udari
procedure NewInt13; interrupt; assembler;
asm
pa piči handler, bar ćeš imati punu kontrolu nad registrima, a uz malu
egzibiciju i pristup svojim segmentima (DATA, CODE).
pascal.349mmitrovic,
::::: stos je u tome sto PRE poziva PMojObj:=new(PTMojObj,Init) , PMojObj
::::: jeste bio NIL. Posle, naravno, ne. Medjutim, posle
::::: poziva Dispose(PMojObj,Done); varijabla PMojObj opet nije NIL, vec
::::: nesto<>NIL. Ovo pisem jer bi se moglo testirati if PMojObj<>NIL ==>
Probaj sa TypeOf() funkcijom.
pascal.350nlazic,
> if PMojObj<>NIL ==> objekat postoji a u suprotnom ne. Da li
> ima logicnijeg nacina za "pronalazenje" je li objekat postoji
> (njegova instanca) ?
Neka univerzalna metoda ne postoji (kol'ko ja znam). Nije ni
Borland baš sve mogao da napravi. Moraćeš se sam potruditi,
recimo da napraviš svoj mehanizam a'la Message.
> bio NIL. Posle, naravno, ne. Medjutim,
> posle poziva Dispose(PMojObj,Done); varijabla PMojObj opet
> nije NIL, vec nesto<>NIL. Ovo pisem jer bi se moglo testirati
> if PMojObj<>NIL ==> objekat postoji a u suprotnom ne. Da li
Kada sa Dispose(PMojObj,Done); oslobodiš pokazivač, prema Borland-u
njegova vrednost nije NIL već je nedefinisano. Međutim, u 99%
slučajeva, vrednost ostaje ista, dakle PMojObj i dalje pokazuje
na istu lokaciju u memoriji. žak se neposredno posle Dispose
PMojObj i dalje može koristiti kao da Dispose-a nije ni bilo! Sve
što Dispose radi je to da Heap Manager-u stavlja na znanje da na
adresu na koju pokazuja PMojObj može pri sledećem pozivu neke
New procedure staviti neki novi objekat.
Solomonsko rešenje je da pišeš:
Dispose(PMojObj,Done);
PMojObj := NIL;
Sada možeš da proveravaš if PMojObj <> NIL then ...
:) Nebojša :)
pascal.351nemko,
)>Ć- Probaj sa TypeOf() funkcijom.
Typepf() daje pointer na VMT (virtual method table) i prema njoj
mozes odrediti kog je tipa neki objekat ali ne da li i postoji.
pascal.352postmast,
From: zsteva@magic.hobbiton.co.yu (Zeljko Stevanovic)
Subject: Re: PE_TP7.teh.restart
Date: Tue, 2 May 1995 13:30:43 GMT
Sebastian Adanko (Sebastian.Adanko@f107.n111.z38.setnet.setnet.co.yu) wrote:
: Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije restart
: programa, znaci, brisanje svih promenljivih i "GOTO 10" ;))
Iz programa oces da startujes samog sebe gde je tome primena ??
pascal.353postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: PE_TP7.teh.restart
Date: Tue, 02 May 1995 18:35:44
SA> Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije restart
SA> programa, znaci, brisanje svih promenljivih i "GOTO 10" ;))
Ceo kod izvrsavas u jenoj 'While True' ili 'While KrajPrograma' petlji.
Moze i sa GoTo ali to nije u duhu Paskala.
Sto se tice brisanja promenljivih, nacin programiranja u Pascalu
obezbedjuje da na pocetku izvrsavana koda uopste nje bitno koje
vrednosti promenljive imaju, tako da nema potrebe za bukvalnim
brisanjem sadrzaja.
Hint: na pocetku svakoj promenljivoj dajes inicijalnu vrednost.
... TAG loading error...
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.354postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: PE_TP7.teh.restart
Date: Wed, 03 May 1995 22:03:52
-=> Reply to: Sebastian Adanko <=-
SA> Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije restart
SA> programa, znaci, brisanje svih promenljivih i "GOTO 10" ;))
;-)
while (1=1) do
begin
(* ... *)
end.
kewl, ha? ;-)
-=> MM <=-
... Nisam lud da radim posteno, a da mi porez naplacuju kao budali!!!
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
pascal.355postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Btree
Date: Thu, 04 May 1995 23:34:00 CET
QWK To: All
Kad cuh da se pominje Delphi... Da li neko od prisutnih ovde ima Btree
modul za TopSpeed Modulu-2, kao i pratece usluzne module koji se isporucuju uz
ovaj programski paket? Btree mi je najvazniji, pa ako neko ima, neka mi ostavi
poruku...
3OPAH
... BRzo kucanje inam isvoje losed srtane.
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0) #! rnews 1161
pascal.356postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: GRAFIKA U TVISION-U ...
Date: Thu, 4 May 1995 22:46:58 GMT
Ivan Markovic je napisao:
>> Jedan prijatelj me je zamolio da mu pogledam za nekakav unit koji
>> omogucava da Turbo Vision predje u graficki mod. Kaze da je citao negde
>> o tome - verovatno Racunari, ali nije siguran.
>> Ako neko ima pojma o cemu se radi neka ostavi i gde se isti moze
>> naci ...
U TVDEMOS direktorijumu TurboPASCAL-a (mislim na verziju 6.0) imas
programcic TVBGI.PAS, gde se nalazi ono sto te zanima.
--
Stanislave, preterano se*es!
pascal.357postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: pascal
Date: Tue, 02 May 1995 13:39:05
"MĆ From: "Miljan Mitrovic" <mmitrovic@sezam.UUCP> Newsgroups:
"MĆ yu.prog.pascal Organization: SEZAM Beograd, 011 648-422 ::::: Opet
"MĆ stek u pitanju! Kako da znam koliko je mesta ostalo na ::::: steku?
"MĆ Radi se neka rekurzija, a ne znam kako da proverim ima ::::: li
"MĆ mesta za poziv procedure.
"MĆ Evo ti jedna f-ja koja vraca kolicinu slobodnog steka:
"MĆ function StackFree: Word; far; assembler;
"MĆ asm
"MĆ mov ax,sp
"MĆ add ax,4
"MĆ end;
Jel ima neke posledice ako se ne upise "assembler;" posle svake func. proc. ? Ja nisam to uradio, a program je opet startao...
0GZy
* 0Gi'S eDiT0R * I'm too sexy for this conference!
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž (38:108/132)
pascal.358nemko,
)>Ć- Probaj sa TypeOf() funkcijom.
Typepf() daje pointer na VMT (virtual method table) i prema njoj
mozes odrediti kog je tipa neki objekat ali ne da li i postoji.
pascal.359sslavko,
>> Uzgred kako bi uradio starfield, da se dobije realistican
>> efekat kretanja kroz prostor...
Evo ti moja simulacija StarField-a. Malo si me zainteresovao
pa sam seo i evo rezultata. Ja mislim da je sasvim Ok.
starfld.paspascal.360postmast,
From: zsteva@magic.hobbiton.co.yu (Zeljko Stevanovic)
Subject: Re: PE_TP7.teh.restart
Date: Thu, 4 May 1995 22:34:32 GMT
Marko Milivojevic (markom@setnet.co.yu) wrote:
Evo mene sa Bint-a :-))
: SA> Anyway, zanimlao bi me kako iz TP 7.0 izvesti sto kulturnije restart
: SA> programa, znaci, brisanje svih promenljivih i "GOTO 10" ;))
: ;-)
: while (1=1) do
: begin
: (* ... *)
: end.
Ovo gore ce da radi ali nije bas najbolje (lepse) uradjeno isti efekat ima i:
while true do begin
(* ... *)
end.
Ili umesto true staviti 1 ..
I jos nesto neznam dali si probao dali TP hoce da primi :
program
while true do begin
(* ... *)
end.
Umesto standarnog
program
begin
end.
pascal.361nexy,
Hitno bi mi trebao GraphGET (GraphREAD) za Pascal.
P.S. U strasnoj sam frci pa ne mogu da ga pravim.
Pozdrav,
Wizard NEXY
pascal.362eburanj,
Izraz (1=1) <=> TRUE u paskalu što je mnogo jednostavniji izraz
(mada bi TP trebao da opš#timizuje (1=1) u TRUE...
pascal.363jasicp,
> A da posle svakog dispose() stavis pmojobject:=NIL?
Ujedno odgovaram i na sugestiju da u Done stavim Objekt:= NIL. OK, to
moze, nego da li ima elegantnijih resenja ? Cini se da nema ili mi ne pada
na pamet. Inace, ako objekti nisu izvedeni iz klase TView, ima li nacina
da medjusobno komuniciraju u stilu message(... ?
pascal.364jasicp,
Evo, da odgovorim samom sebi posle resenog problema, i da se zahvalim
detaljnom predlogu resenja ljudi cije brojeve poruka vidite dole...
Stos je u sledecem: u unitu koji definise message box-ove, treba
postaviti da se message box insertuje u Application a ne u Desktop ili
slicno. Znace, Insert(Application^...). Nemojte cackati ovaj unit ako
niste sigurni sta radite, jer moze biti belaja :).
pascal.365vitez.koja,
#=> From: markom@setnet.co.yu (Marko Milivojevic)
#=> Subject: Re: PE_TP7.teh.restart
#=> Date: Wed, 03 May 1995 22:03:52
#=> while (1=1) do
while 1 do ;)
pascal.366duzle,
>**> Ujedno odgovaram i na sugestiju da u Done stavim Objekt:=
>**> NIL. OK, to moze, nego da li ima elegantnijih resenja ?
Zavisi šta podrazumevaš pod "elegantnijim" rešenjem ? Da dodaš jedno
Objekt:=NIL u Done destruktor stvarno nije teško, a dalja provera je
stvarno jednostavna.
>**> Cini se da nema ili mi ne pada na pamet. Inace, ako
>**> objekti nisu izvedeni iz klase TView, ima li nacina da
>**> medjusobno komuniciraju u stilu message(... ?
Mislim da nema... ?
Ognen
pascal.367jkpbvk,
Jel' bi bio neko ljubazan da mi ovo prevede na Pascal ?
Ili ako ima neki drugi source za prikazivanje PCX slika u 256 boja u pascalu
da ga dostavi.
#include <stdio.h>
typedef struct {
char manufacturer;
char version;
char encoding;
char bits_per_pixel;
int xmin,ymin;
int xmax,ymax;
int hres;
int vres;
char palette[48];
char reserved;
char colour_planes;
int bytes_per_line;
int palette_type;
char filler[58];
} PCXHEAD;
PCXHEAD header;
unsigned int width,depth;
unsigned int bytes;
unsigned char palette[768];
FILE *pic;
void com(void);
void Read_PCX_Line(unsigned int vidoffset)
{
unsigned char c, run;
unsigned int n = 0;
asm {
cld
mov di,[vidoffset]
}
do
{
c = fgetc(pic) & 0xff;
if ((c & 0xc0) == 0xc0)
{
run = c & 0x3f;
c = fgetc(pic);
n += run;
asm {
mov ax,0a000h
mov es,ax
mov al,[c]
xor ch,ch
mov cl,[run]
rep stosb
}
}
else
{
n++;
asm {
mov ax,0a000h
mov es,ax
mov al,[c]
stosb
}
}
}
while (n < bytes);
}
void Unpack_PCX_File(void)
{
int t;
for (t = 0; t < 768; t++)
palette[t] = palette[t] >> 2;
asm { mov ax,0013h
int 10h
mov ax,1012h
xor bx,bx
mov cx,256
mov dx,offset palette
int 10h
}
for (t = 0; t < depth; t++)
Read_PCX_Line(t * 320);
getch();
asm {
mov ax,0003h
int 10h
mov ah,4ch
int 21h
}
}
void main(int argc, char *argv[])
{
if ((pic = fopen(argv[1],"rb")) != NULL)
{
if (fread((char *)&header,1,sizeof(PCXHEAD),pic) == sizeof(PCXHEAD))
{
if (header.manufacturer == 0x0a && header.version == 5)
{
if (!fseek(pic,-769L,SEEK_END))
{
if (fgetc(pic) == 0x0c && fread(palette,1,768,pic) == 768)
{
fseek(pic,128L,SEEK_SET);
width = header.xmax - header.xmin + 1;
depth = header.ymax - header.ymin + 1;
bytes = header.bytes_per_line;
Unpack_PCX_File();
}
else printf("Error reading palette\n");
}
else printf("Error seeking to palette\n");
}
else printf("Not a 256 color PCX file\n");
}
else printf("Error reading %s\n",argv[1]);
fclose(pic);
}
else printf("Error opening %s\n",argv[1]);
}
pascal.368nemko,
)>Ć- while 1 do ;)
pascal.369mmitrovic,
::::: Typepf() daje pointer na VMT (virtual method table) i prema njoj
::::: mozes odrediti kog je tipa neki objekat ali ne da li i postoji.
Znam to, nego sam mislio da TObject-ov Done brise to VMT polje
Posle sam pogledao i ne bri{e (a trebalo bi). Opet borlandov propust,
isto kao i za proveru nasledjivanja.
pascal.370mmitrovic,
::::: Jel ima neke posledice ako se ne upise "assembler;" posle svake func.
::::: proc. ? Ja nisam to uradio, a program je opet startao...
Posledice su u vecem kodu i pogresnom rezultatu. Bez assembler ova
funkcija ce alocirati citav stek frame za rezultat promenljive, tako da
ono add ax,4 nije dovoljno.
pascal.371nemko,
)>-)> Ć- while 1 do ;)
Mislim da mi je misterioznoo nestao deo poruke.
Trebalo je da glasi: Zar je nesto ovako moguce u pascalu?
pascal.372pirke,
>>> DELPHI je stigao,
>>> Prvi utisci su impresivni, mada moram da priznam da do sada nisam
Gde i kako se moze doci do dugo ocekivanog delphi-ja kod nas? Kod kog
prodavca softvera :) se moze kupiti CD??? PLEASE MAIL ME i ostavi
phone number za nabavku dephi-ja.
Thanx in advance.
Digital priest...
pascal.373nemko,
)>- Znam to, nego sam mislio da TObject-ov Done brise to VMT
)>- polje Posle sam pogledao i ne bri{e (a trebalo bi). Opet
)>- borlandov propust, isto kao i za proveru nasledjivanja.
Ako sam dobro shvatio VMT postoji za sve objekte koji bi se
u programu mogli koristiti. Tek kad se objekat kreira
konstruktoorom dodeli mu se VMT ali nema smisla brisati VMT
jer ga koriste i drugi objekti (nepravi se za svaki zasebna
kopija istog).
pascal.374nemko,
)>- Posledice su u vecem kodu i pogresnom rezultatu. Bez
)>- assembler ova funkcija ce alocirati citav stek frame za
)>- rezultat promenljive, tako da ono add ax,4 nije dovoljno.
Deder objasni ovo malo bolje na kratkim primerima. Ja sam radio
i sa i bez 'assembler' i radilo je jednako dobro.
pascal.375vitez.koja,
#=> )>-)> Ć- while 1 do ;)
#=> Trebalo je da glasi: Zar je nesto ovako moguce u
#=> pascalu?
Nije :) Bar ne u Turbo Paskalu.
pascal.376mmitrovic,
::::: Ako sam dobro shvatio VMT postoji za sve objekte koji bi se
::::: u programu mogli koristiti. Tek kad se objekat kreira
::::: konstruktoorom dodeli mu se VMT ali nema smisla brisati VMT
::::: jer ga koriste i drugi objekti (nepravi se za svaki zasebna
::::: kopija istog).
Tačno, ne pravi se.
Evo ga ceo princip:
VMT tabela postoji samo jedna po objektu i to samo za objekte
koji sadrže virtuelne metode. VMT tabele su uvek i obavezno u DATA
segmentu. Kada se objekat kreira, begin sekcija constructor-a osim
postavljanja stack frame-a kreira objekat tako što ga alocira ili ne
(u zavisnosti da li je u pitanju pointer na objekat ili objektna
promenljiva), i zatim u njega ubaci NEAR pointer na VMT tabelu (pošto
je VMT uvek u DATA segmentu na koji uvek pokazuje DS). Ono što sam ja
mislio je da destructor briše taj NEAR pointer, čime bi disvalidovao
objekat. Međutim, to se ne dešava. TypeOf funkcija vraća pointer
DS:<VMT offset> i preko njega se utvrđuje da li su dva objekta istog
tipa.
pascal.377mmitrovic,
::::: )>- Posledice su u vecem kodu i pogresnom rezultatu. Bez
::::: )>- assembler ova funkcija ce alocirati citav stek frame za
::::: )>- rezultat promenljive, tako da ono add ax,4 nije dovoljno.
:::::
::::: Deder objasni ovo malo bolje na kratkim primerima. Ja sam radio
::::: i sa i bez 'assembler' i radilo je jednako dobro.
Razmišljam kako da ti objasnim, pa vidim da nema ništa bez čaršava,
so ako nekog ne zanimaju paskal iznutrice, skip this message.
Elem, moja funkcija (sa assembler):
function StackSize: Word; far; assembler;
asm
mov ax,sp
add ax,4
end;
tvoja funkcija (bez assembler):
function StackSize: Word; far;
begin { Ovo si morao da dodas jer nema assembler }
asm
mov ax,sp
add ax,4
end;
end;
Kada se prevede moja funkcija izgleda ovako (recimo da je stek pre
poziva bio sp=1000 bajtova):
PROGRAM.STACKSIZE: asm ; na steku cs:ip -> sp=996
cs:0000 89E0 mov ax,sp ; ax=996
cs:0002 050400 add ax,0004 ; ax=ax+4=1000
PROGRAM.6: end; ;
cs:0005 CB retf ; vraća se u program sa tačnom
; vrednošću u AX, a i sp=1000.
Total CODE: 6 bytes.
Tvoja funkcija (isti uslovi):
PROGRAM.STACKSIZE: begin ; cs:ip na steku -> sp=996
cs:0000 55 push bp ; bp na stek -> sp=994
cs:0001 89E5 mov bp,sp ; bp=994
cs:0003 83EC02 sub sp,0002 ; sp=sp-2=992, prostor za rez.
cs:0006 89E0 mov ax,sp ; ax=992
cs:0008 050400 add ax,0004 ; ax=ax+4=996
PROGRAM.: end;
cs:000B 8B46FE mov ax,[bp-02] ; *****
cs:000E 89EC mov sp,bp ; sp=994
cs:0010 5D pop bp ; bp sa steka -> sp=996
cs:0011 CB retf ; povratak. sp=1000
Total CODE: 18 bytes.
***** tj. u ax se prebacuje nedefinisana vrednost pošto nikad ništa nije
stavljno u [bp-02]. i funkcija vraća neku sasvim levu vrednost.
Funkcija neće blokirati program pošto je sp pre i posle poziva isti.
Elem, i nije bilo tako strašno. :)
pascal.378postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: PE_TP7.teh.restart
Date: Sun, 07 May 1995 12:34:06
-=> Reply to: Zeljko Stevanovic <=-
ZS> Umesto standarnog
ZS> program
ZS> begin
ZS> end.
Naravno da ne moze.
-=> MM <=-
... I wish life had a scroll-back buffer.....
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
pascal.379postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Objekti
Date: Sun, 07 May 1995 22:40:04
Hi,
Moze li neko da objasni kako se kriju delovi objekata? Mislim da budu
neveidljivi korisniku objekta.
Cesto imam potrebu da u objektu definisen neka polja koja mi trebaju
interno i ne bi bas bilo zgodno da programer koji koristi objekat moze
da im direktno menja sadrzaj.
U literaturi nisam nasao bas jasna objasnjenja za ovo.
... BR> Dve zene i guska - Vasar!!!
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.380postmast,
From: Vlado.Prelovac@f133.n103.z38.setnet.setnet.co.yu (Vlado Prelovac)
Subject: pascal
Date: Wed, 10 May 1995 01:18:00
GDE ?
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.381postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: Objekti
Date: Tue, 09 May 1995 13:09:00
PS> Moze li neko da objasni kako se kriju delovi objekata? Mislim da budu
PS> neveidljivi korisniku objekta.
Koristeci direktive PUBLIC & PRIVATE mozes nekim delovima objekta
(i metode i promenljive) da promenis status. Sve promenljive i
metode koje se deklarisu u PRIVATE delu (posle PRIVATE direktive a
pre PUBLIC direktive) ce se videti samo u _modulu_ u kome je
definisan objekat. U drugim modulima, nece se videti. To znaci, da
kada ti pises vise objekata u istom modulu, ti moduli mogu da
pristupaju jedan drugom (cak i PRIVATE delu) ali kada se ti objekti
koriste iz drugog modula (drugog TPUa, iz glavnog programa) PRIVATE
deo se ne vidi. Na primer:
┌─────────────────────────────┐ ┌─────────────────────────────┐
│unit module1; │ │program objtst; │
│interface │ │uses module1; │
│type │ │var t: test1; │
│ test1: object │ │ │
│ pub: integer; │ │begin │
│ private │ │ { ovo radi,kao sto rekoh │
│ priv: integer; │ │ uvek } │
│ end; │ │ t.pub := 156; │
│implementation │ │ { e, ovo ne radi } │
│var t: test1; │ │ t.priv := 35; │
│begin │ │end. │
│ { ovo uvek radi } │ │ │
│ t.pub := 12; │ │ │
│ { ovo radi samo u ovom │ │ │
│ modulu } │ │ │
│ t.priv := 156; │ │ │
│end. │ │ │
└─────────────────────────────┘ └─────────────────────────────┘
* Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.382postmast,
From: djdule@durlan.co.yu (Djdule)
Subject: Pascal
Date: Sat, 22 Apr 1995 00:50:00 GMT
QWK To: Milos Corak
MC >Da li ima neko tablicu prekida za inicijalizaciju vesa
MC >grafike u true-coloru?U pitanju su BIOS prekidi i adrese.
Mislim da ne postoji VESA standard za true color.
---
■ SPEED 1.30 #514 ■ "Yield to temptation, it may not pass your way again."
#! rnews 554
pascal.383pirke,
>>> DELPHI je stigao,
>>> Prvi utisci su impresivni, mada moram da priznam da do sada nisam
Repriza:
Gde i kako se moze doci do dugo ocekivanog delphi-ja kod nas? Kod kog
prodavca softvera :) se moze kupiti CD??? PLEASE MAIL ME i ostavi
phone number za nabavku dephi-ja.
Thanx in advance.
Digital priest...
pascal.384billy,
>>Repriza:
I ja sam veoma zainteresovan , ali Dejan Dabic se nije prijavio na SEZAM od
kako je pustio ovu vest. Poslao sam mu i poruku koju naravno nije mogao da
procita. Sve u svemu ko prvi dodje do takve informacije o DELPHI-u neka ostavi
poruku u ovoj konf. gde moze da se nabavi.
Pozdrav Nikola.
pascal.385duzle,
>**> Hi,
>**>
>**> Moze li neko da objasni kako se kriju delovi objekata?
>**> Mislim da budu neveidljivi korisniku objekta.
>**>
>**> Cesto imam potrebu da u objektu definisen neka polja koja mi
>**> trebaju interno i ne bi bas bilo zgodno da programer koji
>**> koristi objekat moze da im direktno menja sadrzaj.
>**>
>**> U literaturi nisam nasao bas jasna objasnjenja za ovo.
Uzmeš objekt, deklarišeš ta polja u PRIVATE sekciJi, i objekt staviš u
poseban unit. Polja će iz drugih unita biti dostupna samo preko metoda koje
definišeš a biće i direktno dostupna iz samog unita u kojem je objekt
deklarisan.
Ogi
pascal.386dejanr,
>> Gde i kako se moze doci do dugo ocekivanog delphi-ja kod nas? Kod kog
>> prodavca softvera :) se moze kupiti CD??? PLEASE MAIL ME i ostavi
>> phone number za nabavku dephi-ja.
Ja sam pre par dana dobio Delphi na test od CET-a, dakle najbolje se njima
obrati.
CD i neviđena gomila knjiga.
pascal.388nesh,
HI
Nov sam ovde pa da nebih lutao molim da mi neko javi gde da se dokopam nekih
unita za TP5.0 koji rade sa bazama podataka?
pascal.389jasicp,
Da rascistimo nesto:
1. Napravim neki objekat
type TNeki=object(TNekiPre)
.
.
.
end;
2. Napravim pointere :
type TPNeki=^TNeki
var PNeki : TPNeki
Ovde je, po defaultu, PNeki=NIL (jel' tako ?)
3. Aktiviram objekat : PNeki:=New(TPNeki,Init)
Ako u Init metodu kod funkcije New imam neke provere da li treba ili ne
treba da se aktivira objekat, pa se ispostavi da ne treba, pre poziva
Inherited Init ili pre kraja metoda Init, pa se objekat NE aktivira, nego
se pomocu Fail izadje iz konstruktora, da li PNeki ostaje _uvek_ NIL ili
ima teorije da ne bude NIL ?
pascal.390nemko,
)>- From: Vlado.Prelovac@f133.n103.z38.setnet.setnet.co.yu (Vlado
)>- Prelovac) Subject: pascal
)>- Date: Wed, 10 May 1995 01:18:00
)>- GDE ?
)>- * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
Ako se zbog ovakvih poruka vrsi razmena ponekih konferencija
sa SETNet-om onda .... .
Dajte bre ljudi i uozbiljite se malo. (I pisite vece odgovore od
citata i tag-line-ova zajedno).
Tako vam boga.
pascal.391nlazic,
> se pomocu Fail izadje iz konstruktora, da li PNeki ostaje
> _uvek_ NIL ili ima teorije da ne bude NIL ?
Kada se pri izvršavanju programa stigne do BEGIN reči konstruktora,
BP garantuje da će se objekat uspešno instalirati na heap. To znači
da New skoro nikada neće vratiti NIL. Međutim, ako se koristi Fail, konstruktor
će automatski da izbriše sa heap-a sve što je na njega postavljeno pri
ulasku u konstruktor i vratiće vrednost NIL da bi ukazao na neuspešan pokušaj
inicijalizacije objekta. Jednostavno rečeno, odgovor na tvoje pitanje je:
Posle Fail-a nema teorije da konstruktor varti bilo šta osim NIL-a.
:) Nebojša :)
pascal.392dejanr,
>> Nov sam ovde pa da nebih lutao molim da mi neko javi gde da se dokopam
>> nekih unita za TP5.0 koji rade sa bazama podataka?
Probaj u direktorijumu R:\PASCAL, ima raznih stvari.
Takođe, pogledaj poruke u ovoj konferenciji uz koje postoje fajlovi
(mail read pascal /a /t), a takođe i u konferencijama PC.PROG.4,
PC.PROG.3 itd.
pascal.393postmast,
From: markom@setnet.co.yu (Marko Milivojevic)
Subject: Re: pascal
Date: Wed, 10 May 1995 13:59:22
-=> Reply to: "Vladimir Maric" <=-
#=> while (1=1) do
"M>
"M> while 1 do ;)
Mislim da TP ovo ne bi progutao.
-=> MM <=-
... Shareware girls - try for 30 days, then legalize or quit
* Origin: SETNet - Exodus, Beograd #137-477# from 22:00 to 09:00 (38:103/130)
pascal.395postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Sat, 13 May 1995 23:14:00 CET
QWK To: Mladen Adamovic
(Tekst poruke: Mladen Adamovic, na temu PASCAL)
> Sad imam jos jedno pitanje za tebe (vidim da se lepo razumes u
> ove stvari). Kako da obezbedim DA MI SE SVE ODVIJA ISTOM
> BRZINOM NA RACUNARIM RAZLICITE BRZINE?
MA> Zapamtis vreme,pokrenes svoj program 10 iteracija, i zatim
MA> izmeris delta vreme i proracunas brzinu, odredis pauzu izmedu
MA> iteracija, i to ti je to...
Ili: INT 13H se izvrsava svakih 55 ms. To vreme se moze promeniti (na svim
PC racunarima), a mogu se i koristiti i Extended & Tape Functions (ne znam
koji
INT), medju kojima postoje funkcije za za zaustavljanje programa odredjen
broj
milisekundi i za merenje opet nekog broja milisekundi, pri cemu program
nastavlja da radi i povremeno proveri da li je vreme isteklo (proverava fleg).
Ako te interesuje kako, javi.
3OPAH
... Ideja nije nova, ali je originalna!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0)
pascal.396postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Sat, 13 May 1995 23:15:00 CET
QWK To: Milivoje Ognjanovic
(Tekst poruke: Milivoje Ognjanovic, na temu PASCAL)
MO> Jel' bi bio neko ljubazan da mi ovo prevede na Pascal ?
MO> Ili ako ima neki drugi source za prikazivanje PCX slika u 256 boja u
MO> pascalu da ga dostavi.
Ovo ne moze da se prevede na Pascal. Moze na Turbo Pascal 5.5 i iznad, kao
i
na jos neke druge prevodioce. Reci za koji ti je potrebno?
3OPAH
... Ko je u vladi, ne boji se gladi!
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0) #! rnews 1088
pascal.397vgenije,
HI
jel moze neko da mi pomogne -odnosno sastavi proceduru pomocu koje ce
racunar softverski da pali i gasi monitior(zatamnjenje)
pascal.398jkpbvk,
+| Ovo ne moze da se prevede na Pascal. Moze na Turbo Pascal 5.5 i iznad, kao
+| i na jos neke druge prevodioce. Reci za koji ti je potrebno?
Turbo Pascal 7.0
pascal.399nlazic,
Nabavio sam neki CD sa gomilom (osamdesetak) programčića za paskal. Ima
ih za sve verzije, od 5.0 do 7.0 i TPW. Neki od njih se mogu naći i na
SEZAM-u, ali većina ne. Iako su nešto starijeg datuma, mogu se naći
izuzetno korisni i poučni primeri. Ovo govorim zato što među njima ima
dosta primera koji rešavaju mnoge probleme o kojima je bilo reči u ovoj
konferenciji (na primer super precizni tajmeri, ispravke bug-a u proceduri
DELAY u TP6.0, rad sa stekom i heapom, pristup disku iz TSR-a, izračunavanje
matematičkih izraza i što je posebno zanimljivo kompletan BTrieve).
Pošto sam na SEZAM-u tek od aprila ove godine, lako je moguće da je neko
pre mene ovo već ponudio. Za svaki slučaj prilažem uz poruku spisak datoteka
sa kratkim opisima svake od njih, pa ako mislite da tu ima nešto intersantno,
javite pa da pošaljem i kompletnu biblioteku (oko 4.5Mb sorseva).
Pozdrav,
:) Nebojša :)
P.S. Zamolio bih nekoga ko zna da je ovako nešto već bilo na SEZAM-u da mi
kaže gde je, kako bih ga i ja pogledao.
listpas.zippascal.400nemko,
)>- HI
)>- jel moze neko da mi pomogne -odnosno sastavi proceduru pomocu
)>- koje ce racunar softverski da pali i gasi
)>- monitior(zatamnjenje)
Sve zavisi od monitora i kartice, neradi to kod svih.
pascal.401kriss,
˙˙ javite pa da pošaljem i kompletnu biblioteku (oko 4.5Mb
˙˙ sorseva).
Šalji i ne pitaj.
pascal.402nlazic,
>> Šalji i ne pitaj.
Veoma sa rad da pošaljem sve što imam. Međutim, prilično sa frišak na SEZAM-u,
pa bih molio da mi neko objasni kako je najzgodnije da upload-ujem .zip-ove
od 4.5Mb. Imam modem od 2400 BPS, mada kod drugara imam i 14400. Unapred
hvala.
Pozdrav ű,
:) Neboa :)
pascal.403bulaja,
│Međutim, prilično sa frišak na SEZAM-u, pa bih molio da mi neko objasni
│kako je najzgodnije da upload-ujem .zip-ove od 4.5Mb. Imam modem od
│2400 BPS, mada kod drugara imam i 14400.
└───
Najbolje će biti da uposliš drugara sa 14.4k modemom i uploaduješ to na
PRO-BA Sezam, pa ćemo prebaciti to i ovde u dir. :)
pascal.404mmitrovic,
::::: Ovde je, po defaultu, PNeki=NIL (jel' tako ?)
Ne, po defaultu je nedefinisano.
::::: Ako u Init metodu kod funkcije New imam neke provere da li treba ili ne
::::: treba da se aktivira objekat, pa se ispostavi da ne treba, pre
::::: poziva Inherited Init ili pre kraja metoda Init, pa se objekat NE
::::: aktivira, nego se pomocu Fail izadje iz konstruktora, da li PNeki
::::: ostaje _uvek_ NIL ili ima teorije da ne bude NIL ?
Kad mu daš Fail, BP kreira end sekciju iz dva dela, jedan za normalan
kraj, drugi za Fail kraj. Fail nije procedure, već komanda koja generiše
jmp na Fail deo end sekcije. U tom delu se nalazi poziv rutine za
dealokaciju koja između ostalog postavlja Self na NIL. Tako da će
povratna vrednost biti NIL.
pascal.405mmitrovic,
::::: Kada se pri izvršavanju programa stigne do BEGIN reči konstruktora,
::::: BP garantuje da će se objekat uspešno instalirati na heap. To znači
New pri kreiranju objekata je samo zadovoljavanje forme. Samu
alokaciju objekta radi begin sekcija konstruktora. Konstruktoru se
(osim ostalih parametara i VMTa) prosleđuje i jedan pointer zvani
SELF. Ako je pointer različit od nil u pitanju je objektna promenljiva,
ili objekat koji je već kreiran, npr:
var a:TObject;
ukoliko je pointer nil, objekat nije kreiran i konstruktor uradi alokaciju
i u AX:DX vrati pointer na objekat. Alokacija se unutar konstruktora
obavlja u BEGIN sekciji.
pascal.406mmitrovic,
::::: Ili: INT 13H se izvrsava svakih 55 ms. To vreme se moze promeniti (na
::::: svim PC racunarima).
Nije INT 13h nego INT 1Ch. INT 13h su low-level disk funkcije.
Što se tiče promene brzine (da bude više od 18.2puta/sec) princip je
drugačiji. Moraš da preuzmeš INT 08 (njega u stvari poziva tajmer, a
int 8 poziva int 1c kad završi svoje), i da namestiš handler tako da
poziva originalni int 08 18.2 puta/sec. Ukoliko to ne uradiš sistemski
časovnik će početi da warp-uje :) Sama promena brzine tajmera obavlja se
serijom OUTa na određene portove. I da, ukoliko pišeš rezidentni
program koji koristi ovu metodu, moraš da preuzmeš INT 21h i sprečiš
drugi program da preuzme na sebe int 08. E sad ako i drugi program bude
menjao tajmer, ne gine ti kuršlus. Opšta preporuka: uklopi se u 18.2
puta/sec i ne diraj ako ne moraš. :)
pascal.407mmitrovic,
::::: jel moze neko da mi pomogne -odnosno sastavi proceduru pomocu koje ce
::::: racunar softverski da pali i gasi monitior(zatamnjenje)
Imaš u nekim starim računarima source Screen Savera. Pogledaj u
RINDu.
pascal.408nlazic,
> jel moze neko da mi pomogne -odnosno sastavi proceduru pomocu
> koje ce racunar softverski da pali i gasi monitior(zatamnjenje)
To se na mono i CGA sistemima radi ovako:
┌──────────────────┬──────────┬────────┐
│ │ Mono │ CGA │
├──────────────────┼──────────┼────────┤
│ Adresa porta │ 3B8h │ 3D8h │
├──────────────────┼──────────┼────────┤
│ Isključivanje │ 21h │ 25h │
├──────────────────┼──────────┼────────┤
│ Uključivanje │ 29h │ 2Dh │
└──────────────────┴──────────┴────────┘
Ovo međutim ne radi na (mojoj) VGA.
"Gašenje" monitora ma VGA se izvodi na sledeći način:
procedure ScreenOFF; procedure ScreenON;
var R:Registers; var R:Registers;
begin begin
with R do with R do
begin begin
AH:=$12; AH:=$12;
BL:=$36; BL:=$36;
AL:=1; AL:=0;
end; end;
intr ($10,R); intr ($10,R);
end; end;
Nadam se da će to ovo pomoći. :)
Pozdrav,
:) Nebojša :)
pascal.409nlazic,
> New pri kreiranju objekata je samo zadovoljavanje forme. Samu
> alokaciju objekta radi begin sekcija konstruktora. Konstruktoru se
Evo sta ja mislim o tome. Ako se napise nesto poput ovoga:
var P : PObject;
begin
P := New(PObject, Init(...) );
desava se sledece. Kada BP naidje na New(PObject) on nalaze Heap Manager-u da
na heap-u rezervise potreban prostor za smestanje instance TObject-a (pod
pretpostavkom da je PObject = žTObject, naravno). Ukoliko tog prostora nema
generise se Run Time Error 203 (ovo se moze izbeci ako se globalna promenljiva
HeapError postavi da pokazuje na neku user-defined funkciju koja uvek vraca
vrednost 1. U tom slucaju ne generise se RTE, vec se P postavlja na NIL i
prelazi se na izvrsavanje sledeceg reda.). Prema tome ako BP dodje do BEGIN
sekvence konstruktora, to znaci da je na heap-u uspesno rezervisan prostor
za trazeni objekat i na taj prostor ukazuje SELF. Konstruktor sada (u okviru
tog
prostora koji je napravio New) pravi VMT i ostalo sta treba. Moze se desiti da
se u toku rada konstruktora pojavi potreba da se ponovo nesto alocira na
heap-u.
Ovo, medjutim, ne mora da uspe. U tom slucaju opet moze da dodje do RTE 203 ili
ne i to opet u zavisnosti od broja koji vraca funkcija na koju pokazuje
HeapError. Ako ta funkcija vrati 1 konstruktor generise kod koji oslobadja sve
sto je on do tada uradio, vraca vrednost NIL (tj. postavlja P na Nil) i
zavrsava
sa radom.
Generisanje istog ovog koda, za nasilno prekidanje konstruktora i
ponistavanje rezultata njegovog rada, ostvaruje se komandom Fail, koja i moze
biti pozvana samo unutar konstruktora. Ukoliko se koristi Fail, rezultat koji
vraca funkcija na koju ukazuje HeapError se i ne poziva, pa ni njen rezultat
nije bitan (ova funkcija se, u stvari, poziva samo ako dodje do greske pri
alociranju memorije, a ne i ako korisnik zatrazi Fail).
Znaci, posle Fail-a P je uvek NIL.
Na kraju krajeva, za korisnika i nije bitno kako se sve ovo desava, sve
dok moze da bude siguran da ce mu posle Fail-a P biti Nil.
Pozdrav,
:) Nebojša :)
P.S. Izvinjavam se zbog nasih slova, ali koristim YUSCII koji cesto zna da
smeta, pogotvo pri pisanju programa sa pointerima :)))))).
P.P.S. Zaista ti cestitam na kolicini odgovora koju saljes u ovu konferenciju.
:)
pascal.411biki,
(*
Ovo je program u Pascalu koji bi trebalo da manipulise sa fajlovima
kada je ukljucen Share u Windows-ima. Medjutim neradi procedura DeleteFile
sve dok je Share aktivan. U cemu je problem.
Unapred hvala.
*)
program IOFile;
{$S-,R-}
uses WinTypes, WinProcs, WinDos;
const
OneIO = 16383; { Number bytes handled per huge IO operation }
var
Buffer: array [0..OneIO] of Char;
function _LFileSize(F : integer) : longint;
{- an equivalent to TP's FileSize() function }
var
CurPos : longint;
begin
CurPos := _llseek(F,0,1);
_LFileSize := _llseek(F,0,2);
_llseek(F,CurPos,0);
end;
{ Copy file (full pathname) Returns 0 if error.}
function CopyFile(FileNameS, FileNameD: PChar): byte;
var
Fs: Integer; { File Handle for Windows file functions }
Fd: Integer; { File Handle for Windows file functions }
Size: Longint; { Size of bitmap, Size of color spec }
begin
CopyFile := 0;
Fs := _LOpen(FileNameS, of_Read);
if Fs = -1 then Exit;
_LCreat(FileNameD, 0);
Fd := _LOpen(FileNameD, of_Write);
repeat
size:= _LRead(Fs, Buffer, SizeOf(Buffer));
_lwrite(Fd, Buffer, Size);
until size = 0;
_LClose(Fs);
_LClose(Fd);
end;
{ Move file (full pathname) Returns 0 if error.}
function MoveFile(FileNameS, FileNameD: PChar): byte;
var
Fs: Integer; { File Handle for Windows file functions }
Fd: Integer; { File Handle for Windows file functions }
Size: Longint; { Size of bitmap, Size of color spec }
Obuff: TOfStruct;
begin
MoveFile := 0;
Fs := _LOpen(FileNameS, of_Read);
if Fs = -1 then Exit;
_LCreat(FileNameD, 0);
Fd := _LOpen(FileNameD, of_Write);
repeat
size:= _LRead(Fs, Buffer, SizeOf(Buffer));
_lwrite(Fd, Buffer, Size);
until size = 0;
_LClose(Fs);
_LClose(Fd);
OpenFile(FileNameS, Obuff, of_Delete);
end;
{ Delete file (full pathname) Returns 0 if error.}
function DeleteFile(FileNameS: PChar): byte;
var
Obuff: TOfStruct;
begin
DeleteFile := OpenFile(FileNameS, Obuff, of_Delete);
end;
begin
CopyFile('c:\1\file.pas', 'c:\1\file.bak');
MoveFile('c:\1\file.pas', 'c:\2\file.pas');
DeleteFile('c:\1\file.bak');
end.
pascal.412kriss,
˙˙ program koji koristi ovu metodu, moraš da preuzmeš INT 21h i
˙˙ sprečiš drugi program da preuzme na sebe int 08. E sad ako i
Pa i nije neko rešenje - dosta programa menja direktno vektore
interapata, što je (skoro) nemoguće sprečiti. No kao što reče, ne
dirati ako se baš ne mora. :)
pascal.413mmitrovic,
::::: Evo sta ja mislim o tome. Ako se napise nesto poput ovoga:
::::: var P : PObject;
::::: P := New(PObject, Init(...) );
::::: desava se sledece. Kada BP naidje na New(PObject) on nalaze Heap
::::: Manager-u da na heap-u rezervise potreban prostor za smestanje instance
::::: TObject-a (pod pretpostavkom da je PObject = žTObject, naravno).
Ne. Nisi u pravu. Kad naleti na New koji alocira objekat, BP alokaciju
prepušta konstruktoru. Konstruktor nalaže Heap Manageru da na HEAPu
alocira prostor za VMT pointer i podatke iz objekta.
::::: Prema tome ako BP dodje do BEGIN sekvence konstruktora,
::::: to znaci da je na heap-u uspesno rezervisan prostor za trazeni objekat
::::: i na taj prostor ukazuje SELF.
Ne. Vidi gore. Drugo, SELF se prosleđuje konstruktoru kao parametar i
po njemu se razlikuje da li je potrebno alocirati objekat ili on već
postoji. Ako objekat postoji (što je slučaj sa na primer var a: TObject,
kome je prostor već rezervisan u Data Segmentu), alokacija se preskače.
::::: Konstruktor sada (u okviru tog
::::: prostora koji je napravio New) pravi VMT i ostalo sta treba.
Objekat ne sadrži kopiju VMTa, već NEAR pointer na VMT lociran u Data
segmentu. Taj VMToffset se prosleđuje konstruktoru.
::::: Moze se desiti da se u toku rada konstruktora pojavi potreba da se
::::: ponovo nesto alocira na heap-u.
::::: Ovo, medjutim, ne mora da uspe. U tom slucaju opet moze da dodje do RTE
::::: 203 ili ne i to opet u zavisnosti od broja koji vraca funkcija na koju
::::: pokazuje HeapError. Ako ta funkcija vrati 1 konstruktor generise kod
::::: koji oslobadja sve sto je on do tada uradio, vraca vrednost NIL (tj.
::::: postavlja P na Nil) i zavrsava sa radom.
To nema nikakve veze jedno sa drugim. Objekat neće biti dealociran
ako kod konstruktora (između begin i end) pokuša alokaciju za svoje
potrebe i dođe do greške. Ukoliko HeapError funkcija vraća 1,
alokacija će vratiti NIL i kod konstruktora će koristiti NIL. Koliko je
to zdravo, to je drugo pitanje. Ono što je sigurno je da ako počne
izvršavanje konstruktorovog koda, onda je objekat uspešno alociran
unutar begin sekcije.
::::: Generisanje istog ovog koda, za nasilno prekidanje konstruktora i
::::: ponistavanje rezultata njegovog rada, ostvaruje se komandom Fail, koja i
::::: moze biti pozvana samo unutar konstruktora. Ukoliko se koristi Fail,
::::: rezultat koji vraca funkcija na koju ukazuje HeapError se i ne poziva,
::::: pa ni njen rezultat nije bitan (ova funkcija se, u stvari, poziva samo
::::: ako dodje do greske pri alociranju memorije, a ne i ako korisnik zatrazi
::::: Fail). Znaci, posle Fail-a P je uvek NIL.
Razlog zbog kog se posle Fail komande vraća nil je što se Fail
interpretira kao JMP na posebni deo end sekcije (koja postoji samo ako
postoji Fail) koji dealocira objekat sa HEAPa i postavlja SELF na NIL.
Ukoliko alokacija propadne na samom početku, izvršavanje nikad neće doći
do Fail. Druga nezgodacija je što Fail deo dealocira samo objekat, dok
će memorija koja je alocirana unutar konstruktora (pre Fail) ostati
zarobljena. Kao rezultat toga, MemAvail na početku i kraju programa
neće biti isti (izvor nerviranja za programerske picaj*le, u koje i
sam spadam).
::::: P.P.S. Zaista ti cestitam na kolicini odgovora koju saljes u ovu
::::: konferenciju. :)
Zahvaljem. :)
pascal.414jovca.car,
/* P.S. Izvinjavam se zbog nasih slova, ali koristim YUSCII koji cesto zna
Što ih onda ne koristiš u celoj poruci?
pascal.415vgenije,
> Nadam se da ce to ovo pomoci. :)
hvala!!
pascal.416ognjen,
)-> jel moze neko da mi pomogne - odnosno sastavi proceduru pomocu
)-> koje ce racunar softverski da pali i gasi monitior(zatamnjenje)
Mogu ja. Procedura se zove ClrScr, iz Crt unita. Za čuvanje
ekrana je malo složenije, uglavnom definišeš array[1..25] of
string i onda lepo trčiš po ekranu i ubacuješ znak po znak.
Otprilike ovako:
uses Crt, Dos;
var
r : Registers;
ch: char;
x1,y1,x2,y2 : Byte;
ekran: array[1..25] of string;
procedure SaveScreen;
begin
for i:=1 to 25 do
ekran[i]:='';
x2:=WhereX; y2:=WhereY;
for y1:=1 to 25 do
For x1:=1 to 80 do
begin
r.AH:=$08;
r.BH:=$0;
GotoXY(x1,y1);
Intr($10,r);
ekran[y1]:=concat(ekran[y1], chr(r.al));
end;
end;
... I sad tu lupiš CLRSCR, i onda ispišeš 'Ovaj screen saver
je napravio VelikiGenije' ili šta već, i na kraju kad hoćeš da
povratiš ekran, kažeš mu:
procedure ShowScreen;
begin
GotoXY (1,1);
For i:=1 to 24 do
Write (ekran[i]);
Write (copy(ekran[25], 1, 24));
GotoXY (x2,y2);
end;
--------
Zahvaljujem se mbobanu koji mi je sve ovo pre izvesnog vremena
objasnio na mail. :)
pascal.417jasicp,
Pitanja u vezi sa Paradox Engineom:
Da li TDatabase.Close radi automatski dispose svih TCursor i TRecord
objekata, kao i zatvaranje tabela ? Ovo poslednje mislim da sigurno radi,
ali kako stoje stvari sa prethodnim ?
Sledeca stvar :
znate funkciju iz TDatabase objekta :
createtable(tablename:string;desc:PTableDesc).
E, znate li koji je "zvanican" nacin da se nekoj tabeli koju tek treba
da napravimo, odredi ovaj tabledescriptor? Kako se pravi table desc ?
Konkretno, imam ideju koja polja treba da budu u tabeli, ali kako to da
posaljem ovoj funkciji. Ovoga u primerima za OOPXENG nema.
Zna li neko za datoteku (negde) u kojoj se nalaze primeri za rad sa
oopxeng i pxengineom uopste ?
pascal.418zeljkoj,
> Mogu ja. Procedura se zove ClrScr, iz Crt unita. Za čuvanje
Gašenje i brisanje ekrana su dve različite stvari. :)
pascal.419nemko,
)>- Zahvaljujem se mbobanu koji mi je sve ovo pre izvesnog
)>- vremena objasnio na mail. :)
Ognjene, nije se trazio screen saver, vec procedura kojom ce
graficka kartica da privremeno ugasi monitor (na kome to moze).
pascal.420pedjak,
> Mogu ja. Procedura se zove ClrScr, iz Crt unita. Za čuvanje
> ekrana je malo složenije, uglavnom definišeš arrayŠ1..25Ć of
> string i onda lepo trčiš po ekranu i ubacuješ znak po znak.
Kahm ;) može to i elegantnije, evo 'vako:
uses crt;
type
Buffer=ArrayŠ1..64000Ć of byte;
PBuffer=žBuffer;
var
VideoMode:Byte absolute $0:$0449;
ScreenBuff:PBuffer;
Procedure GetScreen(var Buff);
var
Seg:word;
Begin
If VideoMode=7 then Seg:=$B000
Else Seg:=$A000;
Move(MemŠSeg:$0Ć,Buff,2000);
End;
Procedure PutScreen(var Buff);
var
Seg:word;
Begin
If VideoMode=7 then Seg:=$B000
Else Seg:=$A000;
Move(Buff,MemŠSeg:$0Ć,2000);
end;
Begin
ClrScr;
Writeln('Test screen.');
GetMem(ScreenBuff,2000);
GetScreen(ScreenBuffž);
Readln;
ClrScr;
Writeln('Screen Saver.');
Readln;
PutScreen(ScreenBuffž);
Readln;
End.
pascal.421nlazic,
ĆĆĆ Ne. Nisi u pravu. Kad naleti na New koji alocira objekat, BP
ĆĆĆ alokaciju prepušta konstruktoru. Konstruktor nalaže Heap
ĆĆĆ Manageru da na HEAPu alocira prostor za VMT pointer i podatke
ĆĆĆ iz objekta.
Nisam u pravu. Zainteresovala me je ova diskusija o konstruktorima
i ostalom, pa sam rešio da se malo pozabavim time. Naime, ja sam do sada
uzimao zdravo za gotovo da BP radi onako kako sam opisao. Napisao sam
par primerčića i uz pomoć Turbo Debugger-a ustanovio o čemu se radi. Ti
si, naime, bio u pravu :-). Ako se koristi proširena sintaksa New-a
proces inicijalizcije objekta na heap-u odvija se baš kako si ti opisao.
Ako se proširena sintaksa ne koristi, onda stvari stoje nešto drugačije.
ĆĆĆ Objekat ne sadrži kopiju VMTa, već NEAR pointer na VMT
ĆĆĆ lociran u Data segmentu. Taj VMToffset se prosleđuje
ĆĆĆ konstruktoru.
Pored SELF-a se, kao što kažeš, konstruktoru zprosleđuje i NEAR
pointer na VMT i on se na stek postavlja neposredno pre SELF-a. Ako se
konstruktor pozove za objekat koji je već inicijalizovan (bilo u Data
segmentu, bilo na heap-u) onda se u ovaj parametar prosleđuje 0. Na
osnovu ovoga konstruktor zna da ne treba da postavlja pokazivač na VMT
u okviru SELF-a jer je ovaj već postavljen pri inicijalizaciji. Što se
destruktora tiče, stvari stoje slično. Nula u VMToffset-u znači da je
destruktor pozvan "normalno", a bilo koja druga vrednost govori da je
destruktor pozvan proširenom sintaksom. U tom slučaju (VMToffset<>0)
destruktor zna da pre kraja svog rada treba da dealocira SELF.
ĆĆĆ To nema nikakve veze jedno sa drugim. Objekat neće biti
ĆĆĆ dealociran ako kod konstruktora (između begin i end) pokuša
ĆĆĆ alokaciju za svoje potrebe i dođe do greške. Ukoliko
ĆĆĆ HeapError funkcija vraća 1,
Nisam mislio na kod između BEGIN i END, već na kod u okviru
BEGIN-a. Ovaj deo konstruktora (ako se poziva putem proširene sintakse)
može (i treba) da inicijalizuje sva polja u okviru datog objekta,
uključujući i ona pokazivačka. Kada sam rekao da inicijalizacija ne
mora da uspe, mislio sam na ove promenljive.
ĆĆĆ Druga nezgodacija je što Fail deo dealocira samo
ĆĆĆ objekat, dok će memorija koja je alocirana unutar
ĆĆĆ konstruktora (pre Fail) ostati zarobljena.
Naravno. Kada bi Fail deo mogao da dealocira i ovo što si pomenuo,
to bi praktično značilo da BP ima neku vrstu algoritma za skupljanje
đubreta po heap-u, što bi bilo jaaaako lepo. To je, nažalost, za sada
naučna fantastika, bar što se Borladnovih paskala (a kol'ko znam i
ostali kompajlera) tiče.
Koliko sam uspeo da provalim na prvi pogled, konstruktor zapravo ne
vrši direktnu alokaciju objekta na heap-u, već poziva New, što je i
logično. Proces se, dakle, odvija unazad u odnosu na ono što je
napisano u programu (NEW (P,INIT)).
Pozdrav,
:) Nebojša :)
pascal.422mmitrovic,
::::: Mogu ja. Procedura se zove ClrScr, iz Crt unita. Za čuvanje
Mislim da nije na to mislio. Jedno je brisanje ekrana, a drugo
njegovo softversko isključivanje.
pascal.423postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Sun, 14 May 1995 16:23:47 GMT
Nebojsa Dordevic je napisao:
>> Nov sam ovde pa da nebih lutao molim da mi neko javi gde da se dokopam nekih
>> unita za TP5.0 koji rade sa bazama podataka?
Postoji Borlandov Paradox Engine koji podrzava C i Pascal, ali nisam
siguran da li radi i sa 5.0. Sa 6.0 radi sigurno, a valjda i sa novijima.
Gde da ga nabavis? Call your local software dealer ;)
--
I only dream in infrared
pascal.424postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Wed, 17 May 1995 10:58:03
"L> Nabavio sam neki CD sa gomilom (osamdesetak) programcica za
"L> paskal. Ima ih za sve verzije, od 5.0 do 7.0 i TPW. Neki od njih se
Reci kako se zove CD, sta sve ima na njemu ;), i gde si ga nabavio
i za koliko...
... Ukradi moj tag!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.425nlazic,
:> Reci kako se zove CD, sta sve ima na njemu ;), i gde si ga
:> nabavio i za koliko...
Ja nemam CD ROM. Po CD-u o kome je reč sam preturao kod druga koji
ga je nabavio od nekog svog druga... Znaš kako to već ide kod nas :).
Zbog toga ti ne mogu reći kako se CD zove (ko zna gde je sada) i čega
tačno ima na njemu. Mene su interesovale stvari koje se odnose na
paskal i njih sam pokupio. Spisak toga nalazi se u dadoteci vezanoj za
poruku 7.399. Pored unit-a za paskal, sećam se da je na CD-u bio
popriličan broj biblioteka za C i veeeelika gomila crteža za Corel.
Pozdrav,
:) Nebojša :)
pascal.426postmast,
From: zsteva@magic.hobbiton.co.yu (Zeljko Stevanovic)
Subject: Re: pascal
Date: Mon, 15 May 1995 09:05:44 GMT
Vlada Biskupljanin (vgenije@sezam.UUCP) wrote:
: HI
: jel moze neko da mi pomogne -odnosno sastavi proceduru pomocu koje ce
: racunar softverski da pali i gasi monitior(zatamnjenje)
Mozes na vise nacina:
1. da (posto je rezolucija text-ualna) sacuvas ekran u ram-u pa kotom obrises
ekran. kod povracanja jednostavno ispises u video mem ono sto si cuvao u ram-u
i text je tu.. To je tipa "stap+kanap"..
2. Prvo je potrebno odrediti PortNum,PortOn,PortOff koji zavise od grafickog
adaptera (kartice..):
r : Registers;
PortNum,PortOff,PortOn : Word;
r.AH := $0F;
Intr($10,r); { Poziva interapt graficke kartice za odredjivanje tipa
tj. dali je mono ili CGA .. }
if r.AL = 7 then begin {ako je AL = 7 onda je mono adapter..}
PortNum := $3B8;
PortOff := $21;
PortOn := $29;
end; else begin { CGA }
PortNum := $3D8;
PortOff := $25;
PortOn := $2D;
end;
i zatim sa :
Port[PortNum]:=PortOff; { Ekran se zamraci.. }
Port[PortNum]:=PortOn; { Ekran se odmraci tj. vradi se sve kao sto je bilo.. }
Ovo sam izvukao iz O'Brien-ove knjige "Turbo Pascal 6 - kompletan vodic" inace
u knjigi na strani 276 je dat primer TSR programa koji zamracuje ekran kosle
odredjene neaktivnosti korisnika(ScreenServer)..
pascal.427jasicp,
Dobro braco, radi li neko Paradox Engineom za Pascal ili C++ ?
pascal.428djelovic,
> Dobro braco, radi li neko Paradox Engineom za Pascal ili C++ ?
Ja koristim Borland Database Engine koji je praktično neka vrsta naslednika
Paradox Engina. Reci šta te zanima?
pascal.429postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Mon, 22 May 1995 06:58:54 GMT
Predrag Jasic je napisao:
>> Dobro braco, radi li neko Paradox Engineom za Pascal ili C++ ?
Ma batali Paradox Engine, stigao Borland Database Engine. Jes' da
radi samo pod Windows, al' nema sta nema. Podrzava standardno Paradox i
dBase formate, a preko ODBC drajvera podrzava sve sto ti padne na pamet
(npr. SQL).
--
Make children, not war
pascal.430biki,
AJDE NEKO DA POMOGNE MOM DRUGARU ZAMOLJAVAM VAS.
Evo sta ga muci...
(*
Ovo je program u Pascalu koji bi trebalo da manipulise sa fajlovima
kada je ukljucen Share u Windows-ima. Medjutim neradi procedura DeleteFile
sve dok je Share aktivan. U cemu je problem.
Unapred hvala.
*)
program IOFile;
{$S-,R-}
uses WinTypes, WinProcs, WinDos;
const
OneIO = 16383; { Number bytes handled per huge IO operation }
var
Buffer: array [0..OneIO] of Char;
function _LFileSize(F : integer) : longint;
{- an equivalent to TP's FileSize() function }
var
CurPos : longint;
begin
CurPos := _llseek(F,0,1);
_LFileSize := _llseek(F,0,2);
_llseek(F,CurPos,0);
end;
{ Copy file (full pathname) Returns 0 if error.}
function CopyFile(FileNameS, FileNameD: PChar): byte;
var
Fs: Integer; { File Handle for Windows file functions }
Fd: Integer; { File Handle for Windows file functions }
Size: Longint; { Size of bitmap, Size of color spec }
begin
CopyFile := 0;
Fs := _LOpen(FileNameS, of_Read);
if Fs = -1 then Exit;
_LCreat(FileNameD, 0);
Fd := _LOpen(FileNameD, of_Write);
repeat
size:= _LRead(Fs, Buffer, SizeOf(Buffer));
_lwrite(Fd, Buffer, Size);
until size = 0;
_LClose(Fs);
_LClose(Fd);
end;
{ Move file (full pathname) Returns 0 if error.}
function MoveFile(FileNameS, FileNameD: PChar): byte;
var
Fs: Integer; { File Handle for Windows file functions }
Fd: Integer; { File Handle for Windows file functions }
Size: Longint; { Size of bitmap, Size of color spec }
Obuff: TOfStruct;
begin
MoveFile := 0;
Fs := _LOpen(FileNameS, of_Read);
if Fs = -1 then Exit;
_LCreat(FileNameD, 0);
Fd := _LOpen(FileNameD, of_Write);
repeat
size:= _LRead(Fs, Buffer, SizeOf(Buffer));
_lwrite(Fd, Buffer, Size);
until size = 0;
_LClose(Fs);
_LClose(Fd);
OpenFile(FileNameS, Obuff, of_Delete);
end;
{ Delete file (full pathname) Returns 0 if error.}
function DeleteFile(FileNameS: PChar): byte;
var
Obuff: TOfStruct;
begin
DeleteFile := OpenFile(FileNameS, Obuff, of_Delete);
end;
begin
CopyFile('c:\1\file.pas', 'c:\1\file.bak');
MoveFile('c:\1\file.pas', 'c:\2\file.pas');
DeleteFile('c:\1\file.bak');
end.
pascal.431janko,
> Ne. Nisi u pravu. Kad naleti na New koji alocira objekat,
> BP alokaciju prepušta konstruktoru. Konstruktor nalaže
> Heap Manageru da na HEAPu alocira prostor za VMT pointer i
> podatke iz objekta.
Jesi li ikada gledao kako izgleda mašinski kod?
Tamo gde piše
nešto = new NekiObj
bi morala da postoji sekvenca koja zove funkciju NEW. A da NEW dobija
info o veličini objekta i o adresi konstruktora, koga će ona pozvati.
Kada bi u konstruktoru bio ugrađen poziv NEW, nikada objekta ne bi mogao
da se napravi a da nije na hipu, što normalno nije tačno.
pascal.432djelovic,
Ima li neko zainteresovan da odrzi kurs o Turbo Pascalu for Windows? Uslovi
rada i honorar veoma dobri.
Ukoliko ste zainteresovani javite se na 533-8174 ili 533-6632 ili meni na
mail.
- Dejan
pascal.433postmast,
From: Vladimir.Bonc@f101.n101.z38.setnet.setnet.co.yu (Vladimir Bonc)
Subject: pascal
Date: Fri, 19 May 1995 01:15:48
NJ> From: "Nemanja Jovanovic" <nemko@sezam.UUCP>
NJ> Newsgroups: yu.prog.pascal
NJ> Organization: SEZAM Beograd, 011 648-422
)>- From: Vlado.Prelovac@f133.n103.z38.setnet.setnet.co.yu (Vlado
)>- Prelovac) Subject: pascal
)>- Date: Wed, 10 May 1995 01:18:00
)>- GDE ?
)>- * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
NJ> Ako se zbog ovakvih poruka vrsi razmena ponekih konferencija
NJ> sa SETNet-om onda .... .
NJ> Dajte bre ljudi i uozbiljite se malo. (I pisite vece odgovore od
NJ> citata i tag-line-ova zajedno).
NJ> Tako vam boga.
NJ> ---
NJ> * Origin: SETNet - BeoInternet most ->...<- (38:103/120.0)
Namerno sam citirao celu poruku da vidis da ni kod nas na SET ne
dolaze bolje poruke. Slazem se s tobom da je ona poruka bezvezna,
ali tu i veliku 'zaslugu' imaju protokoli za razmenu poste izmedju
SET i mosta, pored toga sto je neko lenj pa ga mrzi da obrise visak
(a mozda i ne zna kako :) ). Tu su i sysop-i donekle krivi jer
(skoro) svakom daju pristup mrezi, iako u lokalu nisu napisali ni
dve poruke (jedna je da ga obaveste da su stigli i da traze visi
nivo) :(
Meni je nezgodno sto sve poruke koje dolaze sa mosta imaju u
subjektu samo 'pascal' pa su onemogucene neke opcije readera, npr da
po subjektu biram koje cu da citam; 'to je sreca dala al'' nesreca'
da nema mnogo poruka, pa ne gubim mnogo vremena citajuci one koje me
ne interesuju :)
... _____________________________________(upisati po zelji)
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.434postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: pascal
Date: Fri, 19 May 1995 12:42:47
"B> From: "Ognjen Blagojevic" <ognjen@sezam.UUCP>
)-> jel moze neko da mi pomogne - odnosno sastavi proceduru pomocu
)-> koje ce racunar softverski da pali i gasi monitior(zatamnjenje)
"B> Mogu ja. Procedura se zove ClrScr, iz Crt unita. Za cuvanje
"B> ekrana je malo slozenije, uglavnom definises array[1..25] of
"B> string i onda lepo trcis po ekranu i ubacujes znak po znak.
Mislim da je coek trazio procedure za ono sto se zove 'fade in'
i 'fade out' a ne za screeen saver.
Neko mu je vec poslao odgovor kako se to radi na VGA karticama.
A mene je uvek zanimalo da li je neko izveo nesto slicno na
Hercules-u?
... BR> Do what I say, not what I do.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.435postmast,
From: al@setnet.co.yu (Aleksandar Jevic)
Subject: pascal
Date: Sun, 21 May 1995 10:43:11
─═(Predrag Supurovic - "ognjen Blagojevic" od 05-19-95 11:42)═─
PS> Mislim da je coek trazio procedure za ono sto se zove 'fade in'
PS> i 'fade out' a ne za screeen saver.
Pa ja imam neki UNIT za Fade Out/In... Samo ja blage veze nemam
kako se to koristi ni sta je unit, ali ako nekom treba nek zna da imam
:)
A voleo bi da znam kako mogu da koristim UNIT...
BTW Nemojte sdamo da se smejete, veze nemam za pascalom :)
___ Blue Wave/QWK v2.12
* Origin: AV Manta -=- Mail Server -=- Belgrade -=- SETNet (38:103/121)
pascal.436nlazic,
:> A voleo bi da znam kako mogu da koristim UNIT...
Na početku programa u USES sekciji pišeš:
uses unit_name_1, unit_name_2, ...
Sada savim normalno možeš da pozivaš procedure, funkcije, ili da
koristiš promenljive, konstante, objekte i sl. koji su definisani u
INTERFACE delu tog UNIT-a (po naški unit = modul). Ukoliko u dva modula
imaš definisane dve funkcije istog imena, razlikuješ ih tako što pišeš:
unit1.procedura <- poziva proceduru iz unit1
unit2.procedura <- poziva proceduru iz unit2
Predlažem ti da pogledaš neke primere i literaturu. :)
Pozdrav,
:) Nebojša :)
pascal.437nlazic,
:> Kada bi u konstruktoru bio ugrađen poziv NEW, nikada objekta ne bi
:> mogao da se napravi a da nije na hipu, što normalno nije tačno.
U konstruktoru se zaista nalazi poziv NEW. Ako napišeš:
Control:=New (PInputLine, Init (R, 15));
na primer, proces se odvija ovako: poziva se konstruktor Init i
prosleđuju mu se parametri kako je već ranije opisano. U okviru koda
(mašinskog) koji kompajler generiše kada pročita "begin" iz
konstruktora, poziva se NEW koji alocira objekat na heap-u. Potom
konstruktor vrši doterivanje tog objekta (postavljanje osnovnih polja).
Sve ovo se odnosi samo na slučaj korišćenja proširene sintakse. Isti
posao se može obaviti i na "standardan" način:
var Control:PInputLine;
R:TRect;
begin
...
New (Control);
Control^.Init (R,15);
...
Krajnji reultat je potpuno isti, samo je put kojim se do njega
došlo drugačiji.
pascal.438mmitrovic,
::::: Jesi li ikada gledao kako izgleda mašinski kod?
Da. Šta više, za većinu stvari znam kako će izgledati asm kod, takođe
mogu da prepoznama na osnovu asm koda da li je EXE pisan u pascalu, a
uz pomoć TDa mogu da regenerišem 90% PAS sorsa bez problema.
Freaky, isn't it? :) Pitajte mbobana ako ne verujete, on je zadnji
dobio sors svog EXE fajla. :) Ne pitajte kako znam, ni sam ne znam,
valjda mi ušlo u krv.
::::: Tamo gde piše
::::: nešto = new NekiObj
::::: bi morala da postoji sekvenca koja zove funkciju NEW. A da NEW dobija
::::: info o veličini objekta i o adresi konstruktora, koga će ona pozvati.
Pogađaj ponovo. :) Ne mora, i nije.
::::: Kada bi u konstruktoru bio ugrađen poziv NEW, nikada objekta ne bi mogao
::::: da se napravi a da nije na hipu, što normalno nije tačno.
Nisam baš shvatio na šta misliš, budi malo jasniji.
pascal.439nlazic,
:> uz pomoć TDa mogu da regenerišem 90% PAS sorsa bez problema.
:> ............ :) Ne pitajte kako znam, ni sam ne znam,
:> valjda mi ušlo u krv.
Svaka čast, domaćine :) Računam na tebe ako mi ovako nešto zatreba. :-)
Pozdrav,
:) Nebojša :)
pascal.440mmitrovic,
::::: konstruktor pozove za objekat koji je već inicijalizovan (bilo u Data
::::: segmentu, bilo na heap-u) onda se u ovaj parametar prosleđuje 0. Na
::::: osnovu ovoga konstruktor zna da ne treba da postavlja pokazivač na VMT
::::: u okviru SELF-a jer je ovaj već postavljen pri inicijalizaciji.
Tako izgleda na osnovu koda, međutim čak i za objekte koji su već
inicijalizovani ne prosleđuje se 0. Još nisam naleteo na slučaj da
VMTOffset bude 0, iako postoji provera za to. Možda je to stavljeno
zbog objektnih ekstenzija asemblera?
::::: destruktora tiče, stvari stoje slično. Nula u VMToffset-u znači da je
::::: destruktor pozvan "normalno", a bilo koja druga vrednost govori da je
::::: destruktor pozvan proširenom sintaksom. U tom slučaju (VMToffset<>0)
::::: destruktor zna da pre kraja svog rada treba da dealocira SELF.
U pitanju su 0 i 1, tako da to nije VMTOffset. Kad je na steku 0
ne radi se dealokacija već samo brisanje VMT pointera, kad je 1 radi se
i dealokacija.
::::: Nisam mislio na kod između BEGIN i END, već na kod u okviru
::::: BEGIN-a. Ovaj deo konstruktora (ako se poziva putem proširene sintakse)
::::: može (i treba) da inicijalizuje sva polja u okviru datog objekta,
::::: uključujući i ona pokazivačka. Kada sam rekao da inicijalizacija ne
::::: mora da uspe, mislio sam na ove promenljive.
Ne. BEGIN deo ne inicijalizuje polja. Uopštio si TObject i njegove
naslednike sa svim objektima. Inicijalizaciju polja u ovom objektu radi
kod između begin i end sekcije konstruktora TObject.Init (postavlja sva
polja na 0), pa se to provlači kroz sve fabričke objekte (pošto svi
potiču od njega). Ukoliko napišeš svoj objekat, polja neće biti
inicijalizovana ukoliko ih sam ne inicijalizuješ.
::::: Koliko sam uspeo da provalim na prvi pogled, konstruktor zapravo ne
::::: vrši direktnu alokaciju objekta na heap-u, već poziva New, što je i
::::: logično. Proces se, dakle, odvija unazad u odnosu na ono što je
::::: napisano u programu (NEW (P,INIT)).
To sam i ja mislio, al' nije. Konstruktor poziva rutinu koja je
totalno odvojena od New (bar ja nisam uspeo da ih povežem), ali obavlja
istu stvar. (redundancy?)
pascal.441nlazic,
:> inicijalizovani ne prosleđuje se 0. Još nisam naleteo na slučaj da
:> VMTOffset bude 0, iako postoji provera za to. Možda je to stavljeno
:> zbog objektnih ekstenzija asemblera?
Ja sam naleteo. Pogledaj sledeći primer:
* Control := New(PInputLine,Init(R, 15));
Ovde se pre SELF-a stavlja na stek VMT parametar. To je OK. Konstruktor
TInputLine-a sada napravi objekat na heap-u i ostalo. Međutim, ovaj
konstruktor treba da u jednom trenutku pozove konstruktor TView-a. E
sada on (konstruktor TInputLine-a) stavlja 0 u VMT parametar i poziva
Init TView-a. To i jeste logično jer je objekat već postavljen na heap.
Kada napišem nešto poput ovoga:
* New (Control);
* Control^.Init (R,15);
bilo bi logično da se desi ista stvar (0 -> VMToffset). Međutim, BP ne
radi ovako već kao što si ti rekao (VMToffset<>0). Znaš li u čemu je
fora?
:> U pitanju su 0 i 1, tako da to nije VMTOffset. Kad je na steku 0
:> ne radi se dealokacija već samo brisanje VMT pointera, kad je 1 radi
:> se i dealokacija.
Da, "nedefinisano" je bar što se Borlanda tiče nedefinisan pojam. :)
Ovaj parametar može biti 0 ili 1 i koristi BP-u da zna šta da radi sa
VMT-om. U pitanju je bio lapsus. Ja sam taj parametar nazvao VMToffset
i kada sam govorio o destruktorima. Pravi njegov naziv je "VMT
parameter" i u slučaju konstruktora predstavlja VMToffset, a u slučaju
destruktora samo određuje budućnost VMT-a (dealokacija ili ne) i ne
ukazuje na njega.
:> To sam i ja mislio, al' nije. Konstruktor poziva rutinu koja je
:> totalno odvojena od New (bar ja nisam uspeo da ih povežem), ali
:> obavlja istu stvar. (redundancy?)
Ja sam došao do sledećeg zaključka. (sve što pričam odnosi se na
program u kome se nalaze gornji programski redovi (oni sa *)).
Ako se New poziva direktno se New (Control); prokram se kreće
ovako: skače na ofset 028A. Odatle poziva 0353 gde se nalazi kod NEW-a
(pretpostavljam). U drugom slučaju, gde stoji Control:=New(..., Init...)
to ide ovako: skače na ofset 04ED, odakle poziva 0353 (dakle NEW). Kada
završi sa ovim (objekat je sada na heap-u) i uradi inicijalizacija
objekta, poziva se 028A koja opet poziva 0353 (znači NEW sa poziva dva
puta!) ali u ovom slučaju ne radi ništa. Ovi brojevi, naravno, ne znače
mnogo, ali najlakše mi je da tako napišem. Da li znaš nešto o ovome?
Pozdrav,
:) Nebojša :)
P.S. Uz poruku je vezan primer o kome sam govorio, tek da ne bi pričali o
različitim stvarima.
test.zippascal.442janko,
> ::::: Kada bi u konstruktoru bio ugrađen poziv NEW, nikada
> objekta ne bi mogao ::::: da se napravi a da nije na hipu,
> što normalno nije tačno.
>
> Nisam baš shvatio na šta misliš, budi malo jasniji.
Ah, sad sam shvatio, vi Paskalovci i ne znate šta je konstruktor u smislu
u kome za njega zna C++ :)
Vi pozivate eksplicitno i Init i Done za svaki objekat, još uvek?
Znao sam da to radi TP 6.0.
Na šta uopšte mislite kada pominjete konstruktor, ako Init i Done
ručno pozivate???
pascal.443postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Thu, 25 May 1995 00:24:00 CET
QWK To: Miljan Mitrovic
(Tekst poruke: Miljan Mitrovic, na temu PASCAL)
MM> Nije INT 13h nego INT 1Ch. INT 13h su low-level disk funkcije.
Lapsus tastaturae ;) Izvinjavam se.
MM> I da, ukoliko pises rezidentni program koji koristi ovu metodu,
MM> moras da preuzmes INT 21h i sprecis drugi program da preuzme na
MM> sebe int 08. E sad ako i drugi program bude menjao tajmer, ne
MM> gine ti kurslus. Opsta preporuka: uklopi se u 18.2 puta/sec i ne
MM> diraj ako ne moras. :)
Eh, ali INT 8 moze se preuzeti i bez DOS funkcija (adresa 0:(8 * 4)),
sto doprinosi prljanju metode. Slazem se, ovo i nije bas zgodan nacin za
kontrolu brzine izvrsavanja programa. Zato se na AT-u moze zgodno upotrebiti
prekid 15H i podfunkcija 83H ("Event wait"). Ona zadati broj milisekundi nakon
izvrsenja postavi sedmi bit bajta na zadatoj adresi u memoriji, dok se za to
vreme program koji ju je pozvao nesmetano izvrsava. Pre poziva interapta 15H,
u
AH se upisuje 83H, u AL 0 za postavljanje ili 1 za otkazivanje vec
postavljenog
intervala, u CX i DX broj milisekundi (CX je visa rec), a ES:BX
sadrze adresu
bajta u memoriji kome ce se nakon CXDX milisekundi postaviti sedmi bit. Sve
sto
program treba da ucini jeste da s vremena na vreme proveri da li je sedmi
bit
na ES:BX "skocio". Slicna ovoj je i funkcija 86H istog prekida, koja
koristi
samo registre CX i DX i to na isti nacin kao i prethodna, ali ne vraca
kontrolu
programu koji ju je pozvao vec ceka u mrtvoj petlji dok vreme ne
istekne.
3OPAH
... cosřÓ = 1:(tgřÓ + 1)
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (0:0/0) #! rnews 995
pascal.444djelovic,
> Na šta uopšte mislite kada pominjete konstruktor, ako Init i Done
> ručno pozivate???
Baš si zao :).
Misle na funkcije koje će stvoriti i uništiti virtuelnu tabelu, baš kao i
C++ programeri.
pascal.445bulaja,
NLazic mi je dostavio impozantnu zbirku raznih TP biblioteka, trudiću
se da selektujem šta od toga vredi za dir, a ovde prilažem spisak pa
ako vidite nešto interesantno što mi je promaklo, vičite :).
Naziv ! Veličina ! Opis
=========================================================================
6datgen0.zip 50214 Single Screen Data Base App. Generator
ansiview.zip 10928 Otvara ANSI prozor u TV-u.Jako lepo+sors
as22.zip 92885 Prikazuje .BMP (za Windows-e)
autodox2.zip 60891 Pisanje dokumentacije za sorsove
bankma.zip 50832 Evidencija čekova i sl.(sors za Windows)
binhelp.zip 8607 Škola za rad sa binarnim stablima
boi120.zip 51051 BBS Onliner interface
btrtpw.zip 1570 Poziv BTrieve funkcija iz Windows-a
btrvpas.zip 58221 Rad sa BTrieve-om pod DOS-om+BTRIEVE.EXE
cpucheck.zip 10610 Ime sve govori
delay6.zip 946 Ispravlja bug DELAY-a kod TP6.0
dvunit.zip 1950 Podrška za DeskView multitasking
dxfpas.zip 17553 Lib. za importovanje podataka iz .DXF
eev100r1.zip 41524 SVE za izračunavanje izraza (infix+prefix forma)
exitpas.zip 1450 Registrovanje EXIT procedura
fcomm240.zip 52396 Komunikaciona biblioteka
frac2.zip 17208 Malo fraktala
gphtxt.zip 8449 WriteLn i ReadLn u grafičkom režimu
grcrypt.zip 9918 Šifrovanje/dešifrovanje tekstova
gsdb21.zip 99018 Pristup .DBT, .DBF, .NDX fajlovima
hdebug.zip 7370 Heap Debugger (TP6.0 sors)
icad11.zip 68292 Editor ikona za DOS (TP i TC)
intrfc61.zip 53910 Dump TP6.0 TPU Files
intro20.zip 160033 Dobar Intro Designer
kabloo.zip 44218 Fireworks. Dobar primer korišćenja SVGA (1024x768)
keep.zip 25109 Briše sve OSIM navedenih fajlova
linktext.zip 5715 Ubacivanje stringa u sred teksta
mcedit10.zip 95081 Mouse Cursor Editor
microt.zip 2100 Precizan timer
morepscl.zip 3232 MoreMath + MoreStrings
nonstop.zip 5416 Sprečava CTRL-ALT-DEL, CTRL-Break itt.
note20.zip 30221 Jednostavan editor (sors)
nrpas13.zip 303505 412 programčića za numeričku matematiku
objstr.zip 2549 Objekti za rad sa stringovima (simple)
om36.zip 89531 Zamena za Program Manager (sors)
oscil.zip 19563 Osciloskop za Sound Blaster (sors)
pcl4p33.zip 58913 Komunikaciona biblioteka
pkeytree.zip 195296 KeyTree Tutor (random file access)
pnl010.zip 123448 Rad sa velikim nizovima i slično
pntr_v1.zip 47955 Dizajner tekstualnih ekrana
prpas.zip 31348 Ulepšavanje sorsova u paskalu (nazubljivanja i sl.)
prvw13.zip 42962 Preview fontova za windows (sors)
qwrit11.zip 5414 Quick screen writing unit
rbootp55.zip 595 Reboot iz paskala
rmtp03.zip 63584 Raster Master - crtanje
scrsav.zip 1670 Screen Saver za TVision
shazam.zip 158959 TV Code Generator. Zgodno za učenje TVision-a
shdk-1.zip 308580 Lib za CRC-ove, komplexne brojeve i sl.
sortdemo.zip 50710 Fantastičan demo raznih sortova (vga256 sortira boje)
splotch.zip 19626 Example of cellular automata (vga256)
stackary.zip 2926 Rad sa stekom (stack array)
stackptr.zip 1096 Rad sa stekom
stream13.zip 60354 Jednostavan rad sa TV/OWL stream-ovim
strlib12.zip 6757 String Library
swaptp.zip 19025 Jako dobra EXEC proc. Radi iz EMS/XMS
tclocks.zip 4645 Sat za Turbo Vision (stoji u meniju)
tick.zip 17297 TSR koji čita tekst sa diska i prikazuje ga na ekranu
tp6sb110.zip 12038 Rad za Sound Blaster-om
tp6xms.zip 9799 Upravljanje XMS memorijom
tpaint15.zip 110337 Program za crtanje (GIF, PCX, TIF)
tpcpuid.zip 5982 Sors za detekciju CPU-a (Intel)
tpdate.zip 34907 Rad sa datumima (sors)
tpdb314.zip 68803 TP6.0 dBase tools (rad sa .dbf)
tpfast40.zip 80653 Brzi uniti za rad sa ekranom, tast. itd.
tphrt3.zip 60707 TP High Resolution Timer Toolbox (sors)
tpmagic.zip 136594 Rad sa diskom, ekranom itd. - jako lepo
tppcx.zip 44915 Rad sa slikama u PCX formatu
tpscrnsv.zip 4930 Rezidentan screen saver (sors)
tpu60.zip 123411 Inside TP6.0 units
tpwspy.zip 20465 TPW Spy On Windows (sors)
tsrsrc.zip 75334 TSR utils EMS, XMS, IPX...(sors PAS+ASM)
tvg102_s.zip 38416 TVision u grafičkom režimu
tw200d.zip 45405 Prozori, meniji ... (demo v.)
twi11.zip 103569 Text Windows Interface
util161.zip 67728 Sitni utility (beep i sl.)
vgaintro.zip 53700 Sjajni intro-i (scroll-ovi) i to u TP!!!
vga_font.zip 41370 Grafika u tekst režimu (lepo al' treperi)
vis082s.zip 345837 Gomila (oko 90) unita za sve i svašta
vscode23.zip 16902 Šifrovanje datoteka svih formata
vscreen.zip 6483 Handle VirtualScreens on the Heap
winpascl.zip 72220 Paskal interpreter za Windows-e
zdisk.zip 8710 Overwrite unused sectors with zeros
zip2obj.zip 40269
4,412,710 bytes in 86 file(s)
pascal.446nlazic,
:> Na šta uopšte mislite kada pominjete konstruktor, ako Init i Done
:> ručno pozivate???
Ne znam kako stvari stoje u C++, ali u BP je ovako: Init (ovo je
uobičajeni naziv) je konstruktor i služi za postavljanje VMT-a (između
ostalog). Ovo se vrši automatski, čim napišeš BEGIN, a pored toga u
konstruktoru može biti izvršen posao koji nema blage veze sa
inicijalizacijom objekta i VMT-a (ovaj kod sam pišeš). Najjednostavniji
konstructor izgleda ovako: constructor TNekiObj.Init; begin end; i on će
savršeno obaviti svoj posao (VMT itd.).
Isto važi i za destruktore.
pascal.447pirke,
>>> Ja sam pre par dana dobio Delphi na test od CET-a, dakle najbolje
>>> se njima obrati.
Na sajmu sam bio do CET-a i sve je kao O.K. osim sto za pravu cenu nude
DELPHI koji i nije bas "pravi" zbog toga sto ne dobijes reg.broj s kojim
mozes da zoves Tehnical Support ili nesto slicno niti sa necim sto si
radio u tome mozes da izadjes na strano trziste. Ili gresim?
DP...
pascal.448janko,
> Misle na funkcije koje će stvoriti i uništiti virtuelnu
> tabelu, baš kao i C++ programeri.
A otkud ti to da se tabela virtuelnih funkcija STVARA u toku izvršavanja
programa (bar u C++-u)? Nju (da naglasim, u C++-u) pravi kompajler
isključivo *u toku prevođenja*. U toku konstrukcije u objekat se samo
ugradi adresa njegovog ulaza u tabelu.
Ubeđen sam da tako radi i TP. Ako ne radi, ti dizajneri pojma nemaju (a
u to ne verujem).
pascal.449djelovic,
> A otkud ti to da se tabela virtuelnih funkcija STVARA u toku izvršavanja
> programa (bar u C++-u)?
Dobro de :), tako se kaže.
pascal.450evlad,
>> 4,412,710 bytes in 86 file(s)
Stavi sve u dir i na novi sezam :)
pascal.451drpr,
Evo od onog spiska sto je meni zapalo za a najbolje bi bilo da
baciš svepa mi gledamo polako :)
-> frac2.zip 17208 Malo fraktala
-> note20.zip 30221 Jednostavan editor (sors)
-> nrpas13.zip 303505 412 programčića za numeričku matematiku
-> oscil.zip 19563 Osciloskop za Sound Blaster (sors)
-> qwrit11.zip 5414 Quick screen writing unit
-> tick.zip 17297 TSR koji čita tekst sa diska i prikazuje ga na ekranu
-> tp6sb110.zip 12038 Rad za Sound Blaster-om
-> tpdb314.zip 68803 TP6.0 dBase tools (rad sa .dbf)
-> tphrt3.zip 60707 TP High Resolution Timer Toolbox (sors)
-> tpscrnsv.zip 4930 Rezidentan screen saver (sors)
-> tw200d.zip 45405 Prozori, meniji ... (demo v.)
cope
pascal.452mmitrovic,
::::: sada on (konstruktor TInputLine-a) stavlja 0 u VMT parametar i poziva
::::: Init TView-a. To i jeste logično jer je objekat već postavljen na heap.
Sad je kasno da kažem znao sam? :)
Tako je, tu si u pravu, samo što ne prosleđuje 0 zato što je objekat
već na heap-u već da bi sprečio konstruktor TView-a (u ovom primeru) da
prebriše VMT polje objekta. To bi anuliralo prednosti late binding-a.
::::: * New (Control);
::::: * Control^.Init (R,15);
::::: bilo bi logično da se desi ista stvar (0 -> VMToffset). Međutim, BP ne
::::: radi ovako već kao što si ti rekao (VMToffset<>0). Znaš li u čemu je
::::: fora?
Ne bi bilo logično. Pazi, kad kreiraš objekat sa "standarnim" New, on
ne upisuje ništa u VMT polje objekta. Potrebno je da pozoveš konstruktor
manuleno (htedoh reći ručno), a tada mu je potreban VMToffset koji će
konstruktor upisati u polje.
0 ide u VMToffset samo ukoliko se poziva nasleđeni konstruktor iz
konstruktora. Iz njega sigurno, pitanje je za ostale metode objekta,
pogledaću kasnije. Izvan objekta ne možeš nikako kreirati pascal kod
koji će pri pozivu nekog konstruktora smestiti 0 u VMToffset. Zato
se i nisam setio toga.
pascal.453mmitrovic,
::::: Vi pozivate eksplicitno i Init i Done za svaki objekat, još uvek?
::::: Znao sam da to radi TP 6.0.
Nisam neki mag za C++, makar zato što mi mašina ne dozvoljava takav
luksuz, međutim po onome što sam video i u C++ mora da se pozove
konstruktor da bi se objekat kreirao. Ukoliko ga korisnik ne
pozove, ko ga poziva?
pascal.454nemko,
U prilogu je jedan 'brz' skrol u 320x200x256.
Nece da radi na pojedinim grafickim karticama
kao naprimer CL. Pogledajte u cemu je problem.
Javite mi ako vam je uspelo neko poboljsanje
istog.
chain4.zippascal.455janko,
> Nisam neki mag za C++, makar zato što mi mašina ne
> dozvoljava takav luksuz, međutim po onome što sam video i
> u C++ mora da se pozove konstruktor da bi se objekat
> kreirao. Ukoliko ga korisnik ne pozove, ko ga poziva?
Poziva se automatski, čim se naiđe na deklaraciju.
Što je još lepše, i destruktor se poziva automatski, kada se završi
scope:
Npr.
int a()
{
Lopta l( 10 ); // automatski pozvan ctor kada se naiđe na
// deklaraciju
l.pomeri( 2, 2 );
// dror će automatski biti pozvan pre povratka iz
// procedure -- nema greške ni slučajno
}
a na TP
function a
var l : Lopta;
begin
l.init(10); (* mora peške *)
l.pomeri( 2, 2 );
l.done; (* i još, ovo zaboravi i eto frke, pogotovu ako ti i ctor
generiše nove objekte -- ostaju u vazduhu *)
end;
BTW: Ako imaš 1 MB na mašini, možeš da voziš i C++ kompajler, makar to
bila i 286 (BC 2.0 radi OK na 2 MB u IDE, a linijski kompajler će ti
raditi i na 1 MB sasvim OK). Probaj, nećeš se pokajati.
pascal.456janko,
> Ne bi bilo logično. Pazi, kad kreiraš objekat sa
> "standarnim" New, on ne upisuje ništa u VMT polje objekta.
> Potrebno je da pozoveš konstruktor
Fala Bogu, konačno smo raščistili -- kao što sam i tvrdio -- samo jedno
POLJE se puni a ne pravi se TABELA pri pozivu ctora.
pascal.457saricl,
Na koji način da "nateram" program pisan u TP V7.0 da na
VGA grafici radi u 800x600?
Takođe me zanima na koji način da obavim pretraživanje diska
u potrazi za zadatim fajlom. Kao izlaz ova procedura treba da
vrati putanju do fajla. FExpand mi stalno vraća tekući direktorijum.
pascal.458evlad,
>> Na koji način da "nateram" program pisan u TP V7.0 da na
>> VGA grafici radi u 800x600?
Imaš u dir-a arhivu sa drajverima za svga ...
>> Takođe me zanima na koji način da obavim pretraživanje diska
>> u potrazi za zadatim fajlom. Kao izlaz ova procedura treba da
>> vrati putanju do fajla. FExpand mi stalno vraća tekući direktorijum.
probaj u kombinaciji findfirst,findnext imaš lep primer dirdemo.pas koji
stiže uz tp v7.0 ...
pascal.459nemko,
)>- Na koji način da "nateram" program pisan u TP V7.0 da na
)>- VGA grafici radi u 800x600?
800x600 spada u domen SVGA kartica :). Imas dva resenja (ili cak i tri).
1). Nabavis SVGA.BGI drajver, mislim da se o tome pricalo na sezamu,
ali nemogu ti reci gde da pronadjes isti.
2). Zahtevas da korisnik ima instaliran VESA drajver i napravis sam
rutine za inicijalizaciju modova i crtanje potrebnih objekata.... .
U tome ti mogu pomoci vec gotove rutine koje mozes naci u Sezamovim
direktorijuma.
3). Ovo nije resenje vec patnja. Moras napisati program tako da
prepoznaje korisnikovu karticu i na osnovu date informacije
inicijalizujes potrebne modove i ostatak je kao pod 2).
Ako ti trebaju podaci o grafickim karticama jevi mi se u mail,
pa ce mo da ti prosledimo iste!
pascal.460zdule,
Da li neko ima konvertor poruka uucp <-> fido ili
strukturu fido pkt i msg fajlova.
ZDule...
pascal.461mmitrovic,
::::: Fala Bogu, konačno smo raščistili -- kao što sam i tvrdio -- samo jedno
::::: POLJE se puni a ne pravi se TABELA pri pozivu ctora.
A kad je to uopšte bilo sporno?
Odakle uopšte ideja da se za svaku instancu kreira posebna tabela,
ja to nisam spomenuo.
pascal.462mmitrovic,
::::: Poziva se automatski, čim se naiđe na deklaraciju.
::::: Što je još lepše, i destruktor se poziva automatski, kada se završi
Ok. A šta je sa instancama alociranim u HEAPu. Kako se alociraju?
Kako je tu regulisano pozivanje konstruktora? Drugo, kako da odložiš
pozivanje konstruktora, na primer dok ti druga funkcija ne vrati
parametar koji hoćeš da proslediš konstruktoru? Koliko vidim, ovde nemaš
izbora, konstruktor će biti pozvan bezuslovno.
::::: BTW: Ako imaš 1 MB na mašini, možeš da voziš i C++ kompajler, makar to
::::: bila i 286 (BC 2.0 radi OK na 2 MB u IDE, a linijski kompajler će ti
::::: raditi i na 1 MB sasvim OK). Probaj, nećeš se pokajati.
Mogu, ali je vrlo sporo, a navikao sam da mi kompajliranje kratko
traje :), osim toga smeta mi organizacija u OBJ i LIB fajlove, sa tim
i potreba za project i .h fajlovima. Dalje, C++ u EXE linkuje mnogo više
stvari nego što mu treba, tako da anulira prednosti koje ima na polju
optimizacije koda. Moglo je sve to lepše da se izvede.
Ja inače imam 386sx/20 sa 4mb rama, ali mi je HD 40Mb, taman za DOS,
BP i malu strategijicu. :) Treba sad da mi legne neka lova pa ću nabaviti
DX/40 i veći HD, pa će biti mesta i za C++. Samo da mi prođu ispiti. :)
pascal.463kum.zoki,
Radim. Reci.
pascal.464postmast,
From: djdule@mikros.durlan.co.yu (Dusan Djordjevic)
Subject: Re: pascal
Date: Wed, 31 May 95 16:15:45 CET
Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic writes:
> Nije valjda to tebi potrebno ;) ?
> Mislim pises programerske tekstove u PC/RA^. pa...
Kako mos da pitas nesto tako glupo coveka. Pa cim je pisao te tekstove,
a i sam si video kakvi su znaci da nesto zna programiranje...
Dusan Djordjevic... Mikros Elektronik, Nis
pascal.465postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Wed, 31 May 1995 21:22:52 GMT
Miljan Mitrovic je napisao:
>> Nisam neki mag za C++, makar zato sto mi masina ne dozvoljava takav
>> luksuz, medutim po onome sto sam video i u C++ mora da se pozove
>> konstruktor da bi se objekat kreirao. Ukoliko ga korisnik ne
>> pozove, ko ga poziva?
Nisi dobro video. Konstruktor se poziva automatski pri kreiranju
objekta, a destruktor (opet automatski) pri unistavanju istog.
Ono sto te je mozda zbunilo su konstruktori sa argumentima. Tada se uz
ime objekta koji se kreira navodi u zagradama lista argumenata za
konstruktor, sto lici po sintaksi na poziv funkcije. Ta lista je potrebna
jer argumenti za konstruktor jednostavno moraju nekako da se doture.
Ako postoji podrazumevani (bez argumenata) konstruktor, onda se on
potpuno transparentno za korisnika poziva ako se objekat kreira bez liste
argumenata.
Na primer:
class TBezVeze {
....
public:
TBezVeze()
{ cout << "Pozvan TBezVeze::TBezVeze()\n"; }
// podrazumevani konstruktor
....
};
....
class TGlupost {
private:
TBezVeze A;
public:
TGlupost( neki parametri )
{ radi nesto sa tim parametrima; }
};
void main()
{
TGlupost
Nesto( parametri ); // Automatski je pozvan podrazumevani
// konstruktor za clana A klase TGlupost, u sta se moze
// lako uveriti citanjem poruke
....
}
}
pascal.466postmast,
From: Mladen.Adamovic@p5.f101.n101.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: pascal
Date: Mon, 29 May 1995 20:43:02
"J> Ima li neko zainteresovan da odrzi kurs o Turbo Pascalu for
"J> Windows? Uslovi rada i honorar veoma dobri.
Nije valjda to tebi potrebno ;) ?
Mislim pises programerske tekstove u PC/RA^. pa...
... Jesi li ukrao moj tag?
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:101/101.5)
pascal.467janko,
> Ok. A šta je sa instancama alociranim u HEAPu. Kako se
> alociraju?
Sa new i delete. Ali opet, nigde zoveš tu proceduru Init -- onog
trenutka kada se zauzima memorija na heapu događa se i konstrukcija
objekta.
> Kako je tu regulisano pozivanje konstruktora?
> Drugo, kako da odložiš pozivanje konstruktora, na primer
> dok ti druga funkcija ne vrati parametar koji hoćeš da
> proslediš konstruktoru?
Nema takvih problema. U opštem slučaju, dok nemaš podatke koji su
dovoljni za konstrukciju, ne moraš ni da praviš objekat. Glavni problem
sa Paskalom je što sve promenljive moraš da deklarišeš pre čitave
funkcije. U C++-u se dekalaracija može nalaziti bilo gde među naredbama,
pa lepo ne brineš... pripremiš, napraviš, a pre toga ga nema. Videćeš,
elegantno je. Vrlo.
> Ja inače imam 386sx/20 sa 4mb rama, ali mi je HD 40Mb,
> taman za DOS, BP i malu strategijicu. :) Treba sad da mi
Ja sam vozio BC 2.0 (IDE okolinu) na 386sx/16 sa 2 MB RAM-a i 40 MB HDD.
Radi, pristojno. žak nije ni sporo, s obzirom na sve što dobijaš. To što
pravi OBJ u stvari ti daje slobodu da za svaku rutinu kompajler može da
generiše i pravi ASM sors pa da vidiš tačno šta je uradio. Inače, u Pro
verziji sve sorsove SVIH biblioteka dobijaš kompletne (videh da si se
žalio da za TP fali ponešto).
pascal.468vitez.koja,
#=> Ja sam vozio BC 2.0 (IDE okolinu) na 386sx/16 sa 2 MB
#=> RAM-a i 40 MB HDD. Radi, pristojno. žak nije ni sporo, s
Sa čim upoređuješ brzinu C kompajlera, kada kažeš da nije spor?
Ako je sa Turbo Paskalom, onda ne da je spor, nego izluđujuće
spor ;) Posebno Borland C, dok je npr. Turbo C 2.0 samo jako spor :)
Što reče neko jednom, u paskalu je lakše, a i brže, pustiti kompajler
da bi te postavio na grešku, nego da sam voziš kursor, dok kod Ca
dvaput razmisliš pre nego što pustiš kompajliranje.
pascal.469saricl,
!!! 1). Nabavis SVGA.BGI drajver, mislim da se o tome pricalo na sezamu,
!!! 2). Zahtevas da korisnik ima instaliran VESA drajver i napravis sam
Ova kombinacija će mi sasvim odgovarati. Radi se o programu koji
pišem namenski za obradu nekih podataka na mom računaru i verovatno
će njegov životni vek biti ograničen samo na ovu moju mašinu.
ANW, u nekoj od prethodnih poruka sam dobio informaciju o
mestu gde mogu naći BGI drajvere. Hvala na odgovoru.
pascal.470saricl,
!!! Imaš u dir-a arhivu sa drajverima za svga ...
!!! probaj u kombinaciji findfirst,findnext imaš lep primer dirdemo.pas koji
!!! stiže uz tp v7.0 ...
Thanks!
pascal.471janko,
> #=> RAM-a i 40 MB HDD. Radi, pristojno. žak nije ni sporo,
> s
>
> Sa čim upoređuješ brzinu C kompajlera, kada kažeš da nije
> spor? Ako je sa Turbo Paskalom, onda ne da je spor, nego
> izluđujuće spor ;) Posebno Borland C, dok je npr. Turbo C
Mali program se lako piše na svakom jeziku. Za velike programe, treba i
dobro zaposliti mašinu, ako hoćeš puno. Ono što nudi C, a pogotovu C++,
teško može da nadoknadi TP. Za rekreativno programiranje i _male_
programe nekad stvarno nema smisla komplikovati. Zašto paliti auto ako
možeš da odeš negde biciklom? Itd... Sve ima svoje prednosti, pa kome
šta treba... U doba kada na računarima na kojima sam radio (CP/M, XT) C
kompajleri nisu ni radili, sa zadovoljstvom sam programirao u TP-u...
pascal.472zeljkoj,
> šta treba... U doba kada na računarima na kojima sam radio
> (CP/M, XT) C kompajleri nisu ni radili, sa zadovoljstvom sam
> programirao u TP-u...
Postoje C kompajleri za CP/M. Postoji C kompajler i za Spectrum.
pascal.473janko,
>> šta treba... U doba kada na računarima na kojima sam
>> radio (CP/M, XT) C kompajleri nisu ni radili, sa
>> zadovoljstvom sam
> Postoje C kompajleri za CP/M. Postoji C kompajler i za
> Spectrum.
Samo, jesu li bili upotrebljivi, u odnosu na TP? Taj za Spektrum sam u
to doba i probao... to samo vrlo dobronameran može da se nazove C
kompajler. C kompajler za CP/M nisam imao. BTW: Ko je to pravio? Je li
imao integrisanu okolinu?
pascal.474zeljkoj,
> kompajler. C kompajler za CP/M nisam imao. BTW: Ko je to
> pravio? Je li imao integrisanu okolinu?
Ovaj što ja videh je public domain, i nema integrisanu okolinu. :)
pascal.475mmitrovic,
Dejane, ti si se za sada jedini upoznao sa Delphiem. Kakva je
presuda o far VMTu?
pascal.476postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Tue, 6 Jun 1995 20:47:16 GMT
Miljan Mitrovic je napisao:
>> Ok. A sta je sa instancama alociranim u HEAPu. Kako se alociraju?
Operatorom new kreira se nov objekat na heapu, i automatski se poziva
odgovarajuci konstruktor (zavisno od liste argumenata koja se navede).
Destruktor se automatski poziva kada se operatorom delete unistava objekat
na heapu.
>> Kako je tu regulisano pozivanje konstruktora? Drugo, kako da odlozis
>> pozivanje konstruktora, na primer dok ti druga funkcija ne vrati
>> parametar koji hoces da prosledis konstruktoru? Koliko vidim, ovde nemas
>> izbora, konstruktor ce biti pozvan bezuslovno.
Potreba za odlozenim pozivanjem konstruktora ukazuje na gresku u OO
dizajnu programa.
Btw., da li ovo uopste stize do Sezama?
--
I only dream in infrared
pascal.477postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: Re: pascal
Date: Tue, 6 Jun 1995 21:12:56 GMT
Miljan Mitrovic (mmitrovic@sezam.UUCP) wrote:
-> ::::: Poziva se automatski, cim se naide na deklaraciju.
-> ::::: Sto je jos lepse, i destruktor se poziva automatski, kada se zavrsi
-> Ok. A sta je sa instancama alociranim u HEAPu. Kako se alociraju?
-> Kako je tu regulisano pozivanje konstruktora? Drugo, kako da odlozis
-> pozivanje konstruktora, na primer dok ti druga funkcija ne vrati
-> parametar koji hoces da prosledis konstruktoru? Koliko vidim, ovde nemas
-> izbora, konstruktor ce biti pozvan bezuslovno.
Dobro pitanje, cini mi se :). Je li C++ima garbage collecting ili
pici alloc/free me'anika?
Modula-3 ima sjajan mehanizam za konstruktor, koji rjesava i ovaj problem
koji navodis.
pascal.478postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 08 Jun 1995 04:58:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.PASCAL maintained on 11.05.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 330
Number of messages covered in report: 74
Processed period from: 11-5-1995 to 5-6-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. "Predrag Drljaca"........ 38:103/120 1 17 11 64.71%
2. "Ognen Duzlevski"........ 38:103/120 1 18 10 55.56%
3. Vladimir Bonc............ 38:101/101 1 29 15 51.72%
4. Predrag Supurovic........ 38:101/101 1 12 6 50.00%
5. "Vladislav Erdelji"...... 38:103/120 2 16 6 37.50%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. "Nebojsa Lazic" 10 13.5% 1274 9.09%
2. "Miljan Mitrovic" 7 9.5% 1474 0.00%
3. "Nemanja Jovanovic" 5 6.8% 471 24.53%
4. "Janko Stamenovic" 4 5.4% 724 22.06%
5. "Dejan Jelovic" 4 5.4% 298 17.86%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 68 91.9%
2. "Dejan Jelovic" 1 1.4%
3. Predrag Supurovic 1 1.4%
4. "Ognjen Blagojevic" 1 1.4%
5. Nemanja Jovanovic 1 1.4%
------------------------------------------------------------------------------
Top 3 of the subjects.
Subject Nr.
------- ---
1. pascal...................................................... 72
2. Statistics.................................................. 1
3. Window...................................................... 1
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 16 21.6% *************************************************
Monday 10 13.5% ******************************
Tuesday 4 5.4% ************
Wednesday 11 14.9% *********************************
Thursday 8 10.8% ************************
Friday 8 10.8% ************************
Saturday 17 23.0% ****************************************************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 12 16.2% **************************************************
2:00- 3:59 11 14.9% **********************************************
4:00- 5:59 3 4.1% ************
6:00- 7:59 3 4.1% ************
8:00- 9:59 4 5.4% ****************
10:00-11:59 7 9.5% *****************************
12:00-13:59 6 8.1% *************************
14:00-15:59 7 9.5% *****************************
16:00-17:59 5 6.8% *********************
18:00-19:59 6 8.1% *************************
20:00-21:59 4 5.4% ****************
22:00-23:59 6 8.1% *************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.479postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: tv
Date: Tue, 06 Jun 1995 16:30:08
SP> Ima li neko neku dokumentaciju ja TVision ?
Imas na SEZAM-u Turbo Pascal Reference (napisao Ed Mitchell), gde je
pola knjige o Turbo Viziji. Nesto malo ( citaj bedno B))) ) ima u TP 6-
kompletan vodic, koji je izdala Mikroknjiga. Moj savet je da uzmes ovu
knjigu od Mitchell-a. Ja je imam, i to je arhiva od oko 400kb. Unutra
dobijas nekih 400 strana teksta, primere i ostalo. Sve ostalo mozes da
zaboravis.
Strider
... Black hole is place where God divide by zero.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.480postmast,
From: Adzic.Gojko@f115.n103.z38.setnet.setnet.co.yu (Adzic Gojko)
Subject: TV
Date: Wed, 07 Jun 1995 23:06:00
trazio si dokumentaciju za TV,
evo ti je na Atlantisu,
datoteka je tv.zip
norton guides baza.
MasterMind
* Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.481postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: pascal
Date: Thu, 08 Jun 1995 17:42:01
"J> Ako ti trebaju podaci o grafickim karticama jevi mi se u mail,
"J> pa ce mo da ti prosledimo iste!
BD>
BD> HI! Izvini sto upadam ali i meni bi trebalo tako nesto pa ako mozes
BD> da posaljes bio bih ti stvarno zahvalan :)) moja adresa na galebu je
BD> lynx@galeb.etf.bg.ac.yu
BD>
Sta ti treba u vezi sa grafickim karticama? Znas, imam neka uputstva
za koriscenje specijalnih prekida pojedinih kartica (ET-4000 i jos
neke, al ne znam koje). Da ti sibnem i taj fajl?
Strider
... Black hole is place where God divide by zero.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.483jasicp,
Ima li First impressions o tome kako se Delphi i Borland C++ 4.5 slazu
sa OS/2 ? I koje alatke se mogu upotrebiti umesto NDD ili DiskFix u OS/2 ?
pascal.484nemko,
)>- knjigu od Mitchell-a. Ja je imam, i to je arhiva od oko
)>- 400kb. Unutra dobijas nekih 400 strana teksta, primere i
)>- ostalo. Sve ostalo mozes da zaboravis.
Imam celu knjigu posvecenu turbo viziju, na ruskom!
Ko voli, nek kopira!
pascal.485aleck,
>> sa OS/2 ? I koje alatke se mogu upotrebiti umesto NDD ili DiskFix u OS/2 ?
Imaš WARP-ov chkdsk.On ti je dovoljan(barem je bio svima koje znam),
jer problema jedva i da ima.
pascal.486mmitrovic,
::::: Potreba za odlozenim pozivanjem konstruktora ukazuje na gresku u OO
::::: dizajnu programa.
Nisam baš pokačio ovo. U čemu je greška?
Drugo, nije u pitanju potreba, već mogućnost. Evo i zašto:
Pretpostavi dva objekta l1 i l2 sa svojim pridruženim konstruktorima
l1 i l2. Konstruktor l1 kao parametar prima pointer na objekat l2, a l2
konstruktor, pogađate, traži pointer na objekat l1. Sad imam dva pointera
na objekte l1 i l2, i to a i b respektivno. Kako u C++ izvesti alokaciju
i konstrukciju ove cross-construction veze dva objekta? Naravno,
pretpostavlja se da jedan objekat neće pozivati metode drugog unutar svog
konstruktora. U pascalu je ovo moguće:
New(a); { odloženo pozivanje konstruktora }
New(b,l2(a));
a^.l1(b);
Ovo pitanje nisam postavio da bi tvrdio da je pascal superiorniji od
C++, ozbiljno me interesuje kako se ovo može izvesti, naravno "legalnim"
metodama, bez hakeraja. IMHO, automatsko pozivanje konstruktora i nije
neki poen za C++, ako nema načina da se zaobiđe. Naravno, ovo se može
izvesti dodavanjem metoda koji će se ručno pozvati posle konstrukcije oba
objekta i koji će kao parametar imati drugi objekat, ili da se promeni
jedan konstruktor, pa da on alocira drugi objekat. Ipak bih voleo da
vidim konstruktorsko rešenje iz glavnog programa, pošto recimo
pretpostavimo da su objekti fabrički i da me mrzi da ih nasleđujem i
dodajem metode, tj. ne sme biti modifikacije nad samim objektima.
::::: Btw., da li ovo uopste stize do Sezama?
Očigledno stiže. Drugo, ako vi momci (a bogami i devojke) sa SETNETa
razmenjujete poruke sa temom cpp, bilo bi bolje da pređemo tamo, počeli
smo da se udaljavamo od pascala. Ovu poruku sam ostavio ovde u slučaju
da ne razmenjujete.
pascal.487mmitrovic,
::::: Modula-3 ima sjajan mehanizam za konstruktor, koji rjesava i ovaj
::::: problem koji navodis.
Daj malo više podataka. Verovatno ima još ljudi koje to interesuje.
pascal.488postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: TSR
Date: Mon, 12 Jun 1995 17:41:11
Za one koje zanimaju TSR programi, evo neceg lepog :) U NET.PC General
se nalazi source kod za graber za tekst mod. Ono sto je daleko
interesantnije, to je da ovaj kod mozete da iskoristite za neki svoj
TSR.
Iskreno receno, nisam bio puno originalan. Moj stav je da ne treba
izmisljati rupu na saksiji ili toplu vodu :))) Nasao sam zaista
interesantan demo u Mom Mikru iz septembra '91. Elem, te procedure su
zaista dobre i vredi ih imati u svojoj kolekciji.
Poenta mog programa je procedura LOG koja dampuje tekstulani ekran u
fajl. Ko zeli da napise neki svoj program treba da promeni procedure
LOG, AKCIJA i Keyboard. LOG je ono sto program radi, Akcija su sve
kombinacije tastera, a Keyboard cita sta je pritisnuto.
Ne bih da duzim. Ako nekog zanima nesto konkretno neka mi ostavi mail.
Adresa je: strider@setnet.co.yu (Taurunm BBS 38:101/103)
Strider
... Black hole is place where God divide by zero.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.489postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Knjige
Date: Mon, 12 Jun 1995 18:02:12
Evo jednog malog ogleda o TP literaturi. Dodajte ako imate neku drugu
knjigu ili bar dajte svoje misljenje o ovim :)
S. O'Brien - TP6 Kompletan Vodic (Mikroknjiga)
Prepotentnog li naslova. Knjiga pokriva 30-tak % mogucnosti Paskala i
puna je delova tipa "ja sam veliki programer". :))) Za strukturno
programiranje je dobra i moze da da dobru osnovu. Deo oko koriscenja
prekida je truo. Tip je demonstrirao upotrebu SVIH prekida koje TP
ima vec ugradjene u sebe (sat, atributi fajlova i slicno) :)). Onaj deo
o TV je kriminalan. Pola source-ova ne radi kako treba. :)) Knjiga i
nije jeftina, ali kome treba...
M. Cabarkapa - MS-DOS uz podrsku TP-a (Tehnicka knjiga)
Knjiga koju neizostavno treba nabaviti. Jeftina je, a dosta
kvalitetna. Nemam vecih zamerki na nju, osim sto su programi za
demonstraciju prekida uzeti iz gornje knjige (samo za verziju 5.5
:))) )
Bratko/Rajkovic - Racunartvo sa programskim jezikom PASCAL
Antikvarna knjiga, ali dobra u nekim delovima. Obradjuje neku
pretpotopsku verziju TP-a, ali ima dosta dobru teoriju o dinamickim
listama i slicno. Dobra je i za pocetnike, jer startuje od 0 i
opisuje i hardver na dosta pristojan i pristupacan nacin. S obzirom
da se moze kupiti za neke smesne pare (10-15 dinara) nabavite je.
I. Papes - Turbo Pasacl 5.5 ...(jos oko 0.5 km naslova :)) )
Knjiga je prevedeni HELP :)) ali ima nekoliko finih primera na kraju.
Nisu TOP primeri, ali mogu posluziti. Ako vas mrzi da kopate po
helpu, ova knjiga moze dobro doci. Ovo se posebno odnosi na razne
konstante za boje, srafure i slicno. Ima jos jedna knjiga istog
naziva. Ne znam ko ju je napisao, ali je INDENTICNA sa ovom po
sadrzaju :))))) Jedna mala, bela. Medjutim, ta knjiga ima nekih
stamparskih (ili nekih drugih :)) ) gresaka.
A. Jorno - Turbo Pascal sa grafickim aplikacijama
Knjiga se bavi verzijom 3.0, a to je malo zastarelo, zar ne :)). U
globalu, ova knjiga nije Bog zna sta. Ima tu i tamo nekih delova koji
vrede, ali u sustini ne vredi puno. Ako neko bas hoce da je kupi, u
Tehnickoj knjizi je neka rasprodaja :)) pa nek svrati.
Ovo je moje misljenje o literaturi koju imam. Zaboravio sam da na
knjigu Eda Mitchella, koja je u obliku fajla. Nije losa, i vredi je
skinuti sa nekog BBS-a. Ukoliko neko moze da dopuni ovu listu ili
iznese svoje misljenje o knjigama, neka me dopuni.
Strider
... Black hole is place where God divide by zero.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.490postmast,
From: Ognen.Ivanovski@f132.n108.z38.setnet.setnet.co.yu (Ognen Ivanovski)
Subject: Objekti
Date: Tue, 16 May 1995 02:43:03
PS>>>Hi,
PS>>>Moze li neko da objasni kako se kriju delovi objekata? Mislim da budu
>>>neveidljivi korisniku objekta.
PS>>>Cesto imam potrebu da u objektu definisen neka polja koja mi trebaju
2 >>>interno i ne bi bas bilo zgodno da programer koji koristi objekat moze
>>>da im direktno menja sadrzaj.
Od TP6 pa nadalje postoje kljuchne rechi 'private' i
'public'. Private stoji ispred chlanova objekta koje treba
da budu sakriveni, dok za pubilc vazhi obrnuto. E sad
shtos: chlanovi ispod 'private' nisu vidljivi izvan fajla
(.tpu-a) u kome je definisan objekat (ovako pishe u
literaturi)! Ovo mene prilichno zbunjuje ali.... Inache u
C++ fino-lepo private chlanovi nisu vidljivi izvan te klase
(objaekat).
Evo primer:
unit milkman;
type
TMilkman = object
private
a : integer;
b : intger;
procedure UchiniNeshto;
public
constructor Init;
destructor Done;
{ ... }
end;
{ ... }
implementation
procedure TMilkman.UchiniNeshto;
begin
{ ... }
end;
{ ... }
end.
Peace,
Milkman
* Origin: SETNet: ĆMemory Master BBS +389/91-412-767ž SKOPJE (38:108/132)
pascal.491postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Thu, 15 Jun 1995 12:47:27 GMT
Miljan Mitrovic je napisao:
>> ::::: Potreba za odlozenim pozivanjem konstruktora ukazuje na gresku u OO
>> ::::: dizajnu programa.
...
>> pretpostavlja se da jedan objekat nece pozivati metode drugog unutar svog
>> konstruktora. U pascalu je ovo moguce:
>> New(a); { odlozeno pozivanje konstruktora }
>> New(b,l2(a));
>> a^.l1(b);
Eto skolskog primera greske u objektnom dizajnu. Uobicajeno je da se
komunikacija izmedju objekata odvija po client-server principu: objekat je
drugom podredjen, tj. objekat A poziva fje ubjekta B, ali objekat B ne
poziva fje objekta A. Za konstrukciju objekta B tada nije potreban objekat
A, pa se on prvi kreira, a zatim se kreira objekat A, kome se kao jedan od
parametara prosledjuje objekat B.
Ako ti u algoritmu bas zatreba da dva objekta dvosmerno komuniciraju,
probaj da redizajniras algoritam da se ta dvosmerna komunikacija izbegne.
Ako dvosmernu komunikaciju bas nikako nije moguce izbeci (desava se),
to je vec poprilicno karakteristican slucaj, koji je najbolje razresiti
uvodjenjem treceg objekta C (ja ga zovem dispecer), preko koga prva dva
objekta razmenjuju poruke. Dakle, prvo se kreira objekat C, a zatim objekti
A i B kojima se objekat C pri konstrukciji prosledjuje kao parametar. Ovakvo
resenje je malo glomaznije, ali je cisto, pregledno i "normalizovano".
>> Ovo pitanje nisam postavio da bi tvrdio da je pascal superiorniji od
......
>> dodajem metode, tj. ne sme biti modifikacije nad samim objektima.
Pa sustina 'fabrickih' objekata je da ih nasledjujes kad god mozes.
>> ::::: Btw., da li ovo uopste stize do Sezama?
>> Ocigledno stize. Drugo, ako vi momci (a bogami i devojke) sa SETNETa
>> razmenjujete poruke sa temom cpp, bilo bi bolje da predemo tamo, poceli
>> smo da se udaljavamo od pascala. Ovu poruku sam ostavio ovde u slucaju
>> da ne razmenjujete.
Ma OK, samo diskusija je zapocela u temi pascal, pa k'o rek'o da tu i
repliciram, a i diskusija o objektnom dizajnu se ne tice iskljucivo C++-a.
Btw., nisam sa SETNET-a nego sa ETF-a.
--
Nisam zgodan al sam plodan
pascal.492smarkov,
> konstruktor da bi se objekat kreirao. Ukoliko ga korisnik ne
> pozove, ko ga poziva?
* Za top-level scope kompajler ugradi kod koji se izvrši
pre main-a.
* Za objekte na stack-u ugradi prolog na ulasku u funkciju.
* Za dinamički obrazovane objekte - kao bočni efekat new operatora.
pascal.493ivan.mile,
HELP !!!!
hitno potreban program na temu animacije. Treba da se animira "let" rakete na
sledeći način : na dnu ekrana se vidi tlo (može obična linija, malo deblja). Na
sredini tla je raketa najjednostavnijeg oblika (vrh, "telo" i "motori" sa
strane), po mogućstvu obojena. Pozadina je nebo osuto zvezdama (crn ekran sa
raznobojnim tačkicama). Raketa u jednom trenutku poleće i pri vrhu ekrana
"eksplodira" poput vatrometa (ovo poslednje nije neophodnoa, ali je poželjno).
Ovo je problem za drugi razred srednje škole (druga godina učenja paskala),
tako da nije potrebno da se koriste npr. specijalni objekti iz verzije 7.0 ;
aplikacija može biti pisana u Turbo Pascalu b(bilo koja verzija).
Ponude na mail a može i u conf ako još nekom treba nešto slično.
Thanx,
-+- I V A N -+-
pascal.494duzle,
>**> Evo jednog malog ogleda o TP literaturi. Dodajte ako imate
>**> neku drugu knjigu ili bar dajte svoje misljenje o ovim :)
Niel J. Rubenking - Turbo Pascal Techniques & Utilities
Po meni najbolja knjiga. Bavi se verzijom 6.0, ima puno Turbo Vizije i
mnogo ostalih stvari. 800 strana + disketa.
>**> S. O'Brien - TP6 Kompletan Vodic (Mikroknjiga)
>**>
>**> u sebe (sat, atributi fajlova i slicno) :)). Onaj deo o TV
>**> je kriminalan. Pola source-ova ne radi kako treba. :))
Ne samo što ne radi pola sorsova već i ortak demonstrira potpuno pogrešan
pristup OO programiranju. Deluje kao da je TV prvi put video 2-3 dana pre
pisanja knjige.
Ogi
pascal.495nemko,
)>- Ponude na mail a može i u conf ako još nekom treba nešto
)>- slično.
Daj mi jedan dobar razlog pa ce mo da popricamo.
(Da li si skinuo PCGPE (pc game programmmers enciclopedia), tu imas
objasnjeno dosta toga u vezi kretanja objekata i sl. poslao sam to
u pc.prog (valjda)!
pascal.496majstor,
Molio bih objasnjenje ako neko zna o cemu se radi :
Pisah objekat za kreiranje lista ( stabla direktorijuma ) i program
je "radio", ali je nakon nekog vremena pobrljavio ;(.
Elem, problem sam resio ( nakon X sati mozganja ) jednostavnom zamenom
new umesto getMem. Ostatak programa nije menjan. Radi se o TP v7.0.
E, sad, da vas cujem.
pascal.497nemko,
)>- Ne samo što ne radi pola sorsova već i ortak demonstrira
)>- potpuno pogrešan pristup OO programiranju. Deluje kao da je
)>- TV prvi put video 2-3 dana pre pisanja knjige.
Sta fali objasnenju objekata. Enkapsulacija, virt. metode i poli-
morfizam su po meni dovoljno objasnjene (a ostalo cve korisnik 'lako'
da provali!
pascal.498postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Objekti
Date: Tue, 13 Jun 1995 10:34:31
OI> Od TP6 pa nadalje postoje kljuchne rechi 'private' i
OI> 'public'. Private stoji ispred chlanova objekta koje treba
OI> da budu sakriveni, dok za pubilc vazhi obrnuto. E sad
A da li se ovo moze koristiti naizmenicno. Mislim malo private,
pa malo public, pa opet malo private, ili moram sve sto hocu da
bude privatne da stavim u istu sekciju, da je tako nazovem?
Da, znam, najbolji odgovor na ovo je 'uzmi i probaj', samo sto
sad nisam u situaciji, pa mi je jednostavnije da pitam.
... BR> Ja sam stvarno uvek u pravu. Dokazano.
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.499nlazic,
*> Elem, problem sam resio ( nakon X sati mozganja ) jednostavnom zamenom
*> new umesto getMem. Ostatak programa nije menjan. Radi se o TP v7.0.
A šta si uradio sa dealokacijom memorije? 'Ajde ostavi malo više
detalja, pa da vidimo u čemu je štos.
Pozdrav,
:) Nebojša :)
pascal.500nlazic,
*> Ne samo što ne radi pola sorsova već i ortak demonstrira potpuno
Veliki deo tih sorsova ne radi jer su u pitanju najbanalnije štamparske
greške. Ovo, neravno, nije opravdanje, ali ne treba grešiti dušu i sve
svaljivati na autora knjige. Što se ostalog tiče, 100% se slažem sa tobom.
Pozdrav,
:) Nebojša :)
pascal.501nlazic,
*> Evo jednog malog ogleda o TP literaturi. Dodajte ako imate neku drugu
*> knjigu ili bar dajte svoje misljenje o ovim :)
Ja imam još par knjiga na ovu temu:
1. Duško Savić - Turbo Pascal, naredbe i objekti, 1990. god.
Knjiga se odnosi na verziju 5.5 TP-a. Moj utisak je da je za
početnike neilustartivna, a za one malo iskusnije previše "obična". Autor
je pokušao da da uvod u objektne ekstenzije paskala i objektno
programiranje uopšte, ali je samo delimično uspeo. Knjiga definitivno pada
na virtuelnim metodama - primer koji ide uz njihovo objašnjenje uopšte ne
govori o virtualizaciji. Dobra strana je što ima gomilu primera (možda i
previše) o svim bitnim aspektima koje donosi TP (liste, overlay-i, kontrola
tatature, diska i sl., exit procedure, optimizacija koda...). Pomenuti su
SVI unit-i koji se isporučuju uz TP 5.5 i dati primeri uz sve iole važnije
procedure i f-je. Sve u svemu - detaljno prokomentarisan help.
2. Duško Saviš - Turbovizija i grafika, 1992. god.
U knjizi je reč o dva potpuno odvojena problema. Prvi razmatra TV i
nije ništa drugo do prevedenog help sistema iz koga su izbačeni primeri
(čast izuzetcima). Drugi deo je mnogo interesantniji i predstavlja lepo
rešenu kolekciju klasa za rad sa osnovnim grafičkim elementima u ravni i
prostoru. Ovaj deo izvlači celu knjigu.
3.
Kada je reč o literaturi za TP i programiranje uopšte, ubeđen sam da je
skup tekstova koji su objaveljeni u ranim brojevima "Računara" ubedljivo
najbolje štivo koje se može naći na našem jeziku. Bilo je tekstova o jako
velikom broju problema: izračunavanje matematičkih izraza, metode
sortiranja i pretraživanja, radionica logičkih igara, algoritmi za brzo
iscrtavanje duži i krugova, a "Put u središte ROM-a" je definitivno jedan
od najboljih serijala tekstova koji su izašli u svim našim časopisima do
sada.
Pozdrav,
:) Nebojša :)
pascal.502nlazic,
Možda će nekoga interesovati: u Delphi-evom readme fajlu koji se
ljubaznošću DDABIC-a našao na Sezam-u, piše da je minimalna konfiguracija
za startovanje 386 sa 6 Mb RAM-a. Delphi, međutim, radi i sa 4 Mb memorije,
a za manje ne znam. Ovo, ipak, ne znači da je iole ozbiljniji rad na
ovakvoj konfiguraciji moguć.
Pozdrav,
:) Nebojša :)
pascal.503mmitrovic,
::::: Eto skolskog primera greske u objektnom dizajnu. Uobicajeno je da se
E, stvarno. Ja u klin ti u ploču.
Nisam tražio alternativne metode, niti da mi neko objasni OO
arhitekturu. Jednostavno sam tražio Da/Ne odgovor na pitanje da
li C++ može da izvede cross-construction onako kako sam tražio ili
ne može? Može li neko da mi da TAKAV odgovor?
Što se tiče pravila i ostalih dogmi, ako primetim da će moj kod imati
samo jednu liniju više zbog držanja za dogme, ima da ih nema. Pravila su
tu zbog lakšeg programiranja, ne kao svrha samoj sebi. Ako će cross
construction izveden kršenjem normi da me poštedi nasleđivanja, pravljenja
raznih dispečera i ostalih kerefeka, onda je to TO, i jedino rešenje koje
ću koristiti.
Ako misliš da se sam Borland pridržava tih pravila, upućujem te na
TLabel objekat, koji mora da se veže za peer-view, kako bi znao koji
objekat da aktivira. Ovakvih primera ima još, npr. TScrollBar u
nekim okolnostima, ima ih još ali ne znam napamet.
pascal.504dejanr,
>> Kada je reč o literaturi za TP i programiranje uopšte, ubeđen sam da je
>> skup tekstova koji su objaveljeni u ranim brojevima "Računara" ubedljivo
>> najbolje štivo koje se može naći na našem jeziku. Bilo je tekstova o jako
>> velikom broju problema: izračunavanje matematičkih izraza, metode
>> sortiranja i pretraživanja, radionica logičkih igara, algoritmi za brzo
>> iscrtavanje duži i krugova, a "Put u središte ROM-a" je definitivno jedan
>> od najboljih serijala tekstova koji su izašli u svim našim časopisima do
>> sada.
Hvala :)
Šteta što ne napravih knjigu od toga (kad je bilo vreme), sigurno bi se
dosta dugo prodavala.
pascal.505majstor,
RE: TP 7.0 getMem -> New
Elem, kada rekoh da sam zamenio getMem sa New, podazumeva sa da su zamenjeni
parovi GetMem/FreeMem sa New/Dispose ( a isto tako i rutina za dealokaciju
memorije u destruktoru ). Apsurd je u tome da nekad program prodje compile,
i prilikom startovanja stane ( sto se resava sa Ctrl+Break ), a nekad je
radio OK jedno vreme - mislim na rutine sa tim listama i onda poceo da brljavi
ispis ? i ponekad preskakanje nekih nodova. Sve se alocira prilikom startova-
nja programa, ovo je bio probni primerak - znaci sa listama je bilo moguce
samo view - bez mogucnosti promene. Posto se radi o seminarskom, a rok predaje
je bio kriticno blizu, nije bilo vremena za detaljnije provere, ali glupo je
da je sa ovakvom cakom proradilo ( nigde nije bilo ni Mark/Release ). Memorija
je bila bez TSR-ova ( i bez virusa ).
Nadam se da je ovo bilo malo detaljnije,
Pozdrav, Miodrag
pascal.506kenza,
(;> Steta sto ne napravih knjigu od toga (kad je bilo vreme), sigurno bi se
(;> dosta dugo prodavala.
A zar je to nemoguce sada uraditi ? Ili se nema vremena ? :)
pascal.507postmast,
From: Jovan.Maric@f102.n103.z38.setnet.setnet.co.yu (Jovan Maric)
Subject: xms
Date: Mon, 19 Jun 1995 01:03:01
Da li neko zna kako da napravim funkciju koja bi mi vratila podatak o ukupnoj
XMS memoriji na sistemu?Probao sam preko jednog interapta medjutim on mi kao
podatak uvek vraca 34400 i űÍÝSéGnsa 4mb i sa 8mb na ploci,isti je slucaj i
na drugim pc racunarima.
Jovan
* Origin: ■ Huter BBS, Belgrade, SETNet, 788-189 ■ (38:103/102)
pascal.508nlazic,
*> Da li neko zna kako da napravim funkciju koja bi mi vratila podatak o
*> ukupnoj XMS memoriji na sistemu?Probao sam preko jednog interapta
Najjednostavnije (i najbezbednije) je da koristiš neki već napisan
unit za kontrolu XMS memorije. Ima ga na Sezamu u R:\PASCAL, a ako ti se
ovaj čini preglomaznim (oko 130K) javi da ti pošaljem jedan unit od svega
10K koji sasvim lepo završi posao.
Pozdrav,
:) Nebojša :)
pascal.509nlazic,
*> Šteta što ne napravih knjigu od toga (kad je bilo vreme), sigurno bi
*> se dosta dugo prodavala.
Nikad nije kasno :). To bi bila jako lepa stvar, ako ne kao knjiga,
ono makar u vidu nekog umetka.
Pozdrav,
:) Nebojša :)
pascal.510nlazic,
*> Elem, kada rekoh da sam zamenio getMem sa New, podazumeva sa da su
*> zamenjeni parovi GetMem/FreeMem sa New/Dispose ( a isto tako i
*> rutina za dealokaciju memorije u destruktoru ). Apsurd je u tome da
*> nekad program prodje compile,
*> je bio kriticno blizu, nije bilo vremena za detaljnije provere, ali
*> glupo je da je sa ovakvom cakom proradilo ( nigde nije bilo ni
*> Mark/Release ).
Zaista apsurdno. Jedino što mi pada na pamet je da pri pozivanju
GetMem-a nisi rezervisao dovoljno veliki prostor za ono šta smeštaš u
liste, ili neki sličan potpuno banalan previd. Ako te baš "svrbi" šta ne
radi, pošalji dotično parče sorsa pa da svi zajedno pogledamo. :)
Pozdrav,
:) Nebojša :)
pascal.511mmitrovic,
::::: Elem, kada rekoh da sam zamenio getMem sa New, podazumeva sa da su
::::: zamenjeni parovi GetMem/FreeMem sa New/Dispose ( a isto tako i rutina
::::: za dealokaciju
Pošto GetMem/FreeMem i New/Dispose parovi rezultuju pozivom istog
koda za alokaciju, problem može biti samo do tebe. Jedino što do tebe
može biti je da si ili postavio premali Size u Get/FreeMem ili si
u FreeMem stavio više nego u GetMem, pa je sledeća alokacija uletela
u tuđu "parcelu". Pregledaj kod malo bolje.
pascal.512majstor,
> moze biti je da si ili postavio premali Size u Get/FreeMem ili si
Ne verujem, ako jesam, onda gresim od pocetka :
ako je
pNodeRecord = ^tNodeRecord;
tNodeRecord = record
i GetMem( pNodeRecord, SizeOf( tNodeRecord ) );
FreeMem( pNodeRecord, SizeOf( tNodeRecord ) );
Stavio sam tipove u citat da ne komplikujem da dodavanjem varijabli. Medjutim
pade mi na pamet da vezem objekte u listu. Kako bi onda reagovala naredba
GetMem( pNode_Ptr, SizeOf( tNode_Obj )); ?? Nisam to jos radio.
pascal.513kenza,
Hi!
Da li Delphi dolazi na jednom CD-u ili na vise komada, i da li postoji
i disketna verzija ? I moze li se sa CD-a kompletan instalirati na HD ?
Ako moze , koliko mesta mu treba ?
Hvala,
Kenza
pascal.514supers,
Koja je najnovija verzija TP koja može da radi na XT-u?
pascal.515zeljkoj,
> Koja je najnovija verzija TP koja može da radi na XT-u?
Može i 7.0. TP, naravno. Za BP je potrebno imati 286.
pascal.516nlazic,
*> Da li Delphi dolazi na jednom CD-u ili na vise komada, i da li postoji
*> i disketna verzija ? I moze li se sa CD-a kompletan instalirati na HD
Postoji disketna verzija: 15 x 3.5''
pascal.517nlazic,
*> Koja je najnovija verzija TP koja može da radi na XT-u?
TP 7.0
pascal.518vlador,
> Koja je najnovija verzija TP koja može da radi na XT-u?
6.0 može garant (ja sam je koristio na xtu bez diska;), a
sedmica ti i ne treba.
pascal.519postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Tue, 20 Jun 1995 08:44:20 GMT
Nebojsa Lazic je napisao:
>> Mozda ce nekoga interesovati: u Delphi-evom readme fajlu koji se
>> ljubaznoscu DDABIC-a nasao na Sezam-u, pise da je minimalna konfiguracija
>> za startovanje 386 sa 6 Mb RAM-a. Delphi, medutim, radi i sa 4 Mb memorije,
>> a za manje ne znam. Ovo, ipak, ne znaci da je iole ozbiljniji rad na
>> ovakvoj konfiguraciji moguc.
Pa i u originalnom (imao cast da ga par dana drzim u rukama) uputstvu za
Access 2.0 pise da je neophodno 6Mb da bi radio, a moze da se startuje i na
4Mb. Samo, na 4Mb je rad moguc samo teoretski. Isto vazi i za BC++ 4.xx.
Medjutim, tu je Microsoft bio malo posteniji - Borland tvrdi da je za BC++
4.xx potrebno 4Mb.
pascal.520postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Tue, 20 Jun 1995 09:15:37 GMT
Miljan Mitrovic je napisao:
>> ::::: Eto skolskog primera greske u objektnom dizajnu. Uobicajeno je da se
>> E, stvarno. Ja u klin ti u plocu.
>> Nisam trazio alternativne metode, niti da mi neko objasni OO
>> arhitekturu. Jednostavno sam trazio Da/Ne odgovor na pitanje da
>> li C++ moze da izvede cross-construction onako kako sam trazio ili
>> ne moze? Moze li neko da mi da TAKAV odgovor?
Stvarno mi nije bila namera da budem zadrti opozicionar, ali eto tako
ispade. OK, cross construction u C++u nije moguc, jer bi to nacisto
obesmislilo pojam konstruktora. Ajde da ga malo razjasnim, bar onako kako
sam ga je shvatio:
Glavna uloga konstruktora je da obezbedi konzistentnost stanja objekta
po kreiranju. To znaci: ne sme da se desi da se objekat posle konstrukcije
zatekne u nedefinisanom stanju. Konstruktori za to sluze. Ako je potrebno
da se objektu doturi neka informacija posle konstrukcije, to vec nije posao
konstruktora. Na primer, u Object Windows biblioteci svi objekti izvedeni iz
TWindowsObject imaju pored konstruktora i funkciju SetupWindow, koja sluzi
da se neposredno pre samog prikazivanja prozora na ekranu podese neki
parametri koje nije bilo moguce podesiti u samom trenutku kreiranja objekta,
jer tada jos nisu sve potrebne informacije bile na raspolaganju.
>> Sto se tice pravila i ostalih dogmi, ako primetim da ce moj kod imati
>> samo jednu liniju vise zbog drzanja za dogme, ima da ih nema. Pravila su
>> tu zbog lakseg programiranja, ne kao svrha samoj sebi. Ako ce cross
>> construction izveden krsenjem normi da me postedi nasledivanja, pravljenja
>> raznih dispecera i ostalih kerefeka, onda je to TO, i jedino resenje koje
>> cu koristiti.
Ja ne govorim o dogmama. Govorim o pravilima koja su se pokazala (bar u
mojoj dosadasnjoj praksi) kao neverovatno korisna ako se pise program iole
komplikovaniji od Hello world. Bez odredjene samodiscipline vrlo je tesko
napraviti smislen source duzi od 50-ak kilobajta, a vrlo je lako napraviti
nestabilnu amorfnu masu bez unutrasnje strukture koja ce se raspasti po svim
savovima pri prvom pokusaju modifikacije. Moje iskustvo pokazuje da je
ponekad neverovatno korisno da program u startu ima koju liniju vise, jer se
visestruko isplati pri kasnijoj modifikaciji programa
>> Ako mislis da se sam Borland pridrzava tih pravila, upucujem te na
>> TLabel objekat, koji mora da se veze za peer-view, kako bi znao koji
>> objekat da aktivira. Ovakvih primera ima jos, npr. TScrollBar u
>> nekim okolnostima, ima ih jos ali ne znam napamet.
Ne secam se kako ide konstrukcija TLabel-a u Pascal-u, ali se secam kako
ide u C++ verziji Turbovizije: u konstruktoru Dialog box-a prvo se kreira
objekat za koji treba da se veze TLabel (na primer, TInputLine), pa se onda
pri konstrukciji TLabel-u doturi pointer na vec konstruisani objekat.
Odlozeni konstruktor nije potreban, jer je odnos TLabel-a prema view-u koga
treba da aktivira cist client-server odnos: TLabel od pridruzenog mu TView-a
zahteva da primi fokus, a pridruzeni view nema sta da zahteva od TLabel-a.
Jeste da Turbovizija ima svojih (crnih) bisera, slazem se. Uz
biblioteku TVTOOL17 (moze se naci po BBS-ovima) ide i fajl TVBUGS.DOC u kome
je nabrojana gomila bagova Turbo vizije iz BC++3.1, a i sam dizajn se ne bi
mogao smatrati uzornim OO dizajnom. Borland-ovi programeri su, medjutim, u
medjuvremenu ponesto i naucili, pa je OWL2.x vec nesto sasvim drugo.
--
Allways look on the bright side of death
pascal.521jasicp,
> Moze i 7.0. TP, naravno. Za BP je potrebno imati 286.
Ne isplati se raditi sa 7.0 jer za sve sto ima novo u odnosu na 6.0, a
da to novo vredi, treba mnogo memorije. 6.0 ima sve sto treba,ne
racunajuci neke objekte i nove naredbe, ali tesko je sa tim raditi na XT-u.
pascal.522jasicp,
> Glavna uloga konstruktora je da obezbedi konzistentnost stanja objekta
> po kreiranju. To znaci: ne sme da se desi da se objekat posle konstrukcije
Dobro, ali kakva je razlika u slucaju da se objekat definise kao:
var Objekt : TObjekt
pa onda radi kao Objekt.Init; ili kao
var PObjekt : ^Objekt
Objekt : PObjekt;
pa onda radi kao PObjekt := New(PObjekt,Init);
Sta se dobija i gubi u oba slucaja ?
pascal.523dejanr,
>> > Steta sto ne napravih knjigu od toga (kad je bilo vreme), sigurno bi se
>> > dosta dugo prodavala.
>>
>> A zar je to nemoguce sada uraditi ? Ili se nema vremena ? :)
Put u središte ROM-a je bila serija teksta previše okrenuta osmobitnim
računarima, koji su davno zaboravljeni, dosta bi trebalo posla da se to
prilagodi ovom "vizuelnom" vremenu...
pascal.524postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: SCROOL
Date: Wed, 21 Jun 1995 17:02:48
Hi ovdje sam novi i htio bi da saznam neke stvari o paskalu.
Moze li bilo ko da mi da primjer skrulovanja teksta (veceg od 25 linija)
pomocu kursora.(npr. imate listu clanova i kursorima idete od jednog do
drugog (pozadina bijela, imena crna)).
Nesto sam mozg'o i nisam uspio da ga rijesim tj. radi dobro na prvom SCR
ali kod prelaska na drugi izbacuje gluposti.Kako da to sredim?
Onda me zanima nesto u vezi TSR programa. U TP6.0 im rutina KEEP i veoma
dobro radi ali, meni nikako ne uspijeva da ispitujem koji je taster prit
isnut (npr. SHIFT-F1) i da pokrenem svoju proceduru(SaveScreen). Do sada
sam probavao ali uvijek zastopa ili tako nesto.
I kako bi moga da citam SHIFT, CTRL, ALT tastere?
imate mahanje
ASKO
... Toliko je vezan za porodicu da ga ponekad skinu s lanca.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.525postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: asembler
Date: Wed, 21 Jun 1995 17:02:50
ZDRAVO !
Imam neki programcic napisan u ASM (preuzet i BP 7.0 dir = C:\BP\TASM) i
glasi ovako
.MODEL small
.STACK 100h
.DATA
HelloMessage DB 'Hello, world',13,10,'$'
.CODE
mov ax,@data
mov ds,ax
mov ah,9
mov dx,OFFSET HelloMessage
int 21h
mov ah,4ch
int21h
END
zatim slijedece zasto sluzi MOV, INT, JMP, WORD, XOR, OFFSET itd. itd.
Ako neko ima bilo kakvu TXT dat. o ASM da mi kaze gdje da je nabavim.
imate mahanje
ASKO
... SPERMAMINT is the best for your fresh.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.526postmast,
From: Kliment.Andreev@f132.n108.z38.setnet.setnet.co.yu (Kliment Andreev)
Subject: pascal
Date: Tue, 20 Jun 1995 16:20:33
"J::::(Da li si skinuo PCGPE (pc game programmmers enciclopedia), tu imas
"J::::objasnjeno dosta toga u vezi kretanja objekata i sl. poslao sam to
"J::::u pc.prog (valjda)!
Zanima me kolika je arhiva, dali su to tekstovi ili
sorsovi za animaciju i u kom su jeziku napisani.
10x
Chombe KAN
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.527dejanr,
>> Koja je najnovija verzija TP koja može da radi na XT-u?
TP 5.5 pouzdano radi, a verujem i 6.0.
Ja bih uzeo TP 5.5, pošto uglavnom radi sve iz memorije, dakle dosta je
brz. A uz XT verovatno ide relativno spor i mali disk.
pascal.528dejanr,
>> Da li Delphi dolazi na jednom CD-u ili na vise komada
Verzija koju sam ja dobio od CET-a stigla je na jednom CD-u.
>> i da li postoji i disketna verzija ?
Mora biti da postoji, mada je nisam video.
>> I moze li se sa CD-a kompletan instalirati na HD ?
Da, ceo se instalira na disk, a što se mesta tiče, zavisi od toga da
li instaliraš sve komponente ili samo neke. Meni trenutno zauzima oko
41-42 megabajta.
pascal.529mmitrovic,
::::: i GetMem( pNodeRecord, SizeOf( tNodeRecord ) );
::::: FreeMem( pNodeRecord, SizeOf( tNodeRecord ) );
Ovo što si ti napisao je u stvari New i Dispose. Ceo princip rada
New i Dispose se zasniva na tome što kompajler u trenutku prevođenja
zna veličinu svih struktura, pa zna koliko da alocira. Ako si kod
pisao ovako, onda ne sme biti problema. Za dalju pomoć ćeš ipak morati
da budeš koncizniji i da priložiš parče sorsa (ako nije secret).
::::: pade mi na pamet da vezem objekte u listu. Kako bi onda reagovala
::::: naredba GetMem( pNode_Ptr, SizeOf( tNode_Obj )); ?? Nisam to jos radio.
Ako je pNode_Ptr = ^tNode_Obj onda nema problema.
pascal.530mmitrovic,
::::: Glavna uloga konstruktora je da obezbedi konzistentnost stanja objekta
::::: po kreiranju. To znaci: ne sme da se desi da se objekat posle
::::: konstrukcije zatekne u nedefinisanom stanju. Konstruktori za to sluze.
Delimično, ali mi u ovom slučaju ne računamo na objekat već na njegovu
poziciju. Uslov je bio, sećaš se, da jedan konstruktor ne poziva metode
drugog unutar konstruktora. Konstruktor ne menja poziciju objekta u
memoriji, samim tim cross-construction je sasvim praktična i upotrebljiva
metoda. Nije NEOPHODNA, ali je korisna. ;)
Konstruktor, ima jednu i samo jednu ulogu, da inicijalizuje VMT polje
i time izvrši late-binding kako bi se mogle koristiti virtuelne metode.
Sve ostalo je filozofija. Samo telo konstruktora ti stoji na raspolaganju
da inicijalizuješ promenljive i time dovezeš objekat u vozno stanje.
Nizašta drugo.
::::: Ako je potrebno da se objektu doturi neka informacija posle
::::: konstrukcije, to vec nije posao konstruktora. Na primer, u Object
::::: Windows biblioteci svi objekti izvedeni iz TWindowsObject imaju pored
::::: konstruktora i funkciju SetupWindow, koja sluzi da se neposredno pre
::::: samog prikazivanja prozora na ekranu podese neki parametri koje nije
::::: bilo moguce podesiti u samom trenutku kreiranja objekta, jer tada jos
::::: nisu sve potrebne informacije bile na raspolaganju.
Ne vidim kakve to veze ima sa našim problemom. Mi ništa ne doturamo
alociranom nekonstruisanom objektu, niti je to moguće izvesti pošto VMT
polje još nije inicijalizovano. Mi samo računamo na njegov položaj u
memoriji.
::::: savovima pri prvom pokusaju modifikacije. Moje iskustvo pokazuje da je
::::: ponekad neverovatno korisno da program u startu ima koju liniju vise,
::::: jer se visestruko isplati pri kasnijoj modifikaciji programa
Stvar ukusa i stila, ja lično nemam takvih problema. Svoje sorsove
iscrpno komentarišem i kad ih kasnije pogledam mogu odmah iz komentara
da prokljuvim šta sam uradio i šta mogu i treba da menjam. Taj sistem +
modularnost je uvek bila moja deviza. A i kraći je prevedeni kod. ;)
::::: Odlozeni konstruktor nije potreban, jer je odnos TLabel-a prema view-u
::::: koga treba da aktivira cist client-server odnos: TLabel od pridruzenog
::::: mu TView-a zahteva da primi fokus, a pridruzeni view nema sta da zahteva
::::: od TLabel-a.
Nisam ni pominjao TLabel u pogledu odloženog konstruisanja već po
pitanju pravila. Dalje, TLabel i asocirani mu TView derivat nisu u
Client-server već u peer2peer vezi. Oba objekta su na istom nivou,
tj. klijenti nekog TGroup derivata (npr). TLabel ne može da primi fokus
(preko TAB tastera) ali može biti izabran u slučaju izbora mišem ili
preko ShortCut-a. Tada TLabel direktno saopštava TViewu da je izabran,
izbegavajući servera. Pravilan Client-server postupak bi bio da se
server obavesti da je taj i taj label izabran i da on prepušta komandu
tom i tom objektu. Dizajneri TVa su se opredelili za prvi sistem zato
što je brži, kraći a jednako efikasan. Nema tu nikakvog bag-a.
pascal.531djelovic,
> samim tim cross-construction je sasvim praktična i upotrebljiva
> metoda. Nije NEOPHODNA, ali je korisna. ;)
Fakat.
Pri pravljenju OWL-a 2.0 ljudi u Borlandu su morali da prave mali trik kako
bi simulirali cross-construction i svaki put kada držim neki seminar dobro se
oznojim dok objasnim svima zašto je to tako :).
Ipak, između forsiranja poziva konstruktoru pri kreaciji objekta i
mogućnosti unakrsnog kreiranja objekta uvek ću izabrati ono prvo. Da ne
spominjem da je u C++-u moguće napraviti klasu TXConstructor čiji će svi
naslednici imati isto tako jednostavan X-construction kao što je to slučaj u
Pascalu :).
--
Ssve je to teoretisanje. Forsiranje poziva konstruktoru je ništa drugo do
zgodna stvar - čak i da neko u Paskalu zaboravi da pozove konstruktor dobiće
veoma lako uhvatljivu run-time grešku. Ono što je prava pomoć u programiranju
to je automatski poziv destruktoru koji C++ nudi, te su curenja memorije,
neotključane datoteke i sl. mnogo manji problem u C++-u nego u drugim jezicima.
pascal.532jankor,
>> Moze li se nekako upisati neki znak u donji desni ugao
>> ekrana a da isti ne 'odskroluje' za jedan red?
Mozda sam malo zakasnio al rekoh da posaljem
Moze da posluzi i sledeci program...Radi (garant) na svemu i svacemu
i ne pise direktno po memoriji...
uses crt;
begin
clrscr;
writeln(' Prva Linija');
gotoxy(78,25);
write('══');
window(80,24,80,25);
gotoxy(1,1);
write('╝');
gotoxy(1,1);
insline; { ovoga se niste sjetili? }
write('║');
window(1,1,80,25);
end.
>>> Cist racun , duga pik skocko herc <<<
pascal.533postmast,
From: veselin@galeb.etf.bg.ac.yu (Veselin Obradovic)
Subject: Re: TSR
Date: Fri, 23 Jun 1995 16:41:21 GMT
Molba, sve one koji su voljni da mi posalju ikakvo objasnjenje, source isl.
vezane za TSR-ove, trikove i druge cake, neka to ucine na mail:
veselin@urcpg.urc.cg.ac.yu
E, i unaprijed hvala.. (naravno na TP-u) :)))
pascal.534postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: asembler
Date: Thu, 22 Jun 1995 10:56:35
AB> zatim slijedece zasto sluzi MOV, INT, JMP, WORD, XOR, OFFSET itd.
Tebi bas treba neka literatura za assembler.
AB> Ako neko ima bilo kakvu TXT dat. o ASM da mi kaze gdje da je nabavim.
Mislim da bi mogao da se nadje ASM Norton Guide. Ja imam na BBS-u (Oreska)
neki ASM TUTOR, nije nesto bog zna, ali je zgodno za nekog ko tek pocinje.
... BR> Do not worry. This is just a TWILIGHT ZONE...
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.535postmast,
From: Vasil.Bacovski@f108.n108.z38.setnet.setnet.co.yu (Vasil Bacovski)
Subject: printer
Date: Sat, 24 Jun 1995 01:16:06
Potrebna mi je rutina (TSR) koja moze da bilo kakav znak (ASCII) sto treba
da se pecati ispita, i potrebi da zameni da nekim drugim znakom.
Pr. na paralelan port (PRN) dolazi ASCII=65, i treba da propusti
na pr. ASCII 165.
Pozdrav, Vasil.
... Catch the Blue Wave!
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.536postmast,
From: alf@zmaj.etf.bg.ac.yu (Jakovljevic Dejan)
Subject: Delphi !!!
Date: Sat, 24 Jun 1995 02:54:09 GMT
'delfi' je stigao O:-))))
* Jakovljevic Dejan * ETF * Beograd * Srbija * alf@orao.etf.bg.ac.yu
____________________________________________________________________
... Press HangUp to ALT-H
pascal.537postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: asembler
Date: Sun, 25 Jun 1995 11:45:48
PS> Tebi bas treba neka literatura za assembler.
Ne zezas?
Do sada sam radio u paskalu, ali bi volio nauciti u ASM.
U ostalom hvala na odgovoru.
imas mahanje
ASKO
... Ne spustaj slusaŰÎ@""IT NO CARRIER
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.538postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: RESET()
Date: Sun, 25 Jun 1995 11:45:48
Zdravo!
Imam neki problem u programu i mislim da cu ga vremenom rijesiti, ali
da vidim kako bi drugi to rijesili.
Naime radi se o BP7.0 koji mi prijavljuje Run time error 104
(file no open for input) a struktura je slijedeca :
procedure Pretraga;
var TrBrClana : String;
begin
repeat
Assign(F,'CLANOVI.DAT');
Reset(F);
{ dodaje na uneseni broj (npr. 1) jos nula (000001) }
While Length(TrBrClana) < 6 do TrBrClana := '0' + TrBrClana;
--=====> While not EOF(F) do <=====--
begin
ReadLn(F, Pom);
If Copy(Pom, 1, 6) = TrBrClana then
begin
Close(F);
Write(TrBrClana);
Write(Copy(Pom, 6, 30));
Write(Copy(Pom, 39, 28));
Write(Copy(Pom, 70, 15));
Write(Copy(Pom, 85, 11));
Keyer := ReadKey;
end;
end;
until TrBrClana = '';
end;
Prvi put kad se izvrsava, procedura uradi svoj posao ali kad se po drugi
put izvrsi prijavi gresku RTE 104 na liniji gdje su strelice.
Zna li iko zbog cega?
imate mahanje
ASKO
... Ko pjeva zlo ne misli, a ko misli nije mu do pjevanja.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.539postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: TXT datoteke
Date: Sun, 25 Jun 1995 11:45:49
Zdravo!
Kako da u obicnim TXT dat. idem na odredjenu liniju tj. kako da procitam
(ima 100 linija) 50 podatak, onda 10, onda 23 itd. ..., i kako da promje
nim podatak u datoteci bez koristenja SWP datoteke (ucitam prvu dat. pod
atak koji trba promjeniti zamjenim za novi i upisem u drugu dat., onda d
rugu preimenujem u prvu).
imete mahanje
ASKO
... "Scotty, beam me up another Blue Wave message."
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.540trki,
Treba mi pomoc oko aktiviranja nekog uvecanog fonta na LASERJET-u.Znaci,neka
vrsta ESC-sekvence za promenu velicine fonta u LASERU , ko zna , molio bih ga
da mi pomogne ????
..
pascal.541dares,
U buri pitanja evo i mog:
Može li mi neko reći kako da natjeram rutine za misa da rade
i u grafickom modu na Hercules kartici? Pojavljuje mi se
sve samo ne mišiji pointer. Ako je o ovome već bilo reči
pomoglo bi i da me uputite na te poruke.
pascal.542dekik,
Imam jedan problem ine znam kako da ga resim pa bi molio u koliko neko zna da
mi napise mail.
Problem :
Imam Turbo Pascal 7.0 za win i ne znam kako da u svom programu
promenim boju teksta.Kako da je promenim?????
Pitanje :Da li sam ja glup ili Help????
DEJAN
pascal.544d.stamen,
> Treba mi pomoc oko aktiviranja nekog uvecanog fonta na
> LASERJET-u.Znaci,neka
Mislim da ovo trazis-
Esc sekvenca Dec Hex
Primary height (# points)
ESC(s#V 027 040 115 #...# 086 1b 28 73 #...# 56
Primary pitch (# character/inch)
ESC(s#H 027 040 115 #...# 072 1b 28 73 #...# 48
pascal.545nlazic,
*> Kako da u obicnim TXT dat. idem na odredjenu liniju tj. kako da
*> procitam (ima 100 linija) 50 podatak, onda 10, onda 23 itd. ..., i
O ovome je bilo reči u jednom od Računara. Pogledaj u RIND-u ili
S:\RSOFT.
Pozdrav !
pascal.546nlazic,
*> Prvi put kad se izvrsava, procedura uradi svoj posao ali kad se po
*> drugi put izvrsi prijavi gresku RTE 104 na liniji gdje su strelice.
Kada prvi put nadješ odgovarajući TrBrClana ti zatvoriš datoteku (ispod
poslednje begin-a). Onda EOF (F) (u sledećem prolazu) ne može da ti vrati
odgovarajući podatak jer je datoteka zatvorena, pa ti se javlja RTE.
Ispravno bi bilo da posle onog Keyer := ReadKey; izadješ iz WHILE
petlje. (EOF ti neće vratiti TRUE (niti FALSE) ako je datoteka zatvorena,
već dobijaš RTE 104)
Pozdrav!
:) Nebojša :)
pascal.547pedjak,
> Može li mi neko reći kako da natjeram rutine za misa da rade
> i u grafickom modu na Hercules kartici? Pojavljuje mi se
> sve samo ne mišiji pointer. Ako je o ovome već bilo reči
> pomoglo bi i da me uputite na te poruke.
Pogledaj po starijim PC.PROG:pascal temama, ostavio sam junit koji
radi i pod herkulesom (mouse.arj)
pascal.548vlador,
> --=====> While not EOF(F) do <=====--
...
> begin
> Close(F);
> ...
> end;
> end;
Obrati se sa pažnjom na kom mestu zatvaraš fajl. :)
pascal.549mmitrovic,
::::: Ssve je to teoretisanje.
Naravno. Cross-construction skoro nikad ne koristim, samim tim ni
odloženo konstruisanje. Hteo sam samo da vidim može li se to u C++.
pascal.550dares,
> Pogledaj po starijim PC.PROG:pascal temama, ostavio sam junit koji
> radi i pod herkulesom (mouse.arj)
Pogledao, skinuo, probao i radi super. Danke....
pascal.551mindza,
Hello,moze li neko da mi posalje neki primer i objasni
kako iz TP7.0 da promenim kodni raspored,tj. da umesto
bilo kog ASCII karaktera imam svoj znak.
Unapred hvala,
Mindza.
pascal.552mindza,
Hello,moze li neko da mi posalje neki primer i objasni
kako iz TP7.0 da promenim kodni raspored,tj. da umesto
bilo kog ASCII karaktera imam svoj znak.
Unapred hvala,
Mindza.
pascal.553nlazic,
*> Hello,moze li neko da mi posalje neki primer i objasni
*> kako iz TP7.0 da promenim kodni raspored,tj. da umesto
*> bilo kog ASCII karaktera imam svoj znak.
Probaj sa ovim primerom. Sa istim programom, uz minimalne izmene, možeš
ta promeniš ceo font, a ne samo jedan karakter.
---------------------------------------------------------------------------
Unit ChChar;
INTERFACE
Type
CharShape = Array[1..16] of Byte;
Const
CRLeft: CharShape=(0,31,48,99,198,140,140,140,140,140,140,198,99,48,
31,0); { Ovo je primer definicije novog znaka }
procedure ChangeChar(CharCode: Byte; var NewShape: CharShape);
IMPLEMENTATION
Uses Dos;
procedure ChangeChar(CharCode: Byte; var NewShape: CharShape);
var Regs:registers;
Begin
regs.ah:=$11;
regs.al:=0;
regs.bh:=16; { Broj bajtova po karakteru }
regs.bl:=0;
regs.cx:=1; { Ukupno karaktera u tabeli }
regs.dx:=CharCode; { Kod prvog karaktera }
regs.es:=seg(NewShape);
regs.bp:=ofs(NewShape);
intr ($10,regs);
End;
End.
------------------------------------------------------------------------
Pozdrav,
:) Nebojša :)
pascal.554jasicp,
Ima li neko ideju kako se u bafer objekta ClipBoard ili bilo kog drugug
TEdit objekta, ucitava deo textualnog fajla. Ne pomocu BlockRead nego
pomocu ReadLn. Linija po linija.
Ovu operaciju treba da ponavlja cesto, tako sto ce se buffer editora
pre svakog novog punjenja prazniti. Kako se prazni? Pomocu DoneBuffer ili
slicno. Napominjem da treba postaviti velicinu bafera pre punjenja TCNO na
unapred predvidjenu velicinu koja ce se i ucitati. Ni manje ni vise.
pascal.555postmast,
From: mtesa@ELF.bl.ac.yu
Subject: speakerTSR
Date: Tue, 27 Jun 1995 08:26:50 GMT
Da li neko zna nacin za preusmjeravanje svega sto ide speaker-u na paralelni
port ??
thanx
pascal.556postmast,
From: ivan.jocic@sirius.durlan.co.yu (Ivan Jocic)
Subject: Re: asembler
Date: Mon, 26 Jun 1995 08:53:00 CET
To: Asmir Badnjevic
PS> Tebi bas treba neka literatura za assembler.
AB> Ne zezas?
AB> Do sada sam radio u paskalu, ali bi volio nauciti u ASM.
AB> U ostalom hvala na odgovoru.
Pa rekoh ti imas na mom BBS-u mnogo sto se toga tice. Pozovi me:
Sirius BBS, 018/711-667, 23-08
Shadow
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Sirius BBS * +381 18 711667 * W.T: 23 - 08
(2:382/105.6) #! rnews 3911
pascal.557postmast,
From: veselin@galeb.etf.bg.ac.yu (Veselin Obradovic)
Subject: literatura za TPW
Date: Wed, 28 Jun 1995 06:46:13 GMT
Znate li gdje ima dobre literature za TPW?
pascal.558nlazic,
*> Ima li neko ideju kako se u bafer objekta ClipBoard ili bilo kog
*> drugug TEdit objekta, ucitava deo textualnog fajla. Ne pomocu
*> BlockRead nego pomocu ReadLn. Linija po linija.
Nezgodno je (ali ne i nemoguće) direktno brljati po baferu TEditora i
braće. Najzgodnije je da ceo posao prepustiš originalnim metodama ovog
objekta. Probaj sa metodom InsertText (ovo je njena deklaracija):
function InsertText (Text: Pointer; Length:Word; SelectText:Boolean):Boolean;
Text pokazuje na string koji ubacuješ u editor, a koji si prethodno
pročitao iz datoteke sa ReadLn; Length je njegova dužina; SelectText
govori da li da ubačeni tekst bude selektovan.
Sa ovim metodom možeš "iz cuga" da ubaciš u editor i tekst veći od 255
znakova - celu ili deo datoteke (manje od 64K, naravno).
*> Ovu operaciju treba da ponavlja cesto, tako sto ce se buffer
*> editora pre svakog novog punjenja prazniti. Kako se prazni? Pomocu
Prvo selektuješ ceo tekst, sa SetSelect, a onda ga obrišeš sa
DeleteSelect.
Pozdrav,
:) Nebojša :)
pascal.559smarkov,
> Da li neko zna nacin za preusmjeravanje svega sto ide speaker-u na
> paralelni port ??
Lemilica ?
pascal.560janko,
> Može li mi neko reći kako da natjeram rutine za misa da
> rade i u grafickom modu na Hercules kartici? Pojavljuje
> mi se sve samo ne mišiji pointer. Ako je o ovome već bilo
> reči pomoglo bi i da me uputite na te poruke.
Trik je u setovanju određeenog flega u memoriji koju održava BIOS, da
bi drajver za miša prepoznao da je reč o Herkulesu. Ako detektuješ
u programu herc karticu, treba da uradiš, pre inicijalizacije miša:
mem(. $40:$49 .):=6;
a ostalo je sve isto kao i za druge kartice.
Sa ovim trikom, juniti ti ne trebaju, a program ti ostaje kompatibilan i
sa drugim karticama... ako paziš :)
pascal.561jasicp,
> Prvo selektujes ceo tekst, sa SetSelect, a onda ga obrises sa
> DeleteSelect.
Da, radio sam otprilike tako. ALi, zasto PEditor^.DoneBuffer ne
likvidira bafer editora i njegov sadrzaj ? Sa InitBuffer sam mislio da ga
ponovo formiram, medjutim stari sadrzaj ostaje u njemu. SetBufSoze bi
trebalo da mu odredi fizicku velicinu u bajtovima (0-65536) ali da li to
stvarno i radi ? Ni u dokumentaciji ni u helpu nema mnogo o tome, a u
source-u sve izgleda OK.
pascal.562nlazic,
*> Da, radio sam otprilike tako. ALi, zasto PEditor^.DoneBuffer
*> ne likvidira bafer editora i njegov sadrzaj ? Sa InitBuffer sam
*> mislio da ga ponovo formiram, medjutim stari sadrzaj ostaje u
*> njemu.
Ne znam tačno zašto to ne radi. DoneBuffer bi trebalo da promenljivu
Buffer, koja inače pokazuje na dotični bafer u memoriji, postavi na nil,
ali kol'ko ja znam to baš neće svaki put. U ostalom Borland i preporučuje
da se ne brlja direktno po baferima editora. Pri tome je, izgleda, jedini
"oficijelni" način da obrišeš tekst iz editora (ne računajući ovo sa
SetSelect i DeleteSelect), da uništiš kompletan editor, a to, kao što i sam
znaš, nije uvek zgodno.
Javi ako otkriješ u čemu je fazon :)
*> SetBufSoze bi trebalo da mu odredi fizicku velicinu u bajtovima
*> (0-65536) ali da li to stvarno i radi ? Ni u dokumentaciji ni u
Ne radi. SetBufSize je Boolean f-ja koja vraća True ako je MOGUĆE
promeniti veličinu edit bafera na traženu vrednost (kao kad nekog pitaš
"Jel znate kol'ko je sati?", a on ti kaže "Znam." :) ). Stvarna promena
veličine bafera radi se sa SetBufferSize, koja je "samostalna" funkcija, a
ne metod u okviru editora.
Pozdrav,
:) Nebojša :)
pascal.563postmast,
From: Amir.Zolic@f115.n103.z38.setnet.setnet.co.yu (Amir Zolic)
Subject: pascal
Date: Fri, 30 Jun 1995 01:17:01
-=> Quoting "Dejan Krstic" to All <=-
"K> Imam jedan problem ine znam kako da ga resim pa bi molio u koliko neko
"K> zna da mi napise mail.
"K> Problem :
"K> Imam Turbo Pascal 7.0 za win i ne znam kako da u svom
"K> programu promenim boju teksta.Kako da je promenim?????
"K> Pitanje :Da li sam ja glup ili Help????
Ako programiras pod Windowsima, onda imas funkcije SetTextColor()
i SetBKColor().
Pozdrav
Amir
* Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.564postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Sun, 02 Jul 1995 01:19:00 CET
QWK To: Predrag Jasic
(Tekst poruke: Predrag Jasic, na temu PASCAL)
> Moze i 7.0. TP, naravno. Za BP je potrebno imati 286.
PJ> Ne isplati se raditi sa 7.0 jer za sve sto ima novo u odnosu na
PJ> 6.0 , a
PJ> da to novo vredi, treba mnogo memorije. 6.0 ima sve sto
PJ> treba ,ne
PJ> racunajuci neke objekte i nove naredbe, ali tesko je sa tim raditi na
PJ> XT -u.
Kad vec krenuste unazad... Za rad na XT-u, inace masini na kojoj kucam
ovaj tekst ;) :( , ako bas 'oces komfor IDE-a, uzmi TP 6.0 . Ako ti se ne
daje 400 kila memorije za sljastavo/bljestavo okruzenje, "pet i po" ti
radi isti posao. A ako si perfekcionista, uzmi TopSpeed r3.02 Paskal.
3OPAH
... └┼O┌┘─└┐E ┌┐A┌E 983 - H A J 3 A ┌┘─└┐ ┼┐ │/│ P │/│ /\ │/│ └┼ A !
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 1370
pascal.565postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Txt datoteke
Date: Mon, 03 Jul 1995 05:29:00 CET
QWK To: Asmir.badnjevic@f135.n135
(Tekst poruke: Asmir.BadnjevicAsmir.Badnjevic@f135.N135135.N135, na temu TXT
DATOTEKE)
As> Kako da u obicnim TXT dat. idem na odredjenu liniju tj. kako da
As> procit am
As> (ima 100 linija) 50 podatak, onda 10, onda 23 itd. ..., i kako da
As> prom je
As> nim podatak u datoteci bez koristenja SWP datoteke (ucitam prvu dat.
As> p od
As> atak koji trba promjeniti zamjenim za novi i upisem u drugu dat.,
As> onda d
As> rugu preimenujem u prvu).
Resenje 1)
U TP-u postoji procedura SEEK kojom mozes da skocis na koje god hoces mesto
u datoteci. Potrazi u on-line help-u malo detaljnije o tome, sigurno ces
naci, ja sam zaboravio (davno bese... ;) )
Resenje 2)
Opet jednostavno. Ako ti je poznata pozicija zapisa koji menjas,
pozicioniras se na njega i Writnes novu vrednost. Nista lakse!
3OPAH
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5) #! rnews 1636
pascal.566paki,
Koliko vidim, u Delfima se sav rad s bazama podataka obavlja
preko DataSource i data-aware kontrola. To mi zadaje probleme:
Ne želim da u DBGridu prikažem polje s grafikom (tamo bi se ono
prikazalo u obliku <BLOB Graphic>), pa ga u tu svrhu isključim iz
tabele pomoću Fields Editora (dvoklik na Table). Tu grafiku bih
želeo da prikažem u posebnoj kontroli, npr. DBImage. Međutim,
DBImage mi onda u polju DataField ne da pristup polju s grafikom.
Da li postoji alternativni način da pristupim tom polju? Mislio
sam da napišem svoju kontrolu, ali kako je onda povezati sa
DataSourceom (da bih mogao da prikazujem odgovarajuću sliku, u
zavisnosti od korisnikovog položaja u tabeli)?
Odgovaralo bi mi i da grafiku ne isključujem pomoću Fields
Editora (pošto, koliko vidim, to onda znači da joj pristup uopšte
nije moguć - ili bar ne na lak način), već da je isključim tek u
Gridu. Može li to?
pascal.567vgenije,
HI
Mucim muku sa turbovizijom odnosno dijalozima.
Elem,imam pitalicu sa 6 ponudenih resenja koja su postavljena u
kvadratice.Izbor moze da bude samo jedan.Kada odaberem jedno resenje on
ga odmah prosledi u proceduru koja konstatuje itd..
(npr if (u kvadratu odabiram Kupi) then c:=5) Mislim izgleda kretenski
ali bolje da ga slikovito objasnimnego da pisem 5 puta..
Fala unapred.Jos ako neko ima neko slicno programce neka ga baci na Brzi
Sezam ako je ovde malo vremena-dugacak prenos
pascal.568supers,
>>>> Koja je najnovija verzija TP koja može da radi na XT-u?
>>
>> TP 5.5 pouzdano radi, a verujem i 6.0.
Koliko je razlika između šestice i 5.5, šta sve ovaj drugi ne može?
Da znam da li da se vraćam na 5.5 radi iskorišćenja jednog XT-a.
pascal.569postmast,
From: Prodanovic.Sladjan@f119.n111.z38.setnet.setnet.co.yu (Prodanovic Sladjan)
Subject: Re: pascal
Date: Tue, 04 Jul 1995 02:23:00
>> Da li neko zna nacin za preusmjeravanje svega sto ide speaker-u na
>> paralelni port ??
"M> Lemilica ?
Ne no saobracajac.
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.570postmast,
From: Sebastian.Adanko@f107.n111.z38.setnet.setnet.co.yu (Sebastian Adanko)
Subject: pascal
Date: Mon, 26 Jun 1995 22:53:31
Quoting Adela to Sebs. 90% verovatnoce da sam pogodio.
>> Koja je najnovija verzija TP koja moze da radi na XT-u?
"R>
"R> TP 5.5 pouzdano radi, a verujem i 6.0.
6 radi definitivno, posto to koristimo u skoli. A, mozda radi i 7,
ali za to bi trebalo da sacekate tri meseca da probam. :)
//PhuZZy LoGiK//V.B.C.//
... RAAAAASSPUUUUUUUUUUUUUSSSSSSSSSSTTTTTTTTTTTTTTT!!!!!!!!!!!!!!!!!!!!!!!
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.571nlazic,
*> Koliko je razlika između šestice i 5.5, šta sve ovaj drugi ne može?
Najbitnija razlika je u tome što se uz 5.5 ne isporučuje Turbo Vision.
Mislim da je zbog toga ova cifra "polovična" i pored toga što 5.5 unosi u
paskal objekte, što je itekako veliki korak napred, ali bez neke biblioteke
klasa ne može se ozbiljnije govoriti o objektnom programiranju. Ima još
nekih razlika (IDE i sl.), ali ako ne nameravaš da koristiš TVision, 5.5 će
ti završiti posao. Inače, na XT-u će raditi i TP 7.0.
Pozdrav,
:) Nebojša :)
pascal.572nlazic,
*> Elem,imam pitalicu sa 6 ponudenih resenja koja su postavljena u
*> kvadratice.Izbor moze da bude samo jedan.Kada odaberem jedno resenje
*> on ga odmah prosledi u proceduru koja konstatuje itd..
*> (npr if (u kvadratu odabiram Kupi) then c:=5) Mislim izgleda
Najlakše je da to uradiš pomoću RadioButtons-a, onda ne treba da se
zesaš ni sa kakvim procedurama koje konstatuju odgovor. Ako i dalje nije
jasno, šaljem ti primer upotrebe RadioButtons-a. :)
Pozdrav,
:) Nebojša :)
radios.zippascal.573supers,
>> nekih razlika (IDE i sl.), ali ako ne nameravaš da koristiš
>> TVision, 5.5 će ti završiti posao. Inače, na XT-u će raditi i TP
>> 7.0.
Hvala svima na savetima.
pascal.574vgenije,
HI
Kako da nadem n-ti koren nekog broja x?
i jos jedan problemcic imam malko tezi
elem,hocu da napravim rezidentni program koji na pritisak ctrl-c(ili
neka druga kombinacija) odradi odredeni deo prorama tipa
if ctrl-x aktivno then begin
end;
pozdrav
pascal.575paki,
> Odgovaralo bi mi i da grafiku ne isključujem pomoću Fields
> Editora (pošto, koliko vidim, to onda znači da joj pristup uopšte
> nije moguć - ili bar ne na lak način), već da je isključim tek u
> Gridu. Može li to?
Večeras sam otkrio da može, i to pomoću Fields[].Visible.
BTW, ima li ovde (ili u temi windows, u koju sam najverovatnije
trebao da okačim prvobitnu poruku) još neko ko radi s Delfima?
pascal.576nlazic,
*> Kako da nadem n-ti koren nekog broja x?
Mislim da je najjednostavnije ovako:
Exp(ln(x)/n)
*> elem,hocu da napravim rezidentni program koji na pritisak ctrl-c(ili
*> neka druga kombinacija) odradi odredeni deo prorama tipa
Za ovo će ti trebati tabela scan kodova raznih tastera. Naime, kada se
neki taster pritisne njegov scan kod se može pročitati sa porta $60, a
stanje Ctrl-a, Alt-a i ostalih, se čita sa adrese $40:$17. Šaljem ti
programče koje reaguje na Ctrl+C, a ti javi jel' to ono što ti je trebalo.
Pozdrav,
:) Nebojša :)
demotsr.zippascal.577nlazic,
*> BTW, ima li ovde (ili u temi windows, u koju sam najverovatnije
*> trebao da okačim prvobitnu poruku) još neko ko radi s Delfima?
Ja sam probao Delphi i odušljevljen sam :) Nažalost još uvek nemam
mašinu na kojoj se može udobno raditi pod Delphi-em, ali nadam se da ću se
uskoro proširiti, pa se onda uključujem u raspravu :)
Pozdrav,
:) Nebojša :)
pascal.578saricl,
Mož li neko da mi objasni razliku između
TSR programa, DEVICE drivera, i INTERRUPT rutine.
Zanima me kad se čemu obraća sistem i u čemu je razlika.
Naime preko čega ide komunikacija kad se upisuje bajt
na neki uređaj, kad se ččita bajt i posebno šta se
desi kad uređaj zatraži interrupt.
pascal.579evlad,
<> Zanima me kad se čemu obraća sistem i u čemu je razlika.
Sve u compu radi na interrupt (tačka)
postoje hardverski i softverski.
Prioritet interapta se određuje pomoću _kontrolnih reči_ koje se upisuju
u interapt kontroler 8259 ... U pc-ju imaš dva master i slave ...
<> Naime preko čega ide komunikacija kad se upisuje bajt
<> na neki uređaj, kad se ččita bajt i posebno šta se
Zavisi koji uređaj i kako se upisuje / čita
<> desi kad uređaj zatraži interrupt.
To obrađuje interapt kontroler i sve zavisi u kom modu rada je ...
U intel-ovom katalogu je to opisano na preko 20 stranica što je ipak
mnogo da ovde tupim ...
pascal.580saricl,
Program PrekidProba;
Uses DOS,CRT;
Var Skok:Procedure;
Procedure Prekid; Interrupt;
Begin
InLine($9C);
Writeln('Zahtev za prekid');
Delay(3000);
Skok;
End;
Begin
ClrScr;
GetIntVec($09,@Skok);
SetIntVec($09,@Prekid);
Delay(3000);
End.
Dali mi neko može objasniti kako tačno radi ovaj program?
Zanima me šta je ono Inline(ć9C), i zašto mi se kada ga starujem
na ekranu dva puta ispiše "Zahtev za prekid"?
Takođe me zanima kako to da i nakon povratka sve funkcioniše kad
nigde nije vraćena adresa originalne rutine za opsluživanje prekida.
pascal.581zeljkoj,
> 6 radi definitivno, posto to koristimo u skoli. A, mozda radi i
> 7, ali za to bi trebalo da sacekate tri meseca da probam. :)
TP 7 radi sigurno, a BP 7 zahteva 286.
pascal.582evlad,
<> Dali mi neko može objasniti kako tačno radi ovaj program?
Da :)
<> Zanima me šta je ono Inline($9C), i zašto mi se kada ga starujem
<> na ekranu dva puta ispiše "Zahtev za prekid"?
$9c == pushf (flag registar snimi na stack)
(skini sa sezam dir-a techelp i helppc pa će ti biti jasnije ...)
<> Takođe me zanima kako to da i nakon povratka sve funkcioniše kad
<> nigde nije vraćena adresa originalne rutine za opsluživanje prekida.
Well ovako nekako ...
<> Var Skok:Procedure; <---- ovde ti je sačuvana originalna adresa
interrupta 9
<> Procedure Prekid; Interrupt; <---- deklaracija interrupt procedure
<> Begin
<> InLine($9C); <---- flag registar baca na stack
zbog turbo paskal mehanizma :(
<> Writeln('Zahtev za prekid');
<> Delay(3000);
<> Skok; <----- izvrši originalni interrupt
tako da ti i dalje sve normalno radi ...
<> End;
ovim delom si samo izvršio _hook_ na interrupt 9
<> ClrScr;
<> GetIntVec($09,@Skok);
<> SetIntVec($09,@Prekid);
<> Delay(3000);
što znači da će ubuduće sistem pozivati _tvoj_ interrupt, a u njemu
ti ispišeš tekst i odradiš originalni interrupt ...
Thats all.
pascal.583opsudkg,
>> Ja sam probao Delphi i odušljevljen sam
Me too, prvi utisci su više nego povoljni. But...
Imam 'malih' problema sa uvozom par FoxPro tabela preko
ODBC - a.
Kreirao sam FoxPro ODBC driver iz BDE config utilitya a
zatim i odgovarajući alias sa pathom postavljenim na dir sa Fox
tabelama. Međutim, pri otvaranju baze bilo iz Database desktopa
bilo iz samog Delphija ( TTable.DatabaseName = FoxPro_Alias ) uporno
izbacuje spisak tabela iz nekog sasvim desetog dira (
delphiĐrptsmithĐvideo ?!? koji se baš nigde ne pominje u
mnogobrojnim setovanjima ) i fox tabele se vide tek ako ih prebacim
tamo. Any hints ?
Takođe mi se nije dopalo što iz Database desktopa nije moguće
editovati Paradox Graphic polja nego te 'dobronamerno' posavetuju da
kupiš Paradox for Win :(.
>> nemam mašinu na kojoj se može udobno raditi pod Delphi-em, ali
>> nadam se da ću se uskoro proširiti, pa se onda uključujem u
>> raspravu :)
Na mojoj mašini ( DX2/66/8 - za današnje vreme ispod proseka )
Delphi se startuje za 11 sekundi ( ne znam otkud DejanR - u ono
"između pola minuta i minut", ne verujem ga je probao na slabijoj
konfiguraciji od moje ) i radi sasvim pristojno, osetno brže nego,
recimo, VB4.
pascal.584nlazic,
*> Dali mi neko može objasniti kako tačno radi ovaj program?
*>
*> Zanima me šta je ono Inline(ć9C), i zašto mi se kada ga starujem
*> na ekranu dva puta ispiše "Zahtev za prekid"?
*> Takođe me zanima kako to da i nakon povratka sve funkcioniše kad
*> nigde nije vraćena adresa originalne rutine za opsluživanje prekida.
Inline ($9C) je isto kao da si napisao ASM PUSHF END; dakle gura
flegove na stek. Ovo je obavezno da se uradi pre nego što se pozove
originalna procedura za obradu prekida. Ta se procedura, međutim, nigde u
tvom programu ne poziva, pa je i InLine nepotreban.
Originalna adresa za opsluživanje prekida, kao što kažeš, nigde nije
vraćena, i to je razlog zašto program NE radi - probaj da ga startuješ iz
DOS-a, a ne u okviru IDE-a koji ne dozvoljava da program tako lako sruši
sistem. Trebalo bi da posle završetka rada programa tastatura ostane skroz
zablokirana, a verovatna je i neka RTE, ako ne i nešto gore.
Pozdrav,
:) Nebojša :)
P.S. Nemoj eksplicitno da pozivaš interapt proceduru. Ona se startuje sama
(tj. startuje je OS) kada se desi prekid za koji je zakačena.
P.P.S. U poruci 7.576 sam ostavio rezidentno programče koje reaguje na
Ctrl+C, pa pogledaj ako te zanima. :)
pascal.585nlazic,
*> što znači da će ubuduće sistem pozivati _tvoj_ interrupt, a u njemu
*> ti ispišeš tekst i odradiš originalni interrupt ...
Ovo će raditi samo u buduće 3 sekunde, dok se program ne izbriše iz
memorije. Posle toga se gubi trag njegovoj proceduri za obradu prekida
koja, između ostalog, poziva i onu originalnu, pa tastatura ostaje
blokirana. Ako bi on ostao rezidentan, onda je već druga priča. :)
Pozdrav,
:) Nebojša :)
pascal.586nlazic,
*> originalna procedura za obradu prekida. Ta se procedura, međutim,
*> nigde u tvom programu ne poziva, pa je i InLine nepotreban.
*> P.S. Nemoj eksplicitno da pozivaš interapt proceduru. Ona se startuje
*> sama (tj. startuje je OS) kada se desi prekid za koji je zakačena.
Ooops. Lupih, pa ostadoh živ :). Brža mi ruka (tastatura) od mozga.
Nisam obratio pažnju na red GetIntVec ($09,@Skok). Ovim vezuješ staru
rutinu za obradu prekida za promenljivu Skok, kojom je kasnije, iz svoje
procedure, pozivaš. Zbog ovoga se moraju flegovi gurnuti na stek, pomoću
InLine. Veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeliko izvinjenje. :)))))
Osim ovoga, sve ostalo što sam rekao stoji. Po završetku programa,
tastatura će ipak ostati zablokirata jer nije vraćena originalna interapt
rutina, a tvoja je "zaboravljena" jer je program završio sa radom. Da je
ostao rezidentan (pomoću Keep(0) na kraju) sve bi bilo ok.
Pozdrav,
:)Nebojša :)
pascal.587nlazic,
*> Na mojoj mašini ( DX2/66/8 - za današnje vreme ispod proseka )
*> Delphi se startuje za 11 sekundi ( ne znam otkud DejanR - u ono
*> "između pola minuta i minut", ne verujem ga je probao na slabijoj
*> konfiguraciji od moje ) i radi sasvim pristojno, osetno brže nego,
*> recimo, VB4.
Ja imam 386/20/4 i dizanje Delphi-a traje minut i petnaest sekundi.
Teško da je podnošljivo :)
Pozdrav,
:) Nebojša :)
pascal.588vitez.koja,
#=> Dali mi neko može objasniti kako tačno radi ovaj
#=> program?
Verujem da ne radi nikako. Prvo, ne valja u interapt procedurama
ostajati mnogo vremena, a 3 sekunde je MNOGO. Drugo, ne smeš da
koristiš writeln i slične funkcije. Treće, $9C je kod mašinske
instrukcije PUSHF, koja se stavlja _tačno ispred_ poziva
originalnom interapt hendleru, a nikako ispred nekih drugih
naredbi.
Pregledaj PC.PROG konferencije (probaj sa find: inter), sve je do
detalja objašnjeno već mnogo puta.
pascal.589dejanr,
>> Na mojoj mašini ( DX2/66/8 - za današnje vreme ispod proseka )
>> Delphi se startuje za 11 sekundi ( ne znam otkud DejanR - u ono
>> "između pola minuta i minut"
Stvarno čudno, evo na 90 MHz Pentiumu sa 16 M memorije se podigne
za 33 sekunda. Koliko ti je stavljeno da Windows koristi keša?
pascal.590saricl,
!!! koja, između ostalog, poziva i onu originalnu, pa tastatura ostaje
!!! blokirana. Ako bi on ostao rezidentan, onda je već druga priča. :)
Pa ne ostaje blokirana, ali je problem u tome što se na ekranu
ispiše dva puta "Zahtev za prekid" kao da se cela stvar izvršava
dva puta. Kako ovo da izbegnem. (bez pozivanja originalne
procedure, samo ispis i povratak na originalnu proceduru bez
izvršavanja.
pascal.591saricl,
!!! Originalna adresa za opsluživanje prekida, kao što kažeš, nigde nije
!!! vraćena, i to je razlog zašto program NE radi - probaj da ga startuješ iz
Pa stvar je u tome da sve ovo radi i to me baš i zbunjuje,
ništa se ne blokira, a bez InLine 9C neće da radi (zablokira se)
Ovo je inače delić programa koji je ojavio Vitez.koja u bajtovi
lične prirode, ali je malo promenjen.!!! P.S. Nemoj eksplicitno da pozivaš
interapt proceduru. Ona se startuje
!!! sama (tj. startuje je OS) kada se desi prekid za koji je zakačena.
P.S. Kako to misliš explicitno je pozivam, zar postoji i neki drugi način??
pascal.592saricl,
!!! Verujem da ne radi nikako. Prvo, ne valja u interapt procedurama
!!! Pregledaj PC.PROG konferencije (probaj sa find: inter), sve je do
Radi! Inače je izmenjena procedura koju si ti poslao pre izvesnog
vremena u Bajtove lične prirode. Inače od literature imam TP6.0
Od Stephena O'Briena i nije mi baš najjasniji ovaj sistem interapta.
Može li malo određeniji pointer na conf kad se raspravljalo o int.
(vremenski).
Kako drugačije da zamenim originalnu proceduru a da se posle vratim
na nju ako to ne definišem vremenski, i zašto nesmem koristiti
Writeln funkciju?
Ono što meni treba je da nakon poziva interrupta 5 (IRQ5) procedura
pročita reč podatka (16Bita) sa adrese 278h i da to što je pročitala
upiše na disk u neku datoteku. Patim se već dve nedeljei nisam mrdnuo
dalje od početka.
pascal.593saricl,
Postoji li mogućnost da se napravi programče koje će
po potrebi izvršiti maskiranje nekog hardwerskog
interrupta, odnosno dali možda postoji u samom
sistemu tabela, ili lokacija koja označava koji
su interrupti dozvoljeni a koji ne?
(Neki uređaj zatraži zahtev za interrupt, a sistem se
na to ne osvrće.)
pascal.594opsudkg,
>> za 33 sekunda. Koliko ti je stavljeno da Windows koristi keša?
Nakon malo eksperimentisanja veličinu keša sam postavio na samo
256k. BTW, spuštanjem keša ispod 0.5MB cela baterija zahtevnih
windows programa se naprosto preporodila u ostatku od onih tesnih
8MB.
P.S. Instalirao sam disketnu verziju Delphi-a, ne znam ima li nekih
razlika u odnosu na CD instalaciju ( osim 11:33+ ;).
pascal.595evlad,
<> Ono što meni treba je da nakon poziva interrupta 5 (IRQ5) procedura
<> pročita reč podatka (16Bita) sa adrese 278h i da to što je pročitala
<> upiše na disk u neku datoteku. Patim se već dve nedeljei nisam mrdnuo
<> dalje od početka.
Idejno rešenje:
- get interupt 5
- set interrupt saricl
- <petlja>, if buffer prazan ondaK read bufer, write to disk
- stay resident
- interupt procedura saricl
- čitaj port (sa funkcijom rp := portW[$278])
- upiši vrednost u buffer
- kaži 59-ci da je interupt gotov ;>
- kraj interrupta
pogledaj primer iz računara ZZ je pisao na temu COM portova ...
imaš i u knjizi A.Radovanovića _Modemske komunikacije_ doduše u pitanju
je _c_ ali princip je isti ...
pascal.596nlazic,
*> Postoji li mogućnost da se napravi programče koje će
*> po potrebi izvršiti maskiranje nekog hardwerskog
*> interrupta, odnosno dali možda postoji u samom
*> sistemu tabela, ili lokacija koja označava koji
*> su interrupti dozvoljeni a koji ne?
*>
*> (Neki uređaj zatraži zahtev za interrupt, a sistem se
*> na to ne osvrće.)
Ako napišeš interapt proceduru koja ne radi ništa (ne poziva ni
orginalnu int. proceduru) i zakačiš je za neki prekid iz interapt tabele,
sistem se neće odazivati na taj int. (u stvari startovaće se tvoja
procedura koja ne radi ništa). Taj interapt, dakle, nikad neće biti valjano
obrađen. Da li si to hteo da uradiš?
Pozdrav,
:) Nebojša :)
pascal.597nlazic,
*> Može li malo određeniji pointer na conf kad se raspravljalo o int.
*> (vremenski).
Pogledaj poruke 7.334, 7.344 i 7.348 (od 4 do 6 maja 1995.)
*> vremena u Bajtove lične prirode. Inače od literature imam TP6.0
*> Od Stephena O'Briena i nije mi baš najjasniji ovaj sistem interapta.
Ta knjiga u principu nije loša, ali je puna štamparskih grešaka, i to
pogotovu u delu o interaptima. Kaži šta ti nije jasno, pa da probamo
zajedno da razjasnimo :)
Pozdrav,
:) Nebojša :)
pascal.598nlazic,
*> P.S. Kako to misliš explicitno je pozivam, zar postoji i neki drugi
*> način??
Interapt proceduru nikada ne pozivaš direktno iz programa. Nju poziva
OS kada se dogodi interapt za koji je ova zakačena. Na to sam mislio kada
sam ono napisao, ali sam kasnije video da ti to u programu i ne radiš, pa
sam se u sledećoj poruci ispravio. Nadam se da nema zabune :)
Pozdrav,
:) Nebojša :)
pascal.599nlazic,
*> Pa ne ostaje blokirana, ali je problem u tome što se na ekranu
Jedini način da tastatura ne ostane zablokirana je da neko/nešto po
završetku rada programa vrati interapt tabelu u originalno stanje. To radi
Borlandov IDE tako da program prividno radi ispravno kada se startuje iz
njega. Zato sam napisao da program startuješ is čistog DOS-a: tu se blokira
garant :).
Pozdrav,
:) Nebojša :)
pascal.600pirke,
>>> Stvarno cudno, evo na 90 MHz Pentiumu sa 16 M memorije se podigne
>>> za 33 sekunda. Koliko ti je stavljeno da Windows koristi kesa?
Stvarno cudno... BEZ 32-bitnog pristupa kod mene se na 486/40/16M
dize za 17 sekundi. cache=1M. Da mogu da ukljucim 32bit disk i file...
pascal.601mmitrovic,
::::: Ovo će raditi samo u buduće 3 sekunde, dok se program ne izbriše iz
Ne, radiće 3 sekunde + 2*3 sekunde za svaki taster koji je
pritisnut. (Vidi ostale odgovore za objašnjenje).
pascal.602mmitrovic,
::::: Pa ne ostaje blokirana, ali je problem u tome što se na ekranu
::::: ispiše dva puta "Zahtev za prekid" kao da se cela stvar izvršava
::::: dva puta. Kako ovo da izbegnem. (bez pozivanja originalne
::::: procedure, samo ispis i povratak na originalnu proceduru bez
::::: izvršavanja.
Kad god pritisneš neki taster, INT 09 (IRQ1) se poziva DVA PUTA,
prvi put kad se taster pritisne, drugi put kad se taster otpusti.
BIOS ignoriše ovaj drugi signal. Prepoznaješ ih po kodu sa porta 60h
(ukoliko me pamćenje dobro služi, a mrzi me da preturam DOC), tako što
drugi zahtev ima postavljen najviši bit. Da bi izbegao dvstruko
ispisivanje, učitaj bajt sa porta $60 i proveri mu najviši bit. Ukoliko
nije tako reci, pa ću da nadjem šta je (možda je i port 61h, a možda je
u pitanju drugi bajt sa porta 60h).
Ovo u zagradama nisam baš skačio, šta si time hteo da pitaš?
pascal.603mmitrovic,
::::: ništa se ne blokira, a bez InLine 9C neće da radi (zablokira se)
pushf instrukcija je neophodna pošto pozivaš originalni handler
koji se završava IRET (ne RETF) instrukcijom koja osim CS:IP registara
učitava i flegove, ukoliko ti flegovi nisu na steku, dolazi do poremećaja
koji se registruju zaglupljivanjem mašine pri izlasku iz tvog hendlera
(biće učitani pogrešni CS:IP)
::::: P.S. Kako to misliš explicitno je pozivam, zar postoji i neki drugi
::::: način??
postoji način, direktno iz pascala kao što pozivaš bilo koju drugu
pascal proceduru, tj:
begin
...
prekid;
end.
da bi ovo radilo moraš da pre poziva procedure prekid da dodaš
famozni inline($9C) jer se i tvoja interapt rutina završava sa IRET
instrukcijom. Dakle, interapt rutinu možeš dirketno da pozivaš ali
nemaš baš neke koristi od toga (mada, nikad se ne zna).
pascal.604mmitrovic,
::::: Verujem da ne radi nikako. Prvo, ne valja u interapt procedurama
::::: ostajati mnogo vremena, a 3 sekunde je MNOGO. Drugo, ne smeš da
::::: koristiš writeln i slične funkcije. Treće, $9C je kod mašinske
::::: instrukcije PUSHF, koja se stavlja _tačno ispred_ poziva
::::: originalnom interapt hendleru, a nikako ispred nekih drugih
::::: naredbi.
U ovom hendleru može slobodno da ostane 3 sekunde jer je tajmer na
IRQ0 pa neće poremetiti sistemski časovnik. Problem bi bio ako bi
ovaj program ostao rezidentan jer bi za svaki taster čekao po 6
sekundi :) (3 sekunde kad se taster pritisne, 3 kad se otpusti).
Nije pogubno, al nije ni prijatno.
Problem je u tome što je originalna rutina pozvana posle delay
procedure. Delay instrukcija se može prekinuti hardverskim interaptom
(tako da delay(3000) uvek traje malo duže), ali se obrada trenutnog
tastera završava tek u starom hendleru (mov al,20h; out 20h, al),
a pre ovih instrukcija PIC neće dozvoliti da se desi novi IRQ1 i niži.
Sa druge strane da je ispisao prvo skok pa onda delay, moglo bi da se
desi da rikne stek. Sve u svemu DELAYu tu nije mestu.
Kada se u ovom programu pritisne taster prekida se glavni delay i
obavi handler. Dok traje delay(3000) iz hendlera, primarni delay
stoji u mestu. Zato program traje 3sec + 2*3 sekunde za svaki pritisnuti
taster.
Što se tiče write(ln) funkcija, mogu da se koriste u svim sem u
INT21 hendlerima. TP4.0 je bio prvi i zadnji koji nije dozvoljavao
write(ln) u hendlerima, zbog načina na koji je bio organizovan. Opet,
write(ln) instrukcije podležu IO proverama, pa nisu baš najbrže rešenje
za ispis u hendlerima.
Treće, pushf instrukcija može da ostane tu gde jeste, pošto
pascal održava čist stek, pa će ga flegovi čekati do poziva skoka.
pascal.605mmitrovic,
::::: Postoji li mogućnost da se napravi programče koje će
::::: po potrebi izvršiti maskiranje nekog hardwerskog
::::: interrupta, odnosno dali možda postoji u samom
::::: sistemu tabela, ili lokacija koja označava koji
::::: su interrupti dozvoljeni a koji ne?
Naravno, samo što ne ide preko int tabele već preko postavljanja
mask bitova na PIC kontroleru (portovi 20h, 21h i možda 22h). Imaš u
PCHELPu spisak portova i komande PICa.
pascal.606jkpbvk,
Kako da alociram memoriju za niz koji je vec definisan ?
Za onaj koji nije znam ali za ovaj ne mogu nikako da nadjem resenje jer mi
javlja da je data segment too large.
Znaci, kako upotrebiti getmem za niz koji je vec napunjen ili kako napuniti
ovaj niz za koji znam da oslobodim memoriju.
type niz = array [1..64000] of byte;
p = ^niz;
var pok : p;
addr : word;
GetMem (pok,64000);
addr := seg (pok^);
Ovo je u redu ali ne znam kako sad da napunim niz sa vrednostima koje znam
unapred. Probao sam i sa kucanjem pok^[1]:=23, pok^[2]:=12.... ali tu nastaje
neki drugi problem posle pok^[1817].
Dakle,
const niz : array[0..63999] of byte = (13,255,13,34,35,86,7,28,39,.....63999);
Ovo ce proci ali zato nema vise memorije za ostale stvari.
Kako osloboditi vise memorije ?
pascal.607saricl,
!!! procedura koja ne radi ništa). Taj interapt, dakle, nikad neće biti
!!! valjano obrađen. Da li si to hteo da uradiš?
Ne, hteo sam da odmaskiram interrupt na kolu 8259,
ali tada još nisam znao ni da tako nešto postoji.
Rešio sam problem sa par mašinskih naredbi.
pascal.608saricl,
!!! Ovo u zagradama nisam baš skačio, šta si time hteo da pitaš?
pascal.609saricl,
!!! - kaži 59-ci da je interupt gotov ;>
Dali ovo znači da treba da obavestim 8259 da je interrupt opslužen?
Ako jeste kako se to radi?
pascal.610evlad,
<> Dali ovo znači da treba da obavestim 8259 da je interrupt opslužen?
<> Ako jeste kako se to radi?
Upravo to ...
jednostavno:
Port[$20] := $20
Pozdrav Vlada.
Subject: Odabrani bajtovi ...
Kako zabraniti Ctrl-Alt-Del iz programa:
--- cut ---
Procedure PushF;
InLine ($9C);
Procedure NewKbd; Interrupt;
Var
Kkb1,
Kkb2,
Shift,
KB : Byte;
Procedure ResetKb;
Begin
Kkb1 := Port[$61];
Kkb2 := Kkb1;
Kkb2 := Kkb2 OR $80;
Port[$61] := Kkb2;
Port[$61] := Kkb1;
Port[$20] := $20
End;
Begin (* NewKbd *)
KB := Port[$60];
If KB = 0 then
Begin
Shift := Mem[$0000:$0417];
If ((Shift AND $04) <> 0) OR ((Shift AND $08) <> 0) then ResetKb
else
Begin
PushF;
OldKeyBoard
End
End
else
If KB = $53 then ResetKb
else
Begin
PushF;
OldKeyBoard
End
End; (* NewKbd *)
----------
Main
....
var oldkeyboard : procedure;
const kbdint = $09;
....
begin_main
SwapVectors;
GetIntVec (KbdInt, @OldKeyBoard);
SetIntVec (KbdInt, @NewKbd);
....
program body
....
SetIntVec (KbdInt, @OldKeyBoard);
SwapVectors;
end_main
--- cut ---
Napomena: za interupt procedure je poželjno staviti {$F+} (force far jump)
pascal.611postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: :) INTERAPTI :(
Date: Mon, 10 Jul 95 16:33:00 +0100
Imam jednu simpaticnu knjizcu ...
TP60 ...autor je je ve pominjan ..
Pa posto je receno da je puna stamparskih gresaka ...
Jedno pitanje ...
kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
zakacim rutinu koja ce da proveri proveri da li je
pisanje ...ako je pisanje .. i ako neki odredjani datum
da upise ne po tom mestu gde je trebalo nego po
NULTNOM SEKTORU NULTNE STAZE ...
ili nekom drugom tako da se onesposobi HDD :)
ps.
Ovo je samo TERETSKO PITANJE O:)))))))
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.612nlazic,
*> Ovo je u redu ali ne znam kako sad da napunim niz sa vrednostima koje
*> znam unapred. Probao sam i sa kucanjem pok^[1]:=23, pok^[2]:=12....
*> ali tu nastaje neki drugi problem posle pok^[1817].
Kakav problem? Ovo što si napisao je u redu i trebalo bi da radi.
Proveri koliko si memorije odvojio za heap (u $M direktivi).
*> const niz : array[0..63999] of byte =
*> (13,255,13,34,35,86,7,28,39,.....63999);
*>
*> Ovo ce proci ali zato nema vise memorije za ostale stvari.
*> Kako osloboditi vise memorije ?
Najjednostavnije je baš onako kako si i mislio: pomoću heap-a. Međutim,
tu ti i dalje ostaje ograničenje da jedna promenljiva može zuzimati najviše
65519 bajtova na heap-u (mora stati u jedan segment). Naravno, možeš imati
koliko god hoćeš takvih promenljivih, sve dok je njihova ukupna dužina
manja od maksimalne veličine heap-a koju postavljaš u $M direktivi na
početku programa.
Ako hoćeš niz veći od 64K, moraćeš da se pozabaviš listama i sl.
Pozdrav,
:) Nebojša :)
pascal.613sbrk,
Moj mali prilog za tvoju kolekciju biblioteka za Pascal:
OOPFile
I was in need of a networking file library which would take care
of the locking/unlocking of files so I could stick to the meat of
the application. I was unable to find any libraries available as
shareware so I decided to write my Own. I have tested it with
NOVELL and LanTastic but it should work with any network system
which supports DOS SHARE Locking Commands.
FEATURES:
- Automatic Record Locking with User Definable Options.
- Support For Files Of Variable Length Records.
- User Definable # of Retries
- Byte/Record Level File Access & Locking Routines.
- Object Oriented So You May Create Decendant Objects
which will know how to Read/Write/Create Their Own
Data.
- Pointer Based So File Objects May Be Created 'On The Fly'
********************
Mane:
- nema source glavnog unita, nego je dat TPU za TP 5.5.
Možda neko ima nešto slično samo novije? Šifra: HITNO :)
oopfil.exepascal.614dulejko,
Jedno pitanje vezano za Borland Delphi: Da li on omogucava kompajliranje za
Win32KKKKK, odnosno da li proizvodi 32-bitni kod.
Pozdrav,
Bojan.
pascal.615jkpbvk,
+| Najjednostavnije je bas onako kako si i mislio: pomocu heap-a. Medutim,
+| tu ti i dalje ostaje ogranicenje da jedna promenljiva moze zuzimati
+| najvise 65519 bajtova na heap-u (mora stati u jedan segment). Naravno,
+| mozes imati koliko god hoces takvih promenljivih, sve dok je njihova
+| ukupna duzina manja od maksimalne velicine heap-a koju postavljas u $M
+| direktivi na pocetku programa.
Cek, konkretizovacu sa primerom.
Hteo sam da PCX fajl ubacim u exe i da ga iscitam iz memorije.
Prvo sam sjurio hex kodove PCX-a u niz i ubacio u source.
Umesto da iscitavam iz fajla, podatke sam vadio iz niza i tu nema problema.
Naravno, problem je nastao kad sam hteo da ubacim muziku i jos neke stvari
ali recimo da sam hteo da ubacim jos jedan PCX.
Javlja code segment too large.
Prvi je zauzimao 34K a drugi 47K.
Probao sam i sa packobj i umesto da citav niz ubacim u source, samo sam
ucitao obj ali i tako nece jer zbir ta dva obj-a prelazi 64K.
Naravno da bi prilikom prikazivanja prvog PCX-a oslobodio memoriju koju je
zauzeo i napravio mesta za drugu ali je problem pri kompajliranju.
Znaci, pitanje glasi.. jel' mogu nekako da se uguraju podaci cija UKUPNA
duzina prelazi 64K, a ne jedan niz da ima vise od 64K.
Ustvari, znam sigurno da moze, ali je pitanje kako ?
pascal.616mmitrovic,
::::: Ovo je u redu ali ne znam kako sad da napunim niz sa vrednostima koje
::::: znam unapred. Probao sam i sa kucanjem pok^[1]:=23, pok^[2]:=12.... ali
::::: tu nastaje neki drugi problem posle pok^[1817].
To ti je validan način. Kakvi problemi se javljaju? budi jasniji.
pascal.617mmitrovic,
:::::!!! Ovo u zagradama nisam baš skačio, šta si time hteo da pitaš?
:::::
Moram priznati da mi i dalje nije jasno. :)
PS Baš sam bukvalisata ;)
pascal.618mmitrovic,
::::: Napomena: za interupt procedure je poželjno staviti {$F+} (force far
::::: jump)
Zašto?
Nema nikakve potrebe, samo se produžuje kod bez potrebe.
pascal.619mmitrovic,
::::: kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...) zakacim
::::: rutinu koja ce da proveri proveri da li je pisanje ...ako je pisanje
::::: .. i ako neki odredjani datum da upise ne po tom mestu gde je
::::: trebalo nego po NULTNOM SEKTORU NULTNE STAZE ...
::::: ili nekom drugom tako da se onesposobi HDD :)
::::: ps. Ovo je samo TERETSKO PITANJE O:)))))))
Ako je teoretsko pitanje onda uradiš baš kao što si rekao, preuzmeš
INT 13 i sačekaš zahtev za ispis i preusmeriš ga na 0,0,1. (Ne postoji
nulti sektor).
Za praktičnu stranu ćeš morati sam da se snađeš, jer nemam nameru da
ti pomažem da nekom zagorčaš život. :(
pascal.620vlador,
> Možda neko ima nešto slično samo novije? Šifra: HITNO :)
Probaj sa ovim. Ako to nije to što ti treba, iskoristi sors pa ga
izmenjaj.
fshare.zippascal.621mmitrovic,
::::: Jedno pitanje vezano za Borland Delphi: Da li on omogucava kompajliranje
::::: za Win32KKKKK, odnosno da li proizvodi 32-bitni kod.
Za sada ne, rekli su da će izaći upgrade uporedo sa Win95.
pascal.622mmitrovic,
::::: Prvo sam sjurio hex kodove PCX-a u niz i ubacio u source.
::::: Umesto da iscitavam iz fajla, podatke sam vadio iz niza i tu nema
::::: problema. Naravno, problem je nastao kad sam hteo da ubacim muziku i jos
::::: neke stvari ali recimo da sam hteo da ubacim jos jedan PCX.
::::: Javlja code segment too large.
::::: Prvi je zauzimao 34K a drugi 47K.
Da bi ovo izbegao moraš da koristiš module (unite). Svaki modul može
da ponese 64k. Broj modula je neograničen, ali treba imati meru. Nijedna
mašina ti neće startovati program koji ima sumu mosula od 1Mb.
::::: Probao sam i sa packobj i umesto da citav niz ubacim u source, samo sam
::::: ucitao obj ali i tako nece jer zbir ta dva obj-a prelazi 64K.
Ovo ti je najbolji način, uz upotrebu modula. Ako ti se procedura
za koju si vezao PCX zove npr. Slika1 onda posle definicije slika1 u
interface sekciji dopišeš
var Slika1Pod: TByteArray absolute Slika1;
gde je:
type TByteArray = array [0..65519] of Byte;
tip koji je već definisan u Objects modulu (ako nećeš da koristiš taj
modul onda sam definiši ovaj tip).
Tako će ti PCX slika biti na raspolaganju kao bilo koji drugi niz, a
nećeš morati da se patiš sa punjenjem nizova, itd. Samo treba da pristupiš
nizu Slika1Pod i iz njega pročitaš sliku.
::::: Ustvari, znam sigurno da moze, ali je pitanje kako ?
Moduli, bez njih nećeš daleko dogurati.
pascal.623nlazic,
*> Cek, konkretizovacu sa primerom.
*> Znaci, pitanje glasi.. jel' mogu nekako da se uguraju podaci cija
*> UKUPNA duzina prelazi 64K, a ne jedan niz da ima vise od 64K.
*> Ustvari, znam sigurno da moze, ali je pitanje kako ?
Konkretno: za svaku sliku odvojiš po jedan modul (unit). Code segment
modula (kao i glavnog programa) ne može biti veći od 64K, ali zato njihov
broj nije ograničen (možeš imati kol'ko god hoćeš modula - slika).
Pozdrav,
:) Nebojša :)
pascal.624nlazic,
*> gde je:
*> type TByteArray = array [0..65519] of Byte;
*>
*> tip koji je već definisan u Objects modulu (ako nećeš da koristiš taj
Zar nije TByteArray = array [0..32767] of Byte?
pascal.625zeljkoj,
> ::::: Jedno pitanje vezano za Borland Delphi: Da li on
> omogucava kompajliranje ::::: za Win32KKKKK, odnosno da li
> proizvodi 32-bitni kod.
>
> Za sada ne, rekli su da će izaći upgrade uporedo sa Win95.
A VB 4.0 for Windows može da pravi 32-bitni kod. žak mu više nije potreban
VBRUNx.DLL.
pascal.626jkpbvk,
+| Da bi ovo izbegao moras da koristis module (unite). Svaki modul moze
+| da ponese 64k. Broj modula je neogranicen, ali treba imati meru. Nijedna
+| masina ti nece startovati program koji ima sumu mosula od 1Mb.
Hvala, sad radi bez problema.
pascal.627evlad,
<> ::::: Napomena: za interupt procedure je poželjno staviti {$F+} (force
<> far ::::: jump)
<> Zašto?
<> Nema nikakve potrebe, samo se produžuje kod bez potrebe.
možda se nisam odrazio najbolje :(
{$F+}
procedure trt-mrt; interrupt;
...
begin
....
end;
{$F-}
ovo je poželjno, ako se koristi overlay ili graph modul ...
pascal.628jasicp,
> Za sada ne, rekli su da ce izaci upgrade uporedo sa Win95.
Dobro, a da li je isti pisan za W95 ?
pascal.629postmast,
From: vladimir.svrkota@durlan.co.yu (Vladimir Svrkota)
Subject: Interrupt
Date: Thu, 13 Jul 1995 08:02:00 CET
QWK To: All
Imam neki primer TSR-a iz TP 7.0:
{$M $800,0,0}
uses dos,crt;
var oldint:procedure;
{$F+}
procedure click_on; interrupt;
begin
if Port[$60] < $80 then begin
sound(5000);
delay(1);
nosound
end;
inline($9C);
oldint
end;
{$F-}
begin
getintvec($9,@oldint);
setintvec($9,addr(click_on));
writeln('Click Installed.');
keep(0)
end.
Ovo radi bez problema (cuje se klik na pritisak tastera). Pitanja su:
-kako da se pri ponovnom pozivu programa proveri da li je vec ranije insta-
liran i da se eventualno ispise poruka o tome?
-kako da se program deinstalira (neka mu se npr. prosledi parametar 'off' u
komandnoj liniji) ?
... The Truth Is Out There...
___ ■■BWAVE■■/QWK v2.12
#! rnews 466
pascal.630postmast,
From: Sloba.Markovic@f133.n103.z38.setnet.setnet.co.yu (Sloba Markovic)
Subject: Interapti
Date: Tue, 11 Jul 1995 19:22:01
Origin.SUBJ: pascal
Origin.FROM: "Vladislav Erdelji"
Origin.TO : All
VE> Sve u compu radi na interrupt (tacka)
:) Skoro sve :)
VE> postoje hardverski i softverski.
""""""""""""""""""""""""""""""""
Postoje interapti koje generise sam mikroprocesor. To su tzv.
mikroprocesorski prekidi.
Postoje hardverski interapti. Njih pozivaju razni uredjaji
(kartice, i sl.). Jedno kolo zaduzeno za interapte im regulise
prioritet (tj. redosled izvrsavanja). Njihov rad, iako
nezavistan od mikroprocesora, ipak zahteva opsluzivanje.
Izvrsavaju se veoma brzo.
Postoje interapti BIOS-a (Basic Input/Output System). Primer je
interapt broj 13 koji sluzi za operacije sa magnetnim medijima.
Pozivaju ih programi.
Postoje interapti DOS-a. Primer je interapt 21 koji se izmedju
ostalog koristi i za prekidanje rada programa. Pozivaju ih
programi.
Neke softverske interapte (kao sto je interapt koji se koristi
za stampanje ekrana kada se pritisne PrintScreen taster) mozes
preusmeriti na neku svoju proceduru.
Postoje i takozvani NMI (Non-Maskable interrupts) koji UVEK
imaju najvisi prioritet i ne mogu se iskljuciti (na primer,
interapt koji se poziva kada dodje do greske deljenja sa nulom,
greska u memoriji, itd.)
Ja mislim da postoji jos neka podela (tj. da sam nesto
zaboravio). Ako te stvarno zanima SVE o interaptima pokupi sa
nekog BBS-a program PC-HELP i Norton Guide za Assembler. Sto se
tice literature koja je dostupna kod nas, ja znam samo za staru
(iz 1989?, ali jos nije za bacanje) knjigu PC ROM BIOS u kojoj
je lepo objasnjeno sta su to interapti i koriscenje BIOS
interapta uz primere.
Hope it helps,
+ ,
O:)-|--< MAGIC FLASH!
+ '
... YO! METAL!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.631nlazic,
*> -kako da se program deinstalira (neka mu se npr. prosledi parametar
*> 'off' u komandnoj liniji) ?
U interrupt proceduri, posle poziva stare interapt rutine (oldint),
pozovi sledeću proceduru:
procedure EndTsr; assembler;
asm
cli
mov AH,49h
mov ES,PrefixSeg
push ES
mov ES,ES:[2Ch]
int 21h
pop ES
mov AH,49h
int 21h
sti
end;
Da ne bude zabune: ovu proceduru mora da pozove program koji je već
razidentan u memoriji da bi sam sebe skinuo. Npr. neka se tvoj program zove
TSR. Onda kucaš: TSR i program se instalira u memoriju. Ako sada hoćeš da
ga skineš, kucaš TSR /off i ova instanca programa mora da onoj već
rezidentnoj instanci nekako da na znanje da treba da se deinstalira i da
ona (prva) sama sebe izbriše koristeći gornju proceduru.
Pozdrav,
:) Nebojša :
pascal.632postmast,
From: vladimir.svrkota@durlan.co.yu (Vladimir Svrkota)
Subject: Interrupt
Date: Thu, 13 Jul 1995 08:02:00 CET
QWK To: All
Imam neki primer TSR-a iz TP 7.0:
{$M $800,0,0}
uses dos,crt;
var oldint:procedure;
{$F+}
procedure click_on; interrupt;
begin
if Port[$60] < $80 then begin
sound(5000);
delay(1);
nosound
end;
inline($9C);
oldint
end;
{$F-}
begin
getintvec($9,@oldint);
setintvec($9,addr(click_on));
writeln('Click Installed.');
keep(0)
end.
Ovo radi bez problema (cuje se klik na pritisak tastera). Pitanja su:
-kako da se pri ponovnom pozivu programa proveri da li je vec ranije insta-
liran i da se eventualno ispise poruka o tome?
-kako da se program deinstalira (neka mu se npr. prosledi parametar 'off' u
komandnoj liniji) ?
... The Truth Is Out There...
___ ■■BWAVE■■/QWK v2.12
#! rnews 466
pascal.633postmast,
From: Sloba.Markovic@f133.n103.z38.setnet.setnet.co.yu (Sloba Markovic)
Subject: Interapti
Date: Tue, 11 Jul 1995 19:22:01
Origin.SUBJ: pascal
Origin.FROM: "Vladislav Erdelji"
Origin.TO : All
VE> Sve u compu radi na interrupt (tacka)
:) Skoro sve :)
VE> postoje hardverski i softverski.
""""""""""""""""""""""""""""""""
Postoje interapti koje generise sam mikroprocesor. To su tzv.
mikroprocesorski prekidi.
Postoje hardverski interapti. Njih pozivaju razni uredjaji
(kartice, i sl.). Jedno kolo zaduzeno za interapte im regulise
prioritet (tj. redosled izvrsavanja). Njihov rad, iako
nezavistan od mikroprocesora, ipak zahteva opsluzivanje.
Izvrsavaju se veoma brzo.
Postoje interapti BIOS-a (Basic Input/Output System). Primer je
interapt broj 13 koji sluzi za operacije sa magnetnim medijima.
Pozivaju ih programi.
Postoje interapti DOS-a. Primer je interapt 21 koji se izmedju
ostalog koristi i za prekidanje rada programa. Pozivaju ih
programi.
Neke softverske interapte (kao sto je interapt koji se koristi
za stampanje ekrana kada se pritisne PrintScreen taster) mozes
preusmeriti na neku svoju proceduru.
Postoje i takozvani NMI (Non-Maskable interrupts) koji UVEK
imaju najvisi prioritet i ne mogu se iskljuciti (na primer,
interapt koji se poziva kada dodje do greske deljenja sa nulom,
greska u memoriji, itd.)
Ja mislim da postoji jos neka podela (tj. da sam nesto
zaboravio). Ako te stvarno zanima SVE o interaptima pokupi sa
nekog BBS-a program PC-HELP i Norton Guide za Assembler. Sto se
tice literature koja je dostupna kod nas, ja znam samo za staru
(iz 1989?, ali jos nije za bacanje) knjigu PC ROM BIOS u kojoj
je lepo objasnjeno sta su to interapti i koriscenje BIOS
interapta uz primere.
Hope it helps,
+ ,
O:)-|--< MAGIC FLASH!
+ '
... YO! METAL!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.634evlad,
<> Neke softverske interapte (kao sto je interapt koji se koristi
<> za stampanje ekrana kada se pritisne PrintScreen taster) mozes
<> preusmeriti na neku svoju proceduru.
taj taster je usko povezan sa biosovim 5 (print screen)
_čist_ softverski je mouse int 33h :)) /mouse.com/ imaš i user
intterupt 67h,68h..70h, mnogi rezidentni programi ostave _potpis_
na tim mestima pa _znaju_ da su instalirani ...
<> Hope it helps,
Me too :)
Pozdrav Vlada.
pascal.635saricl,
!!! Moram priznati da mi i dalje nije jasno. :)
!!! PS Baš sam bukvalisata ;)
Pa u primeru koji sam naveo na jednom mestu poziva se originalna
procedura. E mislio sam bez nje.
Inače problem sa interruptima sam rešio zahvaljujući tekstu M. Olenjina
iz R83, trebalo je na kraju navesti samo dva ASM reda:
MOV AL,ć20
OUT ć20,AL
E pa satim radi ali pojma nemam kako, (i ćorava koka ubode zrno ;)) )
Voleo bih da znam čemu to služi, a takođe i da napomenem da nije htelo da
radi dok nisam setovao opciju za 286 mod u compileru.
Problem je sada u nečemu drugom učitava mi se regularno samo donji bajt
sa adrese 278h, gornji bajt uvek ima vrednosto FF.
Sledi program:
Program Prekid;
USES DOS,CRT;
Var
Bajt,Pamti:Byte;
i,SR,Brojac:Integer;
LSB,MSB:Byte;
Velicina:Word;
Stara:Pointer;
Procedure Citanje;Interrupt;
Begin
asm
PUSHF
MOV DX,$278
IN AX,DX
MOV LSB,AL
MOV MSB,AH
end;
Writeln(MSB,' ',LSB);
asm
MOV AL,$20
OUT $20,AL
end;
End;
Procedure MaskaS;
Begin
GetIntVec($0D,Stara);
SetIntVec($0D,@Citanje);
ASM
IN AL,$21
MOV Bajt,AL
END;
Pamti:=Bajt;
For i:=1 to 6 DO
Begin
SR:=Pamti MOD 2;
Pamti:=Pamti DIV 2;
End;
If SR=1 Then Bajt:=Bajt-32;
ASM
MOV AL,Bajt
OUT $21,AL
END;
End;
Procedure MaskaV;
Begin
Bajt:=Bajt+32;
ASM
MOV AL,Bajt
OUT $21,AL
END;
SetIntVec($0D,Stara);
End;
BEGIN
ClrScr;
MaskaS;
Readln;
MaskaV;
END.
pascal.636saricl,
!!! Ovo je samo TERETSKO PITANJE O:)))))))
Jel to na pomolu novi virus? :)))
Ovo je samo teoretsko pitanje. :))
pascal.637adzem,
Help! Imam problema sa startovanjem DELPHI-ja.
Svaki put dobijem poruku "out of system resources".
DELPHI funkcionise do pokusaja da pokrenem program
ili aktiviram neku opciju iz menija.
Inače radim na 486DX-40, 16MB RAM, 20MB swap file.
Da li je neko imao sličnih problema i koji je lek?
pascal.638mmitrovic,
::::: Zar nije TByteArray = array [0..32767] of Byte?
Jeste, previd sa moje strane. Mislio sam da su stavili više, pošto
je u pitanju tip koji se ne koristi direktno. Sad sam pogledao i
ima baš ovoliko :)
Dakle, jkpbvk, moraćeš sam da definišeš tip.
pascal.639mmitrovic,
::::: A VB 4.0 for Windows može da pravi 32-bitni kod. žak mu više nije
::::: potreban VBRUNx.DLL.
E sad pretpostavimo da VB pravi Microsoft, koji ima svu neophodnu
dokumentaciju, i da Delphia pravi Borland koji mora da čeka izlazak
Win95. Istina, to i nije neko opravdanje, pošto postoji dokumentacija
za NT, al šta da se radi, niko nije savršen ;). Kad izađe upgrade
videćemo na šta liči.
pascal.640postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Fri, 14 Jul 1995 03:25:02
"J> TP 7 radi sigurno, a BP 7 zahteva 286.
Kad smo vec kod toga, kakva je razlika izmedju TP7 i BP7?
__ Pozdrav from Vladimir __
... "Ja ukapiram odmah, samo mi treba malo vremena."
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.641postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:28
>> Koja je najnovija verzija TP koja moze da radi na XT-u?
TP 6.0 definitivno (nije najnovija). Radio sam godinu dana na XT
i radi dobro, ali kad sam upoznao 386/40 onda sam :))))) od radosti.
Nuh, glavno da radi.
... DOS never says "EXCELLENT command or filename"...
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.642postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:29
-=> Quoting "Darko Sarkanovic" to All <=-
"S> U buri pitanja evo i mog:
"S>
"S> Moze li mi neko reci kako da natjeram rutine za misa da rade
"S> i u grafickom modu na Hercules kartici? Pojavljuje mi se
"S> sve samo ne misiji pointer. Ako je o ovome vec bilo reci
"S> pomoglo bi i da me uputite na te poruke.
Mislim da ima (nema) moj source na Sveti Sava BBS ili na TCS BBS pod
imenom MOUSE_PAS.ZIP (ili ARJ), ako ga nisu obrisali. Imas primjer i za
grafiku i za tekst, pa mi javi da li valja.
imas mahanje
ASKO
... Nema vode, pa nemamo struje... Sta li je sled*%^& NO CARRIER
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.643postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:30
"K> Imam jedan problem ine znam kako da ga resim pa bi molio u koliko neko
"K> zna da mi napise mail.
"K> Problem :
"K> Imam Turbo Pascal 7.0 za win i ne znam kako da u svom
"K> programu promenim boju teksta.Kako da je promenim?????
"K> Pitanje :Da li sam ja glup ili Help????
I ti imas srece. Kod nas u ES ima BP 7.0 i Windows ali nije instaliran
cijeli BP (kaze nema prostora a HD je 170 Mb, zaboravio sam reci da je
to SERVER lokalne mreze Elektro skola Prijedor i da ima puno, puno nep
otrebnih stvari, 5 stanica), tako da ja nemam problema oko toga. Da li
bi mogao napisati koliko zauzima BP 7.0 kada se instalira cijeli sa
windows drajverima.
imas mahanje
ASKO
... C:\House\Kitchen\Cofee.COM
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.644postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:30
-=> Quoting "Vladimir Radmilovic" to All <=-
> --=====> While not EOF(F) do <=====--
"R> ...
> begin
> Close(F);
> ...
> end;
> end;
"R>
"R> Obrati se sa paznjom na kom mestu zatvaras fajl. :)
Hvala, ali sam problem rjesio pomocu pointera.
imas mahanje
ASKO
... ROM & RAM not found. A)bort R)etry I)gnore :
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.645postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:32
*> Kako da u obicnim TXT dat. idem na odredjenu liniju tj. kako da
*> procitam (ima 100 linija) 50 podatak, onda 10, onda 23 itd. ..., i
"L>
"L> O ovome je bilo reci u jednom od Racunara. Pogledaj u RIND-u
"L> ili S:\RSOFT.
Da? Ja bi bio zadovoljan kad bi mogao zvati. Fax/Modem je zauzet cijeli
dan i jedva da skinem nesto za sebe. Ipak mozes li to bar malo da obja
snis?
imas mahanje
ASKO
... There are gremlins in your computer. Destroy them (Y/n) :
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.646postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: :) INTERAPTI :(
Date: Fri, 14 Jul 1995 17:41:10
NE> From: nemesis@styx.herkules.co.yu (NEMESIS)
NE> Newsgroups: yu.prog.pascal
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> zakacim rutinu koja ce da proveri proveri da li je
NE> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE> da upise ne po tom mestu gde je trebalo nego po
NE> NULTNOM SEKTORU NULTNE STAZE ...
NE> ili nekom drugom tako da se onesposobi HDD :)
Evo ga opet Mali Neizivljeni hoce da pravi viruse i trojance....
Zar te to jos uvek nije pustilo?
... Ta ne pucajte! Ovde ima i ljudi!
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.647postmast,
From: Dejan.Jovanovic@p5.f101.n101.z38.setnet.setnet.co.yu (Dejan Jovanovic)
Subject: Re: PASCAL
Date: Fri, 14 Jul 1995 01:58:07
-=> Quoting Darko Saric to All <=-
DS> Moz li neko da mi objasni razliku izmedu
DS> TSR programa, DEVICE drivera, i INTERRUPT rutine.
Tsr program je tvoj program koji je je u memoriji dok je kontrola nad svim
na dosu iliti on radi. On se povremeno poziva samo preko interapta koje je
preuzeo.
Device driver ti je isto to samo sto se on kaci samo sa irq iliti hardverskim
interaptima (npr driver za misa se kaci na int cH koji se poziva pri pomeraju
misa). Inace oni obicno zauzmu jos po jedan int. da bi kmunicirali sa
korisnikom, npr. za misa je tu 33H.
Interapt rutine su procedure u tvom programu (koji moze i da ne bude tsr)
na koje pokazuje neki pointer iz interapt tabele sto ti znaci da su u stvari
interapti. To mozes da iskoristic npr da u se u svom programu umesto
besomucnog citanja tastature zakacis za int9 i tamo citas tastere (int9 je
isto irq i poziva se pri pritisku na taster)
Pozdrav DJSlo
... BRzo kucanje inam isvoje losed srtane.
* Origin: SETNet ■ Sirius BBS (38:101/101.5) ■ +381 18 711667 ■ Nis (38:101/101.5)
pascal.648postmast,
From: sigma@setnet.co.yu (Sebastian Adanko)
Subject: A sto?
Date: Wed, 12 Jul 1995 17:14:07
While I can't think of a funny header, I'm using this.
SA> Elem, ja lepo uzmem i sve po zakonu uzmem da pisem po datotekama (
SA> Writeln(F,mojstring); ) on upise samo jedan EOL i nista vise.
SA> Ponekad radi, a ponekad ne (zavisi od programa, nije mi radio ni
SA> prosti test program koji je citao iz jedne datoteke i upisivao u
SA> drugu). Jel' to neki bag sedmice ili je mozda nesto sto ja ne
SA> znam?
Opet ja, ovo mi izgleda prelazi u naviku. :))
Nisam stavljao Close(datoteka); i zato on nije snimao to na disk,
nego mi je samo ostavljao praznu datoteku... :)
˙˙˙¨¨¨:::Phuzzy logiK:::¨¨¨˙˙˙
... Open WINDOWS and you let BUGS in . . . .
* Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.649postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:28
>> Koja je najnovija verzija TP koja moze da radi na XT-u?
TP 6.0 definitivno (nije najnovija). Radio sam godinu dana na XT
i radi dobro, ali kad sam upoznao 386/40 onda sam :))))) od radosti.
Nuh, glavno da radi.
... DOS never says "EXCELLENT command or filename"...
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.650postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:29
-=> Quoting "Darko Sarkanovic" to All <=-
"S> U buri pitanja evo i mog:
"S>
"S> Moze li mi neko reci kako da natjeram rutine za misa da rade
"S> i u grafickom modu na Hercules kartici? Pojavljuje mi se
"S> sve samo ne misiji pointer. Ako je o ovome vec bilo reci
"S> pomoglo bi i da me uputite na te poruke.
Mislim da ima (nema) moj source na Sveti Sava BBS ili na TCS BBS pod
imenom MOUSE_PAS.ZIP (ili ARJ), ako ga nisu obrisali. Imas primjer i za
grafiku i za tekst, pa mi javi da li valja.
imas mahanje
ASKO
... Nema vode, pa nemamo struje... Sta li je sled*%^& NO CARRIER
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.651postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:30
"K> Imam jedan problem ine znam kako da ga resim pa bi molio u koliko neko
"K> zna da mi napise mail.
"K> Problem :
"K> Imam Turbo Pascal 7.0 za win i ne znam kako da u svom
"K> programu promenim boju teksta.Kako da je promenim?????
"K> Pitanje :Da li sam ja glup ili Help????
I ti imas srece. Kod nas u ES ima BP 7.0 i Windows ali nije instaliran
cijeli BP (kaze nema prostora a HD je 170 Mb, zaboravio sam reci da je
to SERVER lokalne mreze Elektro skola Prijedor i da ima puno, puno nep
otrebnih stvari, 5 stanica), tako da ja nemam problema oko toga. Da li
bi mogao napisati koliko zauzima BP 7.0 kada se instalira cijeli sa
windows drajverima.
imas mahanje
ASKO
... C:\House\Kitchen\Cofee.COM
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.652postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:30
-=> Quoting "Vladimir Radmilovic" to All <=-
> --=====> While not EOF(F) do <=====--
"R> ...
> begin
> Close(F);
> ...
> end;
> end;
"R>
"R> Obrati se sa paznjom na kom mestu zatvaras fajl. :)
Hvala, ali sam problem rjesio pomocu pointera.
imas mahanje
ASKO
... ROM & RAM not found. A)bort R)etry I)gnore :
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.653postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Wed, 05 Jul 1995 13:02:32
*> Kako da u obicnim TXT dat. idem na odredjenu liniju tj. kako da
*> procitam (ima 100 linija) 50 podatak, onda 10, onda 23 itd. ..., i
"L>
"L> O ovome je bilo reci u jednom od Racunara. Pogledaj u RIND-u
"L> ili S:\RSOFT.
Da? Ja bi bio zadovoljan kad bi mogao zvati. Fax/Modem je zauzet cijeli
dan i jedva da skinem nesto za sebe. Ipak mozes li to bar malo da obja
snis?
imas mahanje
ASKO
... There are gremlins in your computer. Destroy them (Y/n) :
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.654postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: :) INTERAPTI :(
Date: Fri, 14 Jul 1995 17:41:10
NE> From: nemesis@styx.herkules.co.yu (NEMESIS)
NE> Newsgroups: yu.prog.pascal
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> zakacim rutinu koja ce da proveri proveri da li je
NE> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE> da upise ne po tom mestu gde je trebalo nego po
NE> NULTNOM SEKTORU NULTNE STAZE ...
NE> ili nekom drugom tako da se onesposobi HDD :)
Evo ga opet Mali Neizivljeni hoce da pravi viruse i trojance....
Zar te to jos uvek nije pustilo?
... Ta ne pucajte! Ovde ima i ljudi!
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.655postmast,
From: Ivan.Jocic@p5.f101.n101.z38.setnet.setnet.co.yu (Ivan Jocic)
Subject: :) INTERAPTI :(
Date: Sat, 15 Jul 1995 07:56:17
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> zakacim rutinu koja ce da proveri proveri da li je
NE> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE> da upise ne po tom mestu gde je trebalo nego po
Pa prosto, postavi svoj interapt, i kada vidis sta je tebi stiglo, pa
ako ti se svidja prosledis originalnom, a ako ne...
Shadow
... Kompjuteri ne misle o ljudima.Nisu projektovani da misle o glupostima!
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.656postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: pascal
Date: Sat, 15 Jul 1995 02:52:04
>> "Darko Saric" nekad rece, a ja ga sada citiram <<
"S> Zanima me sta je ono Inline(c9C), i zasto mi se kada ga starujem
"S> na ekranu dva puta ispise "Zahtev za prekid"?
Moze i vise puta u zavisnosti koliko stavis pauze da budu dugacke. Ako
iz procedure izbacis DELAY program ce svaki put, kaddda pritisnes
taster prikazati "Zahtev za prekid". i to koliko dugo ce to moci zavisi
od pauze u glavnom delu programa (takodje DELAY), posle zavrsetka
programa sve se vraca na staro...
Rile:)
... Catch the Blue Wave!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.657postmast,
From: zoran@setnet.co.yu (Zoran Tomic)
Subject: pascal
Date: Sat, 15 Jul 1995 17:02:00
>> Na mojoj masini ( DX2/66/8 - za danasnje vreme ispod proseka )
>> Delphi se startuje za 11 sekundi ( ne znam otkud DejanR - u ono
>> "izmedu pola minuta i minut"
>> Stvarno cudno, evo na 90 MHz Pentiumu sa 16 M memorije se podigne
>> za 33 sekunda. Koliko ti je stavljeno da Windows koristi kesa?
>> Stvarno cudno... BEZ 32-bitnog pristupa kod mene se na 486/40/16M
>> dize za 17 sekundi. cache=1M. Da mogu da ukljucim 32bit disk i file...
Izgleda da bug u FPU-u nije i jedini Pentiumov bug. :)))
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.658oki.,
>> Help! Imam problema sa startovanjem DELPHI-ja.
>> Svaki put dobijem poruku "out of system resources".
Imao sam i ja istih problema, ali sam ga se rešio
prelaskom sa 800x600x64K u 640x480x256 boja.
pascal.659the.seki,
Koristeci editor koji se dobija u izvornom kodu uz tp7.0 i
pokusavajuci da
ga prilagodim svojim potrebama naisao sam na sledeci problem:
potrebno mi je da nekako saznam ime fajla koji je ucitan u trenutno
aktivni
prozor.u literaturi, a ni u helpu nisam nasao nacin kako da resim
ovo.naime
kao dobar kandidat za resenje pojavljuje se current ptr. iz tgroup
klase,
koji sadrzi ptr. na trenutno aktivni view objekat, ali on je
deklarisan kao
pview, a polje title i metoda gettitle pojavljuju se dva nivoa nize u
hijera-
rhiji. any hints will be wellcomed...
the.seki
pascal.660nlazic,
*> Kad smo vec kod toga, kakva je razlika izmedju TP7 i BP7?
1. Integrisano okruženje TP7 radi u realnom, a BP7 u protected modu.
2. BP7 (kao i BPW7) može da generiše kod za realni, protected ili Windows
mod, a TP7 samo za ovaj prvi.
Pozdrav,
:) Nebojša :)
pascal.661nlazic,
*> bi mogao napisati koliko zauzima BP 7.0 kada se instalira cijeli sa
*> windows drajverima.
Za kompletan BP7 će ti trebati oko 30M i još oko 4M za RTL. Naravno,
ovo je moguće smanjiti ako se odrekneš primera i još nekih neobaveznih
stvari.
Pozdrav,
:) Nebojša :)
pascal.662adzem,
> Imao sam i ja istih problema, ali sam ga se rešio
> prelaskom sa 800x600x64K u 640x480x256 boja.
Upravo je to rešenje. Doduše ja sam se "provukao"
sa 800x600x256. :)
Hvala. :)
pascal.663mmitrovic,
::::: MOV AL,$20
::::: OUT $20,AL
::::: E pa satim radi ali pojma nemam kako, (i ćorava koka ubode zrno ;)) )
::::: Voleo bih da znam čemu to služi, a takođe i da napomenem da nije htelo
::::: da radi dok nisam setovao opciju za 286 mod u compileru.
Ova sekvenca javlja 8259 čipu da je obradjen trenutni hardverski
interapt i da može da pozove sledeći (u zavisnosti od prioriteta).
Ukoliko tvoja rutina (ili originalna koju pozivaš) nema ovaj kod
PIC će ostati u ubedjenju da se taj interapt još uvek izvršava i neće
puštati interapte nižeg prioriteta. Što se tiče vremenskog perioda
izmedju ovog koda i dešavanja novog interapta, to nemam pojma, al sigurno
nije istog trenutka.
286 mod nema veze sa ovim, pošto je isti proces i na XTu. Nešto drugo
ti ne valja.
::::: Procedure Citanje;Interrupt;
::::: Begin
::::: asm
::::: PUSHF
::::: MOV DX,$278
::::: IN AX,DX
::::: MOV LSB,AL
::::: MOV MSB,AH
::::: end;
::::: Writeln(MSB,' ',LSB);
::::: asm
::::: MOV AL,$20
::::: OUT $20,AL
::::: end;
::::: End;
Pošto više ne pozivaš originalni handler, PUSHF instrukcija ti je
višak. Port $278 je PDT (Printer Data Latch) registar LPT2: porta na
I/O kartici. On vraća zadnji bajt koji je poslat preko LPT2:.
Port $279 uvek vraća 00h. Zato ti učitavanje 16b vrednosti sa
porta $278 vraća samo PDT bajt. Ne znam šta si očekivao da ti vrati?
::::: Procedure MaskaS;
::::: ....
::::: for i:=1 to 6 do begin
::::: SR:=Pamti MOD 2;
::::: Pamti:=Pamti DIV 2;
::::: End;
Sve si ovo mogao da zameniš sa:
SR:=(Pamti shr 6) and 1;
pascal.664mmitrovic,
::::: {$F+}
::::: procedure trt-mrt; interrupt;
::::: ....
::::: end;
::::: {$F-}
::::: ovo je poželjno, ako se koristi overlay ili graph modul ...
I dalje ne vidim razlog, interapt procedure će uvek biti u memoriji
bez obzira na to što se možda nalaze u Overlay modulima, a entry i exit
delovi interapt procedure će uvek biti isti, prevodili se u near ili
far modu. Nema nikakvog efekta.
PS. Kakve veze ima GRAPH sa svim ovim?
pascal.665mmitrovic,
::::: Dobro, a da li je isti pisan za W95 ?
Puno me pitaš, ja znam samo ono što je Borland izjavio, a to je i
ovde bilo okačeno. Da će Delphi da podržava Win95, a da će patch
izaći uporedo sa zvaničnom verzijom WINa. Da li će sam Delphi da
radi pod WIn95, pojma nemam.
pascal.666mmitrovic,
::::: mikroprocesorski prekidi.
::::: Postoje hardverski interapti. Njih pozivaju razni uredjaji
::::: Postoje interapti BIOS-a (Basic Input/Output System). Primer je
::::: Postoje interapti DOS-a. Primer je interapt 21 koji se izmedju
::::: Postoje i takozvani NMI (Non-Maskable interrupts) koji UVEK
Chill out, man. :)
Interapti se ne dele po tome ko ih poseduje već po tome KO ih
generiše. Hardverske interapte generiše hardver, a softverske
isključivo kod preko INT instrukcije (svi hardverski interapti su
ujedno i softverski, pošto svaki IRQ ima svoj asocirani softverski
interapt broj).
Jedina podpodela je podela hardverskih interapta na mikroprocesorske
i periferijske, koji se razlikuju po lokaciji logike koja ih generiše
(prvi se generišu unutar procesora, druge generiše logika na ploči,
u slučaju PCa to je kolce sa oznakom 8259 (PIC), tj dva takva kolca kod
AT+ mašina. PIC generiše interapt na zahtev (IRQ) "okolnog" hardvera).
NMI interapt se ne može maskirati u procesoru (preko CLI instrukcije),
ali se u PCu može maskirati van procesora obraćanjem CHIPSETu preko kojeg
ide NMI linija. Jedini NMI koji se generiše u PCu je parity error u
memoriji.
Deljenje nulom (INT 00h) generišu DIV i IDIV instrukcije kad nastupi
deljenje nulom, ili kad rezultat deljenja ne može da stane u destination
registar. Ovo je mikroprocesorski interapt i može se maskirati CLI
instrukcijom.
pascal.667mmitrovic,
::::: Deljenje nulom (INT 00h) generišu DIV i IDIV instrukcije kad nastupi
...
::::: CLI instrukcijom.
Posipam se pepelom, mikroprocesorski prekidi se ne mogu maskirati
CLI instrukcijom, time ni DIV by 0. Ipak, DIV by 0 nije NMI interapt,
pošto dotični dolazi van procesora.
pascal.668vitez.koja,
#=> -kako da se pri ponovnom pozivu programa proveri da li
#=> je vec ranije insta- liran i da se eventualno ispise
#=> poruka o tome?
Postoji više načina da se ovo postigne, a najjednostavniji je da
se neki od slobodnih vektora (ne služi me pamćenje, možda lupam,
ali mislim da su 60h-65h slobodni) usmeri da pokazuje na neki
string (npr. "Moj TSR"). Kasnije proveravaš da li na adresi na
koju pokazuje vektor postoji taj string, i ako postoji, program
je već učitan.
pascal.669evlad,
<> I dalje ne vidim razlog, interapt procedure će uvek biti u memoriji
<> bez obzira na to što se možda nalaze u Overlay modulima, a entry i exit
U _priručniku_ stoji da treba kod overlay-a koristiti far model ...
A i u help-u lepo piše ...
<> PS. Kakve veze ima GRAPH sa svim ovim?
Onomad kad sam _petljao_ sa grafikom i preuzimao _print screen $5_
nije htelo da šljaka bRez far modela ispred deklaracije interrupt procedure
i isključenjem na kraju ... (bili su ulinkovani bgi drajveri i fontovi
u exe ...)
Možda je to jedinstven slučaj i fenomen, al' eto desilo se :(
pascal.670dvesic,
> Onomad kad sam _petljao_ sa grafikom i preuzimao _print screen
> $5_ nije htelo da šljaka bRez far modela ispred deklaracije
> interrupt procedure
Borlandovi alati imaju lepu ;) osobinu da prilikom startup dela, pre
izvršenja programa, sačuvaju neke vektore (među njima i $5) pa da ih
vrate po završetku rada. Možda je to uzrok ?
pascal.671saricl,
!!! Port $279 uvek vraća 00h. Zato ti učitavanje 16b vrednosti sa
!!! porta $278 vraća samo PDT bajt. Ne znam šta si očekivao da ti vrati?
U nekoj od prethodnih poruka sam već naveo da je na toja adresi
Uređaj koji ima šesnaestobitnu magistralu, i koji je potpuno ispravan.
To je inače šesnaestobitni D registar a u pitanju je kartica koju sam
sam napravio, pa sad pišem software za nju.
pascal.672evlad,
<> Borlandovi alati imaju lepu ;) osobinu da prilikom startup dela, pre
Ako si pratio diskusiju, video bi u _onom_ primeru (msg 610) SwapVectors :)
Ne smem da tvrdim, ali ako stoji swapvectors izgleda da treba i {$F+}
kod novog interapta, kako i zašto baš bih voleo da znam :)
pascal.673postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Interrupt
Date: Mon, 17 Jul 1995 00:02:02
VS> Imam neki primer TSR-a iz TP 7.0:
VS> {$M $800,0,0}
VS> uses dos,crt;
VS> var oldint:procedure;
VS> {$F+}
VS> procedure click_on; interrupt;
VS> begin
VS> if Port[$60] < $80 then begin
VS> sound(5000);
VS> delay(1);
VS> nosound
VS> end;
VS> inline($9C);
VS> oldint
VS> end;
VS> {$F-}
VS> begin
VS> getintvec($9,@oldint);
VS> setintvec($9,addr(click_on));
VS> writeln('Click Installed.');
VS> keep(0)
VS> end.
VS> Ovo radi bez problema (cuje se klik na pritisak tastera). Pitanja su:
VS> -kako da se pri ponovnom pozivu programa proveri da li je vec ranije
VS> insta- liran i da se eventualno ispise poruka o tome?
Na primer: Nadjes prvo neki slobodan port (ili memorijsku lokaciju). Stavis
na port (ili mamoriju) prilikom prvog postavljanja novog interapta neku
unaprerd definisanu vrednost. Kada se ponovo startuje program, on prvo
ispita tu adresu, i tako zna da li je novi interapt vec instaliran.
VS> -kako da se program deinstalira (neka mu se npr. prosledi parametar
VS> 'off' u komandnoj liniji) ?
Prvo moras negde da sacuvas originalni interapt (disk) pre nego sto ga prvi
put zamenis svojim. Kasnije, kada hoces da ga deinstaliras, samo ga nadjes
tamo gde si ga sacuvao i postavis kao novi. Pri tom promenis i vrednost
pominjanu u gornjem delu teksta i to je to :)
__ Pozdrav from Vladimir __
... Be Young! Have Fun! Use Silver Xpress!
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.674postmast,
From: Sloba.Markovic@f133.n103.z38.setnet.setnet.co.yu (Sloba Markovic)
Subject: :) INTERAPTI :(
Date: Mon, 17 Jul 1995 08:34:01
Origin.SUBJ: :) INTERAPTI :(
Origin.FROM: NEMESIS
Origin.TO : All
Evo malo teorije ;)
NE> kako da na INT 13 (to je valjda onaj za HDD READ/WRITE/...)
INT 13h je interapt ROM BIOS-a i sluzi za DISK I/O. To znaci da
radi sa svim magnetnim medijima (disketama i hardovima). On
sadrzi vise od 25 funkcija koje sluze za na primer citanje,
pisanje, verifikovanje, formatiranje, itd.
NE> zakacim rutinu koja ce da proveri proveri da li je pisanje...
Ne kontam, INT 13h sluzi za DISK I/O, pa prema tome ima i funkciju
za pisanje po disku...
NE> ako neki odredjani datum da upise ne po tom mestu gde je trebalo
NE> nego po NULTNOM SEKTORU NULTNE STAZE...
NE> ili nekom drugom tako da se onesposobi HDD :)
Sve sto cu ti reci, je da pokupis sa nekog BBS-a ASSEMBLER.NG
(Norton Guide za Assembler) ili PC-HELP. U njima se nalazi
kompletan opis interapta - pa sam provali sve sto ti treba. Pazi
da ne postanes zrtva svojom krivicom...
Usput, nije fora razbiti coveku HDD. Pomisli da on mozda ne drzi
BACKUP lii da mozda ima na disku neke stvari koje je sa mukom
napravio ili napisao. Pomisli kako bi tebi bilo da ti se tako
nesto desi...
POGOTOVO NIJE FORA RAZBITI COVEKU DISK NA TAKO >LAME< NACIN!
NE> Ovo je samo TERETSKO PITANJE O:)))))))
Nemoj da kenj*s... a ja sam veverica... :))))))
Pozdrav,
+ ,
O:)-|--< MAGIC FLASH!
+ '
... Nekad sam bio neodlucan! A mozda i nisam?!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.675postmast,
From: Sloba.Markovic@f133.n103.z38.setnet.setnet.co.yu (Sloba Markovic)
Subject: :) INTERAPTI :(
Date: Mon, 17 Jul 1995 08:43:02
Origin.SUBJ: :) INTERAPTI :(
Origin.FROM: Predrag Supurovic
Origin.TO : Nemesis
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> da upise ne po tom mestu gde je trebalo nego po
NE> NULTNOM SEKTORU NULTNE STAZE ...
NE> ili nekom drugom tako da se onesposobi HDD :)
PS> Evo ga opet Mali Neizivljeni hoce da pravi viruse i trojance....
PS> Zar te to jos uvek nije pustilo?
Prvo, Predraze, sta god da je uradio, NEMAS prava da ljude koje
ne poznajes nazivas MALIM NEIZIVLJENIM. Niti znas da je mali, a
ni to da li je neizivljen.
Pa pobogu, zar ja moram tebe, administratora, da podsecam na to
kako se obraca coveku sa kojim komuniciras preko elektornske poste.
BTW, jesi li ti cuo za smajlije? Daj, upotrebi koji... :)
Bolje bi ti bilo da si mu odgovorio na pitanje... ako znas...
Usput, covek nije pitao kako da napravi virus ili trojanac ili
kako da unisti disk nekom drugom - samo je pitao za neke osnovne
podatke o INT 13h. Mozda i nesto korisno ispadne od toga...
No hard feelings. Pozdrav,
+ ,
O:)-|--< MAGIC FLASH!
+ '
... _\|/_ LEGALIZE IT !!!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.676postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Interrupt
Date: Mon, 17 Jul 1995 11:22:53
VS> -kako da se pri ponovnom pozivu programa proveri da li je vec ranije
VS> insta- liran i da se eventualno ispise poruka o tome?
VMZ>
VMZ> Na primer: Nadjes prvo neki slobodan port (ili memorijsku lokaciju).
VMZ> Stavis na port (ili mamoriju) prilikom prvog postavljanja novog
VMZ> interapta neku unaprerd definisanu vrednost. Kada se ponovo startuje
VMZ> program, on prvo ispita tu adresu, i tako zna da li je novi interapt
VMZ> vec instaliran.
Malo je jednostavnije ono kako rade FOSSIL drajveri. Kad pozoves funkciju
za inicijalizaciju FOSSIL-a on ti u AX vrati odredjenu vrednost, cime
potvrdjuje da je drajver tu. Ako posle poziva dobijes neku drugu vrednost
to znaci da drajver nije instaliran.
... BR> Ja sam stvarno uvek u pravu. Dokazano.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.677postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: PASCAL
Date: Mon, 17 Jul 95 01:37:00 +0100
---> ::::: kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...) zakacim
---> ::::: rutinu koja ce da proveri proveri da li je pisanje ...ako je pisanje
---> ::::: .. i ako neki odredjani datum da upise ne po tom mestu gde je
---> ::::: trebalo nego po NULTNOM SEKTORU NULTNE STAZE ...
---> ::::: ili nekom drugom tako da se onesposobi HDD :)
---> ::::: ps. Ovo je samo TERETSKO PITANJE O:)))))))
---> Ako je teoretsko pitanje onda uradis bas kao sto si rekao, preuzmes
---> INT 13 i sacekas zahtev za ispis i preusmeris ga na 0,0,1. (Ne postoji
---> nulti sektor).
---> Za prakticnu stranu ces morati sam da se snades, jer nemam nameru da
---> ti pomazem da nekom zagorcas zivot. :(
Ma ok ... nasao sam neke svoje stare rutine koje rade to citanije i PISANIJE
sa/na HDD :)
Hm .. ja sam mislio da on na tom 0,0,0 drzi podatke koji
su mu fabricki ubacni od DISKU i da kontroler brani upis na taj 0,0,0
Moze bit da ja gresim ...
ps.
Necu da zagorcam zivot samo bi da nesto zastitim od nepozeljnih ociju ..
Znaci krajnje miroljubiva PRIMENA !:)
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.678postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: PASCAL
Date: Mon, 17 Jul 95 01:37:00 +0100
---> @FROM :Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu N
---> @UMSGID :<805785566.AA04031@setnet.setnet.co.yu> N
---> @UNEWSGR:01yu.prog.pascal N
---> Path: herkules!fon!setnet!uucp
---> From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
---> Newsgroups: yu.prog.pascal
---> Subject: Re: pascal
---> Message-ID: <805785566.AA04031@setnet.setnet.co.yu>
---> Date: Wed, 05 Jul 1995 13:02:28
---> Sender: uucp@setnet.setnet.co.yu
>>> Koja je najnovija verzija TP koja moze da radi na XT-u?
---> TP 6.0 definitivno (nije najnovija). Radio sam godinu dana na XT
---> i radi dobro, ali kad sam upoznao 386/40 onda sam :))))) od radosti.
---> Nuh, glavno da radi.
TP 7.0 radi na XT-u ...
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.679postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: PASCAL
Date: Mon, 17 Jul 95 01:37:00 +0100
"S>> U buri pitanja evo i mog:
"S>>
"S>> Moze li mi neko reci kako da natjeram rutine za misa da rade
"S>> i u grafickom modu na Hercules kartici? Pojavljuje mi se
"S>> sve samo ne misiji pointer. Ako je o ovome vec bilo reci
"S>> pomoglo bi i da me uputite na te poruke.
---> Mislim da ima (nema) moj source na Sveti Sava BBS ili na TCS BBS pod
---> imenom MOUSE_PAS.ZIP (ili ARJ), ako ga nisu obrisali. Imas primjer i
za
---> grafiku i za tekst, pa mi javi da li valja.
---> imas mahanje
---> ASKO
---> ... Nema vode, pa nemamo struje... Sta li je sled*%^& NO CARRIER
---> * Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
Pa uz TP se dobije i podrska za misa ... u GR modu :)
ps.
Sveti SAVA .... PRIJEDOR ???
GDE JE TO ??????????????????
????????????????????????????
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.680postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: :) INTERAPTI :(
Date: Mon, 17 Jul 95 01:37:00 +0100
NE>> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE>> zakacim rutinu koja ce da proveri proveri da li je
NE>> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE>> da upise ne po tom mestu gde je trebalo nego po
NE>> NULTNOM SEKTORU NULTNE STAZE ...
NE>> ili nekom drugom tako da se onesposobi HDD :)
---> Evo ga opet Mali Neizivljeni hoce da pravi viruse i trojance....
---> Zar te to jos uvek nije pustilo?
A bre supurovic ...
Pa ti bre imas FOBIJU od VIRUSA ...
Sada je cilj cak plemenit ...:)))
Treba napraviti zastitu nekih podataka ... tako ako neko udje
neovlasceno u system ... nece se odma pojaviti shit ...
nego ako oce da nesto upisuje !!!
A podaci su takvi da ako se jedan BYTE! promeni ...
Sve moze da se baci ...;((
Ma pustilo me to ...
ps.
PROBLEM JE RESEN !!!
pps.
I HATE SET NET!
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.681postmast,
From: Ivan.Jocic@p5.f101.n101.z38.setnet.setnet.co.yu (Ivan Jocic)
Subject: :) INTERAPTI :(
Date: Mon, 17 Jul 1995 07:56:55
VMZ> nemaju ulazne parametre), ali ne i za sve (na primer 10h), jer paskal
VMZ> promeni vrednosti nekih ulaznih registara (pri inicijalizovanju
VMZ> interrupt procedure). Znaci mora se koristiti assembler :)
E pa za Pascal i nisam siguran kako sve ide, ali za C/C++ znam da
sigurno moze jer ima mogucnost da interapt prima parametre u fazonu:
void _interrupt novi13h(unsigned _dx, unsigned _cx....) tako nekako
(postoji tacno definisan redosled) tako da i INT10 moze na istom fazonu
da prima parametre koje kasnije prosledjujes.
Shadow
... Anything that can go wrong will go wrong.
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.682postmast,
From: Dejan.Jovanovic@p5.f101.n101.z38.setnet.setnet.co.yu (Dejan Jovanovic)
Subject: :) INTERAPTI :(
Date: Mon, 17 Jul 1995 00:49:47
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> zakacim rutinu koja ce da proveri proveri da li je
NE> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE> da upise ne po tom mestu gde je trebalo nego po
NE> NULTNOM SEKTORU NULTNE STAZE ...
NE> ili nekom drugom tako da se onesposobi HDD :)
Axxx, kad se setim da sam isto to pokusavao pre jedno dve godine...
Teoretski, veoma je tesko preuzeti iz paskala neki interapt koji pazi na
sadrzaje registara (21,13,10). U mscu imas jedan jedini chaininterrupt i
toliko, u bcu malo teze a u pascalu najteze. Mislim da se otprilike mucis
sa ds registrom. Najlakse bi ti bilo da predjes u c ili asm jer ne vredi
neki krupni tsr pisati u pascalu ali kad si zapeo...
Ideja je otprilike ovakva (imao samnegde sors ali sam ga obrisao):
interapt myint.....
begin
jmp X;
Y:
asm
pushf
call 1122:3344 (neznam dal' moze ovako da se pise odavno nisam u pascalu)
e, ovo u memoriji izgleda 9a44332211
end; ^^^^^^^^^^
jmp Z;
X: radi sta treba
vrati sve registre pa i ds na staro (ne pipaj ss i sp)
jmp Y;
Z:
end;
e sad pitas se pa gde on skace na 1122:3344, e to si sredio u glavno delu
programa:
udjes u neki dibager i nadjes koliko bajtova od pocetka myinta se nalazi
'call 1122:3344'
begin
skines i postavis adrese interapta;
memw[seg(myint):ofs(myint)+brojbajtova+1]:=ofs(oldint); umesto 3344 ofset koji
ti treba
memw[seg(myint):ofs(myint)+brojbajtova+3]:=seg(oldint); umesto 1122 seg koj
ti treba
keep();
end.
I ako nisam pogresio to je to. Malo komplikovano na prvi pogled. Tu je
ideja pa ispravi moje greske ako ih ima. Preporucio bi ti koriscenje
nekog dobrog dibagera u svakom koraku rada. Ovo je razmisljanje od pre
dve godine, kad bih se bacio na razmisljanje sigurno bih nasao neko cistije
resenje ali...
Opet ti kazem bolje nauci c onda mogu da te natrpam sorsovima za interapte i
tome slicno pa pravi male mikelangelice.
... Do not dring and drive, take a joint and fly
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.683postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: :) INTERAPTI :(
Date: Mon, 17 Jul 1995 04:36:03
NE>> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE>> zakacim rutinu koja ce da proveri proveri da li je
NE>> pisanje ...ako je pisanje .. i ako neki odredjani datum
NE>> da upise ne po tom mestu gde je trebalo nego po
IJ> Pa prosto, postavi svoj interapt, i kada vidis sta je tebi stiglo, pa
IJ> ako ti se svidja prosledis originalnom, a ako ne...
E nije bas tako jednostavno :(( Ono vazi za neke interapte (one koji nemaju
ulazne parametre), ali ne i za sve (na primer 10h), jer paskal promeni
vrednosti nekih ulaznih registara (pri inicijalizovanju interrupt procedure).
Znaci mora se koristiti assembler :)
__ Pozdrav from Vladimir __
... Every Silver lining has a clone around it.
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.684postmast,
From: zsteva@magic.hobbiton.co.yu (Zeljko Stevanovic)
Subject: Re: :) INTERAPTI :(
Date: Fri, 21 Jul 1995 05:12:16 GMT
Predrag Supurovic (broker@setnet.co.yu) wrote:
: SM> Usput, covek nije pitao kako da napravi virus ili trojanac ili
: SM> kako da unisti disk nekom drugom - samo je pitao za neke osnovne
: SM> podatke o INT 13h. Mozda i nesto korisno ispadne od toga...
Ko bi pitao kako da napravi virusa ili trojanca ?????????
Iako mozda to stvano bi hteo....
: Nemesisa znam dobro i to oko INT pokusava da sazna vec vrlo dugo vremena.
: Vec i vrapci znaju da hoce da pise trojance i viruse, pa mu zato jos uvek
: niko nije ni odgovorio.
Int 13 moze se upotrebi za sve i svasta ali preuzimanje nije bas jednostavan
proces ..
pascal.685postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: CD-Rom Serial No
Date: Wed, 19 Jul 1995 22:03:00
Hi!
Jel zna neko nacin da dodjem do serijskom broja CD diska koji je ubacen u
CD-Rom? Da li uopste CD ima neki serijski broj i jel moze da se do njega
dodje i ako je u pitanju muzicki CD?
Pozdrav:)
... File not found, I'll load something *I* think is interesting.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.686postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: :) INTERAPTI :(
Date: Wed, 19 Jul 1995 13:55:50
NE> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE> da upise ne po tom mestu gde je trebalo nego po
NE> NULTNOM SEKTORU NULTNE STAZE ...
NE> ili nekom drugom tako da se onesposobi HDD :)
SM> Prvo, Predraze, sta god da je uradio, NEMAS prava da ljude koje
SM> ne poznajes nazivas MALIM NEIZIVLJENIM. Niti znas da je mali, a
SM> ni to da li je neizivljen.
Slucajno sam vrlo dobro upucen. :)
SM> Bolje bi ti bilo da si mu odgovorio na pitanje... ako znas...
Xa, nema sanse. Momku to treba da bi ZLOupotrebio.
SM> Usput, covek nije pitao kako da napravi virus ili trojanac ili
SM> kako da unisti disk nekom drugom - samo je pitao za neke osnovne
SM> podatke o INT 13h. Mozda i nesto korisno ispadne od toga...
Nemesisa znam dobro i to oko INT pokusava da sazna vec vrlo dugo vremena.
Vec i vrapci znaju da hoce da pise trojance i viruse, pa mu zato jos uvek
niko nije ni odgovorio.
... Necu da budem clan nikakve mafije.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.687simipr,
Ljudi da li neko zna zašto ( a ubedjen sam da mi se ne pričinjava)
kod Borland Pascal 7 for Windows programa dolazi do čudnog efekta koji bi se
mogao opisati kao prestizanje vrha (blok naredbi po deklaraciji) od strane dna
(ono što bi trebalo da se izvrši posle) procedure? Kako to sprečiti? (razne
varijante sa proverom međurezultata vode u mrtvu petlju. Ja sam još uvek u
čudu...
pascal.688postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: :) INTERAPTI :(
Date: Thu, 20 Jul 1995 02:06:14
On 17 Jul 95 07:34am, Sloba Markovic wrote to NEMESIS:
NE>> ako neki odredjani datum da upise ne po tom mestu gde je trebalo
NE>> nego po NULTNOM SEKTORU NULTNE STAZE...
NE>> ili nekom drugom tako da se onesposobi HDD :)
SM> Usput, nije fora razbiti coveku HDD. Pomisli da on mozda ne drzi
SM> BACKUP lii da mozda ima na disku neke stvari koje je sa mukom
SM> napravio ili napisao. Pomisli kako bi tebi bilo da ti se tako
SM> nesto desi...
SM> POGOTOVO NIJE FORA RAZBITI COVEKU DISK NA TAKO >LAME< NACIN!
Ej stvarno, nije ti fazon! Ako vec hoces nekog da zezas napravi virus koji
izbacuje neke glupe poruke, okrece slova naopacke, menja boje, itd. Ima
milion nacina da nekog zezas, a da to ne bude destruktivno. Inace,
najprimitivniji oblik virusa su oni sto zaje*u disk. To je najlakse uraditi,
i time neces pokazati svoje programersko umece.
NE>> Ovo je samo TERETSKO PITANJE O:)))))))
Jeste, bas se ubilo od teorije ;))
__ Pozdrav from Vladimir __
... "To moze samo Dostojevski, ... i ne samo on vec i mnogi drugi"
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.689postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: :) INTERAPTI :(
Date: Thu, 20 Jul 1995 02:06:15
On 17 Jul 95 07:43am, Sloba Markovic wrote to Predrag Supurovic:
NE>> kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
NE>> da upise ne po tom mestu gde je trebalo nego po
NE>> NULTNOM SEKTORU NULTNE STAZE ...
NE>> ili nekom drugom tako da se onesposobi HDD :)
PS>> Evo ga opet Mali Neizivljeni hoce da pravi viruse i trojance....
PS>> Zar te to jos uvek nije pustilo?
SM> Usput, covek nije pitao kako da napravi virus ili trojanac ili
SM> kako da unisti disk nekom drugom - samo je pitao za neke osnovne
SM> podatke o INT 13h. Mozda i nesto korisno ispadne od toga...
E sad moram i ja malo da se umesam ;) Gledano sa teoretske strane, tvoja
primedba je na mestu, ali nismo vljda sisali vesla? SVI znamo da PISANJE
PO NULTOM SEKTORU NULTE STAZE (uz komentar da treba disk nekom da se
onesposobi ;) ne moze mirisati ninasta konstruktivno!
I ja sam se nekada zanosio idejama o pravljenju virusa i unistavanju tudjih
podataka, ali sam shvatio da je to potpuno besmisleno. Sta dobijam time?
Nekom drugom nanosim stetu, ali da li sebi donosim korist? Mislim da bi
mnogo pametnije bilo da covek ako zeli da se dokazuje uzme malo i pogleda
one introe do 4K za PC. Zar nije pametnije vreme utrositi praveci tako
nesto? Nije ni to konstruktivan rad, ali znaj da se u svetu programera (ne
Windows ili slicnih s*anja)takvi ljudi izuzetno cene. Virus nije tesko
napraviti. Sta vise, ako znas osnovni princip mozes sje*ati disk kome god
hoces, ali time ne dokazujes nista. Zato jos jednom ponavljam svim 'virus'
zaljubljenicima, ako zelite da se dokazujete, pravite nesto sto ce drugi
ljudi moci da cene, i cemu ce drugi moci da se dive. Vasem virusu se niko
nece diviti, definitivno !
Ajd' sad, okan'te se corava posla ;))
__ Pozdrav from Vladimir __
... Xpress Yourself!
* Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.690postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: CD-Rom Serial No
Date: Thu, 20 Jul 1995 11:17:06
KB> Jel zna neko nacin da dodjem do serijskom broja CD diska koji je
KB> ubacen u CD-Rom? Da li uopste CD ima neki serijski broj i jel moze da
KB> se do njega dodje i ako je u pitanju muzicki CD?
Serijski broj postoji, tj. bolje je reci, predvidjen je ali ne mora
da bude upisan na CD disketu. Samo objasnjenje kako se citaju podaci
je malo podugacko. Moze ti pomoci clanak Miljana Jovanovicaa, objavljen
u casopisu PC broj 4, cija tema je upravo pristup CD ROM-u.
... Zajedno smo - skupa
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.691kdrazan,
Da li ja to nisam našao il' Delphi nema podršku za Access format
baza podataka ? Pa nije valjda da su na okržljalom dbf-u još uvijek ?!
Da li su ga makar unapredili ? (žuj dbf :(((( )
gpa#aH.
pascal.692kenza,
(;> Da li ja to nisam nasao il' Delphi nema podrsku za Access format
(;> baza podataka ? Pa nije valjda da su na okrzljalom dbf-u jos uvijek ?!
Ako izaberes pri instalaciji, ima podrsku za Access baze.
pascal.693oki.,
>> Jel zna neko nacin da dodjem do serijskom broja CD diska koji je ubacen u
>> CD-Rom? Da li uopste CD ima neki serijski broj i jel moze da se do njega
>> dodje i ako je u pitanju muzicki CD?
Ovo je i mene zanimalo dok sam 'pravio' CD plejer u VBu
(sada Delphi-ju ;). I meni je trebao serijski broj CDa da
bi plejer mogao da prepozna koji muzički CD je ubačen, pa
da onda na osnovu toga o'ma ispiše naziv CDa i spisak
pesama koje ima. Međutim, serijski broj za (muzički) CD
NE POSTOJI !(?). Izvor informacije: Microsoft Developers
CD br.7 koji kaže da ne postoji jedinstveni serijski broj CDa
već da se on (veštački) dobija tako što se na dužinu CDa
(u sekundama) doda suma br_pesme*duzina_pesme. Sa velikom
verovatnoćom se neće desti da dva CDa imaju isti broj.
P.S. Formulu za računanje uzmite sa malom dozom rezerve pošto
sam to gledao pre jedno 4-5 meseci, pa postoji šansa da
nije baš ista kao u MSovom Cdu - ali u principu to je to.
pascal.694jasicp,
> Ej stvarno, nije ti fazon! Ako vec hoces nekog da zezas napravi virus koji
> izbacuje neke glupe poruke, okrece slova naopacke, menja boje, itd. Ima
Sta mislis, sta je bilo korisnije : rakete fau-1 i fau-2 ili penicilin
? A ovo prvo je isto bio vrhunac nauke i tehnike. Bolje pravi programe a
ne viruse.
Inace, najbolji virus je da napises jedno 100kb koda teksta kao
komentara koji se ne izvrsava, pa onda na kraju format c:, i sve nazoves
CINDY.EXE.
pascal.695bcvetkovic,
Da li neko zna kako se u turbo pascalu moze ocitavati da li pritisnuto vise
tastera, kao i koji su kodovi tastera koji su pritisnuti?
Ako neko ima vec gotovu proceduru, zamolio bih ga da je posalje.
Hvala.
pascal.696postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: Phind da phile
Date: Thu, 20 Jul 1995 16:21:00
Hi!
Vec podugacko vreme mucim se sa rutinu koja bi trebala naci fajl, ukoliko je isti u poddirektorium nekog direktoriuma (graficki ovako):
\--+Neki_DIR-----PodDir1
|____PodDir2
I recimo da je fajl u poddir2.
To sto sam do sada uradio je da samo trazi fajl u svih direktoriuma koji su u root-u, odn. rutina ce prebarati Neki_Dir, pa ce se vratiti u root pa preci na drugi dir i tako dalje. Sve sto sam pokusao za trazenje poddirektor- iuma kad sam vec vo Nek
i_DIR je bilo neuspeh :(
Ima neko ko ce ovo da resi ? (YuP :) )
Cheers, 0GZy
* 0Gi'S eDiT0R * I used to be sane, but I got better
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.697postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: printer
Date: Fri, 21 Jul 1995 07:04:00
VBĆ Potrebna mi je rutina (TSR) koja moze da bilo kakav znak (ASCII)
VBĆ sto treba da se pecati ispita, i potrebi da zameni da nekim drugim
VBĆ znakom. Pr. na paralelan port (PRN) dolazi ASCII=65, i treba da
VBĆ propusti na pr. ASCII 165. Pozdrav, Vasil.
Mada ovo nije to sto trazis evo ti rutinu koja dadenog fajla pecati bas kao sto ti oces :)
program stampajDrugChar;
{ Author : Ognen Spiroski }
{ CopyRight : Mozete kopirati ovaj program do mile volje sve dur ne menjate } { nista u njemu, sem karaktere za stampanje }
{ Za privatnu upotrebu mozete modificirati ovaj program ali ne sirite } { modificiranu verziju }
{ AllRights are somewhere on the authors disc }
{ Namena : Kolko tolko pomoci Vasilu, vezbanje programiranje u Pascalu }
uses crt,printer;
type changechar=array[33..255] of record
tochange,changewith:integer;
end;
{ tochange je promenliva koja pokazuje kod karaktera koji treba da se menja } { changewith je promenljiva koja pokazuje koji ASCII kod da se zameni umesto } { promenljive tochange }
var f:text;
ch,chp:char;
chc:changechar;
x,chb:integer;
imef:string;
function charout(ch:char):integer;
var i:integer;
begin
i:=ord(ch);
for x:=33 to 255 do
if chc[x].tochange=i then
begin
write('OK! ');
charout:=chc[x].changewith;
exit;
end
else
charout:=i;
end;
begin
for x:=33 to 255 do { Sa ovim malim ciklusom ociscujemo sva polja }
begin { Za da ne dodje do neke neprileke a bogami i greske }
chc[x].tochange:=0;
chc[x].changewith:=0;
end;
chc[79].tochange:=79;chc[79].changewith:=48;
{ Ovako bi trebalo da se menjaju karakteri za pecatenje }
chc[111].tochange:=111;chc[111].changewith:=248;
{ Radi neke preglednosti bolje bi bilo da prom. tochange ima istu vrednost }
{ kao i x, ali nema veze }
clrscr;
write('Vnesi ime na fajl sto ke se stampa :');readln(imef);
assign(f,imef);
reset(f);
while not(eof(f)) do
begin
read(f,ch); { prom. chb koja se dobije iz funkcije charout je }
chb:=charout(ch); { ASCII kod koji bi trebao da se pecati }
chp:=chr(chb); { chp je character dobijen od ASCII koda promenljive chb }
write(lst,chp);
end;
close(f);
end.
Bio sam na ideju da se napravi mali editor na fajlove koji bi u sebe sadrzili informacije za menjanje ascii kod pri izlez na stampac, ali se nisam nahvatio na ideji jer sam ionako vec malo skrenuo sa teme jer programcic nije TSR :) BTW, hteo bih da
cujem mislenje nekih programera za ovaj programcic jer prvi put saljem neki moj programcic :))
( notice that repeating up there :)) dreadful ;) )
CheerZ 0GZy
* 0Gi'S eDiT0R * Alo Semos?!Mi crkna glusecot!Ne sum go hranel?!?
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.698postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: Problem
Date: Fri, 21 Jul 1995 15:50:00
SDĆ Hi ALL , hope you are having a nice day
Me 2. :)
SDĆ Da li neko zna kako bih mogao da ogranicim duzinu neke string
SDĆ promenljive,
SDĆ Nemislim na ono primer: String[20]
SDĆ nego kada me kompijuter pita npr. upisi ime?
SDĆ Da ja upisujem ime ali prilikom upisivanja ako predje neki broj
SDĆ karaktera
SDĆ da mi vise ne dozvoli da upisujem.
SDĆ Neznam koliko sam jasan, ali to bi trebalo izgledati ovako:
Meni si jasan :)
SDĆ Upisi ime ? _____________
SDĆ ^ako mi ime prelazi ovu poziciju, kompijuter
SDĆ treba da mi zabrani dalje unosenje vec da
SDĆ ga izbrisem, i upisem nesto drugo.
SDĆ Stevan Dejanovic - Mad Dog
SDĆ Upisi ime ? ______________
SDĆ Da mi se nedogodi kao ovde da string
SDĆ prelazi
SDĆ crtu.
Okay, za ovo bi trebalo da sam napises rutinu koja bi citala karaktere, zapisavala bi ih u string i ekran i kada karakteri dodju do odredeni broj da se karakter ne zapise u string i ne izleze na ekran. Jedino sto je ovde malce "potesko" je sta se sl
uci kada se stisne backspace :) Ukoliko ne mozes da se snagjes samo reci :) Uradicemo :)
SDĆ --- Terminate 1.51/Pro
^.^_--- Odakle ovo ?? :) Moze i ja da dobijem ;) ?
0GZy
* 0Gi'S eDiT0R * All we live in yellow SUBROUTINE.
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.699postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Problem
Date: Sat, 22 Jul 1995 12:30:02
Hi,
Evo ti funkcije koja ce ti zameniti ReadLn, a ima ogranicenje duzine.
Funkcja jepisana za unos numerickih vrednosti, ali je vrlo lako
prepraviti je tako da se mogu unositi svi karakteri. Sami u Case u skup
sa ciframa, dodaj i ostala slova, na kraju izbaci deo koji konvertuje
string u Integer (funkcija Val) i prepravi da funkcija vraca string
umesto integer-a.
(***********************************************************************)
(***********************************************************************)
Function NReadLn (len : byte) : Integer;
{ potprogram za unosenje numericke vrednosti
ima istu funkciju kao ReadLn (prom) ako je prom tipa Integer
samo sto obezbedjuje kontrolu unosa
}
var
tempstr : string;
tempnr, code, F : integer;
tempchr : char;
templen : Byte;
Kraj : Boolean;
begin
tempstr := ''; { na pocetku nema otkucanog teksta }
Kraj := False; { u petlji ostajemo dok ne zatreba izlaz }
Repeat
templen := Length (tempstr);
If Keypressed then begin { sacekaj pritisak tastera }
tempchr := ReadKey;
Case tempchr of
{cifre} '0'..'9' : begin { cifre su dozvoljene }
tempstr := tempstr + tempchr;
Write (tempchr);
end;
{BckSpc} #8 : begin { BackSpace - obrisi poslednju cifru }
tempstr := Copy (tempstr, 1, templen-1);
if templen-1 > -1 then Write (#8+' '+#8);
end;
{Enter} #13 : Kraj := True; { Enter - kraj unosa }
end; { case }
end; { if }
until kraj;
{ izracunaj numericku vrednost unetu kao string }
Val ('0'+ Copy (tempstr,1,len), tempnr, code);
{ obrisi ispisane karaktere i ispisi izracunatu vrednost }
For F := 1 to Length (tempstr) do Write (#8,' ',#8);
WriteLn (tempnr);
NReadln := tempnr;
end; { function NReadLn}
... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.700postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Problem
Date: Thu, 20 Jul 1995 22:48:00
Hi ALL , hope you are having a nice day
Da li neko zna kako bih mogao da ogranicim duzinu neke string promenljive,
Nemislim na ono primer: String[20]
nego kada me kompijuter pita npr. upisi ime?
Da ja upisujem ime ali prilikom upisivanja ako predje neki broj karaktera
da mi vise ne dozvoli da upisujem.
Neznam koliko sam jasan, ali to bi trebalo izgledati ovako:
Upisi ime ? _____________
^ako mi ime prelazi ovu poziciju, kompijuter
treba da mi zabrani dalje unosenje vec da
ga izbrisem, i upisem nesto drugo.
Stevan Dejanovic - Mad Dog
Upisi ime ? ______________
Da mi se nedogodi kao ovde da string prelazi
crtu.
Neznam koliko ste me razumeli ali ako ima neko zainteresovan
da mi pomogne, probacu da mu jos pojasnim.
u napred hvala.
───┐
└───> Yours sincerely, Stevan Dejanovic
■ TerMail/QWK ■ Jedite go*na!!! Nemoze milion muva biti ludo. :)))
-+- OLMS 2.5p UNREG
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.701postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Problem
Date: Fri, 21 Jul 1995 11:44:14
SD> Da li neko zna kako bih mogao da ogranicim duzinu neke string
SD> promenljive, Nemislim na ono primer: String[20]
SD> nego kada me kompijuter pita npr. upisi ime?
SD> Da ja upisujem ime ali prilikom upisivanja ako predje neki broj
SD> karaktera da mi vise ne dozvoli da upisujem.
Moraces sam da napises funkciju koja ce ti zamentiti ReadLn.
Ako ne znas kako to da uradis, reci, pa cu ti poslati jednu
koja je vrlo primitivna ali radi bas to sto ti treba.
... BR> Ja sam stvarno uvek u pravu. Dokazano.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.702postmast,
From: Miodrag.Smolovic@f101.n101.z38.setnet.setnet.co.yu (Miodrag Smolovic)
Subject: Re: Problem
Date: Sat, 22 Jul 1995 03:50:27
Ono, nema sta se ne moze, ali mislim da ti je najpametnije da napises
neki unit EDIT ili sl, kome ces (ako proceduri ili funkciji da prosledis,
npr. X i Y koord. i velicinu stringa koji zelis da uneses). Vise posla, ali
resavas problem sa editorom ( to sa duzinom stringa je samo jedan od
problema koji se javljaju kada koristis Read i ReadLn). A mozes da skaniras
tastaturu i da potom ispises to slovo na ekranu i tako simuliras Read.
Nekada sam i ja imao slican problem i uradio sam modul EDIT, ali sam
posle nesto cackao da ubacim neke pointere (koji mi nisu trebali), tako da
sam nesto, ako dobro pamtim, zeznuo. Ako se niko ne javi ili ne nadjes
nesto bolje, potrazicu ga negde po disketama, ako ga nisam izbrisao :)
Mik
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.703postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: Problem
Date: Fri, 21 Jul 1995 20:51:00
SD> Stevan Dejanovic - Mad Dog
SD> Upisi ime ? ______________
SD> Da mi se nedogodi kao ovde da string prelazi
SD> crtu.
SD> Neznam koliko ste me razumeli ali ako ima neko zainteresovan
SD> da mi pomogne, probacu da mu jos pojasnim.
Jasno mi je ssta zzeliss. Sa readln, tessko da bi to postigao.
Zato najbolje je da probass da napraviss svoju readln rutinu.
Otprilike izgleda ovako.
x:=0 {Ovo je brojacc slova}
repeat
c:=readkey; {Dozvoljava korisniku da pritisne samo jedan taster}
******
write(c); {Ispisi slovo}
inc(x); {Uveccaj brojacc slova za jedan}
if x=MaxSlova then trte-mrte; {Dali smo dostigli zzeljeni broj slova?}
until c=13; {Ponavljaj dok ne pritisnes ENTER}
....
Ovde program nastavlja, ukoliko je korisnik "kresnuo" ENTER.
E ovo je kako ssto sam rekao, sami mali kostur. Naravno, DEL, kurzori i
ostale stvari ne rade, tako da morass sam da se pobriness. Ubaci taj
deo koda kod (****)
Sad se javlja i dodatni problem. Kurzori generissu dva koda, prvi
poccinje nulom. Znacci morass da se pobriness i o tome.
c:=readkey;
if c<>#0 then f:=false else
begin
f:=true;
c:=readkey;
end;
Chombe KAN
___
■ OLX 2.1 TD ■ Vraccaj dedinu sliku!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.704jasicp,
> Ej stvarno, nije ti fazon! Ako vec hoces nekog da zezas napravi virus koji
> izbacuje neke glupe poruke, okrece slova naopacke, menja boje, itd. Ima
Sta mislis, sta je bilo korisnije : rakete fau-1 i fau-2 ili penicilin
? A ovo prvo je isto bio vrhunac nauke i tehnike. Bolje pravi programe a
ne viruse.
Inace, najbolji virus je da napises jedno 100kb koda teksta kao
komentara koji se ne izvrsava, pa onda na kraju format c:, i sve nazoves
CINDY.EXE.
pascal.705evlad,
<> Da li neko zna kako se u turbo pascalu moze ocitavati da li pritisnuto
<> vise tastera, kao i koji su kodovi tastera koji su pritisnuti?
Well, 1 pritisak na taster = 1 interrupt. U principu je moguće
pročitati samo jedan taster. Eh stvar programera je da ih _ulovi_ :)
<> Ako neko ima vec gotovu proceduru, zamolio bih ga da je posalje.
Ako si mislio na ovako nešto ...
{--------------------------------------------------------------------------}
Function Read_KeyBoard : Char;
Const
CtrlMask = $04;
AltMask = $08;
Var
KBDFlag : Byte Absolute $0040 : $0017;
Begin
Read_KeyBoard := ReadKey;
CommandKey := ((KBDFlag AND AltMask) <> 0) OR
((KBDFlag AND CtrlMask) <> 0);
Alt := (KBDFlag AND AltMask) <> 0;
Ctrl := (KBDFlag AND CtrlMask) <> 0;
If KeyPressed then
Begin
Read_KeyBoard := ReadKey;
CommandKey := True;
End
End; { Read_KeyBoard }
{--------------------------------------------------------------------------}
Pozdrav Vlada.
pascal.706bcvetkovic,
Vlada, hvala ti na tako ekspresnom odgovoru, ali zamolio bih te da mi
malo pojasnis pojedine stvari u funkciji(ako je moguce red po red).
Ne znam zasto, ali cini mi se ipak da bih trebao da malo pojasnim moje
pitanje. Evo i jedan primer sta bih ja zeleo da uradim:
Pretpostavimo da drzim istovremeno pritisnute tastere S i K. E sada
ako pritisnem taster W onda treba da se izvrsi nesto, a ako pritisnem
taster I onda treba da se izvrsi nesto drugo. Takodje i ako samo
drzim pritisnut taster S pa dok je on pritisnut pritisnem taster W onda treba
da se izvrsi isto ono.
Ne znam da li ikada probao igru kao sto je BATTLE ISLE isi HISTORY LINE.
Hteo bih da uradim nesto kao u toj igri (mislim na nezavisno izvrsavanje
odredjenih komandi koje igraci biraju putem tastature (to sto je jedan
igrac pritisnuo svoje neke funkcionalne tastere uopste ne utice na to
sto neki drugi igrac pritiska svoje)).
Nadam se da si ukapirao sta mislim. Ako ti slucajno nije jasno, ostavi mi
poruku, jer i sam moram da priznam da sam ovo iznad strasno zakukuljio i
zamumuljio.
Hvala.
Bosko
pascal.707postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: oslobodjene part1:memorija
Date: Sat, 22 Jul 1995 21:03:34
Jel' zna neko kako da oslobodim memoriju koju mi je zauzeo moj rodjeni
rezidentni program?
... Ko ima gliste nikad nije sam.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.708postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Problem
Date: Sun, 23 Jul 1995 16:43:00
Merhaba PREDRAG SUPUROVIC, nasIlsIn
Tarih 22-Jul-95 ve Saat 11:30 iken,
PREDRAG SUPUROVIC, 'Problem' konusunda konučmuč
STEVAN DEJANOVIC bakalIm ne demič
PS> Hi,
PS> Evo ti funkcije koja ce ti zameniti ReadLn, a ima ogranicenje duzine.
PS> Funkcja jepisana za unos numerickih vrednosti, ali je vrlo lako
PS> prepraviti je tako da se mogu unositi svi karakteri. Sami u Case u skup
PS> sa ciframa, dodaj i ostala slova, na kraju izbaci deo koji konvertuje
PS> string u Integer (funkcija Val) i prepravi da funkcija vraca string
PS> umesto integer-a.
U medju vremenu sam napravio unit sa naredbom za unos stringa odredjene duzine
ali dobro ce mi doci i ovaj za Integer, mada bi mi vise odgovarao za Real.
Mislim da cu moci nekako da to ispravim. Jedini problem ja decimalni zarez
ili tacka kako hoces. U svako slucaju hvala ti za ovo, ako imas ideju za
Real-ne promenljive javi.
P.S. Ako zelis mogu da ti posaljem unit.
Stevan Dejanovic sana mutluluklar diler
■ TerMail/QWK ■ Terminate has most advertising origin lines ;-)
-+- OLMS 2.5p UNREG
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.709postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Problem
Date: Sun, 23 Jul 1995 16:43:01
Merhaba OGNEN SPIROSKI, nasIlsIn
Tarih 21-Jul-95 ve Saat 14:50 iken,
OGNEN SPIROSKI, 'Problem' konusunda konučmuč
STEVAN DEJANOVIC bakalIm ne demič
OS> Okay, za ovo bi trebalo da sam napises rutinu koja bi citala karaktere,
OS> zapisavala bi ih u string i ekran i kada karakteri dodju do odredeni broj
OS> da
OS> se karakter ne zapise u string i ne izleze na ekran. Jedino sto je ovde
OS> malce
OS> "potesko" je sta se sluci kada se stisne backspace :) Ukoliko ne
OS> mozes da
OS> se snagjes samo reci :) Uradicemo :)
Nemas problema uradio sam tako ali sam mislio da mozda ima neki jednostavniji
nacin( 2-3 reda:))).
OS> SDĆ --- Terminate 1.51/Pro
OS> ^.^_--- Odakle ovo ?? :) Moze i ja da dobijem ;) ?
To mozes naci na Ecstasy BBS ( +381/22-53-884 )
Stevan Dejanovic sana mutluluklar diler
■ TerMail/QWK ■ Terminate has most advertising origin lines ;-)
-+- OLMS 2.5p UNREG
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.710postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Problem
Date: Sun, 23 Jul 1995 16:43:02
Merhaba KLIMENT ANDREEV, nasIlsIn
Tarih 21-Jul-95 ve Saat 19:51 iken,
KLIMENT ANDREEV, 'Problem' konusunda konučmuč
STEVAN DEJANOVIC bakalIm ne demič
SD>> Stevan Dejanovic - Mad Dog
SD>> Upisi ime ? ______________
SD>> Da mi se nedogodi kao ovde da string
KA> prelazi
SD>> crtu.
SD>> Neznam koliko ste me razumeli ali ako ima neko zainteresovan
SD>> da mi pomogne, probacu da mu jos pojasnim.
KA> Jasno mi je ssta zzeliss. Sa readln, tessko da bi to postigao.
KA> Zato najbolje je da probass da napraviss svoju readln rutinu.
KA> Otprilike izgleda ovako.
..........
KA> E ovo je kako ssto sam rekao, sami mali kostur. Naravno, DEL, kurzori i
KA> ostale stvari ne rade, tako da morass sam da se pobriness. Ubaci taj
KA> deo koda kod (****)
KA> Sad se javlja i dodatni problem. Kurzori generissu dva koda, prvi
KA> poccinje nulom. Znacci morass da se pobriness i o tome.
Ma nije to toliko vazno da mora i kurssore da podrzava, ja sam jedno-
stavno postavio sa "case" ako je u opsegu brojeva i slova da ispise, ako
je kod 13(enter) da prihvati, ako je 27(esc) da ga izbrise i ako 8(bkspace)
da brise zadnji karakter. Uslucaju da se pritisne nesto drugo
cuje se bip i ne prihvata taj kod.
U svakom slucaju hvala sto si se javio
Stevan Dejanovic sana mutluluklar diler
■ TerMail/QWK ■ Terminate has most advertising origin lines ;-)
-+- OLMS 2.5p UNREG
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.711evlad,
<> Ne znam zasto, ali cini mi se ipak da bih trebao da malo pojasnim moje
<> pitanje. Evo i jedan primer sta bih ja zeleo da uradim:
Uh. Pogledaj moj odgovor ponovo. Uvek možeš pročitati samo jedan taster
(svaki taster 1 interrupt).
<> Ne znam da li ikada probao igru kao sto je BATTLE ISLE isi HISTORY LINE.
<> Hteo bih da uradim nesto kao u toj igri (mislim na nezavisno izvrsavanje
<> odredjenih komandi koje igraci biraju putem tastature (to sto je jedan
<> igrac pritisnuo svoje neke funkcionalne tastere uopste ne utice na to
<> sto neki drugi igrac pritiska svoje)).
Igre _uglavnom vrše čitanje tastature_ direktno sa keyboard kontrolera ...
Tada možeš kontrolisati i _gornju_ i _donju_ ivicu tastera ...
Rešenje koje sam ti ja poslao je _uslovno_ čist paskal bez upotrebe
inline ili asm ... funkcija redakey ti vraća ascii kod tastera, ako je #0
tada ponovnim pozivom readkey dobijaš scan kod tastera (F1-F12, itd).
E pošto s ovim nisu _pokrivene_ kombinacije ALT-CR ili ALT-SPACE ili itd ...
imaš u funkciji čitanje extended statusa tastature iz low memory,
koje pamti kao fleg-ove alt i ctrl ... Cela mudrost.
pascal.712pedjak,
> Pretpostavimo da drzim istovremeno pritisnute tastere S i K. E sada
> ako pritisnem taster W onda treba da se izvrsi nesto, a ako
> pritisnem taster I onda treba da se izvrsi nesto drugo. Takodje i
> ako samo drzim pritisnut taster S pa dok je on pritisnut pritisnem
> taster W onda treba
Svojevremeno smo raspravljali o tome i rešenje je sledeće:
Moraš napraviti sopstvenu interapt rutinu koja zamenjuje stari
int9. U okviru te rutine moraš voditi evidenciju o tome koji su
tasteri pritisnuti, a koji ne. Kako to raditi..? Int9 se poziva dva
puta: kada se taster pritisne i kada se pusti. O kom se slučaju
radi možeš utvrditi očitavanjem bajta sa porta 60h, pa ukoliko je
najviši bit setovan taster je pušten, u protivnom je pritisnut.
Podatke pamti u nekoj tablici. Na ovaj način možeš da utvrdiš da li
je proizvoljan broj tastera istovremeno pritisnut.
pascal.713bcvetkovic,
Predraze, hvala ti mnogo. Zaboravio sam na to, iako to koristim svaki put
kada programiram u Visual Basic-u.
Takodje hvala i tebi Vlado.
Pozdrav,
Bosko.
pascal.714mmitrovic,
::::: Ne smem da tvrdim, ali ako stoji swapvectors izgleda da treba i {$F+}
::::: kod novog interapta, kako i zašto baš bih voleo da znam :)
To bih i ja voleo da znam, jer to nema veze jedno sa drugim.
Daj primer koji nije hteo da ti radi.
pascal.715mmitrovic,
::::: Usput, covek nije pitao kako da napravi virus ili trojanac ili
::::: kako da unisti disk nekom drugom - samo je pitao za neke osnovne
::::: podatke o INT 13h. Mozda i nesto korisno ispadne od toga...
Citiram gospon NEMESISa:
----------------------------------------------------------------------
::::: kako da na INT 13 ( to je valjda onaj za HDD READ/WRITE/...)
::::: zakacim rutinu koja ce da proveri proveri da li je
::::: pisanje ...ako je pisanje .. i ako neki odredjani datum
::::: da upise ne po tom mestu gde je trebalo nego po
::::: NULTNOM SEKTORU NULTNE STAZE ...
::::: ili nekom drugom tako da se onesposobi HDD :)
----------------------------------------------------------------------
IMHO, reklo bi se da je ipak TO pitao. NHF, off course.
::::: Prvo, Predraze, sta god da je uradio, NEMAS prava da ljude koje
::::: ne poznajes nazivas MALIM NEIZIVLJENIM. Niti znas da je mali, a
::::: ni to da li je neizivljen.
To što hoće da napravi destruktivni program ga ne čini automatski
neiživljenim. Možda mu je neko gadno stao na žulj, pa hoće osvetu. ;)
Meni nije jasno, zašto ti od nas očekuješ da mu u tome pomognemo?
pascal.716mmitrovic,
::::: Hm .. ja sam mislio da on na tom 0,0,0 drzi podatke koji
::::: su mu fabricki ubacni od DISKU i da kontroler brani upis na taj 0,0,0
::::: Moze bit da ja gresim ...
Sektori u traci se indeksiraju počev od 1. Nema skrivenog 0tog sektora
::::: Necu da zagorcam zivot samo bi da nesto zastitim od nepozeljnih ociju ..
::::: Znaci krajnje miroljubiva PRIMENA !:)
Nije tako zvučalo prošli put.
pascal.717mmitrovic,
::::: Treba napraviti zastitu nekih podataka ... tako ako neko udje
::::: neovlasceno u system ... nece se odma pojaviti shit ...
::::: nego ako oce da nesto upisuje !!!
To samo ovde može da ti prođe. Na zapadu za te stvari možeš po
CMA-u da popiješ do 2 godine izležavanja. Na račun države, naravno. :)
pascal.718mmitrovic,
::::: interapt myint.....
......
::::: end;
:)))))))
Bože, koje komplikacije. Zbog tako minornog problema. Ajd bar da niko
nije ostavio frame za hardw. interapt rutinu. :)
pascal.719mmitrovic,
::::: E nije bas tako jednostavno :(( Ono vazi za neke interapte (one koji
::::: nemaju ulazne parametre), ali ne i za sve (na primer 10h), jer paskal
::::: promeni vrednosti nekih ulaznih registara (pri inicijalizovanju
::::: interrupt procedure). Znaci mora se koristiti assembler :)
Pascal za prenos parametara u rutinu koristi pseudo-parametre.
Da sad ne prpisujem help, sve piše u BP HELPu pod "interrupt". Ako
nekom baš nije jasno,...
pascal.720evlad,
<> To što hoće da napravi destruktivni program ga ne čini automatski
<> neiživljenim. Možda mu je neko gadno stao na žulj, pa hoće osvetu. ;)
Well kad smo kod osvete.
U bivšoj firmi je bila jedna _lady_ koja je puno _prosipala_ (NE)znanje
i niko kao ona & comp. Naravno osveta je pala:
Pošto je redovno koristila Brief editor, u njenom radnom diru je
napravljen mali programčić (u paskalu) koji se zvao baš B.EXE.
Program je zatamnio ekran, napisao zlokobnu poruku (ovako nekako ne sećam
se baš dobro ima tome već par godina ...)
_All data will be lost_
_Hard Disk formated xxx perent_
plus pištanje na speaker.
Naravno disk je ostao živ i zdrav, čisto je bila poruka na ekranu bez
ikakvih zlih posledica po podatke ili računar. E a da ste videli facu :)))
Uzneveren pogled levo desno i brzo ugasila računar. Pošto nas je bilo više
niko nije reagovao, dotična je otrčala kod šefa ... ( i šef je učestvovao
u tom projektu ali ona nikad to nije saznala ;>> ) Dođe ona sa šefom, upali
računar kad sve nornalno ... (standradna žvaka ko to koga, smejanje ...)
Dan danas se smejem kad se setim. Naravno od tada je osoba NN radikalno
prenenula svoj stav i sve se dobro završilo.
pascal.721postmast,
From: enikcevv@galeb.etf.bg.ac.yu (Vladimir Nikcevic)
Subject: Re: oslobodjene part1:memorija
Date: Fri, 28 Jul 1995 23:46:04 GMT
Article <806647902.AA04723@setnet.setnet.co.yu>,
Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic) :
> Jel' zna neko kako da oslobodim memoriju koju mi je zauzeo moj rodjeni
> rezidentni program?
Ctrl-Alt-Del? =;->
_\\|//_
0(` 0-0 ')0
---------------------------------ooO-(_)-Ooo----------------------------------
Nikcevic Vladimir, dipl-Ing.
Masinski Fakultet Beograd <enikcevv@ubbg.etf.bg.ac.yu>
______________________________________________________________________________
pascal.722postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: SCANHELP
Date: Wed, 26 Jul 1995 11:01:50
dm> You can get the current released version of Scanhelp from the
dm> ftp://garbo.uwasa.fi/pc/turbopas directory. It's scanh???.zip.
Da li neko moze da mi FTP-uje ovu datoteku? Nije mnogo dugacko,
a program je izvrstan za paskal programere.
SCANHELP omogucava da generisete Turbo Pascal HLP datoteke za svoje
Unit-e i da ih ubacujete direktno u TP IDE. Program generise HLP iz
komentara u samom Unit-u, tako da je odrzavanje dokumentacije izuzetno
jednostavno, tj. svodi se na imene u samim komentarima.
Help inace, moze biti generisan u jos nekoliko formata, izmedju
ostalog i TeX. Imam neku prilicno staru verziju a gore je
informacija gde se moze naci najnovija.
... BR> Opet si, Mihajlo, pogresio...
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.723postmast,
From: mirko@vesta.tmf.bg.ac.yu (Mirko Cetkovic)
Subject: Delphi (problem)
Date: Fri, 28 Jul 1995 11:02:49 GMT
pascal.724postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Wed, 26 Jul 1995 18:47:04
*>> Kad smo vec kod toga, kakva je razlika izmedju TP7 i BP7?
"L> 1. Integrisano okruzenje TP7 radi u realnom, a BP7 u protected modu.
"L> 2. BP7 (kao i BPW7) moze da generise kod za realni, protected ili
"L> Windows mod, a TP7 samo za ovaj prvi.
Cekaj, a sta je onda TPX.EXE ? Zar to nije TP7 u protected modu?
__ Pozdrav from Vladimir __
... "Ja ukapiram odmah, samo mi treba malo vremena."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.725postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Wed, 26 Jul 1995 18:47:05
Hi,
Ja sam se skoro zabavljo problemom tastature, pa ti evo saljem i gotov
source :)
uses crt,dos;
var b,cb:byte;
w:word;
kmap:array[0..127] of boolean; {Mapa pritisnutih tastera}
int9:procedure;
procedure keybmap;interrupt;
begin
asm
in al,60h
mov b,al
and b,01111111b
mov cb,al
shr cb,7
mov al,0f7h
out 64h,al
end;
if cb=0 then kmap[b]:=true; {setuje i unsetuje podatke u mapi}
if cb=1 then kmap[b]:=false;
inline($9c);
int9;
end;
begin
getintvec($9,@int9);
setintvec($9,addr(keybmap));
repeat
gotoxy(1,1);
for w:=0 to 255 do {testira koji su tasteri pritisnuti}
begin
if kmap[w]=true then write(w) else write('.');
end;
until b=1;
end.
Ako ima nekih problema, mail me.
__ Pozdrav from Vladimir __
... Silver Xpress!...... Don't leave home without it!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.726postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: pascal
Date: Thu, 27 Jul 1995 00:20:46
*** CITAT : "Dejan Sekulic" ***
"S> Koristeci editor koji se dobija u izvornom kodu uz tp7.0 i
"S> pokusavajuci da ga prilagodim svojim potrebama
........
-Ako ti program radi sa samo jednim fajlom u isto vreme resenje je
jednostavno: FileName varijablu iz FileOpen procedure deklarisi kao
globalnu;
-Ako program radi sa vise fajlova moze se primeniti i metoda grube sile:
u nekom array-u pamti sve FileName koji su ucitani :)
( Ovo pisem iz glave jer nisam imao vremena da petljam po Browser-u ;),
a ako se ne varam onda bi trebalo da lako mozes saznati Title trenutnog
prozora (tj. ime fajla)).
-Ako si 'lud' k'o ja onda saznaj poziciju gornjeg levog ugla prozora pa
trazi po ekranskoj memoriji u toj liniji kod 32 (space), iza njega do
sledeceg 32 je ime fajla ;). Probaj, mozda ti i podje za rukom O:).
... Ko ima gliste nikad nije sam.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.728nlazic,
*> Cekaj, a sta je onda TPX.EXE ? Zar to nije TP7 u protected modu?
U mojoj instalaciji BP7 fajl TPX.EXE uopšte ne postoji. Evo opisa
kompajlera koji se isporučuju u paketu:
BP.EXE - IDE koji radi u DOS protected modu i generiše kod za DOS
real, DOS protected i WINDOWS platforme,
BPW.EXE - IDE koji radi pod WINDOWS-ima i generiše kod za DOS
real, DOS protected i WINDOWS platforme,
TURBO.EXE - IDE koji radi u DOS real modu i generiše kod za isti,
BPC.EXE - command-line komajler koji radi u DOS protected modu, a
generiše izvršni kod za sve tri platforme,
TPC.EXE - command-line komajler koji radi u DOS real modu i generiše
kod za real mode.
Pozdrav,
:) Nebojša :)
pascal.729dr.urbano,
Dali neko ima source mod-obj.obj( za manipulaciju mod fajlova)
Mozda ce cak boMMMMMMMMM Klje ako neko zna format .mod fajla (header i sl.)
Unapred hvala,
Vlada.
pascal.730vitez.koja,
Da li je moguce da u Delphi-ju nepostoje vec gotovi uobicajeni dijalozi
(Open File isl.) ? Ja nesto ne mogu da ih nadjem.
pascal.731dr.urbano,
Dali neko ima source mod-obj.obj (rad sa .mod fajlovima)
Jos bolje ce vrsiti pos'o ako neko zna format .mod fajla (header i sl.)
P.S.
Dali neko zna ka Kko da prebacim .wav --> .mod. Nisam dali moze direktno
da se konvertujeHH ili mora u neki drugi format pak onda u .mod.
Unapred zahvalan,
Vlada.
pascal.732postmast,
From: milan.stojanovic@rstones.durlan.co.yu (Milan Stojanovic)
Subject: Oslobodjene part1:mem
Date: Sat, 29 Jul 1995 11:27:00 CET
QWK To: Vladimir Nikcevic
> Jel' zna neko kako da oslobodim memoriju koju mi je zauzeo moj rodjeni
> rezidentni program?
VN> Ctrl-Alt-Del? =;->
MARK + RELEASE. Ima ih na skoro svakom BBS-u.
Piksi.
... You're a Redneck if you own a homemade fur coat.
--- Blue Wave/RA v2.12 [NR]
* Origin: BBLink <tm> * Rolling Stones * 018.325.314 * Nis (2:382/105.5)
pascal.733postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Interrupt
Date: Wed, 26 Jul 1995 20:09:00
Samo da te podsetim, tema razgovora ( ili bolje 'razpisivanja' :)) je bio
neki TSR program u TP7.0 koji na pritisak tastera odgovara sa 'click'.
VS> -kako da se pri ponovnom pozivu programa proveri da li je vec ranije
VS> insta- liran i da se eventualno ispise poruka o tome?
VMZ> Na primer: Nadjes prvo neki slobodan port (ili memorijsku lokaciju). Stavis
VMZ> na port (ili mamoriju) prilikom prvog postavljanja novog interapta neku
VMZ> unaprerd definisanu vrednost. Kada se ponovo startuje program, on prvo
VMZ> ispita tu adresu, i tako zna da li je novi interapt vec instaliran.
Ovo je za sada OK. Probao sam i radi. Tu vrednost bacam na neku adresu u
RAM-u. Interesuje me koji su portovi obicno slobodni, posto mi memorija ne
deluje pouzdano jer tuda moze da vrslja bilo sta.
VS> -kako da se program deinstalira (neka mu se npr. prosledi parametar
VS> 'off' u komandnoj liniji) ?
VMZ> Prvo moras negde da sacuvas originalni interapt (disk) pre nego sto ga prvi
VMZ> put zamenis svojim. Kasnije, kada hoces da ga deinstaliras, samo ga nadjes
VMZ> tamo gde si ga sacuvao i postavis kao novi. Pri tom promenis i vrednost
VMZ> pominjanu u gornjem delu teksta i to je to :)
Originalni interapt sam sacuvao u memoriji ( 4 bajta interapt vektora $09 ) i
nije bilo problema. Pri ponovnom pozivu programa iz komandne linije sa para-
metrom 'off' tastatura prestaje da mi 'klikce', jer sam vektoru $09 vratio
staru vrednost. Ali(!), kad sam pokrenuo sysinfo, video sam da je program i
dalje u memoriji, tj da memorijski prostor koji je program zauzeo prilikom
prve instalacije _nije_ oslobodjen nakon vracanja stare vrednosti interapt
vektoru $09. Sta da se radi ?
VMZ> __ Pozdrav from Vladimir __
Takodje __ Pozdrav from Vladimir __ :)
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.734postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Thu, 27 Jul 1995 14:40:03
"C> Vlada, hvala ti na tako ekspresnom odgovoru, ali zamolio bih te da mi
"C> malo pojasnis pojedine stvari u funkciji(ako je moguce red po red).
"C> Ne znam zasto, ali cini mi se ipak da bih trebao da malo pojasnim moje
"C> pitanje. Evo i jedan primer sta bih ja zeleo da uradim:
Hi,
ne znam da li je ovo bas meni upuceno posto na SetNet sa Beointerneta ne
stize ima primaoca poruke, ali po sadrzaju mislim da jeste.
"C> Pretpostavimo da drzim istovremeno pritisnute tastere S i K. E sada
"C> ako pritisnem taster W onda treba da se izvrsi nesto, a ako pritisnem
"C> taster I onda treba da se izvrsi nesto drugo. Takodje i ako samo
"C> drzim pritisnut taster S pa dok je on pritisnut pritisnem taster W onda
"C> treba da se izvrsi isto ono.
Pa to je vrlo jednostavno , zamisli da taster 'W' ima kod recimo 40, a
taster 'I' kod 50. Ti treba samo da proveris da li su ti kodovi seetovani
u onom baferu, koji predstavlja mapu tastature. Stavis samo
IF KEYMAP[40] then bla bla bla...
Ako zelis recimo da detektujes kombinaciju tastera stavis
IF KEYMAP[40] AND KEYMAP[50] then bla, bla, bla...
Bez obzira da li su jos neki tasteri pritisnuti, uslov ce biti ispunjen ako
su istovremeno pritisnuti 'W' i 'I'. Nadam se da si ovo trazio, ali ako nisi
probaj malo blize objasniti problem, pa da resimo.
"C> Ne znam da li ikada probao igru kao sto je BATTLE ISLE isi HISTORY LINE.
"C> Hteo bih da uradim nesto kao u toj igri (mislim na nezavisno izvrsavanje
"C> odredjenih komandi koje igraci biraju putem tastature (to sto je jedan
"C> igrac pritisnuo svoje neke funkcionalne tastere uopste ne utice na to
"C> sto neki drugi igrac pritiska svoje)).
Pa da, to ti onaj program u potpunosti omogucava.
"C> Nadam se da si ukapirao sta mislim. Ako ti slucajno nije jasno, ostavi
"C> mi poruku, jer i sam moram da priznam da sam ovo iznad strasno
"C> zakukuljio i zamumuljio.
Mislim da jesam, ali ako nisam, ispravi me :)
__ Pozdrav from Vladimir __
... "Sliver" Xpress ..... the movie!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.735postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: pascal
Date: Thu, 27 Jul 1995 18:34:00
VMZ> getintvec($9,@int9);
VMZ> setintvec($9,addr(keybmap));
Kakva je razlika izmedju @ime_funkcije i Addr(ime_funkcije) ?
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.736mmitrovic,
::::: Da li je moguce da u Delphi-ju nepostoje vec gotovi uobicajeni dijalozi
::::: (Open File isl.) ? Ja nesto ne mogu da ih nadjem.
Treba da ih bude, pošto ih ima u OWLu, a on je u potpunosti prenesen
u Delphi. U BPu je bio u BWCC.DLL fajlu (ako se ne varam, nisam skoro
ništa radio), a u Delphiu ne znam, pronjuškaj malo. :)
pascal.737nlazic,
*> Da li je moguce da u Delphi-ju nepostoje vec gotovi uobicajeni
*> dijalozi (Open File isl.) ? Ja nesto ne mogu da ih nadjem.
Postoje. Nalaze se u VCL paleti , na strani DIALOGS.
Pozdrav,
:) Nebojša :)
pascal.738nlazic,
*> staru vrednost. Ali(!), kad sam pokrenuo sysinfo, video sam da je
*> program i dalje u memoriji, tj da memorijski prostor koji je program
*> zauzeo prilikom prve instalacije _nije_ oslobodjen nakon vracanja
*> stare vrednosti interapt vektoru $09. Sta da se radi ?
Pogledaj poruku 7.631. Tamo imaš rutinu za skidanje TSR-a iz memorije.
Pozdrav,
:) Nebojša :)
pascal.739andrejt,
To: milan.stojanovic@rstones.durlan.co.yu (Milan Stojanovic)
Subj: Re: Oslobodjene part1:mem
Q> MARK + RELEASE. Ima ih na skoro svakom BBS-u.
Cini mi se da je trazio da program sam sebe obrise iz memorije...
Dakle ko god da je bio ova procedura ce mu uraditi posao:
---
Procedure UnLoad;
Type MCB = Record
Tok : Byte;
PID, Size : Word;
End;
Var Blk : ^MCB;
Adr : ^Word;
R : Registers;
Begin
R.AH := $52;
MsDos(R);
Adr := Ptr(R.ES, R.BX-2);
Blk := Ptr(Adr^, 0);
Repeat
If (Blk^.PID = PrefixSeg) then
Begin
R.AH := $49;
R.ES := Seg(Blk^)+1;
MsDos(R);
End;
If (Blk^.Tok = $4D) Then
Blk := Ptr(Blk^.Size+Seg(Blk^)+1, 0)
Else
Blk := nil;
Until (Blk=nil);
End;
pascal.740oki.,
>> Da li je moguce da u Delphi-ju nepostoje vec gotovi uobicajeni dijalozi
>> (Open File isl.) ? Ja nesto ne mogu da ih nadjem.
Nije moguće :). Ima ih u Compenent Palette/Dialogs i to dva
komada, jedan za open, a jedan za save.
Prebaciš odgovarajući na formu i podesiš ga preko Object
Inspector-a, a sam poziv ide kao npr: OpenDialog1.Execute;
pascal.741bcvetkovic,
Vlado, ova druga poruka nije bila namenjena tebi iz prostog razloga sto
do tada ni tvoja prva poruka nije pristigla, a uz to sve sam lepo ukapirao,
ali hvala ti. E, posto sam ja sve to lepo ukapirao i napisao programcic
koji radi upravo to sto bi trebalo da radi :) ,naisao sam na jedno ALI
(uvek postoji neko ali), a ono se sada sastoji u sledecem:
Posle odredjenog broja pritisaka na tastere, javlja se cuveno BEEP, a ja
ne znam kako da ga eliminisem, pogotovu zatotada dolazi do delimicne
blokade (prihvata tek peti ili ... pritisnuti taster). :((
Nadam se da ces znati ti ili neko drugi odgovor i na ovo moje pitanje. :)
Unapred zahvalan
Bosko.
pascal.742jovca.car,
/* Da li je moguce da u Delphi-ju nepostoje vec gotovi uobicajeni dijalozi
CMDIALOG.VBX ?
pascal.743pedjak,
> Cekaj, a sta je onda TPX.EXE ? Zar to nije TP7 u protected modu?
Da, ova verzija kompajlera je sastavni deo Turbo Pascal 7.0 paketa.
Radi u zaštićenom modu i uopšte je prilično osakaćena verzija
BP.EXE koja dolazi sa Borland Pascal-om 7.0
pascal.744bcvetkovic,
Uspeo sam da izbegnem BEEP-anje na sledeci nacin:
mem[$0:$41a]:=mem[$0:$41c]
Time sam pokazivac na pocetak bafera tastature preusmerio na kraj bafera
tastature i time ispraznio bafer.
pascal.745vitez.koja,
#=>>> Da li je moguce da u Delphi-ju nepostoje vec gotovi
#=>>> uobicajeni dijalozi (Open File isl.) ? Ja nesto ne
#=> mogu da ih nadjem.
#=>
#=>
#=> Nije moguće :).
Hvala svima na odgovoru :)
Vidim da ima ljudi koji se zanimaju Delphi-jem. Fino :) Šta imate
zanimljivo od dokumentacije u elektronskoj formi? Ja imam nekih
13 MB .PDF (Adobe Acrobat) dokumentaraca, skinutih sa CDa. Da li
postoji još nešto?
pascal.746postmast,
From: Sasa.Karapandzic@f123.n103.z38.setnet.setnet.co.yu (Sasa Karapandzic)
Subject: XMODE
Date: Sun, 30 Jul 1995 05:11:11
Nakon startovanja XMODE-a ekran izgleda ovako:
320x200
320x200
320x200
320x200
Da li je moguce setovati mod da ekran izgleda ovako:
320x200 320x200 320x200 320x200
... Silver Xpress!...... Don't Read Mail Without it!
* ■ Fucking A ■ 0101010101
* Origin: HELLAS BBS (Tel 28-31-387) Belgrade SETNET (38:103/123)
pascal.747postmast,
From: enikcevv@galeb.etf.bg.ac.yu (Vladimir Nikcevic)
Subject: Re: pascal
Date: Mon, 31 Jul 1995 20:26:34 GMT
Article <sezam$pascal:01.047.3948@sezam>,
"Vladislav Erdelji" <evlad@sezam.UUCP> :
> U bivsoj firmi je bila jedna _lady_ koja je puno _prosipala_ (NE)znanje
> i niko kao ona & comp. Naravno osveta je pala:
>
> Posto je redovno koristila Brief editor, u njenom radnom diru je
> napravljen mali programcic (u paskalu) koji se zvao bas B.EXE.
> Program je zatamnio ekran, napisao zlokobnu poruku (ovako nekako ne secam
> se bas dobro ima tome vec par godina ...)
> _All data will be lost_
> _Hard Disk formated xxx perent_
> plus pistanje na speaker.
> Naravno disk je ostao ziv i zdrav, cisto je bila poruka na ekranu bez
> ikakvih zlih posledica po podatke ili racunar. E a da ste videli facu :)))
> ...
> Dan danas se smejem kad se setim. Naravno od tada je osoba NN radikalno
> prenenula svoj stav i sve se dobro zavrsilo.
Simpaticna pricica, ruku na srce. Ima samo jedan problem. U stvarnosti,
takve price se obicno NE zavrsavaju dobro. Naime, osobe koje su sklone
"prosipanju" obicno jako lose razumeju humor na sopstveni racun.
Ismejavanje, pak, shvataju najcesce kao cist napad na njihov _fizicki_
integritet, i u skladu sa tim i reaguju. Ismejavanje je, naravno,
rastegljiv pojam, ali se pokazuje da takve osobe obicno imaju krajnje
krute stavove kada je njihova guza po sredi.
Zbilja je retko da takva "kazneno-popravna" akcija urodi DOBRIM plodom.
Obicno se, nakon takvog "zahvata" medjuljudski odnosi _bitno_ pogorsaju.
To pogorsanje, cak, ne mora biti "instantly" vidljivo. Pogodjena osoba se
pripremi, i pritaji cekajuci pogodan trenutak. Poruka na _tvom_ disku
mozda uopste _nece_ biti fake i slaba ce ti korist biti sto ces verovatno
znati ko je to mogao da ti uradi. Verovatnije je, medjutim, da ce kontra
akcija (zar neko misli da su dobre sanse da takva izostane?) biti sasvim
drugog tipa? Npr. spletka kod sefa? Ili sefovog sefa. Covek se iznenadi
kad vidi na sta su neki ljudi spremni, po cenu "osvete". Cak su spremni
i sebe da s..bu ako ce pri tom tebe s....ti malko vise.
NAPOMENA:
---------
Da me mlade generacije ;-) ne shvate pogresno, ne kazem da je goreopisana
prica nesto LOSE. Samo kazem da moja malenkost takvo sta NIKADA ne bi
uradila. Valjda sam bio jasan i zasto.
_\\|//_
0(` 0-0 ')0
---------------------------------ooO-(_)-Ooo----------------------------------
Nikcevic Vladimir, dipl-Ing.
Masinski Fakultet Beograd <enikcevv@ubbg.etf.bg.ac.yu>
______________________________________________________________________________
pascal.748postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Mon, 31 Jul 1995 17:14:01
VMZ>> getintvec($9,@int9);
VMZ>> setintvec($9,addr(keybmap));
VS> Kakva je razlika izmedju @ime_funkcije i Addr(ime_funkcije) ?
Jedno je za POINTER, a drugo za PROCEDURU (ne znam napamet koje je za sta, a
nemam pristup disku da pogledam).
__ Pozdrav from Vladimir __
... Rodney King joins FidoNet!....."Can't we all just get along?"
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.749postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: pascal
Date: Mon, 31 Jul 1995 11:32:15
"N> Dali neko zna ka Kko da prebacim .wav --> .mod. Nisam dali moze
"N> direktno da se konvertujeHH ili mora u neki drugi format pak onda u
"N> .mod.
Nece moci direktno. Naime WAV je sempl, a MOD je malo
komplikovaniji. On pored (vise) semplova, sadrzi i note
po kojima se ti semplovi sviraju. WAV treba da konvertujes
u RAW sempl pa da ga uvezes u neki MOD i tek tada moes da ga
odsviras.
Na Oreska BBS-u, u direktorijumu MUSIC mozes naci prilican broj
uputstava i pomocnih programa kojima sve ovo mozes da izvedes.
Source za MOD_OBJ tesko da ces naci na nekom BBs-u, ali zato ima
drugih sorce-ova.
... BR> Ruka ruku mije, a pesnica bije.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.750postmast,
From: mboris@setnet.co.yu (Boris Milinkovic)
Subject: DELPHI
Date: Tue, 01 Aug 1995 01:00:12
Nije bas Pascal, ali....
Kada pisem neki program i uzmem FileOpen kao standardnu
proceduru za ucitavanje neke datoteke, kako da prevedem taj ceo
dijalog (znam za naslov).
Pozdrav,
Boris Milinkovic | mboris@fon.fon.bg.ac.yu
from Bajina Basta | mboris@setnet.co.yu
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.751postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Phind da phile
Date: Mon, 31 Jul 1995 22:42:32
*** CITAT : Ognen Spiroski ***
OS> Vec podugacko vreme mucim se sa rutinu koja bi trebala naci fajl,
OK, evo ti jedna procedurica koja radi posao ;)
program sub_dir;
uses dos,crt;
var xx,c:string;i:integer;s:searchrec;
procedure dir(x:integer);
var f:searchrec;
begin
findfirst(xx,anyfile,s);
while doserror=0 do begin
{ write(' '); {ako hoces prikaz fajlova}
{ for i:=2 to x do write('│ ');
if x>0 then write('└-');
write('>',s.name);readln(c);
if c='f' then} writeln(' Found as ',fexpand(s.name));
findnext(s);end;
findfirst('*.*',$10 or 0,f);
while (doserror=0) do begin
if (f.name[1]<>'.') and (f.attr=$10) then begin
{ if x=0 then write('-') else write(' '); {Ako hoces prikaz dirova}
{ for i:=2 to x do write('│ ');
if x>0 then write('└-');
writeln(f.name);
if c='q' then halt(1);}
chdir(f.name);
dir(x+1);
end;
findnext(f);
end;
if x>0 then chdir('..');
end;
BEGIN
clrscr;
xx:=paramstr(1);
dir(0);
END.
... Poruka bez TAGa je k'o WINDOWS bez baga :)
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.752postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Interrupt
Date: Mon, 31 Jul 1995 17:14:00
VMZ>> na port (ili mamoriju) prilikom prvog postavljanja novog interapta neku
VMZ>> unaprerd definisanu vrednost. Kada se ponovo startuje program, on prvo
VMZ>> ispita tu adresu, i tako zna da li je novi interapt vec instaliran.
VS>
VS> Ovo je za sada OK. Probao sam i radi. Tu vrednost bacam na neku adresu u
VS> RAM-u. Interesuje me koji su portovi obicno slobodni, posto mi memorija
VS> ne deluje pouzdano jer tuda moze da vrslja bilo sta.
Mozda ja najsigurnije cak zauzeti neki slobodni softverski interapt (ne znam
tacno koji su slobodni, pogledaj u PCHELP-u, ako imas). Trenutno ne mogu da
probam, radim sa disketa (!!!).
VS> Originalni interapt sam sacuvao u memoriji ( 4 bajta interapt vektora
VS> $09 ) i nije bilo problema. Pri ponovnom pozivu programa iz komandne
VS> linije sa para- metrom 'off' tastatura prestaje da mi 'klikce', jer sam
VS> vektoru $09 vratio staru vrednost. Ali(!), kad sam pokrenuo sysinfo,
VS> video sam da je program i dalje u memoriji, tj da memorijski prostor
VS> koji je program zauzeo prilikom prve instalacije _nije_ oslobodjen
VS> nakon vracanja stare vrednosti interapt vektoru $09. Sta da se radi ?
Problem mi je poznat, ali resenje nazalost nije :(((
__ Pozdrav from Vladimir __
... "Ako bude bio smak sveta, odlozicemo kontrolni."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.753kriss,
˙˙ napravljen mali programčić (u paskalu) koji se zvao baš B.EXE.
Heh, ču li ti za alfa-petlju? :))
pascal.754kriss,
˙˙# => -kako da se pri ponovnom pozivu programa proveri da li
˙˙# => je vec ranije insta- liran i da se eventualno ispise
˙˙ Postoji više načina da se ovo postigne, a najjednostavniji je
Još jedan način je da tvoja int rutina počinje sa
jmp preko
db "Moj string za prepoznavanje mog TSR-a ;)"
preko: (...)
pa ti onda ne treba još jedan int. Provera se sastoji da na adresi_na
koju_pokazuje_int_vektor+koliko_bajtova_zauzima_jmp proveriš da li se
nalazi tvoj string (naravno ne onoliko dugačak :) i to je to ... :)
Lično više preferiram drugu (ovu) metodu, jer sve ostaje unutar jednog
int-a. Međutim, obe imaju mane. Dobre strane detekcije preko drugog
interapta je što će program znati da je instaliran iako se neki drugi
programi "ulančaju", tj. preuzmu isti int posle instaliranja tvog
tsr-a (česte, da ne kažem normalne pojave, su sa int-ovima 08 i 09).
Loša strana je što ako neki program preuzme int koji služi za
detekciju (malo verovatno) više nemaš pouzdanu informaciju da li ti je
program već instaliran. Druga metoda je dobra ako se tvoj program
instalira zadnji. Ako to nije slučaj, i neki drugi program se
instalira "preko" tvog, gubiš podatak da li "si već u memoriji ili
ne". Dobra strana ove metode je što se ne "rasipaš", već ostaješ samo
na jednom interaptu.
Naravno, najbolje je iskombinovati, ali je često nepotrebno. :)
Za rekte (ekstremne) slučajeve, kada neki program voli potpuno iste
interapte kao i tvoj (onda se kaže da se programi ne slažu), nema ti
spasa ... sem ako se koristiš nekim prljavim trikovima, poput virusa
na primer.
pascal.755postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Interrupt
Date: Tue, 01 Aug 1995 11:27:53
VS> vektoru $09 vratio staru vrednost. Ali(!), kad sam pokrenuo sysinfo,
VS> video sam da je program i dalje u memoriji, tj da memorijski prostor
VS> koji je program zauzeo prilikom prve instalacije _nije_ oslobodjen
VS> nakon vracanja stare vrednosti interapt vektoru $09. Sta da se radi ?
VMZ> Problem mi je poznat, ali resenje nazalost nije :(((
Ja se ne bih previse uzbudjivao. Ako je program poslednji podignut
kao reidentan, onda se moze osloboditi memorija koju je zauzeo. Ako
se iza njega podigne jos neki rezidentan program, onda se stvar
komplikuje. Najcesce, cak i ako oslobodis memoriju, to ce ostati kao
rupa i nece ni biti upotrebljeno.
... Ako hoces da nesto bude uradjeno, moras to sam uraditi.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.756postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Re: Interrupt
Date: Tue, 01 Aug 1995 10:54:00
VS> video sam da je program i dalje u memoriji, tj da memorijski prostor
VS> koji je program zauzeo prilikom prve instalacije _nije_ oslobodjen
VS> nakon vracanja stare vrednosti interapt vektoru $09. Sta da se radi ?
VMZ> Problem mi je poznat, ali resenje nazalost nije :(((
Svejedno, nemoj da ocajavas :) . I do sad su mi tvoje poruke bile od velike
koristi.
CU, Vladimir.
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.757isekulovic,
Kako u Delphi-u izvesti da jedan npr. form1 pozove drugi npr. form2
i ugasi se, s tim da kad se napusti form2 završi se program, a ne
da se zaglupi?
Da li sam mogao biti nejasniji?
Da probam ovako, treba mi ovo:
Prvi form po startovanju programa npr. sadrži neki natpis, ili
unos lozinke ili tako nešto što je potrebno samo pri startovanju.
On se gasi (close) i poziva form2 (show) koji je glavni deo programa.
Form2 šljaka neko vreme i onda treba da se zatvori preko SystemMenu-a
("-") ali kad se zatvori treba i program da se završi a ne da proba
da vrati kontrolu form1 jer pošto je on ugašen ima da se zablentavi.
Ivan
PS Naleteo sam i na jednu dosadnu nelogičnost Delphi-a, pa ako
je neko uspeo da je zaobiđe bio bih mu zahvalan. Ako se stavljaju
kontrole na form koji po startovanju treba da bude maximized, a pri
stavljanju on nije maximized već se krećete sa scroll bar-ovima po njemu
ako scroll bar-ove ne vratite na gornji levi ugao form-a po startovanju
on neće izgledati kao što bi trebao, već će biti kontrole biti pomerene
gore i ulevo.
pascal.758vlador,
> _All data will be lost_
> _Hard Disk formated xxx perent_
> plus pištanje na speaker.
Isto smo mi uradili profesorici programiranja koja ne zna ni
tastaturu da koristi i to baš za 1. april. ;) Samo što nije bio
u pitanju brief nego fortran kompajler. Trebalo je da je vidite
kako panično maše ručicama kao da hoće da odleti što dalje odatle. ;)
pascal.759postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Interrupt
Date: Wed, 02 Aug 1995 23:57:00
VMZ>> Problem mi je poznat, ali resenje nazalost nije :(((
PS> Ja se ne bih previse uzbudjivao. Ako je program poslednji podignut
PS> kao reidentan, onda se moze osloboditi memorija koju je zauzeo. Ako
PS> se iza njega podigne jos neki rezidentan program, onda se stvar
PS> komplikuje. Najcesce, cak i ako oslobodis memoriju, to ce ostati kao
PS> rupa i nece ni biti upotrebljeno.
Pa pricaj covece ako znas, sta cekas :) Dovoljno je i to.
__ Pozdrav from Vladimir __
... Thought of the day....... To QuaWK or not to QuaWK?
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.760postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Wed, 02 Aug 1995 23:57:02
"C> Posle odredjenog broja pritisaka na tastere, javlja se cuveno BEEP, a ja
"C> ne znam kako da ga eliminisem, pogotovu zatotada dolazi do delimicne
"C> blokade (prihvata tek peti ili ... pritisnuti taster). :((
"C> Nadam se da ces znati ti ili neko drugi odgovor i na ovo moje pitanje.
"C> :)
Mislim da znam do cega je problem, ali ne mogu nista sada da probam :( Cim
osposobim hard, pogledacu.
__ Pozdrav from Vladimir __
... Silver Xpress!...... Don't Read Mail Without it!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.761postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Wed, 02 Aug 1995 23:58:03
>> Cekaj, a sta je onda TPX.EXE ? Zar to nije TP7 u protected modu?
"K> Da, ova verzija kompajlera je sastavni deo Turbo Pascal 7.0 paketa.
"K> Radi u zasticenom modu i uopste je prilicno osakacena verzija
"K> BP.EXE koja dolazi sa Borland Pascal-om 7.0
A kako doci do BP.EXE ? (ima li negde dostupno)
__ Pozdrav from Vladimir __
... Mail Media. Do not expose to Flames!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.762pyramid,
>> Kako u Delphi-u izvesti da jedan npr. form1 pozove drugi npr. form2
>> i ugasi se, s tim da kad se napusti form2 zavrsi se program, a ne
>> da se zaglupi?
Napravis OnCreate event handler za form2 na sled. nacin:
procedure TForm2.OnCreate(Sender:TObject);
begin
Form1.Hide;
Form2.ShowModal;
end;
ovo ce ti prvo prikazati form2, a cim ga korisnik zatvori prikazati form1...
pascal.763visnja,
> Prvi form po startovanju programa npr. sadrži neki natpis, ili
> unos lozinke ili tako nešto što je potrebno samo pri
> startovanju. On se gasi (close) i poziva form2 (show) koji je
> glavni deo programa. Form2 šljaka neko vreme i onda treba da se
> zatvori preko SystemMenu-a ("-") ali kad se zatvori treba i
> program da se završi a ne da proba da vrati kontrolu form1 jer
> pošto je on ugašen ima da se zablentavi.
Nisam radio u delphi-ju, ali ako to imalo lici na OWL ili turbo viziju
ili Visual Basic probaj ovako:
PO STARTOVANJU PROGRAMA prvo kreiras form2 koji treba da bude
NOT VISIBLE i koji poziva form1 (neki natpis ili unos lozinke).
Kada zavrsis form1 on vraca kontrolu form2, i usput form2 postavis
da bude VISIBLE ili tako nekako. Dakle form2 je gazda i kada sada
napustis aplikaciju sve je OK.
Nadam se da ce pomoci.
pascal.764vitez.koja,
#=> Prvi form po startovanju programa npr. sadrži neki
#=> natpis, ili unos lozinke ili tako nešto što je potrebno
#=> samo pri startovanju. On se gasi (close) i poziva form2
#=> (show) koji je glavni deo programa.
He he ;) Ne radi se to tako.
Za početak napraviš dva forma. U Project Manageru proglasiš Form1
za glavni, a Form2 prebaciš iz Auto Create u Available grupu.
(Ako ti nije jasno šta se ovim postiže, pitaj:)
Sada edituješ glavni program (Ctrl+F12, Project1, ako ništa nisi
menjao). Tamo ćeš da vidiš nešto ovako:
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
To sada prepraviš u:
var
Form2: TForm2;
begin
Form2:=TForm2.Create(Application);
Form2.ShowModal;
Form2.Hide;
Form2.Free;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
i dobijaš ono što si tražio :)
pascal.765postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: Delphi&Access
Date: Fri, 04 Aug 1995 01:04:03
Hi!
Jel uspeo neko uspesno da poveze svoj Delphi program sa nekim .mdb fajlom a
da pri tom preskoci i "Login" i "Select default database" dialog-e?
Vise mi je preko glave da svaki put kada pokrenem program biram .mdb fajl:(
"Login" dialog-a sam uspeo da se otarasim, ali ovog drugog nikako:(
!HELP!
... Sorry, the Dog ate my mail packet.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.766postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Interrupt
Date: Thu, 03 Aug 1995 10:11:00
PS> Ja se ne bih previse uzbudjivao. Ako je program poslednji podignut
PS> kao reidentan, onda se moze osloboditi memorija koju je zauzeo. Ako
Kako ?
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.767postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Fri, 04 Aug 1995 00:21:00 CET
QWK To: Uucp
(Tekst poruke: Uucp, na temu Pascal)
Uu> Dali neko ima source mod-obj.obj (rad sa .mod fajlovima)
Uu> Jos bolje ce vrsiti pos'o ako neko zna format .mod fajla (header i
Uu> sl.)
Uu> P.S.
Uu> Dali neko zna ka Kko da prebacim .wav --> .mod. Nisam dali moze
Uu> dir ektno
Uu> da se konvertujeHH ili mora u neki drugi format pak onda u .mod.
Sto se tice prebacivanja WAV -> MOD, zaboravi. Problem je tipa "Kako od
hleba napraviti kiflu". WAV sadrzi samo zvucni uzorak, a MOD je
relativno slozena struktura sa manjim uzorcima i semama za njihovo sviranje;
dakle, MOD -> WAV bi jos i moglo, ali WAV -> MOD bas nikako :(
Evo hedera, kako ga opisuje Mark J. Cox :
Mark J Cox
/***********************************************************************
Protracker 1.1B Song/Module Format:
___--------------------------------
Offset Bytes Description
------ ----- -----------
0 20 Songname. Remember to put trailing null bytes at the end...
Information for sample 1-31:
Offset Bytes Description
___--- ----- -----------
20 22 Samplename for sample 1. Pad with null bytes.
42 2 Samplelength for sample 1. Stored as number of words.
Multiply by two to get real sample length in bytes.
44 1 Lower four bits are the finetune value, stored as a signed
four bit number. The upper four bits are not used, and
should be set to zero.
Value: Finetune:
0 0
1 +1
2 +2
3 +3
4 +4
5 +5
6 +6
7 +7
8 -8
9 -7
A -6
B -5
C -4
D -3
E -2
F -1
45 1 Volume for sample 1. Range is $00-$40, or 0-64 decimal.
46 2 Repeat point for sample 1. Stored as number of words offset
from start of sample. Multiply by two to get offset in bytes.
48 2 Repeat Length for sample 1. Stored as number of words in
loop. Multiply by two to get replen in bytes.
Information for the next 30 samples starts here. It's just like the info for
sample 1.
Offset Bytes Description
___--- ----- -----------
50 30 Sample 2...
80 30 Sample 3...
.
.
.
890 30 Sample 30...
920 30 Sample 31...
Offset Bytes Description
___--- ----- -----------
950 1 Songlength. Range is 1-128.
951 1 Well... this little byte here is set to 127, so that old
trackers will search through all patterns when loading.
Noisetracker uses this byte for restart, but we don't.
952 128 Song positions 0-127. Each hold a number from 0-63 that
tells the tracker what pattern to play at that position.
1080 4 The four letters "M.K." - This is something Mahoney & Kaktus
inserted when they increased the number of samples from
15 to 31. If it's not there, the module/song uses 15 samples
or the text has been removed to make the module harder to
rip. Startrekker puts "FLT4" or "FLT8" there instead.
Offset Bytes Description
___--- ----- -----------
1084 1024 Data for pattern 00.
.
.
.
xxxx Number of patterns stored is equal to the highest patternnumber
in the song position table (at offset 952-1079).
Each note is stored as 4 bytes, and all four notes at each position in
the pattern are stored after each other.
00 - chan1 chan2 chan3 chan4
01 - chan1 chan2 chan3 chan4
02 - chan1 chan2 chan3 chan4
etc.
Info for each note:
_____byte 1_____ byte2_ _____byte 3_____ byte4_
/ \ / \ / \ / \
0000 0000-00000000 0000 0000-00000000
Upper four 12 bits for Lower four Effect command.
bits of sam- note period. bits of sam-
ple number. ple number.
Periodtable for Tuning 0, Normal
C-1 to B-1 : 856,808,762,720,678,640,604,570,538,508,480,453
C-2 to B-2 : 428,404,381,360,339,320,302,285,269,254,240,226
C-3 to B-3 : 214,202,190,180,170,160,151,143,135,127,120,113
To determine what note to show, scan through the table until you find
the same period as the one stored in byte 1-2. Use the index to look
up in a notenames table.
This is the data stored in a normal song. A packed song starts with the
four letters "PACK", but i don't know how the song is packed: You can
get the source code for the cruncher/decruncher from us if you need it,
but I don't understand it; I've just ripped it from another tracker...
In a module, all the samples are stored right after the patterndata.
To determine where a sample starts and stops, you use the sampleinfo
structures in the beginning of the file (from offset 20). Take a look
at the mt_init routine in the playroutine, and you'll see just how it
is done.
2.12
--- Maximus 2.02
* Origin: Rolling Stones BBS (2:382/105.5)
pascal.768postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: pascal
Date: Fri, 04 Aug 1995 22:14:02
M> zanimljivo od dokumentacije u elektronskoj formi? Ja imam nekih
M> 13 MB .PDF (Adobe Acrobat) dokumentaraca, skinutih sa CDa. Da li
M> postoji jos nesto?
Ja mislim da je to uz .hlp fajlove sve sto se nalazi od dokumentacije
na CD-u. Tako mi rekli ljudi ;) Jedino me zanima sta bi jos moglo biti na
disku pored toga... Delphi ima negde oko 50-60MB plus ova dokumentacija,
znaci sve u vr' glave oko 75MB. Meni je to nesto malo za jedan CD...:)
... Ne slusaj narodnjake, umri prirodnom smrcu.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.769daca,
YO !!!
Imam definisan slog i cvor koji pokazuje na njega...
Znaci npr. ovako:
Type
PRec = žTRec;
TRec = record
prezime : stringŠ18Ć;
ime : stringŠ18Ć;
end;
PCvor = žTCvor;
TCvor = record
info : PRec;
Sledeci,
Predhodni : PCvor;
.........
var
Prvi,
Tekuci,
Zadnji : PCvor;
.....
E sada moj problem se sastoji u sledecem.... Kako da sadrzinu
cele liste stavim u neki TScroller? Kako treba da glasi metoda
Draw i konstruktor Init ???
Pomazite, jer mi ovo veoma znaci.... Hvala unapred... Cu...
pascal.770pyramid,
>> Ja mislim da je to uz .hlp fajlove sve sto se nalazi od dokumentacije
>> na CD-u. Tako mi rekli ljudi ;) Jedino me zanima sta bi jos moglo biti
>> na
Trebalo bi da postoji i jedan (mozda i vise?) .avi fajl sa filmom koji
objasnjava rad sa delphi-jem (iz iskustva: najmanje 1,5 sat)...
pascal.771pirke,
>>>>> Ja mislim da je to uz .hlp fajlove sve sto se nalazi od
>>>>> dokumentacije na CD-u. Tako mi rekli ljudi ;) Jedino me zanima
>>>>> sta bi jos moglo biti na
>>>
>>> Trebalo bi da postoji i jedan (mozda i vise?) .avi fajl sa filmom
>>> koji objasnjava rad sa delphi-jem (iz iskustva: najmanje 1,5
>>> sat)...
Na CD-u se nalazi i RUNIMAGE dir u kome je 'slika' instaliranog delfija
na disku. Mislim da mozes samo de ja kopiras na disk i da radi. Sto se
tice AVI-ja im ih dva i kratki su (7M i 5M). Dakle ostatak se krije
u runimage. Ceo CD je oko 115-120M (zavisi koje je verzija delfija)
pa kad kopiras, mozes da ides na multisession i da kasnije iskoristis
prazan prostor, k'o sto ja uradih neki dan.
pirke.
pascal.773wizard,
> Trebalo bi da postoji i jedan (mozda i vise?) .avi fajl sa filmom koji
> objasnjava rad sa delphi-jem (iz iskustva: najmanje 1,5 sat)...
Za sat i po AVI-ja trebala bi bar 3 CD-a. :)
pascal.774wizard,
> dakle, MOD -> WAV bi jos i moglo, ali WAV -> MOD bas nikako :(
A što? Sempluješ ceo Wav kao jedan instrument u MOD-u i to je
valjda to...?
pascal.775visnja,
> E sada moj problem se sastoji u sledecem.... Kako da sadrzinu
> cele liste stavim u neki TScroller? Kako treba da glasi metoda
> Draw i konstruktor Init ???
>
┐Ě > Pomazite, jer mi ovo veoma znaci.... Hvala unapred... Cu...
PEDJONI, ti jos ne zavrsi taj seminarski. Evo ti
uputstvo kako da uradis:
type
´kPListViewer=^TListViewer;
TListViewer=object(TScroller)
procedure draw;virtual;
end;
procedure TListViewer.draw;
var
B : TDrawBuffer;
C : Byte; {Boja}
ű I : Integer; {Brojac}
S : String;
P : PString;
begin
C:=getcolor(1);
for i:=0 to size.y-1 do {Popunis ceo prozor}
begin
MoveChar(B,Chr(32),C,Size.x) {Ispraznis DrawBuffer - popunis ga CHR(32)}
if delta.y+I< <ukupno elemenata liste> then
begin
P := <pokazivac na DELTA.Y+I element liste, AKO ELEMENT POSTOJI inace
je NIL. Napisi proceduru za to, to bar znas>
if P<>nil then S:=Copy(P^,Delta.X+1,Size.x);
else S:='';
MoveStr(B,S,C);
end;
writeline(0,I,Size.x,1.B);
end;
Pazi ova klasa NIJE prozor, ovo je pogled (VIEW). Prozor kojim gledas celu
listu sadrzi skrol BAROVE i klasu TListViewer(ili kako je vec nazoves).
pointer skrol barova prenosis INIT-u TListViewer.
TListViewer inicijalizuj iz konstruktora prozora. Prvo inicajlizuj
SKROL Barove da bi dobio pointere na njih.
CU zovi me ako nije jasno, i ako me nadjes kuci :).
pascal.776postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: pascal
Date: Sat, 05 Aug 1995 22:49:01
"S> Kako u Delphi-u izvesti da jedan npr. form1 pozove drugi npr. form2
"S> i ugasi se, s tim da kad se napusti form2 zavrsi se program, a ne
"S> da se zaglupi?
Sto se tice password-a imas File|New Form i izaberi template za password.
Probaj Form2 da podesis da bude main form iz View|Project manager|Options.
Eksperimentisi malo sa tim i sa [form.show] ili sa [form.showmodal],
sigurno ces uspeti;)
... Smile! your Boss likes idiots!!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.777postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: pascal
Date: Thu, 03 Aug 1995 19:46:00
>> Vladimir M Zivkovic nekad rece, a ja ga sada citiram <<
VS> Kakva je razlika izmedju @ime_funkcije i Addr(ime_funkcije) ?
VMZ>
VMZ> Jedno je za POINTER, a drugo za PROCEDURU (ne znam napamet koje je za
VMZ> sta, a nemam pristup disku da pogledam).
Zar nisu isto? I jedno i drugo vracaju pointer na neki objekat...
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.778postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Fontovi za TP
Date: Fri, 04 Aug 1995 20:55:01
Da li je moguce koristiti True Type fontove iz Pascala (DOS) ili iste
konvertovati u *.CHR format koji koristi TP?
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.779postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Sun, 06 Aug 1995 22:46:04
VS>> Kakva je razlika izmedju @ime_funkcije i Addr(ime_funkcije) ?
VMZ>>
VMZ>> Jedno je za POINTER, a drugo za PROCEDURU (ne znam napamet koje je za
VMZ>> sta, a nemam pristup disku da pogledam).
PR> Zar nisu isto? I jedno i drugo vracaju pointer na neki objekat...
@POINTER je isto sto i ADDR(PROCEDURA). Znaci, ako ti treba adresa procedure,
ne mozes je dobiti sa @PROCEDURA i obrnuto (za pointer).
__ Pozdrav from Vladimir __
... XPRESS - the fastest way to get around the world.
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.780postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Fontovi za TP
Date: Sun, 06 Aug 1995 22:46:05
PR> Da li je moguce koristiti True Type fontove iz Pascala (DOS) ili iste
PR> konvertovati u *.CHR format koji koristi TP?
Nadji mi podatke o TTF zapisu, ja cu ti napraviti konvertor ;)
__ Pozdrav from Vladimir __
... "Ako bude bio smak sveta, odlozicemo kontrolni."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.781postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Mon, 07 Aug 1995 01:42:00 CET
QWK To: Bosko Cvetkovic
(Tekst poruke: Bosko Cvetkovic, na temu PASCAL)
BC> Da li neko zna kako se u turbo pascalu moze ocitavati da li pritisnuto
BC> vise tastera, kao i koji su kodovi tastera koji su pritisnuti?
BC> Ako neko ima vec gotovu proceduru, zamolio bih ga da je posalje.
BC> Hvala.
Daklem o ovome se pricalo ovde, malo ranije, i ljudi su bas slali lepa
resenja... Ali kako sam ja nekima obecao svoje rutine... Da ih ne lazem ;)
Dakle, kao sto i ranije rekoh, ovo dole cita svih 6 tastera koji mogu da se
pritisnu odjednom, i sve to cuva u skupu HeldKeys, tako da se provera da li
je taster aktivan svodi na IF Key IN HeldKeys THEN ...
Evo za one koji znaju & vole TopSpeed M2 gotovih modula malo nize, a ti
izvini, odavno ne pisem na TP-u pa se bojim da nesto ne zabrljam pri
prevodjenju. Zato je najbolje da ovo prevedes sam (max 1 sat posla ako ne
znas M2) ili da ti prevede neko ko zna M2. Ako se odlucis za prvu
varijantu, dacu ti par napomena:
1. DEFINITION MODULE ¸ INTERFACE jednog "Unit"-a
2. IMPLEMENTATION MODULE ¸ IMPLEMENTATION istog "Unit"-a
3. (*# itd. *) - direktive prevodiocu; u TP-u su, ako se dobro
secam, procedure xxx; interrupt; i jos jedna koja treba da stoji umesto (*#
data (volatile => on) *) a koja kaze prevodiocu da promenljive ne smesta u
registre.
P.S. Korisnicima TS M2: Modul je jako, jako prljav (UNSAFE ;) ) . Ne
garantujem da ce raditi na svakoj masini (mada bi trebalo ;) )
DEFINITION MODULE Keyboard;
(* Keyboard driver v1.00 *)
(* PUBLIC DOMAIN 1994. BY ZORAN RILAK *)
TYPE
KeysSet = SET OF SHORTCARD;
VAR
(*# data (volatile => on) *)
HeldKeys : KeysSet;
(*# data (volatile => off) *)
PROCEDURE InstallNewKbdDriver;
PROCEDURE RestoreOldKbdDriver;
END Keyboard.
(* -----CutCutCutCutCutCutCutCutCutCutCutCutCutCutCutCutCutCut----- *)
IMPLEMENTATION MODULE Keyboard;
(* Keyboard driver v1.00 *)
FROM SYSTEM IMPORT
In, Out, Seg, Ofs, Registers;
FROM Lib IMPORT
Intr;
VAR
OldKbdDriverSeg,
OldKbdDriverOfs : CARDINAL;
(*# save,
call (interrupt => on,
same_ds => off,
reg_param => ()) *)
PROCEDURE NewKbdDriver ();
VAR
PortVal : SHORTCARD;
BEGIN
PortVal := In (60H);
IF PortVal <= 80H THEN
INCL (HeldKeys, PortVal);
ELSE
EXCL (HeldKeys, PortVal - 80H);
END;
PortVal := In (61H);
Out (61H, SHORTCARD (BITSET (PortVal) + {7}));
Out (61H, PortVal);
Out (20H, 20H);
END NewKbdDriver;
(*# restore *)
PROCEDURE InstallNewKbdDriver;
VAR
Regs : Registers;
BEGIN
Regs.AX := 3509H;
Intr (Regs, 21H);
OldKbdDriverSeg := Regs.ES;
OldKbdDriverOfs := Regs.BX;
Regs.AX := 2509H;
Regs.DS := Seg (NewKbdDriver);
Regs.DX := Ofs (NewKbdDriver);
Intr (Regs, 21H);
END InstallNewKbdDriver;
PROCEDURE RestoreOldKbdDriver;
VAR
Regs : Registers;
BEGIN
Regs.AX := 2509H;
Regs.DS := OldKbdDriverSeg;
Regs.DX := OldKbdDriverOfs;
Intr (Regs, 21H);
END RestoreOldKbdDriver;
BEGIN
HeldKeys := KeysSet {};
END Keyboard.
... Gospodo draga, kod je nestao bez traga
--- Blue Wave/Max v2.12 [NR]
* Origin: Rolling Stones BBS * YUInt - NiNet - U'NI-net -
FidoNet (2:382/105.5)
pascal.782postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: PASCAL
Date: Tue, 18 Jul 95 09:38:00 +0100
---> !!! Ovo je samo TERETSKO PITANJE O:)))))))
---> Jel to na pomolu novi virus? :)))
---> Ovo je samo teoretsko pitanje. :))
Ama ljudi sta vam je ...
Ja sam samo postavio jedno TEORETSKO pitanje ...
Bre ...
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.783daca,
> if delta.y+I< <ukupno elemenata liste> then
Kako da izbrojim ukupno elemenata liste, odnosno record-a?
> P := <pokazivac na DELTA.Y+I element liste, AKO ELEMENT POSTOJI
> inace je NIL. Napisi proceduru za to, to bar znas>
Sta ti je u stvari delta? Da li to polje pokazuje na neki
odredjeni elemenat u listi? Kakva procedura treba da se napise?
U svakom slucaju ti hvala ... nego, gde si ti kuci u 8 sati.. u
kafani? ;)
pascal.784msavkovic,
┌┌┌ > dakle, MOD -> WAV bi jos i moglo, ali WAV -> MOD bas nikako :(
┌┌┌
┌┌┌ A sto? Semplujes ceo Wav kao jedan instrument u MOD-u i to je
┌┌┌ valjda to...?
Dokle ce te da uporedjujete ove dve stvari? Pa sto bi od sempla
pravio modul ?
Najsmesniji modul koji sam video (kume.mod) u sebi ima jedan sempl
(pogadjajte koji) i svaka cas onome ko ga je napravio
pascal.785vitez.koja,
Uz poruku je programčić koji služi za 'prelistavanje' .BMP i .WMF
sličica. Veličina svakako nije primerena mogućnostima, ali šta da
se radi - Delphi nije C.
Program je napisan jer Delphi u "Load picture" dijalogu nema
Preview opciju, tako da je snalaženje u moru gotovih sličica vrlo
zamorno. Bilo :) Program ume i da iskopira puno ime sličice u
Clipboard...
bmpview.zippascal.786visnja,
>> if delta.y+I< <ukupno elemenata liste> then
>
> Kako da izbrojim ukupno elemenata liste, odnosno record-a?
Najgluplje ti je da:
Deklarises neki
var Brojac:LongInt;
postavis ga onda na 0:
Brojac:=0;
onda
kreneš od prvog elementa liste i ideš na sledeći i sledeći...
sve dok ne tresneš o NIL. Ne zaboravu usput jedno INC(brojac).
posle ovoga ćeš imati broj elementa liste (baze pod.) u brojac-u.
>
> > P := <pokazivac na DELTA.Y+I element liste, AKO ELEMENT
>> POSTOJI inace je NIL. Napisi proceduru za to, to bar znas>
>
> Sta ti je u stvari delta? Da li to polje pokazuje na neki
> odredjeni elemenat u listi? Kakva procedura treba da se
> napise?
AUX žoveče,
Pitaš me nešto o TSCROLLER-u a ne znaš šta je TSCROLLER. Delta.x i
Delta.y nosi vrednost SCROLLBAR-ova (horizontalnog i vertikalnog) i
Delta NIJE POKAZIVAž. Koristi malo Ctrl F1 i svoje znanje engleskog.
Truba mi ja da pišem o stvarima koje samo tebe interesuju i kojih ima
u izvrsnom help-u. Delta.Y će nositi redni broj prvog recorda iz baze
koji se vidi u prozoru a I broji ostale rec-ove do veličine prozora.
pascal.787visnja,
> Da li je moguce koristiti True Type fontove iz Pascala (DOS)
> ili iste konvertovati u *.CHR format koji koristi TP?
Naravno da je moguće, ako je neko napisao program koji crta TTF u WINDOWS-ima
zašto to isto ne bi mogao i DOS. Pitanje je poznajemo li DETALJNO format
TTF i ima li dovoljno manijaka i dokondžija da urade posao.
Problem je vrlo interesantan i ne čini se preterano velikim. Barem je
lakši nego napisati AutoCAD :)
Pozdrav!
pascal.788postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: Delphi&Access
Date: Tue, 8 Aug 1995 19:58:14 GMT
Knezovic Bojan je napisao:
>> Jel uspeo neko uspesno da poveze svoj Delphi program sa nekim .mdb fajlom a
>> da pri tom preskoci i "Login" i "Select default database" dialog-e?
>>
>> Vise mi je preko glave da svaki put kada pokrenem program biram .mdb fajl:(
>> "Login" dialog-a sam uspeo da se otarasim, ali ovog drugog nikako:(
Meni se isti problem javljao sa samostalnom verzijom Borland Database
Engine-a, a resio sam ga na malcice glup nacin:{startovao sam ODBCINST iz
Control Panel-a, i odatle podesio default bazu za Access-ov ODBC drajver.
Da li nekome pada na pamet nesto pametnije?
--
R Tape loading error
pascal.789vvelisavljev,
Hi svima!
Da li neko može da mi predloži neku dobru knjigu za Turbo Vision
2.0? Da li ima o TV-u u knjizi Stephen O'Brien: "Turbo Pascal 6"?
Hvala unapred.
pascal.790nlazic,
*> Da li neko može da mi predloži neku dobru knjigu za Turbo Vision
*> 2.0? Da li ima o TV-u u knjizi Stephen O'Brien: "Turbo Pascal 6"?
Ima u toj knjizi nešto o TV 1.0, ali ništa naročito. Uglavnom prepisan
Help kao i u većini knjiga na našem jeziku (kako originala tako i prevoda).
Najbolji priručnik za TV je (koliko sam ja video) knjiga koja se isporučuje
uz BP 7.0. O TV-u možeš lepu sliku da dobiješ ako kreneš da pročešljavaš
fajlove TUTOR*.PAS koji dolaze takodje uz BP7, plus često zavirivanje u
Help sistem.
Pozdrav,
:) Nebojša :)
pascal.791postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: pascal
Date: Tue, 08 Aug 1995 03:15:01
>> Vladimir M Zivkovic nekad rece, a ja ga sada citiram <<
VMZ> @POINTER je isto sto i ADDR(PROCEDURA). Znaci, ako ti treba adresa
VMZ> procedure, ne mozes je dobiti sa @PROCEDURA i obrnuto (za pointer).
Kako nemoze sa @PROCEDURA ? Kod mene radi...
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.792postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Fontovi za TP
Date: Mon, 07 Aug 1995 16:36:07
PR> Da li je moguce koristiti True Type fontove iz Pascala (DOS) ili iste
PR> konvertovati u *.CHR format koji koristi TP?
VMZ> Nadji mi podatke o TTF zapisu, ja cu ti napraviti konvertor ;)
Da znas kako izgleda TTF format ne bi bas olako rekao ovako nesto.
:)))))
... Svuda muskarci i zene - a nigde ljudi.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.793postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Mon, 07 Aug 1995 14:16:00
MS>*** CITAT : "Bosko Cvetkovic" ***
MS> "C> bafera tastature i time ispraznio bafer.
MS>Moze i elegantnije: BIOS funkcija 0ch al=01 (brise bafer tastature).
MS>Ova funkcija moze brisati i druge input bafere (opsirnije u TechHelpu).
Mozze i ovako:
Pascal:
var kbdbeg: word absolute $40:$1a;
kbdend: word absolute $40:$1c;
....
kbdbeg:=kbdend; {brisse baffer tastature}
C:
char far *kbdbeg=(char far *)0x0000041aL;
char far *kbdend=(char far *)0x0000041cL;
....
*kbdbeg=*kbdend;
Chombe KAN
___
■ OLX 2.1 TD ■ Ma´˛ ýÓŰ ´ŕ §Š ˘ÓűŠ÷Š? ÉÓ üÓÝý˛. äÓŰ ´ŕ âŕ! łŠ´ŕ âŕ §Ó´!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.794visnja,
> Da li neko može da mi predloži neku dobru knjigu za Turbo
> Vision 2.0? Da li ima o TV-u u knjizi Stephen O'Brien: "Turbo
> Pascal 6"?
Nisam nasao takvu! Najbolji nacin da je naucis je da uporno pises i pises
programe. To sam nasao u nekoj knjizi koja kao i ostale ima prepisan HELP!
Obavezno nabavi i RTL i pogledaj source.
Ako te nesto konkretno zanima u vezi TV javi mi.
Pozdrav. VISNJA.
pascal.795trki,
Interesuje me par stvari o DELPHI-ju.
Prvo: Da li je ova verzija clijent-server (ova=ova sto kruzi medju piratima)
Drugo: Da li u skladu sa prvim nedostaje VQB (visual query bUilder) , iz moje
verzije kao da je nasilu iscupan , tu je sve za njega , ali njega nema ??
Trece:Zna li neko neke kvalitetne VBX-ove , mislim na neki paket , da ljudi ne
bi trpali sve i svasta u DELPHI-MMMja,ja sam probaMMMMo neke , ali to je jedno
sarenilo , pa me zato interesuje neki oficijelni paketic ovih dodataka.
Cetvrto:Da li postoji neka dokumentacija za DELPHI ??
?????
Pozdrav,Trki
pascal.796postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: pascal
Date: Mon, 07 Aug 1995 09:27:01
MS> hteo da pitam nesto: ZASTO SU SVE TEME ili PASCAL ili INTERAPTI ?
Sve poruke koje dolaze sa beointerneta imaju temu "Pascal", a interapti...
oni su popularni, cini se ;)
... I'd like all your $20 bills in this bag, To go.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.797dr.urbano,
Hi,
Hitno mi treba program koji radi nesto otprilike ovako :
- ucitava .mod fajl i sve vrednosti koje procita iz fajla ( vrednost
frenkfence, vred. koju dodeljujemo naredbi sound(x) ) da pise u neku
textualnu datoteku npr. mod001.txt
- tako da se ova datoteka moze pregledati obicnim editorom
- jos bolje bi bilo kad bi ovako nesto imalo za .wav datoteke (ili snd,voc)
- ako vec postoji ovako nesto nemora biti u pascalu (ali je pozeljno) vec
je vazno samo da vrsi poso'
- ako neko misli da mose da mi pomogne a nije razumeo bas najbolje moje
neka mi se javi ( obavezno :) )
Pozdrav,
dr. Urbano.
pascal.798vvelisavljev,
> Obavezno nabavi i RTL i pogledaj source.
^^^
Šta je i gde može da se nabavi RTL?
pascal.799vvelisavljev,
> Najbolji priručnik za TV je (koliko sam ja video) knjiga koja se
isporučuje
> uz BP 7.0. O TV-u možeš lepu sliku da dobiješ ako kreneš da
pročešljavaš
Gde može da se nađe ta knjiga?
pascal.800nlazic,
*> Gde može da se nađe ta knjiga?
Bilo je kod APP Systems. 647-190 (011).
Pozdrav,
:) Nebojša :)
pascal.801nlazic,
*> Šta je i gde može da se nabavi RTL?
RTL = Run Time Library. Koliko znam, isporučuje se posebno a ne u
okviru BP7.0. Sadrži kompletne sorsove TV-a, OWL-a i svih ostalih unit-a
koji se isporučuju uz BP (crt, dos...). Jako korisna stvarčica, mada ima
neke bagove.
Pozdrav,
:) Nebojša :)
pascal.802nlazic,
*> Cetvrto:Da li postoji neka dokumentacija za DELPHI ??
Na CD-u se nalaze .PDF fajlovi - knjige u elektronskom obliku koje
se čitaju Acorbat Reader-om. Knjige su Users Guide, Component Writers
Guide, i još par knjiga vezanih za baze podataka. To je ujedno i sve što
Borland isporučuje uz Delphi (što se knjiga tiče).
Pozdrav,
:) Nebojša :)
pascal.803postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Re: pascal
Date: Tue, 08 Aug 1995 11:49:00
VMZ> @POINTER je isto sto i ADDR(PROCEDURA). Znaci, ako ti treba adresa
VMZ> procedure, ne mozes je dobiti sa @PROCEDURA i obrnuto (za pointer).
PR> Kako ne moze sa @PROCEDURA ? Kod mene radi...
Pazi, Boga ti... Radi i kod mene :)) U pitanju je inace TP70. Ljudi, izgleda
da mi se cini :) da je @ i Addr jedno te isto. Cekam demant... :)
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.804postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Fontovi za TP
Date: Tue, 08 Aug 1995 20:27:00
PR>> Da li je moguce koristiti True Type fontove iz Pascala (DOS) ili iste
PR>> konvertovati u *.CHR format koji koristi TP?
VMZ>> Nadji mi podatke o TTF zapisu, ja cu ti napraviti konvertor ;)
PS> Da znas kako izgleda TTF format ne bi bas olako rekao ovako nesto.
PS> :)))))
?? Ja sam najozbiljniji, ako imas opis formata prosledi mi, pa cu nesto vec
napraviti.
__ Pozdrav from Vladimir __
... Rodney King joins FidoNet!....."Can't we all just get along?"
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.805postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Tue, 08 Aug 1995 20:28:03
VMZ>> @POINTER je isto sto i ADDR(PROCEDURA). Znaci, ako ti treba adresa
VMZ>> procedure, ne mozes je dobiti sa @PROCEDURA i obrnuto (za pointer).
PR> Kako nemoze sa @PROCEDURA ? Kod mene radi...
Uf, sorry, ja sam ocigledno pobrkao neke stvari ... U pravu si sto se tice
ovoga, upravo sam isprobao :)
__ Pozdrav from Vladimir __
... "Ja ukapiram odmah, samo mi treba malo vremena."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.806postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Pascal
Date: Mon, 07 Aug 1995 17:10:07
*** CITAT : Zoran Rilak ***
ZR> Sto se tice prebacivanja WAV -> MOD, zaboravi. Problem je tipa
Moze : modul od jednog sempla i jednog paterna ;)
ZR> "Kako od hleba napraviti kiflu". WAV sadrzi samo zvucni uzorak, a MOD
RARom ;) mada ce prije biti "od kifle hleb" jer je WAV samo sempl ...
... Ne diraj lava dok Holidej.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.807postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Interrupt
Date: Mon, 07 Aug 1995 18:31:33
Kako osloboditi memoriju mozete naci u poruci FROM: Andrej Turza
Ako je nemate (?) ja cu vam poslati njegovu proceduru (provjereno radi i to
bez problema i nekih prerada).
... Ne diraj lava dok Holidej.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.808postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Pascal
Date: Mon, 07 Aug 1995 18:31:45
*** CITAT : Zoran Rilak ***
ZR> Sto se tice prebacivanja WAV -> MOD, zaboravi. Problem je tipa
Moze : modul od jednog sempla i jednog paterna ;)
ZR> "Kako od hleba napraviti kiflu". WAV sadrzi samo zvucni uzorak, a MOD
RARom ;) mada ce prije biti "od kifle hleb" jer je WAV samo sempl ...
... Ne diraj lava dok Holidej.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.809postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Interrupt
Date: Mon, 07 Aug 1995 17:09:54
Kako osloboditi memoriju mozete naci u poruci FROM: Andrej Turza
Ako je nemate (?) ja cu vam poslati njegovu proceduru (provjereno radi i to
bez problema i nekih prerada).
... Ne diraj lava dok Holidej.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.810postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: pascal
Date: Thu, 10 Aug 1995 19:41:02
>> Vladimir Svrkota nekad rece, a ja ga sada citiram <<
VS> Pazi, Boga ti... Radi i kod mene :)) U pitanju je inace TP70. Ljudi,
VS> izgleda da mi se cini :) da je @ i Addr jedno te isto. Cekam demant...
Nema demanta, i ne cini ti se nego je tako... :)
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.811postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Fontovi za TP
Date: Fri, 11 Aug 1995 07:53:37
VMZ>> Nadji mi podatke o TTF zapisu, ja cu ti napraviti konvertor ;)
PS> Da znas kako izgleda TTF format ne bi bas olako rekao ovako nesto.
PS> :)))))
VMZ> ?? Ja sam najozbiljniji, ako imas opis formata prosledi mi, pa cu
VMZ> nesto vec napraviti.
Nemam ga, i to zato sto kad sam ga locirao, ispalo je da je
dokumentacija predugacka (cini mi se preko 1MB) da bih je
pokupio modemom.
Da li si nekad razmisljao da nabavis opis formata CDR-a da bi
mogao da napravis neki konvertor? Konverzija TTF-a u Borlandov
font je grubo receno, isto toliko komplikovana kao konverzija
CDR-a u neki bitmapirani oblik.
... BR> STEDITE VREME - JEDITE SUPU KUTLACOM
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.812postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Fri, 11 Aug 1995 07:39:00 CET
QWK To: "nenad Milenkovic"
(Tekst poruke: Uucp, na temu Pascal)
> dakle, MOD -> WAV bi jos i moglo, ali WAV -> MOD bas nikako :(
Uu> A sto? Semplujes ceo Wav kao jedan instrument u MOD-u i to je
Uu> valjda to...?
OK, OK. Jeste. Moze tako, of course. A ja budala razlagao WAV ;)
Ma ne bavim se muzikom ionako ;)))))))))))
3OPAH
... Ideja nije nova, ali je originalna!
--- Blue Wave/Max v2.12 [NR]
* Origin: Rolling Stones BBS * YUInt - NiNet - U'NI-net -
FidoNet (2:382/105.5)
#! rnews 993
pascal.813vvelisavljev,
> Najbolji priručnik za TV je (koliko sam ja video) knjiga koja se
isporučuje
> uz BP 7.0. O TV-u možeš lepu sliku da dobiješ ako kreneš da
pročešljavaš
Hi
Izvini što davim al' drug je hteo da zna kako se knjiga tačno zove
i koji je autor.
pascal.814visnja,
>*> Šta je i gde može da se nabavi RTL?
>
> RTL = Run Time Library. Koliko znam, isporučuje se posebno a ne
> u okviru BP7.0. Sadrži kompletne sorsove TV-a, OWL-a i svih
> ostalih unit-a koji se isporučuju uz BP (crt, dos...). Jako
> korisna stvarčica, mada ima neke bagove.
Upravo tako. Nalazi se na samo jednoj instalacionoj disketi.
Ima i source mašinskih rutina. Npr SYSTEM unit. Mnogo lepa stvar.
NE TREBA PREVODITI RTL. Sve to imaš već prevedeno u BP 7.00 tako
da neki bagovi ne smetaju. (mada ih ja nisam primetio ali verujam na reč).
pascal.815visnja,
> Da li si nekad razmisljao da nabavis opis formata CDR-a da bi
> mogao da napravis neki konvertor?
Nema potrebe da se mučite sa CDR-om. EXPORT-uješ CDR u DXF a DXF je
već godinama poznat i ima dostupnu dokumentaciju. Onda praviš konvertor
DXF - šta već oćeš... i dobiješ program koji radi najmanje sa COREL-om i
AUTOCAD-om.
pascal.816nlazic,
*> NE TREBA PREVODITI RTL. Sve to imaš već prevedeno u BP 7.00 tako
*> da neki bagovi ne smetaju. (mada ih ja nisam primetio ali verujam na
*> reč).
RTL ne treba kompajlirati, osim ako nešto ne menjaš u izvornom kodu
nekog od modula. Konkretno, ja sam prevodio neke dijaloge na srpski (u
pitanju je TV) koji kasnije nisu hteli da rade kako valja (još konkretnije
FileOpen dijalog). Naravno, kada sam koristio originalni TPU fajl, a ne
ovaj iz RTL-a sve je bilo OK.
Pozdrav,
:) Nebojša :)
pascal.817mikrom,
Postoji li dobra duša koja bi mi mogla napraviti program
koji radi sledeće:
Na početku svakog novog pasusa koji ne počinje određenim
znakom generiše njegov redni broj (redni broj pasusa)
Svi pasusi su razdvojeni praznim redom, tekst je ASCII
Ukoliko ima zainteresovanih da za određenu nadoknadu
ovo naprave: mail ili tel: 469-534
(Nebitno je u čemu je rađen, a ovu temu sam izabrao
jer je jedna od najaktivnijih)
pascal.818visnja,
> RTL ne treba kompajlirati, osim ako nešto ne menjaš u izvornom
> kodu nekog od modula. Konkretno, ja sam prevodio neke dijaloge
> na srpski (u pitanju je TV) koji kasnije nisu hteli da rade
> kako valja (još konkretnije FileOpen dijalog). Naravno, kada
> sam koristio originalni TPU fajl, a ne ovaj iz RTL-a sve je
> bilo OK.
Ja sam SVE preveo i SVE radi. Ako izmeniš i prevedeš jednan UNIT,
moraš prevesti i sve UNIT-e koji koriste taj i sve koji su u vezi
sa novoprevedenim UNIT-ima. Najbolje je da ih sve iskopiraš u
DIR gde ti je i aplikacija koju pišeš.
Pozdrav. Višnja.
pascal.819vvelisavljev,
Može li neko da napiše kako se koristi TStream object iz TV-a?
pascal.820janko,
--- START CUT HERE --
/*
File: Numer.awk
>
> Na početku svakog novog pasusa koji ne počinje određenim
> znakom generiše njegov redni broj (redni broj pasusa)
>
> Svi pasusi su razdvojeni praznim redom, tekst je ASCII
>
+ je znak koji oznacava linije za numerisanje
numerisu se prve linije oznacenih pasusa po broju takvih pasusa
(p) Janko Stamenovic, 1995.
Uputstvo:
1) Skinuti program AWK koji je uz poruku i otpakovati AWK.EXE
2) Izeci tekst ove poruke i snimiti kao ascii fajl NUMER.AWK
3) Od polazne datoteke dobija se zahtevana sa naredbom:
AWK numer.awk <imeuldat >imeizdat
Sva pitanja na mail
*/
BEGIN { empty= 1;
num = 1
}
{
if ( empty==1 && NF>0 && substr($1,1,1)=="+")
{
printf("%d %s\n",num++,substr($0,2));
empty==0;
}
else
{
empty = (NF==0);
print $0
}
}
--- END CUT HERE ---
awk300.zippascal.821janko,
U mojoj prethodnoj poruci linije komentara imaju pogrešnu oznaku.
Takođe, posle printf umesto empty==0 treba da stoji empty=0 (ali
ne utiče na izvršavanje, zanimljivo, po postavljenim uslovima :) )
Dakle, ili izbaciti sve linije komentara iz NUMER.AWK ili linije tipa
/*
komentar
komentar
*/
prepraviti na
# komentar
# komentar
Program (bez komentara) je:
------ iseći i snimiti pod imenom numer.awk --
BEGIN { empty= 1;
num = 1
}
{
if ( empty==1 && NF>0 && substr($1,1,1)=="+")
{
printf("%d %s\n",num++,substr($0,2));
empty=0;
}
else
{
empty = (NF==0);
print $0
}
}
------ dovde --------
pascal.822postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Interrupt
Date: Thu, 10 Aug 1995 18:16:01
MS> Kako osloboditi memoriju mozete naci u poruci FROM: Andrej Turza
MS> Ako je nemate (?) ja cu vam poslati njegovu proceduru (provjereno radi
MS> i to bez problema i nekih prerada).
Saaaljiiiiiiiiiii!!!!!! :)
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.823postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Fontovi za TP
Date: Sun, 13 Aug 1995 03:51:01
VMZ>> ?? Ja sam najozbiljniji, ako imas opis formata prosledi mi, pa cu
VMZ>> nesto vec napraviti.
PS> Nemam ga, i to zato sto kad sam ga locirao, ispalo je da je
PS> dokumentacija predugacka (cini mi se preko 1MB) da bih je
PS> pokupio modemom.
PS> Da li si nekad razmisljao da nabavis opis formata CDR-a da bi
PS> mogao da napravis neki konvertor? Konverzija TTF-a u Borlandov
PS> font je grubo receno, isto toliko komplikovana kao konverzija
PS> CDR-a u neki bitmapirani oblik.
Pa naravno da je komplikovana, ali je MOGUCE. Dovoljno je da jednom coveku
podje za rukom da to uradi, i svi ce moci to da koriste (osim ako se
ovaj ne odluci da zabiberi cenu ;). Valjda bi neko od nas ovoliko ovde
(ili zajedno) uspeo da uradi te konvertore ...
__ Pozdrav from Vladimir __
... Mail Media. Do not expose to Flames!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.824evlad,
To: enikcevv@galeb.etf.bg.ac.yu (Vladimir Nikcevic)
<> Da me mlade generacije ;-) ne shvate pogresno, ne kazem da je
<> goreopisana prica nesto LOSE. Samo kazem da moja malenkost takvo sta
<> NIKADA ne bi uradila. Valjda sam bio jasan i zasto.
Ima istine u tome, ali ne može pojedinac protiv složnog kolektiva.
Nismo džabe _braća po tastauri_ ;>
Zezancije će uvek biti, samo treba imati meru da se ne pravi šteta !!!
(sorry za delay bio sam odsutan)
pascal.825evlad,
<> ˙˙ napravljen mali programčić (u paskalu) koji se zvao baš B.EXE.
<> Heh, ču li ti za alfa-petlju? :))
Sad ću da lupim :>
NE
pascal.826nlazic,
*> Ja sam SVE preveo i SVE radi. Ako izmeniš i prevedeš jednan UNIT,
*> moraš prevesti i sve UNIT-e koji koriste taj i sve koji su u vezi
*> sa novoprevedenim UNIT-ima.
Znam za to, tako sam i ja radio. Moguće je da je u pitanju neka
banalna stvar, ali jedan prijatelj mi se žalio da mu ista stvar ne radi u
TV za C (čini mi se da je TC2.0, al' nisam siguran). Konkretno, reč je o
File Open dijalogu, koji mi dozvoljava da se "šetam" samo kroz direktorijum
iz kog je program startovan i kroz onaj ispod njega. U negi treci dir. nema
šanse da se pređe. Pošto je stvar bila hitna (kao i uvek, zar ne :),
problem sam rešio tako što sam preveo dotičnu datoteku iz RTL-a za TP 6.0
(TV 1.0).
Pozdrav,
:) Nebojša :)
pascal.827postmast,
From: vladimir.manic@rstones.durlan.co.yu (Vladimir Manic)
Subject: Direktan pristup memoriji
Date: Wed, 16 Aug 1995 01:23:00 CET
QWK To: All
Kako se vrsi direktan pristup memorijskoj lokaciji (citanje i pisanje)
iz protected moda u BP7 ili ASM? Poslati i sors
Vlada
moze i na mail
manic@lucid.junis.ni.ac.yu
--- Maximus 2.02
* Origin: Rolling Stones BBS * YUInt - NiNet - U'NI-net -
FidoNet (2:382/105.5)
#! rnews 1131
pascal.828postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Fontovi za TP
Date: Mon, 14 Aug 1995 17:31:14
*** CITAT : Predrag Supurovic ***
PS> Konverzija TTF-a u Borlandov font je grubo receno ...
Eh, ovako : pre jedno dve godine sam imao neki source za koriscenje ChiWri
fontova u TP. Jest' da nije TTF al' ipak ih ima na kile.
Ako ste zainteresovani, prekopacu malo po kuci da ih nadjem ...
... PC - Pocket Calc. (except Pentium,nothing makes mistakes that big)
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.829postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: Interrupt
Date: Mon, 14 Aug 1995 17:31:19
*** CITAT : Vladimir Svrkota ***
VS> Saaaljiiiiiiiiiii!!!!!! :)
OK, evo vam njegova procedura pa eksperimentisite :
Procedure UnLoad; {by Andrej Turza}
Type MCB = Record
Tok : Byte;
PID, Size : Word;
End;
Var Blk : ^MCB;
Adr : ^Word;
R : Registers;
Begin
R.AH := $52;
MsDos(R);
Adr := Ptr(R.ES, R.BX-2);
Blk := Ptr(Adr^, 0);
Repeat
If (Blk^.PID = PrefixSeg) then
Begin
R.AH := $49;
R.ES := Seg(Blk^)+1;
MsDos(R);
End;
If (Blk^.Tok = $4D) Then
Blk := Ptr(Blk^.Size+Seg(Blk^)+1, 0)
Else
Blk := nil;
Until (Blk=nil);
End;
P.S. VAZNO !!! Proceduru MORA pokrenuti rezidentni program (znaci ako 'ocete
da se deinstalira iz komandne linije morate nekako "natjerati" TSR
program da sam izvrsi proceduru : upisete na neku mem. lokaciju neku
vrednost pa izvrsite interapt na koji ste zakacili program, on procita
vrednost i pozove proceduru).
... MSDOS - MicroSoft's Destruction Of System.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.830postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Fontovi za TP
Date: Tue, 15 Aug 1995 23:04:00
PS> Hoces li hint? Postoji gotov program koji TTF konvertuje u
PS> WINDOWS bitmapirani font. Znas, onaj sto od TTF-a pravi sistemski
PS> font za Windows okruzenje. Iz bitmapiranog WINDOWS fonta je vec
PS> mnogo lakse konvertovati, mada i za njega treba provaliti format.
Ipak mislim da je lakse uraditi konvertor komplikovanog formata ako
postoji objasnjenje, nego provaliti nepoznat format. Postoji milion
nacina da se font zapise i kompresuje...
Naravno, ako se moze naci opis BM fonta onda je lakse u svakom slucaju.
__ Pozdrav from Vladimir __
... Strike it RICH, with Silver Xpress!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.831postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Tue, 15 Aug 1995 23:04:01
"N> Hitno mi treba program koji radi nesto otprilike ovako :
"N> - ucitava .mod fajl i sve vrednosti koje procita iz fajla ( vrednost
"N> frenkfence, vred. koju dodeljujemo naredbi sound(x) ) da pise u neku
"N> textualnu datoteku npr. mod001.txt
"N>
"N> - tako da se ova datoteka moze pregledati obicnim editorom
"N> - jos bolje bi bilo kad bi ovako nesto imalo za .wav datoteke (ili
"N> snd,voc)
Teoretski moguce, ali prakticno, ... to se vec granici sa 'naucnom
fantastikom'. Ovo za MOD bi jos i bilo izvodljivo kada bi rekao konkretno
za sta ti treba, ali za semplove NIKAKO. Nemoj se ni truditi da to nadjes
jer sigurno ne postoji :(
__ Pozdrav from Vladimir __
... Silver Xpress!...... Don't leave home without it!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.832mikrom,
▄─ numerisu se prve linije oznacenih pasusa po broju takvih pasusa
▄─ (p) Janko Stamenovic, 1995.
Najlepše se zahvaljujem na uloženom trudu,
takođe se zahvaljujem i svim ostalima koji
su mi se javljali i pomogli da rešim problem.
pascal.833andrejt,
To: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subj: Re: Interrupt
Q> P.S. VAZNO !!! Proceduru MORA pokrenuti rezidentni program (znaci ako
Ne mora... Stavi Procedure Unload(PSeg : Word); i zameni PrefixSeg
u proceduri sa PSeg i brisace program sa potpisom PSeg.
pascal.834visnja,
> TV za C (čini mi se da je TC2.0, al' nisam siguran). Konkretno,
> reč je o File Open dijalogu, koji mi dozvoljava da se "šetam"
> samo kroz direktorijum iz kog je program startovan i kroz onaj
> ispod njega. U negi treci dir. nema šanse da se pređe.
Nije TC2.0 kriv, isti BUG imam i u pascalu. Nisam ga ni resio. S'a ko
ima da mi se seta po disku :). Salim se, zavisi od aplikacije,
za ono sto sam ja pisao ne terba mi nikakva setnja po disku jer
korisnici mojih aplikacija i ne trebaju da znaju sta je DIR ili disk.
Pozdrav Visnja.
pascal.836postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: Delphi
Date: Wed, 16 Aug 1995 23:26:03
KA> 1) Kako da promenim ikonu u vecc gotovom programu *.dpr?
1) U View| Project Manager| Options imas Applications page. Tamo mozes da
setujes ikonu po izboru, naslov i hejlp fajl(.hlp)
KA> 2) Dali u Beogradu postoji CD Delphi-ja na kojem je
KA> i uputstvo u elektronskoj formi? U Delphi-ju u kome
KA> ja sad poccinjem, postoji Interactive Tutor, koji je
KA> veoma skroman.
Sve zavisi sta mislis kada kazes "uputstvo u elektronskoj formi" Ja imam i
nekih 15 MB .pdf (Adobe Acrobat) fajlova koji su takodje neka vrsta
Help-a. Ako to nemas, potrudi se da nabavis - naravno uz Adobe Acrobat
Reader.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.837postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: pascal
Date: Thu, 17 Aug 1995 00:19:24
*** CITAT : "Viktor Velisavljev" ***
"V> Sta je i gde moze da se nabavi RTL?
RTL = Run Time Libs (ma sourcevi, korisno).
Dobijes na 11. disketi borland pascala V7.
... Ma kakav crni tag?
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.838postmast,
From: Vladimir.Svrkota@f119.n111.z38.setnet.setnet.co.yu (Vladimir Svrkota)
Subject: Fontovi za TP
Date: Wed, 16 Aug 1995 16:26:00
MS> Eh, ovako : pre jedno dve godine sam imao neki source za koriscenje
MS> ChiWri fontova u TP. Jest' da nije TTF al' ipak ih ima na kile.
MS> Ako ste zainteresovani, prekopacu malo po kuci da ih nadjem ...
Zainteresovani smo, pa ti malo prekopaj po kuci :)
... The Truth Is Out There...
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.839isekulovic,
Jel moguće nekako u Delphiu iskombinovati SQL query i table
tako da se ima grid sa nekim poljima baze, a da sa strane budu
polja koja će samo za selektovani slog u gridu davati ostala
polja. Otprilike kao u primerima dbaware s tim što je tamo
za grid korišćena sva polja, odnosno nije se išlo preko sql-a.
Koliko se meni čini stvar je u kako namestiti DataSet DataSource
ne samo na query ili table već na oba istovremeno, ali nisam
uspeo išta da uradim.
ivan
ps Može li se namestiti da se po gridu ne može šetati kursorima
po poljima već samo po slogovima?
pascal.840postmast,
From: mboris@setnet.co.yu (Boris Milinkovic)
Subject: seminarski iz paskala
Date: Sat, 19 Aug 1995 04:21:50
Treba mi "mala" pomoc.
Jedan kolega sa faks-a me zamolio da mu napisem seminarski
rad. Kako ja nemam vremena (a i mrzi me, samo nisam mogao da ga
odbijem:), da li neko ima program u pascalu koji odgovara
sledecim zahtevima:
1. koristi datoteke
2. koristi pointere
3. nije mnogo dugacak
4. normalno je dokumentovan.
5. radi bilo sta sto se vidi da radi
Unapred hvala.
Ko je raspolozen svoje radove moze da salje u mail ili u konf.
Pozdrav,
Boris Milinkovic | InterNet E-Mail | mboris@fon.fon.bg.ac.yu
from Bajina Basta | YUInterNet E-Mail | mboris@setnet.co.yu
Jos jednom hvala :))
... This tagline is SHAREWARE! To register, send me $10
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.841postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: seminarski iz paskala
Date: Sat, 19 Aug 1995 17:52:48
==== Boris Milinkovic rece: ======================================
BM> Jedan kolega sa faks-a me zamolio da mu napisem seminarski
BM> rad. Kako ja nemam vremena (a i mrzi me, samo nisam mogao da ga
BM> odbijem:), da li neko ima program u pascalu koji odgovara
BM> sledecim zahtevima:
Dao bih ti ja par, ali su vec par puta upotrebljavani kao
seminarski na FON-u - prepoznace neko :)))))
... BR> Oreska BBS, Uzice, 031 28276 = 23:00-09:00
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.842vitez.koja,
#=> ps Može li se namestiti da se po gridu ne može šetati
#=> kursorima po poljima već samo po slogovima?
Može. Pogledaj pod properties, ima prilično logično nazvana
stavka.
pascal.843pyramid,
>> Jel moguce nekako u Delphiu iskombinovati SQL query i table
>> tako da se ima grid sa nekim poljima baze, a da sa strane budu
>> polja koja ce samo za selektovani slog u gridu davati ostala
>> polja. Otprilike kao u primerima dbaware s tim sto je tamo
>> za grid koriscena sva polja, odnosno nije se islo preko sql-a.
Moguce je. Koristis property SelectedField i to ovako:
DBTable1.SelectedField.AsString
ili ako koristis opciju koja ti selektuje ceo red (a to se postize
postavljanjem property-ja Options.SelectRow (ili tako nekako) onda mozes
koristiti Fields ili metod FieldByName. Opis polja sadrzi i trenutnu vrednost
selektovanog reda.
E sad kako sve to ukomponovati? Postavis Query (ili Table) i na prethodni nacin
nadjes kakav je uslov za vrsenje upita. U Query koji treba da prikaze sve
slogove treba u property SQL upisati SQL naredbu (ili skup naredbi) koja ce to
uciniti. To se moze uciniti na sled. nacin:
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT polje1, polje2, poljeN FROM table1, table2, tableN WHICH
polje1=:uslov');
Query2.Params[0].AsString:=Query1.FieldByName('fieldX').AsString;
Query2.Open;
to bi bilo otprilike tako.
Gore se potkrala greska (on-line pa ne mogu ispraviti) treba umesto DBTable1 da
pise DBGrid1....
pascal.844pyramid,
Da li neko zna kako u DELPHI-ju da se uradi trazenje (neki SEEK klipera) nad
DBGrid-om koji je u vezi sa SQL query-jem? Osnovni problem je sto ne mogu
nikako grid-u reci da selektuje neki red koji zadovoljava odredjeni uslov.
pascal.845vlador,
Evo nečega što bi svim "paskalovcima" vrlo lako moglo biti od velike
koristi - TPU sa objektom za rad sa .INI fajlovima. Podržani su
komentari (sav tekst iza znaka ';'), sekcije (string između srednjih
zagrada) i promenljive u formatu XXX=YYY.
TPU je za TP7. Ako nekom treba stariji, neka javi pa ćemo probati da
nađemo stariji kompajler. :)
engini.zippascal.846max.headroom,
Hmh, skoro sam poceo da cackam po Delphi-ju, i ustanovio sam da se
stvar prilicno razlikuje od moje omiljene radne sredine - FoxPro-a
(vise no ocigledno). Kao DBase-alike programer, namucio sam se
oko sledeceg:
* Postoji li nacin da nekom DB polju pridodelim format, tj.
odredim mu masku za unos (npr. tel. broj: (999) 999-9999...)?
Jedino sto sam do sada pronasao jeste EditMask property tog polja,
koja sa navedenim kontrolnim kodovima vrsi posao. Medjutim, zasto te
EditMask prop. nema u Object Inspector-u (Properties page), pri
aktiviranju DBEdit-a? I kako da ga tamo umetnem?
* Drugi problem se nadovezuje na prvi - ako unesem vrednost koja
ne odgovara zadatom tipu polja (npr. unesem pogresan datum u polje
Date tipa), javlja se greska. Dobro, do sada sam ukapirao da je u
pitanju Exception. Medjutim, neznam kako da aktiviram tu svoju
exception rutinu, kada i gde da je aktiviram, i kako bi
ona vec izgledala...
Help :)
pascal.847postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Re: HideCursor
Date: Sat, 19 Aug 1995 19:16:00
Stevan is replying to Andrej who replied to All on 19 Aug 95 12:40am
AM> Kako da u tp60 sakrijem kursor (ne strelicu misa) ?
AM> Postoji procedura TView.HideCursor, ali ne radi posao ...?
Imas na Ecstasy-ju unit zove se TPW60 (Turbo Pascal Windows),
tu ces naci funkciju HideCursor; koja radi ono sto ti treba.
Mad Dog
... Hello? Andrej Are you there? Earth to Andrej ? Hello?
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.848postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: pascal
Date: Sun, 20 Aug 1995 00:09:56
*** CITAT : Vladimir M Zivkovic ***
"N> - ucitava .mod fajl i sve vrednosti koje procita iz fajla ( vrednost
"N> - jos bolje bi bilo kad bi ovako nesto imalo za .wav datoteke (ili
VMZ> Teoretski moguce, ali prakticno, ... to se vec granici sa 'naucnom
Ako sam dobro shvatio covek hoce ovo:
da za SVAKU promenu frek. upisem po jedan red tipa SOUND(XXXX) ...
Nadam se da nisam dobro shvatio jer je to i teorijski tesko izvodivo ...
Prvi razlog:
Uzmimo da je sempl 8-bitni i da zauzima 6Kb.
Svaki bajt se transformise u SOUND(XXXX) jer je mala vjerovatnoca da su
dva susjedna bajta istovetna. Kako SOUND(XXXX) zauzima 13 bajtova tako bi
i tvoj sempl zauzimao 78Kb. Sad izracunaj koliko je to za sempl (WAV) od
stotinjak kilobajta :(
Drugi razlog:
Takav fajl je apsolutno necitak :
SOUND(0454)
SOUND(1288)
SOUND(0996)
...
Stvarno ne znam sta ocekujes od toga(?!)
Treci razlog:
Vezan za module: problem se svodi kako od modula napraviti sempl.
Odgovore na to pitanje mozees naci u prethodnim porukama(ukratko:teeeskoo).
pozdrav iz BanjaLuke
... Sum na vezi omogucila PTT RS
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.849postmast,
From: Andrej.Micic@f119.n111.z38.setnet.setnet.co.yu (Andrej Micic)
Subject: HideCursor
Date: Sat, 19 Aug 1995 01:40:00
Kako da u tp60 sakrijem kursor (ne strelicu misa) ?
Postoji procedura TView.HideCursor, ali ne radi posao ...?
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.850postmast,
From: Kliment.Andreev@f108.n108.z38.setnet.setnet.co.yu (Kliment Andreev)
Subject: Delphi
Date: Wed, 23 Aug 1995 23:08:34
KB> Sve zavisi sta mislis kada kazes "uputstvo u elektronskoj formi" Ja imam i
KB> nekih 15 MB .pdf (Adobe Acrobat) fajlova koji su takodje neka vrsta
KB> Help-a. Ako to nemas, potrudi se da nabavis - naravno uz Adobe Acrobat
KB> Reader.
Puno hvala na odgovoru. A jel' *.pdf help, Borlandov ili nekog
nezavisnog prozvodjaca? I jos jedno pitanje. U deklaraciji
type Form1=class(TForm) dodao sam i svoju proceduru
....
procedure Button1Click(Sender: TObject);
procedure xyz(Sender: TObject); {Ovo je moja procedura}....
....
procedure xyz(Sender: TObject);
begin
Button1.Caption:='trt-mrt';
end;
Kako da pozovem ovu proceduru?
10x
Chombe KAN
■ OLX 2.1 TD ■ Me jap burek me mish dhe jogurti! - Falimenderit!
-+- OLMS 2.5 UNREG
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.851postmast,
From: sigma@setnet.co.yu (Sebastian Adanko)
Subject: HideCursor
Date: Tue, 22 Aug 1995 20:00:21
< Reply to this message, please, Andrej >
AM> Kako da u tp60 sakrijem kursor (ne strelicu misa) ?
AM> Postoji procedura TView.HideCursor, ali ne radi posao ...?
Ako imash MDA, CGA ili VGA, onda ce ovo sledece da radi za
tekstualni mod (ako ti za njega treba). Ako imas neku drugu
karticu, probaj pa javi. ;)
asm
mov ah,1
mov ch,20h
int 10h
end;
eto... to ubacish gde ti treba, ili napravis od toga proceduru u
unit-u (kao sto ja uradih) i reshen problem. :)
pHL^vBc^sBHs
... Take This 'Conference' and Shove It.
* Origin: SETNet-ICM Digital BBS * Subotica * (024)51-212 * (38:111/118)
pascal.852gtomic,
Subject: Prikaz .PCX i .BMP fajlova i horizontalno skrolovanje ekrana
u grafičkom modu
Da li neko ima source za prikaz PCX ili BMP fajlova u formatu 640x480x16.
Takodje mi je potreban source za horizontalno skrolovanje ekrana u istoj
rezoluciji.
Probao sam da izvedem utisak skrolovanja sa naredbama GetImage i PutImage
u levo, stim što se deo ekrana za koji se slika pomeri u levo ponovo
iscrta. Ovo mi je sve suviše sporo.
Potrebno mi je za diplomski, pa ako neko ima neki hint ili source neka
mi se javi.
Pozdrav,
Vladan Obradović
pascal.853kriss,
˙˙ TPU je za TP7. Ako nekom treba stariji, neka javi pa ćemo
˙˙ probati da nađemo stariji kompajler. :)
Treba za TP 6.0. Ima kod mene. :)
pascal.854uobradovic,
Hi !
Zanima me sledeće:
- koliko je Delphi bolji u odnosu na tp70
- koliko megabajta zauzima
- da li ga vredi uzimati ...........
Uroš
pascal.855vlador,
> Treba za TP 6.0. Ima kod mene. :)
Fataj.
engini60.zippascal.856galimpic,
Osnovana je grupa DELPHI. Zainteresovani mogu da se jave na mail.
pascal.857djelovic,
> Osnovana je grupa DELPHI. Zainteresovani mogu da se jave na mail.
A sta fali ovoj temi? :)
pascal.858vojas,
> Nije TC2.0 kriv, isti BUG imam i u pascalu. Nisam ga ni resio. S'a ko
BUG se nalazi u funkciji RelativePath u unitu STDDLG. Red koji glasi:
RelativePath := not (S <> '') and ((S[1] = '\') or (S[2] = ':'));
treba da glasi:
RelativePath := not ((S <> '') and ((S[1] = '\') or (S[2] = ':')));
Eto, šta učini jedan par zagrada.
Pozdrav,
Heechee of the Ancients
pascal.859vojas,
> pitanju Exception. Medjutim, neznam kako da aktiviram tu svoju
> exception rutinu, kada i gde da je aktiviram, i kako bi
Probaj ovako:
try
nešto
except
on exception do
greška
Nisam siguran da li je baš tako, nije mi ovde PC br. 3, u njemu
imaš primer exception mehanizma.
Pozdrav,
Heechee of the Ancients
pascal.860vojas,
Ima li neke šanse za nabavljanje Delphi-ja na _disketama_ a ne na CD-u.
Heechee of the Ancients
pascal.861vitez.koja,
#=> - koliko je Delphi bolji u odnosu na tp70
217,46% ;)
#=> - koliko megabajta zauzima
55.
#=> - da li ga vredi uzimati ...........
Da.
pascal.862dbosanac,
Imam jedno pitanje u vezi sa Delphi-jem
Kako startovati neki izvršni program
iz svog programa?
Dejan
pascal.863vlador,
Ima li nagoveštaja o Delphiju 95?
pascal.864nlazic,
*> Imam jedno pitanje u vezi sa Delphi-jem
*> Kako startovati neki izvršni program
*> iz svog programa?
API funkcijom WinExec. Prvi parametar je pun naziv programa (sa sve
putanjom i parametrima), a drugi je kako da se taj program startuje
(minimizovan, normalan...). Pogledaj API help za detalje.
Pozdrav,
:) Nebojša :)
pascal.865mastermind,
Za delphi ne znam...
ali u običnom pascalu je pomoću EXEC(<ime izvršnog fajla>,<parametri>)
i moraš da smanjiš stek...
Í─Ď─┐ Í─Ď─┐
║ ║ │aster║ ║ │ind
đ đ ┴ đ đ ┴
pascal.866galimpic,
> > Osnovana je grupa DELPHI. Zainteresovani mogu da se jave na mail.
>
> A sta fali ovoj temi? :)
Ne fali joj ništa, ali valjda i sam iz iskustva znaš da je u grupama uvek mnogo
zanimljivije nego u conf. Možda zbog toga što tvoje poruke čita max desetak
ljudi, pa je atmosfera opuštenija. Uostalom, već mi se javilo dosta
interesenata. Ubacio sam i tebe, nadam se da ćeš ostati.
pascal.867djelovic,
> Ne fali joj ništa, ali valjda i sam iz iskustva znaš da je u grupama uvek
> mnogo zanimljivije nego u conf.
Da, prva dva dana :). Posle toga obicno grupe dozive polaku smrt :(. Neces
verovati, ali clan sam u jedno dvadesetak grupa i tvoja poruka je prva posle X
meseci.
pascal.868mminovic,
Hi!
Bas me zanima ima li neko ideju zasto me ovaj glupavi kompjuter
zajebava.
Problem glasi ovako:
Ako iz procedure pozovem neku drugu proceduru,sve je ok,druga
procedura odradi sta ima i vrati kontrolu prvoj.
Medjutim,ako u toj drugoj proceduri dodam samo:
'imefajla:=imefirme[1]+'.dat';
onda se druga procedura odradi do kraja,ali ne vrati kontrolu prvoj
vec mi blokira kompjuter(ponekad pisti,ponekad resetuje,ponekad mi
zabrlja neke fajlove).
Jos informacija:koristim DoubleSpace ,program radi u grafickom
okruzenju.
Posle te izjave imefajla mogu da napisem neki deo koji konkretno radi
sa datotekama i to ce korektno da odradi,ali po zavrsetku druge
funkcije sve staje!
Ima li neko ideju?!
Pozdrav,od ocajnog
Mindze.
pascal.869dpredovic,
Subject: Re: Delphi
> EditMask prop. nema u Object Inspector-u (Properties page), pri
> aktiviranju DBEdit-a? I kako da ga tamo umetnem?
Nema potrebe, lakše je srediti editmask za TField.
> * Drugi problem se nadovezuje na prvi - ako unesem vrednost koja
> ne odgovara zadatom tipu polja (npr. unesem pogresan datum u polje
> Date tipa), javlja se greska. Dobro, do sada sam ukapirao da je u
Ubaciš u onchange event za dbedit:
txt:=editor.text;
len:=length(txt);
if not polje.isvalidchar(txtŠlenĆ) then
editor.text:=copy(txt,1,len-1);
PS. Tako sam se i ja osećao kad sam probao da čačkam po fox-u, posle
clippera... ;))
pascal.870zeljkoj,
> Da, prva dva dana :). Posle toga obicno grupe dozive polaku
> smrt :(. Neces verovati, ali clan sam u jedno dvadesetak grupa
> i tvoja poruka je prva posle X meseci.
A ima i grupa u koje već više od godinu dana redovno stižu poruke, s tim
što se povremeno diskusija toliko 'razbukti' da počne da stiže i više od
100 poruka dnevno.
pascal.871postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: HideCursor
Date: Thu, 24 Aug 1995 23:24:10
*** CITAT : Stevan Dejanovic ***
AM> Kako da u tp60 sakrijem kursor (ne strelicu misa) ?
Imas i funkciju nekog interapta (pogledaj TechHelp, ili neki NG) kojom
mijenjas izgled kursora (podesis ga da je prazan). Ako ne znas/ne mozes
napisacu ti ja proceduru.
SD> Imas na Ecstasy-ju unit zove se TPW60 (Turbo Pascal Windows),
Sta jos ima u tom unitu?
... S poda ne mozes pasti.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.872uobradovic,
Da li Delphi može da se nabavi na disketama 5.25" i da
li ima neka knjiga o Delphi-ju.
Uroš
pascal.873bulaja,
│Ima li neke šanse za nabavljanje Delphi-ja na _disketama_ a ne na CD-u.
└───
Instalacioni CD ima poddirektorijume install/disk1, ... diskX,
koji sadrže (logično) image instalacionih disketa. :)
pascal.874max.headroom,
> Ubaciš u onchange event za dbedit:
Hm, tačno, to bi bilo to. Ali mislim da je postupak sa EditMask
primenljiviji u određenim situacijama, a i navikao sam na
PICTURE klauzulu pod Fox-om :)
(BTW, zašto bi se korisnik mučio sa ubacivanjem npr. tačaka
u datumskom polju?)
P.S.
Znaš li kako nekom prog. objektu koji se nalazi u Object Inspector-u
otvoriti novi property? Na primer, baš ovo mučenje sa maskom...
> PS. Tako sam se i ja osećao kad sam probao da čačkam po fox-u, posle
> clippera... ;))
:) Ali je uvek bilo ornih da pomognu onima koji prelaze u drugu veru.
Samo, Fox i Clipper su jednojajčani blizanci u odnosu na Fox i Delphi.
Bre, sa OOP-om se srećem po prvi put - do sada sam evente morao sam
da definišem i setujem :))
pascal.875max.headroom,
Au, problema: napravio sam sitnu aplikaciju koja koristi bazu
DBase IV tipa (sa indeksnim i memo poljima), i pokusao da je
startujem na masini na kojoj nije instaliran Delphi. Javlja mi
se Application Error, i to u fazonu "nemogu da pokrenem
Borland Database Engine". Zna li neko koje je sve fajlove
potrebno preneti zajedno sa EXE i DBF/DBT/MDX fajlovima da
bi aplikacija proradila?
pascal.876nlazic,
*> Borland Database Engine". Zna li neko koje je sve fajlove
*> potrebno preneti zajedno sa EXE i DBF/DBT/MDX fajlovima da
*> bi aplikacija proradila?
Ako koristiš baze, potrebno je da zajedno sa programom isporučiš
i Borland Database Engine. Ako radiš sa Report Smith-om, i on treba da je u
paketu sa programom (ne kompletan, samo run-time deo). Za detalje pogledaj
fajl \delphi\deploy.txt
Pozdrav,
:) Nebojša :)
pascal.877dr.urbano,
Zna li neko kako bi mogao da pustam semplove u pozadini (nezavisno od onog sto
program trenutno radi). Dali bi trebalo da se pise TSR rutina ? Ako je potrebna
TSR rutina kao se to pise u pascalu keep to ne radi bas najbolje.
Pozdrav !
P.S.
Znam da je TSR rutinama bilo reci ali se nista nije odredjeno reklo
pascal.878.sima,
> Kako da u tp60 sakrijem kursor (ne strelicu misa) ?
> Postoji procedura TView.HideCursor, ali ne radi posao ...?
procedure IskljuciKur;
var
regs: Registers;
begin
regs.ah:=1;
regs.ch:=$20;
intr($10, regs);
end;
procedure UkljuciKur;
var
regs: Registers;
begin
regs.ah:=1;
regs.ch:=11;
regs.cl:=12;
intr($10, regs);
end;
.sima
pascal.879mminovic,
Hi!
Napisao sam program,ocistio ga od buba, i sada ostade jedna,
ali nema sanse da je logicka(tj. moja:)
Naime zna li neko zasto je ovo ovako(ili bar ima ideju,ili pak
predlog) :
Evo sta se desava,zamislite obojen poligon preko celog ekrana i jos
tri
preko njega,onda u jednom postoji staticki tekst,a preko nekih
slova pisem ista ta slova ali u boji pozadine(nacin brisanja) i
onda opet izdajem podatke preko toga.
(hint : radi se u grafickom rezimu).
Ako izdajem vise od 25 puta,ekran prosto pocne da mi se pomera ne
gore,
i kako ja dodam nove podatke preko,tako se ekran pomeri na gore(i to
ne ceo,mali deo pri dnu ostane) i tako mi pokvari ceo program.
Zanimljivo je da ako posle ne stavim ClearDevice;
i ponovo zatrazim iste opcije,poligoni ce biti obojeni,ali kod prvog
izdavanja podataka ce se ekran opet pomerati.
Nije do kolicine video memorije(probano na 512K i na 2MB i isto).
Da li postoji neka naredba za setovanje necega sto bi moglo da utice
ili je ovo bug?
znaci ja fakticki pisem nekim fontom po ekranu,i posle odredjene
kolicine pisanja,pocne kao da se skroluje ekran.
Pomoc.
Pozdrav,
Mindza.
pascal.880dpredovic,
Subject: Re: BDE
> se Application Error, i to u fazonu "nemogu da pokrenem
> Borland Database Engine". Zna li neko koje je sve fajlove
> potrebno preneti zajedno sa EXE i DBF/DBT/MDX fajlovima da
> bi aplikacija proradila?
Kod mene je Delphi stigao u (15+2+5)*3,5 paketu. Ovo 2 je BDE Deployment
kit, a 5 je ReportSmith DK. Ako i kod tebe nije tako menjaj dobavljača ;)
BTW. kada smo već kod windows deploymenta, jel postoji neki univerzalni
install-maker za windowse ili ću morati sam da se zezam i sa tim? A možda
bi se vredelo zezati sa MS setup.exe i njegovim *.inf fajlom?
pascal.881dpredovic,
> Hm, tačno, to bi bilo to. Ali mislim da je postupak sa EditMask
> primenljiviji u određenim situacijama, a i navikao sam na
> PICTURE klauzulu pod Fox-om :)
Pa to ti kažem: reguliši editmask za TField, pa će on već da ga primeni
tamo gde treba... Ono iz prethodne poruke vredi za slučajeve gde tek
runtime znaš koje ti je polje u boxu (kojekakvi search boxovi etc.)
> Znaš li kako nekom prog. objektu koji se nalazi u Object Inspector-u
> otvoriti novi property? Na primer, baš ovo mučenje sa maskom...
Ne bi trebalo da bude previše problema. Napraviš novu komponentu koja
nasleđuje TDBEdit, i u properties gurneš EditMask. E sad, kako, kada
i gde bi to trebalo da se aktivira... Smislićemo ako ti baš treba... ;)
> Samo, Fox i Clipper su jednojajčani blizanci u odnosu na Fox i Delphi.
> Bre, sa OOP-om se srećem po prvi put - do sada sam evente morao sam
Pa to i nisam mogao da podnesem... Ne umem ništa više da napišem bez
objekata. Lokalne promenljive da i ne pominjem ;)
BTW Što se tiče foxovih fajlova pod delphijem - probaj kroz ODBC.
pascal.882.sima,
Hi
Da li je neko uspeo da u Borland Pascal-u 7.0 i Borland C-u 3.1
pokrene grafički mod u 256 boja. U helpu piše da se funkcija
setrgbpallete može koristiti za VGA u 256 i da MAXCOLORS daje 256.
Ali meni uvek daje 16.
Pozdrav
pascal.883max.headroom,
> paketu sa programom (ne kompletan, samo run-time deo). Za detalje pogledaj
> fajl ĐdelphiĐdeploy.txt
U pravu si. Najneophodniji fajlovi za rad sa DBase bazama, bez SQL-a i reporta
su:
IDAPI01.DLL
IDR10009.DLL
ILD01.DLL
IDAPI.CFG
IDDBAS01.DLL
BDECFG.EXE
BDECFG.HLP
što mu izađe, brat bratu, 800 Kb. Ako sam ubacio koji viška, ispravi me
(naravno, onaj BDECFG.HLP nije najneophodniji)...
pascal.884visnja,
> Da li je neko uspeo da u Borland Pascal-u 7.0 i Borland C-u 3.1
> pokrene grafički mod u 256 boja. U helpu piše da se funkcija
Probaj:
{$F+}
function DetectVGA256 : integer;
{ Detektuje VGA ili MCGA video karte }
var
DetectedDriver : integer;
SuggestedMode : integer;
begin
DetectGraph(DetectedDriver, SuggestedMode);
if (DetectedDriver = VGA) or (DetectedDriver = MCGA) then
DetectVGA256 := 0 { Default video mode = 0 }
else
DetectVGA256 := grError; { Ne moze detektovati }
end; { DetectVGA256 }
{$F-}
....
na pocetku porgrama:
AutoDetectPointer := @DetectVGA256; { Point na rutinu za detekciju }
GD := InstallUserDriver('SVGA256', AutoDetectPointer);
GD := Detect;
InitGraph(GD, GM,'');
....
Pozdrav Visnja.
pascal.885mminovic,
gledajte:
Type
str11 = array [1..250] of string[11];
fir = record
ime : String[50];
datumi : str11;
brdat : ShortInt;
end;
firm = array [1..20] of fir;
.....................................
neki kod...............
.....................................
INC(firma[i].brdat);firma[i].datumi(firma[i].brdat):=cdatum;end;
^error 91 : ":=" expected.
Zna li neko zasto mi prijavljuje ovu gresku,i kako mogu drugacije
da resim problem?
Pozdrav,
Mindza.
pascal.886.sima,
> AutoDetectPointer := @DetectVGA256; { Point na rutinu za
> detekciju } GD := InstallUserDriver('SVGA256',
> AutoDetectPointer);
Da ovo mi radi, ali mislio sam da li je moguće sa originalnim
drajverima. Prosto ne mogu da verujem da u BP7.0 daju drajver
za VESA16 a ne za VESA256, a podržavaju IBM u 256 boja. Zbog
čega nije podržan ni jedan mod u 256 boja, a da ne pričamo o
nekim višim modovima koje ovaj drajver(svga256.bgi) podržava.
Nije podržan čak ni 320x200x256 ???
Pozdrav.
pascal.887.sima,
> INC(firma[i].brdat);firma[i].datumi(firma[i].brdat):=cdatum;end;
> ^error 91 : ":=" expected.
>
E bre Mindza ... c c c.
Savetovao bi ti jednu dobru knjigu za Pascal.
INC(firma[i].brdat);firma[i].datumi[firma[i].brdat]:=cdatum;end;
^[ ^]
jer firma[i].datumi je array od stringova.
Ovo prolazi kroz kompajler, ali neznam koliko smisla ima.
Pozdrav
P.S.Naravno ovo sve ima smisla samo ako je firma variabla od firm.
pascal.888visnja,
> INC(firma[i].brdat);firma[i].datumi(firma[i].brdat):=cdatum;end;
> ^error 91 : ":=" expected.
Ako su ti >datumi< tipa >array< šta traže ovde male zagrade?
Evo ovo se prevodi bez greške, ako je to ono što ti treba:
type
str11=array[1..250] of string[11];
fir=record
ime : string[50];
datumi : str11;
brdat : shortint;
end;
firm=array[1..20] of fir;
var
firma : firm;
i : integer;
begin
inc(firma[i].brdat);
firma[i].datumi[firma[i].brdat]:='datum';
======================
end.
pozdrav Visnja.
pascal.889mminovic,
hvala na pomoci:)
glupi ja :))
jebi ga,posle 8 h programiranja ne bih bio sposoban da nacem WC,a
kamo li..:)))
nego jel zna neko odgovor na onaj VELIKI:) problem(mislim ima tu moja
velika poruka,pa..).
Pozdrav,
Mindza.
pascal.890nlazic,
*> što mu izađe, brat bratu, 800 Kb. Ako sam ubacio koji viška, ispravi
*> me (naravno, onaj BDECFG.HLP nije najneophodniji)...
Što se datoteka tiče, trebalo bi da si u pravu. Međutim, Borland
zahteva da se pri isporuci aplikacija razvijenih u Delphi-u, koje koriste
BDE isporučuje kompletan BDE. Tebi, kao autoru, ostaje mogućnost da
savetuješ korisnika šta može da izbriše, a šta ne, ali kompletan BDE se
mora nalaziti na instalacionim disketama, koristio ih neko ili ne. žini mi
se da se za BDE dobija instalacioni program, ali ne mogu da tvrdim jer mi
Delphi-eve diskete nisu pri ruci. Sve u svemu, BDE zauzima 2 diskete. :)
Pozdrav,
:) Nebojša :)
pascal.891max.headroom,
> Ne bi trebalo da bude previše problema. Napraviš novu komponentu koja
> nasleđuje TDBEdit, i u properties gurneš EditMask. E sad, kako, kada
:)) Eh, kako jednostavno :) Pa, bre, ja nemam predstavu o tome šta je klasa,
šta je nasleđivanje (osim da sam od ćaleta nasledio negativnu dioptriju), i
sada do besvesti prebiram po Help-u ne bih li našao neko blago-ljudsko
objašnjenje za sve te objektne pojave :) U svakom slučaju hvala za tip -
verovatno ću ga upotrebiti tek pošto naiđem na neku zanimljivu knjižicu od par
'iljada strana, tek da me uvede u OOP :)
(In the meantime, pokušaću sistemom 'probaj pa ubodi'... možda mi se posreći)
:)
> BTW Što se tiče foxovih fajlova pod delphijem - probaj kroz ODBC.
Da, to sam već regulisao. ODBC i jeste jedini način da pristupim Fox-ovim
bazama.
pascal.892.sima,
> nego jel zna neko odgovor na onaj VELIKI:) problem(mislim ima
> tu moja velika poruka,pa..).
Pa ovako je teško pomoći ti. Baci ceo program da vidimo, ako nije
veliki.
pascal.893willow,
>>verovatno cu ga upotrebiti tek posto naidem na neku zanimljivu knjizicu od
par
>>'iljada strana, tek da me uvede u OOP :)
Ako stvarno trazis neku takvu knjigu, ja ti preporucujem knjigu
'B.Stroustrup: P.L. C++' . Ima je ( verovatno ) u CET-u, ili kod PMF-a.
Pogledaj i u Engleskoj biblioteci, ima tamo odlicnih knjiga, video sam neke
koje se bave bas teorijom OOP-a, ima par dobrih knjiga o C/C++, a nisam mogao
da verujem kada sam naleteo na MsDos Programmer's Technical Reference.
Hello from Willow Valley.
pascal.894nlazic,
*> verovatno ću ga upotrebiti tek pošto naiđem na neku zanimljivu
*> knjižicu od par 'iljada strana, tek da me uvede u OOP :)
Uradi to što pre, jer je za Delphi ma koliko on bio na prvi pogled
jednostavan, neophodno poznavanje OOP-a. Kad-tad zaglavićeš se kod neke
gluposti i jedino rešenje će ti biti troprsti reset i šaka andola :)
Pozdrav,
:) Nebojša :)
pascal.895vojas,
> Ako iz procedure pozovem neku drugu proceduru,sve je ok,druga
> procedura odradi sta ima i vrati kontrolu prvoj.
> Medjutim,ako u toj drugoj proceduri dodam samo:
> 'imefajla:=imefirme[1]+'.dat';
> onda se druga procedura odradi do kraja,ali ne vrati kontrolu prvoj
> vec mi blokira kompjuter(ponekad pisti,ponekad resetuje,ponekad mi
> zabrlja neke fajlove).
Kako glase procedure?
Heechee of the Ancients
pascal.896vgenije,
HI
Izbunario sam jedan program koji bi trebalo da prikaze bmp
format.izgleda ovako:
Uses graph,Crt,Dos;
var
Fileime:string;
gm,gd:integer;
X,Y:integer;
Tbmp:char;
FileBMP:text;
Tpal1:char;
Tpal2:char;
Tpal3:char;
Tpal4:char;
Ipal:integer;
{$F+}
function DetectVGA256 : Integer;
var Vid : Integer;
begin
DetectVGA256 := 2;
end;
{$F-}
begin
gd := InstallUserDriver('SVGA256',@DetectVGA256);
gd := Detect;
InitGraph(gd,gm,'c:\tp\bgi');
Fileime:='c:\windows\vlada1.BMP'; {ime BMP fajla}
assign(FileBMP,Fileime);
reset(FileBMP);
{UCITAVA PALETU}
for Ipal := 1 to 54 do read(FileBMP,Tpal1);
for Ipal:= 0 to 255 do
begin
read(FileBMP,Tpal3);
read(FileBMP,Tpal2);
read(FileBMP,Tpal1);
read(FileBMP,Tpal4);
setrgbpalette(Ipal,(ord(Tpal1) div 4),
(ord(Tpal2) div 4),
(ord(Tpal3) div 4));
end;
{KRAJ UCITAVANJA PALETE}
{UCITAVA I STAVLJA SLIKU NA EKRAN}
textcolor(10);
outtextxy(200,400,'Proba dali text radi');
for Y := 480 downto 1 do
for X := 1 to 640 do
begin
read(Filebmp,Tbmp);
PUTPIXEL(x-1,Y-1,ord(Tbmp));
end;
{KRAJ UCITAVANJA I STAVLJANJA SLIKE NA EKRAN}
close(FileBMP);
{ZVUK OGLASAVA KRAJ UCITAVANJA I STAVLJANJA NA EKRAN}
sound(500);
delay(500);
nosound;
{ZVUK OGLASAVA KRAJ UCITAVANJA I STAVLJANJA NA EKRAN}
readln;
CloseGraph;
end.
ali kad na slici postoje neka sitna slova on ih isprekida itd tako da se
nista ne razume iz prvobitnog formata.Gde je problem i ima li leka
p.s.da naglasim da je autor programa neki srdan do koga nisam uspeo da docem..
pascal.897visnja,
> nego jel zna neko odgovor na onaj VELIKI:) problem(mislim ima
> tu moja velika poruka,pa..).
Daj algoritam, odnosno sta bi hteo sa tim programom pa da resimo
elegantnije. Koliko vidim baratao bi sa bazama podataka. Da ides
preko ARRAY je logicno, jednostavno, brzo ali neelegantno resenje jer jede
memoriju...
Pozdrav Visnja.
pascal.898djanjusevic,
Moze li mi neko nabrzaka pokazati neki jednostavniji nacin zastite programa od
startovanja na drugim racunarima(znaci,hocu da moze da se startuje samo na
jednom).
pascal.899kdrazan,
Jel' može kako da se uleti u grupu za Delphi ?
pascal.900mminovic,
>> nego jel zna neko odgovor na onaj VELIKI:) problem(mislim ima
>> tu moja velika poruka,pa..).
>
> Daj algoritam, odnosno sta bi hteo sa tim programom pa da
> resimo elegantnije. Koliko vidim baratao bi sa bazama podataka.
> Da ides preko ARRAY je logicno, jednostavno, brzo ali
> neelegantno resenje jer jede memoriju...
> Pozdrav Visnja.
Memorija nije problem,tamo gde treba da radi nece je deliti
ni sa kim ;)
a zamislite,problem sam resio simulacijom problema :)
naime naprevim ti ja programce loje u nedogled ispisuje
rnd razne fontove i on radi u nedogled(tj.ne pomera mi ekran).
onda ja ubacim readln;
i posle 25*enter on opet pocne da pomera ekran.
Rekoh tu li si tico :),zamenih readln sa cekajenter :)
i sve je ok!
Izgleda da readln puni neki bafer ili sta vec,u svakom slucaju
graficki rezim + readln ne koristiti :)
Hvala svima koji su mi odgovorili
pozdrav od mindze.
pascal.901kenza,
(;> Jel' moze kako da se uleti u grupu za Delphi ?
Ja pitah pre nekoliko dana, ali nema novosti. So, ako ima mesta,
put me in :), a ako nema, napravicemo jos jednu, sa razmenom poruka.
pascal.902max.headroom,
> se da se za BDE dobija instalacioni program, ali ne mogu da tvrdim jer mi
> Delphi-eve diskete nisu pri ruci. Sve u svemu, BDE zauzima 2 diskete. :)
Upravo sam preneo pomenute fajlove na remote računar i startovao aplikaciju -
sve radi, a format baza je DBase. Naravno, u slučaju da koristiš ODBC i sl.
sisteme, na prethodno pomenuti spisak dodaj fajlove po šemi opisanoj u
DEPLOY.TXT iz ĐDELPHIĐ direktorijuma.
(Trudim se da nađem memorijski najnezahtevniju komabinaciju, a koja uz svu muku
- radi :) Za sada ode 730 Kb na BDE, odn. 800 Kb, ako si se opredelio za ODBC).
Bljah.
pascal.903zeljkoj,
> (;> Jel' moze kako da se uleti u grupu za Delphi ?
>
> Ja pitah pre nekoliko dana, ali nema novosti. So, ako ima
> mesta, put me in :), a ako nema, napravicemo jos jednu, sa
> razmenom poruka.
Ova tema se zove Pascal i namenjena svim Pascal kompajlerima. Jedan od
njih je i Delphi. Mislim da Delphi zanima mnogo više korisnika nego što
može da ih stane u jednu (dve, tri...) grupu. Drugo, što je još važnije,
poruke iz grupa ne ostaju trajno na sistemu.
pascal.904galimpic,
Izvinjavam se na neodgovaranju zainteresovanima za grupu Delphi :)
Grupa je puna, nema vise mesta. Ne prica se nista misteriozno sto nije za
javnost, jednostavno se (bar za sada) malo produktivnije radi. Ako bas bude
interesovanja (i sloze se ostali iz grupe), mogu da zipujem poruke i da ih
prebacim ovde. OK?
pascal.905.sima,
> Izgleda da readln puni neki bafer ili sta vec,u svakom slucaju
> graficki rezim + readln ne koristiti :)
Tačno :)
U gafičkom modu se ne koristi readln za pauzu. Ja koristim
procedure Pauza;
begin
if readkey=#0 then readkey
end;
pascal.906.sima,
> Moze li mi neko nabrzaka pokazati neki jednostavniji nacin
> zastite programa od startovanja na drugim racunarima(znaci,hocu
> da moze da se startuje samo na jednom).
Zavisi šta ti treba :)
Na brzaka je brzo ali i loše. Načina ima mnogo, a jedan od njih je
provera serijskog broja hard diska. To bi trebalo kombinovati sa
preuzimanjem debug interapta i kriptovanjem exe-a sa pklite.
Ali ako haker želi da ti provali program onda će on to i da uradi
ti ništa tu ne možeš.
Pozdrav
sernum.zippascal.907visnja,
> Moze li mi neko nabrzaka pokazati neki jednostavniji nacin
> zastite programa
Axa:
Uzmi neku dos datoteku (SYS.COM npr) koja je naravno u C:\DOS diru,
nadji u toj datoteci neko bezbedno mesto (gde je neki text ili sl) i
izmeni jedan jednini bajt na tom mestu. Tako imas u DOS dir-u jedinstvenu
SYS.COM naredbu. Tvoj program treba samo VRLO VESTO da proveri taj bajt
u toj datoteci... Ne zaboravi da SYS.COM vratis datum kreiranja, jer
se moze primetiti da je po njemu cackano i pusti program MSAV ili
slicni da ne prijavi napad virusa zbog promenjenog cheksuma. Naravno
nemoj uzeti SYS i ne mora ni biti DOS direktorijum,
jos bolji je WINDOWS\SYSTEM...
Pozdrav Visnja.
pascal.908spantic,
> Ako stvarno trazis neku takvu knjigu, ja ti preporucujem knjigu
> 'B.Stroustrup: P.L. C++' . Ima je ( verovatno ) u CET-u, ili kod PMF-a.
> Pogledaj i u Engleskoj biblioteci, ima tamo odlicnih knjiga, video sam neke
> koje se bave bas teorijom OOP-a, ima par dobrih knjiga o C/C++, a nisam
> mogao da verujem kada sam naleteo na MsDos Programmer's Technical
Ako neko stvarno želi da uđe u OOP onda mu preporučena knjiga
nikako nije dobar izbor.
Referentna knjiga, ako se želi ući u objektno orjentisano prijektovanje,
je Booch, "The Object Orjented Analisys", drugo izdanje.
Za učenje C++ pak, probajte novu knjigu Milićeva "Objektno orjentisano
programiranje u C++", tu je projektovanje samo dodirnuto, ali knjiga je
odlična referenca jezika C++.
pascal.909zeljkoj,
> Izvinjavam se na neodgovaranju zainteresovanima za grupu Delphi
> :)
Ovo je reply na moju poruku... ali ja nisam zainteresovan za Delphi niti
za bilo šta drugo što dolazi od Borlanda. ;)
> prebacim ovde. OK?
^^^
Ne znam... neka kažu Delphijevci. :))
---
...Delphi ću da pogledam tek kad se bude zvao MS Visual Pascal. ;>
pascal.910vlador,
Je l' probao neko Delphi pod Warpom?
pascal.911atech,
> Uzmi neku dos datoteku (SYS.COM npr) koja je naravno u C:\DOS
> diru, nadji u toj datoteci neko bezbedno mesto (gde je neki
> text ili sl) i izmeni jedan jednini bajt na tom mestu. Tako
Za identifikaciju racunara se najcesce koriste podaci sa ploce
(bios) ili sa hard-a. Ovaj metod koji preporucujes nije prikladan
za upotrebu a o sigurnosti programa koji je zasticen na ovaj nacin
da i ne govorim.
Za citanje serijskog broja hard-a moze da posluzi jedna od
nedokumentovanih dos funkcija. Uz jednu od poruka u pc.prog.razno
sam pre nekih mesec dana okacio jedan asm programcic koji upravo to
radi.
Pozdrav!
pascal.912kile,
>> Za identifikaciju racunara se najcesce koriste podaci sa ploce
>> (bios) ili sa hard-a.
Ali serijski broj harda može i da se promeni :(.
Grešim li?
pascal.913bulaja,
│Ali serijski broj harda može i da se promeni :(.
└───
DOS-ov serijski broj diska se može promeniti i to vrlo lako (4 bajta u
boot sektoru), ali zato serijski broj IDE diska (koliko mi je poznato)
nikako. Btw imaju li SCSI diskovi (odnosno uopšte SCSI uređaji) neki
svoj serijski broj, ili bar product id?
pascal.914kriss,
˙˙> diru, nadji u toj datoteci neko bezbedno mesto (gde je neki
˙˙> text ili sl) i izmeni jedan jednini bajt na tom mestu. Tako
˙˙ Za identifikaciju racunara se najcesce koriste podaci sa ploce
˙˙ (bios) ili sa hard-a. Ovaj metod koji preporucujes nije
˙˙ prikladan za upotrebu a o sigurnosti programa koji je zasticen
˙˙ na ovaj nacin da i ne govorim.
Samo da se nadovežem - to je i prilično nelegalno, i "negde preko" bi
imao podosta problema kad bi te posle pitali za zdravlje. Svaki
"vaspitan" program bi _morao_ da za zaštitu koristi samo čitanje (čega
god hoće), u kombinaciji sa pisanjem, ali samo unutar svog kôda, tj.
pratećih fajlova. Sve što program izbaci van svog EXE-a/direktorijuma
nije lepo, i nije dobro - zato i ne volim windows koncepciju gde svaka
šuša može da umetne svojih 1000 linija u one "zajedničke" fajlove ...
Međutim, pošto mi živimo u zemlji SRJ (nepriznatoj ;), sve je
dozvoljeno. ;( I pisanje, i brisanje, i obaranje sistema, i
formatiranje diska, a u pravu je, naravno, onaj ko je jači (ili brži,
ili onaj koji zna sve prečice ... ;> ).
pascal.915postmast,
From: Nemanja.Janic@f101.n101.z38.setnet.setnet.co.yu (Nemanja Janic)
Subject: pascal
Date: Sun, 03 Sep 1995 02:51:14
"A> Osnovana je grupa DELPHI. Zainteresovani mogu da se jave na mail.
Zainteresovan!
Samo, ja sam Sasa Sekulic, a ne Nemanja Janic, ovo koristim samo privremeno.
mad.max
... So, so you think you can tell tagline from steal...
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.916postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Sat, 02 Sep 1995 11:30:13
-=> Quoting "Miroslav Minovic" to All <=-
"M> Hi!
Hi!
"M> Bas me zanima ima li neko ideju zasto me ovaj glupavi kompjuter
"M> zajebava.
Stvarno?
"M> 'imefajla:=imefirme[1]+'.dat';
"M> onda se druga procedura odradi do kraja,ali ne vrati kontrolu prvoj
"M> vec mi blokira kompjuter(ponekad pisti,ponekad resetuje,ponekad mi
"M> zabrlja neke fajlove).
Ima hiljadu stvari koji mogu da ti uzrokuju te probleme a najcesce
to bude greska programera. Pogledaj malo bolje program, pregledaj
u dibagu ili tako nesto. Da nisi mozda uradio nesto ovako :
var imefirme : tip;
procedure ta_i_ta(imefirme : tip);
begin
...
...
...
end;
tj. da nisi dva puta istu promjenljivu deklarisao?
"M> Ima li neko ideju?!
Gore sam ti naveo svoju. Sa ovo podataka sto si dao pokusao sam maksi
malno da dam svoje misljenje, a ako nisam u pravu javi pa cemo vidjeti.
pozdrav, ASKO
... Nemoguce , sve je to Paradoxalno 4.5 .
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.917postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: video memorija
Date: Sat, 02 Sep 1995 11:30:14
Hi!
Ne znam da li je dokumentovano (vjerovatno jeste) ali ja i jos jedan smo
otkrili kako da sa video memorijom radite kao sa varijablom a evo i proc.:
type ScreenType = record
Ch : Char; {karakter za ispisivanje}
At : Byte; {boja karaktera}
end;
var Screen : Array[1..25, 1..80] of ScreenType ABSOLUTE $B000:$0000;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{matrica Screen ima dimenzije jednok txt ekrana a adresa joj pocinje
... ScreenType ABSOLUTE $B000:$0000 ... na video memoriji HERCULES
karte a za vise karte ide $B800 i tako dalje}
begin
Screen[1,1].Ch := 'A'; {karakter za ispisivanje}
Screen[1,1].At := White; {boja karaktera}
end.
To je to. Rutina radi puno brze od standardne WRITE procedure a iz
same strukture bi trebalo da kontate. Nadam se da sam vam pomogao
ovom sitnocom.
pozdrav, ASKO
... Najvise volim otvorenu devojku u zatvorenoj sobi!!! A ko ne?
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.918postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: zapisi i tako dalje
Date: Sat, 02 Sep 1995 11:30:15
Hi!
Zanimaju me neki zapisi slika, muzike itd.
3D2 :
Uspio sam skontati zapis nekog 3D2 zapisa (vjerujem da je i zapis 3DSa
slican jer nemam ni 3DS ni njegove fajlove 'all HERCULES') i evo proce
dure ...
procedure Read3DFile(FileName : String);
var F : File of Real;
Tmp, Tmp1 : Real;
PointsNum : Integer;
r, i : Integer;
begin
Assign(F, FileName);
Reset(F);
Read(F, Trunc(PointsNum));
For r := 1 to PointsNum do
begin
Read(F, XPoint[r]);
Read(F, XPoint[r]);
Read(F, XPoint[r]);
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.919postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: keep
Date: Sat, 02 Sep 1995 11:30:16
Hi!
Kao sto svi znate u TP6.0 ima procedura KEEP koja omogucava stvaranje
TSR programa. Ali ... ima mana a to je da ne znam kako da uklonim taj
program iz memorije? Kada postavljam interapte pri ukljucuvanju progra
ma snimim stare i kada mi vise nije potreban vracam stare, ali program
ostaje u memoriji. Kako to da rijesim?
pozdrav, ASKO
... Press any key to quit or any other key to continue.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.920postmast,
From: vladimir.manic@rstones.durlan.co.yu (Vladimir Manic)
Subject: Dma u protected modu
Date: Sun, 03 Sep 1995 23:58:00 CET
QWK To: All
Kako da pristupim video memoriji (pisanje po njoj) iz PROTECTED REZIMA
za BP7.0 (moze i asembler)?
--- Maximus 2.02
* Origin: Rolling Stones BBS (2:382/105.5)
pascal.921postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: :))
Date: Mon, 21 Aug 95 05:53:00 +0100
EJEdno pitanje ... kako napraviti program koji koristi
onoliko memorije koliko je ima na mashini slobodno ...
Jer ako napishem ...
array [1..1000] of Pera; {pera= record duzine 100Byte}
I sta ako se desi da na systemu ima manje memorije s
lobodno ... RUN TIME ERROR :((
Kako napraviti tako da koris ti samo raspolozivu ??????
Pisalo se pre o tome ....
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.922postmast,
From: nemesis@styx.herkules.co.yu (NEMESIS)
Subject: RE: PASCAL
Date: Mon, 28 Aug 95 04:17:00 +0100
---> Ako sam dobro shvatio covek hoce ovo:
---> da za SVAKU promenu frek. upisem po jedan red tipa SOUND(XXXX) ...
---> Nadam se da nisam dobro shvatio jer je to i teorijski tesko izvodivo ...
---> Prvi razlog:
---> Uzmimo da je sempl 8-bitni i da zauzima 6Kb.
---> Svaki bajt se transformise u SOUND(XXXX) jer je mala vjerovatnoca da su
---> dva susjedna bajta istovetna. Kako SOUND(XXXX) zauzima 13 bajtova tako bi
---> i tvoj sempl zauzimao 78Kb. Sad izracunaj koliko je to za sempl (WAV) od
---> stotinjak kilobajta :(
---> Drugi razlog:
---> Takav fajl je apsolutno necitak :
---> SOUND(0454)
---> SOUND(1288)
---> SOUND(0996)
---> ...
---> Stvarno ne znam sta ocekujes od toga(?!)
---> Treci razlog:
---> Vezan za module: problem se svodi kako od modula napraviti sempl.
---> Odgovore na to pitanje mozees naci u prethodnim
porukama(ukratko:teeeskoo).
---> pozdrav iz
BanjaLuke
AKO IMAS ZIVACA ...
VEOMA LAKO !
Potrebno je ...
1.
2 * PC + SB
I spojis ih kablom :)))
I na jednom pustis mod ...
na drugome snimas to kao sa MIC-a :)
Verovali ili ne .. TO RADI !!!
2.
A moze i ako imate WIN
Udjes u neki od onih programa sto dolaze uz
SB 16 PRO (ORIGINAL) i u jednom od njih
PUSTIS MOD(ili MIDI koji si prethodno Mod>2>Midi)
A u drugom pustis RECORDING :)
I ETO VAMA DECIJE RADOSTI !:)
A druga stvar ...
Ko vam brani da ulinkujete jedan WAW od recimo 50000Byte kao
WAW : array[1 .. 50000] : byte;
Tu ja mislim da je ogranicenje 64Kb :)
PA podelite :))
I posle ga sa PLITE :)
I DIVOTA :))))))))))))))))
Nista od ovoga nije isprobano :))
┌────────────────────────────────────────────────────────────────────Ě
│/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║
│ / > NEMESIS@STYX.HERKULES.CO.YU / \ 011\444-95-22 - 22-06 < \ ║
ď════════════════════════════════════════════════════════════════════╝
... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\
* ■ >:[] NemesiS ■
pascal.923postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: pascal
Date: Sat, 2 Sep 1995 09:45:22 GMT
Srdan Simic je napisao:
>>
>> Da ovo mi radi, ali mislio sam da li je moguce sa originalnim
>> drajverima. Prosto ne mogu da verujem da u BP7.0 daju drajver
>> za VESA16 a ne za VESA256, a podrzavaju IBM u 256 boja. Zbog
>> cega nije podrzan ni jedan mod u 256 boja, a da ne pricamo o
>> nekim visim modovima koje ovaj drajver(svga256.bgi) podrzava.
>> Nije podrzan cak ni 320x200x256 ???
>> Pozdrav.
Mislim da mogu da naslutim odgovor na ovo pitanje. Za Borland C++ 4.X
moze da se dokupi Bonus Pack za DOS koji sadrzi 16-bitni i 32-bitni DOS
ekstender, i uz njih odgovarajuce BGI drajvere. E, u HELP-u pise da 32 bitni
BGI podrzava specificne akceleratorske kartice, samo treba kupiti te-i-te
drajvere od te-i-te firme. Borland se u poslednje vreme strasno
procicijasio.
--
Mala, mala, mala grupa hedera
pascal.924postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: pascal
Date: Mon, 28 Aug 1995 07:27:33
VMZ> Za skrol ce ti biti potrebno cackanja po registrima video kartice.
VMZ> Potrebno je da pomeris pocetnu adresu ekrana za 1, recimo. Slika se
VMZ> pomeri u levo za par pixela, a ono sto je bilo najlevlje se pojavi na
VMZ> desnom kraju ekrana. E sad treba taj visak desno da popunis
VMZ> odgovarajucim delom slike.
VMZ> Ne znam kako ovo konkretno radi u 640x480.16 (za koliko pixela se
VMZ> pomeri slika ako se adresa poveca za 1) jer sam radio u 320x200.256,
VMZ> ali princip je isti.
^^^^
slican.
Kod 16 boja je malo drugacije. Kada pomeris ekran za 1 bajt, slika se
pomeri za 8 pixela. Inace, trenutno radim skrol rutinice, pa cemo da
vidimo sta ce od toga biti.
Shadow
... Washing your car to make it rain doesn't work.
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.925postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: heap
Date: Wed, 30 Aug 1995 15:21:43
==== NEMESIS rece: ======================================
NE> EJEdno pitanje ... kako napraviti program koji koristi
NE> onoliko memorije koliko je ima na mashini slobodno ...
NE> Jer ako napishem ...
NE> array [1..1000] of Pera; {pera= record duzine 100Byte}
Pogledaj u helpu funkcije GEtMem, FreeMem i slicne i pod dinamicko
alociranje memorije. To ti omogucava upravo da je program svestan
koliko memorije ima na raspolaganju i da je efikasno koristi.
Kada definises niz (array) kao staticku promenljivu, on ti
samim pokretanjem programa zauzme potrebnu mu memoriju i
oslobadja je tek izlaskom iz programa.
Kad radis sa dinamickim promenljivama, one memoriju zuzimaju samo
kada je to potrebno, a kada se vise ne koriste, ta memorija se moze
osloboditi za druge potrebe.
... Be carefull. Death is PERMANENT!
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.926postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Mon, 28 Aug 1995 02:48:00
"O> Zanima me sledece:
"O> - koliko je Delphi bolji u odnosu na tp70
"O> - koliko megabajta zauzima
"O> - da li ga vredi uzimati ...........
"O> Uros
- Pa bolji je. Nisam radio Windows programe sa TP7.0, ali
u Delphiju je veoma lako raditi. Object Inspector je fantasticcan.
Pretpostavljam da TP7.0 nema Object Inspector.
- Verziju koju ja imam Client/Server dolazi na 15 disketa 1.44 i
zauzima oko 75MB. Radim na massini 486dx40 8MB RAM i radi sasvim
solidno. Mislim da sa 4MB rad necce biti komforan.
- Pre neki dan sam video i Visual Basic 3.0. Odmah da ti kazzem
da nema nikakvih ssansi sa Delphijem (samo da ne navuccem bes VB-jaca;)
Ja sam za 1 dan uradio jedan WAV player i hteo sam da to isto pokussam
i sa VB. Primer koji dolazi sa VB-om je veoma traljav. Kod je veoma
nepregledan a i vecci. Prednost Delphija je njegova objektna
orijentiranost dok je kod VB-a to negde na pola puta.
Chombe
___
■ OLX 2.1 TD ■ ƲńŠ˘Š ´ŠßŠÝ Ô˛ ĽÝ˛ÔŠŕŰÓ
Š■.
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.927postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: PASCAL
Date: Thu, 31 Aug 1995 14:55:03
>> NEMESIS nekad rece, a ja ga sada citiram <<
NE> Potrebno je ...
NE> 1.
NE> 2 * PC + SB
NE> I spojis ih kablom :)))
NE> I na jednom pustis mod ...
NE> na drugome snimas to kao sa MIC-a :)
Moze i sa linijskim ulazom/izlazom. Tada nema toliko izblicenja kao
sa mikrofonom.
NE> Verovali ili ne .. TO RADI !!!
Ima jos bolje i prakticnije... Snimis na kasetofon i semplujes. ;)
NE> A moze i ako imate WIN
NE> Udjes u neki od onih programa sto dolaze uz
NE> SB 16 PRO (ORIGINAL) i u jednom od njih
NE> PUSTIS MOD(ili MIDI koji si prethodno Mod>2>Midi)
NE> A u drugom pustis RECORDING :)
Nece moci... SB snima sa ulaza, a ne sa izlaza. Jedino da spojis ulaz
sa izlazom, a tada znas sta se dobija ;)
NE> Nista od ovoga nije isprobano :))
A uz to i ne radi ;)
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.928postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Objekti
Date: Fri, 01 Sep 1995 00:02:04
Ovih dana pokusavam malo da shvatim ove objekte, pa mi nije jasno
sta je constructor, destructor, virtual, itd.
Rile:)
... TECHNO is more then music, TECHNO is life style!!!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.929postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 31 Aug 1995 09:04:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.PASCAL maintained on 03.08.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 245
Number of messages covered in report: 117
Processed period from: 3-8-1995 to 30-8-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Vladimir Svrkota......... 38:111/119 4 18 11 61.11%
2. Vladimir M Zivkovic...... 38:111/119 8 86 44 51.16%
3. Ivan Jocic............... 38:101/101.5 1 16 8 50.00%
4. Petar Ristic............. 38:111/119 4 24 11 45.83%
5. "Zoran Ignjatovic"....... 38:103/120 1 17 7 41.18%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. Mihajlo Savic 12 10.3% 458 11.90%
2. "Milos Visnjic" 8 6.8% 813 28.48%
3. Vladimir M Zivkovic 8 6.8% 609 51.16%
4. Predrag Supurovic 5 4.3% 600 40.68%
5. "Nebojsa Lazic" 5 4.3% 627 20.00%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 77 65.8%
2. Vladimir M Zivkovic 6 5.1%
3. Predrag Supurovic 5 4.3%
4. Petar Ristic 4 3.4%
5. Andrej Micic 4 3.4%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. pascal...................................................... 85
2. Fontovi za TP............................................... 10
3. HideCursor.................................................. 6
4. Interrupt................................................... 5
5. Delphi...................................................... 3
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 16 13.7% ****************************************
Monday 21 17.9% ****************************************************
Tuesday 17 14.5% ******************************************
Wednesday 13 11.1% ********************************
Thursday 14 12.0% ***********************************
Friday 18 15.4% *********************************************
Saturday 18 15.4% *********************************************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 13 11.1% **************************************************
2:00- 3:59 11 9.4% ******************************************
4:00- 5:59 3 2.6% ***********
6:00- 7:59 9 7.7% **********************************
8:00- 9:59 8 6.8% *******************************
10:00-11:59 9 7.7% **********************************
12:00-13:59 7 6.0% ***************************
14:00-15:59 9 7.7% **********************************
16:00-17:59 11 9.4% ******************************************
18:00-19:59 12 10.3% **********************************************
20:00-21:59 12 10.3% **********************************************
22:00-23:59 13 11.1% **************************************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.930postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: :))
Date: Thu, 31 Aug 1995 07:24:00 CET
QWK To: Nemesis
(Tekst poruke: Nemesis, na temu :)))
Ne> EJEdno pitanje ... kako napraviti program koji koristi
Ne> onoliko memorije koliko je ima na mashini slobodno ...
Ne> Jer ako napishem ...
Ne> array [1..1000] of Pera; {pera= record duzine 100Byte}
Ne> I sta ako se desi da na systemu ima manje memorije s
Ne> lobodno ... RUN TIME ERROR :((
Pa budi kulturan. Zamoli prvo racunar na kome tvoj program radi da ti
kaze koliko memorije moze i zeli da ti da, pa ako ti nije dovoljno, "do
vidjenja". Drugim recima, a sta fali dinamickoj alokaciji? Osim toga, u
dobra, stara vremena postojala ge i greska "Object too big"... ;)
3OPAH
... <<< TagLine deleted >>>
--- Blue Wave/Max v2.12 [NR]
* Origin: Rolling Stones BBS (2:382/105.5)
#! rnews 506
pascal.931postmast,
From: zsteva@magic.hobbiton.co.yu (Zeljko Stevanovic)
Subject: Re: :))
Date: Tue, 29 Aug 1995 21:27:52 GMT
NEMESIS (nemesis@styx.herkules.co.yu) wrote:
: EJEdno pitanje ... kako napraviti program koji koristi
: onoliko memorije koliko je ima na mashini slobodno ...
: Jer ako napishem ...
: array [1..1000] of Pera; {pera= record duzine 100Byte}
: I sta ako se desi da na systemu ima manje memorije s
: lobodno ... RUN TIME ERROR :((
: Kako napraviti tako da koris ti samo raspolozivu ??????
: Pisalo se pre o tome ....
Moze prvo da se uzme kolko ima slobodno pa da se tolko allocira..
naravno ne bas na ovaj nacin ...
pascal.932postmast,
From: Stevan.Dejanovic@f119.n111.z38.setnet.setnet.co.yu (Stevan Dejanovic)
Subject: Re: HideCursor
Date: Sat, 26 Aug 1995 21:29:00
On 24 Aug 95 10:24pm, Mihajlo Savic wrote to Andrej Micic:
SD>> Imas na Ecstasy-ju unit zove se TPW60 (Turbo Pascal Windows),
MS> Sta jos ima u tom unitu?
Ima dosta zanimljivih i korisnih stvari. Sta da ti prisem, skini pa vidi.
Mad Dog
... With Clinton and $0.85 you can get a cup of coffee
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.933postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Sun, 27 Aug 1995 12:06:01
"T> Da li neko ima source za prikaz PCX ili BMP fajlova u formatu
"T> 640x480x16. Takodje mi je potreban source za horizontalno skrolovanje
"T> ekrana u istoj rezoluciji.
"T> Probao sam da izvedem utisak skrolovanja sa naredbama GetImage i
"T> PutImage u levo, stim sto se deo ekrana za koji se slika pomeri u levo
"T> ponovo iscrta. Ovo mi je sve suvise sporo.
"T> Potrebno mi je za diplomski, pa ako neko ima neki hint ili source neka
"T> mi se javi.
Za skrol ce ti biti potrebno cackanja po registrima video kartice. Potrebno
je da pomeris pocetnu adresu ekrana za 1, recimo. Slika se pomeri u levo
za par pixela, a ono sto je bilo najlevlje se pojavi na desnom kraju ekrana.
E sad treba taj visak desno da popunis odgovarajucim delom slike.
Ne znam kako ovo konkretno radi u 640x480.16 (za koliko pixela se pomeri
slika ako se adresa poveca za 1) jer sam radio u 320x200.256, ali princip je
isti.
__ Pozdrav from Vladimir __
... "Svi moji su partizani ... iz '46-te ..."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.934postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: HideCursor
Date: Thu, 24 Aug 1995 01:16:00
{ AMĆ Kako da u tp60 sakrijem kursor (ne strelicu misa) ? Postoji
AMĆ procedura TView.HideCursor, ali ne radi posao ...?
Hi!
Evo ti neke ASM procedure ;) }
procedure CursOff; assembler;
asm
mov ah,3 { get cursor }
xor BX,BX
int 10h
or ch,20h { Make OFF}
mov ah,1 { set new cursor }
int 10h
end;
procedure CursOn; assembler;
asm
mov ah,3 { get cursor }
xor BX,BX
int 10h
and ch,1fh { make ON }
mov ah,1 { set new cursor }
int 10h
end;
begin
Writeln('Cursor is gone now!!');
CursOff;
readln;
Writeln('Pa evo sam ');
CursOn;
readln;
end.
Hope I helped Ya
0GZy
* 0Gi'S eDiT0R * FC's guys begining on P rule...
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.935superhik,
Tek sam počeo sam Paskalom (o idile) pa me zanima da li
neko poseduje (ili može da me uputi) na spisak onih varijabli (?)
(boolean,...) itd. nema šanse da provalim sva značenja ;(
pascal.936nlazic,
*> TSR programa. Ali ... ima mana a to je da ne znam kako da uklonim taj
*> program iz memorije? Kada postavljam interapte pri ukljucuvanju progra
Pogledaj malo ranije u ovoj konf. Ima sigurno bar 3 rutine koje ovo
rade. Preciznije: poruka 7.631.
Pozdrav,
:) Nebojša :)
pascal.937nlazic,
*> Kako da pristupim video memoriji (pisanje po njoj) iz PROTECTED REZIMA
*> za BP7.0 (moze i asembler)?
Video memorija u realnom modu počinje od segmenta $A000. U
protected režimu ne smeš da koristiš segmente, već tzv. selektore.
Selektor koji sadrži segment video memorije zove se SegA000. Dakle umesto
mem[$A000:xxxx] sada pišeš mem[SegA000:xxxx]. Pored ovog postoje i
selektori: Seg0040, SegB000 i SegB800.
Pozdrav,
:) Nebojša :)
pascal.938atech,
> Svaki "vaspitan" program bi _morao_ da za zastitu
> koristi samo citanje (cega god hoce), u kombinaciji sa
> pisanjem, ali samo unutar svog kôda, tj. pratecih fajlova. Sve
> sto program izbaci van svog EXE-a/direktorijuma nije lepo, i
> nije dobro - zato i ne volim windows koncepciju gde svaka susa
> moze da umetne svojih 1000 linija u one "zajednicke" fajlove
Svaki bolji program za zastitu upravo je zasnovan na takvim i
slicnim principima.
> Samo da se nadovezem - to je i prilicno nelegalno, i "negde
> preko" bi imao podosta problema kad bi te posle pitali za
> zdravlje.
Siguran sam da su nasi 'programeri' zaista inventivni po pitanju
ovakvih egzibicija. U zadnjem broju PC-a procitah da je jedan cak
patchovao format.com ne bi li prevario korisnika da pristane na
formatiranje diska jer nije znao drugi nacin za formatiranje (ej
formatiranje!) vec je koristio exec da bi pokrenuo dosov format.com.
Ima nas raznih....;)
pascal.939mminovic,
> "M> Ima li neko ideju?!
> Gore sam ti naveo svoju. Sa ovo podataka sto si dao pokusao sam
> maksi malno da dam svoje misljenje, a ako nisam u pravu javi pa
> cemo vidjeti.
:))
Ma provalio sam sta je jos odavno :))
ali izgubio sam ceo dan :))
fora je sto u ASSIGN NE SMES!! da prinosis promenljivu kao
naziv fajla :))
ne blokira se odmah,vec po zavrsetku procedure :))
Uzas,ima li neko resenje za ovo(sem crnackog koje sam upotrebio:)
Pozdrav,
Mindza.
pascal.940mminovic,
> nepregledan a i vecci. Prednost Delphija je njegova objektna
> orijentiranost dok je kod VB-a to negde na pola puta.
Moze li neko da mi preporuci neku knjigu za Delphi?
Pozdrav,
Mindza.
pascal.941nlazic,
*> Moze li neko da mi preporuci neku knjigu za Delphi?
Kol'ko ja znam, kod nas jedino mogu da se nabave one knjige koje se
dobijaju uz Delphi (bilo u štampanom, bilo u elektronskom obliku na
Delphi-evom CD-u). Na trulom zapadu je to malko drukčije :( Uz
sitno iskustvo sa prethodnim verzijama paskala, to je sasvim
dovoljno.
Pozdrav,
:) Nebojša :)
pascal.942visnja,
> EJEdno pitanje ... kako napraviti program koji koristi
> onoliko memorije koliko je ima na mashini slobodno ...
> Jer ako napishem ...
> array [1..1000] of Pera; {pera= record duzine 100Byte}
Ako misliš na kopletnu memoriju, piši program u protected modu.
Upotrebi neki WINDOWS unit (BP7.0) zaboravio sam koji, mislim da
je WINPROCS, pogledaj u help-u. Uz malo muke mozes da alociras
npr. 10 mega rama. Probao sam to pre godinu dana i zaboravih
tačno kako ide. Pogledaj u HELP-u GlobalDOSAlloc funkciju
ili tako nešto. Pazi nemoj da te zbuni sto je unit za WIN -
- to je i za protected mode dos.
pascal.943.sima,
> fora je sto u ASSIGN NE SMES!! da prinosis promenljivu kao
> naziv fajla :))
> ne blokira se odmah,vec po zavrsetku procedure :))
> Uzas,ima li neko resenje za ovo(sem crnackog koje sam
> upotrebio:)
Izvini, ali nisam razumeo??? Jel ti kažeš da ne sme da se napiše sledeće:
var
imefile: PathStr;
F: text;
begin
imefile:='temp.txt';
assign(f, imefile);
rewrite(f);
close(f);
end.
Ja ovo upravo probao i radi. Ako imaš problem pošali celu proceduru ili
bar delove, a nemoj ovako da nas hraniš na kašičicu. Ako ti se program
zablokirava uz pištanje prvo mesto za traženje greške je da li negde
u memoriji pišeš gde ne treba. Meni se jedan program tako uz pistanje
blokirao konstantno. Greška je bila što sam definisao promenljivu kao
pokazivač na strig i za nju odvojio 5 bajtova (to je za 4 slova), a
onda su brojevi koji su se smeštali u string postali petocifreni. I
program je morao negde da piše... Blokiranje se obično dešava kada
procedura treba da uradi ret, jer ako je pisano po steku gde ne treba
adresa povratka je uništena.
Pozdrav
pascal.944.sima,
> Ako misliš na kopletnu memoriju, piši program u protected
> modu. Upotrebi neki WINDOWS unit (BP7.0) zaboravio sam koji,
> mislim da je WINPROCS, pogledaj u help-u. Uz malo muke mozes
> da alociras
Ne mora da se uključi ni jedan unit. Treba podesiti opciju Target
u compile meniju na protected. Tada će program biti preveden za DPMI
i biće mu pristupna sva memorija preko prvog megabajta. Ako postoji
neki DPMI drajver (npr. qemm-ov) može da se pravi i virtuelna memorija.
DPMI zahteva 286+. Ovo je primer koji sam sklepao. Ništa pametno ne radi,
ali troši memoriju i ispisuje koliko je ima.
type
TTest = array[1..65520] of byte;
PTest = ^TTest;
PDeo = ^TDeo;
TDeo = record
pod: PTest;
next: PDeo;
end;
var
Deo: PDeo;
temp: PDeo;
begin
writeln(memavail div 1024);
new(Deo);
new(Deo^.pod);
while memavail>65530 do begin
new(temp);
New(temp^.pod);
Deo^.next:=temp;
Deo:=temp;
end;
writeln(memavail div 1024);
end.
Prikačio sam i exe verziju da bi, ako nemaš BP7.0 mogao da vidiš kako
radi. Inače DPMI se nije baš pokazao u mojim očima lepo, jeste da je
podržan od strane Windows-a, ali po meni VCPI je mnogo bolji.
testdpmi.zippascal.945.sima,
> neko poseduje (ili može da me uputi) na spisak onih varijabli
> (?) (boolean,...) itd. nema šanse da provalim sva značenja ;(
Ako misliš na tipove koji postoje u pascalu, onda sledi:
(Inače ako koristiš Borland skoro sve imaš vrlo lepo objašnjeno
u helpu)
boolean: logička (true ili false)
wordbool, bytebool, longbool: isto kao i boolean ali drugačije veličine
2 1 4 bajta
integer: označen broj (-32768 do 32767) 2 bajta
shortint: označen broj (-128 do 127) 1 bajt
longint: označen broj (-mnogo do mnogo) 4 bajta (pogledaj u help)
word: ne označen broj (0 do 65535) 2 bajta
byte: ne označen broj (0 do 255) 1 bajt
char: karakter (ASCII znak) 1 bajt
real: broj u pokretnom zarezu 6 bajtova
single, double, extended, comp: razni brojevi u pokretnom zarezu
4 8 10 8 bajtova
za ove u poslednjem redu je potrebno program prevesti u posebnom modu da
bi mogao da ih koristi.
E sad ako je ovo bilo ono što si tražio super, ako nije slobodno se
obrati ponovo. I čitaj help dosta toga može da se nauči, mada ne sve.
Pozdrav
pascal.946mminovic,
> program je morao negde da pise... Blokiranje se obicno desava
> kada procedura treba da uradi ret, jer ako je pisano po steku
> gde ne treba adresa povratka je unistena.
Cim sam promenio proradilo je.
I pazi to je bio poziv procedure koja pokusava assign(f,imefajla);
procedura se korektno zavrsavala do kraja,a tek onda bi se racunar
blokirao.
Moguce je i da je zato sto mi je imefajla bio string neke duzine(ne
8+4)
ali on bi mi otvorio pravi fajl,odradio sve,upisao lepo,zatvorio,i
pri
povratku u glavni program blokirao :))
Pozdrav,
Mindza.
P.S.Source je poslovna tajna :))
pascal.947superhik,
=:> E sad ako je ovo bilo ono što si tražio super, ako nije
=:> slobodno se obrati ponovo. I čitaj help dosta toga može da se
=:> nauči, mada ne sve.
Pogodio si!
Txanks!
pascal.948max.headroom,
> provera serijskog broja hard diska. To bi trebalo kombinovati sa
**************************
Ah, a ako je program predviđen da radi na mreži?
Daleko bolje rešenje je sitna izmena u nekoj od datoteka koje se nalaze u
direktorijumu za koji si siguran da postoji (najčešće ĐDOS dir.), i kasnija
analiza tog bajta ili čega već.
pascal.949.sima,
> Ah, a ako je program predviđen da radi na mreži?
Pa ja to zovem prljavim programiranjem.(nemoj da se ljutiš)
Svaka mašina ima barem jedan hard disk bilo da je u mreži ili
ne. A one koje nemaju e pa tu se može testirati broj BIOS-a ili...
To već ne znam :) ako neko zna bilo bi lepo da podeli informaciju.
Pozdrav
pascal.950.sima,
> Moguce je i da je zato sto mi je imefajla bio string neke
> duzine(ne 8+4)
Borland Pascal definiše standardne tipove za rad sa fajlama.
Pošto kažeš da je softver tajna neka i ti tipovi ostanu moja :)
Pozdrav.
pascal.951kriss,
˙˙ mem[$A000:xxxx] sada pišeš mem[SegA000:xxxx]. Pored ovog
˙˙ postoje i selektori: Seg0040, SegB000 i SegB800.
Samo 4 selektora?
Zanima me kako stoji stvar sa direktim pristupom memoriji u protektid
režimu, tj. da li bi mogao da adresu 0040:0010h napišem nekako
drugačije, recimo kao 0041:0000h ili 0000:0410h ?
pascal.952kriss,
˙˙> Svaki "vaspitan" program bi _morao_ da za zastitu
˙˙> koristi samo citanje (cega god hoce), u kombinaciji sa
˙˙> pisanjem, ali samo unutar svog kôda, tj. pratecih fajlova.
˙˙> Sve sto program izbaci van svog EXE-a/direktorijuma nije
˙˙> lepo, i nije dobro - zato i ne volim windows koncepciju gde
˙˙> svaka susa moze da umetne svojih 1000 linija u one
˙˙> "zajednicke" fajlove
˙˙ Svaki bolji program za zastitu upravo je zasnovan na takvim i
˙˙ slicnim principima.
Kakvim? :) Da li misliš na "vaspitan" ili "windows" princip? :)
pascal.953dvesic,
>>> Ah, a ako je program predviđen da radi na mreži?
>>
>> Pa ja to zovem prljavim programiranjem.(nemoj da se ljutiš)
>> Svaka mašina ima barem jedan hard disk bilo da je u mreži ili
>> ne. A one koje nemaju e pa tu se može testirati broj BIOS-a
>> ili...
Možda serijski broj Ethernet karte ? Garantovano je jedinstven ...
pascal.954.sima,
> Možda serijski broj Ethernet karte ? Garantovano je jedinstven
Da. Proizvodjaci garantuju da je serijski broj kartice jedinstven,
ali kako se cita.
pascal.955atech,
> ˙˙ Svaki bolji program za zastitu upravo je zasnovan na takvim
> i ˙˙ slicnim principima.
>
> Kakvim? :) Da li mislis na "vaspitan" ili "windows" princip? :)
Naravno ovaj prvi princip. Neko je vec primetio da windows
principe postuju u velikoj meri virusi osim u onom delu koji se
tice brzine i optimizacije koda ;)
pascal.956mminovic,
> Borland Pascal definise standardne tipove za rad sa fajlama.
> Posto kazes da je softver tajna neka i ti tipovi ostanu moja :)
> Pozdrav.
Jaaoooooo! :))
Kakav sam ja mamun :))
Eto,to ti je kada covek ne razmislja :)
Tanks !
Pozdrav,
Mindza.
pascal.957postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: pascal
Date: Sun, 03 Sep 1995 16:30:31
-=> Quoting "Vladimir Novosel" to All <=-
"N> Zna li neko kako bi mogao da pustam semplove u pozadini (nezavisno od
"N> onog sto program trenutno radi). Dali bi trebalo da se pise TSR rutina
"N> ? Ako je potrebna TSR rutina kao se to pise u pascalu keep to ne radi
"N> bas najbolje.
Do sada sam se sasvim malo bavio TSR rutinama ali mislim da bi se
moglo tako uraditi, trebas mu samo podesiti vektore (recimo sata)
da se ne obracaju sistemskom satu vec tvojoj proceduri. Samo me
zanima da li hoces da pustas muziku sa diska (MOD, WAV itd...) ili
radis to preko 'SOUND();'? Ako citas MOD onda imas na SEZAMu u pas
kal direktorijumu TPMOD.ZIP (ili tako nesto), ako slucajno nema javi
pa da ti bacim u mailu.
"N> Znam da je TSR rutinama bilo reci ali se nista nije odredjeno
"N> reklo.
Da, i mene zanimaju TSR programi.
pozdrav, ASKO
... Cistoca je pola zdravlja, rece svinja i skoci u brlog.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.958postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: zapisi i tako dalje
Date: Sun, 03 Sep 1995 16:30:33
-=> Quoting Asmir Badnjevic to All <=-
Jednog dana u jednom danu sam napisao (tj. ima smeca), a poruka nije nikome
stigla cijela.
-=> Hi!
-=> Zanimaju me neki zapisi slika, muzike itd.
-=> 3D2 : Uspio sam skontati zapis nekog 3D2 zapisa (vjerujem da je i zapis
-=> 3DSa slican jer nemam ni 3DS ni njegove fajlove 'all HERCULES') i
-=> evo proce dure ...
-=>
-=> procedure Read3DFile(FileName : String);
-=> var F : File of Real;
-=> Tmp, Tmp1 : Real;
-=> PointsNum : Integer;
-=> LinesNum : Integer;
-=> r, i : Integer;
-=> begin
-=> Assign(F, FileName);
-=> Reset(F);
-=> Read(F, Trunc(PointsNum));
-=> For r := 1 to PointsNum do
-=> begin
-=> Read(F, XPoint[r]);
-=> Read(F, YPoint[r]);
-=> Read(F, ZPoint[r]);
E, ako ste nesto i shvatili od ovog smeca nista nije tacno, evo originalne
procedure za to ...
procedure Read3DFile;
var tmp1,tmp2 : real;
i,j : byte;
begin
read(elementFile, tmp1);
numOfPoints := trunc(tmp1);
for j := 1 to numOfPoints do
begin
read(elementFile, pointsX[j]);
read(elementFile, pointsY[j]);
read(elementFile, pointsZ[j]);
end; {for}
read(elementFile, tmp1);
numOfLines := trunc(tmp1);
for j := 1 to numOfLines do
begin
read(elementFile, tmp1, tmp2);
linesFromP[j] := trunc(tmp1);
linesToP[j] := trunc(tmp2);
end; {for}
end;
gdje je elementFile = File of Real;, PointsX, Poim\ntsY, PointsZ : Real;.
Nadam se da ste skontali i da necete zamjeriti na ovom smecu.
Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
pozdraw, ASKO
... Svtkio pomaklo grsi,.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.959postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: pascal
Date: Sun, 03 Sep 1995 21:07:55
-+=+- "Dusan Krstic" rece : -+=+-
"K> From: "Dusan Krstic" <willow@sezam.UUCP>
"K> Newsgroups: yu.prog.pascal
"K> Organization: SEZAM Beograd, 011 648-422
"K> Ako stvarno trazis neku takvu knjigu, ja ti preporucujem knjigu
"K> 'B.Stroustrup: P.L. C++' . Ima je ( verovatno ) u CET-u, ili kod
Ima i prevod kod Mikro Knjige.
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... HIJERARHISKA LJESTVICA: BOG PA SRBI!!!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.960postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: zapisi i tako dalje
Date: Sun, 03 Sep 1995 21:07:56
-+=+- Asmir Badnjevic rece : -+=+-
AB> Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
PCX imas na sezamu, u cini mi se s:\infoprog\
Opis GIF formata, imas u cini mi se, programu za rad s fraktalima
IntFract 17.x verzija. Taj program je SW pa ti je najjednostavnije
da ga skines sa nekog BBS-a (konkretno, recimo mog Banjaluka BBS,
078-47-174, radno vreme 22-07, program se nalazi na CD-u broj 3)
MOD zapis imas u Racunarima brojevi veci od 100,
Sto se FLI tice to bih i ja voleo da vidim. Veoma me interesuje.
Ja bih u "listu" da dodam AVI i MPEG.
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... HIJERARHISKA LJESTVICA: BOG PA SRBI!!!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.961postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Sat, 02 Sep 1995 21:13:03
On 30 Aug 95 03:38am, "Vladimir Novosel" wrote to All:
"N> Zna li neko kako bi mogao da pustam semplove u pozadini (nezavisno od
"N> onog sto program trenutno radi). Dali bi trebalo da se pise TSR rutina
"N> ? Ako je potrebna TSR rutina kao se to pise u pascalu keep to ne radi
"N> bas najbolje.
Potrebno je da 'zajasis' interapt 8. Keep sasvim solidno obavlja svoj
posao, mozda nisi dobro definisao stack i heap. Ako hoces code za
pustanje semplova na COVOX-u, reci pa da ti saljem.
__ Pozdrav from Vladimir __
... "Koliko je trajao 100-godisnji rat?"
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.962postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Sat, 02 Sep 1995 21:13:04
On 30 Aug 95 11:29pm, "Miroslav Minovic" wrote to All:
"M> Napisao sam program,ocistio ga od buba, i sada ostade jedna,
"M> ali nema sanse da je logicka(tj. moja:)
"M> Naime zna li neko zasto je ovo ovako(ili bar ima ideju,ili pak
"M> predlog) :
Ja mislim da znam :)
To se cesto i meni desi. Sigurno negde u programu imas 'READLN' kao
cekanje na pritisak tastera. Posle 25 puta READLN-a, pozicija kurzora se
pomeri ispod zadnjeg reda ekrana, i onda ovaj mora da se skroluje, kao u
tekst modu.
Resenje je vrlo jednostavno, samo ispred READLN stavi GOTOXY(1,1).
__ Pozdrav from Vladimir __
... Silver Xpress!...... Your Link to the Information Super Highway! <tm>
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.963postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Sat, 02 Sep 1995 21:13:05
On 31 Aug 95 02:02am, "Srdan Simic" wrote to All:
"S> Da li je neko uspeo da u Borland Pascal-u 7.0 i Borland C-u 3.1
"S> pokrene graficki mod u 256 boja. U helpu pise da se funkcija
"S> setrgbpallete moze koristiti za VGA u 256 i da MAXCOLORS daje 256.
"S> Ali meni uvek daje 16.
"S> Pozdrav
Jel imas VGA256.BGI ili SVGA256.BGI ?
__ Pozdrav from Vladimir __
... Silver Xpress!...... Don't leave home without it!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.964postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: zapisi i tako dalje
Date: Mon, 04 Sep 1995 22:19:03
MA> Sto se FLI tice to bih i ja voleo da vidim. Veoma me interesuje.
MA> Ja bih u "listu" da dodam AVI i MPEG.
Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
__ Pozdrav from Vladimir __
... Silver Xpress!...... Simply more bang for your bucks!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.965postmast,
From: Sasa.Sekulic@f101.n101.z38.setnet.setnet.co.yu (Sasa Sekulic)
Subject: pascal
Date: Wed, 06 Sep 1995 05:33:46
"A> Osnovana je grupa DELPHI. Zainteresovani mogu da se jave na mail.
Zainteresovan!
Samo, ja sam Sasa Sekulic, a ne Nemanja Janic, ovo koristim samo privremeno.
mad.max
... So, so you think you can tell tagline from steal...
* Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.966postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: pascal
Date: Mon, 04 Sep 1995 07:31:48
VMZ> posao, mozda nisi dobro definisao stack i heap. Ako hoces code za
VMZ> pustanje semplova na COVOX-u, reci pa da ti saljem.
Pa salji, covece, sta cekas?
Shadow
... Glavni racunari Atlantide radili su pod WINDOWS-ima.
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.967postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: zapisi i tako dalje
Date: Mon, 04 Sep 1995 07:31:49
VMZ> Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
Pa ti imas puno interesantnih stvarcica. Sto ne pricas sta sve imas.
Mozes li nekako da posaljes preko mail-a spiskove tvojih disketa? Inace
sto se ovog sorsa tice - pusti ga na svetlost monitora.
Shadow
... Ĺ
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.968postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: zapisi i tako dalje
Date: Tue, 05 Sep 1995 22:38:02
-+=+- Vladimir M Zivkovic rece : -+=+-
VMZ> Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
Meni to nije pogodno, interesuje me koji je format koriscen
UNUTAR FLI,FLC, ako su koristili seriju GIF-ova npr. onda
je to totalno - neekonomicno.
Dakle, zanima me konkretno KVALITET ovih formata, a to
najbolje mogu da shvatim iz opisa formata.
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... Svtkio pomaklo grsi,.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.969postmast,
From: Asmir.Badnjevic@f135.n135.z38.setnet.setnet.co.yu (Asmir Badnjevic)
Subject: Re: zapisi i tako dalje
Date: Tue, 05 Sep 1995 23:08:53
MA> PCX imas na sezamu, u cini mi se s:\infoprog\
Mozda si vec procitao ovdje, ali momak je poslao program za
citanje BMP zapisa.
MA> najjednostavnije da ga skines sa nekog BBS-a (konkretno, recimo mog
MA> Banjaluka BBS, 078-47-174, radno vreme 22-07, program se nalazi na
MA> CD-u broj 3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^ Da ne radis u agenciji za raklamiranjee :))?
Sta je to, jel' se to jede???
MA> MOD zapis imas u Racunarima brojevi veci od 100,
Jos kad bi imao Racunare ...
MA> Sto se FLI tice to bih i ja voleo da vidim. Veoma me interesuje.
MA> Ja bih u "listu" da dodam AVI i MPEG.
A ko ne bi? Mislim kad bi skonto FLI zapis da se AVI i MPEG bas
ne razlikuju puno.
Znas li mozda ciji su 3D2 fajlovi?
pozdraw, ASKO
... I haven't lost my mind; it's backed up on tape somewhere!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.970postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic)
Subject: Re: zapisi i tako dalje
Date: Fri, 8 Sep 1995 12:56:13 GMT
Asmir Badnjevic je napisao:
>>
>> MA> Sto se FLI tice to bih i ja voleo da vidim. Veoma me interesuje.
>> MA> Ja bih u "listu" da dodam AVI i MPEG.
>> A ko ne bi? Mislim kad bi skonto FLI zapis da se AVI i MPEG bas
>> ne razlikuju puno.
Za AVI ne znam, ali se MPEG ohohoho razlikuje. I JPEG i MPEG algoritmi
za kompresiju imaju totalno drugaciju filozofiju od klasicnih. JPEG koristi
odredjene statisticke osobine slike da bi pomocu diskretne kosinusne
transformacije komprimovao energetski spektar signala blablabla ..., sto na
kraju rezultuje u znatno kraci fajl. Kod MPEG-a se uopste ne pamte svi
frejmovi, vec svaki n-ti, a frejmovi izmedju se dobijaju interpolacijom.
Imam neke skripte o JPEG i MPEG algoritmima, kad nadjem malo vremena
okacicu ih ovde.
--
Allways look on the bright side of death
pascal.971.sima,
> "S> Ali meni uvek daje 16.
> "S> Pozdrav
>
> Jel imas VGA256.BGI ili SVGA256.BGI ?
SVGA256.bgi imam ali drajver je vrlo loše uradjen. Mislio sam na original
ne drajvere od Borlanda.
Inače da li je neko uspeo da startuje miša u svga rezolucijama.
pascal.972pedjak,
> Možda serijski broj Ethernet karte ? Garantovano je jedinstven ...
Da, mislim da bi to bilo rešenje, ako se već ide na očitavanje
nekog serijskog broja.
pascal.973mminovic,
> Potrebno je da 'zajasis' interapt 8. Keep sasvim solidno
> obavlja svoj posao, mozda nisi dobro definisao stack i heap.
> Ako hoces code za pustanje semplova na COVOX-u, reci pa da ti
> saljem.
Ajd posalji meni,zanima me posto sam skoro napravio COVOX,pa..:)
da se malo igram :))
Pozdrav,
Mindza.
pascal.974mminovic,
> Inace da li je neko uspeo da startuje misa u svga rezolucijama.
Ja :))
Sa bibliotekom sa sezama mouse6(ili tako nesto :))
Pozdrav,
Minzda.
pascal.975postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: DB Login
Date: Thu, 07 Sep 1995 16:12:01
Hi!
Jel bi mogao neko da mi kaze kako da preskocim DataBase Login u
Delphi-u? Svaki put kada pokrenem program moram da ga popunjavam
ponovo i ponovo.
P.S. Radi se o BDE i alias-u za MS Access ako vam to nesto znaci...
Pozdrav, Bojan.
... Kakva nesebicnost! Ne bore se oni za sebe, nego za vlast.
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.976postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: errorlevel
Date: Thu, 07 Sep 1995 21:40:30
Hteo bih da napisem program koji bi preuzeo errorlevel
od prethodno izvrsenog programa, ispisao mi ga i isti taj
errorlevel vrati na svom zavrsetku.
Pretpostavljate, treba mi da presrecem errorlevel-e koje vracaju
programi ali da omogucim dalji rad BAT datoteka.
Kako se ovo radi, mislim na citanje errorlevel-a. Ostalo znam.
... COMPLAINTS > NUL
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.977postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: wait for key
Date: Thu, 07 Sep 1995 21:40:31
"S> From: "Srdan Simic" <.sima@sezam.UUCP>
"S> U gafickom modu se ne koristi readln za pauzu. Ja koristim
"S> procedure Pauza;
"S> begin
"S> if readkey=#0 then readkey
"S> end;
Hmm. Meni se ovo bas i ne svidja.
Sta mislis o:
repeat until keypressed
... Ovako lep oktobarski dan nismo imali celog avgusta
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.978visnja,
Re: DPMI
> Ne mora da se uključi ni jedan unit.
Slažem se. Ali će malo teže da alocira više od 64K bez unit-a. Ima finih
stvari u WINPROC-u.
> radi. Inače DPMI se nije baš pokazao u mojim očima lepo, jeste
> da je podržan od strane Windows-a, ali po meni VCPI je mnogo
> bolji.
Pre par meseci u nekoj beta verziji WIN95 nisam uspeo da pokrenem ni
jedan DPMI program. Pošto od DPMI živim (BP & PARADOX) odma' sam
izbrisao WIN95. Lično se ne ubijam pišući DPMI aplikacije pa bih te
zamolio da nešto napišeš DPMI vs. VCPI.
pascal.979visnja,
>> Borland Pascal definise standardne tipove za rad sa fajlama.
>> Posto kazes da je softver tajna neka i ti tipovi ostanu moja
>> :) Pozdrav.
> Jaaoooooo! :))
> Kakav sam ja mamun :))
> Eto,to ti je kada covek ne razmislja :)
Sta je? Otkrio si tip FNAMESTR!
pascal.980willow,
> Mozda serijski broj Ethernet karte ? Garantovano je jedinstven
>>Da. Proizvodjaci garantuju da je serijski broj kartice jedinstven,
>>ali kako se cita.
I ja imam taj problem.( mozda si procitao, bilo je par poruka u temi FOX ).
Pokusao sam da debug-iram NET.EXE i da provalim kako on dodje do tog
serijskog broja , ali izgleda da nisam dovoljno talentovan za te
stvari :( .
I onda mi pade na pamet :). Ako koristis NetWare Lite, komanda
NET ULIST daje spisak ulogovanih u formatu :
Ime Id ( serijski broj kartice )
---------------------------------------
PERICA 000679866
*WILLOW 000454444 <- * znaci da je to moja masina.
( Ovi Id-ovi su dati onako, otprilike ).I tako, posle mnogo,mnogo
neuspelih pokusaja da na neki ljudski nacin dodjem do broja Ethernet
kartice, odlucih da to obavim ovako :
Dam mu : NET ULIST >Login.Txt , i onda parsiram fajl Login.Txt da dodjem
do informacije o serijskom broju. Posle, naravno DEL-nem Login.Txt.
Eto.
Pretpostavljam da je ovaj nacin malo priglup i sve, ali sta cu.
Serijski broj HD otpada jer ga stanice nemaju ,
serijski broj BIOS-a takodje otpada jer sam ustanovio da vise masina
imaju isti serijki broj BIOS-a, pa mi je posle receno da oni u stvari
nabave jedan BIOS cip i onda pune cipove i to stavljaju u masine koje
prodaju.
U sustini ako pravis jednokorisnicku aplikaciju , mislim da mozes
iskoristiti serijski broj HD-a, a ako pravis mreznu, tu je vec pitanje
koji software koristis.Ako je NWLite u pitanju ( sto je moj slucaj ),
onda si ga ugasio :(.
Ako koristis Novell-a, mislim da je njegov API dobro dokumentovan i
tu ne bi trebalo da imas problema.
Ima tu jos nesto.Ako pravis program za vise masina ( korisnika ), mozes
da na svakoj stavis RAZLICITU lozinku na SETUP pa posle to da citas.
Verujem da bi i ovako i onako stavio lozinku da korisnici ne bi
brljali tamo gde ne smeju, a eto, mozes i taj podatak da iskoristis
za identifikovanje masine ( source za to mozes naci na Sezamu ).
Hello from Willow Valley
pascal.981evlad,
<> SVGA256.bgi imam ali drajver je vrlo loše uradjen. Mislio sam na
<> original ne drajvere od Borlanda.
<> Inače da li je neko uspeo da startuje miša u svga rezolucijama.
Ako su drajveri V5.5 tada uz njih ide i miš, jedino na VLB CL5428 ima malo
problema oko hardvreskog i softverskog kursora, ali može da radi.
***************************************************************************
Copyright (c) 1990-1994
Jordan Hargraphix Software
All Rights Reserved
PORTIONS COPYRIGHT JOHN BRIDGES, 1990- 1993 (Svga detect & bankswitch)
CHRISTOPHER MORGAN, 1984 (Bresenham's algorithm)
FINN THOEGERSEN, 1991-94 (Svga detect & bankswitch)
***************************************************************************
Here they are! The SuperVGA/Tweak BGI drivers you have all been waiting for!
;->
These drivers support a wide range of VGA cards, and should work on
all major brands.
Card types supported: (SuperVGA drivers)
Acumos, Ahead, Avance Logic 2101, ATI, Chips & Tech, Cirrus Logic, Compaq,
Everex, Genoa, MXIC68000, NCR, Oak, Primus 2000, Paradise, Realtek, S3
Trident (both 8800 and 8900, 9000), Tseng (both ET3000 and ET4000) and Video7.
These drivers will also work on video cards with VESA capability.
The tweaked drivers will work on any register-compatible VGA card.
I have not tested these drivers on all these card types, so I can not guarantee
perfect operation with your card. I have tested them extensively on Tseng
ET4000,
S3 and Paradise cards, and have had no problems. If you experience problems
with
the driver on your card, try loading a VESA driver first.
----------------------------------------------------------------------------
BGIv3.0 drivers support protected mode under Borland Pascal 7.0.
Registration fees cover both v2.0 and v3.0 source code.
Any current Borland/Turbo Pascal or C/C++ compiler can use BGIv2.0
in real mode. Only Borland Pascal 7.0 and Turbo Pascal 7.0 currently
support BGI v3.0; Borland Pascal 7.0 needs BGIv3.0 to work in
protected mode. The BGIv3.0 drivers are in the \BGI30 directory.
----------------------------------------------------------------------------
Modes currently supported:
SuperVGA 16-color
0) Standard EGA/VGA 320x200x16
1) Standard EGA/VGA 640x200x16
2) Standard EGA/VGA 640x350x16
3) Standard VGA 640x480x16
4) SuperVGA/VESA 800x600x16
5) SuperVGA/VESA 1024x768x16
6) SuperVGA/VESA 1280x1024x16
SuperVGA 256-color
0) Standard VGA/MCGA 320x200x256
1) 256k Svga/VESA 640x400x256
2) 512k Svga/VESA 640x480x256
3) 512k Svga/VESA 800x600x256
4) 1024k Svga/VESA 1024x768x256
5) 256k Svga 640x350x256
6) 1280k+ VESA 1280x1024x256
* SuperVGA 32768-color BGI driver for HiColor cards
SuperVGA 32768-color
0) 320x200x32768
1) 640x350x32768
2) 640x400x32768
3) 640x480x32768
4) 800x600x32768
5) 1024x768x32768
6) 1280x1024x32768
* SuperVGA 65536-color BGI driver for HiColor cards
SuperVGA 65536-color
0) 320x200x65536
1) 640x350x65536
2) 640x400x65536
3) 640x480x65536
4) 800x600x65536
5) 1024x768x65536
6) 1280x1024x65536
* NEW SuperVGA 24-bit color BGI driver for TrueColor cards
SuperVGA 24-bit color
0) 320x200x24-bit
1) 640x350x24-bit
2) 640x400x24-bit
3) 640x480x24-bit
4) 800x600x24-bit
5) 1024x768x24-bit
6) 1280x1024x24-bit
* WARNING: The tweaked drivers do not use standard BIOS modes, instead
they program the CRTC directly. You must have a register-compatible
VGA card to use these drivers. You must also be sure that your monitor
can handle the sync rates (the sync COULD damage your monitor)
Tweaked 16-color
0) 704x528x16
1) 720x540x16
2) 736x552x16
3) 752x564x16
4) 768x576x16
5) 784x588x16
6) 800x600x16
Tweaked 256-color
0) 320x400x256
1) 320x480x256
2) 360x480x256
3) 376x564x256
4) 400x564x256
5) 400x600x256
6) 320x240x256
7) 360x350x256
* SuperVGA driver for S3 cards. (Orchid Farenheit 1280, Diamond Stealth)
Uses extended features of the S3 chip to provide enhanced performance.
S3 Accelerator 16/256/32768-color
0) 640x480x256
1) 800x600x256
2) 1024x768x256
3) 800x600x16
4) 1024x768x16
5) 1280x960x16
6) 1280x1024x16
7) 640x480x32768
OTHER PRODUCTS:
* HGXMOUSE TSR for supporting those tricky video modes your mouse driver
doesn't know about. My BGI drivers are fully integrated with the TSR,
and will provide automatic mouse support in all modes if the TSR and
mouse driver are loaded.
Features:
Support for the mouse cursor in 16, 256, 32k, 64k and true color
SuperVGA modes, as well as tweaked 16 and 256 color modes.
Support for a graphical text mode cursor (ala Norton)
Support for the hardware cursor on systems that support it.
(Cirrus 54xx, S3, Paradise)
Easy to use API so you can use the mouse cursor in your own programs.
(without needing to use my BGI drivers).
Large cursor support (currently up to 32x32).
Ability to set the cursor foreground and background colors
Bitmap cursor support (multicolored cursors)
----------------------------------------------------------------------------
INSTALLATION:
Using the driver in existing programs is easy. (If you have the source)
Check the files INITSVGA.C and INITSVGA.PAS for examples of installation
into C and Pascal programs.
----------------------------------------------------------------------------
NOTE:
* See the file FAQ.DOC for frequently asked questions.
* The .CHR files needed by the VGADEMO program are version 1.00 (dated
October 1987), so if the fonts do not work properly with the demo program,
you are probably using the newer fonts (eg. 1.1 dated June 1989 do not work
properly). This is a fault of the BGI kernel that the demo program was
compiled with (Turbo Pascal 5.5 doesn't recognize the newer version)
----------------------------------------------------------------------------
WARNING: The drivers do not test to see if the card installed is
actually a VGA card (If the Svga drivers do not detect a SuperVGA card, they
treat the card as a standard VGA), so DO NOT use the drivers if you do not
have a VGA card installed. (Svga16 will work on EGA cards)
-------------------------------------------------------------------------
REGISTRATION:
I have decided to release these drivers free of charge, although donations
would be greatly appreciated and certainly expedite the release of future
versions. :->
The drivers have not been crippled in any way, though beta releases of new
drivers may have some functions yet unimplemented.
Registration fees: ( Price includes both BGIv2.0 and BGIv3.0 drivers )
┌─────────────────────────────────────────┐
│ HGXMOUSE $40 │
│ │
│ SuperVGA BGI S3 $30 │
│ SuperVGA BGI 32768 $30 │
│ SuperVGA BGI 65536 $30 │
│ SuperVGA BGI 24-bit $30 │
│ SuperVGA BGI 256 $30 │
│ SuperVGA BGI 16 $30 │
│ Tweak 16 $30 │
│ Tweak 256 $30 │
│ │
│ Any two: $40 │
│ Any three: $50 │
│ Any four: $60 │
│ Any five: $70 │
│ Any six: $80 │
│ Any seven: $90 │
│ All eight: $100 │
│ │
│ Order one or more BGI drivers and get │
│ HGXMOUSE for only an additional $25. │
└─────────────────────────────────────────┘
With donations of $30 and up, you will be considered a registered user.
Registered users get the full source code and upgrades on future releases.
Please send checks/money to:
Jordan Hargrave
8760-A Research Blvd, #256
Austin, TX 78758
(512) 219-6645 voice
(800) 219-6988 voice
(512) 458-6461 FAX (see note below)
;*===============================*===========================================*
;| Jordan Powell Hargrave | Internet: hargrave@dellgate.us.dell.com |
;| 12310B Deer Falls Drive | jordanh@vern.bga.com |
;| Austin, TX 78729 | CC mail: jordan_hargrave@dell.com |
;| (512) 219-6645 | Compuserve: [72510,1143] |
;*===============================*===========================================*
;| Mailing address: | Please use the mailing address for all |
;| 8760-A Research Blvd, #256 | BGI-related correspondence. |
;| Austin, TX 78758 | |
;| (800) 219-6988 | Note for FAX: Please include my mailing |
;| FAX: (512) 458-6461 | address and name in the header page. |
;================================*===========================================*
pascal.982.sima,
> Sta je? Otkrio si tip FNAMESTR!
Ne. To su PathStr, NameStr, ExtStr, DirStr. Ali evo upravo sam probao
i sa običnim string tipom i assign lepo radi procedura izađe bez problema.
Kod Pascala, ako se program sruši prilikom izlaska iz procedure, teže da
je greška druge prirode sem pisanje po memoriji gde ne treba. Evo ovaj
program sam preveo i radi savršeno. Probaj i ti
var
ime: string;
F: text;
linija: strin[80];
begin
ime:='test.txt';
assign(F,ime);
reset(F);
while not EOF(F) do begin
readln(F, linija);
writeln(linija);
end;
close(F);
end.
pascal.983.sima,
> Kako se ovo radi, mislim na citanje errorlevel-a. Ostalo znam.
var
ErrLvl: string;
begin
. . .
ErrLvl:=GetEnv('ERRORLEVEL');
. . .
end.
pascal.984.sima,
> Sta mislis o:
> repeat until keypressed
Da to je bolje, ali meni se dešavalo da ostane u baferu nešto, pa
program pretrči preko toga. Npr ovo mi nije radilo kako treba
ch:=readkey;
repeat until keypressed;
jer repeat je ste čekao na drugi pritisak, ali drugi pritisak nije
progutan. Naravno nekada je to bolje, a nekada nije.
pascal.985.sima,
> Slažem se. Ali će malo teže da alocira više od 64K bez unit-a. Ima
> finih stvari u WINPROC-u.
> Pre par meseci u nekoj beta verziji WIN95 nisam uspeo da pokrenem ni
> jedan DPMI program. Pošto od DPMI živim (BP & PARADOX) odma' sam
> izbrisao WIN95. Lično se ne ubijam pišući DPMI aplikacije pa bih te
Ako misliš 64k u jednom komadu to je tačno, u "običnom" DPMI-ju je 64k
granica, a sa WinApi.tpp je nema :). Samo što ovo može da se gleda
i sa druge strane. Ako poštuješ neka manja ograničenja, običan program
možeš samo da prevedeš u DPMI i radiće super (new, getmem itd). Memavail
će dati da je slobodno sve ono sto je slobodno preko prvog mega. Ono ispod
je nepristupačno za new ili getmem. Sa druge strane ako se koriste WinApi
procedure (GlobalAlloc/LocalAlloc) može se pristupiti i onoj memoriji
ispod prvog mega, ali program mora da se prepravlja (ne puno).
I dalje se ne mogu neke stvari, npr:
type
ttemp = array[1..100000] of byte;
ptemp = ^ttemp;
var
temp: ptemp;
begin
new(temp); ili GlobalAllocPtr(fl, 100000);
Ovo neće da prođe i puca vec na definiciji tipa. Neću više da dužim ako
nokoga interesuje, neka javi.
DPMI bi trebalo da radi pod Win3.11 za ostalo ne znam.
VCPI bi trebaloda radi pod win3.11, ali nije baš poželjno. Mada po
meni programi su stabilniji od DPMI-ja. Sada pitaćeš zašto je vcpi
bolji, pa nije bolji, ako radiš pod windowsima, jer su ustvari win i
vcpi ista stva. VCPI program ladno guta prethodni problem, pravi
32-bitni kod (DPMI pravi 16-bitan), swap datoteke i sve ono što pravi
32b program treba da ima. Deklaracija
var temp: array[1..1000000000] of byte;
prolazi kroz kompajler bez problema. Naravno ako nema dovoljno
memorije, swap ili fizičke program je neće dodeliti. Neće pući, samo
neće dodeliti. Inače memorija se neće dodeliti, iako je u var-u, kada se
program startuje, već priliko prvog korišćenja. Ima o ovome još mnogo,
tako da ako ima zainteresovanih, neka se jave.
Predlog probajte GNU C sa ffs-a to sam ja dovukao iz amerike i stavio
tamo. Ima ga i na UBBG-u. Program je pravi VCPI kompajler. Iako je to C
ima konvertor, koji je vrlo dobar, za pascal. Kada se program prevede i
poveže sa ekstenderom, koji je u paketu, dobije se JEDNA datoteka koja
ima sve u sebi. Najmanja datoteka (sa writeln('Hello');) je valjda oko
80k.
pascal.986.sima,
> Ako su drajveri V5.5 tada uz njih ide i miš, jedino na VLB CL5428
> ima malo problema oko hardvreskog i softverskog kursora, ali može da
> radi.
DA! To mi treba. Gre mogu da ga nađem.
pascal.987pedjak,
> Da. Proizvodjaci garantuju da je serijski broj kartice jedinstven,
> ali kako se cita.
Pogledaj poruku 14.184
pascal.988visnja,
> program sam preveo i radi savršeno. Probaj i ti
Mislim da neću da ga probam. Vizuelnom kontrolom se vidi da radi.
Pogledaj ovaj segment programa koji RADI (Pravi tekući dir) :
PROCEDURE MakeDirDir;
var
rr:record
izb:PStringCollection;
b:word;
end;
count:word;
dirinfo:searchrec;
f:text;
begin
rr.izb:=new(pstringcollection,init(1,1));
count:=0;
findfirst('*.*',AnyFile,DirInfo);
while doserror=0 do
begin
inc(count);
rr.izb^.insert(newstr(DirInfo.Name));
findnext(dirinfo);
end;
end;
POZDRAV Višnja.
pascal.989.sima,
> Mislim da neću da ga probam. Vizuelnom kontrolom se vidi da radi.
> Pogledaj ovaj segment programa koji RADI (Pravi tekući dir) :
Izvini, ali poruka je bila više namenjena mminovic-u (mislim da on
proba) Inače tvoj lepo radi, nisam probao, jer nemam te unite na disku.
Ja nikada nisam koristio Collections jer nekako mi je bilo uvek lakše
da ja napišem rutine za čuvanje podataka. Posle ovoga, pošto lepo radi,
ću malo testirati Collection (brzina stabilnost) pa ćemo videti. Jedina
stvar koja me je nervirala kod Collections-a pa sam u početku odustao od
njih je nemogućnost da koristi XMS. Ja lično više cenim i volim XMS od
EMS, tako da sve moje rutine za podatke swapuju u XMS i to vrlo lepo.
640Kb podataka prebaci u XMS i iz, za tren. Na 386dx40 se posle pritiska
na dugme 64Mb je bilo prebačeno u XMS i iz, za tren.
pascal.990mminovic,
> je greska druge prirode sem pisanje po memoriji gde ne treba.
> Evo ovaj program sam preveo i radi savrseno. Probaj i ti
Jos jednom :)
On meni proceduru lepo zavrsi ali padne pri vracanju
u mama-proceduru :)
Znaci smesti ovo u proceduru,pozovi iz glavnog programa proceduru i
ako ne padne onda su gremlini u mom kompjuteru :0
Pozdrav,
Mindza.
pascal.991.sima,
> Jos jednom :)
> On meni proceduru lepo zavrsi ali padne pri vracanju
> u mama-proceduru :)
> Znaci smesti ovo u proceduru,pozovi iz glavnog programa proceduru i
> ako ne padne onda su gremlini u mom kompjuteru :0
Izvini a kako ti misliš da ja programiram????
Pa upravo sam završio program (pre dva dana) i on treba da nađe
gde mu se nalazi jedan fajl. To radi u jedno proceduri koja se poziva
iz druge. Otvara, čita, piše, zatvara itd.. Probano, radi.
Pogledaj malo ti stanje programa pre i posle poziva te procedure.
Probaj moj program, ako ne radi, onda... install.exe
pascal.992visnja,
> Izvini, ali poruka je bila više namenjena mminovic-u (mislim da
> on proba) Inače tvoj lepo radi, nisam probao, jer nemam te
> unite na disku.
>
> Ja nikada nisam koristio Collections jer nekako mi je bilo uvek
> lakše
No replicirano je bilo meni. U pravu si za kolekcije, ni ja ih ne volim.
Naročito zbog nezgrapnog EMS-a. Ali pokušavam sebe da usmerim u pravcu
NEizmišljanja tople vode i rupa na saksijama. Teško mi ide jer stalno
pronalazim nekakve rupe... :)
Pozdrav Višnja.
pascal.993dr.urbano,
Momci,
ipak je sledece resenje najbolje(po meni):
{$x+} <--- ovo je glavna stvar ;)
uses crt;
bla ... bla ... bla
begin
. . . . . .
readkey; <--- da, da samo ovako ;)
. . . . . .
end.
Urbano Soft
laboratorija za istrazivanje
alternativnog softvera
Pozdrav,
Doctor
pascal.994.sima,
> Naročito zbog nezgrapnog EMS-a. Ali pokušavam sebe da usmerim u
> pravcu NEizmišljanja tople vode i rupa na saksijama. Teško mi ide
> jer stalno pronalazim nekakve rupe... :)
Znam ja sam se oduševio turbo vizijom, kada sam je prvi put video, ali
posle malo više korišćenja, sam se duboko razočarao, i odustao. Sve je
to lepo i ako se izuzmu neke sitnice, radi kako treba, ali... Bolje je
napraviti sve od početka sam, pa onda to koristiti. Program će uvek biti
brži i kompaktniji. Drugo je pod windowsima ili os/2 tu samo mazohisti
rade sve ispočetka.
pascal.995.sima,
║ Momci,
║ ipak je sledece resenje najbolje(po meni):
čao mi je što moram da ti kažem, ali nije :(
U slučaju da je pritisnuti specijalni taster neće lepo raditi.
jer ako imaš
. . .
readkey;
. . .
readkey; <-- ova linija će biti preskočena, mislim neće stati
pascal.996.sima,
Posto mi je ovo dopisivanje vec dosadilo evo nesto. Kada pogledas
bice ti jasno. Probao sam i zakljucio: ili su gremlini kod tebe, ili...
Javi mi kada pogledas, bas me interesuje da li si uspeo da sredis
problem.
testmind.paspascal.997visnja,
> Znam ja sam se oduševio turbo vizijom, kada sam je prvi put
> video, ali posle malo više korišćenja, sam se duboko razočarao,
> i odustao. Sve je to lepo i ako se izuzmu neke sitnice, radi
> kako treba, ali... Bolje je napraviti sve od početka sam, pa
> onda to koristiti.
APSOLUTNO POGREŠNO!!!
Turbo Viziju verovatno poznaješ do nivoa 'malo više korišćenja'.
Ja radim u TV mnogo više (non stop) i stvar je MOĆNA. Najmoćnije
što DOS može dati u textu. Šta od početka da napraviš? TV. Malo
teže:
Više dokumenata istovremeno,
Pozivanje menija na sve standardne načine,
Varijabilna statusna linija sa HINT-om,
Pomeranje i veličina svih prozora,
Odlican editor,
Help koji uz malu doradu postaje moćan hipertext alat,
Objekti idu na disk i sa diska,
Event Drv. programiranje,
Resursi...
Uz program DLGDSN primitivna vizualizacija. (crtaj i pokreni)
Uz PARADOX ENGINE kraljevski DOS programi...
Na dnu TV ima dosta mašinca, dakle prilično brzo čak i na 386 makinama.
Nego vrati se ti TurboViziji ako planiraš da radiš DOS programe. Uvek mogu
pomoći. Moje znanje nije tajna...(ili neznanje, hm...diskutabilno!).
Pozdrav Višnja.
pascal.998visnja,
> begin
>
> . . . . . .
>
> readkey; <--- da, da samo ovako ;)
>
> . . . . . .
> end.
Specijani tasteri:
ch:=readkey;
if ch:=#0 then readkey
Pozdrav Višnja.
pascal.999evlad,
<> DA! To mi treba. Gre mogu da ga nađem.
===============================
7.42 TEST.1:pc.prog
evlad, 13.09.Sre 19:33, 155 chr
---------------------------------------------------------
svga bgi drajveri za TP 7.0 i TC/BC
podrška za pacova u rezolucijama većim od 640x480
arhivu otpakovati sa: pkunzip -d svgabg55
upload po želji .sima
----------------------------------------------- 7.42 ---
** Uz poruku 'svgabg55.zip' (202783 bytes)
BULAJOOOOO baci ga u dir tamo i vamo :)
pascal.1000superhik,
Proba sam da sa i:=Lenght(s)
dodelim dužinu stringa nekom integeru ali javlja eror !?
u čemu je problem
pascal.1001zeljkoj,
> Na dnu TV ima dosta mašinca, dakle prilično brzo čak i na 386
> makinama.
žak? :)
Rečenica je verovatno trebala da glasi: 'zahteva 386 da bi bilo dovoljno
brzo'. :))
pascal.1002.sima,
║║ APSOLUTNO POGREŠNO!!!
║║ Turbo Viziju verovatno poznaješ do nivoa 'malo više korišćenja'.
Ok nemoj da vičeš. I ja mislim da je TV dobar proizvod i znam je malo
više nego što misiš. Problem je što ja ne pravim programe za prodaju,
ili za drugog. Trenutno završavam fakultet i svi programi koje pravim,
traže brzinu i pouzdanost. Znaš i sam, jedan program sam preveo sa TV-om
i bez. Bez je bio 95k, a sa je bio skoro 300k. U programu oma dosta
mašinca. Kada se radi u DPMI-ju ovo je stvarno mali problem, ali moj
program je koristio svaki byte memorije, tako je radio savršeno na 640k.
I ja lično mislim da ako bi mi neko sada tražio npr. program za video
klub, ja bi mu uradio ili preporučio TV. Upravu si ti, vrlo je glupo
ponovo otkrivati toplu vodu.
pascal.1003.sima,
║║ Proba sam da sa i:=Lenght(s)
║║ dodelim dužinu stringa nekom integeru ali javlja eror !?
║║ u čemu je problem
Koja greška je u pitanju? Probaj ovo.
{Length.PAS}
{Sample code for the Length function.}
{ For Windows: }
{ uses WinCrt; }
var
S: String;
begin
Readln (S);
Writeln('"', S, '"');
Writeln('length = ', Length(S));
end.
pascal.1004visnja,
> žak? :)
> Rečenica je verovatno trebala da glasi: 'zahteva 386 da bi bilo
> dovoljno brzo'. :))
Probao sam na 286 8 Mhzi lepo radi. TurboVizija sigurno, ostali deo
programa zavisi od programera. Štaviše radi fantastično. Fascinantno je
kako pomera prozore i na sporim mašinama.
Pozdrav Višnja.
pascal.1005visnja,
> Ok nemoj da vičeš. I ja mislim da je TV dobar proizvod i znam
> je malo
Sorry man, nisam hteo da izgleda kao da vičem... Nemam šta da dodam,
slažem se sa svime što si rekao.
Pozdrav Višnja.
pascal.1006visnja,
> Proba sam da sa i:=Lenght(s)
Verovatno i nije odgovarajućeg tipa. Proveri!
Pozdrav Višnja.
pascal.1007paki,
> Proba sam da sa i:=Lenght(s)
Funkcija se zove Length :)
pascal.1009kriss,
Da li neko zna zašto na ovom mestu TP 6.0 prijavljuje grešku:
ProgramStart : Byte absolute Cseg:$100;
^
Error 133: Cannot evaluate this expression.
?
pascal.1010.sima,
║║ Da li neko zna zašto na ovom mestu TP 6.0 prijavljuje grešku:
║║ ProgramStart : Byte absolute Cseg:$100;
║║ ^
║║ Error 133: Cannot evaluate this expression.
Problem je u tome što CSeg je funkcija, a ne variabla. Rešenje je da ako
je potrebno da ProgramStart bude globalna variabla:
var
ProgramStart: ^byte;
begin
ProgramStart:=Ptr(CSeg,$100);
writeln(ProgramStart^)
end.
U slučaju da je potrebno da bude lokalna, onda se prenese kao parametar.
type
BPtr = ^byte;
procedure blabla(ProgramStart: BPtr);
begin
writeln(ProgramStart^)
end;
begin
blabla(Ptr(CSeg,$100));
end.
pascal.1011dares,
Kako procitati datoteku (radi kopiranja) koja je Read Only ?
Program ide ovako:
...
...
assign(uldat,'neka.dat');
reset(uldat,1);
i ovde javlja Runtime error 5 (sto znaci pokusaj
resetovanja Read Only datoteke);
Program (odnosno ova procedure) treba samo da iskopira
tu datoteku.
pascal.1012superhik,
=:> Koja greška je u pitanju? Probaj ovo.
Taj primer sam uradio i on je OK
nego javlja neki error ili sl.
ako probam recimo:
Uses CRT;
Var
s:string;
i:integer;
Begin
ClrScr;
Readln(s);
i:=lenght(s);
Write(i);
REadln;
End.
P.S. Sada sam probao gore navedeni program i error je
'UNKNOWN INDENTIFIER' !?
pascal.1013.sima,
║║ i:=lenght(s);
Pa ti nisi lepo procitao moju poruku. LENGTH je funkcija. Ovakve
greske se najbolje ispravljaju ako se posluzis sa helpom. Stavi kurzor
na lenght i pritisni CTRL+F1 pa ces videti dalje sam. Ovo je ako
koristis Borland Pascal, ako ne onda nek ti je bog u pomoci.
pascal.1014.sima,
║║ Kako procitati datoteku (radi kopiranja) koja je Read Only ?
{$I-}
var
F: file;
begin
FileMode:=0; <-- Stvar je u ovome
assign(F,'temp.dat');
reset(F);
writeln(IOResult);
close(F)
end.
FileMode je globalna variabla u system unitu koja definise default
mod za otvaranje untyped i typed datoteka. Za text vaze posebna pravila.
Znaci FileMode 0 je readonly, 1 je write, a 2 je read/write. Reset onda
otvara datoteku u tom modu. Text datoteke se sa reset uvek otvaraju u
readonly, sa rewrite u writeonly, a sa append u readonly takodje.
pascal.1015pyramid,
>> Specijani tasteri:
>>
>> ch:=readkey;
>> if ch:=#0 then readkey
ili jos krace:
if readkey=#0 then readkey
pascal.1016postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: zapisi i tako dalje
Date: Fri, 08 Sep 1995 08:20:00
VMZ>> Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
MA> Meni to nije pogodno, interesuje me koji je format koriscen
MA> UNUTAR FLI,FLC, ako su koristili seriju GIF-ova npr. onda
MA> je to totalno - neekonomicno.
Evo, objasnicu ti ukratko. GIF zaboravi, ovi formati nemaju ni najmanje
veze sa njim. Prva slika se zapisuje kao obicna (najstandarnijim nacinom
kompresovana). Dalje se pamte samo razlike u odnosu na prethodnu. Takodje,
vece grupe iste boje se zapisuju uz pomoc 2 bajta, tako da je format vrlo
dobar (odlican) po pitanju brzina citanja - kompresija.
MA> Dakle, zanima me konkretno KVALITET ovih formata, a to
MA> najbolje mogu da shvatim iz opisa formata.
Ili iz sourcea, odatle sam ga ja provalio.
__ Pozdrav from Vladimir __
... "Koliko je trajao 100-godisnji rat?"
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1017postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: zapisi i tako dalje
Date: Wed, 06 Sep 1995 18:05:00
VMZ>> Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
IJ> Pa ti imas puno interesantnih stvarcica. Sto ne pricas sta sve imas.
IJ> Mozes li nekako da posaljes preko mail-a spiskove tvojih disketa? Inace
IJ> sto se ovog sorsa tice - pusti ga na svetlost monitora.
Sors stize u sledecoj poruci, a sto se tice ostalih stvari, to su uglavnom
arhive sa raznih BBS-ova. Ima nesto za 3D-grafiku, 32-bitno programiranje,
TSR, ... Ti reci sta te zanima pa cu ja da potrazim. Imam mali milion arhiva,
i za 90% ne znam sta su ;)
naknadno pisano: uf, fajl za FLIC-ova ima 32KB zipovan. Bacicu ga kod
Oswalda na BBS (022/425-879 23-07h) pa skidajte :)
... "To je bila bezgranicna ljubav koja se granicila sa velicinom kosmosa
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1018postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Wed, 06 Sep 1995 18:05:01
VMZ>> posao, mozda nisi dobro definisao stack i heap. Ako hoces code za
VMZ>> pustanje semplova na COVOX-u, reci pa da ti saljem.
IJ> Pa salji, covece, sta cekas?
Evo, cim malo sredim code. Btw, to je Paskal code sa procedurama u ASM-u.
__ Pozdrav from Vladimir __
... "To je bila bezgranicna ljubav koja se granicila sa velicinom kosmosa
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1019postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: sempl na COVOX
Date: Wed, 06 Sep 1995 18:05:03
Hi,
Evo malo koda za pustanje sempla preko paralelnog porta pod interaptom :).
program LPT_Play_by_VMZ;
uses dos,crt,mouse;
var sfile:file;
spoint:pointer;
sseg,sofs,ssize,pos:word;
myproc:procedure;
procedure play;interrupt;assembler;
asm
cmp pos,65535
je @kraj
mov es,sseg
mov di,sofs
add di,pos
mov al,es:[di]
mov dx,378h {adresa paralelnog porta}
out dx,al
inc pos
mov ax,pos
cmp ax,ssize
jne @kraj
mov pos,65535
@kraj:
mov al,20h
out 20h,al
end;
procedure openfile(sname:string);
begin
assign(sfile,sname);
reset(sfile,1);
ssize:=filesize(sfile);
getmem(spoint,ssize);
sseg:=memw[seg(spoint):ofs(spoint)+2];
sofs:=memw[seg(spoint):ofs(spoint)];
blockread(sfile,mem[sseg:sofs],ssize);
close(sfile);
end;
procedure setfreq(freq:word);
var f:word;
begin
if freq=0 then f:=0 else f:=round(1192755.2/freq);
asm
cli
mov al,10110000b
out 43h,al
mov cx,f
mov al,cl
out 40h,al
mov al,ch
out 40h,al
sti
end;
end;
begin
pos:=65535; {'pos' je pozicija trenutnog bajta sempla koji se svira}
{65535 - ne sviraj; 0 - pocni sa pustanjem }
openfile('c:\music\ins\hamer.sam'); {ime sempla koji se zeli pustiti}
GetIntVec(8,@myproc); {duzina ne sme biti veca od 64KB}
setintvec(8,@play);
setfreq(20000); {frekvencija pustanja}
pos:=0; {pocni sa pustanjem }
repeat {ovde radis sta hoces}
until keypressed;
setfreq(0); {vraca staru brzinu interapta}
setintvec(8,@myproc); {vraca stari interapt }
end.
Ako ima pitanja, naravno, mail me.
__ Pozdrav from Vladimir __
... Jamming with Silver Xpress!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1020postmast,
From: Vladimir.Cheperkowitch@f127.n103.z38.setnet.setnet.co.yu (Vladimir Cheperkowitch)
Subject: Re: Zapisi I Tako Dalje
Date: Sun, 10 Sep 1995 00:57:05
VMZ>Imam C source za pustanje FLI-va i FLC-ova, ako vas zanima.
Iskreno govoreci, jako me zanimaju. Ipak, jako slabo poznajem
BBS vode, tako da bih te zamolio da mi objasnis kako da dodjem do njih.
Cheppy.
■ SLMR 2.1a ■ My reality check just bounced.
--- FMail/386 0.98
* Origin: SETNet ComTech BBS +381-11-474-373, Beograd (38:103/127)
pascal.1021postmast,
From: Vladimir.Cheperkowitch@f127.n103.z38.setnet.setnet.co.yu (Vladimir Cheperkowitch)
Subject: Zapisi I Tako Dalje
Date: Sun, 10 Sep 1995 00:57:07
AB>Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
PCX, GIF, FLI. Imam ja. Kazi mi samo kako da ti ih dostavim (ja neznam).
Ako te interesuje, imam i druge formate slika ( JPEG, IFF (LBM), TIFF ...)
Cheppy.
■ SLMR 2.1a ■ --T-A+G-L-I+N-E--+M-E-A+S-U-R+I-N-G+--G-A+U-G-E--
--- FMail/386 0.98
* Origin: SETNet ComTech BBS +381-11-474-373, Beograd (38:103/127)
pascal.1022postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: Re: PASCAL
Date: Sun, 03 Sep 1995 14:12:00
NE> A moze i ako imate WIN
NE> Udjes u neki od onih programa sto dolaze uz
NE> SB 16 PRO (ORIGINAL) i u jednom od njih
NE> PUSTIS MOD(ili MIDI koji si prethodno Mod>2>Midi)
NE> A u drugom pustis RECORDING :)
PRĆ Nece moci... SB snima sa ulaza, a ne sa izlaza. Jedino da spojis ulaz
PRĆ sa izlazom, a tada znas sta se dobija ;)
Sta se dobija ? :)
NE> Nista od ovoga nije isprobano :))
PRĆ A uz to i ne radi ;)
;)
cu 0GZy
* 0Gi'S eDiT0R * Horseman: "I've fallen and can't giddyup"
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.1023postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: Pascal Programing
Date: Tue, 05 Sep 1995 01:47:00
Zdravo,
Radim neki program u Pascalu i treba mi da startujem DOS komandu TYPE i da izlez datoteke redirektiram drugom fajlu ( type bla > bla1 ) E sada, ako example od GETEnv koji bi trebalo da startuje ove stvari stavim u poseban program onda sve je OK i na
redba se izvrsuje. Ali u zavisnost od sledece stvari, slucuje se:
Ako kao prvu linija stavim onu iz example-a t.e. {$M 8192,0,0} (tako mislim bese) onda mi jedna od rutine programa trazi vise memorije. (u moj program ne u program sa example-om)
A ako ne stavim nista za memoriju (znaci, sve je by default) onda posle izvrsavanje TYPE komande DOSERROR ima vrednost 8 ili nema dovoljno memorije. (ovo je opet u mojem programu)
Ovo je veoma cudno meni, pa molim da mi neko objasni i da resenje.
0GZy
* 0Gi'S eDiT0R * I saw the light! It hurt my eyes
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.1024postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: pascal
Date: Wed, 06 Sep 1995 10:26:00
"MĆ From: "Miroslav Minovic" <mminovic@sezam.UUCP> Newsgroups:
"MĆ yu.prog.pascal Organization: SEZAM Beograd, 011 648-422
"MĆ gledajte:
"MĆ Type
"MĆ str11 = array [1..250] of string[11];
"MĆ fir = record
"MĆ ime : String[50];
"MĆ datumi : str11;
"MĆ brdat : ShortInt;
"MĆ end;
"MĆ firm = array [1..20] of fir;
"MĆ .....................................
"MĆ neki kod...............
"MĆ .....................................
"MĆ INC(firma[i].brdat);firma[i].datumi(firma[i].brdat):=cdatum;end;
"MĆ ^error 91 : ":=" expected.
[ ] Obicne zagrade smeni sa ovima, mislim da bi to trebalo da ti resi problem.
0gzY
* 0Gi'S eDiT0R * Reincarnation is making a comeback!
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.1025postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Wed, 06 Sep 1995 00:28:00
"J> From: "Dorde Janjusevic" <djanjusevic@sezam.UUCP>
> Newsgroups: yu.prog.pascal
> Organization: SEZAM Beograd, 011 648-422
"J> Moze li mi neko nabrzaka pokazati neki jednostavniji nacin zastite programa od
> startovanja na drugim racunarima(znaci,hocu da moze da se startuje samo na
> jednom).
Mozzess da ccitass neke podatke iz particione tabele.
Problem je samo da ako preformatirass disk, onda gubiss
ovu tzv. zasstitu.
Chombe
___
■ SPEED 1.30 [NR] ■ Speed Read or die!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1026postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: Pascal Programing
Date: Sat, 09 Sep 1995 16:42:15
==== Ognen Spiroski rece: ======================================
OS> Radim neki program u Pascalu i treba mi da startujem DOS komandu TYPE
OS> i da izlez datoteke redirektiram drugom fajlu ( type bla > bla1 ) E
OS> sada, ako example od GETEnv koji bi trebalo da startuje ove stvari
A sto jednostavno ne napravis proceduru koja ce da prekopira sadrzaj
datoteke bla u datoteku bla1 i tako izbegnes izlazak u DOS?
... BR> There is no more industrial pollution! UN thank you!
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.1027postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: pascal
Date: Sat, 09 Sep 1995 11:32:24
VMZ> Evo, cim malo sredim code. Btw, to je Paskal code sa procedurama u
VMZ> ASM-u.
Pa sta fali, samo ga ti baci ovdi.
Shadow
... Trazeci sebe sretoh nju. Sad sam sa njom al' jos nisam nasao sebe...
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.1028postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: zapisi i tako dalje
Date: Sat, 09 Sep 1995 11:32:24
VMZ> Sors stize u sledecoj poruci, a sto se tice ostalih stvari, to su
VMZ> uglavnom arhive sa raznih BBS-ova. Ima nesto za 3D-grafiku, 32-bitno
VMZ> programiranje, TSR, ... Ti reci sta te zanima pa cu ja da potrazim.
Pa interesuje me grafika, low level programiranje, sistemsko
programiranje... Sve ono sto je interesantno.
Shadow
... If it works, you must have done something wrong.
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.1029postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: wait for key
Date: Sun, 10 Sep 1995 13:32:01
PS> Hmm. Meni se ovo bas i ne svidja.
PS> Sta mislis o:
PS> repeat until keypressed
Ako stavis gomilu 'repeat until keypressed' jedan iza drugog, i pritisnes
neki taster probices sve provere odjednom, jer se ne prazni bafer tastature.
Zato je potreban 'readkey'.
__ Pozdrav from Vladimir __
... "Koliko je trajao 100-godisnji rat?"
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1030postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: wait for key
Date: Sun, 10 Sep 1995 19:40:12
==== Vladimir M Zivkovic rece: ======================================
PS> Hmm. Meni se ovo bas i ne svidja.
PS> Sta mislis o:
PS> repeat until keypressed
VMZ> Ako stavis gomilu 'repeat until keypressed' jedan iza drugog, i
VMZ> pritisnes neki taster probices sve provere odjednom, jer se ne prazni
VMZ> bafer tastature. Zato je potreban 'readkey'.
To stoji. Zbog toga uvek koristim jedno key := readkey()
iza repeat until...
... BR> U zeni je svo dobro i zlo ovoga sveta.
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.1031postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Sat, 09 Sep 1995 19:12:00
"GA> Izvinjavam se na neodgovaranju zainteresovanima za grupu Delphi :)
> Grupa je puna, nema vise mesta. Ne prica se nista misteriozno sto nije za
> javnost, jednostavno se (bar za sada) malo produktivnije radi. Ako bas bude
> interesovanja (i sloze se ostali iz grupe), mogu da zipujem poruke i da ih
> prebacim ovde. OK?
Bilo bi veoma lepo kad bi UUENCODE-ovao te poruke.
10x
Chombe
___
■ SPEED 2.00 [NR] ■ Na hipodrom ima horse & grass & shit & speed!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1032postmast,
From: shadow@setnet.co.yu (Ivan Jocic)
Subject: Zapisi I Tako Dalje
Date: Sun, 10 Sep 1995 08:54:07
VC> PCX, GIF, FLI. Imam ja. Kazi mi samo kako da ti ih dostavim (ja
VC> neznam). Ako te interesuje, imam i druge formate slika ( JPEG, IFF
VC> (LBM), TIFF ...)
Pa sto ne kazes?! Ako ne moze ovde da se okaci, reci kako da dodjem do
tih stvari.
Shadow
... Kladim se da ce i sutra izaci sunce, a kakve sam srece bice pomracenje
* Origin: * SETNet * Sirius BBS * 018/711-667 * Nis * (38:101/101.5)
pascal.1033postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Thu, 14 Sep 1995 17:14:03
On 11 Sep 95 12:57pm, "Vladislav Erdelji" wrote to All:
"E> From: "Vladislav Erdelji" <evlad@sezam.UUCP>
"E> Newsgroups: yu.prog.pascal
"E> Organization: SEZAM Beograd, 011 648-422
<>> SVGA256.bgi imam ali drajver je vrlo lose uradjen. Mislio sam na
<>> original ne drajvere od Borlanda.
<>> Inace da li je neko uspeo da startuje misa u svga rezolucijama.
"E> Ako su drajveri V5.5 tada uz njih ide i mis, jedino na VLB CL5428 ima
"E> malo problema oko hardvreskog i softverskog kursora, ali moze da radi.
Gde se mogu naci V5.5 ?
__ Pozdrav from Vladimir __
... CAUTION! Silver Xpress roaring through here!
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1034postmast,
From: Dragan.Levic@f119.n111.z38.setnet.setnet.co.yu (Dragan Levic)
Subject: Re: pascal
Date: Sat, 09 Sep 1995 20:24:02
-=> Quoting "Nikola Radenkovic" to All <=-
"R> Tek sam poceo sam Paskalom (o idile) pa me zanima da li
"R> neko poseduje (ili moze da me uputi) na spisak onih varijabli
"R> (?) (boolean,...) itd. nema sanse da provalim sva znacenja ;(
To nisu varijable vec su tipovi.
Boolean - proverava da li promenljiva ima vrednost TRUE ili FALSE i u
zavisnosti od toga dalje radi. Opreracije poredjenja su:
<> - razlicito
< - manje
> - vece
<= - manje ili jednako
=> - vece ili jednako
not - negacija
and - konjukcija
or - disjunkcija
NOT je vaznije od AND, a AND vaznije od OR!
VAZI: false<true
Operacije poredjenja imaju nizi prioritet od matematickih operacija
Char - Znakovni tip. Vrednost znakovne promenljive ili konstante je znak
iz osnovnog skupa znakova, pri cemu se znakovna konstanta mora
navesti izmedju apostrofa
Real - realni brojevi (ogranicena vrednost)
Byte - celi brojevi od 0 do 255 (broj bajtova 1)
ShortInt - celi brojevi od -128 do 127 (broj bajtova 1)
Integer - celi brojevi od -32786 do 32767 (broj bajtova 2)
word - celi brojevi od 0 do 65535 (broj bajtova 2)
LongInt - celi brojevi od -2 147 483 648 do 2 147 483 647 (broj bajtova 4)
To bi otprilike bili osnovni tipovi.
Inace ti i sam mozes da napravis bilo kakav tip komandom TYPE.
==============================================================================
Npr. PROGRAM ...
TYPE samoglasnik=(A,E,I,O,U)
dani=(ponedeljak,utorak,sreda,cetvrtak,petak,subota,nedelja)
VAR slovo:samoglasnik;
dan:dani;
------------------------------------------------------------------------------
Isto ovo mozes i drugacije napraviti:
PROGRAM ...
VAR slovo:(A,E,I,O,U);
dan:(ponedeljak,utorak,sreda,cetvrtak,petak,subota,nedelja);
==============================================================================
... Ever stop to think and forget to start again?
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1035postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: pascal
Date: Tue, 12 Sep 1995 16:16:02
>> Potrebno je da 'zajasis' interapt 8. Keep sasvim solidno
>> obavlja svoj posao, mozda nisi dobro definisao stack i heap.
>> Ako hoces code za pustanje semplova na COVOX-u, reci pa da ti
>> saljem.
"M> Ajd posalji meni,zanima me posto sam skoro napravio COVOX,pa..:)
"M> da se malo igram :))
Evo, vec je poslat ovde :)
__ Pozdrav from Vladimir __
... "Sto se tice izolatora, oni nisu provodnici."
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1036postmast,
From: rile@setnet.co.yu (Petar Ristic)
Subject: Re: PASCAL
Date: Tue, 12 Sep 1995 16:46:01
>> Ognen Spiroski nekad rece, a ja ga sada citiram <<
OS> PRĆ Nece moci... SB snima sa ulaza, a ne sa izlaza. Jedino da spojis
OS> ulaz PRĆ sa izlazom, a tada znas sta se dobija ;)
OS> Sta se dobija ? :)
Sta? jel to onako ;)
Rile:)
... Ognen, Do you love TECHNO?
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1037postmast,
From: Ognen.Spiroski@f132.n108.z38.setnet.setnet.co.yu (Ognen Spiroski)
Subject: Pascal Programing
Date: Mon, 11 Sep 1995 09:15:00
Ć 135/135
Ć ==== Ognen Spiroski rece:
Ć ======================================
Ć OS> Radim neki program u Pascalu i treba mi da startujem DOS komandu TYPE
Ć OS> i da izlez datoteke redirektiram drugom fajlu ( type bla > bla1 ) E
Ć OS> sada, ako example od GETEnv koji bi trebalo da startuje ove stvari
Ć A sto jednostavno ne napravis proceduru koja ce da prekopira
Ć sadrzaj
Ć datoteke bla u datoteku bla1 i tako izbegnes izlazak u DOS?
Zaboravio sam da napomenem da treba da koristim piping za da sortiram izlez
u drugu datoteku :)
0GZy
... Read messages, not taglines.
* Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.1038pedjak,
> Kako procitati datoteku (radi kopiranja) koja je Read Only ?
> reset(uldat,1);
> i ovde javlja Runtime error 5 (sto znaci pokusaj
Turbo Pascal netipizirane datoteke otvara sa atributom koji se
nalazi u promenljivoj FileMode. S obzirom da je vrednost
promenljive FileMode po difoltu 2 (čitanje/pisanje), potrebno je da
pre otvaranje datoteke promeniš njenu vrednost na 0 (čitanje).
Ovako:
FileMode:=0;
Reset(uldat,1);
Ne zaboravi da vrednost promenljive FileMode posle vratiš na difolt
vrednost, zbog otvaranje nekih drugih datoteka, koje želiš da
menjaš.
pedja
pascal.1039evlad,
TO: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu
(Vladimir M. Zivkovic)
<> Gde se mogu naci V5.5 ?
Na SEZAM PRO-ba ...
pascal.1040superhik,
=:> Funkcija se zove Length :)
=:))))))))))))
Txanks man!
(E pola sata sam se smejao :)))) )
a ja vidim nešto smrdi... O:))))
pascal.1041mminovic,
Moze neki hint na neko programce koje je rezidentno,i
sakuplja u fajl sve sto se unese preko tastature?
Negde sam to video,ali ne mogu da se setim gde pa
ako neko zna...
Pozdrav,
Mindza.
pascal.1042kriss,
Opet jedno pitanje:
Da li neko sasvim slučajno (nostalgije radi ;) čuva prastari TP 3.01?
Ako da, neka mi se javi na mail, imam par želja. :)
pascal.1043superhik,
=:> From: Dragan.Levic@f119.n111.z38.setnet.setnet.co.yu (Dragan
=:> Levic)
=:> To bi otprilike bili osnovni tipovi.
Txanks!
pascal.1044postmast,
From: Knezovic.Bojan@f133.n103.z38.setnet.setnet.co.yu (Knezovic Bojan)
Subject: pascal
Date: Mon, 11 Sep 1995 02:05:02
KA> Mozzess da ccitass neke podatke iz particione tabele.
KA> Problem je samo da ako preformatirass disk, onda gubiss
KA> ovu tzv. zasstitu.
Ali ako preformatiras disk, moraces opet da instaliras program
nanovo. Eto prilike da se pokupe novi podaci. Ako mozes ostavi
neku proceduru za citanje iz particione tabele, OK?
pOZDRAV, bOJAN.
... You have the right to remain silent.... USE IT!
* Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.1045postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic)
Subject: Re: Zapisi I Tako Dalje
Date: Mon, 11 Sep 1995 18:37:00
VC> Iskreno govoreci, jako me zanimaju. Ipak, jako slabo poznajem
VC> BBS vode, tako da bih te zamolio da mi objasnis kako da dodjem do njih.
Nazoves Oswaldov BBS (022-425-879) od 23-07h i skines fajl FLIC.ZIP. Ako
imas problema, zoves Oswalda u chat i on ce ti srediti sve.
__ Pozdrav from Vladimir __
... Silver Xpress!...... Pioneering Off-line Mail Technology! <tm>
* Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.1046evlad,
<> Opet jedno pitanje:
Ima V3.00 + Turtle Graphics O:)
pascal.1047bcvetkovic,
Interesuje me moze li ovo PASCAL, a ako moze na koji nacin!
(ne pitajte zasto mi ovo treba, ali mi stvarno treba!)
PASCAL mi je svario e^88 (exp(88)), a meni je potrebno da svari e^430
(exp(430)).
Unapred zahvalan
Bosko.
pascal.1048.sima,
║║ PASCAL mi je svario e^88 (exp(88)), a meni je potrebno da svari
║║ e^430 (exp(430)).
Ako imaš Borland Pascal probaj ovaj program. Ako imaš kooprocesor
definiši variablu FPU sa {$define FPU}, ili u meniju options, compiler,
conditional...
{$ifdef FPU}
{$E-,N+}
{$else}
{$E+,N+}
{$endif}
var
broj: extended;
begin
broj:=exp(430);
writeln(broj);
broj:=exp(10000);
writeln(broj);
end.
pascal.1049dekik,
Jel ima neko source za citanje seriskog broja diska.
7D6e9j2a5n 3!
pascal.1050.sima,
║║ Jel ima neko source za citanje seriskog broja diska.
║║ Dejan !
Pa ja poslao opis interapta pre nedelju dana. Evo sada u pascalu.
ser.zippascal.1051vgenije,
Dali postoji mogucnost prikazivanja gifslie u Pascalu i zumaranja iste?
pascal.1052mpromet,
Zna li neko knigu u kojoj imskoro sve o
Turbo Pascal-u (6.0)
i ceni od prilike ű
pascal.1053.sima,
║║ Zna li neko knigu u kojoj imskoro sve o
║║ Turbo Pascal-u (6.0)
Pa originalno uputstvo nije loše :), onda postoji knjiga koja je
ustvari prevod jedne strane i zove se ja mislim "Turbo Pascal 6.0...".
Knjiga je vrlo dobra (za razliku od one što je napisao Duško Savić :) i
nije samo prevod originalnog uputstva već ima i korisnih primera. Što se
cene tiče, kada sam je kupio bila je oko 20-40DM. Mada originalna
knjiga, koju sam takođe imao u rukama, ima oko 1000 strana i pokriva baš
sve, naš prevod ima duplo manje, ako ne i više. Ako te baš interesuje
poslaću ti opširnije podatke.
Onda postoje i knjižice od Duška Savića (ne preporučujem mada ima
ponešto zanimljivo), a da ti reče da ima skoro sve, a ne skoro ništa ;))
zaboravi onda Duška.
pascal.1054ikapoz,
>
> AB>Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
>
> PCX, GIF, FLI. Imam ja. Kazi mi samo kako da ti ih dostavim (ja neznam).
> Ako te interesuje, imam i druge formate slika ( JPEG, IFF (LBM), TIFF ...)
>
> Cheppy.
Interesuju i mene ti formati zapisa, pa ako moze posalji ih na SEZAM.
Konkretno me interesuje PCX, GIF, FLI, JPEG, TIFF ...
pascal.1055dbosanac,
Kako u Delphi-u izvesti da se pritiskom na Enter u Edit boxu
uradi SetFocus na sledeći Edit box?
pascal.1056dbosanac,
Kako u Delphiu izvesti unos zapisa u bazu ovo ne radi:
Glavna forma
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
form4.showmodal;
if form4.showmodal = mrok then
begin
query1.close;
query1.open;
end;
end;
Forma za unos:
procedure TForm4.FormCreate(Sender: TObject);
begin
unesi.prepare;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
unesi.close ;
unesi.params[0].asstring:=edit1.text;
unesi.execsql;
bitbtn1.modalresult:=mrok;
end;
SQL unesi
insert
into baza(podatak)
values (:podatak)
pascal.1057kriss,
˙˙ Zna li neko knigu u kojoj imskoro sve o
˙˙ Turbo Pascal-u (6.0)
SEZAM, dir pascal, fajl TPR-BOOK.ZIP. Cena: dž.
pascal.1058schef,
#### Zna li neko knigu u kojoj imskoro sve o
#### Turbo Pascal-u (6.0)
Mikro knjiga je izdala knjigu "Turbo Paskal 6 -kompletan vodič"na 440 strana
od Stephena O'Briena. Uz knjigu se dobija disketa sa primerima
i cena je oko 50.00 din.
pascal.1059kriss,
˙˙ od Stephena O'Briena. Uz knjigu se dobija disketa sa primerima
Da li neko ima tu disketu?
pascal.1060superhik,
=:> Da li neko ima tu disketu?
Ja bi' trebao da je imam...
ako ti stvarno treba javi mi na mail pa ćemo nešto da iskombinujemo
pascal.1061postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: :))
Date: Thu, 21 Sep 1995 21:30:07
ZS> NEMESIS (nemesis@styx.herkules.co.yu) wrote:
ZS> : EJEdno pitanje ... kako napraviti program koji koristi
ZS> : onoliko memorije koliko je ima na mashini slobodno ...
ZS> : Jer ako napishem ...
ZS> : array [1..1000] of Pera; {pera= record duzine 100Byte}
ZS>
ZS> : I sta ako se desi da na systemu ima manje memorije s
ZS> : lobodno ... RUN TIME ERROR :((
ZS>
ZS> : Kako napraviti tako da koris ti samo raspolozivu ??????
ZS>
ZS> : Pisalo se pre o tome ....
Dinamickim alociranjem memorije preko pointera i vezanih lista. Sa
GETMEM i GETAVAIL se dobija slobodna memorija na heap-u i to je to.
Strider
... Ako kanis pobijediti, ne smijes izgubiti.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.1062postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: keep
Date: Thu, 21 Sep 1995 21:33:08
AB> Hi!
AB> Kao sto svi znate u TP6.0 ima procedura KEEP koja omogucava
AB> stvaranje TSR programa. Ali ... ima mana a to je da ne znam kako da
AB> uklonim taj program iz memorije? Kada postavljam interapte pri
AB> ukljucuvanju progra ma snimim stare i kada mi vise nije potreban
AB> vracam stare, ali program ostaje u memoriji. Kako to da rijesim?
Sredinom juna sam poslao listin kompletnog TSR-a za dump text ekrana.
Tamo ti je sve dato. Ali dobro, poslacu ti ga u drugoj poruci. Tamo
imas ceo mehanizam koji te zanima.
Strider
... Ako kanis pobijediti, ne smijes izgubiti.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.1063postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Sat, 16 Sep 1995 18:51:00
"SS> Zao mi je sto moram da ti kazem, ali nije :(
"SS> U slucaju da je pritisnuti specijalni taster nece lepo raditi.
> jer ako imas
> . . .
> readkey;
> . . .
> readkey; <-- ova linija ce biti preskocena, mislim nece stati
Mislim da sam vecc jednom napisao. Najbolje je da se ccekanje
tastera uradi sa sledeccom sekvencom.
begining:=ending; /** brisse baffer tastature ***/
repeat until keypressed;
a begininig i end su:
var begining: word absolute $40:$1a;
ending : word absolute $40:$1c;
A ko voli C mozze 'vako:
char far *beg=(char far *)0x0000041AL;
char far *end=(char far *)0x0000041CL;
*beg=*end;
Chombe
___
■ SPEED 2.00 [NR] ■ ***** RAVE-O-LUTION *****
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1064postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: delphi
Date: Sun, 24 Sep 1995 14:02:00
Radim povremeno sa Delphi-jem (Client/Server verzija), ali
dosad nisam naissao na moguccnost da Delphi pravi instalacioni
program. Possto znam da Visual Basic 3.0 mozze, smatram ovo
nedostatkom Delphi-ja. Ili mozzda se varam? Daj Bozze da se
varam. ;)
I joss jedno pitanje! Dali mozze Client/Server verzija Delphija
da radi na 386 dx40 sa 8MB RAM-a? Znacci ne samo da se pokrene
vecc i da se komotno radi. A dali mozze komotno da se radi
na 486 sa 4MB RAM?
10x
Chombe
___
■ SPEED 2.00 [NR] ■ Jive ass stipid ugly motherfu*ker...
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1065postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Sat, 16 Sep 1995 19:19:00
KB> Ali ako preformatiras disk, moraces opet da instaliras program
> nanovo. Eto prilike da se pokupe novi podaci. Ako mozes ostavi
> neku proceduru za citanje iz particione tabele, OK?
Da. Ali mozzda korisnik zameni hard disk, lepo iskopira program i
qrac. Ne radi. U svakom sluccaju evo ti program koji ccita
particionu tabelu. Nadam se da radiss sa TP6.0 or greater. ;)
var Buffer: array[1..512] of byte;
regs: registers;
....
regs.ah:=0; /** Pozivamo f-unkciju 0 **/
regs.al:=$80;/** koja resetuje disk. U al je broj diska.**/
/**Za floppy A je 0, za B 1, a za prvi HDD $80.
/**za drugi HDD $81 itd..
intr($13,regs); /** BIOS poziv **/
regs.ah:=2; /*read disk sector*/ /*ovde pogledaj DOBRO da bude
/* bass dvojka a ne trojka, jer ode
/* particiona tabela */
regs.ah:=1; /* broj sektora */
regs.ch:=0; /* track/cyl number */
regs.cl:=1; /* broj sektora */
regs.dh:=0; /*head number */
regs.dl:=$80; /*drive number, znacci C: ***/
regs.es:=seg(buffer); /* ES:BX pokazuje na baffer gde se smesstaju */
regs.bx:=ofs(buffer); /* podaci iz particione tabele, ukupno 512 bajta */
intr($13,regs);
Opis ovih BIOS funkcija mozzess da pogledass u HELPPC.
Nisu svih 512 "bajata" vazzni za zasstitu. Kako ja pri ruci nemam
organizaciju particone tabele, najbolje nadji i vidi koji bajtovi
ti trebaju. Mislim da su negde od 450 bajta pa nadalje.
Ukoliko nadjem nessto visse ovih dana, poslaccu poruku.
Chombe
___
■ SPEED 2.00 [NR] ■ * BLANK *
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1066postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Tue, 26 Sep 1995 00:59:00 CET
QWK To: Zeljko Jovanovic
(Tekst poruke: Zeljko Jovanovic, na temu Pascal)
> Na dnu TV ima dosta masinca, dakle prilicno brzo cak i na 386
> makinama.
ZJ> Cak? :)
ZJ> Recenica je verovatno trebala da glasi: 'zahteva 386 da bi bilo
ZJ> dovoljno
ZJ> brzo'. :))
Ama ljudi, gde vam je granica? Zar bas svaka masina zasnovana na
procesoru starijem od dve godine mora da bude otpisana? Kad vec govorite o
TurboViziji, dok sam se ja sa njom zamlacivao na XT-u sa MFM HD-om, sve je
islo neverovatno brzo. Cak jako, jako brze od mnogih drugih programa
pisanih "od nule". Pa zasto bi onda 386 masina bila "spora"? Ne treba
dizati donju granicu brzine uporedo sa gornjom, vec samo kada i ako je to
zaista potrebno.
Da li je neko video igru "StarGlider" na XT-u? Koliko ljudi smatra da bi
mogli da naprave istu stvar na svojim 486 masinama? Programeri su se
ulenjili, i sve su vise lenji sto su masine brze.
3OPAH
... Gospodo draga, kod je nestao bez traga
~~~ Blue Wave/Max v2.12 [NR]
#! rnews 1118
pascal.1067postmast,
From: milan.stojanovic@rstones.durlan.co.yu (Milan Stojanovic)
Subject: Pascal
Date: Sun, 24 Sep 1995 00:53:00 CET
QWK To: Ilija Poznic
> AB>Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
> PCX, GIF, FLI. Imam ja. Kazi mi samo kako da ti ih dostavim (ja neznam
> Ako te interesuje, imam i druge formate slika ( JPEG, IFF (LBM), TIFF
IP> Interesuju i mene ti formati zapisa, pa ako moze posalji ih na SEZAM.
IP> Konkretno me interesuje PCX, GIF, FLI, JPEG, TIFF ...
Koliko sam ja upucen, na Sezamu vec postoje opisi TIFF i GIF formata.
Za PCX nisam siguran, ali mislim da i njega ima. Pogledaj u r:\info
dir-u.
+------------------------------------------------------------------+
| Milan Stojanovic | piksi@rstones.durlan.co.yu |
| Rolling Stones BBS 018-325-314 | FidoNet: 2:382/105.5 |
+------------------------------------------------------------------+
I said mac is that what you really need (B.Dz.Stulic)
~~~ Blue Wave/Max v2.20 [NR]
pascal.1068postmast,
From: damir@osmeh.fon.bg.ac.yu (Damir Barjaktarevic)
Subject: Delphi
Date: Sun, 24 Sep 1995 18:17:26 GMT
Kako se u Delphi-ju pravi forma bez Captiona ili sa Tiny caption( kao u BC)?
Vozdra, Damir
--
damir@unitop.elfak.ni.ac.yu
pascal.1069postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: :))
Date: Thu, 21 Sep 1995 21:30:07
ZS> NEMESIS (nemesis@styx.herkules.co.yu) wrote:
ZS> : EJEdno pitanje ... kako napraviti program koji koristi
ZS> : onoliko memorije koliko je ima na mashini slobodno ...
ZS> : Jer ako napishem ...
ZS> : array [1..1000] of Pera; {pera= record duzine 100Byte}
ZS>
ZS> : I sta ako se desi da na systemu ima manje memorije s
ZS> : lobodno ... RUN TIME ERROR :((
ZS>
ZS> : Kako napraviti tako da koris ti samo raspolozivu ??????
ZS>
ZS> : Pisalo se pre o tome ....
Dinamickim alociranjem memorije preko pointera i vezanih lista. Sa
GETMEM i GETAVAIL se dobija slobodna memorija na heap-u i to je to.
Strider
... Ako kanis pobijediti, ne smijes izgubiti.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.1070postmast,
From: Srdjan.Stanisic@f104.n103.z38.setnet.setnet.co.yu (Srdjan Stanisic)
Subject: Re: keep
Date: Thu, 21 Sep 1995 21:33:08
AB> Hi!
AB> Kao sto svi znate u TP6.0 ima procedura KEEP koja omogucava
AB> stvaranje TSR programa. Ali ... ima mana a to je da ne znam kako da
AB> uklonim taj program iz memorije? Kada postavljam interapte pri
AB> ukljucuvanju progra ma snimim stare i kada mi vise nije potreban
AB> vracam stare, ali program ostaje u memoriji. Kako to da rijesim?
Sredinom juna sam poslao listin kompletnog TSR-a za dump text ekrana.
Tamo ti je sve dato. Ali dobro, poslacu ti ga u drugoj poruci. Tamo
imas ceo mehanizam koji te zanima.
Strider
... Ako kanis pobijediti, ne smijes izgubiti.
* Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.1071postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Sat, 16 Sep 1995 18:51:00
"SS> Zao mi je sto moram da ti kazem, ali nije :(
"SS> U slucaju da je pritisnuti specijalni taster nece lepo raditi.
> jer ako imas
> . . .
> readkey;
> . . .
> readkey; <-- ova linija ce biti preskocena, mislim nece stati
Mislim da sam vecc jednom napisao. Najbolje je da se ccekanje
tastera uradi sa sledeccom sekvencom.
begining:=ending; /** brisse baffer tastature ***/
repeat until keypressed;
a begininig i end su:
var begining: word absolute $40:$1a;
ending : word absolute $40:$1c;
A ko voli C mozze 'vako:
char far *beg=(char far *)0x0000041AL;
char far *end=(char far *)0x0000041CL;
*beg=*end;
Chombe
___
■ SPEED 2.00 [NR] ■ ***** RAVE-O-LUTION *****
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1072postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: delphi
Date: Sun, 24 Sep 1995 14:02:00
Radim povremeno sa Delphi-jem (Client/Server verzija), ali
dosad nisam naissao na moguccnost da Delphi pravi instalacioni
program. Possto znam da Visual Basic 3.0 mozze, smatram ovo
nedostatkom Delphi-ja. Ili mozzda se varam? Daj Bozze da se
varam. ;)
I joss jedno pitanje! Dali mozze Client/Server verzija Delphija
da radi na 386 dx40 sa 8MB RAM-a? Znacci ne samo da se pokrene
vecc i da se komotno radi. A dali mozze komotno da se radi
na 486 sa 4MB RAM?
10x
Chombe
___
■ SPEED 2.00 [NR] ■ Jive ass stipid ugly motherfu*ker...
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1073postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: pascal
Date: Sat, 16 Sep 1995 19:19:00
KB> Ali ako preformatiras disk, moraces opet da instaliras program
> nanovo. Eto prilike da se pokupe novi podaci. Ako mozes ostavi
> neku proceduru za citanje iz particione tabele, OK?
Da. Ali mozzda korisnik zameni hard disk, lepo iskopira program i
qrac. Ne radi. U svakom sluccaju evo ti program koji ccita
particionu tabelu. Nadam se da radiss sa TP6.0 or greater. ;)
var Buffer: array[1..512] of byte;
regs: registers;
....
regs.ah:=0; /** Pozivamo f-unkciju 0 **/
regs.al:=$80;/** koja resetuje disk. U al je broj diska.**/
/**Za floppy A je 0, za B 1, a za prvi HDD $80.
/**za drugi HDD $81 itd..
intr($13,regs); /** BIOS poziv **/
regs.ah:=2; /*read disk sector*/ /*ovde pogledaj DOBRO da bude
/* bass dvojka a ne trojka, jer ode
/* particiona tabela */
regs.ah:=1; /* broj sektora */
regs.ch:=0; /* track/cyl number */
regs.cl:=1; /* broj sektora */
regs.dh:=0; /*head number */
regs.dl:=$80; /*drive number, znacci C: ***/
regs.es:=seg(buffer); /* ES:BX pokazuje na baffer gde se smesstaju */
regs.bx:=ofs(buffer); /* podaci iz particione tabele, ukupno 512 bajta */
intr($13,regs);
Opis ovih BIOS funkcija mozzess da pogledass u HELPPC.
Nisu svih 512 "bajata" vazzni za zasstitu. Kako ja pri ruci nemam
organizaciju particone tabele, najbolje nadji i vidi koji bajtovi
ti trebaju. Mislim da su negde od 450 bajta pa nadalje.
Ukoliko nadjem nessto visse ovih dana, poslaccu poruku.
Chombe
___
■ SPEED 2.00 [NR] ■ * BLANK *
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1074postmast,
From: zoran.rilak@rstones.durlan.co.yu (Zoran Rilak)
Subject: Pascal
Date: Tue, 26 Sep 1995 00:59:00 CET
QWK To: Zeljko Jovanovic
(Tekst poruke: Zeljko Jovanovic, na temu Pascal)
> Na dnu TV ima dosta masinca, dakle prilicno brzo cak i na 386
> makinama.
ZJ> Cak? :)
ZJ> Recenica je verovatno trebala da glasi: 'zahteva 386 da bi bilo
ZJ> dovoljno
ZJ> brzo'. :))
Ama ljudi, gde vam je granica? Zar bas svaka masina zasnovana na
procesoru starijem od dve godine mora da bude otpisana? Kad vec govorite o
TurboViziji, dok sam se ja sa njom zamlacivao na XT-u sa MFM HD-om, sve je
islo neverovatno brzo. Cak jako, jako brze od mnogih drugih programa
pisanih "od nule". Pa zasto bi onda 386 masina bila "spora"? Ne treba
dizati donju granicu brzine uporedo sa gornjom, vec samo kada i ako je to
zaista potrebno.
Da li je neko video igru "StarGlider" na XT-u? Koliko ljudi smatra da bi
mogli da naprave istu stvar na svojim 486 masinama? Programeri su se
ulenjili, i sve su vise lenji sto su masine brze.
3OPAH
... Gospodo draga, kod je nestao bez traga
~~~ Blue Wave/Max v2.12 [NR]
#! rnews 1118
pascal.1075postmast,
From: milan.stojanovic@rstones.durlan.co.yu (Milan Stojanovic)
Subject: Pascal
Date: Sun, 24 Sep 1995 00:53:00 CET
QWK To: Ilija Poznic
> AB>Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
> PCX, GIF, FLI. Imam ja. Kazi mi samo kako da ti ih dostavim (ja neznam
> Ako te interesuje, imam i druge formate slika ( JPEG, IFF (LBM), TIFF
IP> Interesuju i mene ti formati zapisa, pa ako moze posalji ih na SEZAM.
IP> Konkretno me interesuje PCX, GIF, FLI, JPEG, TIFF ...
Koliko sam ja upucen, na Sezamu vec postoje opisi TIFF i GIF formata.
Za PCX nisam siguran, ali mislim da i njega ima. Pogledaj u r:\info
dir-u.
+------------------------------------------------------------------+
| Milan Stojanovic | piksi@rstones.durlan.co.yu |
| Rolling Stones BBS 018-325-314 | FidoNet: 2:382/105.5 |
+------------------------------------------------------------------+
I said mac is that what you really need (B.Dz.Stulic)
~~~ Blue Wave/Max v2.20 [NR]
pascal.1076postmast,
From: damir@osmeh.fon.bg.ac.yu (Damir Barjaktarevic)
Subject: Delphi
Date: Sun, 24 Sep 1995 18:17:26 GMT
Kako se u Delphi-ju pravi forma bez Captiona ili sa Tiny caption( kao u BC)?
Vozdra, Damir
--
damir@unitop.elfak.ni.ac.yu
pascal.1077postmast,
From: broker@setnet.co.yu (Predrag Supurovic)
Subject: pascal
Date: Wed, 20 Sep 1995 12:17:43
"M> From: "Pavle Milosevic" <paki@sezam.UUCP>
> Proba sam da sa i:=Lenght(s)
"M> Funkcija se zove Length :)
E da, ovo je bila prilicna zackoljica u nekoj od starijih verzija TP-a,
jer je u samom help-u ime funkcije bilo pogresno otkucano. :)
... Be carefull. Death is PERMANENT!
-+- OLMS 2.5 UNREG
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.1078postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: pascal
Date: Tue, 12 Sep 1995 18:16:19
-+=+- "Ferenc Sili" rece : -+=+-
"S> From: "Ferenc Sili" <kile@sezam.UUCP>
"S> Newsgroups: yu.prog.pascal
"S> Organization: SEZAM Beograd, 011 648-422
"S> Ali serijski broj harda moze i da se promeni :(.
"S> Gresim li?
Ne gresis. Int21h, AX=6901, ako me pamcenje dobro sluzi.
Ako nekome trebaju, preciznije informacije, nek me mail-ne i dobice ih
:).
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... Tata, tata, kupi mi TAG!
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.1079postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: keep
Date: Wed, 20 Sep 1995 23:24:48
*** QUOTE : Asmir Badnjevic ***
AB> ne znam kako da uklonim taj program iz memorije?
Poruka sa sourcem je prosla kroz ovu konf. jedno 200 puta, ali ako iz nekog
razloga nisi video/procitao bacicu je opet ....
AB> ! Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
Posto to verovatno ne zanima sve korisnike bacicu ti u mail na ssavi,ok?
Pozdrav BadaBoom
... Mislim a budale mlate lovu
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.1080postmast,
From: Mihajlo.Savic@f135.n135.z38.setnet.setnet.co.yu (Mihajlo Savic)
Subject: Re: zapisi i tako dalje
Date: Wed, 20 Sep 1995 23:24:48
*** QUOTE : Mladen Adamovic ***
MA> -+=+- Asmir Badnjevic rece : -+=+-
AB> Dalje, ima li neko opis PCX, GIF, MOD, FLI zapisa? Potrebni su mi.
MA>
MA> PCX imas na sezamu, u cini mi se s:\infoprog\
PCX cini mi se imam i ja pa ako ti treba mogu da ga okacim na bbs ...
MA> Opis GIF formata, imas u cini mi se, programu za rad s fraktalima
Imam opis GIF89a (prosireni standard) sa sourcem (cini mi se) ...
MA> MOD zapis imas u Racunarima brojevi veci od 100,
MOD zapis je jednostavan, jedino semplovi prave probleme :(
MA> Ja bih u "listu" da dodam AVI i MPEG.
^^^^ I tata bi sine :))))))
MPEG? Pa covjece niko od nas nema sanse da napravi player za MPEG koji
bi radio iole pristojnom brzinom O;>>>
... Slicnost izmedju slona i paradajza je sto su oba crvena sem slona.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.1081postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic)
Subject: Re: zapisi i tako dalje
Date: Fri, 22 Sep 1995 23:06:56
-+=+- Mihajlo Savic rece : -+=+-
MA> Ja bih u "listu" da dodam AVI i MPEG.
MS> ^^^^ I tata bi sine :))))))
MS> MPEG? Pa covjece niko od nas nema sanse da napravi player za MPEG
MS> koji bi radio iole pristojnom brzinom O;>>>
Ko je rekao da ja zelim da pravim player za MPEG? Mene samo "informativno"
interesuje zapis. Posebno me interesuje AVI, posto je sigurno, pred
njim buducnost. Ako neko slucajno ima Windows 95 Develompers Kit (to
je onaj drugi cd), mogao bi da nesto izvadi iz stavke "ANI".
Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu).
... ARRRRRGGGHHH!!!! ... Tension breaker, had to be done.
* Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.1082postmast,
From: KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu (KLIMENT ANDREEV)
Subject: Delphi
Date: Wed, 27 Sep 1995 06:07:00
Kako se u Delphi-ju pravi forma bez Captiona ili sa Tiny caption( kao u BC)?
DB> Vozdra, Damir
Mozzda nisam dobro razumeo pitanje, ali formu bez kepss'na mozzess
da uradiss direktno iz Object Inspectora. U properties za Form
Border Style stavi bsNone. Mozzess i bsDialog itd...
Chombe
P.S Mislim da je bio BorderStyle, ako ne onda stavka ispod.
___
■ SPEED 2.00 [NR] ■ Na hipodrom ima horse & grass & shit & speed!
* Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.1083postmast,
From: damir@osmeh.fon.bg.ac.yu (Damir Barjaktarevic)
Subject: Re: Delphi
Date: Fri, 29 Sep 1995 14:53:17 GMT
KLIMENT ANDREEV (KLIMENT.ANDREEV@f108.n108.z38.setnet.setnet.co.yu) wrote:
> Mozzda nisam dobro razumeo pitanje, ali formu bez kepss'na mozzess
> da uradiss direktno iz Object Inspectora. U properties za Form
> Border Style stavi bsNone. Mozzess i bsDialog itd...
> Chombe
> P.S Mislim da je bio BorderStyle, ako ne onda stavka ispod.
Ok, to sam prokuzio kasnije. Problem je bio u tome sto Delphi ne skloni
odmah Caption u toku dizajniranja vec tek kad startujes program pa nisam
odmah primjetio. Sto se tice Tiny captiona to je onaj mali caption sto se
obicno koristi za Floating toolbar ili kod Corela za Roll-Up. Kolko mi se
cini to ce morati da se uradi "rucno", tj. napraviti novu komponentu.
Vozdra, Damir
--
damir@unitop.elfak.ni.ac.yu
pascal.1084postmast,
From: SETN@f101.n101.z38.setnet.setnet.co.yu (SETN)
Subject: Statistics
Date: Thu, 28 Sep 1995 07:58:00
Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic
=======================================================================
Conference NET.PASCAL maintained on 31.08.95. for 28 days backward.
QRATIO Mail Statistics V1.9 by Act Of Impulse.
----------------------------------------------
Total messages found in this area : 425
Number of messages covered in report: 174
Processed period from: 31-8-1995 to 27-9-1995
------------------------------------------------------------------------------
Blacklist-Top 5 of the Quoters.
Nr Total Quoted Quote
Name Address Msg Lines Lines: Ratio:
---- ------- --- ----- ------ ------
1. Srdjan Stanisic.......... 38:103/104 2 27 18 66.67%
2. "Dejan Vesic"............ 38:103/120 1 10 6 60.00%
3. "Ilija Poznic"........... 38:103/120 1 12 7 58.33%
4. "Vojislav Stojkovic"..... 38:103/120 1 12 7 58.33%
5. Petar Ristic............. 38:111/119 3 33 18 54.55%
------------------------------------------------------------------------------
Top 5 of the writers.
Total Average Quote
Name Msgs: Pct. Byte/Msg Ratio:
---- ----- ----- -------- ------
1. "Srdan Simic" 23 13.2% 546 11.40%
2. Vladimir M Zivkovic 13 7.5% 603 28.33%
3. "Milos Visnjic" 10 5.7% 684 16.76%
4. "Miroslav Minovic" 9 5.2% 576 17.29%
5. "Nikola Radenkovic" 7 4.0% 307 14.75%
------------------------------------------------------------------------------
Top 5 of the receivers.
Total
Name Msgs: Pct.
---- ----- -----
1. All 123 70.7%
2. Vladimir M Zivkovic 7 4.0%
3. Mladen Adamovic 5 2.9%
4. "Miroslav Minovic" 4 2.3%
5. Asmir Badnjevic 4 2.3%
------------------------------------------------------------------------------
Top 5 of the subjects.
Subject Nr.
------- ---
1. PASCAL...................................................... 133
2. zapisi i tako dalje......................................... 20
3. keep........................................................ 3
4. wait for key................................................ 3
5. Pascal Programing........................................... 3
------------------------------------------------------------------------------
Average posting frequency per week:
Day Msgs Pct. Graph
Sunday 27 15.5% *******************************************
Monday 21 12.1% *********************************
Tuesday 14 8.0% **********************
Wednesday 22 12.6% ***********************************
Thursday 33 19.0% ****************************************************
Friday 26 14.9% *****************************************
Saturday 31 17.8% *************************************************
------------------------------------------------------------------------------
Average posting frequency per day:
Interval Msgs Pct. Graph
-------- ---- ----- -----
0:00- 1:59 10 5.7% ********************
2:00- 3:59 7 4.0% **************
4:00- 5:59 6 3.4% ************
6:00- 7:59 6 3.4% ************
8:00- 9:59 8 4.6% ****************
10:00-11:59 21 12.1% *******************************************
12:00-13:59 16 9.2% ********************************
14:00-15:59 23 13.2% ***********************************************
16:00-17:59 16 9.2% ********************************
18:00-19:59 13 7.5% **************************
20:00-21:59 25 14.4% ***************************************************
22:00-23:59 23 13.2% ***********************************************
------------------------------------------------------------------------------
* Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.1085postmast,
From: dragisha@hobbiton.CO.YU (Dragisa N. Duric)
Subject: FormsVBT versus Delphi
Date: Fri, 29 Sep 1995 21:08:56 GMT
[ Article crossposted from comp.lang.modula3 ]
[ Author was Michel Dagenais (dagenais@gutrune.vlsi.polymtl.ca) ]
[ Posted on 28 Sep 95 08:55:59 ]
Here are some thoughts after comparing Delphi and FormsVBT for a project.
Hope it may be of interest to some.
FormsVBT offers a large number of components and care is required to
have all the components shapes interact properly. This may turn off
potential users accustomed to direct manipulation graphical user
interface builders such as the Borland Delphi environment.
I have seen sophisticated user interfaces realized with Delphi
which seemed difficult to reproduce using FormsVBT. It is
surprising what can be achieved with well designed nested horizontal
and vertical boxes. Although most of the programs provided with the
DEC SRC distribution use relatively simple interfaces, very
sophisticated interfaces have been implemented with FormsVBT in a few days.
When converting one of these interfaces from Delphi to FormsVBT,
most items were straightforward while a few required more care.
Whenever FormsVBT does not provide the required component or
appearance, three techniques may be used.
- The underlying VBT may be accessed with FormsVBT.GetVBT and
may allow changing some of its attributes, for example the color
of scrollbars.
- The component initialization may be overridden by providing a
new realize method for FormsVBT.T, as illustrated in the FormsVBT
reference manual. For example, HTile and VTile may be initialized
with different colors for separating bars.
- New components may be added to Trestle and/or VBTkit and incorporated
into FormsVBT. For example, in approximately 2 days i added Help Bubbles
to FormsVBT. Apparently this is something to which personnal computer users
are accustomed. When the mouse stays for some time over a region with
help available, a small help window pops up.
Not only can FormsVBT achieve the same result as Delphi, it also provides
a number of interesting features. It is portable across Windows NT/95
and most Unix platforms, it adapts to available colors over a wide
range of hardware capabilities, scales to different resolutions and
allows a lot of flexibility for the user to reshape the window containing
the user interface. Furthermore, it is the program instantiating the user
interface and not the interface taking control of the program as in Delphi.
--
Prof. Michel Dagenais http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng. dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal tel: (514) 340-4029