PCPROG.1

20 Sep 1991 - 03 Dec 1992

Topics

  1. ms.dos (235)
  2. cccc (0)
  3. asembler (321)
  4. pascal (896)
  5. clipper (1059)
  6. zastita (239)
  7. basic (178)
  8. baze.podataka (116)
  9. novi.fajlovi (66)
  10. algoritmi (52)
  11. razno (707)
  12. van.teme (126)
  13. unknown (986)

Messages - pascal

pascal.621 janko, -> #619, dmiric
> Izvini što upadam :), jel se taj unit nalazi na sezamu? > (md) Samo ti upadaj. :) Naravo da da, i u javnom je vlasništvu, što će reći, možeš ga koristiti bez naknade u svojim programima. Nisi obavezan, ali po programerskom bontonu je da u dokumentaciji ili samom programu u kome iskoristiš taj junit pomeneš i autora. A ako junit usavršiš da bude još bolji, (u kom smeru treba da se usavršava? I to piše u SEZAM.2:yu.kod!) i priložiš sors, onda ćeš i ti biti pominjan kao autor u tuđim programima. :) Konkretno, ima tu šta da radi, ko hoće da radi. Naravno, postoji i modul na C-u, koji radi istu stvar, za one koji pišu na C-u. Svima koje tematika interesuje toplo preporučujem da uđu u SEZAM.2 i lepo skinu CELU temu yu.kod, dakle i tekstove, i fajlove, i sve lepo prouče. Sami fajlovi vam verovatno neće biti dovoljni da potpuno iskoristite sve što se može iskoristiti -- pa ne želite truda. U početku se tema bavila standardizacijom ćirilice (relevantni su, naravno, poslednji rezultati, a ne i početni predlozi) a zatim se, negde od sredine maja, ako se sećam, tema bavi upravo podrškom RAZLIžITIH rasporeda, sa komentarima koji su potrebni da bi se razumeli programi koje želiš da koristiš. Naime, ti programi su nastali upravo tako što je puno toga isplanirano još pre no što je napisana ijedna linija koda. Posle se podrazumevalo da svi znaju šta se događa. A, usto, ti programi mogu biti i bolji, a kako da ih učiniš boljima, i to piše u SEZAM.2:yu.kod.
pascal.622 janko, -> #617, stomic
> $>> Ako budete koristila yu slova sve poruke treba da > $>> strpate u jednu datoteku da bi mogle da se konvertuju > u $>> kodni raspored korisnika. > $ > $ Ovo je ideja koja mi se veoma dopada i sigurno će biti > $ uskoro primenjena. Da i ja dodam: Kao što je S.Tomić rekao, ideja je malo zastarela, postoji bolje rešenje. O detaljima rešenja je pisano u SEZAM.2:yu.kod, pa zainteresovanima preporučujem da pregledaju tekstove CELE teme, gde će naći još detalja. žini mi se da nije dovoljno samo skinuti tu datoteku, za pravo razumevanje svih njenih mogućnosti, koje nisu male. Dakle, odnosi se na SEZAM.2:yu.kod: > Procitaj malo o UKRASu u YU.KOD, imaš i UNIT u TP sa > izvornim kodom koji ti sve ovo obavlja ( pogodi ko je > autor :) ), a i Da ostale rešim muke pogađanja, prvi ko je uopšte napisao program koji radi (skoro) 'po UKRASU' je upravo Slobodan Tomić, čovek koji je pisao poruku kojoj dodajem ovu. Junit je pisan u Turbo Paskalu, u arhivi je i sors i samog junita i demo programa koji koristi junit, kao i izvršna verzija demo programa.
pascal.623 sslavko, -> #610, dusanp
>> Video sam i boljih i lepsih telefonskih imenika. Ne sumnjam. >> O nekom biznis gajdu nema ni govora. Ne znam koliko >> imaš godina, ali programerski staž ti je dosta kratak žini mi se da sam napomenuo da je to samo osnova jednog malog programčića koji bi mogao da bude koristan i koji je ovde stavljen da bi se skupili utisci ostalih kako bi taj programčić eventualno prerastao u neku ozbiljniju aplikaciju. Dakle, niko ne treba na osnovu njega da ocenjuje koliko autor ima godina (apsurd) ili koliki mu je programerski staž. >> A cenu bi mogao da izracunas MaThAssistant-om (mala >> crna kutija, ima tastere sa brojevima i zna 4 racunske >> operacije) ;>. Jesam li negde pominjao cenu??? Hajde pogledajte da li je negde pomenuta cena! Ponavljam da se program našao ovde da bi se ocenili i na osnovu komentara poboljšali njegovi kvaliteti a ne da bi mu se odredila cena. Kad postane upotrebljiv i iole vredan onda ću mu već odrediti cenu i sigurno mi neće biti potrebna "mala crna kutija" sa tasterima i sl. jer moj trud i rad samo ja mogu da ocenim, a korisnost programa će već oceniti tržište. >> Bez uvrede. Daj i daće ti se, učini nekome nažao i vratiće ti se. Pozdrav Slavko.
pascal.624 sslavko, -> #618, dusanp
>> Ok, priznajem da sam se malo zaboravio - izvinjenje >> i sslavku i svima koji su se osetili pogodjenima. "Grešiti je ljudski a praštati božanski" >> Naravno, ni na kraj pameti mi nije da je sslavko jedan od >> njih, on je samo natrcao kada sam bio isprovociran:(( Utešno nema šta. Ali dobro. Svakome se to dešava pa nešemo da se ljutimo ali stvarno nema smisla nekome se obraćati na taj način a da se prethodno nema nikakve predstave o njegovom radu i sposobnostima. Ovde ne želim da se pomisli da hoću da kažem da sam ja neki bog_zna_kakav talenat i programer. Naravno da nisam ali iza sebe imam par vrlo ozbiljnih aplikacija i ne smatram se početnikom. Ovo je bio jedan od mojih prvih dodira sa bazama podataka (do sada sam se gadio na samu reč "baza podataka"). Pozdrav Slavko.
pascal.625 sslavko,
Evo je verzija 1.1 programa BUGI. Ispravljene su neke sitne stvari oko pretraživanja. Pozdrav Slavko. bugidemo.zip
pascal.626 bearboy, -> #607, drpr
˙¨:> Sad me znima da li je moguce nekako promeniti taj redosled jer ˙¨:> bih zeleo recimo da ispitam neki uslov pa ako je sve to ˙¨:> ispunjeno da se ne radi pozivanje unita vec nesto drugo.Moze Nisam siguran da ovo ono sto trazis, ali probaj. U prvi unit pogledas taj tvoj IF, pa ako je true, opalis $DEFINE TAKOJEBOGAMU, npr., a u sledecem unitu na pocetku kazes $IFDEF TAKOJEBOGAMU, i on ce izvrsiti deo tog drugog unita do sledeceg $ELSE-a ili $ENDIF-a. Primer (nisam probao :) Unit jedan; blablablablabla if a>=15 begin {$DEFINE ISTINAJESTOPODSTO} end; blablablablablablabla end. Unit dva; blablablabla {$IFDEF ISTINAJESTOPODSTO} blablablablablabla {$ELSE} blablablablablabla {$ENDIF} {$UNDEF ISTINAJESTOPODSTO} end. Program glavni uses jedan,dva; blablabla end. Tako nesto, valjda... Nemojte me vuci za jezik, nisam siguran !
pascal.627 dmiric, -> #621, janko
> Samo ti upadaj. :) Naravo da da, i u javnom je > vlasništvu, što će reći, možeš ga koristiti bez naknade u > svojim programima. Nisi obavezan, ali po programerskom > bontonu je da u Puno hvala... Sad ću skinuti Sezam2:yu.kod pa ću da vidim o čemu je reč. :) (md)
pascal.628 bearboy, -> #616, ssokorac
˙¨:> Moze li neko da napise (u konferenciju) dobru proceduru za kopiranje ˙¨:> fajlova. Ona iz help-a (repeat blockread blockwrite until kraj_datoteke) je ˙¨:> spora... Pazi ovo genijalno resenje ;) procedure kopiraj(a,b :string); begin swapvectors; exec(getenv('COMSPEC'),'/C'+' COPY '+a+' '+b); swapvectors; end; :)))))))) Originalno resenje :)))))))
pascal.629 ssokorac, -> #628, bearboy
:> exec(getenv('COMSPEC'),'/C'+' COPY '+a+' '+b); Super pomogao si mi, ne znam kako da mti se oduzim. Posalji ovo kao prilog u FIZIKON. Ma, da l; je moguce da niko nece (ne zna(?)) da napise proceduru za kopiranje fajlova? :(
pascal.630 dejanr, -> #629, ssokorac
>> Ma, da l; je moguce da niko nece (ne zna(?)) da >> napise proceduru za kopiranje fajlova? :( Vidi, to sa BLOCKREAD/BLOCKWRITE nije baš tako sporo, koliko znam ni DOS funkcijama se ne može čitati više od 64K "u komadu". Prosto napravi što veći blok, ali na heap-u da ne bi trošio osnovnu memoriju. Ako treba primer, mogu da ga napišem.
pascal.631 stomic, -> #629, ssokorac
$ Super pomogao si mi, ne znam kako da mti se oduzim. $ Posalji ovo kao prilog u FIZIKON. Ma, da l; je moguce da $ niko nece (ne zna(?)) da napise proceduru za kopiranje $ fajlova? :( Neznam kako ti je sporo sa BlockRead i BlockWrite. Odvoji više prostora za buffer (od 30-60KB). Sa ovim procedurama napravio sam program koji radi na fazon XCOPY (isti je), i ista je brzina (mozda +/-1%). Pozdrav, STomic.
pascal.632 stomic,
Da li je moguće presresti Run-Time Error u TP, tako da se izvrši neka korisnička procedura umesto ispisa ove poruke. Pozdrav, STomic.
pascal.633 dejanr, -> #632, stomic
>> Da li je moguće presresti Run-Time Error u TP, tako da >> se izvrši neka korisnička procedura umesto ispisa ove poruke. Da! Pogledaj u uputstvu, pod exitproc. Jako ukratko, radi se to ovako: var exitsave: pointer; procedure myexitproc; begin exitproc:=exitsave; { ... } end; begin exitsave:=exitproc; exitproc:=@myexitproc; ... end. Kada program završava rad, bilo zbog greške ili halt-a, doći će u proceduru myexitproc, pa tamo može uraditi šta treba. Mislim da ima i neka promenljiva koja čuva kod greške, ali je ne znam napamet, treba pogledati u uputstvo. Može se napraviti i exit procedura posebno za svaki unit, to sam u svoje vreme radio i sjajno je funkcionisalo. Mislim da RIND i VOTE takođe imaju exit procedure, a bogami i ova nova igrica što je upravo testiramo :)
pascal.634 dmiric, -> #633, dejanr
> Može se napraviti i exit procedura posebno za svaki unit, > to sam u svoje vreme radio i sjajno je funkcionisalo. Kako to exit procedura za svaki unit? Koja se od njih izvršava kad dođe do greške? Da li se izvršavaju sve i ako je tako kojim redosledom? Ili se možda izvršava samo ona definisana za deo programa (unit ) u kome je došlo do greške? Prosvetli me :) (md)
pascal.635 drpr, -> #626, bearboy
-> -> Unit jedan; -> blablablablabla -> if a>=15 begin -> {$DEFINE ISTINAJESTOPODSTO} -> end; -> blablablablablablabla Hvala na pomoći ovo za sad nemam vremena da probam ali u svakom slučaju hvala pa kad budem probao javitću cope
pascal.636 ssokorac, -> #630, dejanr
:> Vidi, to sa BLOCKREAD/BLOCKWRITE nije bas tako sporo, :> koliko znam ni DOS funkcijama se ne moze citati vise od :> 64K "u komadu". Prosto napravi Pa, u onom primeru se cita u buf koji je array [1..2048] of char, da li to znaci da ga samo treba povecati na od 1 do 64*1024 i radice normalno, ili ne? Jer, ovako on cita samo blokove od 2K, a to jeste sporije, i to osetno. :> Ako treba primer, mogu da ga napisem. Ako ne radi ono sa 64*1024, onda bi ti bio zahvalan, ako radi, onda nema potrebe. Stasha P.S. Evo, stavio sam na 30*1024, i radi, i to brzo :) Thanx!
pascal.637 ssokorac, -> #631, stomic
:> Neznam kako ti je sporo sa BlockRead i BlockWrite. :> Odvoji vise prostora za buffer (od 30-60KB). Sa ovim :> procedurama Aha, u tome je bio stos. Stavio sam za buffer 30Kb, i radi odlicno (i brzo). Hvala. Stasha
pascal.638 ssokorac, -> #633, dejanr
:> takode imaju exit procedure, a bogami i ova nova igrica :> sto je upravo testiramo :) Kad smo vec kod toga, ima jedna igrica PIT. E, sad nije vazno o cemu se u njoj radi, tek ako pukne veza u sred borbe, sledeci put te doceka porukom tipa 'Sram te bilo, prekidas vezu u sred borbe, puko si sve sto si imao!'. E, sve, samo to da ne bude i u vasoj igrici...:)
pascal.639 dejanr, -> #634, dmiric
>> Kako to exit procedura za svaki unit? Koja se od njih izvršava kad dođe >> do greške? Da li se izvršavaju sve i ako je tako kojim redosledom? Uh, bojim se da je to malo preveliki test za moje pamćenje, ali mi se čini da to radi otprilike ovako: rutina za završetak programa u RTL-u poziva exit proceduru čija je adresa u exitproc sve dok u toj promenljivoj ne nađe nil. Da bi se izbegle mrtve petlje, pre svakog poziva RTL stavi da je exitproc:=nil. Ako svaku exit proceduru definišeš na način koji sam opisao, ona će sama vratiti u exitproc kod PRETHODNE exitproc sa nekog, da tako kažem, implicitnog steka koji si formirao. U zbiru, prvo će se pozvati poslednja exit procedura, pa pretposlednja i tako dalje, sve do prve. Ako u toku same exit procedure nastupi greška, ista se NE poziva ponovo. Sve to piše u uputstvu TP5.5 na strani 229-230. Tamo videh i nešto što sam zaboravio, a to je da ako se radi sa exit procedurama u više unit-a obavezno treba u svaki staviti {$F+} - force far calls
pascal.640 zddb,
Ako instalirate neki "Borlandov" program i javlja vam se poruka "problem with unzip.exe C)ontinue or A)bort" evo o čemu se radi. Sa instalacione diskete program za instalaciju prebacuje na hard disk prvo sam sebe, zatim read.com, te unzip.exe, a onda sve *.zip fajlove, zatim ih raspakuje, pozivajući unzip.exe sa HARD-DISKA, te ide na novu disketu, itd. Ako ste dobili programe od nekog pacera koji živi u uvjerenju "da su Borlandovi programi jeftini da bi imali zaštitu", te nema potrebe za DISKCOPY,a uz to je "Prase" pa kopira fajlove uz pomoć nekog od onih stupidnih "tools"-ova koji fajlove na novoj disketi SORTIRAJU po nazivu - imaćete sat-dva grdnog belaja. Treba disketu da preuredite tako da prvi bude install.exe, read.com a onda unzip.exe! Ostalo nije bitno. Sva je suština da instalacioni program nije dovoljno inteligentan da fajlove prebacuje prema imenu, nego đuture, kako su naslagani na disketu. Eto suštine čuvenog "bug"-a sa instalacijom "Turbo C++ 2.0" i "Turbo Pascal 6.0". I pirati treba da imaju bar trun poštovanja prema nekim pravilima. Ne muče se ljudi džabe milione godina (mislim na Srbe i Jevreje, pa poslije amebe), da otkriju neke regule unutar svekolikog haosa. ZDDB P.S. Nemojte stvarno misliti da sam ja to stvarno ukapirao za sat-dva!* S
pascal.641 bojanp, -> #639, dejanr
> Sve to piše u uputstvu TP5.5 na strani 229-230. Tamo videh i nešto što > sam zaboravio, a to je da ako se radi sa exit procedurama u više unit-a > obavezno treba u svaki staviti {$F+} - force far calls Hm, koliko mi je poznato to nije neophodno. Jedino što je neophodno je da procedura koja se poziva bide deklarisana kao far. Pozdrav, Bojan
pascal.642 stomic,
Imam problema pri povezivanju DSZa i TP programa (koji je dugačak negde oko 120KB). Pre startovanja DSZa ostaje oko 420KB slobodnog prostora, ali on javlja: Need more memory to run DSZ ili tako već nešto. Kada sam izbacio par TSR programa uspevam da ga startujem ali pri prenosu npr. PKZ110.EXE on javlja: PKZ110.EXE: Not enoght core. Napominjem da sam stavio direktivu {$M $4000,0,0}, i startujem preko command.com-a: SwapVectors; Exec(Getenv('COMSPEC'),'/C DSZ.COM...'); SwapVectors; U uputstvu za DSZ piše da mu je dovoljno 64KB (?). U čemu je problem. BTW stvar je prilično hitna. Inače DSZ radi ok sa TM. Pozdrav, STomic.
pascal.643 dejanr, -> #642, stomic
>> Imam problema pri povezivanju DSZa i TP programa (koji je >> dugačak negde oko 120KB). Pre startovanja DSZa ostaje oko 420KB >> slobodnog prostora, ali on javlja: Need more memory to run DSZ >> ili tako već nešto. Stavi na početak programa {$M 32000,0,0}
pascal.644 bojanp,
Da li neko ima Turbo Pascal for Windows 1.5 i koristi li ga? Interesuju me razlike u odnosu na verziju 1.0, kao i prilagođenost rada za Windows 3.1. Pozdrav, Bojan
pascal.645 stomic, -> #643, dejanr
$ Stavi na početak programa {$M 32000,0,0} Probao sam sve, i više i manje i tačno toliko (dobro ne baš tačno nego $8000, ali neverujem da ima neke razlike). Na kraju sam izdelio program na overlay-e i sada radi OK. Ipak hvala na pomoći. Pozdrav, STomic.
pascal.646 dmiric, -> #639, dejanr
Ok hvaal puno... (md)
pascal.647 edge, -> #593, dmiric
Pa, covek zvani Stephen O'Brien kaze da je takva procedura sporija nego tasemblirana, uostalom koga interesuje neka tdebugira i tprofilira pa neka uporedi rezultate (licno se nisam bavio ovom analizijom) Ticma
pascal.648 bearboy, -> #642, stomic
˙¨:> {$M $4000,0,0}, i startujem preko command.com-a: Probaj da das malo vise za stek... Recimo 16k, pa 32k i tako dok ne proradi... ˙¨:> U uputstvu za DSZ pise da mu je dovoljno 64KB (?). U cemu ˙¨:> je problem. BTW stvar je prilicno hitna. Da li pozivas program iz IDE, ili iz DOS-a ? IDE pojede dosta toga...
pascal.649 stomic, -> #648, bearboy
$ Probaj da das malo vise za stek... Recimo 16k, pa 32k i $ tako dok ne proradi... Probao sam sve. Nije vredelo. $ Da li pozivas program iz IDE, ili iz DOS-a ? IDE pojede $ dosta toga... Iz DOSa naravno, skidao sam TSRe i sve što je jelo mem., ali nije htelo. Na kraju se problem rešio totalno ludački, kada sam pisao dalje program i samim tim povećao kod za 10-20KB, DSZ je proradio i normalno još uvek radi !?!?!?! Pozdrav, STomic.
pascal.650 vitez.koja, -> #647, edge
#=> tasemblirana, uostalom koga interesuje neka tdebugira i #=> tprofilira pa neka thvala na tsavetu ;>
pascal.651 predragd, -> #616, ssokorac
> Moze li neko da napise (u konferenciju) dobru proceduru za > kopiranje fajlova. Ona iz help-a (repeat blockread > blockwrite until kraj_datoteke) je suvise spora... program CopyFile; { Simple copy program w/NO error checking } var FromF, ToF: file; NumRead, NumWritten: Word; buf: array[1..2048] of Char; ... ... Mogao bi recimo da buf definises na sledeci nacin Buf: Array [1..65530] of Byte; Pozdrav, Pedja.
pascal.652 ssokorac, -> #651, predragd
:> Mogao bi recimo da buf definises na sledeci nacin Hvala, ali već je bilo rešeno...
pascal.653 mmarkov,
Kako u TPu ucitati vecu kolicinu teksta u memoriju ? Blisko pameti je da se napravi dvostruko ulancana lista, nesto poput ovog: red = record sledeci :^red; predhodni:^red; tekst :string[duzina]; end; pa da se zatim pravi lista na heapu. Medjutim, problem je u sto ovaj string uvek zauzima isti broj bajtova bez obzira na stvarnu duzinu reda. Znaci, ako je duzina:=80; a ucitamo prazan red, ovo i dalje zauzima 80 bajta+ rezijski prostor. Znaci, da li postoji nacin da se ovo uradi tako da zauzima samo onoliko prostora koliko je stvarno neophodno ?
pascal.654 edge, -> #653, mmarkov
Pa pokusaj da to izvedes kao u C-u -- nadjes blok memorije - zauzmes ga, kazes da ti pointer pokazuje na njega, i onda sa adresnom aritmetikom ga napunis dokle mozes.... Mislim da bi ovo trebalo da radi, ali je pitanje sta raditi kada je memorija iseckana (kao sto jeste) na male blokcice koji su razbacani -- mozda primeniti trick sa Unixa - poslednja x bajta su recimo pointer na sledeci blok.... pozdrav, Ticma
pascal.655 mmarkov, -> #654, edge
Verovatno bi i moglo tako kao sto ti kazes, ali me je interesovalo da li postoji neki regularan nacin da se to uradi. Na C-u je to ( ako se ne varam ) i standardni nacin, jer su stringovi zapravo pokazivaci na niz karaktera, a ovo u poredjenju s tim lici na Bozju kaznu, jer C kompajler sve radi automatski. U svakom slucaju, pitanje ostaje otvoreno dok se ne nadje neko resenje koje je makar priblizno tako elegantno kao ono iz C-a.
pascal.656 predragd, -> #653, mmarkov
U TP 6.0 postoji PString deklaracija. Nista posebno, pointer na string. Medjutim ja sa njim ladno citao fajlove preko 200K. Prakticno ogranicen si samo slobodnom memorijom. Pedja.
pascal.657 mmarkov, -> #656, predragd
Bas u tome je fora. I sa gore opisanom metodom mozes da ucitavas dugacke tekstove. Ali, ako na heapu imas 300K, a tekst ima 40K ali su linije dugacke po 10 slova, neces moci da ga ucitas ni po razno, jer TP rezervise za svaku liniju 80 karaktera + rezijske potrebe...
pascal.658 dejanr, -> #656, predragd
>> U TP 6.0 postoji PString deklaracija. Nisam baš siguran, ali čini mi se da je ovo uvedeno u Turbo Pascalu for Windows a ne u 6.0? Inače, vrlo zgodna mogućnost, mada dosta odudara od paskalovog standardnog kontrolisanja granica, prijavljivanja greški itd.
pascal.659 k.sasa, -> #658, dejanr
PString se nalazi i u TP4WIN i TP60. Izvod iz maticne knjige HELPa: ----------------------------------- ŢPString (type)Ů Defines a pointer to a string. Syntax: PString = ^String; Unit: Objects ----------------------------------- Pozdrav, B&S Ú
pascal.660 dejanr, -> #659, k.sasa
Hvala. Hmmm... nije taj TP6.0 loš kako sam mislio :)
pascal.661 predragd, -> #657, mmarkov
> Ali, ako na heapu imas 300K, a tekst ima 40K ali > su linije dugacke po 10 slova, neces moci da ga ucitas ni > po razno, jer TP rezervise za svaku liniju 80 karaktera + > rezijske potrebe... Ako koristis deklaraciju PString neminovno je koristiti i NewStr proceduru. Ona ce za promenljivu, tipa PString, odvojiti OTPRILIKE onoliko memorije koliko iznosi duzina stringa. Koliko ce to "otprilike" iznositi ne znam tacno, uvek je za nekoliko bajtova vece od duzine samog stringa. U svakom slucaju bolje je koristiti, PString nego String deklaraciju, naravno kad je to moguce. Usput koristi li neko mozda procedure za rad sa .DBF i .NDX fajlovima koje su objavljene u casopisu "Inside Turbo Pascal", pre izvesnog vremena sam ih preneo na SEZAM. Ako ih neko koristi molio bih ga da mi se javi sto pre. Pedja.
pascal.662 pedjam,
Da li ovde ima nekog ko bi bio voljan da drži časove Pascal-a učeniku srednje škole ? Ako ima, neka mi se javi na mail. (Možda ovo nije konferencija za ovakve stvari, ali mi ništa pametnije nije palo na pamet...) Unapred hvala, / / Pedja Milicevic
pascal.663 asrdjan,
Pozdrav svima. Imam jedan problem koji me muči već neko vreme.Da bi lakše ilustrovao problem napisaću program u kojem se taj problem javlja.Dakle,ovde je dat program koji bi trebalo da izračunava aritmetičku sredinu za onoliko brojeva koliko se unese preko tastature.E sad,ja ne znam kako da napravim tip podataka koji bi bio u opsegu 1..Max (Max je promenljiva u koju se smešta broj brojeva koje treba uneti).Pokušao sam da rešim preko procedura ali ne ide.Molim sve koji znaju rešenje da mi ga dostave na mail ili kao poruku u ovoj konferenciji. ******************************************************************************* Program AritmetickaSredina; uses Crt; Procedure PrvaProc(Var Max:Integer); Const Min=1; Type Tabela=Array(.Min..Max.) of real;<--Ovde kompjaler javlja grešku pošto nije definisana promenljiva Max; Var I:integer;(*Brojac petlje*) A:Tabela;(*Ulazna velicina*) Zbir:Real;(*Zbir 5 ulaznih velicina*) AritSredina:Real; BEGIN ClrScr; Writeln('Za koliko brojeva tražite aritmetičku sredinu'); Readln(Max); Zbir:=0; For I:=Min To Max Do Begin; Writeln('Unesite ',i,' broj'); Readln(a(.i.)); Zbir:=Zbir+a(.i.); END; AritSredina:=Zbir/Max; Writeln('Aritmeticka sredina ovog niza je ',AritSredina); END; Begin Writeln('Za koliko brojeva tražite aritmetičku sredinu'); Readln(Max);<--Ovde bi trebalo da se definiše promenljiva Max; PrvaProc(Max); End. *******************************************************************************
pascal.664 bulaja, -> #663, asrdjan
│E sad,ja ne znam kako da napravim tip podataka koji bi bio u opsegu 1..Max │(Max je promenljiva u koju se smesta broj brojeva koje treba uneti). └─── U Pascalu nema dinamickih nizova, prema tome mozes jedino staviti max kao const ili koristiti listu umesto niza. Ali u ovom tvom programu ni jedno od toga ti nije potrebno, jer nema svrhe cuvati sve unete brojeve vec samo njihov broj i ukupni zbir. program sredina; const min=1; max=100; var i, a :integer; b, c, d : real { a - koliko brojeva b - njihov zbir c - aritmeticka sredina d - tmp var za unos broja } begin writeln('Za koliko brojeva trazite aritmeticku sredinu'); readln(a); b=0; c=0; d=0; for i=1 to a do begin writeln('Unesite ',i,' broj'); readln(d); b=b+d end; c=b/a; writeln('Aritmeticka sredina ovog niza je ', c); end.
pascal.665 bulaja, -> #664, bulaja
│ writeln('Aritmeticka sredina ovog niza je ', c); │end. └─── ^ Pardon, jedno ; viska. Nije bitno :).
pascal.666 dejanr, -> #663, asrdjan
>> Ovde kompjaler javlja grešku pošto >> nije definisana promenljiva Max; U trenutku prevođenja moraju se znati veličine statičkih nizova. Ukratko, treba da definišeš neki maksimalni broj do koga niz može ići, npr. maxmax i da toliki niz definišeš. Ako ti ovo ne odgovara, možeš da koristiš dinamičke strukture podataka sa getmem, ali je to dosta složenije. Za problem koji rešavaš ti uopšte nije potreban niz. Može to i ovako: begin nb:=0; zbir:=0; repeat nb:=nb+1; write ('Unesi podatak ', nb, ': '); readln (broj); zbir:=zbir+broj; until broj=0; writeln ('Aritmetička sredina ja: ', zbir/(nb-1):16:8); end. Unosiš brojeve i kada završiš, uneseš nulu (ako i nula sme da bude element niza, program možeš prepraviti na neki drugi izlazni kriterijum).
pascal.667 ssokorac, -> #664, bulaja
:> const :> min=1; :> max=100; A sta ce ti tu ovo? :)
pascal.668 vvelisavljev, -> #663, asrdjan
Da li je neophodno da pamtiš te podatke? Ako nije neophodno onda samo pamti broj unetih podataka. Ako je neophodno onda je najbolje to uraditi pointerima. Javi ako treba primer za kreiranje liste. pozdrav, Viktor!
pascal.669 dusanp, -> #666, dejanr
=> writeln ('Aritmetička sredina ja: ', zbir/(nb-1):16:8); ^^ Oooopppps, lapsus ;)))
pascal.670 asrdjan,
Hvala svima na rešenjima.
pascal.671 ilazarevic, -> #667, ssokorac
█ :> const █ :> min=1; █ :> max=100; █ █ A sta ce ti tu ovo? :) Sasvim je isto i da je stavio: type niz=arrayŠ1..100Ć of real; Ovim min i max samo zbunjuje protivnika ;)
pascal.672 ssokorac, -> #671, ilazarevic
:> type niz=arrayŠ1..100Ć of real; :> Ovim min i max samo zbunjuje protivnika ;) Jasno, ali u njegovom programu nema nizova...:)
pascal.673 boco,
Kako u TP (konkretno 4.0, 5.0) otvoriti fajl za Read/Write, poput otvaranja u C-u u modu "r+", "w+" ili "a+"? Potrebno mi je da mogu da zamenim slog u fajlu, neko mi nekad reče da je to radio ali se ne sećam kako. Megu i da prepisujem fajl u ažurirani pa onda Delete stari i Rename novi, ali šta kada mi fajl malkice poraste? Ima li rešenja, ili da pišem to parče u C-u?
pascal.674 ssokorac, -> #673, boco
:> Kako u TP (konkretno 4.0, 5.0) otvoriti fajl za :> Read/Write, poput otvaranja u C-u u modu "r+", "w+" ili :> "a+"? Potrebno mi je da mogu da zamenim slog u Ne znam da li ima neke razlike u 4.0, ali ovako ide u 5.0: var slog,trazeni:slogovi; ime:string; datoteka:file of slogovi; begin write('Ime fajla :'); readln(ime); assign(datoteka, ime); reset(datoteka); repeat read(datoteka, slog) until (eof(datoteka)) or (slog=trazeni); š gde je trazeni onaj koji ć if slog=trazeni š hoces da promenis ć then begin seek(datoteka, filepos(datoteka)-1); izmeni_slog; š menjaj slog u onaj koji hoces ć write(datoteka,slog) end else writeln('Nema trazenog sloga.') end.
pascal.675 ilazarevic, -> #673, boco
█ Kako u TP (konkretno 4.0, 5.0) otvoriti fajl za Read/Write, poput █ otvaranja u C-u u modu "r+", "w+" ili "a+"? Potrebno mi je da mogu █ da zamenim slog u fajlu, neko mi nekad reče da je to radio ali se ne █ sećam kako. Meni se čini da naredba za istovremeni read/write ne postoji, ali.... vredi pokušati!
pascal.676 ivans, -> #675, ilazarevic
* Meni se čini da naredba za istovremeni read/write ne * postoji, ali.... vredi pokušati! Postoji! I zove se - reset. Reset ne briše datoteku kao rewrite, i baš toj datoteci možeš da pristupaš po slogovima (onako kako čoveku treba). Pozdrav, Ivans.
pascal.677 ssokorac, -> #675, ilazarevic
:> Meni se čini da naredba za istovremeni read/write ne :> postoji, ali.... Kako? Pa posle assign samo reset(fajl) i mozes i da citas i da pises.
pascal.678 boco,
Svašta. Znači, posle ASSIGN/RESET file mi je otvoren kao Read/Write? žika Wirth kaže samo za read... hmmmm... turbo.
pascal.679 ilazarevic, -> #676, ivans
█ Postoji! I zove se - reset. Reset ne briše datoteku kao rewrite, i █ baš toj datoteci možeš da pristupaš po slogovima (onako kako čoveku █ treba). Eto.... Što ti je čovek :( Radio sam to milion (ako ne i više) puta, i opet...
pascal.680 ilazarevic, -> #677, ssokorac
█ Kako? Pa posle assign samo reset(fajl) i mozes i da citas i da █ pises. Da da da.... Radio sam ja to n puta, ali stane mozak ponekad :(
pascal.681 vitez.koja,
Da li neko zna kako da napravim dve kopije istog objektau memoriji, tako da se procedure ne dupliraju, tj. da na jednom mestu u memoriji stoji procedura koja ce se primenjivati na polja sa podacima oba objekta. fala unapred vladimir
pascal.682 ssokorac, -> #680, ilazarevic
:> Da da da.... Radio sam ja to n puta, ali stane mozak :> ponekad :( Da, to se sete samo iskusni programeri...;)
pascal.683 spece, -> #584, duduk
> BTW, da li postoji neki 'TPU koverter' koji bi prebacio TPU iz v5.5 > u formu iz v6.0? To bi moglo da bude spasonosno resenje. Kad smo vec kod unita... Postoji na sezamu unit za TP koji bi trebalo da omogucava koriscenje GIF slicica. Dali postoji mogucnost nekakve prepravke TPU-a, da bi ga prihvatio TP5.5 - pisani su za ranije verzije, a kriju i sors. Ili mi ne gine ranija verzija TP-a?
pascal.684 ssokorac,
Kako u TP da ubacim još neke fontove osim ovih 4-5 postojećih? I ima li ih neko? :) Mislim, je l' ima neke druge fontove? Stasha
pascal.685 bearboy, -> #669, dusanp
˙¨:> => writeln ('Aritmetička sredina ja: ', zbir/(nb-1):16:8); ˙¨:> žž ˙¨:> Oooopppps, lapsus ;))) Kakav lapsus, on i jeste aritmetička sredina :)))
pascal.686 ssokorac, -> #684, ssokorac
:> Kako u TP da ubacim još neke fontove osim ovih 4-5 :> postojećih? I ima li ih neko? :) Mislim, je l' ima neke :> druge fontove? Eto, niko ne odgovori :(. Nasao sam u helpu InstallUserFont komandu, sa kojom se instaliraju ti fontovi... Ali, kakvog oblika treba da budu, i gde da ih nadjem? Hajte, odgovarajte :). Stasha
pascal.687 predragd, -> #681, vitez.koja
> Da li neko zna kako da napravim dve kopije istog objektau > memoriji, tako da se procedure ne dupliraju, tj. da na > jednom mestu u memoriji stoji procedura koja ce se > primenjivati na polja sa podacima oba objekta. Nisam bas siguran da sam te najbolje razumeo, ali to bi moglo ovako. type PrimerObjekta = Object X, Y: Integer; end; var Objekat1, Objekat2: PrimerObjekta; Na ovaj nacin se dobijaju dva identicna objekta u memoriji, a napisana je samo jedna procedura. Ako sam te pogresno razumeo, izvini. Pozdrav, Pedja.
pascal.688 predragd, -> #676, ivans
> Postoji! I zove se - reset. Reset ne brise datoteku kao > rewrite, i bas toj datoteci mozes da pristupas po > slogovima (onako kako coveku treba). Zna li neko kako da se to uradi kod tekstualnih datoteka. Posto se naredbom RESET, tekstualna datoteka otvara samo za citanje, a naredbom REWRITE samo za pisanje. Posto sam vec kod datoteka da nesto upitam. var Dat1, Dat2: File; begin ... ... Dat1:=Dat2; Ovo TP ne poznaje. Doduse moze se napisati nesto kao Move (Dat1, Dat2, Sizeof (Dat1); i to odlicno radi, ali nije lepo. Zna li neko legalniji nacin da se ovo izvede. Pozdrav, Pedja.
pascal.689 bulaja, -> #686, ssokorac
│Eto, niko ne odgovori :(. Nasao sam u helpu InstallUserFont komandu, │sa kojom se instaliraju ti fontovi... Ali, kakvog oblika treba da │budu, i gde da ih nadjem? └─── Cini mi se da sam svojevremeno dovukao sa Trickl-a editor tih Borland-ovih .CHR fileova, al' se ispostavilo da je to sto su oni drzali bio (valjda) deo starog Borland-ovog TP Graphic Toolkit-a (koji naravno nije PD), pa nisam ni bacio taj editor na Sezam. Nazalost, mislim da sam taj file obrisao :( (ipak, provericu na disketama).
pascal.690 fric, -> #686, ssokorac
> Eto, niko ne odgovori :(. Nasao sam u helpu > InstallUserFont komandu, sa kojom se instaliraju ti > fontovi... Ali, kakvog oblika treba da budu, i gde da ih > nadjem? Function Installs a new font than is not built-in to the BGI system. Declaration InstallUserFont(FontFileName : string) Result type integer Remarks FontFileName is the file name of a stroked font. InstallUserFont returns the font ID number that can be passed to SetTextStle to select this font. If the internal font table is full, a value of 0 (DefaultFont) will be returned. A similar routine exists in Turbo C 2.0. See also SetTextStyle Ovo sam prepisao iz TP 5.0 Reference guide-a. E sada - gde naći još fontova ? Ima nešto u Quattro pro-u: osim goth, litt, sans i trip fontova koje imam u TP 5.0, tamo ima i: euro, lcom, scri, simp, tscr. Javi ako si zainteresovan. Imam i yu fontove za Quattro, ali ih još nisam instalirao, a koliko vidim tamo nema nijednog .chr fajla, tako da i dalje ostaje otvoreno pitanje gde naći yu fontove za TP ili kako editovati postojeće fontove. fric
pascal.691 ssokorac, -> #690, fric
:> fontova koje imam u TP 5.0, tamo ima i: euro, lcom, :> scri, simp, tscr. Javi ako si zainteresovan. Nravno! Kao i za onaj bulajin editor, ako ga je našao?
pascal.692 janko, -> #686, ssokorac
> Hajte, odgovarajte :). Uz stare verzije Quatro Pro-a (ne znam šta je sa novima jer ih nisam gledao) išlo je više fontova nego uz TP, a 'ladno sam ih koristio u TP-u. Uz novi BC++ 3.0 su takođe dodali još tih pet fontova koji su išli uz Quatro. Glavni problem je što pomenuti nemaju naša slova. Na Sezamu postoji i Font Editor za CHR-BGI fontove, ali radi samo na >= EGA. Niko nije javio da ga je iskoristio.
pascal.693 asrdjan,
Jel može neko da mi pošalje help za TP 6.0.Naime kod mene imam i help i sve ali ništa ne radi.Kada izaberem opciju help iz menija on me ponovo vrati u editor.Napominjem da imam help fajl ali ne znam kako da ga instaliram.
pascal.694 ilazarevic, -> #686, ssokorac
█ Eto, niko ne odgovori :(. Nasao sam u helpu InstallUserFont komandu, █ sa kojom se instaliraju ti fontovi... Ali, kakvog oblika treba da █ budu, i gde da ih nadjem? Meni se čini da su u pitanju .CHR fajlovi, ali nemam pojma gde bi ih našao. Možeš da probaš u Quattro Pro, tamo su isto CHR i BGI fajlovi za grafiku. Ne kažem da će to raditi, čak mi se čini da neće, ali... vredi pokušati!
pascal.696 asrdjan,
Jel ima neko možda program ili unit za TP 6.0 koja iscrtava karte na ekran.Ovo bi mi bilo od velike pomoći ako neko ima.Poruke šaljite na mail.
pascal.697 ilazarevic,
Evo problema: U glavnom delu programa učitavam string. Zatim pozivam proceduru koja taj string rastavi na reči, tražeći gde su spejsovi u stringu, i svaku reč dodeli jednom elementu niza stringova. Problem je u tome što mi procedura vrati prazan niz, iako u samoj proceduri taj niz dobije odgovarajuće reči. Evo na šta to liči: type nizreci:arrayŠ1..3Ć of string; var rec:nizreci; recenica:string; procedure podeli(recenica:string;var rec:nizreci); var i,n:integer; begin for i:=1 to length(recenica) do begin if recenicaŠiĆ=' ' then if recenicaŠi+1Ć<>' ' then n:=n+1; if recenicaŠiĆ<>' ' then recŠnĆ:=recŠnĆ+recenicaŠiĆ; end; end; begin ... ... ... readln(recenica); podeli(recenica,rec); ... ... ... end. Daklem, kada pozovem proceduru podeli, "rec" postane potpuno prazna, iako je tokom rada procedure sadržala odgovarajuće reči. Da, postoje i sve moguće inicijalizacione i kontrolne operacije za promenljive ali ih nisam navodio zato što sve radi ok sem dela koji se odnosi na vraćanje podataka. Da li nešto ne valja u programu ili treba da se vratim na TP 5.5?
pascal.698 dejanr, -> #697, ilazarevic
Za početak, probaj da na početak procedure podeli dodaš jedno n:=1;
pascal.699 fric, -> #691, ssokorac
> Nravno! Kao i za onaj bulajin editor, ako ga je našao? Pogledaj u poštansko sanduče ;) Javi ako nađeš negde editor za .chr fajlove.
pascal.700 ssokorac, -> #697, ilazarevic
:> begin :> for i:=1 to length(recenica) do begin :> if recenicaŠiĆ=' ' then :> if recenicaŠi+1Ć<>' ' then n:=n+1; :> if recenicaŠiĆ<>' ' then recŠnĆ:=recŠnĆ+recenicaŠiĆ; :> end; :> end; To za marathonce, a? :) Fali ti jedno n:=1; posle begin :). I brisi one ; ispred end-ova, ruzno izgleda ;).Dalje, mada i tako radi, umesto da pises trece if, zar nije bolje jedno else? :)
pascal.701 bearboy, -> #683, spece
˙¨:>> BTW, da li postoji neki 'TPU koverter' koji bi prebacio TPU iz v5.5 ˙¨:>> u formu iz v6.0? To bi moglo da bude spasonosno resenje. Ima rešenja, ali je VEOMA komplikovano, i ne radi uvek (ali opet, nekad radi, a to je važno :). Uradiš sledeće - napraviš prazan program, kompajliraš ga bez linkovanja (da dobiješ .OBJ), ili ako to ne ide, SOURCER-om. E sad, napišes unit za TP6, gde sa $L uključiš .OBJ, i definišes procedure i funkcije kao externe. Kompajliraš unit, i eto TPU-a za TP6...
pascal.702 bearboy, -> #684, ssokorac
˙¨:> Kako u TP da ubacim još neke fontove osim ovih 4-5 postojećih? I ˙¨:> ima li ih neko? :) Mislim, je l' ima neke druge fontove? Nabavi QUATTRO, bilo koji, raspakuj u njemu fontove, a pošto du i oni od Borlanda, i oni su .CHR, a da ih i TP prepozna, moras da ih uljučis. Kako ide ? Prvo iskopiraš .CHR-ove u dir gde su prvih 4-5, pa ih sa bin2obj konvertuješ u .OBJ, i prijaviš is u FONTS.TPU Evo primera (mislim da graph unit koristi ovaj) - unit Fonts; interface procedure GothicFontProc; procedure SansSerifFontProc; procedure SmallFontProc; procedure TriplexFontProc; procedure EuroFontProc; procedure BoldFontProc; procedure LcomFontProc; procedure TscrFontProc; procedure ScriFontProc; implementation procedure GothicFontProc; external; š$L GOTH.OBJ ć procedure SansSerifFontProc; external; š$L SANS.OBJ ć procedure SmallFontProc; external; š$L LITT.OBJ ć procedure TriplexFontProc; external; š$L TRIP.OBJ ć procedure EuroFontProc; external; š$L EURO.OBJ ć procedure BoldFontProc; external; š$L BOLD.OBJ ć procedure TscrFontProc; external; š$L TSCR.OBJ ć procedure LcomFontProc; external; š$L LCOM.OBJ ć procedure ScriFontProc; external; š$L SCRI.OBJ ć end. PS. Hvala, ne treba spomenik :))))) PPS. Molim citat zbog IGNORE-a...
pascal.703 ilazarevic, -> #698, dejanr
█ Za početak, probaj da na početak procedure podeli dodaš jedno n:=1; Ovo već postoji u proceduri, jednostavno ga nisam pisao da bih smanjio problematičan kod... Inače, rešenje je stiglo u međuvremenu (hvala Stasha :) Problem je bio u tome što u zaglavlju procedure nisam stavio var i za onaj niz u koji stavljam odvojene reci... Logika: kad staviš jedan, što bi stavljao još jedan posle? Na žalost, moja i Borlandova logika se ne slažu baš najbolje...
pascal.704 ssokorac, -> #702, bearboy
:> PPS. Molim citat zbog IGNORE-a... Pa, ja te ipak ne ignorišem :). Hvala!
pascal.705 tesloni, -> #692, janko
­Ú-> : Glavni problem je što pomenuti nemaju naša slova. Na ­Ú-> : Sezamu postoji i Font Editor za CHR-BGI fontove, ali ­Ú-> : radi samo na >= EGA. Niko nije javio da ga je ­Ú-> : iskoristio. A gde tačno ? ... ­Ú-> Tesloni <-Ú­
pascal.706 predragd,
Zdravo Jel cuo neko, ili jos bolje, jel ima neko Stony Brook Pascal+. Kako pise u reklami ovaj Paskal je sto posto kompatibilan sa TP 6.0, nije potrebno izmeniti nijednu liniju koda. Zatim brzi je takodje sto posto (?) od TP 6.0. Duzina izvrsnog koda je smanjena za trideset posto. Podrzava, kao i C, vise moemorijskih modela. Moze se, bez problema, interfejsovati sa drugim jezicima. Takodje mogu se pisati i Windows aplikacije. Suvise lepo da bi bila istina. No, tako stoji u reklami. Pozdrav, Pedja.
pascal.707 glisin, -> #700, ssokorac
ŢŢŢI brisi one ; ispred end-ova, ruzno izgleda ;) Bravo! ŢŢŢDalje, mada i tako radi, umesto da pises trece if, zar nije bolje ŢŢŢjedno else? :) Toooooo! Pravi čovek. Oš u grupu OBERON? ŢŢŢIGGYŮŮŮ
pascal.708 ssokorac, -> #707, glisin
:> Bravo! :> Toooooo! Pravi čovek. Oš u grupu OBERON? Pa, ne piše SUPI-ja bilo ko O;). Može, ubaci me da vidim šta je to izbliza, pa ako mi se svidi - ostajem :).
pascal.709 janko, -> #705, tesloni
> ­ Ú-> : Glavni problem je što pomenuti nemaju naša slova. > ­ Na Ú-> : Sezamu postoji i Font Editor za CHR-BGI > ­ fontove, ali Ú-> : radi samo na >= EGA. Niko nije javio > ­ da ga je Ú-> : iskoristio. > > A gde tačno ? > Eeee, vide li da se u međuvremenu se javio i Bulaja. On je moderator, i kad on kaže da nema na Sezamu, onda nema. Ja se sećam da sam je svojevremeno skinuo... bila je uz neku poruku... (ako je Bulaja nije još obrisao, i ti budeš brži od njega, možda ćeš je se dokopati. Ja sam je probao pa obrisao, ali možda će ti neko baciti u poštu, ako ništa drugo... Ne kloni duhom. BTW gle kako grozno izgleda kad citiram tvoj citat. :( phi.
pascal.710 predragd, -> #701, bearboy
> radi, a to je vazno :). Uradis sledece - napravis prazan > program, kompajliras ga bez linkovanja (da dobijes .OBJ), > ili ako to ne ide, Izvini, da li bi bio ljubazan da ovo malo podrobnije objasnis. Nije mi jasno kako dobijes .OBJ fajl. Koju verziju SOURCER-a koristis. Pozdrav, Pedja.
pascal.711 ilazarevic, -> #707, glisin
█ ŢŢŢI brisi one ; ispred end-ova, ruzno izgleda ;) █ █ Bravo! Ma šta "Bravo!" ? Semicolon ispred enda mi je zaštitni znak - po tome se prepoznaju moji programi... Pokušavali su mene u školi da nauče da ne pišem ; ispred end, ali neće oni majci... :)
pascal.712 ssokorac, -> #711, ilazarevic
:> Ma šta "Bravo!" ? Semicolon ispred enda mi je zaštitni :> znak - po tome se prepoznaju moji programi... Pokušavali :> su mene u školi da nauče da ne pišem ; ispred end, ali :> neće oni majci... :) Eto, nikad ti nećeš naučIti kako se programira. Važno je da program bude što kraći i lepši za oko, a ne da li radi! :)) Posle, ako je sve kratko i pregledno, onda ako nešto ne radi - lako se ispravi. Ovako, kad tražiš end, moraš da tražiš samo end, a ja mogu da tržim ili end ili red bez ;. ;))
pascal.713 dzakic, -> #711, ilazarevic
>> Ma šta "Bravo!" ? Semicolon ispred enda mi je zaštitni znak - po >> tome se prepoznaju moji programi... Pokušavali su mene u školi da >> nauče da ne pišem ; ispred end, ali neće oni majci... :) Aj za zaštitini znak manje više. Ja ; redovno stavljam ispred enda u redu iznad njega. Tako kad nešto hoću da dodam pre njega, ne moram da jurim gore dole i dopisujem i sklanjam tačkazareze (a najčešće zaboravim). Ako pišem sve u istom redu onda pre enda, normalno, ne stavljam ništa.
pascal.715 bearboy, -> #710, predragd
˙¨:>> radi, a to je vazno :). Uradis sledece - napravis prazan ˙¨:>> program, kompajliras ga bez linkovanja (da dobijes .OBJ), ˙¨:>> ili ako to ne ide, ˙¨:> ˙¨:> Izvini, da li bi bio ljubazan da ovo malo podrobnije objasnis. Nije ˙¨:> mi jasno kako dobijes .OBJ fajl. Koju verziju SOURCER-a koristis. Pa Sourcerom dobiješ .ASM, njega kopajliraš, ali NE linkuješ, i eto .OBJ-a
pascal.716 bearboy, -> #710, predragd
˙¨:>> radi, a to je vazno :). Uradis sledece - napravis prazan ˙¨:>> program, kompajliras ga bez linkovanja (da dobijes .OBJ), ˙¨:>> ili ako to ne ide, ˙¨:> ˙¨:> Izvini, da li bi bio ljubazan da ovo malo podrobnije objasnis. Nije ˙¨:> mi jasno kako dobijes .OBJ fajl. Koju verziju SOURCER-a koristis. Pa Sourcerom dobiješ .ASM, njega kopajliraš, ali NE linkuješ, i eto .OBJ-a
pascal.717 ilazarevic, -> #713, dzakic
█ Aj za zaštitini znak manje više. Ja ; redovno stavljam ispred █ enda u redu iznad njega. Tako kad nešto hoću da dodam pre njega, Ja ja... Tu smo negde. Meni je prosto ušlo u prstiće :) tako da ne mislim da li je end ili nije, odmah kucam ; pa šta bude ;)
pascal.718 dejanr,
[Odgovor na 2.207, asrdjan] >> Kako da u TP 6.0 saznam da li na direktorijumu postoji neki fajl >> npr blabla.txt i kako da smestim naziv tog fajla u promenljivu. uses dos; function fexists (ime: string): Boolean; var srec: searchrec; begin findfirst (ime, 0, srec); fexists:=doserror=0; end;
pascal.719 djnsnd,
Da li neko moze da mi objasni kako da napravim okvir za dijalog u kome cu imati i ListBox? UPOMOC !!! Elementi ListBox-a nisu imena datoteka (za to postoji unit i odlicno resenje), vec npr. string-ovi, record-i ili objekti. Vrlo mi je hitno i bitno. Dejan Sunderic
pascal.720 ssokorac,
Telemate u tm.cfg zapise: AlarmSong1="t125msl4o3fg#l8fl16fl8a#l8fd#l4fl4o4cl8o3fl16fl8o4c#co3g#fo4cl8fo3l 16fl8d#l16d#l8cl8gl4fp2" AlarmSong2="t125msl4o3fg#l8fl16fl8a#l8fd#l4fl4o4cl8o3fl16fl8o4c#co3g#fo4cl8fo3l 16fl8d#l16d#l8cl8gl4fp2" AlarmSong3="o1l4ffl8d#l16d#l8d#l8cd#l4ffp8l16fl8fcfl4c#c#l8d#l16d#l8d#d#d#fp2l8 fco0l8a#g#l4f" AlarmSong4="o1l4fl8d#l16d#l8d#l8cd#l4ffp8l16fl8fcfl4c#c#l8d#l16d#l8d#d#d#fp2" Zna li neko kako se to moze 'reprodukovati'? Mislim, da iskoristim u programu tu melodiju, jer su ovo, očigledno, note.
pascal.721 drakce, -> #720, ssokorac
│ AlarmSong4="o1l4fl8d#l16d#l8d#l8cd#l4ffp8l16fl8fcfl4c#c#l8d │ Zna li neko kako se to moze 'reprodukovati'? └─────── U Basic-u vrlo jednostavno. U pitanju su parametri PLAY naredbe. Samo ubaci po jedno $ posle imena promenjlivih i dodaj 4 PLAY ime$. U ovom slučaju bi bilo: AlarmSong1$ = "t125msl4o3fg#l8fl16fl8a#l8fd#l4fl4o4cl8o3fl16fl8o4c#co3g#fo4cl8 fo3l16fl8d#l16d#l8cl8gl4fp2" AlarmSong2$ = "t125msl4o3fg#l8fl16fl8a#l8fd#l4fl4o4cl8o3fl16fl8o4c#co3g#fo4cl8 fo3l16fl8d#l16d#l8cl8gl4fp2" AlarmSong3$ = "o1l4ffl8d#l16d#l8d#l8cd#l4ffp8l16fl8fcfl4c#c#l8d#l16d#l8d#d#d#f p2l8fco0l8a#g#l4f" AlarmSong4$ = "o1l4fl8d#l16d#l8d#l8cd#l4ffp8l16fl8fcfl4c#c#l8d#l16d#l8d#d#d#fp 2" PLAY AlarmSong1$ PLAY AlarmSong2$ PLAY AlarmSong3$ PLAY AlarmSong4$ END Ako hoćeš u Pascalu, prevedi ovo u OBJ, pa ubaci u TP. Valjda će da radi :) Pozdrav
pascal.722 ssokorac, -> #721, drakce
:> Ako hoćeš u Pascalu, prevedi ovo u OBJ, pa ubaci u TP. :> Valjda će da radi :) Pa, valjda, ali meni treba postupak bas u paskalu... :) Thanks, u svakom slucaju, bolje ista nego nista, mada se nadam da jos neko ima nesto? :)