pascal.832emajsijuen,
-> #831, vector Mozda bi bilo bolje da trazis tu moju poruku pod brojem 8.818 ;)))))
Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam
proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;)
pascal.833emajsijuen,
-> #831, vectorSad tek videh...Ti si rekao da je broj te moje poruke 818, koji i jeste
broj moje poruke.Ti izgleda ne umes da koristis komandu read. ;)
Ti si sigurno pisao: read 8 818... ;)
Za tvoju informaciju: bolje kucaj read 8.818 ! :)
pascal.834vector,
-> #832, emajsijuen
Ja se izvinjavam zbog ovoga ;). Dao sam korisniku 'emajsijuen' ignore, tako
da nijednu njegovu poruku iz konferencije nisam ni primetio ...
■ Mozda bi bilo bolje da trazis tu moju poruku pod brojem 8.818 ;)))))
■
■ Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam
■ proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;)
Mozda i radi, ali to nije ono sto je 'tojagic' hteo, zar ne ? Od stringa
'usernamee' ces dobiti 'username ' (gde je zadnji karakter (bajt) jednak $00)
umesto 'username'.
■ Sad tek videh...Ti si rekao da je broj te moje poruke 818, koji i jeste
■ broj moje poruke.Ti izgleda ne umes da koristis komandu read. ;)
■ Ti si sigurno pisao: read 8 818... ;)
■ Za tvoju informaciju: bolje kucaj read 8.818 ! :)
Ovakve poruke bez smisla i pune gramatickih gresaka i 'nepravilnosti' nisu
za konferenciju ...
pascal.835firus,
-> #826, firus Fi> For I := 1 To Length(Nst) + 3 Do Write (Ord(Nst[I]), ' ');
Izvinjavam se svima.
Kasnije sam izbacio ovo + 3, pa je rezultat bio
117 115 101 114 110 97 109 101 0
Sa ovim naravno ima još tri nule.
Empire (ex. micotakis)
pascal.836firus,
-> #829, acafaca Ac> Hajde molim te pošalji taj program za sortiranje ili ako imaš neki
Ac> drugi. Treba mi neki program za sortiranje minimalno 100 000 elemenata.
Ac> Da sortira stringove dužine otprilike 40 byte-a.
Čoveče, ali ti tražiš sveže stvari. Ovu poruku sam poslao dok sam
bio na micotakisu, znači pre septembra. Gde li je iskopa? :))
Evo ti primer iz knjige uz poruku.
Empire (ex. micotakis)
prog58.paspascal.837firus,
-> #830, acafaca Ac> borland pascal 7.0 za win?
E baš taj. Ali obavezno uzmi instalaciju na 13 disketa. Sve ispod
toga nije cela instalacija.
Turbo pascal 7.0 ti je to isto, samo što je skraćen na 7 ili
možda beše 9 disketa. Nemaš podršku za pisanje protected i win
programa.
Ac> Izvini! Da l' znaš gde ina da se kupi.
Pazi ovako Micro knjiga je izdalvala prevode za ona ranija izdanja.
Kad je keva jednog mog ortaka tražila 6.0 za njega rekli su joj da
je to rasprodato i da da sačeka malo, jer se sprema izdanje za 7.0.
Pogledaj kod njih.
Empire (ex. micotakis)
pascal.838firus,
-> #832, emajsijuen Em> Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam
Em> proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;)
Ja sam isprobao i uverio se da "radi". Onda pročitah šta reče čovek
i setih se da pascal nije c. Onda sedoh i napisah primer. Pogledaj
ga malo pa ćeš da vidiš kako to "radi".
Empire (ex. micotakis)
pascal.839tojagic,
-> #831, vectorA da mu nisi dao ignore ?! ;)
pascal.840vector,
-> #839, tojagic
■ A da mu nisi dao ignore ?! ;)
Jesam, ali kako smo nesto trebali da se dogovorimo u chat-u, morao sam da
maknem 'ignore' ... ostatak price svako zna ... ;))
pascal.841zdravkod,
Imam LongInt (4 byte-a). Kako da iscitam vrednost prvog,
drugug, treceg i cetvrtog byte-a posebno.
Unapred zahvalan!
pascal.842stameni,
-> #841, zdravkod Nije u duhu Pascala, al' radi posao:
program Longint2Byte;
var
l: longint;
p, d, t, c: byte;
procedure konvertuj(zadat: longint; var prvi, drugi, treci,
cetvrti: byte);
var
s, o: word;
begin
s := seg(zadat);
o := ofs(zadat);
cetvrti := mem[s:o];
treci := mem[s:(o + 1)];
drugi := mem[s:(o + 2)];
prvi := mem[s:(o + 3)]
end;
begin
write('Unesite longint: ');
readln(l);
konvertuj(l, p, d, t, c);
writeln(p, ' ',d, ' ', t, ' ', c)
end.
pascal.843bokir,
-> #841, zdravkod> Imam LongInt (4 byte-a). Kako da iscitam vrednost prvog,
> drugug, treceg i cetvrtog byte-a posebno.
Može ovako:
type
Long2Byte = record
case Integer of
1 : (l : longint);
2 : (b1, b2, b3, b4 : byte);
end
end;
var
l : Long2Byte;
begin
l.l := 12345678;
WriteLn(l.b1, ' ', l.b2, ' ', l.b3, ' ', l.b4);
end.
pascal.844jjerry,
Da li neko zna kako mogu da napravim unit vezan za misha tj.
prepoznavanje da li je ukljucen,prepoznavanje mishijih
koordinata,pritisaka na dugmeta,kursora itd.
Samo nemojte da kazete Drivers unit i GetMouseEvent i sl. :)))
pascal.845profa,
-> #844, jjerry>> Da li neko zna kako mogu da napravim unit vezan za misha tj.
>> prepoznavanje da li je ukljucen,prepoznavanje mishijih
>> koordinata,pritisaka na dugmeta,kursora itd.
Direktorijum dos\prog\pascal, imaš nekoliko unita...
pascal.846dekik,
-> #844, jjerry
D?>> Da li neko zna kako mogu da napravim unit vezan za misha tj.
D?>> prepoznavanje da li je ukljucen,prepoznavanje mishijih koordinata,
D?>> pritisaka na dugmeta,kursora itd. Samo nemojte da kazete Drivers unit
D?>> i GetMouseEvent i sl.:)))
Ne znam napamet al mislim da to imash u svakoj knjizi za pascal ;)
pascal.847jjerry,
-> #846, dekikE ().|< je shto se tiche unita nego mi sad treba neshto drugo.
Naime,treba mi funkcija za prikaz bitmapiranog kursora.
u AX treba da stoji 0009h, u BX i CX od -16 do 16 (shto odredjuje
duzinu sirinu kursora al' ne znam kako da stavim neku slicicu za
kursor.
Ima neshto 01h,02h Screen mask i tako to ,al' nisam uspeo.
Ako imash ideju,ili bilo ko,kako se ovo radi javi se ! :)))
Pozdrav ;)))))
pascal.848jjerry,
Imam jedan mali VELIKI problem. Evo o cemu se radi :
Mozda neko zna da je interapt za misa 33.Kad hoce da se namesti
graficki kursor, u AX se stavi 0009h.
E sad : pisa da u BX treba da se stavi neka Hot point za kolonu
a u CX za RED.Takodje pise da u ES:DX treba da stoji mask bitmap
koji se sastoji od word-ova od 01h do 10h (ili tako nesto).
Ako neko zna kako da se overriduje ovo ogranicenje od 16 x 16 tacaka
za kursor , tj. da na mestu kursora bude neki BMP ili ICO ili CUR
itd. Svejedno, Pascal ili asembler !
Pozdrav i vecno Hvala onome ko mi dobaci ovo !!!!!!!
pascal.849bokir,
-> #848, jjerry> Mozda neko zna da je interapt za misa 33.Kad hoce da se namesti
> graficki kursor, u AX se stavi 0009h.
> E sad : pisa da u BX treba da se stavi neka Hot point za kolonu
> a u CX za RED.Takodje pise da u ES:DX treba da stoji mask bitmap
> koji se sastoji od word-ova od 01h do 10h (ili tako nesto).
> Ako neko zna kako da se overriduje ovo ogranicenje od 16 x 16 tacaka
> za kursor , tj. da na mestu kursora bude neki BMP ili ICO ili CUR
> itd. Svejedno, Pascal ili asembler !
Ako hoćeš da koristiš proizvoljnu bitmapu kao kursor, onda
moraš da upotrebiš funkciju 0Ch koja definiše tvoju proceduru
koju će drajver sam pozivati kad miš uradi nešto.
Možeš sam da definišeš za koje akcije miša će tvoja
procedura da bude pozivana: pomeranje, pritisak na levi taster,
na desni taster,...
Ovde definišeš da se poziva za pomeranje miša, i onda u toj
proceduri iscrtavaš bitmapu na mišjim koordinatama.
Sors je uz poruku, uglavnom Pascal, mada se provlači i nešto
nezaobilaznog assemblera ;)
grafmous.zippascal.850jjerry,
-> #849, bokirHvala bokiru za fajl , a zasta mi treba ? Mozda neces verovati ali
pravim P&C avanturu. Vecinu unita za podrsku misa sam napravio, sad
mi je jos ovo trebalo i neki unit za prikaz slika pa da se bacim na
3D Studio koji mi je ,inace, uza specijalnost. :)))))
Jos jednom ti veliko hvala i Pozdrav !!!!! :))))
pascal.851vector,
Nije specijalno za Pascal ali ipak saljem ovde. ;)
PC Games Programmers Encyclopedia
PS. Ovo je za direktorijum.
pcgpe.arjpascal.852space.ace,
-> #850, jjerry>> mi je jos ovo trebalo i neki unit za prikaz slika pa da se bacim na
Imaš nekoliko unita koji se bave prikazom slika u konferenciji, ali
pošto praviš P&C avanturicu, preporuka ti je moja da praviš slike
u nekom sopstvenom formatu, da ti neko ne bi menjao te slike, ili bar,
ako ih već praviš u nekom poznatom formatu, kriptuješ. Ovo sve nije
iz nekih strogo sigurnosnih razloga, već zato što tvoja avanturica ne
bi izgledala baš lepo ako neko uzme i izmeni sve slike :)
pascal.853jjerry,
-> #852, space.aceTo znam i ja i imao sam u vidu jedan idiotski trik koji je u isto
vreme i vrlo funkcionalan ,a kad si vec pomenuo neki moj format
voleo bih da znam kako to mogu da izvedem sa slikom izrendanom u 3D
Studio koju ja,povrh svega,moram i da otvorim.
Nemam nista protiv,ako imas neki kod u Pascalu ili makar Asembleru,
dobaci ga,oberucke cu prihvatiti. :))))
Pozdrav !!!!
:)))
pascal.854vector,
-> #852, space.ace
│ ako ih vec pravis u nekom poznatom formatu, kriptujes. Ovo sve nije
│ iz nekih strogo sigurnosnih razloga, vec zato sto tvoja avanturica ne
│ bi izgledala bas lepo ako neko uzme i izmeni sve slike :)
└──────────────────
Pa zar to upravo nisu ti "sigurnosni razlozi" ? ;)
pascal.855strider,
kako napraviti program rezidentan u memoriji?
pascal.856firus,
-> #855, strider St> kako napraviti program rezidentan u memoriji?
Stephn O'Brien - Turbo Pascal 6 (kompletan vodič) strana 275.
Neko drugi će to mnogo bolje da ti objasni, ali evo ti ono osnovno.
Najlakši deo posla je postaviti program da bude rezidentan. To radiš
sa keep. Ovo staviš na kraj programa. Pre toga odrediš način na koji
će program da se reaktivira. Moraš da vodiš računa da jedan interupt
ne prekine drugi. To ti je ono najosnovnije.
Nešto detaljnije, neko drugi.
Empire (ex. micotakis)
pascal.858nenad,
Uz poruku je:
FreeType project, a very efficient and fast, though portable,
TrueType font rendering engine *freely available*. The reader's
good knowledge of the TrueType Font specification is not
required, though being a undeniable "plus".
freetype.zippascal.859zdravkod,
Kako da ucitam neki GIF, BMP ili bilo koji drugi format iz
pascala... Dakle, potrebno mi je da nakon INITGRAPH navedem neku
komandu, ili par njih i da mi pascal pokaze sliku na ekranu...
Ako moze detaljnije objasnjenje...
Unapred zahvalan...
pascal.860ognjen,
Hi!
Pravim jedan program (mali, exe, 10k) koji treba da poziva neke
BATCH fajlove koji pozivaju ogroman EXE preogram (dvidrv) za preged
TEX dokumenata.
Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar.
Stavio sam na pocetak programa {$M 16384, 0, 65536} (stack mi treba
zbog procedura, a heap zbog povezane liste), jer bez toga prijavljuje
'Out of memory' gresku, ali sa tim mi se resetuje racunar.
Pre i posle procedure stavio sam SwapVectors; ali ne pomaze.
Dakle, kako da pozovem batch fajl iz pascal programa, i posle da
se vratim tamo gde sam stao?
pascal.861vasic,
-> #860, ognjen> Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar.
Davno sam radio sa TP-om, ali sve mi se čini da bat-ove ne možeš da
exec-uješ direktno. Probaj da sa GetEnv('COMSPEC') nađeš komandni
procesor a onda pozoveš Exec(command_4dos_ili_šta_već, '/c xx.bat');
pascal.862qpele,
-> #859, zdravkod Zd> Kako da ucitam neki GIF, BMP ili bilo koji drugi format iz
Zd> pascala... Dakle, potrebno mi je da nakon INITGRAPH navedem neku
Zd> komandu, ili par njih i da mi pascal pokaze sliku na ekranu...
E, pa to ti nece ici bas tako lako. Mislim da u nekom direktorijumu na Sezamu
imas objasnjenje GIF formata, pa ga ti potrazi.
pascal.863qpele,
-> #860, ognjen Og> Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar.
Og> Stavio sam na pocetak programa {$M 16384, 0, 65536} (stack mi treba
Og> zbog procedura, a heap zbog povezane liste), jer bez toga prijavljuje
Og> 'Out of memory' gresku, ali sa tim mi se resetuje racunar.
Problem sa Turbo pascalom je u tome sto koristi samo konvencionalnu memoriju
tj. 640K Rama. Ako je tvoj program poveci i ako iz njega zoves drugi veliki
program normalno je da ce vrisnuti racunar. Probaj heap i stack smanjiti sto
vise mozes.Ako i to ne ide ti lepo nabavi Borland Pascal 7.0 (pazi, ne Turbo
Pascal 7.0 ) koji moze da kompajlira i u protected modu pa ce ti problemi
biti reseni.
Og> Pre i posle procedure stavio sam SwapVectors; ali ne pomaze.
SwapVectors obavezno da stavljas kad kog koristis EXEC.
pascal.864firus,
-> #862, qpele Qp> E, pa to ti nece ici bas tako lako. Mislim da u nekom direktorijumu
Qp> na Sezamu imas objasnjenje GIF formata, pa ga ti potrazi.
Opis gif formata se nalazi ovde uz poruku 769.
X
pascal.865firus,
-> #863, qpele Qp> Borland Pascal 7.0 (pazi, ne Turbo Pascal 7.0 ) koji moze da
TP 7.0 je isečena verzija BP-a.
U helpu za TP lepo piše Borland pascal.
Qp> SwapVectors obavezno da stavljas kad kog koristis EXEC.
Jel? A može li i objašnjenje zašto OBAVEZNO?
Ja sam radio i bez toga pa nisam video neke probleme.
X
pascal.866space.ace,
-> #865, firus>> Jel? A može li i objašnjenje zašto OBAVEZNO?
Zato što se može desiti da program koji startuješ sa exec izmeni
tabelu vektora, što se neće baš svideti tvom programu (još ako si
i ti u svom programu menjao tabelu, eto belaja).
>> Ja sam radio i bez toga pa nisam video neke probleme.
Pa nije se ništa dogodilo jer programi ne menjaju tabelu. Ipak,
iz predostrožnosti stavljaj swapvectors...
pascal.867xlab,
Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove?
pascal.868emajsijuen,
-> #867, xlabEM> Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove?
Prvo na pocetak pas fajla stavis Unit BlaBla.Onda stavis interface, pa
nabrojis procedure i funkcije koje ce taj buduci unit da sadrzi.Kada si to
sve ispisao, onda napises implementation, pa napises te procedure i funkcije.
Kada to zavrsis onda stavis jedan End. i zavrsio si...
Posto ovo sigurno nisi shvatio, evo ti primer:
UNIT Screen;
Uses crt;
INTERFACE
Procedure cls(bpoz,btxt: Byte);
Procedure txt(ch:char;puta:Integer);
IMPLEMENTATION
Procedure cls;
begin
textcolor(btxt);textcolor(bpoz);
clrscr;
end;
Procedure txt;
var
i: Integer;
begin
for i:=1 to puta do write(ch);
end;
end.
Ufff, nadam se da si shvatio... :)
pascal.869vasic,
-> #866, space.aceSubj: SwapVectors pre i posle Exec-a
>>> Jel? A može li i objašnjenje zašto OBAVEZNO?
>
> Zato što se može desiti da program koji startuješ sa exec izmeni
> tabelu vektora, što se neće baš svideti tvom programu (još ako si
> i ti u svom programu menjao tabelu, eto belaja).
Može se desiti, ali pristojni programi to ne rade... sem rezidentnih.
A ako Exec-uješ program koji ostane rezidentan, situacija postaje
nezdrava kako god okreneš.
pascal.870vector,
-> #868, emajsijuen
│ UNIT Screen;
│ Uses crt;
│ INTERFACE
└─────────
Ovo ne moze da radi. "Uses" mora da stoji _iza_ "interface" direktive, a
ne ispred. Evo jednog primera unita :
unit Video;
interface
procedure Boja( background, foreground: byte );
procedure WriteTo( x, y, attr: byte; tekst: string );
procedure FillIt( boja: byte; karakter: char );
procedure OpenWindow( x1, y1, x2, y2: byte; title: string );
implementation
uses dos, crt;
procedure Boja( background, foreground: byte );
begin
TextAttr := background * 16 + foreground;
end;
procedure WriteTo( x, y, attr: byte; tekst: string );
var counter: byte;
begin
for counter := 1 to ord(tekst[0]) do
begin
memw[$b800:(y-1)*160+(x-1)*2]:=ord(tekst[counter])+(attr shl 8);
inc(x);
end;
end;
procedure FillIt( boja: byte; karakter: char );
var counter1: byte;
counter2: byte;
begin
for counter1 := 1 to 25 do
for counter2 := 1 to 80 do
WriteTo( counter2, counter1, boja, karakter );
end;
procedure OpenWindow( x1, y1, x2, y2: byte; title: string );
begin
end;
begin
end.
pascal.871emajsijuen,
-> #870, vector>> Ovo ne moze da radi. "Uses" mora da stoji _iza_ "interface" direktive, a
>> ne ispred. Evo jednog primera unita :
Jesi li pozurio da me ispravis ? :)
I najveci majstori ponekad mogu da pogrese... :(
pascal.872vector,
-> #871, emajsijuen
│ Jesi li pozurio da me ispravis ? :)
└─────────
Jesam. ;)
pascal.873sfilip,
E, 'vako, kačim s porukom jednu proceduru (i test program s njome), procedura
bi trebala da poziva ARJ i ubacuje u neku arhivu navedeni fajl, što i radi,
prvi put, a kod drugog-trećeg puta zablokira. Sve je vrlo jednostavno
napisano, u exec trpam arj i parametre, svapujem vektore pre i posle, mada je
bezpotrebno jer arj (valjda) ništa ne dira, nema manjka memorije, pa ipak - ne
radi!
Počeo sam da sumnjam na kompajler ili arj verziju, ali nidočega pametnog nisam
stigao, što se doduše nije ni očekivalo.
imal' neko ovde ko je voljan pomoći mi?
usearj.paspascal.874dekik,
Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa
ctrl-break ?
Unapred Hvala.
pascal.875profa,
-> #874, dekik>> Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa
>> ctrl-break ?
CheckBreak:=false;
(Moraš da staviš uses Crt na početku, jer se CheckBreak nalazi u Crt unitu)
pascal.876space.ace,
-> #867, xlab>> Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove?
Na početku fajla, umesto stavke "program", stavi "unit" i kompajliraj.
Kasnije, kad ih budeš koristio u svojim programima, u uses stavku
dodaj ime te tvoje biblioteke (unita) i piči.
pascal.877vector,
-> #874, dekik
│ Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa
│ ctrl-break ?
└─────────
SetCBreak(False);
CheckBreak:=False;
ili postavljanjem sopstvenog interapt hendlera na $1B, $23 interapte.
pascal.878pvlada,
Da li bi neko hteo da mi kaže kako da iz paskala štampam neki
tekst?
pascal.879emajsijuen,
-> #877, vector>?>?> Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa
>?>?> ctrl-break ?
Ve>> SetCBreak(False);
Komanda SetCBrak(False) ce onemoguciti obustavu programa sa CTRL-C, koliko
ja znam...ili sam se jos jednom zeznuo ?
pascal.880profa,
-> #879, emajsijuen>> Komanda SetCBrak(False) ce onemoguciti obustavu programa sa CTRL-C,
>> koliko ja znam...ili sam se jos jednom zeznuo ?
Pa dobro bre, za sta sluzi help u Pascalu? ;)
Remarks:
SetCBreak sets the state of Ctrl+Break
checking in DOS. When off (False), DOS only
checks for Ctrl+Break during I/O to console,
printer, or com-muni-cation devices. When on
(True), checks are made at every system call.
pascal.881profa,
-> #878, pvlada>> Da li bi neko hteo da mi kaže kako da iz paskala štampam neki
>> tekst?
uses Printer;
...
WriteLn(Lst,BlaBlaBla);
...
Dakle, Lst predstavlja printer.
pascal.882pvlada,
-> #881, profaPV>Dakle, Lst predstavlja printer.
Hvala :)
pascal.883vector,
-> #868, emajsijuen
│ Procedure cls(bpoz,btxt: Byte);
│ ...
│ Procedure cls;
│ begin
│ textcolor(btxt);textcolor(bpoz);
│ clrscr;
│ end;
└─────────
Obratiti paznju na ovu proceduru. 2x je stavljeno TextColor ! :))
PS. "Najveci majstori" su opet pogresili. ;)
pascal.884zokipo,
PITANJE:
Ako znate nacin za detektovanje postojanja i nivoa
signala na linijskom ulazu SoundBlaster-a 16 podelite
ga sa jadnim i nesretnim programerom kome zivot zavisi
od posedovanja takve informacije.
Bilo koji source je dobro dosao (ali se preferira BP 7.0
mada nije imperativ :> )...
Svi koji poseduju informacije te i takve vrste please:
MA WR => Zokipo. Biti cu vam zahvalan do groba, a ako
postoji zivot posle smrti, i dalje .... ;>
pascal.885sfilip,
dobro bre, može li mi iko ovde pomoći po pitanju onog arj startovanja ili ne?
pascal.886qpele,
-> #885, sfilip
Problem kod tvog programa je jedino u tome sto za ime
fajla mora cela putanja tj. c:\dir\imefajla.exe
Sve ostalo je OK.
pascal.887zokipo,
Ljudi dobre volje pomagajte ...
Evo o cemu se radi :
Ja i ortak radimo na radiju, i razvijamo maleno programce koje
treba da kontrolise linijski ulaz na SB-u ( na taj ulaz dolazi signal sa
satelita ), tj. po unapred zadatom vremenskom obrascu ( tipa od xx do xx
minuta ) on spusta nivo linijskog ulaza na zadatu vrednost, izvrsava
WPLAY ( tj. ubacuje .WAV fajl koji je zapravo identifikacioni dzingl )
odsvira ga i vrati linijski nivo na pocetnu vrednost. ( i za divno cudo
to sve RADI ... ;> )
Sada smo dosli na ( kako ce se ispostaviti ) suludu ideju da detektujemo
prisustvo signala na linijskom ulazu ( po srpski - da li nam satelit uopste
svira ili se ucut'o ), pa ako signala nema da program automatski startuje
CD-ROM i pusti u program CD koji bi jel'te za datu namenu u isti bio i
ostavljen.
Ako vam je poznat nacin da se malom nesretnom programu objasni kako da
uradi ovo sto nama treba, bilo bi to strava ( citaj MA WR ZOKIPO, uz
eventualno MA ATT xxxxxx ). Moze sorce, moze ideja moze bilo sta, jerbo
nas dva nista pametno nismo smislili ...
Toliko, bye ... :>>>>
pascal.888sfilip,
-> #886, qpele>Problem kod tvog programa je jedino u tome sto za ime
>fajla mora cela putanja tj. c:\dir\imefajla.exe
>Sve ostalo je OK.
aman zaman, nije to, ima puno ime fajla, čoveče!
zlo, zlo! eto šta je!
imal' neko drugi ideje?
pascal.889pvlada,
Kada hoću da štampam iz programa, a štampač nije spreman(npr.
isključen) on prekida program sa Greškom 160: Device Write Fault.
Kako da prvo proverim da li je štampač spreman ili nešto slično
da nebi prekidao program ?
pascal.890qpele,
-> #888, sfilip
Kod mene radi OK, samo je trebalo da unesem celu putanju do arj.exe i cele
putanje do fajlova.
pascal.891firus,
-> #887, zokipo Zo> Ljudi dobre volje pomagajte ...
Taj sam. :)
Zo> Sada smo dosli na ( kako ce se ispostaviti ) suludu ideju da
Zo> detektujemo prisustvo signala na linijskom ulazu ( po srpski - da li
Zo> nam satelit uopste svira ili se ucut'o ), pa ako signala nema da
Zo> program automatski startuje CD-ROM i pusti u program CD koji bi jel'te
Zo> za datu namenu u isti bio i ostavljen.
Skini PCGPE, ne znam ko ga je i gde ostavio.
Ako ti to ne pomogne, pogledaj ovo:
ftp site: ftp.uwp.edu
directory: /pub/msdos/demos/programming/game-dev/source
filename: soundx.zip
Za prvu pomoć ti evo ovo:
function GetMixerReg(base : word; index : byte) : byte;
begin
Port[base + 4] := index;
GetMixerReg := Port[base + 5];
end;
Ovo treba da ti vrati trenutno stanje sa ulaza. E sad, ako se u
GetMixerReg duže vremena pojavljuje ista vrednost... Valjda ti
je jasno. Nešto ne valja. I ti onda kažeš, evo ga CD i gotovo.
Inače za base stavi 220h, 230 ili 240h, šta ja znam gde ti je SB.
Jel ti dosta za početak?
X
pascal.892tomak,
-> #888, sfilip> aman zaman, nije to, ima puno ime fajla, čoveče!
> zlo, zlo! eto šta je!
> imal' neko drugi ideje?
Ako još uvek treba ... izbacio sam 'SwapVectors;', pre i posle ARJ-a i
proradio je.
pascal.893sfilip,
-> #892, tomak>> zlo, zlo! eto šta je!
>> imal' neko drugi ideje?
>
> Ako još uvek treba ... izbacio sam 'SwapVectors;', pre i posle ARJ-a i
> proradio je.
e, fala, i tebi qpeletu, al' više ne treba...
probao sam i ja izbaciti swapvectors, ali džaba... na kraju sam skino' sa
sezama onaj lha arhiver, koj je malih dimenzija pa mi i više odgovara, i on
radi savršeno :)
možda je bio problem u verziji arj-a, ali nemam živaca to da proveravam :)
pascal.894dzakic,
-> #889, pvlada> Kada hoću da štampam iz programa, a štampač nije spreman(npr.
> isključen) on prekida program sa Greškom 160: Device Write Fault.
> Kako da prvo proverim da li je štampač spreman ili nešto slično
> da nebi prekidao program ?
{$i-}
write(lst,...);
if ioresult<>0 then { Greška };
pascal.895firus,
-> #894, dzakic Dz> {$i-}
Dz> write(lst,...);
Dz> if ioresult<>0 then { Greška };
Zakiću da nisi zaboravio nešto? :))
to sfilip:
Četvrti red, odnosno ono što ide ispod ovoga je {$I+}.
Ne nasedaj na onaj primer iz help-a. Neko nije vodio računa kad ga je
pisao. Onaj primer iz helpa generiše i grešku. Čovek je suviše rano
ubacio {$I+}. To ide posle.
X
pascal.896pvlada,
-> #894, dzakic>š$i-ć
>write(lst,...);
>if ioresult<>0 then š Greška ć;
Hvala:)
pascal.897pvlada,
-> #895, firus>to sfilip:
>
>Četvrti red, odnosno ono što ide ispod ovoga je š$I+ć.
Čini mi se da si malo pogrešio trebalo je da ide to pvlada: :)
Ipak Hvala :)
pascal.898vitez.koja,
-> #888, sfilip#=> imal' neko drugi ideje?
Nemaš dovoljno memorije...
sk
pascal.899gmatic,
Kako da pokrenem neki program iz paskal programa(au al ga slozi)?
Primer:hocu da pokrenem arj.exe iz programa!!!
pascal.900zeljkoj,
-> #899, gmatic> Primer:hocu da pokrenem arj.exe iz programa!!!
Rešenje je procedura Exec. Nije mi trenutno TP pri ruci, pogledaj help
za tačnu sintaksu.
pascal.901firus,
-> #897, pvlada Pv> Čini mi se da si malo pogrešio trebalo je da ide to pvlada: :)
Izvinjavam se. Znam da je i on nešto kukao, pa sam pomešao. :)
X
pascal.902firus,
-> #899, gmatic Gm> Kako da pokrenem neki program iz paskal programa(au al ga slozi)?
Veoma lako.
Gm> Primer:hocu da pokrenem arj.exe iz programa!!!
Hoću i ja plavušu pa nikom ništa. Fora je u tome što ti imaš više
sreće od mene.
Dakle ovako:
--- CUT HERE ---
{$M $4000,0,0 } { 16K stack, no heap }
Uses Crt, Dos;
Var
Paker, Unpaker, Direktorijum, Arhiva : String;
Procedure Otpakuj;
Begin
Unpaker = 'arj.exe'; {dodeli ime pakeru, ista sintaksa je i za RAR}
Unpaker := FSearch(Unpaker, GetEnv('PATH')); {nađi paker bilo gde u path-u}
Exec (FExpand(Unpaker), ' x -r ' + Arhiva+ ' ' + Direktorijum);
{otpakuj fajl Arhiva u direktorijum Direktorijum}
End; { Procedure Otpakuj }
Procedure Zapakuj;
Begin
Paker = 'arj.exe' {dodeli ime pakeru, lako se prepravi da radi za RAR}
Paker := FSearch(Paker, GetEnv('PATH')); {nađi paker bilo gde u path-u}
Exec (FExpand(Paker), ' a -e '+ Arhiva+ ' ' + Direktorijum);
{zapakuj sve fajlove iz direktorijuma Direktorijum u arhivu Arhiva}
End; { Procedure Zapakuj }
--- CUT HERE ---
Ispod dodaš ostale procedure i naravno program.
Nadam se da negde nisam nešto zaboravio da prepravim. Ovo su inače
osakaćene procedure iz mog programa.
X
pascal.903gmatic,
-> #900, zeljkoj==> Resenje je procedura Exec. Nije mi trenutno TP pri ruci,
==> pogledaj help za tacnu sintaksu.
Nece khaze mi da mu manjka memorije(errorcode #8).Probao sam!!!!!!
Neznam stha je ovo!!!!
Probao sam i neke sitnije stvari kao neki glupi bat koji nesto nasvrjla
al i onda pise #8(pa i kad izkompajliram).
pascal.904gmatic,
A kako se otvara fajl i upisuje u njega i uzimaju podatci
iz njega...(obican tekst fajl).
Hocu da napravim program koji pravi katalog po diru i opakuje
samo odabrano(znate ono imam 1000 fontova a koristim samo
50 pa da se nebi stalno zezao kad se nesto desi lepo on mi
samo otpakuje tih pedeset koje imam u nekom fajlu).
Naime nesto tako sam vec napravio u basic-u ali mi se bas
nesvidja izgled(nema menija i ostalog vec samo suvi tekst).
E da da li neko ima qbasic(ili quickbasic)kompajler?
pascal.905gmatic,
-> #902, firus==> Nadam se da negde nisam nesto zaboravio da prepravim. Ovo su
==> inace osakacene procedure iz mog programa.
Pa jesi tu i tamo neke dvotacke i slicno al snasao sam se.
Hvala mnooooogo.
pascal.907zokipo,
-> #891, firus==> Ako ti to ne pomogne, pogledaj ovo:
==> ftp site: ftp.uwp.edu
==> directory: /pub/msdos/demos/programming/game-dev/source
==> filename: soundx.zip
Za pocetak, tacna adresa je:
ftp.uwp.edu/pub/games/game-dev/source/soundx.zip
i nije nam pomoglo, ali smo nsli nesto sto bi moglo da nam pomogne. Hvala
t na pravoj informaciji.
==> function GetMixerReg(base : word; index : byte) : byte;
==> begin
==> Port[base + 4] := index;
==> GetMixerReg := Port[base + 5];
==> end;
Bili bismo ti veoma zahvalni ako bi mogao da nam malko pojasnis na
sta ti cilja 'index', samo to jos kad bi znali, gde bi nam bio kraj.
Salu na stranu, mnogo si nam pomogao sa ftp-om. HVALA !!!
Tol'ko od mene za sad. Ako mislis da mozes da nam saopstis ista korisno,
molim te da to bude na mail:
zoran.v@beotel.yu
jerbo mi pretplata na Sezam uskoro istice, a nesto mi se ne da da je
obnavljam ;>.
Bye ... ;>>>>
pascal.908qpele,
-> #903, gmatic Gm> Nece khaze mi da mu manjka memorije(errorcode #8).Probao sam!!!!!!
Gm> Neznam stha je ovo!!!!
Stvar je u tome sto pri kompajliranju pascal rezervise ceo Ram za program.
Da bi to sprecio, stavis {$M,stacksize,minheap,maxheap} (mislim da je tako
,ali ipak pogledaj help) i tako ogranicis heap koji koristi tvoj program i
i ostavis memorije za druge programe.
pascal.909qpele,
-> #904, gmatic Gm> A kako se otvara fajl i upisuje u njega i uzimaju podatci
Gm> iz njega...(obican tekst fajl).
Ovako:
Assign(f,"datoteka.dat")- povezuje datotecnu promenjljivu sa konkretnom
datotekom na disku.Neophodno pre bilo kog rada
sa datotekama.
Reset(f)-postavlja datotecni pokazivac na pocetak datoteke( na prvi clan).
Uglavnom ide posle assign.
Rewrite(f)-Brise sve podatke iz datoteke.
Read(f,x)- cita podatak iz datoteke i svesta ga u promenjljivu x
Write(f,x)-upisuje x u datoteku
Eof(f)-=true ako je datotesni pokazivac na kraju datoteke.
pascal.910dekik,
-> #904, gmatic
D->> A kako se otvara fajl i upisuje u njega i uzimaju podatci iz njega...
D->> (obican tekst fajl).
'vako
var F : Text
Assign(F,'fajl.txt'); {otvara fajl.txt}
Append(F); {ide posle assign i postavlja kursor na kraj datoteke za
upis podataka}
Reset(F); {ide OBAVEZNO posle assign ako ochesh da chitash iz datoteke}
Rewrite(F); {ide posle assign ako ochesh da obrishesh datoteku i spremish
za upis}
Readln(F,S); {chita S iz fajla F, ide posle Reset}
Writeln(F,S); {upisuje S u fajl F, ide posle Append}
Eof(F); {vracha true ili false u zavisnosti da li je kraj datoteke}
Eol(F); {vracha true ili false u zavisnosti da li je kraj linije}
Close(F); {zatvara fajl F}
Ako ima problema samo reci.
pascal.911sfilip,
-> #898, vitez.koja>#=> imal' neko drugi ideje?
>
> Nemaš dovoljno memorije...
ex, kako li se toga ja pre nisam setio...
prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu
memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem, majke
mi ;)
dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije hteo...
nisam probao druge verzije arj-a, a nema ni potrebe...
ali ipak, zašto?
pascal.912firus,
-> #905, gmatic Gm> Pa jesi tu i tamo neke dvotacke i slicno al snasao sam se.
Vidim da sam zaboravio dva puta da dodam po dvotačku. :(
Fora je u tome što moj program ime pakera čita iz ini fajla, a ono
je izvađeno iz if then strukture:
if paker = 'arj.exe' then
begin
...
end;
Ja to isekao i nisam obratio pažnju da imam dodelu vrednosti.
Gm> Hvala mnooooogo.
Lepo sam ja rekao da imaš više sreće od mene. :)
Neko će da ti preporuči da pre i pose toga dodaš po Swapvectors.
Za Arj ti to ne treba, ali što reče neko dobro je da stvaraš
naviku.
X
pascal.913firus,
-> #908, qpele Qp> (mislim da je tako ,ali ipak pogledaj help) i tako ogranicis heap koji
Qp> koristi tvoj program i i ostavis memorije za druge programe.
Ograničiš blago meni heap na 0 i završiš posao.
E sad, ako zatreba lako ćeš da ga povećaš.
X
pascal.914nenad,
-> #911, sfilip> prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu
> memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem,
> majke mi ;)
Pre svakog startovanja čega? Tvog programa ili ARJ-a? Jesi probao
da umesto ARJ-a pozoveš MEM ili nešto slično?
pascal.915emajsijuen,
-> #910, dekikDe>> Rewrite(F); {ide posle assign ako ochesh da obrishesh datoteku i spremish
De>> za upis}
Rewrite, u stvari samo otvara novu datoteku. A ako datoteka vec postoji
rewrite je prebrise i otvori za upis.
De>> Writeln(F,S); {upisuje S u fajl F, ide posle Append}
~~~~~~~~~~~~~~~~
Moze i posle rewrite... :) BTW, moze i write(F,S);
De>> Eof(F); {vracha true ili false u zavisnosti da li je kraj datoteke}
Radi samo ako je datoteka otvorena za citanje, u drugom slucaju vraca
runtime error 104 (File not open for input) ;)
pascal.916dekik,
-> #915, emajsijuen
D->> Rewrite,u stvari samo otvara novu datoteku.A ako datoteka vec postoji
D->> rewrite je prebrise i otvori za upis.
E pa sad...mislim da je bilo dovoljno "sazhvakano".
D->> Moze i posle rewrite...:)BTW,moze i write(F,S);
Mislim da se chovek razume u write i writeln naredbu.
D->> Radi samo ako je datoteka otvorena za citanje,u drugom slucaju vraca
Logichno.
pascal.917sfilip,
-> #914, nenad>> prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu
>> memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem,
>> majke mi ;)
>
>Pre svakog startovanja čega? Tvog programa ili ARJ-a? Jesi probao
>da umesto ARJ-a pozoveš MEM ili nešto slično?
pre startovanja arj-a.
probao sam da umesti, ili pre arj-a pozovem Mem, koj je svaki put pokazivao
isto, potpuno identično.
dakle, u programu tri puta startujem arj, dva puta je ok, a treći zaglavi.
Svaki put pre toga mem pokaže isto. Još ideja? :)
pascal.918supers,
-> #911, sfilip>> dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije
>> hteo... nisam probao druge verzije arj-a, a nema ni potrebe...
>> ali ipak, zašto?
ARJ je stvarno zli arhiver kada je reč o konvencionalnoj memoriji.
Sećam se kakvu sam frku imao dok sam vozio XT-a pa je trebalo da
u 640K uklopim DOS, nekoliko TSR-ova, OLX čitač i još dearhiver
za QWK pakete. Pucalo je kod pozivanja ARJ-a dok nisam i ja otkrio
sjajni LHA :)
pascal.919firus,
-> #911, sfilip Sf> dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije
Sf> hteo... nisam probao druge verzije arj-a, a nema ni potrebe...
Sf> ali ipak, zašto?
Jeli majstore.
Jel si ti pročitao ono što sam poslao gmatic-u? Lepo sam napisao kako
se radi sa Arj-om. Ako nisi, pogledaj šta sam napisao.
I onda pogledaj prvu liniju. Koliki ti je swap i koliki ti je heap?
Kako si postavio argumete za otpakivanje i zapakivanje?
Ko ti tačno javlja grešku Arj ili program? Koja je TAČNO greška u
pitanju DOSLOVCE.
I gde je taj sorce, ja sam ga omašio. :(
X
pascal.920tomak,
-> #913, firus> Ograničiš blago meni heap na 0 i završiš posao.
> E sad, ako zatreba lako ćeš da ga povećaš.
A ako hoćeš da napraviš program u "protected mod-u" u BP7 jel može da se
napravi a da ne koristi dpmi16bi.ovl i rtm.exe.
pascal.921qpele,
-> #917, sfilip Sf> dakle, u programu tri puta startujem arj, dva puta je ok, a treci
Sf> zaglavi. Svaki put pre toga mem pokaze isto. Jos ideja? :)
Jesi li na poscetku stavio nesto tipa {$M 2000,0,0} ?
pascal.922qpele,
-> #920, tomak
To> A ako hoces da napravis program u "protected mod-u" u BP7 jel moze
To> da se napravi a da ne koristi dpmi16bi.ovl i rtm.exe.
JOK!
pascal.923drejk,
slusajte, ono... ja kao pravim neki programcic i sad posto sam pocetnik ne znam
kako da rezultat programa bachim u fajl... dakle ono... ono sto program uradi
da se napravi poseban fajl na HD-u i da se tu usnimi...
pozdrav
pascal.924dekik,
-> #923, drejk
D->> slusajte,ono...ja kao pravim neki programcic i sad posto sam pocetnik
D->> ne znam kako da rezultat programa bachim u fajl...dakle ono...ono sto
D->> program uradi da se napravi poseban fajl na HD-u i da se tu usnimi...
var F : Text;
Begin
Assign(f,'fajl.dat');
Append(f);
Writeln(f,podatak);
Close(f);
end.
pascal.925goxi,
Hi.
Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za pocetak, ako bi
neko mogao da mi posalje Pascal za DOS (ako nije veliki), UNAPRED HVALA!
pascal.926gmatic,
-> #925, goxi==> Hi.
==> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za
==> pocetak, ako bi neko mogao da mi posalje Pascal za DOS (ako
==> nije veliki), UNAPRED HVALA!
Velik je (bar 7.0 koji ja imam staje na 10-tak disketa kolko znam)
pascal.927dekik,
-> #925, goxi
D->> Ja neznam nista u vezi pascal-a ali bih voleo da naucim,za pocetak,
D->> ako bi neko mogao da mi posalje Pascal za DOS (ako nije veliki),
D->> UNAPRED HVALA!
Ako nije VELIKI ?!!? E pa jeste ;)
pascal.928tomak,
-> #925, goxi> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za pocetak, ako
> bi neko mogao da mi posalje Pascal za DOS (ako nije veliki), UNAPRED
> HVALA!
Ima kažu prava 7-ica na 13 disketa i to slati ... a ima i Turbo Pascal 7.0
na 2 diskete. Ni jedna ni druga verzija ne može da se šalje u konferenciju
ali ova druga na mail ... ustvari, ne bi trebalo da može ni tako ali ...
pascal.929supers,
-> #925, goxi>> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za
>> pocetak, ako bi neko mogao da mi posalje Pascal za DOS (ako nije
>> veliki), UNAPRED HVALA!
A da ti posetiš svog zvaničnog dilera softvera?
pascal.930goxi,
OK, onda nista :(( posto nemam u blizini ni jednog diler-a koji se bavi
software-om, ustvari imam jednog ali mu je snimanje na diskete 2din, pa nisam
lud da mu dam toliko.
pascal.931firus,
-> #928, tomak To> Ima kažu prava 7-ica na 13 disketa i to slati ... a ima i Turbo
To> Pascal 7.0 na 2 diskete.
Ajde da pojasnim stvari.
Borland pascal 7.0 ide na 13 disketa. Možeš da praviš programe u
protected modu, kao i windows programe.
Turbo pascal 7.0 je osakaćena verzija Borland pascala koja može
da pravi samo obične programe za DOS.
Postoji i neka piratska verzija na 11 disketa, ne znam tačno
šta joj fali, ali verovatno podrška za windows programe.
X
pascal.933firus,
-> #930, goxi Go> OK, onda nista :(( posto nemam u blizini ni jednog diler-a koji se
Go> bavi software-om, ustvari imam jednog ali mu je snimanje na diskete
Go> 2din, pa nisam lud da mu dam toliko.
4 dinara ne možeš da odovojiš za Pascal? Pa kako bi paltio original?
X
pascal.934sfilip,
-> #919, firus>Jel si ti pročitao ono što sam poslao gmatic-u? Lepo sam napisao kako
>se radi sa Arj-om. Ako nisi, pogledaj šta sam napisao.
pogledah, nekada davno... ali koristi nikakve. Do toga svega sam sam došao, a
stek od 16kb mi je neophodan.
pazi, sve mi je ok, nema problema sa komandim linijama i ostalime, on mi
jednom startuje arj, kada ga startuje drugi put onda zablokira. Dakle, niko ne
prijavljuje grešku no samo BLOKIRA.
pre startovanja prvi i drugi put imam isto memorije, proverio preko mem-a.
lharc radi ok, al je tragično spor. Štos je u tome da ovaj zli arj nešto brlja
negde, pa to ne obriše, već ga to zaje*e kad ga startujem drugi put. Šta, gde
i kako to izbeći?
el tebi radi onaj tvoj sors? koju verziju arj-a imaš? idem sad skinuti
najnoviju sa sezama, pa ću da proverim. Staviću i iste $m parametre.
>I gde je taj sorce, ja sam ga omašio. :(
ai.... ne znam, tu negde...
..con re 8 100497- sfilip ;)