pascal.617mmitrovic,
-> #608, saricl:::::!!! 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,
-> #610, evlad::::: 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,
-> #611, postmast::::: 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,
-> #613, sbrk> 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,
-> #614, dulejko::::: 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,
-> #615, jkpbvk::::: 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,
-> #615, jkpbvk
*> 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,
-> #622, mmitrovic*> 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,
-> #621, mmitrovic> ::::: 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,
-> #622, mmitrovic+| 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,
-> #618, mmitrovic<> ::::: 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,
-> #621, mmitrovic> 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,
-> #629, postmast*> -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,
-> #630, postmast<> 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,
-> #617, mmitrovic!!! 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,
-> #611, postmast!!! 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,
-> #624, nlazic::::: 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,
-> #625, zeljkoj::::: 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.,
-> #637, adzem>> 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,
-> #640, postmast*> 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,
-> #643, postmast*> 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,
-> #658, oki.> 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,
-> #635, saricl::::: 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,
-> #627, evlad::::: {$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,
-> #628, jasicp::::: 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,
-> #630, postmast::::: 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,
-> #666, mmitrovic::::: 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,
-> #629, postmast#=> -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,
-> #664, mmitrovic<> 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,
-> #669, evlad> 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,
-> #663, mmitrovic!!! 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,
-> #670, dvesic<> 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,
-> #691, kdrazan(;> 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.,
-> #685, postmast>> 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,
-> #688, postmast> 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,
-> #688, postmast> 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,
-> #695, bcvetkovic<> 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,
-> #705, evladVlada, 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,
-> #706, bcvetkovic<> 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,
-> #706, bcvetkovic> 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,
-> #712, pedjakPredraze, 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,
-> #672, evlad::::: 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,
-> #675, postmast::::: 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,
-> #677, postmast::::: 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.