PCPROG.3

26 Jul 1993 - 22 Apr 1994

Messages - pascal

pascal.516 .bale., -> #514, paki
> Ne, definicija mu je i*i=(-1). ? Pa ja sam živeo u zabludi decenijama... :)
pascal.517 dr.grba, -> #514, paki
>> Ne, definicija mu je i*i=(-1). Rekao bih da nisi u pravu. Definicija imaginarne jedinice jeste "kvadratni koren iz -1". Formalno, ono što ti nazivaš definicijom nema logičku osnovu, pošto koristiš broj i da bi izveo -1. Ne ide tako, broj i moraš da imaš kao izvedenu vrednost.
pascal.518 ilazarevic, -> #511, eagle
> možeš ga pozivati kao običan metod. Izvan svog unita privatni > metodi i polja su nedostupni. Hm, nisam baš najbolje shvatio :) Kad iz svog programa pozivam neki unit, da li mogu da koristim privatne metode tog unita?
pascal.519 paki, -> #517, dr.grba
­>>> Ne, definicija mu je i*i=(-1). ­> ­> Rekao bih da nisi u pravu. Definicija imaginarne jedinice jeste ­> "kvadratni koren iz -1". Formalno, ono što ti nazivaš definicijom ­> nema logičku osnovu, pošto koristiš broj i da bi izveo -1. Ne ide ­> tako, broj i moraš da imaš kao izvedenu vrednost. Evo, citat (dobro, nije baš citat :) iz moje sveske: "Treba rešiti jednačinu x^2=-1. Uzmimo i takvo da je i^2=-1. ..." Jedino ako profesori iz MG loše predaju. Inače, ovo učim u drugoj godini. Možda se kasnije menja definicija (tj. proširuje), ali ne verujem.
pascal.521 eagle, -> #517, dr.grba
> Rekao bih da nisi u pravu. Definicija imaginarne jedinice jeste > "kvadratni koren iz -1". Formalno, ono što ti nazivaš > definicijom nema logičku osnovu, pošto koristiš broj i da bi > izveo -1. Broj i je jedno rešenje jednačine sqr(x) + 1 = 0, iliti broj sa osobinom da je sqr(i) = -1. Pošto jednačina ima dva rešenja, (0,1) i (0,-1), uzima se da je i po definiciji kompleksan broj (0,1).
pascal.522 eagle, -> #519, paki
> Evo, citat (dobro, nije baš citat :) iz moje sveske: > "Treba rešiti jednačinu xž2=-1. Uzmimo i takvo da je iž2=-1. Ovo je sasvim ispravno. Na primer, x=sqrt(-5) se rešava Ovako: A ne ovako: x=sqrt(-5) x=sqrt(-5) x=sqrt(sqr(i)*5) x=sqrt(-1)*sqrt(5) x=i*sqrt(5) x=i*sqrt(5)
pascal.520 eagle, -> #518, ilazarevic
> Hm, nisam baš najbolje shvatio :) Kad iz svog programa pozivam > neki unit, da li mogu da koristim privatne metode iz tog unita? Ne možeš.
pascal.523 nikac, -> #498, dragisha
>■ Dalje, TS Pas kompajlira u .OBJ, veže se sa C, C++, M2, ASM, >■ ima memorijske modele (+overlay +DLL za DOS), OOP... Zauzima >■ par megabajta zajedno sa IDE. Ima i TP2TS. Sve sto si nabrojao ima i BP7.0 ... (naravno bez tp2ts ;)
pascal.524 nikac, -> #478, pedjak
>■> Teorema: Svaki polinom sa realnim koeficijentima ima jednu >■> kompleksnu nulu. >■ >■ Ne. Teorema glasi: Svaki kompleksan polinom P, dg P ˛1 ima bar >■ jedan koren. Jok more vec je debelijencija u pravu. Ako imas nesto protiv toga zali profesorima iz Univerzitetu u Beogradu. Tacnije u zvanicnom udzbeniku gorepomenutog univerziteta, konkretno pise sledece(crno na belom): "Glavni stav algebre: Svaki polinom mora imati jedan koren, realan ili kompleksan" BTW. toliko o onoj raspravi da polinom ima nule a ne korene ;)
pascal.525 dragisha, -> #510, dejanr
-> >> žuo sam nešto da osvajaju tehnologiju TPU-a, i krešu opcije za rad sa -> >> memorijskim modelima da se koliko toliko približe Turbo Pascalu:). -> -> Neka naprave da prevodi onoliko brzo koliko turbo pascal, pravi kod -> jednake dužine i da se taj kod jednako brzo izvršava, pa da pričamo -> dalje. Zašto jednake dužine, zar nije fora da je kraće a brže?:) A brzina kompilacije mi je sasvim dovoljna. Za vrijeme za koje mi prevede 600 Kb i pametno ga ulinkuje (da! postoji i smart link bez .TPU) ne mogu do WCa da odem kako treba. Osim toga, za onolike optimizacije, TRUE! .OBJ, vezu na TRUE! .LIB itt mogu da mu oprostim i manju brzinu kompiliranja/linkovanja. Osim toga, standard je standard. Meni PC nije vrhunska ambicija pa da se ubijam sa TP. BTW, koju si ono verziju TS ti evaluirao svojevremeno? -- [Tagline Disabled]
pascal.526 dragisha, -> #515, vitez.koja
-> #=> Bilo bi zanimljivo da nam daš neki konkretan primjer kad -> #=> ti već nije teško. Ja nemam ideje:). -> -> Pointerska aritmetika, na primer. Fakat je nema, ali je fakat i da za njome nema previše potrebe. Većinu stvari koje se odrađuju pointerskom aritmetikom dobar optimizator će tako i uraditi ali programer neće morati da vodi računa o tome. Dobar primjer je ona poruka u dizajn temi od DejanR-a. Svaki C programer će da potrči i to radi pointerskom aritmetikom, jer TAKO TREBA:), a svaki Pascal programer će razmisliti par sekundi i odraditi ugnježđeni FOR i točka. Nagradno pitanje, šta je čitljivije? Dvije for petlje ili neka skalamerija sa pointerima? -- [What is the meaning of life in 50 words or less]
pascal.527 uobradovic,
Da li je problem da se na Turbo Pascalu naprave padajuci meniji i da se opcije skroluju.Ako neko ima algoritam nek ga posalje. Hvala :)
pascal.528 peca.st, -> #527, uobradovic
!-> Da li je problem da se na Turbo Pascalu naprave padajuci meniji i !-> da se opcije skroluju.Ako neko ima algoritam nek ga posalje. Što bi ti neko slao nešto što već imaš, a nisi svestan da imaš? ;) To se zove Turbo Vision i mnogo je dobra stvar. :) Sastavni je deo Turbo Pascal-a. Ako ti se to ne svidi (malkice je komplikovan za upotrebu) imaš u dir-u neke unite za to. (recimo, tot*.*) Ako ti se i to ne svidi, onda piši sam. :) Peđa.
pascal.529 pedjak, -> #524, nikac
>>■ Ne. Teorema glasi: Svaki kompleksan polinom P, dg P ˛1 ima bar >>■ jedan koren. > Jok more vec je debelijencija u pravu. Ako imas nesto protiv toga > zali profesorima iz Univerzitetu u Beogradu. Tacnije u Hm, teoremu sam prepisao iz Matematike I (ETF), pa sad ako oni lažu mene... :) MIslim da sam ipak u pravu...
pascal.530 dragisha, -> #523, nikac
-> >■ Dalje, TS Pas kompajlira u .OBJ, veže se sa C, C++, M2, ASM, -> >■ ima memorijske modele (+overlay +DLL za DOS), OOP... Zauzima -> >■ par megabajta zajedno sa IDE. Ima i TP2TS. -> -> Sve sto si nabrojao ima i BP7.0 ... (naravno bez tp2ts ;) Super. Ima i ISO i zauzima 2 mb na disku? -- [Castration takes balls.]
pascal.531 uobradovic, -> #528, peca.st
-> To se zove Turbo Vision .... Ja znamda imam Turbo Vision i da je on zatakve sari i pravljen.Problem je u tome sto ja neznam da rad.Vision - u. A sto se ttot*.* gde ti se to nalaz. Uros :)
pascal.532 uobradovic, -> #531, uobradovic
Izvinite na greskama pri kucanju.
pascal.533 dejanr, -> #530, dragisha
>> > Sve sto si nabrojao ima i BP7.0 ... >> >> Super. Ima i ISO i zauzima 2 mb na disku? Zauzima 5-6 mega ako se instalira samo DOS verzija. Deo od toga su HELP-ovi i druga on-line dokumentacija. Ako hoćeš i Windows, onda zauzima dosta više, jer ima raznoraznih alatki. A što se tiče ISO kompatibilnosti, ja za nju ne dajem ni koliko crno pod noktom. Ako nećeš da koristiš ekstenzije, ne moraš da ih koristiš. Ako ti trebaju, tu su. Doduše, tako program neće raditi na platformama na kojima ne postoji Turbo/Borland Pascal... pa šta, ne mora ni da radi. Ako nekome treba program za razne platforme, dakle neki potencijalno veoma obiman projekat, verovatno će ga i tako raditi u C++-u.
pascal.534 vitez.koja, -> #526, dragisha
#=> Fakat je nema, ali je fakat i da za njome nema previše potrebe. Kako god kažeš...
pascal.535 djelovic, -> #526, dragisha
> Fakat je nema, ali je fakat i da za njome nema previše potrebe. Većinu > stvari koje se odrađuju pointerskom aritmetikom dobar optimizator će tako i > uraditi ali programer neće morati da vodi računa o tome. Ne verujem da i jedan Pascal/Modula-2 komp ajler ima optimizator koji bi to uradio. Dakle, C još uvek vlada na polju brzine. (BTW, i turbo Turbo Paskal ima pointersku aritmetiku, mada nisam video još nijedan program koji bi je koristio.) Ono gde današnji optimizatori mogu da pomognu jeste zaista nepotrebno pokovanje više izraza u jedan što većina C programera i danas radi. To stvara nečitljiv kod, a, zahvaljujući optimizaciji, potpuno je nepotrebno.
pascal.536 isekulovic, -> #527, uobradovic
>> Da li je problem da se na Turbo Pascalu naprave padajuci meniji i da >> se opcije skroluju.Ako neko ima algoritam nek ga posalje. Da je problem i nije, da imam proceduru i nemam. Prvo pogledaj unit tpw60 koji ima procedure za crtkanje prozora i pravljenje menija (neskrolujićih). Procedure za prozore su sasvim ok, a procedura za meni je malo bagovita ako se otvori više prozora i ne podržava miša. Ja sam napisao svoju proceduru za menije (neskrolujuće) ali nije baš mnogo prenosiva. Osnovna ideja mi je bila da se proceduri proslede: koordinate prozora, niz od N stringova i broj opcija. Pri čemu je N gornja granica koliko može da se uzme opcija. I onda iscrtkaš prozor na tim koordinatama i iz niza stringa ispišeš onoliko opcija koliko treba. Onda tu ide klasično gore-dole vrćenje opcija dok se ne izabere jedna i onda smestiš broj te opcije u neku globalnu promenljivu. Ne bi trebalo da bude ništa komplikovanije napisati proceduru za skrolujuće menije, samo bi malo složenije bilo kretanje gore-dole kroz opcije ali nije uopšte neizvedivo.
pascal.537 bearboy, -> #523, nikac
>> ■ Dalje, TS Pas kompajlira u .OBJ, veže se sa C, C++, M2, ASM, >> ■ ima memorijske modele (+overlay +DLL za DOS), OOP... Zauzima >> ■ par megabajta zajedno sa IDE. Ima i TP2TS. > > Sve sto si nabrojao ima i BP7.0 ... (naravno bez tp2ts ;) Da, ali je n puta veći (gde n teži beskonačnom), glomazniji, etc. :)
pascal.538 dragisha, -> #535, djelovic
-> Ne verujem da i jedan Pascal/Modula-2 komp ajler ima optimizator koji -> bi to uradio. Dakle, C još uvek vlada na polju brzine. (BTW, i turbo -> Turbo Paskal ima pointersku aritmetiku, mada nisam video još nijedan -> program koji bi je koristio.) Dobro ako ne vjeruješ. :) Jedan primjer, prije par sati sam pričao sa Janevom iz ISP. Kaže, imali su neki algoritam za ray tracing urađen u TP. Onda su iz zezanja stvar preveli (prilagodili) u TS Pas i dobili su ubrzanje od 104%. U pitanju je računanje sa ispisom rezultata u fajl. Toliko i o superiornosti TP koda, BTW. Drugi primjer, upravo sam pročitao tvoju poruku o Zortech C++. Kojom crnom magijom, ako već nije moguće boljim optimizacijama, postižu toliko bolje rezultate od konkurencije?:)) Zaključak. Oblast optimizacije nije ni blizu zasićenja tako da prostora za ogromne razlike ima i biće još dugo. Prijedlog, hoćemo li da nađemo te primjere kojima bismo koliko toliko smisleno mogli da izmjerimo sposobnosti pojedinih kompajlera na tržištu i pojedinih jezičkih konstrukcija i da utvrdimo ili pobijemo postojanje razlika u tehnologijama koje pojedine firme/jezici koriste? -- [I'm like a bad TSR; I keep popping up!]
pascal.539 dragisha, -> #533, dejanr
-> ne mora ni da radi. Ako nekome treba program za razne platforme, -> dakle neki potencijalno veoma obiman projekat, verovatno će ga i -> tako raditi u C++-u. Pravovremena procjena? Previše često se ne desi na vrijeme. Ne rade se projekti baš uvijek sa pravovremenim saznanjem o kompleksnosti ili o konačnom izgledu proizvoda. Osim toga, code reuse je u zadnje vrijeme vrlo moderna stvar a njome se u suštini stimuliše sticanje "štetnih" navika. Jako teško će se odlučiti na mijenjanje alata neko ko već ima dosta razvijenog koda koji može da iskoristi u svakom novom projektu pod uslovom da ne mijenja jezik. -- [Never smirk at the judge..]
pascal.540 dragisha, -> #534, vitez.koja
-> #=> Fakat je nema, ali je fakat i da za njome nema previše potrebe. -> -> Kako god kažeš... Na moje pitanje (konkretna prednost C-a) si odgovorio sa "pointerska aritmetika". Pošto sam imao priliku da istu koristim kao i da se snalazim bez nje, napisao sam šta sam napisao. Imaš li primjer koda koji pointerska aritmetika ubrzava toliko da se to osjeti ako pokušaš u nečemu drugom da uradiš isti posao? U svakoj knjizi gdje se spominje optimizacija (preporučujen Dragon Book) možeš vidjeti da su tehnike preveslavanja "običnih" indeksiranja na pointersku aritmetiku odavno sastavni dio optimizatora koda. -- [Boys and girls, can you say BUGGY???]
pascal.541 djelovic, -> #538, dragisha
> Zaključak. Oblast optimizacije nije ni blizu zasićenja tako da prostora > za ogromne razlike ima i biće još dugo. Naravno da nije! Ja sam samo rekao da je današnji PC kompajleri rade loše ili nikako. > Prijedlog, hoćemo li da nađemo te primjere kojima bismo koliko toliko > smisleno mogli da izmjerimo sposobnosti pojedinih kompajlera na > tržištu i pojedinih jezičkih konstrukcija i da utvrdimo ili pobijemo > postojanje razlika u tehnologijama koje pojedine firme/jezici koriste? Prihvaća se! Dodouše, ja koristim C++ zato što mi odgovara kao jezik, i teško da bi se vratio na nešto drugo i ostao bez objekata, preklapanja operatora i sličnih poslastica, tako da mi brzina i nije mnogo bitna (20 posto tamo-vamo korisnik retko kada primeti). No, slažem se da je došlo kranje vreme da se utvrde gde koji današnji kompajleri i jezici stoje. Mogli bi čak da napravimo od toga neki lep članak za "Računare"? Evo, ja ću da pokrijem C/C++, ti TS Pascal, traži se još neko ko radi na BP 7.0.
pascal.542 djelovic, -> #538, dragisha
> Drugi primjer, upravo sam pročitao tvoju poruku o Zortech C++. Kojom > crnom magijom, ako već nije moguće boljim optimizacijama, postižu t oliko > bolje rezultate od konkurencije?:)) Ne znam, nisam ga lično probao. Par puta sam se zeznuo sa alatima manjih firmi koji su na prvi pogled izgledali mnogo dobro ali su se u praksi pokazali kao nepouzdani i bagoviti pa se sada veoma teško odlučujem da kupim nešto što nije apsolutno provereno. Dakle, dok ne počne veća količina ljudi da ih koristi teško da ću i ja. Takođe, sećam se da su mnoge firme svojevremno davale benčmarke u kojima se pokazivalo da su neuporedivo bolji od Borlanda ili Microsofta, ali je to uvek u realnim uslovima ispadalo netačno. Ili su oni radili sa "naštelovanim" merenjima, ili nisu podržavali IEEE standarde za brojeve sa pokretnim zarezom, ili nešto slično, u svakom slučaju - Borland i Microsoft su uvek ispadali bolji. No, kao što rekoh u prethodnoj poruci, sasvim sam rad da napravimo test i utvrdimo tačno o čemu se radi.
pascal.544 zolika, -> #510, dejanr
>> Neka naprave da prevodi onoliko brzo koliko turbo pascal, pravi kod >> jednake dužine i da se taj kod jednako brzo izvršava, pa da pričamo >> dalje. Samo mi nije jasno zašto da TopSpeed ubuduće pravi SPORIJE programe nego sada?
pascal.545 zolika, -> #503, kriss
>> GDE može da se nabavi to čudo? TopSpeed Paskal je deo višejezičnog TopSpeed okruženja (tako nekako).
pascal.543 zolika, -> #500, dejanr
Dragišo, drž' se. >> Recimo, stalno unapređujući TopSpeed Modulu 2, kroz dvadesetak godina će, >> ako se potrude, imati proizvod koji vredi onoliko koliko danas vredi >> Turbo Pascal ;> Hm, DejanRe, jesi li probao da nešto programiraš na TopSpeed Moduli-2?
pascal.546 dejanr, -> #543, zolika
>> Hm, DejanRe, jesi li probao da nešto programiraš na TopSpeed Moduli-2? Pre jedno tri godine želeo sam da dam šansu Moduli 2. Mislio sam da je to jezik na koji bih mogao da pređem, da omogućava produktivnije programiranje nego paskal, dosta raspoloživih biblioteka itd, a opet da i dalje bude "strog" jezik, za razliku od C-a. U taj test uložio sam nekih mesec dana vremena, plus pare za kupovinu (verovali ili ne :) dve implementacije Module (Logitech i JPI). Završio sam teško razočaran kako u jezik tako (pogotovu) u implementacije, koje su se po svim parametrima pokazale imferiornim u odnosu na tadašnji Turbo Pascal. Bilo je, naravno, i sitnih prednosti (recimo, mogućnost generisanja .OBJ fajlova, za razliku od "slepog creva" kao što je TPU) ali je ono sa minus strane daleko pretezalo nad onim sa plus strane. Onda sam uradio potreban broj XRD-ova i zaboravio na Modulu 2. Možda su u međuvremenu napravili neke bolje implementacije (mada je i TP napredovao... :) ali ja nemam ni vremena ni novca da ih ponovo isprobavam. U zadnje vreme sve više koristim C, mada sam i dalje mišljenja da Turbo Pascal-u nema premca kada treba nešto brzo isprogramirati, testirati, dati u upotrebu i onda "zaboraviti". Ukoliko se, naravno, to nešto baš nikako ne može napisati na Clipper-u ;))))
pascal.547 spantic, -> #541, djelovic
> No, slažem se da je došlo kranje vreme da se utvrde gde koji današnji > kompajleri i jezici stoje. Mogli bi čak da napravimo od toga neki lep Ja mislim da bi mogli da se obratite profesoru Jozi Dujmoviću, popularnom Hozeu :) koji je sada trenutno u Masačusetsu, čak iako Dejan baš i nema mnogo lepe uspomene na njega :)) Joza je baš pre godinu dana počeo merenje perfomansi prevodilaca na MSDOS platformi. Dosad je sigurno završio. Pošto smo mu odavde slali test primerke ovo što ste nabrojali je sigurno pokrio.
pascal.548 vitez.koja, -> #540, dragisha
#=> Imaš li primjer koda koji pointerska aritmetika ubrzava #=> toliko da se to osjeti ako pokušaš u nečemu drugom da #=> uradiš isti posao? Nemam, još sam mlad i zelen. #=> možeš vidjeti da su tehnike preveslavanja "običnih" #=> indeksiranja na pointersku aritmetiku odavno sastavni #=> dio optimizatora koda. Ti mi daješ za pravo... Operacije sa nizovima se svode na pointersku aritmetiku, na ovaj ili onaj način. Da li je bolje da su takve suštinske tehnike dostupne programeru, ili ne ? Pitanje koncepcije... Imao sam, skoro, situaciju da treba da "protrčim" kroz niz bajtova (TPW), koji treba prethodno da napunim sa blockread. Ako tu strukturu deklarišem kao niz, onda ne mogu da je iskoristim za blockread - jer ovaj traži pointer. Ako definišem to kao pointer i s njim alociram potrebnu memoriju onda nema indeksiranja :((
pascal.549 bearboy, -> #538, dragisha
> Jedan primjer, prije par sati sam pričao sa Janevom iz ISP. > Kaže, imali su neki algoritam za ray tracing urađen u TP. Onda > su iz zezanja stvar preveli (prilagodili) u TS Pas i dobili su > ubrzanje od 104%. U pitanju je računanje sa ispisom rezultata u > fajl. Toliko i o superiornosti TP koda, Mada se može desiti i obrnuto. Ja sam moj seminarski rad u Petnici "preveo" iz TP u TSP i usporilo se oko 5-6 puta (!!!). Ako se dobro sećam, glavni razlog je bila sporija (ali preciznija) funkcija RND-a u TSP-u.
pascal.550 igors,
Da li zanate kako mogu ucitati bilo koji graficki format iz Paskala, ako ste to uspeli javite mi, pokusavao sam sa fajlovima sa Sezama ali nisam uspeo jer im je uvek nesto nedostajalo. Igor Stankovic
pascal.551 vita, -> #523, nikac
> Sve sto si nabrojao ima i BP7.0 ... (naravno bez tp2ts ;) Kako pravis OBJ keve ti?
pascal.552 vita, -> #541, djelovic
> kompajleri i jezici stoje. Mogli bi čak da napravimo od toga > neki lep članak za "Računare"? Evo, ja ću da pokrijem C/C++, ti > TS Pascal, traži se još neko ko radi na BP 7.0. Watcom C 386 pokriven. Vita P.S. A mogli bi i bugove da uporedjujemo.
pascal.553 vita, -> #549, bearboy
> Mada se može desiti i obrnuto. Ja sam moj seminarski rad u > Petnici "preveo" iz TP u TSP i usporilo se oko 5-6 puta (!!!). > Ako se dobro sećam, Idi bre Atila, pa to mi nikada nisi pokazo... Ajde bre da ih testiramo. Vita
pascal.555 dragisha, -> #541, djelovic
-> Prihvaća se! Super:). -> No, slažem se da je došlo kranje vreme da se utvrde gde koji današnji -> kompajleri i jezici stoje. Mogli bi čak da napravimo od toga neki lep -> članak za "Računare"? Evo, ja ću da pokrijem C/C++, ti TS Pascal, traži -> se još neko ko radi na BP 7.0. Prvo primjeri, tj. kodovi koje neće biti problem portovati i koji nisu trivijalni. Ja ću da probam TS M2, Pascal, C i C++. Predlažem više primjera, a ne samo sieve i slične. Napravićemo EXEe i UL ih ovdje tako da može svako da proba na svojoj mašini svaki test. -- [I AM standing.]
pascal.557 dragisha, -> #546, dejanr
-> i dalje bude "strog" jezik, za razliku od C-a. U taj test uložio sam -> nekih mesec dana vremena, plus pare za kupovinu (verovali ili ne :) dve -> implementacije Module (Logitech i JPI). Završio sam teško razočaran kako Sjećam se pomalo tog testa, čini mi se da si imao TS 2.nešto. Razlika između TS 2 i 3 je kao između TP 4.5 i BP 7.0, otprilike.:) -> i sitnih prednosti (recimo, mogućnost generisanja .OBJ fajlova, za -> razliku od "slepog creva" kao što je TPU) ali je ono sa minus strane -> daleko pretezalo nad onim sa plus strane. Onda sam uradio potreban broj -> XRD-ova Koji je to broj bio, da se podsjetimo? I šta je bilo na minus strani kad je toliko preteglo? -> Pre jedno tri godine želeo sam da dam šansu Moduli 2. Mislio sam da je Kad vidim šta misliš o 4dos, telemate i sličnima i koliko radiš u Klipanu, možda je i dobro za naše malo društvo što si se obeshrabrio "na vrijeme".:)) -- [OOPS: Not just for klutzes anymore]
pascal.556 dragisha, -> #549, bearboy
-> Mada se može desiti i obrnuto. Ja sam moj seminarski rad u Petnici -> "preveo" iz TP u TSP i usporilo se oko 5-6 puta (!!!). Ako se dobro -> sećam, glavni razlog je bila sporija (ali preciznija) funkcija RND-a u -> TSP-u. To nema veze sa alatom, kao što si sam pojasnio. Primjer koji mi je dao Janev je čist algoritam, jedino što se poziva iz biblioteke je ispis u sekvencijalnu datoteku. -- [In Case of Fire, Log off Promptly]
pascal.554 dragisha, -> #548, vitez.koja
-> #=> možeš vidjeti da su tehnike preveslavanja "običnih" -> #=> indeksiranja na pointersku aritmetiku odavno sastavni -> #=> dio optimizatora koda. -> -> Ti mi daješ za pravo... Operacije sa nizovima se svode na pointersku -> aritmetiku, na ovaj ili onaj način. Da li je bolje da su takve suštinske -> tehnike dostupne programeru, ili ne ? Pitanje koncepcije... Ne dajem ti za pravo. Kažem, ako to već kompajler radi sam, bolje je da ja ipak svoj dio posla radim na "malo" višem nivou. Slijedeći gornju logiku, pravi izbor je asembler jer tamo BAŠ sve možeš (i moraš, BTW:)) da uradiš direktno. -> Imao sam, skoro, situaciju da treba da "protrčim" kroz niz bajtova -> (TPW), koji treba prethodno da napunim sa blockread. Ako tu strukturu -> deklarišem kao niz, onda ne mogu da je iskoristim za blockread - jer -> ovaj traži pointer. Ako definišem to kao pointer i s njim alociram -> potrebnu memoriju onda nema indeksiranja :(( TPW. Zar treba nešto više da se kaže?:) Postoji sigurno i u TP nešto što vraća adresu proizvoljnog objekta čime si mogao da odradiš posao. Osim toga, postoji i POINTER TO ARRAY [...], tj. kako se već piše u TP. Sve u svemu, rješenja ima raznih, a nek to mašina radi low level, tj. pointerskom aritmetikom. -> Nemam, još sam mlad i zelen. Nisi još izgubljen, misli na sebe dok imaš vremena:). Gre'ota je za matematičara da se zamlaćuje Com:). -- [Ahhhhhhhh, I forget what I was going to say ....]
pascal.559 dejanr, -> #557, dragisha
>> > U taj test uložio sam nekih mesec dana vremena, plus pare za >> > kupovinu (verovali ili ne :) dve implementacije Module (Logitech >> > i JPI). Završio sam teško razočaran kako >> >> Sjećam se pomalo tog testa, čini mi se da si imao TS 2.nešto. Imao sam tekuće verzije svih kompajlera koje su postojale na tržištu. Teško sam mogao porediti ondašnji TP sa nekom M2 koja će da izađe kroz tri godine ;) >> I šta je bilo na minus strani kad je toliko preteglo? Već N puta sam rekao, ali ajmo još jednom: (1) sporije kompajlira (u odnosu na tada aktuelni TP) (2) pravi duži EXE fajl (u odnosu na tada aktuelni TP) (3) EXE fajl se sporije izvršava ( -"- ) Meni više od toga ne treba. Da bih prešao na tu platformu, uslov bi bio da po sva tri pomenuta uslova ona postiže *znatno* bolje rezultata. >> Kad vidim šta misliš o 4dos, telemate i sličnima i koliko radiš u >> Klipanu, možda je i dobro za naše malo društvo što si se obeshrabrio >> "na vrijeme".:)) Da... ovako nema ko da vam razbije iluzije o tome na šta ste sebe osudili ;> Inače, što se "klipana" tiče, ja ne krijem da kada programiram, uglavnom programiram *za pare*. Dakle, najbolji jezik je onaj koji mi omogućava da to što radim obavim najlakše, najbrže i sa najmanje problema. Kada bi jednom programiranje na M2 bilo isplativije od programiranja na Clipper-u i C-u (prema ranije pomenutim uslovima), o'ma bi prešao na nju.
pascal.560 vitez.koja, -> #554, dragisha
#=> Slijedeći gornju logiku, pravi izbor je asembler jer #=> tamo BAŠ sve možeš (i moraš, BTW:)) da uradiš direktno. Naravno, asembler je pravo rešenje :) Svrha kompajlera je lakše pisanje programa, a ne "bolji mašinac od mašinca" ;)
pascal.561 niklaus, -> #549, bearboy
(:> Mada se može desiti i obrnuto. Ja sam moj seminarski rad u Petnici (:> "preveo" iz TP u TSP i usporilo se oko 5-6 puta (!!!). Ako se (:> dobro sećam, glavni razlog je bila sporija (ali preciznija) (:> funkcija RND-a u TSP-u. Šta si pravio? Pogađanje brojeva? (; (:niklaus:)
pascal.562 dragisha, -> #559, dejanr
-> Imao sam tekuće verzije svih kompajlera koje su postojale na tržištu. -> Teško sam mogao porediti ondašnji TP sa nekom M2 koja će da izađe kroz -> tri godine ;) Pitao sam te za verziju da bih sam pokušao da se prisjetim kako je to zaista izgledalo i da uradim sam poređenja. Ti si tada dao jedan primjer, a poznata je stvar kako se gleda na takve testove, tj. kako se komentarišu reklame u kojima se da jedan primjer i tu je kraj. -> >> Kad vidim šta misliš o 4dos, telemate i sličnima i koliko radiš u -> >> Klipanu, možda je i dobro za naše malo društvo što si se obeshrabrio -> >> "na vrijeme".:)) -> -> Da... ovako nema ko da vam razbije iluzije o tome na šta ste sebe -> osudili ;> ? Trudio sam se, ali ovo je zaista neprobojno za mene. Šta s' hotio rijet?:) -- [Bill Gates, have 'em write _real_ code...]
pascal.563 dejanr, -> #562, dragisha
>> > Imao sam tekuće verzije svih kompajlera koje su postojale na tržištu. >> > Teško sam mogao porediti ondašnji TP sa nekom M2 koja će da izađe kroz >> > tri godine ;) >> >> Pitao sam te za verziju da bih sam pokušao da se prisjetim kako je to >> zaista izgledalo i da uradim sam poređenja. Tekstovi su objavljeni u "Računarima" 52, 54 i 55. Mislim da je JPI Modula 2 bila u verziji 1.12, Logitech modula 2 3.30 a Turbo Pascal 5.0. Možda sam kod neke od tih cifara pogrešio, teško se setiti precizno posle četiri godine. Razlike nisu bile takve da bi se uopšte moglo govoriti o nijansama. Recimo, TP je prevodio pola sekunda, Logitech pola minuta a JPI "negde između", recimo 10-15 sekundi. TP je napravio duplo kraći EXE od JPI, i izvršavao se valjda 3 puta brže. Međusobno poređenje dve Module pokazalo je da JPI brže prevodi, ali daje sporiji kod. Programi su takođe isprobani na velikom projektu, reda megabajt izvornog koda. Komercijalne biblioteke namenski pisane za Turbo Pascal, Logitech i JPI modulu 2. Odnosi što se tiče brzine prevođenja bili su još bolji, u korist Turbo Pascala. >> tj. kako se komentarišu reklame u kojima se da jedan primjer i tu je >> kraj. Reklama je ono što daje proizvođač, ovo je bio nezavisan i nepristrasan tekst. Izvoli nađi bilo kakav primer u kome se pokazuju suprotni odnosi.
pascal.564 lovro,
Kako da proveravam da li su stisnuta dva dugmeta istovremeno: strelica gore i strelica desno, na primer. Lovro
pascal.565 peca.st, -> #564, lovro
!-> Kako da proveravam da li su stisnuta dva dugmeta istovremeno: !-> strelica gore i strelica desno, na primer. Zar je moguće stisnuti dva dugmeta _istovremeno_ ? (a da to nije kombinacija sa alt ili ctrl) Mislim da je jedini način da gledaš vremenski razmak između pritiska na ta dva tastera, pa ako je manji od zadatog epsilon ;>>> onda su pritisnuti "istovremeno". Peđa.
pascal.566 mjova, -> #564, lovro
> Kako da proveravam da li su stisnuta dva dugmeta > istovremeno: strelica gore i strelica desno, na primer. moraš napraviti novu int 9 rutinu.
pascal.567 eagle, -> #564, lovro
> Kako da proveravam da li su stisnuta dva dugmeta istovremeno: > strelica gore i strelica desno, na primer. Ako ne postoji bolji način, možeš da dodeliš svakom tasteru po jedan ON/OFF flag za proveru da li je pritisnut ili ne. Onda na početku programa postaviš sve na OFF, i okačiš na int 9 proceduru koja ih postavlja/ukida.
pascal.568 lovro,
Od cega je kod 9Ch (inline($9C);)? Koja vrednost ostaje u portu[$60] posle otpustanja dugmeta? A za proveravanje da li su stisnuta dva odjednom ima sledeci problem: | Port[$60] -----------------------------------+------------------------------ pritisnem 'gore' | 72 drzim 'gore', pritisnem 'levo' | 75 otpustim 'gore' | 75 -----------------------------------+------------------------------ Kao sto vidimo, iz porta 60 se ne vidi da li je otpusteno dugme koje je prvo pritisnuto. Medjutim, da sam u trecem koraku otpustio 'levo' umesto 'gore', u portu bi se pojavio neki _teskoprovaljivi_ bajt... Lovro
pascal.569 v.nesic, -> #565, peca.st
> Mislim da je jedini način da gledaš vremenski razmak između pritiska > na ta dva tastera, pa ako je manji od zadatog epsilon ;>>> Jel' si ti nekada igrao neku igricu preko tastature?
pascal.570 eagle, -> #568, lovro
> Od cega je kod 9Ch (inline($9C);)? pushf > Koja vrednost ostaje u portuŠ$60Ć posle otpustanja dugmeta? Vrednost veća za 128 od vrednosti za isto pritisnuto. > A za proveravanje da li su stisnuta dva odjednom ima sledeci > problem: Kao sto vidimo, iz porta 60 se ne vidi da li je > otpusteno dugme koje je prvo pritisnuto. Medjutim, da sam > u trecem koraku otpustio 'levo' umesto 'gore', u portu bi > se pojavio neki _teskoprovaljivi_ bajt... Vidi se u jednom trenutku, i onda tastatura nastavi da šalje signal za ono drugo (poslednje pritisnuto). Dovoljno da ga tvoja procedura iskljuci.
pascal.572 bearboy, -> #553, vita
>> Mada se može desiti i obrnuto. Ja sam moj seminarski rad u >> Petnici "preveo" iz TP u TSP i usporilo se oko 5-6 puta (!!!). >> Ako se dobro sećam, > > Idi bre Atila, pa to mi nikada nisi pokazo... Jesam, zar se ne sećaš koliko sam jadikovao Ma$ketu zbog toga ? Mada pazi ovo - kad sam doneo programčiće kući, ponovo ih iskompajlirao (ovog puta na moju mašinu, tj. 486/33), TS verzija je bila oko 10-20% brža (uz zadržanu veću preciznost slučajnih brojeva).
pascal.573 bearboy, -> #561, niklaus
> (:> Mada se može desiti i obrnuto. Ja sam moj seminarski rad u > Petnici (:> "preveo" iz TP u TSP i usporilo se oko 5-6 puta > (!!!). Ako se (:> dobro sećam, glavni razlog je bila sporija > (ali preciznija) (:> funkcija RND-a u TSP-u. > > Šta si pravio? Pogađanje brojeva? (; Još gore - simulacija telekomunikacionog kanala & testiranje algoritama za detekciju & korekciju grešaka :)
pascal.574 bearboy, -> #563, dejanr
> 2 bila u verziji 1.12, Logitech modula 2 3.30 a Turbo Pascal > 5.0. Možda Vreme je za novo poređenje. v1.12 - Brrrrr :)
pascal.575 pedjak, -> #566, mjova
> moraš napraviti novu int 9 rutinu. Hm, a kako pročitati sa porta 60h da su pritisnuta dva tastera ? Uopšte, može li tastatura da pošalje takvu informaciju ?
pascal.576 dzakic, -> #575, pedjak
> Hm, a kako pročitati sa porta 60h da su pritisnuta dva tastera ? > Uopšte, može li tastatura da pošalje takvu informaciju ? Tastatura generiše prekid (int 9) u trenutku kad taster pritisneš i u trenutku kad ga pustiš. Na portu se u prvom slučaju nađe scan vrednost pritisnutog tastera a u drugom slučaju (otpuštanje) ista vrednost samo sa setovanim sedmim bitom (+128). Treba dakle da napraviš tabelu (kao što je neko ovde pomenuo), postaviš sve na početku na 0 i okačiš se na int 9. Kad primiš vrednost manju od 128, setuj odgovarajući element niza, a ako je na portu 60h setovan sedmi bit, vrati ga na nulu. Kasnije u programu testiraj da li su ta_i_ta vrednost istovremeno postavljene na keca. Tako znaš da su oba tastera u tom trenutku pritisnuta. Na ovu foru i bios vodi računa o shift, ctrl i alt. Obrati samo pažnju na 'sive' tastere koji kod extended tastatura znaju da šalju po čitavu povorku signala, najčešće sa prefixom E0, ili sl. već sam zaboravio. žini mi se da je taster za pauzu rekorder: 4 int-a 9 za jedno stiskanje tastera i 4 za otpuštanje. zak ps. Srećna Nova!
pascal.577 eagle, -> #575, pedjak
> Hm, a kako pročitati sa porta 60h da su pritisnuta dva tastera > ? Uopšte, može li tastatura da pošalje takvu informaciju ? Ne može. Evo ide mali primer preuzete int9 procedure, prikazuje sva četiri pritisnuta arrows tastera a da pritom ne smeta ostatku programa (može se držati pritisnuta strelica i kucati u pozadini). Jedino pravi probleme u slučajevima kad su istovremeno pritisnuti levi i desni sivi taster, inače za bele (2,4,6,8) radi normalno. arrows.zip
pascal.578 bearboy, -> #569, v.nesic
>> Mislim da je jedini način da gledaš vremenski razmak između >> pritiska na ta dva tastera, pa ako je manji od zadatog epsilon > ;>>> > > Jel' si ti nekada igrao neku igricu preko tastature? E, to je već druga priča (video sam negde rutine za to) - kad se pritisne taster za gore, to se zabeleži negde, a ako se pusti, mark obriše. E sad, ako je markiran taster na gore, a stigne signal za još neki taster, znači da su pritisnuti odjednom. Nadam se da je bilo razumljivo :)
pascal.579 andrejt,
Kako iz Turbo Pacala 6.0 napraviti .OBJ fajl ?
pascal.580 dejanr, -> #579, andrejt
>> Kako iz Turbo Pacala 6.0 napraviti .OBJ fajl ? Nema načina.
pascal.581 lucas, -> #579, andrejt
>> Kako iz Turbo Pacala 6.0 napraviti .OBJ fajl ? Nikako!
pascal.582 kriss,
Da li neko zna da li se pri 'linkovanju' unita u EXE ubacuju sve procedure, ili je kompajler dovoljno inteligentan pa 'vidi' one koje se u programu koriste, i samo njih 'vadi'? Naravno, TP 6.0 :)
pascal.583 niklaus, -> #579, andrejt
(:> Kako iz Turbo Pacala 6.0 napraviti .OBJ fajl ? 1) Iz TP verzije 6.0, ja (za sada) nisam uspeo, ali moguće je za 5.0- verzije. Modifikovati .PAS fajl ubacivanjem INTERFACE dela (samo deklaracije svih procedura/funkcija) i službene reči IMPLEMENTATION. 2) Nakon toga sa SEZAMa skinuti fajl R:ĐIBMPCĐPASCAL.TPU2ASM.ZIP, i uz njegovu pomoć kovertovati .TPU u .ASM 3) TASMovati .ASM u .OBJ. 4) Voila! (:niklaus:) ps Program je napravila već veoma poznata firma u domenu TP biblioteka TurboPower, negde sredinom '89. Sigurno je da su razvijene i verzije za novije formate .TPU fajlova. Registracijom (ili sličnom metodom tipa 'money giveaway') ćeš verovatno doći do istih. (:
pascal.584 bole,
HI! Imam jedno interesantno pitanje (!) i TRAZIM KONKRETAN ODGOVOR ne neke ovo ovo.. :) Ovako, ocu da recimo na neki EXE zalepim parce koje ce se pustati pre svega, namena: Da recimo imam neki SJKL program i ocu kada ga pustim da se ispise DOBROJTRO pa da nastavi dalje... :) nesto kao virus ali da ne bude rezidentno... :) e sada lepo na posao, ja odo da se odmaram u Soko Banju vi lepo resite i iznenatite me.. recimo neka mi to bude za novu godinu ili za rodjendan! CU!
pascal.585 dejanr, -> #582, kriss
>> Da li neko zna da li se pri 'linkovanju' unita u EXE ubacuju sve >> procedure, ili je kompajler dovoljno inteligentan pa 'vidi' one >> koje se u programu koriste, i samo njih 'vadi'? Dovoljno je inteligentan, zato mu Borland tepa "Smart linker". Tako bar piše u uputstvu, ali nisam nešto mnogo detaljno proveravao.
pascal.586 vvelisavljev,
BP 7.0 Ako u Borland Pascalu 7.0 stavim compiler direktivu Target na Protected, imam izvesnih problema sa memorijom. Veći program koji usput koristi NEW i DISPOSE naredbe pri samom startovanju javlja Runtime error 216 (General Protection fault). Manje programe sam probao da kompajliram ovako i na prvi pogled rade dobro. Da li možda treba da intervenišem na nekim kompajler prekidačima? Da li je ikako moguće korišćenje prekidnih tačaka i postupnog izvršavanja programa ako se program kompajlira u protected modu? Primetio sam da BP ne trpi baš druge menadžere za memoriju. Kakva su vaša iskustva?
pascal.587 ognjen,
Kako reciti citanje recorda iz fajla? Naime, sta sam ja probao: --------------------------- type ReadLin = record broj: integer; str1: string[8]; str2: string[9]; str3: string[10]; end; var fi: file of ReadLin; Linija: ReadLin; pomocni: String; --------------------------- I, kako u programu da mu kazem da procita jedan record, ili da ga "pitam" sta se nalazi u stringu STR2 na tekucem recordu ili slicno...?
pascal.588 dejanr, -> #587, ognjen
>> I, kako u programu da mu kazem da procita jedan record, >> ili da ga "pitam" sta se nalazi u stringu STR2 na >> tekucem recordu Recimo da bi učitao slog broj 10 (broji se od nula): seek(fi, 10); read(fi, linija); pomocni:=linija.str2;
pascal.589 predragd, -> #586, vvelisavljev
> Veći program koji usput koristi NEW i DISPOSE naredbe pri > samom startovanju javlja Runtime error 216 (General Da li je tvoj program izvršio te naredbe ili je pukao pre njih. Meni su se 216 greške najčešće javljale kod programa, pisanih za real mod, koji direktno pristupaju memoriji. Ako hoćeš pošalji deo source-a na kom program puca, pa ćemo da vidimo. > Da li možda > treba da intervenišem na nekim kompajler prekidačima? Do sada nisam imao uspeha sa njima. Uvek se ispostavilo da je problem u mom programu (nepoznavanju DPMI-a). > Da li je ikako moguće korišćenje prekidnih > tačaka i postupnog izvršavanja programa ako se program > kompajlira u protected modu? Ako koristiš TDX moguće je. > Primetio sam da BP ne trpi baš druge menadžere za > memoriju. HIMEM, QEMM ili bez ikakvih memory manager-a, BP mi do sada nije pravio probleme ni sa jednim od navedenih. Peđa.
pascal.590 niklaus, -> #586, vvelisavljev
(:> Veći program koji usput koristi NEW i DISPOSE naredbe pri samom (:> startovanju javlja Runtime error 216 (General Protection fault). Evo šta kaže BPov help... ┌─ │ ┌───────────────────────────┐ │ │ General Protection fault │ │ └───────────────────────────┘ │ │ his error results if you try to access memory that is not legal for your │ pplication to access. The operating system halts your application and tells │ ou that a general protection (GP) fault occurred, but your system does not │ rash. │ │ he following practices cause GP faults: │ │ ■ Loading constant values into segment registers │ │ ■ Performing arithmetic operations on segment registers of selectors │ │ ■ Using segment registers for temporary storage │ │ ■ Writing to code segments │ ║║ ■ Accessing memory beyond the local address space given to your application │ │ ■ Derefencing nil pointers └─ Verovatno si ovo video i sam, al' hteo_ne_ hteo prekršio si neki od ovih zakona. (: Tipujem na označeni... (:> Primetio sam da BP ne trpi baš druge menadžere za memoriju. Kakva (:> su vaša iskustva? Ja se u principu trudim da program najpre savršeno radi u 'Real' modu, a tek onda ga kompajliram za 'Protected' mod. Preporučujem ti da koristiš QEMM zajedno sa DPMI dodatkom za DPMI. (:niklaus:)
pascal.591 niklaus, -> #587, ognjen
(:> var fi: file of ReadLin; (:> Linija: ReadLin; (:> pomocni: String; (:> I, kako u programu da mu kazem da procita jedan record, ili da ga (:> "pitam" sta se nalazi u stringu STR2 na tekucem recordu ili (:> slicno...? Read( fi, linija ); pomocni := linija.str2; (* Slično ide i za ostala polja u slogu *) (:niklaus:)
pascal.594 vvelisavljev, -> #586, vvelisavljev
> BP 7.0 Trebao sam biti nešto konkretniji. Program javlja: Runtime error 216 at 0002:31B2 pre nego što izvrši i jednu naredbu programa. :( Ustvari, i nije baš da ne izvši ni jednu nardbu. Našao sam grešku. :) :( :) :( :) :( Greška je u junitu TPW60 i to u proceduri TPWfill koja se izvršavala u inicijalnom delu junita. Procedura je definisana kao external. Verovatno da gađa direkt video memoriju i da ovaj zbog toga javlja grešku. :( Šta da radim? Da bacim TPW60 ili da ispravljam greške. Da li da napišem svoje ekvivalentne procedure za prozore ili ima nešto slično već napisano. Do sada nisam koristio ništa iz TVizije. :) Da li moguće bezbolno iskoristiti par procedura za rad sa prozorima iz TVa? Bio bih veoma zahvalan ako bi mi neko ovde napisao primerčić za pozivanje takvih procedura.
pascal.593 vvelisavljev, -> #590, niklaus
> ║║ ■ Accessing memory beyond the local address space given > to your application > Verovatno si ovo video i sam, al' hteo_ne_ hteo prekršio > si neki od ovih zakona. (: Da video sam. :( Po mom prevodu to znači: "Pristup memoriji pre nego što je lokalni adresni prostor dodeljem mojoj aplikaciji." Tako nekako, ako sam dobro preveo. (?) Pa, kako ovo da izbegnem? > Ja se u principu trudim da program najpre savršeno radi u > 'Real' modu, a tek onda ga kompajliram za 'Protected' mod. U tome i jeste problem što on radi u Real modu, sad, dal je savršen ili ne. (?)
pascal.592 vvelisavljev, -> #589, predragd
> Do sada nisam imao uspeha sa njima. Uvek se ispostavilo da > je problem u mom programu (nepoznavanju DPMI-a). DPMI ?? Da li ima negde na Sezamu nešto detaljnije o ovome? žega bi trebalo da se pridržavam u svom programu? > Ako koristiš TDX moguće je. Ne, koristim BP.EXE. >> Primetio sam da BP ne trpi baš druge menadžere za >> memoriju. > > HIMEM, QEMM ili bez ikakvih memory manager-a, BP mi do > sada nije pravio probleme ni sa jednim od navedenih. Izgleda da nisam dobro objasnio šta me muči. Nešto mi olako BP javlja poruke da nema dovoljno memorije i sl. Imam 2 MB RAMa, a moj exe kompajliran u Real modu ima oko 130 kB a u protected oko 150 kB. Najbolje mi radi bez ikakvih menadžera, čak i bez HIMEMa. Kako treba da izgleda $M direktiva za protected mod? U real modu mi izgleda ovako : {$M 32768,0,131072}.
pascal.595 dejanr, -> #592, vvelisavljev
>> DPMI ?? Da li ima negde na Sezamu nešto detaljnije o ovome? žega bi >> trebalo da se pridržavam u svom programu? Imaš u direktorijumu INFO fajl DPMI_TXT.ZIP (ili tako nešto) sa DPMI specifikacijom. Takođe, mogli bi te zanimati tekstovi iz prošlih i ovih "Računara" koji se upravo time bave.
pascal.596 eagle, -> #594, vvelisavljev
> Šta da radim? Da bacim TPW60 ili da ispravljam greške. Da li da > napišem svoje ekvivalentne procedure za prozore ili ima nešto > slično već napisano. Do sada nisam koristio ništa iz TVizije. > Da li je moguće bezbolno iskoristiti par procedura za rad sa > prozorima iz TVa? Ili će ceo program biti u TV ili ništa od toga. Ako ćeš se baviti TV-om slobodno baci TPW60 i njemu slične.
pascal.597 ilazarevic, -> #587, ognjen
> I, kako u programu da mu kazem da procita jedan record, ili da ga > "pitam" sta se nalazi u stringu STR2 na tekucem recordu ili > slicno...? Evo ti primer kako da otvoriš fajl i čitaš iz njega: š$I-ć Assign(fi,'proba.dat'); Reset(fi); š$I+ć if IOResult<>0 then begin WriteLn('Greška pri otvaranju fajla!'); Halt(1); end; Read(fi,linija); pomocni:=linija.str1; Izvini na juskiju.
pascal.598 kriss,
Ux, malo sam se igrao sa TP 6.0 i izgleda da ipak nije toliko pametan :( Međutim, nadam se da grešim :) Sledi izvod iz .MAP fajla (program je kompajliran sa TPCX) i koliko vidim, tu se nalazi ceo CRT unit, a ne samo delovi koji se koriste u programu. E sad, opet se nadam da grešim. Međutim: Start Stop Length Name Class 00000H 004B7H 004B8H TRTMRT CODE 004C0H 0051FH 00060H MAINUNIT CODE 00520H 017E5H 012C6H TPWX CODE (poboljšani tpw60) 017F0H 037A6H 01FB7H MMAGACIN CODE 037B0H 041C3H 00A14H MAGUNIT CODE 041D0H 047E3H 00614H CRT CODE 047F0H 05BD2H 013E3H SYSTEM CODE 05BE0H 06163H 00584H DATA DATA 06170H 0A16FH 04000H STACK STACK 0A170H 0A170H 00000H HEAP HEAP Address Publics by Value 0000:004F HEADER 0000:006A MKWIN 0000:01C4 MAG . . . 041D:0000 č 041D:016B TEXTMODE 041D:0180 WINDOW * 041D:01C0 CLRSCR 041D:01DA CLREOL * 041D:01EE INSLINE * 041D:01F3 DELLINE * 041D:0213 GOTOXY 041D:023F WHEREX * 041D:024B WHEREY * 041D:0257 TEXTCOLOR 041D:0271 TEXTBACKGROUND 041D:0289 LOWVIDEO 041D:028F HIGHVIDEO 041D:0295 NORMVIDEO 041D:029C DELAY 041D:02C7 SOUND 041D:02F4 NOSOUND 041D:02FB KEYPRESSED 041D:030D READKEY 041D:032F ASSIGNCRT * ... Procedure sa zvezdicama *sigurno* nisu korišćene, ali ipak su tu, tj. zauzimaju prostor (!?!). Zato sam i pitao pre par dana da li je kompajler dovoljno _smart_ pa da ume da profiltrira kôd. Međutim, pošto se ne razumem baš puno u te MAP fajlove ;) ostaje na nekom ko se razume. :) Odgovor mi je važan jer u slučaju da je pred AmNoM ne_smart kompajler, odoh da pravim svoj crt ...
pascal.599 kriss,
Ipak je glup. Dokaz je zakačen, da ne ovako, pa ko hoće nek se uverava. P.S. A sad na KrissCrt ;) glupi_tp.zip
pascal.600 peca.st,
Kako najbrže staviti pixel na ekran u rezoluciji 640*480*256? Mem Š$a000:xĆ radi samo do određene granice, zato što, naravno, obuhvata samo jedan segment od 64k. Dakle, koje su adrese ostalih segmenata video memorije? Peđa.
pascal.601 markom, -> #592, vvelisavljev
■■■ DPMI ?? Da li ima negde na Sezamu nešto detaljnije o ovome? ■■■ žega bi trebalo da se pridržavam u svom programu? Bilo je u nekom od prošlih Računara ... Marko
pascal.602 markom, -> #593, vvelisavljev
■■■ U tome i jeste problem što on radi u Real modu, sad, dal je ■■■ savršen ili ne. (?) Reci mi iskreno, da li si IKADA vide savršen program? Marko
pascal.603 markom, -> #594, vvelisavljev
■■■ external. Verovatno da gađa direkt video memoriju i da ovaj ■■■ zbog toga javlja grešku. :( žekaj, stani malo... Kaži mi da ako sa BP 7.x program prevedeš u protected modu, i iz njega probaš direktno da gađaš video memoriju, ovaj će da pukne ?!? Ako je to istina onde ću morati da pišem 99% programa iz početka :((( Marko
pascal.604 peca.st, -> #598, kriss
!-> Procedure sa zvezdicama *sigurno* nisu korišćene, ali ipak su tu, !-> tj. zauzimaju prostor (!?!). Zato sam i pitao pre par dana da li !-> je kompajler dovoljno _smart_ pa da ume da profiltrira kôd. O ovome je mislim već bilo reči... Uglavnom, ako se dobro sećam, zaključili smo da crt unit ima neku svoju inicijalizaciju i obavezno ubacuje parče koda. Napiši program koji izgleda ovako: uses crt; begin end. Onda napiši ovo: uses dos; begin end. I na kraju: begin end. Videćeš da su posledna dva .exe ista po dužini, a prvi je nešto duži. Peđa.
pascal.605 markom, -> #598, kriss
■■■ pred AmNoM ne_smart kompajler, odoh da pravim svoj crt ... Ajd' pa ga okači ;)) Marko
pascal.606 dejanr, -> #598, kriss
>> Ux, malo sam se igrao sa TP 6.0 i izgleda da ipak nije toliko >> pametan :( Međutim, nadam se da grešim :) >> Sledi izvod iz .MAP fajla (program je kompajliran sa TPCX) i >> koliko vidim, tu se nalazi ceo CRT unit, a ne samo delovi koji se Ne grešiš, što se CRT unit-a tiče. Ali, mislim da je on, kao sistemski unit, ipak priča za sebe. Probaj sa nekim svojim procedurama, recimo napraviš par potprograma koji u sebi imaju neke karakteristične tekstove ali se nikada ne pozivaju, prevedeš pa pogledaš ima li tih tekstova u EXE-u. Javi šta si ustanovio... da vidimo lažu li u dokumentaciji :)
pascal.607 kriss,
I još samo nešto O:) Da li postoji tpu2obj. Važno mi je da bude OBJ kako bi se sačuvale kompletne f-je (mislim sa sve imenima)? Tpu2asm iz dira radi samo sa tp 5.0 :(
pascal.608 markom, -> #606, dejanr
■■■ Javi šta si ustanovio... da vidimo lažu li u dokumentaciji :) Ne znam šta kažu u dokumentaciji ;>>, ali nema ih :) Marko
pascal.609 ognjen, -> #591, niklaus
)-> Read( fi, linija ); )-> pomocni := linija.str2; Ne radi. :( Daklem, procita ga Ok, ali kad mu kazem writeln(linija.str2) on ispise neke gluposti... Recimo umesto 3 karaktera, porcita 10 i ispise ih 4 puta... ???
pascal.610 andrejt, -> #607, kriss
Pa imas binobj nisam mnogo gledao ali trevalo bi da radi .
pascal.611 kriss,
Uh, moraću da se izvinim TP-u :) Glup je, al samo za crt. Inače je kompajler pametan, sad je provereno. :) MeĐuTiM ;) nije mi jasno zašto je tako. Neko je rekao da je CRT sistemski unit, međutim po tpumover-u su sistemski i DOS i PRINTER, pa ih ipak ne 'gura' u .EXE? Evo šta kaže isti: D:ĐTPĐUTILS>tpumover d:ĐtpĐturbo.tpl TPU Mover Version 6.00 Copyright (c) 1987,90 Borland International Unit Code Data Uses SYSTEM 21585 676 OVERLAY 1855 26 SYSTEM CRT 1556 20 SYSTEM DOS 1594 6 SYSTEM─┐ PRINTER 54 256 SYSTEM─┴ i ovi su/koriste system? P.S. E vala ću biti uporan ;)
pascal.612 vvelisavljev, -> #603, markom
> žekaj, stani malo... Kaži mi da ako sa BP 7.x program > prevedeš u protected modu, i iz njega probaš direktno da > gađaš video memoriju, ovaj će da pukne ?!? To je samo pretpostavka. Zbog čega bi drugog pukla procedura koja puni deo ekrana jednim karakterom?
pascal.613 markom, -> #612, vvelisavljev
■■■ To je samo pretpostavka. Zbog čega bi drugog pukla procedura ■■■ koja puni deo ekrana jednim karakterom? Ako je iz TPW6, onda me ne čudi, jerbo je to PUNO bagova, ali direktno gađanje video memorije je osnova 60% mojih programa pisanih u TP 6 !! Ako to ne radi u sedmici, ostadoh ja na 6 :)) Marko
pascal.614 markom, -> #609, ognjen
■■■ Daklem, procita ga Ok, ali kad mu kazem ■■■ writeln(linija.str2) on ispise neke gluposti... Recimo umesto ■■■ 3 karaktera, porcita 10 i ispise ih 4 puta... ??? žekaj malo, nadam se da si tu promenljivu FI, definisao kao FILE OF type, a ne kao TEXT, jerbo ako si je tako definisao nije ni čudo što ti ne radi ;) Marko P.S. Uz poruku je program koji SIGURNO radi! P.P.S. Naravno, podrazumeva se da fajl nije prazan :) slog.pas
pascal.615 ilazarevic, -> #609, ognjen
> Daklem, procita ga Ok, ali kad mu kazem writeln(linija.str2) Ovo ne može da radi zato što je fajl sastavljen od rekorda. Dakle, ti možeš da upišeš samo jedan ceo rekord, čijim elementima dodeljuješ vrednosti. Da je tekst fajl, moglo bi.
pascal.616 isekulovic,
Da li je moguće kopirati sadržaj jedne grafičke stranice na drugu? Razmišljao sam o kopiranju video memorije, ali ne znam kako bi to išlo na ega/vga. I šta znači kad RegisterBGIFont javi grešku -13 InvalidFont, zaglavlje fonta nije prepoznato ?!?!
pascal.617 paki, -> #611, kriss
­> Glup je, al samo za crt. Inače je kompajler pametan, sad je ­> provereno. :) MeĐuTiM ;) nije mi jasno zašto je tako. Neko je ­> rekao da je CRT sistemski unit, međutim po tpumover-u su ­> sistemski i DOS i PRINTER, pa ih ipak ne 'gura' u .EXE? Evo šta Da nije zbog toga što CRT ima i inicijalizaciju?