PCPROG.1

20 Sep 1991 - 03 Dec 1992

Topics

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

Messages - pascal

pascal.723 vvelisavljev, -> #722, ssokorac
Evo unita koji radi nešto što otprilike tebi treba. Nije kao BASIC naredba PLAY ali može da posluži, naročito u igrama. tones.arj
pascal.724 boka,
Zdravo, mozda cu sada pitati nesto sto je vec proslo ali nisam mogao da skidam celu temu. Da li je moguce napraviti com datoteku iz TP-a verzija 5.0+. Znam da je to radjeno u 3.0, ali ko ce da se vraca u to? boka...73, 88. Kako za koga ;) btw, nemojte mi raci da to radim u C-u, jer da ga znam ne bi pitao u temi pascal...
pascal.725 dejanr, -> #724, boka
>> Da li je moguce napraviti com datoteku iz TP-a verzija 5.0+. Znam >> da je to radjeno u 3.0, ali ko ce da se vraca u to? Koliko znam, nije moguće. Turbo Pascal od verzije 4 ne radi u small modelu tj. svaki unit sada koristi svoj code segment, svi koriste zajednički data segment, a postoji i stek segment. Da bi se mogao napraviti .COM, moralo bi sve biti u istom segmentu, dakle ništa od toga.
pascal.726 janko, -> #724, boka
> nisam mogao da skidam celu temu. Da li je moguce napraviti > com datoteku iz TP-a verzija 5.0+. Znam da je to radjeno u Ne može. > 3.0, ali ko ce da se vraca u to? 3.0 ti daje COM, ali minimalno 15K veliku. 5.0 ti daje .EXE, ali je min. veličnina oko 2K. Pa ti vidi...
pascal.727 ssokorac, -> #723, vvelisavljev
:> Evo unita koji radi nešto što otprilike tebi treba. Nije :> kao BASIC naredba PLAY ali može da posluži, naročito u Thanks, sad ću da probam.
pascal.728 ssokorac, -> #727, ssokorac
:> Thanks, sad ću da probam. Nije loše imam interesantih zvukova :), ali sa time se ne može odsvirati one pesmice iz telematea :(.
pascal.729 obren,
Treba li još uvek nekome onaj editor .CHR fontova? Našao sam ga na nekim "zaturenim" disketama?
pascal.730 mjova, -> #729, obren
> Treba li još uvek nekome onaj editor .CHR fontova? Našao > sam ga na nekim "zaturenim" disketama? imam ja neki editor tih fontova (više datoteka) sa triklea, ali čini mi se da je bulaja reko da nisu pd. u svakom slučaju taj koji ja imam ne može da editiuje fontove koji idu uz qpro. ove koji idu uz turbo nisam ni probao. tako, ako možeš lepo da edituješ qpro chr onda daj daj daj daj :)
pascal.731 fric, -> #729, obren
> Treba li još uvek nekome onaj editor .CHR fontova? Našao > sam ga na nekim "zaturenim" disketama? Ako je sw ili pd & ako ti nije problem, šiljni ga u konferenciju. Meni trenutno ne treba, ali možda će, pa neka se nađe.
pascal.732 ssokorac, -> #729, obren
:> Treba li još uvek nekome onaj editor .CHR fontova? Našao :> sam ga na nekim "zaturenim" disketama? Šalji! Thanks unapred :).
pascal.733 drpr,
Neki klinci pravili program (btw iz mg-a) koji se kači na vremenski interrupt i tako broji neko vreme.Pitanje je da li postoji neki interrupt koji nije time a koji se javlja na određeno vreme jer ne bi želeo da mi se menja sistemsko vreme? cope
pascal.734 sarpop, -> #729, obren
>> Treba li još uvek nekome onaj editor .CHR fontova? Našao >> sam ga na nekim "zaturenim" disketama? Naravno ! ! Molim te pošalji ga što pre.
pascal.735 bearboy,
Dragi moji pascalovci. Napisah ja program, ali opet, neće on tako kakoo ja hoću ;) :( Evo problematičnog dela, da vidite u čemu je problem: var data :file; begin assign(data,'pic.gii'); rewrite(data); blockwrite(data,memŠ$a000:$0000Ć,16384); close(data); end; E sad, moj problem je u tome, što fajl PIC.GII, koji bi trebao da bude dug 16Kb, NIJE toliki, već oko 40K. Ako zadam koji drugi broj, onda se dužina kreiranog fajla menja 'random'. Jel' sam ja to nešto zabrljao ili je opet kriv Borland ? ;))))
pascal.736 dejanr, -> #735, bearboy
>> assign(data,'pic.gii'); >> rewrite(data); Stavi rewrite (data,1);
pascal.737 ssokorac,
Kako u jednu datoteku zapisati podatke razlicitog tipa? Recimo hocu da zapisem 10 booleanova, 2 integera i 32 real-a. Valjda ne moram da pravim 3 datoteke?
pascal.738 dzakic, -> #737, ssokorac
>> Kako u jednu datoteku zapisati podatke razlicitog tipa? Recimo >> hocu da zapisem 10 booleanova, 2 integera i 32 real-a. var f:file; p:array[1..10] of boolean; i,j:integer; r:array[1..32] of real; begin assign(f,'file.dat'); rewrite(f,1); blockwrite(f,p,sizeof(p)); blockwrite(f,i,sizeof(i)); blockwrite(f,j,sizeof(j)); blockwrite(f,r,sizeof(r)); close(f) end. Sorry ako ima grešaka, pisao sam napamet. Ove boolean i real promenljive možeš da upisuješ i pojedinačno (kao i integere, normalno), ne moraju biti u nizu. Onda ti treba po blockwrite za svaku. Kasnije ih čitaš sa blockread. Jel to za supi_3? Reci nam, reci nam... :)
pascal.739 bearboy, -> #736, dejanr
˙¨:>>> rewrite(data); ˙¨:> ˙¨:> Stavi rewrite (data,1); Hvala, proradilo je ! A zašto mu smeta ako je recsize 128 ? (to je valjda default) I zašto kreira 'random size' datoteke ?
pascal.740 dejanr, -> #737, ssokorac
>> Kako u jednu datoteku zapisati podatke razlicitog tipa? Recimo hocu >> da zapisem 10 booleanova, 2 integera i 32 real-a. Valjda ne moram da >> pravim 3 datoteke? Otprilike ovako: type slogt = record logicke: array[1..10] of Boolean; celi: array[1..2] of integer; racion: array[1..32] of real; end; slogf = file of slogt; Onda otvoriš fajl sa RESET i čitaš/pišeš/krećeš se po njemu sa read/write/seek
pascal.741 glisin, -> #737, ssokorac
ŢŢKako u jednu datoteku zapisati podatke razlicitog tipa? ... ŢŢ... Valjda ne moram da pravim 3 datoteke? Auf! Ti k'o da si se sa BASIC-a svukao. Videh odgovore. Prihvati ono što ti savetuje DR, a one hakerice od bata Zaka za sada zaboravi (bez uvrede). Naime, DR-ova verzija je paskalski normalnija, a DZ-ova je C-ovskija. Silne 'blockwrite' lepo zameniš jednim jedinim 'write'. Mnogo lepše. Ako ti zafali nešto u onom RECORD-u, lepo samo tamo dodaš i ćao. Ne dodaješ nove 'blockwrite'. Mnogo lakse. Dalje, ne razmisljas o 'sizeof', sve je na višem nivou apstrakcije. Mnogo elegantnije. I na kraju, to će da radi na svim Pascal kompajlerima na svim mašinama, što će reći portabilno je. Mnogo upotrebljivije. :-) ŢŢŢIGGYŮŮŮ
pascal.742 vitez.koja, -> #737, ssokorac
#=> Kako u jednu datoteku zapisati podatke razlicitog tipa? To nije nikakav problem. Lepo otvoris je prvo za jednu vrstu podataka, upises, zatvoris, pa tako dok ti se ne smuci. Problem nastaje kad treba tu papazjaniju da procitas ;))))
pascal.743 dzakic, -> #741, glisin
>> Auf! Ti k'o da si se sa BASIC-a svukao. Videh odgovore. Prihvati >> ono što ti savetuje DR, a one hakerice od bata Zaka za sada >> zaboravi (bez uvrede). Bez uvrede, samo nemoj ga savetuješ da ih baš zaboravi. ;) Zamisli situaciju: treba ti neka vrsta 'hedera' na početku fajla u kome čuvaš neke važne podatke a da posle njega ide *gomila* recorda koja ne može (!) da stane odjednom u memoriju. A čovek hoće da mu sve lepo bude u jednom fajlu. Moje rešenje dozvoljava da se čak pozicioniraš na odeđeni slog i pročitaš ga ili zapišeš. Mene je pitanje asociralo na takvu situaciju pa sam ponudio onakvo rešenje smatrajući da je zapisivanje recorda suviše poznata stvar. Naravno slažem se da blockread/write treba izbegavati kad god je moguće. Primer samo ilustruje njihovu upotrebu, on neka sam odluči koje mu je rešenje prihvatljivije za konkretan problem.
pascal.744 ssokorac, -> #738, dzakic
:> svaku. Kasnije ih čitaš sa blockread. Thanx. Ja sam se mučio i pravio recorde, pa onda njih pisao...bezveze :). :> Jel to za supi_3? Reci nam, reci nam... :) Pa, recimo :). Dobro dodje za snimanje pozicije. Bolje da ne znaš kako sam to pre radio O:).
pascal.745 ssokorac, -> #740, dejanr
:> Otprilike ovako: Thanks. A ja pravio reecord sa po jednim integerom, realom i booleanom, pa ih pisao 32 puta, a one koje mi ne trebaju punim nulama. Eh :).
pascal.746 ssokorac, -> #741, glisin
:> Auf! Ti k'o da si se sa BASIC-a svukao. Videh odgovore. :> Prihvati ono što ti Kako si pogodio? :) Pre Pascala, znao sam samo spectrumov BASIC :).
pascal.747 ssokorac, -> #742, vitez.koja
:> upises, zatvoris, pa tako dok ti se ne smuci. Problem :> nastaje kad treba tu papazjaniju da procitas ;)))) Ovo mi je najviše pomoglo :)).
pascal.748 ssokorac, -> #743, dzakic
:> upotrebu, on neka sam odluči koje mu je rešenje :> prihvatljivije za konkretan problem. Dobro, možete uvući mačeve :). Meni je u stvari trebalo upravo ovo što ti reče - par booleanova na početku a onda 'gomila':) recorda. Isprobaću i jedan i drugi način - pa šta bude bolje :).
pascal.749 bearboy, -> #738, dzakic
˙¨:> blockwrite(f,p,sizeof(p)); Ok, samo može da pravi probleme sa VMT (Virtual Method Table), da sizeof da pogrešne podatke, mada ne verujem da ovo treba Stashi :)
pascal.752 dejanr, -> #748, ssokorac
>> Meni je u stvari trebalo upravo ovo što ti reče - par booleanova >> na početku a onda 'gomila':) recorda. Isprobaću i jedan i drugi >> način - pa šta bude bolje :). Vidi, način koji sam ti ja predložio je "u duhu paskala". Pogodno je ako se snimaju i čitaju slogovi, dakle zapisi kod kojih se uvek javlja svaki od tipova. Dobra strana je što je prilično "otporan" na greške. DZakicev metod je specifičan za turbo pascal, i vrlo efikasan ako se ZAISTA smeštaju podaci raznih tipova koji nemaju mnogo veze jedan sa drugim, dakle nisu slogovi nego nešto "divlje". U tom je slučaju dosta brži. Mana je što kod čitanja moraš biti jako pažljiv, da čitaš tačno onoliko koliko si zapisao i istim redom. Inače dobijaš sasvim "leve" rezultate, bez poruke o grešci.
pascal.753 hacker, -> #733, drpr
Ne razumem kako misliš nećeš da diraš sistemsko vreme, jer kad se priÁ+ačiš na interapt 08 tvoj deo procedure može da se izvršava pre samog interapta ili posle... zavisno od toga šta ti treba... Možeš da probaš i sa int 1c koji 08 inače poziva...
pascal.754 glisin, -> #742, vitez.koja
ŢŢ...otvoris je prvo za jednu vrstu podataka, upises, zatvoris, pa tako dok... E dakle, motkom bih ja vas jurio!!! :-((( ŢŢŢIGGYŮŮŮ
pascal.755 glisin, -> #743, dzakic
ŢŢBez uvrede, samo nemoj ga savetuješ da ih baš zaboravi. ;) Naravno Zak, mislio sam samo na konkretan primer. Ono za headere i slične manipulacije je ok, ali kada ima niz istih blokova, onda je RECORD mnogo bolje rešenje. Ako nema, e onda blockwrite, šta da se radi. ŢŢŢIGGYŮŮŮ
pascal.756 glisin, -> #744, ssokorac
ŢŢThanx. Ja sam se mučio i pravio recorde, pa onda njih pisao...bezveze :). ^^^^^^^^^^^^^^^^^^^^^^ Gde mi je ta motka? ;-) ŢŢŢIGGYŮŮŮ
pascal.757 glisin, -> #746, ssokorac
ŢŢKako si pogodio? :) Pre Pascala, znao sam samo spectrumov BASIC :). Kako? Lako! Šest (6) godina iskustva u Petnici, BIS-u i slično sa takvima. Počev od GOTO, GOTO svaki čas u Pascalu, pisanja celog programa u prvoj koloni, kukanja tipa "zašto stalno mora ovaj BEGIN ili PROGRAM", pa preko pisanja procedura koje sve parametre uzimaju kao globalne (GOSUB tehnika ;-), pa do dosta skrivenih, ali "tipičnih" rešenja koja su posledica nestrukturiranih tipova koji postoje u BASIC-u (kao što je ova tvoja dilema), i tako redom... Dakle, na kraju si liste, još malo se potrudi (pročitaj recimo Algorithms + Data Structures = Programs (N.Wirth naravno)) i bićeš dobar! :-) ŢŢŢIGGYŮŮŮ
pascal.758 ssokorac, -> #757, glisin
:> Dakle, na kraju si liste, još malo se potrudi (pročitaj :> recimo Algorithms + Ne rekoh da radim bilo šta od onoga što si nabrojao, pa nema potrebe da se trudim da to ispravljam, jer nemam šta :). Samo rekoh da sam ranije znao BASIC. žak šta više, već posle mesec dana sam batalio pola nabrojanog, sintaksu GOTO-a čak i ne znam, a programe uredno 'nazubljujem' :) još od prve nedelje pascaliranja :). Baš sam napredan? O:)
pascal.759 predragd,
Jos ranije je bilo reci o proceduri koja pomera pointer tekst fajla. Sve bi bilo u redu da ta procedura ne koristi Reset naredbu. Naime ako ste ranije otvorili fajl sa ReWrite, naredba Reset ce vam totalno pokvariti posao, necete vise nista moci upisati u taj fajl jer naredba Reset otvara fajl samo za citanje. Zna li neko kako pomeriti pointer tekst fajla na pocetak bez koriscenja naredbe Reset. Pedja.
pascal.760 d.petrovic, -> #758, ssokorac
Ă> batalio pola nabrojanog, sintaksu GOTO-a čak i ne znam, a programe Pa to je bar prosto, recimo : GOTO 1000 O;)))))
pascal.761 dejanr, -> #760, d.petrovic
>> Pa to je bar prosto, recimo : GOTO 1000 Neće ići u paskalu!
pascal.762 d.petrovic, -> #761, dejanr
Ă> Neće ići u paskalu! To se odnosilo na basic (i to za spectrum commodore, etc :)))) )
pascal.763 umajstorovic,
Jel neko zna u kojoj se conf, temi, etc. nalazi opis borlandovih .chr fontova? Ranije sam video tako nešto, ali sad ne mogu da se setim tačno gde :(.
pascal.764 dzakic, -> #763, umajstorovic
Mislim da se opis strukture .chr fajlova nalazi upravo u onom editoru što je okačen u neku od conf, verovatno pc.user.
pascal.765 dzakic, -> #764, dzakic
Evo ga ovde, uz poruku 4.343 - bgifont.arj.
pascal.766 ssokorac, -> #762, d.petrovic
:> To se odnosilo na basic (i to za spectrum commodore, etc :> :)))) ) Pa znam ja spectrumov goto, ono je bilo spomenuto za Pascal :). Ko bi pisao program u spec. basicu bez goto?? :)
pascal.767 ssokorac, -> #759, predragd
:> fajl jer naredba Reset otvara fajl samo za citanje. Zna Zar? Ne znam, možda je text fajl izuzetak, ali reset ne otvara samo za citanje, vec i za citanje i za pisanje. Kako bi inače menjao fajl bez da ga obrišeš? Rewrite osim što otvara za pisanje i briše ceo fajl.
pascal.768 vitez.koja, -> #761, dejanr
#=> Nece ici u paskalu! Oce, nego kako... .............. label 1000; begin .............. 1000: .............. goto 1000; Ide, pa rastura
pascal.769 drmarke,
Jel ima neko ideju kako simulirati pritisak i puštanje kombinacije Alt-Shift? Treba mi da prebacim Vkeyb da pri boot-u ne bude u yu-setu već samo prema izričitoj želji. Ako postoji drugi način javite! Pozdrav drmarke
pascal.770 drpr,
Kad smo već kod datoteka imam jedan mali problem. Imam jedan program koji se koristi datotekama i želeo bih da ga mogu pozivati odakle god hoću (recimo da napravim bač fajl) ali bez menjanja trenutnog dira.Kada program pozove datoteku on je ne nađe jer datoteka nije u diru odakle je "poziv došao".Pravljenje neke datoteke koja će nositi informaciju o diru gde se nalazi fajl pa da je bacim recimo u c:\ ne izgleda mi baš elegatno a i šta će se desiti ako korisnik slučajno izbriše tu datoteku sa informacijom.Da li ima neko rešenje? cope
pascal.771 dzakic, -> #769, drmarke
> Ako postoji drugi način javite! Postoji, pređi na zkey ;)
pascal.772 dzakic, -> #770, drpr
Ako sam razumeo, program snima neke svoje podatke u datoteku. Ti si stavio da se snima u tekući direktorijum pa pravi probleme... Jedno rešenje je da se ta datoteka snima 'u direktorijum iz kog je učitan program'. Naziv programa koji se izvršava dobijaš sa ParamStr(0). Onda taj string propustiš kroz proceduru FSplit koja će to da 'isecka' na direktorijum i filename. Ti uzmi direktorijum, nakalemi '\' i naziv datoteke i tamo je snimi, kasnije odatle učitaj. Jednostavno.
pascal.773 darone, -> #769, drmarke
>> Ako postoji drugi način javite! Postoji, ali je Boga pitaj gde u konferencijama... Neko je ostavio peč za vkeyb koji tera drajver da se budi u us ili yu setu, šta je potrebno već. žini mi se u SEZAM.2, ali ko će ga znati :( darone
pascal.774 drpr, -> #769, drmarke
-> Jel ima neko ideju kako simulirati pritisak i -> puštanje kombinacije Alt-Shift? Treba mi da -> prebacim Vkeyb da pri boot-u ne bude u yu-setu -> već samo prema izričitoj želji. Ako postoji -> drugi način javite! Boot sys? Možeš svičem /t da staviš vreme pa ako ne ptitisneš bilo koje dugme on butuje po defoltu,elem bolje pređi na zkey :)) cope
pascal.775 drpr, -> #772, dzakic
-> Ako sam razumeo, program snima neke svoje -> podatke u datoteku. Ti si stavio da se snima u -> tekući direktorijum pa pravi probleme... Sjajno si razumeo hvala na odgovoru :))) cope
pascal.776 d.petrovic, -> #768, vitez.koja
Ă> goto 1000; Ă> Ă> Ide, pa rastura :)))))))))))))))))
pascal.777 janko, -> #769, drmarke
> Jel ima neko ideju kako simulirati pritisak i puštanje > kombinacije Alt-Shift? Treba mi da prebacim Vkeyb da pri > boot-u ne bude u yu-setu već samo prema izričitoj želji. > Ako postoji drugi način javite! Ima peč, ja sam ga stavio još ohoho... samo se jedan bajt zameni u rezultujućem fajlu, i onda se budi u USA rasporedu... E sad, koji je to bajt... Prvo, pečuje se onaj mlai fajl, od 2 Kb, a ne onaj od 20. Nemam pri ruci taj peč, ali se sećam da među prvih 16 bajtova (tačnije, od trećeg do šesnaestog) jedan samo treba umesto 0 da postane FF ili obratno. Probaj: zameni neku 0 sa FF pa probaj. Ili, neku FF sa 0. Uspećeš relativno brzo.
pascal.778 toma, -> #769, drmarke
■■>> Ako postoji drugi način javite! Postoji. "Otvori" vkey.com nekim disk editorom i tamo negde oko 15-tog byta stoji FF. Samo to zameni sa 00 i radi baš to što ti hožeš. Ovo pišem iz glave pa ako ne proradi javi da nadjem tačnu poziciju tog byta. Pozdrav from Toma.
pascal.779 ssokorac,
Kako se može (ako se može:) u TP-u pisati nešto u exe fajl iz istog exe fajla a da se to može posle pročitati. Recimo, negde u programu je potrebno korisnikovo ime, a hocu samo jednom da ga pitam za ime, i da se onda upise to ime u exe, pa da sledeći put ne mora program da pita već može da pročita iz exe-a. Uh, samo sam iskomplikovao ovim primerom :) ali nadam se da ste shvatili.
pascal.780 mjova, -> #779, ssokorac
> pita već može da pročita iz exe-a. Uh, samo sam > iskomplikovao ovim primerom :) ali nadam se da ste > shvatili. da je u C-u, mogao bih da ti kažem vrlo lako, ali što se paskala tiče nisam baš u toku ;). mogu da ti preporučim da napraviš cfg datoteku, pa u nju smesti ime/username... to si naučio iz prošlog pitanja? ;)
pascal.781 predragd, -> #767, ssokorac
> Zar? Ne znam, možda je text fajl izuzetak, ali reset ne > otvara samo za citanje, vec i za citanje i za pisanje. > Kako bi inače menjao fajl Ako sam ja dobro video, TEXT fajl je izuzetak. Naredba RESET otvara ove fajlove samo za čitanje, a naredba REWRITE samo za upis. U postojeći TEXT fajl nešto možeš upisati samo sa APPEND naredbom. No, ipak se ovo da prevazići uz pomoć DOS-a. DOS funkcija $40 služi za upis u fajl, i sasvim zadovoljava moje potrebe. žini mi se da je samo potrebno uz pomoć funkcije za otvaranje fajla - $3D reći da je vrsta pristupa ovom fajlu READ/WRITE i sve radi bez problema. Malo komplikovano, ali radi. Peđa.
pascal.782 predragd,
Zdravo Ima li neko mozda sledece fajlove sa TRICKLE-a <MSDOS.TURBOPAS>TVG102_S.ZIP, TVGRAPH 1.02: TURBO VISION In EGA/VGA: sources <MSDOS.TURBOPAS>TPU6.ZIP, Docs & dumper/disassembler for TP6.0 TPU files Pedja.
pascal.783 predragd, -> #779, ssokorac
> Kako se može (ako se može:) u TP-u pisati nešto u exe fajl > iz istog exe fajla a da se to može posle pročitati. > Recimo, negde u programu Svojevremeno je, mislim, Zoran čivotić u "Računarima" pisao o tome i sličnim stvarima. Fazon je bio u tome da u programu staviš neki marker const Marker = 'Perica'; NazivKorisnika: String Š10Ć = ' '; Ovo 'Perica' ce biti nepromenjeno i u .EXE fajlu. Znači napišeš funkciju koja će u tvom .EXE programu naći marker, i kad ga neđeš našao si i mesto gde da usnimiš podatke o korisniku... Najbolje bi ti bilo da pronađeš taj članak u "Računarima" i sve lepo natenane proučiš. Peđa.
pascal.784 dzakic, -> #779, ssokorac
Pored pomenutog načina sa merkerom, možeš da probaš i sledeće: recimo de imaš record koji hoćeš da zapišeš u exe. Predlažem da podatke snimiš na sam kraj, prvi put zapravo produžujući exe. Otvoriš ga sa reset(f,1), onda seek(f, filesize(f)) i blockwrite(f,rec,sizeof(rec)). Kasnije, kad treba da pročitaš, seek(f,filesize(f)-sizeof(rec)), blockread(f,rec,sizeof(rec)). Naravno, ovako 'ispravljen' exe neće ništa smetati pri njegovom izvršavanju.
pascal.785 drmarke, -> #771, dzakic
> Postoji, pređi na zkey ;) Ma nikako da ga skinem, a ovaj je već bio tu. No problem je i dalje otvoren. Dakle kako simulirati pritisak tastera koji nemaju ASCII. Nešto ovako radi: x:= mem[$0000:$0417]; mem[$0000:$ 417]:= mem[$0000:$0417] or 10; ch:=readkey; mem[$0000:$0417]:=x ali tu je nezgodno što mora da se pritisne nešto. Pokušao sam da upišem nešto u bafer tastature, uvećam buf-counter, i to očitam ali nije hteo da prevrne slova, tj. nije baš kao da je Alt-Shift sa tastature. Vkeyb više služi kao test primer. :) U svakom slučaju hvala na svim savetima i hakerisanjima...:)) Pozdrav drmarke
pascal.786 drmarke, -> #771, dzakic
Uzgred gde je taj zkey ? :(((( Pozdrav drmarke
pascal.787 dejanr, -> #784, dzakic
Mali problem sa svim ovim tehnikama može da bude što "okidaju" razni anti-virus softver osetljiv na promene u .EXE datotekama. Ali, ako je potrebno... time je sve rečeno.
pascal.788 ilotina, -> #779, ssokorac
HI! Evo stize,ali je za TP4.0, nisam probao da li radi sa TP6.0 Pozdrav Ivan! tpclone.zip
pascal.789 dzakic, -> #785, drmarke
Ne možeš simulirati pritisak alt-shift bilo kakvom manipulacijom sa kbd baferom, jer pomenuti tasteri ništa i ne stavljaju u bafer. Vlada je sigurno stavio da int 9, koji je ionako preuzeo, čita sa porta koji je zadnji pritisnuti taster pa po scan kodu prepoznaje alt i desni shift. Pomenute adrese se usput ažuriraju, ali ne verujem da su signal vkey-u da promeni stanje. Možda može ručnim pozivanjem int 9 ali ne vidim kako 'staviti' na port 60h scan kod... Lakše je debagirati vkey i naći gde čuva status. Zkey je u PC.USER, poruka 10.270.
pascal.790 almi, -> #789, dzakic
postovani drmarke na tvoj problem sa ALT+SHIFT mislim da sam nasao resenje ono se nalazi u datoteci SHIFTALT.PAS ako ne radi javi nam Pozdrav ALeksandra & MIsel shiftalt.pas
pascal.791 ssokorac, -> #780, mjova
:> nisam baš u toku ;). mogu da ti preporučim da napraviš :> cfg datoteku, pa u nju smesti ime/username... to si :> naučio iz prošlog pitanja? ;) Ih, pa to sam znao pre pola godine :), ali meni treba baš u exe...
pascal.792 ssokorac, -> #783, predragd
:> bilo da pronađeš taj članak u "Računarima" i sve lepo :> natenane proučiš. Znaš li možda kako se zvao, bar otprilike, taj članak, da ga nadjem u rind-u :).
pascal.793 ssokorac, -> #787, dejanr
:> Mali problem sa svim ovim tehnikama može da bude što :> "okidaju" razni anti-virus softver osetljiv na promene u :> .EXE datotekama. Ali, ako Dakle, ako startujem mjovin FDS /w sa VSHIELD-om u memoriji - bibibibip :). Thanks svima na tehnikama... Nego, šta rade onda programi koji treba da upišu nešto u sebe, a da ne 'probude' antivirus?
pascal.794 dejanr, -> #793, ssokorac
>> Nego, šta rade onda programi koji treba da upišu nešto u sebe, >> a da ne 'probude' antivirus? Pa, kada bi mogli nešto da urade da to zaobiđu, onda bi to isto mogao da uradi i virus pa od tog antivirusa ne bi bilo mnogo vajde. Ustanovićeš da je jako malo programa koji nešto upisuju "u sebe". Jedan od takvih je bio i Turbo Pascal odnosno njegov TINST (on, doduše, nije upisivao baš "u sebe" ali jeste u TURBO.EXE), sve negde do verzije 5.0 ili 5.5.
pascal.795 mjova, -> #791, ssokorac
> :> cfg datoteku, pa u nju smesti ime/username... to si > Ih, pa to sam znao pre pola godine :), ali meni treba baš > u exe... hoćeš li kompletno rešenje u c-u, pa ti prevedi na paskal? ako ti paše, pogledaj izvorni kod fds-a. još jedan primer (u c-u) možeš da nađeš u snip*.* koji je negde na sezamu. treće, kad mi prođe malo šugavog perioda na faksu, imam već jedno obećanje da napišem tako nešto na paskalu, pa sačekaj malo ;). četvrto, što se tiče dužih programa moj predlog je da se SVI podaci postave tamo, pa da se odande čitaju. ti podaci mogu lepo da se upišu bilo kojim ascii editorom ili nekakvom instalacijom. možeš da uradiš to kao što je uradio junak koji je pisao telemate: čak je i registracija gotivna tako, iz cfg-a. za potrebe jednog programa koji sam pisao, a možda će biti u javnosti za neki mesec ;), napravio sam baš to (opet u c-u), s tim da se parametri iz cfg-a mogu menjati i sa komandne linije (naravno, samo neki). time se u stvari default vrednosti postavljaju u neku cfg datoteku, a i dalje su parametri komandne linije aktivni. volim živahne programe, koji prihvataju svaku saradnju (pa te uvek iznenade svojim rezultatom ;).
pascal.796 ssokorac, -> #794, dejanr
:> Pa, kada bi mogli nešto da urade da to zaobiđu, onda bi :> to isto mogao da uradi i virus pa od tog antivirusa ne :> bi bilo mnogo To i meni pade na pamet :). Sta onda rade svi shareware programi koji treba da se registruju? Ne svi, ali vecina pise u sebe... Znam, upisuju - pa sta bude :). Ok, hvala u svakom slucaju, korisno je barem znati, a mozda mi i zatreba 'po kuci' :).
pascal.797 dejanr, -> #796, ssokorac
>> Sta onda rade svi shareware programi koji treba da se registruju? >> Ne svi, ali vecina pise u sebe... U stvari, ne baš. Obično je u pitanju neki program tipa DSZREG koji piše u fajl DSZ.COM ili nešto slično.
pascal.798 predragd, -> #792, ssokorac
> Znaš li možda kako se zvao, bar otprilike, taj članak, da > ga nadjem u rind-u :). Znam. "Računari" - 75, članak "Potpiši se i .. počni", strana 54. Naravno, funkcija za pronalaženje markera je u C-u, ali mislim da ti to neće predstavljati problem. Peđa.
pascal.799 ssokorac, -> #795, mjova
:> četvrto, što se tiče dužih programa moj predlog je da se :> SVI podaci postave tamo, pa da se odande čitaju. ti :> podaci mogu lepo da se upišu Naravno, slžem se da je to boje kod dugih programa, ali meni je trebala jedna 'neizmenljiva od strane korisnika' sitnica :). Sto bi najbolje išlo u sam .exe, naravno. Kad budeš pisao taj deo za pascal, ti okači to i ovde :), ako se razlikuje od nabrojanih.
pascal.800 almi,
Pascalovci evo malog programa za komunikaciju.Radi sa com1 i preuzet je iz knjige PASCAL 6.0 The complete reference. Pozdrav ALeksandra & MIsel commx.zip
pascal.801 drmarke, -> #789, dzakic
Ma jasno mi je da treba sve to uraditi ali zašto ovo radi > x:= mem[$0000:$0417]; > mem[$0000:$ 417]:= mem[$0000:$0417] or 10; > ch:=readkey; > mem[$0000:$0417]:=x a kad stavim u bafer neku glupost da bi readkey imao šta da očita i da ne stane, on ne prevrne....:(( Uostalom nema veze, uzeo sam zkey. ;) Inače svaka čast na ideji sa R-Alt! Pozdrav drmarke
pascal.802 isekulovic, -> #792, ssokorac
>> Znaš li možda kako se zvao, bar otprilike, taj članak, da ga nadjem >> u rind-u :). R75 str. 54-55
pascal.803 bearboy, -> #761, dejanr
˙¨:>>> Pa to je bar prosto, recimo : GOTO 1000 ˙¨:> ˙¨:> Neće ići u paskalu! MOčE !!!! Što ne bi išlo ? program evo_ti_goto; label 1000; begin ... if x>y then begin goto 1000 š=========ć ... end; eto :)))))
pascal.804 bearboy, -> #767, ssokorac
˙¨:> :> fajl jer naredba Reset otvara fajl samo za citanje. Zna ˙¨:> ˙¨:> Zar? Ne znam, možda je text fajl izuzetak, ali reset ne otvara samo ˙¨:> za citanje, vec i za citanje i za pisanje. Kako bi inače menjao fajl ˙¨:> bez da ga obrišeš? Rewrite osim što otvara za pisanje i briše ceo ˙¨:> fajl. Pa imaš i APPEND. Može i to za pisanje...
pascal.805 bearboy,
Help ! Napisao sam program koji se kači na vremenski interapt ($1C) i sve radi lepo, dok ne pokušam nešto upisati u neki fajl. Onda crkne. Rewrite uradi, i posle kod prve write ili blockwrite komande zapne...
pascal.806 almi,
Kako u tp-u da detektujem polozaj mlaza monitora za vga-kartia svgakarticu Pozdrav Aleksandra & MIsel
pascal.807 vitez.koja, -> #805, bearboy
#=> Napisao sam program koji se kaci na vremenski interapt #=> ($1C) i sve radi Mozda bi treboa da prvo dozvolis dalje interapte (PUSHF, pozoves strari $1C), napravis jedan fleg (boolean) na pocetku da ne dozvolis visestruko pozivanje, i onda radis sta oces... To bi trebalo da radi...
pascal.808 .sima, -> #787, dejanr
> Mali problem sa svim ovim tehnikama može da bude što > "okidaju" razni anti-virus softver osetljiv na promene u > .EXE datotekama. Ali, ako je potrebno... time je sve > rečeno. onda pre nego što ga postaviš na sistem uradi ono sa blockread i blockwrite i dodaj record (prazan) onda u toku korištenja programa ako sve stane u jedan record (koji si dodao neće biti problema sa virusima nadam se da sam razumeo dobro problem Ovo sam već probao i radi Sam TP 6.0 radi na isti fazon ako ima problema javi se .sima
pascal.810 edge, -> #800, almi
Yo! > Pascalovci evo malog programa za komunikaciju.Radi sa Yo! > com1 i preuzet je Yo! Super sto radi samo na COM1...meni je samo on riknuo:(((. Jel imas verziju koja radi i sa COM2? Ica.
pascal.811 .sima, -> #804, bearboy
> Pa imaš i APPEND. Može i to za pisanje... APPEND se koristi SAMO na tekstualnim fajlama i posle njegovog poziva fajla postaje write-only isto kao i kada koristiš rewrite na tekstualnom fajlu pozdrav :)))) .sima
pascal.813 ssokorac, -> #808, .sima
─┼┤ record (koji si dodao neće biti problema sa virusima ─┼┤ nadam se da sam razumeo dobro problem Jesi, thanks :).
pascal.814 almi, -> #810, edge
Slušaj imaš na početku definiciju konstanti tamo promeni port definiciju itd.... Pozdrav ALeksandra & MIš H
pascal.815 .sima, -> #800, almi
> Pascalovci evo malog programa za komunikaciju.Radi sa com1 > i preuzet je iz knjige PASCAL 6.0 The complete reference. > > Pozdrav ALeksandra & MIsel Preuzeo sam taj fajl, ali moj unzip ima problema sa raspakivanjem daje mi za metod nepoznat.
pascal.816 drpr,
Zanima me jedna stvar? Kako da neku sličicu recimo pcx bacim na štampač,ako je lakše keko recimo nešto nacrtano u tp-u da bacim na štampač.Molio bih ako nekom nije teško da mi podrobnije objasni , a ne "pročitaš iz memorije itd.." pošto nisam baš najveći stručnjak za programiranje . cope Use idm.
pascal.817 darone, -> #815, .sima
>> Preuzeo sam taj fajl, ali moj unzip ima problema >> sa raspakivanjem daje mi za metod nepoznat. pkunzip 1.93ß (valjda je beta). darone p.s. nisam probao, pretpostavljam
pascal.818 bearboy, -> #807, vitez.koja
˙¨:># => Napisao sam program koji se kaci na vremenski interapt ˙¨:># => ($1C) i sve radi ˙¨:> ˙¨:> Mozda bi treboa da prvo dozvolis dalje interapte (PUSHF, pozoves strari ˙¨:> $1C), napravis jedan fleg (boolean) na pocetku da ne dozvolis visestruko ˙¨:> pozivanje, i onda radis sta oces... To bi trebalo da radi... Ko zna :) Fora je u tome da ako izostavim liniju sa pisanjem na disk, program lepo radi. (Mada onda postaje totalno nepotreban :)
pascal.819 dejanr, -> #818, bearboy
>> Ko zna :) Fora je u tome da ako izostavim liniju sa pisanjem na disk, >> program lepo radi. (Mada onda postaje totalno nepotreban :) Takvo ponašanje potiče od toga što DOS nije reentrant. Dakle, legalno ne možeš iz interapta da pozivaš DOS funkcije. Dosta programa to rade preko dos busy flag-a, što je postala polulegalna metoda. Probaj da download-uješ odavde one fajlove o svim interaptima, možda tamo nađeš neke informacije koje ti trebaju.
pascal.820 gbiocic, -> #819, dejanr
> Takvo ponašanje potiče od toga što DOS nije reentrant. Dakle, legalno > ne možeš iz interapta da pozivaš DOS funkcije. Dosta programa to rade > preko dos busy flag-a, što je postala polulegalna metoda. Probaj da U zz-ovom članku je dat primer kako to raditi (mislim u c-u). I savet: U fazi testiranja zabataliti pisanje na disk, nego uzeti neku benignu DOS f-ju, recimo "zvonce" na ekran. gb
pascal.821 dgrbic, -> #818, bearboy
:: Ko zna :) Fora je u tome da ako izostavim liniju sa :: pisanjem na disk, program lepo radi. (Mada onda postaje :: totalno nepotreban :) Skini lptx??? sa Sezama, tu imas .ASM source sa puno komentara i tu je lepo opisano kako se iz interapt rutine pise u fajl. Ne treba ti poznavanje asemblera bas puno, jer su komentari vrlo opsirni... A imas i drugo resenje: Pustis lptx da hvata recimo lpt3 a ti iz svog programa umesto da pises u fajl, stampas ono sto vec treba da saljes na taj lpt3 "stampac". I nadas se da nece da zapne zato sto se predugo zadrzavas u Int. rutini :)
pascal.822 almi, -> #815, .sima
korišćen je pkzip v1.93alfa Pozdrav almi
pascal.823 .sima,
Imam jedno pitanjce Kako se startuje TD386 TD286 se normalno startuje i zauzme manje mesta nego TD to je ok ali TD386 bi trebao da se ceo digne i ne zauzme ni bajta E kad ja pokrenem TD386 dobijem poruku Processor is already in V86 mode U cemu je greska pozdrav Srdjan
pascal.824 bearboy,
Skinuh onah COMMX (od almija, valjda) i nešto mi ne radi. Naime, kad pokuša da setuje interapt vektor ($0C ?), lepo ode da 'spava'. Zaglavi se. PS. Isto kao kod mog malog programčića koji se kači na $1C. BTW. Taj ni dalje ne radi :( Ni sa onim prosleđivanjem. Jednostavno se zaglavi kod pisanja. Tačnije POžNE nešto da piše (po mojoj proceni oko 2-3 puta više nego što bi trebao) i kad prestane sa pisanjem, zaglavi comp. E sad, fajl u koji bi trebao da piše, i dalje ima dužinu 0. Kaj sad ?
pascal.825 ilazarevic, -> #819, dejanr
█ preko dos busy flag-a, što je postala polulegalna metoda. Probaj da █ download-uješ odavde one fajlove o svim interaptima, možda tamo █ nađeš neke informacije koje ti trebaju. Da li su ti fajlovi u nekom diru ili su zakačeni na poruke?
pascal.826 janko, -> #823, .sima
> E kad ja pokrenem TD386 dobijem poruku > Processor is already in V86 mode Koristiš neki memori menadžer ili nešto slično, što TD386 ne voli (ne može više programa da bude 'gazda'). Zavisi od verzije TD386, ili moraš da digneš sisitem 'na suvo,' ili, za novije verzije TD386 da dodaš i neki .SYS itd...