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.636 kriss, -> #628, vlador
˙˙ Da. :) Još kad bi radilo u Windowsu... :( Stvarno, zašto bre ˙˙ ovo ne radi u Windowsu? Inače, nisam čitao boot nego sam preko ˙˙ funkcije $69 int $21 čitao volume label. Sors sam ostavio u ˙˙ PC.PROG:windows.233. Isti taj sors kroz DOS radi (???). Nemam pojma o čemu se radi, ali evo programa koji radi (u DOS-u), pa probaj da ga doradiš/ispraviš prema svojim potrebama: mov ah,1ah ; Set DTA, da bacimo DTA na kraj fajla mov dx,offset kraj int 21h mov ah,4eh ; find first mov dx,offset filetype mov cx,8 ; osmi bit je volume label int 21h mov ah,4ch ; terminate int 21h filetype: db "*.*",00 kraj: Ovo dakle _radi_ i pronalazi volume label bez obzira u kom je dir-u pokrenuto. Volume label ti se nalazi u (novoj) DTA, na adresi kraj+01eh - tvoje je da ga samo pokupiš. Za win veruj ne znam, ne gajim to na disku.
pascal.637 ognjen, -> #625, sslavko
)-> Znam da se to desava zbog prekoracenja integer-a, ali mi je )-> opet malo priglupo da Borland nije vodio racuna o ovome. Ili )-> mozda jeste ali ja ne znam. Pa i nije tako glupo. Da bi se zapamtio jedan integer potrebno je (cini mi se) 16 bitova. Ti definises i: integer; i on rezervise 16 bitova za ti I. Posle samo toliko mozes da koristis, tj. posle prekoracenja 111..111 (16 puta) dolazi 000..000, sto je -32767, i tu nema pomoci. Ako zelis da radis sa vecim brojevima izaberi longint, a ako ti se radi sa bas velikim, radi sa REAL.
pascal.638 sslavko, -> #637, ognjen
>> je (cini mi se) 16 bitova. Ti definises i: integer; i on >> rezervise 16 bitova za ti I. Posle samo toliko mozes da koristis, Jeste ali ni sledeći program ne radi: var i:integer; j:longint; begin i:=6; j:=10 writeln(i*3600+j); end. ...na primer. Iako se za ispis gura i longint writeln opet brlja.
pascal.639 vlador, -> #633, andrejt
> Glupi Windows ;)) Zar on ne preuzima neke interapte ? Nemam veze sa winom > ali mozda preuzme 21 pa onda 21,69h ne radi kako je ocekivano ? Stvarno, možda... Kako da saznam šta je Windows uradio sa interaptima?
pascal.640 andrejt, -> #639, vlador
__> Stvarno, mozda... Kako da saznam sta je Windows uradio sa interaptima? Zavisi kako ih preuzima ... Ako ih preuzima preko int 21,25 onda je jednostavno : samo preuzmes int 21h i cekas da ti se u ah pojavi 25h a u AL npr. 8,9 ili koji vec interapt oces da vidis i onda procitas DS:DX - pointer na novi int. E sad ako samo upise u memoriju na mesto int vectora ono sto mu treba onda nemam pojma.
pascal.641 janko, -> #638, sslavko
>>> je (cini mi se) 16 bitova. Ti definises i: >>> integer; i on rezervise 16 bitova za ti I. Posle samo > toliko mozes da koristis, > > Jeste ali ni sledeći program ne radi: > > var i:integer; > j:longint; > > begin > i:=6; > j:=10 > writeln(i*3600+j); > end. Zbog prekoračenja međurezultata. Probaj var i : integer; var j : integer; (* ovo je dovoljno za ovu upotrebu *) ... writeln( longint(i)*3600 + j ) i sve je OK. Takođe probaj da nađeš negde neki tekst o implicitnim konverzijama, napravio si stratešku grešku, koju ne bi da si znao tu priču.
pascal.642 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: Boje Date: Sun, 06 Nov 1994 16:43:00 SM> Nadam se da sam, iako ne kao za prethodno pitanje, bar malo SM> pomogao. Jesi! Hvala ti mnogo! :))))) ... Sreca.To je...NO CARRIER * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.643 postmast,
From: Vladimir.Bonc@f101.n101.z38.setgate.setnet.co.yu (Vladimir Bonc) Subject: Konverzija tipova Date: Tue, 08 Nov 1994 06:44:11 Sta ovde ne valja: ... var dd, mm, gg: integer; datum : longint; ... begin datum := dd + mm*100 + gg*10000 ... Moj kolega je skoro koristio slicnu konstrukciju u TP i, umesto ocekivanog rezultata, dobio je rezultat tipa integer, iako je datum deklarisao kao longint. U uputstvu za Kickpascal koji sam ranije koristio za Amigu, upozoravaju na ovakvu situaciju Program IntToLong; Var a,b: integer; begin a:=26731; b:=20000; write(a+2*b); end. i predlazu resenje: write(a+2*long(b)), znaci, prisiljavanje kompajlera da racuna u opsegu longint. Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu kao long? * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.644 sslavko, -> #643, postmast
>> Sta ovde ne valja: Isto što i u mom primeru od pre par dana :))) >> Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu >> kao long? Evo Janko je to objasnio u 7.641. Znači Longint(b);
pascal.645 evlad, -> #643, postmast
>> begin >> datum := dd + mm*100 + gg*10000 >> >> Kako se ovo izvodi u TP a da se varijable dd, mm i gg ne deklarisu >> kao long? datum := LongInt(dd) + LongInt(mm)*100 + LongInt(gg)*10000;
pascal.646 uobradovic, -> #640, andrejt
::> Zavisi kako ih preuzima ... Ako ih preuzima preko int 21,25 ::> onda je jednostavno : samo preuzmes int 21h i cekas da ti se ::> u ah pojavi 25h a u AL npr. 8,9 ili koji vec interapt oces da ::> vidis i onda procitas DS:DX - pointer na novi int. E sad ako ::> samo upise u memoriju na mesto int vectora ono sto mu treba ::> onda nemam pojma. E,a kako ja da naučim sve ovo.Mislim kada da koristim DS kada DX,zašto nije AL nego AX ...... Uroš P.S. Ovo sam lupao jer neznam ništa o tome.Probao sam da učim iz Brian-ove knjige ali ne ide.
pascal.647 szeman, -> #625, sslavko
>> Znam da se to dešava zbog prekoračenja integer-a, ali mi je >> opet malo priglupo da Borland nije vodio računa o ovome. Ili >> možda jeste ali ja ne znam. Integer * integer = integer i tu nema pomoći, osim ako se ne promeni tip varijable ili ne napiše konstanta u real obliku, kao 4000.0.
pascal.648 pedjak, -> #638, sslavko
> Jeste ali ni sledeći program ne radi: > writeln(i*3600+j); > ...na primer. Iako se za ispis gura i longint writeln opet > brlja. Zato što TP smatra da je rezultat neke računske operacije istog tipa kao i prvi operand, ukoliko ti eksplicitno ne tražiš drugačije. Prilično glupo, ali šta je tu je :) To se može rešiti sa: writeln(longint(i)*3600+j);
pascal.649 vukov,
Pitanje za poznavaoce Turbo Pascala: Da li je moguce iz programa usmeriti stampanje na port LPT2, uz potpuno ocuvanje udobnosti rada sa LST datotekom iz Borlandovog PRINTER Unit-a? Zahvaljujem unapred na svim sugestijama.
pascal.650 vlador, -> #640, andrejt
> 25h a u AL npr. 8,9 ili koji vec interapt oces da vidis i onda procitas Ok, probaću. I šta da radim ako je preuzeo int?
pascal.651 uobradovic,
U Pascalu neće da mi radi sledeći program. {$M 2000,0,0} Uses Dos; begin exec('ime fajla',''); end; Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i oslobodim stek jer treba da startujem neke programe,naprimer TM. Uroš
pascal.652 dares, -> #651, uobradovic
VL> U Pascalu neće da mi radi sledeći program. VL> VL> š$M 2000,0,0ć VL> Uses Dos; VL> begin VL> exec('ime fajla',''); VL> end; VL> VL> Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i oslobodim VL> stek jer treba da startujem neke programe,naprimer TM. VL> Probaj ovako: š$M 2000,0,0ć Uses Dos; begin SwapVectors; exec('Ime_fajla',''); MMM SwapVectors; end.
pascal.653 pedjak, -> #649, vukov
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz > potpuno ocuvanje udobnosti rada sa LST datotekom iz Borlandovog > PRINTER Unit-a? Naravno, potrebno je sledeće: var lst:text; Assign(lst,'lpt2'); Reset(lst); Ostatak koda ne moraš da menjaš.
pascal.654 pedjak, -> #651, uobradovic
> exec('ime fajla',''); Ime fajla mora biti sa kompletnom putanjom i ekstenzijom, na primer c:/pera/mika/laza.exe
pascal.655 andrejt, -> #646, uobradovic
__> E,a kako ja da naucim sve ovo.Mislim kada da koristim DS kada __> DX,zasto nije AL nego AX ...... Imas cini mi se i na sezamu neki spisak intova od 4 mb ;)) Koristio sam HelpPC 2.01 - moze da se skine i sa sezama kolko mi se cini. (Nije veliki - oko 800k texta) __> P.S. Ovo sam lupao jer neznam nista o tome.Probao sam da ucim __> iz Brian-ove knjige ali ne ide. Kako ne ide ? Sta ti ne ide ? (Jel' mislimo na istog Briana ? ;))
pascal.656 andrejt, -> #650, vlador
__> Ok, probacu. I sta da radim ako je preuzeo int? Ne znam dal' bi ovo radilo - ne koristim win ali mogo bi da probas da napravis jos jedan int21 (mislim da ga preuzmes jos jednom) i da kao adresu neke globalne prom. tipa procedure stavis ono sto dobijes kao adresu winovog int handlera i onda u novom intu proveris ono sto ti treba pa ako je funkcija za menjanje voluma (jel se o ovome bese radilo ?) ti pozoves onaj prvi - dosov int21 a ako to nije ta funkcija onda samo pozivas winov int21.
pascal.657 vlador, -> #649, vukov
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz potpuno Evo potpunog kratkog sorsa printer.tpu-a. Možeš promeniti šta ti se ne sviđa. :) --- Cut here --- {*******************************************************} { } { Turbo Pascal Runtime Library } { Printer Interface Unit } { } { Copyright (C) 1988,92 Borland International } { } {*******************************************************} unit Printer; {$I-,S-} interface var Lst: Text; implementation procedure LstBinaryMode; inline( $8B/$1E/Lst/ { MOV BX,Lst.Handle } $B8/$00/$44/ { MOV AX,4400H } $CD/$21/ { INT 21H } $80/$CA/$20/ { OR DL,20H } $B6/$00/ { MOV DH,0 } $B8/$01/$44/ { MOV AX,4401H } $CD/$21); { INT 21H } begin Assign(Lst,'LPT1'); Rewrite(Lst); LstBinaryMode; end. --- Cut here ---
pascal.658 omega, -> #651, uobradovic
Ţ U Pascalu nece da mi radi sledeci program. A da pogledas poruke od pre jedno mesec dana?
pascal.659 evlad, -> #651, uobradovic
>> š$M 2000,0,0ć >> Uses Dos; >> begin >> exec('ime fajla',''); >> end; begin exec ... WriteLn (OutPut,'Dos greška: ',DosError); ReadLn; (* ovo čeka enter, da bi na miru pročitao poruku *) end Pokušaj da očitaš DOSERROR variablu, da vidiš šta ti je dos prijavio (šta ga boli doktore ?) ... E onda probaš swapvect, puno ime datoteke, povećaš, kompajlersku direktivu $M na 8000 ili 16000 etc ... Prijatno ...
pascal.660 superhik, -> #652, dares
=:> MMM SwapVectors; ^^^ Jel treba i ovo ;) ili je samo loša veza!?
pascal.661 janko, -> #649, vukov
> Da li je moguce iz programa usmeriti stampanje na port > LPT2, uz potpuno ocuvanje udobnosti rada sa LST datotekom > iz Borlandovog PRINTER Unit-a? Da. Odgovor je prost -- ne koristi taj junit, otvori svoju datoteku lst2 i gotovo.
pascal.662 janko, -> #651, uobradovic
> U Pascalu neće da mi radi sledeći program. > > {$M 2000,0,0} > Uses Dos; > begin > exec('ime fajla',''); > end; > > Imam 2 Mb Ram-a.Neznam kako da deklarišem direktivu i > oslobodim stek jer treba da startujem neke > programe,naprimer TM. Stek si već rešio, ono što ti nije uspelo je da ti program nađe fajl -- nisi naveo punu adresu programa. Neispravno: exec("TM"); exec("\kumun\TM"); ispravno: exec("\komun\TM.exe"); Sa TM-om (ako je reč o komunikacionom programu, a ne Nortonovom Time Mark) ima šanse da ti ni ispravna varijanta ne uspe, jer TM je mnogo alav za memorijom (bar ova verzija koju ja koristim).
pascal.663 superhik, -> #659, evlad
=:> (šta ga boli doktore ?) ... E onda probaš swapvect, puno ime =:> datoteke, $$$$$$$$ Zašta uopšte služi naredba SwapVectors ?
pascal.664 evlad, -> #663, superhik
>> Zašta uopšte služi naredba SwapVectors ? The following variables are all of the type pointer, and save the original values of interrupt vectors that Turbo Pascal changes. Their names are of the form SaveIntXX, where XX is the interrupt number in hex: SaveInt00,SaveInt02,SaveInt1B,SaveInt23,SaveInt24,SaveInt34,SaveInt35, SaveInt36,SaveInt37,SaveInt38,SaveInt39,SaveInt3A,SaveInt3B,SaveInt3C, SaveInt3D,SaveInt3E,SaveInt3F,SaveInt75: pointer; Sve ove interrupt vektore paskal preusmerava. Naredba SwapVector ih postavlja na originalnu vrednost.
pascal.665 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: tri-door Date: Sat, 12 Nov 1994 12:09:00 > Ja sam pravio neke door-ove i mogu ti reci da je TPU -- > mrak! > Very easy za upotrebu, jasna imena func. i proc. koje > skoro sve rade > za tebe, tako da se pisanje svodi na nesto > komplikovanije pisanje > programa za DOS, jer ti TPU proc. i func. same obavljaju > prakticno > zezanje sa modemom. :)) Da li si mozda provalio kako moze da se izabere (naravno iz TPU-a) ANSI, ASCII ili AVATRRAT grafika - ja sam napravio neki door - ali samo podrzav ANSI grafiku, tj. moze on da radi i sa ASCII-em i AVATAR-om ali nece sve da se ispise na ekranu kao sto bi to ANSI uradio :( Pozdrav Bole... p.s. raf bbs / tel. 011/724-073 svakog dana od 22-06 h * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.666 postmast,
From: Zoran.Rilak@f125.n103.z38.setgate.setnet.co.yu (Zoran Rilak) Subject: (R) PITANJE Date: Sat, 12 Nov 1994 20:55:00 [ Citat iz poruke (autor: Aleksandar Sasa Nikolic) na temu PITANJE : ] ASN> ... Naravno za merenje vremena se za one koji ASN> ne znaju koristi INT 08 koji kuca 18,2 puta po sekundi dakle... Moj ti je savet da taj INT ostavis na miru; on je potreban hardveru. Umesto njega koristi INT 1CH, on se poziva iz INT 8H (dakle svakih 55 ms) i originalno sadrzi pointer na IRET. Ovo ti je "cistiji" nacin da uradis istu stvar. Sa druge strane, ako ti je potrebno MNOGO preciznije merenje vremena mozes to izvesti pomocu INT 15H, funkcije 83H/86H. Prva se zove "Event Wait" a koristi se ovako: u AL upises vrednost podfunkcije (0 - postavljanje, 1 - brisanje intervala). Ako ti je AL = 0, onda u ES:BX upises seg:ofs bajta u memoriji koji ce signalizirati kraj intervala u milisekundama, koga postavljas u LONGWORD CX DX (CX je visi WORD). Kada sve to tako postavis (ne zaboravi AH = 83H!), izvrsi INT 15H i tada se kontrola vraca tvom programu. Na njemu je da s vremena na vreme proveri da li je bajtu na adresi ES:BX setovan bit 7; ako jeste, period CX DX je istekao. Funkcija 86H se koristi isto kao i 83H, samo ne postavljas ES:BX niti AL; po isteku CX DX kontrola se vraca tvom programu. Interapti se ne izvrsavaju dok interval ne istekne. Kako bilo da bilo, imaj u vidu da ove funkcije nisu dostupne na svim racunarima (ima ih na AT i +). Ako funkcije ne postoje, nakon INT 15H bice setovan CF. ... Who made you God to say: "I will disconnect you!" (obrada Metalike) * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.667 vukov, -> #653, pedjak
> Da li je moguce iz programa usmeriti stampanje na port LPT2, uz >> Naravno, potrebno je sledeće: >> var lst:text; >> Assign(lst,'lpt2'); >> Reset(lst); Zahvaljujem na poruci. Isprobano i fino radi, uz jednu malu korekciju: naime, datoteku LST treba otvoriti za upis, tj. potrebno je staviti Rewrite(lst) umesto Reset(lst). Pozdrav Vukov
pascal.668 zarkos,
U Turbo Pascalu 6.0 sam uradio rezidentni program koji skuplja podatke sa serijskog porta. Program koristi nedokumentovane DOS funkcije, i to lepo funkcionise do momenta pokretanja Windows-a. Naime Windows proradi lepo, ali moj rezidentni program nestaje, tj. nema ga vise. Potrebno je naravno da programcic zivi i pre i posle pokretanja Windows-a. Ako neko ima resenje... Pomagajte!!! P.S. Znam da nije bas neki opsiran opis, ali mozda je neko imao neki slican problem. Zarkos
pascal.669 andrejt, -> #668, zarkos
__> P.S. Znam da nije bas neki opsiran opis, ali mozda je neko imao neki __> slican problem. Imao je neko ovakve probleme - samo ne znam da li su nedokumentovane funkcije bile u pitanju - ja sam dao "objasnjenje" da win preuzima intove i onda ne moze da se normalno radi samo njima - mada verovatno nije samo to u pitanju. Dakle pogledaj malo unazad poruke iz ove teme i pitaj coveka kako je to resio - verovatno jeste posto se posle nije javljao vise.
pascal.670 inikolic,
Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li je problem u meni(nesto sam izostavio i sta) ili je problem u TriDoor-u. Unapred zahvalan... Igor
pascal.671 zeljkoj, -> #542, inferno
> U pravu si... Nisam znao za procedure dok nisam procitao > bas2pas... :) I funkcije i procedure postoje u BASIC-u!
pascal.672 pedjak, -> #670, inikolic
> Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad > ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li > je problem u meni(nesto sam izostavio i sta) ili je problem u > TriDoor-u. Unapred zahvalan... Da li kontrolišeš iz svog doora da je došlo do prekida veze..? Ako ne, onda bi trebalo da kontrolišeš i shodno tome postupiš, recimo vratiš kontrolu BBS aplikaciji.
pascal.673 vlador, -> #669, andrejt
> i pitaj coveka kako je to resio - verovatno jeste posto se posle nije > javljao vise. Nije. ;) Rekao sam da ću probati kad budem imao vremena... A ovih danas nisam imao vremena. :)
pascal.674 frant, -> #662, janko
> Sa TM-om (ako je reč o komunikacionom programu, a ne Nortonovom Time > Mark) ima šanse da ti ni ispravna varijanta ne uspe, jer TM je mnogo > alav za memorijom (bar ova verzija koju ja koristim). Radiće sa Telemate-om 4.12 sigurno, probao sam. Frant
pascal.675 dzakic, -> #657, vlador
> Evo potpunog kratkog sorsa printer.tpu-a. Možeš promeniti šta ti se Odakle ti ovo? Imaš li sors i ostalih tpu-ova?
pascal.676 inikolic, -> #672, pedjak
Zanima me kako da kontrolisem prekid veze u TriDoor-u ako je to moguce, jer mislim da on to sam radi. Kod druga u C-u kada pukne veza ispadne se iz dora automatski, kao recimo da u pascalu kazete HALT. Ali kod mene nece, jednostavno kada pukne program on stane i mogu samo da resetujem racunar. Neverujem da je problem u TriDoor- posto sam ga skinuo sa SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je STA??? IGOR
pascal.677 andrejt, -> #676, inikolic
__> jer mislim da on to sam radi. Kod druga u C-u kada pukne veza ispadne se __> iz dora automatski, kao recimo da u pascalu kazete HALT. Ali kod mene Sta je tu automatski kod HALT ? __> nece, jednostavno kada pukne program on stane i mogu samo da resetujem Pukne program ? __> racunar. Neverujem da je problem u TriDoor- posto sam ga skinuo sa __> SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je STA??? Kako mi to da znamo - mislim dal' si ti nesto izostavio - sta si uopste stavio ? P.S. Jel' si probao sa funkcijom offline (vraca boolean) ?
pascal.678 uobradovic, -> #655, andrejt
::> Kako ne ide ? Sta ti ne ide ? ::> (Jel' mislimo na istog Briana ? ;)) Mislim na Stephena O'Briena i knjigu 'Turbo Pascal 6.0 - Kompletan vodič' Uroš
pascal.679 uobradovic, -> #658, omega
::> A da pogledas poruke od pre jedno mesec dana? Nemam ja toliko vremena.
pascal.680 andrejt, -> #678, uobradovic
__> Mislim na Stephena O'Briena i knjigu 'Turbo Pascal 6.0 - Kompletan __> vodic' E, pa ne znam sta moze da ti ne ide sa tom knjigom ? Stvarno ima dosta stvari vrlo lepo objasnjenih. Dakle ponavljam pitanje : Ti rece da ti nesto ne ide - sta ti nije islo - konkretno ?
pascal.681 vlador, -> #675, dzakic
> Odakle ti ovo? Imaš li sors i ostalih tpu-ova? Imam. To je deo Run Time Library-ja za BP 7.0.
pascal.682 omega, -> #679, uobradovic
Ţ::> A da pogledas poruke od pre jedno mesec dana? Ţ Ţ Nemam ja toliko vremena. E pa nemam ni ja. Ako ti treba resenje - gledaj.
pascal.683 duzle,
Da li neko ima paskal source (ako nema, moze i samo algoritam) sledecih metoda za resavanje sistema linearnih jednacina: - Direktni metodi: 1)Gauss 2)Cholasky 3)metod glavnih elemenata 4)Banachiewisz (metod kvadratnih korena) - Iterativni metodi: 1)Jakobi 2)Leibman (Gauss-Seidel) Jos ako neko ima isto i za dobijanje inverzne matrice (preferably Gausovim metodom).... ;). Pogadjate da mi je ovo potrebno za ispit is numericke matematike sa programiranjem (tako se u Skopju zove predmet) :)
pascal.684 d.stamen, -> #683, duzle
> Da li neko ima paskal source (ako nema, moze i samo algoritam) > sledecih metoda za resavanje sistema linearnih jednacina: > > - Direktni metodi: > 1)Gauss Prilazem source u Fortranu, lako ces ga promeniti... Matrica A su koeficijenti uz clanove, a u nizu X su resenja. Resava se sistem n*n, ali lako se da pretvoriti u n*m. subroutine GAUS(A,X,n) real pom,mx,A(300,301),X(300) integer I,J,K,L do 10 K=1,(n-1) mx=abs(A(K,K)) L=K do 20 I=(K+1),n if (mx.lt.abs(A(I,K))) then mx=A(I,K) L=I end if 20 continue if (L.ne.K) then do 30 J=1,(n+1) pom=A(K,J) A(K,J)=A(L,J) A(L,J)=pom 30 continue endif do 40 I=(K+1),n do 40 J=(K+1),(n+1) A(I,J)=A(I,J)-A(I,K)*A(K,J)/A(K,K) 40 continue 10 continue X(n)=A(n,(n+1))/A(n,n) I=n-1 50 continue if (I.eq.0) then goto 70 end if X(I)=A(I,(n+1)) do 60 K=(I+1),n X(I)=X(I)-A(I,K)*X(K) 60 continue X(I)=X(I)/A(I,I) I=I-1 goto 50 70 end
pascal.685 duzle, -> #684, d.stamen
>**>> 1)Gauss >**> >**> Prilazem source u Fortranu, lako ces ga promeniti... >**> Matrica A su koeficijenti uz clanove, a u nizu X su resenja. >**> Resava se sistem n*n, ali lako se da pretvoriti u n*m. Hvala. Ognen P.S. Da li su bas sve knjige i svi programi koji nesto rade sa ovim metodama vezani za Fortran (do sada mi je kroz ruke proslo jedno 15-tak knjiga iz numericke i svi primeri su u ovom jeziku) ? Problem je u tome sto bih sam seo i napisao ovo ali, nema se vremena (zato sam i zamolio da mi neko sa sezama da gotov source). Anyway, thanx a lot.
pascal.686 duzle,
Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi P-code pascal kompajler. Svrha programa je borba medju robotima koji su napisani u paskalu. Roboti imaju svoj motorni pogon, svoje oruzje, radare itd. koje koriste na bojnom polju. E, sad, da li ima zainteresovanih da se organizuje takmicenje borbe medju robotima (svako ko je zainteresovan napise svojeg robota - pravila za pisanje su jednostavna, neke vec predefinisane procedure postoje, mainly za skeniranje bojista, pucanje, pomeranje, dobijanje koordinata robota, ocitavanje momentalne stete itd.) ? Cisto da vidimo ko najbolje poznaje paskal (i ko je najbolji strateg, a bogami i programer ;)).
pascal.687 uobradovic, -> #680, andrejt
::> stvari vrlo lepo objasnjenih. Dakle ponavljam pitanje : Ti ::> rece da ti nesto ne ide - sta ti nije islo - konkretno ? Za sad nema ništa tako mnogo konkretno.Jednostavno nerazumem. Na primer xoću da napravim sat neznam koje registre da koristim i kako.Ili da na primer izlistam direktorijum u dve kolone..... Uroš P.S. Hvala na pomoći
pascal.688 uobradovic, -> #681, vlador
::>> Odakle ti ovo? Imaš li sors i ostalih tpu¤ša? ::> ćmaÁŚ$TĚ$je deo Run Time Library-j! sa BP 7.0. Može li neko da mi kaže o čemu se radi jer se nisam javljao oko 7 dana na Sezam a pad mi je bio ogroman da bi uspeo da ga skinem.
pascal.690 andrejt, -> #687, uobradovic
__> Za sad nema nista tako mnogo konkretno.Jednostavno nerazumem. __> Na primer xocu da napravim sat neznam koje registre da koristim Najbolje je da pogledas malo unazad u ovu temu jer se pre raspravljalo o merenju vremena - a mene mrzi da sad pisem. (Ako ti bas toliko nije jasno pitaj me na mail sta ti treba - kad ti nesto konkretno bude trebalo - - pa cu da ti kazem). __> i kako.Ili da na primer izlistam direktorijum u dve kolone..... Imas primer za 'dir' bas u o'brianovoj knjizi ako se ne varam. (Pogledaj u helpu za findfirst,findnext itd.)
pascal.691 inesic, -> #686, duzle
> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi > je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj > se nalazi P-code Buuuu, shmrtz. Oćemo PROBOTS.zip
pascal.692 uobradovic, -> #686, duzle
::> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle ::> mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U ::> njoj se nalazi P-code A jel možeš ti da pošalješ to pa da kasnije vidimo ko to može a ko nemože da nastavi sa takmičenjem.Možda u tom programu ima korisnog sora.
pascal.693 uobradovic, -> #686, duzle
::> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle ::> mi je, mozda je i sa Sezama pa je u ovoj poruci ne saljem). U ::> njoj se nalazi P-code A jel možeš ti da pošalješ to pa da kasnije vidimo ko to može a ko nemože da nastavi sa takmičenjem.Možda u tom programu ima korisnog sora.
pascal.694 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: Re: pascal Date: Sat, 19 Nov 1994 14:33:00 -=> Quoting "Igor Nikolic" to All <=- "N> From: "Igor Nikolic" <inikolic@sezam.UUCP> "N> Newsgroups: yu.prog.pascal "N> Organization: SEZAM Beograd, 011 648-422 "N> Imam jedan problem vezan za TriDoor, napravio sam jedan door ali kad "N> ga startujem pri vezi i ako veza pukne , racunar se zablokira. Da li "N> je problem u meni(nesto sam izostavio i sta) ili je problem u "N> TriDoor-u. Unapred zahvalan... I meni se to dogadja isto ... :(( Kada napravis door u TRIDOOR-u da li ti je orijentisan samo za ANSI grafiku (osim ako koristis naredbe TD_naredba) Ja nisam primetio nikakvu razliku izmedju naredbe TD_CLRSCR i ANSI_CLRSCR ?! Da li si provalio kako moze da se ocita AVATAR skrin iz tridoor-a ? Ja nisam :( Pozdrav Bole... p.s. pozovi RAF BBS / tel. 011/724-073 svakog dana od 22-06 h Ja sam SySop... :)) ... My hard disk is full! Maybe I'll try this message section thing. * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.695 postmast,
From: Bosko.Rafajlovic@f125.n103.z38.setgate.setnet.co.yu (Bosko Rafajlovic) Subject: Re: pascal Date: Sat, 19 Nov 1994 14:37:01 -=> Quoting "Igor Nikolic" to All <=- "N> From: "Igor Nikolic" <inikolic@sezam.UUCP> "N> Newsgroups: yu.prog.pascal "N> Organization: SEZAM Beograd, 011 648-422 "N> Zanima me kako da kontrolisem prekid veze u TriDoor-u ako je to "N> moguce, jer mislim da on to sam radi. Kod druga u C-u kada pukne veza "N> ispadne se iz dora automatski, kao recimo da u pascalu kazete HALT. "N> Ali kod mene nece, jednostavno kada pukne program on stane i mogu samo "N> da resetujem racunar. Neverujem da je problem u TriDoor- posto sam ga "N> skinuo sa SEZAM-a. Verovatno sam ja nesto izostavio, ali pitanje je "N> STA??? IGOR Najbolje bi bilo da sacekamo verziju 4.0 (ili koje vec ide...) pa da onda vidimo kako ce se desavati ! I meni se to dogadja...Kakve door-ove pravis u tridoor-u ? i koji TP koristis ? Mozda je u ovoj verziji taj problem neostvarljiv ili je neki bug... :(( Pozdrav Bole... ... ebius tagline. This is a moebius tagline. This is a mo ... * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.696 postmast,
From: bear@setnet.co.yu (Attila Csipa) Subject: Modula 2 Date: Thu, 17 Nov 1994 20:35:22 Bas sam pre neki dan pregledavao ponudu prodavca softvera iz Madjarke i vidim sledece: Borland: Borland xxx vx.xx Turbo xxx vx.xx Symantec: Modula 2 v9.1 E sad, dal' neko zna kakva je to Modulica ? Cudi me da je dosad prosla neopazeno (kod relativno poznatog izdavaca), a ima i relativno veliki broj verzije (cak 9.1). So, ako neko zna nesto... Bear@setnet.co.yu * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.697 mdave, -> #696, postmast
Subject: Re: Modula 2 MD> From: bear@setnet.co.yu (Attila Csipa) MD> Symantec: MD> Modula 2 v9.1 Pošteno da ti kažem, nikad čuo. Inače, ne znam koliko si upoznat ali modulaši uveliko prelaze na Modula-3. :) SRC DEC je "proizvođač", a aminovano je od strane Wirth-a.
pascal.698 vlador, -> #686, duzle
> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, mozda > je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi P-code Šalji! :)
pascal.699 duzle, -> #692, uobradovic
>**> A jel možeš ti da pošalješ to pa da kasnije vidimo ko to >**> može a ko nemože da nastavi sa takmičenjem.Možda u tom >**> programu ima korisnog sora. Source (ako si na to mislio sa onim "sora" :)) kod kompajlera nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak robota.Evo je i arhiva. :) probots.arj
pascal.700 andrejt,
Jel' ima neko neki primer TSRa koji preuzima INT 21h ? P.S. Moze i na mail.
pascal.701 inesic, -> #699, duzle
> Source (ako si na to mislio sa onim "sora" :)) kod kompajlera > nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak > robota.Evo je i arhiva. :) Skinuo arhivu. Pročitao .doc i probao nekoliko robota sa target. Mislim da je jako zanimljivo. Pokušaću ovih dana na poslu da nađem vremena pa da i ja napravim nekog robota. Interesantna igra, čak bih rekao dobra za početnike koji uče paskal. Ako ima još zainteresovanih nek se jave, a ako nema, da ne opterećujem conf eventualno napravljenim robotima. Ili da se otvori grupa?
pascal.702 sslavko, -> #699, duzle
Prilično interesantna igra. Nije toliko u pitanju poznavanje programiranja koliko algoritmika. Ja sam napravio nekoliko varijanti i zainteresovan sam za razmenu i okršaj sa ostalima. P.S. Ajde neka neko pobedi GORO-a. ja ne uspevam nikako. Naravno direktno kopiranje datih robota ne dolazi u obzir.
pascal.703 ognjen,
Moze li se nekako upisati neki znak u donji desni ugao ekrana a da isti ne 'odskroluje' za jedan red?
pascal.704 andrejt, -> #703, ognjen
__> Moze li se nekako upisati neki znak u donji desni ugao ekrana __> a da isti ne 'odskroluje' za jedan red? Nisam siguran nasta mislis ali probaj : Var VM : Array[1..4000] Of Byte Absolute $B000:$8000; Ch : Char; Begin Read(Ch); VM[3999] := Ord(Ch); VM[4000] := 15; End. P.S. Posto upisuje direktno u video memoriju nece 'odskrolovati'. P.P.S. Za vise o ovome me pitaj na mail.
pascal.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 Još nešto. Ako vas nervira čekanje pri startovanju probots.exe onda ga izeditujte, nadjite niz: 36 8B 57 04 i zamenite ga sa: BA 00 00 90. Ovo izbacuje čekanje ali ostavlja uvodnu poruku. (da se ne ogrešim baš mnogo). killer.pr
pascal.706 sslavko, -> #700, andrejt
Evo ti kako sam ja rešio presretanje int $21. Ako se radi o upisu u fajl onda postavljam pointer strp na string koji se upisuje, a u strplen upisujem veličinu stringa. Ovo zato što on posle upisa poništi veličinu stringa pa je potrebno sačuvati je. Naravno meni je trebalo ovako, a ti vidi. var strp:žstring; strplen:byte; old21:procedure; š$F+ć procedure new21;interrupt; label dalje; begin asm pop bp pop es pop d pop di pop si pop dx pop cx pop bx pop ax push word ptr old21+2 push word ptr old21 pushf cmp ah,$40 jne dalje push d pop word ptr strp+2 sub dl,1 mov word ptr strp,dx add dl,1 mov strplen,cl dalje:popf mov ds,d retf end; end; š$F-ć
pascal.707 inesic, -> #703, ognjen
> Moze li se nekako upisati neki znak u donji desni ugao ekrana > a da isti ne 'odskroluje' za jedan red? Ja koristim procedure writeStr i sriteChr iz unita win koji je priložen uz TP5.5 (nisam prešao na noviju verziju jer mi je pri kompajliranju demoa iz TP6.00 prijavljivao not inaf memori: imam XT sa 640k). Ove priložene procedure rade ispis direkto u memoriju, nešto su brže, i nema tih neželjenih efekata. Ja uvek pazim da formatiram ispis, tj. string mi nikad nije duži nego što bi smeo da bude, pa ne znam šta se dešava kad na poziciji 79,25 ispišeš string dug 10 karaktera, ali vredi probati. Jedina nezgoda je ta što pre ispisa moraš broj da konvertuješ u string. U tu svrhu sam napravio proceduru koja od broja pravi string sa željenim brojem decimala, umeće zareze (ili tačke) na svaka tri mesta (odvaja klase) opciono. Napraviš sebi jednom takvu uslužnu proceduru i prebrineš brigu za sva vremena.
pascal.708 inferno, -> #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 ja se stvarno izvinjavam (nisam pratio raspravu od pocetka), pa ako mogu znati o kakvim je robotima rec? :))
pascal.709 duzle, -> #701, inesic
>**> robota. Interesantna igra, čak bih rekao dobra za >**> početnike koji uče paskal. Ako ima još zainteresovanih nek >**> se jave, a ako nema, da ne opterećujem conf eventualno >**> napravljenim robotima. Ili da se otvori grupa? Ja mislim da se otvori grupa.
pascal.710 duzle, -> #704, andrejt
>**> P.S. >**> Posto upisuje direktno u video memoriju nece 'odskrolovati'. >**> P.P.S. >**> Za vise o ovome me pitaj na mail. Nece ni ako koristis Int 10h, funkcija 09h (write char at cursor). Normalno pre toga treba da se postavis na zeljenu poziciju.
pascal.711 andrejt, -> #706, sslavko
__> Evo ti kako sam ja resio presretanje int $21. Ako se radi o __> __> procedure new21;interrupt; ... __> pop bp __> pop es __> pop d <- __> pop di __> pop si __> pop dx __> pop cx __> pop bx __> pop ax ... __> push d <- ... Sta je ovo 'd' ?
pascal.712 sslavko, -> #711, andrejt
>> ... >> __> pop d <- >> ... >> __> push d <- >> ... >> >> Sta je ovo 'd' ? Ops, sorry. Na to sam zaboravio. var d:word; promenljiva u kojoj čuvam DS registar. Ako DS napuniš originalnom vrednošću onda gubiš sve svoje promenljive, a potrebno je ponekad u INT proslediti i originalnu vrednost DS-a. Zato sam to tako uradio. Ako neko ima bolje rešenje neka kaže.
pascal.713 dares,
Roboti su stvarno prava stvar. Ima li neko možda neko source onog kompajlera, da borbu prebacimo u grafički mod? Time bi beorba bila i vizuelno mnogo interesantnija. Zna li neko po kom principu glavni program (PROBOTS) prebacuje kontrolu sa jednog na drugi robot? Da li se jedno vreme kontroliše jedan pa se onda isti vremenski interval kontroliše drugi, ili je to rešeno nekako drugačije? A mogli bi da osnujemo i tu grupu.
pascal.714 sslavko, -> #713, dares
>> kontrolu sa jednog na drugi robot? Da li se jedno vreme >> kontroliše jedan pa se onda isti vremenski interval kontroliše >> drugi, ili je to rešeno nekako drugačije? E to i mene interesuje. ako je u pitanju isti vremenski interval onda to u mnogome menja potrebnu strategiju, a ako je u pitanju protok cele petlje jednog pa onda drugog to je onda prava stvar. U prvom slučaju bi manji algoritam bio bolji, a u drugom veličina nema veze, svi su podjednaki.
pascal.715 postmast,
From: Sloba.Markovic@f115.n103.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: pascal Date: Fri, 25 Nov 1994 00:52:04 Origin.SUBJ: pascal Origin.FROM: "Ognen Duzlevski" Origin.TO: All "D> Malopre sam naleteo na datoteku PROBOTS.ZIP (ne znam odakle mi je, "D> mozda je i sa Sezama pa je u ovoj poruci ne saljem). U njoj se nalazi "D> P-code pascal kompajler. Svrha programa je borba medju robotima koji su "D> ko je zainteresovan napise svojeg robota - pravila za pisanje su JA SAM! Koliki je program i gde da ga nadjem! MAGIC FLASH! ... Nasao sam devojku, ali ona tvrdi da nije ni bila izgubljena :))) * Origin: Atlantis BBS 22-05 tel. 3225-548 ■Belgrade■ (38:103/115)
pascal.716 djelovic, -> #713, dares
> A mogli bi da osnujemo i tu grupu. Nema razloga za skrivanje u grupama, ukoliko je stvar toliko zanimljiva koliko kazete, verujem da ce zanimati i siru publiku. Zar nije cilj svake igre da ima sto vise zainteresovanih za nju?
pascal.717 sslavko, -> #714, sslavko
Lupam, lupam. Ponekad mnogo, ponekad malo manje. MORA da koristi isti (ili sličan) vremenski interval inače bi bilo moguće napraviti robota od par hiljada linija koje su sve: cannon(dir,scan(dir,5));dir:=dir+20; i uništiti drugog robota u jednom ili dva prolaza. Direktna posledica ovoga je da treba imati jedan scan..cannon na svakih desetak redova koda. (Potrebno je neko vreme da se top napuni)
pascal.718 inesic, -> #708, inferno
> ja se stvarno izvinjavam (nisam pratio raspravu od pocetka), > pa ako mogu znati o kakvim je robotima rec? :)) Skini fajl uz poruku 7.699
pascal.719 inesic, -> #702, sslavko
> P.S. Ajde neka neko pobedi GORO-a. ja ne uspevam nikako. > Naravno direktno kopiranje datih robota ne dolazi u obzir. Probaj goro vs. abasiri. Ja sam probao nekoliko puta i abasiri je uvek pobeđivao. Šteta na njemu je bila između 65 i 89.
pascal.720 duzle, -> #713, dares
>**> Roboti su stvarno prava stvar. Ima li neko možda neko >**> source onog kompajlera, da borbu prebacimo u grafički mod? >**> Time bi beorba bila i vizuelno mnogo interesantnija. Konacno sam se setio odakle je ova arhiva (InForma BBS u Skopju - imaju prikaceno jedno 3-4 CD-a). Pogledacu, mozda se i nadje nesto. >**> Zna li neko po kom principu glavni program (PROBOTS) >**> prebacuje kontrolu sa jednog na drugi robot? Da li se jedno >**> vreme kontroliše jedan pa se onda isti vremenski interval >**> kontroliše drugi, ili je to rešeno nekako drugačije? Nisam mnogo razmisljao o ovome. Ako nekoga interesuje kako da simulira multi-tasking u paskalu, evo jedna arhiva iz knjige Turbo Pascal 6.0 - Techniques & Utilities (Neil Rubenking). Princip je jednostavan - svi znaju da konstante koje su deklarisane kao const ime:tip = nesto unutar procedure/funkcije zadrzavaju svoju tekucu vrednost i po izlasku iz procedure/funkcije. E, sad takva procedura se deli na vise delova koji zavise od vrednosti jedne takve konstante. Onda se dve takve procedure pozivaju naizmenicno. Ko nije shvatio - evo mu source :) >**> A mogli bi da osnujemo i tu grupu. Moze, moze... multitsk.zip
pascal.721 duzle,
Malopre sam pregledao neke prasnjave diskete ;) i naleteh na Pascal Newsletter (autori su isti kao i za Windows Programmers Journal). Ima jedno 6 zipova. Da li ih vec ima na Sezamu, ili da ih saljem ? Ogi P.S. neko je pitao kako da ulinkuje slike i slicno u .EXE. U nekom od brojeva Pascal Newsletter-a ima bas ovo :).
pascal.722 jkpbvk, -> #721, duzle
>< P.S. neko je pitao kako da ulinkuje slike i slicno u .EXE. U nekom od >< brojeva Pascal Newsletter-a ima bas ovo :). Ako neces sve da saljes , vidi da posaljes samo taj . P.S. Ja sam bio taj koji je pitao :))
pascal.723 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: Modula 2 Date: Fri, 25 Nov 1994 07:20:36 GMT -> Symantec: -> Modula 2 v9.1 -> -> E sad, dal' neko zna kakva je to Modulica ? Cudi me da je dosad prosla -> neopaze o (kod relativno poznatog izdavaca), a ima i rel Koliko sam üuo, Symantec je kupio Logitech. Znaüi, to je Logitech Modula-2, a 9.1... pa moderno je praviti skokove u verzijama da se, k'o fol, stigne konjkurencija. Mene zanima neäto viäe o toj Moduli, äta sve moée (32bitna, Windows prog...) kao i njena cijena... Ajde please raspitaj se malo. -- [Cure for postal strikes: mail them their strike pay.]
pascal.724 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Fri, 25 Nov 1994 07:36:47 GMT -> MD> Symantec: -> MD> Modula 2 v9.1 -> -> Posteno da ti kazem, nikad cuo. Inace, ne znam koliko si -> upoznat ali modulasi uveliko prelaze na Modula-3. :) Hehe, uveliko = ?... Glede Module-3, to radi i na 386icama, postoje dva porta, jedan ima üak i Threads. Ovaj bez Threads (zbog ograniüenja GO32 extendera) imam i moée se dobije. [i bi noć, i drugi dan...] He, sada imam i drugu verziju, to je pet disketa, podrzava Threads, XMS only i ima interno mapiranje 32char imena fajlova preko FATa. Viäe ću napisati kad stignem to da instaliram i probam. Ovo je portovana verzija 3.1 (aktuelna M3 je 3.3, ali to su minor razlike, niäta suätinski) a ona prva je 2.11 verzija SRC M3. -- [I wanna see 'em explode in every zip code!]
pascal.725 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: File Find Algoritam... Date: Fri, 25 Nov 1994 07:36:59 GMT -> SSta mislite koji je algoritam za File Find najefikasniji?? Onaj kod SSTa :) -> Ja koristim rekurzivni (onaj tipiccno sskolski algoritam), ali kada na -> disku ima veeeeeliki broj direktorijuma, program mi puca radi stack over -> flow (iako sam stavio pomoccu $M max za STACK..) Ima logike da pukne na stkovf samo ako imas jako duboku strukturu ili gresku u strukturi koja stvara privid beskonacnog stabla, desi se to DOSu ponekad. Jako duboka struktura, plus previse lokalnih varijabli u toj proceduri (koje se alociraju na steku) ce da ubije program. Mislim da bi trebalo da ti pomogne smanjivanje broja tih varijabli. -> Isto, dali je neko od vas imao visse iskustva pri radu sa FAT -ovima, i -> ako da, dali je voljan da napisse nessto visse o tome... mjova je (cini mi se) pravio fajlfinder koji je isao direktno na disk, i dao je sors uz njega. -- [An optimist is a guy without much experience]
pascal.726 postmast,
From: bole@mrsys1.MR-Net.co.yu (Bosko Radivojevic) Subject: Recordi Date: Thu, 24 Nov 1994 17:44:24 GMT Hay! Eto ovih dana sam nesto pravio u Turbo Pascalu 6.0 (da se zna:) E i trebali mi recordi.. Zam ja (mislim ja:) te recorde nije to tesko.. imas seek imas typove i sve je ok! ... ALi ne bi ni bilo ove poruke da to nije bas tako:) I pocne da me zeza.. zeza.. pa rastura:) Pa evo vam otprilike skracena verzija mog programa (nesto bezveze) ...: 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:) Tako posto ovde ima jaaako dobrih programera.. POMOZ'TE! :) program proba_Za_rekord; Type juzer = Record ime: String; End; Var user: juzer; uf : File Of juzer; i,a: Integer; b : String; Begin Assign (uf, 'users1.dat'); {$I-} Reset (uf); if ioresult <> 0 then rewrite (uf); {$I+} ReadLn(a); Seek (uf, a); ReadLn (b); user.ime := b; Write (uf, user); Close (uf); Reset (uf); WriteLn (FileSize (uf) ); For i := 0 To FileSize (uf) Do Begin Seek (uf, i); Read (uf, user); WriteLn (user. ime); ReadLn; End; End. -- Pozdravlja vas, Bole@Mrsys1.MR-Net.co.yu
pascal.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. Moramo da napravimo i propozicije. Recimo da se igra 20 ili 50 partija. 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+170; 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); cannon(dir,range-r); r:=range; end; head:=dir; go(head,40); until dead or winner; end;
pascal.728 sslavko, -> #719, inesic
>> Probaj goro vs. abasiri. Probao sam i tačno je da abasiri uglavnom pobeđuje. Dobar je i patrol. Moj sslavko :)) gubi od gorooa sa 70-80% (u proseku). A goro ima izuzetno jednostavan algoritam. Najvažnije je napraviti algoritam koji će dovoljno brzo i dovoljno precizno skenirati okoliknu i nalaziti neprijatelja.
pascal.729 sslavko, -> #726, postmast
>> For i := 0 To FileSize (uf) Do i ti ide od 0 do FileSize(uf), odnosno jedan put više nego što ih stvarno ima. Daj mu "To FileSize(uf)-1".
pascal.730 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 27 Nov 1994 09:03:00 To: "Ivica Nesic" <inesic@sezam.UUCP> > Source (ako si na to mislio sa onim "sora" :)) kod kompajlera > nije dat u arhivi, ali postoji uputsvo i primeri jedno 20-tak > robota.Evo je i arhiva. :) "N> "N> Skinuo arhivu. Procitao .doc i probao nekoliko robota sa target. "N> Mislim da je jako zanimljivo. Pokusacu ovih dana na poslu da "N> nadem vremena pa da i ja napravim nekog robota. Interesantna "N> igra, cak bih rekao dobra za pocetnike koji uce paskal. Ako ima Interesuje me ta igra ili vec sta je ?? ... Ali mama, pa tamo su svi dorovi registrovani... * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.731 postmast,
From: bebek@setnet.co.yu (Zeljko Stevanovic) Subject: pascal Date: Sun, 27 Nov 1994 09:07:01 To: "Slavko Snjegota" <sslavko@sezam.UUCP> "S> sacuvati je. Naravno meni je trebalo ovako, a ti vidi. "S> procedure new21;interrupt; "S> label dalje; "S> begin "S> asm "S> pop bp "S> pop es "S> pop d "S> pop di "S> pop si "S> pop dx "S> pop cx "S> pop bx "S> pop ax Sta radi ova ASM naredba nikako da shvatim... "S> push word ptr old21+2 "S> push word ptr old21 Takodjer i ova .. "S> pushf ... IBM-PC - Imbecil Bussines Machine - Permanently Craches * Origin: Venik BBS * Smed. Palanka * +381 26 34808 SetNet: (38:103/126)
pascal.732 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sun, 27 Nov 1994 12:45:00 > 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. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.733 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Recordi Date: Sat, 26 Nov 1994 13:06:00 >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 Klasicna greska. FileSize() vraca broj slogova u datoteci, a ti pocinjes da brojis od nule, sto znaci da se petlja vrti za jedan krug vise nego sto treba. Pocni da brojis od 1. Ja vise volim da citam podatke u WHILE NOT EOF(uf) petlji. Tako sigurno izbegavam disk error a sigurno cu da procitam sve podatke. Broker * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.734 postmast,
From: nenadr@sunset.fon.bg.ac.yu (Nenad Radosavljevic) Subject: Re: pascal Date: Tue, 29 Nov 94 20:13:58 GMT In article <786090458.AA09777@setgate.setnet.co.yu> 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. > Malko teze u ovom slucaju. Naime pascal-ove naredbe za pristup CRT-u writeln() i write(), prepoznaju kada se nesto upisuje u poslednji karakter na ekranu (donji desni ugao) i automatski scroll-uju ekran za jedan red vise (obe naredbe). Jedno od mogucih resenja je da prestanes da koristis write i writeln, da sa od nekud preuzmes arhivu TPFAST, sa asemblerski pisanim rutinama za pristup video memoriji kod SVIH do sada poznatih tipova kartica. Rutine cak podrzavaju i video pages (kao kod Norton Commander-a - vise screen-ova koji se preklapaju momentalno) i pravljenje windows-a a imas i gomilu drugih korisnih rutina (za stringove, matematicke f-je itd. itd.). I sto je (barem meni) najlepse cela arhiva je srazmerno mala a u sebi sadrzi i source-ove svega sto je napisano). Pozdrav, -- ======================================================================= Nenad Radosavljevic E-mail: nenadr@sunset.fon.bg.ac.yu =======================================================================
pascal.735 vlador, -> #719, inesic
> Probaj goro vs. abasiri. Ja sam probao nekoliko puta i abasiri je Ja nisam našao robota koji može u većini slučajeva da pobedi abasirija, mada nisam sve isprobao.
pascal.736 uobradovic, -> #727, sslavko
::> if loc_x<200 then head:=0; \ ::> if loc_x>800 then head:=180; \ --- šta ovo znači ::> if loc_y<200 then head:=90; / ::> if loc_y>800 then head:=270; / ::> drive(d,s); / . . ::> dir:=0; ::> head:=0; ::> r:=0; . . ::> range:=scan(dir,10); \ ::> while range=0 do \ ::> begin \ ::> range:=scan(dir,10); \ ::> if range>40 then cannon(dir,range) else \ --- šta ovo znači ::> begin / ::> dir:=dir+170; / ::> r:=0; / . . ::> end; ::> dir:=dir-5; \ ::> range:=scan(dir,5); \ ::> if range=0 then \ ::> begin \ ::> dir:=dir+10; \--- šta i ovo znači ::> range:=scan(dir,5); / ::> end; / ::> if range>40 then / . . ::> r:=trunc((r-range)/2); \ ::> cannon(dir,range-r); \ ::> r:=range; \ ::> end; \----- šta ovo znači ::> head:=dir; / ::> go(head,40); / ::> until dead or winner; / ::> end; / 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. Hvala Uroš P.S. Izvinite na velikom replyu.