PCPROG.6

25 Sep 1995 - 24 Dec 1999

Topics

  1. algoritmi (449)
  2. baze.podataka (309)
  3. ms.dos (17)
  4. windows (294)
  5. asembler (553)
  6. basic (458)
  7. jezici (42)
  8. pascal (1297)
  9. cccc (522)
  10. cpp (299)
  11. clipper (601)
  12. fox (70)
  13. cavo (14)
  14. delphi (1130)
  15. java (100)
  16. razno (776)
  17. unknown (127)

Messages - pascal

pascal.721 dule.n, -> #720, acafaca
­> Kako da u paskalu napravim slog koji treba da pročitam ­> iz neke datoteke? Ako sam te dobro shvatio, ti hoćeš da proširiš slog postojeće datoteke. To ćeš uraditi tako što ćeš da prepakuješ celu datoteku. Formiraš novu datoteku čiji će slog biti modifikovan, čitaš slog po slog iz stare datoteke, prilagodiš ga slogu nove datoteke i upisuješ u novu. Dule
pascal.722 sale.car, -> #720, acafaca
Ac> nego da mesto ovih brojeva pišem: Ac> type Slog=record Ac> ime:stringŠxĆ; Ac> prezime:stringŠyĆ; Ac> broj:real; Ac> end; Ovo nece moci :) A odgovor ti je vec stigo... :) ... Pozdrav, Sale.Car
pascal.723 acafaca, -> #721, dule.n
Ne. Hoću da u mom programu ne navodim specijalno za tu datoteku strukturu sloga. Nego da program prepozna strukturu datoteke, znači da prepozna koliko ima slogova i koje dužine ako su string tipa, i da može da je čita kao random datoteku.
pascal.724 acafaca, -> #722, sale.car
Može li nekako sa pointerima da se izvede?
pascal.725 dule.n, -> #723, acafaca
­> Ne. ­> Hoću da u mom programu ne navodim specijalno za tu datoteku ­> strukturu sloga. Nego da program prepozna strukturu ­> datoteke, znači da prepozna koliko ima slogova i koje ­> dužine ako su string tipa, i da može da je čita kao ­> random datoteku. To neće da može, ne bar na lak način. Uvek ostaje mogućnost da čitaš datoteku bajt po bajt i da interpretiraš to što dobiješ kao stringove. Ako su stringovi u pitanju, pre svakog polja u okviru svakog polja podacima prethodi jedan bajt u kome se nalazi dužina sledećeg polja. Na primer ako je slog bio sa dva polja dužina 3 i 2: type slog=record s1:stringŠ3Ć; s2:stringŠ2Ć; end; onda ćeš čitajući datoteku bajt po bajt dobiti: 1. bajt: 3 2. bajt: neka vrednost 3. bajt: neka vrednost 4. bajt: neka vrednost 5. bajt: 2 6. bajt: neka vrednost 7. bajt: neka vrednost 8. bajt: 3 9. bajt: neka vrednost ... To ti je to. Samo što ćeš imati problem da prepoznaš koliki je slog u stvari. :( BTW, šta će ti sve ovo.
pascal.726 acafaca, -> #725, dule.n
Hoću da napravim program za listanje i editovanje datoteke pa mi treba za to. Lako ću ja da pročitam za listanje, ali kad treba da upišem u datoteku sa write(datoteka,Slog); tu je problem.
pascal.727 vper,
Nov sam ovde! Pa me interesuje kako iz paskala mogu modemom nazvati nekoga! Ako neko ima neki tpu ili predlog! Bicu mu vecno zahvalan
pascal.728 sale.car, -> #727, vper
Vp> Nov sam ovde! Vp> Pa me interesuje kako iz paskala mogu modemom Vp> nazvati nekoga! Vp> Ako neko ima neki tpu ili predlog! Pa prvo moras da otkucas ..log 1 ;))) Salim se... Imas gomilu fajlova i poruka u ovoj konf. o tome... Za pocetak, ako ti se bas ne citaju sve poruke, probaj jedno: ..co re pascal /a /t cisto da pokupis datoteke... Ako hoces javi da bacim ovde jednu arhivu sa gomilom comm stvari... ... Pozdrav, Sale.Car
pascal.729 sale.car,
Neko je skoro trazio prg. za brisanje dir-ova... Evo ga... (Malo zakasnjenje ;))) ... Pozdrav, Sale.Car cldir.arj
pascal.730 sale.car,
Prvi deo komunikacionih datoteka... ... Pozdrav, Sale.Car comm.arj
pascal.731 sale.car,
Drugi deo komunikacionih datoteka... ... Pozdrav, Sale.Car comm.a01
pascal.732 vitez.koja, -> #719, sale.car
#=> Kako da pronadjem odredjeni string u { fajlu !? Čitaš liniju po liniju, i proveravaš sa StrPos (beše).
pascal.733 sale.car, -> #732, vitez.koja
#=> Kako da pronadjem odredjeni string u { fajlu !? Vi> Čitaš liniju po liniju, i proveravaš sa StrPos (beše). Da, hvala... nasao sam u medjuvremenu :) ... Pozdrav, Sale.Car
pascal.734 sale.car,
HI... Da li neko moze da mi posalje neki txt (bolje na srpskom) kako da pocnem da pisem tsr-ove... Jos bolje je ako postoji neki kostur pa ja samo da ubacujem sta mi treba... Hvala unapred !! ... Pozdrav, Sale.Car
pascal.735 acafaca, -> #664, sale.car
Kad prebacim proceduru u jedan .tpu prevedem i onda mi se izbrišu procedure koje si mi poslao HideCursor i ShowCursor. Je li to zbog onog assembler?
pascal.736 janko, -> #734, sale.car
> Da li neko moze da mi posalje neki txt (bolje na srpskom) > kako da pocnem da pisem tsr-ove... Jos bolje je ako > postoji neki kostur pa ja samo da ubacujem sta mi treba... > Hvala unapred !! A da malo pogledaš po sezamovim direktorijumima i konferencijama? Ima i kostura i objašnjenja i svega ostalog...
pascal.737 nenad,
Novo: os2\*.* ------------------ vp11demo.zip 1720k ű Virtual Pascal v1.1, potpuno funkcionalan demo, BP komp. Evo nečega što će voleti svi koji su ikada programirali u Borland/Turbo Pacal-u. U pitanju je Virtual Pascal 1.1, odličan 32-bitni OS/2 kompajler, praktično (koliko god je to moguće i ima smisla) 100% kompatibilan sa svojim uzorom, sa većinom ektenzija preuzetim iz Delphi-ja. Nije ga pravio Borland već ga je pisao 5 godina jedan ruski matematičar iz nekog instituta pored Černobila, "od nule", u asembleru. Da je u pitanju perfekcionista vidi se iz gotovo svakog dela ovog paketa, po brzini startovanja, kompajliranja, veličini i optmizaciji koda koji generiše. Pre oko godinu dana kada su ostali bez plata on je svoj kompajler ostavio na internet i potražio zainteresovane da ga otkupe. Javila se jedna britanska firma, preselili su ga sa porodicom na Ostrvo i rezlultat je ovo - potpuno funkcionalna demo verzija (fali samo detaljan help - osnovni postoji) i nemate pravo na distribuciju napravljenih programa. Uključeni su i PM i full-screen IDE (kombinacija Borland-ovog IDE-a i Turbo Debuger-a), komand-line kompajler, RTL (standarne Pascal i Delphi biblioteke, uključujući i TurboVision - bez sorsa u demo verziji). primeri, linker 10 puta brži od IBM-ovog... Programi se lako portuju. Full verzija ide na CD-u i sadrži još i više (puno primera, RTL u sorsu, pečeve za razne BP/TP biblioteke da se mogu iskoristi u VP-u). Najavljen je i izlazak Delphi-like razvojnog okruženja. Preporuka! :)
pascal.738 sale.car, -> #735, acafaca
Ac> Kad prebacim proceduru u jedan .tpu prevedem Ac> i onda mi se izbrišu procedure koje si mi poslao Ac> HideCursor i ShowCursor. Ac> Je li to zbog onog assembler? Cekaj... da li te kapiram... Prebacis HideCursor i ShowCursor u unit, prevedes i one se izbrisu iz unita !?!?!? Hmm... ajde ipak ti formulisi lepo problem :)))) ... Pozdrav, Sale.Car
pascal.739 sale.car, -> #736, janko
Ja> A da malo pogledaš po sezamovim direktorijumima i konferencijama? Ja> Ima i kostura i objašnjenja i svega ostalog... Btw, ja sam od onih koji kad pocinju da prate temu, prvo skinu sve poruke, procitaju ih pa onda krecu... Do sada jos nisam naleteo na tako nesto... Btw, ima u jednom dir-u kostur za tsr ali za C... Za pascal jock... Any Help !? ... Pozdrav, Sale.Car
pascal.741 nbjvsa,
Imam problem koji se svodi na sledeće: var p1,p2: ^tip; begin New(p1); New(p2); p2:=p1; ... Dispose(p1); Dispose(p2); ^ Ovde se javlja greška; naime, pošto p2 pokazuje na isto mesto u mem. gde i p1, posle uklanjanja p1, p2 ne može da se ukloni iz memorije. Kako da ga uništim?
pascal.742 qpele, -> #741, nbjvsa
Nema potrebe da brises p2 jer si vec sa dispose(p1) oslobodio mesto u memoriji na koje oba pokazuju.
pascal.743 nbjvsa, -> #742, qpele
>> Nema potrebe da brises p2 jer si vec sa dispose(p1) oslobodio mesto >> u memoriji na koje oba pokazuju. Tačno, ali memorija mi ostaje kraća za SizeOf(tip) bajtova, provereno...
pascal.744 ognjen, -> #743, nbjvsa
)-> Tačno, ali memorija mi ostaje kraća za SizeOf(tip) bajtova, )-> provereno... Da i to je ona memorija na koji je pokaziva p2 pre nego što si uradio p2:=p1; Adresa te memorije je nepovratno izgubljena, moraš je sačuvati. Na primer: sacuvaj:=p2; p2:=p1; ... dispose (p1); { Ili p2, svejdno je, to je ista memorija } dispose (sacuvaj); Voila!
pascal.745 nbjvsa, -> #744, ognjen
>> sacuvaj:=p2; >> p2:=p1; >> ... >> dispose (p1); { Ili p2, svejdno je, to je ista memorija } >> dispose (sacuvaj); Onda se postavlja pitanje šta je sa adresom memorije na koju je pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; tj. dolazimo do istog problema, i dalje fali sizeof(tip) bajtova u memoriji...
pascal.746 nbjvsa, -> #741, nbjvsa
Rešeno na veoma jednostavan način korišćenjem procedura Mark i Release :) var p: pointer; p1,p2: ^tip; begin Mark(p); New(p1); New(p2); p2:=p1; ... Release(p) end. Ovo 100% oslobađa svu memoriju na heapu koja je bila zauzeta počev od onda kada je stavljeno Mark(p) (tj. p od tada markira mesto na heapu počev od koga će se sa Release(p) obrisati sve dinamičke promenljive sa heapa).
pascal.747 bokir, -> #745, nbjvsa
> Onda se postavlja pitanje šta je sa adresom memorije na koju je > pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; > tj. dolazimo do istog problema, i dalje fali sizeof(tip) bajtova u > memoriji... Ne fali ništa, jer nisi alocirao memoriju za sacuvaj. On je pokazivao na neku adresu koja je bila SLOBODNA. Da si kojim slučajem pre dodele nešto pisao u sacuvaj, vrlo je verovatno da bi ti se računar blokirao.
pascal.748 nbjvsc, -> #747, bokir
>> Ne fali ništa, jer nisi alocirao memoriju za sacuvaj. On je >> pokazivao na neku adresu koja je bila SLOBODNA. >> Da si kojim slučajem pre dodele nešto pisao u sacuvaj, vrlo je >> verovatno da bi ti se računar blokirao. Da, naravno, moj previd, stavio sam New(sacuvaj)... Bez toga radi kako treba, ali Mark/Release je ono što najbolje (tj. najbrže) radi u konkretnom programu koji sam pisao :) Sve u svemu, hvala svima za pomoć :)
pascal.749 space.ace, -> #745, nbjvsa
>> Onda se postavlja pitanje šta je sa adresom memorije na koju je >> pokazivao sacuvaj pre nego što je urađeno sacuvaj:=p2; Pa nemoj mu davati da pokazuje na bilo šta, ostavi ga praznog :). Deklariši promenljivu, ali nemoj joj dodeljivati memorijsku adresu, pa kad staviš sacuvaj:=p2, dodeliće mu se p2.
pascal.754 vuja, -> #753, emajsijuen
Pa jed ako se radi o TEXT rezimu ondak: MEM[B800:160*y+x] za kolor monitor a MEM[B000:160*y+x] za mono. Za °─graficki rezim MEM[A000:320*y+x]. 320x200 256 °─
pascal.755 vuja, -> #753, emajsijuen
A ako je mod koji zahteva vise memorije od 64kb moras da menjas i banke.
pascal.756 space.ace, -> #753, emajsijuen
>> Kako mogu,da procitam sta je napisano na odredjenom delu >> ekrana [npr. 20,5] ? Probaj sa čitanjem iz text memorije na $B000:y*25+x, ovako iz glave mislim da može (tako sam radio za video memoriju na $A000 ).
pascal.758 nenad,
Evo unit-a i aplikacije-primera za rad sa CD-om direktno iz Pascala. Sve je u dato sorsu, za Virtual Pascal za OS/2. cdpas.zip
pascal.759 ppecanac,
Ima li neko programce (proceduru) za resavanje linearnog sistema 'n' jednacina sa 'n' nepoznatih, dakle u pitanju je kvadratna matrica. Pozeljno je da matrica sistema bude simetricna, (nije uslov). Ako moze sto pre, hvala. :)
pascal.760 mercedes,
Kako se ukljucuje video mod 800 x 600 x 256 ?
pascal.761 qpele, -> #760, mercedes
Evo ti bgi fjalovi koji to obezbedjuju svgabgi.arj
pascal.764 profa, -> #754, vuja
Tek sad videh... >> Pa jed ako se radi o TEXT rezimu ondak: MEM[B800:160*y+x] Za karakter u video memoriji u tekst modu rezervišu se dva bajta - jedan za sam karakter, a drugi za atribut (prva četiri bita predstavljaju boju karaktera, sledeća 3 boju pozadine, a poslednji označava da li karakter blinkuje ili ne). Znači, na parnim ofsetima su karakteri, a na neparnim atributi. Formula za ofset karaktera (x,y) je 2*(80*(y-1)+x-1), pa je poziv funkcije za čitanje karaktera sa ekrana: b:=Mem[Segment,2*(80*(y-1)+x-1)]; (za x=1..80, y=1..25) gde je Segment=$B800 za kolor, $B000 za mono, a b tipa byte.
pascal.765 acafaca,
Zna li neko sveobuhvatnu knjigu za TP za Windows? Havala!
pascal.766 emajsijuen,
Ima li neko neki unit za obradu slika[ gif,pcx,bmp ] ?
pascal.767 firus, -> #766, emajsijuen
Em> Ima li neko neki unit za obradu slika[ gif,pcx,bmp ] ? Oćeš opise formata, pa da radiš sam? Empire (ex. micotakis)
pascal.768 emajsijuen, -> #767, firus
Da. Thank you. ;) F1 RULES!
pascal.769 firus, -> #768, emajsijuen
Em> Da. Ok, stiže opis gif-a. Znam da ću a visim zbog ovog, ali šta je tu je. Empire (ex. micotakis) gif.rar
pascal.770 emajsijuen, -> #769, firus
Hvala.
pascal.771 firus, -> #770, emajsijuen
Em> Hvala. Za pcx imaš pascal sorce u dos\prog\pascal ili kako li se već zove. Imam još opise BMP i IFF formata koliko se sećam. Pa ako ti treba viči. Empire (ex. micotakis)
pascal.772 qpele,
Evo sta mi se upravo dogodilo : Strartujem ti ja lepo neki moj program ,kad ono mi emm386 prijavi neku gresku . Ja ti lepo ,kako mi je savetovano resetujem racunar. Medjutim kada ponovo startujem BP javlja mi se poruka u statusnoj liniji Can't find sector on drive C . Sta mi je raditi
pascal.773 bokir, -> #772, qpele
> Medjutim kada ponovo startujem BP javlja mi se poruka u statusnoj > liniji Can't find sector on drive C . Sta mi je raditi Startuj Norton Disk Doctor ili Scandisk.
pascal.774 vector, -> #772, qpele
-> Evo sta mi se upravo dogodilo : -> -> Strartujem ti ja lepo neki moj program ,kad ono mi emm386 -> prijavi neku gresku . Ja ti lepo ,kako mi je savetovano -> resetujem racunar. Medjutim kada ponovo startujem BP javlja mi -> se poruka u statusnoj liniji Can't find sector on drive C . -> Sta mi je raditi Dobar ti je program. ;))
pascal.775 clown,
Evo jedan zadatak za sve koji imaju (ne)srecu da progrramiraju u pascalu: Napisati program koji sabira dva velika cela broja,koji imaju ne vise od 50 cifara i mogu da budu pozitivni,negativni ili nula.Program cita dva reda za dva velika cela broja.Za negativne brojeve prvi levi simbol u redu je znak minus,a kod pozitivnih brojeva znak se ne navodi. Obrazac unosenja podataka: 13579 -123456789012345678901234567890 Obrazac izdavanja rezultata: 13579 -123456789012345678901234567890(+) -------------------------------------- -123456789012345678901234554311 Ko resi nek mi posalje poruku na email !Hitno! Hvala,Anna
pascal.776 vector,
High, ako neko ima BINOBJ neka salje ovde u konf.
pascal.777 vector,
Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za verzije manje od 6.0. Pozeljno 5.5.
pascal.778 firus, -> #777, vector
Ve> Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za Ve> verzije manje od 6.0. Pozeljno 5.5. 237-23-92 i 237-23-93 FON file server. login:guest cd msdos cd prog cd pascal Tamo imaš par lepih programčića. Tebi treba verovatno ovo: tpu2asm.zip 040393 39722 Symbolic disassembler for TP 5.0 Imaš još par programčića vezanih za igranje sa TPU filovima: intrfc62.zip 050193 57214 Program to dump TPU files. scanh300.zip 120893 69436 Scan TP units to build a help file tpucat10.zip 310593 18238 A TPU Cataloging Utility Ja nemam ni jedan od njih tako da nemogu ništa više da ti kažem, ovo sam samo izvadio iz fajla koji se zove allfiles. Empire (ex. micotakis)
pascal.779 vector, -> #778, firus
... -> Tamo imas par lepih programcica. Tebi treba verovatno ovo: -> -> tpu2asm.zip 040393 39722 Symbolic disassembler for TP 5.0 -> -> Imas jos par programcica vezanih za igranje sa TPU filovima: -> -> intrfc62.zip 050193 57214 Program to dump TPU files. -> scanh300.zip 120893 69436 Scan TP units to build a help file -> tpucat10.zip 310593 18238 A TPU Cataloging Utility -> -> Ja nemam ni jedan od njih tako da nemogu nista vise da ti kazem, -> ovo sam samo izvadio iz fajla koji se zove allfiles. Kako imam dosta korisnih unit-a za verziju 5.5 i 5.0 (mozda cak i za neke ranije verzije TP-a) treba mi neki TPU konvertor koji ce ih konvertovati u bilo koju od novijih verzija ( TP 7.0, TP 6.0, BP ), ALI kako ta stvar jos ne postoji zanima me struktura tih fajlova. Gore navedeni 'tpu2asm' bi mi koristio, medjutim, da bi ga uopste startovao potrebna mi je 'turbo.tpl' datoteka iz verzije 5.5 ili/i 5.0 (pozeljno obe). Ako neko ima neka salje na MAIL posto ne moze u konf. BTW, uz poruku je spisak unit-a koje imam, pa ako neko hoce neki, neka vice na MAIL. ──> tpu.arj
pascal.781 space.ace, -> #779, vector
>> Kako imam dosta korisnih unit-a za verziju 5.5 i 5.0 (mozda cak i za neke >> ranije verzije TP-a) treba mi neki TPU konvertor koji ce ih konvertovati Ako imaš sorsove tih korisnih unit-a, samo ih iskompajliraj novijim kompajlerom. On the other hand, ako već pitaš kako da konvertuješ, znači da nemaš sorsove. Am I right?
pascal.782 canny, -> #780, vector
> Evo, saljem izvorne PAS fajlove nekih virusa. Nisu bas neki, > ali sta je tu je... ;> Moderatore, reaguj!
pascal.783 janko, -> #782, canny
> > Evo, saljem izvorne PAS fajlove nekih virusa. Nisu bas neki, > > ali sta je tu je... ;> > > Moderatore, reaguj! Do maločas sam bio u dilemi da li je objavljivanje sorsa virusa nešto opasno samo po sebi. Činjenica je da je danas postalo veoma lako napraviti virus -- postoji mnogo lakih načina za to. Čak i lakših od ovoga da se prave u Paskalu. Dakle, teorijski mogli bi da ostanu tu u "edukativne svrhe", ma šta to značilo. Međutim, s obzirom da je ovo MODERISANA konferencija, što će reći da postoji neko ko je zadužen da brine za kvalitet njenog sadržaja, obrisao sam poruku ne zato što mislim da će taj čin onemogućiti rasturanje inkriminisanog sorsa, već kao znak da ne želimo da podržavamo razvijanje ovakve vrste programa, i da želimo da sugerišemo da ljudi svoju kretivnu energiju treba da usmeravaju u razvijanje programa koji će drugima doneti dobro, a ne loše. Kao autor više besplatnih programa, od kojih su par veoma široko rasprostranjeni, znam šta pričam. Ako želite da vam se program proširi, ili da svako zna za vas, daleko bolji način od pravljenja virusa je da napravite nešto što će ljudima KORISTITI.
pascal.784 canny, -> #783, janko
> obrisao sam poruku ne zato što mislim da će taj čin onemogućiti > rasturanje inkriminisanog sorsa, već kao znak da ne želimo da > podržavamo razvijanje ovakve vrste programa, i da želimo > da sugerišemo da ljudi svoju kretivnu energiju treba da > usmeravaju u razvijanje programa koji će drugima doneti dobro, > a ne loše. Bravo! Upravo zato sam i ostavio poruku da reaguješ.
pascal.785 firus, -> #783, janko
Ja> Kao autor više besplatnih programa, od kojih su par veoma široko Ja> rasprostranjeni, znam šta pričam. Ako želite da vam se program Ja> proširi, ili da svako zna za vas, daleko bolji način od pravljenja Ja> virusa je da napravite nešto što će ljudima KORISTITI. Apsolutno si u pravu da treba praviti nešto što koristi. Meni ljudi koji prave viruse nisu jasni. Čemu to? Što se tiče tvoje dileme, da li ih ostaviti ili obrisati, moram da ti kažem sledeće. Bilo koju varijantu da si izabrao bio bi u pravu. Obrisao si ih da bi pokazao da je stav uprave, a i tvoj lični, kao i moj uostalom, da se treba boriti protiv virusa. Iako se jasno vidi koju stranu zastupam, mislim da si možda mogao i da ih ostaviš. Ja bi recimo veoma voleo da vidim te sorseve. Ne da bi ih kompajlirao i poslao negde, to je istovremeno i glupo, i smešno i tužno. Da hoću mogu da napravim sasvim solidan virus sa sopstvenim znanjem. Ostaje pitanje koliko je moguće napraviti solidan virus u paskalu, prvenstveno zbog veličine, ali to me apsolutno ne interesuje, iz veoma prostog razloga - ja neću da pravim virus. Bez obzira da li se radi o destruktivnim ili nekim bezopasnim virusima, proučavanjem sorsa ćeš sigurno nešto da naučiš. Niko ne može da me ubedi da sve zna. Svako će da nađe nešto što da sada nije znao, nešto što se možda može upotrebiti i u korisne svrhe. Ne postoji znanje koje je samo po sebi loše, sve zavisi od toga kako se to znanje upotrebljava. To je odgovor na tvoje pitanje šta znači "ostaviti ih u edukativne svrhe". Nije cilj naučiti kako napravitit virus, za to postoje i mnogo bolja rešenja od proučavanja gotovog sorsa. Prvenstveno mislim na detaljno obašnjenje kako virus radi, i na pseudo kod, odnosno algoritam virusa. Kome to treba, veliki mu Internet, pa nek traži. Makar tamo ima toga. Empire (ex. micotakis)
pascal.786 mango, -> #785, firus
> znanjem. Ostaje pitanje koliko je moguce napraviti solidan virus u > paskalu, prvenstveno zbog velicine, ali to me apsolutno ne interesuje, > iz veoma prostog razloga - ja necu da pravim virus. Ma kakav virus u paskalu. Ko stvarno hoce da napravi dobar(?!) virus, radi u asembleru. A virusi me nikad nisu interesovali do pre par meseci, kada su poceli da me izrazito nerviraju (tad me je zakacio Natas i jedva sam ga ocistio).
pascal.787 firus, -> #786, mango
Ma> Ma kakav virus u paskalu. Ko stvarno hoce da napravi Ma> dobar(?!) virus, radi u asembleru. Kakav? Pa najnormalniji virus. Samo što bi bio jako veliki. Ali to nije bitno, bitno je da bi to radilo. Fora je što bi ga svako ko ima i malo pameti, odmah primetio. Naravno da se virusi pišu u asembleru, i to samo zbog veličine. No pošto ja to NEĆU da radim, a čini mi se nećeš ni ti, da se mi lepo manemo pričanja o glupostima. Empire (ex. micotakis)
pascal.788 janko, -> #787, firus
> Kakav? Pa najnormalniji virus. Samo što bi bio jako veliki. Bez veze sa virusima, ali mi pade na pamet kad se reče veličina -- da li je neko od ovde prisutnih nekada pravio rezidentne programe u Turbo Paskalu? Kako to izgleda, da li je moguće i koliko je minimalno veliko (eto, nešto od ovih odgovora se moglo saznati i iz one inkriminisane arhive -- no ni sam je nisam sačuvao. ;) )
pascal.789 nlazic, -> #788, janko
>> da li je neko od ovde prisutnih nekada pravio rezidentne programe >> u Turbo Paskalu? Kako to izgleda, da li je moguce i Ne da je moguće, nego čak nije ni mnogo teško. U fajlu zakačenom za ovu poruku nalazi se nekoliko primera TSR-ova: od najjednostavnijih, do onih koji ostaju "iza" Windowsa 3.11. Ako se dobro sećam potreban je TP 5.0 ili neki veći (treba da ima SetIntVec, GetIntVec i Keep procedure). tsrs.zip
pascal.790 acafaca,
Zna li neko dobru knjigu za paskal u windowsu? Havala.
pascal.791 acafaca,
Zna li neko sveobuhvatnu knjigu za TP za Windows? Havala!
pascal.792 vector, -> #788, janko
-> Bez veze sa virusima, ali mi pade na pamet kad se rece velicina -- -> da li je neko od ovde prisutnih nekada pravio rezidentne programe -> u Turbo Paskalu? Kako to izgleda, da li je moguce i koliko je -> minimalno veliko (eto, nesto od ovih odgovora se moglo saznati -> i iz one inkriminisane arhive -- no ni sam je nisam sacuvao. ;) ) Sta bi trebalo da rade (ti rez. programi) ? Primer iz TP-a (help za komandu 'keep') predstavlja mali i jednostavan rezidentni program. Zauzima samo 3 Kb. ;> Kad se startuje, pri svakom pritisku na neki taster cuje se beep (nije ni cudo da je stao u samo 3 Kb) ;))
pascal.793 vector,
U vezi pisanja rezidentnih programa saljem sledece: :) - Turbo Pascal / ASM Source For TSR Utilities (tsrscr.zip) - Routines for accessing XMS memory (tp6xms.zip) vector.arj
pascal.794 mango, -> #788, janko
> minimalno veliko (eto, nesto od ovih odgovora se moglo saznati > i iz one inkriminisane arhive -- no ni sam je nisam sacuvao. ;) ) Zamoli ga da posalje ponovo:))
pascal.795 firus, -> #788, janko
Ja> Bez veze sa virusima, ali mi pade na pamet kad se reče veličina -- Ja> da li je neko od ovde prisutnih nekada pravio rezidentne programe Ja> u Turbo Paskalu? Kako to izgleda, da li je moguće i koliko je Naravno da je moguće. Sve što može u asembleru, može i u pascalu, samo je malo veće. Ja> minimalno veliko (eto, nešto od ovih odgovora se moglo saznati Ja> i iz one inkriminisane arhive -- no ni sam je nisam sačuvao. ;) ) Lepo sam ja reko, obriši odavde, ali ostavi kod kuće. :) Eto vidiš da se uvek nešto korisno može saznati. Ali nemam ni ja. Zakasnio sam. Zato bi molio da mi se to pošalje na mail. Empire (ex. micotakis)
pascal.796 firus, -> #777, vector
Ve> Pored onog BINOBJ-a, treba mi objasnjenje strukture TPU fajlova za Ve> verzije manje od 6.0. Pozeljno 5.5. Za proučavanje TPU fajlova ti treba recimo INTRFC. Pročitaj ovo. Pa ćeš da znaš koju verziju da tražiš, odmah da ti kažem verziju 6.2 zaobiđi. Poslao sam calex-u verziju 7.0, koja je i za 6.0 i za TP/BP 7.0 unite, ti naravno uzmi stariju verziju. Da znaš koju, pročitaj ovo. HISTORY of INTRFC (by D.J. Murdoch) I started INTRFC because I got a library of Turbo Pascal 4.0 subroutines which had some errors in the documentation. One of the functions wanted its arguments to be a special type, but the docs didn't tell me which one. TP gave me an error message saying I wasn't using the right type, but wouldn't tell me which one to use either. I decided to decode the TPU file and figure out what TP wanted. Once I got started, it was hard to stop. So, I ended up writing INTRFC, which printed out almost all the information you'll ever need about the interface to a TPU unit. When I upgraded INTRFC to TP 5.5 files, I got carried away again. Version 1.2 dumped the complete file, not just the interface section. The release of TP 6.0 made it necessary to upgrade again. This one was easy: there aren't very many differences between version 5.5 and 6.0 .TPU files. I decided to fill in a couple of gaps in version 1.2, and the current one dumps everything in the file. However, I made a few mistakes in release 1.3; version 1.31 fixed those. When TP for Windows, version 1.0, came out, I was amazed that version 1.31 almost worked; it turns out that the file format for TP6 and TPW1 is identical. There were a few errors in INTRFC 1.31 because some of the Windows features had never showed up; version 1.32 filled in those areas. I also cleaned up the display a bit. In June '92, TPW 1.5 came out with completely compatible .TPU files. No need for an upgrade. However, William Peavy pointed out the omission of the flag for "interrupt" procedures, so I added that in. I also got tired of the terrible numbering scheme I'd stuck to for so long, and decided that instead of 1.33, I'd call the new one 6.3. Because of the way INTRFC has been written, i.e. entirely by guesswork, there are probably special cases that it doesn't handle properly. That's one reason the source code is there - so other people can fix up my mistakes. The other reason I included source code is because it will serve as a bit of documentation for the TPU file format: Borland will never publish it. They want to be free to change the format, tweaking performance when they can. (As you'll see if you study the .TPU design, the famous "obsolete .TPU" problem doesn't come from the frequent format changes; it's basic to the .TPU design itself. References to old SYSTEM and other units just can't be updated.) This reason has become a little obsolete now: William Peavy has written a very complete description of the TP 6.0/TPW 1.x .TPU format; I highly recommend picking up a copy. Empire (ex. micotakis)
pascal.797 firus, -> #778, firus
Fi> Ja nemam ni jedan od njih tako da nemogu ništa više da ti kažem, Fi> ovo sam samo izvadio iz fajla koji se zove allfiles. Davno sam nabavio TVGRAPH. Do pre mesec dana sam imao TP 6.0. Probam ja da iskompajliram to čudo u verziji za 7.0. Dobijem poruku version mismatch error ili tako nešto. Lupim F1 i dobijem objašnjenje da je verovatno neki unit koji dotični koristi promenjen. Znam da ništa nije menjano i da su svi uniti oni originalni. Zato nabavim intrfc70. Program radi i sa unitima za 6.0 i sa unitima za 7.0, koje će da čita zavisi od unešenog parametra prilikom kompajliranja. Jedna od mana je ispis na ekran. Naravno ovo se rešava prostom redirekcijom. Objašnjenje strukture TPU fajlova je mizerno. Svodi se na pogledaj source. Help meni je lepo urađen. Samo korišćenje je lako. Korisno da saznate tačne parametre koje funkcije i procedure iz dotično unita traže. Zatim da saznate koliki su checksum-i svih tpuova koje koristi(ovo je meni trebalo). Naravno ima tu još dosta informacija. Najgore od svega je što ni autorima nije jasno čemu pojedni delovi tpu-a služe. Sve u svemu korisna stvarčica. Razmišljam da malo prepravim source, i da dodam mogućnost pisanja u fajl, koji bi bio defoult. Ali će to malo da sačeka kako mi se čini. Empire (ex. micotakis)
pascal.798 firus, -> #779, vector
Ve> ALI kako ta stvar jos ne postoji zanima me struktura tih fajlova. Što je najgore verovatno nikad neće ni postojati. Svugde piše nešto u stilu FORGET IT. Znači batali to. Ve> Gore navedeni 'tpu2asm' bi mi koristio, medjutim, da bi ga uopste Ve> startovao potrebna mi je 'turbo.tpl' datoteka iz verzije 5.5 ili/i Ve> 5.0 (pozeljno obe). Ako neko ima neka salje na MAIL posto ne moze u Ve> konf. Pazi to bi bio o.k. rešenje, ako pravi *.obj fajl, koji ćeš da ulinkuješ. Ako radi ono što radi sourcer, odnosno ako ti daje asm listing to ti neće koristiti, jer nikada nećeš uspeti da dobiješ ono što ti treba. Kao prvo i osnovno grantovano će maksimalno da ti zakomplikuje asm sorce. Dosta sam se igrao sa sourcer-om tako da znam šta pričam. Naravno sourcer radi sa *.exe i *.com fajlovima. Meni bi trebao program koji *.tpu (TP7) konvertuje u *.obj. *.tpu, *.tpp i *.tpw(valjda se ovako zovu) imaju istu strukturu, ako su svi iz iste verzije. Ima li neko nešto takvo? Empire (ex. micotakis)
pascal.799 vector,
Saljem HSC Player za Turbo Pascal 7.0 ! :) HSC/PLAYER V 1.8 FOR TPAS 7 Í═─═─══════─══─═─═──══─═─═Ě ║█▓▒░ ˙A˙N˙T˙A˙R˙E˙S˙ ░▒▓█║ ă─═─═─═══─═─════─═─═─════─ ║­¸ H S C Player V 1.8 ¸­║ ║­¸ FOR TPASCAL 7 (TPU) ¸­║ ă ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─  ║ Add FM Music To Your ║ ║ Intros,Demos,Addy,etc.. ║ ║ In This New Version : ║ ║ - Use The New HSC 1.5! ║ ║ - Equalizer Support ! ║ ║ - Even Smaller !!! ║ ă ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─  ║¨¨Coding By Access /ADV¨¨║ Ë─════─═─═─══════─═─═─═══─Ż Program pusta HSC module. Nikad nisam ni cuo za taj format, ali nema veze. Ovo nije lose, ali postoji jedna mana ;>, uz program (unit) dolazi samo jedan (!) HSC fajl koji se moze upotrebiti u nekom programu. BTW, jel ima neko neki MOD player ? :) advhsc18.zip
pascal.800 vector, -> #798, firus
-> Ako radi ono sto radi sourcer, odnosno ako ti daje asm listing to ti nece -> koristiti, jer nikada neces uspeti da dobijes ono sto ti treba. Kao prvo -> i osnovno grantovano ce maksimalno da ti zakomplikuje asm sorce. Dosta -> sam se igrao sa sourcer-om tako da znam sta pricam. Neki (mozda i vecina, nisam ih bas puno razgledao ;>) su bas disasemblirani Sourcer-om. :)
pascal.801 vector, -> #800, vector
Mala ispravka, mislio sam na viruse pisane u asembleru koje imam a ne na kompajlirane PAS fajlove. Ko bi lud disasemblirao fajl od 30kb (dobro, sad sam malo preterao ;) Sourcer-om na primer, pa posle to proucavao. ;> LM, koliko sam video, oni virusi napravljeni u Pascalu trebali da budu poslati SysOp-u nekog BBS-a od autora. Bas i nije nesto. Tek sad sam dobro pregledao arhivu. ;>
pascal.802 qpele, -> #799, vector
Ve> BTW, jel ima neko neki MOD player ? :) Imam ja neki ,nije sjajan ali zvuk se cuje i lici na original .:) mod.arj
pascal.803 vector, -> #802, qpele
Ono bi bio odlican program samo da radi preko SB-a, a ne preko cuvenog PC Speaker-a. ;) Anyway, moram da nadjem taj program (tracker) sto pravi i pusta HSC fajlove. Onaj Antares HSC Player je bas mocan. Bas steta sto ima samo 1 primer, tj. HSC fajl.
pascal.804 firus, -> #803, vector
Ve> Ono bi bio odlican program samo da radi preko SB-a, a ne preko Ve> cuvenog PC Speaker-a. ;) Jedno pitanje. Da li ima samo opciju za PC Speaker ili i za LPT1? Ja imam neki koji ima 4 mogućnosti. Tri su vezane za LPT1. Jel to taj? Empire (ex. micotakis)
pascal.805 vector, -> #804, firus
Koliko sam ja video, samo preko PC Speaker-a. :) LM, nasao sam program koji moze da pusta HSC fajlove. Verovatno uz program dolazi i neki primer, tako da kada ga uzmem poslacu primere (HSC fajlove) zakacene za neku od poruka. HSC Player za Turbo Pascal 7.0 ruleZ. :)
pascal.806 vvelisavljev,
Kako procitati sistemsko vreme iz Paskala? Pazite ima dva, jedan je DOS Time a meni treba onaj drugi.
pascal.807 firus, -> #806, vvelisavljev
Vv> Kako procitati sistemsko vreme iz Paskala? Vv> Pazite ima dva, jedan je DOS Time a meni treba onaj drugi. Ajde mi objasni šta zapravo hoćeš. Iskreno rečeno, ne razumem te. Zar gettime ne radi posao? Ili si hteo da kažeš da ne znaš kojom se to procedurom radi, a da si koristio dos naredbu time? Hitno nabavi knjigu Turbo Pascal 6 (kompletan vodič) - Stephn O' Brien To je mnogo dobra knjiga, ja je mnogo volim. U stavri uzmi to isto, ali za 7.0 Empire (ex. micotakis)
pascal.808 dekik, -> #806, vvelisavljev
D?>> Kako procitati sistemsko vreme iz Paskala? Pazite ima dva,jedan je D?>> DOS Time a meni treba onaj drugi. Probaj sa bios komandama (vreme ti je mislim interrupt 1A). BTW:A jel nije dovoljno ovo iz dos-a ?!
pascal.810 stameni, -> #806, vvelisavljev
>> Kako procitati sistemsko vreme iz Paskala? Pokušaj preko interapta $1a, funkcija Get System Time ($00). Rezultat u tickovima dobijaš u paru cx:dx, a to je po svoj prilici kopija BIOS Data Area od 0000:046c do 0000:046f, tako da vreme možeš i tamo da pročitaš. Evo programa koji bi trebalo da konvertuje vreme u tickovima u razumniji format: ----<cut>---- program GetSystemTimeViaInt1a; uses dos; var h, m, s, s100: word; procedure GetSystemTime(var hour, minute, second: word); var l, m: longint; begin l := 0; asm xor al, al int $1a mov word ptr [l], dx mov word ptr [l] + 2, cx end; m := l mod 91; { višak tikova } l := 5 * (l div 91); { ukupan broj sekundi } hour := l div 3600; { broj sati } l := l mod 3600; minute := l div 60; l := l mod 60; second := l + (m div 5) end; begin GetSystemTime(h, m, s); writeln(h, ' ', m, ' ', s); GetTime(h, m, s, s100); writeln(h, ' ', m, ' ', s) end. ----<cut>---- Može li neko da objasni zašto ova nova procedure, GetSystemTime, žuri nekoliko sekundi (oko 30)? Meni nije jasno... :(
pascal.811 zdravkod,
Potrbna pomoc! Kako da iz Pascala kontrolisem Modem??? Potrbno detaljnije objasnjenje... Ako moze i primer... Unapred zahvalan...
pascal.812 stameni, -> #811, zdravkod
>> Kako da iz Pascala kontrolisem Modem??? Potrbno >> detaljnije objasnjenje... Ako moze i primer... Imaš jedan primer u 5.242 uz 5.261.
pascal.813 stameni,
U vezi sa pitanjem od pre neki dan, kako u Pascalu pročitati vreme, imam jedno interesanto zapažanje. Svi znaju da u PC-ju postoji brojač koji povećava neke memorijske lokacije 18.2 puta u sekundi, što daje 91 puta za 5 sekundi. To je samo približno tačno, i zbog toga program koji sam tada bio pisao žuri oko 30 sekundi. U stvari, prema DOSREF-u 3.1, do povećanja dolazi na svakih 1193180 / 65536, a to otprilike iznosi 18206 puta u 1000 sekundi, pa u vezi sa tim može da se modifikuje onaj program na sledeći način: ----<cut>---- program GetSystemTimeViaInt1a; var h, m, s, s100: word; procedure GetSystemTime(var hour, minute, second: word); var l: longint; begin l := 0; asm xor al, al int $1a mov word ptr [l], dx mov word ptr [l] + 2, cx end; l := (1000 * l) div 18206; { ukupan broj sekundi } hour := l div 3600; { broj sati } l := l mod 3600; minute := l div 60; l := l mod 60; second := l end; begin GetSystemTime(h, m, s); writeln(h, ' ', m, ' ', s) end. ----<cut>---- Sada radi prilično tačno. Ne vidim zašto ipak ne koristiti proceduru GetTime iz unita DOS, koja, uzgred, vreme dobija preko interapta $21, funkcija $2c.
pascal.814 acafaca,
Zna li neko neku knjigu za Turbo Pascal za Windows? Mnogo HVALA!
pascal.815 firus, -> #814, acafaca
Ac> Zna li neko neku knjigu za Turbo Pascal za Windows? Uzmi lepo borland pascal 7.0. Imaš sve što ti je potrebno za pisanje win programa, kao i još po nešto. Onda uzmi knjigu za BP7 i uživaj. Empire (ex. micotakis)
pascal.817 tojagic,
Jel zna neko kako da od nekog stringa obrishem poslednji karakter ? Npr imam string 'Usernamee' a ochu da obrishem ono e na kraju ;) Hvala unapred ;)
pascal.818 emajsijuen, -> #817, tojagic
Tj>> Jel zna neko kako da od nekog stringa obrisem poslednji karakter ? To sta tebi treba mozes da uradis na nekoliko nacina... Evo ti program koji od stringa unesenog kao parametar odbija poslednji karakter... Uses crt; Var a :string; Begin a:=paramstr(1); a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } writeln('Uneli ste: ',paramstr(1)); writeln('Odbijanjem zadnjeg slova dobija se: ',a); end. Cu :)
pascal.819 profa, -> #818, emajsijuen
>> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } Delete(a,Length(a),1); :)
pascal.820 oleg,
Trebaju mi veliki nizivi iz pascala. Za Borland Pascal 7.0 kazu da ima DPMI podrsku, itd, itd... Medjutim, svaki pokusaj dimenzionisanja niza takav da ukupna duzina promenjivih i/ili niza bude veca od 64K zavrsava neslavno. Elem, ima li leka ili treba raditi sa pointerima :( ? Ako ima, molim za hint, primer ili nesto slicno. Hvala.
pascal.821 oleg,
Da, stavio sam u Compiler options Target:protected.
pascal.822 qpele, -> #820, oleg
Tesko da ces moci bez pokazivaca da napravis niz veci od 64K iz prostog razloga sto i kad kompajliras u protected modu ,time se samo heap segment povecava do maximuma ,a svi ostali segmenti ostaju na 64K . Ako vec toliko hices obicne nizove evo nekog prelaznog resenja : type niz = array [1..max]; pniz = ^niz; var n:pniz; Sada sa new(n) oslobadjas potrebnu memeoriju u heap-u
pascal.823 firus, -> #817, tojagic
To> Jel zna neko kako da od nekog stringa obrishem poslednji karakter ? Imaš par načina. To> Npr imam string 'Usernamee' a ochu da obrishem ono e na kraju ;) Neko školsko rešenje je ovo Delete (nst, Length(nst), 1); Može i ovako, ali je ne volim da se igram sa bajtom dužine nst[0]:=chr(ord(nst[0])-1); Naravno nst si pre toga deklarisao kao string i dodelio mu neku vrednost. Treba li još neka pomoć oko stringova? To makar znam. Empire (ex. micotakis)
pascal.824 rdejan, -> #819, profa
>>>> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } >> >> Delete(a,Length(a),1); >> >> ;) Dec(a[0]) je možda još kraće ;) Pozdrav, Dejan
pascal.825 ognjen, -> #818, emajsijuen
)-> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } ~~~~~~~~~~~~~~~~~~~~ Ovo neće da radi, naravno, jer pascal NE koristi null-terminated stringove.
pascal.826 firus, -> #825, ognjen
Og> Ovo neće da radi, naravno, jer pascal NE koristi Og> null-terminated stringove. Pascal nije C, znači slažem se sa tobom. To 'radi' ako string direktno izbaciš na ekran, ali ako radiš nešto dalje sa stringom to već nije tako. Evo ga primer Var I: Integer; Nst: String; Begin Nst:= 'usernamee'; WriteLn; Nst[Length(Nst)] := #0; WriteLn (Nst); WriteLn (chr(39),Nst,chr(39)); For I := 1 To Length(Nst) + 3 Do Write (Ord(Nst[I]), ' '); End. Kao rezultat dobijaš username 'username ' 117 115 101 114 110 97 109 101 0 A to ipak nije to.
pascal.827 vector,
'swaptp.arj' - 'Swap program out to disk or EMS (+ source code)' swaptp.arj
pascal.828 vector,
... A evo i jednog izuzetno vizuelno lepog programa koji demonstrira upotrebu razlicitih algoritama za sortiranje ... :) sortdemo.zip
pascal.829 acafaca, -> #563, micotakis
-=> 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. Hajde molim te pošalji taj program za sortiranje ili ako imaš neki drugi. Treba mi neki program za sortiranje minimalno 100 000 elemenata. Da sortira stringove dužine otprilike 40 byte-a.
pascal.830 acafaca, -> #815, firus
-=> Uzmi lepo borland pascal 7.0. Imaš sve što ti je potrebno -=> za pisanje win programa, kao i još po nešto. borland pascal 7.0 za win? -=> Onda uzmi knjigu za BP7 i uživaj. Izvini! Da l' znaš gde ina da se kupi. Tražio sam u onoj knjižari na Terazijama (valjda se zove Kultura) i u Jugoslovenskoj knjizi i još na par mesta, nema. :(-=> Onda uzmi knjigu za BP7 i uživaj.
pascal.831 vector, -> #825, ognjen
■ )-> a:=copy(a,1,length(a)-1); { Ili a[length(a)]:=#0; } ■ ~~~~~~~~~~~~~~~~~~~~ ■ Ovo nece da radi, naravno, jer pascal NE koristi ■ null-terminated stringove. Sad kad sam pregledao poruke iz ove teme novije od 15.02.1997. nigde nisam primetio poruku broj 818, tj. 'emajsijuen'-ovu poruku. Ocigledno je obrisao svoju poruku. Ne razumem zasto. Mozda to ima neke veze sa odgovorom koji je dao ali se ispostavilo da nije tacan ? Molio bih :) da se ubuduce ne brisu poruke iz konferencije (teme) jer ljudi posle nekog vremena, da ne bi postavljali ista pitanja, mogu preuzeti celu konferenciju, i ako neko ovako brise poruke moze nastati zbrka ... Sta ako neko ko preuzme sve poruke iz teme nadje pitanje na koje je trazio odgovor ? I procita sledece : "Odgovori 818, 819" ili slicno, a nema tih poruka ? Uopste nije bilo razloga za brisanje poruke broj 818 ... PS. Kad vec primetih ovo, prelistao sam malo stare poruke i video da je 'emajsijuen' sve svoje poruke iz ove teme obrisao. (??)