PCPROG.4

22 Apr 1994 - 05 Jan 1995

Topics

  1. algoritmi (153)
  2. comment (15)
  3. ms.dos (123)
  4. windows (304)
  5. asembler (103)
  6. basic (80)
  7. jezici (196)
  8. pascal (880)
  9. cccc (586)
  10. cpp (157)
  11. clipper (1267)
  12. baze.podataka (525)
  13. razno (529)

Messages - pascal

pascal.737 vitez.koja, -> #732, postmast
#=> <broker@setnet.co.yu (Predrag Supurovic)> #=>> Moze li se nekako upisati neki znak u donji desni ugao #=>> ekrana a da isti ne 'odskroluje' za jedan red? #=> #=> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako #=> koristis prvu funkciju onda je zameni drugom i resices #=> problem. Ne pomaže to :) Zapravo, sa Write će dobiti jedan prazan red, sa Writeln cela 2, i to zato što ove procedure pomeraju kursor za jedno mesto iza onoga što ispišu; kako je jedno mesto iza poslednjeg karaktera u redu prvi karakter u sledećem redu, kursor se pomera u sledeći red. Kada je, usto, u pitanju karakter i u posledjoj koloni, ceo ekran ode za jedan red... Rešenje je direktno pisanje po video memeoriji.
pascal.738 vitez.koja, -> #727, sslavko
#=> Evo ga šampion!! Predlažem da se roboti nazovu po korisničkim #=> imenima onih koji ih prave, pa da se tako takmičimo. Evo ga #=> moj SSLAVKO!!! Ajde ko će da ga pobedi. Pa i nije se pokazao... Abasiri vs SSlavko , a uzvratni meč SSlavko vs Abasiri 19 1 2 18 sk
pascal.739 ognjen, -> #721, duzle
)-> 6 zipova. Da li ih vec ima na Sezamu, ili da ih saljem ? Salji.
pascal.740 szeman, -> #726, postmast
>> For i := 0 To FileSize (uf) Do !!!!!!!!!!!!! >> Begin >> Seek (uf, i); >> Read (uf, user); >> WriteLn (user. ime); >> ReadLn; >> End; Normalno je da javi grešku - učitavao je ono što ne postoji. :) - FileSize(f: file of type) - daje UKUPAN BROJ zapisa (slogova) u bazi - Seek(f,num) prelazi na Record.No koji se nalazi u varijabli num. - Tipizirana baza počinje od NULTOG SLOGA, dakle: R.No USERS1.DAT ================= 0. sima 1. pera 2. laza 3. mika 4. žika Dakle: - FileSize(f) daje kao rezultat: 5 - Seek(f,4) pozicionira se na R.No: 4 Stoga, rešenje tvog problema je da umesto: For i := 0 To FileSize (uf) Do napišeš: For i := 0 To FileSize (uf) - 1 Do Pozdrav, Sale P.S. Loša ti je praksa ako bazu ne popunjavaš "postepeno" - uvek osiguraj da svaki slog u bazi ima definisanu početnu vrednost. Dakle, ovako nešto je "štetno po zdravlje" ;) rewrite(f); ime:='R.No 0' seek(f,0); write(f,ime); ime:='R.No 5' seek(f,5) write(f,ime); close(f); jer će u R.No od 1 - 4 (uključno) biti nedefinisane vrednosti, što može da bude veoma iritirajuće prilikom štampanja.
pascal.741 sslavko, -> #731, postmast
>> "S> push word ptr old21+2 >> "S> push word ptr old21 >> >> Takodjer i ova .. >> >> "S> pushf Prva gura na stek adresu old21 procedure, a druga flegove.
pascal.742 sslavko, -> #736, uobradovic
>> Može li neko da mi objasni kako se pravi procedura za P-ROBOTS. Sve ti piše u P-ROBOTS.DOC.
pascal.743 sslavko, -> #738, vitez.koja
>> Pa i nije se pokazao... Ajde da vidimo vitez.koja vs sslavko. Nemoj mi porediti abasirija. Sa njim ćemo da se poredimo kasnije kad razradimo taktiku :))
pascal.744 andrejt, -> #726, postmast
__> For i := 0 To FileSize (uf) Do __> Begin ^^^^^^^^^^^^^ __> Seek (uf, i); __> Read (uf, user); __> WriteLn (user. ime); __> ReadLn; __> End; Dolazi do FileSize(UF) i pokusava da dodje do njega sa Seek ali to je nemoguce jer je prvi slog u stvari 0 a zadnji slog FileSize-1. Resenje je da stavis, tamo gde je podvuceno, FileSize(UF)-1. Nadam se da sam dovoljno razumljiv :)
pascal.745 inikolic, -> #732, postmast
jedini meni poznati nacin da se upise karakter na koordinate 80,25 jeste da se on upise direktno u memoriju. karakter se upisuje u $b000:$0fde(ako je u pitanju hecules) i u Hgreska : to je $b000:$0f9e(herc) i $b800:$0f9e(VGA) tu je karakter a sledeci je njegov atribut(0f9f) . Ako te zanima odakle to -> pa prvi karakter za VGA je $b800:$0000 , tu je karakter , a u $b800:$0000 ide njegov atribut i tako dalje svaki drugi je karakter(za herc. je isto samo je $b000). Obrati paznju da je rec o heksa zapisu. Komanda kojom ces to obaviti je : MEM[$b800:$****]:=65 {upisuje A na odredjeno mesto} Nadam se da je to sto ti je trebalo... Ivan
pascal.746 mboban, -> #702, sslavko
Subject: P-Robots **> Ja sam napravio nekoliko varijanti i zainteresovan sam za razmenu **> i okršaj sa ostalima. So, otvaramo grupu? **> P.S. Ajde neka neko pobedi GORO-a. :)) Joj, gde Goroa nađe? :) Leader lepo počne protiv njega, dere ga, dere... a onda ga Goro na krJaju :) s*ebe... A Gorov algoritam - nema 4-5 redova :) Sve u svemu, interesantna igrica, samo bih ja dodao više različitog oružja, kao i više sposobnosti i karakteristika robota (probojnost oklopa, max brzina, preciznost...)
pascal.747 inesic, -> #705, sslavko
> Apropo onih robota. Evo mog remek-dela pa ko voli nek izvoli. > Pobedite me u većini slučajeva pa da ga dorađujem. Naravno, ne Isprobao sam tvoga killera. Najpre sa abasirijem koji ga je dobio u 6 od 10, a i imao je manje oštećenje pri kraju partije nego killer, kad ubije. Isprobao sam ga i sa subminijem, koji ga je dobio u sve četiri partije, ali sa manjom razlikom u šteti. Nego nije to ono na šta bih hteo da osvrnem pažnju. Ima jedan bug ili u kompajleru ili u killeru. Kad startuješ program tako da je killer prvi, a onaj drugi robot drugi, onda sve radi. S druge strane kad ti je prvi argument neki drugi robot, a drugi killer, onda kompajler prijavi BEGIN expected. Probao sa dva robota i simptom se ponovio. Neko je ovde pominjao prerađivanje programa tako da radi u grafičkom modu. Kako će to da radi na mom herculesu? Mislim da je program i bez toga dovoljno spor.
pascal.748 uobradovic,
Slušajte pažljivo: - Kako treba da mi glasi linija pod brojem 2 1-Startujem neki program iz mog programa 2-Kad izlazim iz tog nekog programa da se ponovo vrati u moj program. Mislim da ste me razumeli. Uroš
pascal.750 zeljkoj, -> #748, uobradovic
> 2-Kad izlazim iz tog nekog programa da se ponovo vrati > u moj program. exec (tvoj_program, parametri);
pascal.751 vlador, -> #747, inesic
> program i bez toga dovoljno spor. :) Kako kome... Ja moram da isključim turbo i da dooobro pratim šta se dešava. :)
pascal.752 sslavko, -> #747, inesic
>> Isprobao sam tvoga killera. Najpre sa abasirijem koji ga >> je dobio u 6 od 10, a i imao je manje oštećenje pri >> kraju partije nego killer, kad ubije. Isprobao sam ga >> i sa subminijem, koji ga je Dobro, nisam ni mislio da me testiraš sa datim primerima. Za robota koji je uradjen na brzaka, metodom grube sile i nije loš. Primere su radili ljudi koji su se sa PROBOTS zezali malo duže nego ja. Ajde ti napravi svog robota pa ga isprobaj sa mojim. Za nedelju-dve i moji će derati Goroa i Abasirija O;). P.S. Naravno rename abasiri ne dolazi u obzir. Mora da bude baš tvoja kreacija.
pascal.753 sslavko,
Evo ga nova verzija mog favorita. Nešto je bolji od Goro-a. procedure SSlavko; var r,dir,head,range:integer; procedure go(d,s:integer); begin if loc_x<200 then head:=0; if loc_x>800 then head:=180; if loc_y<200 then head:=90; if loc_y>800 then head:=270; drive(d,s); end; begin dir:=0; head:=0; r:=0; repeat range:=scan(dir,10); while range=0 do begin range:=scan(dir,10); if range>40 then cannon(dir,range) else begin dir:=dir+20; r:=0; end; go(head,100); end; dir:=dir-5; range:=scan(dir,5); if range=0 then begin dir:=dir+10; range:=scan(dir,5); end; if range>40 then begin r:=trunc((r-range)/2.5); cannon(dir,range-r); r:=range; end; head:=dir; go(head,50); until dead or winner; end;
pascal.754 uobradovic, -> #747, inesic
::> Nego nije to ono na šta bih hteo da osvrnem pažnju. Ima jedan ::> bug ili u kompajleru ili u killeru. Kad startuješ program ::> tako da je killer prvi, a onaj drugi robot drugi, onda sve ::> radi. S druge strane kad ti je prvi argument neki drugi ::> robot, a drugi killer, onda kompajler prijavi BEGIN ::> expected. Probao sa dva robota i simptom se ponovio. U soru Killera promeni jedan deo i sve će da radi,a to je: zameni mesta tako da prvo piše PROCEDURE ......,a zatim VAR .... Mislim da je ovo bio problem kod ovog robota ili kod SSLAVKO-vog. Uroš
pascal.755 inferno, -> #751, vlador
Ů│ ˙> program i bez toga dovoljno spor. Ů│ ˙ Ů│ ˙ :) Kako kome... Ja moram da isključim turbo i da dooobro pratim š Ů│ ˙ dešava. :) Meni ni to ne pomaže. :( :>>
pascal.756 dzakic, -> #726, postmast
> For i := 0 To FileSize (uf) Do for i:=0 to filesize(uf)-1 do ... Ako filesize vrati da ima 4 rekorda, onda bi trebalo od 1 do 4, ali pošto ti seek traži poziciju računajući od nula, onda ako počneš od nula ideš do filesize-1, prosto... :)
pascal.757 inferno,
HI, ima li iko onog roborta Target, malo mi je nezgodno da isprobavam svoje kreacije sa Abasirijem ili onim samoubicom, na primer.. :)) p.s. kako da usporim bitku (i sa turbom ide ko munja). Mislim da ima neki prg. SLOW ili tako nekako...
pascal.758 lovro,
Kako da napravim rezidentan program, a da ne stoji ceo u memoriji: begin writeln('Hvala na pitanju, dobro sam.'); radinesto; zabavljajnarod; . . . swapvectors; getintvec(... setintvec(... keep(0); end. Sve ono pre tri tacke povećavaće zauzetu memoriju. Kako? Zašto? Lovro
pascal.759 mboban, -> #757, inferno
**> HI, ima li iko onog roborta Target, malo mi je nezgodno da isprobavam **> svoje kreacije sa Abasirijem ili onim samoubicom, na primer.. :)) :)) Target, kažeš? :) Fajt svog robota protiv robota Target startuješ tako što izostaviš naziv protivničkog robota. Znači: PROBOTS dileja će da startuje borbu robota Dileja, protiv Targeta. **> p.s. kako da usporim bitku (i sa turbom ide ko munja). ──────────────────────── Pa isključi turbo :)) **> Mislim da ima neki prg. SLOW ili tako nekako... U direktorijumu UTIL, program AT-SLOW. Samo, piše da neregistrovana verzija traje samo 5 min :))
pascal.760 sslavko, -> #757, inferno
>> HI, ima li iko onog roborta Target Edituj PROBOTS.EXE. Unutar njega imaš lepo ispisan kod Target-a. A ćto se tiče isprobavanja, napravi robota koji se samo kreće, ne puca ili stoji u mestu ili tako nešto, zavisi šta isprobavaš. Ja imam par takvih, Proba1, Proba2...
pascal.761 sslavko, -> #747, inesic
>> Isprobao sam tvoga killera. Najpre sa abasirijem koji ga >> je dobio u 6 od 10, a i imao je manje oštećenje pri >> kraju partije nego killer, kad ubije. Isprobao sam ga >> i sa subminijem, koji ga je Dobro, nisam ni mislio da me testiraš sa datim primerima. Za robota koji je uradjen na brzaka, metodom grube sile i nije loš. Primere su radili ljudi koji su se sa PROBOTS zezali malo duže nego ja. Ajde ti napravi svog robota pa ga isprobaj sa mojim. Za nedelju-dve i moji će derati Goroa i Abasirija O;). P.S. Naravno rename abasiri ne dolazi u obzir. Mora da bude baš tvoja kreacija.
pascal.762 sslavko, -> #758, lovro
>> Kako da napravim rezidentan program, a da ne stoji ceo u >> memoriji: Sve o tome imaš u Računarima 93 i 94. Doduše pisano je za C ali se da preraditi i za Pascal.
pascal.763 kriss, -> #757, inferno
˙˙ p.s. kako da usporim bitku (i sa turbom ide ko munja). Mislim ˙˙ da ima neki prg. SLOW ili tako nekako... Ima, program se zove slower.
pascal.764 postmast,
From: Amir.Zolic@f115.n103.z38.setgate.setnet.co.yu (Amir Zolic) Subject: pascal Date: Wed, 30 Nov 1994 02:55:06 -=> Quoting Predrag Supurovic to "Ognjen Blagojevic" <=- > Moze li se nekako upisati neki znak u donji desni ugao >ekrana a da isti ne 'odskroluje' za jedan red? PS> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu PS> funkciju onda je zameni drugom i resices problem. Mislim da nisi u pravu ;) Sta ce dati ovaj program? ┌────────────────────────────────────────┐ │ uses crt; │ │ begin │ │ ClrScr; │ │ WriteLn('Ovo je prva linija'); │ │ WriteLn('Ovo je druga linija'); │ │ WriteLn('a ovo je treca'); │ │ GoToXY(80, 25); │ │ Write('1'); { WriteLn('1') } │ │ end. │ └────────────────────────────────────────┘ U prvom slucaju ( Write() ), na ekranu ce ostati 'druga' i 'treca' poruka i '1' na (80, 24) i kursor ce biti na (1,25). U drugom slucaju ( WriteLn() ), na ekranu ce ostati samo 'treca' poruka i '1' na (80,23) i kursor na (1, 25). Resenje je da se koristi direktno pisanje u video memoriju. Tada ne dolazi do pomeranja kursora posle ispisa teksta (ovo je uzrok 'podizanja' ekrana za jedan red) pa nema nikakvih problema :)) Pozdrav Amir P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse pisanje direktno u Video memoriju. ... Pisac je covek koji prazni glavu da bi napunio stomak. * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.765 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Wed, 30 Nov 1994 12:43:05 * Citat: Predrag Supurovic --> "Ognjen Blagojevic" * Tema : pascal > Moze li se nekako upisati neki znak u donji desni ugao >ekrana a da isti ne 'odskroluje' za jedan red? PS> Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu PS> funkciju onda je zameni drugom i resices problem. Ako i to neuspe uzmi direktan upis u memoriju... ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.766 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: Recordi Date: Wed, 30 Nov 1994 12:45:06 * Citat: Predrag Supurovic --> Bosko Radivojevic * Tema : Recordi >i recimo ima 4 rekorda on prodje 4 puta i ispise tacno ali >prodje i 5-ti >put i kaze na read (uf, user) DISK READ ERROR i to u svim >kombinacijamA:) > For i := 0 To FileSize (uf) Do PS> Klasicna greska. FileSize() vraca broj slogova u datoteci, PS> a ti pocinjes da brojis od nule, sto znaci da se petlja vrti PS> za jedan krug vise nego sto treba. PS> Pocni da brojis od 1. Ali onda mora u Seek(x) da stavlja i-1 ako koristi Seek... ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.767 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Recordi Date: Thu, 01 Dec 1994 09:22:00 > >put i kaze na read (uf, user) DISK READ ERROR i to u svim > >kombinacijamA:) > > > For i := 0 To FileSize (uf) Do > PS> Klasicna greska. FileSize() vraca broj slogova u datoteci, > PS> a ti pocinjes da brojis od nule, sto znaci da se petlja vrti > PS> za jedan krug vise nego sto treba. > PS> Pocni da brojis od 1. >Ali onda mora u Seek(x) da stavlja i-1 ako koristi Seek... Pa dobro onda neka broji od f:=0 do FileSize (uf)-1. Dodje na isto. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.768 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Thu, 01 Dec 1994 09:26:06 * Citat: Amir Zolic --> Predrag Supurovic * Tema : pascal AZ> Resenje je da se koristi direktno pisanje u video memoriju. Tada AZ> ne dolazi do pomeranja kursora posle ispisa teksta (ovo je uzrok AZ> 'podizanja' ekrana za jedan red) pa nema nikakvih problema :)) AZ> AZ> Pozdrav AZ> Amir AZ> AZ> P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse AZ> pisanje direktno u Video memoriju. Jeste to je bilo za mene ako nemas taj tekst u nekom fajlu ja mislim da ga cuvam u nekom fajlu pa ako treb poslacu.. Pretpostavljam da znas asembler.. Cemu sluze nareba POP i PUSH kao i one sto su slicne PUSH-u samo neko slovo je izmenjeno .. ... BR> Da li je Internet interna ili internacionalna mreza? * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.769 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Thu, 01 Dec 1994 09:48:07 * Citat: Nenad Radosavljevic --> All * Tema : pascal NR> From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic) NR> broker@setnet.co.yu writes: > >> Moze li se nekako upisati neki znak u donji desni ugao >>ekrana a da isti ne 'odskroluje' za jedan red? > >Da li ga ispisujes sa WriteLn() ili sa Write()? Ako koristis prvu >funkciju onda je zameni drugom i resices problem. > NR> NR> Malko teze u ovom slucaju. Naime pascal-ove naredbe za pristup NR> CRT-u writeln() i write(), prepoznaju kada se nesto upisuje u NR> poslednji karakter na ekranu (donji desni ugao) i automatski scroll-uju NR> ekran za jedan red vise (obe naredbe). Jedno od mogucih resenja je da NR> prestanes da koristis write i writeln, da sa od nekud preuzmes arhivu NR> TPFAST, sa asemblerski pisanim rutinama za pristup video memoriji kod NR> SVIH do sada poznatih tipova kartica. Rutine cak podrzavaju i video NR> pages (kao kod Norton Commander-a - vise screen-ova koji se preklapaju NR> momentalno) i pravljenje windows-a a imas i gomilu drugih korisnih NR> rutina (za stringove, matematicke f-je itd. itd.). I sto je (barem NR> meni) najlepse cela arhiva je srazmerno mala a u sebi sadrzi i NR> source-ove svega sto je napisano). Dobro nisam bas bio siguran ... Koristi tu rutinu ili napravi sam rutinu za direktan upis u memoriju... Amir mi je objasnio pre neki mesec kako se to radi pa ako hoces to da ti posaljem... x ... Da siljnem dve pricice...? * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.770 postmast,
From: Vasiljevic.Igor@p1.f107.n111.z38.setgate.setnet.co.yu (Vasiljevic Igor) Subject: CZONE Date: Thu, 01 Dec 1994 21:47:00 Evo samo da obavestim zainteresirane da kod mene na Takeda Inc. BBS-u mozete naci igru CZone (za Win.). Igra podseca na ovo o cemu se ovde vodi prica. Jedino ima malo robota. Ince igra je sharware, pa ako je neko zainteresiran da je skine nek mi se javi. Vigor * Origin: # TĺKţDĺ Inc. # Zrenjanin # $ţTNţT # (38:111/107.1)
pascal.771 inesic, -> #736, uobradovic
> Može li neko da mi objasni kako se pravi procedura za P-ROBOTS. > Šta je CANNON,SCAN,DIR,LOC_X,LOC_Y,RANGE,HEAD.... > Hoću i ja da ga napravim ali moram da znam sta je sta.OK. Pročitaj probots.doc, ima ga u arhivi.
pascal.772 inesic, -> #730, postmast
> Interesuje me ta igra ili vec sta je ?? Skini fajl uz poruku 7.699 u ovoj konferenciji. Ne znam kako se to radi sa long distance. Ako ni ti ne znaš, pitaj sysAdma.
pascal.773 duzle,
Evo ga pascal source programa Infoplus (u dokumentaciji pise da je kao neki naslednik/klon programa SYSID). Namena mu je identifikacija komponenti sistema. Pogledajte, ima nekih interesantnih trikova ;). Pozdrav, Ognen. P.S. Sorry ako se ova datoteka vec nalazi u sezamovim konf/dirovima :) infoplus.arj
pascal.774 inesic, -> #769, postmast
> ... Da siljnem dve pricice...? Pošalji, naravno! :)
pascal.775 djelovic, -> #773, duzle
> Evo ga pascal source programa Infoplus (u dokumentaciji pise da je kao neki > naslednik/klon programa SYSID). Namena mu je identifikacija komponenti > sistema. Pogledajte, ima nekih interesantnih trikova ;). Hvala na zanimljivom prilogu!
pascal.776 postmast,
From: Amir.Zolic@f115.n103.z38.setgate.setnet.co.yu (Amir Zolic) Subject: pascal Date: Sat, 03 Dec 1994 22:04:00 -=> Quoting Zeljko Stevanovic to Amir Zolic <=- AZ> P.S. Mislim da sam pre nekih mesec dana poslao funkcije koje vrse AZ> pisanje direktno u Video memoriju. ZS> ZS> Jeste to je bilo za mene ako nemas taj tekst u nekom fajlu ja mislim ZS> da ga cuvam u nekom fajlu pa ako treb poslacu.. Ako neko bude trazio, salji. Imas moju pisanu dozvolu :)) Samo treba da dodas Copyright (c)by Amir Zolic 1994. All rights reserved. I sve ostalo sto ide uz svaki PD/SW software :))) ZS> Pretpostavljam da znas asembler.. ZS> Cemu sluze nareba POP i PUSH kao i one sto su slicne PUSH-u samo neko ZS> slovo je izmenjeno .. Odgovor na ovo je u NET.PC Prog posto nema puno veze sa Pascal-om. Pozdrav Amir ... Postoje tri vrste lazi; laz, prokleta laz i statistika. * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.777 duzle,
Paskal, C i ASM source za pusstanje .mod-ova na SoundBlasteru, Covoxu i (!) zvucniku :). ModOBJ_1.ZIP. Pozdrav, Ogi modobj_1.zip
pascal.778 ognjen, -> #747, inesic
)-> Neko je ovde pominjao preradivanje programa tako da )-> radi u grafickom modu. Kako ce to da radi na mom herculesu? )-> Mislim da je program i bez toga dovoljno spor. Da li pominjani program radi u tekstualnom modu?
pascal.779 postmast,
From: Marko.Milivojevic@p1.f1.n103.z38.setgate.setnet.co.yu (Marko Milivojevic) Subject: Re: pascal Date: Sun, 04 Dec 1994 05:19:01 "O> Slusajte pazljivo: "O> - Kako treba da mi glasi linija pod brojem 2 "O> 1-Startujem neki program iz mog programa "O> 2-Kad izlazim iz tog nekog programa da se ponovo vrati "O> u moj program. Probaj exec funkciju (ili je be{e procedura?) -=> MM <=- * Origin: SETNet - Belgrade HUB1 (38:103/1.1)
pascal.780 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 04 Dec 1994 13:42:11 * Citat: Amir Zolic --> Zeljko Stevanovic * Tema : pascal AZ> Copyright (c)by Amir Zolic 1994. All rights reserved. AZ> AZ> I sve ostalo sto ide uz svaki PD/SW software :))) AZ> Naravno ... ... Zivjeti je vrlo nezdravo. Tko zivi, taj umire. * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.781 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Seriski borj! Date: Sun, 04 Dec 1994 22:01:00 Zdravo, Imam jedno pitanje koje je u vezi toga,dali moze Turbo Pascal da procita seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj program ovde u SET.PASCAL ! ... Everyone has a photographic memory. Some don't have film. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.782 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Re: Konverzija tipova Date: Mon, 05 Dec 1994 15:42:01 VB> Sta ovde ne valja: ... VB> var VB> dd, mm, gg: integer; VB> datum : longint; VB> ... VB> begin VB> datum := dd + mm*100 + gg*10000 VB> ... Videh u ovoj konf. poruke na slicnu temu. Problem je u tome sto kompajler izracunava medjurezultate mm*100 i gg*10000 vodeci racuna ne o tipu lvalue-a, vec o tipu promenljivih koje figurisu u medjurezultatu. Posto su promenljive mm i gg intidzeri, a takodje i konstante 100 i 10000, medjurezultati ce biti smesteni takodje u intidzere, sto dovodi do (logicke) greske rezultata. Ako ti je potreban (a i jeste ti potreban) dugi intidzer, izvrsi konverziju tipova "u letu", to jest: datum := dd + LONGINT (mm) * 100 + LONGINT (gg) * 10000 3OPAH ... Zvrrr... (klik) "Zdravo, Mile, kako... (BIIIIIIIIP) Mile? Sta ti je?" * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.783 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Re: pascal Date: Mon, 05 Dec 1994 15:42:02 IN> ...prijavljivao not inaf memori: imam XT sa 640k... Nisi ni ti jedini. I ja imam XT/8 MHz/640 Kb/32.6 Mb HD/360 Kb FD uf ostadoh bez daha ali sam imao dovoljno memorije za sve programe/demoe iz TP6.0. Da li si podesio Link buffer -> Disk i Compile to -> Disk? P. S. Mene Paskal ne odusevljava, a POGOTOVO ne Turbo Paskal. Ali ako cemo o tome, bolje da skoknemo do PC.PROG. 3OPAH ... Sueprbrazo kucnje ima svcoje poslefdcie! * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.784 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: Pascal Date: Mon, 05 Dec 1994 15:42:03 OD> ...ako nekoga interesuje kako da simulira multi-tasking u paskalu... Vidi, vidi... Pa ovde se pravi operativni sistem! :) Mislio si na multi- -threading? OK. Samo, za to vam je M2 prava stvar. 3OPAH ... E, izvinite me, ja sada zurim na cas dopunske nastave iz informatike. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.785 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: M3 Date: Mon, 05 Dec 1994 15:42:04 Neko ovde spomenu Modulu-3? Ja koristim Modulu-2 i odusevljen sam i samim programskim jezikom i kompajlerom (TopSpeed, razume se ;) ). I ranije sam cuo za M3, ali tada nisam imao modem... Da li bi neko mogao da mi objasni (u NET.PCPROG) sustinske razlike izmedju M3 i M2, i da li je M3 produzedak M2 ili se radi o programskom jeziku potpuno drugacije osnove? ... Brazo kucanje inmad i svoje poslediuce. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.786 evlad, -> #781, postmast
>> From: Robert.Mileskičf108.n108.z38.setgate.setnet.co.yu (Robert Mileski) >> Imam jedno pitanje koje je u vezi toga,dali moze Turbo Pascal da procita >> seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj >> program ovde u SET.PASCAL ! Uses Dos; Const EBPB : Array of Byte = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); Procedure GetSerialNumber (Drv : Byte); Begin š GetSerialNumber ć R.AH := $69; R.AL := 0; R.BL := Drv; R.DS := Seg (EBPB); R.DX := Ofs (EBPB); MsDos (R); if (R.Flags AND $01) <> 0 then Begin Era := R.AX; WriteLn; Case Era of 1 : WriteLn ('NetWork drive not supported !'); 5 : WriteLn ('No extended BPB found on disk !'); 15 : WriteLn ('Invalid drive specified !'); Else WriteLn ('Dos error: ', Era); End; š of case ć Halt (Era) End End; š GetSerialNumber ć posle izvršenja procedure getserialnumber serijski broj se nalazi: EBPB Š3Ć EBPB Š4Ć EBPB Š5Ć EBPB Š6Ć Pozdrav .... PS. Sorry za yuscii code
pascal.787 andrejt, -> #781, postmast
Q> seriski broj Hard Diska? Ako je to moguce,molim vas posaljite mi taj Q> program ovde u SET.PASCAL ! Nema potrebe za programom - to je interrupt. Evo informacija : ┌───────────────────────────────────────────────────────────────────────────┐ │ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) │ │ │ │ AH = 69h │ │ AL = 00 get serial number │ │ = 01 set serial number │ │ BL = drive (0 = default, 1=A:, 2 = B:, ... ) │ │ DS:DX = buffer to contain extended BIOS Parameter Block (BPB, AL=0) │ │ = disk information to set of the form: │ │ │ │ Offset Size Description │ │ 00 word info level (zero) │ │ 02 dword disk serial number (binary) │ │ 06 11bytes volume label or "NO NAME " if not present │ │ 11 8bytes filesystem type string "FAT12 " or "FAT16 " │ │ │ │ returns: │ │ CF = set on error │ │ AX = error code if CF set │ │ = 01 network drive not supported │ │ = 05 no extended BPB found on disk │ │ CF = clear if successful and value in AX is destroyed │ │ AL = 00 buffer filled from Extended BPB on disk │ │ = 01 disk Extended BPB updated from buffer │ │ DS:DX = pointer to returned data, when AL = 0 │ │ │ │ │ │ - copies data from Extended BIOS Parameter Block to buffer │ │ - no critical error is generated on error │ │ - does not work on network drives (returns 01) │ └───────────────────────────────────────────────────────────────────────────┘ Dakle pozivas ga sa MsDos(R); - gde je R promenljiva tipa Registers. (O msdos proceduri i doticnom tipu mozes pogledati u helpu za TP.)
pascal.788 janko, -> #786, evlad
> Begin š GetSerialNumber ć > EBPB Š6Ć > PS. Sorry za yuscii code Vidiš, za razliku od C-a, Paskal su napravili Evropljani, a oni su imali iste probleme kao i mi. Zato se Paskal i Juski dovoljno slažu da si mogao to da napišeš tako da ne moraš da se izvinjavaš: Begin (* GetSerialNumber *) EBPB (. 6 .) Tj. umesto uglastih zagrada [ ] se pišu (. .) a umesto vitičastih { } zagrada se pišu (* *) I svi srećni.
pascal.789 evlad, -> #788, janko
>> Vidiš, za razliku od C-a, Paskal su napravili Evropljani, a oni su imali nisam prepravljao kod, već je bilo cut & paste iz mojih programa ;) a i žurio sam da čoveku dam odgovor što pre ... inače da se nadovežem ... (* je 'starije' od š tako da ako imaš neki kod sa komentarima pisanim sa šć možeš da lako izbaciti sa (* *), a kada pokušaš šš ćć turbo pascal 'se buni' ... NHF!
pascal.790 omega, -> #787, andrejt
Ţ Nema potrebe za programom - to je interrupt. Ţ│ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) │ ^^^^^^^^^^^^^^^^^^^^^^^ I to kakav ;)
pascal.791 zeljkoj, -> #790, omega
> Ţ│ INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS > 4+) │ ^^^^^^^^^^^^^^^^^^^^^^^ > I to kakav ;) To ne treba koristiti. Lako se može dogoditi da se u nekoj od sledećih verzija DOS-a nešto promeni, i onda jednostavno stari programi koji koriste taj int. neće raditi.
pascal.792 postmast,
From: avram@setnet.co.yu (Sinisa Avram) Subject: Re: Exec.. Date: Sat, 10 Dec 1994 03:57:14 RM> Dali neko moze da napise jedan mali primer kako koristiti naredbu RM> 'exec',ali i objasnjenje jer onaj program u HELP-u Turbo Pascal-a RM> 6.0,ne radi! :( Evo ti izvod iz helpa: Exec (procedure) (Dos unit) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Executes a specified program with a specified command line. Declaration: procedure Exec(Path, CmdLine: string); Target: Real, Protected Remarks: Errors are reported in DosError. When compiling a program that uses Exec, reduce the "maximum" heap size; otherwise, there won't be enough memory (DosError = 8). Sample Code: {DOSXCODE.PAS} { Example for DosExitCode and Exec } {$M $4000,0,0 } { 16K stack, no heap } uses Dos; var ProgramName, CmdLine: string; begin Write('Program to Exec (full path): '); ReadLn(ProgramName); Write('Command line to pass to ', ProgramName, ': '); ReadLn(CmdLine); WriteLn('About to Exec...'); SwapVectors; Exec(ProgramName, CmdLine); SwapVectors; WriteLn('...back from Exec'); if DosError <> 0 then{ Error? } WriteLn('Dos error #', DosError) else WriteLn('Exec successful. ', 'Child process exit code = ', DosExitCode); end. Pozdrav, Avram. ... If it wasn't for C, we would be using BASI, PASAL and OBOL! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.793 postmast,
From: Robert.Mileski@p1.f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Exec komanda. Date: Tue, 06 Dec 1994 23:50:00 Dali neko moze da mi posalje neki mali programcic kao primer za naredbu 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u HELP-u ne radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo startovanje Autoexec.Bat-a ! Molim vas za malo objasnenja! MileR, * Origin: SetNet: *** VEGA BBS*** +389-91-225-280 (38:108/108.1)
pascal.794 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Exec.. Date: Wed, 07 Dec 1994 09:06:00 Dali neko moze da napise jedan mali primer kako koristiti naredbu 'exec',ali i objasnjenje jer onaj program u HELP-u Turbo Pascal-a 6.0,ne radi! :( ... Real programmers practice safe HEX. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.795 janko, -> #789, evlad
> inače da se nadovežem ... (* je 'starije' od š tako da ako > imaš neki kod sa komentarima pisanim sa šć možeš da lako > izbaciti sa (* *), a kada pokušaš šš ćć turbo pascal 'se > buni' ... Tumačenje ti je pogrešno. Ni jedno od ta dva nije starije. Ako regularno koristiš (* *) onda ćeš i tekst koji sadrži (* *) moći da "iskomentarišeš" sa { }.
pascal.796 bulaja, -> #787, andrejt
│Nema potrebe za programom - to je interrupt. │ │INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) └─── Nema potrebe ni za ovim, sve se može lepo pročitati iz boot sektora.
pascal.797 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: Exec komanda. Date: Fri, 09 Dec 1994 10:23:10 * Citat: Robert Mileski --> All * Tema : Exec komanda. RM> Dali neko moze da mi posalje neki mali programcic kao primer za RM> naredbu 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u RM> HELP-u ne radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo RM> startovanje Autoexec.Bat-a ! Molim vas za malo objasnenja! RM> MileR, Evo neceg iz knjige TURBO PASCAL 6 kompletan vodic.. Exec [DOS jedinica] Sintaksa : Procedure Exec(Path, CmdLine: String); Opis : Exec izvrsava program sadrzan u datoteci navedenoj putanji Path sa parametrima linije definisanim u komandnoj liniji CmdLine. Na primer, u narednim programu: {$M 2000, 0, 0} Program TestExec; Uses Dos; Begin Exec ('TESTPROG.EXE', 'A B C'); ReadLn; Exec ('\COMMAND.COM', ''); End. Prvi Exec iskaz izvrsava program TESTPROG.EXE sa parametrima A, B, C. Drugi Exec iskaz aktivira Dos-ov COMMAND.COM bez parametara; cime se kreira DOS okruzenje u okviru kojeg mozemo startovati druge programe. ---------------------------------------------------------------------------- Pozdrav, Blue MAGIC Blue BeBeK ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.798 andrejt, -> #791, zeljkoj
Q> To ne treba koristiti. Lako se moze dogoditi da se u nekoj od sledecih Q> verzija DOS-a nesto promeni, i onda jednostavno stari programi koji Q> koriste taj int. nece raditi. Cisto sumnjam da bi bas toliko izmenili da ne moze da se koristi - - pre bi ubacili novi, kao sto su radili sa drugim intovima (npr. terminate int, tsr int itd.).
pascal.799 andrejt, -> #793, postmast
Q> Dali neko moze da mi posalje neki mali programcic kao primer za naredbu Q> 'exec',ali da radi u Turbo Pacal-u 6.0! Onaj primer koji je u HELP-u ne Q> radi,a ne mogu da odgatnem zasto! Btw,nek progrm bude,recimo startovanje Q> Autoexec.Bat-a ! Molim vas za malo objasnenja! Da bi execovao .bat program moras da koristis command.com, 4dos.com ili sta vec koristis i to : exec(getenv(comspec) + ' /c',ime_bat + parametri);
pascal.800 zeljkoj, -> #798, andrejt
> Cisto sumnjam da bi bas toliko izmenili da ne moze da se Nikad se ne zna...
pascal.801 postmast,
From: Vladimir.Bonc@f101.n101.z38.setgate.setnet.co.yu (Vladimir Bonc) Subject: Re: Konverzija tipova Date: Wed, 14 Dec 1994 01:08:54 Zoran Rilak > Vladimir Bonc : VB> Sta ovde ne valja: ... VB> var VB> dd, mm, gg: integer; VB> datum : longint; VB> ... VB> begin VB> datum := dd + mm*100 + gg*10000 VB> ... ZR> ZR> Videh u ovoj konf. poruke na slicnu temu. Problem je u tome sto Pitanje je poteklo od mene, ako nisi pratio od pocetka, kako TP resava ovakav problem i naveo sam kako je to reseno kod Kick Pascala koji sam ranije koristio na Amigi. ZR> kompajler izracunava medjurezultate mm*100 i gg*10000 vodeci racuna ne ZR> o tipu lvalue-a, vec o tipu promenljivih koje figurisu u ZR> medjurezultatu. Posto su promenljive mm i gg intidzeri, a takodje i ZR> konstante 100 i 10000, medjurezultati ce biti smesteni takodje u ZR> intidzere, sto dovodi do (logicke) greske rezultata. Ako ti je potreban ZR> (a i jeste ti potreban) dugi intidzer, izvrsi konverziju tipova "u ZR> letu", to jest: ZR> datum := dd + LONGINT (mm) * 100 + LONGINT (gg) * 10000 Probao sam ovo, radi ok. Resenje je slicno, samo sto je kod KP bilo dovoljno prisiliti jedan clan (tj. koji se racuna prvi) da bude longint. ... Ateist je stanovnik Atine. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.802 mmitrovic, -> #791, zeljkoj
Ů█▀█Ţ To ne treba koristiti. Lako se može dogoditi da se u nekoj od sledećih Ů█▀█Ţ verzija DOS-a nešto promeni, i onda jednostavno stari programi koji Ů█▀█Ţ koriste taj int. neće raditi. Pa jedina alternativa tome je čitanje BOOT sektora i vađenje serijskog broja iz njega. Međutim i deo BOOT sektora u kome se nalazi ser. broj je nedokumentovan i podložan promenama. Van ova dva načina ne može se nikako otkriti ser. broj. Zato je za očekivati da će Microsoft dokumentovati ovu funkciju (pre će to učiniti nego što će dokumentovati reserved deo BOOT sektora) u sledećoj verziji DOS-a (7.0)
pascal.803 sbrk,
Da li neko zna nešto o povezivanju TPascala sa C-om preko OBJ fajlova? Znam da to ranije nije moglo (sa ranijim verzijama TPa), ali skoro čujem od jednog drugara da je to sada moguće sa Borland Pascalom 7.0 i nekim Borlandovim Com (mislim da mi je rekao da nije značajna verzija Ca). Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland Pascal 7.0 ume da koristi OBJ fajlove koje napravi C kompajler)
pascal.804 szeman,
Poznato je da se parametri, koji se prosledjuju programu pisanom u TP, odvajaju space karakterom, npr.: PRIMER.EXE Sima 'Pera Petrović' - paramcount() : 3 - paramstr(0) : C:ĐTP60ĐPRIMERIĐPRIMER.EXE (pun naziv dir-a gde se prog nalazi) - paramstr(1) : _Sima_ - paramstr(2) : _'Pera_ - paramstr(3) : _Petrović'_ Kod nekih aplikacija je potrebno precizno navesti ceo string, pa me zanima gde se u *NEPROMENJENOM* obliku smeštaju parametri koji su prosledjeni programu, odnosno, celokupna komandna DOS linija posle starovanja programa. Pozdrav, Saša
pascal.805 andrejt, -> #804, szeman
Q> Kod nekih aplikacija je potrebno precizno navesti ceo string, pa me Q> zanima gde se u *NEPROMENJENOM* obliku smestaju parametri koji su Q> prosledjeni programu, odnosno, celokupna komandna DOS linija posle Q> starovanja programa. Sve sto ide posle imena programa se nalazi na ofsetu 81h PSPa (127 byteova). PSP dobijas (npr.) sledecom funkcijom : * Function GetPSP : Word; Var R : Registers; Begin R.AH := $62; MsDos(R); GetPSP := R.BX; End; * A u string[127] mozes da procitas celi parametar string : * Const CR = 13; Var Param : String[127]; PSP,i : Word; Begin Param := ''; PSP := GetPSP; i := $81; While (Mem[PSP:i] <> CR) Do Begin Param := Param + Chr(Mem[PSP:i]); Inc(i,1); End; End. *
pascal.806 omega, -> #802, mmitrovic
Ţ otkriti ser. broj. Zato je za ocekivati da ce Microsoft dokumentovati ovu Ţ funkciju (pre ce to uciniti nego sto ce dokumentovati reserved deo BOOT Ţ sektora) u sledecoj verziji DOS-a (7.0) ...koja zvanicno nece ni postojati ;)
pascal.807 janko, -> #803, sbrk
> Da li neko zna nešto o povezivanju TPascala sa C-om preko > OBJ fajlova? > > Znam da to ranije nije moglo (sa ranijim verzijama TPa), > ali skoro čujem od jednog drugara da je to sada moguće sa > Borland Pascalom 7.0 i nekim Borlandovim Com (mislim da mi > je rekao da nije značajna verzija Ca). > > Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland > Pascal 7.0 ume da koristi OBJ fajlove koje napravi C > kompajler) Moglo je od TP 4.0 nadalje, uvek. Ako imate pune instalacije, bacite malo pogled. TP ume da koristi .OBJ fajlove. C rutine možete da trpate u TP programe, OBRNUTO je nemoguće jer TP ne pravi .OBJ-ove od svog koda.
pascal.808 vlador, -> #803, sbrk
> Jesi li neko čuo nešto o ovoj mogućnosti? (da Borland Pascal 7.0 ume da > koristi OBJ fajlove koje napravi C kompajler) Možda preko DLL fajlova? --- ■ VLADOR ■ Don't pick up that phonž9ôť NO CARRIER
pascal.809 szeman, -> #805, andrejt
>> Sve sto ide posle imena programa se nalazi na ofsetu 81h PSPa (127 >> byteova). PSP dobijas (npr.) sledecom funkcijom : To je ono što mi treba. Tnx. Pozdrav, Saša
pascal.810 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Re: Exec.. Date: Thu, 15 Dec 1994 22:39:00 -=> Quoting Sinisa Avram to Robert Mileski <=- SA> Evo ti izvod iz helpa: SA> SA> Exec (procedure) (Dos unit) SA> ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Thanks,a dali znass kako mozze da se procita serijski broj diska ? ... If you can't change Yourself, then change the World *** * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.811 postmast,
From: Robert.Mileski@f108.n108.z38.setgate.setnet.co.yu (Robert Mileski) Subject: Re: Exec komanda. Date: Thu, 15 Dec 1994 22:41:01 -=> Quoting Zeljko Stevanovic to Robert Mileski <=- ZS> Evo neceg iz knjige TURBO PASCAL 6 kompletan vodic.. Hvala ti,uradio sam to.A kako procitati serijski broj diska? ... Documentation - The worst part of programming. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.812 srdjanr,
Evo jednog mog, meni zanimljivog, resenja datumskih funkcija na TURBO PASCAL-u, koje uvazava Gregorijanski kalendar za sve godine 1..5,000,000 i vise. Mozda ima i boljih resenja, ali eto, ipak ... SrdjanR dates.arj
pascal.813 sjocic,
Imao bih dva pitanja: 1. Kako u Turbo Pascalu 6, izvesti štampanje datoteke - naime hoću da posle pitalice štampa d/n, ide direktna štampa fajla. Nije bitno da li da ide preko dos-ove naredbe ili preko writeln(Lst,fajl). 2. Kako izvesti hot-key, tj. posle pitalice npr. štampa d/n, pritiskom na 'd' počne štampa bez prethodnog pritiskanja enter tastera. Unapred hvala na odgovorima.
pascal.814 cira,
Poludeh trazeci fajl (mozda i ne postoji) na Sezamu. Radi se o window TPUu koji je neophodan za rad programa iz RACUNARA 65 (ono o fraktalima). Bio bih veoma zahvalan da mi neko pokaze put ili doturi taj TPU. Sto hitnije jer letim sa Sezama 21.12.1994.:(
pascal.815 omega, -> #807, janko
Ţ C rutine mozete da trpate u TP programe, OBRNUTO je nemoguce jer TP ne Ţ pravi .OBJ-ove od svog koda. Da, ali postojao je bese program tpu->obj.
pascal.816 dejanr, -> #813, sjocic
>> 2. Kako izvesti hot-key, tj. posle pitalice npr. štampa d/n, pritiskom >> na 'd' počne štampa bez prethodnog pritiskanja enter tastera. Umesto da koristiš readln, stavi na početak uses crt pa onda koristi readkey, u petlji.
pascal.817 evlad, -> #816, dejanr
>> Umesto da koristiš readln, stavi na početak uses crt pa onda koristi >> readkey, u petlji. A ako ti readkey vrati #0 tada se radi o funkcijskim tasterima i treba uraditi još jedan redkey. Da ne bi lutao po literaturi evo ti spisak funkcijskih i alt-tastera .... F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Norm│ 59 │ 60 │ 61 │ 62 │ 63 │ 64 │ 65 │ 66 │ 67 │ 68 │ 133 │ 134 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Shf │ 84 │ 85 │ 86 │ 87 │ 88 │ 89 │ 90 │ 91 │ 92 │ 93 │ 135 │ 136 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Ctrl│ 94 │ 95 │ 96 │ 97 │ 98 │ 99 │ 100 │ 101 │ 102 │ 103 │ 137 │ 138 │ ──┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ Alt │ 104 │ 105 │ 106 │ 107 │ 108 │ 109 │ 110 │ 111 │ 112 │ 113 │ 139 │ 140 │ ──┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ Norm Ctrl ─────┼─────┼─────┤ Alternate Alternate Shift-Tab == 15 Ins │ 82 │ - │ Q == 16 Z == 44 Ctrl-č == 3 ─────┼─────┼─────┤ W == 17 X == 45 Del │ 83 │ - │ E == 18 C == 46 ─────┼─────┼─────┤ R == 19 V == 47 Home │ 71 │ 119 │ T == 20 B == 48 ─────┼─────┼─────┤ Y == 21 N == 49 End │ 79 │ 117 │ U == 22 M == 50 ─────┼─────┼─────┤ I == 23 1 == 120 PgUp │ 73 │ 132 │ O == 24 2 == 121 ─────┼─────┼─────┤ P == 25 3 == 122 PgDn │ 81 │ 118 │ A == 30 4 == 123 ─────┼─────┼─────┤ S == 31 5 == 124 Up │ 72 │ - │ D == 32 6 == 125 ─────┼─────┼─────┤ F == 33 7 == 126 Down │ 80 │ - │ G == 34 8 == 127 ─────┼─────┼─────┤ H == 35 9 == 128 Left │ 75 │ 115 │ J == 36 0 == 129 ─────┼─────┼─────┤ K == 37 - == 130 Right│ 77 │ 116 │ L == 38 = == 131 ─────┴─────┴─────┘
pascal.818 andrejt, -> #810, postmast
Q> Thanks,a dali znass kako mozze da se procita serijski broj diska ? Pre neku poruku, kad sam ja ovde poslao izvod iz PC Helpa o intu koji to radi, neko je rekao da je to lepse citati iz BOOTa, pa evo sada opisa BOOTa : ┌────────────────────────────────────────────────────────────────────────────┐ Boot Sector (since DOS 2.0) Offset Size Description 00 3bytes jump to executable code 03 8bytes OEM name and version 0B word bytes per sector 0D byte sectors per cluster (allocation unit size) 0E word number of reserved sectors (starting at 0) 10 byte number of FAT's on disk 11 word number of root directory entries (directory size) 13 word number of total sectors (0 if partition > 32Mb) 15 byte media descriptor byte 16 word sectors per FAT 18 word sectors per track (DOS 3.0+) 1A word number of heads (DOS 3.0+) 1C word number of hidden sectors (DOS 3.0+) 20 dword (DOS 4+) number of sectors if offset 13 was 0 24 byte (DOS 4+) physical drive number 25 byte (DOS 4+) reserved 26 byte (DOS 4+) signature byte (29h) 27 dword (DOS 4+) volume serial number 2B 11bytes (DOS 4+) volume label 36 8bytes (DOS 4+) reserved - implementation format not guaranteed in all OEM DOS releases - BIOS expects a boot sector of 512 bytes - DOS 3.2 began reading BIOS Parameter Block (BPB) information from the boot sector, previous versions used only the media byte in FAT - DOS 4.x added offsets 20-3Dh and offset 20h determines the number of sectors if offset 13h is zero - hard disks have a master boot record and partition boot records; the master boot record and Disk Partition Table (DPT) share the same sector └────────────────────────────────────────────────────────────────────────────┘
pascal.819 andrejt, -> #814, cira
Q> Bio bih veoma zahvalan da mi neko pokaze put ili doturi taj TPU. Sto Q> hitnije jer letim sa Sezama 21.12.1994.:( Ako taj neko moze da doturi u conf ili i meni na mail zamolio bih ga da to i uradi :)
pascal.821 mboban, -> #817, evlad
=-= >> Umesto da koristiš readln, stavi na početak uses crt pa onda koristi =-= >> readkey, u petlji. =-= =-= A ako ti readkey vrati #0 tada se radi o funkcijskim tasterima i treba =-= uraditi još jedan redkey. Onda probaj preko Port[$60]. Nešto ovako. Repeat If Port[$60]=49 then WriteLn('Izabrali ste slovo N') Else If Port[$60]=32 then WriteLn('Izabrali ste slovo D'); Until Port[$60]=1; (* Dok se ne pritisne taster Esc *) S tim što bi mogao da ubaciš neke promenljive za proveru da li je ta vrednost Porta već aktivna da se ne ponavlja isto. Da ne tupim, evo spisak vrednosti Porta[$60], za sve tastere (tenks tu Ognjen :) The keyboard scan codes. The characters above the boxes are the key legends. The numbers in the boxes are the scan codes. The codes for F1-F10 are 59-68. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Esc 1 2 3 4 5 6 7 8 9 0 - = Backsp NumLock ScrLock ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌────┐ ┌────┐ ┌───┐ │1 ││2 ││3 ││4 ││5 ││6 ││7 ││8 ││9 ││10││11││12││13│ │ 14 │ │ 69 │ │70 │ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └────┘ └────┘ └───┘ Tab Q W E R T Y U I O P [ ] Enter Home ^ PgUp - ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌────┐ ┌──┐┌──┐┌──┐┌──┐ │ 15 ││16││17││18││19││20││21││22││23││24││25││26││27│ │ 28 │ │71││72││73││74│ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ │ │ └──┘└──┘└──┘└──┘ Ctrl A S D F G H J K L ; ' ` │ │ <- -> + ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐│ │ ┌──┐┌──┐┌──┐┌──┐ │ 29 ││30││31││32││33││34││35││36││37││38││39││40││41││ │ │75││76││77││ │ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘└──┘└──┘│78│ Shift \ Z X C V B N M , . / Shift * End V PgDn│ │ ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐┌──┐┌──┐┌──┐┌──┐│ │ │ 42 ││43││44││45││46││47││48││49││50││51││52││53││ 54 ││55││79││80││81││ │ └────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘└──┘└──┘└──┘└──┘└──┘ Alt Space Bar Caps Lock Ins Del ┌────┐ ┌──────────────────────────────────────────┐ ┌────┐ ┌────┐ ┌────┐ │ 56 │ │ 57 │ │ 58 │ │ 82 │ │ 83 │ └────┘ └──────────────────────────────────────────┘ └────┘ └────┘ └────┘ P.S. Ono <-, ->, ^ i V na numeričkoj tastaturi zamenjuje strelice...
pascal.822 evlad, -> #821, mboban
>> Onda probaj preko PortŠ$60Ć. Nešto ovako. Ok, samo šta u međuvremenu radi PIC 59-ka na portu $20 ??? Ovo je bitno zbog interrupta 9, koji će prepuniti buffer ako čitaš direktno sa keyboard kontrolera ... ;)
pascal.823 postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setgate.setnet.co.yu (Arpadffy Zoltan) Subject: Re: pascal Date: Fri, 09 Dec 1994 12:47:43 Quoting by Mamut ■From:"Predrag Knezevic" ■To :All ■Date:23 Oct 94 23:56:00 ■Subj:pascal "K> From: "Predrag Knezevic" <pedjak@sezam.UUCP> "K> Newsgroups: yu.prog.pascal "K> Organization: SEZAM Beograd, 011 648-422 > PASCALU a koji treba da radi pod NOVEL MREzOM. > Radi se o sledecem : prijateljica ide na visu pedagosku i treba da > sastavi sledeci program: > 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj > grupe ?" nakon unosenja broja grupe treba da se pojave pitanja te > grupe. > 4) Takode treba da postoji mogucnost povratka na pitanje "broj > grupe?" i izlaska iz programa. "K> "K> Pa jednostavno, koliko sam shvatio, startujes napisani program na "K> svakoj stanici... Program pises najnormalnije kao i za go DOS.. "K> jedino ako program treba da vrsi neke zajednicke obrade rezultata "K> koji se ukucavaju sa raznih stanica, onda se koriste zajednicke "K> datoteke u koje se upisuju podaci. To nije resenje. Pravi mrezni program bi bilo da sa jednog terminala saljes ostalima. To se moze postici koriscenjem BINDERY baze. Pristup bazi je netrivijalan i na niskom nivou, ali sa nekoliko f() je relativno prosto se moze resiti. Na raspolaganju.. :-) Zoli ... RAM DISK is NOT an installation procedure! * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.824 postmast,
From: Arpadffy.Zoltan@f107.n111.z38.setgate.setnet.co.yu (Arpadffy Zoltan) Subject: Re: pascal Date: Fri, 09 Dec 1994 13:04:55 Quoting by Mamut ■From:"Ognen Duzlevski" ■To :All ■Date:20 Nov 94 12:12:00 ■Subj:pascal "D> From: "Ognen Duzlevski" <duzle@sezam.UUCP> "D> Newsgroups: yu.prog.pascal "D> Organization: SEZAM Beograd, 011 648-422 "D> Da li neko ima paskal source (ako nema, moze i samo algoritam) "D> sledecih metoda za resavanje sistema linearnih jednacina: Ja imam skoro sve probleme resene sa menijem itd. Meni je to trebalo na trecoj iz numericke... Rado cu ti pomoci u svemu, ali ti ne zelim resiti problem, jer to su elementarne stvari ako se bavis programiranjem i nikad neces nauciti ako samo prepises. BTW te metode mozes naci u skoro svakoj knjizi iz numericke matematike. cu Zoli ... RAM DISK is NOT an installation procedure! * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.825 postmast,
From: avram@setnet.co.yu (Sinisa Avram) Subject: Seriski broj Date: Sun, 18 Dec 1994 00:02:01 RM> Thanks,a dali znass kako mozze da se procita serijski broj diska ? RM> Ovu funkciju imas u zadnjim Racunarima u Bajtovima licne prirode. function GetDiskSerNo:string; {vratice 10 bajtova} var bbb,i :integer; srno: array[1..20] of char; srnostr : string[10]; begin while port[$1F7] = $50 do { wait for controller not busy} begin end; port[$1F6] :=$A0; {Get first drive } port[$1F7] :=$EC; {Get drive info data } while port[$1F7] = $58 do { wait for data ready} begin end; delay(1000); for i:=1 to 10 do bbb:=portw[$1F0]; for i:=1 to 5 do begin bbb:=portw[$1F0]; srno[2*i-1] :=Chr(Mem[Seg(bbb):Ofs(bbb)+1]); srno[2*i ] :=Chr(Mem[Seg(bbb):Ofs(bbb)]); end; Move(srno,srnostr[1],10); srnostr[0]:=Chr(10); GetDiskSerNo := SrNoStr; end; Pozdrav, Avram. ... Who's not with us, he's against us. (Julius Ceasar) * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.826 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 18 Dec 1994 22:08:00 To: "Sasa Zeman" <szeman@sezam.UUCP> > Kod nekih aplikacija je potrebno precizno navesti ceo >string, pa me zanima gde se u *NEPROMENJENOM* obliku smestaju parametri koji >su prosledjeni programu, odnosno, celokupna komandna DOS linija posle >starovanja programa. Ako ti treba da se recimo Pera Peric prosledi kao jedan parametar, stavi ga pod navodnike, tj. "Pera Peric". DOS sve izmedju navodnika, bez obzira na SPACE smatra za jedan parametar. broker * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.828 sjocic, -> #816, dejanr
> Umesto da koristiš readln, stavi na početak uses crt pa onda > koristi readkey, u petlji. Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Probao sam sa imefajla:=imefajla+'lpt1'; Exec('c:\dos\copy','ime fajla') ali nece. Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, odstampa samo naziv datoteke (napominjem da je imefajla:text).
pascal.829 inesic,
Ima jedna DOSova eksterna komanda i zove se print. Divna stvar! Ti joj, kao parametar, daš ime text fajla, a ona sama printa u pozadini, vodeći računa o tome da li je printer on-line. Štaviše, moguće je dati celu listu fajlova, pa će print da ih izbaci jedan po jedan. Ono što mene zanima je kako da iz paskal programa printu prosledim argumente - fajlove za štampu. Da li je to moguće uraditi pomoću exec naredbe i kako da napišem onu $M kompajlersku direktivu, da ima memorije i za exec naredbu i za gomilu mojih procedura, koje su takođe memorijski zahtevne?
pascal.830 mboban, -> #828, sjocic
=-= Ok, to radi fino, ali kako direktno iz programa da stampam text file ? =-= Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, odstampa =-= samo naziv datoteke (napominjem da je imefajla:text). Ja to radim ovako: Uses Printer; Var f:text; s:string; Begin Assign(f,'fajl.txt'); Reset(f); While not eof(f) do Begin ReadLn(f,s); WriteLn(lst,s); End; End. Gde je fajl.txt fajl kojeg treba odštampati...
pascal.831 evlad, -> #828, sjocic
>> Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Ako imaš ceo pascal instaliran pogledaj lister.pas koji je sa njim 'došao', tamo ti je sve lepo objašnjeno !!! konkretno za tp 7.0 je u ĐtpĐexamplesĐlister.pas
pascal.832 dejanr, -> #828, sjocic
>> Ok, to radi fino, ali kako direktno iz programa da stampam text file ? Najjednostavniji (premda ne baš savršen, kada se radi o slikama) način: var stampa: text; assign (stampa, 'lpt1'); rewrite (stampa); writeln (stampa, "Prvi red"); writeln (stampa, a+b, c+d); itd close(stampa);
pascal.833 dejanr, -> #829, inesic
>> Ono što mene zanima je kako da iz paskal programa printu >> prosledim argumente - fajlove za štampu. Da li je to moguće >> uraditi pomoću exec naredbe i kako da napišem onu $M kompajlersku >> direktivu, da ima memorije i za exec naredbu i za gomilu mojih >> procedura, koje su takođe memorijski zahtevne? Imaš recept za korišćenje EXEC naredbe ovde bar jedno 10 puta u zadnjih par meseci :), dakle pogledaj starije poruke. Jako ukratko, staviš {$M 16000,0,0} (ili ne baš 0,0, ako ti programi koriste heap) i onda sa exec pozoveš command.com i proslediš mu ime komande. Međutim, PRINT nije dobro pozivati na ovaj način, pošto (pod odgovarajućim uslovima) ostavlja deo sebe rezidentan u memoriji, što može da napravi haos (ili bar fragmentiranu memoriju) kada se pozove iz tvog programa. Mnogo je bolje da sam rešiš štampu, kao što sam opisao u prethodnoj poruci. Ili, ako baš hoćeš da pozivaš nešto, pozovi COPY /B fajl LPT1.
pascal.834 inesic, -> #833, dejanr
> Međutim, PRINT nije dobro pozivati na ovaj način, pošto (pod > odgovarajućim uslovima) ostavlja deo sebe rezidentan u > memoriji, što može da napravi haos (ili bar fragmentiranu > memoriju) kada se pozove iz tvog programa. Mnogo je bolje da > sam rešiš štampu, kao što sam opisao u prethodnoj poruci. Ili, > ako baš hoćeš da pozivaš nešto, pozovi COPY /B fajl LPT1. Ja printa imam skoro uvek instaliranog u memoriji i spreman sam na kompromis da najpre njega instaliram, pa onda da startujem moj program. Ne znam kako bih rešio štampu tako da se ona radi u pozadini, dok moj program čeka neki unos s tastature (ovaj program koji sam skrpio i onako 90% vremena radi baš to). Imam dosta za štampu i malo mi je nezgodno da bacam vreme dok unosim podatke. žini mi se da COPY /B ne ume da radi u pozadini i da će mi to vreme računar biti mrtav za unos podataka.
pascal.835 aleka,
Hi! Upravo sam naisao na jednu stvar koju ne mogu da razjasnim,a to je ovo: FOR X = 0.1 to 1 step 0.1 PRINT X NEXT X Izlaz: .1 .2 .3 .4 .5 .6 .7 .8000001 .9000001 ^^^^^ Zbog radi cega su ove nule? A interesantno je da se to desava samo pri ovom slucaju! Pozdrav, Mindza. P.S.U nadi da ce vasi programerski mozgovi znati da osvetle ovaj slucaj (Of Course,ako nije restrikcija;))
pascal.836 dejanr, -> #834, inesic
>> žini mi se da COPY /B ne ume da radi u pozadini i da će >> mi to vreme računar biti mrtav za unos podataka. To je tačno, nisam primetio da ti je potrebna štampa u pozadini. Onda je možda print najjednostavnije rešenje, ako ga najpre rezidentno instaliraš. Alternativa bi bila da praviš "svoj print" koji radi pod interaptom, što je u datoj prilici verovatno nepotrebno usložnjavanje.
pascal.837 vitez.koja, -> #828, sjocic
#=> Probao sam sa imefajla:=imefajla+'lpt1'; #=> Exec('c:\dos\copy','ime fajla') ali nece. #=> Probah i sa Uses Printer, pa Lst:imefajla, ali ne vredi, #=> odstampa Probaj sa exec('c:\dos\copy', 'ime_fajla prn'), ili još bolje: uses printer; f: text; s: string; while not eof(f) do begin readln(f, s); writeln(lst, s); end;
pascal.838 vgenije,
Kako da iz pascala napravim plaikaciju koja ce kontrolisati rad modema konkretno da na upucen pozziv modem se javi i posle je sve prica ostalog dela programa?
pascal.839 vgenije,
e vidite gde je ovde bag.Ubi se trazeci ga a ono nece da mi pretrazuje preko opisa robe? kese.pas