pascal.1138jjerry,
-> #1137, bokir Mislim da obichno write(13,10) nece uraditi posao. Potrebno je
pisati sa znakom # ispred : Write(#13,#10) za cr/lf.
Pozdrav.
pascal.1139emajsijuen,
-> #1137, bokir│ S tim sto je WriteLn isto sto i Write(13, 10).
└────────────────────────────────────────────────
Nije... ;) Lapsus calami. Treba da stoji: Write(#13, #10);
Pozdrav, Vlada...
pascal.1140emajsijuen,
Odgovor na poruku 3.1255 iz Sezamnet-a.
> Alternativno resenje cemo pronaci, ali je jos uvek nejasno odakle
> razlika u ponasanju, kada su okolnosti iste. Osim sto je u pitanju mrezni
> disk...
Evo ide neko alternativno resenje... BTW, kod mene radi... ;)
---------------------------------------------------
Uses Crt;
Var
TestDir :String;
TestName :String;
F :File;
Err :Integer;
Begin
TestDir:='C:\TESTDIR\';
TestName:='axz1xd3c.x7A'; { neko levo ime - bez ikakvog smisla..., da se
ne bi desilo da takav fajl vec postoji u
TESTDIR-u }
Assign(F, TestDir+TestName);
{$I-}
Rewrite(F);
{$I+}
Err:=IoResult;
If Err=0 Then Erase(F);
If (Err = 3)or(Err = 5)
Then Begin
{Direktorijum ne postoji - err=3
IoResult = 3 ==> Path Not Found}
{U direktorijumu TESTDIR vec postoji direktorijum TESTNAME;
IoResult = 5 ==> File Access Denied}
Sound(2500); Delay(20); NoSound;
Writeln('Bezuspesno kreiranje fajla ''',testname,''' u direktorijumu
',testdir);
End;
End.
---------------------------------------------------
P.S. Ako nekome treba procedurica koja pravi neki path
(npr. 'C:\util\programi\temp\'), a da pre toga ne
postoji direktorijum 'C:\util', napravio sam neki
unit za takve stvari. Ovo je zgodno za instalacije
programa... :)
Pozdrav, Vlada...
pascal.1141zdravkod,
Hocu da pretrazim disk, sve direktorijume... Pod starim dosom to
sam radio sa FindFirst, FindNext i malo rekurzije. Napisao sam
procedure FindFirst i FindNext za Long File Names pod WIN95 i one
dobro rade ako pretrazujem samo jedan dir. Ako koristim rekurziju
sve se s...e... U cemu je problem. Ako neko ima neki source ili
slicno nek posalje...
Zdravko
P.S: To sve bi trebalo da radi pod TP 6.0
pascal.1142epson,
-> #1141, zdravkod
│ sam radio sa FindFirst, FindNext i malo rekurzije. Napisao sam
│ procedure FindFirst i FindNext za Long File Names pod WIN95 i one
│ dobro rade ako pretrazujem samo jedan dir. Ako koristim rekurziju
└─────────────────────────────────────────────────
Probaj ovo.
w95tpl20.zippascal.1143jjerry,
Da li asemblerski kod u procedurama mozhe da vrati vrednosti u
parametre procedura kojima se vracaju vrednosti,odnosno :
procedure anyproc(....;var a,b,c:byte);assembler;
asm
.
.
.
mov a,ah
mov b,bh
mov c,ch
end
Da li je ovako neshto ikako moguce ili se u samoj proceduri moraju
obavezno deklarisati promenljive,npr. a1,b1,c1 u koje ce prvo da se
smeshta sadrzhaj ah,bh,ch,pa onda da se a,b,c dodeljuje a1,b1,c1 ?
pascal.1144jjerry,
Kako da izvedem sledece : hocu da program ocekuje da se unese neki
karakter,ali da se ne zaustavlja kao kod npr. read,readkey i sl.
nego,ako se neshto unese onda radi neshto drugo,ako nishta...
Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a
da se program ne zaustavlja ?
Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan
sekund ?
pascal.1145emajsijuen,
-> #1144, jjerry>> Kako da izvedem sledece : hocu da program ocekuje da se unese neki
>> karakter,ali da se ne zaustavlja kao kod npr. read,readkey i sl.
>> nego,ako se neshto unese onda radi neshto drugo,ako nishta...
>> Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a
>> da se program ne zaustavlja ?
If keypressed
Then Begin
Slovo:=Readkey;
Case Slovo Of
#13: blabla;
#15: blabla;
..
End; {Case}
End;
Pozdrav Vlada...
pascal.1146kojai,
-> #1145, emajsijuen>> If keypressed
>> Then Begin
>> Slovo:=Readkey;
>> Case Slovo Of
>> #13: blabla;
>> #15: blabla;
>> ..
>> End; {Case}
>> End;
Ovo nece raditi...
Ovako program ima da se zaustavi kad naleti na naredbu ReadKey...
Najlakse ti je da ovo izvedes ili preko SetIntVec(pa zadas Int 9) ili da
odradis taj deo sa asm... To je biosov int za tastaturu(9) ali ne znam tacno
koji je Al(moras pogledati), u svakom slucaju stoji Read character whitout
echo, sto znaci da ne ceka da bi uneo karakter vec kad ga pritisnes on ga
ocita!
E da... Mozes da izvedes i preko Portova... To ti je najlakse!
Znaci kucas:
If Port[$60]=1 then Halt;
Sto znaci da kad naleti na Esc ima da izadje!
Pozdrav!
pascal.1147kojai,
-> #1144, jjerry>> Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan
>> sekund ?
Ja bih to ne bih uradio ovako ali evo ti: :)
Uses Dos, Crt;
Var
h,m,s,st,st2,s2: word;
begin
GetTime(h,m,s2,st2);
Repeat
GetTime(h,m,s,st);
If (s>s2) and (st=st2) then WriteLn('Prosao je ',s-s2,' sekund.');
Until KeyPressed;
end;
Sporo je previse...
pascal.1148emajsijuen,
-> #1146, kojai>> Ovo nece raditi...
>> Ovako program ima da se zaustavi kad naleti na naredbu ReadKey...
Ti izgleda ne znas cemu sluzi funkcija keypressed. Program
se nece uopste zaustavljati jer nece naleteti na Readkey, sve
dok korisnik ne pritisne neki taster... Kada se to desi,
readkey, ce se automatski zavrsiti i vratiti odgovarajuci kod.
>> Najlakse ti je da ovo izvedes ili preko SetIntVec(pa zadas Int 9) ili da
>> odradis taj deo sa asm...
Nece biti da je tako najlakse... ;)
>> E da... Mozes da izvedes i preko Portova... To ti je najlakse!
Bolje se ti vrati na asm i C, to ti izgleda bolje ide... ;)
Pozdrav, Vlada...
pascal.1149stameni,
-> #1144, jjerry>> Praktichno,kako da detektujem i prepoznam pritisak na tastaturi a
>> da se program ne zaustavlja ?
if KeyPressed then ch := ReadKey
pascal.1150nbjvsb,
-> #1149, stameni>> if KeyPressed then ch := ReadKey
Probaj ovako da uradis, pa udari neku od strelica, ili bilo koji funkcijski
taster kojeg prepoznaje ReadKey... i gle cuda, za strelicu gore dobijes slovo
P u ch. Drugim recima, ne prepoznajes da li je funkcijski taster :)
Ja bi' mu bacio slicno Vladi, samo ga ne bih obradjivao u if-u, vec kasnije,
tj:
if KeyPressed
then
begin
funkc:=false; { funkc: Boolean, da li je taster funkcijski? }
Ch:=ReadKey;
if Ch=#0
then
begin
funkc:=true;
Ch:=ReadKey
end
end;
Ovo je najbolje ubaciti u neku proceduru, pa je stalno pozivati kad se
pritisne taster.
pascal.1151kojai,
-> #1148, emajsijuen>> Nece biti da je tako najlakse... ;)
Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba
nevezana za petlju... Znaci u svakom trenutku programa ako pritisnem zadati
karakter program ce odreagovati... Ne znam da sam ikada pisao bilo sta u
petlji(ocitavanje tastature, misa, vreme, ocitavanje sa portova itd.)!
>> >> E da... Mozes da izvedes i preko Portova... To ti je najlakse!
>> Bolje se ti vrati na asm i C, to ti izgleda bolje ide... ;)
Preko portova se lakse daju ocitati dvoznacni karakteri, znaci strelice, itd...
ReadKey je naredba Crt unita, tako da je neophodno pozvati Crt unit!
Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako da ova
varijanta otpada kao najlaksa i najprakticnija!
Emaj prouci malo problematiku pa mi onda odgovaraj na ovakav nacin!
pascal.1152emajsijuen,
-> #1150, nbjvsb> if KeyPressed
> then
> begin
> funkc:=false; { funkc: Boolean, da li je taster funkcijski? }
> Ch:=ReadKey;
> if Ch=#0
> then
> begin
> funkc:=true;
> Ch:=ReadKey
> end
> end;
Var
Ch1, Ch2 :Char;
Begin
Repeat
If Keypressed
Then Begin
Ch1:=Readkey;
Case Ch1 OF
#13: Blabla;
#65: BlaBla;
#0: Begin
Ch2:=Readkey;
Case Ch2 Of
#72: BlaBla; {Up arrow}
#80: BlaBla; {Down arrow}
#75: BlaBla; {Left arrow}
#77: BlaBla; {Right arrow}
End;
End;
End;
End;
Until Ch1=#27;
End.
Meni ovo izgleda nekako elegantnije nego pisanje posebnih procedura za obradu
keyboard input-a. :) Ipak, mozda je to samo moje subjektivno misljenje...
Pozdrav, Vlada...
pascal.1153emajsijuen,
-> #1151, kojai│ Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba
│ nevezana za petlju... Znaci u svakom trenutku programa ako pritisnem zadati
│ karakter program ce odreagovati... Ne znam da sam ikada pisao bilo sta u
│ petlji(ocitavanje tastature, misa, vreme, ocitavanje sa portova itd.)!
└─────────────────────────────────────────────────
U pravu si, najbolje je to okaciti o neki int, ali nije i najjednostavnije.
BTW, bas me zanima koji si int koristio za to ?
│ Preko portova se lakse daju ocitati dvoznacni karakteri, znaci strelice,
│ itd...
└─────────────────────────────────────────────────
Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da
se petlja sa portovima, kada vec postoji funkcija za to ???
│ ReadKey je naredba Crt unita, tako da je neophodno pozvati Crt unit!
│ Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako da
│ ova varijanta otpada kao najlaksa i najprakticnija!
└─────────────────────────────────────────────────
Covek verovatno ni ne pravi program za takmicenje, niti bilo sta slicno, pa
je glupo o ovome raspravljati...
Pozdrav, Vlada...
pascal.1154jujo,
-> #1151, kojai# Na faxu i po takmicenjima je zabranjeno koristiti bilo kakav unit, tako
# da ova varijanta otpada kao najlaksa i najprakticnija!
# Preko SetIntVec je najprakticnije bilo sta uraditi zato sto je naredba
A setIntVect je kao dozvoljeno.... nemogu da verujem..xaxaxaxaxa..
yooyo:
pascal.1155jujo,
-> #1144, jjerry# Btw. kako da izrachunam frame rate ? Ustvari,kako da izmerim jedan
# sekund ?
Pa uradi ovako.
1. zakaci se na timer interapt (8 ili 1c) i dodaj mu jos ovo
...
if fleg then
begin
brojac:=brojac+10;
if brojac = cilj then uspeh = true;
end;
...
2. negde u programu ...
...
uspeh:=182; // to je najblize jednoj sekundi
brojac:=0;
uspeh:=false;
fleg:=true;
repeat
posao
until uspeh
...
i posao ce se odvijati onoliki broj puta koliko zaista moze da se
obavi u jednoj sec.
yooyo:
pascal.1156zdravkod,
Treba mi kod koji ce da odredi broj diskova u sistemu. Dakle, ako u
sistemu imam drajvove A,B,C,D,E on treba da mi kaze da je zadnje
slovo u sistemu E i da iza njega nema vise.
Zdravko
pascal.1157kojai,
-> #1154, jujo>> A setIntVect je kao dozvoljeno.... nemogu da verujem..xaxaxaxaxa..
Naravno da nije...
Nije dozvoljeno ni u assembleru da se pise!
Ali portove niko ne moze da zabrani, posto su u System Tpu-u!
pascal.1158kojai,
-> #1153, emajsijuen>> BTW, bas me zanima koji si int koristio za to ?
Pa interapt tastature, INT 9...
>> Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da
>> se petlja sa portovima, kada vec postoji funkcija za to ???
Pa vidi se da si malo radio u pascalu cim mozes da kazes da je "petljanje" rad
sa portovima... Po meni to je mnogo jednostavnije nego ista poznato za ovu
stvar! Npr. If Port[$60]=1 then Halt; sto znaci kad se pritisne Esc prekida se
program...
>> Covek verovatno ni ne pravi program za takmicenje, niti bilo sta slicno, pa
>> je glupo o ovome raspravljati...
Naravno da jeste... Samo me zanima sta ce ti onakve upadice "vrati se C-u i
Assembleru"?
pascal.1159emajsijuen,
-> #1158, kojai>> Sasvim se lako ocitavaju i preko funkcije readkey. Zasto mu preporucujes da
>> se petlja sa portovima, kada vec postoji funkcija za to ???
> Pa vidi se da si malo radio u pascalu cim mozes da kazes da je "petljanje"
> rad sa portovima...
Da, da... ja cak nisam ni radio u pascalu...Samo me jedna stvar zanima...
Ti sebe smatras za iskusnog pascal programera ?
> Po meni to je mnogo jednostavnije nego ista poznato za ovu stvar! Npr. If
> Port[$60]=1 then Halt; sto znaci kad se pritisne Esc prekida se program...
Dobro, nemamo sta da se ubedjujemo. Meni se vise svidja drugi nacin (preko
keypressed & readkey), ali to je vec stvar ukusa.
> Naravno da jeste... Samo me zanima sta ce ti onakve upadice "vrati se C-u i
> Assembleru"?
Eto... cisto onako, fore radi... ;)
BTW, ukoliko imas jos nesto da mi kazes, koristi mail posto polako izlazimo
izvan okvira ove konferencije...
Pozdrav, Vlada...
pascal.1160nbjvsb,
Kako da u rezimu 800*600 iskoristim misa? Ono, cim se prebacim na nesto jace
od 640*480 pointer se ne vidi...
pascal.1161kojai,
-> #1159, emajsijuen>> Ti sebe smatras za iskusnog pascal programera ?
Dovoljno sam radio pod dosom da u bilo pascalu, c-u ili assembleru mogu da
uradim bilo kakvu aplikaciju!
Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da svaku
stvar mogu skoro 100 % da uradim...
Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda mozes
sebe da oslovis sa programerom!
Iskusan nisam posto sam malo radio za lovu, ali kada sam radio programi su mi
bez problema radili...
Pozdrav!
pascal.1162emajsijuen,
-> #1161, kojai> Dovoljno sam radio pod dosom da u bilo pascalu, c-u ili assembleru mogu da
> uradim bilo kakvu aplikaciju!
Znam... Samo sam se zezao...Nego, reci mi, sta bi sa onim mixovanjem
wav-ova ? ;)
> Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da svaku
> stvar mogu skoro 100 % da uradim...
Naravno da nije bitno...
> Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda
> mozes sebe da oslovis sa programerom!
Slazem se sa tim...
P.S. E, nemoj da pomislis da imam nesto protiv tebe, ali morao sam da lupim i
ovaj reply. BTW, necu biti iznenadjen ako mi moderator obrise ovu poruku.
Pozdrav, Vlada...
pascal.1163emajsijuen,
-> #1156, zdravkod
> Treba mi kod koji ce da odredi broj diskova u sistemu. Dakle, ako u
> sistemu imam drajvove A,B,C,D,E on treba da mi kaze da je zadnje
> slovo u sistemu E i da iza njega nema vise.
Napravio sam funkciju koja proverava da li neki disk postoji. Znaci, mozes
da je iskoristis:
Var
Drajv :Char;
Begin
drajv:='A';
While DriveExist(Drajv) do Inc(Drajv);
{Posle ovoga promenjiva drajv ce da sadrzi oznaku zadnjeg diska na sistemu}
End.
Funkcija je u fajlu prikacenom uz poruku...
Pozdrav, Vlada...
drive.paspascal.1164kojai,
-> #1162, emajsijuen>> Znam... Samo sam se zezao...Nego, reci mi, sta bi sa onim mixovanjem
>> wav-ova ? ;)
Radi se na tome... Trebaju mi algoritmi kako se vise wavova sintetise u jedan,
znaci simulacija mixete!
pascal.1165nbjvsb,
-> #1161, kojai>> Nije uopste bitno u kom jeziku odaberem da radim posto sam siguran da
>> svaku stvar mogu skoro 100 % da uradim...
Izvinjavam se sto upadam u diskusiju ;), ali ovo definitivno nije tacno.
Ako jedan C programer uleti u Pascal, eto cuda. Covek ce da napravi takav
program da ga niko ziv nece ukapirati. A i verovatno ce mu biti malo cudno
Pascalovo ogranicenje memorije ;) Na kraju ce da odustane i da kaze da
je Pascal tezak shit, da je jezik za apsolutne pocetnike i da C vlada. Kao
sto ce jedan tipican Pascal programer na prvi dodir sa C-om da konstatuje da
je sve to mnogo komplikovano, Pascal je mnogo laksi i razumljiviji, ali ce
mu ipak u glavi uvek biti upravo ono sa memorijom - kod C-a, ogranicenja
nema. A o asembleru da i ne govorim... e sad, covek kome uopste nije stalo
do lepote pisanja ili nepisanih pravila kako programirati u kojem jeziku,
lepo ce da zbudzi asembler u Pascal, igrace se sa portovima, itd, itd, itd..
Samo, zasto uopste programirati u Pascalu ako se koriste i asembler i ostale
sitnice malo nizeg nivoa? Sve to lepo mozes da uradis u cistom asembleru
ili cistom C-u, koji ponajvise i sluze za takvo zezanje. Niko lud nije da
sistemski softver pise u Pascalu... no, da ne duzim vise oko toga.
>> Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda
>> mozes sebe da oslovis sa programerom!
Onaj ko ne zna sta vise da pravi jer je napravio sve, moze sebe da oslovi
sa Bogom... ni ti, ni ja, ni Bil Gejts, niti iko drugi ne zna bas sve o
programiranju, niti ce ikada znati. Uvek ce postojati neko ko bi, npr.
neki tvoj program uradio optimizovanije od tebe. Isto kao sto sigurno
postoji neko ko bi taj isti program uradio optimizovanije od njega. I tako
dalje... evo ti izazov: napravi nov operativni sistem, koji ce po lakoci
rada da ubije Windowse, a po sigurnosti i snazi Unixe.
pascal.1166hercog,
-> #1161, kojai$$ Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda
$$ mozes sebe da oslovis sa programerom!
Na ovo sam morao da repliciram... Uvek postoji nešto što
možeš da napraviš... Prvo si imao ideje, al' nisi znao
da programiraš. Posle si znao kako tako da programiraš, ali
nisi imao ideje. Posle si naučio da programiraš i imaš i
gomilu ideja. To tvoje kad ne znaš šta više da praviš - ondak
si programer, nešto mi ne drži vodu...
Sale
pascal.1167jujo,
-> #1160, nbjvsb# Kako da u rezimu 800*600 iskoristim misa? Ono, cim se prebacim na nesto
# jace od 640*480 pointer se ne vidi...
Pa nikako. Ni jedan drajver za misa ne poznaje 800x600x256 boja jer je
to u domenu vesa standarda. Moraces sam da se dovijas.
yooyo:
pascal.1168popovics,
-> #1167, jujo
| Pa nikako. Ni jedan drajver za misa ne poznaje 800x600x256 boja
| jer je to u domenu vesa standarda. Moraces sam da se dovijas.
~~~~~~~~~~~~~~~~~~~~~~~~~
E, al si mu pomogao. Dajte ljudi, ako već ne možete da pomognete, ne
šaljite ovakve besmislene poruke...
pascal.1169jujo,
-> #1168, popovics# | jer je to u domenu vesa standarda. Moraces sam da se dovijas.
# ~~~~~~~~~~~~~~~~~~~~~~~~~
#
# E, al si mu pomogao. Dajte ljudi, ako vec ne mozete da pomognete, ne
# saljite ovakve besmislene poruke...
Pa ozbiljno ti kazem da bi dobio strelicu moras SAM da napises rutine
za pristup ekranu u VESA modovima. Druga stvar je da ces morati da se
"kacis" na INT33 i to na func 0Ch, koja je click watcher.
U cx regisrtu popalis bitove na koje ce clock watcher da se "pali".
Evo detalja...
INT 33,C - Set Mouse User Defined Subroutine and Input Mask
AX = 0C
ES:DX = far pointer to user interrupt
CX = user interrupt mask:
│F-5│4│3│2│1│0│ user interrupt mask in CX
│ │ │ │ │ └─── cursor position changed
│ │ │ │ └──── left button pressed
│ │ │ └───── left button released
│ │ └────── right button pressed
│ └─────── right button released
└───────── unused
returns nothing
- routine at ES:DX is called if an event occurs and the
corresponding bit specified in user mask is set
- routine at ES:DX receives parameters in the following
registers:
AX = condition mask causing call
CX = horizontal cursor position
DX = vertical cursor position
DI = horizontal counts
SI = vertical counts
DS = mouse driver data segment
BX = button state:
│F-2│1│0│
│ │ └─── left button (1 = pressed)
│ └──── right button (1 = pressed)
└────── unused
- initial call mask and user routine should be restore on exit
from user program
┌─ Obrati paznju ───────────────────────────────────────────────┐
│ - user program may need to set DS to it's own segment │
└───────────────────────────────────────────────────────────────┘
- see INT 33,14
Ti u tvojoj rutinici treba da ispitas da li se mis pomerio, i ako jeste
onda koristeci kombinaciju getimage/setimage nacrtas strelicu na ekranu
na odgovarajucem mestu. U celoj stvari ima jedan problem: NESMES
KORISTITI BORLANDOVE GETIMAGE/SETIMAGE jer nisu pisani da se pozivaju
iz interapta. Dakle tasraturu u ruke i pisi. Za pocetak provali
malo VESA programiranje, pc ces moci misa da crtas i u truecolor modovima.
Na ovaj nacn ces imati misa koji radi totalno nezavisno od ostatka
programa.
yooyo:
pascal.1170kojai,
>> $$ Kada radis toliko da ne znas sta vise da pravis(citaj nemas izazov) onda
>> $$ mozes sebe da oslovis sa programerom!
>>
>> Na ovo sam morao da repliciram... Uvek postoji nesto sto
>> mozes da napravis... Prvo si imao ideje, al' nisi znao
>> da programiras. Posle si znao kako tako da programiras, ali
>> nisi imao ideje. Posle si naucio da programiras i imas i
>> gomilu ideja. To tvoje kad ne znas sta vise da pravis - ondak
>> si programer, nesto mi ne drzi vodu...
Naravno uvek ima nesto da se pravi... Ne postoji covek koji sve zna!
pascal.1171nbjvsb,
-> #1169, jujo>> KORISTITI BORLANDOVE GETIMAGE/SETIMAGE jer nisu pisani da se pozivaju
>> iz interapta. Dakle tasraturu u ruke i pisi. Za pocetak provali
>> malo VESA programiranje, pc ces moci misa da crtas i u truecolor modovima.
Uf, a ja pitao bas zato sto me uzasno mrzi da sve kuckam rucno. Sto mu
gromova, sad se treba prisetiti i asemblera... Na svu srecu, radim u 256
boja pa je sve mnogo lakse.
pascal.1172sivek,
Hi :)
Ja bih zamolio poznavaoce Turbo Vision-a da mi posalju neki primer
u kome je lepo objasnjeno kako da napravim neki meni.Gledao sam malo
one primere sto se dobiju u instalaciji pascala ali mi nije nesto
previse jasno.I naravno ako moze sa strane {objasnjenje} sta cemu
sluzi.
Unapred zahvalan ,Sivek.
pascal.1173jjerry,
Kako da modulu koji linkujem u Unit uchinim vidljivom neku
promenljivu koja se nalazi u tom istom Unitu ? Ovicna EXTERN
PASCAL direktiva ne obavlja posao,chak sam i pod istim imenom
deklarisao..
Any suggestions ?
pascal.1174nenadt,
-> #1173, jjerrynikako
pascal.1175jjerry,
-> #1174, nenadtThanks for the very brief and suggestive reply :)
Pozdrav..
pascal.1176nenadt,
-> #1175, jjerrypa šta si hteo ;)
ne ozbiljno sada, ja sam pokušavao dosta dugo da neke ASM module
ulinkujem na taj fazon, međutim to je tako j.ben posao da je to
strašno. promenjive koje deklarišeš u okviru modula možeš da
koristiš samo u okviru modula.
pascal.1177jjerry,
-> #1176, nenadtNe..ja sam mislio da promenljivu iz unita koristim u okviru modula.
Malo mi nije logichno da to ne mozhe,a da je moguce npr. koristiti
funkcije,npr. C-a.
pascal.1178nenadt,
-> #1177, jjerryfunkcije C-a. a jeli sinak, kako si to izveo. svako moje zezanje sa
C-om se završilo sa time da mi ispiše poruku kako f-ja nije
definisana.
pascal.1179staos,
treba mi pomoc, tj. mom drugu....radi se o programu u
pascalu...koji treba da uci i razvrstava naprimer nazive pesama,
izvodjace i vrstu muzike.
Evo ja cu da ga okacim ovde pa ako neko zna bio bih mu zahvalan
Nikola
problempascal.1180rdejan,
-> #1179, staos>> Evo ja cu da ga okacim ovde pa ako neko zna bio bih mu
>> zahvalan
Tvoj drug je na vrlo lošem putu što se programiranja tiče:
samouk je, struktura programa je loša, koristi labele (što je
još i najbolje od svega), otvara/zatvara fajlove non-stop.
Savetujem mu da se lati neke dobre knjige ili da ga neko
poduči.
Što se programa tiče, stvar je vrlo jednostavna, ali,
napominjem, ceo program je vrlo loše pisan. Nije problem u
neiskustvu, već elementarnom nepoznavanju Pascal-a.
Elem, prva funkcija read(a) ti vraća odgovor i jedan ENTER
"viška", tako da sledeća naredba readln(a) dobija prazan
string, bez unosa. Ispravi prvi red u programu read(a) sa
readln(a).
Još nešto: imenuj fajlove uz poruke sa njihovim ekstenzijama.
Fajl se zvao PROBLEM, a bio je arj arhiva. Ljudi neće gledati
u pasulj šta si poslao i čime da ga otpakuju...
Pozdrav, Dejan
pascal.1181staos,
-> #1180, rdejan Sve sto si rekao je cista istina...njegovo znanje potice iz
skole, a znas kakav je nas skolski sistem, posebno sto se informatike
tice.
Resio je on problem, nabavio gotov program, koji radi:)
Ali, ipak, hvala ti :)
Nikola
pascal.1182emajsijuen,
Kako da detektujem koliko je osnovne memorije bilo slobodno pre
startovanja mog programa ? Napominjem da program ne sme da koristi
celu slobodnu memoriju nego nekih 200 Kb - pa nije moguce to
izracunati npr. sledecim kodom:
{$M 16384, 655350, 655350}
Begin
Writeln(MemAvail);
End;
Takodje me zanima kako da detektujem koliko Kb program zauzima u
memoriji.
Pozdrav, Vlada...
pascal.1183epson,
Kako "konvertovati" string u char ?
pascal.1184guta,
-> #1183, epson#> Kako "konvertovati" string u char ?
Hm, nisam baš razumeo, na kakvu konverziju misliš? String je potencijalno
sastavljen iz više karaktera, ne mogu da zamislim kakva bi se tu konverzija
mogla izvršiti...
pascal.1185jjerry,
-> #1183, epsonAko si mozhda mislio da string predstavish kao niz charova,nema
potrebe,jer je sam tip string niz tipa char,tako da svakom elementu
niza pristupash putem indeksa..
To je shto se teorije tiche,ne mogu da zamislim ni na kakvu drugu
"konverziju".Na kakvu si tachno konverziju mislio ?
Pozdrav..
pascal.1186epson,
-> #1184, guta
to guta i jerry
│ #> Kako "konvertovati" string u char ?
│
│ Hm, nisam baš razumeo, na kakvu konverziju misliš? String je potencijalno
│ sastavljen iz više karaktera, ne mogu da zamislim kakva bi se tu konverzija
│ mogla izvršiti...
└─────────────────────────────────────────────────
Trebalo mi je c:=s[1]; (vat c:char,s:string), što mi je Zak rekao
na vezi čim sam poslao poruku.
pascal.1187jujo,
-> #1178, nenadt# funkcije C-a. a jeli sinak, kako si to izveo. svako moje zezanje sa
# C-om se zavrsilo sa time da mi ispise poruku kako f-ja nije
# definisana.
Pa u C-u treba da stavis rec pascal ispred imena funkcije, tj.
int pascal func(int a, int b)
{
...
}
Cime ces kompajleru da objasnis da je poziv pascal tipa. U pascalu
treba da deeklarises func kao:
function func(a,b:integer);
uz eventualno extern ispred.
A kako ulinkovati tpu i obj.... Mislim da postoji primer uz sam pascal.
yooyo:
pascal.1188nenadt,
-> #1187, jujo> Pa u C-u treba da stavis rec pascal ispred imena funkcije, tj.
>
> int pascal func(int a, int b)
> {
> ...
> }
>
> Cime ces kompajleru da objasnis da je poziv pascal tipa. U pascalu
> treba da deeklarises func kao:
>
> function func(a,b:integer);
>
> uz eventualno extern ispred.
taj deo radi kako valja, ali kada treba pozvati neku f-ju tipa fread iz C
biblioteke, pascal pri kompajliranju prijavi nesto kao "undefined function
_fread". e mene interesuje kako da resim taj problem.
pascal.1189jjerry,
-> #1187, jujoPa nije nishta posebno linkovati TPU i OBJ.Ja sam recimo formirao
OBJ u kome drzhim neke funkcije koje operishu sa 32-bitnim
registrima i 386+ instrukcijama,shto u paskalu ne mozhe..
{$L obj_fajl.obj}
ce da vrshi posao..
Pozdrav..
pascal.1190emajsijuen,
Kako definisati interrupt proceduru u okviru nekog objekta?
Pozdrav, Vlada...
pascal.1191nenadt,
-> #1190, emajsijueninterrupt procedura u okviru nekog objekta se NE izvodi, jer se to
kosi sa ideologijom objektnog programiranja, pa se i ne izvodi
pascal.1192jjerry,
-> #1190, emajsijuenZa shta ti treba interapt procedura bash u okviru nekog objekta ?
pascal.1193stameni,
Uz poruku ide još jedna verzija zbirke čestih i manje čestih
pitanja o Pascalu, skinuta sa:
ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip
Preporučujem download.
Evo i spiska svih pitanja:
----<cut>----
This file TSFAQP.IDX lists the contents of
ftp://garbo.uwasa.fi/pc/ts/tsfaqp42.zip
also available as
ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip
Common Turbo Pascal Questions and Timo's answers
--------------------------------------------------------------------
FAQPAS.TXT Frequently (and not so frequently) asked Turbo Pascal
questions with Timo's answers.
1) How do I disable or capture the break key in Turbo Pascal?
2) How do I get a printed documentation of my students' TP runs?
3) What is the code for the weekday of a given date?
4) Need a program to format Turbo Pascal source code consistently
5) Can someone give me advice for writing a tsr program?
6) Why can't I read / write the com ports?
7) What are interrupts and how to use them in Turbo Pascal?
8) Should I upgrade my Turbo Pascal version?
9) How do I execute an MS-DOS command from within a TP program?
10) How is millisecond timing done?
11) How can I read the text character fonts from the memory?
12) How to find the files in a directory and subdirectories?
13) I need a power function but there is none in Turbo Pascal.
14) How can I create arrays that are larger than 64 kilobytes?
15) How can I test that the printer is ready?
16) How can I clear the keyboard type-ahead buffer?
17) How can I utilize expanded memory (EMS) in my programs?
18) How can I obtain the entire command line?
19) How do I redirect text from printer to file in my TP program?
20) Turbo Pascal is for wimps. Use standard Pascal or C instead?
21) How do I turn the cursor off?
22) How to find all roots of a polynomial?
23) What is all this talk about "Pascal homework on the net"?
24) How can I link graphics drivers directly into my executable?
25) How can I trap a runtime error?
--------------------------------------------------------------------
FAQPAS2.TXT More frequently (and not so frequently) asked Turbo
Pascal questions with Timo's answers.
26) How to get ansi control codes working in Turbo Pascal writes?
27) How to evaluate a function given as a string to the program?
28) How does one detect whether input (or output) is redirected?
29) How does one set the 43/50 line text mode?
30) How can I assign a value to an environment variable in TP?
31) How does one store, and then restore the original screen?
32) How can I convert a TPU unit of one TP version to another?
33) Which error is e.g. Runtime error 205, etc
34) Why can't I open read-only files? I get "File access denied".
35) How do I obtain high and low parts of a byte variable?
36) How can I set a hi-intensity color background in the text mode?
37) Where can I find a program to convert (Turbo) Pascal to C?
38) How can I read input without echoing to the screen?
39) How can I edit the readln input stream?
40) How can I write (brand) something into my executables?
41) What is wrong with my program? It hangs without a clear pattern?
42) How do I convert a decimal word into a hexadecimal string, etc?
43) How to determine the last drive?
44) How can I put a running clock into my Turbo Pascal program?
45) How to establish if a name refers to a directory or not?
46) How does one disable alt-ctrl-del?
47) How can I test whether a file exists?
48) What is the name of the current Turbo Pascal program?
49) How is the code for rebooting the PC written in Turbo Pascal?
50) How can I write inline code?
--------------------------------------------------------------------
FAQPAS3.TXT The third set of frequently (and not so frequently)
asked Turbo Pascal questions with Timo's answers.
51) I am running out of memory when compiling my large program.
52) How do I avoid scrolling in the last column of the last row?
53) How can one hide (or unhide) a directory using a TP program?
54) How do I test whether a file is already open in a TP program?
55) How can I test and convert a numerical string into a real?
56) How can I reverse a TP .EXE or .TPU back into source code?
57) How can I calculate the difference between two points of time?
58) Is a program running stand-alone or from within the IDE?
59) Please explain Turbo Pascal memory addressing to me.
60) How do I obtain a bit or bits from a byte, a word or a longint?
61) What are Binary Coded Decimals? How to convert them?
62) How can I copy a file in a Turbo Pascal program?
63) How can I use C code in my Turbo Pascal program?
64) How do I get started with the Turbo Profiler?
65) How can I detect if the shift/ctrl/alt etc key is pressed?
66) How do I get a base 10 logarithm in TP?
67) If Delay procedure does not work properly, how do I fix it?
68) How much memory will my TP program require?
69) How to detect if a drive is a CD-ROM drive?
70) How do I convert an array of characters into a string?
71) How do I get started with graphics programming?
72) Where to I find the different sorting source codes?
73) A beginner's how to write and compile units.
74) What are and how do I use pointers?
75) How can I read another program's errorlevel value in TP?
--------------------------------------------------------------------
FAQPAS4.TXT The fourth set of frequently (and not so frequently)
asked Turbo Pascal questions with Timo's answers.
76) What are the current Pascal newsgroups on the Usenet news?
77) How do I detect the CapsLock status, how do I turn it on/off?
78) How do I detect if the F11 or F12 key has been pressed?
79) How do I extract (parse) substrings from an input string?
80) How do I find out the size of any kind of a file?
81) How do I format graphics output like in textmode writeln?
82) How do I detect if more than one standard key is pressed down?
83) How can I read a disk's Volume Serial Number?
84) How can I disable and then enable the keyboard in my TP program?
85) How do I get the character device name of the (first) CD-ROM?
86) How do I eject a CD-ROM using a Turbo Pascal program?
87) How do I find out if the ANSI.SYS driver has been loaded?
88) Where do I find Turbo Pascal tutorials and/or good textbooks?
89) How do I make an executable of my Turbo Pascal source program?
90) How can I quickly read the last byte of a file?
91) Is 2000 a leap year? What is the leap year algorithm?
92) Does anybody have a program that gives the week number?
93) How can I use OutText to write numbers in the graphics mode?
94) How can I redirect output to file if I use the Crt unit?
95) How to write a function to return true if I am in graphics mode?
96) My graph.tpu got corrupted. Someone please email me a new copy.
97) How can I avoid run-time errors in numeric input using readln?
98) How can I limit the user's readln input to e.g. 3 characters?
99) Can you tell a beginner how to delete files with Turbo Pascal?
100) Could you please explain shl and shr operators to a beginner?
--------------------------------------------------------------------
FAQPAS5.TXT The fifth set of frequently (and not so frequently)
asked Turbo Pascal questions with Timo's answers.
101) How do I detect if mouse hardware/driver is installed?
102) How can I read absolute sectors directly from a floppy?
103) How can I move a file to another directory in Turbo Pascal?
104) How can I get/set a disk volume label?
105) Is there a function to chop off the leading zero from 0.322?
106) How can I print a text file (and conclude sending a formfeed)?
107) How can I round 4.1256455 to two decimal places to give 4.13?
108) How can I list with paths all the files on a drive?
109) What are the formulas for ArcSin and ArcCos?
110) How can I determine how many bytes are allocated to a file?
111) How can I modify the colors of the VGA graphics palette?
112) How can I check if SMARTDRV has been installed? Which version?
113) Is there a way to make the text blink in the graphics mode?
114) How do I make writeln (15/18) give 0.83, not 8.3333333333E-01?
115) How do I get 256 colors instead of Turbo Pascal's normal 16?
116) How can I read a text character from the screen (e.g. xy 5,2)?
117) How can I clear the screen without the Crt unit?
118) How can I test if a disk is present in the drive?
119) What is the Pascal code to add a number of days to a date?
120) How can I stuff keystrokes in advance into the keyboard buffer?
121) What is the code for a fast 16-color PutPixel Routine?
122) What is the code for a fast 256-color PutPixel Routine?
123) How can I substitute a substring with another in a string?
124) Curing Crt initialisation runtime error 200 on fast machines
125) How can I copy text and example codes from Turbo Pascal help?
--------------------------------------------------------------------
FAQPAS6.TXT The sixth set of frequently (and not so frequently)
asked Turbo Pascal questions with Timo's answers.
126) How do I detect if my program is running under Windows?
127) How do I set errorlevel in Turbo Pascal and test it in a batch?
128) How do I get started with mouse programming?
129) How can I find out if a date is a valid date?
130) How can I write an array to a text file in Turbo Pascal?
131) Where do I get ASCII and scan codes for the different keys?
132) How do I define and use records? How do I give initial values?
133) What real numbers types are there? How do I use them?
134) How do I find out the default status of the compiler switches?
135) Anyone know where I can download Pascal source codes?
--------------------------------------------------------------------
FAQPASB.TXT Bibliography of textbooks and references for frequently
asked Turbo Pascal questions with Timo's answers.
--------------------------------------------------------------------
....................................................................
Prof. Timo Salmi Co-moderator of news:comp.archives.msdos.announce
Moderating at ftp:// & http://garbo.uwasa.fi/ archives 193.166.120.5
Department of Accounting and Business Finance ; University of Vaasa
mailto:ts@uwasa.fi <http://www.uwasa.fi/~ts/> ; FIN-65101, Finland
Spam foiling in effect. My email filter autoresponder will return a
required email password to users not yet in the privileges database.
----<cut>----
Izgleda da tamo ima još nekoliko dosta interesantnih stvari za
programere (faq i source), pa možda ne bi bilo loše ponekad
svratiti tamo...
tsfaqp.zippascal.1194emajsijuen,
Nasao sam neki unit za rad sa sound blasterom... Saljem ga uz poruku...
P.S. Ovo je za direktorijum!
Pozdrav, Vlada...
soundbl.arjpascal.1195emajsijuen,
Ide jos jedan primer za "vatru"...
Pozdrav, Vlada...
burn.paspascal.1196emajsijuen,
Stize jedan dobar unit za rad sa grafikom (VESA modovi, do 256 boja).
------------------------------------------------------------------------------
█▀▀▀ █▀▀▄ █▀▀▄ █▀▀▀ █ █
█ ▄ █▄▄ █▄▄█ █▄ ▄▀▀▄
▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ *************************************************
******************************* (c) 1996-1998 by Stefan Goehler, Germany ***
***** GRAFX 1.3c ************************************************************
***** Documentation - Version 1 *****
**** Find me in the Web @ http://sourcenet.home.pages.de ***
*** Mail me @ stefan.goehler@gmx.de *
** *
* oy n* rilgirov should be mentioned - he
reprogrammed the *
* hardware *men, cirrus-unit seems to run very well. *
* Another thnke theew e.3a b ! * **************
-------------------------------------------------------------------------------
grafx.arjpascal.1197emajsijuen,
█▀▀▀ █▀▀▄ █▀▀▄ █▀▀▀ █ █
█ ▄ █▄▄ █▄▄█ █▄ ▄▀▀▄
▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ *************************************************
******************************* (c) 1996-1998 by Stefan Goehler, Germany ***
***** GRAFX 1.3c ************************************************************
***** Documentation - Version 1 *****
**** Find me in the Web @ http://sourcenet.home.pages.de ***
*** Mail me @ stefan.goehler@gmx.de *
** *
* *
* Thanx fly to Dmitri Chaloupov for doing some corrections on my spelling :) *
* Also Hristo Chilingirov should be mentioned - he reprogrammed the *
* hardware acceleration for Cirrus cards - he had IMHO a good *
* documentation, the cirrus-unit seems to run very well. *
* Another thanx flies to Christian Klukas - he made a lot of testing on *
* version 1.3. Only with his help I was able to make the newest *
* release 1.3 so stable and bugfree (hey ;)! *
****** *
******************************************************************************
***
*
pascal.1198lana.m,
Evo sta se moze uraditi sa i bez onih tpu-ova sto je emajsijuen slao za
otprilike 1 sat(mozda malo vise)! :)
Inace rutina za crtanje zvezdica mislim da je najbolje izvedena do sada...
Naravno ja sam je(sa svojim nevelikim znanjom mate) napravio!
:))
stars.arjpascal.1199emajsijuen,
-> #1198, lana.m│ Evo sta se moze uraditi sa i bez onih tpu-ova sto je emajsijuen slao za
│ otprilike 1 sat(mozda malo vise)! :)
└─────────────────────────────────────────────
C c c... ;)
│ Inace rutina za crtanje zvezdica mislim da je najbolje izvedena do sada...
│ Naravno ja sam je(sa svojim nevelikim znanjom mate) napravio!
└─────────────────────────────────────────────
Jesi li to bas ti pravio ? ;) Meni se ipak cini da je to pravio Stefan
Goehler iz Nemacke ;) Ti si u stvari samo izvadio deo programa vesademo koji
kao primer dolazi uz one unite... Posle ti je ostalo samo onu poruku da
promenis. P.S. a i oni fontovi 'descent.chs' mi nekako deluju poznato... ;)
Mogao si bar da ih ulinkujes u .exe, bilo bi teze provaliti odakle si to
uzeo...
Pozdrav, Vlada...
pascal.1200lana.m,
-> #1199, emajsijuen>> Jesi li to bas ti pravio ? ;) Meni se ipak cini da je to pravio
>> Stefan
>> Goehler iz Nemacke ;) Ti si u stvari samo izvadio deo programa
>> vesademo koji
>> kao primer dolazi uz one unite... Posle ti je ostalo samo onu
>> poruku da
>> promenis. P.S. a i oni fontovi 'descent.chs' mi nekako deluju
>> poznato... ;)
>> Mogao si bar da ih ulinkujes u .exe, bilo bi teze provaliti odakle
>> si to
>> uzeo...
Kunem se da sam pravio rutinu za crtanje zvezdica... Fejdovanja i
razlicite brzine sve je moje...
Poslacu ti source ali da ga ne siris dalje ako mi ne verujes...
Naravno da sam uzeo font!!! Pa i pise lepo ime fonta!!!
E Emaj, treba ti jos da ucis! :))
Pozdrav!
Btw. Rutinu za crtanje zvezdica sam uradio sa jedno 16 godina u
320x200, sada sam samo prebacio u vecu rezoluciju i naravno ponovo
napisao rutinu!
pascal.1201emajsijuen,
-> #1200, lana.m│ Kunem se da sam pravio rutinu za crtanje zvezdica... Fejdovanja i
│ razlicite brzine sve je moje...
└───────────────────────────────────────────
Hmmm... ;) To je sve decija igra za pravljenje...
│ Poslacu ti source ali da ga ne siris dalje ako mi ne verujes...
│
│ Naravno da sam uzeo font!!! Pa i pise lepo ime fonta!!!
└───────────────────────────────────────────
Uzeo si fontove? A rece da nisi koristio one unite ? ;) Samo me zanima
kako si iskoristio fontove bez Stefanovih unita? ;) Na brzinu si napravio i
proceduru za ispis teksta na ekran ?
│ E Emaj, treba ti jos da ucis! :))
└───────────────────────────────────────────
Zato si ti tu da me naucis... ;)
│ Btw. Rutinu za crtanje zvezdica sam uradio sa jedno 16 godina u
│ 320x200, sada sam samo prebacio u vecu rezoluciju i naravno ponovo
│ napisao rutinu!
└───────────────────────────────────────────
Da, znam... :)) Dobro necu da se prepucavamo.. Recimo da ti verujem ;)
Pozdrav, Vlada...
pascal.1202kojai,
Ono sto sam rekao za 1024x768 256 da se iscrtava ekran na brzini refrash
ekrana to ja ni nisam rekao da je uradjeno pod C-ovom kapom vec u assembleru!
Inace sto se tice iscrtavanja, skrolovanja i ostalih stvarcica za to je
normalno da svaki kompajler koristi windowsove rutine... Ali kada sam ja radio
pod C-om ja sam to direktno isao preko DirectDraw rutina(koje se jaaaako tesko
koriste) i prikazivao ogromnim brzinama...
Pod C om je izuzetno tesko inicijalizovati uopste prostor za crtanje, mnogo je
tesko, dok delphi npr.(kao i basic) ima naredbu(ne znam tacno) koja to
odradjuje!
E ali kada idem preko te naredbe ja bukvalno nemam nikakvu kontrolu nad onim
sto radim... Imam handle slika, paleta i td. ali ne mogu nista direktno da
radim, znaci hocu da ocitam nesto, pa tu da ubacim nesto drugo ili da
invertujem...
To je prednost C-a, sto sve radim sam... Jeste da je zajebanije, ali kada se
jednom naprave DLL-ovi sa njima mogu da radim sta zelim i da ih uvek koristim!
Pozdrav!
Btw. VBasic 5.0 ima podrsku za DirectX 1.0... To je imao C 4.0 ili 4.2!
A to je beda...
pascal.1203epson,
Učitam deo teksta iz datoteke, i kako ja sada njega da "zapamtim
u memoriji" i koristim kada mi zatreba ? Do sada sam to radio tako
što ga smestim u privremenu datoteku, ali to nije to.
pascal.1204kojai,
-> #1203, epson>> Ucitam deo teksta iz datoteke, i kako ja sada njega da "zapamtim
>> u memoriji" i koristim kada mi zatreba ? Do sada sam to radio tako
>> sto ga smestim u privremenu datoteku, ali to nije to.
A gde ga ucitas?
Otvoris niz u memoriji koliki ti treba(preko poinera(do 600Kb)) i ispisujes ga
po zelji! :)
pascal.1205epson,
-> #1204, kojai
│ A gde ga ucitas?
└─────────────────────────────────────────────────
var in:text;
red:string;
begin
...
readln(in,red);
...
end.
pascal.1206milosh.zorica,
Evo jednog tutorijala za očitavanje verzije i tipa DOS-a iz Pascal-a.
U prilogu je source-tutorial za to u pascalu + asm iz pascala. Program
koristi funkciju 30h interrupt-a 21h tj. standardnog DOS interrupta.
Znam da je to trivijalnost. Ali, početnicima u asm-u i pascal-u, biće korisno.
Poz, Miloš!
ldi.paspascal.1207kojai,
-> #1206, milosh.zorica>Evo jednog tutorijala za ocitavanje verzije i tipa DOS-a iz Pascal-a.
>U prilogu je source-tutorial za to u pascalu + asm iz pascala. Program
>koristi funkciju 30h interrupt-a 21h tj. standardnog DOS interrupta.
>Znam da je to trivijalnost. Ali, pocetnicima u asm-u i pascal-u, bice korisno.
U unitu Dos postoji naredbica GetVer ili nesto tako...
pascal.1208pecanac,
Kako da izvučem source iz exe-a? (tp 6.0)
Ima li neko programče da mi pomogne?
pascal.1209milosh.zorica,
-> #1208, pecanacPa, za to ti je potreban dis-assembler. Pascalski nikako. Kad ga
izvučeš (sors), dobićeš asm sors, nevezano za jezik u kom je
aplikacija rađena. Najbolji dis-assembler je Sourcer. Ako ti treba,
javi imam ga.
pascal.1210ventura,
-> #1209, milosh.zorica> aplikacija radena. Najbolji dis-assembler je Sourcer. Ako ti treba,
Sta rece i ostade ziv - Jeste da on izvlaci iz COM,EXE,SYS sorseve
ali kakve. Pa to niko ziv nemoze da razume sto sorser izvuce, a po
mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci
sors samo iz EXE fileova ali su oni donekle razumljivi, a uz to ima
i razne druge korisne opcije.
tdebuger.zippascal.1211kojai,
-> #1210, ventura>> mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci
Definitivno...
pascal.1212kojai,
>> Kako da izvucem source iz exe-a? (tp 6.0)
>> Ima li neko programce da mi pomogne?
U principu svi programi za izdradu source-ova radi prema algoritmu koji se
moze naci u jednoj(malopoznatoj) knjizi o Assembleru koja se nalazi u paketu
knjiga o C-u... Te knjige se dobijaju pri kupovini originalnog C paketa i od
jedno 10-tak knjiga u jednoj su samo primeri(vecina u Assembleru)...
Program naime radi iz 3 dela... Prvi vrsi registraciju promena registara.
Drugi prati ponavljanja, a treci iz te virtualne baze koje pravi na disku
prema drugom delu pravi program...
Pozdrav!
pascal.1213milosh.zorica,
To stoji da je Turbo Debugger najbolji i da sorser izvlači
nerazumljiv sors.Sorser mi je prvi pao na pamet. Svi de-kompajleri,
izvlače nerazumljiv sors. Jedino TDebugger, normalan i čitak...
pascal.1214jujo,
-> #1213, milosh.zorica# To stoji da je Turbo Debugger najbolji i da sorser izvlaci
# nerazumljiv sors.Sorser mi je prvi pao na pamet. Svi de-kompajleri,
# izvlace nerazumljiv sors. Jedino TDebugger, normalan i citak...
Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive
za koje zna ti ubaci kao komentar na odgovarajucim mestima.
Kad smo vec kod "reverzibilnog inzenjeringa" postoji i program exe2c,
koji konvertuje exe u C (koji je ZAISTA NECITAK).
yooyo:
pascal.1215pecanac,
-> #1210, ventura> mom misljenju najbolji za citanje je Turbo Debuger, jeste da izvlaci
> sors samo iz EXE fileova ali su oni donekle razumljivi, a uz to ima
Vrlo mi je hitno:
...ako još neko ima Turbo Debuger neka ga okači ponovo u conf. jer je
ova okačena arhiva (?) loša.
Može i na mail, samo što pre. Hvala.
pascal.1216milosh.zorica,
-> #1214, jujo> Kad smo vec kod "reverzibilnog inzenjeringa" postoji i program exe2c,
> koji konvertuje exe u C (koji je ZAISTA NECITAK).
Taj imam i potpuno je beskoristan. Sourcer i Turbo Debugger koristim za rev.
inzenjering.
pascal.1217sjocic,
-> #1214, jujo-> Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive
-> za koje zna ti ubaci kao komentar na odgovarajucim mestima.
Moze li se dobiti taj 'sourcer' ?
pascal.1218ljiljam,
Da li bi mi neko mogao okaciti turbo.hlp na mail ver. 6.00?
pascal.1219milosh.zorica,
Evo, jedan pascal kompajler. Karakteristike sledeće:
Podržava protected mode, pomoću wdos/x, dos4gw ili pmode/w
extendera.
Vesa 2.0 grafiku.
Rad sa mišem, bez ext korisničkih unit-a.
Uz to sve je i Borland Pascal kompatibilac. Ovo je free verzija tj.
bez IDE-a, Debugger-a i help-a. Inače, ime mu je TMT Pascal 2.10.
Ko ima full verziju, ne bi se ljutio da mi se javi, radi kopiranja
ovog coolest compiler-a. Adresa odakle sam ga uzeo je www.tmt.com.
Dl obavezan, nećete se pokajati tj. oduševićete se.
pascal.1220milosh.zorica,
Sorry, pukla veza, ponovo.
tmtp210d.exepascal.1221jujo,
-> #1217, sjocic# -> Ma daj... sourcer ti jos i ozkomentarise sors. Sve DOS i BIOS pozive
# -> za koje zna ti ubaci kao komentar na odgovarajucim mestima.
#
# Moze li se dobiti taj 'sourcer' ?
Evo ide...
yooyo:
sourcer.zippascal.1222pecanac,
-> #1215, pecanac> ...ako još neko ima Turbo Debuger neka ga okači ponovo u conf. jer je
Niko nema Turbo Debuger?
pascal.1223milosh.zorica,
-> #1220, milosh.zoricaFajl uz poruku 1220 je .exe. Sorry.
pascal.1224ljiljam,
Pravim jedan mali program koji je zakacen uz poruku.
Problem je u tome sto ne znam kako da se sifra unosi u
ono predvidjeno polje a ne ispod.
Unapred hvala,
Ljilja
pass.paspascal.1225nenadt,
-> #1224, ljiljam evo promenjenog programceta
passnew.paspascal.1226pecanac,
Potrebna mi je procedura/funkcija koja na ulazu ima početni i krajnji
datum (u obliku ddmmggggssmm, (obavezno 4 cifre za godinu) bilo da se
uzima sistemski datum i vreme, ili se ukucava sa terminala) a vraća
_broj_sati_ koji je protekao u medjuvremenu.
Može ovde ili na mail, svejedno. Hvala!!
pascal.1227jjerry,
-> #1206, milosh.zorica>>koristi funkciju 30h interrupt-a 21h tj. standardnog DOS
>>interrupta. Znam da je to trivijalnost. Ali, pocetnicima u asm-u i
>>pascal-u, bice korisno.
Oprosti ,ali TI znash da je to trivijalnost ??? Koliko se ja secam
poslednji put kad smo se chuli nizi znao zashto sluzhe instrukcije
tipa PUSH/POP ili chak MOV (??) a sad si odjednom struchnjak pa
znash i DOS-ove f-je. I josh pishesh svoj e-mail..
Mislim stvarno...i to ti josh nije prvi put da uzimash tudj rad i
da ga predstavljash kao svoj.
pascal.1228milosh.zorica,
-> #1227, jjerryOvaj rad jeste tričarija. Rad jeste moj 100%! A, oko push* pop*
funkcija i sl. sam naučio po nešto. Ovo jeste moj rad. Jedini, koji
sam tuđi uzeo, bio je onaj bump. Sad sam ga skroz prepravio i
ispravio neke bugove, na kraju sam dodao i 10x 2 autor.
Funkcija jeste, više no prosta. Ali... neću više, obećavam!
pascal.1229jjerry,
-> #1228, milosh.zoricaTo nije ni zasluzhilo da se zove radom...A shto se onog bampa tiche
bolje cuti i pokri se ushima jer si ispao lamerchina kakva se skoro
nije videla na ovim prostorima. Bolje kreni is pochetka,kako bi ti
i pristajalo,nego da se folirash ovde kako si fenomenalan programer
a ustvari nemash pojma.Savetujem ti da se primirish malo i da ,za
pochetak,nabacish zhelju za uchenjem a ne zhelju da u nechijim
ochima budesh veliki.
Lichish na onog dechka koji je 2 puta vikao kako dolazi vuk,2 puta
zajebao ljude,dok je treci put bio pojeden od strane istog jer mu
niko nije verovaro.Ja ti vishe ne verujem...
pascal.1230shoom,
Da li nekog zanima source legendarne igre ? F1 za help. Davno bese ... ne
secam se ni kada je tacno nastalo ...
tetrix.arjpascal.1231milosh.zorica,
Kako komandu exec da nateram, da mi ne zahteva putanju do fajla?
Npr. želim da pokrenem arj, DN, editor i sl. Kada mu za program
unesem samo dir, arj, edit ili slično, prijavi mi da nemože da nađe
fajl ili direktorijum. U c-u to fino radi system().
pascal.1232stameni,
-> #1231, milosh.zorica>> Kako komandu exec da nateram, da mi ne zahteva putanju do fajla?
Pogledaj execdemo.pas iz ..\tp\demos. Ključna stvar je u:
...
SwapVectors;
exec(GetEnv('COMSPEC'), '/C ' + Command);
SwapVectors;
...
Ne zaboravi da ostaviš prostor na heapu.
pascal.1233epson,
Kako registrovati da com port više ne dobija podatke ? Brojanjem
chr(0) ? Kako sprečiti com port da dalje pošalje određen podatak ?
pascal.1234milosavljevic,
Hi!
Skinuo sam iz sezamovog dir-a P-ROBOTS, iliti borbe robota-programa. Da li
postoji dobra dusa koja se zezala sa ovim, i koja je voljna da mi objasni
"funkcije i procedure" koje se koriste u source-ovima istih.
Unapred MNOGO hvala!
pascal.1235andrijak,
Da li zna neko kako da neku sliku(recimo *.bmp) pozovem iz paskala?
Koja komanda i njena sintaksa?
pascal.1236jjerry,
-> #1235, andrijak>>Da li zna neko kako da neku sliku(recimo *.bmp) pozovem iz
paskala?
>>Koja komanda i njena sintaksa?
:)) Pa netje to itji tek tako ;) Ono,mozhesh da probash sa Exec
procedurom pa da pozovesh neki viewer ali je to glupo reshenje.
Nadji lepo opis formata koji ti treba i napravi svoj viewer za taj
format u Paskalu,za PCX npr.,to je bar lako..
pascal.1237emajsijuen,
-> #1236, jjerry> Nadji lepo opis formata koji ti treba i napravi svoj viewer za taj
> format u Paskalu,za PCX npr.,to je bar lako..
To je lako, a ? Aj' mi onda napravi (onako, na brzaka) jedan viewer za
recimo *.PCX fajlove (kad si ih vec pomenuo). Ako ti treba opis formata,
javni mi pa da ga iskopam negde sa NET-a... ;)