pascal.614igorl,
>> Kako da uletim u neki txt fajl i pobrisem sva slova A recimo.
>> Konkretno mi treba da se pobrisu svi znakovi Hex(01).
>> Mogu i da se zamene sa spacetom...
Probaj ovaj program, mozes da biras dali ces da zamenis sa
'spacetom', ili ces da brises HEX (01).
delhex01.paspascal.615montekristo,
Moze li neko da mi posalje printer.tpu unit.Postoji li neki drugi
nacin za direktni izlaz na stampac.Probao sam sa write(prt,...) i
sa slicnim komandama ali to mi nije uspelo.
Unapred hvala. Goran
pascal.616sale.car,
-> #614, igorl Ig> Probaj ovaj program, mozes da biras dali ces da zamenis sa
10x a lot !!!
Cya
pascal.617sale.car,
-> #615, montekristo Mo> Moze li neko da mi posalje printer.tpu unit.Postoji li neki drugi
Mo> nacin za direktni izlaz na stampac.Probao sam sa write(prt,...) i
Mo> sa slicnim komandama ali to mi nije uspelo.
Mo> Unapred hvala. Goran
Pogledaj poruku 196 u ovoj temi !
Uz poruku je fajl koji stampa deo ekrana na epson
matricnim shtampacima...
Valjda ce biti od koristi...
Cya
pascal.618legend,
-> #608, sale.car-=-> gde ima da se skine delphi i koliki je on u stvari !?
-=-> Ako neko ima neka mi kaze...
-=-> Znam da ce ovo da se brise zbog ... ali da li postoji neka
-=-> share vare ;) verzija ?
Ovaj... koliko ja znam (a možda i grešim) Delphi je velik 15HD...
Gde ćeš ovo da skineš, neznam, ali možeš da kupiš kod pirata...
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.619legend,
-> #604, sale.car-=-> Kako da uletim u neki txt fajl i pobrisem sva slova A recimo.
-=-> Konkretno mi treba da se pobrisu svi znakovi Hex(01).
-=-> Mogu i da se zamene sa spacetom...
Dakle, blockread deo fajla, pa petljom zameniš sve $01 sa $20, pa
blockwrite u drugi fajl, pa ponoviš sve to onoliko puta koliko treba (dok
ne
prođe ceo fajl), pa onda erase stari fajl, pa rename novi u stari i sve je
ok. Kad me ne bude mrzelo da pišem source, napisaću (jel?) pa ćuda kačim...
Ajd probaj i ti...
-=-> 10x unapred i necu vise bar jedno 3-4 dana ;)))
Što? Pitaj, bre sve znam.... ;))))
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.620montekristo,
Moze li neko da mi posalje printer.tpu unit.Postoji li jos neki
nacin direktnog ispisa iz programa na stampac.Zna li neko sta treba
da uradim pa da bih misa ukljucio u program na paskalu.I poslednje
pitanje.Zna li neko koji format da upotrebim da bih izlazne
rezultate programa mogao da vidim u Wordu onakve kakve zelim.
Goran
pascal.622sale.car,
neko je trazio printer tpu...
saljem puno rutina za stampac.
cya
pascal.623sale.car,
puce mi veza :(
saljem ponovo !
printer.arjpascal.624visnja,
-> #602, sale.car> funkcija.exe 'x+2'
> i on to da ubaci u prg-u kao
Veselo!
Ne zelim da te plasim, ali resenje nije trivijalno.
Potrebno je da napises jednu lepu proceduru koja ce da resava izraze,
pazeci na prioritet operacija, zagrade, da uvedes varijable...
potrudis se jos malo i napravaio si pravi programski jezik.
Ko se seca ZX SPECTRUMA i njegove VAL naredbe koja je resavala izraze,
a sada radi u paskalu, verovatno stavlja ZX Basic ispred Borland Pascala.
Da skratim, imam jedan UNIT koji sam napisao i zove se naravno ZXVAL,
Unit ima jednu proceduru kojoj posaljes npr. 'x+2', pre toga si naravno
poslao 'x=10' i unit ti vrati 20. Mislim da ce ti i te kako koristiti.
Unit sam napisao odavno, uz pomoc jednog MOCNOG texta iz racunara,
zaboravih autora, neka mi ne zameri, ali text se zove 'Rastavi me nezno'.
Barem mislim da je to taj clanak... hmmm... izlapeo sam skroz...
Ajd javi ako je problem jos aktuelan pa da saljem unit...
Pozdrav, Visnja
pascal.625visnja,
-> #603, sale.car> Da li je moguce potpuno kontrolisati stampac matricni
> i to tako da mu se kontrolise koja ce iglica da udari,
> pomeranje glave i pomeranje papira...
Jeste moguce, sto se tice iglica u glavi, cak je to tako i zamisljeno.
Da nemas PC-a, koji zaglupljije ljude, nego da imas npr. Commodore64 ili
ZX Spectrum-a, morao bi da se pozabavis tim iglicama, ovako drajveri za
windows-e sve rese i ti nemas pojma kako!
Uzmi neko dobro epsonovo uputstvo, nadji na SEZAMU HELPPC, u HELPPC-u
nadji adresu LPT porta i salji kodove stampacu direktno. Mozes da
koristis i PRINT unit iz BORLAND pascala (7.0), pogldaj Borlandov help
kako. (ja nista neznam napamet, zato sam pun helpova). Iz EPSON-ovog
uputstva nadji stampanje grafike i vozi.....
Iz uputstva za stampac (dobrog!) bice ti jasno sta sve sa printerom mozes,
na nazovimo ga niskom nivou...
Pozdrav, Visnja.
pascal.626visnja,
-> #607, sale.car> Ds> * tvision mi ne pomaze...
>
> Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda...
> Uglavnom je opis: Kreiranje dijaloga u TP-u...
POLAKOOOOO, DLGDSN je strava program, ALI ZA TVISION, a covek nece TVISION,
sto je steta. Prouci TVISION, sto da izmisljas vrucu vodu, kada
ljudi sve izmislise, ti samo da koristis...
pascal.627visnja,
-> #611, sale.car> He> Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti
> skidaj He> :)
> He> Sale
>
> Na mom disku nema toliko slobodno :(((((
> Enivej 10x !
Na mom i preko 100Mb, zbog knjiga...
pascal.628visnja,
-> #612, sale.car> da li neko zna kako da ocitavam podatke sa paralelnog porta !?
> Dakle, recimo ubacujem 5v u pin 11 (mislim da je Busy) i u
> programu treba da mi se umesto iskljucenog pojavi ukljuceno...
> Moze i na nekom drugom pinu...
> Well.. 10x unapred...
Prosto, uzmi vec pomenuti HELPPC, tamo imas adresu LPT1, i dovodi pet
volti preko nekog otpornika, probaj 1K, da ne spalis nesto... ako
promasis BUZY. U Borlandovom HELPU nadji kako port da citas.
Imam i negde i neki UNIT za ovaj problem, pa ako ti je stvarno zapelo,
javi da ga nadjem i saljem.
Unit upravo cita BUZY ili neki drugi PIN, na taj pin je zakacen IR prijemni
deo, da mozes PC-a da teras preko nekog daljinca!!!
Pazi ja duuugooo radim u pascalu i imam
strasnoooo mnogo unit-a u kojima se treba snaci. Zato prvo probaj sam,
pa ako ne ide javi mi... OK
Pozdrav, Visnja
pascal.629sale.car,
-> #624, visnja Vi> sam skroz... Ajd javi ako je problem jos aktuelan pa da saljem unit...
Spasioce ! ;)
SAAAALJJJIII !
Cya
pascal.630sale.car,
-> #625, visnja Vi> Jeste moguce, sto se tice iglica u glavi, cak je to tako i zamisljeno.
Vi> Da nemas PC-a, koji zaglupljije ljude, nego da imas npr. Commodore64
Vi> ili ZX Spectrum-a, morao bi da se pozabavis tim iglicama, ovako
Vi> drajveri za windows-e sve rese i ti nemas pojma kako!
Vi> Uzmi neko dobro epsonovo uputstvo, nadji na SEZAMU HELPPC, u HELPPC-u
Vi> nadji adresu LPT porta i salji kodove stampacu direktno. Mozes da
Vi> koristis i PRINT unit iz BORLAND pascala (7.0), pogldaj Borlandov help
Vi> kako. (ja nista neznam napamet, zato sam pun helpova). Iz EPSON-ovog
Vi> uputstva nadji stampanje grafike i vozi.....
Vi> Iz uputstva za stampac (dobrog!) bice ti jasno sta sve sa printerom
Vi> mozes, na nazovimo ga niskom nivou...
Hmm... HelpPc imam i znam kako da kontrolisem Lpt port ali...
Hmmm... pa nista, probacu (mada nemam stampac :))...
10x enivej... Cya
pascal.631sale.car,
-> #626, visnja > Ds> * tvision mi ne pomaze...
>
> Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda...
> Uglavnom je opis: Kreiranje dijaloga u TP-u...
Vi> POLAKOOOOO, DLGDSN je strava program, ALI ZA TVISION, a covek nece
Vi> TVISION, sto je steta. Prouci TVISION, sto da izmisljas vrucu vodu,
Vi> kada ljudi sve izmislise, ti samo da koristis...
Ja sam ukapirao da mu tvision ne pomaze u smislu da tvision ne moze
da kreira tako nesto...
Ako gresim sorry ;)
Cya
pascal.632sale.car,
-> #628, visnja Vi> Imam i negde i neki UNIT za ovaj problem, pa ako ti je stvarno zapelo,
Vi> javi da ga nadjem i saljem.
Vi> Unit upravo cita BUZY ili neki drugi PIN, na taj pin je zakacen IR
Vi> prijemni deo, da mozes PC-a da teras preko nekog daljinca!!!
Da, da... Ja sam isprobavao nesto ali ipak mislim da sam spalio
Lpt... imam jedan u rezervi...
Ima li neko one slike kako se pravi loopback ???
E ja sam kao napravio jedan i iz ndiagsa sam testirao Lpt ali
nista ne prijavljuje, cak mi kaze da ga ubacim !
To sam probao na svom (koji je sumnjiv) i od druga sam pozajmio
medjutim ista pesma...
Kod mene savrseno rade data pinovi (od 2 do 8) ali nikako nisam
uspeo da detektujem sa busy-a ili sl...
Pokusao sam da ukljucim pin 2 i da ga spojim sa busy pinom (15)
i da tako detektujem ali nije uspelo...
Malo me je strah da mu ubacujem neko napajanje sa strane...
Da li neko ima pojma koliki max napon i amperaza treba da se ubaci
u Lpt a da se ne spali !?
(ala ga ugnjavi ja :))
Btw, salji onaj unit... jedino mi je on ostao !!
10x unapred
Cya
pascal.633vitez.koja,
-> #624, visnja#=> Unit ima jednu proceduru kojoj posaljes npr. 'x+2', pre toga si
#=> naravno poslao 'x=10' i unit ti vrati 20.
Alaj si je napisao, svaka ti čast :)
sk
pascal.635pesnik,
-> #602, sale.car
> Da li je mouce da u komandnoj liniji zadam neki
> string a pascal da ga prevede u nesto drugo ;))
Pokusaj da program definises kao proc ili func, sa jednim parametrom.
Na mesto (u programu) gde unosis f-ju, ubaci gore navedeni
parametar kao &makro. Posle prevodjenja u .EXE, navedi (posle naziva
programa) samu funkciju, pa gledaj da li ce da uspe.
Note: Ne znam da li sam ti mnogo pomogao, jer lupam po Clipper-u i Fox-u,
a problem je najlakse resiv upotrebom makroa. Ne znam kao se to
resava u paskalu, ali mozda bi moglo da uspe
U clipperu, to bi izgledalo ovako:
BOF .............
FUNCTION Funkcija(f) -> f = parametar funkcije (primer: f=x+2)
y = &f -> ovde se putem makroa (&) dodeljuje
... y-lonu referentna vrednost f
EOF..............
Posle compillinga i linkovanja sledi:
C:\> funkcija x+2
ili
C:\> funkcija x^3
Ako sam ti pomogao, O.K., ako nisam, pisi ponovo. Poz. :)
pascal.636pvlada,
Imam 2 pitanja:
1.Kako da radim u pascalu sa 256 boja?
2.Da li postoji procedura koja proverava brzinu procesora?
Vlada
pascal.637aikimen,
Je li zna neko ko je zastupnik Borlanda kod nas i da li taj isti
ima neku e-mail adresu, na koju bih mogao da priupitam o cenama?
pascal.638evlad,
-> #636, pvlada=- 1.Kako da radim u pascalu sa 256 boja?
Skini iz dir-a svgabgi, tamo imaš bgi drajvere i prateću dokumentaciju.
ako ćeš da petljaš sa mišem, tada ti treba drajver koji će da prepozna
800x600 ili neku drugu jaču rezoluciju.
=- 2.Da li postoji procedura koja proverava brzinu procesora?
Iz standardne biblioteke funkcija: ne.
pascal.639visnja,
-> #633, vitez.koja>
> Alaj si je napisao, svaka ti cast :)
Stvar je dobrim delom zasnovana na tekstu VIKTORA CEROVSKOG,
Racunari 79 : "Rastavi me nezno", dakle NJEMU SVAKA CAST.
pascal.640visnja,
-> #629, sale.car> Spasioce ! ;)
> SAAAALJJJIII !
Probam da saljem... neznam kako iz SOR-a da kacim datoteku,
nadam se da je ovde...
Pozdrav, Visnja.
zxvalpascal.641visnja,
-> #631, sale.car> Ja sam ukapirao da mu tvision ne pomaze u smislu da tvision ne
> moze da kreira tako nesto...
> Ako gresim sorry ;)
Sam program DLGDSN je napisan pomocu TVISION biblioteke.
TVISION i te kako moze da pravi dijaloge, ulazne linije...
Ali je mukotrpno jer se sve koordinate unose kao cetiri cifre.
Kako to izgleda vidi se tek po kompajliranju i startovanju programa.
Sa DLGDSN crtas dijaloge i on ti generise program sa pravilnim
koordinatama.
pascal.642visnja,
-> #632, sale.car> Da li neko ima pojma koliki max napon i amperaza treba da se
> ubaci u Lpt a da se ne spali !?
> (ala ga ugnjavi ja :))
> Btw, salji onaj unit... jedino mi je on ostao !!
Da probamo da nadjemo...
A sto se tice spaljivanja, nisam bas maher za elektroniku,
a nije ni odgovarajuca tema...
ali potrudi se da ne spajas dva izlaza, onda se potrudi da +5V ne dovodis
direktno da bi napravio logicno 1, nego preko otpora koji ce biti
potrosac u slucaju kratkog spoja (npr dovedes +5V greskom na izlaz
koji je na niskoj razini, ali tako nesto).
pascal.643sale.car,
-> #636, pvlada Pv> Imam 2 pitanja:
Pv> 2.Da li postoji procedura koja proverava brzinu procesora?
Saljem tpu za identifikaciju procesora i brzinu...
(u sledecoj poruci ;))
Cya
speed.arjpascal.644sale.car,
-> #642, visnja Vi> Da probamo da nadjemo...
Vi> A sto se tice spaljivanja, nisam bas maher za elektroniku,
Vi> a nije ni odgovarajuca tema...
Vi> ali potrudi se da ne spajas dva izlaza, onda se potrudi da +5V ne
Vi> dovodis direktno da bi napravio logicno 1, nego preko otpora koji ce
Vi> biti potrosac u slucaju kratkog spoja (npr dovedes +5V greskom na izlaz
Vi> koji je na niskoj razini, ali tako nesto).
:-( ;)
uzas... fly fly my beauty LPT1 ;)
eh... probacu... 10x na odgovoru ;)
Cya
pascal.645nenad,
-> #637, aikimen> Je li zna neko ko je zastupnik Borlanda kod nas i da li taj isti
> ima neku e-mail adresu, na koju bih mogao da priupitam o cenama?
Mislim da borland još uvek nema zastupnika, ali koliko mi je
poznato firma CET (odnosno Softland) je bio njihov diler pa je
moguće da su obnovili veze. Opet, izgleda da to još uvek sve ide
preko Slovenije pa su i cene vesele.
pascal.646npmiki,
Hi !
Hitno mi je potreban unit za 3d crtanje. Ovaj sa sezama imam ,
ne stima. Tj. potreban mi je bolji a pre svega nesto kao pogled
kamere u 3d studiju. Onda resena vidljivost poligona , crtanje
samo onih koje vidi kamera tj. posmatrac .
Hvala unapred , u obzir bi mogao da dodje i neki algoritam ili
nesto slicno.
pascal.647sale.car,
-> #646, npmiki Np> Hi !
Np> Hitno mi je potreban unit za 3d crtanje. Ovaj sa sezama imam ,
Np> ne stima. Tj. potreban mi je bolji a pre svega nesto kao pogled
Np> kamere u 3d studiju. Onda resena vidljivost poligona , crtanje
Np> samo onih koje vidi kamera tj. posmatrac .
Np> Hvala unapred , u obzir bi mogao da dodje i neki algoritam ili
Np> nesto slicno.
A sto ne uzmes 3D Studio v4.0 !? ;)))) Malko je bolji od pascala...
Cya
pascal.648npmiki,
-> #647, sale.carHvala ti na savetu , ali vec imam 3d studio (sve verzije) :)
Kao sto sam vec napisao , trebaju mi brze procedure od onih
obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke
transformacije koje ubrzavaju racunanje tj. rotiranje tacaka
x,y,z za neke uglove ax,ay,az. Ono zasta mi to treba , 3ds je
nepogodan. Ako mozes da pomognes bio bih ti mnogo zahvalan .
Znaci : procedure , algoritmi ili cak neka literatura u vezi
toga . Sto se tice literature , to bih bio spreman i da platim
koliko kosta.
10x.
pascal.649sale.car,
HI!
Otvaram grupu povodom zanimljivog projekta...
Daklem:
Napravio űbih uredjaj koji bi pratio promenu frekvencije
gradske mreze od normalnih 50 hz...
Ako neko zeli neka me mailnuje za grupu !
Cya
pascal.650legend,
-> #648, npmiki-=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih
-=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke
-=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka
-=-> x,y,z za neke uglove ax,ay,az. Ono zasta mi to treba , 3ds je
-=-> nepogodan. Ako mozes da pomognes bio bih ti mnogo zahvalan .
Kako nepogodan? Ako sam dorbo razumeo ne rotiraš ceo predmet nego neke
njegove tacke za neki ugao, ali oko čega?
-=-> Znaci : procedure , algoritmi ili cak neka literatura u vezi
-=-> toga . Sto se tice literature , to bih bio spreman i da platim
-=-> koliko kosta.
Pa ja sam video ne nekom BBS-u dosta funkcija o tome... samo, koji beše...
ček... Axa, ecstasy bbs u direktorijumu [Dos] rpogramming imaš
nekoliko fajlova za 3d zajebancije, što u pas, a nešto u ASm:
3dbasic.zip ; bubble.zip; fh-3dtut.zip; vga-vul4.zip i gourad.zip...
Ovo poslednje je ql jer je tip napisao program za gouradovo senčenje a imaš
i source...
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.651space.ace,
-> #650, legend>> Ovo poslednje je ql jer je tip napisao program za gouradovo senčenje a
Ovo meni posebno treba, pa ako bi bio dobar neko da mi to skine, ili bar
da mi da no. telefona tog BBS-a, da bih sam "skinuo".
Hvala veliko!
pascal.652igorl,
-> #651, space.ace> da mi da no. telefona tog BBS-a da bih sam "skinuo".
Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga:
022/53-884, radi non-stop, a ne plaća se pretplata.
pascal.653legend,
-> #652, igorl-=-> Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga:
-=-> 022/53-884, radi non-stop, a ne plaća se pretplata.
jeste, samo ima je ECSTASY ali to nije bitno... bitno je da da bi
nešto skidao, moraš nešto i da pošalješ... e sad odnos je 5:1 pa pošalji
recimo novi f-prot i dobićeš ul ratio 1500kb i onda se rešio problem...
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.654legend,
-> #652, igorl-=-> Koliko sam shvatio treba ti broj telefona EXTASY-ja, pa evo ga:
-=-> 022/53-884, radi non-stop, a ne plaća se pretplata.
jeste, samo ima je ECSTASY ali to nije bitno... bitno je da da bi
nešto skidao, moraš nešto i da pošalješ... e sad odnos je 5:1 pa pošalji
recimo novi f-prot i dobićeš ul ratio 1500kb i onda se rešio problem...
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.655npmiki,
-> #650, legendAjd , probacu 022-53-884 , ali jel mogu ja njima da posaljem
bilo sta da bi downloadovao nesto? Jel radi non-stop ?
10x.
pascal.657sale.car,
HI!
Da li neko moze da mi kaze kako se ocitavaju podaci sa
com1 porta... uglavnom me zanima mis... tj. da budem
precizan kako da ocitam podatak sa 2 pina.. ja mislim
da je to Receive Data pin...
E, sad.. ja sam to kao uradio medjutim sta se desava..
Kada ja spojim pin 2 sa pozitivnim naponom on mi nekad
prihvati da ima napona a nekad ne... tj. nisam uspeo
da provalim kako on prepoznaje da li ima napona...
Ono klasicno ima/nema ne pali jer jednostavno nije tako...
Ako nisam jasan recite :)
Cya
pascal.658superhik,
Da li neko može ukratko da mi objasni osnovnu logiku
programiranja TSR programa u TP 6.0
Konkretno mislim na ideju koliko max memorije bi trebao da
zauzima i tako to (odnosi se na programe u globalu...)
pascal.661space.ace,
Imam jedan minorni pro(m)blem...
Rešio sam ponovo da se zezam sa VGA programiranjem, pa sam ispočetka
počeo da pišem unit za rad sa time. Sve je fino prošlo, sve procedure
koje su mi trebale sam napisao, međutim video sam fini algoritam
Triple Sine Plasme, koji sam lako izradio, no međutim nisam uspeo da
prevedem "parče koda" koje treba da puni jedan niz sa vrednostima
sinusa uglova. Davno sam to radio, pa se i ne sećam kako sam to jednom
izveo. Imam original asm kod te procedure, pa sam hteo da prevedem
na Turbo Pascal asm.
Original asm izgleda ovako :
*****
data segment ;written for the a86 assembler
org 200h
cos db 64*3 dup 0
sin db 64+256 dup 0
data ends
code segment
org 100h
start:
mov bx,0798fh ;initial position
xor cx,cx ;initial velocity
mov bp,512 ;
Iloop:
mov ax,-39
imul bx
add cx,dx
add bx,cx
mov cos[bp],bh
dec bp
jns Iloop
end
****
Kada sam ga preveo na Pascal asm izgledalo je ovako :
****
type blah = array [0..600] of integer;
procedure punicos(var coss:blah); assembler;
label start,loop; {može i bez ovoga, sa onim @start i @loop, ali mi je }
var i:integer; {lakše ovako :) }
asm
start:
mov ax,0798fh
xor cx,cx
mov bp,512
loop:
mov ax,-39
imul bx
add cx,dx
add bx,cx
mov coss[bp], ax { coss[bp] je niz za čuvanje...}
dec bp
jns loop
end;
****
Međutoa, to ne štima! Nesećam se što, pa se obraćam svima vama da
pomognu. Inače, za ovo prijavljuje "invalid register combination",
a čas "invalid opcode or operand".
Još mi samo to fali pa da upotpunim svoj mali intro :), pa pomozite.
Pozdrav, aco.
pascal.663acafaca,
Kako se gasi kursor u paskalu?
pascal.664sale.car,
-> #663, acafaca Ac> Kako se gasi kursor u paskalu?
Evo ti mali prg...
Jos sam ga i spakovao !! ;)
Cya
pascal.665sale.car,
-> #663, acafacaE evo ga fajÚ]l :)
hide.arjpascal.666space.ace,
-> #657, sale.car>> Da li neko moze da mi kaze kako se ocitavaju podaci sa
>> com1 porta... uglavnom me zanima mis... tj. da budem
Šta te konkretnije zanima, sam rad sa mišem ili sam rad sa comm portom.
Ako ti treba ovo prvo, evo ti source za init i rad sa mišOm, pa ako ti
je ok, super.
*****
var
Mouse : record
X, Y : word;
Buttons : word;
end;
Procedure InitMouse;
begin
asm
mov ax, 0
int $33
end;
end;
Procedure ShowMouse;
begin
asm
mov ax, 1
int $33
end;
end;
Procedure HideMouse;
begin
asm
mov ax, 2
int $33
end;
end;
Procedure MouseButtons;
begin
asm
mov ax, 5
mov bx, 0 { svi dugmići }
int $33
mov mouse.buttons, ax
end;
end;
Procedure MouseWhere;
begin
asm
mov ax, 3
int $33
mov mouse.x, cx
mov mouse.y, dx
end;
end;
****
Valjda sam pomogao...
pascal.667legend,
Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat
u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)...
Imam koordinate tačaka i to u trodimenzionalnom nizu i to ovako:
tacke[1..6, 1..4, 1..3]:single;
broj 4ugloa broj tačke 1=x,2=y,3=z
u telu u 4uglu koodrinata tač2ke
E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru koju ću
da pozovem sa rotate(a,b,c) i da mi posle u istom nizu vrati koordinate
tačaka rotiranih za odrađen ugao...
Pliz, nije hitno koliko je bitno, a probao sam sa raznim sourceovima za
neke 3d izmotancije i ništa ne mogu da primenim (ili sam glup, ili mi nešto
ovbde smrdi, ne zvao se ja lorimer, a i ne zovem se tako ;)))))))
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.668legend,
-=->>> Ovo poslednje je ql jer je tip napisao program za gouradovo
-=-> senčenje a
-=-> Ovo meni posebno treba, pa ako bi bio dobar neko da mi to skine,
-=-> ili bar da mi da no. telefona tog BBS-a, da bih sam "skinuo".
-=-> Hvala veliko!
Dakle... evo ti ali neznam koliko će da ti pomogne... Ja sam nešto brčkao
oko 3d crtanja i sračunavanja perspektive, i došao sam do trijijalnog
rešenja koje RADI! Iscrtavanje ide ko po loju ali se mučim sa rotiranjem
objekata... Ako sam dobro provalio SOR uz ovu poruku bi trebalo da stigne
ono gouradovo senčenje, a kad napišem dokumentaciju za moje čokotalo i
njega ću da obesim ;))) In the meen time, ako neko zna kako ide rotiranje
nekog tela, nek kači primer obavezno!
e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke
animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve
ispočetka... Nije se toliko primećivalo sa malim objektima i sa
translacijom, ali kako sam povećavao objekte i probao retaciju sve je više
treperelo...
Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se
to
radi... Valjda treba da se video bafer (trenutni) uporedi sa nekim delom
memorije u kome je slika koja treba da se iscrta pa da se primeni AND i NOT
na to što se dobije i taj dobijeni deo da se iscrta... Valjda...
Ajd ako neko zna nek me prosvetli...
btw, gde je video memorija kod herculesa za grafiku?
Legend of LoC!/eXplosives
Alone till doom's day!
gourad.rarpascal.669hercog,
-> #667, legend** Pliz, nije hitno koliko je bitno, a probao sam sa raznim sourceovima za
** neke 3d izmotancije i ništa ne mogu da primenim (ili sam glup, ili mi nešto
A da ti baciš amo te sourcove :) pa da ih pogledamo?
Sale
pascal.670dule.n,
-> #668, legend> btw, gde je video memorija kod herculesa za grafiku?
Počinje na $B000:$0000 a veličina je $7E96.
Nulta linija počinje od $B000:$0000 pa sledećih 90 bajtova (720/8).
Na sledećih 90 bajtova je četvrta linija, iza nje osma, itd.
Prva linija počinje od $B000:$2000, pa peta, deveta,...
Sve po modulu 4.
Druga, šesta,..., od $B000:$4000.
Treća, sedma,..., od $B000:$6000.
Normalno svaki set je veličine $1E96.
pascal.671sale.car,
-> #666, space.ace >> Da li neko moze da mi kaze kako se ocitavaju podaci sa
>> com1 porta... uglavnom me zanima mis... tj. da budem
Sp> Šta te konkretnije zanima, sam rad sa mišem ili sam rad sa comm
Sp> portom. Ako ti treba ovo prvo, evo ti source za init i rad sa mišOm, pa
Sp> ako ti je ok, super.
Sp> Valjda sam pomogao...
Ma imam puno unita za misa, ali meni treba cisto com port !
Ako imas nesto javi...
pascal.672sale.car,
-> #668, legend Le> e,da... treba mi još i kako da izbegem treperenje kod pomeranja
Le> neke animacije... Do sada sam radio sa onim iscrtaj_sliku,
Le> Obriši_sliku pa sve ispočetka... Nije se toliko primećivalo sa
Trebas da usaglasis refresh monitora... Kapiram da je to
isto kao kod onog smooth scroll-a.
Daklem, nacrtas sliku pa cekiras da li je prosao zrak za
osvezavanje slike, pa ako nije (ili jeste) onda ponovo
iscrtas...
Jao... bas sam debil... ajde neka neko objasni coveku ;))
U principu znam kako ali uvek dobijem 3 na pismenom iz
srpskog sto znaci da ne znam da slozim recenicu ;)))
Cya
pascal.673evlad,
-> #671, sale.carY> Ma imam puno unita za misa, ali meni treba cisto com port !
Y> Ako imas nesto javi...
imaš u starijim tomovima ove konferencije tema cccc ili pascal find UART.
pascal.674space.ace,
-> #668, legend>> e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke
>> animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve
Jednostavno: treba da sačekaš da mlaz koji osvežava ekran dođe do dna
ekrana, i kada dođe, ti baciš to što imaš u video memoriju (dok se
mlaz sprema da krene od vrha), tako da će tog treperenja nestati.
Ne znam u čemu pišeš programe, pa ti šaljem parče sorsa u asm-u, koji vrlo
lako možeš da prebaciš u koji 'oćeš jezik.
---- ovde počinje ---
mov dx, 3dah
L1:
in al, dx
and al, 08h
jnz L1
L2:
in al, dx
and al, 08h
jz L2
---a ovde završava---
Taj kod ubaciš kao proceduricu ili makro, pa ga pozivaš pre nego što
bacaš bilo šta u video memoriju, tj. ako vršiš neke izmene većih razmera
(animacije, fade-out, summing to grey, itd.).
>> Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se
To je double buffering, kada alociraš jedan niz od 64K (ekvivalentan video
memoriji), i u njega sve upisuješ. Onda njega celog bacaš u video, čime se
izbegava direktno prčkanje sa nizom video memorije, a korisno je ako hoćeš
da pripremiš ekran pa da onda fadein-uješ...
Ako nisam bio jasan, ti se malo deri... :)
pascal.675nlazic,
-> #667, legend>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat
>> u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)...
Skini fajl \sezam\rsoft\r111del.zip.
pascal.676nlazic,
-> #668, legend>> e,da... treba mi još i kako da izbegem treperenje kod pomeranja neke
>> animacije... Do sada sam radio sa onim iscrtaj_sliku, Obriši_sliku pa sve
>> Čuo sam da se to radi sa nekakvim upoređivanjem bafera ali neznam kako se
Pogledaj Računare 121. Naći ćeš rešenja za većinu ovakvih problema. Inače,
propratna arhiva za dotični tekst bi trebalo uskoro da se pojavi u rsoft-u.
pascal.677sale.car,
-> #673, evlad Ev> imaš u starijim tomovima ove konferencije tema cccc ili pascal find
Ev> UART.
Danke, danke
... Pozdrav, Sale.Car
pascal.678space.ace,
-> #671, sale.car>> Ma imam puno unita za misa, ali meni treba cisto com port !
>> Ako imas nesto javi...
Imao sam nešto o SERIAL portovima, od hardverske strane pa do softverske.
Mislim da je malo bajato, ali ako će ti pomoći, javni mi da potražim.
pascal.679space.ace,
-> #667, legend>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki 3D objekat
>> u odnosu na x,y,z ose i to za uglove a,b,c (za svaku osu po jedan)...
Teorijska objašnjenja takvih procedura možeš naći u onim E-časopisima,
kao Alter ili Space (nije nikakva reklama :). Tamo sam našao odlična
objašnjenja za 3D crtanje i rotiranje...
>> E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru koju ću
>> da pozovem sa rotate(a,b,c) i da mi posle u istom nizu vrati koordinate
Nisi uopšte boi jasan u tvojoj poruci što se tiče tih tvojih koordinata :)
Pošalji malo source-a, pa da znamo o čemu se tačno radi.
(ako si udario embargo, onda bar bolje objasni... :).
pascal.680sale.car,
-> #678, space.ace!?!> Imao sam nešto o SERIAL portovima, od hardverske strane pa do
!?!> softverske. Mislim da je malo bajato, ali ako će ti pomoći,
!?!> javni mi da potražim.
űDaaaajj ;)
Nisam nasao nista osim nekis sitnica ali one su vezane za modem,
meni treba bas da ja spajam napon direktno na pinove i da tako
ocitavam ima li ili nema napona...
10x unapred...
pascal.681obren,
-> #661, space.aceJeste malo zakasneo odgovor, no dobro... :)
> mov bp,512
...
> mov coss[bp], ax { coss[bp] je niz za čuvanje...}
> dec bp
BP registar je rezervisan za kompajler i ne možeš ga koristiti na način
na koji si zamislio (običan prepev ASM -> PAS) bez posebne pažnje.
Razlog je taj što BP služi za pristupanje lokalnim promenljivama koje su
na steku i njegovo menjanje može da dovede do pada programa ako ne znaš
tačno šta radiš.
Međutim, i pored toga ne bi trebalo da ti kompajler brani da ga koristiš
na bilo koji način ako je to u okviru mogućeg načina adresiranja. U tvom
slučaju mislim da ne prolazi ona linija koju si komentarisao. Pomoću BP
treba da se referencira lokacija koja je u stack segmentu a "coss" se
istovremeno tretira kao far pointer zbog onog Var u deklaraciji funkcije
pa sve skupa nema smisla.
Naime, kada deklarišeš parametar kao VAR trebalo bi (davno sam radio u
Pascalu, nisam siguran) da ti se prosleđuje far pointer na objekat koji
se javja kao argument kod poziva. U tom slučaju na stek idu i segment i
ofset objekta u memoriji pa je jedna od varijanti da ih pokupiš sa:
les di, coss
nakon čega ti ES:DI pokazuje na početak niza u memoriji. Siguran sam da
ćeš se za dalje snaći... :)
pascal.682legend,
-> #669, hercog-=-> ** Pliz, nije hitno koliko je bitno, a probao sam sa raznim
-=-> sourceovima za ** neke 3d izmotancije i ništa ne mogu da primenim
-=-> (ili sam glup, ili mi nešto
-=-> A da ti baciš amo te sourcove :) pa da ih pogledamo?
Pa okačio sam pre neki dan oko o Gourad senčenju... E pa iz toga ima neka
procedura koja ortira tačke nekog tela na neki ugao oko neke ose, ali
ja NIŠTA ne kapiram... Poslaću i moj source a vi da mi samo dopišete
proceduru... jel ok?
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.683hercog,
-> #682, legend** proceduru... jel ok?
Ajd da vidimo :)
Sale
pascal.684legend,
-> #679, space.ace-=->>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki
-=->>> 3D objekat u odnosu na x,y,z ose i to za uglove a,b,c (za svaku
-=-> osu po jedan)...
-=-> Teorijska objašnjenja takvih procedura možeš naći u onim
-=-> E-časopisima, kao Alter ili Space (nije nikakva reklama :). Tamo
-=-> sam našao odlična objašnjenja za 3D crtanje i rotiranje...
Đe da nađem te časopise?
-=->>> E sad, ako je nekom nešto jasno, nek mi napiše neku proceduru
-=->>> koju ću da pozovem sa rotate(a,b,c) i da mi posle u istom nizu
-=-> vrati koordinate
-=-> Nisi uopšte boi jasan u tvojoj poruci što se tiče tih tvojih
-=-> koordinata :) Pošalji malo source-a, pa da znamo o čemu se tačno
-=-> radi. (ako si udario embargo, onda bar bolje objasni... :).
Pa poslaću source, samo da ga malo sredim da možete da ga razumete... ;)
A do tad, imaš niz TACKE (trodimenzionalan) u kome su ti koordinate tačaka
Pošto ja hoću da rotiram kocku, onda niz izgleda ovako:
TACKE [1..6, 1..4, 1..3:single];
--------------\ | | -------------------\ |
Ovo je broj | | ---------------\ | Ovo su koordinate | |
4ugla u telu, |__| Ovo je broj | | temena 4ugla, 1=x | |
pošto je kocka | temena u 4uglu | | 2=y, 3=z koodrinata|--|
ima 6 komata | temena idu u |--| te tačke |
--------------/ smeru suprotnom| -------------------/
kazaljki na |
tic-taku |
-------------- /
Joj, jel sad malo jasnije???
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.685space.ace,
-> #681, obren>> BP registar je rezervisan za kompajler i ne možeš ga koristiti na način
>> na koji si zamislio (običan prepev ASM -> PAS) bez posebne pažnje.
>> Razlog je taj što BP služi za pristupanje lokalnim promenljivama koje su
>> na steku i njegovo menjanje može da dovede do pada programa ako ne znaš
Ma znao sam ja sve to, ali me zbunjivalo to što ponekad sve to i prođe, a
češće ne prođe, pa nisam ni sam znap šta da mislim...
>> les di, coss
U očajanju sam probao i lds (ne znam ni sam što, valjda videh u nekom primeru)
ali ni to nije uspelo, još jedino ovo da probam, ili prevodim celo parče koda
na čist Pascal.
>> nakon čega ti ES:DI pokazuje na početak niza u memoriji. Siguran sam da
>> ćeš se za dalje snaći... :)
Valjda će uspeti...
pascal.686legend,
-> #683, hercog-=-> ** proceduru... jel ok?
-=-> Ajd da vidimo :)
Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom
nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa
obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da
objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj
r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal
sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ
UVAK ne radi!
(ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;))
Legend of LoC!/eXplosives
Alone till doom's day!
3dloc.zippascal.687space.ace,
-> #684, legend>> Đe da nađem te časopise?
Pa imaš ih na SezamNet-u, u diru sezam...
>> Pa poslaću source, samo da ga malo sredim da možete da ga razumete... ;)
Šta ima da ga sređuješ, dobro smo potkovani da možemo da razumemo svakakvo
đubre ;)))
>> Joj, jel sad malo jasnije???
PA nije da nije, mada je još uvek pomalo mutno... :)
pascal.688legend,
-> #683, hercog-=-> ** proceduru... jel ok?
-=-> Ajd da vidimo :)
Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom
nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa
obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da
objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj
r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal
sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ
UVAK ne radi!
(ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;))
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.689legend,
-> #648, npmiki-=-> Hvala ti na savetu , ali vec imam 3d studio (sve verzije) :)
-=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih
-=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke
-=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka
-=-> x,y,z za neke uglove ax,ay,az.
AXA! Pa to sam i ja radio... To se radi sa matricama, a imaš u računarima
85 (al sam ih izvuko ;) i na sezamu r111del.zip u \rsoft diru! E, sad, ako
si našao rešenje za ono sakrivanje poligona ili još bolje senčenje, kači
odmah ovamo primer... Ja sam nakačio neki gourad.zip gde je neki dasa radio
Gouradovo senčenje u pascalu ali je mešao pascal i asm pa mi to otečava
praćenje... Ako neko provali kako se radi čisto iz pascala nek se dere!
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.691legend,
-> #683, hercog-=-> ** proceduru... jel ok?
-=-> Ajd da vidimo :)
Ux, dal sam ja vama rekao da ću da vam dam program ili šta, uglavnom
nije bitno... evo mog programa, pa ga malo preuredite... Nisam ništa
obeležavao, tako da ako vam nešto nije jasno, vi vičite pa ću da
objašnjavam... Inače, hvala onom ko je rekao (neznani junak ;))) za onaj
r111del.zip jer sam tamo našao kako se rotora sa matricama... e sad, dal
sam ja lepo pomnožio matricu, to ostaje da se proveri, ali program JOŠ
UVAK ne radi!
(ako sa ovom porukom ne stigne program - stići će sa nekom od narednih ;))
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.692legend,
-> #648, npmiki-=-> Hvala ti na savetu , ali vec imam 3d studio (sve verzije) :)
-=-> Kao sto sam vec napisao , trebaju mi brze procedure od onih
-=-> obicnih (sin(arctan(y)+ugaoa.....) . Znam da imaju neke
-=-> transformacije koje ubrzavaju racunanje tj. rotiranje tacaka
-=-> x,y,z za neke uglove ax,ay,az.
AXA! Pa to sam i ja radio... To se radi sa matricama, a imaš u računarima
85 (al sam ih izvuko ;) i na sezamu r111del.zip u \rsoft diru! E, sad, ako
si našao rešenje za ono sakrivanje poligona ili još bolje senčenje, kači
odmah ovamo primer... Ja sam nakačio neki gourad.zip gde je neki dasa radio
Gouradovo senčenje u pascalu ali je mešao pascal i asm pa mi to otečava
praćenje... Ako neko provali kako se radi čisto iz pascala nek se dere!
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.693legend,
-> #679, space.ace-=->>> Dakle, očajnički mi treba procedura koja će da mi rotoira neki
-=->>> 3D objekat u odnosu na x,y,z ose i to za uglove a,b,c (za svaku
-=-> osu po jedan)...
-=-> Teorijska objašnjenja takvih procedura možeš naći u onim
-=-> E-časopisima, kao Alter ili Space (nije nikakva reklama :). Tamo
-=-> sam našao odlična objašnjenja za 3D crtanje i rotiranje...
(ako sam već pitao izvini, malo sam senilan u poslednje vreme ;)
Ako možeš, nakači te časopise ovde (ili na mail ako nikog ne
interesuje) ili mi reci gde ih ima... E, da, sad se setih... jel ima neko
onaj $40 časopis? Ako ima nek ga kači na mail...
Legend of LoC!/eXplosives
Alone till doom's day!
pascal.694vitez.koja,
-> #688, legend#=> Ux, dal sam ja vama rekao da ću da vam dam program ili šta,
#=> uglavnom nije bitno... evo mog programa, pa ga malo preuredite...
Jeb'o te program! Obriši taj exec kad ga pošalješ.
sk
pascal.695qpele,
Pitanje :
Kako da u paskal programu iskoristim ceo RAM a na samo bednih 640K ?
pascal.696sfilip,
Može li neko da mi pošalje / objasni proceduru putpixel za neki od VESA modova
sa 256 boja? I nemo' da me neko uputi na stare brojeve računara il PC-a koje
nemam ;)
pascal.697acafaca,
Hvala ti mnogo. U svim programima mi trepće
po ekranu.
pascal.698acafaca,
Kako da upišem na zadnjem mestu na ekranu nešto?
Na mestu (25,80) uvek mi pomeri gore sve.
pascal.699stameni,
-> #698, acafaca Na primer, pomoću pseudoniza mem:
var
ch: char;
begin
ch := 'J';
mem[$B800:3998] := ord(ch)
end.
pascal.700acafaca,
-> #699, stameni Zar ne može drugačije?
Na primer ako mi treba da stalno nešto iscrtavam preko
ekrana zar moram da upisujem u memoriju.
Ne znam da li je brže sa Write nego sa mem.
pascal.701sfilip,
-> #700, acafaca> Ne znam da li je brže sa Write nego sa mem.
nije brže, najbrže ti je direktno u memoriju :)
/nego, řÚzli neko ono u vezi putpixel za vesa mod sa 256 boja? :)/
pascal.702sale.car,
HI!
Dal' bi neko bio ljubazan da mi objasni kako da napravim jedan
tsr... Konkretno, hocu ovaj fajl da prebacim da mi bude tsr ali
ne znam kako... Ako ima neka dobra dusa bio bih do groba
zahvalan...
Pozdrav...
steper.arjpascal.703igorl,
-> #702, sale.car> Dal' bi neko bio ljubazan da mi objasni kako da napravim jedan
> tsr... Konkretno, hocu ovaj fajl da prebacim da mi bude tsr ali
Ja sam takodje imao sličan problem, pa sam u SEZAMĐRSOFT
direktorijumu pronašao fajl R093TSR.ZIP i svi problemi su
nestali. Probaj i ti isti recept.
pascal.704sale.car,
HI!
Da li neko zna kako da upisem string na tacno odredjeno
mesto u fajlu !?
Pozdrav...
pascal.705janko,
-> #704, sale.car
> Da li neko zna kako da upisem string na tacno odredjeno
> mesto u fajlu !?
Pomoću procedure seek, pa onda upis.
pascal.706sale.car,
-> #703, igorl Ig> Ja sam takodje imao slican problem, pa sam u SEZAMDRSOFT
Ig> direktorijumu pronasao fajl R093TSR.ZIP i svi problemi su
Ig> nestali. Probaj i ti isti recept.
Hvala... Pogledacu...
... Pozdrav, Sale.Car
pascal.707sale.car,
-> #705, janko Ja> Pomocu procedure seek, pa onda upis.
Sto si tako shkrt na recima...
Ajde malo opsirnije...
... Pozdrav, Sale.Car
pascal.708sfilip,
-> #707, sale.car> Ja> Pomocu procedure seek, pa onda upis.
>
> Sto si tako shkrt na recima...
> Ajde malo opsirnije...
prvo assignuješ fajl nekoj text ili kako god 'oćeš file promenljivoj, pa
je onda resetuješ sa reset(f:file), pa onda lupiš seek(f:file, i: longint)
gde ti je i mesto gde 'oćeš da upišeš nešto, i onda koristiš write naredbu.
Btw, sve imaš u pascal helpu :)
pascal.709janko,
-> #708, sfilip
> prvo assignuješ fajl nekoj text ili kako god 'oćeš file
> promenljivoj, pa je onda resetuješ sa reset(f:file), pa onda lupiš
> seek(f:file, i: longint) gde ti je i mesto gde 'oćeš da upišeš
> nešto, i onda koristiš write naredbu.
Ja samo ne bih to radio sa text, već sa nekim drugim tipom,
najsigurnije file of bytes... text je "filozofska" stvar...
pascal.710sale.car,
-> #708, sfilip Sf> prvo assignujes fajl nekoj text ili kako god 'oces file promenljivoj,
Sf> pa je onda resetujes sa reset(f:file), pa onda lupis seek(f:file, i:
Sf> longint) gde ti je i mesto gde 'oces da upises nesto, i onda koristis
Sf> write naredbu. Btw, sve imas u pascal helpu :)
Hvala... probacu :)
... Pozdrav, Sale.Car
pascal.711igorl,
Skoro pisah neki program u kojem je, izmedju ostalog, na ekranu
trebalo da bude ispisano koji je procenat posla uradjen do odredjenog
trenutka, ali tu sam naisao na problem,
formula za izračunavanje je smesna:
100 * DoSadUradjenPosao
Procenat = -------------------------
UkupanPosao
Ali paskalu se to ne svidja, zapravo ako je UradjenPosao relativno
mali broj, sve radi OK, ali ako je veći, onda dodje do odredjenog
dela i počne da broji unazad i to sa predznakom -.
npr: ... 28%, 29%, 30%, -29%, -28% ...
Evo ga i programčić koji radi ovu glupost:
Var
DoSadUradjenPosao,
UkupanPosao,
Procenat : Integer;
Begin
UkupanPosao := 675;
For DoSadUradjenPosao := 1 To UkupanPosao Do
Begin
Procenat := (100 * DoSadUradjenPosao) div UkupanPosao;
WriteLn (Procenat);
End;
End.
Probao sam da Procenat deklarišem kao Real, ali onda su rezultati još
gori, inače kod ovog programa, glupost se desi na 48% tj. kad je
DoSadUradjenPosao = 328.
Još jedna stvar, ako napišem:
Procenat := (100 * 328) div UkupanPosao;
WriteLn (Procenat);
Dobijam normalan rezultat tj. 48%, a ne -48%.
Dali neko zna kako ovo da rešim, mucim se već nedelju dana.
pascal.712maksa,
-> #711, igorl>> Dali neko zna kako ovo da rešim, mucim se već nedelju dana.
program Perc;
function PD(CeoDeo : longint; Obavljeno : longint) : longint;
begin
PD := (Obavljeno*100) div CeoDeo;
end;
var
i : longint;
w : longint;
begin
w := 625;
for i:=1 to w do
writeln('Od ', w, ' uradjeno ', i, ', tj. ', PD(w, i), '%');
end.
PS Fuj paskal. ;)
pascal.713janko,
-> #712, maksa
> function PD(CeoDeo : longint; Obavljeno : longint) : longint;
> begin
> PD := (Obavljeno*100) div CeoDeo;
> end;
Ni ovo nije "nepromociva" funkcija jer je ogranicena na longint
velicinu. Ovde otkazivanje nastupa za znatno vece brojeve, na srecu.
Najbezbednije resenje je koristiti real i onda umesto div koristiti /.
To radi uvek.
pascal.714acafaca,
-> #664, sale.carJoš nešto.
Kako da promenim veličinu kursora?
Kao kad uključim insert.
pascal.715dvesic,
-> #711, igorl> Ali paskalu se to ne svidja, zapravo ako je UradjenPosao relativno
> mali broj, sve radi OK, ali ako je veći, onda dodje do odredjenog
> dela i počne da broji unazad i to sa predznakom -.
Nije do pascala, no do programera :))
Šalu na stranu, ovo je stvar koja se dešava većini ljudi koji rade sa
celim brojevima. Prekoračio si opseg Integer tipa, pa izraz
> Procenat := (100 * DoSadUradjenPosao) div UkupanPosao;
> DoSadUradjenPosao = 328.
tada postaje 32,800 što je taman da prekorači granicu od 32767 za integer
Jedno od rešenja je da pređeš na long tip i da koristiš cast operatore,
nešto kao:
Procenat : Long;
....
Procenat := (100 * long(DoSadUradjenPosao)) div UkupanPosao;
pascal.716sale.car,
-> #714, acafaca Ac> Jos nesto.
Ac> Kako da promenim velicinu kursora?
Ac> Kao kad ukljucim insert.
Evo ti neki uniti za to...
... Pozdrav, Sale.Car
kursor.arjpascal.717mmarkovic,
-> #711, igorl> formula za izračunavanje je smesna:
>
> 100 * DoSadUradjenPosao
> Procenat = -------------------------
> UkupanPosao
pretpostavljam da je formula u ovom obliku:
Procenat = 100 * DoSadUradjenPosao / UkupanPosao
Pošto se izračunavanja obično, u većini jezika, vrše sa leva u desno,
100 * DoSadaUradjenPosao veoma lako pređe integer opseg.
Napiši formulu ovako:
Procenat = (DoSadUradjenPosao / UkupanPosao) * 100
i stvar je verovatno rešena...
P.S. Mozda i bez zagrada bude OK
pascal.718destructor,
Jel nekom poznato kako da iz pascala skinem iz memorije
rezidentni program(znaci da oslobodim svu memoriju koju
zauzima), koji je takodje pisan u pascalu(by me :))?
10x ...
pascal.719sale.car,
HI...
Kako da pronadjem odredjeni string u { fajlu !?
Pozdrav...
pascal.720acafaca,
Kako da u paskalu napravim slog koji treba da pročitam
iz neke datoteke?
Na primer da ne pišem:
type Slog=record
ime:stringŠ30Ć;
prezime:stringŠ30Ć;
broj:real;
end;
nego da mesto ovih brojeva pišem:
type Slog=record
ime:stringŠxĆ;
prezime:stringŠyĆ;
broj:real;
end;
ili da promenim broj polja u slogu:
type Slog=record
ime:string;
prezime:string;
.
.
.
broj:real;
end;