pascal.511npmiki,
Posto vidim da ste voljni da pomognete , sledi detaljan opis.
Program koji smo napravili ja i nekolicina drugara , instalirali
smo u drugom gradu. Radjen je u fox-u i radi kao source kod (tj.
nije kompajliran zato jer se cesto desavaju greske). Da nebi
svaki put putovali da ga popravljamo zelim da napravim program
pomocu kojeg cu moci da zovnem , uzmem deo programa , popravim i
vratim. Naravno da bi to mogao da uradim , potreban mi je
pristup hard disku , kao u dos-u. Znam da imaju gotovi programi
, ali ja hocu da napravim svoj , pre svega zbog zastite , pa
posle zbog n razloga. Sto se tice samog programiranja u pascal-u
, to mi nije problem , samo su mi potrebna upustva za rad sa
modemom u pascalu , jer isti nikad nisam programirao.
Unapred zahvalan.
pascal.512ivko,
-> #511, npmikiKada budes bio spreman da primas savete kontaktiraj me na E-MAIL
pascal.513npmiki,
Skinuo sam program DoorAway i kako izgleda necu morati da pravim
novi .
:)))
tenks !
pascal.514sale.car,
-> #513, npmiki!?! tenks !
Nema frke, velkom si :)))
Cya
pascal.515npmiki,
Sorry , Sorry , Sorry :((
HVALA , HVALA , HVALA :)))
pascal.516mango,
Da li je moguce u program ubaciti neki deo pisan u nekom drugom pj
(npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera komandom
asm? Sto pre mi neko odgovori, to sam zahvalniji, jer je zaista
hitno:)
pascal.517mmarkovic,
-> #516, mango> Da li je moguce u program ubaciti neki deo pisan u nekom drugom
> pj (npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera
> komandom asm? Sto pre mi neko odgovori, to sam zahvalniji, jer
> je zaista hitno:)
Sve zavisi od jezika, ali obično je moguće linkovati .obj fajlove
iz raznih jezika.
Prenos parametara je osetljiv...
Clepper+C+ASM radi fino...
pascal.518mmarkovic,
-> #517, mmarkovic Sad tek videh da je tema pascal :)
Svojevremeno sam koristio TP i tu je stvarno bio problem.
Nije bio podržan obj format. E, da li je bio neki trik, ne bih znao...
Drugi pascal-i ovo verovatno podržavaju glatko.
pascal.519obren,
-> #516, mango> Da li je moguce u program ubaciti neki deo pisan u nekom drugom pj
> (npr. c ili c++), kao sto je moguce ubaciti deo iz asemblera
> komandom asm?
Ako misliš na šarani sors u više jezika - teško :) Ako misliš na
linkovanje .OBJ fajlova prevedenih na C-u, može. Funkcije treba da
budu kompajlirane po "pascal" konvenciji. Trebalo bi da se uz Turbo
Pascal dobijaju neki programi poput CPASDEMO.PAS i CPASDEMO.C koji
ilustruju ovo povezivanje - pogledaj po disku.
pascal.520strider,
-> #488, janko :>Kakav program pises pa ti treba y na del *.* ?
Pa veoma DeSTRuKToVaN reko bih:)))
pascal.521bceklic,
-> #520, strider> :>Kakav program pises pa ti treba y na del *.* ?
>
> Pa veoma DeSTRuKToVaN reko bih:)))
Imam program koji onemogucava upotrebu zvezdica pri radu sa
fajlovima (izmedju ostalog) ali bojim sa da to nije najbolje resenje
za naseg prijatelja... :)
poz, Blagoje.
pascal.522mmitrovic,
-> #501, destructor::::: Pa pokusavao sam da napisem program koji resava sisteme
::::: linearnih jednacina Gausovim algoritmom(dosta je neefikasan,
::::: ali za sade nemam bolji), za proizvoljan broj jednacina,pa sam
::::: matricu koristio za skladistenje koeficijenata.
Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu matrice
sistema i proširene matrice sistema. Znači ako imaš sistem od npr 3
linearne jednačine:
ax+by+cz=d
ex+fy+gz=h
ix+jy+kz=l x,y,z promenljive, a..l je iz R.
Matrica sistema je a proširena matrica sistema je
| a b c | | a b c d |
A = | e f g | B = | e f g h |
| i j k | | i j k l |
Kompjuterski se rešava slično Gausu (eliminišu se transformacijama
(ne menjaju rang) prvo u prvoj koloni sve vrednosti sem prve, pa
onda u drugoj sve vrednosti sem prve i druge, korišćenjem vrednosti
iz druge vrste, itd).
U gornjem primeru npr. dodaš prvu vrstu drugoj prethodno je pomnoživši sa
(-e/a) (elementarna transformacija vrste) i dodaš prvu vrstu trećoj
prethodno je pomnoživši sa (-i/a) i onda dobiješ matricu oblika
| a b c d |
| |
| eb ec ed |
| 0 f- -- g- -- h- -- |
| a a a |
| |
| ib ic id |
| 0 j- -- k- -- l- -- |
| a a a |
onda više ne diraš prvu vrstu nego uz pomoć druge eliminišeš drugi element
zadnje vrste (nadam se da si shvatio, mrzi me da pišem puno razlomaka).
I za najgore oblike brojeva a..l kompjuter neće imati problema sa
računanjem.
Na kraju dobiješ Gausovu trougaonu matricu sistema + dodatnu kolonu sa
rešenjima. Rang ti je tada broj elemenata na dijagonali glavne matrice
koji su različiti od 0.
Npr dobiješ matricu oblika:
| a d g i | a,b,c su neki brojevi različiti od 0
| 0 b e h | d..i su bilo koji brojevi (može i 0).
| 0 0 c f | (ova slova ne odgovaraju istim vrednostima iz matrice B)
za ovu matricu kažemo da je rang A = rang B = n = 3 i za odgovarajući
sistem kažemo da je SAGLASAN i ODREĐEN. (x,y,z) dobijaš iz gornje matrice
pošto iz zadnje vrste imaš da je cz=f tj z=f/c, onda to vratiš u prethodnu
itd. dobiješ jedno rešenje. NAPOMENA: ne smeš vršiti elementarne
transformacije nad kolonama pošto ćeš poremetiti poredak x,y,z rešenja.
Sad ide najlepši deo ovog algoritma.
Da bi rang A bio manji od n (veličine matrice sistema) jedna od vrsta u
prvom delu matrice mora biti 0. tada je rang A=n-1. Ukoliko je u istom redu
i proširena vrednost 0 tada je i rang B = n-1. Potreban i dovoljan uslov da
sistem bude saglasan je da je RANG A = RANG B.
Npr. proširene matrice nekih saglasnih sistema sa rangom manjim od n.
| a b c d | | a b c d | | a b c d |
| 0 e f g | rang=2 | 0 0 0 0 | rang = 1 | 0 0 0 0 | rang = 2
| 0 0 0 0 | | 0 0 0 0 | | 0 e f g |
I i II jedn. su propor.
Primeri nesaglasnih matrica sistema (rang A <> rang B)
| a b c d | h<>0 | a b c d | e,f<>0
| 0 e f g | rang A = 2 | 0 0 0 e | rang A = 1
| 0 0 0 h | rang B = 3 | 0 0 0 f | rang B = 3
Tako možeš da detektuješ nesaglasne sisteme, što je sa gausom teži
postupak. To što je u prethodnim saglasnim matricama rang manji od n znači
da je sistem NEODREĐEN i da ima beskonačno mnogo rešenja. Npr iz prve
saglasne matrice dobiješ:
g-fz
ey+fz=g tj. ey=g-fz tj. y = ------, to i z zameniš u prvu jed. ax+by+cz=d
e
i dobiješ rešenje oblika (kc, lc, c) gde je c proizvoljan broj tj. rešenje
gde su x i y linearne funkcije od z.
Iako ove formule izgledaju malo teže (što i jesu) algoritam je veoma prost.
Rang matrice sistema dobijaš tako što ga postaviš na n i smanjuješ za
svaku vrstu u kojoj su svi elemnti jednaki 0. Pazi samo da u ovu proveru ne
uključiš i proširenu vrednost (zadnji element vrste) pošto ona ne ulazi
u rang matrice A.
Rang proširene matrice B dobijaš na isti način ali ispituješ punu dužinu
matrice. Naravno ovde se u oba slučaja radi o svedenoj trougaonoj matrici,
čime još više pojednostavljuješ algoritam. To svođenje je neophodno kako bi
se prisustvo proporcionalnih jednačina manifestovalo kao smanjenje ranga.
Onda uporediš rang A i rang B i odrediš saglasnost i određenost sistema i
nađeš rešenja jednostavnom primenom 4 računske operacije. Nema nikakvog
skraćivanja matrica, rekurzije i ostalih čudesa.
Elementarne transformacije matrice su ti:
1) Množenje vrste (kolone) konstantom koja nije nula.
2) Dodavanje jedne vrste drugoj uz prethodno množenje prve nekom konstantom
različitom od nula. Naravno, vrstu koju si dodavao posle ne pišeš
pomnoženu tim brojem (ali možeš ako ti tako odgovara, zbog prav. 1)
3) Zamena mesta dveju vrsta (kolona)
pravila 1 i 3 se koriste za papirno izračunavanje i ovde ti nisu potrebna.
Treba ti samo implementacija pravila 2 koja je elementarni programerski
zadatak. To je ujedno i najteži deo ovog algoritma (rekao sam da je prost
a moćan ;) ). Opet da napomenem da ne primenjuješ elementarne
transformacije nad kolonama. Dobićeš ispravan rang, ali tako dobijenu
matricu nećeš moći da iskoristiš da dobiješ konačno rešenje.
Još jedna gotivna stvar sa ovim algoritmom je što uz mala proširenja
može da rešava parametarske sisteme jednačina. u zavisnosti od parametra
zavisiće uglavnom elementi na dijagonali svedene trougaone matrice i
onda gledaš za koje vrednosti parametra će neka od njih biti 0 (onda
automatski pada rang matrice sistema) i za te vrednosti odrediš saglasnost
i nađeš ono "beskonačno rešenje", ako postoji. Za sve vrednosti parametra
za koje su elementi na dijagonali <>0 sistem je saglasan/određen i ima
jedno rešenje (vidi gore).
Nadam se da sam bio od pomoći (koji sam ja čaršav napisao, vidi se da dugo
nisam kucao :) ).
pascal.523vitez.koja,
-> #522, mmitrovic#=> Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu
#=> matrice sistema i proširene matrice sistema. Znači ako imaš sistem
#=> od npr 3 linearne jednačine:
U čemu je zapravo razlika Gausovog postupka od ove KK teoreme?
Ovde pišem u obliku matrice i ne vučem promenljive i to je kao novi
postupak? Smešno... Oduvek su me nervirali ti "novi" metodi rešavanja
koji su isti kao i oni stari, samo imaju diskusiju koju inače znaš...
Najgore je što ih izmišljaju ljudi sa teško zapamtivim (prez)imeninima
i onda kad ti dodje na ispitu/kontrolnom Štolc-Majersova teorema i
njene posledice, moš se slikaš... :)
Naravno, ne shvati ovo ništa lično, pošto i nema veze sa tobom...
sk
pascal.524embe,
-> #522, mmitrovic>:::: ali za sade nemam bolji), za proizvoljan broj jednacina,pa sam
>::::: matricu koristio za skladistenje koeficijenata.
>> Za to ti je mnogo bolja Kronecker-Capelieva teorema o rangu matrice
>> sistema i prosirene matrice sistema. Znaci ako imas sistem od npr 3
>> linearne jednacine:
Nema bolje (direktne) metode od gausove metode eliminacije. Postoji
dokaz da je za gausovu metodu potrebno ubedljivo najmanje racunskih
operacija, u odnosu na ostale metode direktnog resavanja sistema
linearnih jednacina. Gausovom metodom se najprostije dolazi do
Č determinante matrice, a samim tim i do ranga matrice. Jedina
stvar koja se moze menjati je nacin skladistenja matrice, pa otuda
razlicite modifikacije - ako su u pitanju trakaste, simetricne itd.
Mana Gausove metode, kao i svih direktnih metoda je u nagomilavanju
greske, pa se kao tacniji smatraju (a i jesu) iterativne metode za
resavanje. Ali opet, oni imaju manu da ne mogu da resavaju sve sisteme
jednacina, vec samo one za koje resenja konvergiraju.
Dakle, Gausova metoda je najbolja, samo je umece iskoristiti sve
pogodnosti sistema jednacina koji se resava (trakasti sistemi,
simetricni sistemi, trougaoni sistemi itd). Ali za apsolutno
proizvoljne sisteme jednacina jedini nacin koji resava je Gausova
metoda eliminacije.
Pozdrav, Milan.
pascal.525avas,
Zainteresovao sam se za programiranje (resio sam da
programiram..). Davali su mi raznorazne savete raznorazni ljudi ali
mi se sledeci ucinio najlogicnijim i najnormalnijim - kaze covek:
"Prvo ti bato nauci pascal da bi najbolje ukapirao smisao
programiranja, pa tek onda predji na C i C++ (sto je bila moja
zamisao)". Sta mislite o ovome? Sta sve da nabavim i procitam za
pocetak ? Svi saveti pascal guru-a sudobrodosli. Kako da pocnem?
pascal.526ognjen,
-> #525, avas)-> Svi saveti pascal guru-a sudobrodosli. Kako da pocnem?
Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od
Dejana Ristanovica, on ce ti za pocetak dosta pomoci. Mozda
neces bas sve da shvatis iz njega (ja tada nisam :) ali je
dovoljno za pocetak. Sta ti ne bude jasno, pitas ovde, jasno.
pascal.527avas,
-> #526, ognjenHvala!
pascal.528boko,
-> #526, ognjenBK■> Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od
imaš ga i ovde negde po direktorijumima...
pascal.529sale.car,
-> #526, ognjen!?! Nabavi dodatak iz davnih racunara "Sa BASICa na PASCAL" od
!?! Dejana Ristanovica, on ce ti za pocetak dosta pomoci. Mozda
Imas ga ovde u dir-u Pascal mislim da je prvi text...
Cya
pascal.530boko,
e Treba mi da zamenim vrednosti dvema promenljivim...
jel moze kraće od:
temp:=prva;
prva:=druga;
druga:=temp;
...
?
pascal.531hercog,
-> #530, boko@> temp:=prva;
@> prva:=druga;
@> druga:=temp;
Ako su promenljive brojne, ondak može i
prva:=prva+druga;
druga:=prva-druga;
prva:=prva-druga;
Sale
p.s. nije kraće :)
pascal.532obren,
-> #530, boko> Treba mi da zamenim vrednosti dvema promenljivim. Jel može kraće od:
> temp:=prva;
> prva:=druga;
> druga:=temp;
To je OK. Svi tako rade... :)
Može i ovako (za brojevne promenljive) ako želiš da se praviš pametan ;)
prva := prva + druga;
druga:= prva - druga;
prva := prva - druga;
pascal.533spantic,
-> #530, boko> temp:=prva;
> prva:=druga;
> druga:=temp;
Obično se postavlja pitanje da li mogu da se zamene
dve promenljive a da se ne koristi pomoćna promenljiva.
Odgovor je da, ali ako ne koristiš integer gubiš na
tačnosti i rešenje nije regularno.
pascal.534galimpic,
-> #533, spantic> temp:=prva;
> prva:=druga;
> druga:=temp;
Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B).
pascal.535embe,
-> #534, galimpic> temp:=prva;
> prva:=druga;
> druga:=temp;
>>>Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B).
Pa sto sam ne napravi SWAP ????
pascal.536boko,
-> #533, spanticBO■>Odgovor je da, ali ako ne koristiš integer gubiš na
BO■>tačnosti i rešenje nije regularno.
Koristim integer..
pascal.537boko,
-> #534, galimpicBO■>Covek valjda pita da li u Pascalu ima nesto tipa SWAP (A,B).
To pitam :)
pascal.538boko,
-> #535, embeBO■>Pa sto sam ne napravi SWAP ????
kako ?
pascal.539spantic,
-> #531, hercog> prva:=prva+druga;
> druga:=prva-druga;
> prva:=prva-druga;
I totalno je netačno! Kad smo već kod toga. Radi samo za
Integere.
pascal.540hercog,
-> #539, spantic@> I totalno je netačno! Kad smo već kod toga. Radi samo za
Ja sam napomenuo da radi samo za brojeve...
Sale
pascal.541spantic,
-> #540, hercog> Ja sam napomenuo da radi samo za brojeve...
Opet netačno. Jer ne radi za sve brojeve, već samo za integer.
pascal.542micotakis,
Ajde nek mi neko objasni sledeću stvar.
Imam neko programče i kao exe i kao sorce. Kada sam u čistom dos-u
sve lepo radi, ali kada sam probao da ga startujem iz Deskview-a,
program nije hteo da radi. Nisam imao hrabrosti da ga startujem pod
Win(3.1), da se ne bi desilo nešto čudno, jer mi se čini da mu sme-
ta bilo kakav multitasking. U čemu je problem?
1. u *.obj fajlu za koji nemam sors
2. u kompajliranju odnosno da ne treba kompajlirati sa compile
3. u opcijama za kompajliranje znači one perverzije {$L} i sl.
4. dolazi do preklapanja u memoriji
5. nešto peto
Inače program lepo počne da radi i kad izaberem opcije koje moram da
dam na početku i kad treba da počne da radi ono za šta je napravljen
on blokira mašinu i ne pomaže ni Ctrl Alt Delete, već moram da pri-
tisnem reset.
Ajde ljudi pomognite čoveku koji jedino zna spectrumov basic, ali si-
lom prilika mora da nauči pascal da bi položio ispit. Inače nije ovo
moj pogram, ali me zanima u čemu je fora da bi to izbegao kod mene u
programu.
EMPIRE
pascal.543dzakic,
-> #542, micotakisNisam baš shvatio zašto je neophodno da program radi u dv-u, ako
prijatelj već samo uči paskal. I šta je u tom obj-u koga linkujete?
Liči na konflikt sa xms/ems memorijom. Često se problemi mogu rešiti
i dobrim konfigurisanjem dv-a za konkretan program.
Opcija {$L} nije nikakva perverzija - služi kao direktiva kompajleru
da generiše informacije o lokalnim promenljivama koje omogućavaju
dibageru njihovo pravilno prikazivanje. Utiče samo na veličinu exe-a,
ne na njegovu veličinu niti brzinu izvršavanja. Dakle, to nije.
Ako ne radi u dv-u, nije razlog da ne probaš u windowsima, mada isto
je to g* ;)
Sve u svemu, nemaš ipak ceo sors jer linkuješ .obj. A on može da radi
šta hoće...
pascal.544micotakis,
-> #543, dzakicĹ Nisam baš shvatio zašto je neophodno da program radi u dv-u,
Ĺ ako prijatelj već samo uči paskal. I šta je u tom obj-u koga
Ĺ linkujete? Liči na konflikt sa xms/ems memorijom. Često se
Ĺ problemi mogu rešiti i dobrim konfigurisanjem dv-a za konkretan
Ĺ program.
Program je neko čudo dovučeno ko zna odkle. Služi za puštanje mo-
dula. Pisan je u pascalu i fino može da se iskoristi u nekom pro-
gramu da svira u pozadini. :)
Šta je u *.obj nemam blage veze. Mogu da ti ga pošaljem, ali čemu
to? Koliko mi je pozanato to neće pomoći.
Shavtio si da se samo ja patim sa ovim.
Mora da radi u dv-u iz jednog prostog razloga, program mora da radi
u svim uslovima, inače nije dobar, to znaš i sam. Program koji radi
u čistom dosu mora da radi i pod win i pod dv-om. To je barem moja
filozofija. Da li si video da npr. DOS NAVIGATOR neće da radi pod
windowsom? Naravno da će da radi.
Ĺ Opcija {$L} nije nikakva perverzija - služi kao direktiva
Ĺ kompajleru da generiše informacije o lokalnim promenljivama
Ĺ koje omogućavaju dibageru njihovo pravilno prikazivanje. Utiče
Ĺ samo na veličinu exe-a, ne na njegovu veličinu niti brzinu
Ĺ izvršavanja. Dakle, to nije.
Slučajno sam izabrao baš to. Videh i to negde u programu. A rekoh
perverzija čisto onako, jer to nije za nas početnike.
Znam da je to za to, video sam u help-u.
Ĺ Ako ne radi u dv-u, nije razlog da ne probaš u windowsima, mada
Ĺ isto je to g* ;)
Ma brinem se da mi ne blokira mašinu, pa da moram da izlazim na
silu, a znaš da je win osetljiv po pitanju nasilnog izlaska iz
programa. Zato mnogo više volim DV.
Ĺ Sve u svemu, nemaš ipak ceo sors jer linkuješ .obj. A on može
Ĺ da radi šta hoće...
I to što kažeš, ali je suština u tom *.obj, da nije njega ne bi bi-
lo ništa od programa. E sad to je shareware pa zato nema sorsa za
to.
EMPIRE
pascal.545zeljkoj,
-> #544, micotakis> filozofija. Da li si video da npr. DOS NAVIGATOR neće da radi
> pod windowsom? Naravno da će da radi.
Probaj da uključiš direktan pristup disku u DN-u. ;)
> I to što kažeš, ali je suština u tom *.obj, da nije njega ne bi
> bi- lo ništa od programa. E sad to je shareware pa zato nema
> sorsa za to.
Ima u diru program za disasembliranje .OBJ fajlova. Možda ti to pomogne?
pascal.546mmitrovic,
-> #545, zeljkoj::::: Probaj da uključiš direktan pristup disku u DN-u. ;)
Ali samo pod 95. Tu je svejedno koji je program, ako ne lokujes
disk, niko nema pravo direktnog pristupa, tacnije direktnog pisanja.
Sto se tice DV-a, zar to neko jos koristi? Ako jr potrebna memorija preko
640k treba koristi dos4gw ili borlandove DPMIxx ili neke trece ekstendere
koje podrzava linker. Ako je u pitanju Borlandov paskal tu su DPMI16 i
DPMI32.
pascal.547visnja,
-> #546, mmitrovic> koje podrzava linker. Ako je u pitanju Borlandov paskal tu su
> DPMI16 i DPMI32.
Ne savetujem borlandove DPMI-e sa paskalom, paskal gubi ono zbog cega
je paskal i postaje C. Ja ovo iz iskustva. Neka neko proba u DPMI da
prevede Borlandov SOURCE u kome je klasa TEDIT (Turbo Vizija editor),
i neka onda proba malo sa clipboard-om da radi...
ne gine runtime error 216 (general protection fault)
Da zlo bude vece onaj prevedeni (TPP) radi, ali ako ja prevedem source - JOK.
Imao sam probleme i sa PXEngine u DPMI16. Bez razloga nije hteo da
nadje neke recorde po sekundarnom indeksu?!? (PxSrchKey...)
Ako neko ima jos neko iskustvi ili SAVET... neka ga baci ovde.
Pozdrav.
pascal.548npmiki,
Radio sam neki program za grafikcko predstavljanje podataka i na
kraju sam napravio podesavanje boja pomocu misa (R,G,B) i tu se
javio problem. Pokusao sam sa naredbom setrgbpalette i sa
interaptima ( AX=$1010,BX=reg,CH=g,cl=b,dh=r,int $10) ali
menjaju se samo prvih 5 boja. Na ostale ne mogu da uticem ni na
jedan opisan nacin. (program radi u modu 640x480x16) .
Help !!!
P.S. nisam jos probao sa registrima svga karte , ako neko zna
kako neka i tu pomogne. Imam vesa kompatibilnu karticu UMC 1mb.
Unapred hvala .
pascal.549destructor,
Danas sam radio nesto i, dogodilo mi se sledece:
{Var
.
.
p,g:Integer;
s:LongInt;
.
.
Begin
.
.
p:=GetMaxX+1;
g:=GetMaxY+1;
s:=p*g Div 2 + 6;
.
.
a:=0;
While a<=s Do
Begin
.
.
a:=a+b;(b je const)
End; }
Medjutim nikako nije hteo da radi.Probam sa F7 i ispostavi se
da ne ulazi u petlju.
???
Probam sa WATCH i vidim sledece:
p:640
g:480;
s:-10234;
O cemu se radi?Prevodioc??
Pozdrav,
DeStrUctOr
pascal.550madamov,
-> #549, destructor
> p,g:Integer;
> s:LongInt;
> ...
> s:=p*g Div 2 + 6;
>
> Probam sa WATCH i vidim sledece:
> p:640
> g:480;
> s:-10234;
Nisam se davno bavio Paskalom, pogotovo ne na PC-u, ali ovo bi trebalo da bude
očigledno nezavisno od jezika. Elem, kod izračunavanja s ti je desna strana
Integer jer su takvi p i g, a kako rezultat koji treba da dobiješ ne može da
stane u Integer promenljivu dolazi do toga da važi samo Integerski deo, i to
bez predznaka, tak oda dobijaš ovu vrednost. Deklariši p i g kao LongInt i
neće bit iproblema.
pascal.551dvesic,
-> #549, destructor> s:=p*g Div 2 + 6;
> O cemu se radi?Prevodioc??
Uradi Cast. Ovo je standardni problem kod konverzije među tipovima.
Treba nešto kao:
s := LongInt(p)*g Div 2 +6
Nije neophodno (ali ne smeta) da kastuješ (izem ti izraz :) obe promenljive,
pošto se rezultat računa prema tipu sa najviše bajtova.
pascal.552destructor,
Hvala za saveti, proradio je!:)
Medjutim ovo mi se ne javlja(ili se javlja, ali ja nisam
primeto), kada je na primer:
s(integer):=p(byte)*q(byte)
DeStrUctOr
pascal.553dvesic,
-> #552, destructor> Medjutim ovo mi se ne javlja(ili se javlja, ali ja nisam
> primeto), kada je na primer:
> s(integer):=p(byte)*q(byte)
Ovo je opet pitanje interne organizacije kompajlera. Većina kompajlera
i byte promenljive pamte u dva bajta.
Ili jednostavno nisi množio dovoljno velike bajtove ...
pascal.554micotakis,
Imam par pitanja. Pa ko zna nek mi odgovori.
Učim paskal iz par knjiga. Između ostalog iz one od Stephn O'Bri-
ana TURBO PASCAL 6 (kompletan vodič). I tako naleteh na onaj pro-
gram Quick Sort. Probah da startujem program i javi mi da ima gre-
šku. Pregledam lepo program i zatvorim jedan nezatvoreni komentar.
To je bila jedina greška. Program je sa diskete koja se dobije uz
knjigu i upoređivanjem videh da su(valjda) isti.
Probam da starujem program, međutim javi mi prekoračenje steka.
Probao sam sve živo. Povećavao vrednost steka na maksimum. Stavljao
EMM umesto QEMM-a, startovao ga iz IDE okruženja i kao exe fajl i
uvek isto. Da napomenem za one koji nisu videli kod, da se niz koji
se sortira sastoji od 10 elemenata. Intersuje me gde grešim, da li
je uopšte dobar listing programa, koliko bi trebalo memorije da bi
to radilo...
Problem je u rekurzivnom pozvu procedure to je sigurno.
Ako treba mogu i listing da okačim. Prvenstveno očekujem odgovor od
onih koji imaju knjigu. Ako nekog bude interesovalo ide i listing.
EMPIRE
pascal.555micotakis,
Radim neki program, objektno orijentisan, u turbo vision okruženju.
To mi je seminarski za fakultet. Prva verzija je bila neobjektna i
nije bila u TV-u i povrh svega imala je bag. Bag je bio posledica
pokušaja optimizacije i to u samom startu. Poslušao sam Zaka i kre-
nuo ispočetka. Međutim sad sam se primio na objekte i TV. I moj pro-
gram radi. Ostalo je samo da se uradi sledeće. Snimanje podataka na
disk i kasije učitavanje. Videh u knjizi primer učitavanja datoteke
kako BAFEROVANOG STRIMA, ali mi to ne treba, barem onako kako je to
opisano u knjizi. Meni treba da učitam sve objekte(ala sam se iza-
rzio, biću dobar obećavam, nemojte da me bijete) sa diska u TCOLLE-
CTION. E sad sledi pitanje da li je uopšte moguće snimiti objekat
kao objekat u datoteku. Iskreno rečeno meni je to nešto sumnjivo.
Video sam u jednoj knjizi da je čovek prvo ona polja objekta koja su
mu trebala da snimi konvertovao, t.j. iskopirao u određena polja slo-
ga(to mu dođe record), a ona to snimao u file deklarisan kao file of
records. Kod učitavanja je rađeno suprptno.
E sad mene zanima sledeće. Da li je moguće snimiti i učitati datoteku
kao BAFEROVANI STRIM, ali tako da se ne dodaje opcija menija snimi i
učitaj. Verovatno da može. Samo kako? Ili mi preostaje da konvertujem
u record? Šta mi predlažete. Samo brzo. Ovo mora da bude gotovo do
19.08.'96.
Kratak opis i savet.
EMPIRE
pascal.556dvesic,
-> #554, micotakis> Problem je u rekurzivnom pozvu procedure to je sigurno.
>
> Ako treba mogu i listing da okačim. Prvenstveno očekujem odgovor od
> onih koji imaju knjigu. Ako nekog bude interesovalo ide i listing.
Lepo okači listing (knjigu imam, ali mi nije pri ruci) pa ćemo da sredimo
stvar. Daj i test primer za koji ti program sigurno puca.
pascal.557destructor,
Moze li neko da mi kaze gde da nabavim neku literaturu sto se
tice:
1)Manipulacije slikama(snimanje na disk,citanje sa
diska,kretanje)
2)TSR programa(pisanja tsr programa)
Pozdrav,
DeStrUctOr
pascal.558npmiki,
Dali neko zna kako da povecam prostor za promenljive u pascal-u
? Znam da je ogranicen na 64 Kb , ali u BP postoji zasticeni mod
, kako ga iskoristiti za promenljive. Ako je jedino resenje
korisnjenje promenljivih preko pointera i ubacivanjem u HEAP
memoriju ja to ne znam - KAKO ?
Dali neko ima izvorni kod za ucitavanje slika bilo kojeg formata
, znam da ima modul na sezamu ali ga TP7.0 ne moze koristiti ?
Ako neko ima molim ga da mi posalje na mail ili ovde.
Unapred zahvalan .
pascal.559micotakis,
Opet ja i moje petljanje. Pokušavam da sortiram jednostruko spregnutu
listu. Moja procedura ne valja. Gde grešim nemam pojma. Ovo sam poku-
šao da uradim.
{------------------------------------------------------------------}
Procedure Sortiraj;
Var
Sledeci,Daleki : Ptr;
Sortirana : Boolean;
Begin
Repeat
Trenutni := Prvi;
Prethodni := Nil;
Sortirana := True;
While Trenutni^.Next <> Nil Do
Begin
Sledeci := Trenutni^.Next;
If Trenutni^.Broj < Sledeci^.Broj Then
Begin
Sortirana := False;
If Sledeci^.Next <> Nil Then
Daleki := Sledeci^.Next
Else
Daleki := Nil;
Trenutni^.Next := Daleki;
Sledeci^.Next := Trenutni;
Prethodni^.Next := Sledeci;
End
Else
Trenutni := Trenutni^.Next;
End;
Until Sortirana;
End;
{------------------------------------------------------------------}
Lepo krira listu, i lepo prikaže celu listu, ali sortiranje nikako.
Znam da ova procedura ne valja, ali kako i zašto, to već ne znam.
Pomagajte ljudi. Boli me više glava od ovoga.
Recite mi kako se ovo radi. Kako da prepovežem veze, a da ne pokidam
lanac?
EMPIRE
pascal.560legend,
-> #557, destructor-=-> 2)TSR programa(pisanja tsr programa)
Koliko se ja sećam, ovde na sezamu imaš neki primer koji je opisan u
računarima. E sad neznam tačno kako se zove file, ali nešto sa resi_mm.zip
ili tako nešto. Uostalom pogledaj u pascal diru, pa ga nadji. Ako slučajno
nema, ostavi poruku na mail, pa da ti nakačim. Inače, primer je sasvim
jednostavan i trivijalan, ali koristan.
Legend of LoC!
pascal.561bokir,
Evo, u arhivi je program koji ce sortirati listu, tvojom
procedurom, samo malo izmenjenom.
Greska je bila sto je Prethodni u prvom prolazu (valjda i u ostalim :)
bio NIL, pa si uzalud trpao vrednost u Prethodni^.Next.
Druga greska je sto se Prethodni nije 'pomerao' unapred.
U svakom slucaju, evo fajla, pa pogledaj...
8.559pascal.562bokir,
-> #559, micotakisSorry, imao sam malih problema :)
Pogledaj poruku 8.561, tamo je odgovor na tvoj problem.
pascal.563micotakis,
-> #561, bokirĹ Greska je bila sto je Prethodni u prvom prolazu (valjda i u
Ĺ ostalim :) bio NIL, pa si uzalud trpao vrednost u
Ĺ Prethodni^.Next. Druga greska je sto se Prethodni nije
Ĺ 'pomerao' unapred.
Što reče zakić, kako to da ti ono ne radi? Zar si ti uopšte očeki-
vao da ono proradi. Hvala u svakom slučaju pogledaću. Sigurno će mi
zatrebati. Inače taj problem sam rešio, tako što sam upotrebio, dvo-
struko spregnutu listu i već gotov sorce iz knjige. Shvatio sam da
od viška glava ne boli, a na ne jednostruku listu sam prešao samo
zato što sam smatrao da mi ne treba listanje unazad.
Pošto smo rešili ovaj problem ostao je onaj drugi da se reši.
Zar se ovde niko ne bavi turbo visionom? Pomagajte ljudi, imam ideju
da jedan po jedan element tcollectina, vadim i stavljam u dvostruko
spregnutu listu slogova(record) i da ih onda lepo sortiram sa onom
procedurom, i onda snimin na hard i kasnije učitam sa procedurama ko-
je sam već napisao. Ali tu treba raditi dupli posao, znači prvo pre-
bacim ono što mi treba iz objekta u record, a kad učitavam obrnuto,
a to se jako lepo rešava sa baferovanim strimom, ali mi apsolutno nije
jasno kako to radi, jednino mi je mali jasna dekalracija, a u knjizi
je to objašnjeno tako da onaj ko nije znao neće ni znati.
EMPIRE
pascal.564destructor,
Koji unit je potreban da bi se iz pascala kontrolisao mis, i
kako se to radi, posto moj prevodioc nije bas
najkompletniji(fale neki fajlovi :().
Pozdrav,
DeStrUctOr
pascal.565npmiki,
-> #564, destructorEvo ti procedure i funkcije za rad sa misem. Ako ti treba Unit
napravi ga sam od ovih procedura , ja nisam imao vremena .
mouse.paspascal.566destructor,
Posto sam jos mlad i neiskusan, moram da budem dosadan i da
zapitkujem, ali sta da radim?:)
Negde sam naisao na nesto kao:
If ((reg.bx And butt) <> 0) Then ...
E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam sta
oznacava, interesuje me samo sta se desava prilikom izvrsavanja
ovoga).
Pozadrav,
DeStrUctOr
pascal.567sale.car,
HI pipl...
Kako da u pascalu ocitam podatak sa LPT1 porta...
Znam kako da saljem na Data bitove sa Port[$378] ali kako
da ocitam sa recimo 11-og pina da li je stanje 0 ili 1 tj da li
ima napona ili nema !?!?
Mislim da je 11 pin nesto kao ocitavanje da li ima papira na
printeru ili ne... ja mislim...
Ajd 10x unapred...
Cya
pascal.568ilazarevic,
-> #566, destructor> E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam sta
> oznacava, interesuje me samo sta se desava prilikom izvrsavanja
> ovoga).
Kog tipa je butt? Inače, ako je sve u redu, trebalo bi da se uradi AND ove
dve promenljive. AND upoređuje bit po bit iz oba broja, i ako su oba bita
jedinice, u rezultat se upisuje jedinica na toj poziciji. Da bi AND dao
rezultat različit od nule, treba u oba broja da se nađu jedinice na barem
jednoj poziciji.
pascal.569destructor,
Sto se tice mog predhodnog pitanja butt=const.
E sad:
Pokusao sam da sacuvam neku sliku u obliku file-a, a zatim da je
procitam, i posto nisam znao nijedan nacin da to uradim, ja
napisem otprilike:
.
.
Type
ni=Array[1..k] Of Byte;
Var
buff:^ni;
f:File Of ni;
.
.
.
Begin
.
.
y:=0;
GetMem(p,k);
While y<GetMaxY Do
Begin
GetImage(0,y,GetMaxX,y+GetMaxY Div 4,p^);
y:=y+GetMaxY Div 4;
Write(f,p^);
End;
.
.
.
I sad sam za citanje te slike sa diska koristio suprotnu logiku,
znaci definisao sam 4 pointera na nizove, i ucitao u njih
odgovarajuce delove slike, a zatim:
.
.
PutImage(0,y,p^,XORPut);
PutImake(0,y+c,p1^,XORPut);
PutImage(0,y+2*c,p2^,XORPut);
PutImage(0,y+3*c,p3^,XORPut);
.
i sve to lepo radi, samo sto je ovo iscrtavaje poprilicno sporo.
Sad pitanje:Mogu li ja to da ubrzam nekako, ili od ovog pristupa
nema mnogo koristi?
Sorry za ovolku poruku.
Pozdrav,
DeStrUctOr
pascal.570legend,
-> #567, sale.car-=-> Kako da u pascalu ocitam podatak sa LPT1 porta...
-=-> Znam kako da saljem na Data bitove sa Port[$378] ali kako
Ovo i nije odgovor, ali me interesuje ako neko može da mi napiše ovo
sa portovima, tj, da mi popiše koji port čemu služi jer to nigde ne piše,
a ljudi mi stalno nešto objašnjavaju preko portova.
tenax
Legend of LoC!/eXplosives
pascal.571micotakis,
-> #570, legendĹ Ovo i nije odgovor, ali me interesuje ako neko može da mi
Ĺ napiše ovo sa portovima, tj, da mi popiše koji port čemu služi
Ĺ jer to nigde ne piše, a ljudi mi stalno nešto objašnjavaju
Ĺ preko portova.
Pridružujem se ovoj molbi.
EMPIRE
p.s. Firuse to ti znaš garant. :)
pascal.572sale.car,
-> #570, legend!?! Ovo i nije odgovor, ali me interesuje ako neko može da mi
!?! napiše ovo sa portovima, tj, da mi popiše koji port čemu
!?! služi jer to nigde ne piše, a ljudi mi stalno nešto
!?! objašnjavaju preko portova.
Najbolje ti je, rejveru, da skines HelpPc iz ne secam se kog
direktorijuma ... Tamo je sve opisano.
Ako hoces u pascalu recimo paralelni onda ti je sledece:
Port[$378] := 1 ;
Ovo ti ukljucuje data bit 0 na LPT a to ti je 2 pin.
Ja sam uradio celu listu pa cu je poslati uskoro, samo da je
prepisem...
Cya !
pascal.573tomil,
-> #570, legend> sa portovima, tj, da mi popiše koji port čemu služi jer to nigde ne
> piše, a ljudi mi stalno nešto objašnjavaju preko portova.
U fajlu \dos\infoprog\helppc21.zip ćeš naći odgovore na sva tvoja
pitanja.
pascal.575sale.car,
HI evo one liste data pinova na Lpt-u...
Cya
lpt.txtpascal.576baster,
Tokom zadnjeg nevremena, nestalo mi je struje usred posla.
Sem druge stete stradao mi je BWCC.DLL neophodan izmedju
ostalog i za samo startovanje borland pascal for windows (7.0)
Pomenuti DLL nije dugačak, pa ako nije problem na mail (please !!!)
pascal.577nlazic,
-> #576, baster>> Pomenuti DLL nije dugačak, pa ako nije problem na mail (please !!!)
DLL već postoji na sezamu: ĐwindowsĐsystemĐbwcc.zip
pascal.578ognjen,
-> #566, destructor)-> If ((reg.bx And butt) <> 0) Then ...
)-> E sad sta radi ovaj izraz?(reg.bx je tipa registers i znam
)-> sta oznacava, interesuje me samo sta se desava prilikom
)-> izvrsavanja ovoga).
Uporedjuje 'bitwise' (bit po bit) registar BX i word BUTT.
Gde su oba 1 (TRUE) ostaje 1, u suprotnom 0.
Sta to u praksi znaci? Ako u registru BX imas gomilu
true/false informacija (na primer status num/caps/scr) a treba
da proveris samo jedan, koristis gornji oblik. Na primer:
------------------------
var
b,t: byte;
begin
b:=mem[0:$0417];
t:=$20;
if ((b and t) <> 0)
then
writeln ('NumLock is ON')
else
writeln ('NumLock is OFF')
end.
-----------------------
E sad gledaj. Sa memorijske adrese 0:0417 (ono $ znaci
hxadekadno) uzeo si jedan bajt (sadrzaj si zapisao u B). Na toj
adresi se nalaze podaci o LOCKovima izmedju ostalog i o
numlock-u.
U bajt T si zapisao 20 hexadekadno znaci 00100000 binarno.
Zasto je bas treci bit 1? Zato sto sto treci bit sadrzi podatak
o NumLock-u, a nama bas to treba.
E sad praxa:
Ovaj bit je vazan!
!
B: 01100101 and
T: 00100000
-----------
00100000 - rezultat je <> 0 znaci numlock je ON, u suprotnom:
B: 01000101 and
T: 00100000
-----------
00000000 - rezultat je 0, znaci numlock je off.
Dakle sva ova prica da bi se reklo: to sluzi za proveru
odredjenih flagova (bitova). Kapito? :)
---
Nemoj molim te da kazes: ne. :)
pascal.579destructor,
-> #578, ognjen Ne!!! ;)))
Salim se, jasno mi je .. 10x mnogo!
Pozdrav,
DeStrUctOr
pascal.580destructor,
Da li postoji nacin, da se nadje koliko ce memorije(maksimalno)
zauzeti program pisan u pascal-u, u toĺ■■ku svog izvrsavanja, i
kako se to radi(ako je moguce)?
Pozdrav,
DeStrUctOr
pascal.581destructor,
Pokusavao sam da napravim rezidentan program, koji ce da upise
neke stvari u fajl kada se pritisne neko dugme, i:
.
.
old:Procedure;
.
.
Procedure Key;Interrupt;
Begin
If port[$60]=56(npr.)
Then
Begin
Assign(f,'c:\dat.txt');
Rewrite(f);
.
.
End;
Inline($9C);
old;
End;
U osnovnom programu, zamenjen je vektor sa
SetIntVec($9,Addr(key)).I kad startujem program, on se kao lepo
postavi i sve lepo űradi dok ne dobije trazeni podatak na
ulazu, i tad zaglavi ba űs na instrukciji Assign(f,'c:\dat.txt').
Posto se ja u TSR■˛-ove ne razumem, i pokusavam da ih shvatim
na osnovu nekoliko (veoma prostih) primera, űmoze li neko reci
gde da andjem nesto opsirnije o tome, i da mi objasni sta se
desava u ovom slucaju.
10x unapred
Pozdrav,
DeStrUctOr
pascal.582obren,
-> #581, destructor> Pokusavao sam da napravim rezidentan program, koji ce da upise
> neke stvari u fajl kada se pritisne neko dugme, i:
Pisanje "običnih" TSR programa i onih koji rade sa diskom je prilično
drugačije. Razlozi su sledeći: DOS nije reentrant, što znači da ako se
interapt desi dok se izvršava neki kod u DOS-u, ti ne smeš da pozivaš
ni jednu DOS funkciju. Drugi razlog je što se za rad sa diskom koristi
tzv. DTA (Disk Transfer Area) koju ima svaki program. Ako hoćeš da radiš
sa diskom iz svog TSR-a, svaki pristup nekom fajlu prebrisaće sadržaj
DTA prekinutog programa i eto belaja. Zato se pribegava sledećem:
Postoji jedan flag koji se zove INDOS flag koji dos postavlja na nenultu
vrednost kada se izvršava neki od DOS-ovih servisa. Postoji mehanizam,
doduše nedokumentovan od Microsofta da se sazna adresa ovog flega kao
i Critical Error flega koji je takođe bitan za ovu primenu. Dakle, kada
te "okine" interapt treba da proveriš da li su ova dva flega jednaka
nuli i tek ako jesu smeš da pozivaš DOS funkcije. Takođe, pre poziva
funkcija DOS-a za rad sa diskom, treba da postaviš svoj DTA a sačuvaš
trenutno aktivni i na kraju da vratiš sve kako je bilo. Ima i jedan
interapt (čini mi se 0x28) koji se non stop poziva dok je DOS u komandnoj
liniji i kada je takođe bezbedno pozivati DOS funkcije.
Da ne tupim dalje, pogledaj HELPPC, TECHREF i sl. help jutilitije, u
njima ima dosta ovakvih pikanterija, a nije loše ni da nađeš neke stare
računare, trebalo bi da je negde oko broja 70-80, Zoran Životić je pisao
na tu temu.
pascal.583sale.car,
HI
Treba mi heeeelp...
Kako da prebacim iz Word-a u String !?!!
Evo problema...
GetDate je pod tipom Word, a ja hocu da je String...
10x unapred... samo bez nekog asembliranja & sl. ;)
Cya
pascal.584destructor,
-> #583, sale.car >GetDate je pod tipom Word ..
Zar obicana STR(GetDate,s) u s nece dati rezultat?Probaj sa
njom .. pa vidi.
Pozdrav,
DeStrUctOr
pascal.585chadra,
Kako da u Turbo Pascalu da nekom prozoru koga sam kreirao (crt.tpu)
dodam neki 'okvir', kao ovaj:
Ň══Ş
│ │
ď══ż
a da pri tom pri iscrtavanju poslednjeg karaktera (ż) program ne
spusti kursor za jedan red i time obrise prvi?
Da li sa komandom 'write' ili nekom drugom?
pascal.586npmiki,
-> #585, chadra Resenje ti je koriscenje naredbi goto x,y / write ili
ű űpisanjem direktno u video memoriju , za ovo drugo mi se
obrati u mail pa cu ti poslati procedure.
I trebao bi da sakrijes kursor , ali to ide preko interapta.
Treba da znas da writeln pomera kursor u sledeci red ű , a write
ne.
pascal.587sale.car,
HI...
Problem... ;)
Trebam da kreiram fajl cije se ime sastoji iz dana i meseca...
Dakle:
danas je recimo 01-09-1996 fajl je: 0109.txt
E, sad... ja ne znam kako se pretvara iz Word-a u string (destructor
mi je rekao da probam sa Str(GetDate, String) ali to nece da moze
jer mi prijaljuje da ne mogu da stavljam procedure u liniju..ili sl...)
HELP PLIZZZ ...
Cya
pascal.588npmiki,
-> #587, sale.carEvo resenje za tvoj problem. Lose su mi veze , pa ti saljem fajl.
Bye.
datum.paspascal.589micotakis,
-> #585, chadra Ch> Kako da u Turbo Pascalu da nekom prozoru koga sam kreirao (crt.tpu)
Ch> dodam neki 'okvir', kao ovaj:
Ch> Ň══Ş
Ch> │ │
Ch> ď══ż
A što lepo ne uzmeš da radiš u TURBO VISION-u? Nije mnogo komplikovano,
samo moraš da znaš par stvari. Ako nečeš to probaj TPW60. To radi baš to
što ti hoćeš. Uz to se ne petljaš ni sa TV-om. Probaj obavezno. Mislim
da ga imaš i na sezamu.
EMPIRE
pascal.590sale.car,
-> #588, npmiki!?!> Evo resenje za tvoj problem. Lose su mi veze , pa ti saljem
!?!> fajl.
10x a looooottt !!!
danke, danke ;)
Cya
pascal.591sale.car,
-> #584, destructor De> Zar obicana STR(GetDate,s) u s nece dati rezultat?Probaj sa
De> njom .. pa vidi.
De> Pozdrav,
De> DeStrUctOr
Nece... Kaze mi da je nedozvoljeno stavljati procedure
u liniju (ili tako nesto)...
:(((
Ceo problem je u tome sto trebam da kreiram fajl cije se
ime sastoji iz danasnjeg dana i meseca... Recimo danas je
30-08-96 a fajl je: 3008.txt
10x unapred...
Cya
pascal.592sale.car,
HI...
da li je neko probao da pise doorove pomocu onih tri door
tpu-ova...
Ajd neka me majluje da razmenimo iskustva ;)
Cya
pascal.593maksa,
-> #591, sale.car>> Ceo problem je u tome sto trebam da kreiram fajl cije se
>> ime sastoji iz danasnjeg dana i meseca... Recimo danas je
>> 30-08-96 a fajl je: 3008.txt
Evo ti f-ja koja vraća string koji tražiš:
Function D2S : string;
var
Godina, Mesec, Dan, DuN : Word;
DS, MS : string;
begin
GetDate(Godina, Mesec, Dan, DuN);
Str(Mesec, MS);
Str(Dan, DS);
Date2String := DS + MS;
end;
Zovneš ovo, i kreiraš ime fajla od vraćenog stringa.
Uzgred, fuj Pascal. ;)
pascal.594sale.car,
-> #593, maksa Ma> Evo ti f-ja koja vraća string koji tražiš:
Ma> Function D2S : string;
Ma> var
Ma> Godina, Mesec, Dan, DuN : Word;
Ma> DS, MS : string;
Ma> begin
Ma> GetDate(Godina, Mesec, Dan, DuN);
Ma> Str(Mesec, MS);
Ma> Str(Dan, DS);
^^^^^^^^^^^^^
E ovo nece da radi ! Probao sam ja to prvo i nece...
Radi ono sto je npmiki poslao...
Dakle treba :
Str(Mesec:2, MS) ;
Svejedno... 10x svima na helpu...
Cya
pascal.595maksa,
-> #594, sale.car>> Str(Dan, DS);
>> ^^^^^^^^^^^^^
>>
>> E ovo nece da radi !
Bogme hoće.
pascal.596chadra,
Subject: Turbo Pascal( + crt.tpu)
...
window(20,10,30,15);
gotoxy(10,6);
write('╝');
...
U gornjem primeru, posle komade write i iscrtavanja coska okvira,
program spusti sve za jedan red i tako obrise gornji okvir prozora
(koji sam prethodno nacrtao). E sad, ovo sam resio jednim
'gotoxy' i 'insline', ali reshenje ne izgleda previse elegantno...ima
li neko bolje?
pascal.598sale.car,
-> #595, maksa >> Str(Dan, DS);
>> ^^^^^^^^^^^^^
>>
>> E ovo nece da radi !
Ma> Bogme hoće.
E nece ;))
Nece zato sto je Dan tipa Word... ali hoce da radi sledece:
Str(Dan:2, DS) ;
Na ovome se zahvaljujem pmikiju (ja mislim)... Cya !
pascal.600pvlada,
Da li neko zna kako da učitam BMP iz pascal-a ?
Vlada
pascal.601igorl,
Down-loadovao sam sa SEZAM-a programčić za skidanje grafičkog
ekrana u
fajl (za CGA i HERKULES kartice - Fajl SEIZE.ZIP). On zapravo samo
sadržaj grafičke memorije prenese u fajl. Dali neko zna kako u
paskalu
napisati program koji radi obrnutu stvar?
pascal.602sale.car,
HI!
Da li je mouce da u komandnoj liniji zadam neki
string a pascal da ga prevede u nesto drugo ;))
Problem:
Imam prg za iscrtavanje funkcija... E, sad.. ja
moram da udjem u source pa da promenim f-ju i
to je malo zeznuto za one koji bas ne znaju da
ulete u source... Dakle, kako ja mogu da
zadam u komandnoj liniji recimo:
funkcija.exe 'x+2'
i on to da ubaci u prg-u kao
y:= x+2 ;
!?!?!?!?!?
Da li je mouce i kako ?
10x a lot unapred...
pascal.603sale.car,
HI!
Opet ja ;)
Citam matore poruke pa mi stizu ideje ;)
(mozda ovo treba u drugu konf. al ajd da probam)
Da li je moguce potpuno kontrolisati stampac matricni
i to tako da mu se kontrolise koja ce iglica da udari,
pomeranje glave i pomeranje papira...
Dakle, ja posaljem neki bit na neki port i u tom
trenutku udari iglica 1 recimo...
Ako nisam jasan vicite (ali ne glasno) ;)
Cya
pascal.604sale.car,
HI! Jao opet ja... Ako sam dosadan javite slobodno ;)
Well.. problem je:
Kako da uletim u neki txt fajl i pobrisem sva slova A recimo.
Konkretno mi treba da se pobrisu svi znakovi Hex(01).
Mogu i da se zamene sa spacetom...
10x unapred i necu vise bar jedno 3-4 dana ;)))
Cya
pascal.605dspasic,
Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje
formi ili bar nesto slicno za unos samo podataka numerickih ili
stringova ali naravno sa kontrolom upisa tako da ako unosim
string nebi smelo da se desi da prihvati broj.
unapred zahvalan
* tvision mi ne pomaze...
pascal.606igorl,
>> Potreban mi je TPU ili f-ja u paskalu za pravljenje formi
Probaj ovo, mislim da ce ti odgovarati.
input.paspascal.607sale.car,
-> #605, dspasic Ds> Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje
Ds> formi ili bar nesto slicno za unos samo podataka numerickih ili
Ds> stringova ali naravno sa kontrolom upisa tako da ako unosim
Ds> string nebi smelo da se desi da prihvati broj.
Ds> unapred zahvalan
Ds> * tvision mi ne pomaze...
Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda...
Uglavnom je opis: Kreiranje dijaloga u TP-u...
Tu unutra imas exe koji ti pomaze da kreiras izgled ekrancica
pa ga prebaci u pas uz koji ide i njegov tpu....
Ma sve ti je objasnjeno ;)
Ako nema javi da saljem...
Cya
pascal.608sale.car,
HI
gde ima da se skine delphi i koliki je on u stvari !?
Ako neko ima neka mi kaze...
Znam da ce ovo da se brise zbog ... ali da li postoji neka
share vare ;) verzija ?
Cya
pascal.609hercog,
-> #608, sale.car»» gde ima da se skine delphi i koliki je on u stvari !?
Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti skidaj :)
Sale
pascal.610sale.car,
-> #605, dspasic Ds> Potreban mi je ili tpu ili samo f-ja u pascalu za pravljenje
Ds> formi ili bar nesto slicno za unos samo podataka numerickih ili
Ds> stringova ali naravno sa kontrolom upisa tako da ako unosim
Ds> string nebi smelo da se desi da prihvati broj.
Ds> unapred zahvalan
Ds> * tvision mi ne pomaze...
Imas u pascalovom dir-u unit... Zove se Dlgdsn.zip valjda...
Uglavnom je opis: Kreiranje dijaloga u TP-u...
Tu unutra imas exe koji ti pomaze da kreiras izgled ekrancica
pa ga prebaci u pas uz koji ide i njegov tpu....
Ma sve ti je objasnjeno ;)
Ako nema javi da saljem...
Cya
pascal.611sale.car,
-> #609, hercog He> Na mom disku ga ima oko 73 MB :) Pa ako ti se skida ti skidaj
He> :)
He> Sale
Na mom disku nema toliko slobodno :(((((
Enivej 10x !
pascal.612sale.car,
HI
da li neko zna kako da ocitavam podatke sa paralelnog porta !?
Dakle, recimo ubacujem 5v u pin 11 (mislim da je Busy) i u
programu treba da mi se umesto iskljucenog pojavi ukljuceno...
Moze i na nekom drugom pinu...
Well.. 10x unapred...
cya
pascal.613space.ace,
-> #600, pvlada## Da li neko zna kako da učitam BMP iz pascal-a ?
Zavisi koji BMP je u pitanju, moraš da pročitaš header slike, namestiš
paletu, pa onda kao i .PCX, ili bar slično. Ako slika ima više boja,
postaje komplikovanije. Mislim da u pascal dir-u imaš neke procedure
za učitavanje BMP-a, pa pogledaj tamo. Ako nemaš, poslaću ti opis
header BMP slike pa radi sam :).
/ al' sam pomogao :) /