PCPROG.4

22 Apr 1994 - 05 Jan 1995

Topics

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

Messages - pascal

pascal.426 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Sat, 03 Sep 1994 13:17:30 ==== "Slobodan Tomic" rece: ====================================== "T> $ racuna o nasim slovima. Umesto da svakoj funkciji prosledjuje "T> podatak $ koja su nasa slova, to jednostavno podesis u glob "T> promenljivoj... "T> Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne "T> na nivou celog programa (mislio sam na te globalne promenljive). Znaci "T> globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva "T> je za ostatak programa), a njen sadrzaj se menja preko vidljivih "T> procedura, cime i dalje imamo lepu crnu kutijicu :). Star kako ko vise voli. Meni se vise svidja da tu promenljivu ostavim vidljivu, nego da pisem funkcije za menjanje njenog sadrzaja. Posebno mi to vise odgovara ako je promenljiva neki record, posto korisnik onda moze da promeni sadrzaj samo dela strukture bez nekih vecih komplikacija. ======= Usput, hteo bih da zamolim sezamovce da na pocetku poruke stavljaju jedno: 'To: username' posto mi ovde dobijamo da su poruke za All. Slucajno prepoznah da je citiran deo moje poruke pa sam pretpostavio da je odgovor bio upucen meni. ... COMPLAINTS > NUL * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.427 szeman,
Baš me zanima kao je rešeno deljenje pristupa datoteka u programu RIND. (Program je pisan na TP-u za one koji se pitaju zašto ovde postavljam pitanje ;) Ako neko može nešto više da napiše o deljenu pristupa datoteka na TP pri upisu, pošto to u osnovi (ako uopšte jeste) nije podržano kao kod C-a. Pozdrav, Saša
pascal.428 dejanr, -> #427, szeman
>> Baš me zanima kao je rešeno deljenje pristupa datoteka u programu RIND. Jako jednostavno, na početak programa se stavi filemode:=$42 i posle toga se koristi normalno reset. Fajlovi se tako otvaraju u modu koji omogućava da više programa istovremeno otvori isti .DBF. Naravno, sve to može zato što kod RIND-a svi samo čitaju bazu, a niko ne piše u nju. Ako treba da se obezbedi i upis u neku bazu, onda se mora ići na rešenje sa zaključavanjem slogova, za šta Turbo Pascal baš i nije opremljen, pa se koriste direktni pozivi DOS funkcija.
pascal.429 kenza, -> #420, de.pavlov
(;> Ima li kakvih nagovestaja za pojavljivanje Borland Pascal 8.0 ? Rece mi ssokorac pre neki dan da bi trebalo uskoro da se pojavi. Kaze da je u Kanadi reklamna kampanja u toku i da se ocekuje svakog casa.
pascal.430 szeman, -> #428, dejanr
>> Jako jednostavno, na početak programa se stavi >> filemode:=$42 i posle toga se koristi normalno reset. >> Naravno, sve to može zato što kod RIND-a svi samo čitaju >> bazu, a niko ne piše u nju. Naravno, to sam i predpostavljao. Ima li nekih indicija da će se to rešiti u nekoj od sledećih verzija TP-a?
pascal.431 peca.st, -> #423, omega
!-> Program je Font Maker v3.0. Pravila su ga dva klinca iz Nis ;) Kad !-> startujes, ne poverujes da nisi u Win! Cak i system.fon koriste!!! Pa jel' u pitanju samo program koji ima Windows look, ili je to kompletna biblioteka (dakle, nevezana sa taj program) kao što je to Turbo vision? Peđa.
pascal.432 omega, -> #431, peca.st
ŢPa jel' u pitanju samo program koji ima Windows look, ili je Ţto kompletna biblioteka (dakle, nevezana sa taj program) kao Ţšto je to Turbo vision? Nažalost samo look :(
pascal.434 postmast,
From: markom@Osmeh.FON.BG.AC.YU (Marko Milivojevic) Subject: Re: pascal Date: Mon, 5 Sep 1994 21:19:38 GMT Sasa Zeman (szeman@sezam.UUCP) wrote: :: Bas me zanima kao je reseno deljenje pristupa datoteka u programu RIND. :: (Program je pisan na TP-u za one koji se pitaju zasto ovde postavljam :: pitanje ;) Ako neko moze nesto vise da napise o deljenu pristupa datoteka :: na TP pri upisu, posto to u osnovi (ako uopste jeste) nije podrzano kao kod :: C-a. Pogledaj po starim PC.PROG konferencijama DZakiceve poruke u temi Pascal, nema ih mnogo, a jedna je bas na tu temu, ali za pocetak pogledaj u dokumentaciji/help-u FileMode... :)
pascal.435 pedjak, -> #429, kenza
> Rece mi ssokorac pre neki dan da bi trebalo uskoro > da se pojavi. Kaze da je u Kanadi reklamna kampanja u toku i > da se ocekuje svakog casa. Koje su novosti..?
pascal.436 pedjak, -> #430, szeman
> Naravno, to sam i predpostavljao. Ima li nekih indicija da će se to > rešiti u nekoj od sledećih verzija TP-a? A šta bi trebalo da se reši..? Jednostavno napišeš rutine za zaključavanje/otključavanje slogova i eto ti rešenja.
pascal.437 stomic, -> #412, mmitrovic
$ Ovo meni sve liči na "Što prosto kad može komplikovano". Crne kutijice $ kako ih ti zoveš su ostavljene proizvođačima modula da zaštite princip $ rada svojih modula i da preko funkcija kontrolišu da li su prosleđeni $ podatci validni. Ako ti sam pišeš modul za sebe onda uopšte nemaš potrebe $ za tim. Em ima više koda, em je sporije. Navedeš promenljivu u Prvo, izvinjavam se što tek sada odgovaram na poruku :). Crne kutijice (npr. apstrakcija) ne služe da bi proizvođači zaštitili princip rada svojih modula, već da bi onaj koji koristi te module (makar na programu radio samo jedan čovek sa svim modulima koje je on napisao) oslobodio sebe razmišljanja baš o tom principu rada. Uopšte, zašto moraš da znaš princip rada modula koje koristiš? Tebe interesuje šta oni rade, a ne kako (tačka gde postaješ programer-korisnik). Samim tim se bolje koncentrišeš na glavni program a ne na neke pomoćne module koji se bave sporednim stvarima kao npr. interfaceom :) Da ne spominjem lakoću održavanja i čistoću izvornog koda. BTW, gotovo identična rasprava je bila pre nekih godinu i po :). --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.438 stomic, -> #422, mmitrovic
$ timu, pošto sam većbio u jednom. Međutim ova diskusija je počela oko $ jednog programa jednog autora. Takvo čistunisanje je samo teret, jer $ da su globalne promenljive nepotrebne ne bi ih ni bilo. žistunisanje može biti trenutni teret, ali te oslobaća od kasnijih problema koji mogu nastati prljavim programiranjem. Zašto pereš zube kada je u trenutku samo teret :)? Glupo bi bilo tvrditi da su globalne promenljive nepotrebne; unutar samog modula ih često koristim. Ali se u velikoj većini slučajeva mogu izbeći (bez gotovo ikakvog dodatnog napora) za komunikaciju među modulima. Prilično velika diskusija na istu temu je bila pre oko godinu i po, tako da ne bih želeo da ponavljam iste odgovore :). --- Slobodan Tomić (stomic@hobbiton.co.yu, stomic@sezam.co.yu)
pascal.439 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 08 Sep 1994 19:19:17 "M> Sto stalno potezete to pitanje timova, ja znam sta treba za rad "M> u timu, posto sam vecbio u jednom. Medutim ova diskusija je pocela "M> oko jednog programa jednog autora. Takvo cistunisanje je samo teret, "M> jer da su globalne promenljive nepotrebne ne bi ih ni bilo. Ako i kad si sam radis kao da si u timu, pri ukljucivanju u timove ne moras ni malo da se prilagodjavas. Programiranje je izmedju ostalog i stvar navike i treba raditi tko da se naviknes na ono sto je najefikasnije. ... BR> Oreska BBS, Uzice, 031 28276 = 23:00-09:00 * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.440 kenza, -> #435, pedjak
(;> Koje su novosti..? Kaze da bi DELPHI(bp8.0) trebao da podrzava CHICAGO, i da ce izaci u novembru.Videcemo..
pascal.441 drpr,
Haj svima, pravio sam jedan program tj. malo se igram sa merenjem vremena na compu, ne toliko merenjem, već da imam jedan što tačniji interval vremena (sekundu ili pola sekunde). Za tu svrhu sam koristio INT 15h fja 83h. Taj interapt postavlja user alarm koji će se javiti za broj mikrosekundi koji mu se zada. Sve sam ja to lepo napisao i probao da merim. Ja sam očekivao tačnost bar na milisekundu (greška od 1000 mikrosekundi), ali takvu tačnost nisam dobio, zašto ne znam. Nemoguće je da se vreme razlikuje za 3-4 mili sekunde?? Zanimljivo je da se proteklo vreme menja u intervalima, recimo kao (0.88 0.88 0.82 0.87.0.88 0.82.....) intervali su različiti za različite vremenske intervale, što bi verovatno trebalo da bude nekom indikativno. U samom sorsu (test.pas) se nalaze i procedure za startovanje i zaustavljanje int70h koje je pisao Vasic , jer neki biosi ovo isključuju, što kod mene nije slučaj, pa reko ajd da stavim ako nekom ko proba neće da radi. Sam sors je mali i ništa ne radi (sem dekrementiranja jednog brojaca) dok se na promenljivu "dali" ne postavi najviši bit kada je aktiviran alarm. Toliko od mene s nadom da će mi neko pomoći. cope PS Pitanje je možda čisto hardversko/asemblersko/msdosovsko pa su i ostale sugestije dobrodošle! PPS Ako mi neko predlaže da se kačim o int 1ch ili ostale tajmerske intove odma da kažem džaba, jer ako rešim ovo bezveze je kačiti se o neke interapte i tako praviti gluposti. PPPS Dat je i sors tpu-a kojim merim proteklo sistemsko vreme. alarm.zip
pascal.442 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:33:32 GMT Miljan Mitrovic (mmitrovic@sezam.UUCP) wrote: : Naravno, ali ta promenljiva je globalna na nivou unita (modula), ne : na nivou celog programa (mislio sam na te globalne promenljive). Znaci : globalna promenljiva se nalazi samo u IMPLEMENTATION delu (nevidljiva je : za ostatak programa), a njen sadrzaj se menja preko vidljivih procedura, : cime i dalje imamo lepu crnu kutijicu :). : Ovo meni sve lici na "Sto prosto kad moze komplikovano". Crne kutijice : kako ih ti zoves su ostavljene proizvodacima modula da zastite princip : rada svojih modula i da preko funkcija kontrolisu da li su prosledeni : podatci validni. Ako ti sam pises modul za sebe onda uopste nemas potrebe : za tim. Em ima vise koda, em je sporije. Navedes promenljivu u : INTERFACE delu i nju ce videti svi moduli i program koji ima uses za taj : modul. : : Jedno modul.promenljiva:=vrednost je mnogo efikasnije od : modul.PostaviPromenljivu(vrednost); Mnogo? Koliko je to mnogo?:) Moderni kompajleri znaju da salju argumente u registrima, sto kad se primijeni na gornji primjer donosi za nijansu sporiji kod od direktnog pridruzivanja. Samo, nije poenta u tome koliko je sta brze. Najbrze je da se sve radi u jednom modulu, i to u asembleru. Banalizujem, ali ne mnogo vise nego ti. Za programe koji se rade adhoc, za jednokratnu upotrebu, i uz to su nekoliko kilo linija, nije bitno kako ga pises. Mnogi su se slozili. Medjutim, za projekte preko 10K linija, koji se odrzavaju vise godina, bitno je da su komponente sto slabije povezane (pojam slabe veze ima mnooogo veze sa globalnim varijablama, jer zahtijeva da moduli komuniciraju u sto manjem broju strogo kontrolisanih tacaka). Ja sam imao priliku da se vracam na programe koje sam radio prije dvije-tri godine, i veoma mi je pomogao nacin na koji su pisani. : Sad ako mislis da ces uspeti da sam sebi ukrades modul, onda : ne znam. ;) Ukrades?
pascal.443 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:49:02 GMT Miljan Mitrovic (mmitrovic@sezam.UUCP) wrote: : svoje tajne, vec da bi svaki modul imao jasno definisan interfejs. : Uhh :) : Recimo da si u pravu, i nazovimo to (u nedostatku boljeg izraza) : cistim programiranjem. Cisto programiranje nije i efikasno : programiranje, zbog razloga koje sam vec naveo. Ne postoje apsolutno : nijedan dobar razlog zbog koga bi trebalo sakrivati promenljive od : samog sebe. Specijalno one koje se koriste u visim modulima i u samom : programu. Naveo si nesto sto TI smatras argumentom, a prosta analiza dva fragmenta koda bi pokazala da je razlika smijesna. Drugo, dobar razlog za sakrivanje promjenljivih je pojednostavljivanje interfejsa, nebitno za interfejse sa tri varijable i pet procedura uz jedan ili dva tipa podataka, koji se uz to koristi u jednom ili najvise dva modula. Jos jedan dobar razlog je cistoca koda i imena koja se daju. Lakse cu i kvalitetnije dati dva nego dvadeset imena. T(B)P ima (po meni) gadan ambiguity, a to je da nece da vrisne ako se ponovi neko ime u nekom interfejsu pri parsiranju USES (dozvoljava on modul.objekat, ali treba to PRIMIJETITI na vrijeme, sto je lako kad se cijeli program radi u komadu, a nemoguce kad program raste vremenom, sto je common case). Prava potreba za skrivanjem nastupa kod apstraktnih tipova podataka. ADT je uglavnom pointer na neku strukturu, a operacije nad njim su procedure koje izmedju ostalog postavljaju i razna polja unutar te strukture. Mnoge procedure samo to i rade, pa bi (po tebi) najbolje bilo ubaciti tu strukturu u interfejs i izbaciti suvisne procedure:). I naravno, pozdraviti se sa idejom o unapredjivanju takvog ADT, jer svaka promjena povlaci promjenu u proizvoljnom broju modula koji uvoze taj interfejs. : Sto se tice zastite o kojoj sam govorio, nju sam naveo iz licnog : iskustva vezanog za analizu TVision objekata. Kad se izvuku privatni : metodi i polja, ceo princip funkcionisanja TVa postaje mnogo jasniji. : Probaj (opet ako si radio sa TVom) da objasnis na koju foru rade : Load, Store, PutPeerView, itd objekti za rad sa Strimovima. Odokativno : izgleda kao da tu nesto fali i uopste nije bilo jasno sta se tu i : na koji nacin odvija (narocito sa snimanjem pointera koji se svaki put : drugde nalaze). Analizom metoda i privatnih polja koja koriste ceo : princip se pokazao savrseno jednostavnim. Da si probao RTFM, sto je standardni pristup, skontao bi i prije. Da radis sa iole kompleksnijim klasama/modulima/unitima, ili nekima koje si kupio/dobio kao object module, to bi ti jedino i ostalo, a to i jeste profesionalni pristup.
pascal.444 pedjak, -> #441, drpr
> Pitanje je možda čisto hardversko/asemblersko/msdosovsko pa su > i ostale sugestije dobrodošle! Zašto ne probaš da kontrolišeš vreme preko 8253 i njegovog kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? Naime, njegov brojac broji od 65535 do 0 i zatim okida int 8h. Teoretski možeš postići rezoluciju od 838 nanosekundi. Sa nekih prašnjavih disketa sam iskopao ovo TPHRT V3. Mana je jedino što ima .tpu fajlove za TP 5.0 i 5.5, tako da jedino da probaš sa nekim od njih ili da probaš da propustiš .tpu kroz TPU2ASM i da probaš da isčupaš relevantne rutine. Evo šta kaže DOC: TPHRT (Turbo Pascal High Resolution Timer) is a software library that provides the software developer with reliable timing functions that work across the entire Intel 80xxx PC compatible hardware environment with microsecond resolution. The TPHRT timing logic calibrates itself to the host PC clock rate and processor environment at run-time, so a single executable program will yield accurate results regardless of the host microprocessor and clock speed. tphrtv3.arj
pascal.445 omega, -> #444, pedjak
Ţ Zasto ne probas da kontrolises vreme preko 8253 i njegovog Ţ kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? Naime, Ţ njegov brojac broji od 65535 do 0 i zatim okida int 8h. Teoretski Ţ mozes postici rezoluciju od 838 nanosekundi. Naravno, to je CISTA teorija. 1.19Mhz nema sanse da izvuces, ali mozes bar 22KHz, tj. oko 45 mikrosekundi...Jos ako kupis nove Racunare (102), sve ce ti biti jasno ;)
pascal.446 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: pascal Date: Thu, 15 Sep 1994 15:50:50 GMT Predrag Knezevic (pedjak@sezam.UUCP) wrote: : > Jasno, ali je poenta u tome sto je doticni program pisan u Moduli, a : > sad bi trebalo da se prevede na Paskal. Posto se radi o povecem : > programu, nesto : Eh, da me sad vidi dragisha :) Koja te je muka navela da prevodis : program na paskal..? Big Brother is watching you!:)))) A bogami i Atilu! :)
pascal.447 janko,
Da li je operator @ dokumentovan u Turbo Paskalu i sta uopste radi?
pascal.448 ilazarevic, -> #447, janko
> Da li je operator č dokumentovan u Turbo Paskalu i sta uopste radi? Prvo, sori što je to kod mene č a ne "majmun", radim na juskiju. Drugo, dokumentovan je, i vraća adresu promenljive ili čega već. Sinonim je funkcija Addr.
pascal.449 petkovicd,
kN Kako se u TVisionu Prozor = object(TWindow) moze koristiti kao obican ekran na koji neka procedura posle obavlenog posla izbaci izvestaj (neki tekst)? U Prozor je ubacen TScroller. Nije problem otvoriti prozor i ubaciti u njega tekst koji je jednom procitan nego u isti prozor stalno ubacivati nov tekst. :)ejan
pascal.450 dejanr, -> #447, janko
>> Da li je operator @ dokumentovan u Turbo Paskalu i sta uopste radi? Dokumentovan je, vraća adresu onoga na šta ga primeniš (obično promenljive)
pascal.451 janko, -> #448, ilazarevic
Nevr majnd za juski, i ja ga koristim, otkačio sam ga samo da bih maksimalno skratio pitanje. Pitanje sam postavio jer radim program koji bi trebalo da parsira TP kod, a pri ruci sam imao samo help iz TP 5.5 i 6.0. U TP 5.5 se operator pominje samo kada pominju prioritete, a u šestici ga nema nigde, pa sam se malo čudio. Pitanje dva: Ima li neko originalne menjuele koji idu uz TP 4.0? tag: Manuel! Ke?H
pascal.452 ilazarevic, -> #451, janko
> Pitanje sam postavio jer radim program koji bi trebalo da > parsira TP kod, a pri ruci sam imao samo help iz TP 5.5 i 6.0. žudi me, zakleo bih se da ga u šestici ima sigurno?!
pascal.453 postmast,
From: ss45791d@buefhp.etf.bg.ac.yu (Srdjan Simic) Subject: pascal Date: Tue, 20 Sep 1994 01:31:19 GMT "Ivan Lazarevic" <ilazarevic@sezam.UUCP> je napisao: > Cudi me, zakleo bih se da ga u sestici ima sigurno?! I mene cudi narocito sto sam pogledao u help i tamo je :) -- Srdjan Simic ss45791d@buefhp.etf
pascal.455 postmast,
From: Ognen.Duzlevski@f108.n108.z38.setgate.setnet.co.yu (Ognen Duzlevski) Subject: Re: TP & ASM Date: Sat, 17 Sep 1994 16:08:01 PS> Nadam se da nece zvucati suvise laicki, ali me oduvek zanimalo kako PS> se pisu ASM u TP-u; koja je sintaksa, koje mogucnosti, koja PS> ogranicenja i o cemu treba voditi racuna? Imass dve moguccnosti za mesanje ASM u TP source: 1. procedure DoSmt(var S:String); assembler; asm les di,s mov es:[di],0 ; duzzina stringa je sada 0... end; Ova procedura sa rezervisanom reci assembler generise nesto manji ulazni i izlazni kod od obicne TP procedure. Kod funkcija rezultat se vraca u registru AX ili DX:AX, zavisno od tipa funkcije. 2. Direktno mesanje ASm koda u TP kod: .... WriteLn('.....'); . . . ASM mov ax,bx xchg cx,bx . . . END; WriteLn('Opet paskal...:) '); . . . end. E, sada, ASM kod mozze da pristupa svim TP promenljivima itd. 32-bitne asm instrukcije nisu direktno podrzane ali se to zaobilazi upotrebom opcode-a 60h ispred date asm instrukcije. * Origin: Struga BBS +389 96 74074 * Macedonia * SETNet: (38:108/108)
pascal.456 mvulovic, -> #445, omega
> Ţ Zasto ne probas da kontrolises vreme preko 8253 i njegovog > Ţ kanala/porta 0, koji je odgovoran za aktiviranje int 8h ? > Naime, Ţ njegov brojac broji od 65535 do 0 i zatim okida int > 8h. Teoretski Ţ mozes postici rezoluciju od 838 nanosekundi. > > Naravno, to je CISTA teorija. 1.19Mhz nema sanse da izvuces, > ali mozes bar 22KHz, tj. oko 45 mikrosekundi...Jos ako kupis > nove Racunare (102), sve ce ti biti jasno ;) Prvo, piše ematic, istekla mi je pretplata pa do daljneg virim preko ramena mvul-u ;), a sudeći po novim cenama pretplate tako će i da ostane ;). Elem, pre par meseci sam imao isti problem kao cope, naime trebale su mi precizne kratke pauze. Prvo sam probao preko int 15h, f-ja 86h (wait f-ja). Ona meri vreme uz pomoć RTC-a i njena granularnost je mislim 973 Šs, ali preciznost ipak nije zadovoljavajuća. Bolje rečeno, preciznost je ok ako se iz komada prave veće pauze reda recimo sekunde, međutim kad su potrebni intervali reda ms, pa se to još zatvori u neku petlju, dolazi do greške, pretpostavljam zbog vremena koje odlazi na sam poziv interapt mehanizma pa se to vreme akumulira ili šta ja znam ;). Zato me je muka naterala ;) da pročačkam malo oko 8253, da vidim šta može tu da se uradi. Za one koji ne znaju, 8253 sadrži tri nezavisna tajmera koji mogu da rade u 6 modova rada. Izlaz tajmera 0 je vezan za interapt kontroler i kreše int 8, tajmer 1 je vezan za dma kontroler i služi(o) je za refresh dinamičkih memorija, a tajmer 2 je namenjen generisanju zvuka. Vrednosti tajmera 0, 1 i 2 mogu da se čitaju/pišu sa portova 40h, 41h i 42h respektivno, dok se upravljački registar 8253 nalazi na portu 43h i to je otprilike to što se tiče sâmog 8253. Samo po sebi se nametnulo da je za zajebanciju ;) najbolje ne čačkati mečku sa tajmerom 0 i 1 nego iskoristiti tajmer 2. Prema dokumentaciji, gejt tajmera 2 se nalazi na bitu 0 porta B PPI-a (port 61h), bit 1 istog porta se and-uje sa izlazom i ide na zvučnik, a sâm izlaz tajmera 2 možemo pratiti na bitu 5 PPI porta C (62h) (o tome kasnije). Dalje je prosto, ako hoćemo recimo ton određene frekvencije stavljamo 8253 u mod 0, odabiramo tajmer 2, punimo ga sa vrednošću kojom delimo ulazni klok 8253 (1.19318 MHz), kresnemo gejt (PPI B, bit 0), aktiviramo i bit 1 istog porta i svirka kreće. Ako ne želimo svirku, bit 1 istog porta se stavi da bude nizak i nema muzike. U modu 3 ciklus se ponavlja samo jednom i nakon toga se izlaz sa tajmera 2 postavlja na keca i to je to što je potrebno da bi se pravila kratka pauza, dovoljno je da propratimo izlaz tajmera 2 i gotova stvar :) Sve je to divno i krasno, i sve piše u dokumentaciji pa da ne prepisujem. Međutim, stvar je u tome da jeste to tako kod XT-a, ali već nadalje ovo ne važi, to jest izlaz sa tajmera 2 se *ne nalazi* tamo gde piše u dokumentaciji, na bitu 5 PPI porta C, već na bitu 5 PPI porta B (bar kod moje i još par parova mašina). Dok sam to provalio počeo sam da ćelavim, što mi pored kilaže koju polako povećavam i nije baš potrebno ;>. To najbolje znaju zak, cvele i zlaya sa kojima sam brbljao o ovoj temi i koje sam terao da listaju manuale da vidim gde grešim, međutim pošto ja ne grešim O;) znači da greši dokumentacija. Koristim ovu priliku i da im se zahvalim što su saosećali sa mnom ;) Zato, da bih video gde se nalazi izlaz sa tajmera 2 upotrebio sam silu ;) i sklepao sledeće programče, izvršni program je vezan uz poruku: TIMERCTRL equ 43h TIMER2 equ 42h PPI_B equ 61h PPI_C equ 62h CR equ 13 LF equ 10 IFNDEF DELILAC DELILAC equ 1193 ENDIF code segment assume cs:code, ds:code org 100h main proc mov ah, 09h mov dx, offset header int 21h petlja: mov ah, 0eh in al, TIMERCTRL mov dl, al in al, PPI_B mov dh, al in al, PPI_C mov bh, al mov al, dl call write mov al, dh call write mov al, bh call write mov al, CR int 10h mov ah, 1 int 16h jz petlja xor ax, ax int 16h cmp al, 'u' je timeron cmp al, 'U' je timeron cmp al, 't' je soundon cmp al, 'T' je soundon cmp al, 'i' je timeroff cmp al, 'I' je timeroff cmp al, ' ' jne petlja mov ah, 0eh mov al, CR int 10h mov al, LF int 10h mov al, LF int 10h mov ax, 4c00h int 21h timeron: mov al, 0b6h out TIMERCTRL, al mov ax, DELILAC out TIMER2, al mov al, ah out TIMER2, al in al, PPI_B or al, 1 out PPI_B, al jmp petlja soundon: mov al, 0b6h out TIMERCTRL, al mov ax, DELILAC out TIMER2, al mov al, ah out TIMER2, al in al, PPI_B or al, 3 out PPI_B, al jmp petlja timeroff: in al, PPI_B and al, 0fch out PPI_B, al jmp petlja main endp write proc mov bl, al mov ah, 0eh mov cx, 8 inner: mov al, '1' shl bl, 1 jc dalje mov al, '0' dalje: int 10h mov al, ' ' int 10h loop inner mov al, ' ' int 10h int 10h ret write endp header db CR, LF db '''U'' ukljucenje, ''T'' uklj+ton, ''I'' iskljucenje, spejs kraj' db CR, LF, CR, LF db 'TIMER CTRL(43h) PPI PORT B(61h) PPI PORT C(62h)', CR, LF db '7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0', CR, LF db '$' code ends end main Dakle, pusti se ovo gore i gde počne da promrdava kec tu je otprilike izlaz tajmera 2 ;) Kada se to utvrdi, može da se napiše funkcija koja pravi tačnu i dovoljno kratku pauzu. Evo jedne takve, za pauze od 1 do 55 ms, pa ko hoće nek je koristi i krpi po želji: void pascal pauza(int vreme) /* u ms */ { vreme = vreme * 1193; asm { cli mov al, 0b0h out 43h, al mov ax, vreme out 42h, al mov al, ah out 42h, al jmp S2 } S2: asm { in al, 61h mov ah, al or al, 1 out 61h, al jmp cekaj } cekaj: asm { in al, ONAJ_PORT_GDE_JE_IZLAZ_TAJMERA test al, BIT_NA_KOME_JE_IZLAZ_TAJMERA jz cekaj sti } } Zasad toliko. Koga zanima još nešto neka pita slobodno pa da pojasnim. Takođe se izvinjavam zbog čaršava. Ako je poruka pomalo (xe, pomalo ;) konfuzna takođe se izvinjavam, beletristika mi nikad nije bila jača strana ;) Pozdrav ematic :) mrdaj.com
pascal.457 janko, -> #453, postmast
> "Ivan Lazarevic" <ilazarevicčsezam.UUCP> je napisao: >> Cudi me, zakleo bih se da ga u sestici ima sigurno?! > > I mene cudi narocito sto sam pogledao u help i tamo je :) A gde tamo, interesantan sam znati. Tamo gde su svi drugi (pod naslovom "OPERATORS") nema ga, nema ga u indeksu...?
pascal.458 postmast,
From: ss45791d@buefhp.etf.bg.ac.yu (Srdjan Simic) Subject: pascal Date: Sat, 24 Sep 1994 01:26:48 GMT >A gde tamo, interesantan sam znati. Tamo gde su svi drugi (pod naslovom >"OPERATORS") nema ga, nema ga u indeksu...? Moja greska gledao sam u help od 7.0 :( Operator @ je doduse objasnjen u knjizi. -- Srdjan Simic ss45791d@buefhp.etf
pascal.459 inikolic,
Imam problem koji i nije za ovu konferenciju, ali posto radim u PASCAL-u ostavljam ga ovde: 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj ASCII karakter pa promena oko rasporeda slova nije problem, ali ENTER-a nigde nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga promenim, po mogucstvu u PASCAL-u premda moze i ASM. 2. HZanima me kako da detektujem ring na modem. U stvari ja ga detektujem ali mi posle toga blokira i za sledecu zvonjavu ne javlja ring, procedura koju sam napisao nije velika i stoga je ovde nisam poslao, zato molim one koji imaju konkretno resenje, da mi ga dostave ovde, predlozi nisu potrebni jer i ja imam ideju ali nece, zato me zanima konkretno, pomogucstvu neka bude u ASM-u posto je PASCAL u tim stvarima malo skrt. unapred hvala IGOR
pascal.460 omega, -> #459, inikolic
Ţ 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj ASCII Ţ karakter pa promena oko rasporeda slova nije problem, ali ENTER-a nigde Ţ nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga promenim, po Jel nije? ;) A sta je onda ASCII kod 13?
pascal.461 dejanr, -> #459, inikolic
>> 1. zanima me kako da nadjem ENTER u TXT datoteci, svaki znak ima svoj >> ASCII karakter pa promena oko rasporeda slova nije problem, ali ENTER-a >> nigde nema u ASCII-u , pa me zanima kakoje on zapisan ikako da ga >> promenim, po mogucstvu u PASCAL-u premda moze i ASM. Enter je chr(13), a obično do njega ide i chr(10) (line feed). >> 2. HZanima me kako da detektujem ring na modem. Imaš dve mogućnosti, svaka ima svoje prednosti i mane. Jedna je da koristiš RING liniju RS-232 porta, druga je da detektuješ tekst RING (po ASCII-ju) koji modem šalje. Verovatno je ovo drugo lakše. Imaš u direktorijumu PASCAL unit(e) koji rešavaju probleme komunikacija, možda da pogledaš neki od njih?
pascal.462 inikolic, -> #460, omega
Dorada pitanja: 1. Poznato mi je da je ASCII kod Enter-a #13 i da je #10 prelazak u sledei red , ali pitanje je gde je to zapisano u TXT datoteci? Konkretno mi treba da one silne entere koje Word4Win nalazi na kraju svakog reda u tekstu kucanom u recimo CW-u da skine, da bi moglo lepo da se sredi strana, a ne da ja peske to skidam u Word-u. Znaci pitanje je gde ih on pise? 2. Ring sam uspeo da detektujem procedura je sledeca: mov AH,03h mov AL,00h mov DX,00h - com1 Int 14h Test AL,01000000b jz Detect HHHjmp Kraj Detect: Sta ovde Kraj: Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, probao sam , posto je ovo radjeno u pascal-u, da kada ga detektujem izbacim RING klasicno naredbom WriteLn ali kada startujem program on odma pocinje da pise RING. Gde je greska? Molim da mi dostavite ako moze gotovu proceduru. IGOR
pascal.463 evlad, -> #462, inikolic
>> 1. Poznato mi je da je ASCII kod Enter-a #13 i da je #10 prelazak u >> sledei red , ali pitanje je gde je to zapisano u TXT datoteci? Konkretno >> mi treba da one silne entere koje Word4Win nalazi na kraju svakog reda u >> tekstu kucanom u recimo CW-u da skine, da bi moglo lepo da se sredi >> strana, a ne da ja peske to skidam u Word-u. Znaci pitanje je gde ih on >> pise? Uzmes LIST sa sezama i kada udjes u file otkucas ALT H pa ce ti biti jasno gde se nalaze. Ako si stavio: Var dat : File; dat1 : Text; dat je ne tipizirana datoteka i koristis read i write i ako citas datoteku byte po byte naici ces i na kontrolne CR i LF. dat1 je tipizirana datoteka i koristis readLN i writeLN tako da sam paskal 'vodi racuna' od CR i LF. Capito ? >> Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, probao >> sam , posto je ovo radjeno u pascal-u, da kada ga detektujem izbacim >> RING klasicno naredbom WriteLn ali kada startujem program on odma >> pocinje da pise RING. Gde je greska? Molim da mi dostavite ako moze >> gotovu proceduru. Probaj sa paskalovom naredbom rdbyte := PORT[adresa] da iscitas vrednost iz registra UART-a. +----------------+ | (* THE ASYNCHRONOUS COMMUNICATION ADAPTER | *) (* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *) (* The Registers of the 8250,16550 Asynchronous Communication Element *) (* ================================================================== *) (* *) (* Recieve Buffer / Transmitter Holding Register port 0x3f8 0x2f8 *) (* 0-7 8-bit data character *) (* *) (* Interrupt Enable Register port 0x3f9 0x2f9 *) (* 0 Recieved data available *) (* 1 Transmitter holding register empty *) (* 2 Receiver line status *) (* 3 Modem status *) (* 4-7 (unused) *) (* *) (* Interrupt Identification Register port 0x3fa 0x2fa *) (* 0 Interrupt pending (0 = true, 1 = false) *) (* 1-2 Interrupt type *) (* 11 = Receiver line status (OE, PE, FE, BI) *) (* 10 = Received data available (DR) *) (* 01 = Transmitter holding register empty (THRE) *) (* 00 = Modem status (DCTS, DDSR, RI, DDCD) *) (* 3-7 (unused) *) (* *) (* Line Control Register port 0x3fb 0x2fb *) (* 0 WLS0 Word length select *) (* 1 WLS1 Word length select *) (* 00 == 5 bits *) (* 01 == 6 bits *) (* 10 == 7 bits *) (* 11 == 8 bits *) (* 2 STB Number of stop bits *) (* 0 == 1 stop bit *) (* 1 == 2 stop bit *) (* 3 PEN Parity enable *) (* 4 EPS Even parity select *) (* 10 == Undefined *) (* 00 == No parity *) (* 01 == Odd parity *) (* 11 == Even parity *) (* 5 SP Stick parity *) (* 6 BRK Set break *) (* 7 DLAB Divisor latch access bit *) (* *) (* Modem Control Register port 0x3fc 0x2fc *) (* 0 DTR Data terminal ready *) (* 1 RTS Request to send *) (* 2 OUT1 (not connected) *) (* 3 OUT2 Enable interrupt buffer *) (* 4 LOOP Loopback (CTS, DSR, DCD, RI = DTR, RTS, OUT1, OUT2) *) (* 5-7 (unused) *) (* *) (* Line Status Register port 0x3fd 0x2fd *) (* 0 DR Data ready *) (* 1 OE Overrun error *) (* 2 PE Parity error *) (* 3 FE Framing error *) (* 4 BI Break interrupt *) (* 5 THRE Transmitter holding register empty *) (* 6 TSRE Transmitter shift register empty *) (* 7 (always zero) *) (* *) (* Modem Status Register port 0x3fe 0x2fe *) (* 0 DCTS Delta clear to send *) (* 1 DDSR Delta data set ready *) (* 2 TERI Trailing edge ring indicator *) (* 3 DDCD Delta data carrier detect *) (* 4 CTS Clear to send *) (* 5 DSR Data set ready *) (* 6 RI Ring indicator *) (* 7 DCD Data carrier detect *) (* *) (* Note : The port addresses are shown as COM1 first, then COM2 *) (* *) (* Divisor Latch Low Byte port 0x3f8 0x2f8 *) (* Divisor Latch High Byte port 0x3f9 0x2f9 *) (* *) (* Example: *) (* Divisor = 115200 / BaudRate *) (* *) (* Baud Rate DLHB DLLB *) (* 50 0x09 0x00 *) (* 75 0x06 0x00 *) (* 110 0x04 0x17 *) (* 134 0x03 0x59 *) (* 150 0x03 0x00 *) (* 300 0x01 0x80 *) (* 600 0x00 0xC0 *) (* 1200 0x00 0x60 *) (* 1800 0x00 0x40 *) (* 2000 0x00 0x3A *) (* 2400 0x00 0x30 *) (* 3600 0x00 0x20 *) (* 4800 0x00 0x18 *) (* 7200 0x00 0x10 *) (* 9600 0x00 0x0C *) (* 19200 0x00 0x06 *) (* 38400 0x00 0x03 *) (* 57600 0x00 0x02 *) (* 115200 0x00 0x01 *) (* *) (*************************************************************************) U modem status registru je ring inikator, pa se igraj do mile volje ;). Izvinjavam se sto je poruka mal(k)o duza.
pascal.464 inesic, -> #463, evlad
> Izvinjavam se sto je poruka mal(k)o duza. Neka, neka.
pascal.465 duzle,
Da li je neko video neuralnu mrežu implementiranu u paskalu i kako to izgleda i da li se neko bavi ovde veštačkom inteligencijom (posebno me interesuje da li poseduje literaturu u elektronskom obliku vezanu za neuro-mreže).
pascal.466 drpr, -> #456, mvulovic
-> pravi tačnu i dovoljno kratku pauzu. Evo jedne takve, za -> pauze od 1 do 55 ms, pa ko hoće nek je koristi i krpi po -> želji: Prvo hvala na iscrpnom odgovoru. Javljam se malo sa zakašnjenjem jer sam bio na (ne)zasluženom odmoru pa sam tek sada pročitao tvoju poruku. Moram priznati sa zadovoljstvom. Napravio sam mali test programčić i sve šljaka kako treba sa tačnošću koja više nego zadovoljava. Na mestu kada ispituješ port ja sam samo ubacio jedno inkrementiranje i merio razlike. Ja imam problem da mi treba vremenski period od jedne sekunde ili pola sekunde i dosao sam do odličnih rezultata. Prvo procedura je brojala za oko 1 sec (pisano asemblerski u pascalu) 376000 puta što mi je više nego dovoljno. najvažnije je da su se razlike kretale od 0 do 7 brojanja što na toliku cifru izgleda zanemarljivo i uočio sam da mi je najbolji osnovni interval negde oko 45 milisekundi. Još jednom ti se zahvaljujem a ako nekog zanima taj test program vrlo radu ću ga baciti ovde u conf mada mislim da svako može da prepravi po svojoj potrebi sors koji si nam dao. cope PS Da upotpuniš kolekciju ljudi i meni je port 61h 5 bit a imam 386 na 33 MHz.
pascal.467 mjova, -> #462, inikolic
> treba da one silne entere koje Word4Win nalazi na kraju > svakog reda u tekstu kucanom u recimo CW-u da skine, da bi > moglo lepo da se sredi strana, a ne da ja peske to skidam > u Word-u. Znaci pitanje je gde ih on pise? uh, svašta. pa zar ne znaš za autoformat? to sve može word sam da sredi. lakše je napisati čak i makro za word, no petljati po datoteci...
pascal.468 ognjen,
Ja ne znam da li radi onaj Debugger iz TP 6.0 ??? Lepo prekinem program na tacno odredjenom mest, posmatram promenjljive, i radim step po step, i gldam. I sve izgleda u redu. Kada dodje do linije Write (WriteFile, TxtChar); sve izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem iz programa (pustim ga da se zavrsi do kraja), i pogledam datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam gledao kako radi program, i nije prijavljivao nikakvu gresku! U cemu je stvar???
pascal.469 janko, -> #467, mjova
>> treba da one silne entere koje Word4Win nalazi na kraju >> svakog reda u tekstu kucanom u recimo CW-u da skine, da >> bi moglo lepo da se sredi strana, a ne da ja peske to >> skidam u Word-u. Znaci pitanje je gde ih on pise? > > uh, svašta. pa zar ne znaš za autoformat? to sve može word > sam da sredi. lakše je napisati čak i makro za word, no > petljati po datoteci... Problem je klasičan i izuzetno lak za rešavanje -- tekst u CW snimiš kao običan tekst fajl. Onda taj tekst fajl daš jednom malom programčiću da isfiltrira, pa isfiltrirani fajl uvučeš u Word. Bitno je da pišeš pasuse tako da izgledaju ovako red teksta prvog paragrafa red teksta prvog paragrafa red teksta novog paragrafa. tj da paragrafe odvajaš jednim praznim redom. Programčić za filtriranje iseci iz ove poruke i nazovi todoc.awk Da bi ga pokrenuo, skini program AWK 3.0 sa Sezama (bio u nekoj od starijih programerskih konferencija, ne znam zašto ga nema u dirovima (Bulajoooo? ;) ) i kucaj u DOS komandnoj liniji: AWK todoc IMETVOGTXTFAJLA > IMENOVOGFAJLA ---- cut ---- (program written by Janko ;> ) ---- BEGIN { p=0 } /^([\ \t])*$/ { p=1 } p==0 { printf("%s ",$0) ; p=0 } p==1 { print $0 ; p=0 } ---- cut ---- Ako ne iskopaš AWK, skini GAWK koga ima u Sez. dir i koji je malo veći jer ima i sors, ali je u poslednjem parčetu višedelne arhive i .EXE Njegova sintaksa je GAWK -f todoc.awk IMETVFAJ > IMENOVFAJ a programčić je isti.
pascal.470 omega, -> #468, ognjen
Ţ redu. Kada dodje do linije Write (WriteFile, TxtChar); sve Ţ izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem Ţ iz programa (pustim ga da se zavrsi do kraja), i pogledam Ţ datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam Ţ gledao kako radi program, i nije prijavljivao nikakvu gresku! U Ţ cemu je stvar??? Verovatno si zaboravio close(WriteFile); na kraju.
pascal.471 dejanr, -> #468, ognjen
>> Kada dodje do linije Write (WriteFile, TxtChar); sve >> izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem >> iz programa (pustim ga da se zavrsi do kraja), i pogledam >> datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam >> gledao kako radi program, i nije prijavljivao nikakvu gresku! U >> cemu je stvar??? Za početak, proveri da li si datoteku zatvorio.
pascal.472 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Fri, 30 Sep 1994 11:34:55 "N> Problem je dakle sto neznam kako da ovaj ring izbacim na ekran, "N> probao sam , posto je ovo radjeno u pascal-u, da kada ga detektujem "N> izbacim RING klasicno naredbom WriteLn ali kada startujem program on "N> odma pocinje da pise RING. Gde je greska? Molim da mi dostavite ako Mislim da nepotrebno komplikujes. Preporucljivije je da RING detektujes tako sto ocekujes da ti modem posalje rec 'RING' nego da cekas da proveravas statusne registe. Cak je i standardom ovo preporucen metod. Video sam da neki programi koriste kombinaciju: cekaju i na promenu statusa i na RING od modema. ... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.473 postmast,
From: Stevan.Dejanovic@f119.n111.z38.setgate.setnet.co.yu (Stevan Dejanovic) Subject: rs232 Date: Thu, 29 Sep 1994 22:01:06 Nabavio sam unit rs232.tpu, i neznam kako da ga koristim, tj. modem mi je instaliran na com4 i kad unesem taj podatak nece da posalje poruku modemu kao da program nije predvidjen za com4. Probao sam sa com1 tj. sa misem i onda radi. Posto me mrzi da menjam com na modemu da li postoji neko drugo resenje. => Mad Dog <= ... Not tonight, dear. I have a modem. * Origin: ECSTASY BBS * Indjija * 022 53 218 * SETNet: (38:111/119)
pascal.474 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: rs232 Date: Sat, 01 Oct 1994 11:35:51 ==== Stevan Dejanovic rece: ====================================== SD> Nabavio sam unit rs232.tpu, i neznam kako da ga koristim, SD> tj. modem mi je instaliran na com4 i kad unesem taj podatak SD> nece da posalje poruku modemu kao da program nije predvidjen za SD> com4. Probao sam sa com1 tj. sa misem i onda radi. Verovatno ta bibilioteka ne podrzava druge portoveosim COM1 i COM2. Probaj Async. nisam je probao na com3 i 4 posto modeme uvek montiram na com1 ili com2, ali po dokumentaciji, trebalo bi da radi. ... BR> All good and evil of this world is in a woman. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.475 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: Lokalne konstante Date: Sat, 01 Oct 1994 23:12:01 Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri u kojoj su definisane? Pojavio mi se problem, da se unapred definisana promenljiva koja je definisana u const sekciji procedure ponasala kao globalna. Evo otprilike kako je to izgledalo: Program test; Procedure A; const testc : string[8] = '00000000'; begin { ovde je kod koji menja sadrzaj testc } end; begin Procedure A; { medjukod } Procedure A; end; Problem je u sledecem: kada je procedura A prvi put izvrsena, promenljiva testc dobija zadatu vrednost '00000000', a kasnije se ta vrednost u samoj funkciji menja. Kada je procedura A u glavnom programu ponovo pokrenuta, vise se ne menja vrednost testc, tj. ne postavlja se ponovo na '00000000' vec zadrzava vrednost koju je imala kada je prosli put zavrseno izvrsavanje procedure. Problem sam resio tako sto sam preskocio da promenljivu definisem u const sekciji, nego na uobicajeni nacin, na pocetku procedure, i tada je sve radilo. Ipak, zanimjivo je da se ovako ponasa... Broker ... BR> Sankcije? Najzad svoji na svome. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.476 ognjen,
Vec sam rekao da mi ne radi upisivanje u fajl sa Write (WriteFile, TxtChar); do kraja, a sada naslucujem i zasto. Naime, primetio sam da nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i dalje je bila ista stvar. :( Podigao sam i sistem sa diskete, i ponovio sve, ali i dalje ne radi. Verovatno je 'kriv' TP (6.0). Da li on ima neki bafer u koji privrmeno smesta podatke za upis, pa tek kad se isti napuni on ka isprazni na disk? Ne bi trebao, ali mozda...?
pascal.477 mjova, -> #469, janko
> Problem je klasičan i izuzetno lak za rešavanje pazi, nije da mi se rešenje AWKom nije dopalo, već se radi o tome da Word ima autoformat komandu koja baš to radi i još mnogo više! samo treba uzeti dokumentaciju (iz helpa ;) u ruke...
pascal.478 dejanr, -> #469, janko
>> Problem je klasičan i izuzetno lak za rešavanje -- tekst u CW snimiš >> kao običan tekst fajl. Onda taj tekst fajl daš jednom malom programčiću >> da isfiltrira, pa isfiltrirani fajl uvučeš u Word. >> >> Bitno je da pišeš pasuse tako da izgledaju ovako >> >> red teksta prvog paragrafa >> red teksta prvog paragrafa >> >> red teksta novog paragrafa. >> >> tj da paragrafe odvajaš jednim praznim redom. Da... ako se tekst namenski piše tako da bude zgodan za konverziju. U praksi to obično nije slučaj, dobiješ često tekst bez praznih redova među pasusima. Ako neko uvlači pasuse za par blankova, i to je dosta, ali biva da se i to ne radi, ili se ne radi uvek, naročito kada postoje neka nabrajanja, listinzi itd. Međutim, Chi (bar verzije koje sam ja viđao) imaju zgodnu osobinu da, pri export ascii, na krajeve redova koji nisu krajevi pasusa stave po jedan blanko, dakle tekst izgleda ovako (_ je oznaka za blanko): red teksta iz prvog pasusa_ drugi red teksta iz provog pasusa_ treći red teksta iz prvog pasusa čitav drugi pasus prvi red teksta iz trećeg pasusa_ itd. Štos je da se to onda uvuče u WordPerfect (ili nešto drugo) pa onda ide: zameni _[HRt] sa ##$$ zameni [HRt] sa _ zameni ##$$ sa [HRt][HRt] I rešen problem.
pascal.479 isekulovic, -> #476, ognjen
>> Vec sam rekao da mi ne radi upisivanje u fajl sa Pretpostavljam da radiš Rewrite(f); probaj sa: Rewrite(f,1);
pascal.480 janko, -> #477, mjova
> pazi, nije da mi se rešenje AWKom nije dopalo, već se radi > o tome da Word ima autoformat komandu koja baš to radi i > još mnogo više! samo treba uzeti dokumentaciju (iz helpa > ;) u ruke... Izvini, kada kažeš Word, na koji Word misliš? 2 ili 6? U 2 nisam primetio tako nešto, a na 6 se još nisam nakanio... Svejedno, ovo je programerska konf. pa je bilo logično da se pokaže programersko rešenje. Ako ništa drugo, viđi ga al' je lijep. ;) Šalim se, ono što mi stvarno fali je što Word ne ume da radi ništa pod milim bogom sa regularnim izrazima a oni su takoooo zgodni. (Jao al' zastranismo ;) Da se ne bi mrdala poruka, moram da dam odgovor onom momku (Predrag) koji je pitao zašto mu tipizirani CONST zadržava vrednost između dva poziva TP fje: zato što TAKO TREBA. Tipizirani CONST u pozivu fje je ono što se u FORTRAN-u zove SAVED promenljiva (ako se sećam) ili u C-u static promenljiva u fji -- baš joj je i namena da pamti šta je rađeno u poslednjem pozivu. Dizajneri TP-a su očigledno bili dobro upoznati sa svim prednostima C-a, pa su se potrudili da što više C fora ubace u (da zlobno kažem teško upotrebljivu) Virtovu definiciju Paskala.
pascal.481 janko, -> #478, dejanr
> Međutim, Chi (bar verzije koje sam ja viđao) imaju zgodnu > osobinu da, pri export ascii, na krajeve redova koji nisu > krajevi pasusa stave po jedan blanko, dakle tekst izgleda > ovako (_ je oznaka za blanko): Jao, jeste, jako zgodna osobina, dosta pojednostavljuje... Sad sam se setio da si o toj osobini CW već negde pisao, nekad. Nema veze, dadoh rešenje koje radi i za običan tekst fajl koji nije generisan izvozom iz CW. U stvari, sve ovo sam pisao najviše zato što je pitanje postavljeno u temi Paskal, a hteo sam da podsetim da ima jedan jezik koji se specijalno bavi žvakanjem i prežvakavanjem teksta, te je pogodniji od Paskala za takve rabote. Na kom još (kompjuterskom) jeziku se gornji problem rešava u četiri reda? :) > Štos je da se to onda uvuče u WordPerfect (ili nešto > drugo) pa onda ide: > > zameni _[HRt] sa ##$$ > zameni [HRt] sa _ > zameni ##$$ sa [HRt][HRt] > > I rešen problem. Ne znam šta radi WP, tj ne znam šta mu je to HRt, ali ako je kraj paragrafa, nešto mi je čudan gornji red, jer, u Wordu (i 2.0 i posle, sigurno) je dovoljno zameniti razmak i kraj pasusa (kraj pasusa se kuca strelica na gore pa malo slovo p, tj. ^p) sa običnim razmakom i to je sve.
pascal.482 pedjak, -> #475, postmast
> Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri > u kojoj su definisane? > Problem je u sledecem: kada je procedura A prvi put izvrsena, > promenljiva testc dobija zadatu vrednost '00000000', a kasnije se ta > vrednost u samoj funkciji menja. Kada je procedura A u glavnom > programu ponovo pokrenuta, vise se ne menja vrednost testc, tj. ne > postavlja se ponovo na '00000000' vec zadrzava vrednost koju je > imala kada je prosli put zavrseno izvrsavanje procedure. > sve radilo. Ipak, zanimjivo je da se ovako ponasa... Pa da, jeste zanimljivo, i meni se prvi put učinilo da to nije normalno ponašanje, ali to je dokumentovana osobina, evo: Note: Typed constants are initialized only once--at the beginning of a program. For each entry to a procedure or function, the locally-declared typed constants are not reinitialized. Jedino bi bilo lepo da postoji neki svič, pa da svako može da odredi kako će se svaka procedura ponašati.
pascal.483 pedjak, -> #472, postmast
> Mislim da nepotrebno komplikujes. Preporucljivije je da RING > detektujes tako sto ocekujes da ti modem posalje rec 'RING' nego da > cekas da proveravas statusne registe. Cak je i standardom ovo > preporucen metod. Video sam da Kakvim standardom...?
pascal.484 pedjak, -> #476, ognjen
> do kraja, a sada naslucujem i zasto. Naime, primetio sam da > nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno > neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i Dužina fajla je deljiva sa 128, zato što je inicijalna vrednost paskalovog bafera za tekstualne datoteke 128 bajtova. Izgleda da ne zatvaraš datoteku.
pascal.485 goxx, -> #475, postmast
■ Procedure A; ■ const ■ testc : stringŠ8Ć = '00000000'; ■ begin ■ š ovde je kod koji menja sadrzaj testc ć ■ end; Ne zamerite ako grešim (već par godina ne radim pascal), ali kako je uopšte moguće menjati konstantu. Em se ruši definicija njene suštine, em kompajler to dozvoljava ? Goran
pascal.486 srdjan.j, -> #485, goxx
==>■ const ==>■ testc : stringŠ8Ć = '00000000'; ==> Ne zamerite ako grešim (već par godina ne radim pascal), ali kako je ==> uopšte moguće menjati konstantu. Em se ruši definicija njene suštine, ==> em kompajler to dozvoljava ? Ovo je ekstenzija Turbo Pascala. testc je samo inicijalizovana varijabla. Neznam koji im je djavo bio pa su napravili takvu sintaksu, ali to nije konstanta !
pascal.487 ognjen, -> #470, omega
[dejanr] )-> Za pocetak, proveri da li si datoteku zatvorio. [omega] )-> Verovatno si zaboravio close(WriteFile); na kraju. Hvala vam k'o braci! Niste ni svesni koliko ste mi pomogli. Mesecima nisam mogao da dovrsim program jer nisam znao sta se desilo. Pre neki dan sam stampao listing, i sve sam crtao sta kako ide, ali nisam mogao da ukapiram u cemu je problem... Vec sam pomislio da je bug u pascalu. :) [ Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. Treba zatvoriti datoteku. . . . Treba zatvoriti datoteku. ]
pascal.488 vlador, -> #476, ognjen
> nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno > neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i Pre će biti da ti je TxtChar podatak dužine 128 (array [0..127] of Char, String[127]...). Izvini ako si ovo znao... Za svaki slučaj. :)
pascal.489 ognjen, -> #488, vlador
)-> Pre ce biti da ti je TxtChar podatak duzine 128 (array )-> [0..127] of Char, String[127]...). Izvini ako si ovo znao... )-> Za svaki slucaj. :) Nije to bilo u pitanju, zaboravio sam da zatvorim datoteku. U svakom slucaja hvala svima koji su pokusali (i uspeli) da mi pomognu.
pascal.490 nikac, -> #475, postmast
>■ Procedure A; >■ const >■ testc : string[8] = '00000000'; >■ begin >■ ... >■ end; >■ ... ne resetuje se stalno na '000...' To je dokumentovano ponasanje, tako se u pascalu definisu static promenljive...
pascal.491 mmitrovic, -> #486, srdjan.j
Ů█▀█Ţ Neznam koji im je djavo bio pa su napravili takvu sintaksu, ali to nije Ů█▀█Ţ konstanta ! Verovatno zato što bi morala da se dodaje nova rezervisana reč ili da se menja sintaksa var definicije, a to je teško uraditi bez da se poremeti sintaksa standardnog pascala.
pascal.492 postmast,
From: Sloba.Markovic@f101.n101.z38.setgate.setnet.co.yu (Sloba Markovic) Subject: String u stringu Date: Tue, 04 Oct 1994 08:52:00 Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da trazim string u stringu. Npr. kako da nadjem string '445' u stringu '217364450349267'. Hvala unapred, + , O:)-|--< MAGIC FLASH! + ' ... Daddy, what does "FORMATTING DRIVE C:" mean? * Origin: Oreska BBS, Uzice = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.493 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Tue, 04 Oct 1994 11:31:06 To: "Ognjen Blagojevic" <ognjen@sezam.UUCP> " "B> redu. Kada dodje do linije Write (WriteFile, TxtChar); sve "B> izgleda normalno, i izgleda da ga zaista upise, ali kada izadjem "B> iz programa (pustim ga da se zavrsi do kraja), i pogledam "B> datoteku, upisao je nekih 10ak znakova, i tu je stao! A ja sam BIlo bi dobro da prilozis malo koda, da vidimo o cemu se radi. U svakom slucju, probaj da promenljivu TxtChar stavis u Watch i pratis i njen sadrzaj. ... BR> Nema vise industrijskog zagadjivanja! Hvala UN! * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.494 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: String u stringu Date: Tue, 04 Oct 1994 11:31:06 ==== Sloba Markovic rece: ====================================== SM> Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da SM> trazim string u stringu. Npr. kako da nadjem string '445' u stringu Evo izvoda iz TP Help-a: Pos (function) =============== Searches for a substring in a string. Declaration: function Pos(Substr: String; S: String): Byte; Target: Windows, Real, Protected Remarks: Substr and S are string-type expressions. Pos searches for Substr within S, and returns an integer value that is the index of the first character of Substr within S. If Substr is not found, Pos returns zero. Sample Code: {Pos.PAS} {Sample code for the Pos function.} var S: String; begin S := ' 123.5'; { Convert spaces to zeroes } while Pos(' ', S) > 0 do S[Pos(' ', S)] := '0'; end. ... BR> Jedan im'o s kim, im'o s cim, im'o i gde - pa sad nema kud. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.495 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 5 Oct 1994 07:44:23 GMT Ognjen Blagojevic (ognjen@sezam.UUCP) wrote: :: do kraja, a sada naslucujem i zasto. Naime, primetio sam da :: nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno :: neki disk kes. Koristim SmartDrive, ali kada sam ga izbacio, i :: dalje je bila ista stvar. :( Podigao sam i sistem sa diskete, i :: ponovio sve, ali i dalje ne radi. Verovatno je 'kriv' TP (6.0). :: Da li on ima neki bafer u koji privrmeno smesta podatke za upis, :: pa tek kad se isti napuni on ka isprazni na disk? Ne bi trebao, :: ali mozda...? Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne navedes velicinu sloga, po defaultu je 128, zar ne? Ispravite me ako gresim, ali nisam pratio ovo iz pocetka. Takodje, ako nije neki TopSecret, posalji deo koda sa kojim otvaras fajl, tako ce nam biti mnogo lakse... -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 786
pascal.496 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Wed, 5 Oct 1994 07:50:39 GMT Marko Milivojevic (markom@exodus.fon.bg.ac.yu) wrote: :: Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne :: navedes velicinu sloga, po defaultu je 128, zar ne? Ispravite me Greska, ako je fajl tipa FILE, jer ostali tipovi imaju velicinu navedenog tipa... Definitivno mislim da je tu omanuo ;) -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 521
pascal.497 sdjordjevic,
EJ PROVALIO SAM KAKO SE PUŠTA BMP NA PASCALU ALI LAKO MOžE DA SE PRERADI ZA NPR: "C" UZ PORUKU JE PRIKAžENO TO ŠTO SAM PROVALIO s_w_bmp.arj
pascal.498 dejanr, -> #495, postmast
>> Jao, jao, cekaj. Kad otvaras fajl koji nije tipa TEXT, ako mu ne >> navedes velicinu sloga, po defaultu je 128, zar ne? Odnosi se na netipiziran fajl. Dakle, ako otvaraš fajl koji je deklarisan sa: var ime: file onda treba koristiti: reset (ime, 1) inače će stvarno biti slog od 128 bajta, što najverovatnije nije ono što se želelo. To je, inače, zbog kompatibilnosti sa Turbo Pascalom 2 i 3. Ukoliko fajl ima tip (znači, ne samo tekst, nego bilo koji), onda je slog onoliki koliki je tip, dakle otvara se običnim reset (ime).
pascal.499 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 06 Oct 1994 22:56:01 "B> Vec sam rekao da mi ne radi upisivanje u fajl sa "B> "B> Write (WriteFile, TxtChar); "B> "B> do kraja, a sada naslucujem i zasto. Naime, primetio sam da "B> nedovrsen fajl ima duzinu koja je uvek deljiva sa 128. Verovatno Ako si datteku otvorio kao binarni tj kao tip FILE a ne ka TEXT, onda pri otvaranju treba da navedes duzinu sloga, npr: Reset (WriteFile,1); { duzina sloga je jedan bajt } Ako ovo ne navedes, podrazumeva se da je duzina sloga 128 bajta, pa ce, cak i ako je ono sto upisujes krace od 128 bajta biti upisano 128 bajta, s tim da ce 'visak' biti ono sto se naslo u memoriji na odgovarajucoj lokaciji. ... Don't shoot! There are people too. * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.500 postmast,
From: broker@setgate.setnet.co.yu (Predrag Supurovic) Subject: pascal Date: Thu, 06 Oct 1994 22:56:02 MM> Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: MM> :: Mislim da nepotrebno komplikujes. Preporucljivije je da RING MM> detektujes tako :: sto ocekujes da ti modem posalje rec 'RING' nego da MM> cekas da proveravas :: statusne registe. Cak je i standardom ovo MM> preporucen metod. Video sam da :: neki programi koriste kombinaciju: MM> cekaju i na promenu statusa i na RING :: od modema. MM> MM> ATQ1, da vidim kako ce da mi stigne RING od modema ;> ATQ1 se koisti sam u specificnim situacijama. Za normalan rad to bi bilo katastrofalno iskljuciti jer teminal ne bi od modema mogao da dobije nijednu informaciju o statusu veze, sem samih podataka koji se prenose. Ne bi cak mogao da sazna ni kojom brzinom se pravi konekt, ni da li je BYSY ili NO RESPONSE .... Jednostavno, to je specifican slucaj koji se moze zanemariti. S druge strane, cesto moze da se desi da recimo kabal kojim je modam spojen na racunar jednostavno nema RING liniju, i eto belaja... ... COMPLAINTS > NUL * Origin: Oreska BBS, UZICE = SF BIBLIOTEKA = SETNet: (38:101/101)
pascal.501 kenza, -> #492, postmast
(;> Da li bi neko bio ljubazan da mi pokaze (napise proceduru) kako da (;> trazim string u stringu. Npr. kako da nadjem string '445' u stringu Zar to ne radi POS ? Ako ti POS ne odgovara, javi pa cemo nesto vec da napisemo :)
pascal.502 bajaga,
Da li je moguče u paskalovom asembleru koristiti 386 instrrukcije i ako jeste kako?
pascal.503 pedjak,
This package is for users of Turbo Pascal, version 5.0 or later. These three files are all you need to add XMS support to overlaying. If you think you can use it, then I probably don't have to explain what the benefits are of using XMS memory over EMS memory - or emulations thereof. But I will anyway: - XMS is found on more machines than EMS. - All XMS is addressable as one physical unit, not in chunks of 16 kB like EMS. - XMS is faster. How much faster, depends on the kind of system. It probably doesn't matter much on 386/486 systems, but the speedup is noticable on a 286 with emulated EMS. Or if you have a typical 1 MB 286 clone, configured as 640+384, without either board EMS or emulated EMS (served by e.g. Quarterdeck's QRAM memory manager), then thanks to OVERXMS you'll have fast loading overlays at last. ... and last but not least: - OVERXMS is compact. It adds a mere 425 bytes of code to your .EXE file. overxms
pascal.504 srdjan.j, -> #491, mmitrovic
==> Verovatno zato što bi morala da se dodaje nova rezervisana reč ili da ==> se menja sintaksa var definicije, a to je teško uraditi bez da se ==> poremeti sintaksa standardnog pascala. A ovako su poremetili sintaksu const definicije, pa nikom ništa ! Srđan.
pascal.505 mmitrovic, -> #502, bajaga
Ů█▀█Ţ Da li je moguče u paskalovom asembleru koristiti 386 instrrukcije Ů█▀█Ţ i ako jeste kako? Jeste, ali posredno. moraš da dodaš bajt 66h ispred svake instrukcije koja koristi 32b registre kako bi naznačio da se radi o recimo EAX a ne o AX, pošto je opcode za te dve instrukcije identičan.
pascal.506 postmast,
From: markom@exodus.fon.bg.ac.yu (Marko Milivojevic) Subject: Re: pascal Date: Mon, 10 Oct 1994 19:57:16 GMT Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: :: slucaj koji se moze zanemariti. S druge strane, cesto moze da se desi da :: recimo kabal kojim je modam spojen na racunar jednostavno nema RING :: liniju, i eto belaja... Hmda, tacno... Ali veruj mi da je to redje slucaj nego da je na modemu postavljeno ATQ1 ;) -- Marko Milivojevic markom@exodus.fon.bg.ac.yu Home phone: 137-477 (09-22) Exodus phone: +381 11 137-477 (22-09)#! rnews 1389
pascal.507 postmast,
From: Slobodan.Popovic@f1.n103.z38.setgate.setnet.co.yu (Slobodan Popovic) Subject: Editor Date: Fri, 07 Oct 1994 19:00:04 * Originally from: Igor Loncarevic * Originally to: All IL> Zeljko Dakic (Zeljko.Dakic@f116.n103.z38.setgate.setnet.co.yu) wrote: IL> : Nasam sam savrseni editor !!! Lepo izgleda (mnogo lepse od mnogih, IL> IL> Ima jedan jos bolji :). Zasto nikom nije palo na pamet da koristi IL> editor iz Borland paketa (BP6|7,BC4), moze da edituje koliko i sta IL> hoces. Btw, meni jos nije palo na pamet :). Mozda zato sto ima 400 KB? ... Prema zadnjim procenama, preko 67% statisticara gresi. * Origin: SETNet - Belgrade HUB1 (38:103/1)
pascal.508 postmast,
From: Slobodan.Popovic@f1.n103.z38.setgate.setnet.co.yu (Slobodan Popovic) Subject: Editor Date: Sat, 08 Oct 1994 04:29:07 * Originally from: Predrag Kraguljac * Originally to: Slobodan Popovic PK> Road Runer bar sto se mene tice radi skoro savrseno. Normalno ubacuje PK> fajlove jedan u drugi kao i sve moguce delove fajla. Verzija koju ima PK> Miomir je kao i moja posto sam je i uzeo sa Sensible BBS-a. Radio sam PK> istovremeno sa nekoliko fajlova ukupne duzine preko 3 Mb i sve je PK> radilo savrseno. Sve u svemu "Nijesam imao zamjerki". Evo, ovo je jos jedna potvrda o kvalitetu RoadRunnera. Da ne bude da sam ja "ciganin koji svoga konja hvali"... :) ... Glumiti znaci stajati go i polako se okretati. -- Rosalind Russell * Origin: SETNet - Belgrade HUB1 (38:103/1)
pascal.509 postmast,
From: anubis@hobbiton.CO.YU (Igor Loncarevic) Subject: Re: pascal Date: Tue, 11 Oct 1994 22:19:17 GMT Goran Zafirovic (goxx@sezam.UUCP) wrote: : Procedure A; : const : testc : stringS8C = '00000000'; : begin : s ovde je kod koji menja sadrzaj testc c : end; : Ne zamerite ako gresim (vec par godina ne radim pascal), ali kako je : uopste moguce menjati konstantu. Em se rusi definicija njene sustine, : em kompajler to dozvoljava ? Pa tako deklarisana konstanta je ustvari var promjenjiva koja je inicija lizovana datom vrijednoscu. I treba da je moguce da se mjenja. Licno, ja ovu osobinu koristim do bola u programima :). --------------------------------------------------------------------------- anubis@hobbiton.CO.YU - anubis@hobbiton.sin.com
pascal.510 omega, -> #508, postmast
Ţ Evo, ovo je jos jedna potvrda o kvalitetu RoadRunnera. Da ne bude da Ţ sam ja "ciganin koji svoga konja hvali"... :) Pitam se samo ko je ovde konj, a ko ciganin? ;)
pascal.511 ddobic,
rz B00000000000000 Hitno mi je potrebna ZBIRKA RESENIH ZADATKA PROGRAMSKI JEZIK PASCAL autori: Stojkovic i Tosic izdavac: Naucna knjiga (1989) Knjigu bih kupio novu ili fotokopiranu ili pozajmio da iskopiram. Unapred hvala DDobic
pascal.513 postmast,
From: dragisha@hobbiton.CO.YU (Dragisa Duric) Subject: Re: Lokalne konstante Date: Fri, 14 Oct 1994 17:47:51 GMT Predrag Supurovic (broker@setgate.setnet.co.yu) wrote: : Da li i za konstante u TurboPascal-u vazi da su lokalne u proceduri u kojoj : su definisane? : Pojavio mi se problem, da se unapred definisana promenljiva koja je : definisana u const sekciji procedure ponasala kao globalna. Da ne citiram mnogo, ponasa se kako se i ocekuje. Uporedivo je sa statickim varijablama u C procedurama. : Procedure A; : const : testc : string[8] = '00000000'; : begin : { ovde je kod koji menja sadrzaj testc } : end; Koji je smisao konstante koju mijenjas kodom? Inicijalizacija? E, morace drugacije :).
pascal.514 postmast,
From: Nikola.Sivacki@f125.n103.z38.setgate.setnet.co.yu (Nikola Sivacki) Subject: Re: pascal Date: Sun, 16 Oct 1994 20:12:02 -=> Quoting "Srdan Dordevic" to All <=- "D> EJ PROVALIO SAM KAKO SE PUSTA BMP NA PASCALU ALI LAKO MOzE DA SE "D> PRERADI ZA NPR: "C" "D> UZ PORUKU JE PRIKACENO TO STO SAM PROVALIO Kako si to uspeo?!?!?!?!?!?!?!?!?!?Molio bih te da mi posaljes mail u kojem bi to malo pojasnio.Mooooooooooooooooooooolim te... Nikola Sivacki * Origin: SetNet:Birostroj BBS,NON-STOP,14400bps,011/609945 (38:103/125)
pascal.515 uobradovic,
Da li neko ima Norton Guide za Pascal.Jako mi je potreban. Sve poruke slati na mail. Uroš
pascal.516 evlad, -> #515, uobradovic
>> Da li neko ima Norton Guide za Pascal.Jako mi je potreban. >> Sve poruke slati na mail. Moze i meni :)
pascal.517 djelovic, -> #515, uobradovic
> Da li neko ima Norton Guide za Pascal.Jako mi je potreban. Originalni NG za Pascal nije PD/SW pa je tako nedostupan preko Sezama. Ne znam da li postoji i neka PD/SW verzija.
pascal.518 jovca.car, -> #517, djelovic
/* > Da li neko ima Norton Guide za Pascal.Jako mi je potreban. /* Originalni NG za Pascal nije PD/SW pa je tako nedostupan preko Sezama. Neko je u (valjda) ovoj temi ostavi ng za TurboVision. Potraži.
pascal.519 superhik, -> #517, djelovic
=:> Originalni NG za Pascal nije PD/SW pa je tako nedostupan =:> preko Sezama. Ne znam da li postoji i neka PD/SW verzija. Jel bi mogao neko da mi objasni Šta je to Norton Guide tj. za šta služi (e jesam neupućen ccc... ;)
pascal.520 dejanr, -> #519, superhik
>> Jel bi mogao neko da mi >> objasni Šta je to Norton Guide tj. >> za šta služi Norton Guide je rezidentni program koji omogućava da, ako imaš odgovarajuću bazu (.NG fajl), tokom rada sa nekim programom pogledaš sintaksu neke od naredbi, primer itd. Nešto kao on-line dokumentacija. Sam Norton Guide (program) nije pd/sw, a pojedine baze jesu, dok su druge deo komercijalnih paketa pa se ne mogu slobodno distribuirati.
pascal.521 superhik, -> #520, dejanr
=:> Sam Norton Guide (program) nije pd/sw, a pojedine baze jesu, =:> dok su druge deo komercijalnih paketa pa se ne mogu slobodno =:> distribuirati. Kog komercijalnog paketa!?
pascal.523 uobradovic, -> #518, jovca.car
ĆĆĆ Neko je u (valjda) ovoj temi ostavi ng za TurboVision. ĆĆĆ Potraži. Treba mi i ostatak Pascala a ne samo TV.
pascal.524 dejanr, -> #521, superhik
>> > a pojedine baze jesu, dok su druge deo komercijalnih >> > paketa pa se ne mogu slobodno distribuirati. >> >> Kog komercijalnog paketa!? Pa, recimo kupiš Clipper i uz njega dobiješ Norton Guide za Clipper. Taj fajl (odnosno ti fajlovi) je deo paketa CA Clipper, i ne možeš ga slobodno distribuirati.
pascal.525 postmast,
From: Predrag.Knezevic@f127.n103.z38.setgate.setnet.co.yu (Predrag Knezevic) Subject: pascal Date: Wed, 19 Oct 1994 18:55:05 Pozdrav, "D> Hitno mi je potrebna "D> ZBIRKA RESENIH ZADATKA "D> PROGRAMSKI JEZIK PASCAL "D> autori: Stojkovic i Tosic "D> izdavac: Naucna knjiga (1989) Mislim da je na tom nivou i od Cabarkape i Spalivic. ZBIRKA ZADATAKA IZ PROGRAMIRANJA SA RESENJIMA U PASCAL_u Moze se lako nabaviti. Krang * Origin: SetNET Krang CITY BBS +381-11-474-373, Beograd (38:103/127)
pascal.527 uobradovic, -> #518, jovca.car
ĆĆĆ Neko je u (valjda) ovoj temi ostavi ng za TurboVision. ĆĆĆ Potraži. Treba mi i ostatak Pascala a ne samo TV.
pascal.528 pedjak,
Pre jedno mesec dana bilo je rasprave o tome da li postoje juniti za turboviziju u grafičkom modu... pa postoji :) TVGRAPH 1.10 TURBO VISION using TURBO VISION In EGA/VGA graphics (C) Mindware 1991,1993 Brisbane,QLD,Australia Fido : 3:640/307 0. See Modified TVDEMO program and STYX.PAS to show you how to do things To recompile the TVDEMO program, copy TVDEMO.PAS and STYX.PAS to the TVDEMO directory, then build TVDEMO. Ensure all standard units are the original (i.e. time stamp is 7.0x) or version mismatches will occur. 1. All that is required is to include TVGRAPH in the uses statement in your main program and amazing - TV will work in graphics mode. tvg110a.zip
pascal.529 saricl,
Imam jednu veoma hitnu molbu za one koji imaju iskustva sa pisanjem softvera na PASCALU a koji treba da radi pod NOVEL MREžOM. Radi se o sledećem : prijateljica ide na višu pedagošku i treba da sastavi sledeći program: 1) Postoji deset grupa pitanja. 2) Svaka grupa pitanja sadrži po deset pitanja. 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj grupe ?" nakon unošenja broja grupe treba da se pojave pitanja te grupe. 4) Takođe treba da postoji mogućnost povratka na pitanje "broj grupe?" i izlaska iz programa. Ovo je trivijalan problem, međutim ja nisam pravio progarame za mreže pa neznam na koji se načiin pišu programi za mreže, Takođe me zanima dali je nešto ovako moguće uopšte uraditi iz TP v7.0 Zahvaljujem se svima koji mi budu pomogli. Ovo je zaista hitno, treba da bude gotovo za četvrtak popodne, pa vas molim da mi odgovore pošaljete do tada.
pascal.530 pedjak, -> #529, saricl
> PASCALU a koji treba da radi pod NOVEL MREžOM. > Radi se o sledećem : prijateljica ide na višu pedagošku i treba da > sastavi sledeći program: > 3) Potrebno je da se na svakom terminalu pojavi pitanje tipa :" broj > grupe ?" nakon unošenja broja grupe treba da se pojave pitanja te > grupe. > 4) Takođe treba da postoji mogućnost povratka na pitanje "broj > grupe?" i izlaska iz programa. Pa jednostavno, koliko sam shvatio, startuješ napisani program na svakoj stanici... Program pišeš najnormalnije kao i za go DOS.. jedino ako program treba da vrši neke zajedničke obrade rezultata koji se ukucavaju sa raznih stanica, onda se koriste zajedničke datoteke u koje se upisuju podaci.