PCPROG.6

25 Sep 1995 - 24 Dec 1999

Topics

  1. algoritmi (449)
  2. baze.podataka (309)
  3. ms.dos (17)
  4. windows (294)
  5. asembler (553)
  6. basic (458)
  7. jezici (42)
  8. pascal (1297)
  9. cccc (522)
  10. cpp (299)
  11. clipper (601)
  12. fox (70)
  13. cavo (14)
  14. delphi (1130)
  15. java (100)
  16. razno (776)
  17. unknown (127)

Messages - pascal

pascal.1 dr.urbano,
Da li neko zna nesto o paketu SPX v2.0 ? Gde bih mogao da ga nabavim ? Cini mi se da se radi o grafici (13x mode, sprajtovi ...) ! Pozdrav, Vladimir. P.S. Ako znate bilo sta molim da javite.
pascal.2 mmitrovic,
REPLY PC.PROG.5/7.1041 ::::: Moze neki hint na neko programce koje je rezidentno,i ::::: sakuplja u fajl sve sto se unese preko tastature? Šta, zar vam u školi kucaju testove na komp-u. :) Što se tiče programa, sorry, mrtav je. :( PS. To mi je bila najdraža petica iz fizike. :)
pascal.4 mminovic,
> Sto se tice programa, sorry, mrtav je. :( Sta ti ovo znaci:))) da moram sam da ga pisem,ili...:) Pozdrav, Mindza.
pascal.5 mpromet,
Zna li neko dobru knjigu za Turbo Paskal u kojjoj skoro sve ima,od verzije 6.0 ili 7.0 ako sadrži iza 6.0?
pascal.7 konem,
Imam jedan problem u vezi turbovizije.Naime javlja mi gresku pri upisu na tok(stream) i to u obliku STREAM REGISTRATION ERROR. Ako neko zna , neka javi zasto i kako je otkloniti? Hvala unapred...
pascal.8 atech,
> Sta ti ovo znaci:))) > da moram sam da ga pisem,ili...:) Hellas bbs 011/283-1387 22-?? Arhiva phantom2.zip (ako se dobro secam) To ce ti ustedeti posao...
pascal.9 .sima,
║║ Zna li neko dobru knjigu za Turbo Paskal u kojjoj ║║ skoro sve ima,od verzije 6.0 ili 7.0 ako sadrži ║║ iza 6.0? Pa već si pitao u staroj konf i dobio odgovore??? Pogledaj pc.prog.5.
pascal.10 .sima,
║║ pri upisu na tok(stream) i to u obliku STREAM REGISTRATION ERROR. ║║ Ako neko zna , neka javi zasto i kako je otkloniti? Pa dok se nevidi sors... ┌───────────────────────────┐ │ Stream registration error │ └───────────────────────────┘ This error is generated by the RegisterType procedure in the Objects unit. It indicates that one of the following errors has occurred: ■ The stream registration record does not reside in the data segment. ■ The ObjType field of the stream registration record is 0. ■ The type has already been registered. ■ Another type with the same ObjType value already exists.
pascal.11 supers,
>> Zna li neko dobru knjigu za Turbo Paskal u kojjoj >> skoro sve ima,od verzije 6.0 ili 7.0 ako sadrži Mikroknjiga, Stephen O'Brien, Turbo Pascal 6 - kompletan vodič.
pascal.12 nemko,
)>- Da li neko zna nesto o paketu SPX v2.0 ? Gde bih mogao da ga )>- nabavim ? Cini mi se da se radi o grafici (13x mode, Za njega nisam čuo, ali mogu da ti ponudim ANIVGA koji radi isti posao. Javi se u mail ako te zanima!
pascal.13 konem,
Thanks .sima...
pascal.14 konem,
Interesuje me zasto Borlandov TD386.EXE nece da radi kada mu startujem TDH386.SYS iz Config-a ,sto on normalon zahteva. Prijavljuje ,sa TDH386, isto sto i prijavljuje bez njega: 'V86 is already in virtual mode.'
pascal.15 dr.urbano,
Ne meni treba bas SPX v2.0 !! Anivga sam odavno nabavio !!! Dakle da neko drugi slucajno nezna nesto o ovom programu ? Pozdrav, Vladimir. P.S. E da, hvala sto si se javio :)
pascal.16 .sima,
║║ Prijavljuje ,sa TDH386, isto sto i prijavljuje bez njega: ║║ 'V86 is already in virtual mode.' TDH386 je v86 "menadžer" i kao takav ne trpi druge, a to su svi emm menažderi qemm, emm386, windows-i, itd... Dovoljno je dići himem.sys. Sva ostala memorija će biti dostupna programu, jer td, ili tp idu u drugu virualnu mašinu.
pascal.17 konem,
EUREKA! It's working! Thanks,.sima.
pascal.18 nemko,
)>- Prijavljuje ,sa TDH386, isto sto i prijavljuje bez njega: )>- 'V86 is already in virtual mode.' I ja imam isti "problem". Verovatno je caka u tome što koristiš QEMM ili neki sličan program koji se automatski prebacuje u V86 mod da bi efikasnije obavio ono za šta je namenjen. Kada ga pokreneš bez qemm-a (nezaboravi himem.sys) onda sve lepo radi. Kako da u turbo debuggeru (ne 386) postavim breakpoint na određen tip instrukcije?
pascal.19 igorsedam,
Treba mi pomoc! Jel mozda neko zna i moze da mi napise proceduru za zrtanje luka tacku po tacku bez standardnih graph proc&funkcija.Parametri bi trebali da budu poluprecnik pocetni i krajni ugao. Unapred hvala Igor
pascal.20 .sima,
║║ EUREKA! It's working! ║║ Thanks,.sima. Nema na čemu. Inače ja lično koristim za Borlandove kompajlere posebnu konfiguraciju. U njoj se nalazi himem.sys, smartdrv, drajver za miša i fontove i ništa više. Sve ostalo bi usporavalo. EMS nije potrebna sem kada pišem program koji je koristi, a to je vrlo retko jer sam se opredelio sa XMS. Brža je i rad je jednostavniji.
pascal.21 .sima,
║║ Jel mozda neko zna i moze da mi napise proceduru za zrtanje luka ║║ tacku po tacku bez standardnih graph proc&funkcija.Parametri bi ║║ trebali da budu poluprecnik pocetni i krajni ugao. Evo ti primer u kome sam koristio int 10. To znači da primer nije za korišćenje, već samo za ilustraciju. Ako ti treba nešto brže savetujem ti da pogledaš nekoliko poslednjih bojeva časopise: PC - za crtanje u VESA modovima i Računari - programiranje vga karte pomoću registara. Jedini deo koji bi morao da se zameni je DrawPoint. A za to može da se koriste registri ili direktni pristup memoriji. luk.zip
pascal.22 mminovic,
Hi:) Zanima me kako kompajlirati program pod TP 7.0 for DOS u protekted modu(i sta je tacnije tpx.exe)? I kako se posle taj program koristi(moze li automatski uz QDPMI i QEMM)? Unapred zahvalan, Miroslav.
pascal.23 nemko,
)>- bojeva časopise: PC - za crtanje u VESA modovima i Računari - )>- programiranje vga karte pomoću registara. Jedini deo koji bi )>- morao da se zameni je DrawPoint. A za to može da se koriste )>- registri ili direktni pristup memoriji. Napisao sam unit za koriscenje VESA 101h moda (640x480x256c) sa svim neophodnim rutinama osim getpixel. Takođe još nisam napisao asm verzije crtanja kruga i kosih linija. Lako se prepravlja i za ostale rezolucije sa 256 boja. So, ako nekome treba... DERITE SE! BDW, u racunarima 36 je bila objavljena "celobrojna" rutina za crtanje elipse. Samo je problem što neće da radi, poseduje li neko istu?
pascal.24 dejanr,
Nekada sam mnogo koristio Turbo Pascal 5.5, a i sada ga ponekad startujem kad mi treba nešto na brzaka da uradim. Očito ne tako često kao nekada, jer sam ga posle mesec dana rada pod Win 95 tek danas prvi put startovao. Kad ono... kaže Windows ovaj program mora da radi u DOS modu, poskida sve aplikacije, a kada izađem iz TP-a onda resetuje računar :( Ukratko, možete da zaboravite na TP 5.5. Meni nekako bilo žao da ga se lišim, i padne mi na pamet da preimenujem fajl, tako da sam uradio REN TURBO.EXE TPAS.EXE. Od tada, da kucnem u drvo, radi sasvim lepo u običnom DOS prozoru. Probao sam i da prevodim velike fajlove, da koristim debager itd, nikakvog problema. Bog zna da li je to Microsoft napravio zato što ima neki drugi proizvod koji se zove TURBO (a baš je i Borland našao ime za paskal kompajler ;) ili šta, ali jedno rename reši problem. Naravno, ako vam tri dana po preimenovanju TPAS obriše disk, nemojte mene da krivite ;)
pascal.25 vcalic,
>> Meni nekako bilo žao da ga se lišim, i padne mi na pamet da preimenujem >> fajl, tako da sam uradio REN TURBO.EXE TPAS.EXE. Od tada, da kucnem u >> drvo, radi sasvim lepo u običnom DOS prozoru. Probao sam i da prevodim >> velike fajlove, da koristim debager itd, nikakvog problema. Bog zna da li >> je to Microsoft napravio zato što ima neki drugi proizvod koji se zove >> TURBO (a baš je i Borland našao ime za paskal kompajler ;) ili šta, ali >> jedno rename reši problem. Win95 čuva listu aplikacija koje treba startovati u MS-DOS modu u Registry-u. Hijerarhija glasi: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ \Emulation\AppCompat\ E, u listi postoji i stavka TURBO.EXE. Nema opisa na koji se proizvod tačno odnosi, ali pored reimenovanja fajla bi upalilo i brisanje ove stavke iz Registry-a. Vlada
pascal.27 dikla,
> Hellas bbs 011/283-1387 22-?? > Arhiva phantom2.zip (ako se dobro secam) > To ce ti ustedeti posao... MSDOS - R:ĐUTILITY ---------------------- phantom2 zip 34619 Snima i reprodukuje pritiske na tastere
pascal.28 .sima,
║║ Zanima me kako kompajlirati program pod TP 7.0 for DOS u ║║ protekted modu(i sta je tacnije tpx.exe)? Ne može. Mora da se koristi BP 7.0 ili BPC 7.0. Ako se koristi BP onda se u meniju Compile odabere stavka Targer i postavi na protected mode. TDX je Turbo Debuger for DPMI ili TD za protected mode programe. Svi DPMI programi mogu da se startuju iz BP, ali ne mogu da se postavljaju break points ili da se radi trace ili step. Za to služi TDX. ║║ I kako se posle taj program koristi(moze li automatski ║║ uz QDPMI i QEMM)? DPMI program radi kao i BP i BPC mora da bude aktivan neki DPMI server, bilo da je to QDPMI (koji ima mogućnost virtualne memorije), ili da se stave dpmi*.* fajle iz Pascala u path.
pascal.29 visnja,
> sam ga posle mesec dana rada pod Win 95 tek danas prvi put > startovao. Kad ono... kaže Windows ovaj program mora da radi u > DOS modu, poskida sve Cim sam video da WIN95 ne podrzava Borland-a izbrisao sam ga. Ne pascal nego WIN95.
pascal.30 igorsedam,
Mrzi me da prelitavam ali ko god da mi je poslao luk hvala mu ko bratu Igor
pascal.31 postmast,
From: raven@setnet.co.yu (Robert Oswald) Subject: Re: zapisi i tako dalje Date: Fri, 29 Sep 1995 23:52:04 'ello, Mladen, I've heard that ya said... MA> -+=+- Mihajlo Savic rece : -+=+- MA>> Ja bih u "listu" da dodam AVI i MPEG. MS>> ^^^^ I tata bi sine :)))))) MS>> MPEG? Pa covjece niko od nas nema sanse da napravi player za MPEG MS>> koji bi radio iole pristojnom brzinom O;>>> MA> Ko je rekao da ja zelim da pravim player za MPEG? Mene samo MA> "informativno" interesuje zapis. Posebno me interesuje AVI, posto MA> je sigurno, pred njim buducnost. Ako neko slucajno ima Windows 95 MA> Develompers Kit (to je onaj drugi cd), mogao bi da nesto izvadi iz MA> stavke "ANI". Zaboravih da ti pomenem ,mogu ti pribaviti i format FLI zapisa ako ti treba, kao i FliPlayer (nekoliko verzija, x puta brzhi od autodeskovog) (c) Zika :)) ĆĆ RaveN žž >>> VBC <<< * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.32 postmast,
From: nikola.golovic@shadow.herkules.co.yu (NIKOLA GOLOVIC) Subject: pascal Date: Sat, 30 Sep 95 02:05:00 +0100 Trebaju mi knjige u kojima se mogu naci naredbe za pravljenje programa za modeme,t.j. za slanje i citanje sa serijskog porta u PASCAL-u.Ako neko zna koja literatura za to postoji ili gde se moze naci,neka napise nesto... --- ■ ANGEL! #UNREG■ UNREGISTERED EVALUATION COPY
pascal.33 postmast,
From: darko.hujdurovic@panon.ns.ac.yu (Darko Hujdurovic) Subject: Re: Delphi Date: Mon, 2 Oct 1995 15:10:00 GMT VJ> DH> Vizuelni Hello World je oko 90 KB nakon sledecih intervencija: VJ> DH> - Ukljucite optimizaciju na Max. VJ> Ako se dobro secam, optimizacija je nekad bila pod Options/Compiler VJ>a sad su je stavili pod Linker... Sumnjivo... VJ> Inace, ima gotovo sve standardne sviceve iz Turbo Pascala, sto bi VJ>trebalo da znaci da u osnovi lezi slican kompajler :) Pa sta ako je pod Linker. Bitno je da radi posao. U osnovi i jeste slican kompajler, ali mnooogo poboljsan. Mislim da je dvoprolazan, moguce da je zato optimizacija pod Linker menijem. ┌───────────┬──────────────────────────────────────────────────────────┐ │ PAOR v0.2 │ "Malene ribe vecih se klone ne pazis i vec te nema za │ │ │ tren" - Djole B. │ └───────────┴──────────────────────────────────────────────────────────┘
pascal.34 postmast,
From: darko.hujdurovic@panon.ns.ac.yu (Darko Hujdurovic) Subject: Re: Delphi Date: Mon, 2 Oct 1995 17:53:00 GMT SD>A koliko je vizuelni deo povezan sa "tastaturnim" delom, odnosno, SD>da li bi i koliko bilo komplikovano, na primer, napraviti tabelu SD>sa bazom i recimo duplim klikom na desni taster pozvati specijalni SD>dijalog za unos? Cak sta vise, to je direktno podrzano. Mislim da je komponenta Local menu, ili nesto slicno. Odnosno desnim klikom na tvoje polje fino se covijeku otvori meni sa izborom, reccimo da uradi nesto sa tim poljem, pa kad on izabere a ti mu otvori sta hoces. ;) SD>Predpostavljam da ima Turbovizicnu HandleEvent filozofiju.... Nesto slicno, ali mnogo bolje. Svaka komponenta, odnosno sve sto vidis ima odredjene Evente, ti izaberes koji hoces da obradis i on ti odma' napravi sve sto je potrebno, a ti korisni dio upises izmadju begin i end; Mozes cak da napravis da se nesto desi kad pacovom predjes preko nekog dijela tvog prozora, ili mozda citavog prozora. Npr, dok je pacov iznad tvog prozora on mu kaze: "Voltron, defender of the universe is ready for you!" :) ┌───────────┬──────────────────────────────────────────────────────────┐ │ PAOR v0.2 │ "U mojoj sobi samo stari veker vreme drobi, a badnje │ │ │ vece prolazi" - Djole B. │ └───────────┴──────────────────────────────────────────────────────────┘
pascal.35 postmast,
From: darko.hujdurovic@panon.ns.ac.yu (Darko Hujdurovic) Subject: Re: 70 kolona Date: Mon, 2 Oct 1995 18:00:00 GMT SD>Evo source koji tag maksimalne duzine maxtaglen znakova u liniji SD>ubacuje u string, a posle u fajl: SD>while(tekuci<strlen(tagline)) SD>{ SD> strcat(tag,"\n¸> "); /* pocni liniju taga ... */ SD> linija = 0; SD> for(;;) SD> { SD> sscanf(s,"%80s",rec); /* procitaj tekucu rec */ SD> drec = strlen(rec)+1; SD> if(drec>maxtaglen) SD> { SD> sprintf(tag,"\n¸> Rec \"%s\" je duza od maksimalne " SD> "duzine linije taga!",rec); SD> tekuci=strlen(tagline); SD> break; SD> } SD> linija += drec; SD> if(linija>maxtaglen || tekuci>=strlen(tagline)) SD> break; SD> else SD> { SD> strcat(tag,buf); /* dodaj rec na tag + space */ SD> strcat(tag," "); /* i idi na sledecu rec */ SD> tekuci += drec; SD> s += drec; SD> } SD> } SD>} SD>fprintf(fp,"%s\n\n%s %s",tag,dmgsign,usersign); Ko to kaze da je C kriptican. Evo nesto slicno u Pascalu. Moze prostije, al ja volim da komplikujem :)))) function GetWord(var Linea: string):string; var WordOne : string; i,j : word; begin WordOne:=''; j:=1; while (j<ord(Linea[0])) and (Linea[j]=' ') do inc(j); i:=j; while (i<ord(Linea[0])) and (Linea[i]<>' ') do inc(i); WordOne:=copy(Linea,j,i-j+1); delete(Linea,1,i); if WordOne='' then GetWord:=' ' else GetWord:=WordOne; end; begin Assign(TFile, MsgFile); Append(TFile); WriteLn(TFile); WriteLn(TFile); Count:=Length(Linea); if Length(Linea) < 56 then begin Write(TFile, Linea); for i:=56 downto Length(Linea) do Write(TFile, ' '); end else begin Count:=0; CP:=0; repeat Tmp:=GetWord(Linea); Count:=Count+ord(Tmp[0]); if Count>56 then begin for i:=56 downto Count-ord(Tmp[0]) do Write(TFile, ' '); Count:=ord(Tmp[0]); end; Write(TFile,Tmp); until Tmp=' '; for i:=55 downto Count-ord(Tmp[0]) do Write(TFile, ' '); end; close(TFile); end. ┌───────────┬──────────────────────────────────────────────────────────┐ │ PAOR v0.2 │ "I nemoj crnoj ptici da me das" - Djole B. │ └───────────┴──────────────────────────────────────────────────────────┘
pascal.36 postmast,
From: Mladen.Jablanovic@f101.n101.z38.setnet.setnet.co.yu (Mladen Jablanovic) Subject: Pascal Date: Sun, 01 Oct 1995 00:12:09 ==== Quoting Zoran Rilak: ==== ZR> Da li je neko video igru "StarGlider" na XT-u? Koliko ljudi smatra da ZR> bi mogli da naprave istu stvar na svojim 486 masinama? Programeri su se ZR> ulenjili, i sve su vise lenji sto su masine brze. Izvini sto se mesam, ali to sto su programeri (u konkretnom slucaju oni koji prave igrice) presli sa masinca na C ili neki drugi visi jezik ne znaci da su se ulenjili; to znaci da je danas igru (igru, a ne dobru igru) mnogo lakse i brze napisati. Naravno, to nosi sa sobom vece hardverske zahteve, ali koliko imas dobro uradjenih igrica za XT, a koliko za 486? To sto sad ima mnogo manje DOBRIH igrica nego u ono vreme je vise sociolosko nego racunarsko pitanje. Sta bih ja dao za jednu igricu na PC-u koja bi me drzala duze od dva sata, kao sto me je nekad drzao Monty na spektrumu...:( ... RECNIK: Starkelja - deda u starkama * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.37 postmast,
From: Mladen.Adamovic@f135.n135.z38.setnet.setnet.co.yu (Mladen Adamovic) Subject: Re: zapisi i tako dalje Date: Sun, 01 Oct 1995 19:31:49 -+=+- Robert Oswald rece : -+=+- RO> Zaboravih da ti pomenem ,mogu ti pribaviti i format FLI zapisa ako ti Pa ako je kratko moglo bi u konf. Unapred hvala. Pozdrav, Mladen Adamovic (adamm@elf.bl.ac.yu). ... Ko drugome jamu kopa fizicki je radnik * Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.38 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: pascal Date: Mon, 25 Sep 1995 18:26:00 "LĆ From: "Kristijan Lazic" <kriss@sezam.UUCP> Newsgroups: "LĆ yu.prog.pascal Organization: SEZAM Beograd, 011 648-422 "LĆ Zna li neko knigu u kojoj imskoro sve o "LĆ Turbo Pascal-u (6.0) "LĆ SEZAM, dir pascal, fajl TPR-BOOK.ZIP. Cena: dz. Dali moze (Posto poodavno nemam pristap sezamu (pola godina dana ako ne i vise)) ako fajl nije veci od 100 kb da ga podelis na delice i uuencode-ovas ga na moju adresu po mail ? 0GZy * 0Gi'S eDiT0R * With faster machines comes slower software * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.39 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: 70 kolona Date: Tue, 3 Oct 1995 18:42:00 GMT DH> Ko to kaze da je C kriptican. Evo nesto slicno u Pascalu. DH> Moze prostije, al ja volim da komplikujem :)))) DH> function GetWord(var Linea: string):string ... Priznajem da mi nista nije jasno... Crni Darko, pa zar ti Mirjana nije predavala "Umetnost lepog programiranja" izmedju ostalog i dala vise od 5, cccc... :))) ¸> "I'm gonna set this scene out..." -- Crow T. Robot * ŰmÔ/\/\× 1.3 #00 *
pascal.40 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Tue, 3 Oct 1995 16:14:00 GMT NG> Trebaju mi knjige u kojima se mogu naci naredbe za pravljenje programa NG> za modeme,t.j. za slanje i citanje sa serijskog porta u PASCAL-u.Ako NG> neko zna koja literatura za to postoji ili gde se moze naci,neka napise NG> nesto... Ako te zanima i poneki sorsic, javi pa cu ti ga posaljem :) Mada, koliko sam se ja time bavio, najvise sam uspeha imao koristeci gotove rutine iz Personal Communications Lib. ¸> Chain Lightning: For when you just can't stop at one. * ŰmÔ/\/\× 1.3 #00 *
pascal.41 postmast,
From: vlaxi@shadow.herkules.co.yu (VLAXI) Subject: Re: zapisi i tako dalje Date: Mon, 02 Oct 95 08:27:00 +0100 -=> Quoting Robert Oswald to All <=- RO>  @FROM :raven@setnet.co.yu RO> N  @UMSGID :<812513903.AA08833@setnet.setnet.co.yu> RO> N  @UNEWSGR:01yu.prog.pascal RO> N Path: herkules!fon.fon.bg.ac.yu!setnet!uucp RO> From: raven@setnet.co.yu (Robert Oswald) RO> Newsgroups: yu.prog.pascal RO> Subject: Re: zapisi i tako dalje RO> Message-ID: <812513903.AA08833@setnet.setnet.co.yu> RO> Date: Fri, 29 Sep 1995 23:52:04 RO> Sender: uucp@setnet.setnet.co.yu RO> 'ello, Mladen, I've heard that ya said... MA> -+=+- Mihajlo Savic rece : -+=+- MA>> Ja bih u "listu" da dodam AVI i MPEG. MS>> ^^^^ I tata bi sine :)))))) MS>> MPEG? Pa covjece niko od nas nema sanse da napravi player za MPEG MS>> koji bi radio iole pristojnom brzinom O;>>> MA> Ko je rekao da ja zelim da pravim player za MPEG? Mene samo MA> "informativno" interesuje zapis. Posebno me interesuje AVI, posto MA> je sigurno, pred njim buducnost. Ako neko slucajno ima Windows 95 MA> Develompers Kit (to je onaj drugi cd), mogao bi da nesto izvadi iz MA> stavke "ANI". Ima jedan moj ortak taj CD ..... ;)) RO> RO> Zaboravih da ti pomenem ,mogu ti pribaviti i format FLI zapisa ako ti RO> treba, kao i FliPlayer (nekoliko verzija, x puta brzhi od autodeskovog) RO> (c) Zika :)) RO> ĆĆ RaveN žž >>> VBC <<< RO> ! Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119) ... * Origin: Shadow BBS 22-08 , 424360 , 2400-14400 , MNP1-5 , V42-V42B ___ ####VLĺXI#### v2.12
pascal.42 postmast,
From: Mihajlo.Savic%f135.n135.z38@setnet.setnet.co.yu (Mihajlo Savic) Subject: Re: pascal Date: Mon, 02 Oct 1995 23:02:41 *** QUOTE : "Srdan Simic" *** "S> otvaraju u readonly, sa rewrite u writeonly, a sa append u readonly "S> takodje. Khm, ovaj, a kako zamisljas da program dopise (append) jos teksta na kraj datoteke ako je ona redonly? Tu mi nesto ne stima, vjerovatno je lapsus... BadaBoom ... If you can't make it good, make it big. * Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.43 postmast,
From: raven@setnet.co.yu (Robert Oswald) Subject: Re: zapisi i tako dalje Date: Tue, 03 Oct 1995 22:56:01 'ello, Mladen, I've heard that ya said... MA> -+=+- Robert Oswald rece : -+=+- RO>> Zaboravih da ti pomenem ,mogu ti pribaviti i format FLI zapisa ako ti MA> Pa ako je kratko moglo bi u konf. Unapred hvala. Pa znash kako, moram prvo da ulovim VMZ-a da to napishe, znas, zaposlen chovek, nema ga u Rumi ovih dana... No mogu ti poslati njegove FLI playere, (one koje ja imam, ima on i novijih) pa ti reci da li hoces da ti to UUEncodujem, ili ces zvati mene (022) 425-879 (do 23 voice, posle modem) pa da ti to UL ruchno ili da ti ostavim kod mene na BBS. Javi da znam sta da radim :) ĆĆ RaveN žž >>> VBC <<< * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.44 postmast,
From: vladimir.jokic@panon.ns.ac.yu (Vladimir Jokic) Subject: Re: Delphi Date: Wed, 4 Oct 1995 08:57:00 GMT VJ> Inace, ima gotovo sve standardne sviceve iz Turbo Pascala, sto bi VJ>trebalo da znaci da u osnovi lezi slican kompajler :) DH> Pa sta ako je pod Linker. Bitno je da radi posao. DH> U osnovi i jeste slican kompajler, ali mnooogo poboljsan. Hm. Jesi radio sa Borland Pascalom 7 za Windows-e? Ja nisam, pa me zanima kako se meri sa njim (po pitanjima brzine EXE-a)... Inace, ne znam da li si primetio, ali svi fajlovi nose vreme 8:00, sto znaci da je izgleda krpljeno preko sedmice... A i na uvodnom ekranu pise Copyright Borland Intl. '83-'95 :)))) ¸> Pick two: 1) Cheap 2) Fast 3) Bug Free 4) Windows (counts as 2) * ŰmÔ/\/\× 1.3 #05 * BaMßşN0
pascal.45 dvesic,
>> Zaboravih da ti pomenem ,mogu ti pribaviti i format FLI zapisa >> ako ti treba, kao i FliPlayer (nekoliko verzija, x puta brzhi >> od autodeskovog) (c) Zika :)) Može li neki player (sem OS/2 playera :) da ispuca FLI koji je 2,5 puta veći od raspoloživog RAM-a ? Koji ?
pascal.46 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Delphi Date: Fri, 6 Oct 1995 18:58:00 GMT VJ> Inace, ne znam da li si primetio, ali svi fajlovi nose vreme 8:00, VJ> sto znaci da je izgleda krpljeno preko sedmice... A i na uvodnom ekranu VJ> pise Copyright Borland Intl. '83-'95 :)))) Pa i vreme je bilo :) TP pratim od 3.0 i svaka verzija je donosila nesto novo (jedino nisam siguran za 5.0 ;). Sasvim je logicno da se posle 12 godina odlepe od DOS-a. ¸> "By the way, have you ever bathed?" -- Joel Robinson * ŰmÔ/\/\× 1.3 #00 *
pascal.47 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Pascal Date: Fri, 6 Oct 1995 19:02:00 GMT MJ> To sto sad ima mnogo manje DOBRIH igrica nego u ono vreme je MJ> vise sociolosko nego racunarsko pitanje. Sta bih ja dao za jednu MJ> igricu na PC-u koja bi me drzala duze od dva sata, kao sto me je nekad MJ> drzao Monty na spektrumu...:( Da, ali onda se igrica ucitava "vekovima" i verovatno te je mrzelo svaki put da ucitavas ponovo. (citaj: 'God bless Turbo 250' ;) Sto se tice pisanja igrica, slazem se da je postalo potpuno je nepotrebno pisati iste u suvom asembleru radi brzine: Prince Of Persia je pisan u MSC 6.0 i veruj mi na rec da savrseno radi na XT-u :) ¸> ... "No one has jurisdiction over the truth" -Fox Mulder * ŰmÔ/\/\× 1.3 #00 *
pascal.48 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Fri, 6 Oct 1995 19:05:00 GMT IG> Jel mozda neko zna i moze da mi napise proceduru za zrtanje luka IG> tacku po tacku bez standardnih graph proc&funkcija.Parametri bi trebali IG> budu poluprecnik pocetni i krajni ugao. Pa mozes malo da izvedes pomocu geometrije: x = x0 + r * cos(ugao) y = y0 + r * sin(ugao) ugao = [pocetni..krajnji] r = poluprecnik (x0,y0) = centar luka Ako ti je sporo, koristi tabelu za sin i cos za warpspeed izracunavanje. :) ¸> Deanna tries to read Picard's mind and sees Pontiac. * ŰmÔ/\/\× 1.3 #00 *
pascal.49 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Fri, 6 Oct 1995 19:07:00 GMT MS> Khm, ovaj, a kako zamisljas da program dopise (append) jos teksta na kraj MS> datoteke ako je ona redonly? Tu mi nesto ne stima, vjerovatno je lapsus... Nikako, promenis joj atribut pre obrade, a kasnije vratis stari. ¸> "Bother," said Dale as his X-wing exploded. * ŰmÔ/\/\× 1.3 #00 *
pascal.50 .sima,
║║ "S> otvaraju u readonly, sa rewrite u writeonly, a sa append u ║║ "S> readonly takodje. ║║ na kraj datoteke ako je ona redonly? Tu mi nesto ne stima, ║║ vjerovatno je lapsus... Da lapsus; sa append se otvara u writeonly.
pascal.51 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: pascal Date: Sat, 07 Oct 1995 14:07:00 NGĆ From: nikola.golovic@shadow.herkules.co.yu (NIKOLA GOLOVIC) NGĆ Newsgroups: yu.prog.pascal Organization: BUSY CONNECTIONS , NGĆ SHADOW.HERKULES.CO.YU , 011/424-360 22-08 NGĆ Trebaju mi knjige u kojima se mogu naci naredbe za pravljenje NGĆ programa za modeme,t.j. za slanje i citanje sa serijskog porta u NGĆ PASCAL-u.Ako neko zna koja literatura za to postoji ili gde se moze NGĆ naci,neka napise nesto... Ja sam radio neke moje rutine u Pascalu ali su bile prokleto spore :(( Uzeo sam i PCL4P ali imao je neke nedostatke (trudim se da ga adaptiram za moje potrebe) pa nisam nista uradio. Inace, video sam 2 knjige okolo to : Dos sistemski pozivi (nisam s iguran, mozda se zvala i : Dos Iznutra) od stranskih autora, a i neku od Hayes-a. Na zalost bili su skupi :(( i nisam ih kupio :((( (ne vici, 100DM za original od Hayes-a mi je previse :)) ) 0GZy p.s. ako hoces poslacu rutine ali nisam siguran da ce ti uopste pomoci (eeh, da sam znao bolje ASM) jer su VeoMa! proste :( a i narugace mi se svako :)) * 0Gi'S eDiT0R * Backup not found: (A)bort (R)etry (P)anic * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.52 kriss,
˙˙ From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen ˙˙ Spiroski) ˙˙ Dali moze (Posto poodavno nemam pristap sezamu (pola godina ˙˙ dana ako ne i vise)) ako fajl nije veci od 100 kb da ga ˙˙ podelis na delice i uuencode-ovas ga na moju adresu po mail ? Fajl je poveći, i više puta bi preturio limit UUCP-a. Međutim, fajl možeš naći i na brzom sezamu (SEZAM-PRO-BA), gde je pristup besplatan.
pascal.53 vgenije,
> > NGC Trebaju mi knjige u kojima se mogu naci naredbe za > pravljenje NGC programa za modeme,t.j. za slanje i citanje sa > serijskog porta u NGC PASCAL-u.Ako neko zna koja literatura za > to postoji ili gde se moze MENE ZAnima da li je neko natero onaj commx da radi? Postoji li neki preimer koji pokazuje kako se iz pascala koordinira rad modema itd..
pascal.54 guta,
RE: Delphi Šta nije u redu sa sledećim kodom (i verzijama) -------- Verzija 1 -------- try i := StrToInt( Edit1.Text ); except MessageBeep(0); end; -------- Verzija 2 -------- try i := StrToInt( Edit1.Text ); except on exception do MessageBeep(0); end; -------- Verzija 3 -------- try i := StrToInt( Edit1.Text ); except on EConvertError do MessageBeep(0); end; -------- Verzija 4 -------- try i := StrToInt( Edit1.Text ); except on Exception do MessageBeep(0); else MessageBeep(1); end; Sve četiri verzije ponašaju se potpuno isto, tj. : - kada je string Edit1.Text neregularan za konverziju, funkcija StrToInt 'podiže' exception class EConvertError, pojavi se mali message box, gde on to i kaže, i program naravno stane. - kada mu kažem OK, on ostane u debug modu i potom ako idem step-by-step on sasvim regularno udje u blok iza except i zapišti, i potom nastavi dalje. - probao sam i da prijavim svoj exception handler Application.OnException i to radi (nema grešaka, regularno je prijavljen), ali f-ja StrToInt i dalje pada na neregularnu vrednost, diže exception i prikazuje onaj message box. Pitanja: - zašto ovo ne radi? U helpu ima čak isti primer... - ako ja u nečemu grešim (a biće da grešim ;) kako ova konstrukcija try...except...ŠelseĆ..ŠfinalyĆ...end treba da izgleda tako da mi se ne prikazuje dotični m.box i da se aplikacija ne zaustavlja? - mora da je nešto sitno (ili krupno? ;) što meni definitivno promiče... Unapred hvala na pomoći :) poz, Guta
pascal.55 nlazic,
*> - zašto ovo ne radi? U helpu ima čak isti primer... Proveri da li si u Options/Environment-Preferences isključio opciju Break on exception. Inicijalno ona je čekirana, tako da se program prekida pri svakoj grešci, obradio je ti ili ne. Ako nije to, javi da mozgamo :) Pozdrav, :) Nebojša :)
pascal.56 .sima,
║║ RE: Delphi ║║ Šta nije u redu sa sledećim kodom (i verzijama) Pa nalazi se u temi Pascal a ne Delphi :)
pascal.57 guta,
Ops! :)) Nisam ni primetio da je otvorena tema Delphi... Izvinjavam se cenjenom auditorijumu O:) poz, Guta
pascal.58 postmast,
From: rile@setnet.co.yu (Petar Ristic) Subject: Font na stampacu Date: Tue, 10 Oct 1995 23:17:00 Da li je moguce ugraditi YU slova u stampac, cisto softverski? Rile:) ... All, Do you love TECHNO? * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.59 postmast,
From: vojam@setnet.co.yu (Vojislav Mihailovic) Subject: Font na stampacu Date: Wed, 11 Oct 1995 13:58:04 * U poruci za All, Petar Ristic je rekao: PR> Da li je moguce ugraditi YU slova u stampac, cisto PR> softverski? Zavisi od stampaca. U neke moze, u neke ne moze. Koji ti imas stampac?     * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.60 postmast,
From: Jugoslav.Stojanov%f122.n103.z38@setnet.setnet.co.yu (Jugoslav Stojanov) Subject: EVALUATOR IZRAZA Date: Mon, 09 Oct 1995 16:19:11 Da li neko slucajno ima evaluator izraza + simbolicko diferenciranje pisano kao unit u pascalu... ---FidoPCB v1.0 [NR] * Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
pascal.61 postmast,
From: Jugoslav.Stojanov%f122.n103.z38@setnet.setnet.co.yu (Jugoslav Stojanov) Subject: DELPHI I TASK Date: Mon, 09 Oct 1995 17:07:11 Imam problem sa Delphi-em. ... x=WinExec('Notepad.exe', ..... ); u x se nalazi handle taska notepad. OK ... flag=istask(x); posle ovog dela flag je false. Dakle x nije task. Kako onda da saznam koji je handle notepada-a??? Probao sam da krenem kroz sve handleove i za svaki pitam istask(), i uglavnom dobijam razne gluposti. cu Jujo! ---FidoPCB v1.0 [NR] * Origin: * Fenix BBS, Beograd 011 414-312;404-679 * SetNet: (38:103/122)
pascal.62 postmast,
From: culjko@setnet.co.yu (Boris Dragovic) Subject: Re: pascal Date: Thu, 12 Oct 1995 12:17:04 "S> Jel mozda neko zna i moze da mi napise proceduru za zrtanje luka "S> tacku po tacku bez standardnih graph proc&funkcija.Parametri bi "S> trebali da budu poluprecnik pocetni i krajni ugao. "S> "S> Evo ti primer u kome sam koristio int 10. To znaci da primer nije "S> za koriscenje, vec samo za ilustraciju. Ako ti treba nesto brze "S> savetujem ti da pogledas nekoliko poslednjih bojeva casopise: PC - za "S> crtanje u VESA modovima i Racunari - programiranje vga karte pomocu "S> registara. Jedini deo koji bi morao da se zameni je DrawPoint. A za to "S> moze da se koriste registri ili direktni pristup memoriji. ja imam bolju ideju zasto nebi upotrebili mogucnosti bezijerove krive , tada bi stvarno dobijali tacku po tacku a i nije mnogo sporo..... * Origin: Atlantis ■ WELCOME ■ (38:103/115)
pascal.63 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Tue, 10 Oct 1995 23:24:00 GMT OS> Ja sam radio neke moje rutine u Pascalu ali su bile prokleto spore :(( Uzeo OS> i PCL4P ali imao je neke nedostatke (trudim se da ga adaptiram za moje pot Isprobao sam dosta biblioteka (sto SareVare sto PD) i jedino mi PCL nije pravila problema sa modemom (citaj: inicijalizacija portova) BTW, registracija je trivijalna ;) (ako te zanima) ¸> The Borg Cable Co: The subscriber's wishes are irrelevant! * ŰmÔ/\/\× 1.3 #00 *
pascal.64 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: EVALUATOR IZRAZA Date: Wed, 11 Oct 1995 12:45:00 GMT JS> Da li neko slucajno ima evaluator izraza + simbolicko diferenciranje JS> pisano kao unit u pascalu... Imas u Racunarima 80 source u Pascalu i u Lispu. ¸> Don't drive too close or I'll flick a booger on you. * ŰmÔ/\/\× 1.3 #00 *
pascal.65 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Thu, 12 Oct 1995 19:45:00 OS>Ja sam radio neke moje rutine u Pascalu ali su bile prokleto spore :(( Uzeo OS>i PCL4P ali imao je neke nedostatke (trudim se da ga adaptiram za moje potre OS>pa nisam nista uradio. Inace, video sam 2 knjige okolo to : Dos sistemski po OS> (nisam siguran, mozda se zvala i : Dos Iznutra) od stranskih autora, a i ne OS>d Hayes-a. Na zalost bili su skupi :(( i nisam ih kupio :((( (ne vici, 100DM OS>original od Hayes-a mi je previse :)) ) Knjiga "Serial Communications in C and C++", Mark Goodwin, MIS Press (ima je u USIS-u Skopje). Sve je prvo teoretski objasnjeno pa su dati source-ovi u C-u i klase u C++-u. Lako za razumeti i prevesti u Pascal/Assembler. Ognen * OLX 2.1 TD * You have a terminal illness - check your terminal. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.66 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Sun, 08 Oct 1995 11:59:00 "S> DPMI program radi kao i BP i BPC mora da bude aktivan neki DPMI "S>server, bilo da je to QDPMI (koji ima mogucnost virtualne memorije), ili "S>da se stave dpmi*.* fajle iz Pascala u path. Hmmmm....Jel' si siguran za ovo ? Ja mislim da se DPMI server ugradjuje u svaki .EXE preveden za protected mode. Ukoliko je aktivan drugi DPMI server - bice iskoriscen taj drugi, inace ugradjeni. Ognen * OLX 2.1 TD * Software Factory * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.67 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Sun, 08 Oct 1995 11:37:00 "N>Da li neko zna nesto o paketu SPX v2.0 ? Gde bih mogao da ga nabavim ? "N> Cini mi se da se radi o grafici (13x mode, sprajtovi ...) ! "N> Ako znate bilo sta molim da javite. Ako ne nadjes, jel moze ovo da pomogne (?): GENUS Microprogramming 1155 Dairy Ashford, Suite 200, Houston, TX 77079,(713) 870-0737 Fax:(713) 870-0288. Prodaju razne pakete za pascal, c i c++ za grafiku, efekte, sprajtove i slicno. Cene su od $50 do $250. Ognen * OLX 2.1 TD * When Rolling Stones are high, are they Rolling Stoned ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.68 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Sun, 08 Oct 1995 11:40:00 "P>Zna li neko dobru knjigu za Turbo Paskal u kojjoj "P>skoro sve ima,od verzije 6.0 ili 7.0 ako sadrzi "P>iza 6.0? 1. Turbo Pascal 6.0 Techniques & Utilities, Neil J. Rubenking, Ziff-Davis Press 2. Turbo Pascal 7.0 Handbook (zaboravih ostale podatke) Ognen * OLX 2.1 TD * You have a terminal illness - check your terminal. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.69 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Sun, 08 Oct 1995 12:02:00 "K>Imam jedan problem u vezi turbovizije.Naime javlja mi gresku "K>pri upisu na tok(stream) i to u obliku STREAM REGISTRATION ERROR. "K>Ako neko zna , neka javi zasto i kako je otkloniti? Da bi objekat mogao da bude stream-ovan potrebno je da ga registrujes. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ŢRegisterType procedure (OBJECTS unit)Ů ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Declaration: procedure RegisterType(var S: TStreamRec); Function: Registers an object type with Turbo Vision's streams, creating an entry in a linked list of known objects. Streams can only store and return these known object types. Each registered object needs a unique stream registration record, of type TStreamRec. TStreamRec type (OBJECTS unit) Declaration: TStreamRec = record ObjType: Word; VmtLink: Word; Load: Pointer; Store: Pointer; Next: Word; end; type TCalculator = object(TDialog) constructor Load(var S: TStream); procedure Store(var S: TStream); ... end; const RCalculator: TStreamRec = ( ObjType: 2099; VmtLink: Ofs(TypeOf(@TCalculator)^); Load: @TCalculator.Load; Store: TCalculator.Store); begin RegisterType(RCalculator); ... end; Pozdrav, Ognen * OLX 2.1 TD * Software Factory * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.70 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Sun, 08 Oct 1995 11:54:00 "J>Za njega nisam cuo, ali mogu da ti ponudim ANIVGA koji radi I uzasno je spor i trzav... Ognen * OLX 2.1 TD * When Rolling Stones are high, are they Rolling Stoned ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.71 postmast,
From: vladimir.sitnikovski@informa.mk (Vladimir Sitnikovski) Subject: pascal Date: Sun, 15 Oct 1995 03:21:00 GMT Vg> MENE ZAnima da li je neko natero onaj commx da radi? Vg> Postoji li neki preimer koji pokazuje kako se iz pascala koordinira Vg> rad modema itd.. Predji na Cliper, C i assembler, modem ti je u rukama, i radi sto god hoces, ima da ga nateras bukvalno da propeva :) Rgds, Vladimir Sitnikovski Republic of Macedonia +389(0)91-318618 Sitnik ... Catch the Blue Wave! ___ Blue Wave/QWK v2.12
pascal.72 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Sun, 15 Oct 1995 16:01:00 GMT VS> Vg> MENE ZAnima da li je neko natero onaj commx da radi? VS> Vg> Postoji li neki preimer koji pokazuje kako se iz pascala koordinira VS> Vg> rad modema itd.. VS> Predji na Cliper, C i assembler, modem ti je u rukama, i radi VS> sto god hoces, ima da ga nateras bukvalno da propeva :) Moze on da peva i iz GWBASIC-a ili FORTRANA 77 ;) Problem je u kvalitetnim rutinama za komunikaciju, a ne u okruzenju u kome se iste nalaze. Sto se tice pascala, PCL fino radi posao. ¸> That night they got me locked in a row called death, the governor, ¸> that muthafucka wants my last breath. * ŰmÔ/\/\× 1.3 #00 *
pascal.73 postmast,
From: rile@setnet.co.yu (Petar Ristic) Subject: Re: pascal Date: Sun, 15 Oct 1995 18:10:00 >> Srdjan Dakic nekad rece, a ja ga sada citiram << SD> BTW, registracija je trivijalna ;) (ako te zanima) Kako se "registruje"? Rile:) ... TECHNO is more then music, TECHNO is life style!!! * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.74 postmast,
From: pedja.ulic@panon.ns.ac.yu (Pedja Ulic) Subject: Detektovanje Windows-a? Date: Mon, 16 Oct 1995 14:04:00 GMT Da li neko ima ideju kako iz DOS programa koji radi u DOS PROMPT-U Windows-a 3.1X procitati serijski broj diska(DOS-ov)? Posao se ne odradjuje preko INT 21h, funkcijom 69h. Isto pitanje stoji i za bilo koji Windows program. Ako neko ima ideju ili je daj boze problem resio, please help! ... Catch the Blue Wave! ___ Blue Wave/QWK v2.12
pascal.75 sjocic,
Kako izvesti da signal 'RING' sa modema dođe do programa u Pascalu ? Evo u čemu je ideja, Hoću da napravim malo bolju sekretaricu (od Cirrusa) uz pomoć SB16 karte i modema. Modem bi služio samo za detekciju Ring-a, a posle je stvar do programa. Dakle trebao bi da bude sledeći postupak: 1. Tel. zvoni i dolazi signal sa modema (RING) 2. Program šalje neki signal (impuls) na neki od externih Com portova Taj signal bi recimo preko optokaplera uključivao relej, a ovaj vezu SB-> tel. linija. 3. SB emituje WAV poruku (pozivom kom.linije sa PLAY), a zatim počinje recording proces u izabranom modu. (problem je i ograničiti vreme snimanja na recimo 30 sec. pošto se program deaktivira samo sa ESC). Ima li nekih ideja (predloga) na ovu temu ?
pascal.76 guta,
Tako je! Break on exceptions rešava problem... :) A ja se ubi pišući konstrukcije o 'fatanju grešaka na milion načina. :))) Tako mi i treba kad ne gledam pažljivo, a i ko bi pretpostavio. U svakom slučaju, blagodarim na pomoći. poz, Guta
pascal.77 .sima,
║║ Hmmmm....Jel' si siguran za ovo ? Ja mislim da se DPMI server ║║ ugradjuje u svaki .EXE preveden za protected mode. Ukoliko je ║║ aktivan drugi DPMI server - bice iskoriscen taj drugi, inace ║║ ugradjeni. Ne, to je pogrešno. VCPI server je ugradjen u EXE i možda neki bolji DPMI, ali Borlandovi nisu. Probaj da startuješ BP, BPC, BC, BCC, a da pre toga obrišeš ili skloniš dpmi*.* iz njihovih bin direktorijuma: Failed to locate DPMI server (DPMI16BI.OVL) Ovo se dobije.
pascal.78 icile,
> Kako izvesti da signal 'RING' sa modema dode do programa u > Pascalu ? Postoje dva nacina da se ovo uradi: 1. Preko poruka koje modem vraca korisniku. Sa COM porta 'skida' se string koji modem salje korisniku. Ako je taj string RING, to znaci da telefon zvoni. Pre nego sto se ovo uradi, trebalo bi inicijalizovati modem i postaviti ga u stanje cekanja, i to Hejs komandama. Onda preostaje cekanje na dati signal. 2. Testiranjem odgovarajuceg bita tacno odredjenog registra UART kola, koje je zaduzeno za serijsku komunikaciju. Preporucujem ovaj nacin! Uz poruku saljem zip-fajl koji sadrzi dva fajla: COMPORT2.PAS - koji kad se prevede (sto je obavezno) daje .TPU fajl, koji ces da ukljucis u direktorijum sa ostalim .TPU-ovima RINGDET.PAS - kratak demonstracioni programcic, prokomentarisan; ukoliko nesto ipak nije jasno, ostavi mail! A, ako jos zelis da se detaljnije upoznas kako tvoj modem radi i kako mozes da ga programiras, preporucujem knjigu Aleksandra Radovanovica: 'Modemske komunikacije' > recording proces u izabranom modu. (problem je i ograniciti > vreme snimanja na recimo 30 sec. posto se program deaktivira > samo sa ESC). Objasni malo bolje u cemu je problem, jer samo ogranicavanje vremena mozes da izvedes na sledeci nacin: procitas jednom sistemsko vreme (na pocetku snimanja) i onda ga citas stalno (dok se u pozadini odvija snimanje). Oduzimas ta dva vremena. Kad razlika postane veca ili jednaka 30 sekundi, prekidas snimanje. Naravno, ovde ima malih problema pri oduzimanju dva vremena, ali to moze da se resi, ukoliko je to jedini problem.
pascal.79 icile,
Evo fajla koji bi trebalo da bude vezan na neku drugu poruku, ali posto sam ovde novi, nemam pojma kako se to radi!!! Mozda mi neko objasni. Poruka je upucena coveku koji se ovde zove SJOCIC, a u vezi sa testiranjem RING signala modema. Uz poruku ce valjda biti zakacen fajl RINGDET.ZIP ringdet.zip
pascal.80 vasic,
> Kako izvesti da signal 'RING' sa modema dođe do programa u Pascalu ? Ako ti ne treba ništa drugo sem da detektuješ zvono, onda možeš da izbegneš pisanje komunikacionog programa i samo da čitaš Modem Status Register (3FE za COM1 ili 2FE za COM2). Njegov bit 6 je Ring Indicator. > 3. SB emituje WAV poruku (pozivom kom.linije sa PLAY), a zatim počinje > recording proces u izabranom modu. (problem je i ograničiti vreme > snimanja na recimo 30 sec. pošto se program deaktivira samo sa ESC). Ako dotični program čita tastaturu normalno (preko BIOS-a), mogao bi se napraviti rezidentni program koji će posle 30s da mu ubaci jedno ESC u bafer. U stvari, mogao bi i tvoj program (onaj koji je exec-utirao recorder) da se nakači na int 8 i odradi isti posao.
pascal.81 dejanr,
>> Da li neko ima ideju kako iz DOS programa koji radi >> u DOS PROMPT-U Windows-a 3.1X procitati serijski broj diska(DOS-ov)? >> Posao se ne odradjuje preko INT 21h, funkcijom 69h. Au... probao sam, i zaista ne radi... što je "najlepše", par mojih programa tako čita serijski broj diska, ima da bude veselo kad njihovi korisnici instaliraju Windows 95 :(( Moraće da se kopa po dokumentaciji :( Ako je neko to već uradio, neka javi!
pascal.82 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: DiskSN-Windows? Date: Tue, 17 Oct 1995 22:25:00 GMT PU> SD> kome se nalazi longint koji predstavlja serijski broj. Sad da me PU> (longint je sa pocetkom na offsetu 39 u BOOT SECTOR-u diska). PU> Da li si koristio INT25? Ili TP (7.0) ima funkciju koja radi absread? Ne, ja sam koristio uputstvo za upotrebu. :)) Ozbiljno: 'Programmers Reference for MS-DOS' Mislim - znaci postojim, da TP nema funkciju koja radi absread, ali je trivijalno napisati je uz pomoc asm direktivice. PU> BIOS poziv INT13,2 ne koristim jer ne znam kako se PU> ponasa sa LBA diskovima (a i to je read kojem moram da prosledjujem PU> logicke parametre koji se razlikuju od diska do diska). To ti je dobar rezon. Da se ne bi petljao sa tabelom particija i da odredjujes gde je prvi LOGICKI sektor. Za razliku od DOS-a, BIOS-u saljes FIZICKE parametre koji kazu 'procitaj mi sa tog sektora na tom cilindru, tom glavom, to i to' ¸> As funny as a tombstone. * ŰmÔ/\/\× 1.3 #00 *
pascal.83 zormi,
* Au... probao sam, i zaista ne radi... što je "najlepše", par mojih programa * tako čita serijski broj diska, ima da bude veselo kad njihovi korisnici * instaliraju Windows 95 :(( * * Moraće da se kopa po dokumentaciji :( Ako je neko to već uradio, neka * javi! Kopali smo po SDK i DDK, ali nigde odgovarajućeg API-ja za slične informacije. Izgleda da Win95 prilično "maskira" hardver za direktni pristup, a tek NT...
pascal.84 atech,
>>> Da li neko ima ideju kako iz DOS programa koji radi >>> u DOS PROMPT-U Windows-a 3.1X procitati serijski broj >>> diska(DOS-ov)? Posao se ne odradjuje preko INT 21h, funkcijom > 69h. > Au... probao sam, i zaista ne radi... sto je "najlepse", par > mojih programa tako cita serijski broj diska, ima da bude > veselo kad njihovi korisnici instaliraju Windows 95 :(( > Morace da se kopa po dokumentaciji :( Ako je neko to vec > uradio, neka javi! 1. Upotreba nedokumentovanih dos funkcija nikad nije bila preporucljiva. ;) 2. Vecina korisnika koristi ovaj int da bi procitala serijski broj harda koji se dobija pri formatiranju diska i da bi ga kasnije upotrebila za identifikaciju u cilju vezivanja softvera za hard. O tome koliko je ovaj nacin identifikacije 'neozbiljan' najbolje govori cinjenica da se isti broj moze promeniti po volji upotrebom ovog istog interapta (21,69). Igrarije...:) 3. Ovaj int je predvidjen da daje podatke samo pod fat file sistemom i bio je novina dos-a 4.0 4. Ako neko zeli ozbiljno da zastiti svoje programe bilo bi dobro da nabavi softver za zastitu (npr. PCG) :)
pascal.85 dejanr,
>> 1. Upotreba nedokumentovanih dos funkcija nikad nije bila >> preporucljiva. ;) Jedino nevolja što je ovaj dokumentovan - videti Microsoft Developers Network CD-ROM. Moram da potražim neki noviji, moj je iz 94 godine, možda su nešto menjali. >> 2. Vecina korisnika koristi ovaj int da bi procitala serijski broj harda >> koji se dobija pri formatiranju diska i da bi ga kasnije upotrebila >> za identifikaciju u cilju vezivanja softvera za hard. O tome koliko >> je ovaj nacin identifikacije 'neozbiljan' najbolje govori cinjenica da >> se isti broj moze promeniti po volji upotrebom ovog istog interapta >> (21,69). Igrarije...:) Za 99% korisnika - sasvim dovoljna zaštita, a onaj 100-ti procenat će i onako da razbije bilo kakvu zaštitu. >> 3. Ovaj int je predvidjen da daje podatke samo pod fat file sistemom i >> bio je novina dos-a 4.0 Pa da, ali i Win95 radi pod FAT-om. Što je najlepše, komandom DIR se dobija broj, znači da postoji poziv kojim se čita.
pascal.86 atech,
> Jedino nevolja sto je ovaj dokumentovan - videti Microsoft > Developers Network CD-ROM. Moram da potrazim neki noviji, moj > je iz 94 godine, mozda su nesto menjali. Evo sta kaze HelpPC: INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) Int Lista koju posedujem (nije bas nova) govori da je ista funkcija 'internal' za dos 4.00. U svakom slucaju ovaj int ne daje podatke za mrezne diskove (Mislim da ga podrzava jedino novel od verzije 2.0+). Mozda je zanimljivo napomenuti da se ovaj broj formira pri formatiranju harda na osnovu aktuelnog datuma i vremena. >>> softvera za hard. O tome koliko je ovaj nacin identifikacije >>> 'neozbiljan' najbolje govori cinjenica da se isti broj moze >>> promeniti po volji upotrebom ovog istog interapta (21,69). > Igrarije...:) > Za 99% korisnika - sasvim dovoljna zastita, a onaj 100-ti > procenat ce i onako da razbije bilo kakvu zastitu. Moje iskustvo je sledece: vecina korisnika ne odnosi se prema programima onako kako to prodavac ocekuje. To sto korisnik nema pojma o racunarima ne znaci da nece otudjiti program. U svakom trenutku on moze da nadje nekog ko ce da obavi taj posao umesto njega! Na nasem trzistu softvera (ako isto u opste i postoji) vlada prava anarhija ali ce pre ili kasnije biti uvedeni zakoni koji ce debelo kaznjavati piratizaciju. Programerski rad (kao i vecina intelektualnih poslova uopste) u ovoj zemlji vec duze vreme nije na ceni. Ja kroz svoj rad na polju zastite softvera dajem skroman doprinos ali mislim da su potrebni jaci rezovi koji bojim se, u ovom trenutku ne odgovaraju mnogima pa ce do pravih promena veoma tesko dolaziti. Korak napred predstavlja predlog zakona (koji inace i sam ima dosta nedostataka ali na njemu treba raditi) a neizostavno je i formiranje odredjene organizacije na nivou zemlje koja ce voditi racuna o interesima programera, normama i standardima na polju komjuterskog softvera. Koliko znam bilo je nekoliko bezuspesnih pokusaja ali to ni u kom slucaju ne znaci da treba odustati. > Za 99% korisnika - sasvim dovoljna zastita, a onaj 100-ti > procenat ce i onako da razbije bilo kakvu zastitu. Ovaj tip zastite je i previse banalan za svakog ko se i malo razume u programiranje a da ne govorim za nesto 'naprednije' tako da bi onaj procenat 99% ipak smanjio na nekih 30%. Ozbiljni prozivodjaci softvera se ni u kom slucaju ne bi trebali igrati sa ovim stvarima. Steta moze biti neprocenjiva a citav rad na projektu ponekad uzaludan. Ni jedan zakon niti odredbe posle toga nece vratiti izgubljen novac. Testirao sam zastite vecine firmi koje se oglasavaju u PCM-u bilo da se radilo samo o soft ili o hard-soft zastiti (razne vrste lockova). Rezultate ne bih objavljivao, ali sa velikom sigurnoscu mogu da tvrdim da je moguce odraditi zastitu koja ce sa velikom sigurnoscu zaustaviti vecinu potencijalnih provalnika. Poznata je stvar da ni jedna zastita nije savrsena i da je svaka teorijski slaba ali to i dalje ne znaci da ce svaka zastita pasti. >>> 3. Ovaj int je predvidjen da daje podatke samo pod fat file >>> sistemom i bio je novina dos-a 4.0 > > Pa da, ali i Win95 radi pod FAT-om. Znam. Podatak sam spomenuo zbog onih koji koriste neki drugi file sistem a imaju nameru da koriste 21,69. > Sto je najlepse, komandom > DIR se dobija broj, znaci da postoji poziv kojim se cita. Sigurno. Samo mislim da nije u pitanju samo jedan poziv. Za 15-tak minuta kopanja moglo bi se doci do algoritma. pozdrav.
pascal.87 sjocic,
Za zakasnjenjem zahvaljujem se icile-tu i vasic-u na odgovorima! :) Imao bih jos jedno pitanje: Navedeni program 'ringdet' radi Ok, ali on treba da poziva dole navedeni rezidentni program Timer. Kako izvesti da program salje 'ESC' i time prekine izvrsavanje drugog programa ? Kako izvesti da se program ukloni iz memorije po njegovom izvrsenju , tj. posto je ubacio ESC ? {$M 2000,0,0} {$R-,S-,I-,D+,F+,V-,B-,N-,L+} Program Timer; Uses dos,crt; Const TimerInt=$08; Timelimit:Word=100; Var regs:registers; Cnt:word; Oldtimervec:Pointer; i:Real; Code:Word; prekid:boolean; {**************************************} Procedure STI; Inline($FB); Procedure CLI; Inline($FA); Procedure CallOldint(Sub:pointer); Begin Inline($9C/$FF/$5E/$06); end; Procedure Clock(Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP:WORD);interrupt; begin Calloldint(oldtimervec); if(Cnt>timelimit) then begin { Ovde program treba da salje 'ESC' i prekida drugi program } { ----------------------------------------------------------------} prekid:=true;cnt:=cnt-2; end else if not(prekid) then inc(Cnt,1); STI; end; {**************************************} Begin GetIntVec(timerint,oldtimervec); Setintvec(timerint,@Clock); Cnt:=0; prekid:=false; Keep(0); end.
pascal.88 icile,
-> A, ako jos zelis da se detaljnije upoznas kako tvoj modem radi i kako -> mozes da ga programiras, preporucujem knjigu -> Aleksandra Radovanovica: 'Modemske komunikacije' Kakav sam covek? Replika na sopstvenu poruku. Primetio sam da sam pogresio pri navodjenju naziva knjige Aleksandra Radovanovica. Knjiga se u stvari zove: 'PC modemske komunikacije'.
pascal.89 icile,
-> dole navedeni rezidentni program Timer. Kako izvesti da -> program salje 'ESC' i time prekine izvrsavanje drugog programa ? -> Kako izvesti da se program ukloni iz memorije po njegovom -> izvrsenju , tj. posto je ubacio ESC ? Mislim da bi bilo dobro da postoji JEDAN tvoj program koji ce: 1. Detektovati zvono modemom (izgleda da je za ovu svrhu bolje ono sto je predlozio vasic, jer ono sto sam ja napisao vise moze da se upotrebi u druge svrhe, npr. kad se pise nesto ozbiljnije za modem; ovde to nema potrebe, pa se stvar bespotrebno komplikuje), 2. Ubaciti onaj Hendler za INT 8 koji si napisao, 3. Startovati program Recorder. Kada prodje vreme koje je predvidjeno, Hendler ce poslati u bafer tastature kod tastera ESC, koji ce prekinuti program Recorder. Tada ce on vratiti kontrolu tvom jedinom programu, i tada mozes da ponovis postupak. Primer tog programa saljem ti uz ovu poruku. Nadam se da sad nece biti problema sa tim u vezi! Program koji sam ja napisao jeste malo jednostavniji, ali mislim da moze da se provali glavna ideja, koju sam ovde pokusao da opisem. Ako bude bilo kakvih problema, javi se! int8.zip
pascal.90 postmast,
From: rdejan@fon (Dejan Rudic) Subject: Re: pascal Date: Sat, 21 Oct 1995 08:19:47 GMT Sj> Kako izvesti da program salje 'ESC' i time prekine Sj> izvrsavanje drugog programa ? Kako izvesti da se program Sj> ukloni iz memorije po njegovom izvrsenju , tj. posto je Sj> ubacio ESC ? Najbolje (?) i najprljavije :) resenje je da pre izlaza (recimo u exitproc) staviä u buffer za tastaturu ESC. Sad ne znam napamet kako se to radi, ali ima u techhelp-u, a ako ni on ne pomogne, mail-ni me pa cemo da sredimo stvar... Pozdrav, Dejan --- ■ Blue Wave/QWK v2.20 [NR] ■
pascal.91 postmast,
From: Mihajlo.Savic%f135.n135.z38@setnet.setnet.co.yu (Mihajlo Savic) Subject: Re: pascal Date: Wed, 18 Oct 1995 02:19:48 *** QUOTE : Srdjan Dakic *** SD> BTW, registracija je trivijalna ;) (ako te zanima) Zanima mene pa me se sjeti u mail ili ovdje ... C-Ya, BadaBoom ... A ti bi TAG * Origin: Sveti Sava BBS Prijedor 079 11 629 SETNet: (38:135/135)
pascal.92 postmast,
From: vladimir.sitnikovski@informa.mk (Vladimir Sitnikovski) Subject: Detektovanje Windows-a? Date: Wed, 18 Oct 1995 06:36:00 GMT -=> Quoting Pedja Ulic to All <=- PU> Path: medi.durlan.co.yu!durlan!panon!pedja.ulic PU> From: pedja.ulic@panon.ns.ac.yu (Pedja Ulic) PU> Newsgroups: yu.prog.pascal PU> Subject: Detektovanje Windows-a? PU> Message-ID: <951016170112134@panon.ns.ac.yu> PU> Date: Mon, 16 Oct 1995 14:04:00 GMT PU> Distribution: world PU> Organization: Panon BBS, Novi Sad PU> Lines: 12 PU> Da li neko ima ideju kako iz DOS programa koji radi PU> u DOS PROMPT-U Windows-a 3.1X procitati serijski broj PU> diska(DOS-ov)? Posao se ne odradjuje preko INT 21h, funkcijom PU> 69h. PU> Isto pitanje stoji i za bilo koji Windows program. PU> Ako neko ima ideju ili je daj boze problem resio, please help! Pre startovanja Win-a, ubaci ga redirekcijom u neku datoteku, i sifrovaj ga u polje, a kad udjes u Win-u, reci programu pre startovanja da procita datoteku i desifruje polje, da uporedi i da krene ili stane. :))) Ovo moze da ti posluzi i za diskove koji nemaju serijski broj, nego samo labelu diska kao sto nekad moze WFW to da uradi i sa diskovima sa serijskim brojem. Nadam se da sam ti pomogao. Sitnik ... Rgds, Vladimir Sitnikovski, Republic of Macedonia, +389(0)91-318618 ___ Blue Wave/QWK v2.12
pascal.93 postmast,
From: pedja.ulic@panon.ns.ac.yu (Pedja Ulic) Subject: HDD Serial nbr. Date: Fri, 20 Oct 1995 12:38:00 GMT Problem i dalje stoji :( Serijski broj diska (C drajva) moguce je procitati pomocu INT 25,69, i to radi bez problema, u DOS-u !!! U DOS Prompt-u vraca nevidjene gluposti (preusmeren interapt), a to mi nikako ne odgovara. Drugo resenje JESTE poziv INT 13 ili INT 25 ali TPascal NEMA nista poput AbsRead :((( Moguce je odraditi poziv INT 25 ali zbog ocajne dokumentacije nije mi bas najjasniji format podataka koje treba proslediti kroz DX:BX. Pokusao sam po knjizi, ali rezultat je BlackScreenOfDeath ;) Problem je konkretno u strukturi iz BX-a i u vrednosti u DX-u (debagirao sam programcic koji sam napisao u BC-u i koji radi posao, neposredno pre INT 25 je DX = FDF2 za nulti sektor,po knjizi je DX = 0). Zadnja opcija je da me neko prosvetli povodom uvezivanja C source-a (funkcijica koja vraca long) u Pascal program (molim i primer :))) Unapred a do groba zahvalan sam Pedja ... This tagline is SHAREWARE! To register, send me $10 ___ Blue Wave/QWK v2.12
pascal.94 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Sifre Date: Sat, 21 Oct 1995 02:48:00 GMT DN> program rnd_pass_gen (input, output); DN> var a,b,c: integer; s: char; DN> Begin DN> Repeat DN> c:=random(36)+1; DN> if c=1 then s:='z'; DN> if c=2 then s:='x'; DN> ... DN> if c=36 then s:='0'; DN> write(s); DN> b:=b+1; DN> Until a=b DN> end. PROGRAM RndPassGen; FUNCTION GenPassword(Len:INTEGER) : STRING; CONST C = 'zxcvbnmasdfghjklqwertyuiop1234567890'; VAR I : INTEGER; S : STRING; BEGIN S := ''; Randomize(); FOR I := 1 TO Len DO S := S + C[Random(Length(C))+1]; GenPassword := S; END; VAR L : INTEGER; BEGIN Write('Unesi duzinu sifre: '); ReadLn(L); WriteLn(GenPassword(L)); END. --- Jobrati paznju na ono CONST... to ti zamenjuje (izmedju ostalog i) onolike IF-ove. A i flexibilnije je jer mozes da prosirujes spisak mogucih znakova u sifri prostim navodjenjem u "tabelu" znakova, odnosno string C. ¸> God made the cat so that we, for a moment, might caress the tiger. * ŰmÔ/\/\× 1.3 #00 *
pascal.95 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: HDD Serial nbr. Date: Sat, 21 Oct 1995 04:00:00 GMT PU> Moguce je odraditi poziv INT 25 ali zbog ocajne dokumentacije nije mi bas PU> najjasniji format podataka koje treba proslediti kroz DX:BX. Nije DX:BX nego DS:BX je adresa bafera za ulaz/izlaz. DX oznacava od kog sektora treba da se cita. Kako si ga napunio adresom bafera, procitanim pogresnim podacima si verovatno sahranio Data Segment. :) PROCEDURE AbsRead(Disk:BYTE; Start:WORD; Count:WORD; VAR Buffer); ASSEMBLER; ASM MOV AL,Disk MOV CX,Count MOV DX,Start PUSH DS LDS BX,Buffer INT 25h (* INT 26h za AbsWrite, sve ostalo je isto *) POP DS END; PROCEDURE GetSerialNum(Disk:BYTE; VAR SerialNum:LONGINT); VAR Buffer : ARRAY [0..511] OF BYTE; BEGIN AbsRead(Disk,0,1,Buffer); (* Disk: A=0, B=1,... *) SerialNum := Buffer[.?.] (* znas vec gde je ... *) END; ¸> Preserve an endangered species: Female Sysops * ŰmÔ/\/\× 1.3 #00 *
pascal.96 postmast,
From: pedja.ulic@panon.ns.ac.yu (Pedja Ulic) Subject: Re: HDD Serial nbr. Date: Sun, 22 Oct 1995 10:52:00 GMT -=> Quoting Srdjan Dakic to Pedja Ulic <=- SD> BEGIN SD> AbsRead(Disk,0,1,Buffer); (* Disk: A=0, B=1,... *) SD> SerialNum := Buffer[.?.] (* znas vec gde je ... *) SD> END; Srdjane ono ne radi (cf = 1, ah=2 BAD ADRESS MARK, al=7 INVALID MEDIA TYPE)! Mislim da je problem u CX-u (onaj DX:BX je bio moj lapsus). INT 25 - Absolute Disk Read AL = logical drive number (0=A:, 1=B:, 2=C:, ...) CX = number of sectors to read ----> = -1 if DOS 4.x (control block pointer is in DS:BX) ----> DX = starting logical sector number (see below for DOS 4.x+) DS:BX = pointer to data buffer ----> = pointer to control block (DOS 4.x+, see below) Ovo ^ se mora napuniti, a ovo je format: Control Block Format (DOS 4.x): Offset Size Description 00 dword starting sector 04 word number of sectors to read 06 dword pointer to buffer Saljem i stanja registara neposredno pre poziva INT 25 iz proograma koji sam napisao u C-u: ax = 0002 ok bx = FFD2 adresa na koju upisuje nesto cx = FFFF -1 dx = FFF0 !!??!! ovo mi nije jasno, ali se bojim da on preracunava logicki br. sektora u fizicki br. i obrnuto (u pozivu f-je je 0-ti sektor a pre interapta je FFF0 u dx-u) Ovo se prethodno puni preko INT 21,32 (Get Drive Parameter Table) tako da jednostavno prosledjivanje adrese bafera ne radi pod DOS-ovima preko 4.x ... Great INQUISITOR is coming for YOU ___ Blue Wave/QWK v2.12
pascal.97 violator,
Prvo pitanje... :) maÜala :) Dakle kako pokrenuti funkciju readkey? PiÜe da mu treba WinCrt unit, koji nemam :(. A u helpu ima opis te funkcije. BTW, da li ima neka funkcija koja je ekvivalent INKEY$-u iz basic-a, a da radi na onom TIM-ovom pascalu (TP 2.0 ili 3.0, koji ni nema unit-e :( )
pascal.98 zeljkoj,
> mu treba WinCrt unit, koji nemam :(. A u helpu ima opis te > funkcije. BTW, da li ima neka funkcija koja je ekvivalent > INKEY$-u iz basic-a, a da radi na onom TIM-ovom pascalu (TP 2.0 > ili 3.0, koji ni nema unit-e :( ) Nije to TIM-ov Pascal, to je Borlandov Turbo Pascal 2.0 for CP/M, kompatibilan sa istom verzijom za DOS. :) Nema ekvivalenta funkcije INKEY$ iz BASIC-a. Getkey (ili tako nekako :) je nešto kao INPUT$(1).
pascal.99 postmast,
From: gandalf@setnet.co.yu (Knezovic Bojan) Subject: UPOMOC!!! Date: Thu, 19 Oct 1995 00:14:02 PR> Ima li neko TXT o programiranju Sound Blastera? Errr, imam ja jedan unit za blaster ako te zanima(sors ima cca 10 kb). Mogu da ti ga okacim ili u konf ili na mail, ali je najbolje da se ti meni javis na mail jerbo je to deo jedne vece biblioteke raznih stvari, a ako koristis TP, veruj mi, bice ti od velike koristi :) Khmm, kada bolje razmislim evo ti ga pa ako ti se dopadne ima jos: -------------------------------CUT HERE----------------------- {--------------------------------------------------------------------------- Unit SBVoice (v1.10) For Turbo Pascal 6.0 For interfacing With the SoundBlaster's digitized voice channel. Copyright (c) 1991, Amit K. Mathur, Windsor, Ontario. By: Amit K. Mathur 3215 St. Patrick's Drive Windsor, Ontario N9E 3H2 CANADA Ph: (519) 966-6924 Networks: RIME(tm) R/O ->WinDSor, ILink (Shareware), NA-Net (Gaming), WWIVNet (#198@5950), or direct on NorthSTAR (519)735-1504. These routines are released to the public domain. However I will gladly accept contributions towards further development of this and other products. Please send any changes or improvements my way. and I'm interested in other SoundBlaster utilities and Programming tools. Thanks in advance. --------------------------------------------------------------------------} {$O+,F+} { Allow this Unit to Be Overlayed (doesn't affect Compilation if you decide not to overlay it), and Force Far calls. } Unit SBVoice; Interface Uses MemAlloc; { Memory Allocation Proc } Var {$ifNDEF NoSBVoiceArray} { to use your own } SoundFile: Array[1..64000] of Byte; { whatever size you want } {$endif} sgSBDriver, ofSBDriver: Word; { seg and ofs of Driver } SBDriver: Pointer; { Pointer to the driver } StatusWord: Word; { stores SB status } SBFound: Boolean; { whether Init worked } Procedure loaddriver(fi:String); { Loads CT-VOICE.DRV into memory. 'fi' is the path to the driver. } Procedure closedriver; { Clean up routine. not Really necessary if your Program is over. } Procedure loadvoice(f:String;start,size:Word); { Load 'f' into memory. Start is the start of the area within 'f' to load and size is the amount to laod. if you set size to 0 then it will load the entire File. } Function sb_getversion:Integer; { Get the version number of the CT-VOICE.DRV Returns the Version number } Function sb_init:Integer; { Initialize the SoundBlaster. Call this right after load driver, unless you have to change the BaseIOAddress or Interrupt number and haven't changed the CT-VOICE.DRV File itself. Returns: 0 - no problem 1 - Sound card failiure 2 - I/O failiure 3 - DMA interrupt failiure } Procedure sb_output(sg,os:Word); { Output the digitized Sound. You must load the Sound first! sg and os are the segment and offset of either SoundFile or whatever Array you use to store the Sound. if you use a .VOC File then call With 26 added to the offset. } Procedure sb_setstatusWord(sg,os:Word); { Sets the location of the status Word. This is the third thing you should do, after loading the driver and initializing it. The StatusWord will contain $0FFFF if input/output is in output, and 0 when it's done. It will also hold the values of the markers in voice Files if any are encounterred, allowing you to coordinate output with your Programs. } Procedure sb_speaker(mode:Word); { Set the speaker on/off. off is mode 0, and On is anything else. This is the fourth thing you should do in your initialization. } Procedure sb_uninstall; { Uninstall the driver from memory. Used by CloseDriver. } Procedure sb_setIOaddress(add:Word); { Override the IOaddress found inside the CT-VOICE.DRV File. Add is the new IO address. } Procedure sb_setinterruptnumber(intno:Word); { Allows you to override the Interrupt number in the driver. IntNo is your new interrupt number (3, 5, 7 or 9). } Procedure sb_stopoutput; { Stops the output in progress } Function sb_pauseoutput: Integer; { PaUses the output in progress. Returns: 0 - success 1 - fail } Function sb_continueoutput: Integer; { Continues a paused output. Returns: 0 - success 1 - fail (nothing to continue) } Function sb_breakloop(mode:Word): Integer; { Breaks out of the currect output loop. Modes: 0 - continue round, stop when done 1 - stop immediately Returns: 0 - success 1 - not in loop } Procedure sb_input(highlength,lowlength,seginputbuff,ofsinputbuff:Word); { Input digitized Sound. HighLength: The high Byte of the length of the input buffer. LowLength: The low Byte of the length of the input buffer. SegInputBuff: The Segment of the start of the input buffer. ofsInputBuff: The offset of the start of the input buffer. } Procedure sb_setuserFunction(segaddress,ofsaddress:Word); { Sets up a user Function that the SB calls when it encounters a new data block. It must perForm a Far ret, preserve DS,DI,SI and flag register. Clear Carry flag if you want the driver to process the block, or set it if your routine will. It must be clear if the block Type is 0, that is the terminate block. SegAddress is the segment of your user Function in memory. ofsAddress is the ofset of your user Function in memory. } Implementation Uses Dos; Procedure Abort(s:String); begin Writeln('The Following Error Has Occurred: ',s); Writeln('Remedy and try again. We apologize For any inconvenience.'); halt(1); end; Procedure loaddriver(fi:String); Var f: File; k: Integer; t: String[8]; begin assign(f,fi+'CT-VOICE.DRV'); {$I-} Reset(f,1); {$I+} if Ioresult <> 0 then Abort('Cannot Open '+fi+'CT-VOICE.DRV'); blockread(f,Mem[sgSBDriver:ofSBDriver],Filesize(f)); close(f); t:=''; For k:=0 to 7 do t:=t+chr(Mem[sgSBDriver:ofSBDriver+k+3]); if t<>'CT-VOICE' then abort('Invalid CT-VOICE Driver!'); end; Procedure closedriver; begin sb_uninstall; if dalloc(sbdriver)=0 then abort('Uninstall Error!'); end; Procedure loadvoice(f:String;start,size:Word); Var fi: File; k: Word; begin assign(fi,f); {$I-} Reset(fi,1); {$I+} if Ioresult <> 0 then abort('Cannot Open '+f+'!'); k:=0; seek(fi,start); if size=0 then size:=Filesize(fi); blockread(fi,Mem[seg(SoundFile):ofs(SoundFile)],size); close(fi); end; Function sb_getversion: Integer; Assembler; Asm push bp mov bx,0 call SBDriver pop bp end; Procedure sb_setIOaddress(add:Word); Assembler; Asm push bp mov bx,1 mov ax,add call SBDriver pop bp end; Procedure sb_setinterruptnumber(intno:Word); Assembler; Asm push bp mov bx,2 mov ax,intno call SBDriver pop bp end; Procedure sb_stopoutput; Assembler; Asm push bp mov bx,8 call SBDriver pop bp end; Function sb_init: Integer; Assembler; Asm push bp mov bx, 3 call SBDriver pop bp end; Function sb_pauseoutput: Integer; Assembler; Asm push bp mov bx,10 call SBDriver pop bp end; Function sb_continueoutput: Integer; Assembler; Asm push bp mov bx,11 call SBDriver pop bp end; Function sb_breakloop(mode:Word): Integer; Assembler; Asm push bp mov bx,12 mov ax,mode call SBDriver pop bp end; Procedure sb_output(sg,os:Word); Assembler; Asm push bp push di mov bx,6 mov di,os { offset of voice } mov es,sg { segment of voice } call SBDriver pop di pop bp end; Procedure sb_input(highlength,lowlength,seginputbuff,ofsinputbuff:Word); Assembler; Asm push bp push di mov bx,7 mov dx,highlength mov cx,lowlength mov es,seginputbuff mov di,ofsinputbuff call SBDriver pop di pop bp end; Procedure sb_setstatusWord(sg,os:Word); Assembler; Asm push bp push di mov bx,5 mov di,os mov es,sg call SBDriver pop di pop bp end; Procedure sb_speaker(mode:Word); Assembler; Asm push bp mov bx,4 mov ax,mode call SBDriver pop bp end; Procedure sb_uninstall; Assembler; Asm push bp mov bx,9 call SBDriver pop bp end; Procedure sb_setuserFunction(segaddress,ofsaddress:Word); Assembler; Asm push bp mov dx,segaddress mov ax,ofsaddress mov bx,13 call SBDriver pop bp end; begin {set up SB} if DosMemAvail < 5000 then { lower the heap } abort('not Enough Memory'); { With $M to fix } StatusWord:=MAlloc(SBDriver,5000); if StatusWord<>0 then abort('Memory Allocation Error'); sgSBDriver:=MemW[seg(SBDriver):ofs(SBDriver)+2]; ofSBDriver:=MemW[seg(SBDriver):ofs(SBDriver)]; Loaddriver(''); { change at will } if sb_init<>0 then { or stick in your } SBFound:=False { own Program init } else SBFound:=True; if SBFound then begin sb_setstatusWord(seg(statusWord),ofs(statusWord)); sb_speaker(1); { turn SB on } end; end. {There's the Unit For .VOC playing.} -------------------------------AND HERE----------------------- ... Pravo na gresku ne znaci obavezu. * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.100 postmast,
From: rile@setnet.co.yu (Petar Ristic) Subject: Re: Font na stampacu Date: Fri, 20 Oct 1995 00:02:02 >> OGNEN DUZLEVSKI nekad rece, a ja ga sada citiram << OD> Na epsonima koji imaju veci bafer za karaktere moguc je download Hvala. Rile:) ... Onanisanje je seks sa najomiljenijom osobom... * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.101 postmast,
From: rile@setnet.co.yu (Petar Ristic) Subject: Re: Font na stampacu Date: Fri, 20 Oct 1995 00:02:03 >> Vojislav Mihailovic nekad rece, a ja ga sada citiram << VM> Ovo sve sto pricam vazi za matricne stampace. Hvala na pomoci. Rile:) ... It doesn't work, but it looks pretty. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.102 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Problem Date: Fri, 20 Oct 1995 23:32:13 Nikako ne mogu da nadjem podatke kako se radi sledeca stvar, a znam da sam ih negde imao. Zato bih zamolio auditorijum da mi pomogne. Napravio sam objektnu TPU sa odredjenim funkcijama koje rade sa jednom strukturom podataka. Sad mi se pojavila potreba da isti set funkcija uptrebim na drugoj strukturi. Sve ostalo je isto, samo treba da promenim tip podataka koje smesta u dinamicku listu. E sad, posto je na izgledu da cu iste funkcije koristiti i na trecoj cetvroj i ko zna kojoj strukturi, malo mi je glupo resenje da za svaku pravim poseban objekat. Hteo bih da ovaj objekat prepravim tako da mu pri inicijalizaciji kao parametar prosledim strukturu podataka koje zelim u listi, tako da mi bude univerzalan. Nasao sam sintaksu kojom mogu da prosledjujem funkcije kao parametre, ali nikako ne mogu da resim problem prosledjivanja samo tipa podataka. ... BR> Desava li se sad nekom da mu ubajati benzin? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.103 postmast,
From: danijel.nadj@panon.ns.ac.yu (Danijel Nadj) Subject: Re: Sifre Date: Sun, 22 Oct 1995 16:51:00 GMT SD>?!@!# Sta ti javlja kad nece da radi, posto ne moz da ne radi :) Ima dve rupe: Randomize(); Smetaju mu zagrade, bude ok kad ih obrisem... S := S + C[Random(Length(C))+1]; """"""""""""""""""""" Ovde prijavi neku gresku, ne secam se bas tacno koju... ... "And his nostrils ripped and his bottom burned off.." danijel.nadj@panon.ns.ac.yu FIDO:2:382/103 --- ■ SPEED 2.00 [NR] ■
pascal.104 postmast,
From: danijel.nadj@panon.ns.ac.yu (Danijel Nadj) Subject: Re: Sifre Date: Sat, 21 Oct 1995 17:05:00 GMT ŠIn room number 134 we saw patient SRDJAN DAKIC hitting the Šdoor with his head, and talking to Danijel Nadj about Sifre. SD>CONST SD> C = 'zxcvbnmasdfghjklqwertyuiop1234567890'; SD>VAR SD> I : INTEGER; SD> S : STRING; SD>BEGIN SD> S := ''; SD> Randomize(); SD> FOR I := 1 TO Len DO SD> S := S + C[Random(Length(C))+1]; SD>Jobrati paznju na ono CONST... to ti zamenjuje (izmedju ostalog i) SD>onolike IF-ove. A i flexibilnije je jer mozes da prosirujes spisak SD>mogucih znakova u sifri prostim navodjenjem u "tabelu" znakova, odnosno SD>string C. Te informiram da je odbijalo da radi, sve dok nisam batalio ono const i deklarisao C kao string... ... "Why, then, the world's mine oyster which I with sword will open." danijel.nadj@panon.ns.ac.yu FIDO:2:382/103 --- ■ SPEED 2.00 [NR] ■
pascal.105 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Sifre Date: Sat, 21 Oct 1995 18:47:00 GMT DN> SD>CONST DN> SD> C = 'zxcvbnmasdfghjklqwertyuiop1234567890'; DN> SD> S := S + C[Random(Length(C))+1]; DN> Te informiram da je odbijalo da radi, sve dok nisam batalio ono const i DN> deklarisao C kao string... ?!@!# Sta ti javlja kad nece da radi, posto ne moz da ne radi :) ¸> ... Does the name "Pavlov" ring a bell? * ŰmÔ/\/\× 1.3 #00 *
pascal.106 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Sun, 22 Oct 1995 12:54:00 GMT --> "Dejan Ristanovic" <dejanr@sezam.UUCP> DE> Pa da, ali i Win95 radi pod FAT-om. Sto je najlepse, komandom DIR se DE> dobija broj, znaci da postoji poziv kojim se cita. Ne mora da znaci, podatak se moze procitati iz odredjenog polja BOOT sektora. Igrao sam se pravljenjem nekih drajvera (simulatoria) diskova i dosao do zakljucka da se sa DIR obavezno cita BOOT sektor (sa diska ili iz memorije) i analizira. ¸> "If nick-nacks ruled the world!" -- Joel Robinson * ŰmÔ/\/\× 1.3 #00 *
pascal.107 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Sun, 22 Oct 1995 13:02:00 GMT --> "Blagoje Ceklic" <atech@sezam.UUCP> AT> INT 21,69 - Get/Set Disk Serial Number (Undocumented DOS 4+) AT> Mozda je zanimljivo napomenuti da se ovaj broj formira pri formatiranju AT> harda na osnovu aktuelnog datuma i vremena. ... sto mu daje "randomize" osobinu. AT> Ovaj tip zastite je i previse banalan za svakog ko se i malo razume AT> u programiranje a da ne govorim za nesto 'naprednije' tako da bi AT> onaj procenat 99% ipak smanjio na nekih 30%. Ja smatram najboljom zastitom flashujuce magenta na zelenom "UNREGISTERED" ili jos bolje "Ovaj program je registrovan za Miku". Naravno, jos bolje je ako si u mogucnosti da stupis u (full) kontakt sa korisnikom neregistrovane ili ukradene verzije programa. ;) ¸> All recipes require at least one extra trip to the store. * ŰmÔ/\/\× 1.3 #00 *
pascal.108 konem,
Ima li iko Window.tpu fajl ? Trebao bi mi,pa ako se neko sretne s'tim fajlom neka mi ga posalje. Hvala unapred...
pascal.109 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Serijski broj diska Date: Mon, 23 Oct 1995 09:30:00 GMT >>Srdjane ono ne radi (cf = 1, ah=2 BAD ADRESS MARK, al=7 INVALID MEDIA TYPE)! >>Mislim da je problem u CX-u (onaj DX:BX je bio moj lapsus). >> DS:BX = pointer to data buffer >>----> = pointer to control block (DOS 4.x+, see below) Ne mora se nista puniti. Mislim da je to ostavljeno kao opcija za verzije 4.0+ Ja na mojoj 6.0 nisam imao nikakvih problema da uradim sledece: PROCEDURE AbsRead(Disk:BYTE; Count:WORD; Start:WORD; VAR Buffer); ASSEMBLER; ASM MOV AL,Disk MOV CX,Count MOV DX,Start (* Krece se od 0 --> 0 == BOOT sektor *) PUSH DS LDS BX,Buffer (* <-- Ovde obrati paznju da li radi ispravno *) INT 25h ADD SP,2 (* Ovo je VRLO bitno i mora i posle INT 26 *) POP DS (* jer DOS ostavlja jednu rec na steku posle *) END; (* poziva ?! *) Verovatno je krahiralo zbog nedostatka onog regenerisanja steka. ¸> I've never been at a siege before. * ŰmÔ/\/\× 1.3 #00 *
pascal.110 postmast,
From: pedja.ulic@panon.ns.ac.yu (Pedja Ulic) Subject: Re: Serijski broj diska Date: Tue, 24 Oct 1995 11:14:00 GMT SD> Verovatno je krahiralo zbog nedostatka onog regenerisanja steka. Sada ne puca, ali i dalje imam isti problem. Za oba floppy-ja stvar radi OK, ali za HD jok! Uporno vraca cf=1 i u AL=7 i AH=2 (INVALID MEDIA TYPE !),a to se jako slaze sa onim sto pise o DOS-u 4.x. Cudi me da kod tebe to radi (da li si probao?),i ako radi sa kojim parametrima zoves proceduru (ako sam ja nesto banalno prevideo). ... Great INQUISITOR is coming for YOU ___ Blue Wave/QWK v2.12
pascal.111 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Sifre Date: Mon, 23 Oct 1995 09:57:00 GMT DN> Randomize(); DN> Smetaju mu zagrade, bude ok kad ih obrisem... Dobro, to i nije neka greska. Pisalo se napamet. ;) DN> S := S + C[Random(Length(C))+1]; DN> """"""""""""""""""""" DN> Ovde prijavi neku gresku, ne secam se bas tacno koju... String je po definiciji niz znakova pa se njemu i moze pristupati na pomenuti nacin. C[0] je duzina stringa. Na primer: VAR S: STRING; ... S = 'Dale Car'; FOR I := 1 TO S[0] DO WriteLn(S[I]); Zato i ne znam zasto nece da radi. ¸> Look into my eyes, you'll see I'm not lying, emotion No. 13 easy ¸> crying * ŰmÔ/\/\× 1.3 #00 *
pascal.112 postmast,
From: vlado@galeb.etf.bg.ac.yu (Vladimir Popovic) Subject: DELPHI Problemcxicyi Date: Tue, 24 Oct 1995 07:53:49 GMT Zdravo narode !!! Da li neko zna kako se iz DELPHIJA mogu pozivati DOS-ovi interapti!!! Konkretno je problem oko Novelovih prekida, a ja ne znam kako da pisem u Delphijevom assembleru. Ono nije da ga u Delphiju nema ali ja do sad nisam uspio da pozovem niti jedan prekid. Pomagajte ljudi ko boga vas molim !!! :) Vladimir Popovic UMNet Podgorica
pascal.113 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Problem Date: Mon, 23 Oct 1995 22:59:00 GMT --> broker@setnet.co.yu (Predrag Supurovic) PS> Nasao sam sintaksu kojom mogu da prosledjujem funkcije kao parametre, PS> ali nikako ne mogu da resim problem prosledjivanja samo tipa podataka. Funkcija je nesto konkretno i ti mozes da prosledjujes nju (odnosno njenu adresu) kao parametar jer ona zivi negde u memoriji. Tip je nesto apstraktno i ne mozes raditi nista sa njim, osim objektima davati osobine. PS> Hteo bih da ovaj objekat prepravim tako da mu pri inicijalizaciji PS> kao parametar prosledim strukturu podataka koje zelim u listi, tako PS> da mi bude univerzalan. Cisto sumnjam da ovo mozes da izvedes bez nekih zestokih mahinacija sa pointerima koje bi ti, BTW, unakazile source TPU-a koji radi. ¸> Its swell for tearing up fragile ecosystems! Watch! * ŰmÔ/\/\× 1.3 #00 *
pascal.114 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Serijski broj diska Date: Mon, 23 Oct 1995 23:18:00 GMT PU> Za oba floppy-ja stvar radi OK, ali za HD jok! PU> Cudi me da kod tebe to radi (da li si probao?),i ako radi sa kojim PU> parametrima zoves proceduru (ako sam ja nesto banalno prevideo). Zaista ne znam sta kod tebe nije u redu, ali kod mene radi i sa diskom A i sa B i sa C i sa D, a sa E kojeg nemam javlja gresku. .MODEL TINY .CODE ORG 100h Start: mov al,2 ; 0=A:, 1=B:, 2=C:, .... mov cx,1 ; Procitaj jedan sektor mov dx,0 ; Kreni od nultog (boot) lea bx,Buffer ; i upisi u [DS:]BX int 25h add sp,2 ret Buffer: DB 512 DUP (0) END Start Ovo radi, samo ga treba ubaciti u Pascal. ¸> He seized the moment but found he had no place to put it. * ŰmÔ/\/\× 1.3 #00 *
pascal.115 postmast,
From: danijel.nadj@panon.ns.ac.yu (Danijel Nadj) Subject: Re: Sifre Date: Tue, 24 Oct 1995 14:40:00 GMT ŠIn room number 134 we saw patient SRDJAN DAKIC hitting the Šdoor with his head, and talking to Danijel Nadj about Sifre. SD>Zato i ne znam zasto nece da radi. Ovako radi ti si napisao CONST c='zxcvb....' ... Harpo of Borg - "Honk! Honk!" danijel.nadj@panon.ns.ac.yu FIDO:2:382/103 --- ■ SPEED 2.00 [NR] ■
pascal.116 postmast,
From: rdejan@fon (Dejan Rudic) Subject: Re: Sifre Date: Wed, 25 Oct 1995 06:31:09 GMT DN> S := S + C[Random(Length(C))+1]; DN> """"""""""""""""""""" DN> Ovde prijavi neku gresku, ne secam se bas tacno koju... Sr> Zato i ne znam zasto nece da radi. Mislio sam da je neko vec odgovorio, ali posto nije: broj x u C[x] mora biti integer (jer, koji bi bio 2.464-ti znak iz tog stringa?), a funkcija Random daje real promenljivu. Ono sto mislim da ti treba je: S := S + C[Round(Random(Length(C)))+1]; (ili varijacije :). Pozdrav, Dejan --- ■ Blue Wave/QWK v2.20 [NR] ■
pascal.117 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: DiskSN-Windows? Date: Wed, 25 Oct 1995 11:43:32 GMT Srdjan Dakic je napisao: >> Mislim - znaci postojim, da TP nema funkciju koja radi absread, ali >> je trivijalno napisati je uz pomoc asm direktivice. >> >> PU> BIOS poziv INT13,2 ne koristim jer ne znam kako se >> PU> ponasa sa LBA diskovima (a i to je read kojem moram da prosledjujem >> PU> logicke parametre koji se razlikuju od diska do diska). >> >> To ti je dobar rezon. Da se ne bi petljao sa tabelom particija i da >> odredjujes gde je prvi LOGICKI sektor. Za razliku od DOS-a, BIOS-u >> saljes FIZICKE parametre koji kazu 'procitaj mi sa tog sektora na >> tom cilindru, tom glavom, to i to' Evo vam kompletan source funkcija absread i abswrite iz Run-Time biblioteke za Borland C++ 3.1 . Valjda su dovoljno istestirane i pouzdane kad ih Borland koristi. absread bez problema radi po obicnim DOS-om (normalno), pod DOS prozorom pod Win3.11, i u DOS sesiji pod OS/2 ako se pristupa FAT particiji. Program ne radi u OS/2 DOS sesiji ako se pokusa citanje sa HPFS particije. abswrite nisam probao, ali je blizu pameti da ni Win3.11 ni OS/2 nece dozvoliti brljanje po disku. Pod Win95 nisam probao, iz prostog razloga sto ga jos nisam instalirao (a ka' i dal' cu ne znam). parametar drive: 0-a:, 1-b:, 2-c: itd. /*--------------------------------------------------------------------------- * filename - absread.cas * * function(s) * absread - absolute disk read * abswrite - absolute disk write *--------------------------------------------------------------------------*/ /* * C/C++ Run Time Library - Version 5.0 * * Copyright (c) 1987, 1992 by Borland International * All Rights Reserved. * */ #pragma inline #include <asmrules.h> #include <dos.h> #include <errno.h> static int big_partition( int driveno ) { static int old_driveno = -1, old_partition; struct fatinfo p; if( driveno != old_driveno ) /* try to avoid disk reads if possible */ { old_driveno = driveno; getfat( driveno+1, &p ); old_partition = ((unsigned long)p.fi_sclus * p.fi_nclus) > 0xFFFF ? 1 : 0; } return( old_partition ); } /*--------------------------------------------------------------------------* Name absread - absolute disk read Usage int absread(int drive, int nsects, long sectno, void *buffer); Prototype in dos.h Description reads specific disk sectors via DOS interrupt 0x25 Return value If successful, 0 On error, -1 and errno set to the value returned in AX. *---------------------------------------------------------------------------*/ int absread(int drive, int nsects, long lsect, void *buffer) { SaveSI SaveDI pushDS_ if( big_partition( drive ) ) { asm mov al,drive asm push ss asm pop ds asm sub sp,10 asm mov bx,sp asm mov dx,word ptr lsect asm mov word ptr [bx],dx asm mov dx,word ptr lsect+2 asm mov word ptr [bx+2],dx asm mov cx,nsects asm mov word ptr [bx+4],cx asm mov dx,word ptr buffer asm mov word ptr [bx+6],dx #if (LDATA) asm mov dx,word ptr buffer+2 asm mov word ptr [bx+8],dx #else asm mov word ptr [bx+8],ds #endif asm mov cx,-1 asm int 25h asm sbb cx,cx asm add sp,10 } else { asm mov al,drive asm mov cx,nsects asm mov dx,lsect asm LDS_ bx,buffer asm int 25h asm sbb cx,cx } asm pop bx /* clear old flags */ popDS_ asm jcxz absOK #if defined(__HUGE__) asm mov bx,seg errno asm mov es,bx asm mov es:errno,ax #else asm mov errno,ax #endif return(-1); absOK: return(0); } /*--------------------------------------------------------------------------* Name abswrite - absolute disk write Usage int abswrite(int drive, int nsects, long sectno, void *buffer); Prototype in dos.h Description writes specific disk sectors via DOS interrupt 0x26 Return value If successful, 0 On error, -1 and errno set to the value returned in AX. *---------------------------------------------------------------------------*/ int abswrite(int drive, int nsects, long lsect, void *buffer) { SaveSI SaveDI pushDS_ if( big_partition( drive ) ) { asm mov al,drive asm push ss asm pop ds asm sub sp,10 asm mov bx,sp asm mov dx,word ptr lsect asm mov word ptr [bx],dx asm mov dx,word ptr lsect+2 asm mov word ptr [bx+2],dx asm mov cx,nsects asm mov word ptr [bx+4],cx asm mov dx,word ptr buffer asm mov word ptr [bx+6],dx #if (LDATA) asm mov dx,word ptr buffer+2 asm mov word ptr [bx+8],dx #else asm mov word ptr [bx+8],ds #endif asm mov cx,-1 asm int 26h asm sbb cx,cx asm add sp,10 } else { asm mov al,drive asm mov cx,nsects asm mov dx,lsect asm LDS_ bx,buffer asm int 26h asm sbb cx,cx } asm pop bx /* clear old flags */ popDS_ asm jcxz absOK #if defined(__HUGE__) asm mov bx,seg errno asm mov es,bx asm mov es:errno,ax #else asm mov errno,ax #endif return(-1); absOK: return(0); }
pascal.118 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: DiskSN-Windows? Date: Wed, 25 Oct 1995 11:53:28 GMT Ivica Nikolic je napisao: >> >> Evo vam kompletan source funkcija absread i abswrite iz Run-Time >> biblioteke za Borland C++ 3.1 . Valjda su dovoljno istestirane i pouzdane >> kad ih Borland koristi. Sad primetih da se u prvoj funkciji koristi funkcija getfat, koja je u drugom sors fajlu. Nista zato, poslacu i nju cim prije.
pascal.119 postmast,
From: root@kiza.fon.bg.ac.yu (root) Subject: Proba Date: Tue, 24 Oct 1995 20:42:25 GMT Izvinjavam se zbog slanja ove poruke, ali u pitanju je proba NEWS paketa preko UUCP-a.
pascal.120 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: DiskSN-Windows? Date: Thu, 26 Oct 1995 11:23:06 GMT Evo i sorsa funkcije getfat. U komentarima je i definicija strukture fatinfo, koja se koristi u jednoj od funkcija. /*--------------------------------------------------------------------------- * filename - getfat.cas * * function(s) * getfatd - gets file-allocation table information * getfat - gets file-allocation table information * getdfree - gets disk free space *--------------------------------------------------------------------------*/ /* * C/C++ Run Time Library - Version 5.0 * * Copyright (c) 1987, 1992 by Borland International * All Rights Reserved. * */ #pragma inline #include <dos.h> #include <dir.h> /*--------------------------------------------------------------------------* Name getfatd - gets file-allocation table information Usage #include <dos.h> void getfatd(struct fatinfo *fatblkp); Prototype in dos.h Description see getfat *---------------------------------------------------------------------------*/ void getfatd(struct fatinfo *dtable) { getfat(0, dtable); } /*--------------------------------------------------------------------------* Name getfat - gets file-allocation table information Usage #include <dos.h> void getfat(unsigned char drive, struct fatinfo *fatblkp); Related functions usage void getfatd(struct fatinfo *fatblkp); Prototype in dos.h Description getfat returns information from the file-allocation table for the drive specified by drive (0 = default, 1 = A:, 2 = B:, etc.). fatblkp points to the fatinfo structure to be filled in. getfatd performs the same function as getfat except that the default drive (0) is always used. The fatinfo structure filled in by getfat and getfatd is defined as follows: struct fatinfo { char fi_sclus; (* Sectors per cluster *) char fi_fatid; (* The FAT id byte *) int fi_nclus; (* Number of clusters *) int fi_bysec; (* Bytes per sector *) }; *---------------------------------------------------------------------------*/ void getfat(unsigned char drive, struct fatinfo *dtable) { #if !defined(__HUGE__) asm push ds #endif asm mov ah, 01ch asm mov dl, drive asm int 021h asm mov ah, [bx] #if !defined(__HUGE__) asm pop ds #endif ((int *)dtable)[0] = _AX; ((int *)dtable)[1] = _DX; ((int *)dtable)[2] = _CX; } /*--------------------------------------------------------------------------* Name getdfree - gets disk free space Usage #include <dos.h> void getdfree(int drive, struct dfree *dfreep); Prototype in dos.h Description accepts a drive specifier in drive (0 = default, 1 = A, etc.) and fills in the dfree structure pointed to by dfreep with disk characteristics. The dfree structure is defined as follows: struct dfree { unsigned df_avail; (* Available clusters *) unsigned df_total; (* Total clusters *) unsigned df_bsec; (* Bytes per sector *) unsigned df_sclus; (* Sectors per cluster *) }; Return value Nothing. In the event of an error, df_sclus in the dfree structure is set to -1. *---------------------------------------------------------------------------*/ void getdfree(unsigned char drive, struct dfree *dtable) { int i; asm mov ah, 036h asm mov dl, drive asm int 021h i = _BX; ((int *)dtable)[3] = _AX; ((int *)dtable)[0] = i; ((int *)dtable)[1] = _DX; ((int *)dtable)[2] = _CX; }
pascal.121 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: pascal Date: Sun, 22 Oct 1995 16:50:00 SDĆ Moze on da peva i iz GWBASIC-a ili FORTRANA 77 ;) Moze :)) imam jedan proggy za jedan mali TERM za modem u GWBASIC ;)) Inace nisam ga ja napravio ali nema veze .. ako ga nadjem mail-ovacu ga ;) SDĆ Problem je u kvalitetnim rutinama za komunikaciju, a ne u okruzenju SDĆ u kome se iste nalaze. Sto se tice pascala, PCL fino radi posao. huuh.. Kako da nateram PCL da vidi dali ima CONNECT ????? sa modema a da ako nema ne ubrlja sve.. on radi na ovom principu : citaj char sa modema (prvi char) i uporedi ga sa prvom iz dadenog stringa (na pr. prvi od CONNECT je 'C'). Ako su jednaki produzi sa citanjem i sporedivanjem, a ako nisu jednaki .. otisla ti je sansa da procitas sta si dobio sa modema ;))) Ja sam hteo da dobijene karaktere stavim u string[80] odn. da sacuvam poslednu liniju pa da proverim dali ima to sto trazim. Na zalost nisam ni se mrdnuo :)) 0GZy * 0Gi'S eDiT0R * This tagline is umop apisdn * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.122 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: Re: pascal Date: Sun, 22 Oct 1995 16:53:00 MSĆ *** QUOTE : Srdjan Dakic *** SD> BTW, registracija je trivijalna ;) (ako te zanima) Zanima mene SD> pa me se sjeti u mail ili ovdje ... :)) mada ova purka ide do tebe preko jedan reply do tebe i ja sam zainteresovan za registraciju ;)) 0GZy * 0Gi'S eDiT0R * Romanija e poznata po toa sto ne se granici so Brazil! * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.123 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: Font na stampacu Date: Tue, 24 Oct 1995 17:18:00 PR> Mislio sam ovako u globalu. Po kom principu se to radi:) BCĆ Ja sam se jednom namucio da uradim isto zato sto mi je na BCĆ stamacu (po defaultu) bio iskljucen DLL (DownLineLoading) da bi mu se BCĆ (u ovom slucaju za 3K) povecao bafer. BCĆ Napravio sam programce koje mom stampacu salje ekranski font (ma BCĆ kakav da je). Fino za devetopince. Moze li da posaljes to programce ?? ako nije predugacko, course of ! 0GZy * 0Gi'S eDiT0R * Press any key to continue or any other key to quit * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.124 postmast,
From: Jovan.Mudrinic%f118.n111.z38@setnet.setnet.co.yu (Jovan Mudrinic) Subject: Dinamicke metode Date: Wed, 25 Oct 1995 08:15:52 Molio bih nekoga da mi objasni kako se koriste virtuelne metode(objektno programiranje). Unapred hvala. * Origin: SETNet-ICM Digital BBS * Subotica * (024)21-342 * (38:111/118)
pascal.125 postmast,
From: Nikola.Vukelic%f140.n103.z38@setnet.setnet.co.yu (Nikola Vukelic) Subject: Pascal Date: Tue, 24 Oct 1995 23:04:00 "M> Kopali smo po SDK i DDK, ali nigde odgovarajuceg API-ja za slicne "M> informacije. Izgleda da Win95 prilicno "maskira" hardver za direktni "M> pristup, a tek NT... Kako da koristim DOS programe za formatiranje disketa, posto Win95 u potpunosti zabranjuje pristup boot sektorima disketa (cak ni virus killeri ne mogu da prodju). pozdrav, Nidza (nidza.fon.fon.bg.ac.yu) ... To UNSCREW the girl! How does it look like?!?? * Origin: Pingvin BBS, Beograd == 606-928 & 674-262 == SETNet: (38:103/140)
pascal.126 postmast,
From: Sasa.Sekulic%f110.n103.z38@setnet.setnet.co.yu (Sasa Sekulic) Subject: Font na stampacu Date: Fri, 27 Oct 1995 01:38:04 BC> Das mu ESC sekvencu u cijem se zaglavlju nalazi broj karaktera BC> koji saljes i posle bitmapiran izgled. BC> Ja sam se jednom namucio da uradim isto zato sto mi je na BC> stamacu (po defaultu) bio iskljucen DLL (DownLineLoading) da bi mu BC> se (u ovom slucaju za 3K) povecao bafer. BC> Napravio sam programce koje mom stampacu salje ekranski font BC> (ma kakav da je). Fino za devetopince. Jel' bi mogao to negdje da UL-ujes, posto bi mi trebalo takvo sto. BTW, koliko karaktera moze da se definise na LX-400; otkad su presli na ove nove prirucnike, vise ne mogu da saznam ni koliki je bafer... :~( mad.max ... Is there anybody out there?.. * Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
pascal.127 postmast,
From: Dragoljub.Pilipovic%p1.f135.n135.z38@setnet.setnet.co.yu (Dragoljub Pilipovic) Subject: Ima li ikog? Date: Wed, 25 Oct 1995 02:34:03 Je li u ovoj konferenciji se ista pise! Milim odgovor? Pozdrav, OLUJA ... ebius tagline. This is a moebius tagline. This is a mo ... * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.128 postmast,
From: Miroslav.Minovic%f133.n103.z38@setnet.setnet.co.yu (Miroslav Minovic) Subject: Knjiga za objektni TP4Win Date: Tue, 24 Oct 1995 04:03:00 Hi:) Moze li neko da mi preporuci knjigu iz koje cu moci da naucim objektno programiranje u Turbo Paskalu za Windows. Pozdrav, Mindza. P.S.Ideju objektnog programiranja sam savladao,treba mi kako se to prakticno radi(sintaksa). ... ARRRRRGGGHHH!!!! ... Tension breaker, had to be done. * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.129 evlad,
<> koliko karaktera moze da se definise na LX-400; otkad su presli na ove <> nove možeš predefinisati samo 6 karaktera za draft ili nlq. isto kao i kod LX-800 :) ne sećam se tačno koji su to bili mislim da je ascii <, >, ...
pascal.130 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Problem - zamena stringova Date: Sun, 29 Oct 1995 00:12:17 Imam jedan zanimljiv problem. Pokusavam da napisem funkciju koja ce mi zameniti odredjeni niz karaktera drugim. Posebnost je u tome sto se u nizu karaktera traze tri podniza i svaki zamenjuje sebi odgovarajucim. Ukratko definicija funkcije ide ovako: type spectip = record a : string; b : string; c : string; end; Procedure Zamena (var pocetak : pointer; var duzina : word; trazi, zameni : spectip); <pocetak> je pokazivac na memoriju popunjenu podacima, a <duzina> je duzina podatka u bajtovima koja ne moze preci 64k. <trazi> su podaci koje treba naci u memoriji, a <zameni> su odgovarajuci nizovi kojima se nadjeni zamenjuju. Zamenjuje se svako pojavljivanje niza trazi.a sa zameni.a, trazi.b sa zameni.b i trazi.c sa zameni.c Problem je u tome sto unapred nije poznata duzina stringova koji se dobijaju u <trazi> i <zameni> i sto se memorija pretrazuje za tri stringa. Izlomih male sive celije i nikako da izmozgam dobro resenje. Najvise mi muke zadaje to sto duzina izlaznog podatka nije poznata pre pocetka zamene i moze da bude i mnogo veca od pocetne, a to lako moze da izadje iz ogranicenja od 64k po bloku. :( ... Necu da budem clan nikakve mafije. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.131 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Dinamicke metode Date: Sun, 29 Oct 1995 00:09:00 GMT -> Jovan Mudrinic JM> Molio bih nekoga da mi objasni kako se koriste virtuelne metode(objektno JM> programiranje). Imas objekt X sa metodom A. Njega nasledi objekt Y. Kada pozoves Y.A izvrsava se X.A. Pa i ako pozoves A (ne Y.A) iz nekih drugih metoda iz Y, izvrsava se X.A. Da bi objekti iz Y pozivali 'njegov' A bez eksplicitnog oznacavanja Y.A, potrebno je staviti virtual iza deklaracije. Virtuelne metode nisu pojam poput recimo funkcije WriteLn pa da se objasne u tri reda za cega sluze i kako se koriste. One spadaju u jednu od najvaznijih karakteristika objektno-orijentisanog stila programiranja i ima dosta toga da se pise i procita. Relativno je dobro opisano u knjizi Duska Savica 'Turbo Pascal - naredbe i objekti', a mozes i da sacekas odgovarajucu epizodu Sage o OOP u Prog konferenciji. Pozdrav :) ¸> I'm aware of the risks, Ensign -- Picard * ŰmÔ/\/\× 1.3 #00 *
pascal.132 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal 1/2 Date: Sun, 29 Oct 1995 01:00:00 GMT -> Ognen Spiroski OS> huuh.. Kako da nateram PCL da vidi dali ima CONNECT ????? sa modema a da OS> nema ne ubrlja sve.. on radi na ovom principu : citaj char sa modema (prvi OS> ) i uporedi ga sa prvom iz dadenog stringa (na pr. prvi od CONNECT je 'C'). OS> su jednaki produzi sa citanjem i sporedivanjem, a ako nisu jednaki .. otis OS> i je sansa da procitas sta si dobio sa modema ;))) Ovo je jedan deo programa koji se izvrsava u petlji sve dok se konektuje ili ne ESC-apeuje. if DialingStarted then begin (***** * proveri da li je tu carrier, ako je tu odsviraj malo i izadji *****) if SioDCD(Port)>0 then if Connected then begin WriteLastAttemptMessage(atCONNECTED); while not KeyPressed do for i := 1 to 5 do begin Sound(i*200); Delay(150); end; NoSound; EndModal(cmCONNECT); Exit; end; (***** * nema carriera, odbrojavaj sekunde do kraja, pauziraj i zovi ponovo *****) UpdateTime; if RedialTimeLeft<0 then begin StopDialing; Clear; WriteLastAttemptMessage(atTIME_ELAPSED); Pause; RedialNumber; end; end SioDCD(Port) ocitava da li ima Carrier Detected na zadatom portu. Tebe zanima ovo: function Connected : boolean; begin Connected := WaitFor(Port,ConnectString); end; A i sledecih nekoliko f-ja blago modifikovanih od strane mene: (*********************************************) (* *) (* Talks to your modem. Called by TERM.PAS *) (* *) (* This program is donated to the Public *) (* Domain by MarshallSoft Computing, Inc. *) (* It is provided as an example of the use *) (* of the Personal Communications Library. *) (* *) (*********************************************) {$X+} unit ModemIO; interface type String80 = String[80]; procedure SendTo( Port:Integer; ThisString:String80); function WaitFor( Port:Integer; ThisString:String80):Boolean; function ModemInit(Port:integer; InitStr:string) : boolean; function HangUp(Port:integer; HUStr:string) : boolean; function OnLine(Port:integer) : boolean; implementation uses PCL4P, Global, Modem; procedure SendTo( Port: Integer; ThisString:String80); const CR = 13; var rc : Integer; i : Integer; c : Char; begin rc := SioRxFlush(Port); rc := SioDelay(4); for i := 1 to Length(ThisString) do begin c := UpCase(ThisString[i]); case c of '!' : c := chr(CR); '~' : begin (* delay 1/2 second *) rc := SioDelay(9); c := ' ' end; ' ': rc := SioDelay(4); end; (* transmit as 7 bit char *) rc := SioPutc(Port, chr(ord(c) and $7f)); (* wait 1/18th of a second *) rc := SioDelay(1); (* wait 1 second for echo *) rc := SioGetc(Port,18); {if rc > 0 then Write(chr(rc));} end (* for *) end; (* SendTo *) Function WaitFor(Port:Integer; ThisString:String80): Boolean; label WaitForExit; const CR = 13; LF = 10; var code : Integer; c : Char; i : Integer; rc: Integer; procedure Flush; label FlushExit; var code : integer; begin while TRUE do begin (* get next incoming character *) code := SioGetc(Port,38); if code = -1 then exit; (* skip CR & LF *) if (code <> CR) and (code <> LF) then begin (*writeln('Pushing ',chr(code),' [',code,']');*) rc := SioUnGetc(Port, code ); goto FlushExit; end; end; (* while *) >>> Continued to next message
pascal.133 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal 2/2 Date: Sun, 29 Oct 1995 01:00:00 GMT >>> Continued from previous message FlushExit: end; (* Flush *) begin (* WaitFor *) {Write( chr(LF) );} Flush; for i:= 1 to Length(ThisString) do begin (* c is expected character *) c := UpCase( ThisString[i] ); (* wait 1 second for next character *) code := SioGetc(Port,18); if code = -1 then begin WaitFor := FALSE; goto WaitForExit; end; (* echo character from modem *) {Write(chr(code));} if chr(code) <> c then begin {writeln('Expecting ',c,' not ',chr(code),'[',code,']');} WaitFor := FALSE; goto WaitForExit; end; end; (* for *) (* a last character ? *) rc := SioGetc(Port,18); {if rc > 0 then Write(chr(rc));} WaitFor := TRUE; WaitForExit: end; (* WaitFor *) function ModemInit(Port:integer; InitStr:string) : boolean; begin SendTo(Port,'~+/+/+/'); SendTo(Port,'!'+InitStr+'!'); ModemInit := WaitFor(Port,'OK'); end; function HangUp(Port:integer; HUStr:string) : boolean; begin if DTRhangup then SioDTR(Port,CLEAR); if Online then begin SendTo(Port,'~+/+/+/'); SendTo(Port,'!'+HUStr+'!'); end; Hangup := WaitFor(Port,'OK'); if DTRhangup then SioDTR(Port,SETON); end; function OnLine(Port:integer) : boolean; var Time : longint; Done : boolean; begin Time := SioTimer; Done := false; while not Done do begin if SioDCD(Port)>0 then begin OnLine := true; Done := true; end; if SioTimer-Time > CarrierLostTime then begin OnLine := false; Done := true; end; end; end; end {ModemIO UNIT} . Nadam se da ces skontati o cemu se ovde radi. Promenljive tipa CarrierLostTime, DTRhangup ConnectString i ostale su konfigurabilne i korisnik ih podesava u programu. Ima gresaka verovatno, ali radi radnju za te najosnovnije potrebe. Ostaje ti da ga izbrusis ako ti bude koristilo. Pozdrav :) ¸> Nog Prank #4: change Jake's baseball program to cricket * ŰmÔ/\/\× 1.3 #00 *
pascal.134 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Sun, 29 Oct 1995 00:23:00 GMT --> Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) ARGH! :) Treba instrukcije INT 16h i INT 10h zameniti NOP-ovima u fajlu PCL4P.TPU i vise nema ispisa 'unregistered' poruke. Pronadji CD 16 i CD 10 i zameni ih sa 90 90. ¸> *Ahem* Okay... Thank you, Mr. Spock. * ŰmÔ/\/\× 1.3 #00 *
pascal.135 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Knjiga Za Objektni Tp Date: Sun, 29 Oct 1995 18:31:00 ***> Citiram 'Miroslav Minovic' za 'All' <*** MM> P.S.Ideju objektnog programiranja sam savladao,treba mi kako MM> se to prakticno radi(sintaksa). Ovakav biser odavno ne procitah :-))) -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.136 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: errorlevel Date: Tue, 31 Oct 1995 22:13:58 Zna li neko nacin kako da iz Pascala procitam errorlevel s kojim je izasao prethodni program? ... BR> Is Internet internal or international? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.137 pedjak,
> Zna li neko nacin kako da iz Pascala procitam errorlevel s > kojim je izasao prethodni program? Nije mi baš najjasnije, pokrećeš neki drugi proces iz svoje aplikacije, pa želiš da saznaš ErrorLevel..? Ako je to, onda ti je rešenje funkcija DosExitCode.
pascal.138 postmast,
From: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic) Subject: Re: pascal Date: Thu, 14 Sep 1995 17:14:03 On 11 Sep 95 12:57pm, "Vladislav Erdelji" wrote to All: "E> From: "Vladislav Erdelji" <evlad@sezam.UUCP> "E> Newsgroups: yu.prog.pascal "E> Organization: SEZAM Beograd, 011 648-422 <>> SVGA256.bgi imam ali drajver je vrlo lose uradjen. Mislio sam na <>> original ne drajvere od Borlanda. <>> Inace da li je neko uspeo da startuje misa u svga rezolucijama. "E> Ako su drajveri V5.5 tada uz njih ide i mis, jedino na VLB CL5428 ima "E> malo problema oko hardvreskog i softverskog kursora, ali moze da radi. Gde se mogu naci V5.5 ? __ Pozdrav from Vladimir __ .... CAUTION! Silver Xpress roaring through here! * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.139 evlad,
TO: Vladimir.M.Zivkovic@f119.n111.z38.setnet.setnet.co.yu (Vladimir M Zivkovic) <> Gde se mogu naci V5.5 ? Sezam pro-ba(blem) test sistem pristup besplatan ;> =============================== 7.42 TEST.1:pc.prog evlad, 13.09.Sre 19:33, 155 chr --------------------------------------------------------- svga bgi drajveri za TP 7.0 i TC/BC podrška za pacova u rezolucijama većim od 640x480 arhivu otpakovati sa: pkunzip -d svgabg55 upload po želji .sima ----------------------------------------------- 7.42 --- ** Uz poruku 'svgabg55.zip' (202783 bytes) Ili u sezam-ovom dir-u ...
pascal.140 postmast,
From: Sasa.Sekulic%f110.n103.z38@setnet.setnet.co.yu (Sasa Sekulic) Subject: pascal Date: Wed, 01 Nov 1995 18:27:22 <> koliko karaktera moze da se definise na LX-400; otkad su presli na ove <> nove "E> mozes predefinisati samo 6 karaktera za draft ili nlq. "E> isto kao i kod LX-800 :) ne secam se tacno koji su to bili mislim da "E> je ascii <, >, ... Dankeschoen. mad.max ... I'm a party animal, I'm a party animal... * Origin: # New Age # 22-08h # Beograd # SETNet: (38:103/110)
pascal.141 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Errorlevel Date: Thu, 02 Nov 1995 08:51:00 ***> Citiram 'Predrag Supurovic' za 'All' <*** PS> Zna li neko nacin kako da iz Pascala procitam errorlevel s PS> kojim je izasao prethodni program? DOSError ili DOSExitCode? -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.142 postmast,
From: Miroslav.Minovic%f133.n103.z38@setnet.setnet.co.yu (Miroslav Minovic) Subject: Re: Knjiga Za Objektni Tp Date: Thu, 02 Nov 1995 17:25:01 -=> Ja, Miroslav Minovic citiram Marka Milivojevica na temu Knjiga Za Objektni Tp<=- ***> Citiram 'Miroslav Minovic' za 'All' <*** MM> P.S.Ideju objektnog programiranja sam savladao,treba mi kako MM> se to prakticno radi(sintaksa). MM> Ovakav biser odavno ne procitah :-))) Mozda se nisam najbolje izrazio,treba mi knjiga u kojoj je prakticno ilustrovano kako se pisu programi za Win(nazivi gotovih objekata,metoda itd.) Jos uvek se trazi :( Pozdrav,Mindza. ================================================================================ mindza@setnet.co.yu mminovic@sezam.co.yu mminovic@osmeh.fon.bg.ac.yu ... 100 LJUDI 100 CUDI, 100 ZENA 200 SISA * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.143 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Sifre Date: Mon, 30 Oct 1995 10:08:00 DR> Mislio sam da je neko vec odgovorio, ali posto nije: broj DR> x u C[x] mora biti integer (jer, koji bi bio 2.464-ti znak DR> iz tog stringa?), a funkcija Random daje real promenljivu. Startuj sledeci program: var x:byte; begin x:=Random(255); WriteLn(x); end. Pozdrav. Ognen * OLX 2.1 TD * You have a terminal illness - check your terminal. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.144 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Knjiga za objektni TP4Win Date: Mon, 30 Oct 1995 10:08:00 MM>Moze li neko da mi preporuci knjigu iz koje cu moci MM>da naucim objektno programiranje u Turbo Paskalu za Windows. Probaj da nadjes knjigu koja dolazi uz Turbo Pascal for Windows (1.5 ?). Ognen * OLX 2.1 TD * Software Factory * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.145 postmast,
From: SETNet%f101.n101.z38@setnet.setnet.co.yu (SETNet) Subject: Statistika konferencije Date: Thu, 26 Oct 1995 08:04:22 Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic ======================================================================= Conference NET.PASCAL maintained on 28.09.95. for 28 days backward. QRATIO Mail Statistics V1.9 by Act Of Impulse. ---------------------------------------------- Total messages found in this area : 440 Number of messages covered in report: 104 Processed period from: 28-9-1995 to 25-10-1995 ------------------------------------------------------------------------------ Blacklist-Top 5 of the Quoters. Nr Total Quoted Quote Name Address Msg Lines Lines: Ratio: ---- ------- --- ----- ------ ------ 1. VLAXI.................... 38:103/120 1 34 28 82.35% 2. Boris Dragovic........... 38:103/115 1 13 10 76.92% 3. Robert Oswald............ 38:111/119 2 26 13 50.00% 4. Vladimir Sitnikovski..... 38:103/120 2 42 19 45.24% 5. Danijel Nadj............. 38:103/120 2 37 15 40.54% ------------------------------------------------------------------------------ Top 5 of the writers. Total Average Quote Name Msgs: Pct. Byte/Msg Ratio: ---- ----- ----- -------- ------ 1. Srdjan Dakic 16 15.4% 662 34.55% 2. OGNEN DUZLEVSKI 7 6.7% 562 25.00% 3. Petar Ristic 6 5.8% 165 29.63% 4. Ognen Spiroski 6 5.8% 704 11.39% 5. "Srdan Simic" 6 5.8% 488 3.33% ------------------------------------------------------------------------------ Top 5 of the receivers. Total Name Msgs: Pct. ---- ----- ----- 1. All 73 70.2% 2. Petar Ristic 7 6.7% 3. Srdjan Dakic 4 3.8% 4. "Srdan Simic" 3 2.9% 5. Vojislav Mihailovic 2 1.9% ------------------------------------------------------------------------------ Top 5 of the subjects. Subject Nr. ------- --- 1. Pascal...................................................... 63 2. Font na stampacu............................................ 10 3. Sifre....................................................... 5 4. zapisi i tako dalje......................................... 4 5. UPOMOC!!!................................................... 3 ------------------------------------------------------------------------------ Average posting frequency per week: Day Msgs Pct. Graph Sunday 23 22.1% ************************************************** Monday 16 15.4% ********************************** Tuesday 12 11.5% ************************** Wednesday 9 8.7% ******************* Thursday 9 8.7% ******************* Friday 17 16.3% ************************************* Saturday 18 17.3% *************************************** ------------------------------------------------------------------------------ Average posting frequency per day: Interval Msgs Pct. Graph -------- ---- ----- ----- 0:00- 1:59 5 4.8% **************** 2:00- 3:59 5 4.8% **************** 4:00- 5:59 4 3.8% ************ 6:00- 7:59 3 2.9% ********* 8:00- 9:59 7 6.7% ********************** 10:00-11:59 12 11.5% ************************************** 12:00-13:59 11 10.6% *********************************** 14:00-15:59 9 8.7% **************************** 16:00-17:59 12 11.5% ************************************** 18:00-19:59 13 12.5% ***************************************** 20:00-21:59 7 6.7% ********************** 22:00-23:59 16 15.4% *************************************************** ------------------------------------------------------------------------------ * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.146 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Knjiga Za Objektni Tp Date: Sat, 04 Nov 1995 13:42:05 ==== Miroslav Minovic rece: ====================================== MM> Mozda se nisam najbolje izrazio,treba mi knjiga u kojoj je prakticno MM> ilustrovano kako se pisu programi za Win(nazivi gotovih MM> objekata,metoda itd.) Juce u Polarotoru predstavise neku knjigu za Delphi u izdanju, cini mi se, CIP-a (ne Chip, nego CIP). Da li ce ti to koristiti, ili bas radis u Pascalu? ... BR> Biti ili ne biti? Da bacimo novcic? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.147 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Delphi Date: Sat, 04 Nov 1995 13:42:06 Voleo bih da cujem misljenje nekoga ko se malo vise poabavio Dephhijem. Kad se pojavio iz sveta su stizale prilicno slabe kritike. Kako se ponasa? Koliko je pouzdan. Kakve su mu mogucnosti...? ... BR> Uvek su u pravu oni koji su - u pravu. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.148 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Errorlevel Date: Sat, 04 Nov 1995 22:30:00 > PS> Zna li neko nacin kako da iz Pascala procitam errorlevel s > PS> kojim je izasao prethodni program? > DOSError ili DOSExitCode? To je resenje kada progrm pokrecem u DOS shell-u, ali ne treba mi to. Treba mi da napravim program koji ce biti pokrenut posle nekog programa i ispisati mi sa kojim errorlevelom je izasao prethodni program. Kako stoje stvari to izgleda nije bas izvodljivo. Verovatno cu morati da koristim DOS shell da bih uopte mogao da saznam taj errorlevel. BBS-ovi se cesto oslanjaju na errorlevele i treba mi da na nekim mestima mogu da vidim sa kojim je errorlevelom izasao program, da bih nasao eventualnu gresku. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.149 nlazic,
*> Kako se ponasa? Koliko je pouzdan. Kakve su mu mogucnosti...? Delphi je pogrešno predstavljen kao alat za razvoj baza podataka, iz ovih ili onih razloga. Tačno je da se uz njega isporučuje kompletan BDE i da se njime mogu pisati prilično složeni DB programi, ali Delphi može i mnogo više, nevezano za baze. Najtačnije bi bilo reći da je to zapravo Borland Pascal 8.0 + BDE + gomila klasa za rad sa svim i svačim (počev od INI datoteka, pa do pisanja client/server aplikacija i OLE-a). Tvrdim da se pomoću Delphi-a može napisati bilo kakav program za Windows-e, pa i za DOS. Elem, ponaša se odlično, pouzdan je isto onoliko koliko su pouzdani Windows-i, a mogućnosti su zaista velike, jer iako nosi oznaku verzije 1.0, iza sebe ima veoma razvijenu familiju Turbo Pascal kompjalera čiji je Delphi logičan naslednik (i 100% kompatibilan). Pozdrav, :) Nebojša :)
pascal.150 icile,
-> Zna li neko nacin kako da iz Pascala procitam errorlevel s -> kojim je izasao prethodni program? A, za sta ti to treba? Da li ti treba bas ERRORLEVEL ili bi mozda probao i na neki drugi nacin da preneses 'poruku' prethodno izvrsenog programa-sledecem? Da li si ti napisao i prvi i drugi program ili na prvi vise ne mozes da utices pa si zato primoran da citas ovu sistemsku promenljivu?
pascal.151 icile,
Da li neko zna kako izgleda struktura datoteka .SYS u DOS-u?
pascal.153 postmast,
From: Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) Subject: Zastita programa Date: Sat, 04 Nov 1995 22:36:00 Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da ako korisnik programa (da li ste mu instalaciju nekog skupog programa pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi program na disketu/diskete zastita automatski obrise *.exe fajlove tog programa (recimo da je ceo program u jednom direktorijumu)? Ako jeste, a verujem da jeste posto je meni skoro uspelo, samo imam nekoliko manjih rupa u znanju izlaznih kodova, kako bi on izgledao? Puno vam se unapred zahvaljujem! CUL8R or maybe RSN P.S. Ja licno imam TS-Pascal tako da to malo komplikuje stvari (ko zna-zna)! CU     ... No hand signals. The driver of this car is a convicted arab shoplifter. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.154 postmast,
From: Nikola.Culic%f121.n103.z38@setnet.setnet.co.yu (Nikola Culic) Subject: Pascal Date: Tue, 07 Nov 1995 00:13:00 Da li neko zna da mi rastumaci definiciju tipa PaletteType. Nasao sam da je definisana kao: PaletteType=Record Size:Byte; Colors:Array[0..MaxColor] of ShortInt; Treba mi nacin da je razlozim kao RGB (posebno koliko ima crvene, zelene, plave u svakoj od boja)... * Origin: AV Manta, Beograd - Mail Server - SETNet (38:103/121)
pascal.155 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Zastita programa Date: Mon, 06 Nov 1995 10:29:31 Dragan Levic said: DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da DL> ako korisnik programa (da li ste mu instalaciju nekog skupog programa DL> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi DL> program na disketu/diskete zastita automatski obrise *.exe fajlove tog DL> programa (recimo da je ceo program u jednom direktorijumu)? Problem u celoj stvari je kako utvrditi da korisnik pokusava da piratuje program. Kad se to utvrdi svasta moze da se uradi, pa cak i mnogo nezgodnije od brisanja EXE-a. Nisam sasvim siguran da li si mislio na zastitu programa koji si ti pisao ili zastitu programa koji si mu samo instalirao pa ne zelis da moze da ga kopira dalje? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.156 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Knjiga Za Objektni Tp Date: Mon, 06 Nov 1995 14:28:00 MM> MM> P.S.Ideju objektnog programiranja sam savladao,treba mi kako MM> MM> se to prakticno radi(sintaksa). MM> Ovakav biser odavno ne procitah :-))) A sto je biser ? Spusti se malo na zemlju, covek kaze da je shvatio principe (enkapsulacija, nasledjivanje, virtuelni i staticki metodi, polimorfizam itd.), sada mu jedino treba sintaksa. Objektno programiranje je apstrakcija na malo visem nivou i dok su ti jasni principi - ipak ti treba prakticna implementacija tih principa a ona je za svaki jezik drugacija. Probaj da sa lispa predjes na Turbo Vision (Pascal) i shvatices o cemu pricam. Again, spusti se malo na zemlju i drugi put malo pazljivije sa alt-R. Ognen * OLX 2.1 TD * The easiest way to woman's heart is thru 'er chest. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.157 djelovic,
> Da li neko zna kako izgleda struktura datoteka .SYS u DOS-u? Svojevremeno je ZZ pisao o tome u "Računarima". Biće najbolje da u RIND-u potražiš taj njegov tekst, jer je tu bilo puno bitnih sitnica.
pascal.158 atech,
> Subject: Zastita programa > > Da li je moguce napraviti u Paskalu takvu zastitu nekog > programa da ako korisnik programa (da li ste mu instalaciju > nekog skupog programa pa necete da mu dozvolite da je rasiri > dalje) hoce da program presnimi program na disketu/diskete > zastita automatski obrise *.exe fajlove tog programa (recimo da > je ceo program u jednom direktorijumu)? Ako jeste, a verujem da > jeste posto je meni skoro uspelo, samo imam nekoliko manjih Sve se svodi na pouzdan problem identifikacije racunara na kome je program instaliran i zastitu odgovarajuceg algoritma za proveru iste. Trigere u vidu brisanja fajlova ne preporucujem iz vise razloga. Najvazaniji razlog je da u 90% slucajeva nema efekta. Proveru mozes da vrsis iz bilo kog izvrsnog fajla koji je deo projekta ali se postaraj da dobro zastitis rutinu za proveru i eventualnu trigger rutinu. Ako radis sitan SW softver onda mozes da primenis bilo koji algoritam za detekciju a ukoliko se radi o projektu koji se 'prodaje' preporucujem PCG (reklama placena u marketingu:) koji poseduje sve potrebne opcije za zastitu izvrsnih programa i izradu instalacionih disketa.
pascal.159 mminovic,
> Juce u Polarotoru predstavise neku knjigu za Delphi u izdanju, > cini mi se, CIP-a (ne Chip, nego CIP). Da li ce ti to > koristiti, ili bas radis u Pascalu? Tu sam vec kupio :)(na sajmu ne odoleh:) Ali bih hteo i za Paskal for Win 1.5. Obican okvir nekog programa sa par zezalica u Delphiju mi je bio .exe duzine reda 300 kb,dok pod TP4WIN oko 30 Kb :( Pozdrav,Mindza
pascal.160 vvelisavljev,
> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da ako > korisnik programa (da li ste mu instalaciju nekog skupog programa pa necete > da mu dozvolite da je rasiri dalje) hoce da program presnimi program na > disketu/diskete zastita automatski obrise *.exe fajlove tog programa Šta, na primer, da korisnik želi da napravi rezervnu kopiju tog skupog programa?? Misllim da se nije igrati sa takvim stvarima. Može korisnik da se naljuti pa da dođe da te upuca. :)) Šalu na stranu. Treba se prvo zapitati šta je skupo. Sam program ili podrška, štampano uputstvo, nove verzije. U nekim slučajevima čak i nije loše da se program malo "raširi". Ali, sada već bežimo iz teme Pascal. Razmisli malo o snimanju broja hard diska. Mislim da snimanje najobičnijeg imena diska (volume) nije tako loša ideja. Prosečan korisnik verovatno ni ne zna da postoji komanda koja menja ime diska. A i što bi ga menjao. :)
pascal.161 kriss,
˙˙ Da li neko zna kako izgleda struktura datoteka .SYS u DOS-u? Neki stari "Računari", tekst je "Na softverski pogon", autora Zoran čivotić. Potraži u RIND-u.
pascal.162 vvelisavljev,
Treba mi nešto da iz DOS programa pređem u Windowse. Tj. program treba da simulira pritisak na Alt+Tab. Imam DOS program rađen u TPu. Pa želim bezbolno da ga prebacim u Windows okolinu. Treba da pri odabiru neke opcije program pređe u windows okruženje i da ostane ikonica programa.
pascal.163 postmast,
From: Srdjan.Stanisic%f104.n103.z38@setnet.setnet.co.yu (Srdjan Stanisic) Subject: Re: Font na stampacu Date: Wed, 01 Nov 1995 19:56:09 PR> Da li je moguce ugraditi YU slova u stampac, cisto softverski? Da, u neke (a mozdai sve). Ali, koliko slova mozes ubaciti, zavisi od memorije u stampacu, namenjene za soft-font. Strider ... Ako kanis pobijediti, ne smijes izgubiti! * Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.164 postmast,
From: Srdjan.Stanisic%f104.n103.z38@setnet.setnet.co.yu (Srdjan Stanisic) Subject: Re: HDD Serial nbr. Date: Wed, 01 Nov 1995 19:57:10 Koji i broj treba, iz ROM-a ili DOS-ov? Ja sam napisao unit koji ima ove f-je, pa ako ga oces... Strider ... Ako kanis pobijediti, ne smijes izgubiti! * Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.165 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Knjiga Za Objektni Tp Date: Tue, 07 Nov 1995 14:06:00 ***> Citiram 'Ognen Duzlevski' za 'Marko Milivojevic' <*** OD> A sto je biser ? Spusti se malo na zemlju, covek kaze da je shvatio OD> principe (enkapsulacija, nasledjivanje, virtuelni i staticki metodi, OD> polimorfizam itd.), sada mu jedino treba sintaksa. Ja sam genije. Shvatio sam pravo resenje za konflikt u Bosni!!! Svi mi treba da se pomirimo i zivimo lepo kao ranije. Treba mi neka knjiga iz politike da vidim prakticnu primenu i najbolje resenje za moj zakljucak. OD> zemlju i drugi put malo pazljivije sa alt-R. 'R' -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.166 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Knjiga Za Objektni Tp Date: Mon, 06 Nov 1995 20:10:00 ***> Citiram 'Predrag Supurovic' za 'Miroslav Minovic' <*** PS> Juce u Polarotoru predstavise neku knjigu za Delphi u izdanju, PS> cini mi se, CIP-a (ne Chip, nego CIP). Da li ce ti to koristiti, PS> ili bas radis u Pascalu? E... to mi treba... Gde/Kad/Kome/Koliko? -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.167 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Delphi Date: Mon, 06 Nov 1995 20:10:00 ***> Citiram 'Predrag Supurovic' za 'All' <*** PS> Voleo bih da cujem misljenje nekoga ko se malo vise poabavio PS> Dephhijem. Kad se pojavio iz sveta su stizale prilicno slabe PS> kritike. Pa ovako. Program je jednom mocan ;-) Svesto ste imali prilike da vidite u Windows-u je podrzano. Programiranje je skoro isto kao u Visual Basicu, znaci click-and-write. ;-) PS> Kako se ponasa? Koliko je pouzdan. Kakve su mu mogucnosti...? Ponasa se lepo (na 8Mb, na 4Mb je (ne)upotrebljivo spor :-(). Dosta je pouzdan i lak za koriscenje. * Prazan prozor -> 190+ Kb -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.168 postmast,
From: vladimir.blagojevic@panon.ns.ac.yu (Vladimir Blagojevic) Subject: Re: pascal Date: Thu, 9 Nov 1995 13:47:00 GMT DJ> Svojevremeno je ZZ pisao o tome u "Racunarima". Bice najbolje da u RIND DJ> potrazis taj njegov tekst, jer je tu bilo puno bitnih sitnica. Malo sam neupucen, o cemu je rec, kad govorite o RIND-u?
pascal.169 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: Zastita programa Date: Thu, 09 Nov 1995 13:44:05 DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da DL> ako korisnik programa (da li ste mu instalaciju nekog skupog programa DL> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi DL> program na disketu/diskete zastita automatski obrise *.exe fajlove tog DL> programa (recimo da je ceo program u jednom direktorijumu)? Da, moguce je na vise nacina: 1. neka program cita serijski broj HDa i upisuje u datoteku (npr.: ????????.CFG) ali da sa zapisom bude i os tala konfiguracija programa tako da je korisnik (haker) i ako je prona dje ne moze obrisati, 2. pomocu TSR programa (i ako nije logicno ali ...). 3. citaj volume HDa, imena nekih direktorijuma (naravno pri instalaciji i zapisi u datoteku), neke fajlove stavi ko bad block (moze ali ne znam kako). Eto, to je iscrpno od mene (bar u ovom trenutku). pozdraw, ASKO ... What is the TAG? * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.170 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Thu, 09 Nov 1995 13:44:05 Da li neko zna kako da se radi sa prosirenom memorijom? Recimo da neke graficke ekrane sa diska ne ucitam u osnovnu memoriju nego u prosirenu iznad 640 Kb. pozdraw, ASKO ... Nikad nisi vidio TAG ??!!!?!!!?! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.171 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (stampanje) Date: Thu, 09 Nov 1995 20:06:03 Hi 2 ALL. Zanima me kako da iz paskala stampam grafiku na stampac (naravno). Da li prije slanja grafike na stampac treba poslati neki bit koji 'gov ori' stampacu da ne stampa tekst nego grafiku? U ostalom kako se salje grafika na stampac (stancalo)? pozdraw, ASKO ... Mijenjam masinu za ves za djevojku koja sve radi rucno. * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.172 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: delphi Date: Thu, 09 Nov 1995 20:06:04 Hej ljudi, nisam malo u toku, sta je to DELPHI? pozdraw, ASKO ... Ko prvi djevojc sam u nju upada ! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.173 postmast,
From: Mladen.Jablanovic%f101.n101.z38@setnet.setnet.co.yu (Mladen Jablanovic) Subject: Zastita programa Date: Thu, 09 Nov 1995 09:11:39 ==== Quoting Dragan Levic: ==== DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da DL> ako korisnik programa (da li ste mu instalaciju nekog skupog programa DL> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi DL> program na disketu/diskete zastita automatski obrise *.exe fajlove tog DL> programa (recimo da je ceo program u jednom direktorijumu)? Teeeesko... Jedino da se startovanjem tog programa instalira neki TSR, pa on da proverava...:)))). Moguce je, recimo, nesto ovako: pri instalaciji programa sa diskete procita se serijski broj diska, ili neki drugi bitan parametar, pa se on kriptuje i zapamti. Onda se pri svakom startovanju programa isti proverava, pa if OldSerialNo<>NewSerialNo then begin format c:; burn monitor; start Windows:)))); end; Neki su nesto eksperimentisali sa pisanjem izmedju sektora na disketi, ostecivanjem disketa (!), itd, itd, ali je sve to bilo suvise komplikovano i nepouzdano. DL> Ako jeste, a verujem da jeste posto je meni skoro uspelo, samo imam DL> nekoliko manjih rupa u znanju izlaznih kodova, kako bi on izgledao? DL> Puno vam se unapred zahvaljujem! DL> P.S. Ja licno imam TS-Pascal tako da to malo komplikuje stvari (ko DL> zna-zna)! CU Ajd izvesti kako ti je to uspelo, bogati. A TS-Pascal ne moze da ti iskomplikuje stvari, samo uprosti i olaksa ;). Ko zna-zna... jablan. ... Vodite ljubav, a ne psa! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.174 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: Valjak za peglanje Date: Thu, 09 Nov 1995 13:44:04 -=> Quoting Miodrag Djordjevic to All <=- MD> Prodajem valjak za peglanje MD> MD> ***** Ei rolmatic 75.4 ********* Je li cijeli source ili TPU :)))? malo sale, nista licno pozdraw, ASKO ... strike any user to continue * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.175 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: delphi Date: Fri, 10 Nov 1995 13:01:03 Asmir Badnjevic said: AB> Hej ljudi, nisam malo u toku, sta je to DELPHI? Ukratko receno: Visual Trubo Pascal. Ako si video Visual BASIC, e ovo je isto samo sto se radi i Pascal jeziku. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.176 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Fri, 10 Nov 1995 13:01:03 Asmir Badnjevic said: AB> Da li neko zna kako da se radi sa prosirenom memorijom? Recimo da AB> neke graficke ekrane sa diska ne ucitam u osnovnu memoriju nego u AB> prosirenu iznad 640 Kb. Imas na Oreska BBS-u biblioteke koje to rade. U sorsu su naravno. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.177 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: stancanje grafike (stampanje) Date: Fri, 10 Nov 1995 13:01:04 Asmir Badnjevic said: AB> Zanima me kako da iz paskala stampam grafiku na stampac (naravno). AB> Da li prije slanja grafike na stampac treba poslati neki bit koji AB> 'gov ori' stampacu da ne stampa tekst nego grafiku? U ostalom kako se AB> salje grafika na stampac (stancalo)? Svaki stampac ima komande za grafiku. Treba da u uputstvu pogledas kako stampac ocekuje podatke za stampu i da mu ih tako i posaljes... Moj Citizen 180D ima jenu Esc sekvencu kojaga prebacuje u graficki rezim. Sekvenca sadrzi informaciju o kojoj se rezoluciji radi, koliko bajtova se stampa i niz bajtova koje treba odstampati. Svaki bajt predstavlja jednu kolonu (iglice na glavi stampaca su slozene vertikalno). Stampa se po redovima - kolona je visine jednog reda (koliko je to tacaka, zavisi od rezolucije i broja iglica na stampacu. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.178 postmast,
From: Jovan.Mudrinic%f118.n111.z38@setnet.setnet.co.yu (Jovan Mudrinic) Subject: Problem Date: Sat, 11 Nov 1995 01:21:32 1.Da li se u TP-u moze napraviti vise statusnih linija i kako? 2.Kako da se menja statusna linija otvaranjem prozora(menija)? 3.Kako ubaciti stalan ispis:sata,stanja slobodnog diska i memorije u Turbo Vision aplikaciji,primer(verovatno pomocu interapta kako?)? Unapred hvala. * Origin: SETNet-ICM Digital BBS * Subotica * (024)21-342 * (38:111/118)
pascal.179 visnja,
> Da li neko zna kako da se radi sa prosirenom memorijom? Recimo > da neke graficke ekrane sa diska ne ucitam u osnovnu memoriju > nego u prosirenu iznad 640 Kb. Moja preporuka ti je da program prevedes u PROTECTED rezimu (TARGET:PROTECT), Tada mozes koristiti GLOBALALLOC iz nekog WIN unita da alociras memorije koliko hoces (koliko imas), da ne kazem vidis memoriju linearno. Ako te interesuje ovakva metoda javi, pa da se prisetim tacno kako se radi. Mada je bilo o ovome reci pre koji mesec...
pascal.180 visnja,
> Zanima me kako da iz paskala stampam grafiku na stampac > (naravno). Da li prije slanja grafike na stampac treba poslati > neki bit koji 'gov ori' stampacu da ne stampa tekst nego > grafiku? U ostalom kako se salje grafika na stampac (stancalo)? I mene ovo zanima, li nekom zemaljskom metodom. Naime, uzecu za primer EPSONOVE stampace i njihove ESC kodove: Stampacu prvo saljes odgovarajuci ESC kod (27 pa neki kod) za postavljanje grafickog rezima, zaboravio sam koji kod, zatim mu saljes broj koji predstavlja broj bajtova koje ces poslati za bit-mapu. Onda saljes bajt po bajt bitmape za jedan red. Sledeci red sve ponovo. Ovo je ukratko i povrsno princip rada. Sada na trzistu je velika lepeza epsonovih i epson kompatibilnih stampaca, da li svi imaju iste kodove? Narocito sto bit mapa nije ista za 24 pince i 9 pince (mada i moze biti jer svaki 24 pinac moze da stampa i kao 9 pinac - grafiku). Rezolucija je naravno nekoliko i ona zavisi od inicijalnog ESC koda koji saljesm odnosno koda kojim iniciras grafiku (onaj prvi iza koga sledi broj bajtova). Sada mene zanima kako stoji stvar sa laserima, ne bih da pisem sam rutine, ima li neko neki UNIT?
pascal.181 visnja,
> 1.Da li se u TP-u moze napraviti vise statusnih linija i kako? > 2.Kako da se menja statusna linija otvaranjem prozora(menija)? > 3.Kako ubaciti stalan ispis:sata,stanja slobodnog diska i > memorije u Turbo Vision aplikaciji,primer(verovatno pomocu > interapta kako?)? Unapred hvala. Odgovor je DA DA i DA. Turbo vizija mi je uza struka, ako nisi do sada uspeo/nasao javi mi pa da napisem mali primer (komentarisan) i da ti saljem. Evo malih hintova: Kada definises statusnu liniju sa NewStatusDef, ti iza stavljas dve konstante odvojene zarezima, jel tako? pogledaj neki source iz primera. Tamo je obicno $0,$FFFF. To znaci da je tom statusnom linijom obuhvacena kompletna TV. Ako dodas jos statusnih linija a za konstante napises ovako: NewStatusDef(hcNekaPomoc,hcNekaPomoc,... I Imas neki pointer na prozor/dialog PPera, A na neki nacin (npr. u konstruktoru) si u konstantu koju ima svaki VIEW PPera^.HelpCtx stavio PPera^.HelpCtx:=hcNekaPomoc, Onda ce automatski po kreiranju DIALOGA/PROZORA PPera da se ukljuci statusna linija sa definicijom hcNekaPomoc. Naravno u statusnim linijama onda ne smes da obuhvatis celu TV (ne ides od 0 - $FFFF) 3. Pitanje: Nikakav Interapt ti ne treba. TV ima IDLE proceduru, da ne davim sta je IDLE ako si radio sa WIN programiranjem ili OS/2 onda znas... nije ti ni bitno: NADJI U PRIMERIMA THeapView objekat, on radi upravo to. I pogledaj IDLE proceduru u tom primeru, neznam tacno koji je primer, TVDEMO ili TVFM... Pozdrav, Visnja.
pascal.182 maksa,
>> Sada mene zanima kako stoji stvar sa laserima, ne bih da pisem >> sam rutine, ima li neko neki UNIT? Ne znam za unit, al' mislim da na FFS-u (?) može da se nađe BGI za rad sa štampačima.
pascal.183 dejanr,
>> Malo sam neupucen, o cemu je rec, kad govorite o RIND-u? RIND, program/eksterna komanda na Sezamu koji omogućava pregled tekstova objavljenih u "Računarima", i pronalaženje po imenu, temi, autoru itd.
pascal.184 dejanr,
>> Hej ljudi, nisam malo u toku, sta je to DELPHI? Delphi - Borlandov "vizuelni paskal", dakle naslednik Turbo i Borland Pascala koji omogućava lak (?) razvoj Windows aplikacija. Bio je detaljan prikaz u trećem broju časopisa "PC". U međuvremenu se (ovih dana) pojavio i 32-bitni Delphi za razvoj Windows 95 i NT programa, ali ga još nisam video.
pascal.185 postmast,
From: SPIDER@x-life.bc.co.yu Subject: Zastita_programa Date: Sun, 12 Nov 95 18:19:32 GMT Kada Dragan.Levic%f119.n111.z38Zastita programaetnet.s pojede bananu desava se neverovatna promena... Dr> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da Dr> ako korisnik programa (da li ste mu instalaciju nekog skupog programa Dr> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi Dr> program na disketu/diskete zastita automatski obrise *.exe fajlove tog Dr> programa (recimo da je ceo program u jednom direktorijumu)? Dr> Ako jeste, a verujem da jeste posto je meni skoro uspelo, samo imam Dr> nekoliko manjih rupa u znanju izlaznih kodova, kako bi on izgledao? a recimo da se uradi takva zastita koja bi spreacavala rad _tako_presnimljenog_programa_ na drugom komp-u (dok bi kod njega radilo sve ok) ??? ...SPiDeR //\o/\\ ... The Prodigy - Music For The Jilted Generation --- FMail 0.98 * Origin: X Life BBS;381(011)554-023;22:00-09:00;14400 bps (95:988/554)
pascal.186 postmast,
From: ASKO@vila.bc.co.yu Subject: pascal Date: Sun, 12 Nov 95 18:19:34 GMT -=> Quoting "Viktor Velisavljev" <vvelisavljev@ to All <=- "V<> Treba mi nesto da iz DOS programa predem u Windowse. Tj. program "V<> treba da simulira pritisak na Alt+Tab. Pokusaj sa rutinicom koja simulira pritisak tastera. Ako je nemas poslacu ti je. "V<> Imam DOS program raden u TPu. Pa zelim bezbolno da ga prebacim u "V<> Windows okolinu. Treba da pri odabiru neke opcije program prede u "V<> windows okruzenje i da ostane ikonica programa. KOristis TP6? U BP se lako moze prepraviti bilo koji program radjen u DOSu za WINDOWS. ... Hexcalibur, the sword of hackers. O══╠═0123456789ABCDEF═─ --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.187 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Knjiga Za Objektni Tp Date: Thu, 09 Nov 1995 07:18:00 ***> Citiram 'Ognen Duzlevski' za 'Marko Milivojevic' <*** OD> A sto je biser ? Spusti se malo na zemlju, covek kaze da je shvatio OD> principe (enkapsulacija, nasledjivanje, virtuelni i staticki metodi, OD> polimorfizam itd.), sada mu jedino treba sintaksa. Ja sam genije. Shvatio sam pravo resenje za konflikt u Bosni!!! Svi mi treba da se pomirimo i zivimo lepo kao ranije. Treba mi neka knjiga iz politike da vidim prakticnu primenu i najbolje resenje za moj zakljucak. OD> zemlju i drugi put malo pazljivije sa alt-R. 'R' -=> MM <=- ___ Blue Wave/QWK v2.20 [NR] * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.188 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: delphi Date: Sat, 11 Nov 1995 19:02:24 PS> Asmir Badnjevic said: no, no, Predrag Supurovic said to me : PS> Ukratko receno: Visual Trubo Pascal. PS> Ako si video Visual BASIC, e ovo je isto samo sto se radi PS> i Pascal jeziku. Vidio sam Visual BASIC i otkida koliko je dobar. Ako je delphi i upola onakav kao i Visual BASIC onda je do >znas vec cega<. Jer paskal je za mene (osim C-a) jedan od najboljih jezika. pozdraw, ASKO ... Ko prvi djevojc sam u nju upada ! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.189 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Sat, 11 Nov 1995 19:02:24 PS> Asmir Badnjevic said: Again rou are wrong, Predrag Supurovic said to me : PS> Imas na Oreska BBS-u biblioteke koje to rade. U sorsu su naravno. Koliko kila? pozdraw, ASKO ... tata vidi .... TAG * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.190 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (stampanje) Date: Sat, 11 Nov 1995 19:02:25 PS> Asmir Badnjevic said: Predrag Supurovic saiAAAAAAAAAAAAARRRRGHHHHHHHHH PS> Svaki stampac ima komande za grafiku. Treba da u uputstvu pogledas PS> kako stampac ocekuje podatke za stampu i da mu ih tako i posaljes... Da, u pravu si samo sto ja nemam nikakvo upustvo. PS> Moj Citizen 180D ima jenu Esc sekvencu kojaga prebacuje u graficki PS> rezim. Sekvenca sadrzi informaciju o kojoj se rezoluciji radi, PS> koliko bajtova se stampa i niz bajtova koje treba odstampati. Svaki PS> bajt predstavlja jednu kolonu (iglice na glavi stampaca su slozene PS> vertikalno). Stampa se po redovima - kolona je visine jednog reda PS> (koliko je to tacaka, zavisi od rezolucije i broja iglica na stampacu. Da li se kod svih stampaca koristi ESC sekvenca.? Je li rezolucija koja se salje na stampac? Mozes li to malo bolje obj asniti? Sta ti dodje >niz bajtova< i da li se regulise koja ce se igl ica upaliti a koja nece? BTW. U kojem jeziku programiras (ako :)) ? pozdraw, ASKO ... Nice girl in sight:(G)o, (R)un, (H)urry, (D)o it? * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.191 postmast,
From: Vladimir.Svrkota%f118.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: GRAPH.TPU Date: Sat, 11 Nov 1995 09:57:33 Doslo mi je do ostecenja na instalacionoj disketi Turbo Pascala 7.0 i fajl GRAPH.TPU mi je unisten, a grafika mi u ovom trenutku treba. Zato vas _molim_, da ako je neko rad da mi ovaj fajl arhivira i posalje, neka mi ostavi poruku u mail. Unapred se zahvaljujem. Vladimir. ... éí 'aaníígóó 'áhoot'é * Origin: SETNet-ICM Digital BBS * Subotica * (024)21-342 * (38:111/118)
pascal.192 nlazic,
*> U međuvremenu se (ovih dana) pojavio i 32-bitni Delphi za razvoj *> Windows 95 i NT programa, ali ga još nisam video. Kada vidiš (pretpostavljam da ćeš biti među prvima) ne bilo ti mrsko da napišeš ovde koju reč... Pozdrav, :) Nebojša :)
pascal.193 nlazic,
*> Vidio sam Visual BASIC i otkida koliko je dobar. Ako je delphi i upola *> onakav kao i Visual BASIC onda je do >znas vec cega<. Jer paskal je za *> mene (osim C-a) jedan od najboljih jezika. Uzimaj Delphi što pre, nećeš se razočarati :) Pozdrav, :) Nebojša :)
pascal.194 visnja,
> Ne znam za unit, al' mislim da na FFS-u (?) može da se nađe BGI Izvin'te, malo sam glup, sta je to FFS ?
pascal.195 guta,
>> Izvin'te, malo sam glup, sta je to FFS ? Fon File Server. Tel. 1: 2372392 Tel. 2: 2372393 poz, Guta
pascal.196 pedjak,
> Sada mene zanima kako stoji stvar sa laserima, ne bih da pisem sam > rutine, ima li neko neki UNIT? Što se tiče programiranja lasera, bilo je nekih tekstova svojevremeno u Računarima. Što se tiče junita, imam samo nešto sklepano na brzinu - štampa dela ekrana na epson kompatibilnim štampačima, evo ga uz poruku. hcopy.zip
pascal.197 postmast,
From: mladen.adamovic@blbbs.elf.bl.ac.yu (MLADEN ADAMOVIC) Subject: Re: stancanje grafike (st Date: Tue, 14 Nov 95 00:51:00 -1 -+=+- Asmir Badnjevic rece : -+=+- AB> Zanima me kako da iz paskala stampam grafiku na stampac (naravno). Nabavis odgovarajuci BGI, recimo : prbgi097 a01 164402 BGI printer driver v0.97 (9/24-pin, laser) #1 prbgi097 a02 163864 BGI printer driver v0.97 (9/24-pin, laser) #2 Izvor : Sezam. ... Mene novac i slava ne zanimaju. Zanima me samo novac. ___ Blue Wave/QWK v2.12
pascal.198 postmast,
From: damir@osmeh.fon.bg.ac.yu (Damir Barjaktarevic) Subject: Re: delphi Date: Tue, 14 Nov 1995 11:35:57 GMT Asmir Badnjevic (Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu) wrote: > Vidio sam Visual BASIC i otkida koliko je dobar. Ako je delphi i upola > onakav kao i Visual BASIC onda je do >znas vec cega<. Jer paskal je za > mene (osim C-a) jedan od najboljih jezika. Kad vidis Delphi ima da otkines na kvadrat :)))) Uporedjivao sa Delphi i VB 3.0 i doso do zakjucka da VB nema nikakvu izrazitu prednost u odnosu na Delphi. Stavise Delphi moze da mu bude profesor, pogotovo u radu sa bazama podataka. Vozdra, Damir -- damir@unitop.elfak.ni.ac.yu
pascal.199 postmast,
From: vladimir.sitnikovski@informa.mk (Vladimir Sitnikovski) Subject: pascal Date: Tue, 24 Oct 1995 04:45:00 GMT -=> Quoting Dejanrpascalezam.uucp to All <=- De> Path: medi.durlan.co.yu!durlan!fon.fon.bg.ac.yu!fon!sezam!dejanr De> From: "Dejan Ristanovic" <dejanr@sezam.UUCP> De> Newsgroups: yu.prog.pascal De> Subject: pascal De> Message-ID: <sezam$pascal:01.123.0418@sezam> De> Date: Fri, 20 Oct 95 02:43:00 CET De> References: <sezam$pascal:001.0123.0417@sezam> De> Organization: SEZAM Beograd, 011 648-422 >> 1. Upotreba nedokumentovanih dos funkcija nikad nije bila >> preporucljiva. ;) De> Jedino nevolja sto je ovaj dokumentovan - videti Microsoft Developers De> Network CD-ROM. Moram da potrazim neki noviji, moj je iz 94 godine, De> mozda su nesto menjali. >> 2. Vecina korisnika koristi ovaj int da bi procitala serijski broj harda >> koji se dobija pri formatiranju diska i da bi ga kasnije upotrebila >> za identifikaciju u cilju vezivanja softvera za hard. O tome koliko >> je ovaj nacin identifikacije 'neozbiljan' najbolje govori cinjenica da >> se isti broj moze promeniti po volji upotrebom ovog istog interapta >> (21,69). Igrarije...:) De> Za 99% korisnika - sasvim dovoljna zastita, a onaj 100-ti procenat ce De> i onako da razbije bilo kakvu zastitu. Sorry Dejane, nisi u pravu, i malo dete moze ovo da razbije ! Ovaj tip zastite ne vredi ni pet para, bas kao sto rece covek. Moj sin jos je mali da koristi INTERRUP-TE, ali vrlo dobro zna da radi sa nortonovim DISKEDIT-om :))) >> 3. Ovaj int je predvidjen da daje podatke samo pod fat file sistemom i >> bio je novina dos-a 4.0 De> Pa da, ali i Win95 radi pod FAT-om. Sto je najlepse, komandom DIR se De> dobija broj, znaci da postoji poziv kojim se cita. BIOS radi sa fizickim diskovima, a OS sa logickim, kad pomislim da oni suradjuju... Ipak kljuc ove dileme lezi u BOOT-u. Sitnik ... Rgds, Vladimir Sitnikovski, Republic of Macedonia, +389(0)91-318618 ___ Blue Wave/QWK v2.12
pascal.200 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Sun, 12 Nov 1995 12:53:15 ==== Asmir Badnjevic rece: ====================================== PS> Imas na Oreska BBS-u biblioteke koje to rade. U sorsu su naravno. AB> Koliko kila? Ma kratko je to. Jedino je sama dkumentacija za XMS velika, sami sorsovi su kratki. ... BR> Pusenje ili zdravlje. Odlucite sami. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.201 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: stancanje grafike (stampanje) Date: Sun, 12 Nov 1995 12:53:15 ==== Asmir Badnjevic rece: ====================================== PS> Svaki stampac ima komande za grafiku. Treba da u uputstvu pogledas PS> kako stampac ocekuje podatke za stampu i da mu ih tako i posaljes... AB> Da, u pravu si samo sto ja nemam nikakvo upustvo. Pa onda ti mogu pomoci ovako: komande za grafiku su iste za skoro sve matricne stampace, sto verovatno vazi i za tvoj, pogotovo ako je EPSON kompatibilac. Da te obradujem, na BS-u imam jedan TPU koji stampa sliku sa ekrana na bilo koji matricni stampac. To sam sinoc pronasao u arhivi jednog PAS programa za stampanje kalendara by neki momak iz Vojvodine. Arhiva s zove KALEND*.* (dovoljno da je nadjes). Sve u njoj je u sorsu pa i taj TPU za stampanje. AB> Je li rezolucija koja se salje na stampac? Mozes li to malo bolje AB> obj asniti? Sta ti dodje >niz bajtova< i da li se regulise koja ce AB> se igl ica upaliti a koja nece? To podesavas odredjivanjem rezolucije stampaca. Za svaku rezoluciju postoji posebna Esc sekvenca. Na stampac moras slati sliku u onoj rezoluciji na koju podesis stampac. TO vazi ako hoces da dobijes sliku uslovno receno 1:1. Ako samo hoces da odstampas, onda samo saljes bajtove stampacu onako kako ih imas, bez prilagodjavanja rezolucije. Tada ce stampac svaku tacku predstavljati tackom pa ce slika biti manja ili veca, zavisno od rezolucije... Ako hoces sam da radis, evo ti komande za Citizen. Treba da rade na bilo kom Epson kopatibilnom stampacu. Mada, ja ti preporucujema uzmes ovaj TPU koji sam pomenuo, jer je to upravo to sto hoces da uradis. Ovo je opsti oblik komande: ESC <r> chr(<n1>) chr(<n2>) ESC je ascii 27 (#1B) r je rezolucija i ako je "K" (#4B) - single density, 60dpi "L" (#4C) - double density, 120dpi "Y" (#59) - high speed double density, 120dpi "Z" (#5A) - Quadruple density, 240dpi n1 i n2 predstavljaju broj bajtova koji cine jedan red slike. n1 je donji a n2 gornji bajt duzine. Ako je x broj bajtova onda je n1 = x mod 256 n2 = x div 256 primer: ako je broj bajtova 816, n1 ce biti 128, a n2 ce biti 7 Dakle, posaljes odgovarajucu komandu za rezoluciju, dva bajta koji odredjuju broj bajtova koji ce biti stampani, a iza toga onoliko bajtova kojiko si rekao da ces poslati, a koji cine informaciju o slici. Iako je stampac devetopinski, deveti (najdonji) pin se ne koristi za stampanje grafike. Pored svega treba malo eksperimentisati sa razmakom ismedju linija da bi se redovi grafike poklopili, no to ces vec prokljuviti i sam. Ima jos jedna komanda: ESC * m n1 n2 sve je slicno prethonim, sam sto sada m odredjuje rezoluciju. m moze imati dekane vrednosti (slati kao ASCII): ASCII Opis Rezolucija Max broj kolona u redu ============================================================== 0 single density 60dpi 480cpl 1 double density, 120dpi 960cpl 2 hi speed double 120dpi 960cpl 3 quadruple 240dpi 1920cpl 4 CRT Screen 80dpi 640cpl 5 One-to-one 72dpi 576cpl 6 hi-res CRT 90dpi 720cpl 7 Two-on-one 144dpi 1152cpl ============================================================== dpi - dots per inch (broj tacaka po incu) cpl - columns per line (broj kolona po liniji) AB> BTW. U kojem jeziku programiras (ako :)) ? Primeri koje imam u prirucniku su u bejziku (bljak)... Eto, nadam se da ti je i ovo bilo dovoljno. Pedja ... BR> Ja sam jedan ostavljeni tag... Ona me vise ne voli. :~( * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.202 postmast,
From: Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) Subject: Re: Zastita programa Date: Sun, 12 Nov 1995 17:34:00 -=> Quoting Predrag Supurovic to Dragan Levic <=- PS> Dragan Levic said: DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da DL> ako korisnik programa (da li ste mu instalaciju nekog skupog programa DL> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi DL> program na disketu/diskete zastita automatski obrise *.exe fajlove tog DL> programa (recimo da je ceo program u jednom direktorijumu)? PS> Nisam sasvim siguran da li si mislio na zastitu programa koji si ti PS> pisao ili zastitu programa koji si mu samo instalirao pa ne zelis da PS> moze da ga kopira dalje? Da hocu da zastitim program koji sam ja sam pisao ne bi bilo nikakvih problema ali posto to nije moj program vec samo program koji ja treba da instaliram na disk i sprecim korisnika od daljeg sirenja programa (presnimavanja). A sto se tice drugih mera to nije potrebno ja samo hocu da unistim dati program, a ne celi disk! CUL8R ... MSDOS - MicroSoft's Destruction Of System. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.203 atech,
> Da hocu da zastitim program koji sam ja sam pisao ne bi bilo > nikakvih problema ali posto to nije moj program vec samo > program koji ja treba da instaliram na disk i sprecim korisnika > od daljeg sirenja programa (presnimavanja). A sto se tice PC GUARD V2.11 (c) 1994/95 Angel Technology All Rights Reserved Profesionalni Program Za Zastitu Softvera ZASTITA IZVRSNIH PROGRAMA (DOS) ──────────────────────────────────────────────────────────────────── Dva tipa zastite izvrsnih programa (ENVELOPE I LOADER). Cetiri metode zastite. CODE: uz pomoc indentifikacionog broja program radi samo na jednom racunaru. AUTO: automatska instalacija na odgovarajucem racunaru. Posle prvog pokretanja zasticeni program radi samo na tom racunaru. NOIC: Bez ikakve identifikacije racunara (pogodno za SW programe). DEMO: vremensko i(ili) datumsko ogranicenje rada zasticenih programa. Zastita vasih programa od nelegalne upotrebe. Zastita vasih programa od izmena. Zastita vasih programa od pregleda i analize koda. Zastita od koriscenja programa na neodgovarajucem racunaru. Dve metode identifikacije racunara (BIOS/IDE drajv). Mogucnost pravljena Demo verzija vasih programa. Vremenska i datumska ogranicenja rada vasih programa. (AmG) Mutation enGine. Nijedan zastitni sloj nije isti. Zastita velikih DOS programa sa internim overlejima! Preko 20 novih opcija za podesavanje parametara rada. Generisanje kompletnih izvestaja o zasticenim programima. PROGRAM ZA KREIRANJE I ZASTITU INSTALACIONIH DISKETA ──────────────────────────────────────────────────────────────────── Tri metode izrade instalacionih disketa (AUTO, CODE i NOIC) sa istim karakteristikama kao i kod programa za zastitu izvrsnih programa. Zastita od upotrebe na neodgovarajucem racunaru. Sifrovanje svih instaliranih programa. Ogranicenje broja instalacija. Generisanje kompletnih izvestaja o izradjenim disketama. Specijalni program za instalaciju sa diskete na hard disk. PROGRAM ZA INSTALACIJU SA DISKETE NA HARD DISK ──────────────────────────────────────────────────────────────────── Koristi sifrovane podatke o broju instalacija, osobi na koju je program licenciran, ciljnom direktorijumu i opisu vaseg programa. Ne dozvoljava instalaciju na neodgovarajucem racunaru. Vodi evidenciju o broju instalacija. Vrsi desifrovanje fajlova sa instalacione diskete i kopira ih u ciljni direktorijum. Mogucnost menjanja ciljnog direktorijuma. Jednostavan za upotrebu. ZASTO BAS PC GUARD? ──────────────────────────────────────────────────────────────────── Nisu vam potrebni nikakvi hardverski dodaci. Zastita jaca od hard lock-a!. Neogranicena upotreba bez bilo kakvih dodatnih ulaganja u hardver. Program za sifrovanje datoteka (HIDEIT). Program za identifikaciju racunara SYSTEM/BIOS/IDE/EXE (GUARDID). Program za konverziju Com programa u Exe programe (COMEXE). Program je testiran na velikom broju razlicitih konfiguracija. Ako je vas program dobar onda je dovoljno dobar da bi bio piratovan. Sprecite piratovanje vaseg softvera! User Friendly 100% Assembly language! Povoljne cene! Dilerski popusti Besplatna tehnicka podrska Besplatan upgrade Namenjen svima koji se bave izradom i prodajom softvera Sve dodatne informacije mozete dobiti na tel. 011/8171-179 ili na sledecim e-mail adresama: atech@sezam.co.yu atech@osmeh.fon.bg.ac.yu
pascal.204 vitez.koja,
#=> "V<> Treba mi nesto da iz DOS programa predem u #=> Windowse. Tj. program "V<> treba da simulira pritisak na #=> Alt+Tab. Pokusaj sa rutinicom koja simulira pritisak #=> tastera. Ako je nemas poslacu ti je. Zanimljiva ideja, ali mislim da neće da radi. Da li je neko pokušao?
pascal.205 postmast,
From: Srdjan.Stanisic%f104.n103.z38@setnet.setnet.co.yu (Srdjan Stanisic) Subject: Re: Zastita programa Date: Mon, 13 Nov 1995 22:03:07 DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da DL> ako korisnik programa (da li ste mu instalaciju nekog skupog programa DL> pa necete da mu dozvolite da je rasiri dalje) hoce da program presnimi DL> program na disketu/diskete zastita automatski obrise *.exe fajlove tog DL> programa (recimo da je ceo program u jednom direktorijumu)? DL> Ako jeste, a verujem da jeste posto je meni skoro uspelo, samo imam DL> nekoliko manjih rupa u znanju izlaznih kodova, kako bi on izgledao? DL> Puno vam se unapred zahvaljujem! DL> CUL8R or maybe RSN DL> P.S. Ja licno imam TS-Pascal tako da to malo komplikuje stvari (ko DL> zna-zna)! CU Ja sam radio neke zastite u TP programima. Sta te zanima konkretno? Da se odmah razumemo. Nijedna zastita nije 100% sigurna, al' ove mogu da dobro namuce. A ako ti je klijentela "neobrazovana" po pitanju programiranja... Nema problema. Postavi konkretno pitanje i reci ako zelis source. Strider ... Ako kanis pobijediti, ne smijes izgubiti! * Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.206 postmast,
From: Boris.Zutic%f125.n103.z38@setnet.setnet.co.yu (Boris Zutic) Subject: Re: GRAPH.TPU Date: Mon, 13 Nov 1995 00:19:04 -=> Vladimir Svrkota je svojevremeno izjavio <=- VS> Doslo mi je do ostecenja na instalacionoj disketi Turbo Pascala 7.0 i VS> fajl GRAPH.TPU mi je unisten, a grafika mi u ovom trenutku treba. VS> Zato vas _molim_, da ako je neko rad da mi ovaj fajl arhivira i VS> posalje, neka mi ostavi poruku u mail. Unapred se zahvaljujem. Javi se na tlf 642-263 radnim danom posle podne trazi Boris-a ... - I t█ld yo█, never█touch █he flop█y disk s█rfac█! * Origin: SETNet:Birostroj BBS:NON-STOP:14400bps:011/609945 (38:103/125)
pascal.207 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Zastita programa Date: Mon, 13 Nov 1995 13:25:14 Dragan Levic said: PS> Nisam sasvim siguran da li si mislio na zastitu programa koji si ti PS> pisao ili zastitu programa koji si mu samo instalirao pa ne zelis da PS> moze da ga kopira dalje? DL> Da hocu da zastitim program koji sam ja sam pisao ne bi bilo nikakvih DL> problema ali posto to nije moj program vec samo program koji ja treba DL> da instaliram na disk i sprecim korisnika od daljeg sirenja programa DL> (presnimavanja). A sto se tice drugih mera to nije potrebno ja samo DL> hocu da unistim dati program, a ne celi disk! Ivan Stamenkovic je u nekim od prvih brojeva Cipa (CHIP), pisao bas o metodi zastite gotovih exe programa. Dao je cak i TP izvorni kod necega slicnom PKLite-u. Stvar se nakaci na EXE i ne dozvoljava pokretanje programa ako odredjeni uslovi nisu ispunjeni. Uslove sammozes da odredis posto imas izvorni kod. Pretpostavljam da je najbolje da pokupis neke sistemske podatke o konfiguraciji na kojoj je program instaliran i da, ako se to promeni sprecis rad programa. E sad, ne bih ti bas preporucio da brises program, vec samo da ga onesposobis (prepises preko EXE-a neke bezvezne (RND) vrednosti) ili slicno. Brisanje moze nekada da izazove unistenje i drugih podataka, a ne samo tog programa.... Mozes recimo da napravis Trunc (pogledaj tu funkciju u TP help-u) nad EXE-om. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.209 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (stampanje) Date: Tue, 14 Nov 1995 20:12:52 PS> ==== Asmir Badnjevic rece: ====================================== ==== PredraG Supurovic rece :))) =============================== PS> Pa onda ti mogu pomoci ovako: komande za grafiku su iste za skoro sve PS> matricne stampace, sto verovatno vazi i za tvoj, pogotovo ako je EPSON PS> kompatibilac. EPSON RX80 (za sada) PS> Da te obradujem, na BS-u imam jedan TPU koji stampa sliku sa ekrana na PS> bilo koji matricni stampac. To sam sinoc pronasao u arhivi jednog PS> PAS programa za stampanje kalendara by neki momak iz Vojvodine. PS> Arhiva s zove KALEND*.* (dovoljno da je nadjes). Sve u njoj je u PS> sorsu pa i taj TPU za stampanje. KHM, KHM, samo ima jedan problem ... postu skidam sa VILACO BBSa (ko' sto pise u ORIGINu) ali ne sa MOG racunala (kompjutera :)) neGo ja fino odem do njiH i oni mi skinu postu. Sta se iz ovoGa moze zakljuciti??? Da ja nemam MODEM :(((. Znaci ne moGu skinuti source. Pa bi' te zamolio (jel' treba kleknuti ???) da (ako mozes) source posaljes putem maila. Kao poruku. Nisam siGuran da li moze, jer sam pravilnik SETNet-a zaGubio, pa ako moze ... :)))))))) AB> BTW. U kojem jeziku programiras (ako :)) ? PS> Primeri koje imam u prirucniku su u bejziku (bljak)... PS> Eto, nadam se da ti je i ovo bilo dovoljno. Nije. Ne proGramiras valjda u bejziku ??? Ko je kad vidio proGramirati u bejziku ??? P.S. Posalji primjer pa makar i u bejziku (bljak) ... PS> Pedja a ja mislio PredraG Supurovic :))) pozdraw, ASKO ... I haven't lost my mind; it's backed up on tape somewhere! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.210 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 14 Nov 1995 20:12:52 PS> ==== Asmir Badnjevic rece: ====================================== ==== PEDJA rece ================================================ PS> Imas na Oreska BBS-u biblioteke koje to rade. U sorsu su naravno. AB> Koliko kila? PS> Ma kratko je to. Jedino je sama dkumentacija za XMS velika, sami PS> sorsovi su kratki. Dobro ... Hvala. UzGred znas li mozda kako da promjenljive bacim u memoriju iznad 640kb ??? pozdraw, ASKO ... Press any user to continue. * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.211 postmast,
From: Vladimir.Svrkota%f119.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: Strimovi Date: Mon, 13 Nov 1995 15:56:01 Imam jedan problem prilikom koriscenja strimova. Napisao sam program koji ce u strim na disku da upise jedan string, ali kakav god da je string, na disku ce on uvek biti duzine 1. U cemu je problem? Program sledi: uses Objects, Drivers; var s:PDosStream; ime:PString; begin ime^:='Vladimir'; s:=new(PDosStream, Init('text',stCreate)); s^.WriteStr(ime); s^.Done end. Kompajler inace ne javlja nikakvu gresku. ... éí 'aaníígóó 'áhoot'é * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.212 postmast,
From: Vladimir.Svrkota%f119.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: Turbovizija Date: Mon, 13 Nov 1995 15:56:02 Naisao sam na jedan problem koristeci turboviziju. Naime, trebalo bi mi da mi se u jednom prozoru ispise sadrzaj jedne tekstualne datoteke. Pri tom ne mislim da to bude editor, tj. sadrzaj te datoteke ne sme da se menja, vec samo da se vidi. U turboviziji postoji objekat TWindow, ali ne znam kako da u njega upisem sadrzaj datoteke. Unapred hvala. ... éí 'aaníígóó 'áhoot'é * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.214 visnja,
U temi DELPHI iste ove konferencije sa, svecano objavio da sam isti nocas instalirao i odusevio se. Pitanje vezano za Borland Pascal, TV & PXENGINE: Da li je neko pokusao da natera PARADOX ENGINE za PASCAL da radi u protected rezimu (target:protected). Kada cistu TV aplikaciju prevedem u protected HeapView prijavi mnogo bajtova slobodno na Heap-u. Iz Editor demoa sam Aktivirao 'ladno stotinak instansi TEditWindow-a. Kada je target >>real<< par prozora - i heap se zagusi. E sada kada bi mogao i PdoxEngine... Probao sam onal DLL za windowse da zovem iz dos-a - naravno nema sansi. Sada mi je ideja da C libove za PDox nekako ulinkujem u protected pascal aplikaciju, moze li? Ima li neko iskustva? ILI postoji li sansa da se nesto od DELPHI DBE iskoristi za BP70? Pozdrav, Visnja.
pascal.215 visnja,
> sklepano na brzinu - štampa dela ekrana na epson kompatibilnim > štampačima, evo ga uz poruku. Odlicno! Hvala!
pascal.216 visnja,
> tom ne mislim da to bude editor, tj. sadrzaj te datoteke ne sme > da se menja, vec samo da se vidi. U turboviziji postoji objekat > TWindow, ali ne znam kako da u njega upisem sadrzaj datoteke. > Unapred hvala. Nadji u primerima TTextView objekat. Tu je sve sto ti treba...
pascal.217 zeljkoj,
> AB> BTW. U kojem jeziku programiras (ako :)) ? > PS> Primeri koje imam u prirucniku su u bejziku (bljak)... > PS> Eto, nadam se da ti je i ovo bilo dovoljno. > Nije. Ne proGramiras valjda u bejziku ??? Ko je kad vidio > proGramirati u bejziku ??? > > P.S. Posalji primjer pa makar i u bejziku (bljak) ... > Kakve su ovo gluposti u vezi BASIC-a? Da li ste vas dvojica uopšte nekada videli neki dobar BASIC kompajler tipa Microsoft Proffessional BASIC-a 7.1 (koji je te, 1990. godine zauzimao preko 15 MB (što ipak govori nešto o kompleksnosti i mogućnostima), a mogao je (i još može ;) da pravi DOS i OS/2 programe... Turbo Pascal je bio vrrrlo skromnih mogućnosti u odnosu na njega. Da ne pominjem Visual BASIC u izdanjima za DOS i Windows... Na kraju, BASIC kao jezik (ne uzimajući u obzir konkretnu implementaciju), je daleko bolji od Pascala.
pascal.218 nlazic,
*> ILI postoji li sansa da se nesto od DELPHI DBE iskoristi za BP70? Delphi U SVEMU posmatraj kao direktnog naslednika BP-a. Dakle, Delphi=BP80. Iz toga sledi i odgovor na tvoje pitanje: SVE iz BP70 će progutati i Delphi, a obrnuto zavisi od slučaja do slučaja. Znači, bez sorseva ništa (nažalost verzije bp-ova nisu kompatibilne na bin. nivou, tj. unit kompajliran u jednoj ne radi u drugoj). Pozdrav, :) Nebojša :)
pascal.219 dr.urbano,
Zna li neko kako mogu da procitam ime diskete ? (vrlo je hitno) Pozdrav, Vladimir. P.S. Da slucajno neko nema nesto o kriptovanju, ili neki primer ? P.P.S Koliko pc-game enclikopedija postoji, imam jednu da li ih ima jos ?
pascal.220 pedjak,
> Na kraju, BASIC kao jezik (ne uzimajući u obzir konkretnu > implementaciju), je daleko bolji od Pascala. U čemu je bolji..?
pascal.221 djelovic,
> Da slucajno neko nema nesto o kriptovanju, ili neki primer ? Bio je ovde neki FAQ na tu temu, potraži đal u dirketorijumima, đal u ranijim verzijama ove konferencije.
pascal.222 zeljkoj,
> U čemu je bolji..? Na primer - string tip ne postoji u standardnom Pascalu, nego samo char. :) žak i Turbo Pascal ograničava dužinu stringa na 255 znakova, dok BASIC ima 32767 (čak i na Spectrumu ;). Dalje, mora se na početku programa deklarisati max. dužina, dok BASIC ima dinamičke stringove čija max. dužina ne mora biti poznata pre izvršavanja programa. Ok - BP 7.0 ima null-terminated stringove pristojne dužine, ali - string ne sme sadržati karakter sa ASCII kodom 0, dok se u BASIC-u string može sastojati iz bilo kakvih karaktera. Dalje, u Pascalu je obavezna deklaracija promenljivih (i svega ostalog ;), dok je u BASIC-u opciona. (Novije verzije kompajlera imaju i naredbe za implicitnu deklaraciju (na primer, DEFINT A-F, N deklariše sve promenljive koje počinju slovima od A do F, kao i slovom N, kao INTEGER), a ako neko baš voli da eksplicitno deklariše svaku promenljivu može to uraditi sa DIM var AS tip. Sa OPTION EXPLICIT se može uključiti obavezna eksplicitna deklaracija. :). U svim novojim BASIC kompajlerima nizovi mogu biti onoliko veliki koliko ima memorije, dok su i nizovi i liste kod Pascala ograničeni na 64 kB. Dalje - pored statičkih postoje i dinamički nizovi čija se veličina može menjati u toku izvršavanja programa. Pascal po standardu ima procedure i funkcije, a BASIC samo GOSUB/RETURN, medjutim, svaki noviji kompajler ima i SUB i FUNCTION. Po standardu, BASIC je malo siromašan što se tiče kontrolnih struktura, ali svaki noviji kompajler ima osim FOR/NEXT, WHILE/WEND, IF...THEN...ELSE i DO/LOOP (WHILE, UNTIL), IF...THEN...ELSE...ENDIF, SELECT...CASE, itd. Dakle - nema apsolutno nikakve potrebe za GOTO. :) Kad već pomenuh ovu naredbu, noviji kompajleri ne zahtevaju linijske brojeve, a labela se može sastojati i od slova. :) Nikakve deklaracije labela u BASIC-u nisu potrebne. :) Ovo su bile stvari kojih sam se setio ovako na brzinu. Ima tu još da se priča... :)
pascal.223 djelovic,
> Pascal po standardu ima procedure i funkcije, a BASIC samo GOSUB/RETURN, > medjutim, svaki noviji kompajler ima i SUB i FUNCTION. Po standardu, > BASIC je malo siromašan što se tiče kontrolnih struktura, ali svaki noviji > kompajler ima osim FOR/NEXT, WHILE/WEND, IF...THEN...ELSE i DO/LOOP > (WHILE, UNTIL), IF...THEN...ELSE...ENDIF, SELECT...CASE, itd. Dakle porediš standardni Pascal i razne implementacije Bejzika? :) Ne deluje baš fer - ako hoćeš da porediš standarde, poredi standarde (standardni bejzik je krdža). Ako hoćeš da porediš implementacije, evo ti Borland Pascal ili Delphi, pa mu nađi ravni bejzik kompajler. Inače, Bejziku se zainsta danas ne može mnogo prigovoriti, osim da zbog obavezne opcije rada se netipiziranim promenjljivima retko kada radi tako brzo kao odgovarajući Pascal ili C/C++ kompajler. Takođe mu je velika mana što u funkcijama/procedurama prima po defaultu parametre po imenu, a ne po vrednosti. Mada se meni čidi da je izbor jezika pre svega stvar mode i ukusa, a ne razumnih odluka :).
pascal.224 zeljkoj,
> Dakle porediš standardni Pascal i razne implementacije Bejzika? > :) Ne deluje baš fer - ako hoćeš da porediš standarde, poredi > standarde (standardni bejzik je krdža). Ako hoćeš da porediš > implementacije, evo ti Borland Pascal ili Delphi, pa mu nađi > ravni bejzik kompajler. I poredio sam BP. Samo se ono u vezi nemanja stringova ;) odnosilo na standard Pascala. A što se tiče Delphija, njega možemo da poredimo sa VB 4.0. > Inače, Bejziku se zainsta danas ne može mnogo prigovoriti, osim > da zbog obavezne opcije rada se netipiziranim promenjljivima Obavezne netipizirane promenljive? Ne razumem. > kao odgovarajući Pascal ili C/C++ kompajler. Takođe mu je > velika mana što u funkcijama/procedurama prima po defaultu > parametre po imenu, a ne po vrednosti. Jedno BYVAL pre parametra rešava problem. :) > Mada se meni čidi da je izbor jezika pre svega stvar mode i > ukusa, a ne razumnih odluka :). S obzirom da su sada jezici manje-više istih mogućnosti, tako je. :)
pascal.226 pedjak,
> Ovo su bile stvari kojih sam se setio ovako na brzinu. Ima tu još da > se priča... :) Da ti sada ne bi kvotirao celu poruku... Da te podsetim dela poruke na koju sam ti odgovorio: =============================== 7.217 PC.PROG.6:pascal zeljkoj, 17.11.Pet 13:10, 872 chr Odgovor na 7.209, postmast, 16.11.žet 06:27 --------------------------------------------------------- . . . Na kraju, BASIC kao jezik (ne uzimajući u obzir konkretnu implementaciju), je daleko bolji od Pascala. ----------------------------------------------- 7.217 --- Kao argumente za svoju tvrdnju ti mi pak navodiš prednosti konkretnih implementacija. Nisi baš dosledan.
pascal.227 vitez.koja,
#=> ima 32767 (čak i na Spectrumu ;). A, jok. Na Spektrumu je string mogao da ima do 256 znakova. #=> Dalje, u Pascalu je obavezna deklaracija promenljivih (i #=> svega ostalog ;), dok je u BASIC-u opciona. žega se pametan stidi, time se lud ponosi - kaže naš narod. #=> U svim novojim BASIC kompajlerima nizovi mogu biti #=> onoliko veliki koliko ima memorije, dok su i nizovi i #=> liste kod Pascala ograničeni na 64 kB. Porediš apstraktne "novije BASIC kompajlere" sa određenim Pascal kompajlerom za određeni računar. Kako zgodno ;) Sa jedne strane, opraštaš BASICu nemogućnost pravljenja funkcija (kao, imaju sve novije verzije;), sa druge strane kačiš Pascalu i ono što nije do njega - segmentna ograničenja PCa. Lično mislim da su oba pomenuta jezika slabija od Ca (basic mi je suviše mrljav, pascal suviše krut), ali makar se trudim da realno sagledam vrednost svakog. Mogao bi i ti da počneš. E, da, setih se: basic programer doživljava daleko veći kulturološki šok pri prelasku na neki moderniji jezik, nego njegov pascal kolega. Ova osobina možda nije bitna za samu upotrebu jezika, ali da li bi ti pristao da za vozački ispit A kategorije učiš vožnju u tramvaju?
pascal.228 vitez.koja,
#=> Zna li neko kako mogu da procitam ime diskete ? (vrlo #=> je hitno) Ako misliš na volume label, potraži sa findfirst, u osnovnim direktorijumu, fajl sa odgovarajućim atributom.
pascal.229 zeljkoj,
> Kao argumente za svoju tvrdnju ti mi pak navodiš prednosti > konkretnih implementacija. Nisi baš dosledan. Kao što rekoh, samo su što se tiče stringova poredjeni standardi. Ostalo je BP 7.0 (1992.) - MS QBX PDS 7.1 (1990.)
pascal.230 zeljkoj,
># => ima 32767 (čak i na Spectrumu ;). > > A, jok. Na Spektrumu je string mogao da ima do 256 znakova. Hm... ček' da pogledam knjige... :) ># => Dalje, u Pascalu je obavezna deklaracija promenljivih (i ># => svega ostalog ;), dok je u BASIC-u opciona. > > žega se pametan stidi, time se lud ponosi - kaže naš narod. Deklarisanje promenljivih možda jeste korisno, ali je strašno zamorno. Uostalom, postoji OPTION EXPLICIT, pa možeš da biraš. :) > Porediš apstraktne "novije BASIC kompajlere" sa određenim > Pascal kompajlerom za određeni računar. Kako zgodno ;) Sa jedne > strane, Pod 'noviji BASIC kompajler' podrazumevam MS QBX PDS 7.1 iz 1990. godine. > opraštaš BASICu nemogućnost pravljenja funkcija (kao, imaju sve > novije verzije;), sa druge strane kačiš Pascalu i ono što nije > do Pa imaju. Još je i prastari MS QB od pre desetak godina mogao da pravi funkcije i procedure, kao uostalom i Borlandov TB. > novije verzije;), sa druge strane kačiš Pascalu i ono što nije > do njega - segmentna ograničenja PCa. koja BASIC uspeva da prevazidje. :) > E, da, setih se: basic programer doživljava daleko veći > kulturološki šok pri prelasku na neki moderniji jezik, nego Šta je to 'kulturološki šok'? :))
pascal.231 visnja,
> Na kraju, BASIC kao jezik (ne uzimajući u obzir konkretnu > implementaciju), Ja se profesionalno bavim samo pascalom, bejzik mi je naravno "maternji" jezik. Iako sam okoreli pascal-ovac, ruku na srce moram priznati da si u pravu, samo treba naci stvarno dobar kompajler. To je nekada davno i BillG rekao, nesto u fazonu: 'Nema toga sto ne mogu da napisem u QBASIC-u'.
pascal.232 visnja,
> funkcijama/procedurama prima po defaultu parametre po imenu, a > ne po vrednosti. Mada se meni čidi da je izbor jezika pre svega > stvar mode i ukusa, a ne Hmmm, Ja rekoh da sam okoreli PASCAL-ovac, ali vide li ti na spectrumu implementaciju BETA BASIC-a. Rekurzija u njemu radi fenomenalno, dakle podrzava parametre po vrednosti, jos sto moze i u RUN TIME sam sebe da menja (mislim program), brise, pise... Voleo bih da u BP-u sa kojim po ceo dan radim imam onako mocnu spectrumovu VAL naredbu : 10 a$="10+30/2" 20 n=VAL (a$) 30 PRINT n i on mi napise 25 !
pascal.233 visnja,
> Lično mislim da su oba pomenuta jezika slabija od Ca (basic > mi je suviše mrljav, pascal suviše krut), ali makar se trudim > da realno sagledam vrednost svakog. Mogao bi i ti da počneš. Sa stanovista LISP-a ili FORTH-a C,BASIC i PASCAL su isti jezici! Da ne sirimo mnogo diskusiju, meni bi se C ili C++ vise svideli od pascala da sam nasao dobar C (C++) compiler. Za istu stvar mi BP70 ili DELPHI oduzme oko minut a BC4.5 ihaaaaaa. (prevodjenje slicnih primera iz SAMPLES/EXAMPLES dir-ova). Isto vazi i za zauzimanje diska. I koji je jezik na kraju najbolji. Besmislena diskusija, svako bi trebao da bira sta mu treba. Sta mi vredi propterecenje operatora u C++, kada mi to nije bila primarna potreba pre par godina. Trebao mi je dobar DOS korisnicki interfejs, pogledao sam TV iz BC-a i BP-a i uzeo BP. itd, itd...
pascal.234 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: stancanje grafike (stampanje) Date: Wed, 15 Nov 1995 23:06:53 Asmir Badnjevic said: PS> Primeri koje imam u prirucniku su u bejziku (bljak)... AB> Nije. Ne proGramiras valjda u bejziku ??? Ko je kad vidio AB> proGramirati u bejziku ??? Vide li ti ono "bljak" :)))))) Salim se, normalno da znam i bejzik, samo ono sto znam je bejzik sa Spektruma, mada se to uklapa i u ovaj... Na PC-u mi je TPascal prirastao srcu i ne odricem ga se. Bas lep jezik, kulturan, civilizovan, jasan i prezican, a daje ti dovoljno slobode da brljas ako bas hoces. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.235 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Wed, 15 Nov 1995 23:06:54 Asmir Badnjevic said: AB> UzGred znas li mozda kako da promjenljive bacim u memoriju iznad AB> 640kb ??? Pa upravo uz pomoc nekebiblioteke za XMS/EMS. One ti obicno daju zamene za GetMem i FreeMem, samo stoalociraju memoriju u gornjoj memoriji. Nisam koristio ali toliko sam mogao da zakljucim iz dokumentacije. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.236 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: [1/2] stancanje grafike (stampanje) Date: Wed, 15 Nov 1995 23:07:13 >>> Part 1 of 2... Asmir Badnjevic to Predrag Supurovic about AB> source. Pa bi' te zamolio (jel' treba kleknuti ???) da (ako mozes) AB> source posaljes putem maila. Kao poruku. Nisam siGuran da li moze, Unit GraphPRN; { This unit is designed to send graphics images to Epson Compatible and late model IBM ProPrinter Dot Matrix printers. It takes the image from the currently active Viewport, determined by a call to GetViewSettings, and transfers that image to the printer. } Interface Uses Dos, Graph; { Used to get the Image from the Screen } Var LST : Text; Procedure HardCopy (Gmode: Integer); { Procedure HardCopy prints the current ViewPort To an IBM or Epson compatible graphics printer. Valid Gmode numbers are: -4 to -1 for Epson and IBM Graphic Printers 0 to 7 for Epson Printers } Implementation Procedure HardCopy (Gmode: Integer); Const Bits : Array [0..7] of Byte = (128,64,32,16,8,4,2,1); Var X,Y,YOfs : Integer; { Screen location variables } BitData,MaxBits : Byte; { Number of Bits to transfer } Vport : ViewPortType; { Used to get view settings } Height, Width : Word; { Size of image to transfer } HiBit, LoBit : Char; { Char size of image } LineSpacing, { Additional Info for dump } GraphixPrefix : String[10]; { " " " " } Begin LineSpacing := #27+'3'+#24; { 24/216 inch line spacing } Case Gmode Of -1: GraphixPrefix := #27+'K'; { Std. Density } -2: GraphixPrefix := #27+'L'; { Double Density } -3: GraphixPrefix := #27+'Y'; { Dbl. Density Dbl. Speed } -4: GraphixPrefix := #27+'Z'; { Quad. Density } 0..7: GraphixPrefix := #27+'*'+Chr(Gmode); { 8-Pin Bit Image } Else Exit; { Invalid Mode Selection } End; GetViewSettings( Vport ); { Get size of image to } Height := Vport.Y2 - Vport.Y1; { be printed } Width := ( Vport.X2 + 1 ) - Vport.X1; HiBit := Chr(Hi(Width)); {Translate sizes to char } LoBit := Chr(Lo(Width)); { for output to printer } Write( LST, LineSpacing ); Y := 0; While Y < Height Do Begin Write( LST,GraphixPrefix,LoBit,HiBit ); For X := 0 to Width-1 Do Begin BitData := 0; If y + 7 <= Height Then MaxBits := 7 Else MaxBits := Height - Y; For YOfs := 0 to MaxBits do Begin If GetPixel( X, YOfs+Y ) > 0 Then BitData := BitData or Bits[YOfs]; End; Write( LST, Chr(BitData) ); End; WriteLn ( LST ); Inc(Y,8); End; End; {$F+} { LSTNoFunction performs a NUL operation for a Reset or Rewrite on LST (Just in case) } Function LSTNoFunction( Var F: TextRec ): integer; Begin LSTNoFunction := 0; { No error } >>> Continued to next message... * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.237 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: [2/2] stancanje grafike (stampanje) Date: Wed, 15 Nov 1995 23:07:14 >>> Part 2 of 2... end; { LSTOutputToPrinter sends the output to the Printer port number stored in the first byte of the UserData area of the Text Record. } Function LSTOutputToPrinter( Var F: TextRec ): integer; var Regs: Registers; P : word; begin With F do Begin P := 0; Regs.AH := 16; While (P < BufPos) and ((regs.ah and 16) = 16) do Begin Regs.AL := Ord(BufPtr^[P]); Regs.AH := 0; Regs.DX := UserData[1]; Intr($17,Regs); Inc(P); end; BufPos := 0; End; if (Regs.AH and 16) = 16 then LSTOutputToPrinter := 0 { No error } else if (Regs.AH and 32 ) = 32 then LSTOutputToPrinter := 159 { Out of Paper } else LSTOutputToPrinter := 160; { Device write Fault } End; {$F-} { AssignLST both sets up the LST text file record as would ASSIGN, and initializes it as would a RESET. It also stores the Port number in the first Byte of the UserData area. } Procedure AssignLST( Port:Byte ); Begin With TextRec(LST) do begin Handle := $FFF0; Mode := fmOutput; BufSize := SizeOf(Buffer); BufPtr := @Buffer; BufPos := 0; OpenFunc := @LSTNoFunction; InOutFunc := @LSTOutputToPrinter; FlushFunc := @LSTOutputToPrinter; CloseFunc := @LSTOutputToPrinter; UserData[1] := Port - 1; { We subtract one because } end; { Dos Counts from zero. } end; Begin AssignLST( 1 ); { Sets output printer to LPT1 by default. Change this value to a 2 to select LPT2. Note: BIOS only handles LPT1 and LPT2. } End. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.238 postmast,
From: Vladimir.Svrkota%f119.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: GRAPH.TPU Date: Wed, 15 Nov 1995 10:23:00 VS> fajl GRAPH.TPU mi je unisten, a grafika mi u ovom trenutku treba. BZ> Javi se na tlf ***-*** radnim danom posle podne trazi Boris-a Milan Smederevac mi je to vec uploadovao na Ecstasy, tako da je sve OK. Thanx anyway :) ... éí 'aaníígóó 'áhoot'é * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.239 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Tue, 14 Nov 95 12:17:00 +0100 >>> Sada mene zanima kako stoji stvar sa laserima, ne bih da pisem >>> sam rutine, ima li neko neki UNIT? ---> ---> Ne znam za unit, al' mislim da na FFS-u (?) moze da se nade BGI za ---> rad sa stampacima. Ima fonu BGI koji kao ti simulira ekran na STAMPACU i tamo povlacis linije ... :))) ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.240 postmast,
From: SKOA@vila.bc.co.yu Subject: pascal Date: Fri, 17 Nov 95 14:54:02 GMT -=> Quoting "Milos Visnjic" <visnja@sezam.UUCP> to All <=- > Da li neko zna kako da se radi sa prosirenom memorijom? Recimo > da neke graficke ekrane sa diska ne ucitam u osnovnu memoriju > nego u prosirenu iznad 640 Kb. "V<> Moja preporuka ti je da program prevedes u PROTECTED rezimu "V<> (TARGET:PROTECT), Tada mozes koristiti GLOBALALLOC iz nekog WIN unita "V<> da alociras memorije koliko hoces (koliko imas), da ne kazem vidis "V<> memoriju linearno. Ako te interesuje ovakva metoda javi, pa da se "V<> prisetim tacno kako se radi. Mada je bilo o ovome reci pre koji "V<> mesec... -!- UUCP to EZY importer by ZDule 06.95 Je li to u BP? Ako tako uradim onda proGram moGu koristiti samo u windowsu. Ili Ga moGu koristiti i u DOSu? Interesuje me pa bi moGao da objasnis. ... Press any user to continue. --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.241 djelovic,
> Lično mislim da su oba pomenuta jezika slabija od Ca (basic > mi je suviše mrljav, pascal suviše krut) Lično mi se čini da su C i Pascal (ili Modula-2, nije bitno) funkcionalno identični, s tim što Pascal ipak ima daleko čitljiviju sintaksu, plus nema one perverzne operatore koji danas uz optimizujuće kompajlere ionako više nisu ni bitni.
pascal.242 vitez.koja,
#=>> Lično mislim da su oba pomenuta jezika slabija od Ca #=>> (basic mi je suviše mrljav, pascal suviše krut) #=> #=> Lično mi se čini da su C i Pascal (ili Modula-2, nije #=> bitno) funkcionalno identični, s tim što Pascal ipak ima #=> daleko čitljiviju sintaksu, plus nema one Pošto su u pitanju jezici (manje-više) istog nivoa i opšte namene, nije ni čudo. Ali, C mnogo više pristaje _mom_ načinu razmišljanja (zato sam i počeo rečenicu sa "lično"). Uzmimo u razmatranje neki prost primer, npr. skidanje ANSI sekvenci iz teksta koji se nalazi u baferu: while(*text) { if(*text==ESC) if(*(text+1)=='[') { while(!isalpha(*text++)); continue; } putch(*text++); } U Pascalu oko ovog trivijalnog problema ima mnogo više da se mozga, i to ne zbog prirode problema nego zbog prirode jezika. Demantujte me, napišite kraće/logičnije od ovoga u Pascalu. (i u Cu najverovatnije može kraće, ovo sam napisao iz glave).
pascal.243 vitez.koja,
#=> Ovo su bile stvari kojih sam se setio ovako na brzinu. Ima tu još #=> da se priča... :) Nego, zaboravi ti da pomeneš najveću manu (Q)Basica, kad smo već kod stringova, dakle: DIM a AS STRING * 10 a="qwerty" IF a="qwerty" PRINT "Dobro je :)" ELSE PRINT "Nije dobro" END IF I naravno biće ispisano "Nije dobro", zato što se a dopunjuje sa spejsovima do "pune dužine" (10 u ovom slučaju), pa se mora kod ovakvih upoređivanja raditi stalno RTRIM$(a)... sk
pascal.244 zeljkoj,
> Nego, zaboravi ti da pomeneš najveću manu (Q)Basica, kad smo > već kod stringova, dakle: > > DIM a AS STRING * 10 > a="qwerty" > IF a="qwerty" > PRINT "Dobro je :)" > ELSE > PRINT "Nije dobro" > END IF > > I naravno biće ispisano "Nije dobro", zato što se a dopunjuje > sa spejsovima do "pune dužine" (10 u ovom slučaju), pa se mora > kod ovakvih upoređivanja raditi stalno RTRIM$(a)... E stvaaaaarno... PA TO SU STRINGOVI FIKSNE DUčINE, uvedeni tek u kasnijim verzijama QBasica (valjda zbog FORTRAN nostalgičara ;). Zašto bi uopšte pisao DIM a AS STRING * 10 kad možeš samo DIM a AS STRING I tako deklarišeš standardni variable length string sa kojim sve radi ok. BTW, zašto bi pisao i DIM a AS STRING kad možeš jednostavno da upotrebiš (bez ikakve deklaracije) promenljivu A$, što je potpuno isto. :) Naravno, može i DIM a$ BASIC nudi desetine mogućnosti, za razliku od krutog Pascala. :)
pascal.245 djelovic,
> while(*text) { > if(*text==ESC) > if(*(text+1)=='[') { > while(!isalpha(*text++)); > continue; > } > putch(*text++); > } > > U Pascalu oko ovog trivijalnog problema ima mnogo više da se > mozga Ako nisi svestan koliko je ovaj kod gore nečitljiv, ondak si stvarno zabrazdio :). Inače, isti kod na Pascalu ima možda jedan red više, no pošto nisam napisao red na Pascalu već par godina, ne usuđujem se da ti to demonstriram :). Neko malo verziraniji će to bolje uraditi.
pascal.246 visnja,
> Salim se, normalno da znam i bejzik, samo ono sto znam je > bejzik sa Spektruma, mada se to uklapa i u ovaj... Na PC-u > mi je TPascal prirastao srcu i ne odricem ga se. Bas lep > jezik, kulturan, civilizovan, jasan i prezican, a daje ti > dovoljno slobode da brljas ako bas hoces. TAKO JE! Vidim ja da su Spectrumovci uglavnom presli na TPascal.
pascal.247 visnja,
> Je li to u BP? Ako tako uradim onda proGram moGu koristiti samo > u windowsu. Ili Ga moGu koristiti i u DOSu? Interesuje me pa bi > moGao da objasnis. Jeste u BP-u je. Program tada NIJE WINDOWS aplikacija. Samo mu treba DPMI16.OVL i RTMLOAD.EXE. Radi sa DOS-om i svakom masinom na kojoj radi borlandov DPMI. Ne daj da te zbuni to sto u PROTECTED modu koristis neke unite iz WINDOWS-a. Pogledaj primer: uses WinApi,Crt; var MemHandle:Word; begin ClrScr; WriteLn(getfreespace(0)); ReadKey; MemHandle:=GlobalAlloc(GMEM_FIXED,1000000); WriteLn(getfreespace(0)); ReadKey; GlobalFree(memhandle); WriteLn(getfreespace(0)); ReadKey; end. Dalje, pogledaj HELP za WinApi, sve te funkcije su ti dostupne u DOS protected modu. Pogledaj kako sve mozes alocirati memoriju, pored GMEM_FIXED. Divno, zar ne? Ne zaboravi da ovaj primer iskompajliras sa opcijom TARGET:PROTECTED iz BP 7.0 IDE. Pozdrav, Visnja.
pascal.248 dr.urbano,
Mislim da se nismo razumeli mislim iz programa da procitam ime diskete ! To je valjda negde u nultom sektoru ako se ne varam. I koliko lako moze da se promeni ime diskete ? Pozdrav, Vladimir. P.S. Kada neki program (npr. Diskdupe) pravi ekzaktnu kopiju diskete kako tretira bad sector-e. Da li gleda sta je ispod njih ili jednostavno na kopiji disketi ostavi mesto i zove ga bad sector ? P.P.S.S. Pisem zastitu za neki program pa su mi potrebne ove informacije.
pascal.249 dr.urbano,
Ako mozes malo preciznije (naravno ako se secas) jer sam kompletno pretrazio stare pc.prog konferencije, i ne nadjoh nista ! Pozdrav, Vladimir.
pascal.250 jablan,
> davno i BillG rekao, nesto u fazonu: 'Nema toga sto ne mogu da > napisem u QBASIC-u'. Što se, naravno, i pokazalo tačnim. Evo, recimo, Windows. ;>
pascal.251 jablan,
Subj: pascal vs C >> while(*text) { >> if(*text==ESC) >> if(*(text+1)=='[') { >> while(!isalpha(*text++)); >> continue; >> } >> putch(*text++); >> } > Ako nisi svestan koliko je ovaj kod gore nečitljiv, ondak si > stvarno zabrazdio :). Inače, isti kod na Pascalu ima možda > jedan red više, no pošto nisam napisao red na Pascalu već par > godina, ne usuđujem se da ti to demonstriram :). Neko malo > verziraniji će to bolje uraditi. Ono sa !isalpha mi je sumnjivo, ali ja sam ga bukvalno preveo. for i:=1 to Length(Buf) do begin if (Buf[i]=chr(27)) and (Buf[i+1]='[') then begin i:=i+2; while not ((Buf[i] in ['A'..'Z']) and (Buf[i] in ['a'..'z')]) do i:=i+1; end; Write(Buf[i]); end; Jes' da je malko duže od ovog u C-u, ali se bar razume. Pa kladim se da će i neko ko ne zna paskal ovo bez problema razumeti. Uostalom, zato paskal služi i u edukativne svrhe. E sad, stvar je kompajlera kako će ovo prevesti i da li će C biti brži nego paskal. Optimizacija u 90% slučajeva na sadašnjim mašinama nije toliko bitna.
pascal.252 vitez.koja,
#=> Zašto bi uopšte pisao DIM a AS STRING * 10 kad možeš samo #=> DIM a AS STRING Zbog rada sa recordima sa nekom datotekom za koje mi je neophodno potrebno da svi budu iste dužine. sk
pascal.253 zeljkoj,
># => Zašto bi uopšte pisao DIM a AS STRING * 10 kad možeš samo ># => DIM a AS STRING > > Zbog rada sa recordima sa nekom datotekom za koje mi je > neophodno potrebno da svi budu iste dužine. Koristi (možda malo zastareli ;) FIELD/GET/PUT... Ustvari, rešenje gornjeg problema je da pišeš RTRIM$(a) umesto samo a, da bi višak blankova bio izbačen. :)
pascal.254 djelovic,
> end; > Write(Buf[i]); Između ova dva reda ti fali jedno "else", ali dobro de :). Ukoliko podesimo begin-ove da se slažu sa kojinim "{", dobijamo kod sasim slične dužine. > E sad, stvar je kompajlera > kako će ovo prevesti i da li će C biti brži nego paskal. Optimizacija > u 90% slučajeva na sadašnjim mašinama nije toliko bitna. Ovo je malo problematično? C kompajleri prave bolji kod, dal' zato što je više u njih uloženo, dal' zato što Borland jedini pravi Pascal pa je onda od njega sve brže :). No, Pascal bi definitivno trebao da može bolje da se izoptimizuje, s obzirom na to da kompajler ne mora toliko da strepi od "alias" pointera koji u ogromnoj meri kvare optimizaciju. -- A da optimizacija nije bitna... Pa sad, ja držim da je ručna optimizacija čak štetna, ali ona koju radi kompajler? Razlika sa i bez nje je drrrastićna.
pascal.255 dr.urbano,
Pisem neku zastitu za program (install) pa bi bilo super kad bi mi neko znao da kaze sta se desava kada kopiram disketu na disketu nekim programom(npr diskdupe)koji prai egzaktnu kopiju diskete. Kako tretira bad sector_e dali na disketi kopiji stvori bad sector ili i pise nesto u njega ? Dakle moze li se nesto sakriti u bad sector originalne diskete i kasnije to koristiti ? Postoji li neki drugi sigurniji nacin da se procita ime diskete (broj nesto) a da nije lako promenjiv? Jer kolko ja znam ti podaci se drze u nultom sectoru ali diskdupe moze sve to da prenese na drugu disketu tako da nista od zastite (pisem install proceduru). Pozdrav, Vladimir.
pascal.256 atech,
> Pisem neku zastitu za program (install) pa bi bilo super kad bi > mi neko znao da kaze sta se desava kada kopiram disketu na > disketu nekim programom(npr diskdupe)koji prai egzaktnu kopiju > diskete. Kako tretira bad sector_e dali na disketi kopiji > stvori bad sector ili i pise nesto u njega ? Dakle moze li se > nesto sakriti u bad sector originalne diskete i kasnije to > koristiti ? Sta god da budes koristio (za koji se algoritam odlucis) vodi racuna o tome da dobro zastitis sam algritam. U suprotnom sve pada u vodu. Ovaj tip zastite o kome govoris ne preporucujem (kupcu je neophodno obezbediti bekap) ali ako zelis da ga testiras koristi programe kao sto su anadisk ili teledisk a ne diskdupe. > Postoji li neki drugi sigurniji nacin da se procita > ime diskete (broj nesto) a da nije lako promenjiv? Ime diskete (iz boot-a) kao i serijski broj diskete koji se nalaze u boot-u je veoma lako procitati a jos lakse izmeniti. Ne postoji efikasan nacin sprecavanja provalnika da izmeni ove podatke. Ne prepoucujem isti. O ovome je vec nekoliko puta bilo govora pre par nedelja u ovoj istoj temi. > Jer kolko ja znam ti podaci se drze u nultom sectoru ali > diskdupe moze sve to da prenese na drugu disketu tako da nista > od zastite (pisem install proceduru). Cak i da ih ne prenosi opet nista od zastite jer ih je moguce promeniti. Opet, cak i ako uspes da napravis savrsen algoritam koji ce ih citati i kontrolisati isti se moze lako izmeniti pa opet nista od zastite sto nas vraca na onaj pasus o zastiti algoritma. Ako prodajes program poznatom kupcu za koga znas da nece zloupotrebiti ili pokusati da zloupotrebi tvoj program svaka zastita je ok. Ako mislis da je tvoj program vredan piratovanja razmisli i o drugim solucijama...
pascal.257 vitez.koja,
#=> Mislim da se nismo razumeli mislim iz programa da #=> procitam ime diskete ! Razumeli smo se mi, samo ti hoćeš jedno a tražiš drugo. Reši da li ti treba ime (volume label) ili serijski broj diska, pa javi...
pascal.258 visnja,
>> davno i BillG rekao, nesto u fazonu: 'Nema toga sto ne mogu da >> napisem u QBASIC-u'. > > Što se, naravno, i pokazalo tačnim. Evo, recimo, Windows. ;> Bravo majstore, tako je. Dobro sam se nasmejao, da znas da ih je pisao u QBASIC-u.
pascal.259 visnja,
> for i:=1 to Length(Buf) do > begin > if (Buf[i]=chr(27)) and (Buf[i+1]='[') then > begin > i:=i+2; > while not ((Buf[i] in ['A'..'Z']) and (Buf[i] in ['a'..'z')]) > do i:=i+1; > end; > Write(Buf[i]); > end; > > Jes' da je malko duže od ovog u C-u, ali se bar razume. Pa > kladim se da će i neko ko ne zna paskal ovo bez problema > razumeti. Uostalom, Aux, burazeru, ja razmisljao da repliciram posto radim u PASCALU, ali kako covek rece, malo vise razmisljanja je trebalo (dakle u pravu je) pa sam odustao, ali sad se moram umesati: - bolje umesto Chr(27) staviti samo #27 - i:=i+2 = INC(i,2); - i:=i+1 = INC(i); - i BP ima funkciju ISAPLHA, tako ce program vise liciti na C, a i ovo sto pominjem ne pripada standardnom pascal-u. A i Buf bi trebao da bude pointer, fleksibilnije je. Ocigledno da sam zreo za C. A i ne slazem se da pascal sluzi za edukativne svrhe, barem ne Borland Pascal. Stvar je ipak poprilicno individualna. Zakleti sam pascalovac i bolje poznajem pascal nego C - vise mi je vremena trebalo da vizuelno proverim semantiku ovog pascal programa nego onog u C-u ?!? I dalje tvrdim da je PASCAl bolji jezik od C-a. Zasto ? Nemam pojma, ja ga volim, volim i C, ali pascal vise. Stvar emocija! Pamet mi govori da je C bolje, ali srce...
pascal.260 .sima,
║║ Voleo bih da u BP-u sa kojim po ceo dan radim imam onako mocnu ║║ spectrumovu VAL naredbu : Pa i meni je nedostajala u početku. ALI... VAL naredba, kao i sve ostale se interpretiraju i ne mogu da budu brže od moje val naredbe u pascalu. Jednom je napisana i više mi ne nedostaje :) Što se tiče raznih MS-ovih kompajlera i da li su bolji ili lošiji, moj stav je: NE koristim ni jedan MS-ov kompajler. U životu sam koristio samo MS Fortran jer mi je trebalo nešto malo za fakultet. Njihov interface je za mazohiste, a ja ne spadam u tu grupu ljudi. I sam stav MS-a da će koristiti Watcom (nadam se da nije dezinformacija) radi poboljšanja performansi govori sam za sebe. Što se tiče samomodifikacije koda, po meni to spada u prljavo programiranje, teško se prenosi i vrlo je sklono greškama koje su skoro nemoguće za otkrivanje.
pascal.261 .sima,
║║ Kao što rekoh, samo su što se tiče stringova poredjeni standardi. ║║ Ostalo je BP 7.0 (1992.) - MS QBX PDS 7.1 (1990.) Što se tiče stringova stvari stoje ovako. U BP 7.0 je uveden null-terminated string tip, kao u C-u. Veličina je ograničena na 65535. Evo i ja kao ljubitelj Pascala ću da vam pomognem. Ono što ne valja nisu strignovi ni val naredba ni.... Meni najviše smeta komplikovanost povezivanja C-a i Asemblera sa Pascalom. Tu su zabrljali. Može da se linkuje pod uslovom da su globalne promenljive definisane u delu programa koji je napisan na Pascalu.
pascal.262 .sima,
║║ Lično mislim da su oba pomenuta jezika slabija od Ca (basic ║║ mi je suviše mrljav, pascal suviše krut), ali makar se trudim da ║║ realno sagledam vrednost svakog. Mogao bi i ti da počneš. Evo ga lep komentar. U potpunosti se slažem. Lično koristim Pascal za sitnice a C za krupnice. A BASIC za hm...( ne mogu da se setim :)
pascal.263 vitez.koja,
Imaš par grešaka u programu (npr. unutrašnja while petlja je beskonačna, ekvivalentna sa "while true do" ali da se ne kačimo za to. Logički izrazi tipa "X in ['a'..'z']" su (mnogo?) sporiji nego pešačko ispitivanje "if X>='a' and X<='z'", ali nema ni to veze. Ono što ima veze je da tvoj pascal program radi sa baferom dužine do 256 bajtova, što je smešno. Ako ne koristiš Turbo Pascalov tip string, nego radiš sa najobičnijim nizom, onda ne možeš da koristiš funkciju Length, pa ti program manje ili više raste, već prema tome kako organizuješ stringove. Inače, i onaj moj primer ima nepotrebnih redova, tako da se prostim brisanjem stiže do while(*text) { if(*text==ESC && *(text+1)=='[') while(!isalpha(*text++)); putch(*text++); } Slažem se da je veoma nečitljivo. Još jedna bitna stvar koju C ima, a konkurencija ne, su xprintf funkcije i njihovo formatiranje izlaza. Recimo, sa "%s\r\n%-8s%s\r\n %s, %s, %d chr\r\n Odgovor na %s, %s\r\n%s\r\n" Je definisan ceo heder konferencijskih poruka na Sezamu. Istina, to može svako da napiše, ali bolje je kada ne mora ;) Na kraju, da me neko ne razume pogrešno, ja sam odrastao na Pascalu i mnogo ga volim... Pravi domaći izdajnik O:)
pascal.264 jablan,
> Imaš par grešaka u programu (npr. unutrašnja while petlja je > beskonačna, ekvivalentna sa "while true do" ali da se ne kačimo > za to. U pravu si, umesto 'and' treba 'or'. > Logički izrazi tipa "X in ['a'..'z']" su (mnogo?) sporiji nego > pešačko ispitivanje "if X>='a' and X<='z'", ali nema ni to > veze. U principu, mislio sam da je ovo rasprava 'jezik protiv jezika', a ne 'implementacija protiv implementacije'. Nisam mnogo obraćao pažnju na brzinu, nego sam hteo da ispadne malo 'virtovski'.:) > Još jedna bitna stvar koju C ima, a konkurencija ne, su xprintf > funkcije i njihovo formatiranje izlaza. Recimo, sa > > "%s\r\n%-8s%s\r\n %s, %s, %d chr\r\n Odgovor na > %s, %s\r\n%s\r\n" > > Je definisan ceo heder konferencijskih poruka na Sezamu. > Istina, to može svako da napiše, ali bolje je kada ne mora ;) I ovo, kao i sve ostalo u svakom programskom jeziku ima svoje dobre i svoje loše strane.
pascal.265 jablan,
>> for i:=1 to Length(Buf) do >> begin >> if (Buf[i]=chr(27)) and (Buf[i+1]='[') then >> begin >> i:=i+2; >> while not ((Buf[i] in ['A'..'Z']) or (Buf[i] in ['a'..'z'])) >> do i:=i+1; >> end; >> Write(Buf[i]); >> end; > - bolje umesto Chr(27) staviti samo #27 > - i:=i+2 = INC(i,2); > - i:=i+1 = INC(i); > - i BP ima funkciju ISAPLHA, > tako ce program vise liciti na C, a i ovo sto pominjem ne > pripada standardnom > pascal-u. A i Buf bi trebao da bude pointer, fleksibilnije je. Hm, kao što sam rekao, trudio sam se da poštujem ISO Pascal (mada nisam u potpunosti uspeo), tako da nisam želeo da koristim ove nestandardne hibridne ekstenzije. Ruku na srce, paskal je bez njih ništa, ali jezik je jezik... Al', ajde da ti odgovorim: čini mi se da bi svaki kompajler isto preveo sve ovo što si nabrojao. ADD AX,2 je čak brže od 2xINC AX. > A i ne slazem se da pascal sluzi za edukativne svrhe, barem ne > Borland Pascal. E, ja mislim na standarni paskal, jer Borland paskal ne liči više na paskal, i smatram da nije dostojan da nosi to ime. Standardan paskal, inače, nije za drugo, sem za edukativne svrhe, jer šta će ti paskal bez raznih 'uses-a' i sličnih poštapalica? Lično mislim da je paskal idealan za učenje programiranja, a da kasnije, kada se dobro ispeče zanat, treba preći na neki moćniji jezik, tj. C ili Modulu-2. > I dalje tvrdim da je > PASCAl bolji > jezik od C-a. Svaki jezik, kao i svaki predsednički kandidat (???!!!:))) ima svoje 'za' i svoje 'protiv'. Ko što kaže ona stara pesma, 'neko voli ono, neko voli ovo...':). I ja, kao i ti, više volim paskal, ali ću i ja verovatno preći na C(++), zato što se u poslednje vreme prave moćniji kompajleri i neke stvari se mnogo brže završe. > Stvar emocija! Pamet mi govori da je C bolje, ali srce... 'Što se boooore miiiisli moooojeeeee...' :)
pascal.266 visnja,
> Ono što ima veze je da tvoj pascal program radi sa baferom > dužine do 256 bajtova, što je smešno. Ako ne koristiš Turbo > Pascalov tip Evo DIREKTNOG prevoda C programa na PASCAL, TEXT je terminisan nulom, dakle ide do 65535 (ili nesto manje) karaktera, cak i vise ako se program prevede u PROTECTED rezimu, upotrebio sam nezgrapne skupove (IN !), jer sam pre par poruka rekao da i PASCAL ima ISALPHA! E pa nije bas tacno, ima ISCHARALPHA funkciju koja je ekvivalent, ali ta funkcija je u WINPROCS unit-u, dakle samo za WINDOWS programe. Nije je problem izvuci odande i implemntirati za dos... ali lenj sam... Evo i programa prepisanog do slovca iz C-a: uses strings; var TEXT:pchar; begin TEXT:=strnew('Neki ansi string ubacen ovde na neki nacin'); {======================EVO GA, DO SLOVCA========================} while (TEXT^<>#0) do begin if (TEXT^=#27) and ((TEXT+1)^='[')then while not ((text^ in['a'..'z']) or (text^ in['A'..'Z'])) do inc(text); write(TEXT^); inc(text); end; {=================================================================} end. > Još jedna bitna stvar koju C ima, a konkurencija ne, su xprintf > funkcije i njihovo formatiranje izlaza. Recimo, sa > > "%s\r\n%-8s%s\r\n %s, %s, %d chr\r\n Odgovor na > %s, %s\r\n%s\r\n" Konkurencija kaze: (izvod iz BorlandPascal HELP-a) ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ FormatStr procedure (DRIVERS unit) ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Declaration: procedure FormatStr(var Result: String; Format: String; var Params); Function: ovo gledaj \/ \/ \/ \/ \/ A generalized string formatting routine that works much like the C language's vsprintf function. Given a string in Format that includes format specifiers and a list of parameters in Params, FormatStr produces a formatted output string in Result. The Format parameter can contain any number of format specifiers directing what format is to be used to display the parameters in Params. Format specifiers are of the form %[-][nnn]X, where % indicates the beginning of a format specifier [-] is an optional minus sign (-) indicating the parameter is to be left-justified (by default, parameters are displayed right-justified) [nnn] is an optional, decimal-number width specifier in the range 0..255 (0 indicates no width specified, and non-zero means to display in a field of nnn characters) X is a format character: 's' means the parameter is a pointer to a string. 'd' means the parameter is a Longint to be displayed in decimal. 'c' means the low byte of the parameter is a character. 'x' means the parameter is a Longint to be displayed in hexadecimal. '#' sets the parameter index to nnn. ... SEM PREOPTERECENJA OPERATORA i visestrukog nasledjivanja ( A da vidim ko koristi visestruko nasledjivanje sem u RTL-u), nema toga sto C++ moze a Pascal ne MOZE! Pozdrav, Visnja - Izv'n'te na DUUUGOJ PORUCI.
pascal.267 maksa,
>> SEM PREOPTERECENJA OPERATORA i visestrukog nasledjivanja ( A >> da vidim ko koristi visestruko nasledjivanje sem u RTL-u), nema >> toga sto C++ moze a Pascal ne MOZE! Oooo, ima: - Šabloni - Izuzeci - RTTI Šta ćeš više. Da stvar bude grđa po Pascal, sve ove stvari (a i one koje ti pominješ) su u definiciji C++ jezika, dok' su objekti u Pascalu (ubr., stoje mu k'o piletu gas-maska ;) Borlandova izmišljotina, i postojaće dok postoji ta firma. Dakle, ulažeš vreme i trud da savladaš nešto (paskal sa objektima) čiji opstanak i unapređivanje zavisi od razvojne politike jedne ugrožene firme, i njenog kotiranja na berzi, spram C++-a koji je priznati standard sa lepom sadašnjosti i istom takvom perspektivom. Zar vas ne zamara da jednim okom čitate uputstvo za Object Oriented Pascal, a drugim pratite stanje Borlandovih akcija na berzi? Phuuu brate, frka ... pogotovo u ova smutna vremena. ;)
pascal.268 pedjak,
> - bolje umesto Chr(27) staviti samo #27 Nema potrebe, jer će rezultat kompajliranja biti isti - chr(27) će biti zamenjeno vrednošću koju vraća ova sistemska funkcija.
pascal.269 mastermind,
> - bolje umesto Chr(27) staviti samo #27 ă─> Nema potrebe, jer će rezultat kompajliranja biti isti - chr(27) će ă─> biti zamenjeno vrednošću koju vraća ova sistemska funkcija. ali #27 je konstanta, a chr(27) je funkcija... potrebno je neko vreme da on pozove funkciju, i da se vrati posle toga (uz razne operacije sa stekom) što znači da će #27 ipak brže da se izvrši... MasterMind
pascal.270 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Drajveri Date: Wed, 8 Nov 1995 17:49:00 GMT --> "Milos Cikota" <icile@sezam.UUCP> IC> Da li neko zna kako izgleda struktura datoteka .SYS u DOS-u? Imas u Racunarima, mislim da je izmedju broja 72 i 76, detaljno objasnjen prikaz "samogradnje" RAM diska.
pascal.271 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Zastita programa Date: Wed, 8 Nov 1995 17:57:00 GMT --> Dragan Levic DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da ako DL> korisnik programa (da li ste mu instalaciju nekog skupog programa pa necete DL> da mu dozvolite da je rasiri dalje) hoce da program presnimi program na DL> disketu/diskete zastita automatski obrise *.exe fajlove tog programa (recim DL> da je ceo program u jednom direktorijumu)? Moguce je. U neki fajl, moze cak i u sam EXE, upisujes podatak o direktorijumu i/ili masini (oznaka BIOS-a) Najlakse ti je da sve relevantne podatke strpas u jedan niz bajtova odgovarajuce duzine, opalis mu CRC-32 i dobijeni rezultat u vidu 4 bajta zalepis na EXE. Niko nece ni obratiti paznju na "smece" na kraju ili unutar fajla. Ako se prilikom startovanja tekuci podatak ne slaze sa sadasnjim stanjem lepo uradis jedno FORMAT C: ili sta vec hoces uz prigodnu poruku. ;) Samo... vrlo je lako razbiti tvoju zastitu posto se programi pisani na visem programskom jeziku sablonski prevode na asembler i iz aviona je moguce za manje od 10 minuta pronaci je -- osim ako ona nema neke snaznije anti-debug tehnike. Pozdrav :)
pascal.272 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Zastita programa Date: Thu, 16 Nov 1995 14:38:00 GMT --> Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) DL> Da hocu da zastitim program koji sam ja sam pisao ne bi bilo nikakvih probl DL> ali posto to nije moj program vec samo program koji ja treba da instaliram DL> disk i sprecim korisnika od daljeg sirenja programa (presnimavanja). DL> A sto se tice drugih mera to nije potrebno ja samo hocu da unistim dati DL> program, a ne celi disk! A u krajnjoj liniji: najbolja zastita programa je davanje podrske korisniku. Nijedan program nije pravljen da traje neko duze vreme. (mozda 'hello world' ;)
pascal.273 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (stampanje) Date: Thu, 16 Nov 1995 20:18:21 PS> Asmir Badnjevic said: PS> Vide li ti ono "bljak" :)))))) Vidje Ga ... PS> Salim se, normalno da znam i bejzik, samo ono sto znam je PS> bejzik sa Spektruma, mada se to uklapa i u ovaj... Na PC-u PS> mi je TPascal prirastao srcu i ne odricem ga se. Bas lep PS> jezik, kulturan, civilizovan, jasan i prezican, a daje ti PS> dovoljno slobode da brljas ako bas hoces. Pa, dobro, znam i ja bejzik ali mi bas i nije dobar. TPascal je Haos od jezika i uvijek cu raditi u njemu. A sto mi se najvise svidja kod njeGa je njeGova stroGost. Znas valjda sta Hocu da ka zem. U clipperu ti nikada nece prijaviti neku loGicku Gresku pri kompajliranju, vec pri izvrsenju proGrama sto moze dovesti do kra Ha proGrama u sred izvrsenja, a to moze biti neka sitna Greska ko ja ce se pojaviti u nezGodnom trenutku. P.S. Hvala ti na unitu za stampanje Grafike, pokusacu Ga skontati, ako uspijem :))). pozdraw, ASKO ... Kisa pada, trava raste, mi je susimo pa je pusimo !!! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.274 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Thu, 16 Nov 1995 20:18:22 PS> Asmir Badnjevic said: AB> UzGred znas li mozda kako da promjenljive bacim u memoriju iznad AB> 640kb ??? PS> Pa upravo uz pomoc nekebiblioteke za XMS/EMS. One ti obicno daju PS> zamene za GetMem i FreeMem, samo stoalociraju memoriju u gornjoj PS> memoriji. Nisam koristio ali toliko sam mogao da zakljucim iz PS> dokumentacije. Kad smo vec kod toGa i to si moGao poslati u mail, ako nije veliko :). Znas li mozda brze prebacivanje nekoG dijela memoriju u neki druGi dio memorije, recimo da sliku iz pomocne mem. prebacim na ekran? Koristio sam MOVE komandu iz paskala ali je spora (dobro, brza je ali ne za moje potrebe) i ne moGu stvoriti efekat skrolovanja ekrana a da ne bude Grub, tj. skrolovanje treba da bude Glatko. Ekran treba da sk roluje sa desna na lijevo. Pa ako imas nesto brze prvi bi dobio moju iGru na probu :))). pozdraw, ASKO ... tata vidi ... TAG * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.275 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: fli Date: Thu, 16 Nov 1995 20:18:25 Hi! Mladene da li si skinuo fajl za citanje FLI zapisa, HITNO mi treba zato sto radim neke anim. u paskalu. pozdraw, ASKO ... Two beer or not two beer...? * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.276 pedjak,
> ali #27 je konstanta, a chr(27) je funkcija... potrebno je neko > vreme da on pozove funkciju, i da se vrati posle toga (uz razne > operacije sa stekom) Ne, nisi mi shvatio... u toku samog prevođenja sam kompajler u kod ugrađuje vrednost sistemske funkcije (ukoliko je parametar konstanta), tako da u toku samog izvršavanja ne dolazi do pozivanja funkcije. Ovo se odnosi na Abs, Chr, Hi, Length, Lo, Odd, Pred, Ptr, Round, Succ, Swap i Trunc.
pascal.277 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Drajveri Date: Wed, 8 Nov 1995 17:49:00 GMT --> "Milos Cikota" <icile@sezam.UUCP> IC> Da li neko zna kako izgleda struktura datoteka .SYS u DOS-u? Imas u Racunarima, mislim da je izmedju broja 72 i 76, detaljno objasnjen prikaz "samogradnje" RAM diska.
pascal.278 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Zastita programa Date: Wed, 8 Nov 1995 17:57:00 GMT --> Dragan Levic DL> Da li je moguce napraviti u Paskalu takvu zastitu nekog programa da ako DL> korisnik programa (da li ste mu instalaciju nekog skupog programa pa necete DL> da mu dozvolite da je rasiri dalje) hoce da program presnimi program na DL> disketu/diskete zastita automatski obrise *.exe fajlove tog programa (recim DL> da je ceo program u jednom direktorijumu)? Moguce je. U neki fajl, moze cak i u sam EXE, upisujes podatak o direktorijumu i/ili masini (oznaka BIOS-a) Najlakse ti je da sve relevantne podatke strpas u jedan niz bajtova odgovarajuce duzine, opalis mu CRC-32 i dobijeni rezultat u vidu 4 bajta zalepis na EXE. Niko nece ni obratiti paznju na "smece" na kraju ili unutar fajla. Ako se prilikom startovanja tekuci podatak ne slaze sa sadasnjim stanjem lepo uradis jedno FORMAT C: ili sta vec hoces uz prigodnu poruku. ;) Samo... vrlo je lako razbiti tvoju zastitu posto se programi pisani na visem programskom jeziku sablonski prevode na asembler i iz aviona je moguce za manje od 10 minuta pronaci je -- osim ako ona nema neke snaznije anti-debug tehnike. Pozdrav :)
pascal.279 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: Zastita programa Date: Thu, 16 Nov 1995 14:38:00 GMT --> Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) DL> Da hocu da zastitim program koji sam ja sam pisao ne bi bilo nikakvih probl DL> ali posto to nije moj program vec samo program koji ja treba da instaliram DL> disk i sprecim korisnika od daljeg sirenja programa (presnimavanja). DL> A sto se tice drugih mera to nije potrebno ja samo hocu da unistim dati DL> program, a ne celi disk! A u krajnjoj liniji: najbolja zastita programa je davanje podrske korisniku. Nijedan program nije pravljen da traje neko duze vreme. (mozda 'hello world' ;)
pascal.280 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (stampanje) Date: Thu, 16 Nov 1995 20:18:21 PS> Asmir Badnjevic said: PS> Vide li ti ono "bljak" :)))))) Vidje Ga ... PS> Salim se, normalno da znam i bejzik, samo ono sto znam je PS> bejzik sa Spektruma, mada se to uklapa i u ovaj... Na PC-u PS> mi je TPascal prirastao srcu i ne odricem ga se. Bas lep PS> jezik, kulturan, civilizovan, jasan i prezican, a daje ti PS> dovoljno slobode da brljas ako bas hoces. Pa, dobro, znam i ja bejzik ali mi bas i nije dobar. TPascal je Haos od jezika i uvijek cu raditi u njemu. A sto mi se najvise svidja kod njeGa je njeGova stroGost. Znas valjda sta Hocu da ka zem. U clipperu ti nikada nece prijaviti neku loGicku Gresku pri kompajliranju, vec pri izvrsenju proGrama sto moze dovesti do kra Ha proGrama u sred izvrsenja, a to moze biti neka sitna Greska ko ja ce se pojaviti u nezGodnom trenutku. P.S. Hvala ti na unitu za stampanje Grafike, pokusacu Ga skontati, ako uspijem :))). pozdraw, ASKO ... Kisa pada, trava raste, mi je susimo pa je pusimo !!! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.281 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Thu, 16 Nov 1995 20:18:22 PS> Asmir Badnjevic said: AB> UzGred znas li mozda kako da promjenljive bacim u memoriju iznad AB> 640kb ??? PS> Pa upravo uz pomoc nekebiblioteke za XMS/EMS. One ti obicno daju PS> zamene za GetMem i FreeMem, samo stoalociraju memoriju u gornjoj PS> memoriji. Nisam koristio ali toliko sam mogao da zakljucim iz PS> dokumentacije. Kad smo vec kod toGa i to si moGao poslati u mail, ako nije veliko :). Znas li mozda brze prebacivanje nekoG dijela memoriju u neki druGi dio memorije, recimo da sliku iz pomocne mem. prebacim na ekran? Koristio sam MOVE komandu iz paskala ali je spora (dobro, brza je ali ne za moje potrebe) i ne moGu stvoriti efekat skrolovanja ekrana a da ne bude Grub, tj. skrolovanje treba da bude Glatko. Ekran treba da sk roluje sa desna na lijevo. Pa ako imas nesto brze prvi bi dobio moju iGru na probu :))). pozdraw, ASKO ... tata vidi ... TAG * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.282 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: fli Date: Thu, 16 Nov 1995 20:18:25 Hi! Mladene da li si skinuo fajl za citanje FLI zapisa, HITNO mi treba zato sto radim neke anim. u paskalu. pozdraw, ASKO ... Two beer or not two beer...? * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.283 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Thu, 23 Nov 95 16:12:00 +0100 ---> Voleo bih da u BP-u sa kojim po ceo dan radim imam onako mocnu ---> spectrumovu VAL naredbu : ---> 10 a$="10+30/2" ---> 20 n=VAL (a$) ---> 30 PRINT n ---> i on mi napise 25 ! E video sam negde lib( TPU ) za tako nesto ... ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.284 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Thu, 23 Nov 95 16:12:00 +0100 >> while(*text) { >> if(*text==ESC) >> if(*(text+1)=='[') { >> while(!isalpha(*text++)); >> continue; >> } >> putch(*text++); >> } >> >> U Pascalu oko ovog trivijalnog problema ima mnogo vise da se >> mozga ---> Ako nisi svestan koliko je ovaj kod gore necitljiv, ondak si stvarno ---> zabrazdio :). Inace, isti kod na Pascalu ima mozda jedan red vise, no posto ---> nisam napisao red na Pascalu vec par godina, ne usudujem se da ti to ---> demonstriram :). Neko malo verziraniji ce to bolje uraditi. Ja ne kontam C ali iz onoga sto nesto malo znam .. Valjda moze da se napise ... ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.285 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Thu, 23 Nov 95 16:12:00 +0100 ---> Mislim da se nismo razumeli mislim iz programa da procitam ime diskete ! ---> To je valjda negde u nultom sektoru ako se ne varam. I koliko lako moze da ---> se promeni ime diskete ? ---> Pozdrav, ---> Vladimir. ---> P.S. ---> Kada neki program (npr. Diskdupe) pravi ekzaktnu kopiju diskete kako ---> tretira bad sector-e. Da li gleda sta je ispod njih ili jednostavno ---> na kopiji disketi ostavi mesto i zove ga bad sector ? ---> P.P.S.S. ---> Pisem zastitu za neki program pa su mi potrebne ove informacije. Evo ti najperverznija zastita ... Uzmesh i na neke sektore koji nisau u upotrebi upishi neke podatke ... U FAT-u je spisak koji je sektor zauzet koji nije ... E sad ... U te SLOBODNE SEKTORE .. upisi neki podatak ... :))) DRUGA STVAR .. Nek trazi neki HARDWARE dodatak za instalazciju i rad ... :))) TRECA STVAR .... UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! NEMA LEBA DA NAPRAVI ISTU KOPIJU ... I napravis program koji prilagodjava testiraneje disketi :))) ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.286 postmast,
From: darko.hujdurovic@panon.ns.ac.yu (Darko Hujdurovic) Subject: Re: EMS XMS Date: Thu, 23 Nov 1995 14:57:00 GMT PS> AB> Sta ti je DMA? Ako sam i cuo onda sam zaboravio (jesam slozio PS> AB> recenicu :)))). PS>Direct Memory Access. Umesto da pises program ili koristis funkcije PS>za premestanje sadrzaja memorije, taj posao prepustic hardveru. PS>Samo mu kazes koji memorijski blok gde zelis da bude prebacen. PS>Posto to radi hardver, trebalo bi da bude mnogo brze od bilo kakvog PS>programa. PS> * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101) Jeste samo ima mnooogo ogranicenja. Recimo podaci moraju da budu poravnjati na paragrafe. Ali ne one od po 16 bajtova nego po 64KB. Daklem, adrese sa kojih i na koje mozes da kopiras preko DMA su 0000:0000, 1000:0000, ... , A000:0000, B000:0000, .... F000:0000 Pa to i bas nije preporucljivo. Najbolji nacin za kopiranje memorijskih blokova je i dalje dobri stari MOVSB, MOVSW a bogami i MOVSD. ┌───────────┬──────────────────────────────────────────────────────────┐ │ PAOR v0.2 │ Sve dobre su vec pobrali. │ │ Reg #001 │ darko.h@panon.ns.ac.yu │ └───────────┴──────────────────────────────────────────────────────────┘
pascal.287 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Knjiga Za Objektni Tp Date: Thu, 23 Nov 1995 13:40:00 ***> Citiram 'Ognen Duzlevski' za 'Marko Milivojevic' <*** OD> Mesas babe i zabe a i pricas gluposti. Ne mesam babe i zabe nego ti je to isto... Ako on ima teorijsku osnovu, tek ce naici na prave probleme.... -=> MM <=- * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.288 postmast,
From: Srdjan.Stanisic%f104.n103.z38@setnet.setnet.co.yu (Srdjan Stanisic) Subject: Re: Zastita programa Date: Wed, 22 Nov 1995 16:52:07 SS> Ja sam radio neke zastite u TP programima. Sta te zanima konkretno? SS> Da se odmah razumemo. Nijedna zastita nije 100% sigurna, al' ove mogu SS> da dobro namuce. A ako ti je klijentela "neobrazovana" po pitanju SS> programiranja... Nema problema. Postavi konkretno pitanje i reci ako SS> zelis source. DL> Molio bi te da mi posaljes source programa koji bi npr. brisao *.exe DL> nekog programa (komercijalni programi, kao npr. TeleMate) u slucaju da DL> onaj, na cijem je kompjuteru program, proba da ga umnozi. Ne mora on DL> samo da brise .exe ali u svakom slucaju da ne dozvoljava presnimavanje DL> programa sa Hard diska na Flopi disk, i da pri prvom pokusaju DL> presnimavanja unisti neki vitalni deo programa kako program ne bi DL> mogao da radi. CURSN Primio sam tvoju poruku, al' sam trenutno u guzvi, pa cu ti poslati ovo za koji dan. I ovu postu sam jedva stigao da napisem. Strider ... Ako kanis pobijediti, ne smijes izgubiti! * Origin: *SETNet: Taurunum BBS +381 11 2354-253, Zemun* (38:103/104)
pascal.289 postmast,
From: rile@setnet.co.yu (Petar Ristic) Subject: Re: EMS XMS Date: Thu, 23 Nov 1995 15:16:02 >> Asmir Badnjevic Nekad rece, a ja ga sad citiram << AB> Pomocu assemblera? U assembleru sam radio vrlo malo a i ono sto AB> znam nije dovoljno :(. AB> AB> Da objasnim ... AB> AB> ucitam mapu sa diska, AB> stavim je u pomocnu memoriju, AB> pomocu komande MOVE prebacujem slike, takoreci, trenutno na AB> ekran, ali ... kod skrolovanja nece da radi tako brzo :(((. AB> AB> AB> Da objasnim malo skrolovanje ... AB> AB> kad ucitam mapu ona ide u pomocnu memoriju u promjenljive tipa AB> array[0..64000] of byte; (koristim 320x200.256 rezoluciju) i sa AB> njima manipuliram kako hocu ... a kada hocu da skrolujem radim to AB> po slijed ecem postupku (citaj program)... E ovako. NAjbolje je iz assemblera, ali cistog, jer nista nije toliko brzo kao 100% assembler. ali ... ako ti je to sporo koristi razne trikove: nemoj da scroll-ujes za 1 vec za 2,3 tacke i OBAVEZNO to radi kad je mlaz u dnu ekrana. Rile:) ----------------------------------------------------------------------- *TECHNO ZONE* Techno is more then music, techno is life style * * * * ----------------------------------------------------------------------- ─¨─ CyBCiG v1.0 ... Ala prdi ovo sto sam smrdnuo. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.290 postmast,
From: Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) Subject: Re: Zastita programa Date: Wed, 22 Nov 1995 09:13:00 -=> Quoting Predrag Supurovic to Dragan Levic <=- PS> Dragan Levic said: PS> Ivan Stamenkovic je u nekim od prvih brojeva Cipa (CHIP), pisao bas PS> o metodi zastite gotovih exe programa. Dao je cak i TP izvorni kod PS> necega slicnom PKLite-u. DL> Da li bi mogao da mi posaljes sta je on to tacno napisao? PS> Nazalost, poslao sam dezinformaciju. Razgovarao sam sa Ivanom i on PS> rece da je to sto jeon radio samo mala nadgradnja za PKLITE, i PS> da je bez PKLITE-a neupotrebljivo. Ne omogucava da se tvoj kod izvrsi PS> na pocetku nekog EXE-a. Sta je to PKLITE? Ajde mi posalji to ipak (osim ako te stvarno ne mrzi da iskucas taj source), a ja cu vec nekako provaliti sta to radi. CU ... File not found. Should I fake it? (Y/N) * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.291 postmast,
From: SETN%f101.n101.z38@setnet.setnet.co.yu (SETN) Subject: Statistics Date: Thu, 23 Nov 1995 19:49:00 Maintaned by CONFERENCE STATISTICS SHELL - (c)1995 by Predrag Supurovic ======================================================================= Conference NET.PASCAL maintained on 26.10.95. for 28 days backward. QRATIO Mail Statistics V1.9 by Act Of Impulse. ---------------------------------------------- Total messages found in this area : 464 Number of messages covered in report: 136 Processed period from: 26-10-1995 to 22-11-1995 ------------------------------------------------------------------------------ Blacklist-Top 5 of the Quoters. Nr Total Quoted Quote Name Address Msg Lines Lines: Ratio: ---- ------- --- ----- ------ ------ 1. Vojislav Mihailovic...... 38:103/133 1 7 5 71.43% 2. Boris Zutic.............. 38:103/125 1 7 5 71.43% 3. Petar Ristic............. 38:111/119 1 15 9 60.00% 4. Sasa Sekulic............. 38:103/110 2 20 12 60.00% 5. OGNEN DUZLEVSKI.......... Invalid Origin 8 70 34 48.57% ------------------------------------------------------------------------------ Top 5 of the writers. Total Average Quote Name Msgs: Pct. Byte/Msg Ratio: ---- ----- ----- -------- ------ 1. Predrag Supurovic 26 19.1% 836 21.48% 2. Asmir Badnjevic 17 12.5% 738 33.20% 3. OGNEN DUZLEVSKI 8 5.9% 436 48.57% 4. Vladimir Svrkota 8 5.9% 441 11.76% 5. Srdjan Dakic 7 5.1% 1358 10.66% ------------------------------------------------------------------------------ Top 5 of the receivers. Total Name Msgs: Pct. ---- ----- ----- 1. All 70 51.5% 2. Predrag Supurovic 15 11.0% 3. Asmir Badnjevic 14 10.3% 4. Dragan Levic 7 5.1% 5. OGNEN DUZLEVSKI 6 4.4% ------------------------------------------------------------------------------ Top 5 of the subjects. Subject Nr. ------- --- 1. pascal...................................................... 45 2. EMS XMS..................................................... 15 3. Zastita programa............................................ 13 4. Knjiga Za Objektni Tp....................................... 9 5. stancanje grafike (stampanje)............................... 7 ------------------------------------------------------------------------------ Average posting frequency per week: Day Msgs Pct. Graph Sunday 21 15.4% ********************************************* Monday 24 17.6% *************************************************** Tuesday 18 13.2% ************************************** Wednesday 16 11.8% ********************************** Thursday 20 14.7% ******************************************* Friday 13 9.6% **************************** Saturday 24 17.6% *************************************************** ------------------------------------------------------------------------------ Average posting frequency per day: Interval Msgs Pct. Graph -------- ---- ----- ----- 0:00- 1:59 14 10.3% ******************************** 2:00- 3:59 2 1.5% **** 4:00- 5:59 0 0.0% 6:00- 7:59 2 1.5% **** 8:00- 9:59 5 3.7% *********** 10:00-11:59 15 11.0% ********************************** 12:00-13:59 23 16.9% **************************************************** 14:00-15:59 16 11.8% ************************************ 16:00-17:59 16 11.8% ************************************ 18:00-19:59 15 11.0% ********************************** 20:00-21:59 17 12.5% *************************************** 22:00-23:59 11 8.1% ************************* ------------------------------------------------------------------------------ * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.292 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: EMS XMS Date: Tue, 21 Nov 1995 10:07:00 AB> Sta ti je DMA? Ako sam i cuo onda sam zaboravio (jesam slozio AB> recenicu :)))). DMA = Direct Memory Access. Ovo je najbrzzi naccin da prenosiss blokove memorije sa jednog mesta na drugi, da pristupass memoriji itd. Ognen * OLX 2.1 TD * When Rolling Stones are high, are they Rolling Stoned ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.293 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: WriteLn Date: Tue, 21 Nov 1995 10:10:00 PS>Meni se desilo. Program poceo da izbacuje Runtime Error 2 i PS>debagovanjem sam utvrdio da puca na jednom mestu kada treba da ispise PS>sadrzaj string promenljive. PS>Cudno mi je to sto je runtime error 2 greska File not found. PS>Otkud mu sad pa to? PS>Koristim Turbo Pascal 7.0. Ako si pre toga negde radio nesto sa nekim fajlom i ako si koristio {$I-}, {I+} i ako si jos zaboravio da testiras IOResult i ako je prva I/O naredba posle toga taj WriteLn, tada ce greska biti prijavljena bas tamo. Ognen * OLX 2.1 TD * What do you do when your sister glows in the dark ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.294 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: errorlevel Date: Mon, 20 Nov 1995 16:24:00 GMT --> Nikola Sivacki NS> Ima li neka dobra dusa da mi kaze kako je moguce reci programu sa kojim err NS> velom da se zavrsi? Halt(x) zavrsava sa errorlevel kodom x
pascal.295 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Mon, 20 Nov 1995 16:32:00 GMT --> "Zeljko Jovanovic" <zeljkoj@sezam.UUCP> Ovo bre ko da citam na UNI-netu raspravu C(++) vs. Pascal... :) ZE> U svim novojim BASIC kompajlerima nizovi mogu biti onoliko veliki koliko ZE> ima memorije, dok su i nizovi i liste kod Pascala ograniceni na 64 kB. ZE> Dalje - pored statickih postoje i dinamicki nizovi cija se velicina moze ZE> menjati u toku izvrsavanja programa. A liste u Basicu si zaboravio... ? ;) ZE> Pascal po standardu ima procedure i funkcije, a BASIC samo GOSUB/RETURN, ZE> medjutim, svaki noviji kompajler ima i SUB i FUNCTION. Po standardu, ZE> BASIC je malo siromasan sto se tice kontrolnih struktura, ali svaki noviji ZE> kompajler ima osim FOR/NEXT, WHILE/WEND, IF...THEN...ELSE i DO/LOOP (WHILE, ZE> UNTIL), IF...THEN...ELSE...ENDIF, SELECT...CASE, itd. Dakle - nema apsolutn ZE> nikakve potrebe za GOTO. :) Kad vec pomenuh ovu naredbu, noviji kompajleri Pa kakve onda razlike postoje?! Uostalom, i ja negde imam GW BASIC koji jako lepo radi kada treba nesto brzo izracunati. Treba koristiti jezik u kome se najefikasnije dolazi do resenja. Pa makar bio to i LISP. ;)
pascal.296 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Pascal vs. C Date: Mon, 20 Nov 1995 16:40:00 GMT =============================== BBS: Panon BBS From: JERRY COFFIN To: JUD MCCRANIE Subj: A TEST Conf: (213) UNINET_Programing ------------------------------- Hello, Since the use and speed of 64 bit integers was being discussed, I decided to do a quick comparison of Turbo Pascal and Visual C++ to compare speeds. To avoid problems I've cited previously WRT loops being eliminated when the results weren't used, I decided to try to create a bit more accurate benchmark. This fills an array with random numbers, sorts the array, then prints out the results. The Pascal version looks like this: program test(input, output); const size = 6000; type big = comp; { or type big = extended; } type a = array[0..size] of big; var i:integer; x:a; procedure sort(var x:a); var i,j, smallest:integer; temp: comp; begin for i:=0 to size do begin smallest := i; for j:=i+1 to size do if x[j] < x[smallest] then smallest := j; temp := x[smallest]; x[smallest] := x[i]; x[i] := temp; end end; begin for i:=0 to size do x[i] := random(maxint); sort(x); for i:= 0 to size do write(x[i]); end. and the C++ version like this: #include <stdio.h> #include <iostream.h> #include <stdlib.h> #include "io64.h" #define size 6000 typedef _int64 comp; // or typedef long double comp; typedef comp a[size]; void sort(a x) { int i, j, smallest; comp temp; for (i=0;i<size;++i) { smallest = i; for (j=i+1;j<size; ++j) if (x[j] < x[smallest] ) smallest = j; temp = x[smallest]; x[smallest] = x[i]; x[i] = temp; } } int main(void) { a x; int i; for (i=0;i<size;++i) x[i] = rand(); sort(x); for (i=0;i<size; ++i) cout << x[i]; return 0; } The sort algorithm is intentionally non-optimal so we don't have to work as hard to use enough time to be able to time the two against each other. I ran the benchmarks under Windows NT on a 486 DX/2 66, with output redirected to NUL, so that screen scrolling speed wouldn't affect the timing. The times (in seconds) are the average of three runs. The results were as follows: Executable Size Time Pascal comp 4,736 28.1 Pascal extended 4,752 30.3 C++ _int64 2,384 9.7 C++ long double 1,968 9.2 I used C++ rather than c because it's generally believed to produce larger, slower programs than C, and I wanted to give Pascal the best chance I could. So, if you look only at Psacal, you're right: comp's are faster than extended. However, this is apparently due to Pascal's comp being about what you'd expect in speed, and its extended far slower than it it should be. By contrast, in C++, the extended precision is done at about the speed we'd expect, roughly 3 times the speed of a comp. C++'s _int64 is implemented as a pair of 32 bit integers and uses normal CPU operations rather than BCD operations in the FPU, thus maintaining reasonable performance as well. Even so, it doesn't quite keep up with a long double. Since a Pentium improves floating point performance far more than integer performance, I'd expect the _int64 version to roughly double in speed on a Pentium of the same clock speed, but the long double version to at least triple. Given the degree to which Turbo Pascal is slowing things down compared to the actual hardware speed, it's considerably harder to predict the effect in this case. Later, Jerry. --- ■ Cam-GOLD v1.00: U'NI-net: The Wizards Lair ■ Colorado Springs, CO --- FMail/386 1.02
pascal.297 postmast,
From: miroslav.kisacanin@panon.ns.ac.yu (Miroslav Kisacanin) Subject: Re: pascal Date: Thu, 16 Nov 1995 19:54:00 GMT A> A> Sve dodatne informacije mozete dobiti na tel. 011/8171-179 Zainteresovan sam za tvoju ponudu. Molim te za cene. Takodje me zanima i zastita pod UNIX-om i Novell-om (ako ima razlike u odnosu na dos). Ponudu ili na MKISACAN@PANON.NS.AC.YU il na fax Link Computers, fax 021 29 565, tel 021 29 585 --- ■ SPEED 2.00 [NR] ■
pascal.298 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Fri, 17 Nov 1995 14:18:31 Asmir Badnjevic said: PS> Pa upravo uz pomoc nekebiblioteke za XMS/EMS. One ti obicno daju PS> zamene za GetMem i FreeMem, samo stoalociraju memoriju u gornjoj AB> Kad smo vec kod toGa i to si moGao poslati u mail, ako nije AB> veliko :). Znas li mozda brze prebacivanje nekoG dijela memoriju u Ne znam, pogledacu koliko je pa ako je dovoljno mlo, eto ga... AB> neki druGi dio memorije, recimo da sliku iz pomocne mem. prebacim AB> na ekran? Koristio sam MOVE komandu iz paskala ali je spora AB> (dobro, brza je ali ne za moje potrebe) i ne moGu stvoriti efekat Mislim da ces morati da koristis DMA, a oko toga vec znam vrlo malo. Bilo jepre nekog vremena reci bas u ovoj konferenciji... Naci ce se vec neko dati pomogne. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.299 postmast,
From: Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) Subject: pascal Date: Tue, 07 Nov 1995 01:07:00 SDĆ From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Newsgroups: SDĆ yu.prog.pascal Organization: Panon BBS, Novi Sad --> Ognen.Spiroski%f132.n108.z38@setnet.setnet.co.yu (Ognen Spiroski) SDĆ ARGH! :) SDĆ Treba instrukcije INT 16h i INT 10h zameniti NOP-ovima u fajlu SDĆ PCL4P.TPU i vise nema ispisa 'unregistered' poruke. Pronadji CD 16 SDĆ i CD 10 i zameni ih sa 90 90. 10X a L0T! cul8r & sorry za gnjavenje ;) 0GZzy * 0Gi'S eDiT0R * Abort Retry Ignore? an optimist picks Retry * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.300 postmast,
From: Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) Subject: Zastita programa Date: Fri, 17 Nov 1995 18:54:24 -=> Quoting Predrag Supurovic to Dragan Levic <=- PS> Ivan Stamenkovic je u nekim od prvih brojeva Cipa (CHIP), pisao bas PS> o metodi zastite gotovih exe programa. Dao je cak i TP izvorni kod PS> necega slicnom PKLite-u. Da li bi mogao da mi posaljes sta je on to tacno napisao? PS> Stvar se nakaci na EXE i ne dozvoljava pokretanje programa ako PS> odredjeni uslovi nisu ispunjeni. Uslove sammozes da odredis PS> posto imas izvorni kod. Nesto slicno mi i treba, a za uslove nije problem. Uvek ce se naci nesto sto ima samo odredjeni kompjuter (serijski broj, ...). PS> Pretpostavljam da je najbolje da pokupis neke sistemske podatke PS> o konfiguraciji na kojoj je program instaliran i da, ako se to promeni PS> sprecis rad programa. Morao bih prvo da vidim kako source izgleda pa tek onda da odlucim koje bih mu uslove zadao. PS> E sad, ne bih ti bas preporucio da brises program, vec samo da ga PS> onesposobis (prepises preko EXE-a neke bezvezne (RND) vrednosti) ili PS> slicno. Brisanje moze nekada da izazove unistenje i drugih podataka, PS> a ne samo tog programa.... Mozes recimo da napravis Trunc PS> (pogledaj tu funkciju u TP help-u) nad EXE-om. Ne mogu da ti kazem nista zasigurno, jer sta ce zastita da radi je na milost i nemilost ostavljena mom mozgu. CU P.S. Molim te ponizno da mi napises u poruci kako je taj tekst izgledao, tj. da mi napises sadrzaj teksta. CURSN ... Ako luka jedu oni sto su lukavi, sta jedu oni koji su mudri ... * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.301 postmast,
From: Dragan.Levic%f119.n111.z38@setnet.setnet.co.yu (Dragan Levic) Subject: Re: Zastita programa Date: Fri, 17 Nov 1995 18:54:25 -=> Quoting Srdjan Stanisic to Dragan Levic <=- SS> Ja sam radio neke zastite u TP programima. Sta te zanima konkretno? SS> Da se odmah razumemo. Nijedna zastita nije 100% sigurna, al' ove mogu SS> da dobro namuce. A ako ti je klijentela "neobrazovana" po pitanju SS> programiranja... Nema problema. Postavi konkretno pitanje i reci ako SS> zelis source. Molio bi te da mi posaljes source programa koji bi npr. brisao *.exe nekog programa (komercijalni programi, kao npr. TeleMate) u slucaju da onaj, na cijem je kompjuteru program, proba da ga umnozi. Ne mora on samo da brise .exe ali u svakom slucaju da ne dozvoljava presnimavanje programa sa Hard diska na Flopi disk, i da pri prvom pokusaju presnimavanja unisti neki vitalni deo programa kako program ne bi mogao da radi. CURSN ... Take my advice, I don't use it anyway. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.302 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Zastita programa Date: Sat, 18 Nov 1995 11:15:52 Dragan Levic to Predrag Supurovic about PS> Ivan Stamenkovic je u nekim od prvih brojeva Cipa (CHIP), pisao bas PS> o metodi zastite gotovih exe programa. Dao je cak i TP izvorni kod PS> necega slicnom PKLite-u. DL> Da li bi mogao da mi posaljes sta je on to tacno napisao? Heh, jedino da prekucavam a za to nemam vremena. Ivan je moderator ove konferencije a mozes ga naci i mailom na Ivan Stamenkovic, 38:103/110, ili direktno na New Age BBS-u, gde je sisop. Mislim da na BBS-u negde ima arhiva sa primerima, a ako nema, verujem da ce ti Ivan dati i tekst clanka i primere. PS> E sad, ne bih ti bas preporucio da brises program, vec samo da ga PS> onesposobis (prepises preko EXE-a neke bezvezne (RND) vrednosti) ili PS> slicno. Brisanje moze nekada da izazove unistenje i drugih podataka, PS> a ne samo tog programa.... Mozes recimo da napravis Trunc PS> (pogledaj tu funkciju u TP help-u) nad EXE-om. DL> Ne mogu da ti kazem nista zasigurno, jer sta ce zastita da radi je na DL> milost i nemilost ostavljena mom mozgu. Zato ja na vreme apelujem na milost. :))) Ne vidim razloga za destruktivnost. Dovoljno je da stvar ne radi ako se prekopira... ... Don't hit me, Mr. Moderator... I'll go back on topic... I swear! ___ Blue Wave/QWK v2.20 [NR] * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.303 postmast,
From: Nikola.Sivacki%f136.n103.z38@setnet.setnet.co.yu (Nikola Sivacki) Subject: errorlevel Date: Sat, 18 Nov 1995 17:17:13 Ima li neka dobra dusa da mi kaze kako je moguce reci programu sa kojim errorlevelom da se zavrsi? --== NCK ==-- /SBHS/VBC/ * ■ NICKRead ■ * STRESS N.: Doing a tight 180-degree U-turn at Warp 9.5. * Origin: <-=SCORPION=-> * Bgd * 011-699-784 * 22-07 * SetNet: (38:103/136)
pascal.304 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Sat, 18 Nov 1995 16:54:21 PS> Asmir Badnjevic said: stvarno ?? :) AB> Kad smo vec kod toGa i to si moGao poslati u mail, ako nije AB> veliko :). Znas li mozda brze prebacivanje nekoG dijela memoriju u PS> Ne znam, pogledacu koliko je pa ako je dovoljno mlo, eto ga... OK :) AB> neki druGi dio memorije, recimo da sliku iz pomocne mem. prebacim AB> na ekran? Koristio sam MOVE komandu iz paskala ali je spora AB> (dobro, brza je ali ne za moje potrebe) i ne moGu stvoriti efekat PS> Mislim da ces morati da koristis DMA, a oko toga vec znam vrlo malo. PS> Bilo jepre nekog vremena reci bas u ovoj konferenciji... Naci ce se PS> vec neko dati pomogne. Sta ti je DMA? Ako sam i cuo onda sam zaboravio (jesam slozio recenicu :)))). pozdraw, ASKO ... Udri pesnicom ovde ->│ŠŠŠŠ│<- i dobices novi monitor! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.305 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: stancanje grafike (st Date: Sat, 18 Nov 1995 16:54:27 -=> Quoting MLADEN ADAMOVIC to All <=- MA> -+=+- Asmir Badnjevic rece : -+=+- AB> Zanima me kako da iz paskala stampam grafiku na stampac (naravno). MA> MA> Nabavis odgovarajuci BGI, recimo : MA> MA> prbgi097 a01 164402 BGI printer driver v0.97 (9/24-pin, laser) #1 MA> prbgi097 a02 163864 BGI printer driver v0.97 (9/24-pin, laser) #2 Nema veze Pedja mi je poslao unit. Ako te zanima javi ... pozdraw, ASKO ... Iskustvo zavisi o unistenoj opremi. * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.306 postmast,
From: miroslav.kisacanin@panon.ns.ac.yu (Miroslav Kisacanin) Subject: Re: O konkursima Date: Sat, 18 Nov 1995 16:07:00 GMT Ponavljam poruku koju sam mozda propustio da stavim gde treba. Daje se na znanje: Za potrebe jednog SW paketa - podsklopa buduceg uredjaja na cijem razvoju se radi, potrebno je razresiti par "problemcica". Ovo je preliminarni poziv na razmisljanje, u pripremi je i "pravilnik" o nagradjivanju (o tome nakon prvih komentara i zainteresovanosti strucnog auditorijuma). Zelja je da se postojeca procedura za prepoznavanje karaktera modernizuje: Na formularu se na tacno odredjenom mestu nalazi visecifreni broj. Cifre su iz alfabeta 0 - 9 i tacno su odredjenog oblika i velicine. Izgled cifara je proizvoljan (ako pomaze razresenju problema oblik se moze menjati). Fiksna je velicina i cinjenica da te iste cifre mora da moze da procita i covek (pismen). Ovo poslednje ne dozvoljava koriscenje bar koda. Podskup ovog resenja moze biti i citanje bar koda SKENIRANOG dokumenta (ne bar code reader). BTW bar kod nije praktican jer se gore pomenuti broj kreira u jednoj pred fazi i to na matricnom stampacu. U buducoj realizaciji ovo bi bila samo funkcija, ali za potrebe testiranja performansi neka bude stand alone program. Jezik nije bitana (Pascal, C, Basic, Visual ..., Srpski, ...). Performanse = verovatnoca greske/vreme za izvrsavanje. Ulazni podatak u pogram je ime fajla u kojem je bit mapa i orijentacione koordinate polja sa brojem (gornji levi cosak matrice, polja su na nivou bita - crno/belo, OKO 10 tackica po vertikali i isto toliko po horizontali za svaku cifru). Napomena: polozaj polja sa brojevima moze varirati od unete vrednosti za "izvesnu" vrednost (recimo 1.5 visine cifre =/-). Okolina polja sa brojevima je bela i to sa sirinom od barem jedne visine cifre. Programi u bilo kom programskom jeziku (izvrsavace se na DOS 6.x masinama, 486/66, 4 M) kao rezultat treba da da ocitani broj u bilo kom formatu (npr. ASCII). Nacelno su prihvatljiva i resenja "Recognita to moze iz komandne linije ovako". Bitno je da se moze pozivati iz drugog programa. PS. Preferiram originalni razvoj. Pozdrav Kisa --- ■ SPEED 2.00 [NR] ■
pascal.307 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Tue, 21 Nov 95 00:04:00 +0100 ---> Na primer - string tip ne postoji u standardnom Pascalu, nego samo char. :) ---> Cak i Turbo Pascal ogranicava duzinu stringa na 255 znakova, dok BASIC ---> ima 32767 (cak i na Spectrumu ;). Dalje, mora se na pocetku programa ---> deklarisati max. duzina, dok BASIC ima dinamicke stringove cija max. duzina ---> ne mora biti poznata pre izvrsavanja programa. Nelupaj ... U TP mozes da definisheh i STRING duzinine 60Kb :)) A to vezano za BASIC . je smesno ... Em sto uzima mnogo MEMORIJE ... VELIKO JE ... I SPOOOOOOOOOOOOOOOROOOOOOOOOOOOOO !!!!!!!!! ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.308 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: ERRORLEVEL Date: Tue, 21 Nov 95 00:04:00 +0100 ---> Ima li neka dobra dusa da mi kaze kako je moguce reci programu sa kojim errorle ---> velom da se zavrsi? ---> --== NCK ==-- /SBHS/VBC/ ima HALT(X) .. zaustavlja sa X error-om ... Ima isto nesto i sa EXIT ... ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.309 postmast,
From: SKOA@vila.bc.co.yu Subject: pascal Date: Sun, 19 Nov 95 12:26:32 GMT -=> Quoting "Vladimir Maric" <vitez.koja@sezam. to All <=- #=> "V<> Treba mi nesto da iz DOS programa predem u #=> Windowse. Tj. program "V<> treba da simulira pritisak na #=> Alt+Tab. Pokusaj sa rutinicom koja simulira pritisak #=> tastera. Ako je nemas poslacu ti je. "M<> Zanimljiva ideja, ali mislim da nece da radi. Da li je neko pokusao? Ne znam da li Hoce da radi ali evo rutine : uses Dos; var ReGs : ReGisters; procedure WriteToKeyBuff(ScanCode, ASCIICode : InteGer); beGin ReGs.AH := 05; ReGs.CH := ScanCode; ReGs.CL := ASCIICode; Intr($10, ReGs); end; beGin WriteToKeyBuff($2E, 65); ReadLn; end. Ovo je moja rutina za slanje karaktera i ima isti efekat kao kod pritiska na taster `A'. Ako ne bude radila kod tebe u proceduri umjesto `ReGs.CH := ScanCode' stavi `ReGs.CH := ASCIICode', a kad zoves proceduru umjesto `WriteToKeyBuff($2E, 65)' stavi `WriteToKeyBuff(65, 65)'. Kad se proGram izvrsi na ekranu ce ti biti slovo `A'. Samo trebas saznati ASCII code tastera Alt+Tab. ... Bilo kuda kiki svuda --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.310 postmast,
From: SKOA@vila.bc.co.yu Subject: errorlevel Date: Wed, 22 Nov 95 11:29:45 GMT -=> Quoting Nikola.Sivacki%f136.n103.z38@setnet to All <=- Ni> Ima li neka dobra dusa da mi kaze kako je moguce reci programu sa Ni> kojim errorlevelom da se zavrsi? Pokusaj pri izlasku iz programa da stavis DOSERROR := n; {n = broj errollevela} Ako radi, nisam siguran :). ... Don't drink&drive, take a joint and fly. --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.311 postmast,
From: SKOA@vila.bc.co.yu Subject: pascal Date: Wed, 22 Nov 95 11:29:46 GMT -=> Quoting "Zeljko Jovanovic" <zeljkoj@sezam.U to All <=- "J<> Kakve su ovo gluposti u vezi BASIC-a? "J<> Da li ste vas dvojica uopste nekada videli neki dobar BASIC kompajler "J<> tipa Microsoft Proffessional BASIC-a 7.1 (koji je te, 1990. godine "J<> zauzimao preko 15 MB (sto ipak govori nesto o kompleksnosti i "J<> mogucnostima), a mogao je (i jos moze ;) da pravi DOS i OS/2 "J<> programe... Turbo Pascal je bio vrrrlo skromnih mogucnosti u odnosu na "J<> njega. Da ne pominjem Visual BASIC u izdanjima za DOS i Windows... "J<> Na kraju, BASIC kao jezik (ne uzimajuci u obzir konkretnu "J<> implementaciju), je daleko bolji od Pascala. Mislis ??!?!?!? Koliko zauzima Mb nije vazno, nego je vazno koji je program userfriendly, shvatas? U paskalu se moze uraditi mnogo, mnogo, mnogo ... * beskonacnost vise od bejzika. I nije u pitanju koliko zauzima ... TP6.0 zauzima oko 2 Mb na disku i sam njim se moze uraditi puno vise nego sa tvojih 15Mb bejzika. Visual Basic ........ pogledaj DELPHI !!!! ... There is no borders for frendship --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.312 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Mon, 20 Nov 1995 09:07:11 Asmir Badnjevic said: PS> Pa upravo uz pomoc nekebiblioteke za XMS/EMS. One ti obicno daju PS> zamene za GetMem i FreeMem, samo stoalociraju memoriju u gornjoj AB> Kad smo vec kod toGa i to si moGao poslati u mail, ako nije AB> veliko :). Znas li mozda brze prebacivanje nekoG dijela memoriju u Ne znam, pogledacu koliko je pa ako je dovoljno mlo, eto ga... AB> neki druGi dio memorije, recimo da sliku iz pomocne mem. prebacim AB> na ekran? Koristio sam MOVE komandu iz paskala ali je spora AB> (dobro, brza je ali ne za moje potrebe) i ne moGu stvoriti efekat Mislim da ces morati da koristis DMA, a oko toga vec znam vrlo malo. Bilo jepre nekog vremena reci bas u ovoj konferenciji... Naci ce se vec neko dati pomogne. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.313 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Strimovi Date: Sat, 18 Nov 1995 10:28:00 VS>uses Objects, Drivers; VS>var s:PDosStream; VS> ime:PString; VS>begin VS> ime^:='Vladimir'; ime := NewStr('Vladimir'); VS> s:=new(PDosStream, Init('text',stCreate)); VS> s^.WriteStr(ime); VS> s^.Done VS>end. ime mozes da unistis sa DisposeStr, a da ga procitas iz stream-a sa ReadStr. Ognen * OLX 2.1 TD * When Rolling Stones are high, are they Rolling Stoned ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.314 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Turbovizija Date: Sat, 18 Nov 1995 10:43:00 VS>Naisao sam na jedan problem koristeci turboviziju. Naime, trebalo bi mi VS>da mi se u jednom prozoru ispise sadrzaj jedne tekstualne datoteke. Pri VS>tom ne mislim da to bude editor, tj. sadrzaj te datoteke ne sme da se VS>menja, vec samo da se vidi. U turboviziji postoji objekat TWindow, ali VS>ne znam kako da u njega upisem sadrzaj datoteke. Unapred hvala. Napravi naslednika TWindow koji ce kao polje imati TTerminal. Za TTetminal mozes da zakacis datoteku sa AssignDevice. Experiment a bit. Ognen * OLX 2.1 TD * What do you do when your sister glows in the dark ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.315 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Knjiga Za Objektni Tp Date: Sat, 18 Nov 1995 10:31:00 MM> Ja sam genije. Shvatio sam pravo resenje za konflikt u MM> Bosni!!! Svi mi treba da se pomirimo i zivimo lepo kao MM> ranije. Treba mi neka knjiga iz politike da vidim prakticnu MM> primenu i najbolje resenje za moj zakljucak. Mesas babe i zabe a i pricas gluposti. Ognen * OLX 2.1 TD * ROBOCOMM - a ROBOCOP for modems. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.316 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Strimovi Date: Mon, 20 Nov 1995 14:52:40 OGNEN DUZLEVSKI to VLADIMIR SVRKOTA about OD> ime mozes da unistis sa DisposeStr, a da ga procitas iz stream-a sa OD> ReadStr. Moze li nesto malo vise o ovim strimovima? U dokumentaciji od BP ne nadjoh im ni pomena. Da li je to ugradjeno u sam Paskal ili je neka dodatna biblioteka? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.317 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: swap Date: Mon, 20 Nov 1995 21:15:05 Ima li neko kakav fin unit za swap u DOS shell? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.318 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: Zastita programa Date: Tue, 21 Nov 1995 13:12:16 Dragan Levic said: PS> Ivan Stamenkovic je u nekim od prvih brojeva Cipa (CHIP), pisao bas PS> o metodi zastite gotovih exe programa. Dao je cak i TP izvorni kod PS> necega slicnom PKLite-u. DL> Da li bi mogao da mi posaljes sta je on to tacno napisao? Nazalost, poslao sam dezinformaciju. Razgovarao sam sa Ivanom i on rece da je to sto jeon radio samo mala nadgradnja za PKLITE, i da je bez PKLITE-a neupotrebljivo. Ne omogucava da se tvoj kod izvrsi na pocetku nekog EXE-a. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.319 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: EMS XMS Date: Tue, 21 Nov 1995 13:12:17 Asmir Badnjevic said: PS> Mislim da ces morati da koristis DMA, a oko toga vec znam vrlo malo. PS> Bilo jepre nekog vremena reci bas u ovoj konferenciji... Naci ce se PS> vec neko dati pomogne. AB> Sta ti je DMA? Ako sam i cuo onda sam zaboravio (jesam slozio AB> recenicu :)))). Direct Memory Access. Umesto da pises program ili koristis funkcije za premestanje sadrzaja memorije, taj posao prepustic hardveru. Samo mu kazes koji memorijski blok gde zelis da bude prebacen. Posto to radi hardver, trebalo bi da bude mnogo brze od bilo kakvog programa. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.320 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 21 Nov 1995 13:12:25 "Vladimir Maric" said: "M> razmisljanja (zato sam i poceo recenicu sa "licno"). Uzmimo u "M> razmatranje neki prost primer, npr. skidanje ANSI sekvenci iz "M> teksta koji se nalazi u baferu: "M> while(*text) { "M> if(*text==ESC) "M> if(*(text+1)=='[') { "M> while(!isalpha(*text++)); "M> continue; "M> } "M> putch(*text++); "M> } "M> U Pascalu oko ovog trivijalnog problema ima mnogo vise da se "M> mozga, i to ne zbog prirode problema nego zbog prirode jezika. "M> Demantujte me, napisite krace/logicnije od ovoga u Pascalu. (i u "M> Cu najverovatnije moze krace, ovo sam napisao iz glave). Sve je potpuno isto kao i ovo sto si ti napisao samo sto je druga sintaksa, ako se koristi ASCIZ tip. Ako se koristi string tip onda je stvar za nijansu drugacija, ali ne mnogo. * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.321 postmast,
From: broker@setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 21 Nov 1995 13:12:25 "Zeljko Jovanovic" said: "J> Na kraju, BASIC kao jezik (ne uzimajuci u obzir konkretnu "J> implementaciju), je daleko bolji od Pascala. Vidim da se neko bacio u polemiku s tobom, na osnovu ove i slicnih izjava. Ja cu te shvatiti da si samo bacio kosku da nas napalis. Ako ti je to bio cilj, uspelo ti je :))))) Sve sto si naveo kao prednosti bejzika su samo naizgled prednosti. BEJZIK je odlican za one koji ne znaju mnogo o programiranju jer pola posla zavrsi sam po principu, vazno je da radi a kako radi, to i nije tako bitno. Nigde nisi pomenuo optimizovanje koda, efikasnost tipova s kojima je bejzik u "prednosti" nad visim programskim jezicima, efikasnost fukcija koje operisu sa takvim tipovima, itd... Ili da pricamo o tome da su ogranicenja visih programskih jezika u stvari ogranicenja masine na kojoj su realizovani, a ne programskog jezika. Sve te "prednosti" su u stvari prevazilazenja ogranicenja masine i nije ih tesko implementirati u visim programskim jezicima, samo sto je to uvek naustrb funkcionalnosti (citaj brzine), ili, cesce, program se jednostavno pise za protected mod. Bejzik je jezik za decu. On samo spolja dostize vise programske jezike, ali je u samoj osnovi takav da ne moze da se meri sa njima. Razlika izmedju bejzika i visih programskih jezika (moracemo da uvedemo neku skracenicu za ovo :> ) je u tome sto se u bejziku nesto napise brzo i lako, a u ovim drugim jezicima je na prvom mestu da program radi brzo i lako. Eto, a kad sam pisao ono "bejzik, bljak", pomislio sam da ce se mozda naci neko da prigovori... :))))) * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.322 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 21 Nov 1995 17:28:41 >> Petar Ristic nekad rece, a ja ga sad citiram << PR> Uzmi lepo assembler i uradi scroll. E da, umalo da zaboravim, PR> obavezno cekaj da mlaz dodje dole, kad scroll-ujes. :) Pomocu assemblera? U assembleru sam radio vrlo malo a i ono sto znam nije dovoljno :(. Da objasnim ... ucitam mapu sa diska, stavim je u pomocnu memoriju, pomocu komande MOVE prebacujem slike, takoreci, trenutno na ekran, ali ... kod skrolovanja nece da radi tako brzo :(((. Da objasnim malo skrolovanje ... kad ucitam mapu ona ide u pomocnu memoriju u promjenljive tipa array[0..64000] of byte; (koristim 320x200.256 rezoluciju) i sa njima manipuliram kako hocu ... a kada hocu da skrolujem radim to po slijed ecem postupku (citaj program)... uses Dos; type Maper = Array[1..200, 1..320] of byte; var P1, P2 : Pointer; Screen : Maper ABSOLUTE $A000:$0000; TmpScr : Maper ABSOLUTE $A000:$0001; {jedan bajt desno} Map1, Map2 : ^Maper; {nisam siguran da li ide "^"} r, i, j : Integer; Regs : Registers; procedure LoadFileMap(FileName : String; WhatPart : Maper); var F : File; begin Assign(F, FileName); ReSet(F); BlockRead(F, WhatPart, 500); Close(F); end; begin Regs.AH := 00; Regs.AL := 19; Intr($10, Regs); {inicijalizuje grafiku 320x200.256} New(P1); New(P2); GetMem(P1, 64000); GetMem(P2, 64000); Map1 := @P1^; Map2 := @P2^; {stavlja Map1 na slobodnu mem.} LoadFileMap('PICTURE.1', Map1^); LoadFileMap('PICTURE.2', Map2^); Move(Map1, Screen, SizeOf(Map1)); {stavlja prvu sliku na ekran} For i := 1 to 100 do begin For j := 1 to 200 do begin Move(TmpScr, Screen, SizeOf(TmpScr)); Screen[j, 320] := Map2^[j, 320]; end; end; end. Eto, to je taj program. Nisam siguran da li ce da radi posto sam ga onako pisao (na herkules karti) ali ja to radim tako, ako si shvatio :))). Sliku snimi sa BlockWrite(F, $A000:$0000, 500); (ili tako nekako) i onda probaj program. Ako ne bude radio ,ailuj pa cemo vidjeti, a, ako ti imas rijesenje u masincu opet mailuj pa cemo vidjeti. P.S. Unaprijed hvala. pozdraw, ASKO ... Ko prvi djevojc sam u nju upada ! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.323 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 21 Nov 1995 17:28:42 PS> Asmir Badnjevic said: Pedja said :)) PS> Ne znam, pogledacu koliko je pa ako je dovoljno mlo, eto ga... Pogledaj :). PS> Mislim da ces morati da koristis DMA, a oko toga vec znam vrlo malo. PS> Bilo jepre nekog vremena reci bas u ovoj konferenciji... Naci ce se PS> vec neko dati pomogne. DMA, sta je to. Valjda ce se naci, bar se nadam :). P.S. Ovo sam ti vec pisao ali izgleda da je poruka negdje isparila. pozdraw, ASKO ... tata vidi .... TAG * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.324 postmast,
From: vojam@setnet.co.yu (Vojislav Mihailovic) Subject: Knjiga Za Objektni Tp Date: Wed, 22 Nov 1995 22:45:06 * U poruci za MARKO MILIVOJEVIC, OGNEN DUZLEVSKI kaze: OD> MM> Ja sam genije. Shvatio sam pravo resenje za konflikt u OD> MM> Bosni!!! Svi mi treba da se pomirimo i zivimo lepo kao OD> MM> ranije. Treba mi neka knjiga iz politike da vidim prakticnu OD> MM> primenu i najbolje resenje za moj zakljucak. OD> Mesas babe i zabe a i pricas gluposti. A i ovo je NET.PASCAL * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.325 postmast,
From: Vladimir.Svrkota%f119.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: Strimovi Date: Wed, 22 Nov 1995 15:44:00 OD> ime mozes da unistis sa DisposeStr, a da ga procitas iz stream-a sa OD> ReadStr. Kako vidim, strimovi ti nisu strani :). Interesuje me da li je moguce (mislim da jeste moguce, samo je pitanje kako) snimiti _objekte_ u strim na disku, a posle te iste ucitati sa diska? ... éí 'aaníígóó 'áhoot'é * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.326 postmast,
From: Vladimir.Svrkota%f119.n111.z38@setnet.setnet.co.yu (Vladimir Svrkota) Subject: Turbovizija Date: Wed, 22 Nov 1995 01:11:00 VS>menja, vec samo da se vidi. U turboviziji postoji objekat TWindow, ali VS>ne znam kako da u njega upisem sadrzaj datoteke. Unapred hvala. OD> Napravi naslednika TWindow koji ce kao polje imati TTerminal. Za OD> TTetminal mozes da zakacis datoteku sa AssignDevice. Experiment a bit. Pa upravo tim putem sam krenuo i - zaglavio se. Ja jesam nasledio TWindow i u njega ubacio TTerminal, ali problem mi je prenos sadrzaja datoteke u terminal (uzgred, duzina datoteke u terminalu moze biti max. 64k, koliko iznosi maksimalni bafer terminala). Dalje, sa AssignDevice sam preusmerio standardni izlaz (output) na terminal, pa sam sa klasicnim readln citao liniju iz datoteke i sa writeln je upisivao u terminal. To je, medjutim, uzasno sporo. Postoji i drugi nacin, a to je pomocu metode StrWrite iz klase TTerminal. Sintaksa ide ovako: procedure StrWrite(var S: TextBuf; Count: Byte); virtual; Ovo bi trebalo da iz bafera S prebaci Count linija teksta u bafer ter- minala, tj. u sam prozor terminala. E, meni je glavni problem onaj bafer S. Sta god da na njegovo mesto stavim (pointer, string,...) kompajler me obraduje jednim Type Mismatch. Sta da radim ? ... éí 'aaníígóó 'áhoot'é * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.327 zeljkoj,
> A liste u Basicu si zaboravio... ? ;) A šta će mi liste kad imam lepe dinamičke nizove? :))
pascal.328 zeljkoj,
> Nelupaj ... > U TP mozes da definisheh i STRING duzinine 60Kb :)) Da, ali samo u BP 7.0. :) I to je null-terminated string što znači da u stringu ne sme da postoji chr(0) karakter. > A to vezano za BASIC . je smesno ... > Em sto uzima mnogo MEMORIJE ... > VELIKO JE ... > I SPOOOOOOOOOOOOOOOROOOOOOOOOOOOOO !!!!!!!!! Šta je smešno? Šta zauzima mnogo memorije? Šta je sporo? > ┌─────────────────────────────────────────────────────────────── > │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS > /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 > - 22-06 < \ ║ > ď═══════════════════════════════════════════════════════════════ > > ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ > * ■ >:[­] NemesiS ■ Sa ovim bi više mogao da prestaneš.
pascal.329 zeljkoj,
> Mislis ??!?!?!? Koliko zauzima Mb nije vazno, nego je vazno > koji je program userfriendly, shvatas? U paskalu se moze > uraditi mnogo, mnogo, mnogo ... * beskonacnost vise od > bejzika. I nije u pitanju koliko zauzima ... TP6.0 zauzima oko > 2 Mb na disku i sam njim se moze uraditi puno vise nego sa > tvojih 15Mb bejzika. Naravno da nije bitno koliko zauzima MB. Samo kažem, da je jedina uporediva verzija TP-a sa BASIC-om, BP 7.0 koji zauzima 30 MB. Već TP 6.0 nema ni delić od PDS-ovih mogućnosti.
pascal.330 zeljkoj,
> Ja cu te shvatiti da si samo bacio kosku da nas napalis. > Ako ti je to bio cilj, uspelo ti je :))))) Ne, nije mi to bio cilj. Pogrešno si shvatio. > je bejzik u "prednosti" nad visim programskim jezicima, BASIC je viši programski jezik. :) > Bejzik je jezik za decu. On samo spolja dostize vise programske > jezike, ali je u samoj osnovi takav da ne moze da se meri sa > njima. Kakvi visokoumni zaključci. :)) BTW, (drugi put): BASIC je viši programski jezik. > Razlika izmedju bejzika i visih programskih jezika (moracemo da > uvedemo neku skracenicu za ovo :> ) je u tome sto se u bejziku Treći put: BASIC je viši programski jezik.
pascal.331 dpredovic,
> - Šabloni > - Izuzeci > - RTTI Exceptions i RTTI postoje i u pascalu. Doduše ne zove se BP8 nego Delphi, ali to ne bi trebalo da ima veze. Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju zajednički koren, pa se sve svodi na običan type-cast. > Da stvar bude grđa po Pascal, sve ove stvari (a i one koje ti > pominješ) su u definiciji C++ jezika, dok' su objekti u Pascalu > (ubr., stoje mu k'o piletu gas-maska ;) Borlandova izmišljotina, A objekti u C-u izmišljotina nekog šveđanina. Svašta. >;) A kada smo već kod definicije jezika, koliko je C++ trebalo godina da dobije sve te lepe stvari sa početka poruke? Dok se usaglase svi ti ANSI/ISO/DIN/JUS komiteji Borland 16 puta promeni jezik iz korena. :) A da C++ dobije ono što ima Delphi, prvo ćete morati da ubijete Stroustrupa i pola AT&T-a. :) Vidi šta se desilo strogo standardizovanim jezicima (fortran, cobol...), a gde je dogurao basic. > Zar vas ne zamara da jednim okom čitate uputstvo za Object Oriented > Pascal, a drugim pratite stanje Borlandovih akcija na berzi? > Phuuu brate, frka ... pogotovo u ova smutna vremena. ;) Nemoj misliti da sam neki veliki zaljubljenik u pascal, a još manje u Borland. C/C++ imaju mnogo časova radnog staža u mom editoru. C mi je još uvek referenta tačka. Kada učim nov jezik, sve sintaksne strukture prvo u glavi prevodim u C. Uz C++ sam naučio šta je OOP. Sa druge strane TP, ne znam koja verzija, je jedan od prvih programa na mom prvom PC-u. Također, jedan je od prvih programa na kojima sam upotrebio XRD. Delphi je opet treća priča. Nestandardan jezik koji ima sve što i C++, a i nešto više - slobodu dizajna koja je potrebna kompajliranom jeziku da postane nalik interpreteru - Visual Basicu. Od računara i programiranja leba jedem (a život je kod nas straašno skup), i potrebno mi je nešto što će mi omogućiti da budem što je moguće produktivniji. Pod DOS-om to nije bio niti TP niti BC niti MSC nego Clipper, prilično nestabilan kompajler totalno nestandardnog dijalekta vrlo nesrećno dizajniranog jezika. Al' što sam se sa njim namlatio para ne mogu da ti se nahvalim. ;) I niti jednog trenutka se nisam zamislio nad tržišnom sudbinom tamo nekog Nuntacketa koji ga je napravio. Oni su pukli, Clipper je otkupio CA, i nikom ništa. A i da ga nije otkupio, pa šta onda? Nemaju valjda kompajleri link sa Wall Streetom, pa da stupaju u štrajk kada kompanija pukne? Radio bi on sasvim lepo možda pola godine-godinu dok se ja ne bi prešaltovao na nešto drugo, a i još mnogo duže, dok god treba da održavam matore programe. BTW, misliš da će standardizacija C++ da pomogne silnim OWL programerima kada Borland pukne?
pascal.332 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Wed, 22 Nov 1995 16:29:49 PS> Direct Memory Access. Umesto da pises program ili koristis funkcije PS> za premestanje sadrzaja memorije, taj posao prepustic hardveru. PS> Samo mu kazes koji memorijski blok gde zelis da bude prebacen. PS> Posto to radi hardver, trebalo bi da bude mnogo brze od bilo kakvog PS> programa. To sve tako divno zvuci :))). Kako to da uradim ??? Je li pomocu asemblera ? pozdraw, ASKO ... Sta vredi robijasima sto imaju brojeve kad ne ucestvuju u izvlacenju!! * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.333 visnja,
> - Šabloni > - Izuzeci > - RTTI Ne znam sta su sabloni i RTTI ali PASCAL IMA IZUZETKE, Pogledaj verziju BP 8.0 poznatiju i kao DELPHI! > Da stvar bude grđa po Pascal, sve ove stvari (a i one koje ti > pominješ) su u definiciji C++ jezika, dok' su objekti u Pascalu > (ubr., stoje mu k'o piletu gas-maska ;) Borlandova > izmišljotina, i postojaće dok postoji ta firma. Dakle, ulažeš > vreme i trud da savladaš nešto (paskal sa objektima) čiji > opstanak i unapređivanje zavisi od razvojne politike jedne > ugrožene firme, i njenog kotiranja na berzi, spram C++-a koji > je priznati standard sa lepom sadašnjosti i istom takvom > perspektivom. > Zar vas ne zamara da jednim okom čitate uputstvo za Object > Oriented Pascal, a drugim pratite stanje Borlandovih akcija na > berzi? Definiciju koju definisu Ameri za svoje proizvode. Nisu ludi da definisu PASCAL koji nije Americkog porekla! (apsolutno odobravam) Zato je Pascal i promenio ime u DELPHI, sada je Americki! Sto je naravno odlicno. Gledajuci DELPHI nisam siguran da ce da crkne. Moze samo vlasnika da promeni. Na kraju krajeva, rekao sam da je C sjajan, i stvarno je u mnogim primenama ELEGANTNIJI od Pascala. I ko je programer? Onaj koji zna C ili PASCAL sigurno nije. Znas slova - nisi pismen, moras da znas i da pises! I zasto Pascalu ne stoje objekti? Pa C (C++) i Pascal SU ISTI JEZICI. Razlika je u sintaksi, implementacija raznih algoritma je identicna, DO..WHILE, FOR, blokovi (sada jesu li {...} ili BEGIN...END)... Pozdrav, Visnja.
pascal.334 visnja,
> ali #27 je konstanta, a chr(27) je funkcija... potrebno je neko > vreme da on pozove funkciju, i da se vrati posle toga (uz razne > operacije sa stekom) Ljudi, nisam gledao na optimizaciju nego cisto na estetiku samog source-ta u smislu da lici na C, da bih dokazao da su C i Pascal isti jezici i da ako se nesto napise u jednom ovako, u drugom moze isto tako... Implementacija konkretnog algoritma na C-u i Pascalu je slicna, dok npr. u FORTH-u ne lici ni na jedan od ova dva jezika... Pozdrav, Visnja.
pascal.335 iznogud,
:: Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju zajednički :: koren, pa se sve svodi na običan type-cast. A šta ako tvoj objekat treba da bude, recimo, generički kontejner za sve ostale vrste objekata, pa i onih koji nisu izvorno Delfijevi? Hoće li i onda da pali type-cast? Jesi li ti nekad koristio šablone? Po ovoj logici, ni C++-u nisu trebali šabloni, pošto sve može da se radi sa pointerima, pa onda i kod njega pali 'običan type cast'. :: BTW, misliš da će standardizacija C++ da pomogne silnim OWL programerima :: kada Borland pukne? A kakve veze ima standardizacija jezika za programiranjem pod Windows-ima? Ako nekom tu treba standard, onda neka uzme MFC - bar tri kompajlera (BTW, sva tri prave bolji kod od Borlandovog) podržava MFC. (BTW, da li se nekad budiš oznojen, jer si sanjao ovaj san: 2020-ta je godina, svi radimo na PowerPC-u na 10 GugolHz, a ti pokušavaš da prodaš program koji radi pod emulacijom Intela i emulacijom Win31. Zašto? Pa Borland je puk'o 1997...) Standardizacija će da pomogne kod prenošenja programa sa platforme na platformu, i sa kompajlera na kompajler - džaba meni što (recimo) MSVC 1.5 pravi bolji kod od Borland C++ 4.0, kada to čudo nema izuzetke. Ili, zamisli situaciju prenošenja neke biblioteke zasnovane na RTTI-u na unix, gde gcc ne podržava nove ekstenzije C++-a... Ja znam da ovi argumenti ne vrede baš u temi koja se (uglavnom) bavi nestandardnim i neprenosivim jezikom, ali znaš kako kaže stara kineska poslovica: 'ne bacaj kamen na tuđu kuću ako je tvoja od stakla' ;)
pascal.336 .sima,
║║ Moze li nesto malo vise o ovim strimovima? ║║ U dokumentaciji od BP ne nadjoh im ni pomena. ║║ Da li je to ugradjeno u sam Paskal ili je neka dodatna biblioteka? Iz BP 7.0: ┌───────┐ │TObject│ └───┬───┘ ┌───┴───┐ │TStream│ └───┬───┘ ┌────────┼────────┐ ┌────┴──────┐ │ ┌──────┴──────┐ │TEmsStream │ │ │TMemoryStream│ └───────────┘ │ └─────────────┘ ┌─────┴────┐ │TDosStream│ └─────┬────┘ │ ┌─────┴────┐ │TBufStream│ └──────────┘ Pogledaj za sve ove tipove. Korišćenje je više nego jednostavno.
pascal.338 .sima,
║║ Ima li neko kakav fin unit za swap u DOS shell? Ne znam da li je fini, ali meni je super radio. Podržana je XMS. Kod je davno napisan i nije skoro korišćen. Swapuje ceo heap u XMS. <---------------- {------------------------------------------------------------------------------ } { Copyright by Srdjan Simic } { 1993 } { <.sima@sezam.co.yu> } { <ss45791d@buefhp.etf.bg.ac.yu> } {------------------------------------------------------------------------------ } {$A+,B-,D+,E-,F-,G+,I+,L+,N+,O-,P-,Q+,R+,S+,T-,V+,X+,Y+} {$M 2048,0,655360} uses dos, crt, xms; procedure SetMemTop(MemTop: Pointer); assembler; asm mov BX,MemTop.Word[0] add BX,15 mov CL,4 shr BX,CL add BX,MemTop.Word[2] mov AX,PrefixSeg sub BX,AX mov ES,AX mov AH,4AH int 21H end; procedure shellreal; var swaped: boolean; Max, Total, handle, NumPage: word; velicina: longint; begin velicina:=longint(Seg(HeapPtr^))*16+longint(Ofs(HeapPtr^))-longint(Seg(HeapOrg^ ))*16; NumPage:=velicina div 1024; if NumPage <> velicina /1024 then inc(NumPage); swaped:=false; X_QuerryFree(Max,Total); if X_Installed and(NumPage <= Max) then begin swaped:=true; X_AllocEMB(NumPage, handle); with MovRec do begin duzina:=velicina; ZeroS:=0; SPtr:=HeapOrg; ZeroD:=handle; DPtr:=nil end; X_MoveEMB(@MovRec); SetMemTop(HeapOrg) end; { swapvectors; exec(GetEnv('COMSPEC'),''); swapvectors;} if swaped then begin SetMemTop(HeapEnd); with MovRec do begin duzina:=velicina; ZeroS:=handle; SPtr:=nil; ZeroD:=0; DPtr:=HeapOrg end; X_MoveEMB(@MovRec); X_FreeEMB(handle) end end; var i: integer; begin readkey; shellreal; writeln('Gotovo'); end. Zahteva XMS.PAS. Mislim da je iz xms30.zip. Nije baš za poruku.
pascal.339 oper,
>> Exceptions i RTTI postoje i u pascalu. Doduše ne zove se BP8 >> nego Delphi, ali to ne bi trebalo da ima veze. Exceptions & RTTI ne postoje u pascalu, već u Delphi-ju. Ni jedan drugi kompajler ih ne podržava. Kod c++ kompajlera, stvar je sasvim drugačija. Mada, sve ovo i nema veze, ako u Delphiju za jedno posle podne mogu da uradim ono za šta mi u c++ u treba par dana :) >> Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju >> zajednički koren, pa se sve svodi na običan type-cast. Ne razumem se mnogo u objektni paskal, ali me interesuje kako se u njemu postiže sledeća konstrukcija: template <class T> class Erej { T* data; int size; public: Erej(int); ~Erej(); T& operator[](int i) {return data[i]);} }; void main(void) { Erej<int> niz_intova(5); Erej<char*> niz_stringova(10); } žini mi se da ovo, ipak, nije moguće?
pascal.340 postmast,
From: ivica@I_should_put_my_domain_in_etc_NNTP_INEWS_DOMAIN (Ivica Nikolic) Subject: Re: PASCAL Date: Mon, 27 Nov 1995 11:40:25 GMT NEMESIS je napisao: >> TRECA STVAR .... >> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! >> NEMA LEBA DA NAPRAVI ISTU KOPIJU ... >> I napravis program koji prilagodjava testiraneje disketi :))) Eeee, najzad posle gomile suma da i ti napises nesto pametno Ja sam jos davno razmisljao o takvoj zastiti, jos dok sam pisao neki program za Amigu. Otprilike, iglom probusis formatiranu disketu na nekom mestu, onda utvrdis koji su tacno sektori osteceni, i posle u svom programu povremeno pokusavas da formatiras te sektore, da bi utvrdio da li je stvarno prisutna originalna disketa. Naravno, treba nekako da budes siguran da neces unistiti sektore na kojima je snimljeno nesto korisno. Radi otezavanja posla hakerima, za pristup unistenom sektoru trebalo bi da se zaobidje BIOS, i da se gadja sam kontroler, sto bi malo zakomplikovalo zastitu. Prednosti: - Prakticno je nemoguce iskopirati takvu disketu, cik da vidim nekog da probusi disketu tacno na mestu treceg sektora u 76-om cilindru. - Jeftinije od hardlock-a, i moze se lako uraditi u domacoj radinosti - od dodatnog hardvera potrebna je samo igla. Nedostaci: - Originalna disketa mora da bude u drajvu dok se program koristi. - Za svaku kopiju programa treba probusiti disketu, videti koji sektori su osteceni, i onda iskompajlirati svoj program da radi samo sa tom disketom, i ni sa jednom drugom. Ovaj proces bi mogao da se automatizuje (osim samog cina busenja diskete), ali bi i dalje to islo presporo za neku masovniju proizvodnju. -- Program too big to fit in memory
pascal.341 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: SWAP Date: Sat, 25 Nov 95 01:28:00 +0100 ---> Ima li neko kakav fin unit za swap u DOS shell? Ima ja jedan .. radi SWAP ili na DISK ili na EMS/XMS/.. ALi problem je sto nemam INC file za taj TP .. A PAS sam slucajno obrisao ... Ako oces poslacu ti ga ... ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.342 maksa,
>> Exceptions i RTTI postoje i u pascalu. >> Doduše ne zove se BP8 nego Delphi, Koliko sam shvatio iz Borlandove reklamne kampanje, ("VB Killer", tako beše?) Delphi je pandan Visual Basic-u, a po onome što čitam vidim da su i po performansama (kompajliranje i izvršavanje) tu negde. 'Ajmo malo konzistentnije. Ovde se do sada vodila "teorijska rasprava" (od toga, btw, 'leba nema, al' 'ajde kad se već razgovaramo) o standardima, a ne o implementacijama. A ako ćemo baš i o implementacijama... evo ti očigledna prednost standarda vs. implementacije, odn. poenta onoga što sam 'teo reći: Mogu da se napišu C++ klase sa izuzecima, šablonima i RTTI-jem za bilo kakvu konkretnu (inžinjersku, naučnu, knjigovodstvenu ... ) primenu, koje će da rade pod DOS-om (uz malo zezanja i kompromisa i pod nekim Unix-om) i da se po potrebi presade u Windows ili na Mac-a, ali *ne može* da se napravi Paskal ekvivalent koji obezbeđuje sve te lepe nove konstrukcije, a da trči pod oba (ili sva tri) okruženja. Na pr., tvoja klasa Matrica, (kod koje se pucanje van granica matrice, ili slučaj Det=0, i slični belaji ... hvataju izuzecima) će u Delphi-ju raditi samo pod Windows-ima, a u C++-u možeš da je nosaš sa sobom duž većine hardverskih platformi i operativnih sistema. >> Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju >> zajednički koren, pa se sve svodi na običan type-cast. Ovako od ove jedne rečenice se ne čini da je to mehanizam koji potpuno zamenjuje šablone. Ako bi bio voljan da to malo razjasniš? Šta ako hoću da mi kontejner sadrži, na pr., funkcije? Kako bi se preko tog zajedničkog korena, recimo, izveo generički asocijativni niz? Šta u Delphi-ju zamenjuje template (ne klase, nego) funkcije? >> kod definicije jezika, koliko je C++ trebalo godina da dobije >> sve te lepe stvari sa početka poruke? Mnogo manje (duplo) nego Wirth-ovom Paskalu. ;) >> BTW, misliš da će standardizacija C++ da pomogne silnim OWL >> programerima kada Borland pukne? OWL programerima najbolje može da pomogne munjevito šaltanje na MFC, što bi im garantovalo lep život na trenutno tri kompajlera. Ako neko paranoično (ovo nije ništa loše, nemirna su vremena) ne veruje ni u jedno od ta dva rešenja, može da odvoji koji mesec i napravi svoje rudimentarne Windows klase, i tu je C++, što bi DVV rekao, "skoro uvek sigurna kupovina", baš zahvaljujući standardizaciji i rasprostranjenosti. Da prekinemo ovo, pošto je "od izvora 'iljadu putića", a i slabo ljubim ovakve "svete ratove". Samo sam reagovao na neispravnu tvrdnju da "sve što može C++ može i Paskal", i to još uvek tvrdim. Programiranje je već duže vreme dovoljno širok pojam, sa dovoljno velikim dijapazonom primena, i ako se to ne sagleda, dolazi do ovakvih i sličnih nesporazuma i neslaganja.
pascal.343 vitez.koja,
#=> From: broker@setnet.co.yu (Predrag Supurovic) #=> Subject: pascal #=> Date: Tue, 21 Nov 1995 13:12:25 #=> Sve je potpuno isto kao i ovo sto si ti napisao samo sto #=> je druga sintaksa, ako se koristi ASCIZ tip. Ako koristiš pointere i ASCIIZ tip (pchar ili neki tvoj, svejedno), nema potrebe da pišeš u Pascalu, jer je C jezik za tebe.
pascal.344 icile,
Dobro, a cemu sluze ti stringovi od 32K. Da li je to navedeno samo kao 'pa, eto ima i to pored svega' ili kao neka ozbiljna prednost koja se ispoljava u programiranju. Naravno da je bolja obavezna deklaracija promenljivih jer to daje nakakvu preglednost programu. Ako toga nema, otkud znam sta sam u programu upotrebio kao imena promenljivih? To je narocito znacajno ako neki program pises, pa posle odredjenog vremena (kad sve zaboravis) hoces da ga dopunis. Kako ces znati sta ti znaci svako od imena promenljivih? Meni je bilo zanimljivo nesto sto je neki covek rekao o Bejziku i ostalim (boljim programskim jezicima, u koje ubrajam i Pascal): "Kada resavate neki problem u nekom programskom jeziku (normalnom) mozete u potpunosti da se posvetite resavanju tog problema, dok u Bejziku morate da razmisljate na koji nacin je to moguce implementirati."
pascal.345 icile,
-> Deklarisanje promenljivih mozda jeste korisno, ali je strasno zamorno. -> Uostalom, postoji OPTION EXPLICIT, pa mozes da biras. :) Postoji mnogo glupih komandi koje je potrebno zadati tom Bejzik kompajleru da bi ozbiljan programer bio zadovoljan njegovim radom. Zar OVO nije zamorno?
pascal.346 icile,
-> zato paskal sluzi i u edukativne svrhe. E sad, stvar je kompajlera -> kako ce ovo prevesti i da li ce C biti brzi nego paskal. Optimizacija -> u 90% slucajeva na sadasnjim masinama nije toliko bitna. Hm, pre nekoliko godina sam gledao neki program koji sljaka sa vektorskom grafikom i, covek je napravio verziju na Paskalu i ekvivalent na C-u. Posto je program sporo radio, covek je merio koji je program brzi za istu radnju. Ispostavilo se, na njegovo iznenadjenje, da je brze radio ovaj u Paskalu! Verovatno se radilo o Borlandovim Turbo jezicima, pa je Turbo Pascal, omiljeno Borlandovo cedo, mnogo bolje uradjen od njegovih ostalih kompajlera. Da ne pricam o kodu, koji je bio znatno kraci, ali ... ko jos to sad gleda.
pascal.347 icile,
A, ima li taj fantasticni Bejzik nesto tipa record na Paskalu ili strukture na C-u??
pascal.348 icile,
-> Zna li neko kako mogu da procitam ime diskete ? (vrlo je hitno) Pa, citas ga normalno kao ime fajla, samo ime diskete ima poseban atribut. Probaj sa parom funkcija FindFirst, FindNext. Pogledaj primere u Help-u i sve ce ti biti jasno.
pascal.349 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: pascal Date: Wed, 29 Nov 1995 14:25:21 GMT Zeljko Jovanovic je napisao: >> > A liste u Basicu si zaboravio... ? ;) >> A sta ce mi liste kad imam lepe dinamicke nizove? :)) Da sam na tvom mestu, posle ove izjave bih odmah prodao modem, kompjuter, frljnuo indeks u kontejner, i otiso ispred Vuka da trazim posao. -- D Break, CONT repeats
pascal.350 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: pascal Date: Wed, 29 Nov 1995 14:54:25 GMT Milos Visnjic je napisao: >> Evo DIREKTNOG prevoda C programa na PASCAL, TEXT je terminisan nulom, >> dakle >> ide do 65535 (ili nesto manje) karaktera, cak i vise ako se program >> prevede >> u PROTECTED rezimu, upotrebio sam nezgrapne skupove (IN !), jer sam >> pre par >> poruka rekao da i PASCAL ima ISALPHA! E pa nije bas tacno, ima >> ISCHARALPHA >> funkciju koja je ekvivalent, ali ta funkcija je u WINPROCS unit-u, >> dakle ...... >> Konkurencija kaze: (izvod iz BorlandPascal HELP-a) >> FormatStr procedure (DRIVERS unit) >> >> Declaration: >> procedure FormatStr(var Result: String; Format: String; var >> Params); >> Function: ovo gledaj \/ \/ \/ \/ \/ >> A generalized string formatting routine that works much like the C ..... >> SEM PREOPTERECENJA OPERATORA i visestrukog nasledjivanja ( A da vidim >> ko >> koristi visestruko nasledjivanje sem u RTL-u), nema toga sto C++ moze >> a >> Pascal ne MOZE! I sta si time dokazao? Da Pascal moze sve sto moze i C++? Onda nisi morao toliko da pises, svaki programski jezik moze sve sto moze i C++, ali nije u tome sustina problema. Ti si zapravo dokazao da je Pascal bio neupotrebljiv za efektivno programiranje (za sta uostalom nije ni izmisljen), dok na njega nisu nakalemljene brojne ekstenzije preuzete direktno iz C(++)-a i Module. Ne, nisam ja nikav Pascalomrzac, mnogo sam kilobajta sorsa napisao u Turbo Pascalu, ali jednog trenutka sam video da se 95% mojih Pascal programa sastoji od budzevina koje nisu deo standardnog Pascala. Samim tim, moji Pascal programi su bili neportabilni, cak su postali zavisni i od verzije Turbo Pascala u kojoj su pisani. S druge strane, C i C++ su strogo standardizovani jezici, njihova sintaksa i semantika uopste ne zavise od implementacije (sa izuzetkom Borlandovih DDVT u OWL 1.x, koja je ionako zstarela), takodje i standardna biblioteka funkcija. Posto su skoro sve "budzevine" u Pascal prenesene iz C(++)-a, logicno je da je u C(++)-u njihovo koriscenje mnogo prirodnije uklopljeno u samu filozofiju jezika. Cim pocnes da pises malo veci program, takve sitne neprirodnosti pocinju da zuljaju, i pocinju da uticu na samu strukturu programa. Jos jedna stvarcica koju i danas ne mogu da oprostim Pascalu je nemogucnost da funkcija vrati vrednost koja nije osnovnog tipa (Integer, String, Boolean...). 1992. sam poceo da na Amigi pisem prilicno veliki program za titlovanje. Poceo sam ga u HiSoft Pascalu, koji je neka vrsta TP klona za Amigu. Taj Pascal je, naravno, podrzavao i Amigine sistemske pozive - formalno nije bilo nikakvih prepreka da se ceo projekat izgura u njemu. E, onda su poceli da se gomilaju problemi: prvo, nema staticke inicijalizacije, sve promenljive moraju da se inicijalizuju pomocu := operatora. Zero-terminted stringovi nisu podrzani u funkcijama za rad sa stringovima, nema pointerske aritmetike... Onda mi je do ruku dosao jedan udzbenik za C, i video sam da najvise vremena trosim na zadovoljavanje Pascal-ovih sintaksnih hirova, koji su u originalnoj Pascalovoj filozofiji bili sasvim opravdani. I tako sam ja lepo naucio C, i ceo projekt uradio u Aztec C-u. Da rezimiram, pre nego sto se potpuno rasplinem: sve frizirane verzije Pascala omogucuju da se u Pascalu pisu C(++) programi. Verujte mi na rec, C(++) programi se mnogo bolje pisu u C(++)-u. -- Program too big to fit in memory
pascal.351 postmast,
From: mladen.adamovic@blbbs.elf.bl.ac.yu (MLADEN ADAMOVIC) Subject: Re: pascal Date: Sun, 26 Nov 95 20:13:00 -1 -+=+- Dejan Jelovic rece : -+=+- DJ> A da optimizacija nije bitna... Pa sad, ja drzim da je rucna DJ> optimizacija cak stetna, ali ona koju radi kompajler? Razlika sa i bez DJ> nje je drrrasticna. Ja mislim da prepirka da li je bolje optimizovan BORLAND C i BORLAND PASCAL manje-vise nebitna. Algoritamski program treba da bude optimizovan, a ostalo moze da dovede do ubrzanja programa najvise desetak puta, sto uglavnom nije toliko bitno... ... Newtonov slabo poznati sedmi zakon : Bolje vrabac u ruci nego iznad gl ___ Blue Wave/QWK v2.12
pascal.352 postmast,
From: mladen.adamovic@blbbs.elf.bl.ac.yu (MLADEN ADAMOVIC) Subject: RE: PASCAL Date: Sun, 26 Nov 95 20:42:00 -1 -+=+- Nemesis rece : -+=+- Ne> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! Istim su se zanimali Sezamovci pre par godina i shvatili su da busilica nije potrebna - dovoljno je samo malo bocnuti iglom, ako ne zelite MNOOOOOGO losih sektora :). ... XjhgwaduiwueoqimnBDDDDKJSBMN! <--Tag created on Pentium ___ Blue Wave/QWK v2.12
pascal.353 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Wed, 22 Nov 1995 14:40:00 GMT --> From: "Dejan Jelovic" <djelovic@sezam.UUCP> DJ> > Licno mislim da su oba pomenuta jezika slabija od Ca (basic DJ> > mi je suvise mrljav, pascal suvise krut) DJ> Licno mi se cini da su C i Pascal (ili Modula-2, nije bitno) funkcional DJ> identicni, s tim sto Pascal ipak ima daleko citljiviju sintaksu, plus nema DJ> perverzne operatore koji danas uz optimizujuce kompajlere ionako vise nisu DJ> bitni. Ako cemo do citljivosti, onda je M2 najcitljivija bas zbog preterivanja u doslednosti sa Virtovim zamislima vizuelno lepog sourcea. ;) Meni se licno cini da Pascal ima vise apstrakcije od C-a (i M2 sa nestandardnim -- citaj: uobicajenim -- bibliotekama) Pogledaj samo rad sa fajlovima. C mu vise dodje preprocesor za asembler, sto sa opmizujucim kompajlerima koje pominjes, svakim danom postaje sve tacnije.
pascal.354 zeljkoj,
> Dobro, a cemu sluze ti stringovi od 32K. Da li je to navedeno > samo kao 'pa, eto ima i to pored svega' ili kao neka ozbiljna > prednost koja se ispoljava u programiranju. Na primer, često mi treba da tekstualnu datoteku sa jaaaaaako velikim redovima učitam u niz i onda obradjujem. U BASIC-u svaki taj red može biti velik 32 kB a niz može zauzimati CELU raspoloživu memoriju. > Naravno da je bolja obavezna deklaracija promenljivih jer to > daje nakakvu preglednost programu. Ako toga nema, otkud znam > sta sam u programu upotrebio kao imena promenljivih? To je > narocito znacajno ako neki program pises, pa Ako baš voliš možeš da staviš OPTION EXPLICIT pa će te BASIC terati da deklarišeš svaku promenljivu. :) > dopunis. Kako ces znati sta ti znaci svako od imena > promenljivih? Vidi se po imenu promenljive. > Meni je bilo zanimljivo nesto sto je neki covek rekao o Bejziku > i ostalim (boljim programskim jezicima, u koje ubrajam i > Pascal): "Kada resavate neki problem u nekom programskom jeziku > (normalnom) mozete u potpunosti da se posvetite resavanju tog > problema, dok u Bejziku morate da razmisljate na koji nacin je > to moguce implementirati." Upravo je obrnuta stvar. Sve što zamisliš, u BASIC-u već postoji i samo ga treba upotrebiti, dok ako radiš u Pascalu prvo treba smisliti kako pomoću stvari koje ti stoje na raspolaganju to da uradiš. Plus što je Pascal previše 'krut' i tera te da o čitavom problemu razmišljaš imajući sam jezik u vidu. Suviše se i vremena i prostora troši na razne deklaracije, begin/end-ove, uopšte stvari koje nisu od samog značaja za rešenje problema. Navedi primer nekog problema koji ćeš ti u Pascalu brzo i lako rešiti, a ja u BASIC-u prvo treba 'da razmislim o načinu na koji ću to implementirati'. Tvrdim da ne postoji ni jedan jedini takav problem. Naravno, postoji mnooogo stvari oko kojih ćeš se, pišući ih u Pascalu, dobro namučiti, a koje se u BASIC-u brzo i elegantno rešavaju. BASIC programeru daje veliku slobodu što se tiče samog stila pisanja programa. Recimo da imam promenljivu MikaPeraLaza. Ako je ne deklarišem, ona je po defaultu tipa SINGLE (single precision floating-point). Recimo da želim da ona bude tipa INTEGER. Najjednostavnije je da umesto identifikatora MikaPeraLaza pišem MikaPeraLaza%. Ono % na kraju znači da je promenljiva tipa INTEGER. Recimo da želim da obavezno deklarišem svaku promenljivu i napisao sam OPTION EXPLICIT na početku programa. U tom slučaju ću promenljivu deklarisati sa DIM MikaPeraLaza%. Ali - šta ako želim da se promenljiva zove samo MikaPeraLaza bez onog % na kraju, a da ipak bude tipa INTEGER? Napisaću DIM MikaPeraLaza AS INTEGER. Šta ako želim da sve promenljive koje počinju slovom M, kao i slovima A, B, C, D budu INTEGER? Jednostavno ću ih implicitno deklarisati sa DEFINT A-D, M. Dalje, promenljivu je moguće proglasiti za globalnu u modulu u kome je definisana korišćenjem DIM SHARED umesto samo DIM. Ako želim da bude globalna za sve module, koristiću COMMON SHARED, itd. Recimo da imam dinamički niz koji je (negde u programu, ne mora na početku) deklarisan kao DIM Niz(10000) AS STRING (koji je BTW, mogao biti deklarisan i sa DIM Niz$(10000) ili npr. sa DIM Niz$(0 TO 10000), i u toku izvršavanja programa vidim da je ono 10000 suviše malo. Jednostavno ću sa REDIM PRESERVE Niz(20000) AS STRING povećati njegovu veličinu na 20000 pri tom sačuvavši postojeće podatke. Liste su u BASIC-u sasvim nepotrebne. Naravno - veličina niza ne mora biti poznata pri pisanju programa. Može se (negde u programu) napisati INPUT A%: DIM Niz(A%), što je u Pascalu nezamislivo. Itd, itd... moglo bi tu još mnoogo da se priča. :)
pascal.355 zeljkoj,
> -> Deklarisanje promenljivih mozda jeste korisno, ali je > strasno zamorno. -> Uostalom, postoji OPTION EXPLICIT, pa mozes > da biras. :) > > Postoji mnogo glupih komandi koje je potrebno zadati tom Bejzik > kompajleru da bi ozbiljan programer bio zadovoljan njegovim > radom. Zar OVO nije zamorno? Teško ti je da jedanput napišeš OPTION EXPLICIT? Ok, niko te ne tera. To je samo ukoliko čELIŠ da te kompajler TERA da deklarišeš promenljive. Možeš ih deklarisati i bez toga, a ne moraš ih uopšte ni deklarisati. Mnogo je više zamorno za svaku promenljivu pisati var xyz: tip;
pascal.356 zeljkoj,
> A, ima li taj fantasticni Bejzik nesto tipa record na Paskalu > ili strukture na C-u?? Naravno da ima. BASIC sve ima. :) Evo malog primera (da ne objašnjavam, shvatićeš o čemu se radi): TYPE PodaciORadnicima Ime AS STRING*20 Prezime AS STRING*30 GodinaRodjenja AS INTEGER Plata AS DOUBLE END TYPE Onda lepo deklarišeš promenljivu sa npr. DIM xyz AS PodaciORadnicima
pascal.357 zeljkoj,
> Da sam na tvom mestu, posle ove izjave bih odmah prodao modem, > kompjuter, frljnuo indeks u kontejner, i otiso ispred Vuka da > trazim posao. Ali - nisi na mom mestu. :) > -- > D Break, CONT repeats -- C Nonsense in BASIC
pascal.358 dvesic,
> Upravo je obrnuta stvar. Sve što zamisliš, u BASIC-u već > postoji i samo ga treba upotrebiti, dok ako radiš u Pascalu > prvo treba smisliti kako pomoću stvari koje ti stoje na > raspolaganju to da uradiš. Plus što je Aman, dogovori se vec jednom pricamo li o IMPLEMENTACIJI ili o samom jeziku ? Tesko da u standardnom Basic-u ima sve sto postoji. > Naravno - veličina niza ne mora biti poznata pri pisanju > programa. Može se (negde u programu) napisati INPUT A%: DIM > Niz(A%), što je u Pascalu nezamislivo. Nije bas nezamislivo, nego se moras petljati sa pokazivacima :) > BASIC programeru daje veliku slobodu što se tiče samog stila > pisanja programa. U kom smislu ? Nista manju slobodu ne daje ni Pascal. > ona bude tipa INTEGER. Najjednostavnije je da umesto > identifikatora MikaPeraLaza pišem MikaPeraLaza%. Ono % na kraju > znači da je promenljiva A sto je to elegantnije od jednog Integer MikaPeraLaza ?
pascal.359 dvesic,
> Mnogo je više zamorno za svaku promenljivu pisati var xyz: tip; Mislis : Var MikaPeraLaza, IovoJeCeoBroj, AiOvo : Integer; Nije tako strasno, zar ne ? > CONF JOIN PC.PROG.6 > CONF REPLY 7.356 > > Naravno da ima. BASIC sve ima. :) > Evo malog primera (da ne objašnjavam, shvatićeš o čemu se > radi): Ne vredi. Ti i dalje pricas o implementaciji. Ovo NIJE standardni BASIC.
pascal.360 vasic,
> A šta će mi liste kad imam lepe dinamičke nizove? :)) Dobro, Genije, objasni nam kako se uklanja element iz sredine lepog dinamičkog niza?
pascal.361 zeljkoj,
> Aman, dogovori se vec jednom pricamo li o IMPLEMENTACIJI ili o > samom jeziku ? Tesko da u standardnom Basic-u ima sve sto Rekli smo: BP 7.0 vs MS QBX PDS 7.1. > A sto je to elegantnije od jednog Integer MikaPeraLaza ? Da. Uvek se vidi kog je tipa promenljiva, a ne moraš svaki čas da gledaš po deklaracijama.
pascal.362 zeljkoj,
> Ne vredi. Ti i dalje pricas o implementaciji. Ovo NIJE > standardni BASIC. Nisu ni null-terminated stringovi (o kojima je bilo reči) standardni Pascal. Dakle, pričamo o konkretnim implementacijama. Standarde smo samo malo pominjali na početku diskusije. :)
pascal.363 zeljkoj,
> Dobro, Genije, objasni nam kako se uklanja element iz sredine > lepog dinamičkog niza? Na primer, ako treba ukloniti n-ti element niz Niz (koji recimo ima x elemenata): DIM PomocniNiz(x - n) b = 0 FOR a = n + 1 TO x PomocniNiz(b) = Niz(a) b = b + 1 NEXT a REDIM PRESERVE Niz(x-1) b = 0 FOR a = n TO x - 1 Niz(a) = PomocniNiz(b) b = b + 1 NEXT a ERASE PomocniNiz I sve to može lepo da se upakuje u proceduru tako da se svako brisanje vrsi prostim pozivom proc. Ok, priznajem da je relativno komplikovano i sporo. :) Bolje je definisati tip koji sadrzi podatak i pokazivac na sledeci podatak u nizu, pa onda dimenzionisati niz tog tipa. Podaci se uklanjaju prostim menjanjem pokazivaca. Ovo je kao neka simulacija liste. :) Jeste da nije bas tako elegantno kao kod pravih (pascalovih) listi, ali bar nema ogranicenja od 64 kB. ;)
pascal.364 djelovic,
> Nisu ni null-terminated stringovi (o kojima je bilo reči) standardni > Pascal. Dakle, pričamo o konkretnim implementacijama. Standarde smo > samo malo pominjali na početku diskusije. :) Netačno. Stringovi terminisani nulom su realizovani sasvim standardnim Pascal konstrukcijama. PString nije ništa drugo do ^char. Što se tiče tvoje tvrdnje da se mnoge stvari rade brže u Bejziku, moram da se složim s tobom. No, to je sve dok ostajemo u okviru manjih projekata i prototpiova. Upravo zbog te snage "da se nešto napravi na brzinu", Bjezik se pokazao kao malo lošiji od Pascala za veće projekte.
pascal.365 djelovic,
> bas tako elegantno kao kod pravih (pascalovih) listi, ali bar nema > ogranicenja od 64 kB. ;) Ni Pascal nema ograničenje za liste od 64K.
pascal.366 vitez.koja,
#=> Naravno da ima. BASIC sve ima. :) Ama, baš sve? Da li ima i unije (union, iz C-a) ?
pascal.367 maksa,
>> menjanjem pokazivaca. Ovo je kao neka simulacija liste. :) >> Jeste da nije bas tako elegantno kao kod pravih (pascalovih) >> listi, ali bar nema ogranicenja od 64 kB. ;) Nema, ako se cela stvar baci u HUGE model. A znaš kolika su u tom slučaju usporenja? ;) PS A ono tupavo ograničenje od 64 Kb (sorsa) po modulu?
pascal.368 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Pascal Date: Mon, 27 Nov 1995 21:05:00 ***> Citiram '"milan Maksimovic"' za 'All' <*** "M> - Izuzeci Delphi... -=> MM <=- * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.369 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Pascal Date: Mon, 27 Nov 1995 21:05:00 ***> Citiram '"predrag Knezevic"' za 'All' <*** "K> Nema potrebe, jer ce rezultat kompajliranja biti isti - chr(27) ce "K> biti zamenjeno vrednoscu koju vraca ova sistemska funkcija. Ne bi trebalo, pogotovo pri kompajliranju iz Windowsa, zato sto Chr(27) ne mora uvek da bude ESC ;-) -=> MM <=- * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.370 zeljkoj,
> Ama, baš sve? Da li ima i unije (union, iz C-a) ? Nema ih, a i nisu potrebne u BASIC-u.
pascal.371 vasic,
> Na primer, ako treba ukloniti n-ti element niz Niz (koji recimo ima x > elemenata): > DIM PomocniNiz(x - n) > Ok, priznajem da je relativno komplikovano i sporo. :) Ne samo da je komplikovano i sporo, nego je tvoje rešenje još i duplo komplikovanije i sporije nego što bi moralo da bude. Šta će ti uopšte pomoćni niz? Ali nije poenta u tome nego u... > Bolje je definisati tip koji sadrzi podatak i pokazivac na sledeci podatak > u nizu, pa onda dimenzionisati niz tog tipa. Podaci se uklanjaju prostim > menjanjem pokazivaca. Ovo je kao neka simulacija liste. :) Simuliraćeš ti tu ne samo listu nego i kompletan heap mehanizam koji je inače ugrađen u "normalne" jezike - one sa pointerima. I to za svaku takvu listu iz početka. Shvataš li sad šta se htelo reći sledećom rečenicom: "Kada resavate neki problem u nekom programskom jeziku (normalnom) mozete u potpunosti da se posvetite resavanju tog problema, dok u Bejziku morate da razmisljate na koji nacin je to moguce implementirati." (icile, 7.334) Ok, ako je tebi lepo sa Basic-om i ne osećaš njegova ograničenja - nema problema, radi u Basic-u. Samo nemoj da pokušavaš da nas ostale ubediš kako je to najbolji jezik na svetu. I _ni_slučajno_ nemoj reći kako je Visual Basic idealna alatka za Windows programiranje. It... makes... me... MAAAAAAD!!! - I see, you are no stranger to pain. - I've been working with Visual Basic. - Aww. - Twice. - Awwwwwww....
pascal.372 vitez.koja,
#=> Evo malog primera (da ne objašnjavam, shvatićeš o čemu se radi): #=> Ime AS STRING*20 A meni nešto pričaš o upotrebi stringova fiksne dužine? :) sk
pascal.373 vitez.koja,
#=> Ne vredi. Ti i dalje pricas o implementaciji. Ovo NIJE #=> standardni BASIC. Je li, kad si zadnji put video standardni Pascal? sk ps. A Basic? :)
pascal.374 janko,
Kao mali prilog diskusiji koji je bolji jezik, i na temu tvrdnje da je BASIC bolji jezik za stvari "na brzinu", tvrdim da je AWK najbolji. ;) A idući put ću smisliti zadatak kojim ću vam dokazati da je najbolji jezik asembler za 8086. ;) A posle i zadatak kojim ću dokazadti da je najbolji jezik Word Basic. ;) Evo vam zadatka, pa rešite u svom omiljenom jeziku, da vidim koliko će vam trebati koda: ;> --- Iseci odavde U ovom tekstu prebrojati reči i ispisati svaku različitu reč i broj njenih pojavljivanja, a zatim i broj različitih reči u tekstu. Takođe ispisati sve delove teksta koji se ne mogu smatrati rečima i broj njihovog pojavljivanja, kao i broj ne-reči u tekstu. (Smatrati da je REž svaki deo teksta koji čine slova s/h i engleske abecede, ako pre njega ne postoji nikakav znak koji nije belina ili otvorena zagrada, i ako iza tog dela teksta ne stoji pre beline a posle specijalnih znakova i cifara neki drugi znak koji pripada s/h abecedi. Veliko i malo slovo naše abecede mora se smatrati za isti znak!) --- Iseci dovde Broji se broj linija koda rešenja, a nije dozvoljeno da postoje dve naredbe u jednoj liniji! Takođe nije dozvoljeno koristiti rutine koje se NE dobijaju u programskom paketu samog jezika. Moje rešenje, na jeziku (GNU) AWK, ima 31 liniju. Ko, i na kom jeziku, može manje? === Celo rešenje: === function toyulower( a ) { a= tolower( a ) sp = "ŠĐžĆčšđčćž" for ( k=1;k<6;k++ ) gsub( substr( sp, k, 1 ) , substr( sp, k+5, 1 ), a ) return a } { for (i=1; i<=NF; i++) { rs = match( $i, /[a-zA-Zšđč枊ОĆč]+/ ) rl = RLENGTH if ( ( rs == 1 || ( rs == 2 && substr( $i, 1, 1 ) == "(" )) \ && match( substr( $i, rl + rs ), /[a-zA-Zšđč枊ОĆč]/ ) == 0 ) a[ toyulower( substr( $i, rs, rl ) ) ]++ else b[ $i ]++ } } END { for ( i in a ) { printf( "%-20s %4d\n", i, a[ i ] ) dw++ } print "Total of different words " dw print "*** Not a word ****" for ( i in b ) { printf( "%-20s %4d\n", i, b[ i ] ) nw++ } print "Total not words " nw } ==== Deo rezultata ("..." su umesto izostavljenih delova): == ... broj 4 ... reč 2 ... i 9 ... Total of different words 66 *** Not a word **** s/h 2 ne-reči 1 Total not words 2
pascal.375 postmast,
From: Vlado.Menkovski%f132.n108.z38@setnet.setnet.co.yu (Vlado Menkovski) Subject: Ne mozzam da vlezam vo Informa Date: Fri, 24 Nov 1995 20:10:00 Abe dimi ova Informava ne se trpi pa ja po navika si doaggam tuka !!!! i ondak to .... ( Citat od K-15 ) Pozdravi doma... ... How come pizza gets to your house faster than the police? * Origin: SETNet: ĆMemory Master BBS +389/91-164-877ž SKOPJE (38:108/132)
pascal.376 postmast,
From: KLIMENT.ANDREEV%f108.n108.z38@setnet.setnet.co.yu (KLIMENT ANDREEV) Subject: delphi knjiga Date: Mon, 20 Nov 1995 09:08:00 U ovoj konferenciji proccitao sam poruku da je u izdanju CIP-a izassla knjiga za Delphi. Molio bih one koje znaju da mi kazzu koliko kossta ova knjiga u DEM i gde mozze da se nabavi, kako bih se javio ortaku koji zzivi u BGD-u da mi kupi istu i possalje u Skoplju. Ako neko vecc ima ovu knjigu voleo bih da ccujem i komentar u ovoj ili nekoj drugoj odgovarajuccoj konferenciji. 10x Chombe * OLX 2.1 TD * Bel Spagette. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.377 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Strimovi Date: Fri, 24 Nov 1995 16:11:00 PS>Moze li nesto malo vise o ovim strimovima? PS>U dokumentaciji od BP ne nadjoh im ni pomena. PS>Da li je to ugradjeno u sam Paskal ili je neka dodatna biblioteka? Zavisi kako gledas na stvari :). Turbo Vision je biblioteka objekata koja dolazi uz BP - streamovi su objekti u TV-u. Stream-ovi se koriste za pamcenje drugih objekata bilo u EMS memoriji (TEmsStream) bilo na disku (TDosStream i TBufStream). Svi ovi objekti su naslednici jedne klase - TStream. Ako imas originalnu instalaciju BP-a, pogledaj \BP\EXAMPLES\DOCDEMOS\TV\STREAM1.PAS i STREAM2.PAS. Svaki objekat koji zelis da zapises u Stream mora sadrzati sledece dve metode - constructor Load(var S:TStream) i procedure Store(var S:TStream). U ovim metodima se citaju/zapisuju u Stream podatci koje objekat sadrzi. E, sad, objekat naslednik ili instanca stream-a koji zapisuje gorenavedene objekte u stream, zapisuje ih metodom PUT a cita ih sa GET. Normalno ovde je dozvoljen typecasting. Da bi objekat mogao biti zapisan u stream on mora da bude registrovan tj. da mu bude dodeljen jedinstven broj kojim je povezan. Registracija se obavlja preko registration record-a u kojem se nalazi gorenavedeni jedinstveni broj koji sam odabires, ofset VMT tabele objekta (dobija se kao Ofs(TypeOf(Objekat)^), i adrese metoda Load i Store. Registracija se obavlja procedurom RegisterType koja kao parametar prima promenljivu tipa TStreamRec tj. nas registration record. Streamovi su sjajan metod za cuvanje objekata. Borland Pascal omogucava tri stream-a, u EMS memoriji, i dva tipa fajlova, sa i bez baferisanog pristupa (TDosStream i TBufStream). Uz malo znanja moguce je naslediti TStream i napisati TXmsStream - stream koji cuva objekte u XMS memoriji. Nadam se da sam pomogao. :) Ako je nesto ostalo nejasno, reci slobodno. Ognen * OLX 2.1 TD * The easiest way to woman's heart is thru 'er chest. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.378 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Strimovi Date: Fri, 24 Nov 1995 13:07:00 VS>Kako vidim, strimovi ti nisu strani :). Interesuje me da li je moguce VS>(mislim da jeste moguce, samo je pitanje kako) snimiti _objekte_ u VS>strim na disku, a posle te iste ucitati sa diska? uses Crt,Objects; type PMyObject = ^TMyObject; TMyObject = object(TObject) x,y:PString; constructor Init(s1,s2:String); destructor Done; virtual; procedure ConCat; constructor Load(var S:TStream); procedure Store(var S:TStream); virtual; end; constructor TMyObject.Init(s1,s2:String); begin inherited Init; x:=NewStr(s1); y:=NewStr(s2); end; destructor TMyObject.Done; begin DisposeStr(x); DisposeStr(y); inherited Done; end; procedure TMyObject.ConCat; begin WriteLn('Strings before: ',x^,', ',y^); WriteLn('Concat. : ',x^+' '+y^); end; constructor TMyObject.Load(var S:TStream); begin x:=S.ReadStr; y:=S.ReadStr; end; procedure TMyObject.Store(var S:TStream); begin S.WriteStr(x); S.WriteStr(y); end; const RMyObject:TStreamRec= ( Objtype : 110; VmtLink : Ofs(TypeOf(TMyObject)^); Load : @TMyObject.Load; Store : @TMyObject.Store); procedure RegisterMyObject; begin RegisterType(RMyObject); end; var ObjFile:PBufStream; PMO : PMyObject; begin ClrScr; WriteLn('Sada zapisujemo objekte u stream'); RegisterMyObject; ObjFile:=New(PBufStream,Init('stream.dat',stCreate,1024)); PMO:=New(PMyObject, Init('This', 'is')); ObjFile^.Put(PMO); Dispose(PMO,Done); PMO:=New(PMyObject, Init('a', 'stream')); ObjFile^.Put(PMO); Dispose(PMO,Done); PMO:=New(PMyObject,Init('example','.')); ObjFile^.Put(PMO); Dispose(PMO,Done); Dispose(ObjFile,Done); WriteLn('Rezultat: fajl stream.dat koji sadrzi objekte na disku.'); WriteLn; {sada citamo zapisani stream } WriteLn('Sada citamo objekte iz stream-a.'); WriteLn; ObjFile:=New(PBufStream,Init('stream.dat',stOpenRead,1024)); repeat PMO:=PMyObject(ObjFile^.Get); if PMO<>NIL then PMO^.ConCat; until PMO=NIL; Dispose(ObjFile,Done); end. Nadam se da sam pomogao. :) Ognen * OLX 2.1 TD * Pain - a feeling that I have to eat all she cooks. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.379 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: swap Date: Fri, 24 Nov 1995 13:08:00 PS>Ima li neko kakav fin unit za swap u DOS shell? TApplication.DosShell radi isti onaj swap koji dobijes opcijom DOS SHELL u Borland PAscal IDE-u. Valjda je dovoljno ? :) Ognen * OLX 2.1 TD * You have a terminal illness - check your terminal. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.380 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: EMS XMS 2/2 Date: Fri, 24 Nov 1995 13:11:00 >>> Continued from previous message extended buss; this being the price paid for PC compatibility. D.M.A. LEVELS Although we have discussed the operation of a single device using the D.M.A., it is custom to cater to the needs of several devices by providing several D.M.A. channels, each one dedicated to a peticualar device. The 8237 provides four seperate D.M.A. channels, known as levels 0 through 3. Correspondingly, there are 4 D.M.A. request lines, DACK 0-3. These lines are prioritized according to two possible protocols set by a bit in the controller command register, either fixed priority, either fixed priority where lower D.M.A. levels have higher priority than higher levels, or rotating priority, where each level takes turn at having the highest priority. The PC BIOS sets the 8237 to operate in fixed priority mode on power up, and it is inadvisable to change this. The PC/AT adds to the number of D.M.A. channels by using two 8237 D.M.A. controllers. Since one channel is used to cascade one controller into the other, this is acually adds an additional 3 channels, all of which appears on the 16-bit additional expanision connectors of the PC/AT and dedicated to 16-bit transfers. Apart from its uses for high speed data transfer, the D.M.A. controller includes counter hardware that cycles through the memory addresses, so as a byproduct of its design, it can also be used to refresh dynamic memory, saving the cost of a separate memory refresh controller. This is what IBM chose to do in the PC, and on all models Level 0 performs this function with the DREQ being driven from counter 1 of the 8253 timer at a 15 microsecond intervals. The complete assignmentes for the levels are as follows. For all machines, these levels are capable of 8-bit transfers: Level 0 - Memory Refresh Level 1 - Not assigned and usally avalible, Certain local area network interfaces may use this level Level 2 - Used by the floppy disk controller and not free for any other purpose Level 3 - May be used by the hard disk controller on some PC/XT models. On floppy disk only, PC/AT and some PC/XT machines, this level is free for other uses. For the PC/AT only, these levels are capable of 16-bit transfers: Level 4 - used for cascading Level 5-7 - Avalaible on AT special connections ___--------------------------------------------------------------------- Ognen * OLX 2.1 TD * Software Factory * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.381 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Turbovizija 2/2 Date: Fri, 24 Nov 1995 16:15:00 >>> Continued from previous message R.Assign(Bounds.B.X-1, Bounds.A.Y+1, Bounds.B.X, Bounds.B.Y-1); VScrollBar := New(PScrollBar, Init(R)); VScrollBar^.Options := VScrollBar^.Options or ofPostProcess; if Left then VScrollBar^.GrowMode := gfGrowHiY; Insert(VScrollBar); R.Assign(Bounds.A.X+2, Bounds.B.Y-1, Bounds.B.X-2, Bounds.B.Y); HScrollBar := New(PScrollBar, Init(R)); HScrollBar^.Options := HScrollBar^.Options or ofPostProcess; if Left then HScrollBar^.GrowMode := gfGrowHiY + gfGrowLoY; Insert(HScrollBar); Bounds.Grow(-1,-1); MakeInterior := New(PInterior, Init(Bounds, HScrollBar, VScrollBar)); end; procedure TDemoWindow.SizeLimits(var Min, Max: TPoint); var R: TRect; begin TWindow.SizeLimits(Min, Max); Min.X := LInterior^.Size.X + 9; end; { TMyApp } procedure TMyApp.HandleEvent(var Event: TEvent); begin TApplication.HandleEvent(Event); if Event.What = evCommand then begin case Event.Command of cmNewWin: NewWindow; cmNewDialog: NewDialog; else Exit; end; ClearEvent(Event); end; end; procedure TMyApp.InitMenuBar; var R: TRect; begin GetExtent(R); R.B.Y := R.A.Y + 1; MenuBar := New(PMenuBar, Init(R, NewMenu( NewSubMenu('~F~ile', hcNoContext, NewMenu( NewItem('~O~pen', 'F3', kbF3, cmFileOpen, hcNoContext, NewItem('~N~ew', 'F4', kbF4, cmNewWin, hcNoContext, NewLine( NewItem('E~x~it', 'Alt-X', kbAltX, cmQuit, hcNoContext, nil))))), NewSubMenu('~W~indow', hcNoContext, NewMenu( NewItem('~N~ext', 'F6', kbF6, cmNext, hcNoContext, NewItem('~Z~oom', 'F5', kbF5, cmZoom, hcNoContext, NewItem('~D~ialog', 'F2', kbF2, cmNewDialog, hcNoContext, nil)))), nil)) ))); end; procedure TMyApp.InitStatusLine; var R: TRect; begin GetExtent(R); R.A.Y := R.B.Y - 1; StatusLine := New(PStatusLine, Init(R, NewStatusDef(0, $FFFF, NewStatusKey('', kbF10, cmMenu, NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit, NewStatusKey('~F4~ New', kbF4, cmNewWin, NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose, nil)))), nil) )); end; procedure TMyApp.NewDialog; var Bruce: PView; Dialog: PDemoDialog; R: TRect; C: Word; begin R.Assign(20, 6, 60, 19); Dialog := New(PDemoDialog, Init(R, 'Demo Dialog')); with Dialog^ do begin R.Assign(3, 3, 18, 6); Bruce := New(PCheckBoxes, Init(R, NewSItem('~H~varti', NewSItem('~T~ilset', NewSItem('~J~arlsberg', nil))) )); Insert(Bruce); R.Assign(2, 2, 10, 3); Insert(New(PLabel, Init(R, 'Cheeses', Bruce))); R.Assign(22, 3, 34, 6); Bruce := New(PRadioButtons, Init(R, NewSItem('~S~olid', NewSItem('~R~unny', NewSItem('~M~elted', nil))) )); Insert(Bruce); R.Assign(21, 2, 33, 3); Insert(New(PLabel, Init(R, 'Consistency', Bruce))); R.Assign(3, 8, 37, 9); Bruce := New(PInputLine, Init(R, 134)); Insert(Bruce); R.Assign(2, 7, 24, 8); Insert(New(PLabel, Init(R, 'Delivery instructions', Bruce))); R.Assign(15, 10, 25, 12); Insert(New(PButton, Init(R, '~O~k', cmOK, bfDefault))); R.Assign(28, 10, 38, 12); Insert(New(PButton, Init(R, 'Cancel', cmCancel, bfNormal))); end; C := DeskTop^.ExecView(Dialog); Dispose(Dialog, Done); end; procedure TMyApp.NewWindow; var Window: PDemoWindow; R: TRect; begin Inc(WinCount); R.Assign(0, 0, 45, 13); R.Move(Random(34), Random(11)); Window := New(PDemoWindow, Init(R, 'Demo Window', WinCount)); DeskTop^.Insert(Window); end; var MyApp: TMyApp; begin ReadFile; MyApp.Init; MyApp.Run; MyApp.Done; DoneFile; end. * OLX 2.1 TD * When Rolling Stones are high, are they Rolling Stoned ? * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.382 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: Knjiga Za Objektni Tp Date: Fri, 24 Nov 1995 16:19:00 VM>OD> MM> Ja sam genije. Shvatio sam pravo resenje za konflikt VM>OD> MM> Bosni!!! Svi mi treba da se pomirimo i zivimo lepo ka VM>OD> MM> ranije. Treba mi neka knjiga iz politike da vidim prakticn VM>OD> MM> primenu i najbolje resenje za moj zakljucak. VM>OD> Mesas babe i zabe a i pricas gluposti. VM>A i ovo je NET.PASCAL Znam da je NET.PASCAL, ali procitaj jos jednom chain i videces da nisam ja taj koji je progresio. Bas zato sto je NET.PASCAL treba napisati nesto konstruktivno samo ako imas da takvo sta kazes, a ne da filozofiras unaokolo...Covek je lepo postavio pitanje o nekoj knjizi koja ce mu objasniti kako da prakticno programira pod Windowsima a kao odgovor je dobio nesto sto nema blage veze sa konf. Ognen * OLX 2.1 TD * "Singing in the rain" is the best way to catch pneumonia * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.383 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 28 Nov 1995 18:41:35 AB> Sta ti je DMA? Ako sam i cuo onda sam zaboravio (jesam slozio AB> recenicu :)))). <OD> DMA = Direct Memory Access. Ovo je najbrzzi naccin da prenosiss blokove <OD> memorije sa jednog mesta na drugi, da pristupass memoriji itd. Sad mi je tek jasnije :-). Mozes li i ti da objasnis to prenosenje mem. OviH dana sam pokusavao nesto pomocu ASM ali se nije pokazao tako brz ko sto se prica :(((. P.S. Uvozim OBJ fajlove u paskal. T.J. Koristim mijesano ASM i paskal :(. ... Sta ja o tome da vam razbijam glavu. * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.384 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 28 Nov 1995 18:41:35 <PR> E ovako. NAjbolje je iz assemblera, ali cistog, jer nista nije toliko <PR> brzo kao 100% assembler. ali ... ako ti je to sporo koristi razne <PR> trikove: nemoj da scroll-ujes za 1 vec za 2,3 tacke i OBAVEZNO to radi <PR> kad je mlaz u dnu ekrana. Ja mislim da nisi malo shvatio ovo sto sam napisao (ne potcjennju jem te) :))). Ne zamjeram ti, ja kad nesto napisem treba i sam da Ga desifrujem :((. Bi li mogao objasniti malo kako bi ti to uradio. Mozda i koji primjer :>>. pozdraw, ASKO ... Kod homosexualca je uvijek - prvo pa musko :). * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.385 postmast,
From: Asmir.Badnjevic%p1.f135.n135.z38@setnet.setnet.co.yu (Asmir Badnjevic) Subject: EMS XMS Date: Tue, 28 Nov 1995 18:41:38 Zdravo Pedja, da li si vidio da mi posaljes onaj sors za memoriju (pleaseeeeeeeeeeeeee) ??? pozdraw, ASKO ... Novac kvari covjeka ... upotrebjavajte cekove. * Origin: Vila co.BBS # Prijedor_RS # +381 79 11 301 # SETNet: (38:135/135.1)
pascal.386 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Pascal Date: Wed, 29 Nov 1995 08:10:00 ***> Citiram 'Ivica Nikolic' za 'All' <*** IN> - Prakticno je nemoguce iskopirati takvu disketu, cik da vidim IN> nekog da probusi disketu tacno na mestu treceg sektora u 76-om IN> cilindru. - Jeftinije od hardlock-a, i moze se lako uraditi u IN> domacoj radinosti - od dodatnog hardvera potrebna je samo igla. Evo principa hakovanja... NDD -> vidis koji su sektori bad NDD -> na novoj disketi te sektore obelezis kao BAD COPY IMEPROGRAMA ;-) -=> MM <=- * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.387 postmast,
From: markom@setnet.co.yu (Marko Milivojevic) Subject: Re: Pascal Date: Wed, 29 Nov 1995 08:10:00 ***> Citiram '"zeljko Jovanovic"' za 'All' <*** "J> Da, ali samo u BP 7.0. :) I to je null-terminated string sto znaci "J> da u stringu ne sme da postoji chr(0) karakter. Nije tesko napraviti svoj sistem astringova koji ce raditi isto kao Pascalovi (r), a biti ograniceni na 65533 bajta :-) -=> MM <=- * Origin: Exodus, Novi Beograd #22-09# (011) 137-477 SETNet: (38:103/130)
pascal.388 zeljkoj,
> takvu listu iz početka. Shvataš li sad šta se htelo reći > sledećom rečenicom: > > "Kada resavate neki problem u nekom programskom jeziku > (normalnom) mozete u potpunosti da se posvetite resavanju tog > problema, dok u Bejziku morate da razmisljate na koji nacin je > to moguce implementirati." Isto tako mogu da se pronadju stvari koje u BASIC-u postoje, a koje bi u Pascalu bilo potrebno simulirati.
pascal.389 postmast,
From: ivica@galeb.etf.bg.ac.yu (Ivica Nikolic) Subject: Re: Pascal Date: Fri, 1 Dec 1995 17:35:10 GMT Marko Milivojevic je napisao: >> Evo principa hakovanja... >> NDD -> vidis koji su sektori bad >> NDD -> na novoj disketi te sektore obelezis kao BAD >> COPY >> IMEPROGRAMA Ne, nisi razumeo princip. Zasticeni program bi disketu proveravao tako sto bi direktno od samog floppy kontrolera zahtevao da formatira namerno unistene sektore, uz zaobilazenje DOS-a i BIOS-a, i direktno od kontrolera bi dobijao informaciju da li je formatiranje uspelo. Ako je uspelo, znaci da je sektor lazno oznacen kao los. Naravno, tu bi se nasao neki pametnjakovic koji bi pokusao da osteti sve sektore u okolini, u nadi da ce time unistiti i sektor koji zasticeni program proverava. Zbog toga program treba da pokusa da formatira i okolne sektore, i da zakljuci da je doslo do hakeraja, ako su i okolni sektori unisteni. -- Allways look on the bright side of death
pascal.390 kriss,
˙˙>> TRECA STVAR .... ˙˙>> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! ˙˙ Nedostaci: Neko te tuži zato što mu je otišla glava na drajvu / zato što su mu prodao faličnu (opasnu) disketu / zato što ne može da pravi rezervnu kopiju programa (što ima pravo) ... Bilo je govora o ovome na SEZAM-u, pre jedno godinu ipo, dve.
pascal.391 visnja,
> Da rezimiram, pre nego sto se potpuno rasplinem: sve frizirane > verzije Pascala omogucuju da se u Pascalu pisu C(++) programi. > Verujte mi na rec, C(++) programi se mnogo bolje pisu u > C(++)-u. Znas, u pravu si, ovaj odgovor mi se svidja. Najvise me nervira sto TPU napravljen verzijom 6.0 ne radi u verziji 7.0. U C-u me nervira vreme kompajliranja, ali to nema veze sa samim jezikom, trenutno se ubijam da nadjem PXEngine za protected rezim za pascal, - za C sam nasao "od prve". Zatim, ako se pogleda lista trazenosti programerskih poslova na zapadu, C i C++ su na zavidnom nivou, a pascal-a nema nigde. Zatim sam pozvao ortaka koji poznaje c++ u praksi i rekao mu sta sve da mi demonstrira, jer imam dosta aplikacija u pascalu. Nije lose. Teplate-ovi su mi oduvek trebali, mocna je to stvar. Nastavicu ja da proucavam C++, ali jos uvek ne smem u njemu necega ozbiljnijeg da se prihvatim, pascal mi je domacinski teren. Pozdrav, Visnja.
pascal.392 .sima,
║║ TApplication.DosShell radi isti onaj swap koji dobijes opcijom DOS ║║ SHELL u Borland PAscal IDE-u. Valjda je dovoljno ? :) Da ako se pravi TV aplikacija, ali ako ne, onda mora da se napravi posebna procedura.
pascal.393 .sima,
║║ Kad smo vec kod toGa i to si moGao poslati u mail, ako nije veliko ║║ :). Znas li mozda brze prebacivanje nekoG dijela memoriju u neki ║║ druGi dio memorije, recimo da sliku iz pomocne mem. prebacim na ║║ ekran? Koristio sam MOVE komandu iz paskala ali je spora (dobro, ║║ brza je ali ne za moje potrebe) i ne moGu stvoriti efekat ║║ skrolovanja ekrana a da Za prebacivanje memorije koristim MoveEMB funkciju iz XMS specifikacije. Pošto radi u zaštićenom modu vrlo je brza. 4MB prebaci za tren. Evo da me ne bi davili. Ovo je prerađen ( malo :) unit za rad sa XMS-om. Naravno DMA je brži, ali ja nisam nešto mnogo primetio razliku kod svakodnevnog programiranja. {$A+,B-,D-,E-,F+,G+,I+,L-,N-,O-,P-,Q-,R-,S-,T-,V+,X+,Y-} unit XMS; interface const X_Ok = $00;{ function succeeded. } X_NotImplemented = $80;{ the function is not implemented. } X_VDiskFound = $81;{ a VDISK device is detected. } X_A20Err = $82;{ an A20 error occurs. } X_GenErr = $8E;{ a general driver error occurs. } X_UnrecovErr = $8F;{ an unrecoverable driver error occurs. } X_HMAnotExist = $90;{ the HMA does not exist. } X_HMAInUse = $91;{ the HMA is already in use. } X_HMAminSize = $92;{ DX is less than the /HMAMIN= parameter. } X_HMANotAlloced = $93;{ the HMA is not allocated. } X_A20StillEnabled = $94;{ the A20 line is still enabled. } X_OutOfMemory = $A0;{ all extended memory is allocated. } X_OutOfHandles = $A1;{ all available extended memory handles are in use.} X_InvalidHandle = $A2;{ the handle is invalid. } X_SourceHanldeInv = $A3;{ the SourceHandle is invalid. } X_SourceOffsetInv = $A4;{ the SourceOffset is invalid. } X_DestHanleInv = $A5;{ the DestHandle is invalid. } X_DestOffset = $A6;{ the DestOffset is invalid. } X_LenInv = $A7;{ the Length is invalid. } X_Overlap = $A8;{ the move has an invalid overlap. } X_Parity = $A9;{ a parity error occurs. } X_EMBUnlocked = $AA;{ the block is not locked. } X_EMBLocked = $AB;{ the block is locked. } X_LockOverflow = $AC;{ the block's lock count overflows. } X_LockFail = $AD;{ the lock fails. } type X_MoveRec = record case boolean of False : (duz : Longint; { 32-bit number of bytes to transfer } SHandle : Word; { Handle of source block } SOffset : Longint; { 32-bit offset into source } DHandle : Word; { Handle of destination block } DOffset : Longint; { 32-bit offset into destination block } ); True : (duzina : Longint; { note that the lenght must be even ! } ZeroS : Word; { zero sourcehandle means a seg:ofs } SPtr : Pointer; { pointer to "normal" memory } ZeroD : Word; { zero dest handle means a seg:ofs } DPtr : Pointer; { pointer to "normal" memory } ); end; PX_MoveRec = ^X_MoveRec; var X_Installed: boolean; MovRec: X_MoveRec; procedure X_Version(var ver, rev:word;var HMA:boolean); function X_HMARequest(Space: word): byte; function X_HMARelease: byte; function X_GlobalEA20: byte; function X_GlobalDA20: byte; function X_LocalEA20: byte; function X_LocalDA20: byte; function X_QueryA20(var A20: boolean): byte; function X_QuerryFree(var Max, Tot: word):byte; function X_AllocEMB(size:word; var handle:word):byte; function X_FreeEMB(handle: word): byte; function X_MoveEMB(movrec:PX_MoveRec):byte; function X_LockEMB(handle: word; var adresa:longint):byte; function X_UnLockEMB(handle: word):byte; function X_GetHanInfo(handle: word; var LCount, FreeHan:byte; var EMBduz:word):byte; function X_ReallocEMB(handle, NewSize: word):byte; function X_RequestUMB(ReqSize:word; var UMBSeg, Size: word):byte; function X_ReleaseUMB(UMBSeg: word):byte; function X_ReallocUMB(ReqSize, UMBSeg:word):byte; implementation var X_Control: longint; procedure X_Start; assembler; asm mov ax,4300h int 2Fh cmp al,80h jne @@NoDriver mov ax, 4310h int 2fh mov word ptr X_Control, bx mov word ptr X_Control+2, es inc X_Installed @@NoDriver: end; procedure X_Version(var ver, rev:word;var HMA:boolean);assembler; asm xor ah, ah call X_Control les di, [ver] mov [word ptr es:di], ax les di, [rev] mov [word ptr es:di], bx les di, [HMA] mov [byte ptr es:di], dl end; function X_HMARequest(Space: word): byte; assembler; asm mov ah, 1 mov dx, Space call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_HMARelease: byte; assembler; asm mov ah, 2 call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_GlobalEA20: byte; assembler; asm mov ah, 3 call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_GlobalDA20: byte; assembler; asm mov ah, 4 call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_LocalEA20: byte; assembler; asm mov ah, 5 call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_LocalDA20: byte; assembler; asm mov ah, 6 call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_QueryA20(var A20: boolean): byte; assembler; asm mov ah, 7 call X_Control les di, [A20] mov [byte ptr es:di], al mov al, bl end; function X_QuerryFree(var Max, Tot: word):byte; assembler; asm mov ah, 8 call X_Control les di, [Max] mov [word ptr es:di], ax les di, [Tot] mov [word ptr es:di], dx mov al, bl end; function X_AllocEMB(size:word; var handle:word):byte; assembler; asm mov ah, 9 mov dx, size call X_Control les di, [handle] mov [word ptr es:di], dx dec ax jz @@Success mov al, bl @@Success: end; function X_FreeEMB(handle: word): byte; assembler; asm mov ah, 0Ah mov dx, handle call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_MoveEMB(movrec: PX_MoveRec):byte; assembler; asm push ds mov ah, 0Bh lds si, movrec call X_Control dec ax jz @@Success mov al, bl @@Success: pop ds end; function X_LockEMB(handle: word; var adresa:longint):byte; assembler; asm mov ah, 0Ch mov dx, handle call X_Control les di, [adresa] mov [word ptr es:di],bx mov [word ptr es:di+2],dx dec ax jz @@Success mov al, bl @@Success: end; function X_UnLockEMB(handle: word):byte; assembler; asm mov ah, 0Dh mov dx, handle call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_GetHanInfo(handle: word; var LCount, FreeHan:byte; var EMBduz:word):byte;assembler; asm mov ah, 0Eh mov dx, handle call X_Control les di,[LCount] mov [Byte ptr es:di],bh les di,[FreeHan] mov [Byte ptr es:di],bl les di,[EMBduz] mov [Word ptr es:di],dx dec ax jz @@Success mov al, bl @@Success: end; function X_ReallocEMB(handle, NewSize: word):byte;assembler; asm mov ah, 0Fh mov dx, handle mov bx, NewSize call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_RequestUMB(ReqSize:word; var UMBSeg, Size: word):byte;assembler; asm mov ah, 10h mov dx, ReqSize call X_Control les di, [UMBSeg] mov [Word ptr es:di], bx les di, Size mov [Word ptr es:di], dx dec ax jz @@Success mov al, bl @@Success: end; function X_ReleaseUMB(UMBSeg: word):byte;assembler; asm mov ah, 11h mov dx, UMBSeg call X_Control dec ax jz @@Success mov al, bl @@Success: end; function X_ReallocUMB(ReqSize, UMBSeg:word):byte;assembler; asm mov ah, 12h mov bx, ReqSize mov dx, UMBSeg call X_Control dec ax jz @@Success mov al, bl @@Success: end; begin X_Installed:=false; X_Start end.
pascal.394 atech,
> ˙˙>> TRECA STVAR .... > ˙˙>> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! > > ˙˙ Nedostaci: > > Neko te tuzi zato sto mu je otisla glava na drajvu / zato sto > su mu prodao falicnu (opasnu) disketu / zato sto ne moze da > pravi rezervnu kopiju programa (sto ima pravo) ... Bilo je > govora o ovome na SEZAM-u, pre jedno godinu ipo, dve. I ne samo to. Dodje majstor Mica i izmeni jedan jedini bajt u programu koji radi sve ovo low level formatiranje i ode zastita u nepovrat. Btw, moja iskustva su takva da ne trebe insistirati na hardverskoj zastiti disketa od kopiranja vec zastitu koncipirati na drugi nacin a kupcu obezbediti neogranicen backup. Pored toga, testirajuci neke od americkih zastita disketa (softverskih, nema busenja i sl ;)) mogu da kazem sledece: - Svaku od ovih je bilo moguce prevariti koriscenjem klasicnih alata za rad sa disketama bez ikakvih izmena programa. O tome da se isti posao moze odraditi menjenjem programa koji vrsi kontrolu da i ne govorim... - Korisnici koji su koristili ovakve diskete zalili su se da im cesto posle nekog vremena dolazi do fizickog ostecenja diskete (obicno se radi o slavnom sector no found) pa su primorani da ponovo jure (cak i da ponovo placaju) novu disketu. E sad, kakvo je stanje kod nas (mnosto pisaca 'jeba' procedura, 'fuck the user' sistem) mozda nekome ovo i odgovara...:( poz, Blagoje
pascal.395 visnja,
> Neko te tuži zato što mu je otišla glava na drajvu / zato što > su mu prodao faličnu (opasnu) disketu / zato što ne može da > pravi rezervnu kopiju programa (što ima pravo) ... Bilo je > govora o ovome na SEZAM-u, pre jedno godinu ipo, dve. Axa, malo morgen kod nas. Ako neko za ovo moze da me tuzi, ne bih ni stitio programe, nego bih i ja tuzio pirate, kada bi kod nas zakon funkcionisao tako lepo...
pascal.396 pedjak,
> Ne bi trebalo, pogotovo pri kompajliranju iz Windowsa, zato > sto Chr(27) ne mora uvek da bude ESC ;-) Bilo je reči o tome kako to radi Borland Pascal. Kako to radi Delphi, ne znam.
pascal.397 postmast,
From: DENIS@vila.bc.co.yu Subject: ReadLn Date: Sat, 02 Dec 95 09:56:22 GMT Hi ! Jedna sitnica koja mew vec dugo muci: Zasto u Pascal-u kursor prelazi na pocetak novog reda bez obzira da li napisao Read ili ReadLn.Npr Var T : Real; Begin Write('***Vrijeme: '); Read(T); WriteLn('sec.'); End. Kod mene ce to na ekranu izgledati ovako(ako unesem T=554): ***Vrijeme : 554 sec. Isto kao i da sam napisao: Var T : Real; Begin Write('***Vrijeme: '); ReadLn(T); WriteLn('sec.'); End. Unaprijed hvala ! !)enis ... Backup not found: (A)bort (R)etry (P)anic --- FMail/386 1.02 * Origin: Vila co.BBS ■ Prijedor_RS ■ +381 79 11 301 ■ B.C.: (95:790/113)
pascal.398 postmast,
From: bady@setnet.co.yu (Attila Megyeri) Subject: Rimski Date: Thu, 30 Nov 1995 23:30:51 Ima li neko gotov algoritam za konverziju rimskih brojeva u decimalne brojeve ? Ili bar za proveru (tj. da li je broj ispravan ) ? Nije problem u kompleksnosti algoritma, vec sto me mrzi da ga pisem ako ga neko od vas ima :) Pozdrav: ---Bady ... "Scotty, beam me up another Blue Wave message." * Origin: Prometheus BBS - The Northern Frontier - SETNET (38:111/107)
pascal.399 postmast,
From: OGNEN.DUZLEVSKI%f108.n108.z38@setnet.setnet.co.yu (OGNEN DUZLEVSKI) Subject: pascal Date: Fri, 01 Dec 1995 08:37:00 "M>Logicki izrazi tipa "X in ['a'..'z']" su (mnogo?) sporiji nego "M>pesacko ispitivanje "if X>='a' and X<='z'", ali nema ni to veze. Bilo nekad. Od verzije 7.0 optimizovan je rad sa setovima. "M>Ono sto ima veze je da tvoj pascal program radi sa baferom duzine "M>do 256 bajtova, sto je smesno. Ako ne koristis Turbo Pascalov tip "M>string, nego radis sa najobicnijim nizom, onda ne mozes da "M>koristis funkciju Length, pa ti program manje ili vise raste, vec "M>prema tome kako organizujes stringove. A sta je sa null-terminisanim stringovima u BP-u ? Oni imaju poseban unit sa svim potrebnim funkcijama/procedurama. Ognen * OLX 2.1 TD * ROBOCOMM - a ROBOCOP for modems. * Origin: SETNet: Struga BBS +389 96 74074 * Macedonia * (38:108/108)
pascal.400 postmast,
From: utvara@setnet.co.yu (Slobodan Utvic) Subject: PASCAL Date: Fri, 01 Dec 1995 13:46:00 I heard MLADEN ADAMOVICF@ MacADAMOVIC said PASCAL : Ne> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! MA> Istim su se zanimali Sezamovci pre par godina i shvatili su da MA> busilica nije potrebna - dovoljno je samo malo bocnuti iglom, ako ne MA> zelite MNOOOOOGO losih sektora :). Pa moze i sa magnetnom iglom :))) * Slobodan Utvic(Utvara)-email:utvara@setnet.co.yu,utvara@epitaph.bc.co.yu * sutvic@osmeh.fon.bg.ac.yu & sutvic@alef.yucca.co.yu ... ... Oxymoron: Only Choice. * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.401 postmast,
From: Dusan.Lacarac%f119.n111.z38@setnet.setnet.co.yu (Dusan Lacarac) Subject: Zadatak Date: Sat, 02 Dec 1995 15:49:01 Cujte ja sam malo glup sto se tice programiranja (malo vise). Pa dali bi neko znao da uradi ovaj zadatak: NAPISATI FUNKCIJU PROST KOJA VRACA LOGICKU UREDNOST TROU AKO JE BROJ PROST ODNOSNO FOLS AKO JE BROJ SLOZEN!!! Naravno radi se u PASCAL-u Pozdrav!!!!!!!!!!! RAPTOR ... I call things as I see them; If I didn't see them, I make them up! * Origin: ECSTASY BBS * Indjija * 022 53-884 * SETNet: (38:111/119)
pascal.402 dvesic,
>> NAPISATI FUNKCIJU PROST KOJA VRACA LOGICKU UREDNOST TROU AKO >> JE BROJ PROST ODNOSNO FOLS AKO JE BROJ SLOZEN!!! 'Oćemo jedno malo takmičenje ? :) Ovo je najbrže rešenje koje znam :) ========================================================= Function JeProst(n: Integer): Boolean; Var Vrni : Boolean; korak , delisa , gorgran: Integer; Begin Vrni := true; If n > 3 Then Begin korak := 2 ; delisa := 5 ; gorgran:= trunc(sqrt(n)) ; Vrni := (n mod 2) <> 0 ; Vrni := Vrni And ( (n mod 3) <> 0) ; While Vrni And ( delisa <= gorgran ) Do Begin Vrni := (n mod delisa)<>0 ; delisa := delisa+korak; korak := 6-korak; End End; JeProst := Vrni; End; =========================================================
pascal.403 kile,
>> Zatim, ako se pogleda lista trazenosti programerskih poslova na zapadu, >> C i C++ su na zavidnom nivou, a pascal-a nema nigde. A najveći bedak je što je među najtraženijima Visual Basic :(
pascal.404 iznogud,
:: BASIC programeru daje veliku slobodu što se tiče samog stila pisanja :: programa. Recimo da imam promenljivu MikaPeraLaza. Ako je ne deklarišem, Jedno malo pitanjce: ti, recimo, ne voliš da pišeš 'option explicit' na početku programa. I negde u programu umesto MikaPeraLaza napišeš MkaPeraLaza (dakle, pogrešno ime promenljive). BASIC shvati da hoćeš da koristiš novu promenljivu, i dodeli joj 0 (default). Rezultat: ti se ubiješ tražeći grešku u programu (program ti ne računa dobro). Možda ipak ima razloga za eksplicitnu deklaraciju? Na kraju krajeva, u svoj novijoj literaturi za BASIC (tj. njegovog vizuelnog burazera) se programeri usmeravaju da zaborave atavizam zvan 'nedeklarisanje promenljivih'...
pascal.405 iznogud,
:: Da. Uvek se vidi kog je tipa promenljiva, a ne moraš svaki čas da gledaš :: po deklaracijama. I nije neki argument ;). Recimo, u 'Programming Windows' (C. Petsold) se naširoko rabi tkz. 'Mađarska notacija', gde se imenu promenljive dodaje prefiks u zavisnosti kojeg je tipa. Npr. hHandle, iIntVariable...
pascal.406 evlad,
TO: DENIS@vila.bc.co.yu <> Jedna sitnica koja mew vec dugo muci: Zasto u Pascal-u kursor prelazi <> na pocetak novog reda bez obzira da li napisao Read ili ReadLn.Npr zato što je to komanda sa ehom, a enter je <cr><lf> i otera ti kursor dole. rešenje je da podatke uzimaš preko konstrukcije i:=0; repeat buff[i] := ReadKey; inc(i); until #13; stim da moraš ispisati na ekran brojeve :) ili da upamtiš red i kolonu gde si bio (pomoću finkcija) wherex wehery <> Var T : Real; <> Begin <> Write('***Vrijeme: '); savx:=wherex; savy:=wherey; <> Read(T); val(t,tmpstr); gotoxy(savx,savy+length(tmpstr)+1); <> WriteLn('sec.'); <> End. ti odluči kako ćeš da uradiš :)
pascal.407 vitez.koja,
#=> Ovo je najbrže rešenje koje znam :) I koliko vidim netačno za n=1 :) sk
pascal.408 supers,
>> Kod mene ce to na ekranu izgledati ovako(ako unesem T=554): >> >> *** Vrijeme : 554 >> sec. Problem je u tome što ti moraš da pritisneš Enter da bi uneo broj :) Napisao ti Read(T); ili ReadLn(T); koji funkcionišu sasvim istovetno kada je unos sa tastature, a ne iz fajla u pitanju, isto ti se hvata. Dakle, prelazak u novi red potiče od tvog stiskanja Entera. Ono što ti želiš, da program ispiše dodatan tekst nakon tvog unosa u istom redu, ne možeš da izvedeš sa standardnom ReadLn procedurom.
pascal.409 supers,
>> Ima li neko gotov algoritam za konverziju rimskih brojeva u >> decimalne brojeve ? Ili bar za proveru (tj. da li je broj ispravan Imam u jednoj knjizi nekoliko takvih gotovih programa, pisanih u Spectrumovom Basicu :) Ako ti to nije problem, podseti me naknadno da ti prekucam, sada zbilja nemam vremena...
pascal.410 zeljkoj,
> Jedno malo pitanjce: ti, recimo, ne voliš da pišeš 'option > explicit' na početku programa. I negde u programu umesto > MikaPeraLaza napišeš MkaPeraLaza (dakle, pogrešno ime > promenljive). BASIC shvati da hoćeš da koristiš novu > promenljivu, i dodeli joj 0 (default). Rezultat: ti se ubiješ > tražeći grešku u programu (program ti ne računa dobro). Da, znam da se ovakve greške teško otklanjaju, ali malo pažnje pri pisanju imena promenljivih rešava problem. :) > Možda ipak ima razloga za eksplicitnu deklaraciju? Na kraju > krajeva, u svoj novijoj literaturi za BASIC (tj. njegovog > vizuelnog burazera) se programeri usmeravaju da zaborave > atavizam zvan 'nedeklarisanje promenljivih'... Pa dobro... nravno da je lakše kad kompajler upozorava na pogrešno napisano (nedeklarisano) ime promenljive.
pascal.411 kuki,
># => Ovo je najbrže rešenje koje znam :) > I koliko vidim netačno za n=1 :) Kako netačno? Pa vratiće true (zar ne)?
pascal.412 dvesic,
>># => Ovo je najbrže rešenje koje znam :) >> >> I koliko vidim netačno za n=1 :) Kako bre netačno ? Jedino sad da se svađamo oko toga jeste li 1 prost ili ne :)
pascal.413 visnja,
> Pa moze i sa magnetnom iglom :))) Dabome, pa namagnetises glavu drajva i unistis klijentu stotinak disketa i sam drajv pa onda on tebi razbije glavu... :))))
pascal.414 mastermind,
ă─> Kako bre netačno ? Jedino sad da se svađamo oko toga jeste li ă─> 1 prost ili ne :) jedinica nije ni prost ni složen broj.prost broj se definiše kao broj koji ima samo 2 delioca , jedinicu i samog sebe, a složen ima još delioca. a jedinica nema dva delioca. MasterMind
pascal.415 postmast,
From: igor.grahek@panon.ns.ac.yu (Igor Grahek) Subject: Re: Delphi Date: Sun, 3 Dec 1995 10:43:00 GMT N> From: "Nebojsa Lazic" <nlazic@sezam.UUCP> N> ali Delphi moze i mnogo vise, nevezano za baze. Najtacnije bi bilo reci N> da je to zapravo Borland Pascal 8.0 + BDE + gomila klasa za rad sa svim N> i svacim (pocev od INI datoteka, pa do pisanja client/server aplikacija Osim klasa za serijsku komunikaciju :( Sto je uostalom Borlandov obicaj. I.G.or --- ■ SPEED 1.30 #256 ■ Dok se saberem ja se oduzmem
pascal.416 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Mon, 27 Nov 1995 17:06:00 GMT --> dr.urbano@sezam DR> Dakle moze li se nesto sakriti u bad sector originalne diskete i kasnije DR> koristiti ? Znas sta je zgodno za zastitu? Formatiras jednu traku viska i tu upises podatke: Ako disketa ima 80 traka ti formatiras 81. i u upises nesto sto ces koristiti. Ovo prezivljava i stari dobri COPYIIPC; svojevremeno sam se pucao svojom genijalnoscu... :)) Samo imas jedan problem -- ovo vise nije pouzdana zastita, jer sad dosta ljudi zna za to. ;)
pascal.417 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: pascal Date: Mon, 27 Nov 1995 17:09:00 GMT --> "Vladimir Maric" <vitez.koja@sezam.UUCP> VI> Logicki izrazi tipa "X in ['a'..'z']" su (mnogo?) sporiji nego VI> pesacko ispitivanje "if X>='a' and X<='z'", ali nema ni to veze. I 'x>y and r<i' je logicki izraz. I nije mnooogo brzi, ali je necitak.
pascal.418 postmast,
From: srdjan.dakic@panon.ns.ac.yu (Srdjan Dakic) Subject: Re: swap Date: Mon, 27 Nov 1995 17:15:00 GMT --> broker@setnet.co.yu (Predrag Supurovic) PS> Ima li neko kakav fin unit za swap u DOS shell? Ako ti treba malo memorije sasvim fino resenje je da uradis BlockWrite po redu sve dinamicki alocirane promenljive i da ih sa free oslobodis. Inverzna operacija ide nakon shella. Cirka 20-30 linija koda.
pascal.419 postmast,
From: nemesis@styx.bc.co.yu (NEMESIS) Subject: RE: PASCAL Date: Sun, 03 Dec 95 17:38:00 +0100 Ne>> UZMESH I IZBUSIS DISKETU BUSILICOM NA NEKOM MESTU ! ---> Istim su se zanimali Sezamovci pre par godina i shvatili su da busilica ---> nije potrebna - dovoljno je samo malo bocnuti iglom, ako ne zelite ---> MNOOOOOGO losih sektora :). Sad sam se setio .. :)) mada NEPOSTOJI IDELNA ZASTITA :)) ---> ... XjhgwaduiwueoqimnBDDDDKJSBMN! <--Tag created on Pentium Posle 6 sati ppogadjanja ;)) ┌────────────────────────────────────────────────────────────────────Ě │/\■/\ .:NemesiS:. /\■/\ S.T.Y.X BBS /\■/\ ║ │ / > NEMESIS@STYX.BC.CO.YU >:[­] / \ 011\444-95-22 - 22-06 < \ ║ ď════════════════════════════════════════════════════════════════════╝ ... /\ S.T.Y.X BBS /\ 011\444-95-22 /\ 22-06 /\ * ■ >:[­] NemesiS ■
pascal.420 postmast,
From: mladen.adamovic@blbbs.elf.bl.ac.yu (MLADEN ADAMOVIC) Subject: Re: Zadatak Date: Mon, 04 Dec 95 08:28:00 -1 -+=+- Dusan Lacarac rece : -+=+- DL> NAPISATI FUNKCIJU PROST KOJA VRACA LOGICKU UREDNOST TROU AKO JE BROJ DL> PROST ODNOSNO FOLS AKO JE BROJ SLOZEN!!! Evo ovako, napamet pa se ti posle... snalazi da ispravis eventualne greske (ne programiram u pascalu, no ovde ti je bitan algoritam ;>). funktion prost ( broj : integer) : boolean; var i : integer; begin prost:=TRUE; for i:=1 to sqrt(broj)+1 do if broj mod i = 0 then prost:=FALSE; end; ... Isla dva coveka i naidju na drugog.Znaci isli su prvi i treci. ___ Blue Wave/QWK v2.12
pascal.421 postmast,
From: nick@setnet.co.yu (Nikola Sivacki) Subject: arrow <-> char Date: Sun, 03 Dec 1995 21:51:01 Zna li neka dobra dusa da mi kaze kako je moguce koristiti strelice ili recimo, f. tastere, uz readkey? ASCII strelice na dole je #00 #80, ali tako nesto ne pali! Ne moze da se koristi kao karakter...:( --== NCK ==-- /SBHS/VBC/ * ■ NICKRead ■ * Guns don't kill people, it's the bullets. Guns get them goi * Origin: <-=SCORPION=-> * Bgd * 011-699-784 * 22-07 * SetNet: (38:103/136)
pascal.422 postmast,
From: Miroslav.Minovic%f133.n103.z38@setnet.setnet.co.yu (Miroslav Minovic) Subject: Re: delphi knjiga Date: Sun, 03 Dec 1995 11:50:00 KA> izdanju CIP-a izassla knjiga za Delphi. Molio bih KA> one koje znaju da mi kazzu koliko kossta ova knjiga Knjigu sam na sajmu platio 50 din,a cena je verovatno nesto veca ako je kupis u knjizari. Inace imas je u CET biblioteci : CET Computer Shop Skadarska 45,Beograd tel./fax : 343 - 043 KA> Ako neko vecc ima ovu knjigu voleo bih da ccujem i komentar KA> u ovoj ili nekoj drugoj odgovarajuccoj konferenciji. Inace knjiga je dobra kao uvod,ali je potpuno normalno da se u jednoj knjizici ne moze opisati ceo Delphi tako da i dalje >>Akrobat rider<< sa .pdf fajlovima koji se dobijaju uz Delphi ostaje najbolja knjiga(ako znas engleski). Pozdrav,Mindza. ... All I need is a Wave and a board to surf it on. * Origin: SETNet * BBS Politika, Bgd * +381 11 3229148 * 0-24 (38:103/133)
pascal.423 jablan,
>>> Ima li neko gotov algoritam za konverziju rimskih brojeva u >>> decimalne brojeve ? Ili bar za proveru (tj. da li je broj >>> ispravan Hm, ja imam ignore na postmaster, al videh ovu poruku, pa rekoh da pomognem:). Evo, u turbo paskalu. Valjda radi. {Roman->Decimal numbers conversion} {Mladen Jablanovic, 7. Nov 1995.} {$S-} program Roman; function GetValue(C:char):integer; begin case C of 'M':GetValue:=1000; 'D':GetValue:=500; 'C':GetValue:=100; 'L':GetValue:=50; 'X':GetValue:=10; 'V':GetValue:=5; 'I':GetValue:=1; end; end; function Convert(Rom:String):integer; var K,i,Pos:integer; begin if Length(Rom)=0 then Convert:=0 else if Length(Rom)=1 then Convert:=GetValue(Rom[1]) else begin K:=1; for i:=0 to Length(Rom) do IF GetValue(Rom[i])>K then begin K:=GetValue(Rom[i]); Pos:=i; end; Convert:=GetValue(Rom[Pos])- Convert(Copy(Rom,1,Pos-1))+ Convert(Copy(Rom,Pos+1,Length(Rom)-Pos)); end; end; begin WriteLn(Convert(ParamStr(1))); end.
pascal.424 dpredovic,
> :: Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju zajednički > :: koren, pa se sve svodi na običan type-cast. > > A šta ako tvoj objekat treba da bude, recimo, generički kontejner za > sve ostale vrste objekata, pa i onih koji nisu izvorno Delfijevi? Hoće > li i onda da pali type-cast? Jesi li ti nekad koristio šablone? > Ne, ne - _svi_ objekti u Delphi-ju _moraju_ da imaju zajednički koren. Postoji generička klasa TObject, i ako se ne navede klasa roditelj, podrazumeva se ona. Inače, šablone sam oduvek mrzeo. Oni su vrlo očit primer rešavanja problema nastalih u dizajnu jezika metodom grube sile. > :: BTW, misliš da će standardizacija C++ da pomogne silnim OWL programerima > :: kada Borland pukne? > > A kakve veze ima standardizacija jezika za programiranjem pod > Windows-ima? Ako nekom tu treba standard, onda neka uzme MFC - bar tri > kompajlera (BTW, sva tri prave bolji kod od Borlandovog) podržava MFC. Hteo sam da kažem da ako Borland ode pod led, ja sa svojim Delphi programima neću imati ništa više problema od prosečnog OWL programera. OWL ovde uzimam ne kao primer win programiranja, nego kao primer _komplikovanih_ iliti ne- trivijalnih programa. Jes da je C++ standardizovan kao jezik, ali što se tiče biblioteka... Kuku lele... A tek biblioteke klasa... Kuku lele ** 2... > Standardizacija će da pomogne kod prenošenja programa sa platforme na > platformu, i sa kompajlera na kompajler - džaba meni što (recimo) Nešto ne primećujem da se to i dešava u realnom svetu. Ljudima obično kosa osedi portujući GNU<->MSC ili Borland<->Watcom. Da ne govorimo da ni dva UNIX-a nisu sors kompatibilna, a kamoli DOS<->UNIX ili MAC<->VMS.
pascal.425 dpredovic,
>>> Exceptions i RTTI postoje i u pascalu. Doduše ne zove se BP8 >>> nego Delphi, ali to ne bi trebalo da ima veze. > > Exceptions & RTTI ne postoje u pascalu, već u Delphi-ju. Ni > jedan drugi kompajler ih ne podržava. Kod c++ kompajlera, > stvar je sasvim drugačija. Mada, sve ovo i nema veze, ako u Eh, sad... I paket BC4.5 može da se zove Mika, pa će jezik opet da bude C++. Delphi jeste ime paketa, ali jezik je Object Pascal. >>> Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju >>> zajednički koren, pa se sve svodi na običan type-cast. > void main(void) > š > Erej<int> niz_intova(5); > Erej<char*> niz_stringova(10); > ć > > žini mi se da ovo, ipak, nije moguće? Postoji generički TList, koji drži Items pointere. Postoji i TStringList. Ovo je bio blaži način da se kaže da ne može ;) Ne može, ali u najvećem broju slučajeva i ne treba. Ono što je najčešće potrebno i moguće je isto to, ali sa klasama. U stvari ne mogu da se setim da mi je ikada bila potre- bna lista klot integera. Lista stringova ajde de, ali lista integera?
pascal.426 dpredovic,
>>> Exceptions i RTTI postoje i u pascalu. >>> Doduše ne zove se BP8 nego Delphi, > > Koliko sam shvatio iz Borlandove reklamne kampanje, ("VB Killer", > tako beše?) Delphi je pandan Visual Basic-u, a po onome što čitam vidim > da su i po performansama (kompajliranje i izvršavanje) tu negde. Upravu si 50%. Što se tiče kompajliranja tu su negde, a što se tiče izvrša- vanja ni blizu... Ne znam koje si to testove gledao? > Mogu da se napišu C++ klase sa izuzecima, šablonima i RTTI-jem > za bilo kakvu konkretnu (inžinjersku, naučnu, knjigovodstvenu ... ) > primenu, koje će da rade pod DOS-om (uz malo zezanja i kompromisa i > pod nekim Unix-om) i da se po potrebi presade u Windows ili na Mac-a, > ali *ne može* da se napravi Paskal ekvivalent koji obezbeđuje sve te > lepe nove konstrukcije, a da trči pod oba (ili sva tri) okruženja. Na Mogu da se urade C++ klase sa RTTI, pod uslovom da ciljni kompajler nije MSC, koji je ujedno jedini na DOS platformi za kojeg se pouzdano zna da neće da pukne. ;) Što potvrđuje prednost implementacije nad standardom. ;) >>> Opet, u Delphiju šabloni nisu niti potrebni. Sve klase imaju >>> zajednički koren, pa se sve svodi na običan type-cast. > > Ovako od ove jedne rečenice se ne čini da je to mehanizam koji > potpuno zamenjuje šablone. Ako bi bio voljan da to malo razjasniš? Dobro, dobro... Već sam priznao da to nije _baš_ to... :) Ali... Ne verujem da firma koja ume da ugradi template mehanizam u C++ (onako kako je to zamislio tamo neki šveđanin) ne ume to da uradi u jeziku koji može da krpi kako kod hoće. Object Pascal je Pascal sa C++-like extenzijama. Sve je tu: private, protected, public, konstruktori, destruktori, etc., etc. ... Prosto - Borland je od C++ pokupio sve što mu se dopadalo i "prepisao" to u pascal. Ono što im se nije dopalo, i što guši i u samom C++u nisu preneli. >>> kod definicije jezika, koliko je C++ trebalo godina da dobije >>> sve te lepe stvari sa početka poruke? > > Mnogo manje (duplo) nego Wirth-ovom Paskalu. ;) Da ga je razvijao samo jedan čovek (kao C++) ihaaaj, gde bi bio... >>> BTW, misliš da će standardizacija C++ da pomogne silnim OWL >>> programerima kada Borland pukne? > > OWL programerima najbolje može da pomogne munjevito šaltanje na MFC, > što bi im garantovalo lep život na trenutno tri kompajlera. Ako neko > paranoično (ovo nije ništa loše, nemirna su vremena) ne veruje ni u Kao i Delphi programerima. Ali teško da bi im to garantovalo lep život ;)
pascal.427 vitez.koja,
#=>> I koliko vidim netačno za n=1 :) #=> Kako netačno? Pa vratiće true (zar ne)? Pa kažem netačno :) Dakle, jedan nije prost broj. sk ps. A nisu ni negativni brojevi, ali nema veze :)
pascal.428 iznogud,
:: Ne, ne - _svi_ objekti u Delphi-ju _moraju_ da imaju zajednički koren. :: Postoji generička klasa TObject, i ako se ne navede klasa roditelj, :: podrazumeva se ona. žekaj? žak i osnovni tipovi, recimo integer? U, ala su ga napravili, svaka im čast. I kako se pomoću te fantomske klase TObject izbegava upotreba šablona? Pomoću type-casta? Pa u čemu je onda razlika u odnosu na ono što pomenuh, tj. da se u C/C++ isto može postići pokazivačima na void i takođe type-castom? Koliko ja vidim, čak ni jedinstvena bazna klasa ti ne može dati neke stvari koje ti šabloni daju - npr. da kontejner zna sam da dinamički alocira prostor potreban za smeštanje objekta. :: Inače, šablone sam oduvek mrzeo. Oni su vrlo očit primer rešavanja :: problema nastalih u dizajnu jezika metodom grube sile. Imaš pravo da ih mrziš, ali ostatak konstatacije je malo... napamet. Meni lično su šabloni pomogli da rešim stvari za koje sam ranije morao da potežem pretprocesor. Ne vidim šta je tu glupo, i kako bi se drugačije uradilo. :: Hteo sam da kažem da ako Borland ode pod led, ja sa svojim Delphi :: programima neću imati ništa više problema od prosečnog OWL programera. I OWL programer i ti imate isti problem: vezani ste za Borland. Ostatak sveta koristi MFC. Što se biblioteka za C++ tiče, ANSI/ISO standard je propisao kako izgledaju sve standardne biblioteke klasa - kao što na svakom C kompajeru možeš da napišeš '#include <stdio.h>', tako ćeš za neko vreme (čim se standard primi) moći da upotrebljavaš standardne klase za stringove, matrice ili kontejnere na bilo kom C++ kompajleru. U tome je prednost standardizovanih jezika. PS Raspitaj se malo: postoje biblioteke za razvijanje aplikacija koje će raditi pod Win, X Win i Mac sistemima. Napišeš kod, i prekompajliraš.Možeš jednom da pogađaš u kom su jeziku pravljene.
pascal.429 iznogud,
:: Postoji generički TList, koji drži Items pointere. Postoji i :: TStringList. Ovo je bio blaži način da se kaže da ne može ;) Ne može, :: ali u najvećem broju slučajeva i ne treba. Ovako se sve može dokazati, samo kažeš 'to što nema i ne treba mi' ;) U praksi je vrlo često potrebna lista integera koja može da raste prema potrebi. Probaj da elegantno rešiš sledeći problem: treba napraviti sortiranu listu, a instance te liste ćeš kasnije koristiti za smeštanje stringova, integera, objekte klase koje ćeš napisati za dve godine, kao i instance same liste (uslov za sortiranje će biti broj objekata u kontejneru). Ako je moguće, takav kontejner bi mi trebao i na Unix-u, kao i na OS/2 i WinNT za razne procesore (dakle, treba da radi na GNU C++, MSVC i BC++). Ili se ni ovo nikada ne javlja u praksi? ;)
pascal.430 iznogud,
:: Mogu da se urade C++ klase sa RTTI, pod uslovom da ciljni kompajler nije :: MSC, koji je ujedno jedini na DOS platformi za kojeg se pouzdano zna da :: neće da pukne. ;) Što potvrđuje prednost implementacije nad standardom. :: ;) MSVC 2.1 podržava RTTI. BTW, odakle ti informacija da 'samo MSC neće da pukne'? Ljudi se žale na, recimo, brzinu koda optimizovanog BC++, ali vrlo retko na njegovu pouzdanost. O Watcomu neću ni da pričam, nešto ne vidim da OS/2 ili Auto CAD 'pucaju'.
pascal.431 oper,
>> > Exceptions & RTTI ne postoje u pascalu, već u Delphi-ju. Ni >> > jedan drugi kompajler ih ne podržava. Kod c++ kompajlera, >> > stvar je sasvim drugačija. Mada, sve ovo i nema veze, ako u >> >> Eh, sad... I paket BC4.5 može da se zove Mika, pa će jezik opet da >> bude C++. Delphi jeste ime paketa, ali jezik je Object Pascal. To sam i ja rekao. Ako (što reče Maksa) pukne Borland, ja ću da pređem na majkrosoftov ili vatkomov ili xyzov kompajler i imaću i RTTI i šablone i sve. A koliko firmi pravi kompajlere za Object Pascal? >> Postoji generički TList, koji drži Items pointere. Postoji i >> TStringList. Ovo je bio blaži način da se kaže da ne može ;) Ne >> može, ali u najvećem broju slučajeva i ne treba. Ja volim da je tu. 'leba ne jede ;) Imao sam priliku da probam Delphi ovih dana. Pošto se bakćem sa nekim paradox tabelama (koristio sam Paradox Engine uz BC) odlučio sam da pokušam da neke delove paketa uradim u Delphiju. Uradio sam ih i cijenim da bi mi za isti posao u kombinaciji C + OWL + Paradox Engine trebalo tri puta više vremena. A sa paskalom se nisam družio par godina. Samo, to su ipak prosti poslovi i mali program. Već pri tom broju, problem je da se snalaziš u svim onim prozorima. Koliko Borlandovom C++ u nedostaju vizuelni alati, toliko Delphiju nedostaju mehanizmi za rad sa većim projektima.
pascal.432 ognjen,
)-> a jedinica nema dva delioca. Jedinica ima dva delioca: Jedinicu i samu sebe. Ekvivalentno kao što neke kvadratne imaju dva, _ista_, ali i dalje dva, rešenja.
pascal.433 mastermind,
ă─> Jedinica ima dva delioca: Jedinicu i samu sebe. Ekvivalentno ă─> kao što neke kvadratne imaju dva, _ista_, ali i dalje dva, ă─> rešenja. Treba da ima 2 različita delioca.... uostalom, pitaj profesora analize, on će ti objasniti to bolje. MasterMind
pascal.434 mmitrovic,
::::: Netačno. Stringovi terminisani nulom su realizovani sasvim standardnim ::::: Pascal konstrukcijama. PString nije ništa drugo do ^char. Mala ispravka, da ne bude zabune: null-terminated stringovi su tipa PChar=^Char, a PString je ^String što predstavlja standardni Paskal string.
pascal.435 mmitrovic,
::::: Hm, kao što sam rekao, trudio sam se da poštujem ISO Pascal (mada ::::: nisam u potpunosti uspeo), tako da nisam želeo da koristim ove ::::: nestandardne hibridne ekstenzije. Da budemo precizni, i nisi uspeo. Tvoj program se zasniva na tome da je buff tipa String. Standardni paskal nema taj tip već mora da se koristi buff: PACKED ARRAY [1..???] of CHAR; Samim tim otpada upotreba Length funkcije (koja je takođe hibridna kvazi-funkcija. Kvazi je zato što se Length(buff) ne prevodi kao poziv već kao ord(buff[0]) ). Morao bi da izmišljaš mehanizam za prepoznavanje dužine stringa (ili da simuliraš C ili borland paskal sistem stringova). ::::: E, ja mislim na standarni paskal, jer Borland paskal ne liči više na ::::: paskal, i smatram da nije dostojan da nosi to ime. Standardan paskal, ::::: inače, nije za drugo, sem za edukativne svrhe, jer šta će ti paskal ::::: bez raznih 'uses-a' i sličnih poštapalica? Ako Borland Paskal nije paskal, šta je onda? Sve programe koji rade na Turbo Paskalu 3.0 (zadnja verzija koja je kompletno "standardna") prevodi i BP7.0. žak i one koji koriste Turtle graphics ;) Niko tebe ne bije po ušima da koristiš Uses i slične "poštapalice", ali se time lišavaš mnogih prednosti. BTW, packed array of char postoji i na BP7.0. Ako ćemo tim putem, onda ni današnji bejzici nisu bejzici (fuj, pr.aut.), C++ nije C, FORTRAN 90 nije FORTRAN. Po tome, mi bismo svi trebali da pišemo programe u COBOL-u (ne mogu da verujem da ovo još predaju na FON-u, zajebali ljude i uvalili im ovaj šit umesto C++-a :))), jerbo on još "živi" u originalnoj formi. Zastarele stvari se i zovu zastarele zato što postoje bolje i novije. ::::: Lično mislim da je paskal idealan za učenje programiranja, a da ::::: kasnije, kada se dobro ispeče zanat, treba preći na neki moćniji ::::: jezik, tj. C ili Modulu-2. To je definitivno tačno. Mnogo ljudi se lako zapetlja u svoj ego i kažu sebi: "Ja sve mogu da držim u glavi" i onda krenu sa programiranjem od C-a. Ne kažem da je to loš put (uzeti C), ali je loš izbor uz prethodno tvrđenje. Onda krenu sa pisanjem do bola prljavih programa, jer su oni zaboga hakeri, pa posle ni oni sami ne znaju šta su napisali. Sem par ljudi koje sam imao čast da upoznam i koji stvarno sve drže u glavi, ostali samo prave sebi probleme. Jedan moj ortak je počeo sa C-om i ništa mu nije radilo kako treba, pa sam mu predložio da privremeno pređe na paskal. Mesec dana je huktao kako stalno mora da kuca one glupe rezervisane reči, ali su kroz par meseci, kada se vratio na C, svi njegovi programi počeli da rade. A i bilo ih je moguće pročitati. Sa druge strane, teško mogu da se složim da je "standardni" paskal idealan za učenje programiranja. Nedostatak gomile potrebnih tipova i komandi samo otežava rad i predstavlja probleme pri prelasku na novije alatke. Po meni učenje bi trebalo početi od TP5.0 (neverovatno, al još ga čuvam na 4 prašnjave 5.25"DD disete :)) pošto je dovoljno komforan da ti ne presedne rad, a dovoljno striktan da te natera da naučiš da programiraš čisto. Lakše je pretvoriti (sad pričam o C-u): a = 120; b = pow10(a/16); a++; c = ln(a+6*b) a = c-b; u a=(c=ln((a++)+6*(b=pow10((a=120)/16)))-b; nego obratno, zar ne? ;) ::::: neko voli ovo...':). I ja, kao i ti, više volim paskal, ali ću i ja ::::: verovatno preći na C(++), zato što se u poslednje vreme prave moćniji ::::: kompajleri i neke stvari se mnogo brže završe. Ja sam pre mesec dana prešao da ozbiljno radim na C++ i počeo od verzije 4.02 (prva verzija C++ u kojoj nisam morao da se maltretiram oko održavanja projekta). Sam jezik je boza, ali je OWL noćna mora u odnosu na BP-ov OWL (kako su mi neki C++ ljudi obasnili, postoji velika razlika i između ovog OWL-a i onog iz C++3.1). Trebalo mi je mesec dana da iskopam ko tu šta pije a ko plaća. Da ne pominjem do koje je mere iskomplikovano strimovanje objekata (koje je u BP-u bilo boza). Ni dan danas ne znam kako da u C++ kreiram objekat sa diska (prethodno snimljenog preko stream-a). Da ne pominjem event-response tabele i misterije tipa "kako on dodjavola zna koji metod da pozove?!?" :) Dakle, neke stvari se brže završe (manje koda se ukucava za neke stvari zbog proširene sintakse C jezika), ali su neke stvari iskomplikovane bez potrebe). Najviše me nervira što ne moga da kreiram instancu pure-virtual klase čak iako znam da pure-virtualne metode ne bivaju pozivane. Nego moram da nasleđujem i ostavljam prazne funkcije.
pascal.436 mmitrovic,
::::: Bilo nekad. Od verzije 7.0 optimizovan je rad sa setovima. Samo ako je skup neprekidan (npr. X in [1..5]). Kad se radi o uniji više "podskupova" (npr X in [1..5,8..13]) višestruki if je brži.
pascal.437 nbatocanin,
>> Standardizacija će da pomogne kod prenošenja programa sa >> platforme na platformu, i sa kompajlera na kompajler - > džaba meni što (recimo) > > Nešto ne primećujem da se to i dešava u realnom svetu. > Ljudima obično kosa osedi portujući GNU<->MSC ili > Borland<->Watcom. Samo da potvrdim ovo. Mada se dosta govori o multiplatformskim kompajlerima i portabilnosti jezika, veoma malo toga se zaista i koristi. Šta mi vredi što je jezik isti i za DOS i za Win, kad moram potpuno da menjam filozofiju programa i korisničkog interfejsa.
pascal.438 dpredovic,
> :: Inače, šablone sam oduvek mrzeo. Oni su vrlo očit primer rešavanja > :: problema nastalih u dizajnu jezika metodom grube sile. > > Imaš pravo da ih mrziš, ali ostatak konstatacije je malo... napamet. Hoćeš nećeš, tako je. Šabloni su posledica toga da C++ nema zajednički koren klase, i da su svi tipovi nisu baš ravnopravni pa int i nije baš isto što i MojInt. Prvo je ladno moglo da se reši na način kako je to rešeno u Delphiju, a drugo je posledica toga da je C++ nastao kao C pretprocesor. BTW, kada se standard za klase primi, da li će da se menja i MFC? Ako hoće, šta će da se radi sa silnim matorim programima i svim silnim string/kontejner klasama? QQ... Ko će to da prepiše... ;)
pascal.439 dpredovic,
> :: Mogu da se urade C++ klase sa RTTI, pod uslovom da ciljni kompajler nije > :: MSC, koji je ujedno jedini na DOS platformi za kojeg se pouzdano zna da > :: neće da pukne. ;) Što potvrđuje prednost implementacije nad standardom. > :: ;) > > MSVC 2.1 podržava RTTI. > VC 2.1? Za to verovatno treba NT sa 64 mega rama i pojede jedno pola mega diska? > BTW, odakle ti informacija da 'samo MSC neće da pukne'? Ljudi se žale > na, recimo, brzinu koda optimizovanog BC++, ali vrlo retko na njegovu > pouzdanost. Mislio sam na finansijsko pucanje, a što se tiče pouzdanosti Borlanda... Bolje da ne pričamo o tome...
pascal.440 dpredovic,
> Probaj da elegantno rešiš sledeći problem: treba napraviti sortiranu > listu, a instance te liste ćeš kasnije koristiti za smeštanje > stringova, integera, objekte klase koje ćeš napisati za dve godine, > kao i instance same liste (uslov za sortiranje će biti broj objekata u > kontejneru). > > Ako je moguće, takav kontejner bi mi trebao i na Unix-u, kao i na OS/2 > i WinNT za razne procesore (dakle, treba da radi na GNU C++, MSVC i > BC++). > > Ili se ni ovo nikada ne javlja u praksi? ;) Elegantno rešenje tog problema je: uzmi C++ i delji. Problem je u tome što je taj problem toliko apstraktan da za _mene_ njegovo rešavanje nije od nikakvog interesa. Ne znam nikoga kome mogu da prodam ono što radim a kome je bitno portovanje na Unix ili Mac ili OS/2. Uostalom ljudi koji kupuju moje programe radiće pod onim OS-om pod kojim ja kažem da treba da rade - da znam neki lep alat za OS/2 radili bi pod njim, a pošto ne znam - radiće pod Win31/Win95, a programi će da budu u Delphiju/ WatcomSQL/Oracle 7. Da ne dužimo: ako su šabloni i Borlandova nepredvidiva budućnost jedina prednost C++ nad Delphijem, onda taj C++ i nije baš nešto naročito ;)
pascal.441 dpredovic,
> To sam i ja rekao. Ako (što reče Maksa) pukne Borland, ja ću > da pređem na majkrosoftov ili vatkomov ili xyzov kompajler i > imaću i RTTI i šablone i sve. A koliko firmi pravi kompajlere > za Object Pascal? Tjah... Kada pukne Borland ja ću još neko vreme da prodajem Delphiće, a onda ću da gledam šta ću... Verovatno PowerBuilder ili SQLWindows, možda čak i VB4. Sve će da zavisi od Win95 verzija alata.
pascal.442 spantic,
> VC 2.1? Za to verovatno treba NT sa 64 mega rama i pojede jedno pola mega > diska? Radi odlično i pod Windows 95 sa 16 MB (radilo je i sa 8 MB, ali i sam W95 štuca sa istom količinom memorije). Zauzima u punoj instalaciji oko 100 MB na disku.
pascal.443 .sima,
RE: Prost broj ║║ funktion prost ( broj : integer) : boolean; ║║ var i : integer; ║║ begin ║║ prost:=TRUE; ║║ for i:=1 to sqrt(broj)+1 do ║║ if broj mod i = 0 then prost:=FALSE; ║║ end; Ovo je sporo, jer nepotrebno ispituje za parne i svake treće neparne brojeve. Ispitivanje treba da bude za 2 i 3 pa onda za 5,7,11,13,17... To se dobija tako što se postavi korak:=2, pa se od 5 proba i dodaje korak. Korak se u svakoj iteraciji izračunava sa korak:=6-korak. Mislim da je neko već dao ranije ovo rešenje. Pored ovog postoje i razni drugi algoritmi.
pascal.444 iznogud,
:: BTW, kada se standard za klase primi, da li će da se menja i MFC? Ako :: hoće, šta će da se radi sa silnim matorim programima i svim silnim :: string/kontejner klasama? QQ... Ko će to da prepiše... ;) To je cena standardizacije. Verovatno će se uraditi ono što je uradio i Borland sa svojim kontejnerskim klasama kada su se pojavili šabloni: napravili su BIDS, koji može da emulira staru biblioteku, a ostavili su i staru bibilioteku, radi kompatibilnosti, uz preporuku da je više niko ne koristi. Isto se desilo i kada je promovisan ANSI C, a većina programa je radila na K&R C-u... BTW, ja bih voleo da MS malo više poradi na MFC-u, i da ga uklopi u nove standarde jezika. Kod OWL-a mi se svidela robustnost: čak i na Win 3.1, program je vrlo retko pucao 'namrtvo'. Obično bi se javljao neki izuzetak, kulturno me obaveštavajući da sam uradio nešto nedozvoljeno. Poslednji MFC koji sam gledao (MSVC 1.5) nije to imao.
pascal.445 iznogud,
:: VC 2.1? Za to verovatno treba NT sa 64 mega rama i pojede jedno pola :: mega diska? Oh, da... Prvo nema, pa ako nema onda mi i ne treba, a ako mi treba onda je glupo, a ako nije glupo onda je mnogo zahtevno... 486DX4 + 16MB RAM košta negde oko 2500 - 3000 DEM... Ne mislim da je to mnogo za mašinu od koje se živi. Uopšte, problem sa programiranjem kod nas je mišljenje da to svako može da radi, i da kompajler mora da radi na _svakoj_ mašini. Pogledaj CAD-ovce - kada se poslednji put neko požalio što AutoCAD neće da radi kako treba bez 32 Mb memorije? Ljudi su shvatili šta znači izreka 'plati pa klati', što programerima izgleda nije jasno. Ili su to 'programeri'? Sebe smatram hobistom, tj. nekim ko ne živi od programiranja. Kada budem rešio da živim od programiranja, kupiću kompajler koji mi treba, pogledati šta na kutiji piše, koja je mašina za njega potrebna, i kupiti tu mašinu - ta šta je 3000 DEM ako ću da je isplatim već od prvog programa, zar ne? ;)
pascal.446 iznogud,
:: Da ne dužimo: ako su šabloni i Borlandova nepredvidiva budućnost jedina :: prednost C++ nad Delphijem, onda taj C++ i nije baš nešto naročito ;) K'o što sam ja rekao, a ti zaboravio, C++ je standardizovan jezik. To tebi, očigledno, ne znači mnogo, a meni znači (razlika u ukusima). Između ostalog i zbog toga što je to standardni jezik za programiranje pod Win / OS/2 / Unix-om, tako da je sva literatura pisana za C/C++. Ja, eto, volim da isprobavam razne stvari, pa se osećam nelagodno kad mi je na kompjuteru OS za koji nemam kompajler ;) Što se tiče Delphi vs C++, tu je malo neukusno raspravljati, pošto je Delphi C++ nakarikan na pascal sintaksu, onako kako to Borland vidi. U toj situaciji ja se ipak odlučujem za C++, pošto mi se više sviđa osnova jezika - C je jezik koji je pisao programer za programere, dok je pascal jezik koji je pisao profesor za svoje učenike... Clear?
pascal.447 jablan,
> koristi. Šta mi vredi što je jezik isti i za DOS i za Win, kad > moram potpuno da menjam filozofiju programa i korisničkog > interfejsa. Encapsulation, my dear Watson...
pascal.448 djelovic,
> Inače, šablone sam oduvek mrzeo. Oni su vrlo očit primer rešavanja problema > nastalih u dizajnu jezika metodom grube sile. Zašto? Jedini problem sa šablonima jesto to što prave po jednu konkretnu klasu za svaki tip podataka za koji se koriste, ali ne vidim kako pobeći od toga sa čvrsto tipiziranim jezikom? Alternativa tome su stalni cast-ovi, koji bi sa programerskog gledišta bili užasni. > Jes da je C++ standardizovan kao jezik, ali što se tiče > biblioteka... Kuku lele... A tek biblioteke klasa... Kuku lele ** 2... ANSI standard za C++ koji se upravo završava ima sasvim standardizovanu biblioteku klasa za razne poslove. A što se tiče biblioteka za korisnički interfejs, pa tu se samo treba odvojiti od nekog proizvođača: ZINC, XVT++ i drugi nude portabilnost na Motif, Mac-a, text mod, VMS i tako dalje, a čak i sam MFC je prenet na Alfu i na Mac.
pascal.449 djelovic,
> BTW, ja bih voleo da MS malo više poradi na MFC-u, i da ga uklopi u > nove standarde jezika. Kod OWL-a mi se svidela robustnost: čak i na Win > 3.1, program je vrlo retko pucao 'namrtvo'. Obično bi se javljao neki > izuzetak, kulturno me obaveštavajući da sam uradio nešto nedozvoljeno. > Poslednji MFC koji sam gledao (MSVC 1.5) nije to imao. Smile :), verzija 2.1 ima ceo "rad" sa izuzecima.
pascal.450 nbatocanin,
> Encapsulation, my dear Watson... Da je tako jednostavno, imali bi Windowse na svakom sokoćalu počev od Spektruma 16K do IBM 3090 ;> Ajde, probe radi: neka se javi neko ko je uradio ozbiljan C program na jednom OS i _direktno_ ga prebacio na drugi, a da program nije ekvivalentan sa nalaženje maksimuma od 100 brojeva.
pascal.451 ikordic,
RE: => 486DX4 + 16MB RAM košta negde oko 2500 - 3000 DEM... Ne mislim da je => to mnogo za mašinu od koje se živi. Van teme, al' košta mnogo manje :)
pascal.452 icile,
Da li neko zna na koji nacin mogu da uskladim brzinu izvrsavanja nekog programa, nezavisno od masine na kojoj se izvrsava? Trebalo bi da on moze da se pokrene na masini 286-586, sa Herkules odn. EGA, VGA kartama - sve kombinacije moguce. Da li je neko to vec radio, ili bar zna princip po kom bi to moglo da se uradi?
pascal.453 iznogud,
:: Ajde, probe radi: neka se javi neko ko je uradio ozbiljan C program :: na jednom OS i _direktno_ ga prebacio na drugi, a da program nije :: ekvivalentan sa nalaženje maksimuma od 100 brojeva. Pod portabilnošću ja obično podrazumevam nešto drugo... Vizuelni jezici jesu lepa stvar (mnogo ih volim ;) ), ali ako radiš nešto zaista važno, onda ćeš 'engine' toga uraditi odvojeno od interfejsa (naravno, u granicama mogućnosti - jednostavno nije moguće sve uraditi nezavisno od interfejsa). Portabilnost u tom slučaju znači ponovno pisanje interfejsa, ali... Bar se taj interfejs piše na istom jeziku, ako je C/C++ u pitanju, 'engine' ti ostaje isti, što nije slučaj kada se cela stvar pisala na nekom nestandardnom jeziku. Bilo koji objektni jezik je kao stvoren za ovakav način pisanja programa.
pascal.454 iznogud,
:: Van teme, al' košta mnogo manje :) Naravno, al' dopustimo sebi, pošto smo profesionalci, suuper monitor, suuper disk i suuper još dosta toga ;)
pascal.455 pedjak,
> Da li neko zna na koji nacin mogu da uskladim brzinu izvrsavanja > nekog programa, nezavisno od masine na kojoj se izvrsava? Trebalo bi > da on Rešenje postoji, potrebno je samo pri pravljenju potrebnih pauza konsultovati sistemski časovnik. Ukoliko radiš pod DOS-om, postoji mogućnost da se izbegne stalno pozivanje funkcije koja vraća tačno vreme. Na adresi 0000:046Ch se nalazi stanje brojača (četiri bajta), koji se uvećava pri svakom pozivaju tajmer interapta (08h). Pri prelasku na novi dan dolazi do njegovog resetovaja. S obzirom da se int 08h poziva 18.2 puta u sekundi, minimalno vreme koje se može izmeriti na ovaj način je 1/18.2 s. Dalje povećanje rezolucije se može ostvariti reprogramiranjem timer kontrolera, terajući ga da poziva int 08h više puta, nego što je uobičajeno (što ti ne bih savetovao, ukoliko stvarno ne znaš šta radiš). Ovaj princip, po kome se ostvaruje nezavisnost od takta procesora je iskorišćen u ZBTet-u (jednako brzo/sporo se izvršava na svim mašinama :) pedja
pascal.456 jablan,
>> Encapsulation, my dear Watson... > Da je tako jednostavno, imali bi Windowse na svakom sokoćalu > počev od Spektruma 16K do IBM 3090 ;> Da, da je 16K bilo 16M i da je radio na 66 MHz. Konkretno, mislio sam na programe, ne na OS. > Ajde, probe radi: neka se javi neko ko je uradio ozbiljan C > program na jednom OS i _direktno_ ga prebacio na drugi, a da > program nije ekvivalentan sa nalaženje maksimuma od 100 > brojeva. Pod prenosivošću se ne podrazumeva to da ti jednostavno _preneseš_ program, iskompajliraš ga i radi (sem u konkretnom slučaju maksimuma:), nego da izmeniš one stvari koje su karakteristične za platformu (OS), a ovo ostalo ne diraš. Znači, u pravu si za korisnički interfejs, ipak ne možeš od Win-a i Dos-a očekivati da ti progutaju taj deo programa, ali ono jezgro, zapravo baš ono za šta program i služi ostaje kako je bilo. Kod standardizovanih jezika tipa c, c++, modula-2, ovo funkcioniše, pod uslovom da poštuješ principe modularnog programiranja. Ali ako radiš u nekom VBasic-u, ili BPascal-u, ograničen si ne samo na konkretan OS, već i na konkretan kompajler. E, sad, u zavisnosti od toga da li praviš neki program kome je 90% šminka i korisnički interfejs, a 10% ono šta ustvari radi, ili obrnuto, imaš proporcionalno tome i da menjaš program pri prenosu na drugu platformu i/ili drugi kompajler. poz, jablan.
pascal.457 nbatocanin,
> Ajde, probe radi: neka se javi neko ko je uradio > ozbiljan C program na jednom OS i _direktno_ ga > prebacio na drugi, a da program nije ekvivalentan sa > nalaženje maksimuma od 100 brojeva. > > Pod portabilnošću ja obično podrazumevam nešto drugo... > Vizuelni jezici jesu lepa stvar (mnogo ih volim ;) ), ali > ako radiš nešto zaista važno, onda ćeš 'engine' toga > uraditi odvojeno od interfejsa (naravno, u granicama > mogućnosti - jednostavno nije moguće sve uraditi nezavisno > od interfejsa). ... i tako se manje ili više približiti nekom od proizvoda koji interfejs imaju "u sebi". Primera radi, Fox (bi trebalo) da radi na svim platformama bez ikakvih izmena. Poenta nije u tome da na svim OS isto radi IF naredba - to je najlakša stvar na svetu. Problem je sa neophodnim OS-zavisnim funkcijama.
pascal.458 mminovic,
Hi! Zna li neko kako da ugasim kursor u tekstualnom režimu? Unapred hvala,Miroslav.
pascal.459 nlazic,
>> Zna li neko kako da ugasim kursor u tekstualnom režimu? Ovo bi trebalo da obavi posao: procedure HideCursor; assembler; asm MOV ax,$0100 MOV cx,$2607 INT $10 end; procedure ShowCursor; assembler; asm MOV ax,$0100 MOV cx,$0506 INT $10 end;
pascal.460 ognjen,
)-> Zna li neko kako da ugasim kursor u tekstualnom rezimu? Probaj preko asm procedure sa pozivom int 10h.
pascal.461 boko,
e kako da napravim program koji ce da radi u protected modu, u TP 7 ?
pascal.462 nlazic,
>> e kako da napravim program koji ce da radi u protected >> modu, u TP 7 ? U TP 7 nikako. Trebaće ti BP7, tamo izabereš Target DOS Protected Mode, lupiš F9 i to je.
pascal.463 boko,
BO■>U TP 7 nikako. Trebace ti BP7, tamo izaberes Target DOS :(( Jel ovo sigurno ?
pascal.464 nlazic,
>> BO■>U TP 7 nikako. Trebace ti BP7, tamo izaberes Target DOS >> Jel ovo sigurno ? 100%. Ali, ne vidim u čemu je problem. TP7 i BP7 se isporučuju u istom paketu, tako da samo treba da pređeš sa turbo.exe na bp.exe. Postoji, doduše i samostalan paket Turbo Pascal 7.0, pa ako imaš tu kombinaciju, menjaj je.
pascal.465 boko,
BO■>doduse i samostalan paket Turbo Pascal 7.0, pa ako imas tu kombinaciju, BO■>menjaj je. :) ehhh...
pascal.466 boko,
E vidi prog : Uses Dsp,Crt; var a : integer; samplef : file; sample : array [0..64000] of Byte; p : pointer; begin assign(samplef,'dork.wav'); reset(samplef,1); BlockRead(samplef,sample,FileSize(samplef),a); ResetDSP(2); SpeakerOn; Playback(@sample,FileSize(samplef),8000); end. radi kako treba iz onog Turbo.exe i iz Tpx.exe, ali kad ga compiliram, kvrchi bez veze ? u cemu je faZon ?
pascal.467 mc.kuzma,
> Uses Dsp,Crt; > var > a : integer; > samplef : file; > sample : array [0..64000] of Byte; > p : pointer; >begin > assign(samplef,'dork.wav'); > reset(samplef,1); > BlockRead(samplef,sample,FileSize(samplef),a); > ResetDSP(2); > SpeakerOn; > Playback(@sample,FileSize(samplef),8000); >end. Posalji unit dsp pa da vidim da li je mozda tu greska? BTW. Na cemu ovo pustas?
pascal.468 hercog,
Hitno, strahovito hitno mi je p koja na izlazu daje sve kombinacijease. Znači na ulazu imam N i K, a na izlazu dobijem matricu koja po redovima sadrži kombinacije Primer: N = 4 K = 3 Matrica 1 2 3 1 2 4 1 3 4 2 3 4 Pri čemu ovo 1, 2, 3 i 4 koji se dobijaju na izlazu predstavljaju redni broj elementa u početnom nizu elemenata iz koga se prave ko- mbinacije. Sale
pascal.469 dvesic,
> Znači na ulazu imam N i K, a na izlazu dobijem > matricu koja po redovima sadrži kombinacije Prelistaj po prvim ( < 20, mislim) brojevima Računara, tamo je bio vrlo simpatičan program za kombinacije, varijacije i sličnu boraniju :)
pascal.470 boko,
BO■>BTW. Na cemu ovo pustas? Pushtam na SB 2.0 compatible muzi... Delimicno sam provalio u cemu je fazon, ali ne sasvim... Shema je da ti kazesh Play Sample (kako vec beshe) on on to sve sredi i pushta preko DMA... e sam stavio da se program odmah posle toga zavrshi, tj program se zavrshava pre samplea, i zbog toga je kvrcao (valjda je dealocirao stack, pa se izgubila adresa ?), pa sam onda stavio da ceka (delay) dok se sample ne zavrshi, pa je to radilo, ali ne sve vreme, tj sample malo ide, pa posle jedno 4-5 sec pocne da krchi bez veze... nemam pojma, evo ti DSP.PAS pa ti vidi.. dsp.pas
pascal.471 imangovski,
Kako da inicijalizujem neki od svga modova u pascalu? Kada inicijalizujem,kako da nacrtam tacku?
pascal.472 boko,
BO■>Kako da inicijalizujem neki od svga modova u pascalu? BO■>Kada inicijalizujem,kako da nacrtam tacku? Pa imash u dos\program (ili kako se vec zvashe :) direktorijumu unite za svga.. (prebacivanje u 640x480 800x600 1024x768 i sve ostale modove ;), kao i sve standardne graph.tpu procedure, samo prilagodjene za ove modove drawpoly, line, bar, putpixel...)
pascal.473 boko,
e sad sam pogledao... nema :) cek sa cu poshaljem neke, pa ti vidi :) svga.zip
pascal.474 dzakic,
os2\*.* ------------------ speedos2.zip 1221k ű Novi 32-bitni Paskal kompajler (BP7 komp., demo) U direktorijumu je demo verzija, bez samostalnog asemblera, command line kompajlera i on-line helpa. I pored toga, nije teško snaći se jer su se autori potrudili da IDE i sama sintaksa budu jako slični ili identični Borlandovom Turbo Paskalu. Na prvi pogled, ceo paket deluje jako ozbiljno, kompletno i pouzdano. Ima stvari koje, u poređenju sa BP, nisu implementirane prvenstveno iz razloga što pod os/2 nemaju smisla a u nekim stvarima polako vuče na C, kao što se iz citata vidi. Sve razlike su lepo dokumentovane, ali sam primetio još neke nedostatke. O njima drugom prilikom. Autori najavljuju dalji razvoj paketa i implementiranje stvari koje još nisu završene. Demo verzija pravi exe koji na žalost radi 24 sata a nakon toga vas ljubazno zamoli da program kupite :). Evo šta piše u doc-u: --- SpeedPascal/2 is a Borland Pascal 7.0 compatible compiler and an integrated development environment (IDE) with a host of features designed to ease the task of writing OS/2 Presentation Manager(TM) programs. From the IDE, you can access the power of the SpeedPascal/2 tools: A PM-based MDI editor An integrated debugger A 32-bit OS/2 compiler An OS/2 Assembler A Resource Editor and Compiler An Inline Assembler Context sensitive help ** SOME NEW THINGS OF SPEED-PASCAL/2 1) SPEED-PASCAL/2 has an additional data type called CSTRING. This is a C-like string which has no length byte but additionaly a terminating #0 character. You can easily assign CSTRINGs to STRINGs and STRINGs to CSTRINGs, the Compiler will convert the types for you ! Also you can pass a STRING to a procedure that expects a CSTRING. 2) When calling OS/2 API functions you can pass a NIL parameter to a function that expects a variable parameter or a CSTRING. Sometimes there's a significant need to do this. The whole OS/2 API is based upon the C language and expects C data types. To make life easier SPEED-PASCAL/2 supports some of the C features including NULL parameters for functions expecting variable parameters. 3) There's an additional keyword called MACRO. MACROS are directly inserted into the code and can be much faster than calling a procedure or function. This feature comes from the C language 4) String substitution with #DEFINE like in the c language. The syntax is {$#DEFINE identifier=somewhat} where identifier must match the rules of identifiers and cannot be a reserved word and somewhat is the string which is the substitution of identifier in the text. (see documentation) 5) One line comments initiated by // (like in the C language) 6) The global data segment is limited to 512K. This is since SPEED-PASCAL/2 doesn't distingish yet between initialized and uninitialized data. That means ALL data is initialized and therefore written to the applications EXE. It is strongly recommended to use dynamic heap memory when there's a need for large memory pools.
pascal.475 ognjen,
Hi! Moze li neko da mi da jedan kratak primer kako da uz pomoc turbovision-a, napravim neke proste menije, dodelim im funkcijeske (ili alt) tastere i povezem ih sa odredjenim procedurama. Gladao sam one primere iz "Kompletan vodic", ali, em ne rade, em nista ne shvatam.
pascal.476 ognjen,
)-> Moze li neko da mi da jedan kratak primer kako da uz pomoc )-> turbovision-a, napravim neke proste menije, dodelim im )-> funkcijeske (ili alt) tastere i povezem ih sa odredjenim )-> procedurama. Svi ste mi lupili ignore ili niko ne zna da radi sa TVom? :)
pascal.477 dvesic,
> Svi ste mi lupili ignore ili niko ne zna da radi sa TVom? :) Tebe baš mrzi da pogledaš primere ? ;) Ajde sad gledaj : program Primer; uses Objects, Drivers, Views, Menus, Dialogs, App; { potrebni unit-i } const cmFileOpen = 100; { Ovo su konstante koje ce povezati } cmFileClose = 101; { menije i procedure } { Iz postojece TApplication klase kreiras tvoju klasu, koja ce se } { malo drugacije ponasati. Metode koje menjas su sigurno : } { HandleEvent - kontrola poruka po sistemu } { InitMenuBar - inicijalizacija i kreiranje menija } { InitStatusLine -inicijalizacija i kreiranje menija } { Naravno, ako ta aplikacija nesto radi :) dodas tvoje funkcije i } { procedure. } type TMyApp = object(TApplication) procedure HandleEvent(var Event: TEvent); virtual; procedure InitMenuBar; virtual; procedure InitStatusLine; virtual; procedure OtvoriFajl; procedure ZatvoriFajl; end; { TMyApp } procedure TMyApp.HandleEvent(var Event: TEvent); begin TApplication.HandleEvent(Event); { Glavna petlja koja obradjuje } if Event.What = evCommand then { poruke koje stizu } begin { Generalno je to obican CASE } case Event.Command of cmFileOpen: OtvoriFajl; cmFileClose: ZatvoriFajl; else Exit; end; ClearEvent(Event); end; end; procedure TMyApp.InitMenuBar; { Funkcija za meni } var R: TRect; begin GetExtent(R); { Velicina aktivnog prozora } R.B.Y := R.A.Y + 1; { Pozicija meni linije } MenuBar := New(PMenuBar, Init(R, NewMenu( NewSubMenu('~F~ile', hcNoContext, NewMenu( NewItem('~O~pen', 'F3', kbF3, cmFileOpen, hcNoContext, NewItem('~C~lose','F4', kbF4, cmFileClose, hcNoContext, NewLine( NewItem('E~x~it', 'Alt-X', kbAltX, cmQuit, hcNoContext, nil) )))),nil)))) end; procedure TMyApp.InitStatusLine; var R: TRect; begin GetExtent(R); R.A.Y := R.B.Y - 1; StatusLine := New(PStatusLine, Init(R, NewStatusDef(0, $FFFF, NewStatusKey('', kbF10, cmMenu, NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit, NewStatusKey('~F3~ Open', kbF3, cmFileOpen, NewStatusKey('~F4~ Close', kbF4, cmFileClose, nil)))), nil) )); end; procedure TMyApp.OtvoriFajl; var R: TRect; D: PDialog; C: Word; begin { Kreiraj dijalog } R.Assign(10,10,60,17); D := New(PDialog, Init(R,'Prozor sa porukom')); { Insertuj najobicniji tekst } R.Assign(15, 5, 50, 6); D^.Insert(New(PStaticText, Init(R, 'Primer teksta :)'))); { Prikazi dijalog } C := DeskTop^.ExecView(D); end; procedure TMyApp.ZatvoriFajl; begin end; var MyApp: TMyApp; begin MyApp.Init; MyApp.Run; MyApp.Done; end.
pascal.478 hercog,
Mozda ce nekome zatrebati {Ovaj program predstavlja preradu programa iz Racunara 27 na pascal} {Mozda ce nekome zatrebati za generisanje kombinacija bez ponavljanja} {pocevsi od 1 klase do klase navedene pod K} program Kominacije; uses Crt; var petlja,ponavljaj:boolean; i,j,k,n:integer; izlaz:array [1..100] of integer; el:array [1..100] of char; minimum:longint; procedure proc; var l:integer; duzina:longint; begin for l:=1 to k do write(el[izlaz[l]]); end; begin petlja:=true; n:=20; {broj elemenata} k:=20; {klasa} for i:=1 to n do {generisanje elemenata} begin el[i]:=chr(i+ord('A')-1); end; While petlja do begin proc; i:=k; ponavljaj:=false; if i>=1 then ponavljaj:=true; while ponavljaj do begin if izlaz[i]<>n-k+i then begin izlaz[i]:=izlaz[i]+1; if i=k then ponavljaj:=false else begin for j:=i+1 to k do izlaz[j]:=izlaz[j-1]+1; ponavljaj:=false end end else begin i:=i-1; if i<1 then begin petlja:=false; ponavljaj:=false; end end end end end.
pascal.479 ognjen,
Ocete da budete korisni? :) Pravio sam jednu igricu koja ima jednostavne komande (levo, desno, pucaj), a kontrolu tastature sam uradio preko READKEY i KEYPRESSED. Problem je sto je tako kretanje presporo, a i nije kontinuirano (posle prvog znaka sledi kratka pauza). Onda sam se odlucio za logicnije resenje. Citanje preko porta. U petlji se izmedju ostalog ponavlja key:=port[$60] a onda analiza tastera, i Boolean promenjljive LEFTkey, RIGHTkey, SHOOTkey dobijaju odgovarajuce vrdnosti. Medjutim sad je problem bio prevelika brzina. I na najkraci dodir tastera kursor (tj. gun) je tri puta skrolovao po ekranu. Kontrala je nemoguca. Najjednostavnije resenje bilo je ubaciti delay (50) posle svakog pomeranja, ali: postoji vise problema: 1. Ako se taster otpusti za tih 50 ms, program nece registrovati promenu na portu, pa ce kurstor nastaviti kretanje (pucanje) kao da drzimo dati taster. 2. Gubljenje rada u realnom vremenu za ˝50ms. Ovo drugo i nije previse bitno. Treba dakle napraviti neki delay koji ce biti nezavistan od promena na portu (svaka promena ce se registrovati) i koji nece koristiti pascalov delay, da ne bi kvario realno vreme. Da li neko zna kako to?
pascal.480 dzakic,
Napravi 'interrupt' proceduru koja čita port tastature i ispituje da li je u pitanju neki od tastera koji tebe zanimaju. Dakle, registruješ pritisak i puštanje svakog od tastera tako što setuješ odnosno resetuješ odgovarajuće flagove 'leftpressed', 'rightpressed' i 'firepressed'. Na kraju procedure treba signalizirati interapt kontroleru da je interapt obrađen jednim port[$20]:=$20; Onda 'instaliraj' svoj interapt sa var oldintvect:pointer; getinctvect(9,oldint9) setintvect(9,@myint9) Iz programa testiraj stanje promenljivih left/right/firepressed, a i delay će nesmetano raditi (kasnije delay možeš korisno upotrebiti za proračun putanje neprijatelja i sl.). Jedini je problem što testiranjem promenljivih dobijaš _TRENUTNO_ stanje tastera, tako da se može desiti da taster bude pritisnut i otpušten između tvoja dva testiranja (za vreme delay) i tvoj program to neće registrovati. Ako je delay dovoljno kratak, ovo ne bi trebalo da predstavlja problem. Ne zaboravi da po izlasku iz programa vratiš originalni int vektor sa setintvect(9,oldint9) Ako bude problema, tu sam :) Pozdrav, Zak
pascal.481 dj.vlada,
Otvorena je grupa "TP", ko želi da uđe neka mi pošalje molbu mailom...
pascal.482 ognjen,
)-> se moze desiti da taster bude pritisnut i otpusten izmedu )-> tvoja dva testiranja (za vreme delay) i tvoj program to nece )-> registrovati. Kako nece registrovati, ako sam preuzeo interapt? Nije valjda da delay blokira izvrsavanje interapata?
pascal.483 dzakic,
> Kako nece registrovati, ako sam preuzeo interapt? Nije valjda > da delay blokira izvrsavanje interapata? Mislio sam na sledeću situaciju: 1. Testirao si flegove, ništa nije pritisnuto. 2. Program je krenuo u delay(xx); 3. Igrač stiska recimo taster u levo. 4. Izvršava se interapt rutina, setuje se fleg stisnuto je levo. 5. Delay, ukoliko je dug, se i dalje izvršava. 6. Igrač otpušta taster. 7. Interapt rutina resetuje fleg stisnuto je levo. 8. Završava se delay. 9. Tvoj program testira fleg - ništa nije stisnuto, iako je taster bio pritisnut pa otpušten za vreme delay-a. Ovo se naravno da rešiti, ali objašnjenje nije postojalo u mojoj poruci, u pitanju je bila samo ideja. Nadam se da si problem rešio i da ćemo uskoro videti igricu :) Pozdrav, Zak
pascal.484 dj.vlada,
Otvorena je grupa "TP", ko želi da uđe neka mi pošalje molbu mailom...
pascal.485 zeljkoj,
> Otvorena je grupa "TP", ko želi da uđe neka mi pošalje molbu > mailom... A što kad postoji ova tema? :) Svi koji programiraju u TP je verovatno prate.
pascal.486 dj.vlada,
HeHe>> Otvorena je grupa "TP", ko želi da uđe neka mi pošalje molbu HeHe>> mailom... HeHe> A što kad postoji ova tema? :) HeHe> Svi koji programiraju u TP je verovatno prate. Pa eto lepo... Ovde imaju i neka pravila...u grupi nema...
pascal.487 destructor,
Kada iz Pascal-a zelim da izvrsim neki program sa strane, to nije problem koristeci 'Exec',medjutim kako da "nateram" program koji ja pisem da unosi parametre koje taj program trazi,tj. da ih ne ceka sa tastature.Npr:Ako Exec-ujem 'Del *.*' da moj program sam odgovori sa 'Y' na pitanje "Da li ste sigurni...."
pascal.488 janko,
> Kada iz Pascal-a zelim da izvrsim neki program sa strane, to > nije problem koristeci 'Exec',medjutim kako da "nateram" program > koji ja pisem da unosi parametre koje taj program trazi,tj. da > ih ne ceka sa tastature.Npr:Ako Exec-ujem 'Del *.*' da moj > program sam odgovori sa 'Y' na pitanje "Da li ste sigurni...." Da li se varam ili se ponavlja priča koja se već jednom dogadila u ovoj konferenciji. Javio se dečko koji je hteo da napravi maligni virus, očigledno bez puno znanja, a kada su ga pitali da li to stvarno hoće da uradi rekao je prvo "ma samo pitam teorijski" ali se brzo zaključilo da je upravo to hteo? Kakav program pišeš pa ti treba y na del *.* ?
pascal.489 dvesic,
> koji ja pisem da unosi parametre koje taj program trazi,tj. da > ih ne ceka sa tastature.Npr:Ako Exec-ujem 'Del *.*' da moj > program sam odgovori sa 'Y' na pitanje "Da li ste sigurni...." Možda redirekcija ? (nisam probao, samo ideja): Exec("ECHO Y|DEL *.*") Ovo na komandnoj liniji radi. Probaj pa javi.
pascal.491 destructor,
>..ali se ispostavilo da je uravo to hteo.. Virusima se ne bavim..(dok jos ponesto ne naucim ;))), a ako si reply napiso zbog mod USERNAME-a nemoj se uzbudjivati..to je iz drugog razloga. Sto se tice programa radio sam sledece: Program treba da obrise navedeni direktorijum,kao i sve njegove poddirektorijume. To sam uspeo da uradim tako sto sam ulazio u sve direktorijume,trazio file po file, a zatim ga brisao.Medjutim ova druga ideja mi izgleda lepse, ali ne mogu da je realizujem. Znaci:Meni ovo treba prakticno, a NE teorijski!! CU
pascal.492 janko,
> Sto se tice programa radio sam sledece: > Program treba da obrise navedeni direktorijum,kao i sve > njegove poddirektorijume. > To sam uspeo da uradim tako sto sam > ulazio u sve direktorijume,trazio file po file, a zatim ga > brisao.Medjutim ova druga ideja mi izgleda lepse, ali ne mogu da > je realizujem. Nisi napisao šta radi ceo tvoj program. I dalje me nisi uverio da ti nije cilj da nekome upropastiš disk? Ako me uveriš, vrlo ću ti rado pomoći. Vidim da su ti već dali jedan recept... inače, za brisanje direktorijuma sa podrirektorijumima u DOS-u postoji naredba DELTREE.
pascal.493 rdejan,
>> ih ne ceka sa tastature.Npr:Ako Exec-ujem 'Del *.*' da moj >> program sam odgovori sa 'Y' na pitanje "Da li ste sigurni...." Šta fali tupavoj i sporoj kombinaciji FindFirst i Erase (pa čak i ne tako sporoj, pogotovo u odnosu na swap, koji ti želiš da uradiš)? Otkucaj FindFirst, stisni Ctrl-F1 (ako je Borlandov Pascal, a verujem da jeste) i sve će ti se kasti... Pozdrav, Dejan
pascal.494 ognjen,
)-> ih ne ceka sa tastature.Npr:Ako Exec-ujem 'Del *.*' da moj )-> program sam odgovori sa 'Y' na pitanje "Da li ste )-> sigurni...." Jedno od neelegantnih resenja je da napravis datoteku, na primer yes.dat: ----- y [CR][LF] ----- I da kad execujes, uradis redirekciju iz fajla. del *.* <yes.dat Postoji, naravno, mnogo elegantnije resenje za brisanje svih fajlova, sa FindFirst i FindNext. O:)
pascal.495 destructor,
>..i dalje nisi uspeo da me ubedis .. E to vec nije moja greska, a sto se tice  ubedjivanja nemam nameru da ti se pravdam.Inace DELTREE znam da postoji,ali ga ja nemam, jer koristim 5.0.
pascal.496 destructor,
Pozdrav momcima koji su mi dali predloge za 'del *.*'. Sada imam jedno drugo pitanje. Recimo ako obradjujem maticu na neki nacin,i ta procedura kojom to radim je rekurzivna,da li je moguce nekako da sredim da se velicina matrice menja,tj. ako mi na sledecem stepenu obrade treba manja matrica,da ne rezervisem celu matricu kao u prethodnom pa da koristim samo odredjeni deo , vec da rezervisem matricu tacno one velicine koja mi u tom trenutku treba. Npr: ... ... matr:Array[1..p,1..p] Of ... ... pascal nece da prihvati ukoliko p nije definisano kao konstanta.Pitanje:Moze li se ovo zaobici(tako da p moza da bude i promenjiva)? p.s.Na dam se da i ovo neki nece proglasiti destruktivnim.;)) Pozdrav!
pascal.497 mastermind,
oko simuliranja pritisaka... postoji interrupt koji to radi ( int 16h , f-ju ne znam napamet ) a možeš i direktno da gađaš kbd buffer. oko toga prelistaj staru konfu pcprog, teme algoritmi i asm. za brisanje ti je mnogo bolji findfirst/findnext sistem. potraži u helpu to, i biće ti mnoogo jasnije. MasterMind
pascal.499 janko,
> Recimo ako obradjujem maticu na neki nacin,i ta procedura > kojom to radim je rekurzivna, da li je moguce nekako da sredim da > se velicina matrice menja,tj. ako mi na sledecem stepenu obrade > treba manja matrica,da ne rezervisem celu matricu kao u > prethodnom pa da koristim samo odredjeni deo , vec da rezervisem > matricu tacno one velicine koja mi u tom trenutku treba. > Npr: > ... > ... > matr:Array[1..p,1..p] Of ... > ... > pascal nece da prihvati ukoliko p nije definisano kao > konstanta.Pitanje:Moze li se ovo zaobici(tako da p moza da bude > i promenjiva)? Koliko se ja razumem u Paskal, ne može, dimenzije niza su konstante, jer to je pricnip rada kompajlera. Kakav je to algoritam? Obično se problemi sa matricama rešavaju bez pravljenja novih matrica u svakom pozivu, jer je većina problema sa matricama prvi put rešavana u Fortranu, koji nema ni rekurzije. ;) Ako ti je problem ozbiljan, vredi se pomučiti i ili primenjivati neke nestandardne metode, ili da promeniš jezik, platformu ili kompajler. Recimo: Delfi 2 može da radi sa svom memorijom koja je Windowsu na raspolaganju, što je uvek više od 640 K... C++ omogućava dinamičku alokaciju proizvoljno velikog niza (pa zato i matrice). itd... >p.s.Nadam se da i ovo neki nece proglasiti destruktivnim.;)) >Pozdrav! Neće! Go ahead! :)
pascal.500 dvesic,
> pascal nece da prihvati ukoliko p nije definisano kao > konstanta.Pitanje:Moze li se ovo zaobici(tako da p moza da bude > i promenjiva)? Ne, ne može. Možeš da primeniš rešenje sa pokazivačima. Alociraš onoliko memorije koliko ti stvarno treba prilikom svakog rekurzivnog ulaska u proceduru; ovo dosta komplikuje baratanje sa elemntima matrice, ali se da izvesti.
pascal.501 destructor,
 >Kakav ti je to algoritam?Vecina problema sa matricama... Pa pokusavao sam da napisem program koji resava sisteme linearnih jednacina Gausovim algoritmom(dosta je neefikasan, ali za sade nemam bolji), za proizvoljan broj jednacina,pa sam matricu koristio za skladistenje koeficijenata. Medjutim pocetnu matricu ne smem da menjam, jer na osnovu rezultata prethodne matrice izracunavam sledecu promenjivu.   Ipak tnx, da bar znam da se ne mucim oko onoga. p.s.Mozda ovo upotrebim da nekom sredim disk!;))
pascal.502 dvesic,
> linearnih jednacina Gausovim algoritmom(dosta je neefikasan, > Medjutim pocetnu matricu ne smem da menjam, jer na osnovu > rezultata prethodne matrice izracunavam sledecu promenjivu. Što praktično znači da ti ovde rekurzija i ne treba, već samo dimenzionisanje dve matrice; jedna čuva koeficijente prethodnog koraka a druga novonastajuće :)
pascal.503 ognjen,
HELP! Jedna ortakinja iz odeljenja pise seminarski, igra kartama - Makao (jos se zove i Mau-Mau), ali smo danas naisli na problem koji nam se cini neresiv. Naime, u datoteci SEMINARI nalazi se spil karata, datoteka je file of slog2, gde je slog2=record u kome se cuvaju podaci o svakoj karti. Prilikom raznih operacija sa spilom karata (secenje, mesanje) radili smo razne akrobacije sa SEEK i TRUNCATE, i sve izgleda ok, medjuim, kad se prodje secenje, treba da se izbaci zadnja karta sa spila sa: seek (f, filesize(f)-1); truncate(f); Kompajliranje vraca sve okay, ali kad se startuje, na truncate se zaglavi, tako da mu samo reset (soft) moze pomoci. Problem *nije* u truncate, bilo koja procedura koja radi sa fajlom F (probano i CLOSE) zaglavljuje racunar. Posto se radi o veoma hitnoj stvari, molim vas da pogledate ceo program (ako nemate ideju iz ove poruke, sta bi mogla da bude greska), jer smo ja i ona proveli oko 3 sata trazeci gresku, i nismo mogli da ukapiramo u cemu je stvar. 10x. problem.zip
pascal.504 galimpic,
> Posto se radi o veoma hitnoj stvari, molim vas da pogledate > ceo program (ako nemate ideju iz ove poruke, sta bi mogla da > bude greska), jer smo ja i ona proveli oko 3 sata trazeci > gresku, i nismo mogli da ukapiramo u cemu je stvar. Ukratko: zaboravio si da inicijalizuješ pointer tal. Naširoko: (za druge koje zanima, verujem da ćeš se ti lupiti u čelo i sa onim gore) Problem u programu nije rad sa fajlovima, već sa pointerima. Stavio sam brakpoint malo ranije i video da pri dodeli tal^:=... vrednosti pointera tal je NIL. Nisam gledao, možda to radiš i sa još nekim pointerima. Kada deklarišeš pointer varijablu, kreira se samo ona u memoriji (tj. mesto za čuvanje neke adrese), a NE i ono na šta ona pokazuje. Kompajler se neće buniti kada pokušaš da dodeliš vrednost onome na šta pointer pokazuje, ali to je gađanje po memoriji sa nepredvidljivim rezultatima, jer pointer nije inicijalizovan. Moraš da komandom new alociraš mesto za ono na šta pointer pokazuje, uz automatsko dodeljivanje te adrese pointeru: type x=integer; var p:^x; begin new(p); p^:=10; dispose(p); end. Ako ne želiš da pointer pokazuje na posebnu promenljivu, već na neku od postojećih, prebaci ADRESU već alocirane i postojeće promenljive pointeru, pa će opet sve lepo da radi za tu svrhu: p:=@x Tvoj program nije radio zbog gađanja po memoriji upotrebom neinicijalizovanih pointera, a trenutak zaglavljivanja onda može biti bilo kad.
pascal.505 ognjen,
)-> Tvoj program nije radio zbog gadanja po memoriji upotrebom )-> neinicijalizovanih pointera, a trenutak zaglavljivanja onda )-> moze biti bilo kad. Znaci cela stvar je u tome da je na nekom mestu zaboravljeno NEW(tal)? Uh, ko bi se toga setio. :) Jos samo jedno pitanje: koju vrednost ima pointer kada je postavljen na NIL, tj. da li ce upis na taj pointer rezultirati prijavom kompajlera da nije u redu, run-time greske, ili ce opet sve biti u redu, samo ce se zaglaviti u nekom levom trenutku?
pascal.506 galimpic,
> Jos samo jedno pitanje: koju vrednost ima pointer kada je > postavljen na NIL, tj. da li ce upis na taj pointer rezultirati > prijavom kompajlera da nije u redu, run-time greske, ili ce opet > sve biti u redu, samo ce se zaglaviti u nekom levom trenutku? Kada je postavljen na NIL trebalo bi da ima vrednost 0, bar u C-u. Za Pascal nisam siguran, ali kao sto vidis ne prijavljuje gresku nego brlja. Mozda ima neki svic kojim se ovakve greske proveravaju i prijavljuju pri izvrsavanju? Neka se javi neko ko zna.
pascal.507 npmiki,
Potreban mi je izvorni kod za rad sa modemom. U vezi toga sledi pitanje : dali je moguce napraviti program koji ce kada se startuje dati mogucnost onome koji pozove modemom drugi kompjuter , da pristupa svim fajlovima na disku ? Vrlo potrebno . Please help !!
pascal.508 nenad,
> pitanje : dali je moguce napraviti program koji ce kada se > startuje dati mogucnost onome koji pozove modemom drugi > kompjuter , da pristupa svim fajlovima na disku ? Preporučujem ti da pogledaš program DoorAway (\dos\bbs\drwy222.zip), on omogućava da svaki program radi preko modema i možda je zadovoljavajuće rešenje za tvoj problem. Za početak, treba da ga konfigurišeš da poziva command.com, a u svom komunikacionom programu (na računaru sa koga zoveš) da aktiviraš tzv. doorway mod kako se pritisci na tastere ne bi prevodili po aktivoj terminal emulaciji već "direktno" slali remote računaru.
pascal.509 ivko,
Pod jedan: takav program nije tesko napraviti, trebas samo da znas da radis sa komunikacionim portovima u programskom jeziku u kom radis takav program, treba da procitas neki USER'S MANUAL od modema da vidis koje su standardne komande modema i nacin njegovog rada i trece da nabavis izvorni kod nekog transfer protokola (video sam negde u datotekama na Sezam-u izvorni kod za ZMODEM). Inace program ne bi trebalo da bude tehnicki slozen (osim ako neces da pravis srpski Telemate). Pod dva: zavisi koji nivo pristupa tvom disku zelis da ima protivnicki modem. Da moze da lista ceo disk, da kopira, premesta po njemu, da kopira fajlove na tvoj disk, sa tvog diska na njegov (uopste ono sto mozes postici i sa COMMAND.COM programom tj.da napravis modifikovani COMMAND.COM) ne bi trebalo da bude problema ali ako hoces da sa tvog modema startujes program na daljinskom kompjuteru i da se on izvrsava na njemu a da se ono sto se izvrsava vidi na tvom ekranu, malo teze (citaj nemoguce) iz 5*10^3 razloga a najveci je mala brzina prenosa podataka modemom. A i pored toga, postoji dosta drugih ogranicenja rezultovanih organizacijom DOS-a i Windows-a. Ali ako budes radio komunikacioni program mogu ti pomoci. Kontaktiraj me na e-mail. Pozdrav!
pascal.510 dpredovic,
> pitanje : dali je moguce napraviti program koji ce kada se > startuje dati mogucnost onome koji pozove modemom drugi > kompjuter , da pristupa svim fajlovima na disku ? Sasvim moguće, ali je pitanje zašto bi to radio kad već postoji.
pascal.511 npmiki,
Posto vidim da ste voljni da pomognete , sledi detaljan opis. Program koji smo napravili ja i nekolicina drugara , instalirali smo u drugom gradu. Radjen je u fox-u i radi kao source kod (tj. nije kompajliran zato jer se cesto desavaju greske). Da nebi svaki put putovali da ga popravljamo zelim da napravim program pomocu kojeg cu moci da zovnem , uzmem deo programa , popravim i vratim. Naravno da bi to mogao da uradim , potreban mi je pristup hard disku , kao u dos-u. Znam da imaju gotovi programi , ali ja hocu da napravim svoj , pre svega zbog zastite , pa posle zbog n razloga. Sto se tice samog programiranja u pascal-u , to mi nije problem , samo su mi potrebna upustva za rad sa modemom u pascalu , jer isti nikad nisam programirao. Unapred zahvalan.
pascal.512 ivko,
Kada budes bio spreman da primas savete kontaktiraj me na E-MAIL
pascal.513 npmiki,
Skinuo sam program DoorAway i kako izgleda necu morati da pravim novi . :))) tenks !
pascal.514 sale.car,
!?! tenks ! Nema frke, velkom si :))) Cya
pascal.515 npmiki,
Sorry , Sorry , Sorry :(( HVALA , HVALA , HVALA :)))
pascal.516 mango,
Da li je moguce u program ubaciti neki deo pisan u nekom drugom pj (npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera komandom asm? Sto pre mi neko odgovori, to sam zahvalniji, jer je zaista hitno:)
pascal.517 mmarkovic,
> Da li je moguce u program ubaciti neki deo pisan u nekom drugom > pj (npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera > komandom asm? Sto pre mi neko odgovori, to sam zahvalniji, jer > je zaista hitno:) Sve zavisi od jezika, ali obično je moguće linkovati .obj fajlove iz raznih jezika. Prenos parametara je osetljiv... Clepper+C+ASM radi fino...
pascal.518 mmarkovic,
Sad tek videh da je tema pascal :) Svojevremeno sam koristio TP i tu je stvarno bio problem. Nije bio podržan obj format. E, da li je bio neki trik, ne bih znao... Drugi pascal-i ovo verovatno podržavaju glatko.
pascal.519 obren,
> Da li je moguce u program ubaciti neki deo pisan u nekom drugom pj > (npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera > komandom asm? Ako misliš na šarani sors u više jezika - teško :) Ako misliš na linkovanje .OBJ fajlova prevedenih na C-u, može. Funkcije treba da budu kompajlirane po "pascal" konvenciji. Trebalo bi da se uz Turbo Pascal dobijaju neki programi poput CPASDEMO.PAS i CPASDEMO.C koji ilustruju ovo povezivanje - pogledaj po disku.
pascal.520 strider,
:>Kakav program pises pa ti treba y na del *.* ? Pa veoma DeSTRuKToVaN reko bih:)))
pascal.521 bceklic,
> :>Kakav program pises pa ti treba y na del *.* ? > > Pa veoma DeSTRuKToVaN reko bih:))) Imam program koji onemogucava upotrebu zvezdica pri radu sa fajlovima (izmedju ostalog) ali bojim sa da to nije najbolje resenje za naseg prijatelja... :) poz, Blagoje.
pascal.522 mmitrovic,
::::: Pa pokusavao sam da napisem program koji resava sisteme ::::: linearnih jednacina Gausovim algoritmom(dosta je neefikasan, ::::: ali za sade nemam bolji), za proizvoljan broj jednacina,pa sam ::::: matricu koristio za skladistenje koeficijenata. Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu matrice sistema i proširene matrice sistema. Znači ako imaš sistem od npr 3 linearne jednačine: ax+by+cz=d ex+fy+gz=h ix+jy+kz=l x,y,z promenljive, a..l je iz R. Matrica sistema je a proširena matrica sistema je | a b c | | a b c d | A = | e f g | B = | e f g h | | i j k | | i j k l | Kompjuterski se rešava slično Gausu (eliminišu se transformacijama (ne menjaju rang) prvo u prvoj koloni sve vrednosti sem prve, pa onda u drugoj sve vrednosti sem prve i druge, korišćenjem vrednosti iz druge vrste, itd). U gornjem primeru npr. dodaš prvu vrstu drugoj prethodno je pomnoživši sa (-e/a) (elementarna transformacija vrste) i dodaš prvu vrstu trećoj prethodno je pomnoživši sa (-i/a) i onda dobiješ matricu oblika | a b c d | | | | eb ec ed | | 0 f- -- g- -- h- -- | | a a a | | | | ib ic id | | 0 j- -- k- -- l- -- | | a a a | onda više ne diraš prvu vrstu nego uz pomoć druge eliminišeš drugi element zadnje vrste (nadam se da si shvatio, mrzi me da pišem puno razlomaka). I za najgore oblike brojeva a..l kompjuter neće imati problema sa računanjem. Na kraju dobiješ Gausovu trougaonu matricu sistema + dodatnu kolonu sa rešenjima. Rang ti je tada broj elemenata na dijagonali glavne matrice koji su različiti od 0. Npr dobiješ matricu oblika: | a d g i | a,b,c su neki brojevi različiti od 0 | 0 b e h | d..i su bilo koji brojevi (može i 0). | 0 0 c f | (ova slova ne odgovaraju istim vrednostima iz matrice B) za ovu matricu kažemo da je rang A = rang B = n = 3 i za odgovarajući sistem kažemo da je SAGLASAN i ODREĐEN. (x,y,z) dobijaš iz gornje matrice pošto iz zadnje vrste imaš da je cz=f tj z=f/c, onda to vratiš u prethodnu itd. dobiješ jedno rešenje. NAPOMENA: ne smeš vršiti elementarne transformacije nad kolonama pošto ćeš poremetiti poredak x,y,z rešenja. Sad ide najlepši deo ovog algoritma. Da bi rang A bio manji od n (veličine matrice sistema) jedna od vrsta u prvom delu matrice mora biti 0. tada je rang A=n-1. Ukoliko je u istom redu i proširena vrednost 0 tada je i rang B = n-1. Potreban i dovoljan uslov da sistem bude saglasan je da je RANG A = RANG B. Npr. proširene matrice nekih saglasnih sistema sa rangom manjim od n. | a b c d | | a b c d | | a b c d | | 0 e f g | rang=2 | 0 0 0 0 | rang = 1 | 0 0 0 0 | rang = 2 | 0 0 0 0 | | 0 0 0 0 | | 0 e f g | I i II jedn. su propor. Primeri nesaglasnih matrica sistema (rang A <> rang B) | a b c d | h<>0 | a b c d | e,f<>0 | 0 e f g | rang A = 2 | 0 0 0 e | rang A = 1 | 0 0 0 h | rang B = 3 | 0 0 0 f | rang B = 3 Tako možeš da detektuješ nesaglasne sisteme, što je sa gausom teži postupak. To što je u prethodnim saglasnim matricama rang manji od n znači da je sistem NEODREĐEN i da ima beskonačno mnogo rešenja. Npr iz prve saglasne matrice dobiješ: g-fz ey+fz=g tj. ey=g-fz tj. y = ------, to i z zameniš u prvu jed. ax+by+cz=d e i dobiješ rešenje oblika (kc, lc, c) gde je c proizvoljan broj tj. rešenje gde su x i y linearne funkcije od z. Iako ove formule izgledaju malo teže (što i jesu) algoritam je veoma prost. Rang matrice sistema dobijaš tako što ga postaviš na n i smanjuješ za svaku vrstu u kojoj su svi elemnti jednaki 0. Pazi samo da u ovu proveru ne uključiš i proširenu vrednost (zadnji element vrste) pošto ona ne ulazi u rang matrice A. Rang proširene matrice B dobijaš na isti način ali ispituješ punu dužinu matrice. Naravno ovde se u oba slučaja radi o svedenoj trougaonoj matrici, čime još više pojednostavljuješ algoritam. To svođenje je neophodno kako bi se prisustvo proporcionalnih jednačina manifestovalo kao smanjenje ranga. Onda uporediš rang A i rang B i odrediš saglasnost i određenost sistema i nađeš rešenja jednostavnom primenom 4 računske operacije. Nema nikakvog skraćivanja matrica, rekurzije i ostalih čudesa. Elementarne transformacije matrice su ti: 1) Množenje vrste (kolone) konstantom koja nije nula. 2) Dodavanje jedne vrste drugoj uz prethodno množenje prve nekom konstantom različitom od nula. Naravno, vrstu koju si dodavao posle ne pišeš pomnoženu tim brojem (ali možeš ako ti tako odgovara, zbog prav. 1) 3) Zamena mesta dveju vrsta (kolona) pravila 1 i 3 se koriste za papirno izračunavanje i ovde ti nisu potrebna. Treba ti samo implementacija pravila 2 koja je elementarni programerski zadatak. To je ujedno i najteži deo ovog algoritma (rekao sam da je prost a moćan ;) ). Opet da napomenem da ne primenjuješ elementarne transformacije nad kolonama. Dobićeš ispravan rang, ali tako dobijenu matricu nećeš moći da iskoristiš da dobiješ konačno rešenje. Još jedna gotivna stvar sa ovim algoritmom je što uz mala proširenja može da rešava parametarske sisteme jednačina. u zavisnosti od parametra zavisiće uglavnom elementi na dijagonali svedene trougaone matrice i onda gledaš za koje vrednosti parametra će neka od njih biti 0 (onda automatski pada rang matrice sistema) i za te vrednosti odrediš saglasnost i nađeš ono "beskonačno rešenje", ako postoji. Za sve vrednosti parametra za koje su elementi na dijagonali <>0 sistem je saglasan/određen i ima jedno rešenje (vidi gore). Nadam se da sam bio od pomoći (koji sam ja čaršav napisao, vidi se da dugo nisam kucao :) ).
pascal.523 vitez.koja,
#=> Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu #=> matrice sistema i proširene matrice sistema. Znači ako imaš sistem #=> od npr 3 linearne jednačine: U čemu je zapravo razlika Gausovog postupka od ove KK teoreme? Ovde pišem u obliku matrice i ne vučem promenljive i to je kao novi postupak? Smešno... Oduvek su me nervirali ti "novi" metodi rešavanja koji su isti kao i oni stari, samo imaju diskusiju koju inače znaš... Najgore je što ih izmišljaju ljudi sa teško zapamtivim (prez)imeninima i onda kad ti dodje na ispitu/kontrolnom Štolc-Majersova teorema i njene posledice, moš se slikaš... :) Naravno, ne shvati ovo ništa lično, pošto i nema veze sa tobom... sk
pascal.524 embe,
>:::: ali za sade nemam bolji), za proizvoljan broj jednacina,pa sam >::::: matricu koristio za skladistenje koeficijenata. >> Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu matrice >> sistema i prosirene matrice sistema. Znaci ako imas sistem od npr 3 >> linearne jednacine: Nema bolje (direktne) metode od gausove metode eliminacije. Postoji dokaz da je za gausovu metodu potrebno ubedljivo najmanje racunskih operacija, u odnosu na ostale metode direktnog resavanja sistema linearnih jednacina. Gausovom metodom se najprostije dolazi do Č  determinante matrice, a samim  tim i do ranga matrice. Jedina stvar koja se moze menjati je nacin skladistenja matrice, pa otuda razlicite modifikacije - ako su u pitanju trakaste, simetricne itd. Mana Gausove metode, kao i svih direktnih metoda je u nagomilavanju greske, pa se kao tacniji smatraju (a i jesu) iterativne metode za resavanje. Ali opet, oni imaju manu da ne mogu da resavaju sve sisteme jednacina, vec samo one za koje resenja konvergiraju. Dakle, Gausova metoda je najbolja, samo je umece iskoristiti sve pogodnosti sistema jednacina koji se resava (trakasti sistemi, simetricni sistemi, trougaoni sistemi itd). Ali za apsolutno proizvoljne sisteme jednacina jedini nacin koji resava je Gausova metoda eliminacije. Pozdrav, Milan.
pascal.525 avas,
Zainteresovao sam se za programiranje (resio sam da programiram..). Davali su mi raznorazne savete raznorazni ljudi ali mi se sledeci ucinio najlogicnijim i najnormalnijim - kaze covek: "Prvo ti bato nauci pascal da bi najbolje ukapirao smisao programiranja, pa tek onda predji na C i C++ (sto je bila moja zamisao)". Sta mislite o ovome? Sta sve da nabavim i procitam za pocetak ? Svi saveti pascal guru-a sudobrodosli. Kako da pocnem?
pascal.526 ognjen,
)-> Svi saveti pascal guru-a sudobrodosli. Kako da pocnem? Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od Dejana Ristanovica, on ce ti za pocetak dosta pomoci. Mozda neces bas sve da shvatis iz njega (ja tada nisam :) ali je dovoljno za pocetak. Sta ti ne bude jasno, pitas ovde, jasno.
pascal.527 avas,
Hvala!
pascal.528 boko,
BK■> Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od imaš ga i ovde negde po direktorijumima...
pascal.529 sale.car,
!?! Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od !?! Dejana Ristanovica, on ce ti za pocetak dosta pomoci. Mozda Imas ga ovde u dir-u Pascal mislim da je prvi text... Cya
pascal.530 boko,
e Treba mi da zamenim vrednosti dvema promenljivim... jel moze kraće od: temp:=prva; prva:=druga; druga:=temp; ... ?
pascal.531 hercog,
@> temp:=prva; @> prva:=druga; @> druga:=temp; Ako su promenljive brojne, ondak može i prva:=prva+druga; druga:=prva-druga; prva:=prva-druga; Sale p.s. nije kraće :)
pascal.532 obren,
> Treba mi da zamenim vrednosti dvema promenljivim. Jel može kraće od: > temp:=prva; > prva:=druga; > druga:=temp; To je OK. Svi tako rade... :) Može i ovako (za brojevne promenljive) ako želiš da se praviš pametan ;) prva := prva + druga; druga:= prva - druga; prva := prva - druga;
pascal.533 spantic,
> temp:=prva; > prva:=druga; > druga:=temp; Obično se postavlja pitanje da li mogu da se zamene dve promenljive a da se ne koristi pomoćna promenljiva. Odgovor je da, ali ako ne koristiš integer gubiš na tačnosti i rešenje nije regularno.
pascal.534 galimpic,
> temp:=prva; > prva:=druga; > druga:=temp; Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B).
pascal.535 embe,
> temp:=prva; > prva:=druga; > druga:=temp; >>>Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B). Pa sto sam ne napravi SWAP ????
pascal.536 boko,
BO■>Odgovor je da, ali ako ne koristiš integer gubiš na BO■>tačnosti i rešenje nije regularno. Koristim integer..
pascal.537 boko,
BO■>Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B). To pitam :)
pascal.538 boko,
BO■>Pa sto sam ne napravi SWAP ???? kako ?
pascal.539 spantic,
> prva:=prva+druga; > druga:=prva-druga; > prva:=prva-druga; I totalno je netačno! Kad smo već kod toga. Radi samo za Integere.
pascal.540 hercog,
@> I totalno je netačno! Kad smo već kod toga. Radi samo za Ja sam napomenuo da radi samo za brojeve... Sale
pascal.541 spantic,
> Ja sam napomenuo da radi samo za brojeve... Opet netačno. Jer ne radi za sve brojeve, već samo za integer.
pascal.542 micotakis,
Ajde nek mi neko objasni sledeću stvar. Imam neko programče i kao exe i kao sorce. Kada sam u čistom dos-u sve lepo radi, ali kada sam probao da ga startujem iz Deskview-a, program nije hteo da radi. Nisam imao hrabrosti da ga startujem pod Win(3.1), da se ne bi desilo nešto čudno, jer mi se čini da mu sme- ta bilo kakav multitasking. U čemu je problem? 1. u *.obj fajlu za koji nemam sors 2. u kompajliranju odnosno da ne treba kompajlirati sa compile 3. u opcijama za kompajliranje znači one perverzije {$L} i sl. 4. dolazi do preklapanja u memoriji 5. nešto peto Inače program lepo počne da radi i kad izaberem opcije koje moram da dam na početku i kad treba da počne da radi ono za šta je napravljen on blokira mašinu i ne pomaže ni Ctrl Alt Delete, već moram da pri- tisnem reset. Ajde ljudi pomognite čoveku koji jedino zna spectrumov basic, ali si- lom prilika mora da nauči pascal da bi položio ispit. Inače nije ovo moj pogram, ali me zanima u čemu je fora da bi to izbegao kod mene u programu. EMPIRE
pascal.543 dzakic,
Nisam baš shvatio zašto je neophodno da program radi u dv-u, ako prijatelj već samo uči paskal. I šta je u tom obj-u koga linkujete? Liči na konflikt sa xms/ems memorijom. Često se problemi mogu rešiti i dobrim konfigurisanjem dv-a za konkretan program. Opcija {$L} nije nikakva perverzija - služi kao direktiva kompajleru da generiše informacije o lokalnim promenljivama koje omogućavaju dibageru njihovo pravilno prikazivanje. Utiče samo na veličinu exe-a, ne na njegovu veličinu niti brzinu izvršavanja. Dakle, to nije. Ako ne radi u dv-u, nije razlog da ne probaš u windowsima, mada isto je to g* ;) Sve u svemu, nemaš ipak ceo sors jer linkuješ .obj. A on može da radi šta hoće...
pascal.544 micotakis,
Ĺ Nisam baš shvatio zašto je neophodno da program radi u dv-u, Ĺ ako prijatelj već samo uči paskal. I šta je u tom obj-u koga Ĺ linkujete? Liči na konflikt sa xms/ems memorijom. Često se Ĺ problemi mogu rešiti i dobrim konfigurisanjem dv-a za konkretan Ĺ program. Program je neko čudo dovučeno ko zna odkle. Služi za puštanje mo- dula. Pisan je u pascalu i fino može da se iskoristi u nekom pro- gramu da svira u pozadini. :) Šta je u *.obj nemam blage veze. Mogu da ti ga pošaljem, ali čemu to? Koliko mi je pozanato to neće pomoći. Shavtio si da se samo ja patim sa ovim. Mora da radi u dv-u iz jednog prostog razloga, program mora da radi u svim uslovima, inače nije dobar, to znaš i sam. Program koji radi u čistom dosu mora da radi i pod win i pod dv-om. To je barem moja filozofija. Da li si video da npr. DOS NAVIGATOR neće da radi pod windowsom? Naravno da će da radi. Ĺ Opcija {$L} nije nikakva perverzija - služi kao direktiva Ĺ kompajleru da generiše informacije o lokalnim promenljivama Ĺ koje omogućavaju dibageru njihovo pravilno prikazivanje. Utiče Ĺ samo na veličinu exe-a, ne na njegovu veličinu niti brzinu Ĺ izvršavanja. Dakle, to nije. Slučajno sam izabrao baš to. Videh i to negde u programu. A rekoh perverzija čisto onako, jer to nije za nas početnike. Znam da je to za to, video sam u help-u. Ĺ Ako ne radi u dv-u, nije razlog da ne probaš u windowsima, mada Ĺ isto je to g* ;) Ma brinem se da mi ne blokira mašinu, pa da moram da izlazim na silu, a znaš da je win osetljiv po pitanju nasilnog izlaska iz programa. Zato mnogo više volim DV. Ĺ Sve u svemu, nemaš ipak ceo sors jer linkuješ .obj. A on može Ĺ da radi šta hoće... I to što kažeš, ali je suština u tom *.obj, da nije njega ne bi bi- lo ništa od programa. E sad to je shareware pa zato nema sorsa za to. EMPIRE
pascal.545 zeljkoj,
> filozofija. Da li si video da npr. DOS NAVIGATOR neće da radi > pod windowsom? Naravno da će da radi. Probaj da uključiš direktan pristup disku u DN-u. ;) > I to što kažeš, ali je suština u tom *.obj, da nije njega ne bi > bi- lo ništa od programa. E sad to je shareware pa zato nema > sorsa za to. Ima u diru program za disasembliranje .OBJ fajlova. Možda ti to pomogne?
pascal.546 mmitrovic,
::::: Probaj da uključiš direktan pristup disku u DN-u. ;) Ali samo pod 95. Tu je svejedno koji je program, ako ne lokujes disk, niko nema pravo direktnog pristupa, tacnije direktnog pisanja. Sto se tice DV-a, zar to neko jos koristi? Ako jr potrebna memorija preko 640k treba koristi dos4gw ili borlandove DPMIxx ili neke trece ekstendere koje podrzava linker. Ako je u pitanju Borlandov paskal tu su DPMI16 i DPMI32.
pascal.547 visnja,
> koje podrzava linker. Ako je u pitanju Borlandov paskal tu su > DPMI16 i DPMI32. Ne savetujem borlandove DPMI-e sa paskalom, paskal gubi ono zbog cega je paskal i postaje C. Ja ovo iz iskustva. Neka neko proba u DPMI da prevede Borlandov SOURCE u kome je klasa TEDIT (Turbo Vizija editor), i neka onda proba malo sa clipboard-om da radi... ne gine runtime error 216 (general protection fault) Da zlo bude vece onaj prevedeni (TPP) radi, ali ako ja prevedem source - JOK. Imao sam probleme i sa PXEngine u DPMI16. Bez razloga nije hteo da nadje neke recorde po sekundarnom indeksu?!? (PxSrchKey...) Ako neko ima jos neko iskustvi ili SAVET... neka ga baci ovde. Pozdrav.
pascal.548 npmiki,
Radio sam neki program za grafikcko predstavljanje podataka i na kraju sam napravio podesavanje boja pomocu misa (R,G,B) i tu se javio problem. Pokusao sam sa naredbom setrgbpalette i sa interaptima ( AX=$1010,BX=reg,CH=g,cl=b,dh=r,int $10) ali menjaju se samo prvih 5 boja. Na ostale ne mogu da uticem ni na jedan opisan nacin. (program radi u modu 640x480x16) . Help !!! P.S. nisam jos probao sa registrima svga karte , ako neko zna kako neka i tu pomogne. Imam vesa kompatibilnu karticu UMC 1mb. Unapred hvala .
pascal.549 destructor,
Danas sam radio nesto i, dogodilo mi se sledece: {Var . . p,g:Integer; s:LongInt; . . Begin . . p:=GetMaxX+1; g:=GetMaxY+1; s:=p*g Div 2 + 6; . . a:=0; While a<=s Do Begin . . a:=a+b;(b je const) End; } Medjutim nikako nije hteo da radi.Probam sa F7 i ispostavi se da ne ulazi u petlju. ??? Probam sa WATCH i vidim sledece: p:640 g:480; s:-10234; O cemu se radi?Prevodioc?? Pozdrav, DeStrUctOr
pascal.550 madamov,
> p,g:Integer; > s:LongInt; > ... > s:=p*g Div 2 + 6; > > Probam sa WATCH i vidim sledece: > p:640 > g:480; > s:-10234; Nisam se davno bavio Paskalom, pogotovo ne na PC-u, ali ovo bi trebalo da bude očigledno nezavisno od jezika. Elem, kod izračunavanja s ti je desna strana Integer jer su takvi p i g, a kako rezultat koji treba da dobiješ ne može da stane u Integer promenljivu dolazi do toga da važi samo Integerski deo, i to bez predznaka, tak oda dobijaš ovu vrednost. Deklariši p i g kao LongInt i neće bit iproblema.
pascal.551 dvesic,
> s:=p*g Div 2 + 6; > O cemu se radi?Prevodioc?? Uradi Cast. Ovo je standardni problem kod konverzije među tipovima. Treba nešto kao: s := LongInt(p)*g Div 2 +6 Nije neophodno (ali ne smeta) da kastuješ (izem ti izraz :) obe promenljive, pošto se rezultat računa prema tipu sa najviše bajtova.
pascal.552 destructor,
Hvala za saveti, proradio je!:) Medjutim ovo mi se ne javlja(ili se javlja, ali ja nisam primeto), kada je na primer: s(integer):=p(byte)*q(byte) DeStrUctOr
pascal.553 dvesic,
> Medjutim ovo mi se ne javlja(ili se javlja, ali ja nisam > primeto), kada je na primer: > s(integer):=p(byte)*q(byte) Ovo je opet pitanje interne organizacije kompajlera. Većina kompajlera i byte promenljive pamte u dva bajta. Ili jednostavno nisi množio dovoljno velike bajtove ...
pascal.554 micotakis,
Imam par pitanja. Pa ko zna nek mi odgovori. Učim paskal iz par knjiga. Između ostalog iz one od Stephn O'Bri- ana TURBO PASCAL 6 (kompletan vodič). I tako naleteh na onaj pro- gram Quick Sort. Probah da startujem program i javi mi da ima gre- šku. Pregledam lepo program i zatvorim jedan nezatvoreni komentar. To je bila jedina greška. Program je sa diskete koja se dobije uz knjigu i upoređivanjem videh da su(valjda) isti. Probam da starujem program, međutim javi mi prekoračenje steka. Probao sam sve živo. Povećavao vrednost steka na maksimum. Stavljao EMM umesto QEMM-a, startovao ga iz IDE okruženja i kao exe fajl i uvek isto. Da napomenem za one koji nisu videli kod, da se niz koji se sortira sastoji od 10 elemenata. Intersuje me gde grešim, da li je uopšte dobar listing programa, koliko bi trebalo memorije da bi to radilo... Problem je u rekurzivnom pozvu procedure to je sigurno. Ako treba mogu i listing da okačim. Prvenstveno očekujem odgovor od onih koji imaju knjigu. Ako nekog bude interesovalo ide i listing. EMPIRE
pascal.555 micotakis,
Radim neki program, objektno orijentisan, u turbo vision okruženju. To mi je seminarski za fakultet. Prva verzija je bila neobjektna i nije bila u TV-u i povrh svega imala je bag. Bag je bio posledica pokušaja optimizacije i to u samom startu. Poslušao sam Zaka i kre- nuo ispočetka. Međutim sad sam se primio na objekte i TV. I moj pro- gram radi. Ostalo je samo da se uradi sledeće. Snimanje podataka na disk i kasije učitavanje. Videh u knjizi primer učitavanja datoteke kako BAFEROVANOG STRIMA, ali mi to ne treba, barem onako kako je to opisano u knjizi. Meni treba da učitam sve objekte(ala sam se iza- rzio, biću dobar obećavam, nemojte da me bijete) sa diska u TCOLLE- CTION. E sad sledi pitanje da li je uopšte moguće snimiti objekat kao objekat u datoteku. Iskreno rečeno meni je to nešto sumnjivo. Video sam u jednoj knjizi da je čovek prvo ona polja objekta koja su mu trebala da snimi konvertovao, t.j. iskopirao u određena polja slo- ga(to mu dođe record), a ona to snimao u file deklarisan kao file of records. Kod učitavanja je rađeno suprptno. E sad mene zanima sledeće. Da li je moguće snimiti i učitati datoteku kao BAFEROVANI STRIM, ali tako da se ne dodaje opcija menija snimi i učitaj. Verovatno da može. Samo kako? Ili mi preostaje da konvertujem u record? Šta mi predlažete. Samo brzo. Ovo mora da bude gotovo do 19.08.'96. Kratak opis i savet. EMPIRE
pascal.556 dvesic,
> Problem je u rekurzivnom pozvu procedure to je sigurno. > > Ako treba mogu i listing da okačim. Prvenstveno očekujem odgovor od > onih koji imaju knjigu. Ako nekog bude interesovalo ide i listing. Lepo okači listing (knjigu imam, ali mi nije pri ruci) pa ćemo da sredimo stvar. Daj i test primer za koji ti program sigurno puca.
pascal.557 destructor,
Moze li neko da mi kaze gde da nabavim neku literaturu sto se tice: 1)Manipulacije slikama(snimanje na disk,citanje sa diska,kretanje) 2)TSR programa(pisanja tsr programa) Pozdrav, DeStrUctOr
pascal.558 npmiki,
Dali neko zna kako da povecam prostor za promenljive u pascal-u ? Znam da je ogranicen na 64 Kb , ali u BP postoji zasticeni mod , kako ga iskoristiti za promenljive. Ako je jedino resenje korisnjenje promenljivih preko pointera i ubacivanjem u HEAP memoriju ja to ne znam - KAKO ? Dali neko ima izvorni kod za ucitavanje slika bilo kojeg formata , znam da ima modul na sezamu ali ga TP7.0 ne moze koristiti ? Ako neko ima molim ga da mi posalje na mail ili ovde. Unapred zahvalan .
pascal.559 micotakis,
Opet ja i moje petljanje. Pokušavam da sortiram jednostruko spregnutu listu. Moja procedura ne valja. Gde grešim nemam pojma. Ovo sam poku- šao da uradim. {------------------------------------------------------------------} Procedure Sortiraj; Var Sledeci,Daleki : Ptr; Sortirana : Boolean; Begin Repeat Trenutni := Prvi; Prethodni := Nil; Sortirana := True; While Trenutni^.Next <> Nil Do Begin Sledeci := Trenutni^.Next; If Trenutni^.Broj < Sledeci^.Broj Then Begin Sortirana := False; If Sledeci^.Next <> Nil Then Daleki := Sledeci^.Next Else Daleki := Nil; Trenutni^.Next := Daleki; Sledeci^.Next := Trenutni; Prethodni^.Next := Sledeci; End Else Trenutni := Trenutni^.Next; End; Until Sortirana; End; {------------------------------------------------------------------} Lepo krira listu, i lepo prikaže celu listu, ali sortiranje nikako. Znam da ova procedura ne valja, ali kako i zašto, to već ne znam. Pomagajte ljudi. Boli me više glava od ovoga. Recite mi kako se ovo radi. Kako da prepovežem veze, a da ne pokidam lanac? EMPIRE
pascal.560 legend,
-=-> 2)TSR programa(pisanja tsr programa) Koliko se ja sećam, ovde na sezamu imaš neki primer koji je opisan u računarima. E sad neznam tačno kako se zove file, ali nešto sa resi_mm.zip ili tako nešto. Uostalom pogledaj u pascal diru, pa ga nadji. Ako slučajno nema, ostavi poruku na mail, pa da ti nakačim. Inače, primer je sasvim jednostavan i trivijalan, ali koristan. Legend of LoC!
pascal.561 bokir,
Evo, u arhivi je program koji ce sortirati listu, tvojom procedurom, samo malo izmenjenom. Greska je bila sto je Prethodni u prvom prolazu (valjda i u ostalim :) bio NIL, pa si uzalud trpao vrednost u Prethodni^.Next. Druga greska je sto se Prethodni nije 'pomerao' unapred. U svakom slucaju, evo fajla, pa pogledaj... 8.559
pascal.562 bokir,
Sorry, imao sam malih problema :) Pogledaj poruku 8.561, tamo je odgovor na tvoj problem.
pascal.563 micotakis,
Ĺ Greska je bila sto je Prethodni u prvom prolazu (valjda i u Ĺ ostalim :) bio NIL, pa si uzalud trpao vrednost u Ĺ Prethodni^.Next. Druga greska je sto se Prethodni nije Ĺ 'pomerao' unapred. Što reče zakić, kako to da ti ono ne radi? Zar si ti uopšte očeki- vao da ono proradi. Hvala u svakom slučaju pogledaću. Sigurno će mi zatrebati. Inače taj problem sam rešio, tako što sam upotrebio, dvo- struko spregnutu listu i već gotov sorce iz knjige. Shvatio sam da od viška glava ne boli, a na ne jednostruku listu sam prešao samo zato što sam smatrao da mi ne treba listanje unazad. Pošto smo rešili ovaj problem ostao je onaj drugi da se reši. Zar se ovde niko ne bavi turbo visionom? Pomagajte ljudi, imam ideju da jedan po jedan element tcollectina, vadim i stavljam u dvostruko spregnutu listu slogova(record) i da ih onda lepo sortiram sa onom procedurom, i onda snimin na hard i kasnije učitam sa procedurama ko- je sam već napisao. Ali tu treba raditi dupli posao, znači prvo pre- bacim ono što mi treba iz objekta u record, a kad učitavam obrnuto, a to se jako lepo rešava sa baferovanim strimom, ali mi apsolutno nije jasno kako to radi, jednino mi je mali jasna dekalracija, a u knjizi je to objašnjeno tako da onaj ko nije znao neće ni znati. EMPIRE
pascal.564 destructor,
Koji unit je potreban da bi se iz pascala kontrolisao mis, i kako se to radi, posto moj prevodioc nije bas najkompletniji(fale neki fajlovi :(). Pozdrav, DeStrUctOr
pascal.565 npmiki,
Evo ti procedure i funkcije za rad sa misem. Ako ti treba Unit napravi ga sam od ovih procedura , ja nisam imao vremena . mouse.pas
pascal.566 destructor,
Posto sam jos mlad i neiskusan, moram da budem dosadan i da zapitkujem, ali sta da radim?:) Negde sam naisao na nesto kao: If ((reg.bx And butt) <> 0) Then ... E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam sta oznacava, interesuje me samo sta se desava prilikom izvrsavanja ovoga). Pozadrav, DeStrUctOr
pascal.567 sale.car,
HI pipl... Kako da u pascalu ocitam podatak sa LPT1 porta... Znam kako da saljem na Data bitove sa Port[$378] ali kako da ocitam sa recimo 11-og pina da li je stanje 0 ili 1 tj da li ima napona ili nema !?!? Mislim da je 11 pin nesto kao ocitavanje da li ima papira na printeru ili ne... ja mislim... Ajd 10x unapred... Cya
pascal.568 ilazarevic,
> E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam sta > oznacava, interesuje me samo sta se desava prilikom izvrsavanja > ovoga). Kog tipa je butt? Inače, ako je sve u redu, trebalo bi da se uradi AND ove dve promenljive. AND upoređuje bit po bit iz oba broja, i ako su oba bita jedinice, u rezultat se upisuje jedinica na toj poziciji. Da bi AND dao rezultat različit od nule, treba u oba broja da se nađu jedinice na barem jednoj poziciji.
pascal.569 destructor,
Sto se tice mog predhodnog pitanja butt=const. E sad: Pokusao sam da sacuvam neku sliku u obliku file-a, a zatim da je procitam, i posto nisam znao nijedan nacin da to uradim, ja napisem otprilike: . . Type ni=Array[1..k] Of Byte; Var buff:^ni; f:File Of ni; . . . Begin . . y:=0; GetMem(p,k); While y<GetMaxY Do Begin GetImage(0,y,GetMaxX,y+GetMaxY Div 4,p^); y:=y+GetMaxY Div 4; Write(f,p^); End; . . . I sad sam za citanje te slike sa diska koristio suprotnu logiku, znaci definisao sam 4 pointera na nizove, i ucitao u njih odgovarajuce delove slike, a zatim: . . PutImage(0,y,p^,XORPut); PutImake(0,y+c,p1^,XORPut); PutImage(0,y+2*c,p2^,XORPut); PutImage(0,y+3*c,p3^,XORPut); . i sve to lepo radi, samo sto je ovo iscrtavaje poprilicno sporo. Sad pitanje:Mogu li ja to da ubrzam nekako, ili od ovog pristupa nema mnogo koristi? Sorry za ovolku poruku. Pozdrav, DeStrUctOr
pascal.570 legend,
-=-> Kako da u pascalu ocitam podatak sa LPT1 porta... -=-> Znam kako da saljem na Data bitove sa Port[$378] ali kako Ovo i nije odgovor, ali me interesuje ako neko može da mi napiše ovo sa portovima, tj, da mi popiše koji port čemu služi jer to nigde ne piše, a ljudi mi stalno nešto objašnjavaju preko portova. tenax Legend of LoC!/eXplosives
pascal.571 micotakis,
Ĺ Ovo i nije odgovor, ali me interesuje ako neko može da mi Ĺ napiše ovo sa portovima, tj, da mi popiše koji port čemu služi Ĺ jer to nigde ne piše, a ljudi mi stalno nešto objašnjavaju Ĺ preko portova. Pridružujem se ovoj molbi. EMPIRE p.s. Firuse to ti znaš garant. :)
pascal.572 sale.car,
!?! Ovo i nije odgovor, ali me interesuje ako neko može da mi !?! napiše ovo sa portovima, tj, da mi popiše koji port čemu !?! služi jer to nigde ne piše, a ljudi mi stalno nešto !?! objašnjavaju preko portova. Najbolje ti je, rejveru, da skines HelpPc iz ne secam se kog direktorijuma ... Tamo je sve opisano. Ako hoces u pascalu recimo paralelni onda ti je sledece: Port[$378] := 1 ; Ovo ti ukljucuje data bit 0 na LPT a to ti je 2 pin. Ja sam uradio celu listu pa cu je poslati uskoro, samo da je prepisem... Cya !
pascal.573 tomil,
> sa portovima, tj, da mi popiše koji port čemu služi jer to nigde ne > piše, a ljudi mi stalno nešto objašnjavaju preko portova. U fajlu \dos\infoprog\helppc21.zip ćeš naći odgovore na sva tvoja pitanja.
pascal.575 sale.car,
HI evo one liste data pinova na Lpt-u... Cya lpt.txt
pascal.576 baster,
Tokom zadnjeg nevremena, nestalo mi je struje usred posla. Sem druge stete stradao mi je BWCC.DLL neophodan izmedju ostalog i za samo startovanje borland pascal for windows (7.0) Pomenuti DLL nije dugačak, pa ako nije problem na mail (please !!!)
pascal.577 nlazic,
>> Pomenuti DLL nije dugačak, pa ako nije problem na mail (please !!!) DLL već postoji na sezamu: ĐwindowsĐsystemĐbwcc.zip
pascal.578 ognjen,
)-> If ((reg.bx And butt) <> 0) Then ... )-> E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam )-> sta oznacava, interesuje me samo sta se desava prilikom )-> izvrsavanja ovoga). Uporedjuje 'bitwise' (bit po bit) registar BX i word BUTT. Gde su oba 1 (TRUE) ostaje 1, u suprotnom 0. Sta to u praksi znaci? Ako u registru BX imas gomilu true/false informacija (na primer status num/caps/scr) a treba da proveris samo jedan, koristis gornji oblik. Na primer: ------------------------ var b,t: byte; begin b:=mem[0:$0417]; t:=$20; if ((b and t) <> 0) then writeln ('NumLock is ON') else writeln ('NumLock is OFF') end. ----------------------- E sad gledaj. Sa memorijske adrese 0:0417 (ono $ znaci hxadekadno) uzeo si jedan bajt (sadrzaj si zapisao u B). Na toj adresi se nalaze podaci o LOCKovima izmedju ostalog i o numlock-u. U bajt T si zapisao 20 hexadekadno znaci 00100000 binarno. Zasto je bas treci bit 1? Zato sto sto treci bit sadrzi podatak o NumLock-u, a nama bas to treba. E sad praxa: Ovaj bit je vazan! ! B: 01100101 and T: 00100000 ----------- 00100000 - rezultat je <> 0 znaci numlock je ON, u suprotnom: B: 01000101 and T: 00100000 ----------- 00000000 - rezultat je 0, znaci numlock je off. Dakle sva ova prica da bi se reklo: to sluzi za proveru odredjenih flagova (bitova). Kapito? :) --- Nemoj molim te da kazes: ne. :)
pascal.579 destructor,
Ne!!! ;))) Salim se, jasno mi je .. 10x mnogo! Pozdrav, DeStrUctOr
pascal.580 destructor,
Da li postoji nacin, da se nadje koliko ce memorije(maksimalno) zauzeti program pisan u pascal-u, u toĺ■■ku svog izvrsavanja, i kako se to radi(ako je moguce)? Pozdrav, DeStrUctOr
pascal.581 destructor,
Pokusavao sam da napravim rezidentan program, koji ce da upise neke stvari u fajl kada se pritisne neko dugme, i: . . old:Procedure; . . Procedure Key;Interrupt; Begin If port[$60]=56(npr.) Then Begin Assign(f,'c:\dat.txt'); Rewrite(f); . . End;  Inline($9C); old; End; U osnovnom programu, zamenjen je vektor sa SetIntVec($9,Addr(key)).I kad startujem program, on se kao lepo postavi i sve lepo  űradi dok ne dobije trazeni podatak na ulazu, i tad zaglavi ba űs na instrukciji Assign(f,'c:\dat.txt'). Posto se ja u TSR■˛-ove ne razumem, i pokusavam da ih shvatim na osnovu nekoliko (veoma prostih) primera,  űmoze li neko reci gde da andjem nesto opsirnije o tome, i da mi objasni sta se desava u ovom slucaju. 10x unapred Pozdrav, DeStrUctOr
pascal.582 obren,
> Pokusavao sam da napravim rezidentan program, koji ce da upise > neke stvari u fajl kada se pritisne neko dugme, i: Pisanje "običnih" TSR programa i onih koji rade sa diskom je prilično drugačije. Razlozi su sledeći: DOS nije reentrant, što znači da ako se interapt desi dok se izvršava neki kod u DOS-u, ti ne smeš da pozivaš ni jednu DOS funkciju. Drugi razlog je što se za rad sa diskom koristi tzv. DTA (Disk Transfer Area) koju ima svaki program. Ako hoćeš da radiš sa diskom iz svog TSR-a, svaki pristup nekom fajlu prebrisaće sadržaj DTA prekinutog programa i eto belaja. Zato se pribegava sledećem: Postoji jedan flag koji se zove INDOS flag koji dos postavlja na nenultu vrednost kada se izvršava neki od DOS-ovih servisa. Postoji mehanizam, doduše nedokumentovan od Microsofta da se sazna adresa ovog flega kao i Critical Error flega koji je takođe bitan za ovu primenu. Dakle, kada te "okine" interapt treba da proveriš da li su ova dva flega jednaka nuli i tek ako jesu smeš da pozivaš DOS funkcije. Takođe, pre poziva funkcija DOS-a za rad sa diskom, treba da postaviš svoj DTA a sačuvaš trenutno aktivni i na kraju da vratiš sve kako je bilo. Ima i jedan interapt (čini mi se 0x28) koji se non stop poziva dok je DOS u komandnoj liniji i kada je takođe bezbedno pozivati DOS funkcije. Da ne tupim dalje, pogledaj HELPPC, TECHREF i sl. help jutilitije, u njima ima dosta ovakvih pikanterija, a nije loše ni da nađeš neke stare računare, trebalo bi da je negde oko broja 70-80, Zoran Životić je pisao na tu temu.
pascal.583 sale.car,
HI Treba mi heeeelp... Kako da prebacim iz Word-a u String !?!! Evo problema... GetDate je pod tipom Word, a ja hocu da je String... 10x unapred... samo bez nekog asembliranja & sl. ;) Cya
pascal.584 destructor,
>GetDate je pod tipom Word .. Zar obicana STR(GetDate,s) u s nece dati rezultat?Probaj sa njom .. pa vidi. Pozdrav, DeStrUctOr
pascal.585 chadra,
Kako da u Turbo Pascalu da nekom prozoru koga sam kreirao (crt.tpu) dodam neki 'okvir', kao ovaj: Ň══Ş │ │ ď══ż a da pri tom pri iscrtavanju poslednjeg karaktera (ż) program ne spusti kursor za jedan red i time obrise prvi? Da li sa komandom 'write' ili nekom drugom?
pascal.586 npmiki,
 Resenje ti je koriscenje naredbi goto x,y / write ili  ű űpisanjem direktno u video memoriju , za ovo drugo mi se obrati u mail pa cu ti poslati procedure. I trebao bi da sakrijes kursor , ali to ide preko interapta. Treba da znas da writeln pomera kursor u sledeci red ű , a write ne.
pascal.587 sale.car,
HI... Problem... ;) Trebam da kreiram fajl cije se ime sastoji iz dana i meseca... Dakle: danas je recimo 01-09-1996 fajl je: 0109.txt E, sad... ja ne znam kako se pretvara iz Word-a u string (destructor mi je rekao da probam sa Str(GetDate, String) ali to nece da moze jer mi prijaljuje da ne mogu da stavljam procedure u liniju..ili sl...) HELP PLIZZZ ... Cya
pascal.588 npmiki,
Evo resenje za tvoj problem. Lose su mi veze , pa ti saljem fajl. Bye. datum.pas
pascal.589 micotakis,
Ch> Kako da u Turbo Pascalu da nekom prozoru koga sam kreirao (crt.tpu) Ch> dodam neki 'okvir', kao ovaj: Ch> Ň══Ş Ch> │ │ Ch> ď══ż A što lepo ne uzmeš da radiš u TURBO VISION-u? Nije mnogo komplikovano, samo moraš da znaš par stvari. Ako nečeš to probaj TPW60. To radi baš to što ti hoćeš. Uz to se ne petljaš ni sa TV-om. Probaj obavezno. Mislim da ga imaš i na sezamu. EMPIRE
pascal.590 sale.car,
!?!> Evo resenje za tvoj problem. Lose su mi veze , pa ti saljem !?!> fajl. 10x a looooottt !!! danke, danke ;) Cya
pascal.591 sale.car,
De> Zar obicana STR(GetDate,s) u s nece dati rezultat?Probaj sa De> njom .. pa vidi. De> Pozdrav, De> DeStrUctOr Nece... Kaze mi da je nedozvoljeno stavljati procedure u liniju (ili tako nesto)... :((( Ceo problem je u tome sto trebam da kreiram fajl cije se ime sastoji iz danasnjeg dana i meseca... Recimo danas je 30-08-96 a fajl je: 3008.txt 10x unapred... Cya
pascal.592 sale.car,
HI... da li je neko probao da pise doorove pomocu onih tri door tpu-ova... Ajd neka me majluje da razmenimo iskustva ;) Cya
pascal.593 maksa,
>> Ceo problem je u tome sto trebam da kreiram fajl cije se >> ime sastoji iz danasnjeg dana i meseca... Recimo danas je >> 30-08-96 a fajl je: 3008.txt Evo ti f-ja koja vraća string koji tražiš: Function D2S : string; var Godina, Mesec, Dan, DuN : Word; DS, MS : string; begin GetDate(Godina, Mesec, Dan, DuN); Str(Mesec, MS); Str(Dan, DS); Date2String := DS + MS; end; Zovneš ovo, i kreiraš ime fajla od vraćenog stringa. Uzgred, fuj Pascal. ;)
pascal.594 sale.car,
Ma> Evo ti f-ja koja vraća string koji tražiš: Ma> Function D2S : string; Ma> var Ma> Godina, Mesec, Dan, DuN : Word; Ma> DS, MS : string; Ma> begin Ma> GetDate(Godina, Mesec, Dan, DuN); Ma> Str(Mesec, MS); Ma> Str(Dan, DS); ^^^^^^^^^^^^^ E ovo nece da radi ! Probao sam ja to prvo i nece... Radi ono sto je npmiki poslao... Dakle treba : Str(Mesec:2, MS) ; Svejedno... 10x svima na helpu... Cya
pascal.595 maksa,
>> Str(Dan, DS); >> ^^^^^^^^^^^^^ >> >> E ovo nece da radi ! Bogme hoće.
pascal.596 chadra,
Subject: Turbo Pascal( + crt.tpu) ... window(20,10,30,15); gotoxy(10,6); write('╝'); ... U gornjem primeru, posle komade write i iscrtavanja coska okvira, program spusti sve za jedan red i tako obrise gornji okvir prozora (koji sam prethodno nacrtao). E sad, ovo sam resio jednim 'gotoxy' i 'insline', ali reshenje ne izgleda previse elegantno...ima li neko bolje?
pascal.598 sale.car,
>> Str(Dan, DS); >> ^^^^^^^^^^^^^ >> >> E ovo nece da radi ! Ma> Bogme hoće. E nece ;)) Nece zato sto je Dan tipa Word... ali hoce da radi sledece: Str(Dan:2, DS) ; Na ovome se zahvaljujem pmikiju (ja mislim)... Cya !
pascal.600 pvlada,
Da li neko zna kako da učitam BMP iz pascal-a ? Vlada
pascal.601 igorl,
Down-loadovao sam sa SEZAM-a programčić za skidanje grafičkog ekrana u fajl (za CGA i HERKULES kartice - Fajl SEIZE.ZIP). On zapravo samo sadržaj grafičke memorije prenese u fajl. Dali neko zna kako u paskalu napisati program koji radi obrnutu stvar?
pascal.602 sale.car,
HI! Da li je mouce da u komandnoj liniji zadam neki string a pascal da ga prevede u nesto drugo ;)) Problem: Imam prg za iscrtavanje funkcija... E, sad.. ja moram da udjem u source pa da promenim f-ju i to je malo zeznuto za one koji bas ne znaju da ulete u source... Dakle, kako ja mogu da zadam u komandnoj liniji recimo: funkcija.exe 'x+2' i on to da ubaci u prg-u kao y:= x+2 ; !?!?!?!?!? Da li je mouce i kako ? 10x a lot unapred...
pascal.603 sale.car,
HI! Opet ja ;) Citam matore poruke pa mi stizu ideje ;) (mozda ovo treba u drugu konf. al ajd da probam) Da li je moguce potpuno kontrolisati stampac matricni i to tako da mu se kontrolise koja ce iglica da udari, pomeranje glave i pomeranje papira... Dakle, ja posaljem neki bit na neki port i u tom trenutku udari iglica 1 recimo... Ako nisam jasan vicite (ali ne glasno) ;) Cya
pascal.604 sale.car,
HI! Jao opet ja... Ako sam dosadan javite slobodno ;) Well.. problem je: Kako da uletim u neki txt fajl i pobrisem sva slova A recimo. Konkretno mi treba da se pobrisu svi znakovi Hex(01). Mogu i da se zamene sa spacetom... 10x unapred i necu vise bar jedno 3-4 dana ;))) Cya
pascal.605 dspasic,
Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje formi ili bar nesto slicno za unos samo podataka numerickih ili stringova ali naravno sa kontrolom upisa tako da ako unosim string nebi smelo da se desi da prihvati broj. unapred zahvalan * tvision mi ne pomaze...
pascal.606 igorl,
>> Potreban mi je TPU ili f-ja u paskalu za pravljenje formi Probaj ovo, mislim da ce ti odgovarati. input.pas
pascal.607 sale.car,
Ds> Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje Ds> formi ili bar nesto slicno za unos samo podataka numerickih ili Ds> stringova ali naravno sa kontrolom upisa tako da ako unosim Ds> string nebi smelo da se desi da prihvati broj. Ds> unapred zahvalan Ds> * tvision mi ne pomaze... Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda... Uglavnom je opis: Kreiranje dijaloga u TP-u... Tu unutra imas exe koji ti pomaze da kreiras izgled ekrancica pa ga prebaci u pas uz koji ide i njegov tpu.... Ma sve ti je objasnjeno ;) Ako nema javi da saljem... Cya
pascal.608 sale.car,
HI gde ima da se skine delphi i koliki je on u stvari !? Ako neko ima neka mi kaze... Znam da ce ovo da se brise zbog ... ali da li postoji neka share vare ;) verzija ? Cya
pascal.609 hercog,
»» gde ima da se skine delphi i koliki je on u stvari !? Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti skidaj :) Sale
pascal.610 sale.car,
Ds> Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje Ds> formi ili bar nesto slicno za unos samo podataka numerickih ili Ds> stringova ali naravno sa kontrolom upisa tako da ako unosim Ds> string nebi smelo da se desi da prihvati broj. Ds> unapred zahvalan Ds> * tvision mi ne pomaze... Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda... Uglavnom je opis: Kreiranje dijaloga u TP-u... Tu unutra imas exe koji ti pomaze da kreiras izgled ekrancica pa ga prebaci u pas uz koji ide i njegov tpu.... Ma sve ti je objasnjeno ;) Ako nema javi da saljem... Cya
pascal.611 sale.car,
He> Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti skidaj He> :) He> Sale Na mom disku nema toliko slobodno :((((( Enivej 10x !
pascal.612 sale.car,
HI da li neko zna kako da ocitavam podatke sa paralelnog porta !? Dakle, recimo ubacujem 5v u pin 11 (mislim da je Busy) i u programu treba da mi se umesto iskljucenog pojavi ukljuceno... Moze i na nekom drugom pinu... Well.. 10x unapred... cya
pascal.613 space.ace,
## Da li neko zna kako da učitam BMP iz pascal-a ? Zavisi koji BMP je u pitanju, moraš da pročitaš header slike, namestiš paletu, pa onda kao i .PCX, ili bar slično. Ako slika ima više boja, postaje komplikovanije. Mislim da u pascal dir-u imaš neke procedure za učitavanje BMP-a, pa pogledaj tamo. Ako nemaš, poslaću ti opis header BMP slike pa radi sam :). / al' sam pomogao :) /
pascal.614 igorl,
>> Kako da uletim u neki txt fajl i pobrisem sva slova A recimo. >> Konkretno mi treba da se pobrisu svi znakovi Hex(01). >> Mogu i da se zamene sa spacetom... Probaj ovaj program, mozes da biras dali ces da zamenis sa 'spacetom', ili ces da brises HEX (01). delhex01.pas
pascal.615 montekristo,
Moze li neko da mi posalje printer.tpu unit.Postoji li neki drugi nacin za direktni izlaz na stampac.Probao sam sa write(prt,...) i sa slicnim komandama ali to mi nije uspelo. Unapred hvala. Goran
pascal.616 sale.car,
Ig> Probaj ovaj program, mozes da biras dali ces da zamenis sa 10x a lot !!! Cya
pascal.617 sale.car,
Mo> Moze li neko da mi posalje printer.tpu unit.Postoji li neki drugi Mo> nacin za direktni izlaz na stampac.Probao sam sa write(prt,...) i Mo> sa slicnim komandama ali to mi nije uspelo. Mo> Unapred hvala. Goran Pogledaj poruku 196 u ovoj temi ! Uz poruku je fajl koji stampa deo ekrana na epson matricnim shtampacima... Valjda ce biti od koristi... Cya
pascal.618 legend,
-=-> gde ima da se skine delphi i koliki je on u stvari !? -=-> Ako neko ima neka mi kaze... -=-> Znam da ce ovo da se brise zbog ... ali da li postoji neka -=-> share vare ;) verzija ? Ovaj... koliko ja znam (a možda i grešim) Delphi je velik 15HD... Gde ćeš ovo da skineš, neznam, ali možeš da kupiš kod pirata... Legend of LoC!/eXplosives Alone till doom's day!
pascal.619 legend,
-=-> Kako da uletim u neki txt fajl i pobrisem sva slova A recimo. -=-> Konkretno mi treba da se pobrisu svi znakovi Hex(01). -=-> Mogu i da se zamene sa spacetom... Dakle, blockread deo fajla, pa petljom zameniš sve $01 sa $20, pa blockwrite u drugi fajl, pa ponoviš sve to onoliko puta koliko treba (dok ne prođe ceo fajl), pa onda erase stari fajl, pa rename novi u stari i sve je ok. Kad me ne bude mrzelo da pišem source, napisaću (jel?) pa ćuda kačim... Ajd probaj i ti... -=-> 10x unapred i necu vise bar jedno 3-4 dana ;))) Što? Pitaj, bre sve znam.... ;)))) Legend of LoC!/eXplosives Alone till doom's day!
pascal.620 montekristo,
Moze li neko da mi posalje printer.tpu unit.Postoji li jos neki nacin direktnog ispisa iz programa na stampac.Zna li neko sta treba da uradim pa da bih misa ukljucio u program na paskalu.I poslednje pitanje.Zna li neko koji format da upotrebim da bih izlazne rezultate programa mogao da vidim u Wordu onakve kakve zelim. Goran
pascal.622 sale.car,
neko je trazio printer tpu... saljem puno rutina za stampac. cya
pascal.623 sale.car,
puce mi veza :( saljem ponovo ! printer.arj
pascal.624 visnja,
> funkcija.exe 'x+2' > i on to da ubaci u prg-u kao Veselo! Ne zelim da te plasim, ali resenje nije trivijalno. Potrebno je da napises jednu lepu proceduru koja ce da resava izraze, pazeci na prioritet operacija, zagrade, da uvedes varijable... potrudis se jos malo i napravaio si pravi programski jezik. Ko se seca ZX SPECTRUMA i njegove VAL naredbe koja je resavala izraze, a sada radi u paskalu, verovatno stavlja ZX Basic ispred Borland Pascala. Da skratim, imam jedan UNIT koji sam napisao i zove se naravno ZXVAL, Unit ima jednu proceduru kojoj posaljes npr. 'x+2', pre toga si naravno poslao 'x=10' i unit ti vrati 20. Mislim da ce ti i te kako koristiti. Unit sam napisao odavno, uz pomoc jednog MOCNOG texta iz racunara, zaboravih autora, neka mi ne zameri, ali text se zove 'Rastavi me nezno'. Barem mislim da je to taj clanak... hmmm... izlapeo sam skroz... Ajd javi ako je problem jos aktuelan pa da saljem unit... Pozdrav, Visnja
pascal.625 visnja,
> Da li je moguce potpuno kontrolisati stampac matricni > i to tako da mu se kontrolise koja ce iglica da udari, > pomeranje glave i pomeranje papira... Jeste moguce, sto se tice iglica u glavi, cak je to tako i zamisljeno. Da nemas PC-a, koji zaglupljije ljude, nego da imas npr. Commodore64 ili ZX Spectrum-a, morao bi da se pozabavis tim iglicama, ovako drajveri za windows-e sve rese i ti nemas pojma kako! Uzmi neko dobro epsonovo uputstvo, nadji na SEZAMU HELPPC, u HELPPC-u nadji adresu LPT porta i salji kodove stampacu direktno. Mozes da koristis i PRINT unit iz BORLAND pascala (7.0), pogldaj Borlandov help kako. (ja nista neznam napamet, zato sam pun helpova). Iz EPSON-ovog uputstva nadji stampanje grafike i vozi..... Iz uputstva za stampac (dobrog!) bice ti jasno sta sve sa printerom mozes, na nazovimo ga niskom nivou... Pozdrav, Visnja.
pascal.626 visnja,
> Ds> * tvision mi ne pomaze... > > Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda... > Uglavnom je opis: Kreiranje dijaloga u TP-u... POLAKOOOOO, DLGDSN je strava program, ALI ZA TVISION, a covek nece TVISION, sto je steta. Prouci TVISION, sto da izmisljas vrucu vodu, kada ljudi sve izmislise, ti samo da koristis...
pascal.627 visnja,
> He> Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti > skidaj He> :) > He> Sale > > Na mom disku nema toliko slobodno :((((( > Enivej 10x ! Na mom i preko 100Mb, zbog knjiga...
pascal.628 visnja,
> da li neko zna kako da ocitavam podatke sa paralelnog porta !? > Dakle, recimo ubacujem 5v u pin 11 (mislim da je Busy) i u > programu treba da mi se umesto iskljucenog pojavi ukljuceno... > Moze i na nekom drugom pinu... > Well.. 10x unapred... Prosto, uzmi vec pomenuti HELPPC, tamo imas adresu LPT1, i dovodi pet volti preko nekog otpornika, probaj 1K, da ne spalis nesto... ako promasis BUZY. U Borlandovom HELPU nadji kako port da citas. Imam i negde i neki UNIT za ovaj problem, pa ako ti je stvarno zapelo, javi da ga nadjem i saljem. Unit upravo cita BUZY ili neki drugi PIN, na taj pin je zakacen IR prijemni deo, da mozes PC-a da teras preko nekog daljinca!!! Pazi ja duuugooo radim u pascalu i imam strasnoooo mnogo unit-a u kojima se treba snaci. Zato prvo probaj sam, pa ako ne ide javi mi... OK Pozdrav, Visnja
pascal.629 sale.car,
Vi> sam skroz... Ajd javi ako je problem jos aktuelan pa da saljem unit... Spasioce ! ;) SAAAALJJJIII ! Cya
pascal.630 sale.car,
Vi> Jeste moguce, sto se tice iglica u glavi, cak je to tako i zamisljeno. Vi> Da nemas PC-a, koji zaglupljije ljude, nego da imas npr. Commodore64 Vi> ili ZX Spectrum-a, morao bi da se pozabavis tim iglicama, ovako Vi> drajveri za windows-e sve rese i ti nemas pojma kako! Vi> Uzmi neko dobro epsonovo uputstvo, nadji na SEZAMU HELPPC, u HELPPC-u Vi> nadji adresu LPT porta i salji kodove stampacu direktno. Mozes da Vi> koristis i PRINT unit iz BORLAND pascala (7.0), pogldaj Borlandov help Vi> kako. (ja nista neznam napamet, zato sam pun helpova). Iz EPSON-ovog Vi> uputstva nadji stampanje grafike i vozi..... Vi> Iz uputstva za stampac (dobrog!) bice ti jasno sta sve sa printerom Vi> mozes, na nazovimo ga niskom nivou... Hmm... HelpPc imam i znam kako da kontrolisem Lpt port ali... Hmmm... pa nista, probacu (mada nemam stampac :))... 10x enivej... Cya
pascal.631 sale.car,
> Ds> * tvision mi ne pomaze... > > Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda... > Uglavnom je opis: Kreiranje dijaloga u TP-u... Vi> POLAKOOOOO, DLGDSN je strava program, ALI ZA TVISION, a covek nece Vi> TVISION, sto je steta. Prouci TVISION, sto da izmisljas vrucu vodu, Vi> kada ljudi sve izmislise, ti samo da koristis... Ja sam ukapirao da mu tvision ne pomaze u smislu da tvision ne moze da kreira tako nesto... Ako gresim sorry ;) Cya
pascal.632 sale.car,
Vi> Imam i negde i neki UNIT za ovaj problem, pa ako ti je stvarno zapelo, Vi> javi da ga nadjem i saljem. Vi> Unit upravo cita BUZY ili neki drugi PIN, na taj pin je zakacen IR Vi> prijemni deo, da mozes PC-a da teras preko nekog daljinca!!! Da, da... Ja sam isprobavao nesto ali ipak mislim da sam spalio Lpt... imam jedan u rezervi... Ima li neko one slike kako se pravi loopback ??? E ja sam kao napravio jedan i iz ndiagsa sam testirao Lpt ali nista ne prijavljuje, cak mi kaze da ga ubacim ! To sam probao na svom (koji je sumnjiv) i od druga sam pozajmio medjutim ista pesma... Kod mene savrseno rade data pinovi (od 2 do 8) ali nikako nisam uspeo da detektujem sa busy-a ili sl... Pokusao sam da ukljucim pin 2 i da ga spojim sa busy pinom (15) i da tako detektujem ali nije uspelo... Malo me je strah da mu ubacujem neko napajanje sa strane... Da li neko ima pojma koliki max napon i amperaza treba da se ubaci u Lpt a da se ne spali !? (ala ga ugnjavi ja :)) Btw, salji onaj unit... jedino mi je on ostao !! 10x unapred Cya
pascal.633 vitez.koja,
#=> Unit ima jednu proceduru kojoj posaljes npr. 'x+2', pre toga si #=> naravno poslao 'x=10' i unit ti vrati 20. Alaj si je napisao, svaka ti čast :) sk
pascal.635 pesnik,
> Da li je mouce da u komandnoj liniji zadam neki > string a pascal da ga prevede u nesto drugo ;)) Pokusaj da program definises kao proc ili func, sa jednim parametrom. Na mesto (u programu) gde unosis f-ju, ubaci gore navedeni parametar kao &makro. Posle prevodjenja u .EXE, navedi (posle naziva programa) samu funkciju, pa gledaj da li ce da uspe. Note: Ne znam da li sam ti mnogo pomogao, jer lupam po Clipper-u i Fox-u, a problem je najlakse resiv upotrebom makroa. Ne znam kao se to resava u paskalu, ali mozda bi moglo da uspe U clipperu, to bi izgledalo ovako: BOF ............. FUNCTION Funkcija(f) -> f = parametar funkcije (primer: f=x+2) y = &f -> ovde se putem makroa (&) dodeljuje ... y-lonu referentna vrednost f EOF.............. Posle compillinga i linkovanja sledi: C:\> funkcija x+2 ili C:\> funkcija x^3 Ako sam ti pomogao, O.K., ako nisam, pisi ponovo. Poz. :)
pascal.636 pvlada,
Imam 2 pitanja: 1.Kako da radim u pascalu sa 256 boja? 2.Da li postoji procedura koja proverava brzinu procesora? Vlada
pascal.637 aikimen,
Je li zna neko ko je zastupnik Borlanda kod nas i da li taj isti ima neku e-mail adresu, na koju bih mogao da priupitam o cenama?
pascal.638 evlad,
­=- 1.Kako da radim u pascalu sa 256 boja? Skini iz dir-a svgabgi, tamo imaš bgi drajvere i prateću dokumentaciju. ako ćeš da petljaš sa mišem, tada ti treba drajver koji će da prepozna 800x600 ili neku drugu jaču rezoluciju. ­=- 2.Da li postoji procedura koja proverava brzinu procesora? Iz standardne biblioteke funkcija: ne.
pascal.639 visnja,
> > Alaj si je napisao, svaka ti cast :) Stvar je dobrim delom zasnovana na tekstu VIKTORA CEROVSKOG, Racunari 79 : "Rastavi me nezno", dakle NJEMU SVAKA CAST.
pascal.640 visnja,
> Spasioce ! ;) > SAAAALJJJIII ! Probam da saljem... neznam kako iz SOR-a da kacim datoteku, nadam se da je ovde... Pozdrav, Visnja. zxval
pascal.641 visnja,
> Ja sam ukapirao da mu tvision ne pomaze u smislu da tvision ne > moze da kreira tako nesto... > Ako gresim sorry ;) Sam program DLGDSN je napisan pomocu TVISION biblioteke. TVISION i te kako moze da pravi dijaloge, ulazne linije... Ali je mukotrpno jer se sve koordinate unose kao cetiri cifre. Kako to izgleda vidi se tek po kompajliranju i startovanju programa. Sa DLGDSN crtas dijaloge i on ti generise program sa pravilnim koordinatama.
pascal.642 visnja,
> Da li neko ima pojma koliki max napon i amperaza treba da se > ubaci u Lpt a da se ne spali !? > (ala ga ugnjavi ja :)) > Btw, salji onaj unit... jedino mi je on ostao !! Da probamo da nadjemo... A sto se tice spaljivanja, nisam bas maher za elektroniku, a nije ni odgovarajuca tema... ali potrudi se da ne spajas dva izlaza, onda se potrudi da +5V ne dovodis direktno da bi napravio logicno 1, nego preko otpora koji ce biti potrosac u slucaju kratkog spoja (npr dovedes +5V greskom na izlaz koji je na niskoj razini, ali tako nesto).
pascal.643 sale.car,
Pv> Imam 2 pitanja: Pv> 2.Da li postoji procedura koja proverava brzinu procesora? Saljem tpu za identifikaciju procesora i brzinu... (u sledecoj poruci ;)) Cya speed.arj
pascal.644 sale.car,
Vi> Da probamo da nadjemo... Vi> A sto se tice spaljivanja, nisam bas maher za elektroniku, Vi> a nije ni odgovarajuca tema... Vi> ali potrudi se da ne spajas dva izlaza, onda se potrudi da +5V ne Vi> dovodis direktno da bi napravio logicno 1, nego preko otpora koji ce Vi> biti potrosac u slucaju kratkog spoja (npr dovedes +5V greskom na izlaz Vi> koji je na niskoj razini, ali tako nesto). :-( ;) uzas... fly fly my beauty LPT1 ;) eh... probacu... 10x na odgovoru ;) Cya
pascal.645 nenad,
> Je li zna neko ko je zastupnik Borlanda kod nas i da li taj isti > ima neku e-mail adresu, na koju bih mogao da priupitam o cenama? Mislim da borland još uvek nema zastupnika, ali koliko mi je poznato firma CET (odnosno Softland) je bio njihov diler pa je moguće da su obnovili veze. Opet, izgleda da to još uvek sve ide preko Slovenije pa su i cene vesele.
pascal.646 npmiki,
Hi ! Hitno mi je potreban unit za 3d crtanje. Ovaj sa sezama imam , ne stima. Tj. potreban mi je bolji a pre svega nesto kao pogled kamere u 3d studiju. Onda resena vidljivost poligona , crtanje samo onih koje vidi kamera tj. posmatrac . Hvala unapred , u obzir bi mogao da dodje i neki algoritam ili nesto slicno.
pascal.647 sale.car,
Np> Hi ! Np> Hitno mi je potreban unit za 3d crtanje. Ovaj sa sezama imam , Np> ne stima. Tj. potreban mi je bolji a pre svega nesto kao pogled Np> kamere u 3d studiju. Onda resena vidljivost poligona , crtanje Np> samo onih koje vidi kamera tj. posmatrac . Np> Hvala unapred , u obzir bi mogao da dodje i neki algoritam ili Np> nesto slicno. A sto ne uzmes 3D Studio v4.0 !? ;)))) Malko je bolji od pascala... Cya
pascal.648 npmiki,
Hvala ti na savetu , ali vec imam 3d studio (sve verzije) :) Kao sto sam vec napisao , trebaju mi brze procedure od onih obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke transformacije koje ubrzavaju racunanje tj. rotiranje tacaka x,y,z za neke uglove ax,ay,az. Ono zasta mi to treba , 3ds je nepogodan. Ako mozes da pomognes bio bih ti mnogo zahvalan . Znaci : procedure , algoritmi ili cak neka literatura u vezi toga . Sto se tice literature , to bih bio spreman i da platim koliko kosta. 10x.
pascal.649 sale.car,
HI! Otvaram grupu povodom zanimljivog projekta... Daklem: Napravio  űbih uredjaj koji bi pratio promenu frekvencije gradske mreze od normalnih 50 hz... Ako neko zeli neka me mailnuje za grupu ! Cya
pascal.650 legend,
-=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih -=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke -=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka -=-> x,y,z za neke uglove ax,ay,az. Ono zasta mi to treba , 3ds je -=-> nepogodan. Ako mozes da pomognes bio bih ti mnogo zahvalan . Kako nepogodan? Ako sam dorbo razumeo ne rotiraš ceo predmet nego neke njegove tacke za neki ugao, ali oko čega? -=-> Znaci : procedure , algoritmi ili cak neka literatura u vezi -=-> toga . Sto se tice literature , to bih bio spreman i da platim -=-> koliko kosta. Pa ja sam video ne nekom BBS-u dosta funkcija o tome... samo, koji beše... ček... Axa, ecstasy bbs u direktorijumu [Dos] rpogramming imaš nekoliko fajlova za 3d zajebancije, što u pas, a nešto u ASm: 3dbasic.zip ; bubble.zip; fh-3dtut.zip; vga-vul4.zip i gourad.zip... Ovo poslednje je ql jer je tip napisao program za gouradovo senčenje a imaš i source... Legend of LoC!/eXplosives Alone till doom's day!
pascal.651 space.ace,
>> Ovo poslednje je ql jer je tip napisao program za gouradovo senčenje a Ovo meni posebno treba, pa ako bi bio dobar neko da mi to skine, ili bar da mi da no. telefona tog BBS-a, da bih sam "skinuo". Hvala veliko!
pascal.652 igorl,
> da mi da no. telefona tog BBS-a da bih sam "skinuo". Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga: 022/53-884, radi non-stop, a ne plaća se pretplata.
pascal.653 legend,
-=-> Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga: -=-> 022/53-884, radi non-stop, a ne plaća se pretplata. jeste, samo ima je ECSTASY ali to nije bitno... bitno je da da bi nešto skidao, moraš nešto i da pošalješ... e sad odnos je 5:1 pa pošalji recimo novi f-prot i dobićeš ul ratio 1500kb i onda se rešio problem... Legend of LoC!/eXplosives Alone till doom's day!
pascal.654 legend,
-=-> Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga: -=-> 022/53-884, radi non-stop, a ne plaća se pretplata. jeste, samo ima je ECSTASY ali to nije bitno... bitno je da da bi nešto skidao, moraš nešto i da pošalješ... e sad odnos je 5:1 pa pošalji recimo novi f-prot i dobićeš ul ratio 1500kb i onda se rešio problem... Legend of LoC!/eXplosives Alone till doom's day!
pascal.655 npmiki,
Ajd , probacu 022-53-884 , ali jel mogu ja njima da posaljem bilo sta da bi downloadovao nesto? Jel radi non-stop ? 10x.
pascal.657 sale.car,
HI! Da li neko moze da mi kaze kako se ocitavaju podaci sa com1 porta... uglavnom me zanima mis... tj. da budem precizan kako da ocitam podatak sa 2 pina.. ja mislim da je to Receive Data pin... E, sad.. ja sam to kao uradio medjutim sta se desava.. Kada ja spojim pin 2 sa pozitivnim naponom on mi nekad prihvati da ima napona a nekad ne... tj. nisam uspeo da provalim kako on prepoznaje da li ima napona... Ono klasicno ima/nema ne pali jer jednostavno nije tako... Ako nisam jasan recite :) Cya
pascal.658 superhik,
Da li neko može ukratko da mi objasni osnovnu logiku programiranja TSR programa u TP 6.0 Konkretno mislim na ideju koliko max memorije bi trebao da zauzima i tako to (odnosi se na programe u globalu...)
pascal.661 space.ace,
Imam jedan minorni pro(m)blem... Rešio sam ponovo da se zezam sa VGA programiranjem, pa sam ispočetka počeo da pišem unit za rad sa time. Sve je fino prošlo, sve procedure koje su mi trebale sam napisao, međutim video sam fini algoritam Triple Sine Plasme, koji sam lako izradio, no međutim nisam uspeo da prevedem "parče koda" koje treba da puni jedan niz sa vrednostima sinusa uglova. Davno sam to radio, pa se i ne sećam kako sam to jednom izveo. Imam original asm kod te procedure, pa sam hteo da prevedem na Turbo Pascal asm. Original asm izgleda ovako : ***** data segment ;written for the a86 assembler org 200h cos db 64*3 dup 0 sin db 64+256 dup 0 data ends code segment org 100h start: mov bx,0798fh ;initial position xor cx,cx ;initial velocity mov bp,512 ; Iloop: mov ax,-39 imul bx add cx,dx add bx,cx mov cos[bp],bh dec bp jns Iloop end **** Kada sam ga preveo na Pascal asm izgledalo je ovako : **** type blah = array [0..600] of integer; procedure punicos(var coss:blah); assembler; label start,loop; {može i bez ovoga, sa onim @start i @loop, ali mi je } var i:integer; {lakše ovako :) } asm start: mov ax,0798fh xor cx,cx mov bp,512 loop: mov ax,-39 imul bx add cx,dx add bx,cx mov coss[bp], ax { coss[bp] je niz za čuvanje...} dec bp jns loop end; **** Međutoa, to ne štima! Nesećam se što, pa se obraćam svima vama da pomognu. Inače, za ovo prijavljuje "invalid register combination", a čas "invalid opcode or operand". Još mi samo to fali pa da upotpunim svoj mali intro :), pa pomozite. Pozdrav, aco.
pascal.663 acafaca,
Kako se gasi kursor u paskalu?
pascal.664 sale.car,
Ac> Kako se gasi kursor u paskalu? Evo ti mali prg... Jos sam ga i spakovao !! ;) Cya
pascal.665 sale.car,
E evo ga fajÚ]l :) hide.arj
pascal.666 space.ace,
>> Da li neko moze da mi kaze kako se ocitavaju podaci sa >> com1 porta... uglavnom me zanima mis... tj. da budem Šta te konkretnije zanima, sam rad sa mišem ili sam rad sa comm portom. Ako ti treba ovo prvo, evo ti source za init i rad sa mišOm, pa ako ti je ok, super. ***** var Mouse : record X, Y : word; Buttons : word; end; Procedure InitMouse; begin asm mov ax, 0 int $33 end; end; Procedure ShowMouse; begin asm mov ax, 1 int $33 end; end; Procedure HideMouse; begin asm mov ax, 2 int $33 end; end; Procedure MouseButtons; begin asm mov ax, 5 mov bx, 0 { svi dugmići } int $33 mov mouse.buttons, ax end; end; Procedure MouseWhere; begin asm mov ax, 3 int $33 mov mouse.x, cx mov mouse.y, dx end; end; **** Valjda sam pomogao...
pascal.667 legend,
Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)... Imam koordinate tačaka i to u trodimenzionalnom nizu i to ovako: tacke[1..6, 1..4, 1..3]:single; broj 4ugloa broj tačke 1=x,2=y,3=z u telu u 4uglu koodrinata tač2ke E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru koju ću da pozovem sa rotate(a,b,c) i da mi posle u istom nizu vrati koordinate tačaka rotiranih za odrađen ugao... Pliz, nije hitno koliko je bitno, a probao sam sa raznim sourceovima za neke 3d izmotancije i ništa ne mogu da primenim (ili sam glup, ili mi nešto ovbde smrdi, ne zvao se ja lorimer, a i ne zovem se tako ;))))))) Legend of LoC!/eXplosives Alone till doom's day!
pascal.668 legend,
-=->>> Ovo poslednje je ql jer je tip napisao program za gouradovo -=-> senčenje a -=-> Ovo meni posebno treba, pa ako bi bio dobar neko da mi to skine, -=-> ili bar da mi da no. telefona tog BBS-a, da bih sam "skinuo". -=-> Hvala veliko! Dakle... evo ti ali neznam koliko će da ti pomogne... Ja sam nešto brčkao oko 3d crtanja i sračunavanja perspektive, i došao sam do trijijalnog rešenja koje RADI! Iscrtavanje ide ko po loju ali se mučim sa rotiranjem objekata... Ako sam dobro provalio SOR uz ovu poruku bi trebalo da stigne ono gouradovo senčenje, a kad napišem dokumentaciju za moje čokotalo i njega ću da obesim ;))) In the meen time, ako neko zna kako ide rotiranje nekog tela, nek kači primer obavezno! e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve ispočetka... Nije se toliko primećivalo sa malim objektima i sa translacijom, ali kako sam povećavao objekte i probao retaciju sve je više treperelo... Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se to radi... Valjda treba da se video bafer (trenutni) uporedi sa nekim delom memorije u kome je slika koja treba da se iscrta pa da se primeni AND i NOT na to što se dobije i taj dobijeni deo da se iscrta... Valjda... Ajd ako neko zna nek me prosvetli... btw, gde je video memorija kod herculesa za grafiku? Legend of LoC!/eXplosives Alone till doom's day! gourad.rar
pascal.669 hercog,
** Pliz, nije hitno koliko je bitno, a probao sam sa raznim sourceovima za ** neke 3d izmotancije i ništa ne mogu da primenim (ili sam glup, ili mi nešto A da ti baciš amo te sourcove :) pa da ih pogledamo? Sale
pascal.670 dule.n,
­> btw, gde je video memorija kod herculesa za grafiku? Počinje na $B000:$0000 a veličina je $7E96. Nulta linija počinje od $B000:$0000 pa sledećih 90 bajtova (720/8). Na sledećih 90 bajtova je četvrta linija, iza nje osma, itd. Prva linija počinje od $B000:$2000, pa peta, deveta,... Sve po modulu 4. Druga, šesta,..., od $B000:$4000. Treća, sedma,..., od $B000:$6000. Normalno svaki set je veličine $1E96.
pascal.671 sale.car,
>> Da li neko moze da mi kaze kako se ocitavaju podaci sa >> com1 porta... uglavnom me zanima mis... tj. da budem Sp> Šta te konkretnije zanima, sam rad sa mišem ili sam rad sa comm Sp> portom. Ako ti treba ovo prvo, evo ti source za init i rad sa mišOm, pa Sp> ako ti je ok, super. Sp> Valjda sam pomogao... Ma imam puno unita za misa, ali meni treba cisto com port ! Ako imas nesto javi...
pascal.672 sale.car,
Le> e,da... treba mi još i kako da izbegem treperenje kod pomeranja Le> neke animacije... Do sada sam radio sa onim iscrtaj_sliku, Le> Obriši_sliku pa sve ispočetka... Nije se toliko primećivalo sa Trebas da usaglasis refresh monitora... Kapiram da je to isto kao kod onog smooth scroll-a. Daklem, nacrtas sliku pa cekiras da li je prosao zrak za osvezavanje slike, pa ako nije (ili jeste) onda ponovo iscrtas... Jao... bas sam debil... ajde neka neko objasni coveku ;)) U principu znam kako ali uvek dobijem 3 na pismenom iz srpskog sto znaci da ne znam da slozim recenicu ;))) Cya
pascal.673 evlad,
Y> Ma imam puno unita za misa, ali meni treba cisto com port ! Y> Ako imas nesto javi... imaš u starijim tomovima ove konferencije tema cccc ili pascal find UART.
pascal.674 space.ace,
>> e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke >> animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve Jednostavno: treba da sačekaš da mlaz koji osvežava ekran dođe do dna ekrana, i kada dođe, ti baciš to što imaš u video memoriju (dok se mlaz sprema da krene od vrha), tako da će tog treperenja nestati. Ne znam u čemu pišeš programe, pa ti šaljem parče sorsa u asm-u, koji vrlo lako možeš da prebaciš u koji 'oćeš jezik. ---- ovde počinje --- mov dx, 3dah L1: in al, dx and al, 08h jnz L1 L2: in al, dx and al, 08h jz L2 ---a ovde završava--- Taj kod ubaciš kao proceduricu ili makro, pa ga pozivaš pre nego što bacaš bilo šta u video memoriju, tj. ako vršiš neke izmene većih razmera (animacije, fade-out, summing to grey, itd.). >> Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se To je double buffering, kada alociraš jedan niz od 64K (ekvivalentan video memoriji), i u njega sve upisuješ. Onda njega celog bacaš u video, čime se izbegava direktno prčkanje sa nizom video memorije, a korisno je ako hoćeš da pripremiš ekran pa da onda fadein-uješ... Ako nisam bio jasan, ti se malo deri... :)
pascal.675 nlazic,
>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat >> u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)... Skini fajl \sezam\rsoft\r111del.zip.
pascal.676 nlazic,
>> e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke >> animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve >> Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se Pogledaj Računare 121. Naći ćeš rešenja za većinu ovakvih problema. Inače, propratna arhiva za dotični tekst bi trebalo uskoro da se pojavi u rsoft-u.
pascal.677 sale.car,
Ev> imaš u starijim tomovima ove konferencije tema cccc ili pascal find Ev> UART. Danke, danke ... Pozdrav, Sale.Car
pascal.678 space.ace,
>> Ma imam puno unita za misa, ali meni treba cisto com port ! >> Ako imas nesto javi... Imao sam nešto o SERIAL portovima, od hardverske strane pa do softverske. Mislim da je malo bajato, ali ako će ti pomoći, javni mi da potražim.
pascal.679 space.ace,
>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat >> u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)... Teorijska objašnjenja takvih procedura možeš naći u onim E-časopisima, kao Alter ili Space (nije nikakva reklama :). Tamo sam našao odlična objašnjenja za 3D crtanje i rotiranje... >> E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru koju ću >> da pozovem sa rotate(a,b,c) i da mi posle u istom nizu vrati koordinate Nisi uopšte boi jasan u tvojoj poruci što se tiče tih tvojih koordinata :) Pošalji malo source-a, pa da znamo o čemu se tačno radi. (ako si udario embargo, onda bar bolje objasni... :).
pascal.680 sale.car,
!?!> Imao sam nešto o SERIAL portovima, od hardverske strane pa do !?!> softverske. Mislim da je malo bajato, ali ako će ti pomoći, !?!> javni mi da potražim.  űDaaaajj ;) Nisam nasao nista osim nekis sitnica ali one su vezane za modem, meni treba bas da ja spajam napon direktno na pinove i da tako ocitavam ima li ili nema napona... 10x unapred...
pascal.681 obren,
Jeste malo zakasneo odgovor, no dobro... :) > mov bp,512 ... > mov coss[bp], ax { coss[bp] je niz za čuvanje...} > dec bp BP registar je rezervisan za kompajler i ne možeš ga koristiti na način na koji si zamislio (običan prepev ASM -> PAS) bez posebne pažnje. Razlog je taj što BP služi za pristupanje lokalnim promenljivama koje su na steku i njegovo menjanje može da dovede do pada programa ako ne znaš tačno šta radiš. Međutim, i pored toga ne bi trebalo da ti kompajler brani da ga koristiš na bilo koji način ako je to u okviru mogućeg načina adresiranja. U tvom slučaju mislim da ne prolazi ona linija koju si komentarisao. Pomoću BP treba da se referencira lokacija koja je u stack segmentu a "coss" se istovremeno tretira kao far pointer zbog onog Var u deklaraciji funkcije pa sve skupa nema smisla. Naime, kada deklarišeš parametar kao VAR trebalo bi (davno sam radio u Pascalu, nisam siguran) da ti se prosleđuje far pointer na objekat koji se javja kao argument kod poziva. U tom slučaju na stek idu i segment i ofset objekta u memoriji pa je jedna od varijanti da ih pokupiš sa: les di, coss nakon čega ti ES:DI pokazuje na početak niza u memoriji. Siguran sam da ćeš se za dalje snaći... :)
pascal.682 legend,
-=-> ** Pliz, nije hitno koliko je bitno, a probao sam sa raznim -=-> sourceovima za ** neke 3d izmotancije i ništa ne mogu da primenim -=-> (ili sam glup, ili mi nešto -=-> A da ti baciš amo te sourcove :) pa da ih pogledamo? Pa okačio sam pre neki dan oko o Gourad senčenju... E pa iz toga ima neka procedura koja ortira tačke nekog tela na neki ugao oko neke ose, ali ja NIŠTA ne kapiram... Poslaću i moj source a vi da mi samo dopišete proceduru... jel ok? Legend of LoC!/eXplosives Alone till doom's day!
pascal.683 hercog,
** proceduru... jel ok? Ajd da vidimo :) Sale
pascal.684 legend,
-=->>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki -=->>> 3D objekat u odnosu na x,y,z ose i to za uglove a,b,c (za svaku -=-> osu po jedan)... -=-> Teorijska objašnjenja takvih procedura možeš naći u onim -=-> E-časopisima, kao Alter ili Space (nije nikakva reklama :). Tamo -=-> sam našao odlična objašnjenja za 3D crtanje i rotiranje... Đe da nađem te časopise? -=->>> E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru -=->>> koju ću da pozovem sa rotate(a,b,c) i da mi posle u istom nizu -=-> vrati koordinate -=-> Nisi uopšte boi jasan u tvojoj poruci što se tiče tih tvojih -=-> koordinata :) Pošalji malo source-a, pa da znamo o čemu se tačno -=-> radi. (ako si udario embargo, onda bar bolje objasni... :). Pa poslaću source, samo da ga malo sredim da možete da ga razumete... ;) A do tad, imaš niz TACKE (trodimenzionalan) u kome su ti koordinate tačaka Pošto ja hoću da rotiram kocku, onda niz izgleda ovako: TACKE [1..6, 1..4, 1..3:single]; --------------\ | | -------------------\ | Ovo je broj | | ---------------\ | Ovo su koordinate | | 4ugla u telu, |__| Ovo je broj | | temena 4ugla, 1=x | | pošto je kocka | temena u 4uglu | | 2=y, 3=z koodrinata|--| ima 6 komata | temena idu u |--| te tačke | --------------/ smeru suprotnom| -------------------/ kazaljki na | tic-taku | -------------- / Joj, jel sad malo jasnije??? Legend of LoC!/eXplosives Alone till doom's day!
pascal.685 space.ace,
>> BP registar je rezervisan za kompajler i ne možeš ga koristiti na način >> na koji si zamislio (običan prepev ASM -> PAS) bez posebne pažnje. >> Razlog je taj što BP služi za pristupanje lokalnim promenljivama koje su >> na steku i njegovo menjanje može da dovede do pada programa ako ne znaš Ma znao sam ja sve to, ali me zbunjivalo to što ponekad sve to i prođe, a češće ne prođe, pa nisam ni sam znap šta da mislim... >> les di, coss U očajanju sam probao i lds (ne znam ni sam što, valjda videh u nekom primeru) ali ni to nije uspelo, još jedino ovo da probam, ili prevodim celo parče koda na čist Pascal. >> nakon čega ti ES:DI pokazuje na početak niza u memoriji. Siguran sam da >> ćeš se za dalje snaći... :) Valjda će uspeti...
pascal.686 legend,
-=-> ** proceduru... jel ok? -=-> Ajd da vidimo :) Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ UVAK ne radi! (ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;)) Legend of LoC!/eXplosives Alone till doom's day! 3dloc.zip
pascal.687 space.ace,
>> Đe da nađem te časopise? Pa imaš ih na SezamNet-u, u diru sezam... >> Pa poslaću source, samo da ga malo sredim da možete da ga razumete... ;) Šta ima da ga sređuješ, dobro smo potkovani da možemo da razumemo svakakvo đubre ;))) >> Joj, jel sad malo jasnije??? PA nije da nije, mada je još uvek pomalo mutno... :)
pascal.688 legend,
-=-> ** proceduru... jel ok? -=-> Ajd da vidimo :) Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ UVAK ne radi! (ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;)) Legend of LoC!/eXplosives Alone till doom's day!
pascal.689 legend,
-=-> Hvala ti na savetu , ali vec imam 3d studio (sve verzije) :) -=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih -=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke -=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka -=-> x,y,z za neke uglove ax,ay,az. AXA! Pa to sam i ja radio... To se radi sa matricama, a imaš u računarima 85 (al sam ih izvuko ;) i na sezamu r111del.zip u \rsoft diru! E, sad, ako si našao rešenje za ono sakrivanje poligona ili još bolje senčenje, kači odmah ovamo primer... Ja sam nakačio neki gourad.zip gde je neki dasa radio Gouradovo senčenje u pascalu ali je mešao pascal i asm pa mi to otečava praćenje... Ako neko provali kako se radi čisto iz pascala nek se dere! Legend of LoC!/eXplosives Alone till doom's day!
pascal.691 legend,
-=-> ** proceduru... jel ok? -=-> Ajd da vidimo :) Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ UVAK ne radi! (ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;)) Legend of LoC!/eXplosives Alone till doom's day!
pascal.692 legend,
-=-> Hvala ti na savetu , ali vec imam 3d studio (sve verzije) :) -=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih -=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke -=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka -=-> x,y,z za neke uglove ax,ay,az. AXA! Pa to sam i ja radio... To se radi sa matricama, a imaš u računarima 85 (al sam ih izvuko ;) i na sezamu r111del.zip u \rsoft diru! E, sad, ako si našao rešenje za ono sakrivanje poligona ili još bolje senčenje, kači odmah ovamo primer... Ja sam nakačio neki gourad.zip gde je neki dasa radio Gouradovo senčenje u pascalu ali je mešao pascal i asm pa mi to otečava praćenje... Ako neko provali kako se radi čisto iz pascala nek se dere! Legend of LoC!/eXplosives Alone till doom's day!
pascal.693 legend,
-=->>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki -=->>> 3D objekat u odnosu na x,y,z ose i to za uglove a,b,c (za svaku -=-> osu po jedan)... -=-> Teorijska objašnjenja takvih procedura možeš naći u onim -=-> E-časopisima, kao Alter ili Space (nije nikakva reklama :). Tamo -=-> sam našao odlična objašnjenja za 3D crtanje i rotiranje... (ako sam već pitao izvini, malo sam senilan u poslednje vreme ;) Ako možeš, nakači te časopise ovde (ili na mail ako nikog ne interesuje) ili mi reci gde ih ima... E, da, sad se setih... jel ima neko onaj $40 časopis? Ako ima nek ga kači na mail... Legend of LoC!/eXplosives Alone till doom's day!
pascal.694 vitez.koja,
#=> Ux, dal sam ja vama rekao da ću da vam dam program ili šta, #=> uglavnom nije bitno... evo mog programa, pa ga malo preuredite... Jeb'o te program! Obriši taj exec kad ga pošalješ. sk
pascal.695 qpele,
Pitanje : Kako da u paskal programu iskoristim ceo RAM a na samo bednih 640K ?
pascal.696 sfilip,
Može li neko da mi pošalje / objasni proceduru putpixel za neki od VESA modova sa 256 boja? I nemo' da me neko uputi na stare brojeve računara il PC-a koje nemam ;)
pascal.697 acafaca,
Hvala ti mnogo. U svim programima mi trepće po ekranu.
pascal.698 acafaca,
Kako da upišem na zadnjem mestu na ekranu nešto? Na mestu (25,80) uvek mi pomeri gore sve.
pascal.699 stameni,
Na primer, pomoću pseudoniza mem: var ch: char; begin ch := 'J'; mem[$B800:3998] := ord(ch) end.
pascal.700 acafaca,
Zar ne može drugačije? Na primer ako mi treba da stalno nešto iscrtavam preko ekrana zar moram da upisujem u memoriju. Ne znam da li je brže sa Write nego sa mem.
pascal.701 sfilip,
> Ne znam da li je brže sa Write nego sa mem. nije brže, najbrže ti je direktno u memoriju :) /nego, řÚzli neko ono u vezi putpixel za vesa mod sa 256 boja? :)/
pascal.702 sale.car,
HI! Dal' bi neko bio ljubazan da mi objasni kako da napravim jedan tsr... Konkretno, hocu ovaj fajl da prebacim da mi bude tsr ali ne znam kako... Ako ima neka dobra dusa bio bih do groba zahvalan... Pozdrav... steper.arj
pascal.703 igorl,
> Dal' bi neko bio ljubazan da mi objasni kako da napravim jedan > tsr... Konkretno, hocu ovaj fajl da prebacim da mi bude tsr ali Ja sam takodje imao sličan problem, pa sam u SEZAMĐRSOFT direktorijumu pronašao fajl R093TSR.ZIP i svi problemi su nestali. Probaj i ti isti recept.
pascal.704 sale.car,
HI! Da li neko zna kako da upisem string na tacno odredjeno mesto u fajlu !? Pozdrav...
pascal.705 janko,
> Da li neko zna kako da upisem string na tacno odredjeno > mesto u fajlu !? Pomoću procedure seek, pa onda upis.
pascal.706 sale.car,
Ig> Ja sam takodje imao slican problem, pa sam u SEZAMDRSOFT Ig> direktorijumu pronasao fajl R093TSR.ZIP i svi problemi su Ig> nestali. Probaj i ti isti recept. Hvala... Pogledacu... ... Pozdrav, Sale.Car
pascal.707 sale.car,
Ja> Pomocu procedure seek, pa onda upis. Sto si tako shkrt na recima... Ajde malo opsirnije... ... Pozdrav, Sale.Car
pascal.708 sfilip,
> Ja> Pomocu procedure seek, pa onda upis. > > Sto si tako shkrt na recima... > Ajde malo opsirnije... prvo assignuješ fajl nekoj text ili kako god 'oćeš file promenljivoj, pa je onda resetuješ sa reset(f:file), pa onda lupiš seek(f:file, i: longint) gde ti je i mesto gde 'oćeš da upišeš nešto, i onda koristiš write naredbu. Btw, sve imaš u pascal helpu :)
pascal.709 janko,
> prvo assignuješ fajl nekoj text ili kako god 'oćeš file > promenljivoj, pa je onda resetuješ sa reset(f:file), pa onda lupiš > seek(f:file, i: longint) gde ti je i mesto gde 'oćeš da upišeš > nešto, i onda koristiš write naredbu. Ja samo ne bih to radio sa text, već sa nekim drugim tipom, najsigurnije file of bytes... text je "filozofska" stvar...
pascal.710 sale.car,
Sf> prvo assignujes fajl nekoj text ili kako god 'oces file promenljivoj, Sf> pa je onda resetujes sa reset(f:file), pa onda lupis seek(f:file, i: Sf> longint) gde ti je i mesto gde 'oces da upises nesto, i onda koristis Sf> write naredbu. Btw, sve imas u pascal helpu :) Hvala... probacu :) ... Pozdrav, Sale.Car
pascal.711 igorl,
Skoro pisah neki program u kojem je, izmedju ostalog, na ekranu trebalo da bude ispisano koji je procenat posla uradjen do odredjenog trenutka, ali tu sam naisao na problem, formula za izračunavanje je smesna: 100 * DoSadUradjenPosao Procenat = ------------------------- UkupanPosao Ali paskalu se to ne svidja, zapravo ako je UradjenPosao relativno mali broj, sve radi OK, ali ako je veći, onda dodje do odredjenog dela i počne da broji unazad i to sa predznakom -. npr: ... 28%, 29%, 30%, -29%, -28% ... Evo ga i programčić koji radi ovu glupost: Var DoSadUradjenPosao, UkupanPosao, Procenat : Integer; Begin UkupanPosao := 675; For DoSadUradjenPosao := 1 To UkupanPosao Do Begin Procenat := (100 * DoSadUradjenPosao) div UkupanPosao; WriteLn (Procenat); End; End. Probao sam da Procenat deklarišem kao Real, ali onda su rezultati još gori, inače kod ovog programa, glupost se desi na 48% tj. kad je DoSadUradjenPosao = 328. Još jedna stvar, ako napišem: Procenat := (100 * 328) div UkupanPosao; WriteLn (Procenat); Dobijam normalan rezultat tj. 48%, a ne -48%. Dali neko zna kako ovo da rešim, mucim se već nedelju dana.
pascal.712 maksa,
>> Dali neko zna kako ovo da rešim, mucim se već nedelju dana. program Perc; function PD(CeoDeo : longint; Obavljeno : longint) : longint; begin PD := (Obavljeno*100) div CeoDeo; end; var i : longint; w : longint; begin w := 625; for i:=1 to w do writeln('Od ', w, ' uradjeno ', i, ', tj. ', PD(w, i), '%'); end. PS Fuj paskal. ;)
pascal.713 janko,
> function PD(CeoDeo : longint; Obavljeno : longint) : longint; > begin > PD := (Obavljeno*100) div CeoDeo; > end; Ni ovo nije "nepromociva" funkcija jer je ogranicena na longint velicinu. Ovde otkazivanje nastupa za znatno vece brojeve, na srecu. Najbezbednije resenje je koristiti real i onda umesto div koristiti /. To radi uvek.
pascal.714 acafaca,
Još nešto. Kako da promenim veličinu kursora? Kao kad uključim insert.
pascal.715 dvesic,
> Ali paskalu se to ne svidja, zapravo ako je UradjenPosao relativno > mali broj, sve radi OK, ali ako je veći, onda dodje do odredjenog > dela i počne da broji unazad i to sa predznakom -. Nije do pascala, no do programera :)) Šalu na stranu, ovo je stvar koja se dešava većini ljudi koji rade sa celim brojevima. Prekoračio si opseg Integer tipa, pa izraz > Procenat := (100 * DoSadUradjenPosao) div UkupanPosao; > DoSadUradjenPosao = 328. tada postaje 32,800 što je taman da prekorači granicu od 32767 za integer Jedno od rešenja je da pređeš na long tip i da koristiš cast operatore, nešto kao: Procenat : Long; .... Procenat := (100 * long(DoSadUradjenPosao)) div UkupanPosao;
pascal.716 sale.car,
Ac> Jos nesto. Ac> Kako da promenim velicinu kursora? Ac> Kao kad ukljucim insert. Evo ti neki uniti za to... ... Pozdrav, Sale.Car kursor.arj
pascal.717 mmarkovic,
> formula za izračunavanje je smesna: > > 100 * DoSadUradjenPosao > Procenat = ------------------------- > UkupanPosao pretpostavljam da je formula u ovom obliku: Procenat = 100 * DoSadUradjenPosao / UkupanPosao Pošto se izračunavanja obično, u većini jezika, vrše sa leva u desno, 100 * DoSadaUradjenPosao veoma lako pređe integer opseg. Napiši formulu ovako: Procenat = (DoSadUradjenPosao / UkupanPosao) * 100 i stvar je verovatno rešena... P.S. Mozda i bez zagrada bude OK
pascal.718 destructor,
Jel nekom poznato kako da iz pascala skinem iz memorije rezidentni program(znaci da oslobodim svu memoriju koju zauzima), koji je takodje pisan u pascalu(by me :))?  10x ...
pascal.719 sale.car,
HI... Kako da pronadjem odredjeni string u {  fajlu !? Pozdrav...
pascal.720 acafaca,
Kako da u paskalu napravim slog koji treba da pročitam iz neke datoteke? Na primer da ne pišem: type Slog=record ime:stringŠ30Ć; prezime:stringŠ30Ć; broj:real; end; nego da mesto ovih brojeva pišem: type Slog=record ime:stringŠxĆ; prezime:stringŠyĆ; broj:real; end; ili da promenim broj polja u slogu: type Slog=record ime:string; prezime:string; . . . broj:real; end;
pascal.721 dule.n,
­> Kako da u paskalu napravim slog koji treba da pročitam ­> iz neke datoteke? Ako sam te dobro shvatio, ti hoćeš da proširiš slog postojeće datoteke. To ćeš uraditi tako što ćeš da prepakuješ celu datoteku. Formiraš novu datoteku čiji će slog biti modifikovan, čitaš slog po slog iz stare datoteke, prilagodiš ga slogu nove datoteke i upisuješ u novu. Dule
pascal.722 sale.car,
Ac> nego da mesto ovih brojeva pišem: Ac> type Slog=record Ac> ime:stringŠxĆ; Ac> prezime:stringŠyĆ; Ac> broj:real; Ac> end; Ovo nece moci :) A odgovor ti je vec stigo... :) ... Pozdrav, Sale.Car
pascal.723 acafaca,
Ne. Hoću da u mom programu ne navodim specijalno za tu datoteku strukturu sloga. Nego da program prepozna strukturu datoteke, znači da prepozna koliko ima slogova i koje dužine ako su string tipa, i da može da je čita kao random datoteku.
pascal.724 acafaca,
Može li nekako sa pointerima da se izvede?
pascal.725 dule.n,
­> Ne. ­> Hoću da u mom programu ne navodim specijalno za tu datoteku ­> strukturu sloga. Nego da program prepozna strukturu ­> datoteke, znači da prepozna koliko ima slogova i koje ­> dužine ako su string tipa, i da može da je čita kao ­> random datoteku. To neće da može, ne bar na lak način. Uvek ostaje mogućnost da čitaš datoteku bajt po bajt i da interpretiraš to što dobiješ kao stringove. Ako su stringovi u pitanju, pre svakog polja u okviru svakog polja podacima prethodi jedan bajt u kome se nalazi dužina sledećeg polja. Na primer ako je slog bio sa dva polja dužina 3 i 2: type slog=record s1:stringŠ3Ć; s2:stringŠ2Ć; end; onda ćeš čitajući datoteku bajt po bajt dobiti: 1. bajt: 3 2. bajt: neka vrednost 3. bajt: neka vrednost 4. bajt: neka vrednost 5. bajt: 2 6. bajt: neka vrednost 7. bajt: neka vrednost 8. bajt: 3 9. bajt: neka vrednost ... To ti je to. Samo što ćeš imati problem da prepoznaš koliki je slog u stvari. :( BTW, šta će ti sve ovo.
pascal.726 acafaca,
Hoću da napravim program za listanje i editovanje datoteke pa mi treba za to. Lako ću ja da pročitam za listanje, ali kad treba da upišem u datoteku sa write(datoteka,Slog); tu je problem.
pascal.727 vper,
Nov sam ovde! Pa me interesuje kako iz paskala mogu modemom nazvati nekoga! Ako neko ima neki tpu ili predlog! Bicu mu vecno zahvalan
pascal.728 sale.car,
Vp> Nov sam ovde! Vp> Pa me interesuje kako iz paskala mogu modemom Vp> nazvati nekoga! Vp> Ako neko ima neki tpu ili predlog! Pa prvo moras da otkucas ..log 1 ;))) Salim se... Imas gomilu fajlova i poruka u ovoj konf. o tome... Za pocetak, ako ti se bas ne citaju sve poruke, probaj jedno: ..co re pascal /a /t cisto da pokupis datoteke... Ako hoces javi da bacim ovde jednu arhivu sa gomilom comm stvari... ... Pozdrav, Sale.Car
pascal.729 sale.car,
Neko je skoro trazio prg. za brisanje dir-ova... Evo ga... (Malo zakasnjenje ;))) ... Pozdrav, Sale.Car cldir.arj
pascal.730 sale.car,
Prvi deo komunikacionih datoteka... ... Pozdrav, Sale.Car comm.arj
pascal.731 sale.car,
Drugi deo komunikacionih datoteka... ... Pozdrav, Sale.Car comm.a01
pascal.732 vitez.koja,
#=> Kako da pronadjem odredjeni string u { fajlu !? Čitaš liniju po liniju, i proveravaš sa StrPos (beše).
pascal.733 sale.car,
#=> Kako da pronadjem odredjeni string u { fajlu !? Vi> Čitaš liniju po liniju, i proveravaš sa StrPos (beše). Da, hvala... nasao sam u medjuvremenu :) ... Pozdrav, Sale.Car
pascal.734 sale.car,
HI... Da li neko moze da mi posalje neki txt (bolje na srpskom) kako da pocnem da pisem tsr-ove... Jos bolje je ako postoji neki kostur pa ja samo da ubacujem sta mi treba... Hvala unapred !! ... Pozdrav, Sale.Car
pascal.735 acafaca,
Kad prebacim proceduru u jedan .tpu prevedem i onda mi se izbrišu procedure koje si mi poslao HideCursor i ShowCursor. Je li to zbog onog assembler?
pascal.736 janko,
> Da li neko moze da mi posalje neki txt (bolje na srpskom) > kako da pocnem da pisem tsr-ove... Jos bolje je ako > postoji neki kostur pa ja samo da ubacujem sta mi treba... > Hvala unapred !! A da malo pogledaš po sezamovim direktorijumima i konferencijama? Ima i kostura i objašnjenja i svega ostalog...
pascal.737 nenad,
Novo: os2\*.* ------------------ vp11demo.zip 1720k ű Virtual Pascal v1.1, potpuno funkcionalan demo, BP komp. Evo nečega što će voleti svi koji su ikada programirali u Borland/Turbo Pacal-u. U pitanju je Virtual Pascal 1.1, odličan 32-bitni OS/2 kompajler, praktično (koliko god je to moguće i ima smisla) 100% kompatibilan sa svojim uzorom, sa većinom ektenzija preuzetim iz Delphi-ja. Nije ga pravio Borland već ga je pisao 5 godina jedan ruski matematičar iz nekog instituta pored Černobila, "od nule", u asembleru. Da je u pitanju perfekcionista vidi se iz gotovo svakog dela ovog paketa, po brzini startovanja, kompajliranja, veličini i optmizaciji koda koji generiše. Pre oko godinu dana kada su ostali bez plata on je svoj kompajler ostavio na internet i potražio zainteresovane da ga otkupe. Javila se jedna britanska firma, preselili su ga sa porodicom na Ostrvo i rezlultat je ovo - potpuno funkcionalna demo verzija (fali samo detaljan help - osnovni postoji) i nemate pravo na distribuciju napravljenih programa. Uključeni su i PM i full-screen IDE (kombinacija Borland-ovog IDE-a i Turbo Debuger-a), komand-line kompajler, RTL (standarne Pascal i Delphi biblioteke, uključujući i TurboVision - bez sorsa u demo verziji). primeri, linker 10 puta brži od IBM-ovog... Programi se lako portuju. Full verzija ide na CD-u i sadrži još i više (puno primera, RTL u sorsu, pečeve za razne BP/TP biblioteke da se mogu iskoristi u VP-u). Najavljen je i izlazak Delphi-like razvojnog okruženja. Preporuka! :)
pascal.738 sale.car,
Ac> Kad prebacim proceduru u jedan .tpu prevedem Ac> i onda mi se izbrišu procedure koje si mi poslao Ac> HideCursor i ShowCursor. Ac> Je li to zbog onog assembler? Cekaj... da li te kapiram... Prebacis HideCursor i ShowCursor u unit, prevedes i one se izbrisu iz unita !?!?!? Hmm... ajde ipak ti formulisi lepo problem :)))) ... Pozdrav, Sale.Car
pascal.739 sale.car,
Ja> A da malo pogledaš po sezamovim direktorijumima i konferencijama? Ja> Ima i kostura i objašnjenja i svega ostalog... Btw, ja sam od onih koji kad pocinju da prate temu, prvo skinu sve poruke, procitaju ih pa onda krecu... Do sada jos nisam naleteo na tako nesto... Btw, ima u jednom dir-u kostur za tsr ali za C... Za pascal jock... Any Help !? ... Pozdrav, Sale.Car
pascal.741 nbjvsa,
Imam problem koji se svodi na sledeće: var p1,p2: ^tip; begin New(p1); New(p2); p2:=p1; ... Dispose(p1); Dispose(p2); ^ Ovde se javlja greška; naime, pošto p2 pokazuje na isto mesto u mem. gde i p1, posle uklanjanja p1, p2 ne može da se ukloni iz memorije. Kako da ga uništim?
pascal.742 qpele,
Nema potrebe da brises p2 jer si vec sa dispose(p1) oslobodio mesto u memoriji na koje oba pokazuju.
pascal.743 nbjvsa,
>> Nema potrebe da brises p2 jer si vec sa dispose(p1) oslobodio mesto >> u memoriji na koje oba pokazuju. Tačno, ali memorija mi ostaje kraća za SizeOf(tip) bajtova, provereno...
pascal.744 ognjen,
)-> Tačno, ali memorija mi ostaje kraća za SizeOf(tip) bajtova, )-> provereno... Da i to je ona memorija na koji je pokaziva p2 pre nego što si uradio p2:=p1; Adresa te memorije je nepovratno izgubljena, moraš je sačuvati. Na primer: sacuvaj:=p2; p2:=p1; ... dispose (p1); { Ili p2, svejdno je, to je ista memorija } dispose (sacuvaj); Voila!
pascal.745 nbjvsa,
>> sacuvaj:=p2; >> p2:=p1; >> ... >> dispose (p1); { Ili p2, svejdno je, to je ista memorija } >> dispose (sacuvaj); Onda se postavlja pitanje šta je sa adresom memorije na koju je pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; tj. dolazimo do istog problema, i dalje fali sizeof(tip) bajtova u memoriji...
pascal.746 nbjvsa,
Rešeno na veoma jednostavan način korišćenjem procedura Mark i Release :) var p: pointer; p1,p2: ^tip; begin Mark(p); New(p1); New(p2); p2:=p1; ... Release(p) end. Ovo 100% oslobađa svu memoriju na heapu koja je bila zauzeta počev od onda kada je stavljeno Mark(p) (tj. p od tada markira mesto na heapu počev od koga će se sa Release(p) obrisati sve dinamičke promenljive sa heapa).
pascal.747 bokir,
> Onda se postavlja pitanje šta je sa adresom memorije na koju je > pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; > tj. dolazimo do istog problema, i dalje fali sizeof(tip) bajtova u > memoriji... Ne fali ništa, jer nisi alocirao memoriju za sacuvaj. On je pokazivao na neku adresu koja je bila SLOBODNA. Da si kojim slučajem pre dodele nešto pisao u sacuvaj, vrlo je verovatno da bi ti se računar blokirao.
pascal.748 nbjvsc,
>> Ne fali ništa, jer nisi alocirao memoriju za sacuvaj. On je >> pokazivao na neku adresu koja je bila SLOBODNA. >> Da si kojim slučajem pre dodele nešto pisao u sacuvaj, vrlo je >> verovatno da bi ti se računar blokirao. Da, naravno, moj previd, stavio sam New(sacuvaj)... Bez toga radi kako treba, ali Mark/Release je ono što najbolje (tj. najbrže) radi u konkretnom programu koji sam pisao :) Sve u svemu, hvala svima za pomoć :)
pascal.749 space.ace,
>> Onda se postavlja pitanje šta je sa adresom memorije na koju je >> pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; Pa nemoj mu davati da pokazuje na bilo šta, ostavi ga praznog :). Deklariši promenljivu, ali nemoj joj dodeljivati memorijsku adresu, pa kad staviš sacuvaj:=p2, dodeliće mu se p2.
pascal.754 vuja,
Pa jed ako se radi o TEXT rezimu ondak: MEM[B800:160*y+x] za kolor monitor a MEM[B000:160*y+x] za mono. Za °─graficki rezim MEM[A000:320*y+x]. 320x200 256 °─
pascal.755 vuja,
A ako je mod koji zahteva vise memorije od 64kb moras da menjas i banke.
pascal.756 space.ace,
>> Kako mogu,da procitam sta je napisano na odredjenom delu >> ekrana [npr. 20,5] ? Probaj sa čitanjem iz text memorije na $B000:y*25+x, ovako iz glave mislim da može (tako sam radio za video memoriju na $A000 ).
pascal.758 nenad,
Evo unit-a i aplikacije-primera za rad sa CD-om direktno iz Pascala. Sve je u dato sorsu, za Virtual Pascal za OS/2. cdpas.zip
pascal.759 ppecanac,
Ima li neko programce (proceduru) za resavanje linearnog sistema 'n' jednacina sa 'n' nepoznatih, dakle u pitanju je kvadratna matrica. Pozeljno je da matrica sistema bude simetricna, (nije uslov). Ako moze sto pre, hvala. :)
pascal.760 mercedes,
Kako se ukljucuje video mod 800 x 600 x 256 ?
pascal.761 qpele,
Evo ti bgi fjalovi koji to obezbedjuju svgabgi.arj
pascal.764 profa,
Tek sad videh... >> Pa jed ako se radi o TEXT rezimu ondak: MEM[B800:160*y+x] Za karakter u video memoriji u tekst modu rezervišu se dva bajta - jedan za sam karakter, a drugi za atribut (prva četiri bita predstavljaju boju karaktera, sledeća 3 boju pozadine, a poslednji označava da li karakter blinkuje ili ne). Znači, na parnim ofsetima su karakteri, a na neparnim atributi. Formula za ofset karaktera (x,y) je 2*(80*(y-1)+x-1), pa je poziv funkcije za čitanje karaktera sa ekrana: b:=Mem[Segment,2*(80*(y-1)+x-1)]; (za x=1..80, y=1..25) gde je Segment=$B800 za kolor, $B000 za mono, a b tipa byte.
pascal.765 acafaca,
Zna li neko sveobuhvatnu knjigu za TP za Windows? Havala!
pascal.766 emajsijuen,
Ima li neko neki unit za obradu slika[ gif,pcx,bmp ] ?
pascal.767 firus,
Em> Ima li neko neki unit za obradu slika[ gif,pcx,bmp ] ? Oćeš opise formata, pa da radiš sam? Empire (ex. micotakis)
pascal.768 emajsijuen,
Da. Thank you. ;) F1 RULES!
pascal.769 firus,
Em> Da. Ok, stiže opis gif-a. Znam da ću a visim zbog ovog, ali šta je tu je. Empire (ex. micotakis) gif.rar
pascal.770 emajsijuen,
Hvala.
pascal.771 firus,
Em> Hvala. Za pcx imaš pascal sorce u dos\prog\pascal ili kako li se već zove. Imam još opise BMP i IFF formata koliko se sećam. Pa ako ti treba viči. Empire (ex. micotakis)
pascal.772 qpele,
Evo sta mi se upravo dogodilo : Strartujem ti ja lepo neki moj program ,kad ono mi emm386 prijavi neku gresku . Ja ti lepo ,kako mi je savetovano resetujem racunar. Medjutim kada ponovo startujem BP javlja mi se poruka u statusnoj liniji Can't find sector on drive C . Sta mi je raditi
pascal.773 bokir,
> Medjutim kada ponovo startujem BP javlja mi se poruka u statusnoj > liniji Can't find sector on drive C . Sta mi je raditi Startuj Norton Disk Doctor ili Scandisk.
pascal.774 vector,
-> Evo sta mi se upravo dogodilo : -> -> Strartujem ti ja lepo neki moj program ,kad ono mi emm386 -> prijavi neku gresku . Ja ti lepo ,kako mi je savetovano -> resetujem racunar. Medjutim kada ponovo startujem BP javlja mi -> se poruka u statusnoj liniji Can't find sector on drive C . -> Sta mi je raditi Dobar ti je program. ;))
pascal.775 clown,
Evo jedan zadatak za sve koji imaju (ne)srecu da progrramiraju u pascalu: Napisati program koji sabira dva velika cela broja,koji imaju ne vise od 50 cifara i mogu da budu pozitivni,negativni ili nula.Program cita dva reda za dva velika cela broja.Za negativne brojeve prvi levi simbol u redu je znak minus,a kod pozitivnih brojeva znak se ne navodi. Obrazac unosenja podataka: 13579 -123456789012345678901234567890 Obrazac izdavanja rezultata: 13579 -123456789012345678901234567890(+) -------------------------------------- -123456789012345678901234554311 Ko resi nek mi posalje poruku na email !Hitno! Hvala,Anna
pascal.776 vector,
High, ako neko ima BINOBJ neka salje ovde u konf.
pascal.777 vector,
Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za verzije manje od 6.0. Pozeljno 5.5.
pascal.778 firus,
Ve> Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za Ve> verzije manje od 6.0. Pozeljno 5.5. 237-23-92 i 237-23-93 FON file server. login:guest cd msdos cd prog cd pascal Tamo imaš par lepih programčića. Tebi treba verovatno ovo: tpu2asm.zip 040393 39722 Symbolic disassembler for TP 5.0 Imaš još par programčića vezanih za igranje sa TPU filovima: intrfc62.zip 050193 57214 Program to dump TPU files. scanh300.zip 120893 69436 Scan TP units to build a help file tpucat10.zip 310593 18238 A TPU Cataloging Utility Ja nemam ni jedan od njih tako da nemogu ništa više da ti kažem, ovo sam samo izvadio iz fajla koji se zove allfiles. Empire (ex. micotakis)
pascal.779 vector,
... -> Tamo imas par lepih programcica. Tebi treba verovatno ovo: -> -> tpu2asm.zip 040393 39722 Symbolic disassembler for TP 5.0 -> -> Imas jos par programcica vezanih za igranje sa TPU filovima: -> -> intrfc62.zip 050193 57214 Program to dump TPU files. -> scanh300.zip 120893 69436 Scan TP units to build a help file -> tpucat10.zip 310593 18238 A TPU Cataloging Utility -> -> Ja nemam ni jedan od njih tako da nemogu nista vise da ti kazem, -> ovo sam samo izvadio iz fajla koji se zove allfiles. Kako imam dosta korisnih unit-a za verziju 5.5 i 5.0 (mozda cak i za neke ranije verzije TP-a) treba mi neki TPU konvertor koji ce ih konvertovati u bilo koju od novijih verzija ( TP 7.0, TP 6.0, BP ), ALI kako ta stvar jos ne postoji zanima me struktura tih fajlova. Gore navedeni 'tpu2asm' bi mi koristio, medjutim, da bi ga uopste startovao potrebna mi je 'turbo.tpl' datoteka iz verzije 5.5 ili/i 5.0 (pozeljno obe). Ako neko ima neka salje na MAIL posto ne moze u konf. BTW, uz poruku je spisak unit-a koje imam, pa ako neko hoce neki, neka vice na MAIL. ──> tpu.arj
pascal.781 space.ace,
>> Kako imam dosta korisnih unit-a za verziju 5.5 i 5.0 (mozda cak i za neke >> ranije verzije TP-a) treba mi neki TPU konvertor koji ce ih konvertovati Ako imaš sorsove tih korisnih unit-a, samo ih iskompajliraj novijim kompajlerom. On the other hand, ako već pitaš kako da konvertuješ, znači da nemaš sorsove. Am I right?
pascal.782 canny,
> Evo, saljem izvorne PAS fajlove nekih virusa. Nisu bas neki, > ali sta je tu je... ;> Moderatore, reaguj!
pascal.783 janko,
> > Evo, saljem izvorne PAS fajlove nekih virusa. Nisu bas neki, > > ali sta je tu je... ;> > > Moderatore, reaguj! Do maločas sam bio u dilemi da li je objavljivanje sorsa virusa nešto opasno samo po sebi. Činjenica je da je danas postalo veoma lako napraviti virus -- postoji mnogo lakih načina za to. Čak i lakših od ovoga da se prave u Paskalu. Dakle, teorijski mogli bi da ostanu tu u "edukativne svrhe", ma šta to značilo. Međutim, s obzirom da je ovo MODERISANA konferencija, što će reći da postoji neko ko je zadužen da brine za kvalitet njenog sadržaja, obrisao sam poruku ne zato što mislim da će taj čin onemogućiti rasturanje inkriminisanog sorsa, već kao znak da ne želimo da podržavamo razvijanje ovakve vrste programa, i da želimo da sugerišemo da ljudi svoju kretivnu energiju treba da usmeravaju u razvijanje programa koji će drugima doneti dobro, a ne loše. Kao autor više besplatnih programa, od kojih su par veoma široko rasprostranjeni, znam šta pričam. Ako želite da vam se program proširi, ili da svako zna za vas, daleko bolji način od pravljenja virusa je da napravite nešto što će ljudima KORISTITI.
pascal.784 canny,
> obrisao sam poruku ne zato što mislim da će taj čin onemogućiti > rasturanje inkriminisanog sorsa, već kao znak da ne želimo da > podržavamo razvijanje ovakve vrste programa, i da želimo > da sugerišemo da ljudi svoju kretivnu energiju treba da > usmeravaju u razvijanje programa koji će drugima doneti dobro, > a ne loše. Bravo! Upravo zato sam i ostavio poruku da reaguješ.
pascal.785 firus,
Ja> Kao autor više besplatnih programa, od kojih su par veoma široko Ja> rasprostranjeni, znam šta pričam. Ako želite da vam se program Ja> proširi, ili da svako zna za vas, daleko bolji način od pravljenja Ja> virusa je da napravite nešto što će ljudima KORISTITI. Apsolutno si u pravu da treba praviti nešto što koristi. Meni ljudi koji prave viruse nisu jasni. Čemu to? Što se tiče tvoje dileme, da li ih ostaviti ili obrisati, moram da ti kažem sledeće. Bilo koju varijantu da si izabrao bio bi u pravu. Obrisao si ih da bi pokazao da je stav uprave, a i tvoj lični, kao i moj uostalom, da se treba boriti protiv virusa. Iako se jasno vidi koju stranu zastupam, mislim da si možda mogao i da ih ostaviš. Ja bi recimo veoma voleo da vidim te sorseve. Ne da bi ih kompajlirao i poslao negde, to je istovremeno i glupo, i smešno i tužno. Da hoću mogu da napravim sasvim solidan virus sa sopstvenim znanjem. Ostaje pitanje koliko je moguće napraviti solidan virus u paskalu, prvenstveno zbog veličine, ali to me apsolutno ne interesuje, iz veoma prostog razloga - ja neću da pravim virus. Bez obzira da li se radi o destruktivnim ili nekim bezopasnim virusima, proučavanjem sorsa ćeš sigurno nešto da naučiš. Niko ne može da me ubedi da sve zna. Svako će da nađe nešto što da sada nije znao, nešto što se možda može upotrebiti i u korisne svrhe. Ne postoji znanje koje je samo po sebi loše, sve zavisi od toga kako se to znanje upotrebljava. To je odgovor na tvoje pitanje šta znači "ostaviti ih u edukativne svrhe". Nije cilj naučiti kako napravitit virus, za to postoje i mnogo bolja rešenja od proučavanja gotovog sorsa. Prvenstveno mislim na detaljno obašnjenje kako virus radi, i na pseudo kod, odnosno algoritam virusa. Kome to treba, veliki mu Internet, pa nek traži. Makar tamo ima toga. Empire (ex. micotakis)
pascal.786 mango,
> znanjem. Ostaje pitanje koliko je moguce napraviti solidan virus u > paskalu, prvenstveno zbog velicine, ali to me apsolutno ne interesuje, > iz veoma prostog razloga - ja necu da pravim virus. Ma kakav virus u paskalu. Ko stvarno hoce da napravi dobar(?!) virus, radi u asembleru. A virusi me nikad nisu interesovali do pre par meseci, kada su poceli da me izrazito nerviraju (tad me je zakacio Natas i jedva sam ga ocistio).
pascal.787 firus,
Ma> Ma kakav virus u paskalu. Ko stvarno hoce da napravi Ma> dobar(?!) virus, radi u asembleru. Kakav? Pa najnormalniji virus. Samo što bi bio jako veliki. Ali to nije bitno, bitno je da bi to radilo. Fora je što bi ga svako ko ima i malo pameti, odmah primetio. Naravno da se virusi pišu u asembleru, i to samo zbog veličine. No pošto ja to NEĆU da radim, a čini mi se nećeš ni ti, da se mi lepo manemo pričanja o glupostima. Empire (ex. micotakis)
pascal.788 janko,
> Kakav? Pa najnormalniji virus. Samo što bi bio jako veliki. Bez veze sa virusima, ali mi pade na pamet kad se reče veličina -- da li je neko od ovde prisutnih nekada pravio rezidentne programe u Turbo Paskalu? Kako to izgleda, da li je moguće i koliko je minimalno veliko (eto, nešto od ovih odgovora se moglo saznati i iz one inkriminisane arhive -- no ni sam je nisam sačuvao. ;) )
pascal.789 nlazic,
>> da li je neko od ovde prisutnih nekada pravio rezidentne programe >> u Turbo Paskalu? Kako to izgleda, da li je moguce i Ne da je moguće, nego čak nije ni mnogo teško. U fajlu zakačenom za ovu poruku nalazi se nekoliko primera TSR-ova: od najjednostavnijih, do onih koji ostaju "iza" Windowsa 3.11. Ako se dobro sećam potreban je TP 5.0 ili neki veći (treba da ima SetIntVec, GetIntVec i Keep procedure). tsrs.zip
pascal.790 acafaca,
Zna li neko dobru knjigu za paskal u windowsu? Havala.
pascal.791 acafaca,
Zna li neko sveobuhvatnu knjigu za TP za Windows? Havala!
pascal.792 vector,
-> Bez veze sa virusima, ali mi pade na pamet kad se rece velicina -- -> da li je neko od ovde prisutnih nekada pravio rezidentne programe -> u Turbo Paskalu? Kako to izgleda, da li je moguce i koliko je -> minimalno veliko (eto, nesto od ovih odgovora se moglo saznati -> i iz one inkriminisane arhive -- no ni sam je nisam sacuvao. ;) ) Sta bi trebalo da rade (ti rez. programi) ? Primer iz TP-a (help za komandu 'keep') predstavlja mali i jednostavan rezidentni program. Zauzima samo 3 Kb. ;> Kad se startuje, pri svakom pritisku na neki taster cuje se beep (nije ni cudo da je stao u samo 3 Kb) ;))
pascal.793 vector,
U vezi pisanja rezidentnih programa saljem sledece: :) - Turbo Pascal / ASM Source For TSR Utilities (tsrscr.zip) - Routines for accessing XMS memory (tp6xms.zip) vector.arj
pascal.794 mango,
> minimalno veliko (eto, nesto od ovih odgovora se moglo saznati > i iz one inkriminisane arhive -- no ni sam je nisam sacuvao. ;) ) Zamoli ga da posalje ponovo:))
pascal.795 firus,
Ja> Bez veze sa virusima, ali mi pade na pamet kad se reče veličina -- Ja> da li je neko od ovde prisutnih nekada pravio rezidentne programe Ja> u Turbo Paskalu? Kako to izgleda, da li je moguće i koliko je Naravno da je moguće. Sve što može u asembleru, može i u pascalu, samo je malo veće. Ja> minimalno veliko (eto, nešto od ovih odgovora se moglo saznati Ja> i iz one inkriminisane arhive -- no ni sam je nisam sačuvao. ;) ) Lepo sam ja reko, obriši odavde, ali ostavi kod kuće. :) Eto vidiš da se uvek nešto korisno može saznati. Ali nemam ni ja. Zakasnio sam. Zato bi molio da mi se to pošalje na mail. Empire (ex. micotakis)
pascal.796 firus,
Ve> Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za Ve> verzije manje od 6.0. Pozeljno 5.5. Za proučavanje TPU fajlova ti treba recimo INTRFC. Pročitaj ovo. Pa ćeš da znaš koju verziju da tražiš, odmah da ti kažem verziju 6.2 zaobiđi. Poslao sam calex-u verziju 7.0, koja je i za 6.0 i za TP/BP 7.0 unite, ti naravno uzmi stariju verziju. Da znaš koju, pročitaj ovo. HISTORY of INTRFC (by D.J. Murdoch) I started INTRFC because I got a library of Turbo Pascal 4.0 subroutines which had some errors in the documentation. One of the functions wanted its arguments to be a special type, but the docs didn't tell me which one. TP gave me an error message saying I wasn't using the right type, but wouldn't tell me which one to use either. I decided to decode the TPU file and figure out what TP wanted. Once I got started, it was hard to stop. So, I ended up writing INTRFC, which printed out almost all the information you'll ever need about the interface to a TPU unit. When I upgraded INTRFC to TP 5.5 files, I got carried away again. Version 1.2 dumped the complete file, not just the interface section. The release of TP 6.0 made it necessary to upgrade again. This one was easy: there aren't very many differences between version 5.5 and 6.0 .TPU files. I decided to fill in a couple of gaps in version 1.2, and the current one dumps everything in the file. However, I made a few mistakes in release 1.3; version 1.31 fixed those. When TP for Windows, version 1.0, came out, I was amazed that version 1.31 almost worked; it turns out that the file format for TP6 and TPW1 is identical. There were a few errors in INTRFC 1.31 because some of the Windows features had never showed up; version 1.32 filled in those areas. I also cleaned up the display a bit. In June '92, TPW 1.5 came out with completely compatible .TPU files. No need for an upgrade. However, William Peavy pointed out the omission of the flag for "interrupt" procedures, so I added that in. I also got tired of the terrible numbering scheme I'd stuck to for so long, and decided that instead of 1.33, I'd call the new one 6.3. Because of the way INTRFC has been written, i.e. entirely by guesswork, there are probably special cases that it doesn't handle properly. That's one reason the source code is there - so other people can fix up my mistakes. The other reason I included source code is because it will serve as a bit of documentation for the TPU file format: Borland will never publish it. They want to be free to change the format, tweaking performance when they can. (As you'll see if you study the .TPU design, the famous "obsolete .TPU" problem doesn't come from the frequent format changes; it's basic to the .TPU design itself. References to old SYSTEM and other units just can't be updated.) This reason has become a little obsolete now: William Peavy has written a very complete description of the TP 6.0/TPW 1.x .TPU format; I highly recommend picking up a copy. Empire (ex. micotakis)
pascal.797 firus,
Fi> Ja nemam ni jedan od njih tako da nemogu ništa više da ti kažem, Fi> ovo sam samo izvadio iz fajla koji se zove allfiles. Davno sam nabavio TVGRAPH. Do pre mesec dana sam imao TP 6.0. Probam ja da iskompajliram to čudo u verziji za 7.0. Dobijem poruku version mismatch error ili tako nešto. Lupim F1 i dobijem objašnjenje da je verovatno neki unit koji dotični koristi promenjen. Znam da ništa nije menjano i da su svi uniti oni originalni. Zato nabavim intrfc70. Program radi i sa unitima za 6.0 i sa unitima za 7.0, koje će da čita zavisi od unešenog parametra prilikom kompajliranja. Jedna od mana je ispis na ekran. Naravno ovo se rešava prostom redirekcijom. Objašnjenje strukture TPU fajlova je mizerno. Svodi se na pogledaj source. Help meni je lepo urađen. Samo korišćenje je lako. Korisno da saznate tačne parametre koje funkcije i procedure iz dotično unita traže. Zatim da saznate koliki su checksum-i svih tpuova koje koristi(ovo je meni trebalo). Naravno ima tu još dosta informacija. Najgore od svega je što ni autorima nije jasno čemu pojedni delovi tpu-a služe. Sve u svemu korisna stvarčica. Razmišljam da malo prepravim source, i da dodam mogućnost pisanja u fajl, koji bi bio defoult. Ali će to malo da sačeka kako mi se čini. Empire (ex. micotakis)
pascal.798 firus,
Ve> ALI kako ta stvar jos ne postoji zanima me struktura tih fajlova. Što je najgore verovatno nikad neće ni postojati. Svugde piše nešto u stilu FORGET IT. Znači batali to. Ve> Gore navedeni 'tpu2asm' bi mi koristio, medjutim, da bi ga uopste Ve> startovao potrebna mi je 'turbo.tpl' datoteka iz verzije 5.5 ili/i Ve> 5.0 (pozeljno obe). Ako neko ima neka salje na MAIL posto ne moze u Ve> konf. Pazi to bi bio o.k. rešenje, ako pravi *.obj fajl, koji ćeš da ulinkuješ. Ako radi ono što radi sourcer, odnosno ako ti daje asm listing to ti neće koristiti, jer nikada nećeš uspeti da dobiješ ono što ti treba. Kao prvo i osnovno grantovano će maksimalno da ti zakomplikuje asm sorce. Dosta sam se igrao sa sourcer-om tako da znam šta pričam. Naravno sourcer radi sa *.exe i *.com fajlovima. Meni bi trebao program koji *.tpu (TP7) konvertuje u *.obj. *.tpu, *.tpp i *.tpw(valjda se ovako zovu) imaju istu strukturu, ako su svi iz iste verzije. Ima li neko nešto takvo? Empire (ex. micotakis)
pascal.799 vector,
Saljem HSC Player za Turbo Pascal 7.0 ! :) HSC/PLAYER V 1.8 FOR TPAS 7 Í═─═─══════─══─═─═──══─═─═Ě ║█▓▒░ ˙A˙N˙T˙A˙R˙E˙S˙ ░▒▓█║ ă─═─═─═══─═─════─═─═─════─ ║­¸ H S C Player V 1.8 ¸­║ ║­¸ FOR TPASCAL 7 (TPU) ¸­║ ă ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─  ║ Add FM Music To Your ║ ║ Intros,Demos,Addy,etc.. ║ ║ In This New Version : ║ ║ - Use The New HSC 1.5! ║ ║ - Equalizer Support ! ║ ║ - Even Smaller !!! ║ ă ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─  ║¨¨Coding By Access /ADV¨¨║ Ë─════─═─═─══════─═─═─═══─Ż Program pusta HSC module. Nikad nisam ni cuo za taj format, ali nema veze. Ovo nije lose, ali postoji jedna mana ;>, uz program (unit) dolazi samo jedan (!) HSC fajl koji se moze upotrebiti u nekom programu. BTW, jel ima neko neki MOD player ? :) advhsc18.zip
pascal.800 vector,
-> Ako radi ono sto radi sourcer, odnosno ako ti daje asm listing to ti nece -> koristiti, jer nikada neces uspeti da dobijes ono sto ti treba. Kao prvo -> i osnovno grantovano ce maksimalno da ti zakomplikuje asm sorce. Dosta -> sam se igrao sa sourcer-om tako da znam sta pricam. Neki (mozda i vecina, nisam ih bas puno razgledao ;>) su bas disasemblirani Sourcer-om. :)
pascal.801 vector,
Mala ispravka, mislio sam na viruse pisane u asembleru koje imam a ne na kompajlirane PAS fajlove. Ko bi lud disasemblirao fajl od 30kb (dobro, sad sam malo preterao ;) Sourcer-om na primer, pa posle to proucavao. ;> LM, koliko sam video, oni virusi napravljeni u Pascalu trebali da budu poslati SysOp-u nekog BBS-a od autora. Bas i nije nesto. Tek sad sam dobro pregledao arhivu. ;>
pascal.802 qpele,
Ve> BTW, jel ima neko neki MOD player ? :) Imam ja neki ,nije sjajan ali zvuk se cuje i lici na original .:) mod.arj
pascal.803 vector,
Ono bi bio odlican program samo da radi preko SB-a, a ne preko cuvenog PC Speaker-a. ;) Anyway, moram da nadjem taj program (tracker) sto pravi i pusta HSC fajlove. Onaj Antares HSC Player je bas mocan. Bas steta sto ima samo 1 primer, tj. HSC fajl.
pascal.804 firus,
Ve> Ono bi bio odlican program samo da radi preko SB-a, a ne preko Ve> cuvenog PC Speaker-a. ;) Jedno pitanje. Da li ima samo opciju za PC Speaker ili i za LPT1? Ja imam neki koji ima 4 mogućnosti. Tri su vezane za LPT1. Jel to taj? Empire (ex. micotakis)
pascal.805 vector,
Koliko sam ja video, samo preko PC Speaker-a. :) LM, nasao sam program koji moze da pusta HSC fajlove. Verovatno uz program dolazi i neki primer, tako da kada ga uzmem poslacu primere (HSC fajlove) zakacene za neku od poruka. HSC Player za Turbo Pascal 7.0 ruleZ. :)
pascal.806 vvelisavljev,
Kako procitati sistemsko vreme iz Paskala? Pazite ima dva, jedan je DOS Time a meni treba onaj drugi.
pascal.807 firus,
Vv> Kako procitati sistemsko vreme iz Paskala? Vv> Pazite ima dva, jedan je DOS Time a meni treba onaj drugi. Ajde mi objasni šta zapravo hoćeš. Iskreno rečeno, ne razumem te. Zar gettime ne radi posao? Ili si hteo da kažeš da ne znaš kojom se to procedurom radi, a da si koristio dos naredbu time? Hitno nabavi knjigu Turbo Pascal 6 (kompletan vodič) - Stephn O' Brien To je mnogo dobra knjiga, ja je mnogo volim. U stavri uzmi to isto, ali za 7.0 Empire (ex. micotakis)
pascal.808 dekik,
D?>> Kako procitati sistemsko vreme iz Paskala? Pazite ima dva,jedan je D?>> DOS Time a meni treba onaj drugi. Probaj sa bios komandama (vreme ti je mislim interrupt 1A). BTW:A jel nije dovoljno ovo iz dos-a ?!
pascal.810 stameni,
>> Kako procitati sistemsko vreme iz Paskala? Pokušaj preko interapta $1a, funkcija Get System Time ($00). Rezultat u tickovima dobijaš u paru cx:dx, a to je po svoj prilici kopija BIOS Data Area od 0000:046c do 0000:046f, tako da vreme možeš i tamo da pročitaš. Evo programa koji bi trebalo da konvertuje vreme u tickovima u razumniji format: ----<cut>---- program GetSystemTimeViaInt1a; uses dos; var h, m, s, s100: word; procedure GetSystemTime(var hour, minute, second: word); var l, m: longint; begin l := 0; asm xor al, al int $1a mov word ptr [l], dx mov word ptr [l] + 2, cx end; m := l mod 91; { višak tikova } l := 5 * (l div 91); { ukupan broj sekundi } hour := l div 3600; { broj sati } l := l mod 3600; minute := l div 60; l := l mod 60; second := l + (m div 5) end; begin GetSystemTime(h, m, s); writeln(h, ' ', m, ' ', s); GetTime(h, m, s, s100); writeln(h, ' ', m, ' ', s) end. ----<cut>---- Može li neko da objasni zašto ova nova procedure, GetSystemTime, žuri nekoliko sekundi (oko 30)? Meni nije jasno... :(
pascal.811 zdravkod,
Potrbna pomoc! Kako da iz Pascala kontrolisem Modem??? Potrbno detaljnije objasnjenje... Ako moze i primer... Unapred zahvalan...
pascal.812 stameni,
>> Kako da iz Pascala kontrolisem Modem??? Potrbno >> detaljnije objasnjenje... Ako moze i primer... Imaš jedan primer u 5.242 uz 5.261.
pascal.813 stameni,
U vezi sa pitanjem od pre neki dan, kako u Pascalu pročitati vreme, imam jedno interesanto zapažanje. Svi znaju da u PC-ju postoji brojač koji povećava neke memorijske lokacije 18.2 puta u sekundi, što daje 91 puta za 5 sekundi. To je samo približno tačno, i zbog toga program koji sam tada bio pisao žuri oko 30 sekundi. U stvari, prema DOSREF-u 3.1, do povećanja dolazi na svakih 1193180 / 65536, a to otprilike iznosi 18206 puta u 1000 sekundi, pa u vezi sa tim može da se modifikuje onaj program na sledeći način: ----<cut>---- program GetSystemTimeViaInt1a; var h, m, s, s100: word; procedure GetSystemTime(var hour, minute, second: word); var l: longint; begin l := 0; asm xor al, al int $1a mov word ptr [l], dx mov word ptr [l] + 2, cx end; l := (1000 * l) div 18206; { ukupan broj sekundi } hour := l div 3600; { broj sati } l := l mod 3600; minute := l div 60; l := l mod 60; second := l end; begin GetSystemTime(h, m, s); writeln(h, ' ', m, ' ', s) end. ----<cut>---- Sada radi prilično tačno. Ne vidim zašto ipak ne koristiti proceduru GetTime iz unita DOS, koja, uzgred, vreme dobija preko interapta $21, funkcija $2c.
pascal.814 acafaca,
Zna li neko neku knjigu za Turbo Pascal za Windows? Mnogo HVALA!
pascal.815 firus,
Ac> Zna li neko neku knjigu za Turbo Pascal za Windows? Uzmi lepo borland pascal 7.0. Imaš sve što ti je potrebno za pisanje win programa, kao i još po nešto. Onda uzmi knjigu za BP7 i uživaj. Empire (ex. micotakis)
pascal.817 tojagic,
Jel zna neko kako da od nekog stringa obrishem poslednji karakter ? Npr imam string 'Usernamee' a ochu da obrishem ono e na kraju ;) Hvala unapred ;)
pascal.818 emajsijuen,
Tj>> Jel zna neko kako da od nekog stringa obrisem poslednji karakter ? To sta tebi treba mozes da uradis na nekoliko nacina... Evo ti program koji od stringa unesenog kao parametar odbija poslednji karakter... Uses crt; Var a :string; Begin a:=paramstr(1); a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } writeln('Uneli ste: ',paramstr(1)); writeln('Odbijanjem zadnjeg slova dobija se: ',a); end. Cu :)
pascal.819 profa,
>> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } Delete(a,Length(a),1); :)
pascal.820 oleg,
Trebaju mi veliki nizivi iz pascala. Za Borland Pascal 7.0 kazu da ima DPMI podrsku, itd, itd... Medjutim, svaki pokusaj dimenzionisanja niza takav da ukupna duzina promenjivih i/ili niza bude veca od 64K zavrsava neslavno. Elem, ima li leka ili treba raditi sa pointerima :( ? Ako ima, molim za hint, primer ili nesto slicno. Hvala.
pascal.821 oleg,
Da, stavio sam u Compiler options Target:protected.
pascal.822 qpele,
Tesko da ces moci bez pokazivaca da napravis niz veci od 64K iz prostog razloga sto i kad kompajliras u protected modu ,time se samo heap segment povecava do maximuma ,a svi ostali segmenti ostaju na 64K . Ako vec toliko hices obicne nizove evo nekog prelaznog resenja : type niz = array [1..max]; pniz = ^niz; var n:pniz; Sada sa new(n) oslobadjas potrebnu memeoriju u heap-u
pascal.823 firus,
To> Jel zna neko kako da od nekog stringa obrishem poslednji karakter ? Imaš par načina. To> Npr imam string 'Usernamee' a ochu da obrishem ono e na kraju ;) Neko školsko rešenje je ovo Delete (nst, Length(nst), 1); Može i ovako, ali je ne volim da se igram sa bajtom dužine nst[0]:=chr(ord(nst[0])-1); Naravno nst si pre toga deklarisao kao string i dodelio mu neku vrednost. Treba li još neka pomoć oko stringova? To makar znam. Empire (ex. micotakis)
pascal.824 rdejan,
>>>> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } >> >> Delete(a,Length(a),1); >> >> ;) Dec(a[0]) je možda još kraće ;) Pozdrav, Dejan
pascal.825 ognjen,
)-> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } ~~~~~~~~~~~~~~~~~~~~ Ovo neće da radi, naravno, jer pascal NE koristi null-terminated stringove.
pascal.826 firus,
Og> Ovo neće da radi, naravno, jer pascal NE koristi Og> null-terminated stringove. Pascal nije C, znači slažem se sa tobom. To 'radi' ako string direktno izbaciš na ekran, ali ako radiš nešto dalje sa stringom to već nije tako. Evo ga primer Var I: Integer; Nst: String; Begin Nst:= 'usernamee'; WriteLn; Nst[Length(Nst)] := #0; WriteLn (Nst); WriteLn (chr(39),Nst,chr(39)); For I := 1 To Length(Nst) + 3 Do Write (Ord(Nst[I]), ' '); End. Kao rezultat dobijaš username 'username ' 117 115 101 114 110 97 109 101 0 A to ipak nije to.
pascal.827 vector,
'swaptp.arj' - 'Swap program out to disk or EMS (+ source code)' swaptp.arj
pascal.828 vector,
... A evo i jednog izuzetno vizuelno lepog programa koji demonstrira upotrebu razlicitih algoritama za sortiranje ... :) sortdemo.zip
pascal.829 acafaca,
-=> zatrebati. Inače taj problem sam rešio, tako što sam upotrebio, dvo- -=> struko spregnutu listu i već gotov sorce iz knjige. Shvatio sam da -=> od viška glava ne boli, a na ne jednostruku listu sam prešao samo -=> zato što sam smatrao da mi ne treba listanje unazad. Hajde molim te pošalji taj program za sortiranje ili ako imaš neki drugi. Treba mi neki program za sortiranje minimalno 100 000 elemenata. Da sortira stringove dužine otprilike 40 byte-a.
pascal.830 acafaca,
-=> Uzmi lepo borland pascal 7.0. Imaš sve što ti je potrebno -=> za pisanje win programa, kao i još po nešto. borland pascal 7.0 za win? -=> Onda uzmi knjigu za BP7 i uživaj. Izvini! Da l' znaš gde ina da se kupi. Tražio sam u onoj knjižari na Terazijama (valjda se zove Kultura) i u Jugoslovenskoj knjizi i još na par mesta, nema. :(-=> Onda uzmi knjigu za BP7 i uživaj.
pascal.831 vector,
■ )-> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } ■ ~~~~~~~~~~~~~~~~~~~~ ■ Ovo nece da radi, naravno, jer pascal NE koristi ■ null-terminated stringove. Sad kad sam pregledao poruke iz ove teme novije od 15.02.1997. nigde nisam primetio poruku broj 818, tj. 'emajsijuen'-ovu poruku. Ocigledno je obrisao svoju poruku. Ne razumem zasto. Mozda to ima neke veze sa odgovorom koji je dao ali se ispostavilo da nije tacan ? Molio bih :) da se ubuduce ne brisu poruke iz konferencije (teme) jer ljudi posle nekog vremena, da ne bi postavljali ista pitanja, mogu preuzeti celu konferenciju, i ako neko ovako brise poruke moze nastati zbrka ... Sta ako neko ko preuzme sve poruke iz teme nadje pitanje na koje je trazio odgovor ? I procita sledece : "Odgovori 818, 819" ili slicno, a nema tih poruka ? Uopste nije bilo razloga za brisanje poruke broj 818 ... PS. Kad vec primetih ovo, prelistao sam malo stare poruke i video da je 'emajsijuen' sve svoje poruke iz ove teme obrisao. (??)
pascal.832 emajsijuen,
Mozda bi bilo bolje da trazis tu moju poruku pod brojem 8.818 ;))))) Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;)
pascal.833 emajsijuen,
Sad tek videh...Ti si rekao da je broj te moje poruke 818, koji i jeste broj moje poruke.Ti izgleda ne umes da koristis komandu read. ;) Ti si sigurno pisao: read 8 818... ;) Za tvoju informaciju: bolje kucaj read 8.818 ! :)
pascal.834 vector,
Ja se izvinjavam zbog ovoga ;). Dao sam korisniku 'emajsijuen' ignore, tako da nijednu njegovu poruku iz konferencije nisam ni primetio ... ■ Mozda bi bilo bolje da trazis tu moju poruku pod brojem 8.818 ;))))) ■ ■ Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam ■ proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;) Mozda i radi, ali to nije ono sto je 'tojagic' hteo, zar ne ? Od stringa 'usernamee' ces dobiti 'username ' (gde je zadnji karakter (bajt) jednak $00) umesto 'username'. ■ Sad tek videh...Ti si rekao da je broj te moje poruke 818, koji i jeste ■ broj moje poruke.Ti izgleda ne umes da koristis komandu read. ;) ■ Ti si sigurno pisao: read 8 818... ;) ■ Za tvoju informaciju: bolje kucaj read 8.818 ! :) Ovakve poruke bez smisla i pune gramatickih gresaka i 'nepravilnosti' nisu za konferenciju ...
pascal.835 firus,
Fi> For I := 1 To Length(Nst) + 3 Do Write (Ord(Nst[I]), ' '); Izvinjavam se svima. Kasnije sam izbacio ovo + 3, pa je rezultat bio 117 115 101 114 110 97 109 101 0 Sa ovim naravno ima još tri nule. Empire (ex. micotakis)
pascal.836 firus,
Ac> Hajde molim te pošalji taj program za sortiranje ili ako imaš neki Ac> drugi. Treba mi neki program za sortiranje minimalno 100 000 elemenata. Ac> Da sortira stringove dužine otprilike 40 byte-a. Čoveče, ali ti tražiš sveže stvari. Ovu poruku sam poslao dok sam bio na micotakisu, znači pre septembra. Gde li je iskopa? :)) Evo ti primer iz knjige uz poruku. Empire (ex. micotakis) prog58.pas
pascal.837 firus,
Ac> borland pascal 7.0 za win? E baš taj. Ali obavezno uzmi instalaciju na 13 disketa. Sve ispod toga nije cela instalacija. Turbo pascal 7.0 ti je to isto, samo što je skraćen na 7 ili možda beše 9 disketa. Nemaš podršku za pisanje protected i win programa. Ac> Izvini! Da l' znaš gde ina da se kupi. Pazi ovako Micro knjiga je izdalvala prevode za ona ranija izdanja. Kad je keva jednog mog ortaka tražila 6.0 za njega rekli su joj da je to rasprodato i da da sačeka malo, jer se sprema izdanje za 7.0. Pogledaj kod njih. Empire (ex. micotakis)
pascal.838 firus,
Em> Inace, onaj odgovor ne bih ni poslao kao odgovor da prethodno nisam Em> proverio tacnost istog.Sve radi, ko ne veruje neka isproba ;) Ja sam isprobao i uverio se da "radi". Onda pročitah šta reče čovek i setih se da pascal nije c. Onda sedoh i napisah primer. Pogledaj ga malo pa ćeš da vidiš kako to "radi". Empire (ex. micotakis)
pascal.839 tojagic,
A da mu nisi dao ignore ?! ;)
pascal.840 vector,
■ A da mu nisi dao ignore ?! ;) Jesam, ali kako smo nesto trebali da se dogovorimo u chat-u, morao sam da maknem 'ignore' ... ostatak price svako zna ... ;))
pascal.841 zdravkod,
Imam LongInt (4 byte-a). Kako da iscitam vrednost prvog, drugug, treceg i cetvrtog byte-a posebno. Unapred zahvalan!
pascal.842 stameni,
Nije u duhu Pascala, al' radi posao: program Longint2Byte; var l: longint; p, d, t, c: byte; procedure konvertuj(zadat: longint; var prvi, drugi, treci, cetvrti: byte); var s, o: word; begin s := seg(zadat); o := ofs(zadat); cetvrti := mem[s:o]; treci := mem[s:(o + 1)]; drugi := mem[s:(o + 2)]; prvi := mem[s:(o + 3)] end; begin write('Unesite longint: '); readln(l); konvertuj(l, p, d, t, c); writeln(p, ' ',d, ' ', t, ' ', c) end.
pascal.843 bokir,
> Imam LongInt (4 byte-a). Kako da iscitam vrednost prvog, > drugug, treceg i cetvrtog byte-a posebno. Može ovako: type Long2Byte = record case Integer of 1 : (l : longint); 2 : (b1, b2, b3, b4 : byte); end end; var l : Long2Byte; begin l.l := 12345678; WriteLn(l.b1, ' ', l.b2, ' ', l.b3, ' ', l.b4); end.
pascal.844 jjerry,
Da li neko zna kako mogu da napravim unit vezan za misha tj. prepoznavanje da li je ukljucen,prepoznavanje mishijih koordinata,pritisaka na dugmeta,kursora itd. Samo nemojte da kazete Drivers unit i GetMouseEvent i sl. :)))
pascal.845 profa,
>> Da li neko zna kako mogu da napravim unit vezan za misha tj. >> prepoznavanje da li je ukljucen,prepoznavanje mishijih >> koordinata,pritisaka na dugmeta,kursora itd. Direktorijum dos\prog\pascal, imaš nekoliko unita...
pascal.846 dekik,
D?>> Da li neko zna kako mogu da napravim unit vezan za misha tj. D?>> prepoznavanje da li je ukljucen,prepoznavanje mishijih koordinata, D?>> pritisaka na dugmeta,kursora itd. Samo nemojte da kazete Drivers unit D?>> i GetMouseEvent i sl.:))) Ne znam napamet al mislim da to imash u svakoj knjizi za pascal ;)
pascal.847 jjerry,
E ().|< je shto se tiche unita nego mi sad treba neshto drugo. Naime,treba mi funkcija za prikaz bitmapiranog kursora. u AX treba da stoji 0009h, u BX i CX od -16 do 16 (shto odredjuje duzinu sirinu kursora al' ne znam kako da stavim neku slicicu za kursor. Ima neshto 01h,02h Screen mask i tako to ,al' nisam uspeo. Ako imash ideju,ili bilo ko,kako se ovo radi javi se ! :))) Pozdrav ;)))))
pascal.848 jjerry,
Imam jedan mali VELIKI problem. Evo o cemu se radi : Mozda neko zna da je interapt za misa 33.Kad hoce da se namesti graficki kursor, u AX se stavi 0009h. E sad : pisa da u BX treba da se stavi neka Hot point za kolonu a u CX za RED.Takodje pise da u ES:DX treba da stoji mask bitmap koji se sastoji od word-ova od 01h do 10h (ili tako nesto). Ako neko zna kako da se overriduje ovo ogranicenje od 16 x 16 tacaka za kursor , tj. da na mestu kursora bude neki BMP ili ICO ili CUR itd. Svejedno, Pascal ili asembler ! Pozdrav i vecno Hvala onome ko mi dobaci ovo !!!!!!!
pascal.849 bokir,
> Mozda neko zna da je interapt za misa 33.Kad hoce da se namesti > graficki kursor, u AX se stavi 0009h. > E sad : pisa da u BX treba da se stavi neka Hot point za kolonu > a u CX za RED.Takodje pise da u ES:DX treba da stoji mask bitmap > koji se sastoji od word-ova od 01h do 10h (ili tako nesto). > Ako neko zna kako da se overriduje ovo ogranicenje od 16 x 16 tacaka > za kursor , tj. da na mestu kursora bude neki BMP ili ICO ili CUR > itd. Svejedno, Pascal ili asembler ! Ako hoćeš da koristiš proizvoljnu bitmapu kao kursor, onda moraš da upotrebiš funkciju 0Ch koja definiše tvoju proceduru koju će drajver sam pozivati kad miš uradi nešto. Možeš sam da definišeš za koje akcije miša će tvoja procedura da bude pozivana: pomeranje, pritisak na levi taster, na desni taster,... Ovde definišeš da se poziva za pomeranje miša, i onda u toj proceduri iscrtavaš bitmapu na mišjim koordinatama. Sors je uz poruku, uglavnom Pascal, mada se provlači i nešto nezaobilaznog assemblera ;) grafmous.zip
pascal.850 jjerry,
Hvala bokiru za fajl , a zasta mi treba ? Mozda neces verovati ali pravim P&C avanturu. Vecinu unita za podrsku misa sam napravio, sad mi je jos ovo trebalo i neki unit za prikaz slika pa da se bacim na 3D Studio koji mi je ,inace, uza specijalnost. :))))) Jos jednom ti veliko hvala i Pozdrav !!!!! :))))
pascal.851 vector,
Nije specijalno za Pascal ali ipak saljem ovde. ;) PC Games Programmers Encyclopedia PS. Ovo je za direktorijum. pcgpe.arj
pascal.852 space.ace,
>> mi je jos ovo trebalo i neki unit za prikaz slika pa da se bacim na Imaš nekoliko unita koji se bave prikazom slika u konferenciji, ali pošto praviš P&C avanturicu, preporuka ti je moja da praviš slike u nekom sopstvenom formatu, da ti neko ne bi menjao te slike, ili bar, ako ih već praviš u nekom poznatom formatu, kriptuješ. Ovo sve nije iz nekih strogo sigurnosnih razloga, već zato što tvoja avanturica ne bi izgledala baš lepo ako neko uzme i izmeni sve slike :)
pascal.853 jjerry,
To znam i ja i imao sam u vidu jedan idiotski trik koji je u isto vreme i vrlo funkcionalan ,a kad si vec pomenuo neki moj format voleo bih da znam kako to mogu da izvedem sa slikom izrendanom u 3D Studio koju ja,povrh svega,moram i da otvorim. Nemam nista protiv,ako imas neki kod u Pascalu ili makar Asembleru, dobaci ga,oberucke cu prihvatiti. :)))) Pozdrav !!!! :)))
pascal.854 vector,
│ ako ih vec pravis u nekom poznatom formatu, kriptujes. Ovo sve nije │ iz nekih strogo sigurnosnih razloga, vec zato sto tvoja avanturica ne │ bi izgledala bas lepo ako neko uzme i izmeni sve slike :) └────────────────── Pa zar to upravo nisu ti "sigurnosni razlozi" ? ;)
pascal.855 strider,
kako napraviti program rezidentan u memoriji?
pascal.856 firus,
St> kako napraviti program rezidentan u memoriji? Stephn O'Brien - Turbo Pascal 6 (kompletan vodič) strana 275. Neko drugi će to mnogo bolje da ti objasni, ali evo ti ono osnovno. Najlakši deo posla je postaviti program da bude rezidentan. To radiš sa keep. Ovo staviš na kraj programa. Pre toga odrediš način na koji će program da se reaktivira. Moraš da vodiš računa da jedan interupt ne prekine drugi. To ti je ono najosnovnije. Nešto detaljnije, neko drugi. Empire (ex. micotakis)
pascal.858 nenad,
Uz poruku je: FreeType project, a very efficient and fast, though portable, TrueType font rendering engine *freely available*. The reader's good knowledge of the TrueType Font specification is not required, though being a undeniable "plus". freetype.zip
pascal.859 zdravkod,
Kako da ucitam neki GIF, BMP ili bilo koji drugi format iz pascala... Dakle, potrebno mi je da nakon INITGRAPH navedem neku komandu, ili par njih i da mi pascal pokaze sliku na ekranu... Ako moze detaljnije objasnjenje... Unapred zahvalan...
pascal.860 ognjen,
Hi! Pravim jedan program (mali, exe, 10k) koji treba da poziva neke BATCH fajlove koji pozivaju ogroman EXE preogram (dvidrv) za preged TEX dokumenata. Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar. Stavio sam na pocetak programa {$M 16384, 0, 65536} (stack mi treba zbog procedura, a heap zbog povezane liste), jer bez toga prijavljuje 'Out of memory' gresku, ali sa tim mi se resetuje racunar. Pre i posle procedure stavio sam SwapVectors; ali ne pomaze. Dakle, kako da pozovem batch fajl iz pascal programa, i posle da se vratim tamo gde sam stao?
pascal.861 vasic,
> Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar. Davno sam radio sa TP-om, ali sve mi se čini da bat-ove ne možeš da exec-uješ direktno. Probaj da sa GetEnv('COMSPEC') nađeš komandni procesor a onda pozoveš Exec(command_4dos_ili_šta_već, '/c xx.bat');
pascal.862 qpele,
Zd> Kako da ucitam neki GIF, BMP ili bilo koji drugi format iz Zd> pascala... Dakle, potrebno mi je da nakon INITGRAPH navedem neku Zd> komandu, ili par njih i da mi pascal pokaze sliku na ekranu... E, pa to ti nece ici bas tako lako. Mislim da u nekom direktorijumu na Sezamu imas objasnjenje GIF formata, pa ga ti potrazi.
pascal.863 qpele,
Og> Problem je kod EXEC ('xx.bat', '') gde gde mi resetuje racunar. Og> Stavio sam na pocetak programa {$M 16384, 0, 65536} (stack mi treba Og> zbog procedura, a heap zbog povezane liste), jer bez toga prijavljuje Og> 'Out of memory' gresku, ali sa tim mi se resetuje racunar. Problem sa Turbo pascalom je u tome sto koristi samo konvencionalnu memoriju tj. 640K Rama. Ako je tvoj program poveci i ako iz njega zoves drugi veliki program normalno je da ce vrisnuti racunar. Probaj heap i stack smanjiti sto vise mozes.Ako i to ne ide ti lepo nabavi Borland Pascal 7.0 (pazi, ne Turbo Pascal 7.0 ) koji moze da kompajlira i u protected modu pa ce ti problemi biti reseni. Og> Pre i posle procedure stavio sam SwapVectors; ali ne pomaze. SwapVectors obavezno da stavljas kad kog koristis EXEC.
pascal.864 firus,
Qp> E, pa to ti nece ici bas tako lako. Mislim da u nekom direktorijumu Qp> na Sezamu imas objasnjenje GIF formata, pa ga ti potrazi. Opis gif formata se nalazi ovde uz poruku 769. X
pascal.865 firus,
Qp> Borland Pascal 7.0 (pazi, ne Turbo Pascal 7.0 ) koji moze da TP 7.0 je isečena verzija BP-a. U helpu za TP lepo piše Borland pascal. Qp> SwapVectors obavezno da stavljas kad kog koristis EXEC. Jel? A može li i objašnjenje zašto OBAVEZNO? Ja sam radio i bez toga pa nisam video neke probleme. X
pascal.866 space.ace,
>> Jel? A može li i objašnjenje zašto OBAVEZNO? Zato što se može desiti da program koji startuješ sa exec izmeni tabelu vektora, što se neće baš svideti tvom programu (još ako si i ti u svom programu menjao tabelu, eto belaja). >> Ja sam radio i bez toga pa nisam video neke probleme. Pa nije se ništa dogodilo jer programi ne menjaju tabelu. Ipak, iz predostrožnosti stavljaj swapvectors...
pascal.867 xlab,
Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove?
pascal.868 emajsijuen,
EM> Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove? Prvo na pocetak pas fajla stavis Unit BlaBla.Onda stavis interface, pa nabrojis procedure i funkcije koje ce taj buduci unit da sadrzi.Kada si to sve ispisao, onda napises implementation, pa napises te procedure i funkcije. Kada to zavrsis onda stavis jedan End. i zavrsio si... Posto ovo sigurno nisi shvatio, evo ti primer: UNIT Screen; Uses crt; INTERFACE Procedure cls(bpoz,btxt: Byte); Procedure txt(ch:char;puta:Integer); IMPLEMENTATION Procedure cls; begin textcolor(btxt);textcolor(bpoz); clrscr; end; Procedure txt; var i: Integer; begin for i:=1 to puta do write(ch); end; end. Ufff, nadam se da si shvatio... :)
pascal.869 vasic,
Subj: SwapVectors pre i posle Exec-a >>> Jel? A može li i objašnjenje zašto OBAVEZNO? > > Zato što se može desiti da program koji startuješ sa exec izmeni > tabelu vektora, što se neće baš svideti tvom programu (još ako si > i ti u svom programu menjao tabelu, eto belaja). Može se desiti, ali pristojni programi to ne rade... sem rezidentnih. A ako Exec-uješ program koji ostane rezidentan, situacija postaje nezdrava kako god okreneš.
pascal.870 vector,
│ UNIT Screen; │ Uses crt; │ INTERFACE └───────── Ovo ne moze da radi. "Uses" mora da stoji _iza_ "interface" direktive, a ne ispred. Evo jednog primera unita : unit Video; interface procedure Boja( background, foreground: byte ); procedure WriteTo( x, y, attr: byte; tekst: string ); procedure FillIt( boja: byte; karakter: char ); procedure OpenWindow( x1, y1, x2, y2: byte; title: string ); implementation uses dos, crt; procedure Boja( background, foreground: byte ); begin TextAttr := background * 16 + foreground; end; procedure WriteTo( x, y, attr: byte; tekst: string ); var counter: byte; begin for counter := 1 to ord(tekst[0]) do begin memw[$b800:(y-1)*160+(x-1)*2]:=ord(tekst[counter])+(attr shl 8); inc(x); end; end; procedure FillIt( boja: byte; karakter: char ); var counter1: byte; counter2: byte; begin for counter1 := 1 to 25 do for counter2 := 1 to 80 do WriteTo( counter2, counter1, boja, karakter ); end; procedure OpenWindow( x1, y1, x2, y2: byte; title: string ); begin end; begin end.
pascal.871 emajsijuen,
>> Ovo ne moze da radi. "Uses" mora da stoji _iza_ "interface" direktive, a >> ne ispred. Evo jednog primera unita : Jesi li pozurio da me ispravis ? :) I najveci majstori ponekad mogu da pogrese... :(
pascal.872 vector,
│ Jesi li pozurio da me ispravis ? :) └───────── Jesam. ;)
pascal.873 sfilip,
E, 'vako, kačim s porukom jednu proceduru (i test program s njome), procedura bi trebala da poziva ARJ i ubacuje u neku arhivu navedeni fajl, što i radi, prvi put, a kod drugog-trećeg puta zablokira. Sve je vrlo jednostavno napisano, u exec trpam arj i parametre, svapujem vektore pre i posle, mada je bezpotrebno jer arj (valjda) ništa ne dira, nema manjka memorije, pa ipak - ne radi! Počeo sam da sumnjam na kompajler ili arj verziju, ali nidočega pametnog nisam stigao, što se doduše nije ni očekivalo. imal' neko ovde ko je voljan pomoći mi? usearj.pas
pascal.874 dekik,
Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa ctrl-break ? Unapred Hvala.
pascal.875 profa,
>> Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa >> ctrl-break ? CheckBreak:=false; (Moraš da staviš uses Crt na početku, jer se CheckBreak nalazi u Crt unitu)
pascal.876 space.ace,
>> Kako se *.PAS fajlovi mogu kompajlirati u *.TPU fajlove? Na početku fajla, umesto stavke "program", stavi "unit" i kompajliraj. Kasnije, kad ih budeš koristio u svojim programima, u uses stavku dodaj ime te tvoje biblioteke (unita) i piči.
pascal.877 vector,
│ Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa │ ctrl-break ? └───────── SetCBreak(False); CheckBreak:=False; ili postavljanjem sopstvenog interapt hendlera na $1B, $23 interapte.
pascal.878 pvlada,
Da li bi neko hteo da mi kaže kako da iz paskala štampam neki tekst?
pascal.879 emajsijuen,
>?>?> Jel postoji neka moguchnost da se zajebe ono prekidanje programa sa >?>?> ctrl-break ? Ve>> SetCBreak(False); Komanda SetCBrak(False) ce onemoguciti obustavu programa sa CTRL-C, koliko ja znam...ili sam se jos jednom zeznuo ?
pascal.880 profa,
>> Komanda SetCBrak(False) ce onemoguciti obustavu programa sa CTRL-C, >> koliko ja znam...ili sam se jos jednom zeznuo ? Pa dobro bre, za sta sluzi help u Pascalu? ;) Remarks: SetCBreak sets the state of Ctrl+Break checking in DOS. When off (False), DOS only checks for Ctrl+Break during I/O to console, printer, or com-muni-cation devices. When on (True), checks are made at every system call.
pascal.881 profa,
>> Da li bi neko hteo da mi kaže kako da iz paskala štampam neki >> tekst? uses Printer; ... WriteLn(Lst,BlaBlaBla); ... Dakle, Lst predstavlja printer.
pascal.882 pvlada,
PV>Dakle, Lst predstavlja printer. Hvala :)
pascal.883 vector,
│ Procedure cls(bpoz,btxt: Byte); │ ... │ Procedure cls; │ begin │ textcolor(btxt);textcolor(bpoz); │ clrscr; │ end; └───────── Obratiti paznju na ovu proceduru. 2x je stavljeno TextColor ! :)) PS. "Najveci majstori" su opet pogresili. ;)
pascal.884 zokipo,
PITANJE: Ako znate nacin za detektovanje postojanja i nivoa signala na linijskom ulazu SoundBlaster-a 16 podelite ga sa jadnim i nesretnim programerom kome zivot zavisi od posedovanja takve informacije. Bilo koji source je dobro dosao (ali se preferira BP 7.0 mada nije imperativ :> )... Svi koji poseduju informacije te i takve vrste please: MA WR => Zokipo. Biti cu vam zahvalan do groba, a ako postoji zivot posle smrti, i dalje .... ;>
pascal.885 sfilip,
dobro bre, može li mi iko ovde pomoći po pitanju onog arj startovanja ili ne?
pascal.886 qpele,
Problem kod tvog programa je jedino u tome sto za ime fajla mora cela putanja tj. c:\dir\imefajla.exe Sve ostalo je OK.
pascal.887 zokipo,
Ljudi dobre volje pomagajte ... Evo o cemu se radi : Ja i ortak radimo na radiju, i razvijamo maleno programce koje treba da kontrolise linijski ulaz na SB-u ( na taj ulaz dolazi signal sa satelita ), tj. po unapred zadatom vremenskom obrascu ( tipa od xx do xx minuta ) on spusta nivo linijskog ulaza na zadatu vrednost, izvrsava WPLAY ( tj. ubacuje .WAV fajl koji je zapravo identifikacioni dzingl ) odsvira ga i vrati linijski nivo na pocetnu vrednost. ( i za divno cudo to sve RADI ... ;> ) Sada smo dosli na ( kako ce se ispostaviti ) suludu ideju da detektujemo prisustvo signala na linijskom ulazu ( po srpski - da li nam satelit uopste svira ili se ucut'o ), pa ako signala nema da program automatski startuje CD-ROM i pusti u program CD koji bi jel'te za datu namenu u isti bio i ostavljen. Ako vam je poznat nacin da se malom nesretnom programu objasni kako da uradi ovo sto nama treba, bilo bi to strava ( citaj MA WR ZOKIPO, uz eventualno MA ATT xxxxxx ). Moze sorce, moze ideja moze bilo sta, jerbo nas dva nista pametno nismo smislili ... Toliko, bye ... :>>>>
pascal.888 sfilip,
>Problem kod tvog programa je jedino u tome sto za ime >fajla mora cela putanja tj. c:\dir\imefajla.exe >Sve ostalo je OK. aman zaman, nije to, ima puno ime fajla, čoveče! zlo, zlo! eto šta je! imal' neko drugi ideje?
pascal.889 pvlada,
Kada hoću da štampam iz programa, a štampač nije spreman(npr. isključen) on prekida program sa Greškom 160: Device Write Fault. Kako da prvo proverim da li je štampač spreman ili nešto slično da nebi prekidao program ?
pascal.890 qpele,
Kod mene radi OK, samo je trebalo da unesem celu putanju do arj.exe i cele putanje do fajlova.
pascal.891 firus,
Zo> Ljudi dobre volje pomagajte ... Taj sam. :) Zo> Sada smo dosli na ( kako ce se ispostaviti ) suludu ideju da Zo> detektujemo prisustvo signala na linijskom ulazu ( po srpski - da li Zo> nam satelit uopste svira ili se ucut'o ), pa ako signala nema da Zo> program automatski startuje CD-ROM i pusti u program CD koji bi jel'te Zo> za datu namenu u isti bio i ostavljen. Skini PCGPE, ne znam ko ga je i gde ostavio. Ako ti to ne pomogne, pogledaj ovo: ftp site: ftp.uwp.edu directory: /pub/msdos/demos/programming/game-dev/source filename: soundx.zip Za prvu pomoć ti evo ovo: function GetMixerReg(base : word; index : byte) : byte; begin Port[base + 4] := index; GetMixerReg := Port[base + 5]; end; Ovo treba da ti vrati trenutno stanje sa ulaza. E sad, ako se u GetMixerReg duže vremena pojavljuje ista vrednost... Valjda ti je jasno. Nešto ne valja. I ti onda kažeš, evo ga CD i gotovo. Inače za base stavi 220h, 230 ili 240h, šta ja znam gde ti je SB. Jel ti dosta za početak? X
pascal.892 tomak,
> aman zaman, nije to, ima puno ime fajla, čoveče! > zlo, zlo! eto šta je! > imal' neko drugi ideje? Ako još uvek treba ... izbacio sam 'SwapVectors;', pre i posle ARJ-a i proradio je.
pascal.893 sfilip,
>> zlo, zlo! eto šta je! >> imal' neko drugi ideje? > > Ako još uvek treba ... izbacio sam 'SwapVectors;', pre i posle ARJ-a i > proradio je. e, fala, i tebi qpeletu, al' više ne treba... probao sam i ja izbaciti swapvectors, ali džaba... na kraju sam skino' sa sezama onaj lha arhiver, koj je malih dimenzija pa mi i više odgovara, i on radi savršeno :) možda je bio problem u verziji arj-a, ali nemam živaca to da proveravam :)
pascal.894 dzakic,
> Kada hoću da štampam iz programa, a štampač nije spreman(npr. > isključen) on prekida program sa Greškom 160: Device Write Fault. > Kako da prvo proverim da li je štampač spreman ili nešto slično > da nebi prekidao program ? {$i-} write(lst,...); if ioresult<>0 then { Greška };
pascal.895 firus,
Dz> {$i-} Dz> write(lst,...); Dz> if ioresult<>0 then { Greška }; Zakiću da nisi zaboravio nešto? :)) to sfilip: Četvrti red, odnosno ono što ide ispod ovoga je {$I+}. Ne nasedaj na onaj primer iz help-a. Neko nije vodio računa kad ga je pisao. Onaj primer iz helpa generiše i grešku. Čovek je suviše rano ubacio {$I+}. To ide posle. X
pascal.896 pvlada,
>š$i-ć >write(lst,...); >if ioresult<>0 then š Greška ć; Hvala:)
pascal.897 pvlada,
>to sfilip: > >Četvrti red, odnosno ono što ide ispod ovoga je š$I+ć. Čini mi se da si malo pogrešio trebalo je da ide to pvlada: :) Ipak Hvala :)
pascal.898 vitez.koja,
#=> imal' neko drugi ideje? Nemaš dovoljno memorije... sk
pascal.899 gmatic,
Kako da pokrenem neki program iz paskal programa(au al ga slozi)? Primer:hocu da pokrenem arj.exe iz programa!!!
pascal.900 zeljkoj,
> Primer:hocu da pokrenem arj.exe iz programa!!! Rešenje je procedura Exec. Nije mi trenutno TP pri ruci, pogledaj help za tačnu sintaksu.
pascal.901 firus,
Pv> Čini mi se da si malo pogrešio trebalo je da ide to pvlada: :) Izvinjavam se. Znam da je i on nešto kukao, pa sam pomešao. :) X
pascal.902 firus,
Gm> Kako da pokrenem neki program iz paskal programa(au al ga slozi)? Veoma lako. Gm> Primer:hocu da pokrenem arj.exe iz programa!!! Hoću i ja plavušu pa nikom ništa. Fora je u tome što ti imaš više sreće od mene. Dakle ovako: --- CUT HERE --- {$M $4000,0,0 } { 16K stack, no heap } Uses Crt, Dos; Var Paker, Unpaker, Direktorijum, Arhiva : String; Procedure Otpakuj; Begin Unpaker = 'arj.exe'; {dodeli ime pakeru, ista sintaksa je i za RAR} Unpaker := FSearch(Unpaker, GetEnv('PATH')); {nađi paker bilo gde u path-u} Exec (FExpand(Unpaker), ' x -r ' + Arhiva+ ' ' + Direktorijum); {otpakuj fajl Arhiva u direktorijum Direktorijum} End; { Procedure Otpakuj } Procedure Zapakuj; Begin Paker = 'arj.exe' {dodeli ime pakeru, lako se prepravi da radi za RAR} Paker := FSearch(Paker, GetEnv('PATH')); {nađi paker bilo gde u path-u} Exec (FExpand(Paker), ' a -e '+ Arhiva+ ' ' + Direktorijum); {zapakuj sve fajlove iz direktorijuma Direktorijum u arhivu Arhiva} End; { Procedure Zapakuj } --- CUT HERE --- Ispod dodaš ostale procedure i naravno program. Nadam se da negde nisam nešto zaboravio da prepravim. Ovo su inače osakaćene procedure iz mog programa. X
pascal.903 gmatic,
==> Resenje je procedura Exec. Nije mi trenutno TP pri ruci, ==> pogledaj help za tacnu sintaksu. Nece khaze mi da mu manjka memorije(errorcode #8).Probao sam!!!!!! Neznam stha je ovo!!!! Probao sam i neke sitnije stvari kao neki glupi bat koji nesto nasvrjla al i onda pise #8(pa i kad izkompajliram).
pascal.904 gmatic,
A kako se otvara fajl i upisuje u njega i uzimaju podatci iz njega...(obican tekst fajl). Hocu da napravim program koji pravi katalog po diru i opakuje samo odabrano(znate ono imam 1000 fontova a koristim samo 50 pa da se nebi stalno zezao kad se nesto desi lepo on mi samo otpakuje tih pedeset koje imam u nekom fajlu). Naime nesto tako sam vec napravio u basic-u ali mi se bas nesvidja izgled(nema menija i ostalog vec samo suvi tekst). E da da li neko ima qbasic(ili quickbasic)kompajler?
pascal.905 gmatic,
==> Nadam se da negde nisam nesto zaboravio da prepravim. Ovo su ==> inace osakacene procedure iz mog programa. Pa jesi tu i tamo neke dvotacke i slicno al snasao sam se. Hvala mnooooogo.
pascal.907 zokipo,
==> Ako ti to ne pomogne, pogledaj ovo: ==> ftp site: ftp.uwp.edu ==> directory: /pub/msdos/demos/programming/game-dev/source ==> filename: soundx.zip Za pocetak, tacna adresa je: ftp.uwp.edu/pub/games/game-dev/source/soundx.zip i nije nam pomoglo, ali smo nsli nesto sto bi moglo da nam pomogne. Hvala t na pravoj informaciji. ==> function GetMixerReg(base : word; index : byte) : byte; ==> begin ==> Port[base + 4] := index; ==> GetMixerReg := Port[base + 5]; ==> end; Bili bismo ti veoma zahvalni ako bi mogao da nam malko pojasnis na sta ti cilja 'index', samo to jos kad bi znali, gde bi nam bio kraj. Salu na stranu, mnogo si nam pomogao sa ftp-om. HVALA !!! Tol'ko od mene za sad. Ako mislis da mozes da nam saopstis ista korisno, molim te da to bude na mail: zoran.v@beotel.yu jerbo mi pretplata na Sezam uskoro istice, a nesto mi se ne da da je obnavljam ;>. Bye ... ;>>>>
pascal.908 qpele,
Gm> Nece khaze mi da mu manjka memorije(errorcode #8).Probao sam!!!!!! Gm> Neznam stha je ovo!!!! Stvar je u tome sto pri kompajliranju pascal rezervise ceo Ram za program. Da bi to sprecio, stavis {$M,stacksize,minheap,maxheap} (mislim da je tako ,ali ipak pogledaj help) i tako ogranicis heap koji koristi tvoj program i i ostavis memorije za druge programe.
pascal.909 qpele,
Gm> A kako se otvara fajl i upisuje u njega i uzimaju podatci Gm> iz njega...(obican tekst fajl). Ovako: Assign(f,"datoteka.dat")- povezuje datotecnu promenjljivu sa konkretnom datotekom na disku.Neophodno pre bilo kog rada sa datotekama. Reset(f)-postavlja datotecni pokazivac na pocetak datoteke( na prvi clan). Uglavnom ide posle assign. Rewrite(f)-Brise sve podatke iz datoteke. Read(f,x)- cita podatak iz datoteke i svesta ga u promenjljivu x Write(f,x)-upisuje x u datoteku Eof(f)-=true ako je datotesni pokazivac na kraju datoteke.
pascal.910 dekik,
D->> A kako se otvara fajl i upisuje u njega i uzimaju podatci iz njega... D->> (obican tekst fajl). 'vako var F : Text Assign(F,'fajl.txt'); {otvara fajl.txt} Append(F); {ide posle assign i postavlja kursor na kraj datoteke za upis podataka} Reset(F); {ide OBAVEZNO posle assign ako ochesh da chitash iz datoteke} Rewrite(F); {ide posle assign ako ochesh da obrishesh datoteku i spremish za upis} Readln(F,S); {chita S iz fajla F, ide posle Reset} Writeln(F,S); {upisuje S u fajl F, ide posle Append} Eof(F); {vracha true ili false u zavisnosti da li je kraj datoteke} Eol(F); {vracha true ili false u zavisnosti da li je kraj linije} Close(F); {zatvara fajl F} Ako ima problema samo reci.
pascal.911 sfilip,
>#=> imal' neko drugi ideje? > > Nemaš dovoljno memorije... ex, kako li se toga ja pre nisam setio... prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem, majke mi ;) dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije hteo... nisam probao druge verzije arj-a, a nema ni potrebe... ali ipak, zašto?
pascal.912 firus,
Gm> Pa jesi tu i tamo neke dvotacke i slicno al snasao sam se. Vidim da sam zaboravio dva puta da dodam po dvotačku. :( Fora je u tome što moj program ime pakera čita iz ini fajla, a ono je izvađeno iz if then strukture: if paker = 'arj.exe' then begin ... end; Ja to isekao i nisam obratio pažnju da imam dodelu vrednosti. Gm> Hvala mnooooogo. Lepo sam ja rekao da imaš više sreće od mene. :) Neko će da ti preporuči da pre i pose toga dodaš po Swapvectors. Za Arj ti to ne treba, ali što reče neko dobro je da stvaraš naviku. X
pascal.913 firus,
Qp> (mislim da je tako ,ali ipak pogledaj help) i tako ogranicis heap koji Qp> koristi tvoj program i i ostavis memorije za druge programe. Ograničiš blago meni heap na 0 i završiš posao. E sad, ako zatreba lako ćeš da ga povećaš. X
pascal.914 nenad,
> prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu > memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem, > majke mi ;) Pre svakog startovanja čega? Tvog programa ili ARJ-a? Jesi probao da umesto ARJ-a pozoveš MEM ili nešto slično?
pascal.915 emajsijuen,
De>> Rewrite(F); {ide posle assign ako ochesh da obrishesh datoteku i spremish De>> za upis} Rewrite, u stvari samo otvara novu datoteku. A ako datoteka vec postoji rewrite je prebrise i otvori za upis. De>> Writeln(F,S); {upisuje S u fajl F, ide posle Append} ~~~~~~~~~~~~~~~~ Moze i posle rewrite... :) BTW, moze i write(F,S); De>> Eof(F); {vracha true ili false u zavisnosti da li je kraj datoteke} Radi samo ako je datoteka otvorena za citanje, u drugom slucaju vraca runtime error 104 (File not open for input) ;)
pascal.916 dekik,
D->> Rewrite,u stvari samo otvara novu datoteku.A ako datoteka vec postoji D->> rewrite je prebrise i otvori za upis. E pa sad...mislim da je bilo dovoljno "sazhvakano". D->> Moze i posle rewrite...:)BTW,moze i write(F,S); Mislim da se chovek razume u write i writeln naredbu. D->> Radi samo ako je datoteka otvorena za citanje,u drugom slucaju vraca Logichno.
pascal.917 sfilip,
>> prvo što sam uradio je da sam pre svakog startovanja pregledavao slobodnu >> memoriju, ali je verovatno 612kb bilo malo? e, sad ću sve da vas bijem, >> majke mi ;) > >Pre svakog startovanja čega? Tvog programa ili ARJ-a? Jesi probao >da umesto ARJ-a pozoveš MEM ili nešto slično? pre startovanja arj-a. probao sam da umesti, ili pre arj-a pozovem Mem, koj je svaki put pokazivao isto, potpuno identično. dakle, u programu tri puta startujem arj, dva puta je ok, a treći zaglavi. Svaki put pre toga mem pokaže isto. Još ideja? :)
pascal.918 supers,
>> dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije >> hteo... nisam probao druge verzije arj-a, a nema ni potrebe... >> ali ipak, zašto? ARJ je stvarno zli arhiver kada je reč o konvencionalnoj memoriji. Sećam se kakvu sam frku imao dok sam vozio XT-a pa je trebalo da u 640K uklopim DOS, nekoliko TSR-ova, OLX čitač i još dearhiver za QWK pakete. Pucalo je kod pozivanja ARJ-a dok nisam i ja otkrio sjajni LHA :)
pascal.919 firus,
Sf> dakle... sumljam na zli arhiver, jer mi lharc radi Ok, a arj nije Sf> hteo... nisam probao druge verzije arj-a, a nema ni potrebe... Sf> ali ipak, zašto? Jeli majstore. Jel si ti pročitao ono što sam poslao gmatic-u? Lepo sam napisao kako se radi sa Arj-om. Ako nisi, pogledaj šta sam napisao. I onda pogledaj prvu liniju. Koliki ti je swap i koliki ti je heap? Kako si postavio argumete za otpakivanje i zapakivanje? Ko ti tačno javlja grešku Arj ili program? Koja je TAČNO greška u pitanju DOSLOVCE. I gde je taj sorce, ja sam ga omašio. :( X
pascal.920 tomak,
> Ograničiš blago meni heap na 0 i završiš posao. > E sad, ako zatreba lako ćeš da ga povećaš. A ako hoćeš da napraviš program u "protected mod-u" u BP7 jel može da se napravi a da ne koristi dpmi16bi.ovl i rtm.exe.
pascal.921 qpele,
Sf> dakle, u programu tri puta startujem arj, dva puta je ok, a treci Sf> zaglavi. Svaki put pre toga mem pokaze isto. Jos ideja? :) Jesi li na poscetku stavio nesto tipa {$M 2000,0,0} ?
pascal.922 qpele,
To> A ako hoces da napravis program u "protected mod-u" u BP7 jel moze To> da se napravi a da ne koristi dpmi16bi.ovl i rtm.exe. JOK!
pascal.923 drejk,
slusajte, ono... ja kao pravim neki programcic i sad posto sam pocetnik ne znam kako da rezultat programa bachim u fajl... dakle ono... ono sto program uradi da se napravi poseban fajl na HD-u i da se tu usnimi... pozdrav
pascal.924 dekik,
D->> slusajte,ono...ja kao pravim neki programcic i sad posto sam pocetnik D->> ne znam kako da rezultat programa bachim u fajl...dakle ono...ono sto D->> program uradi da se napravi poseban fajl na HD-u i da se tu usnimi... var F : Text; Begin Assign(f,'fajl.dat'); Append(f); Writeln(f,podatak); Close(f); end.
pascal.925 goxi,
Hi. Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za pocetak, ako bi neko mogao da mi posalje Pascal za DOS (ako nije veliki), UNAPRED HVALA!
pascal.926 gmatic,
==> Hi. ==> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za ==> pocetak, ako bi neko mogao da mi posalje Pascal za DOS (ako ==> nije veliki), UNAPRED HVALA! Velik je (bar 7.0 koji ja imam staje na 10-tak disketa kolko znam)
pascal.927 dekik,
D->> Ja neznam nista u vezi pascal-a ali bih voleo da naucim,za pocetak, D->> ako bi neko mogao da mi posalje Pascal za DOS (ako nije veliki), D->> UNAPRED HVALA! Ako nije VELIKI ?!!? E pa jeste ;)
pascal.928 tomak,
> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za pocetak, ako > bi neko mogao da mi posalje Pascal za DOS (ako nije veliki), UNAPRED > HVALA! Ima kažu prava 7-ica na 13 disketa i to slati ... a ima i Turbo Pascal 7.0 na 2 diskete. Ni jedna ni druga verzija ne može da se šalje u konferenciju ali ova druga na mail ... ustvari, ne bi trebalo da može ni tako ali ...
pascal.929 supers,
>> Ja neznam nista u vezi pascal-a ali bih voleo da naucim, za >> pocetak, ako bi neko mogao da mi posalje Pascal za DOS (ako nije >> veliki), UNAPRED HVALA! A da ti posetiš svog zvaničnog dilera softvera?
pascal.930 goxi,
OK, onda nista :(( posto nemam u blizini ni jednog diler-a koji se bavi software-om, ustvari imam jednog ali mu je snimanje na diskete 2din, pa nisam lud da mu dam toliko.
pascal.931 firus,
To> Ima kažu prava 7-ica na 13 disketa i to slati ... a ima i Turbo To> Pascal 7.0 na 2 diskete. Ajde da pojasnim stvari. Borland pascal 7.0 ide na 13 disketa. Možeš da praviš programe u protected modu, kao i windows programe. Turbo pascal 7.0 je osakaćena verzija Borland pascala koja može da pravi samo obične programe za DOS. Postoji i neka piratska verzija na 11 disketa, ne znam tačno šta joj fali, ali verovatno podrška za windows programe. X
pascal.933 firus,
Go> OK, onda nista :(( posto nemam u blizini ni jednog diler-a koji se Go> bavi software-om, ustvari imam jednog ali mu je snimanje na diskete Go> 2din, pa nisam lud da mu dam toliko. 4 dinara ne možeš da odovojiš za Pascal? Pa kako bi paltio original? X
pascal.934 sfilip,
>Jel si ti pročitao ono što sam poslao gmatic-u? Lepo sam napisao kako >se radi sa Arj-om. Ako nisi, pogledaj šta sam napisao. pogledah, nekada davno... ali koristi nikakve. Do toga svega sam sam došao, a stek od 16kb mi je neophodan. pazi, sve mi je ok, nema problema sa komandim linijama i ostalime, on mi jednom startuje arj, kada ga startuje drugi put onda zablokira. Dakle, niko ne prijavljuje grešku no samo BLOKIRA. pre startovanja prvi i drugi put imam isto memorije, proverio preko mem-a. lharc radi ok, al je tragično spor. Štos je u tome da ovaj zli arj nešto brlja negde, pa to ne obriše, već ga to zaje*e kad ga startujem drugi put. Šta, gde i kako to izbeći? el tebi radi onaj tvoj sors? koju verziju arj-a imaš? idem sad skinuti najnoviju sa sezama, pa ću da proverim. Staviću i iste $m parametre. >I gde je taj sorce, ja sam ga omašio. :( ai.... ne znam, tu negde... ..con re 8 100497- sfilip ;)
pascal.935 sfilip,
e, probao sam sve po starom sa arj--om verzija 2.50 (oktobar '95) i radilo je ok. Probao sam isto sa onom verzijom koju sam pre imao i opet je puklo. Dakle, reč je u verziji arj-a. To je neka 2.8 verzija, velika 244.188 bajtova. Mogu da se pošaljem ako ikoga zanima? svejedno, svi moji problemi su rešeni ;) btw, pošto mi je trebalo dosta memorije u programu, nisam smanjivao heap, već koristio SetMemTop pre i posle startovanja arj-a. Naravno, probao sam i bez toga. Sa ovom 2.5 verzijom sve radi ok i bez problema, a ne znam uopšte otkud mi ova 2.8? strašno...
pascal.936 goxi,
Ma kakvih 4 dinara ???? Rekli su mi neki da staje na 11 disketa.Ali onaj strava pascal!
pascal.937 janko,
> Ma kakvih 4 dinara > ???? > Rekli su mi neki da staje na 11 disketa.Ali onaj strava pascal! ..i tako smo izgubili još jednog budućeg programera u Paskalu. :) Stvarno, 22 dinara je previše dati da bi naučio nešto. Bolje da kupiš pet-šest igrica.
pascal.938 epson,
│ uopšte otkud mi ova 2.8? strašno... └───────────────────────────────────────────────── To je ili trojanac ili samo prepravljena 2.5 verzija od strane nekih 'hakera' . Inače imam ga skoro na svakom hack sajtu na internetu .
pascal.939 sfilip,
>│ uopšte otkud mi ova 2.8? strašno... >└───────────────────────────────────────────────── > > To je ili trojanac ili samo prepravljena 2.5 verzija od strane nekih e, nemo' me plašiš trojancima... sad sam zbog tebe skenirao ceo disk, i naravno nisam ništa našao ;) a kad bolje pogledam, veći je stotinak kilobajtova od starog, tu je svašta moglo da se metne. I ne znam otkud mi uopšte... ali koga više boli uvo za to :) thanx enivej :)
pascal.940 epson,
│ e, nemo' me plašiš trojancima... sad sam zbog tebe skenirao ceo disk, i │ naravno nisam ništa našao ;) └───────────────────────────────────────────────── Neću, ali je tako bilo i sa verzijom PKZIPa na koju sam se i ja 'napalio' . │ a kad bolje pogledam, veći je stotinak kilobajtova od starog, tu je svašta └───────────────────────────────────────────────── Ma imam (ja) programče koje ti poveća program za koliko bajtova oćeš a to bude samo gabage .
pascal.941 supers,
>>> Rekli su mi neki da staje na 11 disketa.Ali onaj strava pascal! >> Stvarno, 22 dinara je previše dati da bi naučio nešto. Bolje da >> kupiš pet-šest igrica. Ma najveći je štos što on očekuje da mu neko uploaduje 11 disketa kako bi uštedeo 22 dinara.
pascal.942 dekik,
D->> Rekli su mi neki da staje na 11 disketa.Ali onaj strava pascal! To na 11 disketa je pascal dos 7.0 + win 1.0
pascal.943 firus,
Go> Rekli su mi neki da staje na 11 disketa.Ali onaj strava pascal! Ne čitaš, ne čitaš. Lepo sam rekao da je to sve jedan te isti pascal. Cela verzija Borland Pascala 7.0 ide na 13 disketa, ta isečena ide na 11. Imaš i maksimalno isečenu verziju koja ide na 2 diskete. Iskreno rečeno ne kapiram šta će tebi verzija koja ima podršku za Windows programe i za protected programe. Ako učiš pascal tebi je onda ovaj od dve diskete sasvim dovoljan. X
pascal.944 firus,
Sf> e, nemo' me plašiš trojancima... sad sam zbog tebe skenirao ceo disk, Sf> i naravno nisam ništa našao ;) A čime si skenirao? Virus kilerom? Trojanac nije virus. Preslišaj se malo. Kod trojanaca, nema skeniranja. X
pascal.945 firus,
Ep> Neću, ali je tako bilo i sa verzijom PKZIPa na koju sam se i ja Ep> 'napalio' . Da pogađam verzija 4.11? Ne moraš ništa da se plašiš, ona nije trojanac, to je samo prepravljena adresa da bi se pokupile pare. Ep> Ma imam (ja) programče koje ti poveća program za koliko bajtova Ep> oćeš a to bude samo gabage . Pa uradi jedno type bilo_koli_fajl >> arj.exe i eto ti arj koji radi, a ima onoliko više koliko ima taj fajl. X
pascal.946 firus,
De> To na 11 disketa je pascal dos 7.0 + win 1.0 Pascal for Win 1.0 je kompatibilan je sa TP 6.0, a ne sa TP 7.0. Šta onda rade zajedno? X
pascal.947 pvlada,
PV>Trojanac nije virus. Preslišaj se malo. Kod trojanaca, nema PV>skeniranja. A šta je onda Heruistic scan :)
pascal.948 qpele,
Fi> Cela verzija Borland Pascala 7.0 ide na 13 disketa, ta isecena ide na Fi> 11. Imas i maksimalno isecenu verziju koja ide na 2 diskete. Da razresim dilemu Pascal(13) =Pascal(11) + Run Time Libraries (2)
pascal.949 dekik,
D->> Sta onda rade zajedno? Ja stvarno ne znam ali tako je...
pascal.950 firus,
Pv> A šta je onda Heruistic scan :) Nova metoda za otkrivanje VIRUSA. Pronalzi VIRUSE koje nema u svojoj bazi potpisa na osnovu sličnosti sa postojećima. Trojanac možeš da skeniraš sa jedino snoopdosom ili informerom, odnosno da vidiš šta radi kad se pokrene, a kad se pokrene onda je obično kasno. X
pascal.951 pvlada,
PV>Trojanac možeš da skeniraš sa jedino snoopdosom ili PV>informerom, odnosno da vidiš šta radi kad se pokrene, a kad PV>se pokrene onda je obično kasno. Nemora da znači, ja sam napravio trojanca u Trojan mejkeru, i kada sam disk prekledao heruistički on ga je našao :)
pascal.952 sfilip,
>Nemora da znači, ja sam napravio trojanca u Trojan mejkeru, i >kada sam disk prekledao heruistički on ga je našao :) nisam čitao dugo, pa da se ubacim na ovu poslednju... el beše trojanac program na koj je nakačeno programče koje "instalira" neki virus po sistemu? Dakle, kod drži u sebi i može da ga kriptuje kako god 'oće, a kad ga startuješ onda ga otkriptuje i razbaca ga po disku?
pascal.953 zeljkoj,
> Da razresim dilemu Pascal(13) =Pascal(11) + Run Time Libraries > (2) Hm... ja videh neku verziju na 11, 10+1 RTL
pascal.954 firus,
Sf> el beše trojanac program na koj je nakačeno programče koje "instalira" Sf> neki virus po sistemu? Dakle, kod drži u sebi i može da ga kriptuje Sf> kako god 'oće, a kad ga startuješ onda ga otkriptuje i razbaca ga po Sf> disku? Trojanac je program koji simulira da radi nešto korisno, a prava svrha mu je da nanese štetu. Naravno moguće je da program stvaro radi nešto korisno, recimo arhivira podatke, ali da radi i nešto što ne bi trebalo, recimo da briše neke fajlove. X
pascal.955 sfilip,
>Trojanac je program koji simulira da radi nešto korisno, a prava svrha >mu je da nanese štetu. Naravno moguće je da program stvaro radi nešto hm... a kako se zovu onda oni "ubacivači" virusa? kolko ja znam, trojanci ubacuju viruse, a postoji neki drugi naziv za programe sa prikrivenim destruktivnim idejama. Uostalom, zar sama reč trojanac ne asocira na program koj ubacuje virus?
pascal.956 dekik,
Jel ima neko neki unit za rad sam com portovima ? BTW: jel moguche TPU "prekompajlirati" u unit za delphi ?
pascal.957 acafaca,
-=> Cela verzija Borland Pascala 7.0 ide na 13 disketa, ta isečena ide na 11. Može li 7.0 da se instalira sa diska?
pascal.958 supers,
>>> Trojanac je program koji simulira da radi nešto korisno, a prava >>> svrha mu je da nanese štetu. Naravno moguće je da program stvaro >> radi nešto >> >> hm... a kako se zovu onda oni "ubacivači" virusa? Dropperi. Na ovu temu nije loše pročitati PCUTIL:virusi iz vremena kada se kriss raspisivao :)
pascal.959 emajsijuen,
Ac>> Moze li 7.0 da se instalira sa diska? -Moze...Easy install rulez :)
pascal.960 vector,
Ţ -=> Cela verzija Borland Pascala 7.0 ide na 13 disketa, ta isecena ide na 11. Ţ Ţ Moze li 7.0 da se instalira sa diska? Ţ ▀▀▀▀▀▀▀▀▀ Moze. Najlakse preko programa "Easy Install".
pascal.961 bokir,
Borland Pascal 7.0 i Delphi sorsovi za LZSS kompresiju i dekompresiju... chflz100.zip
pascal.962 firus,
De> BTW: jel moguche TPU "prekompajlirati" u unit za delphi ? Samo ako imaš sors. Ne možeš TPU direktno da prebaciš u DCU. X
pascal.963 space.ace,
>> hm... a kako se zovu onda oni "ubacivači" virusa? kolko ja znam, trojanci >> ubacuju viruse, a postoji neki drugi naziv za programe sa prikrivenim Najn, ti "ubacivači" virusa, kako ih nazva, su samo jedna od vrsta trojanaca, kojih ima previše :). Npr, jedna od prvih verzija trojanca na UNIX-u je program koji simulira login prompt, pa kada neko ukuca svoj username i password, program to lepo zapamti i pošalje autoru, a jadnom korisniku izbaci neku glupu grešku, tipa "buss error" ili tako nešto i predloži mu da resetuje stanicu. Kada korisnik to učini, pojavi se normalan login prompt, i sve lepo prođe... U poslednje vreme su najmasovniji oni trojanci koji podmeću viruse, ali se oni lako otkrivaju, jer AV programi otkrivaju virusni kod. Sad, taj kod može i da se maskira ili kriptuje, čime ga je teže otkriti.
pascal.964 acafaca,
-=> Moze. Najlakse preko programa "Easy Install". Je li ga ima ovde. Tražio sam al' nisam mogao da nađem.
pascal.965 emajsijuen,
Ac>> Je li ga ima ovde. Trazio sam al' nisam mogao da nadem. Ima. Evo saljem ga uz poruku. ei.exe
pascal.966 emajsijuen,
Zna li neko kako da procitam serijski broj hard diska, ali da to radi i iz 95-ice i iz DOS-a ?
pascal.967 bokir,
> Zna li neko kako da procitam serijski broj hard diska, ali da to radi i > iz 95-ice i iz DOS-a ? Mislim da možeš da čitaš direktno iz boot sektora. Ne znam tačno na kom ofsetu se nalazi, ali piše u HelpPC 2.1.
pascal.968 pvlada,
ali piše u HelpPC 2.1. Da li neko zna da li i gde ima na sezamu HelpPC ?
pascal.969 bokir,
> Da li neko zna da li i gde ima na sezamu HelpPC ? \DOS\PROG\INFO\helppc21.zip
pascal.970 pvlada,
> ĐDOSĐPROGĐINFOĐhelppc21.zip Hvala :)
pascal.971 acafaca,
-=> Ima. Evo saljem ga uz poruku. 'vala ti!
pascal.972 olio,
Treba da mi se resi sledeci zadatak: Sastaviti program za racunanje kvadratne sredine clanova niza X1: : K=KV.koren(x12+x22+...+xn2)/n ) x12 je x jedan na kvadrat Drugi zadatak: Sastaviti progra za odredjiva za odredjivanje drugog najveceg clana niza i njegovog indeksa. Ovo su neki zadaci za drugi razrd srednje skole. Ja neznam da ovo radim pa mi treba pomoc Pozdrav Oliver.
pascal.973 stameni,
Mislim da je Olio tražio program za nalaženje drugog najvećeg broja u datom nizu. Evo jedne verzije u Pascalu. Program za nalaženje sredine je lakši, a ako treba, neka javi, će napišemo :) program DrugiNajveci; {$R+} const MaksimalnoElemenata = 100; var niz: array[1..MaksimalnoElemenata] of integer; prvi, drugi, tekuci: integer; indeks1, indeks2: 1..MaksimalnoElemenata; BrojElemenata, brojac: 3..MaksimalnoElemenata; procedure UnosNiza; var i: 1..MaksimalnoElemenata; begin write('Koliko elemenata ima niz? '); readln(BrojElemenata); for i := 1 to BrojElemenata do begin write('n[', i, '] = '); readln(niz[i]) end end; procedure swap(var x, y: integer); var z: integer; begin z := x; x := y; y := z end; begin UnosNiza; prvi := niz[1]; drugi := niz[2]; indeks1 := 1; indeks2 := 2; if prvi < drugi then begin swap(prvi, drugi); indeks1 := 2; indeks2 := 1 end; for brojac := 3 to BrojElemenata do begin tekuci := niz[brojac]; if tekuci > prvi then begin drugi := prvi; prvi := tekuci; indeks2 := indeks1; indeks1 := brojac end else if tekuci > drugi then begin drugi := tekuci; indeks2 := brojac end end; writeln('Drugi najveci je n[', indeks2, '] = ', drugi); readln end.
pascal.974 stameni,
Ovo bi trebalo da radi kvadratnu sredinu. program KvadratnaSredina; {$R+} const MaksimalnoElemenata = 100; var niz: array[1..MaksimalnoElemenata] of real; BrojElemenata, brojac: 1..MaksimalnoElemenata; zbir: real; procedure UnosNiza; var i: 1..MaksimalnoElemenata; begin write('Koliko elemenata ima niz? '); readln(BrojElemenata); for i := 1 to BrojElemenata do begin write('n[', i, '] = '); readln(niz[i]) end end; begin UnosNiza; zbir := 0; for brojac := 1 to BrojElemenata do zbir := zbir + sqr(niz[brojac]); zbir := zbir / BrojElemenata; writeln('Kvadratna sredina zbira je ', zbir, '.'); readln end.
pascal.975 obren,
> Sastaviti program za racunanje kvadratne sredine clanova niza > X1: : K=KV.koren(x12+x22+...+xn2)/n ) > x12 je x jedan na kvadrat Program KvadratnaSredina; Var x : Array[1..100] of Real; k, suma : Real; n, i : Integer; Begin Write('Unesi broj clanova niza:'); Readln(n); suma := 0; For i:=1 to n do Begin Write('x[', i, ']='); Readln(x[i]); suma := suma + x[i]*x[i] End; k := sqrt(suma/n); Writeln('Kvadratna sredina clanova niza je: ', k) End.
pascal.976 obren,
> Drugi zadatak: Sastaviti program za odredjiva za odredjivanje drugog > najveceg clana niza i njegovog indeksa. Var x : Array[1..100] of Integer; max : Real; n, i, ind : Integer; Begin Write('Unesi broj clanova niza: '); Readln(n); Write('x[1]='); Readln(x[1]); max := x[1]; ind := 1; For i:=2 to n do Begin Write('x[', i, ']='); Readln(x[i]); if max<x[i] then max:=x[i]; if x[ind]>x[i] then ind:=i; End; For i:=1 to n do if (x[i] > x[ind]) and (x[i] < max) then ind := i; Writeln('Drugi najveci element je ', x[ind], ' a njegov indeks je ', ind); End. Sledeći put ipak probaj sam da se potrudiš... ;)
pascal.977 olio,
> Sledeci put ipak probaj sam da se potrudis... ;) Ma ovo su zadaci koji su dobili ucenici da rese u 2-oj godini gimnazije iz informatike. A ja neznam pascal, pa da pitam ovde, valjda necete zameriti. Pozdrav Oliver.
pascal.978 obren,
> Ma ovo su zadaci koji su dobili ucenici da rese u 2-oj godini > gimnazije iz informatike. A ja neznam pascal, pa da pitam ovde, > valjda necete zameriti. Sorry, ja mislio da si školarac koga mrzi da radi domaći... O:)
pascal.979 vector,
sblast09.zip Informacije o programiranju zvucnih kartica sblast09.zip
pascal.980 emajsijuen,
Ve>> sblast09.zip Informacije o programiranju zvucnih kartica Ne fercera. :( Isprobao sam funkciju DetectSoundBlaster, ili kako se vec zove, i nece da ga detektuje... :( Doduse imam Opti Mad 16 zvucnu karticu, koja je navodno 100% kompatibilna... BTW. da li je jos neko isprobao gore pomenutu komandu ?
pascal.981 stifa.jordan,
HITNO!!! --------- Potrbna pomoc za resenje PASCAL programa, mojoj cerkici koja sutra polaze za kraj godine. Evo ih: 1) Napisati program koji vrsi prikazivanje i prebrojavanje svih 3-cifrenih brojeva kod kojih je: A) Cifra stotina paran broj B) Cifra jedinica neparan broj C) Cifra stotina >5 a cifra desetica <7 Drugi zadatak: Napisati program koji ucitava dvodimenzionalni niz A(m,n) i racuna: A) Proizvod svih elemenata na glavnoj dijagonali i zbir svih elemenata ispod sporedne dijagonale. B) Racuna vrednost najveceg elementa na glavnoj i sporednoj dijagonali. Puno vam hvala unapred i ako moze sto pre tj. do sutra u 11h. Marko i Marina
pascal.982 petarg,
Evo potrebnih programa, urađeni su bez procedura i bilo čega (nadam se) što bi moglo da zbuni one koji ne znaju Pascal dobro... JG
pascal.983 petarg,
Ko radi taj i greši, a sada je 3 AM, pa dakle evo fajla :) JG zad.arj
pascal.984 clown,
Narode evo jednog programcica...inace to je First help za seminarski koji moram da zavrsim do sutra u 12 !!!!!!!!!! Ima jedan bagic,kada kupujem kola on mi skida poslednjeg iz baze,a ne onog koji je izabran! HAJDE pomagajte!!!!!!!!!!!!!!! unapred tnx, Ana a evo ga i program autop.pa2
pascal.985 emajsijuen,
*HITNO* Zna li neko kako da na matricnom stampacu odstampam graficki ekran, u screen modu 640x480x16, ogranicen koordinatama x1,y1,x2,y2 ? Zahvaljujem, unapred :)
pascal.986 dzakic,
> Zna li neko kako da na matricnom stampacu odstampam graficki > ekran, u screen modu 640x480x16, ogranicen koordinatama > x1,y1,x2,y2 ? Možda ti pomogne: Procedure Dump(x,y,xl,yl,lmarg:integer); Gde je (x,y) gornji levi ugao, xl širina, yl visina i lmarg leva margina (offset) prilikom štampe. Pisano je '91, imao sam Herkules pa ćeš morati da se snalaziš da GetPixel koji tamo vraća 0 ili 1, dovedeš u red jer ćeš ovde zavisno od video moda dobijati 0-15 ili 0-255. Ako hoćeš da kolor sadržaj ekrana štampaš na matričnom, imaće više posla da se svaka tačka prikaže u nekom rasteru. U svakom slučaju, nadam se da će biti od pomoći. dump.pas
pascal.987 zuleika,
Poruka za druga. Potrebna mi je knjiga D. Savica "Paskal - turbovizija ...", ili informacija gde se moze naci. Takodje mi je potrbna funkcija za ucitavanje celih i relanih brojeva (u razlicitim vrstama zapisa). Hvala unapred, :).
pascal.988 dekik,
Problem : Async.Pas (program za rad sa comm portovima) Ne znam da li je problem do unit-a ili do modem-a ili...do mene. Kada startujem program posaljem modemu initstring (ili bilo sta drugo), a kada ocu posle toga opet da posaljem nesto modem to vrati(znaci da je primio) ali nista ne uradi sto se vidi kod komande "ATA". Da li treba posle svake komande da resetujem port ili tako nesto? Unapred Hvala.
pascal.989 mmilosh,
*************************HITNO!!!HITNO!!!HITNO******************************* je potrebno da uradim seminarski iz Osnova programiranja, tačnije do sutra!!! Ako to propustim moraću da branim rad tek u septembru i onda ništa od izlaska na ispit sad u ponedeljak! (ne pitajte me šta sam čekao >|)) Elem, evo kako glasi zadatak: Polja šahovske table označiti parom čije su komponente: - slovo iz intervala ['A','H'], - prirodni broj iz intervala [1,8], pri čemu prva komponenta predstavlja oznaku vertikale (gledano s leva na desno), a druga broj horizontale (gledano odozdo nagore). Za zadate parove (k,l) i (m,n) ispitati: (a) da li su zadata polja iste boje; (b) da li dama sa polja (k,l) napada polje (m,n); (c) koji najmanji broj poteza treba da napravi konj da bi sa polja (k,l) stigao na polje (m,n), i koji su to potezi. Sad, ovo pod (c) je očigledno najproblematičnije pa bih molio samo za rešenje datog dela, mada neću odbiti ni bilo šta drugo jer mi je baš frka. Nagrada se podrazumeva :) Pivo ili šta već, gajba piva :), pola litre krvi :)) ... Naravno, radi se u Turbo Pascalu 7.0. Grafički prikaz, čini mi se, nije neophodan. Važan mi je samo algoritam za pod (c) ostalo ću već sam ubudžiti. :) FRKA!!!FRKA!!!FRKA!!!
pascal.990 sfilip,
>Sad, ovo pod (c) je očigledno najproblematičnije pa bih molio samo za >rešenje datog dela, mada neću odbiti ni bilo šta drugo jer mi je baš frka. >Nagrada se podrazumeva :) Pivo ili šta već, gajba piva :), pola litre krvi >:)) ako je već pivo u pitanju... konji.pas
pascal.991 sljubisic,
Subj.: Casovi iz Informatike (Pascal) Jednoj srednjoskolki potrebni casovi iz Pascala, pa ako ste licno zaintere- sovani ili znate nekoga ko jeste, prosledite mi vas kontakt telefon na mail.
pascal.992 zuleika,
Pitanje od druga. Ima sledeci problem. Zeleo bih da imam unit 1 u kome je definisana klasa A i unit 2 u kome je definisana klasa B. Pojedini metodi klase A pozivaju metode klase B i obrnuto. Zbog toga je neophodno da u Interface section svakog unit-a postavim Uses clause sa imenom drugog unit-a. Ovo dovodi do greske tipa Circular Reference. Jedan od postupaka da se izbegne ceo problem je sigurno da stavim obe klase u jedan file, ali to nije ono sto zelim (zbog preglednosti i daljeg razvoja). Sta da radim? Hvala unapred, :).
pascal.993 janko,
> Zeleo bih da imam unit 1 u kome je definisana klasa A i unit 2 u > kome je definisana klasa B. Pojedini metodi klase A pozivaju metode > klase B i obrnuto. Zbog toga je neophodno da u Interface section > svakog unit-a postavim Uses clause sa imenom drugog unit-a. > > Ovo dovodi do greske tipa Circular Reference. Jedan od postupaka da > se izbegne ceo problem je sigurno da stavim obe klase u jedan file, > ali to nije ono sto zelim (zbog preglednosti i daljeg razvoja). Teško da je dizajn pravilan ako postoji slučaj kao kod tebe. Potreba da dve klase pozivaju jedna drugoj metode je retka u dobrom dizajnu. Kada postoji, s obzirom na njihovu međuzavisnost, logično je da se nalaze jedna uz drugu. Međutim, ni puko smeštanje obe u jedan fajl ti neće rešiti problem ako ne koristiš FORWARD deklaracije. Pogledaj Help za primere.
pascal.994 zdravkod,
ljudi brzo ... Kako proslediti komandu CD-u .... kako da mu kazem PLAY???? koji interrupt sta gde kako ???
pascal.995 dekik,
Kako da iskljucim Caps i Num lock iz programa? Pozdrav, Dejan.
pascal.996 jjerry,
JJ=>Kako proslediti komandu CD-u .... kako da mu kazem PLAY???? JJ=> JJ=>koji interrupt sta gde kako ??? Pogledaj,ima ovde na Sezamu spisak svih interaptova u DOS\PROG\INFO pa vidi.Mada mislim da ce CD-ROMu pre da se komanduje preko portova medjutim ne znam, dok ne pogledam dokumentaciju.
pascal.997 jjerry,
JJ=>Kako da iskljucim Caps i Num lock iz programa? Probaj to preko Keyboard interapta..Ne znam kako moze da se u Paskalu (nekom procedurom) to izvede.Uostalom,vidi helpove.
pascal.998 vector,
Ů│ Kako da iskljucim Caps i Num lock iz programa? ----------<cut>---------- Procedure CapsOff; Assembler; asm MOV BX,$0040 MOV ES,BX MOV BX,$0017 MOV AL,ES:[BX] AND AL,$BF MOV BYTE PTR ES:[BX],AL end; Procedure NumOff; Assembler; asm MOV BX,$0040 MOV ES,BX MOV BX,$0017 MOV AL,ES:[BX] AND AL,$DF MOV BYTE PTR ES:[BX],AL end; ----------<cut>---------- Trebalo bi da radi. :)
pascal.999 dekik,
│ Trebalo bi da radi. :) └───────────────────────────────────────────────── Hvala puno na ovom, samo si trebao jedno conf reply, zato sto retko citam poruke koje nisu odgovor na moje u ovoj konfi. Pozdrav, Dejan.
pascal.1000 zdravkod,
ma znam za to ... nego je fora sto je malko zeznuto ... Odnosno sve se radi preko INT 2F koji je u stvari Multiplex Int. tj. preko njega ide gomilu programa za device-eve ili sta vec. Tako da nema konkretan INT za CD vec se mora formirati neki Device Header koji je zajedniciki za sve a onda se broj funkcije stavi u AH (ne secam se vrednosti) a u neki par registara 32-bitna vrednost na taj header... pa se onda snalazi ... Sve u svemu ... par puta mi je izvisio emm ... Ako neko ovo provali nek javi.
pascal.1001 vector,
Ů│ ljudi brzo ... Ů│ Kako proslediti komandu CD-u .... kako da mu kazem PLAY???? Khm, ..., cini mi se da sam sa Sezama pokupio jedan source kod :) rezidentnog CD plejera, pisanog upravo u asembleru. Medjutim, taj fajl sam bas pre neki dan obrisao, ;) tako da ti preporucujem da prekopas stare PCUTIL konferencije, jer sam odatle pokupio taj source, a dok ne nadjes taj fajl evo ti source jednog drugog CD plejera, ciji je izvorni kod vrlo nepregledan. :) source.arj
pascal.1002 vector,
Ů│ Hvala puno na ovom, samo si trebao jedno conf reply, zato sto retko Ů│ citam poruke koje nisu odgovor na moje u ovoj konfi. Tek kada sam poslao exec primetio sam da nisam stavio reply, vec write. :)
pascal.1003 jjerry,
JJ=>Tako da nema konkretan INT za CD vec se mora formirati neki JJ=>Device Header koji je zajedniciki za sve a onda se broj funkcije JJ=>stavi u AH (ne secam se vrednosti) a u neki par registara JJ=>32-bitna vrednost na taj header... pa se onda snalazi ... Veruj mi,nemam pojma..ajd' makar cu da ti uploadujem dokumentaciju za taj INT 2F. Poz. int2f.arj
pascal.1004 zdravkod,
E genije ... avo skidam ... a ima ida trazim ono. THANX a milion !!! VAN.GOG!
pascal.1005 vector,
▒Ţ E genije ... avo skidam ... a ima ida trazim ono. Proverio sam - nije u PCUTIL. U toj konferenciji se moze naci jedino onaj source sto sam ti vec poslao. Mozda je u nekom od direktorijuma? U svakom slucaju, imao sam bolji (razumljiviji, citljiviji) source od tog, ali ne znam odakle sam ga 'pokupio'... :)
pascal.1006 sigmund,
║ ljudi brzo ... ║ ║ Kako proslediti komandu CD-u .... kako da mu kazem PLAY???? ║ ║ koji interrupt sta gde kako ??? ╚═══════════════════════════════════════ Koristi bre Visual Basic ko sav normalan svet. MMControl.play
pascal.1007 van.gog,
>> koristi Visual Basic ... Decko ti izgleda imas problema .... Ne bih tako VB ni trofaznom, zasto koristiti VB kad postoji DELPHI !!!! the best ... i da sam hteo nesto takvo ... isao bi u DELPHI konfu ... Pitanje je bilo vezano za dos (ako do sada nije bilo jasno???) ... i bio sam na useru zdravkod .... inace VAN.GOG !!! ajte ljudi ... nije valjda da niko nema nesto za CD ?!?!?
pascal.1008 jjerry,
=> ... i bio sam na useru zdravkod .... inace VAN.GOG !!! => => ajte ljudi ... nije valjda da niko nema nesto za CD ?!?!? Ne znam..nisam se nikad bakt'o s tim..nije mi nikad trebalo.. probacu nesto da ti izbunarim.
pascal.1009 van.gog,
"Izbunari" ! ;)))))
pascal.1010 jjerry,
Evo vam jedna demonstracija mouse hendlera.. Ko ga natera da radi u grafickom modu ,svaka mu cast ! P.S Casticu onoga kod koga mi proradi u grafickom modu !
pascal.1011 pvlada,
> Evo vam jedna demonstracija mouse hendlera.. > Ko ga natera da radi u grafickom modu ,svaka mu cast ! Samo ne bi bilo loše da pošalješ ;) Pozdrav Vlada
pascal.1012 jjerry,
JJ=>Samo ne bi bilo lose da posaljes ;) :) Znam,isteklo mi je vreme juce :) Btw. Proradio je u grafickom modu,ispravkom onih Hercules bugova,ali nece da ispisuje text :( sem uz pomoc OutTextXY ali ona nije univerzalna ,kao,recimo write ;( mouse.pas
pascal.1014 pvlada,
> Potreban mi je program TURBO PASCAL. Da li neko moze da mi ga > posalje. Nije besplatan, a i nije baš mali (3-11 disketa, zavisi od verzije) pa nejbolje da pogledaš kod najbližeg pirata ;) Pozdrav Vlada
pascal.1015 jjerry,
> Procedure CapsOff; Assembler; > asm > MOV BX,$0040 > MOV ES,BX > MOV BX,$0017 > MOV AL,ES:[BX] > AND AL,$BF > MOV BYTE PTR ES:[BX],AL > end; Sta se tacno nalazi na adresi 0040:0017 ? Ja sam video u TechHelp-u da postoje Keyboard flegovi na adresi 0:0417 i 0:0418 gde je na ovoj drugoj ono sto nas zanima (Caps,Num lock itd.) Na toj adresi je 6.bit fleg za Caps Lock..E sad,ja sam pokusao da dobijem te flegove f-jom 02h/16h ,AND-ujem sa 40h i bacim na 0:0418 ali ne moze.. Btw. Da li je OK u TASM-u reci "mov byte ptr es:[dx],al" ? Meni kaze nesto Illegal Indexing (??)
pascal.1016 vector,
Ů▀Ţ Sta se tacno nalazi na adresi 0040:0017 ? Ja sam video u TechHelp-u Ů▀Ţ da postoje Keyboard flegovi na adresi 0:0417 i 0:0418 gde je na Ů▀Ţ ovoj drugoj ono sto nas zanima (Caps,Num lock itd.) Na toj adresi Ů▀Ţ je 6.bit fleg za Caps Lock..E sad,ja sam pokusao da dobijem te Ů▀Ţ flegove f-jom 02h/16h ,AND-ujem sa 40h i bacim na 0:0418 ali ne Ů▀Ţ moze.. Na 0040:0017 se nalazi keyboard status flags bajt (1): bit 7 = 1 INS active bit 6 = 1 Caps Lock active bit 5 = 1 Num Lock active bit 4 = 1 Scroll Lock active bit 3 = 1 either Alt pressed bit 2 = 1 either Ctrl pressed bit 1 = 1 left Shift pressed bit 0 = 1 right Shift pressed Kod za 'ukljucivanje' Caps Locka bi izgledao ovako: by equ byte ptr ; nikad nisam voleo da pisem 'byte ptr' ;) ; start: ; mov bx, 0040h ; ES:BX pokazuje na KSF1 ;) bajt mov es, bx ; mov bx, 0017h ; mov al, es:[bx] ; isti bajt prenosimo u AL and al, 0bfh ; bit 6 setujemo na 1 mov by es:[bx], al ; i vracamo ceo bajt na 0040:0017 Ů▀Ţ Btw. Da li je OK u TASM-u reci "mov byte ptr es:[dx],al" ? Ů▀Ţ Meni kaze nesto Illegal Indexing (??) Naravno da nije. Za indirektno adresiranje memorije 80x86 prihvata samo BX, BP, DI i SI registre. Znaci, samo stavi '[bx]' umesto '[dx]' i sve ce raditi kako treba. :) BTW, uz poruku je prikacen odlican rezidentni kalkulator, ;) prava stvar za programere - podrzava and, xor, or, not operacije, kao i bin, oct, dec i hex brojeve. Zauzima samo 4K osnovne memorije. Jedino jos ne znam kako se izbacuje iz memorije. :) calc.com
pascal.1017 jjerry,
JJ=> Naravno da nije. Za indirektno adresiranje memorije 80x86 prihvata JJ=> samo BX, BP, DI i SI registre. Znaci, samo stavi '[bx]' umesto'[dx]' JJ=> i sve ce raditi kako treba. :) 10X..Nisam znao ;) JJ=> BTW, uz poruku je prikacen odlican rezidentni kalkulator, ;) prava JJ=> stvar za programere - podrzava and, xor, or, not operacije, kao i bin, JJ=> oct, dec i hex brojeve. Zauzima samo 4K osnovne memorije. JJ=> Jedino jos ne znam kako se izbacuje iz memorije. :) Fala ti :) A sto da ga izbacujemo ako je dobar ? :)
pascal.1018 vule.,
│ ne znam kako se izbacuje iz memorije. :) └──────────────────────────────────────────────── Ja znam kako.... -------- < RESET ! > -------- :)
pascal.1019 voyager,
Da li je moguce izlistati sve fajlove u direktorijumu i poddirektorijumima? Voyager
pascal.1020 emajsijuen,
Skoro je bila neka rasprava o pustanju muzike sa CD-a (ili sam samo nesto utripovao...), pa evo saljem jedan odlican unit za rad sa CD-om... cdaudio.arj
pascal.1021 emajsijuen,
Vo>> Da li je moguce izlistati sve fajlove u direktorijumu i Vo>> poddirektorijumima? - Moguce je... Evo ti neka procedura. Nisam je probao, ali bi trebalo da radi. :) Procedure WriteFiles(path: pathStr); Var FileInfo : searchRec; path2 : pathStr; begin FindFirst (path+'\*.*', AnyFile, FileInfo); While DosError = 0 Do begin If (FileInfo.Name[1] <> '.')and(FileInfo.attr <> VolumeId) Then if ((FileInfo.Attr and Directory) = Directory) Then Begin Path2 := Path+'\'+FileInfo.Name; WriteFiles(path2); End Else if ((FileInfo.Attr and VolumeID) <> VolumeID) then Begin Writeln(path+'\'+FileInfo.Name); End; FindNext(FileInfo); End; End; Nadam se da ce ti ovo pomoci... :)
pascal.1022 voyager,
Imam jedno pitanje u vezi onog unit-a za rad sa cd-om (emajsijuen je poslao cini mi se), kako postaviti cd na odredjeni track, min, sec ali bez play, znaci samo postaviti na odredjeno poziciju. BTW: unit ima bug kada ocitava da li je door locked, naime uvek kaze da je unlocked. Voyager
pascal.1023 novakovicn,
Imam jedno pitanje, kako da program namestim da ostane aktivan u memoriji ? Probao sam sa KEEP-om , ali nesto ne radi. NovakovicN
pascal.1024 emajsijuen,
Vo>> Imam jedno pitanje u vezi onog unit-a za rad sa cd-om (emajsijuen Vo>> je poslao cini mi se), kako postaviti cd na odredjeni track, min, Vo>> sec ali bez play, znaci samo postaviti na odredjeno poziciju. Imao sam slicne probleme, kada sam "ubacivao" CD-PLAYER u jedan telefonski imenik :) BTW. probaj sa playfrom, pa pauseaudio. Te komande ce da se izvrse toliko brzo, da cd nece ni stici da pusti muziku. Znam da je ovo malo amaterski, ali sta ces kad nemas alternativu... :) Vo>> BTW: unit ima bug kada ocitava da li je door locked, naime uvek Vo>> kaze da je unlocked. Unit nisam ja pisao, i ne odgovaram za njegovu sadrzinu...
pascal.1025 emajsijuen,
No>> Imam jedno pitanje, No>> kako da program namestim da ostane No>> aktivan u memoriji ? No>> Probao sam sa KEEP-om , ali nesto No>> ne radi. Nije to bas tako jednostavno... Pogledaj primer koji je dat uz komandu keep. To je (valjda) rezidentan program, koji "pisne" na svaki pritisak tastature.
pascal.1026 emajsijuen,
Nabavio sam neki fenomenalan unit za komunikacije. Glavne funkcije i procedure su napisane u assemleru radi brzeg izvrsavanja (valjda). Ocitavanje /Slanje podataka na modem se vrsi preko interaptova i sve ide kroz input/ output bafer, koji je promenljive velicine. Mislim da je unit odlican, i da necete zazaliti ako ga preuzmete... BTW. skidam kapu onome ko ne bude umeo da napravi komunikacioni program koristeci ove komande... :) async.arj
pascal.1027 emajsijuen,
Koliko je "bolan" prelazak sa TP 7.0 na Delphi ?
pascal.1028 emajsijuen,
C:\TEMP\TABLE>tpc table.pas Turbo Pascal Version 7.0 Copyright (c) 1983,92 Borland International DEMO.INC(170) COMMANDS.INC(394) GRAPHIC.INC(400) DRAW.INC(362) SETUP.INC(238) COMMON.INC(178) FILLIT.INC(245) ALG1.INC(78) ALG2.INC(420) OUTPUT.INC(50) LINK.INC(40) TABLE.PAS(1179): Error 48: Code segment too large. End. Kako ovo prevazici ? :(
pascal.1029 emajsijuen,
Em>> Kako ovo prevazici ? :( Uspeo sam da resim problem. :)
pascal.1030 kenza,
>> TABLE.PAS(1179): Error 48: Code segment too large. Nemam neku pametnu ideju, da probas da ga podelis u unit-e ?
pascal.1031 emajsijuen,
Ke>> Nemam neku pametnu ideju, da probas da ga podelis u unit-e ? Hvala na odgovoru :) To sam uradio jos juce, i poslao sam poruku u kojoj pise da sam uspeo da resim problem. Upravo je podela u unit-e i resila stvar. Anyway, hvala na odgovoru :)
pascal.1032 tomak,
> > Bas cudno jer kod mene ispisuje i pritisnuti karakter. > > Da, da, da, ... ovo ne radi u DOS-ovom prozoru (ili Full-screen-u), radi > 'samo' u čistom DOS-u ... Izvini - ako te dezorjentisah ... Evo ispravke koja radi i u prozoru i inače ali joj fali jedna stvar, kad se kuca 'enter' pređe u drugi red. keeplus.pas
pascal.1033 tomcat,
> > > Bas cudno jer kod mene ispisuje i pritisnuti karakter. > > > > Da, da, da, ... ovo ne radi u DOS-ovom prozoru (ili Full-screen-u), radi > > 'samo' u cistom DOS-u ... Izvini - ako te dezorjentisah ... > > Evo ispravke koja radi i u prozoru i inace ali joj fali jedna stvar, kad > se kuca 'enter' prede u drugi red. Vidim ja da ces da doguras do v2.0 Thanx! Vladimir Prelovac ......................... tomcat@galeb.etf.bg.ac.yu
pascal.1035 nbjvsb,
Kako da nekom programu poturim lazne podatke? Npr., program sa diskete cita jedan od sektora, i proverava da li podatak isti kao i njegov. Ako jeste, sve je ok, ako nije, izlazi iz programa. E sad, ja hocu da mu, cim pozove int $13 odmah u es:bx strpam taj podatak, bez da on proverava disketu.
pascal.1036 duskos,
Da li neko ima komunikacione rutine za modem za BP 7. Ako postoji na Sezamu, recite mi gde. Pozdrav, duskos!
pascal.1037 vector,
> Da li neko ima komunikacione rutine za modem za BP 7. > Ako postoji na Sezamu, recite mi gde. Poruka broj 8.1026 u ovoj konferenciji.
pascal.1038 ognjen,
)-> je ok, ako nije, izlazi iz programa. E sad, ja hocu da mu, )-> cim pozove int $13 odmah u es:bx strpam taj podatak, bez da )-> on proverava disketu. Pa lako je. Preuzmi interapt za citanje. I umesto da ti odradis posao pa pozoves originalni interapt, prvo pozovi originalni interapt, pa promeni procitani sadrzaj.
pascal.1039 nenad,
> Da li neko ima komunikacione rutine za modem za BP 7. > Ako postoji na Sezamu, recite mi gde. SWAG - najveća kolekcija korisnih Pascal rutina i programa. Ovo je ALLSWAGS od avgusta ove godine, noviji još nije izašao. SWAG packets are available in 60 different catagories as follows : ANSI ARCHIVES CHARS CMDLINE COLOR COMM COPYMOVE CRC CRT CURSOR DATATYPE DATETIME DELPHI DESQVIEW DIRS DOS DRIVES EGAVGA ENCRYPT ENTRY EXEC FAQ FILES FINDREPL GRAPHICS HARDWARE INTERRUP ISR JOYSTICK KEYBOARD MAIL MATH MEMORY MENU MISC MOUSE NETWORK NUMBERS OOP PARSING POINTERS PRINTING RECORDS REDIRECT SAVESCRN SCREEN SCROLL SORTING SOUND STREAMS STRINGS TEXTEDIT TEXTFILE TEXTWNDW TIMING TSR UNITINFO WIN-OS2 TURTLE TUTOR The SWAG Reader and *.SWG files are contained in various archives (ZIP204) : SWAG.ZIP - Contains READER.EXE and Information files. SWAGA-C.ZIP - Contains ANSI through CURSOR SWAGD-F.ZIP - Contains DATATYPE through FINDREPL SWAGG-M.ZIP - Contains GRAPHICS through MOUSE SWAGN-R.ZIP - Contains NETWORK through REDIRECT SWAGS-Z.ZIP - Contains SAVESCRN through WIN-OS2 ALLSWAGS.ZIP - Contains ALL SWAG packets PLUS READER.EXE (LOTS of bytes !!) These packages will updated approximately every 90 days, as more "snipetts" are collected. Each update will be provided in a "stand-alone" EXE file that will automatically insert the new material to the existing libraries. These update packages will be distributed the LAST week of each of the following months, and will be named as : FEBRUARY - SWAGYY02.ZIP MAY - SWAGYY05.ZIP AUGUST - SWAGYY08.ZIP NOVEMBER - SWAGYY11.ZIP Each file will be named using the year (YY) and month (2,5,8,11) of distribution. We estimate that there eventually will be over 3000 of these covering EVERY POSSIBLE aspect of PASCAL. Enjoy and GOOD PROGRAMMING !!! SWAG Support Team - Internet Addresses: Gayle Davis GDSoft gdavis@gdsoft.com Jeff Fanjoy (Micky) MatrixSoft(tm) jfanjoy@interlog.com
pascal.1040 nenad,
> Ovo je ALLSWAGS od avgusta ove godine, noviji još nije izašao. Zaboravih... Dakle - OVO je allswags od avgusta ove godine: dos\prog\pascal\*.* ------------------ allswags.zip 8408k ű SWAG 8/97: velika zbirka korisnih Pascal rutina i progr. U datoteci je i program za pretraživanje i "browsing" kroz bazu.
pascal.1041 duskos,
>> Ovo je ALLSWAGS od avgusta ove godine, noviji jos nije izasao. > > Zaboravih... Dakle - OVO je allswags od avgusta ove godine: > dos\prog\pascal\*.* > ------------------ > allswags.zip 8408k ű SWAG 8/97: velika zbirka korisnih Pascal rutina i > progr. > U datoteci je i program za pretrazivanje i "browsing" kroz bazu. Hvala very much! Nadam se da ce mi ovo pomoci. Pozdrav, duskos!
pascal.1042 duskos,
>> Da li neko ima komunikacione rutine za modem za BP 7. > > Poruka broj 8.1026 u ovoj konferenciji. Thanks you takodje. Pozdrav, duskos!
pascal.1043 nbjvsb,
>> Pa lako je. Preuzmi interapt za citanje. I umesto da ti >> odradis posao pa pozoves originalni interapt, prvo pozovi >> originalni interapt, pa promeni procitani sadrzaj. Tacno, al' ja pojma nemam kako to da uradim, a da radi :) Evo ga kod, pa ono, sta tu ne valja, i slicno? :) program Koznasta; {$M $8000,0,0 } uses Crt,Dos; type pod = array[0..511] of byte; var Int13Save: procedure; p: pod; f: file of pod; {F+, S-, W-} procedure Menjaj(Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP: word); interrupt; begin Int13Save; ES:=Seg(p); BX:=Ofs(p) end; {F-} begin Assign(f,'Podaci.dat'); Reset(f); Read(f,p); Close(f); GetIntVec($13,@Int13Save); SetIntVec($13,Addr(Menjaj)); Keep(0) end.
pascal.1044 zuleika,
Pitanje od druga. 1) Postoji li 32-bitni compiler za Pascal (ne Delphi, ne BP). Treba mi za NT! 2) Postoji li stand-alone biblioteka za Turbo Vision - prenosiva na dru8ge compiler-e? Hvala unapred!
pascal.1045 emajsijuen,
Postoji li neki nacin da se napravi niz veci od 64k ? Pozdrav, Vlada...
pascal.1046 kojai,
>> Postoji li neki nacin da se napravi niz veci od 64k ? Postoji nacin da se napravi niz dugacak onoliko koliko imas rama! Nekada sam pravio program, ali ga na zalost vise nemam... Naime program pravi platformu u protected modu i onda nastavljas da pises malo u pascalu, malo u assembleru! :) Postoji jos jedan nacin, a to je pomocu $M svica, ali ne znam kako se to radi! :))) U glavnom nisam ti bas puno pomogao... :) Pozdrav!
pascal.1047 nitugard,
> Postoji li neki nacin da se napravi niz veci od 64k ? > Pozdrav, Vlada... Svakako. ------------- HASAN SECKATI ---------------- program PrimerNiza; (* Ako je sve što želiš da niz zauzme više od 64K to možeš postići na ovaj način. Ali, ako želiš da niz ima više od 16383 članova, onda moraš da spajaš više podnizova od po 16383 ili već koliko odabereš članova. *) const MaxClanovaNiza = 16383; Nesto: string = 'Trla baba lan...'; type PClanNiza = ^TClanNiza; TClanNiza = string [19]; { recimo } PNiz = ^TNiz; TNiz = array [1..MaxClanovaNiza] of PClanNIza; var Niz: PNiz; Brojac: word; i: word; KolkoTreba: longint; begin WriteLn ('Slobodna memorija: ', MaxAvail); WriteLn ('Enter za pocetak.'); ReadLn; (* proveravamo može li se napraviti *) KolkoTreba:= longint(MaxClanovaNiza) * (SizeOf (TClanNiza) + 4) + 4; if MaxAvail < 65535 then begin WriteLn ('Nema dovoljno velikog bloka za pointere.'); Halt (1); end; if MemAvail < KolkoTreba then begin WriteLn ('Nema dovoljno memorije za niz.'); Halt (2); end; (* sada pravimo niz pointera *) Niz:= nil; New (Niz); Writeln ('Pointeri alocirani.'); (* zatim pravimo članove niza *) for i:= 1 to MaxClanovaNiza do begin Niz^[i]:= nil; New (Niz^[i]); WriteLn ('Alociran clan ', i); end; (* sada možemo da koristimo niz *) for i:= 1 to MaxClanovaNiza do Niz^[i]^:= Nesto; for i:= 1 to MaxClanovaNiza do WriteLn (i, ' : ', Niz^[i]^); (* i da na kraju počistimo za sobom *) for i:= 1 to MaxClanovaNiza do Dispose (Niz^[i]); WriteLn ('Clanovi niza uklonjeni.'); Dispose (Niz); WriteLn ('Niz uklonjen.'); WriteLn ('Slobodna memorija: ', MaxAvail); end. ------------ HASAN JOPET SECKATI --------------------- Ovo je pisano za TP 6. S obzirom na DPMI, u TP 7 možda postoji i neki kulturniji (čitaj "bolje osmišljen") sistem. Svejedno, ako malo budeš eksperimentisao sa veličinom stringa otkrićeš koliko je 640K u stvari malo i kako se lako napuni... ... u današnje vreme i sa današnjim zahtevima.
pascal.1048 emajsijuen,
10x! :) Resio sam problem, zahvaljujuci primeru...
pascal.1049 emajsijuen,
Jel zna neko zasto mi program prijavljuje Run-time error 216 (GP fault), pri upisivanju direktno u video memoriju ? Inace, ovo se desava samo kad program kompajliram u protected modu. Heeeelp! Pozdrav, Vlada...
pascal.1050 kojai,
>> (* Ako je sve sto zelis da niz zauzme vise od 64K >> to mozes postici na ovaj nacin. Sta da radim ako mi treba array[1..10000] of string[100]...? Da li postoji jos neki nacin osim protected moda da se pise po ramu? DOS4GVM bi trebalo to da omoguci ali on radi sam pod C aplikacijama... Video sam program za CD-Klub koji koristi DOS4GV, pise pri startovanju pro- grama, a mene zanima da li ima nesto slicno za pascal?! Pozdrav, Ivan
pascal.1051 nbjvsb,
>> Postoji li neki nacin da se napravi niz veci od 64k ? Predji na liste :) Malo usporava, malo komplikuje, ali je vrlo prakticno kad je memorija u pitanju :)
pascal.1052 speedy,
> Jel zna neko zasto mi program prijavljuje Run-time error 216 (GP fault), > pri upisivanju direktno u video memoriju ? Inace, ovo se desava samo kad > program kompajliram u protected modu. Heeeelp! > > Pozdrav, Vlada... Iz protected moda (ako je flat model) video memorija se nalazi na a0000! ^ jedna nula vise nego u real modu (naravno ako ne koristis VESA linear framebuffer). Takodje pogledaj u manualu kako pascal setuje segmentne registre, zato sto GP fault verovatno znaci da prekoracujes segment limit.
pascal.1053 nitugard,
> Sta da radim ako mi treba array[1..10000] of string[100]...? > Da li postoji jos neki nacin osim protected moda da se pise po ramu? Pretpostavljam da misliš na "gornji" RAM, preko 1M. Postoji, ali Bog neka je na pomoći onima koji reše to da rade. Nije nemoguće, ali je prokleto zametno. Uz poruku je unit koji omogućava pisanje po gornjoj memoriji. Može da posluži za prvu pomoć i neke sitnije stvari. Glavni problem koji se sa njim javlja je da se sve svodi na prebacivanje velikih blokova u i iz XMS-a, što je za većinu potreba (pomenuti niz, na primer) nezgodno i stvara masu problema... Za neku "komotniju" upotrebu gornjeg RAMa, kakva se ne može ostvariti upotrebom ovog unita, potrebno je poznavanje A20 adresne linije (to se valjda beše nazivaše tako?) i asemblera. U stvari i ovaj unit je asemler "umotan" u paskal. So... kao i uvek, sve zavisi od toga šta zaista želiš da uradiš. Ako ti je jedini cilj da strpaš knjigu od 400 strana u RAM (da, to je otprilike 10.000x100 slova B) to uz malo muke možeš izvesti pomoću ovog unita. Ako hoćeš da praviš neku animaciju ili nešto slično, gde je brzina kritična, izbor je prost: ili asembler ili ovaj (ili sličan) unit. Ako pak želiš da sortiraš redove one knjige... Razmisli o tome da hard disk i nije tako spora naprava B) mnogo je lakše nego sa XMS-om. xms.zip
pascal.1054 emajsijuen,
Evo nekoliko primera za "fire" screensaver. Sve je dato u source-u... fire.arj
pascal.1055 emajsijuen,
"Smooth" scroll u text modu... scroll.arj
pascal.1056 kojai,
Pa jel ne moze da se upisuje u protected modu?! Ili nekako da se koristi onaj DOS4GVM?
pascal.1057 jujo,
Nesecam se kad sam zadnji put programirao u pascalu pa sam potpuno smetnuo sa uma da pascal programeri nemaju ili imaju ocajne mogucnosti za rad sa protected modom. Ja u C-u koristim pmodew 32-bit DOS extender. Nekakav jadan 32-bit DOS extender za pascal sam nasao na ftp.cdrom.com i kako pise u readme.txt, tvrdi da je u stanju da pokrene Delphi 2.0 programe pod DOS-om. Naravno....pise i to da se ne smeju koristiti nikakvi Windows API pozivi. Cisto omogucava da koristite DCC32 iz Delphi-ja 2.0 i generisete 32-kod. yooyo: pm_pas.zip
pascal.1058 nitugard,
> Pa jel ne moze da se upisuje u protected modu?! > Ili nekako da se koristi onaj DOS4GVM? Ne znam - ja nisam "porastao" do BP 7. Za ono što meni treba TP 6 (programi koji rade na, za današnje pojmove, zastarelom hardveru) je više nego dovoljan. Za stvari koje treba da rade u DPMI modu... Na mašinama na kojima zaista ima smisla pokretati DPMI u većini slučajeva ima smisla i instalirati Windows... A time je, u doba RAD alata, sve rečeno.
pascal.1059 popovics,
Početnik sam u učenju Pascal-a, pa bi mi stoga trebao neki kompajler ( za početnike ). Ako ga neko ima i nije dug ( do 1 mega ) neka mi ga baci na mail ili ovde...
pascal.1060 milosh.zorica,
Popoviću imam ja TP 6 i TP 7,oba su odlčni i nisu veliki.Pozovi me voice da se dogovorimo oko slanja istih mailom.TP 6 je oko 1.4 Mb sa primerima i helpom,TP 7 je oko 1,7 Mb sa istim stvarima kao TP 6. Svima koj rade u pascalu i c-u preporučujem da pozovu exotica bbs,njihov tel je 556-855.
pascal.1061 milosh.zorica,
Da li neko zna naredbu u paskalu,kojom se prelazi u grafički mod.?
pascal.1062 emajsijuen,
│ Da li neko zna naredbu u paskalu,kojom se prelazi u graficki mod.? └────────────────────────────────────────── Naredba za to je Initgraph (graph unit), a koristi se na sledeci nacin: Program test; uses graph, crt; var grdriver, grmode, errcode :Integer; Begin Grdriver:=detect; InitGraph(grdriver, grmode, 'c:\util\prog\bp70\bgi\'); Errcode:=Graphresult; If errcode <> GrOk Then Begin {Greska prilikom inicijalizacije} Writeln(Grapherrormsg(Errcode)); Halt; End Else Begin cleardevice; setcolor(white); line(0,0,getmaxX, getmaxY); End; repeat until keypressed; end.
pascal.1063 kojai,
Kad ostanem rezidentan u memoriji kako da preuzmem dosov interapt i da posaljem svoju naredbu na izvrsavanje, a posle da nastavim sa izvrsavanjem dosove naredbe ili neke druge koju sam prekinuo! Ovo mi treba posto sam napravio programcic koji belezi u fajl sve sto je kuckano na tastaturi... Problem je sto ako sam hteo to sa snimim na hard sa npr PrnScr tasterom ono bi mi nebulozilo... Tako da sam morao da napravim dva programa! Pozdrav!
pascal.1064 stameni,
Nabavio sam neki fenomenalan unit za komunikacije. Glavne funkcije i procedure su napisane u assemleru radi brzeg izvrsavanja (valjda). Ocitavanje /Slanje podataka na modem se vrsi preko interaptova i sve ide kroz input/ output bafer, koji je promenljive velicine. Mislim da je unit odlican, i da necete zazaliti ako ga preuzmete... *********** Malo sam gledao ovu biblioteku i nikako da uspem da je nateram da proradi. Mislim da u njoj ima najmanje jedan bug čija je posledica nefunkcionisanje. U 78. redu, koji glasi: C_PortAddr : Array[1..C_MaxPort] Of Word = ($03F8,$02F8,$02E8,$02E8); ^^^^^ vrlo verovatno umesto prvog $02E8 treba da stoji $03E8 (IRQ za COM3; naravno, po Marfijevim zakonima, meni je modem na COM3, pa nije radilo). However, i posle gornje izmene nema rezultata. Sumnjiv je i sledeći, 79. red: C_PortInt : Array[1..C_MaxPort] Of Byte = (4,3,3,3); Mislio sam da interrupti idu redom 2, 3, 4 i 5, bar je tako u komunikacionim programima. Pokušao sam da ovu biblioteku nađem u allswagsu -- bezuspešno, mada postoji (najmanje) jedna slična (dosta oskudnija) biblioteka, koja funkcioniše. Međutim, ova Async biblioteka mi deluje profesionalnije, mada ne radi. Možeš li (ti ili neko drugi) doći do novije verzije ove biblioteke? Sigurno postoji, ova koju sam isprobao je 1.1 iz 1989. (!), a u komentarima se pominju i .ASM i .DOC fajlovi kojih ovde nema :(
pascal.1065 emajsijuen,
│ Pokusao sam da ovu biblioteku nadem u allswagsu -- bezuspesno, │ mada postoji (najmanje) jedna slicna (dosta oskudnija) biblioteka, │ koja funkcionise. Medutim, ova Async biblioteka mi deluje │ profesionalnije, mada ne radi. └──────────────────────────────────────────── Biblioteka se nalazi u comm.swg fajlu. Nemam pojma zasto je nema u allswags-u. Stvari koje si pomenuo su i meni delovale sumnjivo ;) Inace, unit mi lepo radi, a modem je na com-u 4. Pozdrav, Vlada...
pascal.1066 tomak,
> Ovo mi treba posto sam napravio programcic koji belezi u fajl sve sto je > kuckano na tastaturi... Problem je sto ako sam hteo to sa snimim na hard > sa npr PrnScr tasterom ono bi mi nebulozilo... Tako da sam morao da > napravim dva programa! Okačio sam u PCUTIL.4:razno.968 arhivu MAKRO.ARJ u kojoj ima: > SNIMI > > SNIMI snima scan i ascii kod pritisnutog tatera, maksimum 500, u fajl > SNIMI.LOG. Startuje se bez parametara a izlazi se iz njega, odnosno > COMMAND.COM-a kojeg pokrene, sa "EXIT". On snima scan i ascii kod ako bi hteo da snimaš ono što se pojavljuje na ekranu onda bi trebalo kontrolisanjem INT10, pa ako bi to trebalo u kontinuitetu zapisivati onda bi trebalo kontolisati INT13, INT25 i INT26. Inače SNIMI ne koristi te prekide jer zapisuje tek kad mu se vrati potpuna kontrola (zato i ima maksimum jer 'pamti').
pascal.1067 stameni,
>> Biblioteka se nalazi u comm.swg fajlu. Ima li tamo sourcea za async.obj i datoteke async.doc? Molim te, pogledaj, pa ako ima, a ti baci ovamo :) Verovatno se u uputstvu može naći e-mail adresa autora, koga bih rado priupitao nekoliko stvari :)
pascal.1068 emajsijuen,
│ Ima li tamo sourcea za async.obj i datoteke async.doc? Molim te, │ pogledaj, pa ako ima, a ti baci ovamo :) Verovatno se u uputstvu │ moze naci e-mail adresa autora, koga bih rado priupitao nekoliko │ stvari :) └───────────────────────────────────────────────── Zavirio sam ponovo u comm.swg. Nasao sam tamo jos neki async.bak fajl, koji je u stvari async.pas (!?!). U njemu se nalaze tacno one izmene u vezi com port adresa, i prekida o kojima si ti pricao... Takodje sam nasao i .asm fajl (verovatno od onog .obj fajla, nisam gledao jer se ne razumem puno u assembler). Inace, nasao sam jos neki source na istu temu, pa sve to zajedno saljem uz poruku. Pozdrav, Vlada... modem.arj
pascal.1069 stameni,
>> Biblioteka se nalazi u comm.swg fajlu. Nemam pojma zasto je nema u >> allswags-u. Ono čega ima u comm.swg (iz allswags sa Sezama) je neka referenca na Async 1.2 (a ono što si ti poslao je Async 1.1, dakle postoji novija verzija, sa možda ispravljenim bugom (bugovima?)): {---------------------------------------------------------} { Project : Async12 for Windows } { By : Ir. G.W van der Vegt } {---------------------------------------------------------} { Based on the following TP product : } { } { ASYNC12 - Interrupt-driven asyncronous } { communications for Turbo Pascal. } { } { Version 1.2 - Wedensday June 14, 1989 } { Copyright (C) 1989, Rising Edge Data Services} { } { Permission is granted for non-commercial } { use and distribution. } { } { Author : Mark Schultz } { } {---------------------------------------------------------} To i dalje nije ono što mi treba -- meni treba Async 1.2 (by Mark Schultz) ili novija verzija. Molio bih one koji su u situaciji da pogledaju na Internetu može li se naći ova biblioteka (ja tražio i ne nađoh, ali nisam baš vičan pretraživanju). Bilo bi lepo ako bi neko imao e-mail adresu Marka Schultza (takođe izostavljenu u allswags), da pišem čoveku. Inače, source za asinhronu komunikaciju za Windows nalazi se u comm.swg pod brojem 0046; ako treba, mogu da šaljem. Gornji isečak je odatle. ---- (posle preuzimanja modem.arj) Ni sada nisam uspeo da nateram "stvar" da radi. Bilo bi lepo kad bi se moglo naći Async 1.2. Ipak, puno hvala na pomoći oko ove biblioteke :)
pascal.1070 strider,
pozdrav svima mislio sam da ovo nikada necu uraditi ali evo nuzda me naterala potrebna mi je pomoc (HITNO:)) u vezi sa jednim zadatkom iz skole sam program nije tezak ali je matematicko resenje tesko zadatak glasi... napisati prog. za stampanje cele funkcije y=ax*x*x + b*x*x + c*x + d na intervalu [-n,n] n pripada R sa korakom "k" koliko celih 0 je na datom intervalu za stampanje zaglavlja i vrednosti funkcije koristiti procedure na ulazu su date vrednosti a,b,c,d (a verovatno i n i k) ljudi pomazite kako da resim jednacinu treceg stepena jer onako kako je ja resavam nemoze i kompjuter :) unapred zahvalan STRiDeR!
pascal.1071 emajsijuen,
Jel nekom treba parce koda za onesposobljavanje sifre BIOS-a ? Nasao sam nesto u SWAG-u, pa ako nekome treba...
pascal.1072 jujo,
# Jel nekom treba parce koda za onesposobljavanje sifre BIOS-a ? Nasao sam # nesto u SWAG-u, pa ako nekome treba... ili mozda: xor ax, ax l1: out 70h, ax inc al jmp l1 posle ovog resetuj masinu i CMOS je popunjen sa 0 pa ce masina verovatno sama uci u SETUP. yooyo:
pascal.1073 jjerry,
Kako i da li mogu sa ulaza Crt-ovom f-jom Readkey da detektujem pritisak F1..12 dugmica,kao i Alt i Ctrl-a ? Koje su ASCII vrednosti za njih ? E da..i kako da detektujem pritisak,na primer, Alt + F1 ili mozhda 3 : Alt+Ctrl+F1 ?
pascal.1074 emajsijuen,
│ Kako i da li mogu sa ulaza Crt-ovom f-jom Readkey da detektujem │ pritisak F1..12 dugmica,kao i Alt i Ctrl-a ? Koje su ASCII │ vrednosti za njih ? E da..i kako da detektujem pritisak,na primer, │ Alt + F1 ili mozhda 3 : Alt+Ctrl+F1 ? └────────────────────────────────────────────────── Sa funkcijom readkey ne mozes da detektujes pritisak F11 i F12. Na pritisak specijalnih tastera funkcija readkey ce da vrati 2 koda: prvi je 0, a preko drugog mozes da odredis koji taster je pritisnut. Za Alt i Ctr, ces morati sam da napravis rutine. (nije problem, treba samo procitati vrednost keyboard status flag-a)... Uz poruku ti saljem program koji ce da ispise na ekran kodove nekog tastera. Primer: Uses Crt; Var Ch1, Ch2 :Char; Begin Repeat Repeat Until Keypressed; Ch1:=Readkey; If Ch1=#0 Then Begin Ch2:=Readkey; Case Ch2 Of #59: Begin {F1} Sound(5500); Delay(100); NoSound; End; #60: Begin {F2} Sound(3000); Delay(100); NoSound; End; #61: Begin {F3} Sound(1500); Delay(100); NoSound; End; {...} End; {CasE} End; Until Ch1=#27; End; Pozdrav, Vlada... ord.arj
pascal.1075 popovics,
Kako da obrišem ekran u Paskalu? ( ništa posebno, samo obično CLS ), i kako da radim sa grafikom u njemu ( treba mi prebacivanje karte u gr. mod, i prostije komandice, ekvivalenti QBASIC komandama line, color i draw ). Kojom komandom se otvara fajl? Kako se pravi rezidentan program? Kojom se komandom učitavanju fontovi ( mislim da je nešto tipa Install user font, ali nisam siguran, treba mi tačna sintaksa, kao i koji su unit-i potrebni za rad sa fontovima ), da l će fontovi ovako učitani, ostati i posle izlzka iz programa? Vredi li čemu knjiga 'Pascal za srednje škole' sa obzirom da sam totalni početnik? Koji se znaci koriste za deljenje, množenje i kvadriranje ( probao sam / za deljenje, ali se Pascal zbuni, i prijavi grešku... )? P.S Ne zamerite na ovim stupid pitanjima, ali tek sam počeo da učim Pascal, a nešto se ne snalazim najbolje u njegovom helpu, so odgovorite, molim vas...
pascal.1076 emajsijuen,
>> Kako da obrisem ekran u Paskalu? ( nista posebno, samo obicno CLS Program clrscreen; uses crt; begin clrscr; end. >> ), i kako da radim sa grafikom u njemu ( treba mi prebacivanje >> karte u gr. mod, i prostije komandice, ekvivalenti QBASIC komandama >> line, color i draw ). Program graphdemo; uses crt, graph; var Errcode, Grdriver, Grmode :Integer; Begin GrDriver:=Detect; InitGraph(Grdriver, grmode, 'C:\util\prog\bp70\bgi\'); Errcode:=GraphResult; If ErrCode <> GrOk Then Begin Writeln('Greska prilikom inicijalizacije grafike.'); Writeln(Grapherrormsg(ErrCode)); Halt; End; ClearDevice; {Brise ceo ekran} SetColor(Red); Line(0, 0, GetMaxX, GetMaxY); PutPixel((GetMaxX div 2), (GetMaxY Div 2), Yellow); SetTextStyle(SansserifFont, HorizDir, 2); { ~~~~~~~~~~~~~ ++++++++ === ~~~~ - Fontovi koji ce se koristiti za ispis na ekran ++++ - Fontovi se ispisuju normalno (s' leva na desno) ==== - Velicina slova} SetColor(White); OutTextXY(50, 150, 'SansSerifFont'); SetTextStyle(SmallFont, HorizDir, 4); SetColor(Yellow); OutTextXY(50, 200, 'SmallFont'); Circle(250, 100, 20); SetFillStyle(SolidFill, Red); Bar(10, 230, 50, 260); Rectangle(10, 270, 50, 300); Repeat until keypressed; CloseGraph; End. >> Kojom komandom se otvara fajl? Program OpenFile; Var Fajl :Text; {u fajl moze sve da se upisuje, inace ovde mozes da navedes i tip, npr. File Of Integer} Tekst :String; Begin Assign(Fajl, 'Temp.Txt'); Rewrite(Fajl); {Moze i append(file), ako hoces da dopises nesto u vec postojeci fajl} Tekst:='Ovo je obican tekst fajl'; Writeln(Fajl, Tekst); Write(Fajl, 'a sada malo brojeva...',356, '... dosta?'); Writeln(Fajl); Close(Fajl); End. >> Kako se pravi rezidentan program? Prvo ti nauci kako se obicni programi prave, pa cemo lako za rezidentne... >> Kojom se komandom ucitavanju fontovi ( mislim da je nesto tipa Install user font, ali nisam siguran, treba mi tacna sintaksa, kao i koji su unit-i potrebni za rad sa fontovima ), da l ce fontovi ovako ucitani, ostati i posle izlzka iz programa? Fontovi za Text ili graficki mod ? Za graficki ti posao obavlja SetTextStyle, a za text mod ne postoji standardna komanda. Ako ti treba unit za to, ja sam napravio za sebe jedan (za 8 x 16 fontove), pa cu ti poslati. To sam upotrebio u onom imeniku, jel si na to mislio ? >> Vredi li cemu knjiga 'Pascal za srednje skole' sa obzirom da sam totalni >> pocetnik? Ako si totalni pocetnik, onda sigurno vredi. ;) Knjigu nisam video, pa nisam u mogucnosti da ti kazem da li je dobra. Imam ja 2 knjige za TP, jednu na srpskom, a drugu na engleskom. Ovu na srpskom treba da dam Milosu (Milosh.zorica). Ako dobro znas engleski, onda ce ti ova 2. sasvim odgovarati. >> Koji se znaci koriste za deljenje, mnozenje i kvadriranje ( probao sam / za deljenje, ali se Pascal zbuni, i prijavi gresku... )? Za deljenje celih brojeva (integer, byte, word...) koristi se DIV. Znaci, npr. A:=13 div 5; Naravno posle ovoga, promenljiva A ce dobiti vrednost 2, a ostatak pri deljenju mozes da izracunas sa MOD: B:=13 MOD 5; ---> B=3; Za deljenje realnih (REAL) brojeva, koristi se "/". Za mnozenje se koristi "*". Kvadrat nekog broja izracunava funkcija "SQR", a koren funkcija "SQRT". Pr. A:=SQR(5); Pozdrav, Vlada...
pascal.1077 kojai,
>> Kako da obrisem ekran u Paskalu? ( nista posebno, samo obicno CLS >> ), i kako da radim sa grafikom u njemu ( treba mi prebacivanje ClrScr to radi... U SVGA iz pascala nikako ne mozes da prebacis, ali mozes da kucas nesto tipa: asm mov ah,4f02h mov al,105h int 10h end; i da dobijes rezoluciju 1024x768... >> karte u gr. mod, i prostije komandice, ekvivalenti QBASIC komandama >> line, color i draw ). Kojom komandom se otvara fajl? Kako se pravi Fajl otvaras sa Assign(file,ime), Reset/Rewrite... >> rezidentan program? Kojom se komandom ucitavanju fontovi ( mislim >> da je nesto tipa Install user font, ali nisam siguran, treba mi >> tacna sintaksa, kao i koji su unit-i potrebni za rad sa fontovima >> ), da l ce fontovi ovako ucitani, ostati i posle izlzka iz Naredba Keep drzi program rezidentan, pogledaj primer... Fontove se ne trudi da promenis, treba malo vise znanja! Ako te ne mrzi to ti je BIOSov int(10h) i ah=11h... >> programa? Vredi li cemu knjiga 'Pascal za srednje skole' sa obzirom >> da sam totalni pocetnik? Koji se znaci koriste za deljenje, >> mnozenje i kvadriranje ( probao sam / za deljenje, ali se Pascal >> zbuni, i prijavi gresku... )? Nabavi knjigu... :)
pascal.1078 popovics,
▄- u onom imeniku, jel si na to mislio ? Baš na tako nešto! ▄- jednu na srpskom, a drugu na engleskom. Ovu na srpskom treba ▄- da dam Milosu (Milosh.zorica). Ako dobro znas engleski, onda ▄- ce ti ova 2. sasvim Jel knjiga već kod Miloša? Ako jeste, ja bih i ovako-onako trebao da odem kod njega u sledeću subotu, pa da je fotokopiram, ako ti ne smeta... ▄- Pozdrav, Vlada... Hvala mnogo...
pascal.1079 popovics,
▄- asm ▄- mov ah,4f02h ▄- mov al,105h ▄- int 10h ▄- end; ▄- i da dobijes rezoluciju 1024x768... Ja bi radije 800x600, ako nije problem... ▄- Naredba Keep drzi program rezidentan, pogledaj primer... OK, videćemo... ▄- Fontove se ne trudi da promenis, treba malo vise znanja! Ne bih rekao, uspeo sam sa InstallUserFont. ▄- Nabavi knjigu... :) To se podrazumeva, ali kad sam već ovde, da pitam...
pascal.1080 kojai,
>> Ja bi radije 800x600, ako nije problem... Stavi mov al,103h(ili 101h, ne znam tacno)! >> Ne bih rekao, uspeo sam sa InstallUserFont. Ma nisam mislio na to... Nema veze! :)
pascal.1081 nbjvsb,
>> ▄- Fontove se ne trudi da promenis, treba malo vise znanja! >> >> Ne bih rekao, uspeo sam sa InstallUserFont. InstallUserFont radi samo u grafičkom režimu, učitava .chr fajlove koji se ne isporučuju standardno uz Pascal (naravno, možeš da učitaš i jedan od tih fontova na takav način, ali to nema smisla), tako da možeš da ih koristiš na isti način kao i standardne. Čovek koji ti je odgovorio je očigledno mislio da želiš sistemski da promeniš font (ono, u tekst režimu ubaciš svoje fontove ukoliko ti se standardni ne sviđaju), a za to definitivno treba malo više znanja :)
pascal.1082 supers,
>> programa? Vredi li čemu knjiga 'Pascal za srednje škole' sa obzirom >> da sam totalni početnik? Koji se znaci koriste za deljenje, Ne znam kakva je to knjiga i ko je autor. Bolje ti je da nabaviš knjigu za svoju verziju Pascala, nego da učiš iz suvoparne školske knjige. Specijalizovana knjiga će da te nauči da koristiš sve korisne opcije svog kompajlera. Ja sam Turbo Pascal 6 naučio iz Stephen O'Brianove knjige, kod nas izdala Mikroknjiga.
pascal.1083 emajsijuen,
│ Bas na tako nesto! └──────────────────────────────────────────── Stize unit uz poruku. Ako ti nesto ne bude jasno, slobodno me pitaj. │ Jel knjiga vec kod Milosa? Ako jeste, ja bih i ovako-onako trebao da odem │ kod njega u sledecu subotu, pa da je fotokopiram, ako ti ne smeta... └──────────────────────────────────────────── Nije jos. Trebao sam pre neki dan da mu je odnesem, medjutim nisam nasao dovoljno vremena da jurim po Zemunu, sve zbog glupe skole... :( unit.arj
pascal.1084 emajsijuen,
│ Ne bih rekao, uspeo sam sa InstallUserFont. └────────────────────────────────────────────── To je za graficki mod. Zar ti nije trebalo za text mod ???
pascal.1085 popovics,
▄- Ma nisam mislio na to... Nema veze! :) Nema veze? Nema veze? Sve ima veze, ukapirao sam začkoljicu ( razliku između InstallUserFont i SetTextStyle ) i da rade u graf. modu. Ne znam zašto bi mi to smetalo ( što rade u graf. modu ), kad u 99% slučajeva, i ovako i onako moram da učitam biblioteke crt i graph... Ali iz čite radoznalosti ( i obožavanja text moda ) voleo bih da znam kako se fontovi učitavaju u text mod ( bar da budu u nekom standardnom formatu tj. .FNT, .FON, .RAW... ) Inače, da li postoji komanda ( naredba ) kojom iz Pascal programa, pozivam neki drugi program ( .COM ili .EXE ) tj. da bude ekvivalent Qbasic komande RUN... CU
pascal.1086 popovics,
▄- standardni ne sviđaju), a za to definitivno treba malo više ▄- znanja :) Slažem se, čak šta više sa tim, ali kako misliš da naučim ako ne probam, napiši postupak, a i primer je poželjan... Koje je tačno korišćenje KEEP-a?
pascal.1087 kojai,
To sa fontovima sto ti kazes da si uspeo to ti je pod grafickim modom! Ide valjda preko BGI-a... U textualnom modu nije problem inicijalizovati font koji hoces samo ti je potrebno malo znanja assemblera ili dobro poznavanje input/output-a! Skini helppc pa pogledaj koji interrupt sluzi za ovo... Ja mislim da je otprilike al=11h, naravno int 10h, a ostalo ne mogu napamet! Kao sto rekoh procitaj! :)
pascal.1088 popovics,
▄- To je za graficki mod. Zar ti nije trebalo za text mod ??? Ljudi, treba mi za OBA! Za grafički sam već apsolvirao, ali za text nemam pojma. Valjda ću uspeti uz pomoć onog tvog unit-a ( nisam ga još ni otpakovao, zbog school-e ).
pascal.1089 jjerry,
Jel' zna neko kako da pishem & crtam neshto preko Bar3D-a ? (Ne mislim na "ruchno" pisanje,nego nekom f-jom.)
pascal.1090 nbjvsb,
>> tj. .FNT, .FON, .RAW... ) ^^^^ ? btw. Ako imas neke fontove za pascal, tj. .chr fajlove, baci slobodno ovde :) Dobro bi mi dosao i editor, ako ga ima, i ako dobro radi.
pascal.1091 stameni,
>> Dobro bi mi dosao i editor, ako ga ima, i ako dobro radi. Ima nešto, mada se nisam previše petljao njime: dos\graph\ ------------------ sfe.zip 49k Stroked Font Editor, editovanje .CHR fontova (BGI)
pascal.1092 nbjvsb,
>> Ima nešto, mada se nisam previše petljao njime: >> >> dos\graph\ >> ------------------ >> sfe.zip 49k Stroked Font Editor, editovanje .CHR fontova (BGI) Staro... ne svidja mu se moj EGAVGA.BGI drajver. Valjda trazi drajver iz TP6.0 (ja imam BP7.0)
pascal.1093 jujo,
# # ▄- To je za graficki mod. Zar ti nije trebalo za text mod ??? # # Ljudi, treba mi za OBA! Za graficki sam vec apsolvirao, ali za text # nemam pojma. Valjda cu uspeti uz pomoc onog tvog unit-a ( nisam ga jos # ni otpakovao, zbog school-e ). Imas fonter.zip u konfu razno. Tu se nalazi i C source za isti. U stvari ima vise ASM-a nego C-a, a ceo listing staje na 25 redova ekrana...pa mislim da ces se snaci... yooyo:
pascal.1094 popovics,
▄- Staro... ne svidja mu se moj EGAVGA.BGI drajver. Valjda trazi ▄- drajver iz TP6.0 (ja imam BP7.0) Ni kod mene ne radi, tj, prijavi kao da nemože da ga nađe, ajde, ako je neko dobre volje da okači .BGI fajlove iz starije ver. TP-a, bio bih mu zahvalan ( a verovatno i ne samo ja )...
pascal.1095 bokir,
> >> Kako da obrisem ekran u Paskalu? ( nista posebno, samo obicno CLS > >> ), i kako da radim sa grafikom u njemu ( treba mi prebacivanje > > ClrScr to radi... > U SVGA iz pascala nikako ne mozes da prebacis, ali mozes da kucas nesto > tipa: Možeš, uz BGI drajvere za SVGA mod. Drajvera ima i u Sezamovom direktorijumu.
pascal.1096 jjerry,
Kako da napravim da u textwindow stavljam vishe od jednog i po reda...Sigurno znate da,bilo odakle ne mozhete pisati vishe od jednog i po reda.(uglavnom pochne da pishti)E poshto mi treba "malo" vishe od jednog i po reda,da li mozhe nekako to da se zaobidje ? (Pokushavao sam npr. sa ovim if wherex = 79 then gotoxy(2,lnum+1) {lnum je broj linije} Ali to ne radi,ne znam zashto,jer f-ja wherex daje 100% tachan rezultat. Josh neshto,da li sa procedurama GetImage i PutImage mogu da obuhvatim i tekst tj. da tekst bude tretiran kao bili koji deo grafike ?
pascal.1097 emajsijuen,
>> Kako da napravim da u textwindow stavljam vishe od jednog i po >> reda...Sigurno znate da,bilo odakle ne mozhete pisati vishe od >> jednog i po reda.(uglavnom pochne da pishti)E poshto mi treba >> "malo" vishe od jednog i po reda,da li mozhe nekako to da se >> zaobidje ? (Pokushavao sam npr. sa ovim >> >> if wherex = 79 then gotoxy(2,lnum+1) {lnum je broj linije} >> Ali to ne radi,ne znam zashto,jer f-ja wherex daje 100% tachan >> rezultat. Nista te nisam razumeo. Probaj da mi pojasnis sta ti treba.. Jel ti treba neka funkcija za unos nekog string, koji je n slova dogacak, ili sta ? Ako je ovo, imam pravu stvar za tebe. >> Josh neshto,da li sa procedurama GetImage i PutImage mogu da >> obuhvatim i tekst tj. da tekst bude tretiran kao bili koji deo >> grafike ? Mislis na tekst koji je ispisan na ekranu ? Naravno..., samo tako i moze da bude tretiran.
pascal.1098 epson,
Kada pozivam eksterni program sa Exec kojom komandom mogu da omo- gućim da se ne pojavi ispis na ekranu ? Da li neko ima unit za rad sa configuracionim (ini,cfg...) datote- kama ? Uopšte kako se koriste uniti ? (uses imeunita; i posle se u toku programiranja koriste njegove komande ?) Na koji način mogu da proverim da li postoji već fajl ?
pascal.1099 jujo,
# # Kada pozivam eksterni program sa Exec kojom komandom mogu da omo- # gucim da se ne pojavi ispis na ekranu ? Pa probaj npr... exec('dir > nul'); i neces dobiti nista.....:)))) yooyo:
pascal.1100 obren,
> Kada pozivam eksterni program sa Exec kojom komandom mogu da omo- > gućim da se ne pojavi ispis na ekranu ? Ne znam koliko će ti "recept" biti jasan ako nemaš iskustva sa funkcionisanjem DOS uređaja (stdin, stdout, stderr...) Uglavnom, preusmeriš hendlove standardnih uređaja na koje ide ispis (stdout i ako hoćeš stderr) na hendl od NUL-a. E sad, ne pamtim kad sam uzeo Pascal u ruke niti ga imam trenutno instaliranog, ali evo ti fragment iz Seniora za uključivanje odnosno isključivanje redirekcije ispisa. Sve relevantne funkcije koje se koriste (_open i dup2) su u stvari DOS servisi i mogu se pozvati i na nižem nivou (inline ASM) ukoliko ih Turbo Pascal, ili šta već koristiš, ne podržava. ---------------------- cut here ------------------------ ... int hnul, hcon; // hendlovi koji se koriste za redirekciju ispisa ... // preusmeri stdout i stderr na NUL void redirectOutput(void) { if ((hnul = _open("NUL", O_RDWR)) == -1) return; dup2(hnul, 1); // stdout dup2(hnul, 2); // stderr } // vrati stdout i stderr na CON void restoreOutput(void) { if ((hcon = _open("CON", O_RDWR)) == -1) return; _close(hnul); dup2(hcon, 1); dup2(hcon, 2); _close(hcon); } ---------------------- cut here -------------------- Znam da ti nisam baš konkretno pomogao pošto si pitao u temi "pascal" ali valjda ćeš se snaći...
pascal.1101 kojai,
>> Na koji nacin mogu da proverim da li postoji vec fajl ? U Dosovom unitu imas naredbe FindFirst i FindNext... Ako se dobro secam ovo bi trebalo to da radi: FindFirst('mika.pas',dirinfo,anyfile); If DosError=0 then Halt; Mozda nije DosError, ali pogledaj kako se zove naredba za prijavu gresaka... Ako nenadje fajl mislim da vraca 2! Pozdrav!
pascal.1102 epson,
│ exec('dir > nul'); │ │ i neces dobiti nista.....:)))) └───────────────────────────────────────────────── To sam prvo probao i neće da radi, tj. program koji pozivam to po- grešno protumači i prijavi error.
pascal.1103 epson,
│ u stvari DOS servisi i mogu se pozvati i na nižem nivou (inline ASM) │ ukoliko ih Turbo Pascal, ili šta već koristiš, ne podržava. └───────────────────────────────────────────────── Šta znači "inline ASM" ? TP 7.0 podržava asembler, ali mi se čini da je ovo C. │ Znam da ti nisam baš konkretno pomogao pošto si pitao u temi "pascal" ali │ valjda ćeš se snaći... └───────────────────────────────────────────────── Koliko sam razumeo ovo je za C ?
pascal.1104 epson,
│ U Dosovom unitu imas naredbe FindFirst i FindNext... │ Ako se dobro secam ovo bi trebalo to da radi: │ FindFirst('mika.pas',dirinfo,anyfile); │ If DosError=0 then Halt; └───────────────────────────────────────────────── Hvala.
pascal.1105 stameni,
>> Na koji način mogu da proverim da li postoji već fajl ? var f: file; procedure ima; ... procedure nema; ... begin assign(f, 'imanema.krk'); {$I-} reset(f); {$I+} if IOResult = 0 then ima else nema; close(f) end.
pascal.1106 popovics,
Ako neko ima volju neka mi objasni ( ako može i neki primer ) korišćenje Pascal komandi KEEP i EXEC. Unapred hvala...
pascal.1107 epson,
│ assign(f, 'imanema.krk'); │ {$I-} │ reset(f); │ {$I+} │ if IOResult = 0 then └───────────────────────────────────────────────── Hvala.
pascal.1108 emajsijuen,
>> │ exec('dir > nul'); >> │ >> │ i neces dobiti nista.....:)))) >> └───────────────────────────────────────────────── >> >> To sam prvo probao i nece da radi, tj. program koji pozivam to po- >> gresno protumaci i prijavi error. Probaj da napises >nul (spojeno). BTW, output nekih programa se uopste ne moze preusmeriti. Takav je slucaj sa svim programima koji su pravljeni u TP-u, a koriste crt unit. Pozdrav, Vlada...
pascal.1109 emajsijuen,
>> Na koji nacin mogu da proverim da li postoji vec fajl ? Ima dosta nacina... Evo jednog od njih... Uses Dos; Begin If FSearch('tekst.txt', 'C:\;C:\dos;C:\windows') = 'tekst.txt' Then Write('Fajl je pronadjen') Else Write('Fajl nije pronadjen'); End. Naravno kao drugi parametar, prilikom poziva funkcije FSearch, navodis string promenljivu, u koju redjas direktorijume u kojoj fajl treba da se trazi. Imena direktorijuma treba da budu odvojena sa ";". Ako fajl trazis u tekucem dir-u, onda stavi samo ''. Pozdrav, Vlada...
pascal.1110 obren,
> Šta znači "inline ASM" ? TP 7.0 podržava asembler, ali mi se čini > da je ovo C. Inline ASM je upravo to "podržavanje asemblera" :) Drugim rečima, možeš da ubacuješ AMS kôd direktno u .PAS fajlove, bez potrebe da ih pišeš odvojeno, prevodiš i linkuješ sa Pascal projektom. > Koliko sam razumeo ovo je za C ? To jeste primer konkretno za C, ali na potpuno isti način se radi i na Pascalu (čak i bez direktne upotrebe "inline ASM-a" ;) ---------------------- cut here --------------------- Program Dup; Uses DOS; Var F:file; Procedure DupHandle(NewH, OldH:Word); Var Regs:Registers; Begin Regs.ah:=$46; Regs.bx:=NewH; Regs.cx:=OldH; MsDos(Regs); End; (* Preusmeri stdout i stderr na NUL *) Procedure RedirectOutput; Begin Assign(F, 'NUL'); { Može bilo koji dos file } Rewrite(F); If IOResult<>0 then Exit; DupHandle(FileRec(F).Handle, 1); { stdout } DupHandle(FileRec(F).Handle, 2); { stderr } End; (* Vrati stdout i stderr na CON *) Procedure RestoreOutput; Begin Close(F); Assign(F, 'CON'); Rewrite(F); if IOResult<>0 then Exit; DupHandle(FileRec(F).Handle, 1); { stdout } DupHandle(FileRec(F).Handle, 2); { stderr } End; Begin Writeln('Ovo se vidi'); RedirectOutput; Writeln('Ovo se NE vidi'); RestoreOutput; Writeln('Ovo se OPET vidi'); End. ----------------------------- cut here -----------------------------
pascal.1111 epson,
│ Probaj da napises >nul (spojeno). BTW, output nekih programa se uopste │ ne moze preusmeriti. Takav je slucaj sa svim programima koji su pravljeni │ u TP-u, a koriste crt unit. └───────────────────────────────────────────────── Probao sam i to :).
pascal.1112 epson,
│ To jeste primer konkretno za C, ali na potpuno isti način se radi i na │ Pascalu (čak i bez direktne upotrebe "inline ASM-a" ;) └───────────────────────────────────────────────── Hvala puno.
pascal.1113 epson,
│ Ima dosta nacina... Evo jednog od njih... └───────────────────────────────────────────────── Hvala.
pascal.1114 epson,
│ >> Na koji nacin mogu da proverim da li postoji vec fajl ? │ │ Ima dosta nacina... Evo jednog od njih... └───────────────────────────────────────────────── A direktorijum ?
pascal.1115 emajsijuen,
│ A direktorijum ? └────────────────────────────────────── Moraces da koristis FindFirst i FindNext. Tu negde ima da se podesi tacno atribute fajlova koje ce da izlistava. Tu mu lepo stavis da izlistava samo dirove, i to je to. Ne znam tacno napamet sintaksu za koriscenje, pa pogledaj help. Pozdrav, Vlada... P.S. mozes i na sl. nacin, mada je to budzenje: Program dir; Var Fajl :Text; Begin Assign(Fajl, 'dirname'); {$I-} Reset(Fajl); {$I+} If IoResult <> 0 Then Begin {dir postoji} Halt; End; Close(Fajl); End. A mozes i preko CHDIR, pa da pratis Ioresult... Pozdrav, Vlada...
pascal.1116 epson,
Kako se neki string koji sadrži velika i mala slova "konvertuje" u string sa sve malim ili sve velikim slovima ?
pascal.1117 emajsijuen,
│ Kako se neki string koji sadrzi velika i mala slova "konvertuje" u │ string sa sve malim ili sve velikim slovima ? └────────────────────────────────────────── Program tekst; Var Tekst :String; Function LCase(Ch :Char): Char; Begin If (Ch > #64) and (Ch < #91) Then LCase:=Chr(Ord(Ch)+32) Else LCase:=Ch; End; Procedure UpperCase(Var S: String); Var Br: Byte; Begin For Br:=1 to Ord(S[0]) Do S[Br]:=UpCase(S[Br]); {Ord(S[0]) == Length(S)} End; Procedure LowerCase(Var S: String); Var Br: Byte; Begin For Br:=1 to Ord(S[0]) Do S[Br]:=LCase(S[Br]); End; Begin Tekst:='OvO jE oBiCaN sTrInG'; Writeln('Normalno: ', Tekst); UpperCase(Tekst); Writeln('Velika slova: ',Tekst); LowerCase(Tekst); Writeln('Mala slova: ',Tekst); Halt; End. Pozdrav, Vlada...
pascal.1118 dzakic,
> {Ord(S[0]) == Length(S)} Ono što iz iskustva mogu da kažem, jeste da se ovakve 'vragolije' uopšte ne isplate iz više razloga. Zašto kažem isplate, zato što pretpostavljam da je ideja upotrebe ord(s[0]) bila da se ubrza izvršavanje funkcije, jer se ne 'poziva' funckija Length. Ono jes ako se tako gleda i ord je f-ja ;). Ako se iz dibagera pogleda generisani kod, može se lako videti da je potpuno svejedno da li se koristi length(s) ili ord(s[0]), kao što je isto da li pišete i:=i+1, ili inc(i). Paskal istina nema neznamkakvu optimizaciju, ali za toliko nije lud ;). Zašto onda length(s), a ne ord, ako je već isto? Zato što ćete sutra, hteli ili ne, doći u priliku da svoj kod portujete na neki drugi os, ili neku drugu platformu. Svaki budući paskal kompajler će razumeti length, a ord nije sigurno. Evo, već u delfiju se dužina stringa pamti kao 16-bitna vrednost. Ko je pisao Length, program će se prevesti bez intervencija. Čak i recimo s[0]:=#4 - delfi će odbiti da prevede. Preporučiće upotrebu SetLength procedure, upravo zbog kompatibilnosti. Pozdrav, Zak
pascal.1119 sivek,
Hi people, ja bih nesto da pitam pa ako neko zna odgovor i ne mrzi ga da pise nega mi odgovori. Hteo bi da napravim program koji ce da vodi fudbalsku tabelu. Znaci hteo bih da upisem podatke o nekim timovima u neki fajl,i posle da procitem te iste podatke ali za svaki od klubova posebno. Kako to da izvedem? I ima li neko ideju kako da ih sortiram posle svakog od kola? aj molim vas odgovorite mi. Pozdrav.
pascal.1120 kojai,
>> Znaci hteo bih da upisem podatke o nekim timovima >> u neki fajl,i posle da procitem te iste podatke >> ali za svaki od klubova posebno. Moze ovako, a mozes i drugacije... :) Type Timovi=Record PostignutoGolova: Word; {kod partizana je ovo smallint } PrimljenoGolova: Word; {ali zato je ovde longint :))} Plasman: Byte; ... end; Klubovi=Record Zvezda: Timovi; Partizan: Timovi; Obilic: Timovi; ... end; Var f: File of Klubovi; a: Klubovi; begin Assign(f, 'Klubovi.dat'); Rewrite(f); Write(f, a); {Upisujes} Read(f, a); {Citas} Write(a.Zvezda.PrimljenoGolova); {Koristis :)} Close(f); end.
pascal.1121 epson,
Kako da od PAS fajla napravim TPU ?
pascal.1122 zdravkod,
Jel ima neko neki program koji bi radio ono sto radi i DIR /S. Dakle treba mi source koji ce da radi jako brzo i koji ce da mi izlista sve fajlove iz svih direktorijuma na disku, zajedno sa njihovom duzinom itd... Zdravko
pascal.1123 stameni,
>> Kako da od PAS fajla napravim TPU ? Iz komandne linije unit prevodiš sa tpc nekilevi.pas, a iz IDE prvo promeniš Compile / Destination na "disk", pa zatim to iskompajliraš najobičnijim Compile / Compile (ili pritisneš Alt- F9).
pascal.1125 nbjvsb,
>> Kako da od PAS fajla napravim TPU ? unit ImeUnita; { ime datoteke i ImeUnita mora da bude isto! } interface { ova rezervisana rec kaze da se od nje pa do rezervisane reci implementation vrsi definicija tipova, konstanti, procedura, funkcija i promenljivih koje ce se sve videti iz programa koji poziva ovaj unit } ... implementation { odavde pa do kraja idu same procedure } ... end. { obavezno je end. na kraju unita } Evo ti i jedan primer: unit Nizovi; interface const Max = 50; type Niz = array[1..Max] of integer; procedure PromeniMesta(var a1,a2: integer); procedure SortNiz(n: byte; var f: Niz); { n - duzina niza, f - sam niz } implementation procedure PromeniMesta; var pom: integer; begin pom:=a1; a1:=a2; a2:=pom end; procedure SortNiz; var i,j: byte; begin for i:=1 to n-1 do for j:=i+1 to n do if f[i]>f[j] then PromeniMesta(f[i],f[j]) end; end. U glavnom programu ubacis uses ImeUnita; i koristis deklaraciju niza odavde, znaci nesto kao: var f: Niz; Kada ubacis sve elemente u niz, uradis jedno SortNiz(n,f), i imas sortiran niz :)
pascal.1126 epson,
Utilitys Na početku da se zahvalim svima koji su odgovarali na moja pitanja bilo u konferenciji/mailu/pageu! Uz poruku sam prikačio dva utilitya napisana za dva dana. Fast (FastExtract) i Disk (DiskMake). FastExtract traži sve arhive (npr. sezam.rar) u tekućem direktori- ju i otpakuje ih u istoimene poddirektorijume (npr. \sezam). Opcije su -/+ O (overwrite) ili D (delete). U FAST.INI fajlu se definiše ar- hiver (Arh=), njegove opcije pri otpakivanju (Prm=), overwrite para- metar (Ovr=) i ekstenzija arhive (Ext=) kojih može biti više (npr. Ext=*.ARJ;*.A01) i parametri programa (Swi=) koji mogu biti +O/D (npr. Swi=+O+D) - parametri iz komandne linije imaju prednost. DiskMake je jednostavan program čiji je jedini parametar broj, ko- jim kreira direktorijume od DISK1 do DISKbroj. Ukoliko naiđete na neki baga ili imate želja za unapređenjem pro- grama napišite ih - svaki komentar je koristan. utils.rar
pascal.1127 kojai,
Sivek, evo ti ono za tabelu, u slucaju da nisi primio na mil! Posto puno zeza slanje! tabela.arj
pascal.1128 vlarad,
Posto sam pocetnik koju knjigu mi preporucujete za TP 7.0? Hvala. C U
pascal.1129 epson,
Pozicija za upis u fajl Kako da navedem poziciju (reda,karakter u redu npr. 2,5) pri upisu u fajl ? Koristim write(ln) komandu.
pascal.1130 jujo,
# Pozicija za upis u fajl # # Kako da navedem poziciju (reda,karakter u redu npr. 2,5) pri upisu # u fajl ? Koristim write(ln) komandu. Nikako..probaj da prvo formiras "ekran" u memoriji, u njemu ispisi sve sto ti treba, pa onda ga snimi u fajl. yooyo:
pascal.1131 kojai,
>> # Pozicija za upis u fajl >> # >> # Kako da navedem poziciju (reda,karakter u redu npr. 2,5) pri upisu >> # u fajl ? Koristim write(ln) komandu. >> >> Nikako..probaj da prvo formiras "ekran" u memoriji, u njemu >> ispisi sve sto ti treba, pa onda ga snimi u fajl. Nije bas nikako... Nisam bas upucen sta ti treba ali sa naredbom seek pristupas poziciji fajla! Treda da prvo odredis koliko ima redova fajl tj. koliko se puta ponavlja enter, znaci #13 i onda da snimis ili u memoriju ili direktno status, a mozes i da odmah skines sa diska 20-30 kilobajta i da trazis npr 5 red(peto ponavljanje entera) i 4 karakter i da sracunas gde se to nalazi i da ga postavis na tu poziciju... Inace ovo se tako ne radi, vec se otvori oko 600 kb memorije i u nju se stavi sadrzaj fajla, po kome kasnije pises! Znaci samo preko pointera... Mozes da napravis ovako budjavu proceduricu za samo upis na poziciju: Procedure Upisi(Pos: LongInt; Char: Chr(ili Byte)); begin Seek(f, Pos); Write(f, Char); end; Ako si to trazio to ti je to...
pascal.1132 emajsijuen,
│ Nije bas nikako... Nisam bas upucen sta ti treba ali sa naredbom seek │ pristupas poziciji fajla! Treda da prvo odredis koliko ima redova fajl tj. │ koliko se puta ponavlja enter, znaci #13 i onda da snimis ili u memoriju ili │ direktno status, a mozes i da odmah skines sa diska 20-30 kilobajta i da │ trazis npr 5 red(peto ponavljanje entera) i 4 karakter i da sracunas gde se │ to nalazi i da ga postavis na tu poziciju... └────────────────────────────────────────────── Zao mi je, ali to nece moci ovako da se uradi. Komanda seek, kao sto i pise u helpu, ne moze da radi sa text fajlovima, a njemu bas to treba. Znaci, neka ipak formira "ekran" u memoriji... :) Pozdrav, Vlada...
pascal.1133 kojai,
>> Zao mi je, ali to nece moci ovako da se uradi. Komanda seek, kao sto >> i pise u helpu, ne moze da radi sa text fajlovima, a njemu bas to treba. >> Znaci, neka ipak formira "ekran" u memoriji... :) Naravno da ce moci... Otvori variablu File of Byte i uradi! Naravno da ne postoji naredba za pozicioniranje reda, itd ali lako se pravi... Meni nije jasno kako radi BP editor posto moze da ucita fajl n velicine i da ga obradjuje...
pascal.1134 epson,
│ Ako si to trazio to ti je to... └───────────────────────────────────────────────── Hvala svima, probaću.
pascal.1135 emajsijuen,
│ Naravno da ce moci... Otvori variablu File of Byte i uradi! └────────────────────────────────────────────── Sledeci put procitaj poruku do kraja, pa tek onda odgovaraj - ovo se odnosi na poruku na koju si prvi put odgovorio, a ne na moju. Covek je rekao da mu trebaju Write i Writeln komande. Ako otvori fajl kao File Of Byte, onda je ogranicen samo na Write komandu... Pozdrav, Vlada...
pascal.1136 kojai,
> Sledeci put procitaj poruku do kraja, pa tek onda odgovaraj - ovo se odnosi > na poruku na koju si prvi put odgovorio, a ne na moju. Covek je rekao da mu Ok, ok! :)
pascal.1137 bokir,
> Sledeci put procitaj poruku do kraja, pa tek onda odgovaraj - ovo se > odnosi na poruku na koju si prvi put odgovorio, a ne na moju. Covek je > rekao da mu trebaju Write i Writeln komande. Ako otvori fajl kao File Of > Byte, onda je ogranicen samo na Write komandu... S tim što je WriteLn isto što i Write(13, 10).
pascal.1138 jjerry,
Mislim da obichno write(13,10) nece uraditi posao. Potrebno je pisati sa znakom # ispred : Write(#13,#10) za cr/lf. Pozdrav.
pascal.1139 emajsijuen,
│ S tim sto je WriteLn isto sto i Write(13, 10). └──────────────────────────────────────────────── Nije... ;) Lapsus calami. Treba da stoji: Write(#13, #10); Pozdrav, Vlada...
pascal.1140 emajsijuen,
Odgovor na poruku 3.1255 iz Sezamnet-a. > Alternativno resenje cemo pronaci, ali je jos uvek nejasno odakle > razlika u ponasanju, kada su okolnosti iste. Osim sto je u pitanju mrezni > disk... Evo ide neko alternativno resenje... BTW, kod mene radi... ;) --------------------------------------------------- Uses Crt; Var TestDir :String; TestName :String; F :File; Err :Integer; Begin TestDir:='C:\TESTDIR\'; TestName:='axz1xd3c.x7A'; { neko levo ime - bez ikakvog smisla..., da se ne bi desilo da takav fajl vec postoji u TESTDIR-u } Assign(F, TestDir+TestName); {$I-} Rewrite(F); {$I+} Err:=IoResult; If Err=0 Then Erase(F); If (Err = 3)or(Err = 5) Then Begin {Direktorijum ne postoji - err=3 IoResult = 3 ==> Path Not Found} {U direktorijumu TESTDIR vec postoji direktorijum TESTNAME; IoResult = 5 ==> File Access Denied} Sound(2500); Delay(20); NoSound; Writeln('Bezuspesno kreiranje fajla ''',testname,''' u direktorijumu ',testdir); End; End. --------------------------------------------------- P.S. Ako nekome treba procedurica koja pravi neki path (npr. 'C:\util\programi\temp\'), a da pre toga ne postoji direktorijum 'C:\util', napravio sam neki unit za takve stvari. Ovo je zgodno za instalacije programa... :) Pozdrav, Vlada...
pascal.1141 zdravkod,
Hocu da pretrazim disk, sve direktorijume... Pod starim dosom to sam radio sa FindFirst, FindNext i malo rekurzije. Napisao sam procedure FindFirst i FindNext za Long File Names pod WIN95 i one dobro rade ako pretrazujem samo jedan dir. Ako koristim rekurziju sve se s...e... U cemu je problem. Ako neko ima neki source ili slicno nek posalje... Zdravko P.S: To sve bi trebalo da radi pod TP 6.0
pascal.1142 epson,
│ sam radio sa FindFirst, FindNext i malo rekurzije. Napisao sam │ procedure FindFirst i FindNext za Long File Names pod WIN95 i one │ dobro rade ako pretrazujem samo jedan dir. Ako koristim rekurziju └───────────────────────────────────────────────── Probaj ovo. w95tpl20.zip
pascal.1143 jjerry,
Da li asemblerski kod u procedurama mozhe da vrati vrednosti u parametre procedura kojima se vracaju vrednosti,odnosno : procedure anyproc(....;var a,b,c:byte);assembler; asm . . . mov a,ah mov b,bh mov c,ch end Da li je ovako neshto ikako moguce ili se u samoj proceduri moraju obavezno deklarisati promenljive,npr. a1,b1,c1 u koje ce prvo da se smeshta sadrzhaj ah,bh,ch,pa onda da se a,b,c dodeljuje a1,b1,c1 ?
pascal.1144 jjerry,
Kako da izvedem sledece : hocu da program ocekuje da se unese neki karakter,ali da se ne zaustavlja kao kod npr. read,readkey i sl. nego,ako se neshto unese onda radi neshto drugo,ako nishta... Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a da se program ne zaustavlja ? Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan sekund ?
pascal.1145 emajsijuen,
>> Kako da izvedem sledece : hocu da program ocekuje da se unese neki >> karakter,ali da se ne zaustavlja kao kod npr. read,readkey i sl. >> nego,ako se neshto unese onda radi neshto drugo,ako nishta... >> Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a >> da se program ne zaustavlja ? If keypressed Then Begin Slovo:=Readkey; Case Slovo Of #13: blabla; #15: blabla; .. End; {Case} End; Pozdrav Vlada...
pascal.1146 kojai,
>> If keypressed >> Then Begin >> Slovo:=Readkey; >> Case Slovo Of >> #13: blabla; >> #15: blabla; >> .. >> End; {Case} >> End; Ovo nece raditi... Ovako program ima da se zaustavi kad naleti na naredbu ReadKey... Najlakse ti je da ovo izvedes ili preko SetIntVec(pa zadas Int 9) ili da odradis taj deo sa asm... To je biosov int za tastaturu(9) ali ne znam tacno koji je Al(moras pogledati), u svakom slucaju stoji Read character whitout echo, sto znaci da ne ceka da bi uneo karakter vec kad ga pritisnes on ga ocita! E da... Mozes da izvedes i preko Portova... To ti je najlakse! Znaci kucas: If Port[$60]=1 then Halt; Sto znaci da kad naleti na Esc ima da izadje! Pozdrav!
pascal.1147 kojai,
>> Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan >> sekund ? Ja bih to ne bih uradio ovako ali evo ti: :) Uses Dos, Crt; Var h,m,s,st,st2,s2: word; begin GetTime(h,m,s2,st2); Repeat GetTime(h,m,s,st); If (s>s2) and (st=st2) then WriteLn('Prosao je ',s-s2,' sekund.'); Until KeyPressed; end; Sporo je previse...
pascal.1148 emajsijuen,
>> Ovo nece raditi... >> Ovako program ima da se zaustavi kad naleti na naredbu ReadKey... Ti izgleda ne znas cemu sluzi funkcija keypressed. Program se nece uopste zaustavljati jer nece naleteti na Readkey, sve dok korisnik ne pritisne neki taster... Kada se to desi, readkey, ce se automatski zavrsiti i vratiti odgovarajuci kod. >> Najlakse ti je da ovo izvedes ili preko SetIntVec(pa zadas Int 9) ili da >> odradis taj deo sa asm... Nece biti da je tako najlakse... ;) >> E da... Mozes da izvedes i preko Portova... To ti je najlakse! Bolje se ti vrati na asm i C, to ti izgleda bolje ide... ;) Pozdrav, Vlada...
pascal.1149 stameni,
>> Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a >> da se program ne zaustavlja ? if KeyPressed then ch := ReadKey
pascal.1150 nbjvsb,
>> if KeyPressed then ch := ReadKey Probaj ovako da uradis, pa udari neku od strelica, ili bilo koji funkcijski taster kojeg prepoznaje ReadKey... i gle cuda, za strelicu gore dobijes slovo P u ch. Drugim recima, ne prepoznajes da li je funkcijski taster :) Ja bi' mu bacio slicno Vladi, samo ga ne bih obradjivao u if-u, vec kasnije, tj: if KeyPressed then begin funkc:=false; { funkc: Boolean, da li je taster funkcijski? } Ch:=ReadKey; if Ch=#0 then begin funkc:=true; Ch:=ReadKey end end; Ovo je najbolje ubaciti u neku proceduru, pa je stalno pozivati kad se pritisne taster.
pascal.1151 kojai,
>> Nece biti da je tako najlakse... ;) Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba nevezana za petlju... Znaci u svakom trenutku programa ako pritisnem zadati karakter program ce odreagovati... Ne znam da sam ikada pisao bilo sta u petlji(ocitavanje tastature, misa, vreme, ocitavanje sa portova itd.)! >> >> E da... Mozes da izvedes i preko Portova... To ti je najlakse! >> Bolje se ti vrati na asm i C, to ti izgleda bolje ide... ;) Preko portova se lakse daju ocitati dvoznacni karakteri, znaci strelice, itd... ReadKey je naredba Crt unita, tako da je neophodno pozvati Crt unit! Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako da ova varijanta otpada kao najlaksa i najprakticnija! Emaj prouci malo problematiku pa mi onda odgovaraj na ovakav nacin!
pascal.1152 emajsijuen,
> if KeyPressed > then > begin > funkc:=false; { funkc: Boolean, da li je taster funkcijski? } > Ch:=ReadKey; > if Ch=#0 > then > begin > funkc:=true; > Ch:=ReadKey > end > end; Var Ch1, Ch2 :Char; Begin Repeat If Keypressed Then Begin Ch1:=Readkey; Case Ch1 OF #13: Blabla; #65: BlaBla; #0: Begin Ch2:=Readkey; Case Ch2 Of #72: BlaBla; {Up arrow} #80: BlaBla; {Down arrow} #75: BlaBla; {Left arrow} #77: BlaBla; {Right arrow} End; End; End; End; Until Ch1=#27; End. Meni ovo izgleda nekako elegantnije nego pisanje posebnih procedura za obradu keyboard input-a. :) Ipak, mozda je to samo moje subjektivno misljenje... Pozdrav, Vlada...
pascal.1153 emajsijuen,
│ Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba │ nevezana za petlju... Znaci u svakom trenutku programa ako pritisnem zadati │ karakter program ce odreagovati... Ne znam da sam ikada pisao bilo sta u │ petlji(ocitavanje tastature, misa, vreme, ocitavanje sa portova itd.)! └───────────────────────────────────────────────── U pravu si, najbolje je to okaciti o neki int, ali nije i najjednostavnije. BTW, bas me zanima koji si int koristio za to ? │ Preko portova se lakse daju ocitati dvoznacni karakteri, znaci strelice, │ itd... └───────────────────────────────────────────────── Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da se petlja sa portovima, kada vec postoji funkcija za to ??? │ ReadKey je naredba Crt unita, tako da je neophodno pozvati Crt unit! │ Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako da │ ova varijanta otpada kao najlaksa i najprakticnija! └───────────────────────────────────────────────── Covek verovatno ni ne pravi program za takmicenje, niti bilo sta slicno, pa je glupo o ovome raspravljati... Pozdrav, Vlada...
pascal.1154 jujo,
# Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako # da ova varijanta otpada kao najlaksa i najprakticnija! # Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba A setIntVect je kao dozvoljeno.... nemogu da verujem..xaxaxaxaxa.. yooyo:
pascal.1155 jujo,
# Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan # sekund ? Pa uradi ovako. 1. zakaci se na timer interapt (8 ili 1c) i dodaj mu jos ovo ... if fleg then begin brojac:=brojac+10; if brojac = cilj then uspeh = true; end; ... 2. negde u programu ... ... uspeh:=182; // to je najblize jednoj sekundi brojac:=0; uspeh:=false; fleg:=true; repeat posao until uspeh ... i posao ce se odvijati onoliki broj puta koliko zaista moze da se obavi u jednoj sec. yooyo:
pascal.1156 zdravkod,
Treba mi kod koji ce da odredi broj diskova u sistemu. Dakle, ako u sistemu imam drajvove A,B,C,D,E on treba da mi kaze da je zadnje slovo u sistemu E i da iza njega nema vise. Zdravko
pascal.1157 kojai,
>> A setIntVect je kao dozvoljeno.... nemogu da verujem..xaxaxaxaxa.. Naravno da nije... Nije dozvoljeno ni u assembleru da se pise! Ali portove niko ne moze da zabrani, posto su u System Tpu-u!
pascal.1158 kojai,
>> BTW, bas me zanima koji si int koristio za to ? Pa interapt tastature, INT 9... >> Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da >> se petlja sa portovima, kada vec postoji funkcija za to ??? Pa vidi se da si malo radio u pascalu cim mozes da kazes da je "petljanje" rad sa portovima... Po meni to je mnogo jednostavnije nego ista poznato za ovu stvar! Npr. If Port[$60]=1 then Halt; sto znaci kad se pritisne Esc prekida se program... >> Covek verovatno ni ne pravi program za takmicenje, niti bilo sta slicno, pa >> je glupo o ovome raspravljati... Naravno da jeste... Samo me zanima sta ce ti onakve upadice "vrati se C-u i Assembleru"?
pascal.1159 emajsijuen,
>> Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da >> se petlja sa portovima, kada vec postoji funkcija za to ??? > Pa vidi se da si malo radio u pascalu cim mozes da kazes da je "petljanje" > rad sa portovima... Da, da... ja cak nisam ni radio u pascalu...Samo me jedna stvar zanima... Ti sebe smatras za iskusnog pascal programera ? > Po meni to je mnogo jednostavnije nego ista poznato za ovu stvar! Npr. If > Port[$60]=1 then Halt; sto znaci kad se pritisne Esc prekida se program... Dobro, nemamo sta da se ubedjujemo. Meni se vise svidja drugi nacin (preko keypressed & readkey), ali to je vec stvar ukusa. > Naravno da jeste... Samo me zanima sta ce ti onakve upadice "vrati se C-u i > Assembleru"? Eto... cisto onako, fore radi... ;) BTW, ukoliko imas jos nesto da mi kazes, koristi mail posto polako izlazimo izvan okvira ove konferencije... Pozdrav, Vlada...
pascal.1160 nbjvsb,
Kako da u rezimu 800*600 iskoristim misa? Ono, cim se prebacim na nesto jace od 640*480 pointer se ne vidi...
pascal.1161 kojai,
>> Ti sebe smatras za iskusnog pascal programera ? Dovoljno sam radio pod dosom da u bilo pascalu, c-u ili assembleru mogu da uradim bilo kakvu aplikaciju! Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da svaku stvar mogu skoro 100 % da uradim... Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda mozes sebe da oslovis sa programerom! Iskusan nisam posto sam malo radio za lovu, ali kada sam radio programi su mi bez problema radili... Pozdrav!
pascal.1162 emajsijuen,
> Dovoljno sam radio pod dosom da u bilo pascalu, c-u ili assembleru mogu da > uradim bilo kakvu aplikaciju! Znam... Samo sam se zezao...Nego, reci mi, sta bi sa onim mixovanjem wav-ova ? ;) > Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da svaku > stvar mogu skoro 100 % da uradim... Naravno da nije bitno... > Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda > mozes sebe da oslovis sa programerom! Slazem se sa tim... P.S. E, nemoj da pomislis da imam nesto protiv tebe, ali morao sam da lupim i ovaj reply. BTW, necu biti iznenadjen ako mi moderator obrise ovu poruku. Pozdrav, Vlada...
pascal.1163 emajsijuen,
> Treba mi kod koji ce da odredi broj diskova u sistemu. Dakle, ako u > sistemu imam drajvove A,B,C,D,E on treba da mi kaze da je zadnje > slovo u sistemu E i da iza njega nema vise. Napravio sam funkciju koja proverava da li neki disk postoji. Znaci, mozes da je iskoristis: Var Drajv :Char; Begin drajv:='A'; While DriveExist(Drajv) do Inc(Drajv); {Posle ovoga promenjiva drajv ce da sadrzi oznaku zadnjeg diska na sistemu} End. Funkcija je u fajlu prikacenom uz poruku... Pozdrav, Vlada... drive.pas
pascal.1164 kojai,
>> Znam... Samo sam se zezao...Nego, reci mi, sta bi sa onim mixovanjem >> wav-ova ? ;) Radi se na tome... Trebaju mi algoritmi kako se vise wavova sintetise u jedan, znaci simulacija mixete!
pascal.1165 nbjvsb,
>> Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da >> svaku stvar mogu skoro 100 % da uradim... Izvinjavam se sto upadam u diskusiju ;), ali ovo definitivno nije tacno. Ako jedan C programer uleti u Pascal, eto cuda. Covek ce da napravi takav program da ga niko ziv nece ukapirati. A i verovatno ce mu biti malo cudno Pascalovo ogranicenje memorije ;) Na kraju ce da odustane i da kaze da je Pascal tezak shit, da je jezik za apsolutne pocetnike i da C vlada. Kao sto ce jedan tipican Pascal programer na prvi dodir sa C-om da konstatuje da je sve to mnogo komplikovano, Pascal je mnogo laksi i razumljiviji, ali ce mu ipak u glavi uvek biti upravo ono sa memorijom - kod C-a, ogranicenja nema. A o asembleru da i ne govorim... e sad, covek kome uopste nije stalo do lepote pisanja ili nepisanih pravila kako programirati u kojem jeziku, lepo ce da zbudzi asembler u Pascal, igrace se sa portovima, itd, itd, itd.. Samo, zasto uopste programirati u Pascalu ako se koriste i asembler i ostale sitnice malo nizeg nivoa? Sve to lepo mozes da uradis u cistom asembleru ili cistom C-u, koji ponajvise i sluze za takvo zezanje. Niko lud nije da sistemski softver pise u Pascalu... no, da ne duzim vise oko toga. >> Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda >> mozes sebe da oslovis sa programerom! Onaj ko ne zna sta vise da pravi jer je napravio sve, moze sebe da oslovi sa Bogom... ni ti, ni ja, ni Bil Gejts, niti iko drugi ne zna bas sve o programiranju, niti ce ikada znati. Uvek ce postojati neko ko bi, npr. neki tvoj program uradio optimizovanije od tebe. Isto kao sto sigurno postoji neko ko bi taj isti program uradio optimizovanije od njega. I tako dalje... evo ti izazov: napravi nov operativni sistem, koji ce po lakoci rada da ubije Windowse, a po sigurnosti i snazi Unixe.
pascal.1166 hercog,
$$ Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda $$ mozes sebe da oslovis sa programerom! Na ovo sam morao da repliciram... Uvek postoji nešto što možeš da napraviš... Prvo si imao ideje, al' nisi znao da programiraš. Posle si znao kako tako da programiraš, ali nisi imao ideje. Posle si naučio da programiraš i imaš i gomilu ideja. To tvoje kad ne znaš šta više da praviš - ondak si programer, nešto mi ne drži vodu... Sale
pascal.1167 jujo,
# Kako da u rezimu 800*600 iskoristim misa? Ono, cim se prebacim na nesto # jace od 640*480 pointer se ne vidi... Pa nikako. Ni jedan drajver za misa ne poznaje 800x600x256 boja jer je to u domenu vesa standarda. Moraces sam da se dovijas. yooyo:
pascal.1168 popovics,
| Pa nikako. Ni jedan drajver za misa ne poznaje 800x600x256 boja | jer je to u domenu vesa standarda. Moraces sam da se dovijas. ~~~~~~~~~~~~~~~~~~~~~~~~~ E, al si mu pomogao. Dajte ljudi, ako već ne možete da pomognete, ne šaljite ovakve besmislene poruke...
pascal.1169 jujo,
# | jer je to u domenu vesa standarda. Moraces sam da se dovijas. # ~~~~~~~~~~~~~~~~~~~~~~~~~ # # E, al si mu pomogao. Dajte ljudi, ako vec ne mozete da pomognete, ne # saljite ovakve besmislene poruke... Pa ozbiljno ti kazem da bi dobio strelicu moras SAM da napises rutine za pristup ekranu u VESA modovima. Druga stvar je da ces morati da se "kacis" na INT33 i to na func 0Ch, koja je click watcher. U cx regisrtu popalis bitove na koje ce clock watcher da se "pali". Evo detalja... INT 33,C - Set Mouse User Defined Subroutine and Input Mask AX = 0C ES:DX = far pointer to user interrupt CX = user interrupt mask: │F-5│4│3│2│1│0│ user interrupt mask in CX │ │ │ │ │ └─── cursor position changed │ │ │ │ └──── left button pressed │ │ │ └───── left button released │ │ └────── right button pressed │ └─────── right button released └───────── unused returns nothing - routine at ES:DX is called if an event occurs and the corresponding bit specified in user mask is set - routine at ES:DX receives parameters in the following registers: AX = condition mask causing call CX = horizontal cursor position DX = vertical cursor position DI = horizontal counts SI = vertical counts DS = mouse driver data segment BX = button state: │F-2│1│0│ │ │ └─── left button (1 = pressed) │ └──── right button (1 = pressed) └────── unused - initial call mask and user routine should be restore on exit from user program ┌─ Obrati paznju ───────────────────────────────────────────────┐ │ - user program may need to set DS to it's own segment │ └───────────────────────────────────────────────────────────────┘ - see INT 33,14 Ti u tvojoj rutinici treba da ispitas da li se mis pomerio, i ako jeste onda koristeci kombinaciju getimage/setimage nacrtas strelicu na ekranu na odgovarajucem mestu. U celoj stvari ima jedan problem: NESMES KORISTITI BORLANDOVE GETIMAGE/SETIMAGE jer nisu pisani da se pozivaju iz interapta. Dakle tasraturu u ruke i pisi. Za pocetak provali malo VESA programiranje, pc ces moci misa da crtas i u truecolor modovima. Na ovaj nacn ces imati misa koji radi totalno nezavisno od ostatka programa. yooyo:
pascal.1170 kojai,
>> $$ Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda >> $$ mozes sebe da oslovis sa programerom! >> >> Na ovo sam morao da repliciram... Uvek postoji nesto sto >> mozes da napravis... Prvo si imao ideje, al' nisi znao >> da programiras. Posle si znao kako tako da programiras, ali >> nisi imao ideje. Posle si naucio da programiras i imas i >> gomilu ideja. To tvoje kad ne znas sta vise da pravis - ondak >> si programer, nesto mi ne drzi vodu... Naravno uvek ima nesto da se pravi... Ne postoji covek koji sve zna!
pascal.1171 nbjvsb,
>> KORISTITI BORLANDOVE GETIMAGE/SETIMAGE jer nisu pisani da se pozivaju >> iz interapta. Dakle tasraturu u ruke i pisi. Za pocetak provali >> malo VESA programiranje, pc ces moci misa da crtas i u truecolor modovima. Uf, a ja pitao bas zato sto me uzasno mrzi da sve kuckam rucno. Sto mu gromova, sad se treba prisetiti i asemblera... Na svu srecu, radim u 256 boja pa je sve mnogo lakse.
pascal.1172 sivek,
Hi :) Ja bih zamolio poznavaoce Turbo Vision-a da mi posalju neki primer u kome je lepo objasnjeno kako da napravim neki meni.Gledao sam malo one primere sto se dobiju u instalaciji pascala ali mi nije nesto previse jasno.I naravno ako moze sa strane {objasnjenje} sta cemu sluzi. Unapred zahvalan ,Sivek.
pascal.1173 jjerry,
Kako da modulu koji linkujem u Unit uchinim vidljivom neku promenljivu koja se nalazi u tom istom Unitu ? Ovicna EXTERN PASCAL direktiva ne obavlja posao,chak sam i pod istim imenom deklarisao.. Any suggestions ?
pascal.1174 nenadt,
nikako
pascal.1175 jjerry,
Thanks for the very brief and suggestive reply :) Pozdrav..
pascal.1176 nenadt,
pa šta si hteo ;) ne ozbiljno sada, ja sam pokušavao dosta dugo da neke ASM module ulinkujem na taj fazon, međutim to je tako j.ben posao da je to strašno. promenjive koje deklarišeš u okviru modula možeš da koristiš samo u okviru modula.
pascal.1177 jjerry,
Ne..ja sam mislio da promenljivu iz unita koristim u okviru modula. Malo mi nije logichno da to ne mozhe,a da je moguce npr. koristiti funkcije,npr. C-a.
pascal.1178 nenadt,
funkcije C-a. a jeli sinak, kako si to izveo. svako moje zezanje sa C-om se završilo sa time da mi ispiše poruku kako f-ja nije definisana.
pascal.1179 staos,
treba mi pomoc, tj. mom drugu....radi se o programu u pascalu...koji treba da uci i razvrstava naprimer nazive pesama, izvodjace i vrstu muzike. Evo ja cu da ga okacim ovde pa ako neko zna bio bih mu zahvalan Nikola problem
pascal.1180 rdejan,
>> Evo ja cu da ga okacim ovde pa ako neko zna bio bih mu >> zahvalan Tvoj drug je na vrlo lošem putu što se programiranja tiče: samouk je, struktura programa je loša, koristi labele (što je još i najbolje od svega), otvara/zatvara fajlove non-stop. Savetujem mu da se lati neke dobre knjige ili da ga neko poduči. Što se programa tiče, stvar je vrlo jednostavna, ali, napominjem, ceo program je vrlo loše pisan. Nije problem u neiskustvu, već elementarnom nepoznavanju Pascal-a. Elem, prva funkcija read(a) ti vraća odgovor i jedan ENTER "viška", tako da sledeća naredba readln(a) dobija prazan string, bez unosa. Ispravi prvi red u programu read(a) sa readln(a). Još nešto: imenuj fajlove uz poruke sa njihovim ekstenzijama. Fajl se zvao PROBLEM, a bio je arj arhiva. Ljudi neće gledati u pasulj šta si poslao i čime da ga otpakuju... Pozdrav, Dejan
pascal.1181 staos,
Sve sto si rekao je cista istina...njegovo znanje potice iz skole, a znas kakav je nas skolski sistem, posebno sto se informatike tice. Resio je on problem, nabavio gotov program, koji radi:) Ali, ipak, hvala ti :) Nikola
pascal.1182 emajsijuen,
Kako da detektujem koliko je osnovne memorije bilo slobodno pre startovanja mog programa ? Napominjem da program ne sme da koristi celu slobodnu memoriju nego nekih 200 Kb - pa nije moguce to izracunati npr. sledecim kodom: {$M 16384, 655350, 655350} Begin Writeln(MemAvail); End; Takodje me zanima kako da detektujem koliko Kb program zauzima u memoriji. Pozdrav, Vlada...
pascal.1183 epson,
Kako "konvertovati" string u char ?
pascal.1184 guta,
#> Kako "konvertovati" string u char ? Hm, nisam baš razumeo, na kakvu konverziju misliš? String je potencijalno sastavljen iz više karaktera, ne mogu da zamislim kakva bi se tu konverzija mogla izvršiti...
pascal.1185 jjerry,
Ako si mozhda mislio da string predstavish kao niz charova,nema potrebe,jer je sam tip string niz tipa char,tako da svakom elementu niza pristupash putem indeksa.. To je shto se teorije tiche,ne mogu da zamislim ni na kakvu drugu "konverziju".Na kakvu si tachno konverziju mislio ? Pozdrav..
pascal.1186 epson,
to guta i jerry │ #> Kako "konvertovati" string u char ? │ │ Hm, nisam baš razumeo, na kakvu konverziju misliš? String je potencijalno │ sastavljen iz više karaktera, ne mogu da zamislim kakva bi se tu konverzija │ mogla izvršiti... └───────────────────────────────────────────────── Trebalo mi je c:=s[1]; (vat c:char,s:string), što mi je Zak rekao na vezi čim sam poslao poruku.
pascal.1187 jujo,
# funkcije C-a. a jeli sinak, kako si to izveo. svako moje zezanje sa # C-om se zavrsilo sa time da mi ispise poruku kako f-ja nije # definisana. Pa u C-u treba da stavis rec pascal ispred imena funkcije, tj. int pascal func(int a, int b) { ... } Cime ces kompajleru da objasnis da je poziv pascal tipa. U pascalu treba da deeklarises func kao: function func(a,b:integer); uz eventualno extern ispred. A kako ulinkovati tpu i obj.... Mislim da postoji primer uz sam pascal. yooyo:
pascal.1188 nenadt,
> Pa u C-u treba da stavis rec pascal ispred imena funkcije, tj. > > int pascal func(int a, int b) > { > ... > } > > Cime ces kompajleru da objasnis da je poziv pascal tipa. U pascalu > treba da deeklarises func kao: > > function func(a,b:integer); > > uz eventualno extern ispred. taj deo radi kako valja, ali kada treba pozvati neku f-ju tipa fread iz C biblioteke, pascal pri kompajliranju prijavi nesto kao "undefined function _fread". e mene interesuje kako da resim taj problem.
pascal.1189 jjerry,
Pa nije nishta posebno linkovati TPU i OBJ.Ja sam recimo formirao OBJ u kome drzhim neke funkcije koje operishu sa 32-bitnim registrima i 386+ instrukcijama,shto u paskalu ne mozhe.. {$L obj_fajl.obj} ce da vrshi posao.. Pozdrav..
pascal.1190 emajsijuen,
Kako definisati interrupt proceduru u okviru nekog objekta? Pozdrav, Vlada...
pascal.1191 nenadt,
interrupt procedura u okviru nekog objekta se NE izvodi, jer se to kosi sa ideologijom objektnog programiranja, pa se i ne izvodi
pascal.1192 jjerry,
Za shta ti treba interapt procedura bash u okviru nekog objekta ?
pascal.1193 stameni,
Uz poruku ide još jedna verzija zbirke čestih i manje čestih pitanja o Pascalu, skinuta sa: ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip Preporučujem download. Evo i spiska svih pitanja: ----<cut>---- This file TSFAQP.IDX lists the contents of ftp://garbo.uwasa.fi/pc/ts/tsfaqp42.zip also available as ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip Common Turbo Pascal Questions and Timo's answers -------------------------------------------------------------------- FAQPAS.TXT Frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 1) How do I disable or capture the break key in Turbo Pascal? 2) How do I get a printed documentation of my students' TP runs? 3) What is the code for the weekday of a given date? 4) Need a program to format Turbo Pascal source code consistently 5) Can someone give me advice for writing a tsr program? 6) Why can't I read / write the com ports? 7) What are interrupts and how to use them in Turbo Pascal? 8) Should I upgrade my Turbo Pascal version? 9) How do I execute an MS-DOS command from within a TP program? 10) How is millisecond timing done? 11) How can I read the text character fonts from the memory? 12) How to find the files in a directory and subdirectories? 13) I need a power function but there is none in Turbo Pascal. 14) How can I create arrays that are larger than 64 kilobytes? 15) How can I test that the printer is ready? 16) How can I clear the keyboard type-ahead buffer? 17) How can I utilize expanded memory (EMS) in my programs? 18) How can I obtain the entire command line? 19) How do I redirect text from printer to file in my TP program? 20) Turbo Pascal is for wimps. Use standard Pascal or C instead? 21) How do I turn the cursor off? 22) How to find all roots of a polynomial? 23) What is all this talk about "Pascal homework on the net"? 24) How can I link graphics drivers directly into my executable? 25) How can I trap a runtime error? -------------------------------------------------------------------- FAQPAS2.TXT More frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 26) How to get ansi control codes working in Turbo Pascal writes? 27) How to evaluate a function given as a string to the program? 28) How does one detect whether input (or output) is redirected? 29) How does one set the 43/50 line text mode? 30) How can I assign a value to an environment variable in TP? 31) How does one store, and then restore the original screen? 32) How can I convert a TPU unit of one TP version to another? 33) Which error is e.g. Runtime error 205, etc 34) Why can't I open read-only files? I get "File access denied". 35) How do I obtain high and low parts of a byte variable? 36) How can I set a hi-intensity color background in the text mode? 37) Where can I find a program to convert (Turbo) Pascal to C? 38) How can I read input without echoing to the screen? 39) How can I edit the readln input stream? 40) How can I write (brand) something into my executables? 41) What is wrong with my program? It hangs without a clear pattern? 42) How do I convert a decimal word into a hexadecimal string, etc? 43) How to determine the last drive? 44) How can I put a running clock into my Turbo Pascal program? 45) How to establish if a name refers to a directory or not? 46) How does one disable alt-ctrl-del? 47) How can I test whether a file exists? 48) What is the name of the current Turbo Pascal program? 49) How is the code for rebooting the PC written in Turbo Pascal? 50) How can I write inline code? -------------------------------------------------------------------- FAQPAS3.TXT The third set of frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 51) I am running out of memory when compiling my large program. 52) How do I avoid scrolling in the last column of the last row? 53) How can one hide (or unhide) a directory using a TP program? 54) How do I test whether a file is already open in a TP program? 55) How can I test and convert a numerical string into a real? 56) How can I reverse a TP .EXE or .TPU back into source code? 57) How can I calculate the difference between two points of time? 58) Is a program running stand-alone or from within the IDE? 59) Please explain Turbo Pascal memory addressing to me. 60) How do I obtain a bit or bits from a byte, a word or a longint? 61) What are Binary Coded Decimals? How to convert them? 62) How can I copy a file in a Turbo Pascal program? 63) How can I use C code in my Turbo Pascal program? 64) How do I get started with the Turbo Profiler? 65) How can I detect if the shift/ctrl/alt etc key is pressed? 66) How do I get a base 10 logarithm in TP? 67) If Delay procedure does not work properly, how do I fix it? 68) How much memory will my TP program require? 69) How to detect if a drive is a CD-ROM drive? 70) How do I convert an array of characters into a string? 71) How do I get started with graphics programming? 72) Where to I find the different sorting source codes? 73) A beginner's how to write and compile units. 74) What are and how do I use pointers? 75) How can I read another program's errorlevel value in TP? -------------------------------------------------------------------- FAQPAS4.TXT The fourth set of frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 76) What are the current Pascal newsgroups on the Usenet news? 77) How do I detect the CapsLock status, how do I turn it on/off? 78) How do I detect if the F11 or F12 key has been pressed? 79) How do I extract (parse) substrings from an input string? 80) How do I find out the size of any kind of a file? 81) How do I format graphics output like in textmode writeln? 82) How do I detect if more than one standard key is pressed down? 83) How can I read a disk's Volume Serial Number? 84) How can I disable and then enable the keyboard in my TP program? 85) How do I get the character device name of the (first) CD-ROM? 86) How do I eject a CD-ROM using a Turbo Pascal program? 87) How do I find out if the ANSI.SYS driver has been loaded? 88) Where do I find Turbo Pascal tutorials and/or good textbooks? 89) How do I make an executable of my Turbo Pascal source program? 90) How can I quickly read the last byte of a file? 91) Is 2000 a leap year? What is the leap year algorithm? 92) Does anybody have a program that gives the week number? 93) How can I use OutText to write numbers in the graphics mode? 94) How can I redirect output to file if I use the Crt unit? 95) How to write a function to return true if I am in graphics mode? 96) My graph.tpu got corrupted. Someone please email me a new copy. 97) How can I avoid run-time errors in numeric input using readln? 98) How can I limit the user's readln input to e.g. 3 characters? 99) Can you tell a beginner how to delete files with Turbo Pascal? 100) Could you please explain shl and shr operators to a beginner? -------------------------------------------------------------------- FAQPAS5.TXT The fifth set of frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 101) How do I detect if mouse hardware/driver is installed? 102) How can I read absolute sectors directly from a floppy? 103) How can I move a file to another directory in Turbo Pascal? 104) How can I get/set a disk volume label? 105) Is there a function to chop off the leading zero from 0.322? 106) How can I print a text file (and conclude sending a formfeed)? 107) How can I round 4.1256455 to two decimal places to give 4.13? 108) How can I list with paths all the files on a drive? 109) What are the formulas for ArcSin and ArcCos? 110) How can I determine how many bytes are allocated to a file? 111) How can I modify the colors of the VGA graphics palette? 112) How can I check if SMARTDRV has been installed? Which version? 113) Is there a way to make the text blink in the graphics mode? 114) How do I make writeln (15/18) give 0.83, not 8.3333333333E-01? 115) How do I get 256 colors instead of Turbo Pascal's normal 16? 116) How can I read a text character from the screen (e.g. xy 5,2)? 117) How can I clear the screen without the Crt unit? 118) How can I test if a disk is present in the drive? 119) What is the Pascal code to add a number of days to a date? 120) How can I stuff keystrokes in advance into the keyboard buffer? 121) What is the code for a fast 16-color PutPixel Routine? 122) What is the code for a fast 256-color PutPixel Routine? 123) How can I substitute a substring with another in a string? 124) Curing Crt initialisation runtime error 200 on fast machines 125) How can I copy text and example codes from Turbo Pascal help? -------------------------------------------------------------------- FAQPAS6.TXT The sixth set of frequently (and not so frequently) asked Turbo Pascal questions with Timo's answers. 126) How do I detect if my program is running under Windows? 127) How do I set errorlevel in Turbo Pascal and test it in a batch? 128) How do I get started with mouse programming? 129) How can I find out if a date is a valid date? 130) How can I write an array to a text file in Turbo Pascal? 131) Where do I get ASCII and scan codes for the different keys? 132) How do I define and use records? How do I give initial values? 133) What real numbers types are there? How do I use them? 134) How do I find out the default status of the compiler switches? 135) Anyone know where I can download Pascal source codes? -------------------------------------------------------------------- FAQPASB.TXT Bibliography of textbooks and references for frequently asked Turbo Pascal questions with Timo's answers. -------------------------------------------------------------------- .................................................................... Prof. Timo Salmi Co-moderator of news:comp.archives.msdos.announce Moderating at ftp:// & http://garbo.uwasa.fi/ archives 193.166.120.5 Department of Accounting and Business Finance ; University of Vaasa mailto:ts@uwasa.fi <http://www.uwasa.fi/~ts/> ; FIN-65101, Finland Spam foiling in effect. My email filter autoresponder will return a required email password to users not yet in the privileges database. ----<cut>---- Izgleda da tamo ima još nekoliko dosta interesantnih stvari za programere (faq i source), pa možda ne bi bilo loše ponekad svratiti tamo... tsfaqp.zip
pascal.1194 emajsijuen,
Nasao sam neki unit za rad sa sound blasterom... Saljem ga uz poruku... P.S. Ovo je za direktorijum! Pozdrav, Vlada... soundbl.arj
pascal.1195 emajsijuen,
Ide jos jedan primer za "vatru"... Pozdrav, Vlada... burn.pas
pascal.1196 emajsijuen,
Stize jedan dobar unit za rad sa grafikom (VESA modovi, do 256 boja). ------------------------------------------------------------------------------ █▀▀▀ █▀▀▄ █▀▀▄ █▀▀▀ █ █ █ ▄ █▄▄ █▄▄█ █▄ ▄▀▀▄ ▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ ************************************************* ******************************* (c) 1996-1998 by Stefan Goehler, Germany *** ***** GRAFX 1.3c ************************************************************ ***** Documentation - Version 1 ***** **** Find me in the Web @ http://sourcenet.home.pages.de *** *** Mail me @ stefan.goehler@gmx.de * ** * * oy n* rilgirov should be mentioned - he reprogrammed the * * hardware *men, cirrus-unit seems to run very well. * * Another thnke theew e.3a b ! * ************** ------------------------------------------------------------------------------- grafx.arj
pascal.1197 emajsijuen,
█▀▀▀ █▀▀▄ █▀▀▄ █▀▀▀ █ █ █ ▄ █▄▄ █▄▄█ █▄ ▄▀▀▄ ▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ ************************************************* ******************************* (c) 1996-1998 by Stefan Goehler, Germany *** ***** GRAFX 1.3c ************************************************************ ***** Documentation - Version 1 ***** **** Find me in the Web @ http://sourcenet.home.pages.de *** *** Mail me @ stefan.goehler@gmx.de * ** * * * * Thanx fly to Dmitri Chaloupov for doing some corrections on my spelling :) * * Also Hristo Chilingirov should be mentioned - he reprogrammed the * * hardware acceleration for Cirrus cards - he had IMHO a good * * documentation, the cirrus-unit seems to run very well. * * Another thanx flies to Christian Klukas - he made a lot of testing on * * version 1.3. Only with his help I was able to make the newest * * release 1.3 so stable and bugfree (hey ;)! * ****** * ****************************************************************************** *** *
pascal.1198 lana.m,
Evo sta se moze uraditi sa i bez onih tpu-ova sto je emajsijuen slao za otprilike 1 sat(mozda malo vise)! :) Inace rutina za crtanje zvezdica mislim da je najbolje izvedena do sada... Naravno ja sam je(sa svojim nevelikim znanjom mate) napravio! :)) stars.arj
pascal.1199 emajsijuen,
│ Evo sta se moze uraditi sa i bez onih tpu-ova sto je emajsijuen slao za │ otprilike 1 sat(mozda malo vise)! :) └───────────────────────────────────────────── C c c... ;) │ Inace rutina za crtanje zvezdica mislim da je najbolje izvedena do sada... │ Naravno ja sam je(sa svojim nevelikim znanjom mate) napravio! └───────────────────────────────────────────── Jesi li to bas ti pravio ? ;) Meni se ipak cini da je to pravio Stefan Goehler iz Nemacke ;) Ti si u stvari samo izvadio deo programa vesademo koji kao primer dolazi uz one unite... Posle ti je ostalo samo onu poruku da promenis. P.S. a i oni fontovi 'descent.chs' mi nekako deluju poznato... ;) Mogao si bar da ih ulinkujes u .exe, bilo bi teze provaliti odakle si to uzeo... Pozdrav, Vlada...
pascal.1200 lana.m,
>> Jesi li to bas ti pravio ? ;) Meni se ipak cini da je to pravio >> Stefan >> Goehler iz Nemacke ;) Ti si u stvari samo izvadio deo programa >> vesademo koji >> kao primer dolazi uz one unite... Posle ti je ostalo samo onu >> poruku da >> promenis. P.S. a i oni fontovi 'descent.chs' mi nekako deluju >> poznato... ;) >> Mogao si bar da ih ulinkujes u .exe, bilo bi teze provaliti odakle >> si to >> uzeo... Kunem se da sam pravio rutinu za crtanje zvezdica... Fejdovanja i razlicite brzine sve je moje... Poslacu ti source ali da ga ne siris dalje ako mi ne verujes... Naravno da sam uzeo font!!! Pa i pise lepo ime fonta!!! E Emaj, treba ti jos da ucis! :)) Pozdrav! Btw. Rutinu za crtanje zvezdica sam uradio sa jedno 16 godina u 320x200, sada sam samo prebacio u vecu rezoluciju i naravno ponovo napisao rutinu!
pascal.1201 emajsijuen,
│ Kunem se da sam pravio rutinu za crtanje zvezdica... Fejdovanja i │ razlicite brzine sve je moje... └─────────────────────────────────────────── Hmmm... ;) To je sve decija igra za pravljenje... │ Poslacu ti source ali da ga ne siris dalje ako mi ne verujes... │ │ Naravno da sam uzeo font!!! Pa i pise lepo ime fonta!!! └─────────────────────────────────────────── Uzeo si fontove? A rece da nisi koristio one unite ? ;) Samo me zanima kako si iskoristio fontove bez Stefanovih unita? ;) Na brzinu si napravio i proceduru za ispis teksta na ekran ? │ E Emaj, treba ti jos da ucis! :)) └─────────────────────────────────────────── Zato si ti tu da me naucis... ;) │ Btw. Rutinu za crtanje zvezdica sam uradio sa jedno 16 godina u │ 320x200, sada sam samo prebacio u vecu rezoluciju i naravno ponovo │ napisao rutinu! └─────────────────────────────────────────── Da, znam... :)) Dobro necu da se prepucavamo.. Recimo da ti verujem ;) Pozdrav, Vlada...
pascal.1202 kojai,
Ono sto sam rekao za 1024x768 256 da se iscrtava ekran na brzini refrash ekrana to ja ni nisam rekao da je uradjeno pod C-ovom kapom vec u assembleru! Inace sto se tice iscrtavanja, skrolovanja i ostalih stvarcica za to je normalno da svaki kompajler koristi windowsove rutine... Ali kada sam ja radio pod C-om ja sam to direktno isao preko DirectDraw rutina(koje se jaaaako tesko koriste) i prikazivao ogromnim brzinama... Pod C om je izuzetno tesko inicijalizovati uopste prostor za crtanje, mnogo je tesko, dok delphi npr.(kao i basic) ima naredbu(ne znam tacno) koja to odradjuje! E ali kada idem preko te naredbe ja bukvalno nemam nikakvu kontrolu nad onim sto radim... Imam handle slika, paleta i td. ali ne mogu nista direktno da radim, znaci hocu da ocitam nesto, pa tu da ubacim nesto drugo ili da invertujem... To je prednost C-a, sto sve radim sam... Jeste da je zajebanije, ali kada se jednom naprave DLL-ovi sa njima mogu da radim sta zelim i da ih uvek koristim! Pozdrav! Btw. VBasic 5.0 ima podrsku za DirectX 1.0... To je imao C 4.0 ili 4.2! A to je beda...
pascal.1203 epson,
Učitam deo teksta iz datoteke, i kako ja sada njega da "zapamtim u memoriji" i koristim kada mi zatreba ? Do sada sam to radio tako što ga smestim u privremenu datoteku, ali to nije to.
pascal.1204 kojai,
>> Ucitam deo teksta iz datoteke, i kako ja sada njega da "zapamtim >> u memoriji" i koristim kada mi zatreba ? Do sada sam to radio tako >> sto ga smestim u privremenu datoteku, ali to nije to. A gde ga ucitas? Otvoris niz u memoriji koliki ti treba(preko poinera(do 600Kb)) i ispisujes ga po zelji! :)
pascal.1205 epson,
│ A gde ga ucitas? └───────────────────────────────────────────────── var in:text; red:string; begin ... readln(in,red); ... end.
pascal.1206 milosh.zorica,
Evo jednog tutorijala za očitavanje verzije i tipa DOS-a iz Pascal-a. U prilogu je source-tutorial za to u pascalu + asm iz pascala. Program koristi funkciju 30h interrupt-a 21h tj. standardnog DOS interrupta. Znam da je to trivijalnost. Ali, početnicima u asm-u i pascal-u, biće korisno. Poz, Miloš! ldi.pas
pascal.1207 kojai,
>Evo jednog tutorijala za ocitavanje verzije i tipa DOS-a iz Pascal-a. >U prilogu je source-tutorial za to u pascalu + asm iz pascala. Program >koristi funkciju 30h interrupt-a 21h tj. standardnog DOS interrupta. >Znam da je to trivijalnost. Ali, pocetnicima u asm-u i pascal-u, bice korisno. U unitu Dos postoji naredbica GetVer ili nesto tako...
pascal.1208 pecanac,
Kako da izvučem source iz exe-a? (tp 6.0) Ima li neko programče da mi pomogne?
pascal.1209 milosh.zorica,
Pa, za to ti je potreban dis-assembler. Pascalski nikako. Kad ga izvučeš (sors), dobićeš asm sors, nevezano za jezik u kom je aplikacija rađena. Najbolji dis-assembler je Sourcer. Ako ti treba, javi imam ga.
pascal.1210 ventura,
> aplikacija radena. Najbolji dis-assembler je Sourcer. Ako ti treba, Sta rece i ostade ziv - Jeste da on izvlaci iz COM,EXE,SYS sorseve ali kakve. Pa to niko ziv nemoze da razume sto sorser izvuce, a po mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci sors samo iz EXE fileova ali su oni donekle razumljivi, a uz to ima i razne druge korisne opcije. tdebuger.zip
pascal.1211 kojai,
>> mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci Definitivno...
pascal.1212 kojai,
>> Kako da izvucem source iz exe-a? (tp 6.0) >> Ima li neko programce da mi pomogne? U principu svi programi za izdradu source-ova radi prema algoritmu koji se moze naci u jednoj(malopoznatoj) knjizi o Assembleru koja se nalazi u paketu knjiga o C-u... Te knjige se dobijaju pri kupovini originalnog C paketa i od jedno 10-tak knjiga u jednoj su samo primeri(vecina u Assembleru)... Program naime radi iz 3 dela... Prvi vrsi registraciju promena registara. Drugi prati ponavljanja, a treci iz te virtualne baze koje pravi na disku prema drugom delu pravi program... Pozdrav!
pascal.1213 milosh.zorica,
To stoji da je Turbo Debugger najbolji i da sorser izvlači nerazumljiv sors.Sorser mi je prvi pao na pamet. Svi de-kompajleri, izvlače nerazumljiv sors. Jedino TDebugger, normalan i čitak...
pascal.1214 jujo,
# To stoji da je Turbo Debugger najbolji i da sorser izvlaci # nerazumljiv sors.Sorser mi je prvi pao na pamet. Svi de-kompajleri, # izvlace nerazumljiv sors. Jedino TDebugger, normalan i citak... Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive za koje zna ti ubaci kao komentar na odgovarajucim mestima. Kad smo vec kod "reverzibilnog inzenjeringa" postoji i program exe2c, koji konvertuje exe u C (koji je ZAISTA NECITAK). yooyo:
pascal.1215 pecanac,
> mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci > sors samo iz EXE fileova ali su oni donekle razumljivi, a uz to ima Vrlo mi je hitno: ...ako još neko ima Turbo Debuger neka ga okači ponovo u conf. jer je ova okačena arhiva (?) loša. Može i na mail, samo što pre. Hvala.
pascal.1216 milosh.zorica,
> Kad smo vec kod "reverzibilnog inzenjeringa" postoji i program exe2c, > koji konvertuje exe u C (koji je ZAISTA NECITAK). Taj imam i potpuno je beskoristan. Sourcer i Turbo Debugger koristim za rev. inzenjering.
pascal.1217 sjocic,
-> Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive -> za koje zna ti ubaci kao komentar na odgovarajucim mestima. Moze li se dobiti taj 'sourcer' ?
pascal.1218 ljiljam,
Da li bi mi neko mogao okaciti turbo.hlp na mail ver. 6.00?
pascal.1219 milosh.zorica,
Evo, jedan pascal kompajler. Karakteristike sledeće: Podržava protected mode, pomoću wdos/x, dos4gw ili pmode/w extendera. Vesa 2.0 grafiku. Rad sa mišem, bez ext korisničkih unit-a. Uz to sve je i Borland Pascal kompatibilac. Ovo je free verzija tj. bez IDE-a, Debugger-a i help-a. Inače, ime mu je TMT Pascal 2.10. Ko ima full verziju, ne bi se ljutio da mi se javi, radi kopiranja ovog coolest compiler-a. Adresa odakle sam ga uzeo je www.tmt.com. Dl obavezan, nećete se pokajati tj. oduševićete se.
pascal.1220 milosh.zorica,
Sorry, pukla veza, ponovo. tmtp210d.exe
pascal.1221 jujo,
# -> Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive # -> za koje zna ti ubaci kao komentar na odgovarajucim mestima. # # Moze li se dobiti taj 'sourcer' ? Evo ide... yooyo: sourcer.zip
pascal.1222 pecanac,
> ...ako još neko ima Turbo Debuger neka ga okači ponovo u conf. jer je Niko nema Turbo Debuger?
pascal.1223 milosh.zorica,
Fajl uz poruku 1220 je .exe. Sorry.
pascal.1224 ljiljam,
Pravim jedan mali program koji je zakacen uz poruku. Problem je u tome sto ne znam kako da se sifra unosi u ono predvidjeno polje a ne ispod. Unapred hvala, Ljilja pass.pas
pascal.1225 nenadt,
evo promenjenog programceta passnew.pas
pascal.1226 pecanac,
Potrebna mi je procedura/funkcija koja na ulazu ima početni i krajnji datum (u obliku ddmmggggssmm, (obavezno 4 cifre za godinu) bilo da se uzima sistemski datum i vreme, ili se ukucava sa terminala) a vraća _broj_sati_ koji je protekao u medjuvremenu. Može ovde ili na mail, svejedno. Hvala!!
pascal.1227 jjerry,
>>koristi funkciju 30h interrupt-a 21h tj. standardnog DOS >>interrupta. Znam da je to trivijalnost. Ali, pocetnicima u asm-u i >>pascal-u, bice korisno. Oprosti ,ali TI znash da je to trivijalnost ??? Koliko se ja secam poslednji put kad smo se chuli nizi znao zashto sluzhe instrukcije tipa PUSH/POP ili chak MOV (??) a sad si odjednom struchnjak pa znash i DOS-ove f-je. I josh pishesh svoj e-mail.. Mislim stvarno...i to ti josh nije prvi put da uzimash tudj rad i da ga predstavljash kao svoj.
pascal.1228 milosh.zorica,
Ovaj rad jeste tričarija. Rad jeste moj 100%! A, oko push* pop* funkcija i sl. sam naučio po nešto. Ovo jeste moj rad. Jedini, koji sam tuđi uzeo, bio je onaj bump. Sad sam ga skroz prepravio i ispravio neke bugove, na kraju sam dodao i 10x 2 autor. Funkcija jeste, više no prosta. Ali... neću više, obećavam!
pascal.1229 jjerry,
To nije ni zasluzhilo da se zove radom...A shto se onog bampa tiche bolje cuti i pokri se ushima jer si ispao lamerchina kakva se skoro nije videla na ovim prostorima. Bolje kreni is pochetka,kako bi ti i pristajalo,nego da se folirash ovde kako si fenomenalan programer a ustvari nemash pojma.Savetujem ti da se primirish malo i da ,za pochetak,nabacish zhelju za uchenjem a ne zhelju da u nechijim ochima budesh veliki. Lichish na onog dechka koji je 2 puta vikao kako dolazi vuk,2 puta zajebao ljude,dok je treci put bio pojeden od strane istog jer mu niko nije verovaro.Ja ti vishe ne verujem...
pascal.1230 shoom,
Da li nekog zanima source legendarne igre ? F1 za help. Davno bese ... ne secam se ni kada je tacno nastalo ... tetrix.arj
pascal.1231 milosh.zorica,
Kako komandu exec da nateram, da mi ne zahteva putanju do fajla? Npr. želim da pokrenem arj, DN, editor i sl. Kada mu za program unesem samo dir, arj, edit ili slično, prijavi mi da nemože da nađe fajl ili direktorijum. U c-u to fino radi system().
pascal.1232 stameni,
>> Kako komandu exec da nateram, da mi ne zahteva putanju do fajla? Pogledaj execdemo.pas iz ..\tp\demos. Ključna stvar je u: ... SwapVectors; exec(GetEnv('COMSPEC'), '/C ' + Command); SwapVectors; ... Ne zaboravi da ostaviš prostor na heapu.
pascal.1233 epson,
Kako registrovati da com port više ne dobija podatke ? Brojanjem chr(0) ? Kako sprečiti com port da dalje pošalje određen podatak ?
pascal.1234 milosavljevic,
Hi! Skinuo sam iz sezamovog dir-a P-ROBOTS, iliti borbe robota-programa. Da li postoji dobra dusa koja se zezala sa ovim, i koja je voljna da mi objasni "funkcije i procedure" koje se koriste u source-ovima istih. Unapred MNOGO hvala!
pascal.1235 andrijak,
Da li zna neko kako da neku sliku(recimo *.bmp) pozovem iz paskala? Koja komanda i njena sintaksa?
pascal.1236 jjerry,
>>Da li zna neko kako da neku sliku(recimo *.bmp) pozovem iz paskala? >>Koja komanda i njena sintaksa? :)) Pa netje to itji tek tako ;) Ono,mozhesh da probash sa Exec procedurom pa da pozovesh neki viewer ali je to glupo reshenje. Nadji lepo opis formata koji ti treba i napravi svoj viewer za taj format u Paskalu,za PCX npr.,to je bar lako..
pascal.1237 emajsijuen,
> Nadji lepo opis formata koji ti treba i napravi svoj viewer za taj > format u Paskalu,za PCX npr.,to je bar lako.. To je lako, a ? Aj' mi onda napravi (onako, na brzaka) jedan viewer za recimo *.PCX fajlove (kad si ih vec pomenuo). Ako ti treba opis formata, javni mi pa da ga iskopam negde sa NET-a... ;)
pascal.1238 ventura,
> To je lako, a ? Aj' mi onda napravi (onako, na brzaka) jedan viewer za > recimo *.PCX fajlove (kad si ih vec pomenuo). Ako ti treba opis formata, > javni mi pa da ga iskopam negde sa NET-a... ;) PCX skoro pa da nema nikakav format, uzmi lepo ucitaj file i napravi petlju koja proverava koja je vrednost dati byte, i shodno tome ispises boju... malo matematike al je barem lako... VeNTuRa
pascal.1239 jjerry,
>> boju... malo matematike al je barem lako... Ma da,a i matematike skoro da nema,osim operacija +,* itd. :) Uostalom,milion programa na Netu koji se bave recimo texture mappingom u sebi imaju kod za chitanje .PCX. Trivijalno bre..
pascal.1240 ventura,
> Ma da,a i matematike skoro da nema,osim operacija +,* itd. :) > Uostalom,milion programa na Netu koji se bave recimo texture > mappingom u sebi imaju kod za chitanje .PCX. Trivijalno bre.. Pa jebiga... Nego ko li je trazio, ovaj sors. Sad se setih. Ja imam bbs posvecen upravo ovim stvarima ;) koji za divno cudo ima gomilu sorseva u pascalu... loguj se od 22-06 pa skini... Nickeldon BBS (011) 3942592
pascal.1241 goxi,
Hi! Kako resiti sledeci problem...javlja mi : "Stack overflow error" ! Probao sam sa povecanjem Stack Size-a (Options/memory size), ali to ne pomaze. Goran.,
pascal.1242 jjerry,
>>Kako resiti sledeci problem...javlja mi : "Stack overflow error" ! >>Probao sam sa povecanjem Stack Size-a (Options/memory size), ali to >>ne pomaze. Ponekad mozhe da pomogne da ruchno (pomocu onih direktiva koje se stavljaju u { } ) povetjash stek. Inache,mislim da ti se to javlja neka rekurzija koja izgleda nije najpametnije osmishljena,pa bi mogao da pregledash rek. procedure ako ih imash.. Poz,J.J..
pascal.1243 gkosta,
Evo problema, da li mi neko moze pomoci: type covek=record ime:string[20]; prezime:string[20]; end; slog:record ljudi:array [1..50] of covek; end; Potrebno mi je da ovaj niz bude neogranicen (znaci ljudi>=1). Sta da radim? Pozdrav
pascal.1244 jjerry,
>>type >> covek=record >> ime:string[20]; >> prezime:string[20]; >> end; >> slog:record >> ljudi:array [1..50] of covek; >> end; Prvo,ne bi bilo loshe da pishesh malo sa uvlachenjima/izvlachenjima,tj. da text ne bude poravnat kao ovde. Drugo,malo mi nisu ovi end-ovi jasni. Ovaj prvi bi trebalo da bude kraj definisanja tipa chovek,ali za shta sluzhi ovaj drugi ? I ako definishesh tip "slog" i tip "ljudi" zashto su tu onda dve tachke umesto znaka jednako. Mnogo konfuzno,u najmanju ruku. Inache,tvoj problem,ako pretpostavimo da je sve ostalo sintaxno OK :) bi se mogao reshiti tako shto definishesh tip ljudi kao pointer na tip "covek",isto kao shto se radi u C-u. Ili da napravish neku dinamichku strukturu,npr. listu u koju cesh da stavljash podatke. Inache,bilo kako bilo,niz ti ne mozhe bidi ni blizu neogranichenom jer postoji 64K ogranichenje za Pascalov DATA segment..djubre. Poz,J.J..
pascal.1245 kojai,
Sta da uradim da bih se nakacio na interapt od coma 4, tacnije da se neka moja procedura poziva na svaku promenu na comu... Sa Setintvec se 'kao' zakacim medjutim da bi to radilo kako sam ja zamislio treba da popunim one nazovimo tablice kod portova, koje su objasnjene u interapt listama... Ali ono je nesto oko 20-30 komada ako se ne varam, tako da je provaljivanje duzi posao, ako je nekao uradio neka mi baci na mail... Isa
pascal.1246 vule.,
Koje su komande za obradu gresaka ?
pascal.1247 gkosta,
Molim nekoga da mi odgovori: Zasto mi ne funkcionise u programu klasicno otvaranje fajla sa Assign - Reset? Kada posle Assign stavim Rewrite fajl se otvara, medjutim ne odgovara mi ponistavanje (presnimavanje) fajla. E, da... U prvom slucaju mi ispisuje gresku i prijavljuje da fajl nije nadjen/otvoren! Saljem deo programa. Hvala vam. proba.pas
pascal.1248 kojai,
>> E, da... U prvom slucaju mi ispisuje gresku i prijavljuje da fajl nije >> nadjen/otvoren! Normalno kad ne postoji fajl... Uradi sledece: f-file of poset a-array[1..n] of poset Assign(f, 'mika.txt'); Rewrite(f); for i:=1 to n do begin Write(f, a[i]); end; Close(f): Kada ucitavas: Assign(f, 'mika.txt'); Reset(f); for i:=1 to n do begin Read(f, a[i]); end; Close(f); Ili ako oces samo jedan element da ocitas npr. 4-ti od 6 elemenata, ides: Seek(f, 4); Write(f, e); e-poset Znaci kada zadajes sta hoces da ocita ne stavljas mu npr. seek(f, pos) vec seek(f, n) gde je: pos-pozicija u bajtovima, n-redni broj reda koji se ocitava. Isa
pascal.1249 qpele,
> Kada ucitavas: > > Assign(f, 'mika.txt'); > Reset(f); > for i:=1 to n do begin > Read(f, a[i]); > end; > Close(f); > Opet ce pucati ako nema fajla "mika.txt". Uradi sledece {$I-} (* ukida kontrolu U/I*) Assign(f, 'mika.txt'); Reset(f); {$I+} (* uvodi kontrolu U/I inace default stanje *) if (IOResult=0) then (* Ako datoteka postoji IResult je 0 u suprotnom je razlicit od 0 *) begin for i:=1 to n do begin Read(f, a[i]); end else rewrite(f); end; Close(f);
pascal.1250 nbjvsb,
>> n-redni broj reda koji se ocitava. Redni broj podatka, redovi u binarnim datotekama ne postoje :-) Nadovezivanje: Ukoliko radiš sa tekstualnom datotekom (f: text), onda ćeš imati malih komplikacija, jer se Seek(f,pos); koristi samo u binarnim datotekama. Koja je razlika između text i file of string? Razlika je u tome što tekstualne datoteke rade sa redovima koji se završavaju sa Eoln (to mu dođe kombinacija karaktera #13 i #10 - #13 označava prelazak na istu poziciju u sledećem redu, a karakter #10 vraća kursor na početak reda), a file of string sa podkanapisa, ondae ta vičina 6 bajtova). Kada imaš podatke određene veličine lako je skakati sa jednog na drugi, dok je kod različitih duđina redova to komplikovanije raditi. Kod tekstualnih datoteka koriste se Read/ReadLn i Write/WriteLn procedure. Da bi mogao da uradiš kakav-takav Seek (koji će sa velikim datotekama raditi sporo), možeš da iskoristiš ovakvu proceduru: procedure SeekText(f: text; Pos: word); var i: word; begin Reset(f); for i:=1 to Pos do ReadLn(f) end; Kolko se sećam, var za datoteke nije neophodan, al' možda i grešim :-) Elem, u gornjem primeru (kao i inače), Seek(f,0); postavlja datotečki pokazivač na prvi red, itd... Preterano sam se raspisao, odo' da se odmorim :-)
pascal.1251 gkosta,
Hvala vam svima. Tek sam sada procitao poruke i cini mi se da je ovo sa IOResult-om najbolje resenje. Javicu sta sam uradio. Hvala jos jednom! :)
pascal.1252 kojai,
>> Redni broj podatka, redovi u binarnim datotekama ne postoje :-) Nisam znao kako da se izrazim... Da pojasnim... Ako je fajl otvoren kao file of slog, gde je slog = Record od necega i ako fajl sadrzi recimo 10 elemenata, 7-om elementu se pristupa sa Seek(f, 7), a ne Seek(f, pos), gde je pos pozicija... Ako je fajl otvoren kao text onda seek ne radi... A ako je otvoren sa file of byte, char, word..., onda ide obicno seek(f, pos)... Ako je otvoren sa file of string[20] onda je moguce uraditi seek(f, 5) npr. da bi se dobio 5 string... >> {$I-} (* ukida kontrolu U/I*) Pa jeste... Ovo izgleda kao pametnije resenje... :) Isa
pascal.1253 voyager,
Pitanje: Imam putanju : '*:\direktorijum\..' * - drajv Kako da na osnovu ove putanje saznam koliko je mesta ostalo na drajvu? VoYaGeR
pascal.1254 kojai,
>> Kako da na osnovu ove putanje saznam koliko je mesta ostalo na >> drajvu? Evo ti nesto primitivno... Recimo da je s: string... Uses Dos; Var s: String; a: Byte; begin s:='C:\UTIL'; If Copy(s,1,1)='A' then a:=1; {Ili uradis sa case CH of} If Copy(s,1,1)='B' then a:=2; {Gde je CH: Char, Copy(S, 1, 1)} If Copy(s,1,1)='C' then a:=3; {Ali za ovako malo nema potrebe} If Copy(s,1,1)='D' then a:=4; If Copy(s,1,1)='E' then a:=5; {...itd.} WriteLn('Na disku je ostalo ', DiskFree(a), ' bajtova.'); end. :)) Ako ti treba za nesto ozbiljnije - nemoj ovako... Isa
pascal.1255 voyager,
>> Ako ti treba za nesto ozbiljnije - nemoj ovako... Ovo sam znao i sam da uradim ali posto mi treba za nesto ozbiljnije bio bi zahvalan ako neko zna malo prostiji nacin :) Ali u svakom slucaju hvala. VoYaGeR
pascal.1256 kojai,
>> Ovo sam znao i sam da uradim ali posto mi treba za nesto ozbiljnije >> bio bi zahvalan ako neko zna malo prostiji nacin :) Ali u svakom Pa da li postoji prostiji nacin od citanja prvog karaktera stringa? Ja nisam rekao da je ovo slozeno, nego da nije previse oziljno... Ali definitivno je najlakse... Isa
pascal.1257 jjerry,
Zadaci sa shkolskog takmichenja iz informatike u MG-u.. 1.zadatak : Dat je niz od N brojeva.Naci najduzi segment koji je palindrom. Segment se sastoji od uzastopnih elemenata polaznog niza. Segment je palindrom akko se isto cita sleva nadesno i zdesna nalevo. Ulazni podaci se nalaze u fajlu : * U prvom redu broj N (N<=2000) * U sledecih N redova po jedan ceo pozitivan broj,manji od 2000000000. Primer ulaznog fajla : 6 1 2 4 3 5 3 Na ekranu treba ispisati : 3 4 2.zadatak : Data je matrica se M vrsta i 2^N kolona.Sve vrste osim prve mogu se ciklichno pomerati udesno (svaki element prelazi u susednu desnu kolonu,osim poslednjeg,koji prelazi u prvu kolonu). Za koliko mesta udesno treba pomeriti svaku vrstu,da bi nakon pomeranja svaka kolona imala isti zbir. Ulazni podaci su u fajlu ZAD2.DAT : * U prvom redu brojevi M i N ; M,N <= 10 * U sledecih M redova po 2^N integera. (-MAXINT-1..MAXINT) Treba ispisati M-1 brojeva,koji oznachavaju pomeraje druge,trece...M-te vrste. Na primer,za fajl : 3 2 1 2 3 4 5 6 7 8 1 3 1 3 na ekranu treba ispisati : 2 1 ili 2 3.Ako nema reshenja,treba ispisati "nema reshenja". ---------------------------- To je to.Btw. kome uspe da napravi takav algoritam koji ce na prosechnom P5 da radi ispod 5 sekundi za RANDOM matricu 10x1024 skidam kapu i dajem mu svoje mesto u MG a ja idem u djubretarsku :) Poz,JJ..
pascal.1258 qpele,
> Ja nisam rekao da je ovo slozeno, nego da nije previse oziljno... Ali > definitivno je najlakse... A i radi posao, sto je najbitnije.
pascal.1259 aandric,
Sto se tice takmicenja iz informatike. Zadaci u principu nebi bili mnogo teski da stoka koja ih je sastavljala nije po svom obicaju stavljala glupe fazone tipa :"da ti program radi za 3 sekunde sa brojevima vecim od longint..." Inace ja sam drugi uradio backtracking-om za sve brojeve ali sam zbog vremenskih ogranicenja dobio samo 15 poena (shmrc). Sada bih svoj algoritam mogao da unapredim za sve test primere osim onog 10*1024 sa resenjem.Pokazao nam je Dragan Urosevic,koji mi inace predaje C, kako se radi taj zadatak.Covece nista nisam razumeo: neki ciklicni krugovi, pizde materine... BTW, jel zna neko ko ce da ide dalje?Pitao sam Vugdeliju i on mi je u petak rekao da postoje dve mogucnosti u zavisnosti od broja raspolozivih racunara: ili ce proci dalje prvih 30 ili svi koji imaju vise od nula bodova.
pascal.1260 ventura,
> Zadaci u principu nebi bili mnogo teski da stoka koja ih je > sastavljala nije po svom obicaju stavljala glupe fazone tipa > :"da ti program radi za 3 sekunde sa brojevima vecim od > longint..." Nakon listanja raznih enciklopedija, sam skontao da zadatci nisu nesto preterano teski, ali oni debilisto ih sastavljaju ti napisu, isracunaj parafenamonalnodislekcionu matricuopsedjuktivnog broja... jebiga nismo svi iz MG :)
pascal.1261 kojai,
Cemu ovo sluzi?? Uz to i ne radi... :))
pascal.1262 emajsijuen,
>> s:='C:\UTIL'; >> If Copy(s,1,1)='A' then a:=1; {Ili uradis sa case CH of} >> If Copy(s,1,1)='B' then a:=2; {Gde je CH: Char, Copy(S, 1, 1)} >> If Copy(s,1,1)='C' then a:=3; {Ali za ovako malo nema potrebe} A:=Ord(S[1])-64;
pascal.1263 kojai,
>> A:=Ord(S[1])-64; Ne moze Ord od stringa... Ali lepa zamisao... :) Isa
pascal.1264 nbjvsb,
>> >> A:=Ord(S[1])-64; >> ^^^^ >> Ne moze Ord od stringa... Ali lepa zamisao... :) Pogledaj malo bolje ovo gore. Ne piše samo S, već S[1]. S[poz] vraća _karakter_ (znači char) koji se nalazi na poziciji poz u stringu, pri čemu S[0] predstavlja karakter dužine - Ord(S[0]) će ti reći koliko je string dugačak. Isto kao i Length(S).
pascal.1265 kojai,
Da... Moja greska... :)
pascal.1266 jjerry,
>> Inace ja sam drugi uradio backtracking-om za sve brojeve ali >>sam zbog vremenskih ogranicenja dobio samo 15 poena (shmrc). Ma znam,ja sam ga isto uradio backtracking-om,al' sam dobio samo 6 poena. Fazon : prolaskom sa Trace Into se ispisuju tachna reshenja, i u strukturu se ista upisuju savrsheno. Sa Ctrl-F9 se ispisuju 0 ?! Reche mi Vugdelija da je to,kao,99% programerska greshka i da verovatno program dira neku memoriju koju ne bi smeo,kao npr. pichi van matrice ili slichno,ali takvih stvari kod mene nema..rebus.. >>osim onog 10*1024 sa resenjem.Pokazao nam je Dragan >>Urosevic,koji mi inace predaje C, kako se radi taj Blago tebi,blago meni...Meni inache sad predaje Jasminka ;)))) tako da si mi ulepshao dan saznanjem da mi ona u trecoj nece predavati ;) >>od broja raspolozivih racunara: ili ce proci dalje prvih 30 >>ili svi koji imaju vise od nula bodova. Napisali su u shkoli...Praktichno ,30 onih koji odu na gradsko odlaze i na republichko,jer 30 i pushtaju. Razlog : proferore mrzi da sede 8 sati..Barabe.. Pozdrav,JJ..
pascal.1267 jjerry,
>> Nakon listanja raznih enciklopedija, sam skontao da zadatci nisu Shto si listao enciklopedije ? Btw. ipak mislim da su vremenska ogranichenja pozitivna stvar. Prvo,onaj ko pregleda nije blesav da sedi 10h za kompjuterom chekajuci reshenje,a drugo,da nema ogranichenja,genijalan algoritam i najprizemniji peshachki algoritam ce biti isto ocenjeni,zar ne ? Pozdrav,JJ..
pascal.1268 nbjvsb,
Izvinjavam se što tek sad odgovaram, ali grešom sam sve poruke u Pascalu označio kao pročitane :-( >> Ako je fajl otvoren kao file of slog, gde je slog = Record od necega i ako >> fajl sadrzi recimo 10 elemenata, 7-om elementu se pristupa sa Seek(f, 7), >> a ne Seek(f, pos), gde je pos pozicija... Koja je razlika između Seek(f,7) i Seek(f,pos), gde je pos pozicija, majke ti? Naravno, pod pos mislim na redni broj podatka, a ne na bajt u datoteci. BTW. 7-om elementu pristupa se sa Seek(f,6). Kao što rekoh, Seek(f,0) vraća prvi element u datoteci, itd.
pascal.1269 kojai,
>> Koja je razlika izmedu Seek(f,7) i Seek(f,pos), gde je pos pozicija, majke >> ti? Naravno, pod pos mislim na redni broj podatka, a ne na bajt u datoteci. A sta sam ja rekao?! Nema razlike izmedju seek(f,7) i seek(f,pos) ali ja sam pricao o dve razlicite stvari... Prvo o fajlu otvorenom sa file of rec, a potom o fajlu otvorenom sa file of byte... Samo sam uporedio... Mozda sam pogresio u kuckanju... :) Isa
pascal.1270 nbjvsb,
>> A sta sam ja rekao?! Pa rekao si da se sa file of slog elemntu pristupa sa Seek(f,7) a ne sa Seek(f,pos). Cijenim da se nismo razumeli. Mislim da si pod pos podrazumevao poziciju u bajtovima, a ja poziciju elementa, iliti sloga, u fajlu :-)
pascal.1271 jjerry,
Otjete zadatke sa gradskog u MG ? Btw. da li neko na sluchajno,da li su zadaci za sve shkole isti,ili kao na matematici ,ono,mi smo A kategorija,ostali su B itd. ? Poz,JJ..
pascal.1272 nbjvsb,
>> Otjete zadatke sa gradskog u MG ? Btw. da li neko na sluchajno,da >> li su zadaci za sve shkole isti,ili kao na matematici ,ono,mi smo A >> kategorija,ostali su B itd. ? U informatici, gradsko je uvek bilo isto za sve. Jedino je školsko bilo deljeno na jače i slabije. :-) Inače, šalji zadatke. Ko ih uopšte sada pravi?
pascal.1275 sqweaky,
Senzacionalno! :) ******************************** ** Sors Dos Navigatora v1.51! ** ******************************** Skinite obavezno. :) Predlazem javno unapredjivanje DN-a. Recite sta bi trebalo dodati, promeniti. Meni je ovo prvo palo na pamet: 1) Podrska za LFN 2) Izbaciti registraciju O:) 3) Windows verzija 4) Meniji na srpskom 5) Vise asemblera, manje paskala :) 6) ... p.s. Za kompajliranje su vam potrebni Tasm, Tlink i Borland Paskal 7.0. dn151src.zip
pascal.1276 kojai,
>> Senzacionalno! :) Bilo bi da si poslao pre 5 godina... Kome danas treba bilo koji dos source? Neisplativo, nazalost... :( Isa
pascal.1277 pavijan,
> Senzacionalno! :) > > ******************************** > ** Sors Dos Navigatora v1.51! ** > ******************************** > Predlazem javno unapredjivanje DN-a. Recite sta bi trebalo > dodati, promeniti. Meni je ovo prvo palo na pamet: > > 1) Podrska za LFN > 2) Izbaciti registraciju O:) > 3) Windows verzija > 4) Meniji na srpskom > 5) Vise asemblera, manje paskala :) > 6) ... ______________________________ Predlozi: 1) Pozdrska za LNF 2) Brisanje u Recycle Bin 3) Unaprediti Terminal (recimo sa Mini Host-om) 4) Unaprediti CD Player za MP3, MOD i sl. 5) Vise assemblera svakako. 6) Unaprediti System Information. 7) Pojacati Help. 8) Ostati u okviru 1.44 Mb instalacija. 9) Izbor za vise jezika. 10) Meni vise netreba :))))))))))) Ako se ovo postigne Windows verzija uopste nije neophodna. Registraciju zadrzati. Pozdrav od pavijana. :))))))))
pascal.1278 pavijan,
> Bilo bi da si poslao pre 5 godina... Kome danas treba bilo koji dos source? ______________________________ Ovaaj.. grdno ovaaj.. grdno gresis sinak.. :))))) Bez uvrede ali DN se danas trosi nesmanjenom zestinom i stoji po upotrebi rame uz rame sa Windovs Commander-om i Windows Explorerom a kad bi se unapredio garant bi potisnuo rivale. Posto je izasao source predpostavljam da ce sledeca verzija Windows Commanreda (koja inace dosta kasni) biti dogradjena tako da ce izgledati kao Windows verzija DN-a. Win Navigator je lep pokusaj ali je jos nedoradjen i vise podseca na NC nego na DN. Pozdrav od pavijana dosofilima - vrsti koja izumire. :)))))))
pascal.1280 kojai,
>> Pozdrav od pavijana dosofilima - vrsti koja izumire. :))))))) Upravo to... :( Isa
pascal.1281 stemil,
> Bez uvrede ali DN se danas trosi nesmanjenom zestinom i stoji po upotrebi > rame uz rame sa Windovs Commander-om i Windows Explorerom a kad bi se > unapredio The Best Shell In The World ! Still...Forever !!!
pascal.1282 stameni,
Uz poruku ide, kazu, najbolji generator slucajnih brojeva, koga je neko vec ranije kacio ovde. Algoritam je raden u Fortranu, pa je posle prebacen u C, i u takvom obliku ga ja ponavljam. Potreban je program u Pascalu, pa ako je neko u prilici da prebaci, ne bilo mu tesko... P. S. Radim bez tvrdog diska, tako da nema sanse da pokrenem kompajler, pa zato molim. best_rnd.c
pascal.1283 kojai,
Imam jedno pitanje... Sa jednog kompa saljem podatke preko porta $2F8 (COM 2), a na drugom ocitavam taj port... Zanima me kako da saopstim da sam procitao podatak i da cekam do sledeceg. Pokusao sam sa Delay-om(pauzom) ali to se tako ne radi posto ponekad se preskoci i neprocitani... Pokusao sam knjisku varijantu sa SetIntVec i GetIntVec ali to mi ne radi. Pokusao sam sa interaptom 14h, ah=1 recive from com port, ali to mi presporo ide(odnosno ne ide)... Kako ovo da sredim, odnosno kako da ocitavam lepo sa COM-a 2?
pascal.1284 jjerry,
Da li neko zna tachnu formulu za prevodjenje boje iz hue,saturation, luminocity (intensity,kod nekih autora) vrednosti u RGB vrednosti. Analizom vrednosti u chuvenom 'Custom color' prozoru windowsa sam napravio proceduru koja daje tachan prevod (jedini uochljivi bag je shto ponekad vrednosti zbog round-ovanja budu 1 manje/vece od tachnih) ali sam u nekim drugim kodovima video drugachiju formulu : R = [ 64*I/2 * (1 + S * sin(H - 2*Pi/3))] G = [ 64*I/2 * (1 + S * sin(H))] B = [ 64*I/2 * (1 + S * sin(H + 2*Pi/3))] R,G,B,H,S,I <=> Red,Green,Blue,Hue,Saturation,Intesity (Luminocity) [x] = trunc(x) itd. , koja ne daje tachne rezultate za Windows ;) 'Custom color' prozor. Poz,JJ..
pascal.1285 kiklop,
> Da li neko zna tachnu formulu za prevodjenje boje iz hue,saturation, > luminocity (intensity,kod nekih autora) vrednosti u RGB vrednosti. Pa evo ti ceo članak iz MS-ove baze znanja koji se bavi pitanjem: PSS ID Number: Q29240 Article last modified on 11-02-1995 PSS database name: WIN32SDK 3.00 3.10 4.00 | 3.50 3.51 WINDOWS | WINDOWS NT ------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows Software Development Kit (SDK) for Windows versions 3.1 and 3.0 - Microsoft Win32 Application Programming Interface (API) included with: - Microsoft Windows NT versions 3.5 and 3.51 - Microsoft Windows 95 version 4.0 ------------------------------------------------------------------------- SUMMARY ======= The code fragment below converts colors between RGB (Red, Green, Blue) and HLS/HBS (Hue, Lightness, Saturation/Hue, Brightness, Saturation). MORE INFORMATION ================ /* Color Conversion Routines -- RGBtoHLS() takes a DWORD RGB value, translates it to HLS, and stores the results in the global vars H, L, and S. HLStoRGB takes the current values of H, L, and S and returns the equivalent value in an RGB DWORD. The vars H, L, and S are only written to by: 1. RGBtoHLS (initialization) 2. The scroll bar handlers A point of reference for the algorithms is Foley and Van Dam, "Fundamentals of Interactive Computer Graphics," Pages 618-19. Their algorithm is in floating point. CHART implements a less general (hardwired ranges) integral algorithm. There are potential round-off errors throughout this sample. ((0.5 + x)/y) without floating point is phrased ((x + (y/2))/y), yielding a very small round-off error. This makes many of the following divisions look strange. */ #define HLSMAX RANGE /* H,L, and S vary over 0-HLSMAX */ #define RGBMAX 255 /* R,G, and B vary over 0-RGBMAX */ /* HLSMAX BEST IF DIVISIBLE BY 6 */ /* RGBMAX, HLSMAX must each fit in a byte. */ /* Hue is undefined if Saturation is 0 (grey-scale) */ /* This value determines where the Hue scrollbar is */ /* initially set for achromatic colors */ #define UNDEFINED (HLSMAX*2/3) void RGBtoHLS(lRGBColor) DWORD lRGBColor; { WORD R,G,B; /* input RGB values */ BYTE cMax,cMin; /* max and min RGB values */ WORD Rdelta,Gdelta,Bdelta; /* intermediate value: % of spread from max */ /* get R, G, and B out of DWORD */ R = GetRValue(lRGBColor); G = GetGValue(lRGBColor); B = GetBValue(lRGBColor); /* calculate lightness */ cMax = max( max(R,G), B); cMin = min( min(R,G), B); L = ( ((cMax+cMin)*HLSMAX) + RGBMAX )/(2*RGBMAX); if (cMax == cMin) { /* r=g=b --> achromatic case */ S = 0; /* saturation */ H = UNDEFINED; /* hue */ } else { /* chromatic case */ /* saturation */ if (L <= (HLSMAX/2)) S = ( ((cMax-cMin)*HLSMAX) + ((cMax+cMin)/2) ) / (cMax+cMin); else S = ( ((cMax-cMin)*HLSMAX) + ((2*RGBMAX-cMax-cMin)/2) ) / (2*RGBMAX-cMax-cMin); /* hue */ Rdelta = ( ((cMax-R)*(HLSMAX/6)) + ((cMax-cMin)/2) ) / (cMax-cMin); Gdelta = ( ((cMax-G)*(HLSMAX/6)) + ((cMax-cMin)/2) ) / (cMax-cMin); Bdelta = ( ((cMax-B)*(HLSMAX/6)) + ((cMax-cMin)/2) ) / (cMax-cMin); if (R == cMax) H = Bdelta - Gdelta; else if (G == cMax) H = (HLSMAX/3) + Rdelta - Bdelta; else /* B == cMax */ H = ((2*HLSMAX)/3) + Gdelta - Rdelta; if (H < 0) H += HLSMAX; if (H > HLSMAX) H -= HLSMAX; } } /* utility routine for HLStoRGB */ WORD HueToRGB(n1,n2,hue) WORD n1; WORD n2; WORD hue; { /* range check: note values passed add/subtract thirds of range */ if (hue < 0) hue += HLSMAX; if (hue > HLSMAX) hue -= HLSMAX; /* return r,g, or b value from this tridrant */ if (hue < (HLSMAX/6)) return ( n1 + (((n2-n1)*hue+(HLSMAX/12))/(HLSMAX/6)) ); if (hue < (HLSMAX/2)) return ( n2 ); if (hue < ((HLSMAX*2)/3)) return ( n1 + (((n2-n1)*(((HLSMAX*2)/3)-hue)+(HLSMAX/12))/(HLSMAX/6)) ); else return ( n1 ); } DWORD HLStoRGB(hue,lum,sat) WORD hue; WORD lum; WORD sat; { WORD R,G,B; /* RGB component values */ WORD Magic1,Magic2; /* calculated magic numbers (really!) */ if (sat == 0) { /* achromatic case */ R=G=B=(lum*RGBMAX)/HLSMAX; if (hue != UNDEFINED) { /* ERROR */ } } else { /* chromatic case */ /* set up magic numbers */ if (lum <= (HLSMAX/2)) Magic2 = (lum*(HLSMAX + sat) + (HLSMAX/2))/HLSMAX; else Magic2 = lum + sat - ((lum*sat) + (HLSMAX/2))/HLSMAX; Magic1 = 2*lum-Magic2; /* get RGB, change units from HLSMAX to RGBMAX */ R = (HueToRGB(Magic1,Magic2,hue+(HLSMAX/3))*RGBMAX + (HLSMAX/2))/HLSMAX; G = (HueToRGB(Magic1,Magic2,hue)*RGBMAX + (HLSMAX/2)) / HLSMAX; B = (HueToRGB(Magic1,Magic2,hue-(HLSMAX/3))*RGBMAX + (HLSMAX/2))/HLSMAX; } return(RGB(R,G,B)); } Additional reference words: 3.00 3.10 3.50 4.00 95 color RGB HLS HBS KBCategory: kbgraphic KBSubcategory: GdiPal ============================================================================= Copyright Microsoft Corporation 1995. Nadam se da ti je ovo pomoglo.
pascal.1286 zdravkod,
Gde moze da se nabavi MS SDK. Da li se dobija (kompletan) uz Delphi ili C++ Builder? Zdravko
pascal.1287 kiklop,
> Gde moze da se nabavi MS SDK. Da li se dobija (kompletan) uz Delphi > ili C++ Builder? > > Zdravko Uz Delphi 3.0/4.0 i C++ Builder 1.0/3.0/4.0 se dobijaju hlp fajlovi koji uglavnom predstavljaju dokumentaciju za win32 SDK. S time da to nije sve, nije najsvežije i najtačnije. Uz sve to je jako poželjno da nabaviš MSDN (Microsoft Developers Network) koji se isporučuje uz MS VC++. Najbolje je da kupiš ovaj uz VC++ 6.0, pošto je najsvežiji. u njemu je kompletan win32 SDK, knowledge base za sve MS proizvode, bugovi, primeri itd... Inače ide na dva CD-a i zahteva postojanje Internet Explorera 4.0 i podrške za HTML help (win98).
pascal.1288 goxi,
Da li je nekako moguce citati _znak po znak_ iz fajla (i upisivati u drugi) ? Znaci vazno je da se cita znak po znak a ne red po red. Goran.
pascal.1289 emajsijuen,
EM>> Da li je nekako moguce citati _znak po znak_ iz fajla (i upisivati EM>> u drugi) ? Naravno da jeste. Izvodljivo je na vise nacina. Evo ti nesto iz glave, valjda nisam nigde pogresio. Uses DOS; Var FIn :File Of Char; Znak :Char; Begin Assign(FIn, ParamStr(1)); Reset(FIn); While Not EOF(FIn) Do Begin Read(FIn, Znak); Writeln('Znak br. ', FilePos(FIn), ' iz fajla je: "'+Znak+'"); End; Close(FIn); End.
pascal.1290 jjerry,
Opis par provereno najboljih (najbrzhih) sortova..ako mozhe ? :) Na takmichenjima sam uglavnom koristio Heap,pa bih chisto da znam da li ima neshto brzhe,bez najgoreg sluchaja itd. Poz,JJ..
pascal.1291 ventura,
Ortaku trebaju za sutra ovi zadati, pa ako neko zna ovo neka sibne na mail.. P.S. Ovo treba da se resi tak sto ce se program razlediiti na funkcije (function program(x,x:real):real)... 1. Napisati potprogram funkcije cij ulazni podatak je velicina X a izlaz predstavlja Y gde je Y=f(x) funkcija data izrazom: {x^2 - 4x + 4, -2<x<2 Y = f(x) = {x^2 - 4x - 4, -2<=x<+beskonacno {x^2 + 4x + 4. -beskonacno<x<=-2 u glavnom programu predvideti unos 3 ulazna podatka XP, XK i DX gde XP predstavlja pocetnu vrednost, XK kraqjnju vrednos a DX korak promene promenjljive X. Nakon unosa izvrsiti proveru odnosno uskladjivanje ulaznih podataka, pozivati podprogram tako da se X menja od pocetne XP do krajnje XK vrednosti u odgovarajucem koraku DX, te ispisati tabelarno izracunate vrednosti u parovima (X,Y) za svaku tacku iz predvidjenog opsega promene. 2. Napisati podprogram cij je ulaz ceo broj N i jednocifreni broj B, a izlaz broj pojavljivanja jednocifrenog broja (cifre) B u broju N. Napiasti glavni program u kome se vrsi ucitavanje celog broja N, kao jednocifrenog broja B, provera dali N pripada opsegu -32768<=N<=32767, a B opsegu 0<=B<=9, pozivanje podprograma, kao i ispis rezultata. U glavnom programu predvideti ponovlkjeni pokusaj ako se unese broj N ili B izvan predvidjenog opsega. 10x.
pascal.1292 obren,
> Opis par provereno najboljih (najbrzhih) sortova..ako mozhe ? :) > Na takmichenjima sam uglavnom koristio Heap,pa bih chisto da znam > da li ima neshto brzhe,bez najgoreg sluchaja itd. Za najbrži algoritam opšte namene i dalje važi Quick Sort, a jedna od implementacija (rekurzivna) ti je okačena uz poruku U pitanju je primer koji dolazi uz Turbo Pascal "od pamtiveka". qsort.pas
pascal.1293 jjerry,
>> Za najbrzi algoritam opste namene i dalje vazi Quick Sort, a >> jedna od implementacija (rekurzivna) ti je okacena uz poruku >> U pitanju je primer koji dolazi uz Turbo Pascal "od pamtiveka". Znam za Quick,naravno,ali mi se Heap vishe svidjao prosto iz razloga shto je malo sporiji od QuickSort-a,a nema najgori sluchaj (konkretno za Quick kad je niz vec sortiran). Poz,JJ..
pascal.1294 stameni,
Pre nego što pokrenete ovaj program, pokušajte da pogodite koliko racionalnih brojeva on štampa. ----<cut>---- program bug; var x: real; begin x := 1; writeln; while(x <= 2) do begin writeln(x); x := x + 0.1 end end. ----<cut>---- Površnom analizom pretpostavlja se da treba da odštampa 11 racionalnih brojeva: 1.0, 1.1, 1.2, ..., 2.0. Ipak, za Turbo Pascal 6.0 važi i psi faktor, po kome će program da štampa samo 10 brojeva: 2.0 biće izostavljen. Uz poruku je prikačena izvršna verzija programa, kompajlirana verzijom 6.0; može li neko da proveri nekim drugim verzijama, možda je bug ispravljen? Bug se sastoji u poređenju racionalnih brojeva, gde je (bivši) Borland napravio manji propust: zbog jednog greškom resetovanog zero flaga dolazi se do smešne situacije da je 2.0 veće od 2.0, što je uslov za izlazak iz petlje -- videti program. U TP6BUGS samo je napomenuto da problem postoji kod real aritmetike, ali nisu precizno utvrđeni slučajevi kad program ne radi. tp6bug.exe
pascal.1295 emajsijuen,
EM>> Bug se sastoji u poredenju racionalnih brojeva, gde je (bivsi) EM>> Borland napravio manji propust: zbog jednog greskom resetovanog EM>> zero flaga dolazi se do smesne situacije da je 2.0 vece od 2.0, EM>> sto je uslov za izlazak iz petlje -- videti program. U TP6BUGS EM>> samo je napomenuto da problem postoji kod real aritmetike, ali EM>> nisu precizno utvrdeni slucajevi kad program ne radi. Ja sam imao slican problem sa Delphi-jem cak je takvo sranje pravila i verzija 4 (koju trenutno imam). Problem sam resio na prilicno debilan nacin: konverzijom iz realnog broja u string (sa zaokruzivanjem na 3 decimale), pa ponovnom konverzijom u real broj. Problem je u stvari bio malko drugaciji, ali je greska ista: dva poziva jedne funkcije (naravno sa istim parametrima) vracala su dva realna broja koji su (gledano iz Delphija) imali istu vrednost. Medjutim kada se te dve vrednosti oduzmu, dobija se neki treci real broj koji je manji od nule, i ispostavlja se da su se brojevi razlikovali u nekoj decimali.
pascal.1296 stameni,
>> Ja sam imao slican problem sa Delphi-jem cak je takvo sranje pravila i >> verzija 4 (koju trenutno imam). Maločas napisah isto u C-u za TC++ 1.0 i BC++ 3.1, i, šta mislite, da li ima greške? Naravno da ima :) Očigledno u (bivšem) Borlandu koriste isti kod za rad sa racionalnim brojevima godinama -- samo zamene "ono okolo" a "srž" ne diraju :) Eeee... :)
pascal.1297 stameni,
>> Maločas napisah isto u C-u za TC++ 1.0 i BC++ 3.1, i, >> šta mislite, da li ima greške? Naravno da ima :) Upravo sam kompajlirao program Turbo Pascalom 2.0, pod CP/M, i, kao što se moglo očekivati, nema buga :) Program kako treba izbaci svih jedanaest vrednosti. Kod koda za Z80, dakle, nije bilo problema.