unknown.728darone,
-> #723, korvin>> Takođe, to sam zaboravio da priupitam, koju mi
>> literaturu preporučujete ?
Ovo i mene *jako* zanima. Da li čitati ZZovu školu
iz Računara? Ili, prethodno (mjovin predlog)
rlazicevu 'C sa primerima'? Uglavnom:
Q: koja knjiga je najbolja za apsolutne C početnike?
darone
unknown.729mstanic,
-> #718, dejanr:: Tvrdnja se odnosi na VAX.
Ovo sve objašnjava.
VAX-ov procesor je gomila čipova na jednoj ploči (između
ostalih i rom-ovi ili eprom-i u koje je lako zapisivati
razne brojeve bez nekih komplikacija u procesu proizvodnje)
dok su mikroprocesori (oh! bože, mora li se to reći) gomila
tranzistora na pločici silicijuma, te je stoga jasno zašto
bi bilo neprikladno "utiskivanje" serijskih brojeva (mada
ne kažem nemoguće).
Pročitao sam dosta originalne dokumentacije proizvođača za
dosta mikroprocesora, ali nigde ni pomena o nekim serijskim
(internim) brojevima. Postoji način označavanja datuma
proizvodnje i to je uglavnom sve.
čao mi je ako sam zvučao kao "neki" kompjuterski stručnjak.
Znate koji.
Milan
unknown.730janko,
-> #723, korvin> Eh, pa ta me dilema i muči :) Ja u početku, dok ne
> savladam C neću da radim sa objektima ali ne znam da li ću
> kasnije moći da se brzo prilagodim Borlandu 2.0 /3.0 ?
Hoćeš. To je Borland. Njihovi programi su uvek maksimalno
elegantni. :)
unknown.731janko,
-> #722, janko> Pa, referentna knjiga je Brian Kernighan, Denis Ritcie,
> The C Programming Language, Second Edition (ako sam sve
> dobro otkucao napamet :) Postoji i prevod na srpski, u
Dennis Ritchie je ispravno. Progutao sam jedno s i jedno h.
Sori.
Sad sam video i da je recenziju i stručnu redakciju prevoda
koji sam pomenuo radio dr. Milan Božić (milan na Sezamu! :)
Trebalo bi da sam malo umereniji u izjavama... ali prevod je
stvarno katastrofalno loš. :)
unknown.732janko,
-> #724, glisin> Uf! E, sada smo DEFINITIVNO promašili temu! (cccc...)
Nema veze, bilo je zanimljivo. :) Hvala.
unknown.733janko,
-> #725, d.petrovic> void main () š /* Da li mi svud ovde treba void ? */
> Obrazac();
>ć
> void obrazac() š
> FILE *out;
> out=fopen("PROBA.TXT","wt");
> fprintf(out,"Testiranje");
> lin(out,20); /* Verovatno je sad problem ovde */
>ć
> void lin(FILE *out,int du) š
> int br;
> for(br=0;br<=du;++br)
> fprintf(out,"-")
>ć
Jok. Nisi deklarisao čitave procedure PRE poziva. :) U ovom
slučaju, mislim da je dovoljno da zameniš redosled f-ja, ovako:
> void lin(FILE *out,int du) š
> int br;
> for(br=0;br<=du;++br)
> fprintf(out,"-")
>ć
> void obrazac() š
> FILE *out;
> out=fopen("PROBA.TXT","wt");
> fprintf(out,"Testiranje");
> lin(out,20); /* Verovatno je sad problem ovde */
>ć
> void main () š /* Da li mi svud ovde treba void ? */
> Obrazac();
>ć
Postoji i druga fora, ali nju nađi sam u knjizi. :)
unknown.734janko,
-> #728, darone> Q: koja knjiga je najbolja za apsolutne C početnike?
:) Zavisi od predznanja u drugim programskim jezicima.
unknown.735korvin,
-> #718, dejanr>> Tvrdnja se odnosi na VAX.
Bogami, znam sigurno da iz Motorole možeš da izvučeš serijski broj.
Samo ni to ti neće puno da pomogne, pošto se takvo "čitanje" ser.
broja lako presreće, tako da od zaštite ništa ;)
P.S. D.Petroviću, mani se zaštite ;) kod nas će ti razbiti svaku
zaštitu (jako lepo objašnjeno u nekom broju Računara). Lakše ti je da
poradiš na serijskom broju, pa da ga što bolje kriptuješ :)
unknown.736korvin,
-> #711, dragisha>> Nisi ti toliko loš pa da zaslužiš C:). Bolje se preispitaj...
>>
>> dragisha
:)))) Moram da priznam da sam se odlučio za C zato što mi za razliku
od Pascala (nikad nisam uspeo da utvrdim veće razlike između njega i
bejzika :)) nudi direktniji pristup mašini i samim tim veću kontrolu.
Razmišljao sam da počnem sa Pascalom, pa da kasnije pređem na C,
ali brate, mnogo zaobilazno. Uostalom, ja sam svojevremeno na C64 prvo
počeo da radim u asembleru, pa tek onda naučio Basic :)
unknown.737robert,
-> #726, spantic<:>> Prporuči mi neku, baš počinje da me interesuje C.
<:>
<:> Mikro knjiga je izdala sjajnu knjigu "Programiranje u Cu". Po meni
<:> je mnogo
Ima u Jugoslovenskoj knjizi u palati Albanije dosta knjiga koje su
namenjene za učenje osnova programiranja u C-u (i C++) pa ko hoće
da kupuje knjige može otići tamo i da vidi šta ima. Ja sam skoro
kupio onu knjigu od Bjarna Stroustrup-a C++ koju je BTW preveo Laslo
Kraus i mogu reći da nije loša i čini mi se da je to referenca za
programiranje u C++ -u. Neko je već napomenuo da ako neko hoće da
uči C++ ne počinje uopšte sa čistim C-om već da odmah pređe na C++
a ja mislim da to nije tako loš rezon i da bi zaista trebalo tako
uraditi jer se C i C++ ipak razlikuju u filozofiji pristupa i
rešavanja programerskih problema. Način razmišljanja je drugačiji
kod jednog i drugog jer na primer C zahteva da se programer sa svojim
razmišljanjem spusti blizu nivoa mašine i da radi a za C++ je potrebno
definisati određene objekte sa kojima se barata i funkcije koje
pretstavljaju ponašanje tih objekata te je rad tako premešten na
mnogo viši nivo.
Pozdrav.
unknown.738mjova,
-> #728, darone> Q: koja knjiga je najbolja za apsolutne C početnike?
vidi, u rankovoj knjizi se nalazi LEPO (fino i krasno ;) opisan žIST
C, tamo nema opisa funkcija iz biblioteka koje su svakako sastavni deo
C-a. ako si apsolutni početnik, preporučujem ti tu knjigu jer se
(potreban deo - bez primera ;) vrlo lepo bavi svim stvarima vezanim za
ključne reči (if, while, for itd). da bi to naučio, treba (ako nemaš
pojma niočemu) da pročitaš n puta i posle toga znaš sve.
posle toga uzmeš lib ref i tamo pogledaš fn, a zzovu školu c-a
prelistaš od početka da vidiš šta ima, pa ako nešto ne znaš da
uradiš ti znaš gde je ;). meni ta škola više liči kao viša, a ne
osnovna ;).
treće, daću ti knjigu (file) K&R koju je preveo moj ortak, vrlo je
lepo prevedena (dok je učio C on je original prevodio jer je bio
nezadovoljan greškama u ovom prevodu koji je kod nas objavljen).
'programski jezik C kroz primere' je sjajan start!
unknown.739mjova,
-> #731, janko> Sad sam video i da je recenziju i stručnu redakciju
> prevoda koji sam pomenuo radio dr. Milan Božić (milan na
> Sezamu! :) Trebalo bi da sam malo umereniji u izjavama...
> ali prevod je stvarno katastrofalno loš. :)
čuj, prevod je očajan, to stoji, ali ako te zanima, jedan moj drug
je preveo (file forma ;) tu knjižicu, pa ako ti treba mogu da je ul...
unknown.740zvonko,
-> #704, ppekovic># Ovaj drugi je objektno orijentisani, ali kao i noviji
># Borlandovi kompajleri jede mesto na disku.
Koliko mesta, koliko disketa i slično?...
unknown.741ilazarevic,
-> #736, korvin█ od Pascala (nikad nisam uspeo da utvrdim veće razlike između njega i
█ bejzika :)) nudi direktniji pristup mašini i samim tim veću
█ kontrolu.
Nemoj tako... Pascal je n klasa iznad bejzika, gde n teži plus beskonačno ;)
unknown.742milan,
-> #731, janko
> Sad sam video i da je recenziju i strucnu redakciju prevoda
> koji sam pomenuo radio dr. Milan Bozic (milan na Sezamu! :)
> Trebalo bi da sam malo umereniji u izjavama... ali prevod je
> stvarno katastrofalno los. :)
Sto jes' jes' prevod je los, al' Savremena administracija je
izrazila spremnost da to stampa, smatrao sam da je knjiga vazna a
nije bilo meni dato da biram prevodioce! To naravno ne smanjuje
moju odgovornost.
Pl poz M
unknown.743spantic,
-> #731, janko> Sad sam video i da je recenziju i stručnu redakciju
> prevoda koji sam pomenuo radio dr. Milan Božić (milan na
> Sezamu! :) Trebalo bi da sam malo umereniji u izjavama...
> ali prevod je stvarno katastrofalno loš. :)
Bolje reci nepismen. Pa čak i ako ono sa bitom i bajtom zanemarimo.
unknown.744janko,
-> #739, mjova> čuj, prevod je očajan, to stoji, ali ako te zanima, jedan
> moj drug je preveo (file forma ;) tu knjižicu, pa ako ti
> treba mogu da je ul...
Eeee, da sam znao pre! Svojevremeno mi je trebao za Unix onaj
sors sa čačkanjem inode-a... i sve sam prekucavao :(
Tekst više-manje, ali svi sorsovi iz knjige u računarskom
obliku su zanimljiva stvar, pogotovu za one koji bi
eksperimentisali na mašini, dok čitaju knjigu!
Koliko je veliko sve zajedno (spakovano)? Ima li izdvojenih
sorsova, ili, da li je bar izdeljeno po glavama?
unknown.745todorp,
-> #739, mjova> cuj, prevod je ocajan, to stoji, ali ako te zanima, jedan moj drug
> je preveo (file forma ;) tu knjizicu, pa ako ti treba mogu da je
> ul...
Bilo bi lepo kad bi i ja to video...
Pozdrav od Todora.
unknown.746dejanr,
-> #729, mstanic>> dok su mikroprocesori (oh! bože, mora li se to reći) gomila
>> tranzistora na pločici silicijuma, te je stoga jasno zašto
>> bi bilo neprikladno "utiskivanje" serijskih brojeva (mada
>> ne kažem nemoguće).
Ja nisam stručnjak za VLSI itd, ali se sećam da sam davno negde
čitao kako se prave memorije. Zbog prirode postupka, dosta je teško
napraviti RAM čip kome će sve lokacije biti ispravne (kad kažem
"teško", mislim "skupo", tj. procenat škarta je veliki). Zato se
neko setio da, recimo, umesto megabitnog čipa napravi čip sa
megabitom + (recimo) 100 ćelija. Onda *gotov* čip ide na testiranje,
i neka mašina proveri koje su mu ćelije ispravne. žim naiđe na
neispravnu, *spoljnim* naponom spali nekakakav osigurač (tranzistor)
i tako "preusmeri" tu adresu na neku od dodatnih ćelija. Ako baš ima
više od 100 neispravnih ćelija, čip se baci (ili proda Sinkleru da
ga ugrađuje u Spectrum ako je barem polu-ispravan ;).
Ideja je, složićete se, sjajna, a poenta je: zašto na sličan način ne bi
"spolja" mogao da se upiše i serijski broj?
unknown.747mjova,
-> #744, janko> Eeee, da sam znao pre! Svojevremeno mi je trebao za Unix
> onaj sors sa čačkanjem inode-a... i sve sam prekucavao :(
vidi, prevod nema taj deo za unix, ima samo prvih šest poglavlja. sve
je komplet prevedeno osim primera i izvornih kodova ;)
evo, kome treba, nek zemi...
c-c2.arjunknown.748ndragan,
-> #700, todorp/ Za serijski broj diska ti treba dos veci od 4-ke. Evo ti ovo ali
Zar se taj ne menja pri formatiranju? Jača zaštita nego što treba, jer
ako korisnik uradi ono redovno šmirglanje diska i vrati sve iz bekapa,
redovno plaćen i legalno korišćen program više neće da radi (ako se
zaštita oslanja na serijski broj diska), a programer o svom trošku treba
da ga ponovo instalira.
P.S. Dos četirika? Jel' to ruska ili ukrajinska verzija?
unknown.749natila,
-> #739, mjovaI mene to zanima. Pa ako nije neki mamut od fajl rado bih ga DL.
Nemeth Attila
unknown.750korvin,
Zahvaljujem se svima koji su mi svojim savetia pomogli da se
opredelim za početnu konfiguraciju C-a :) Dobićete još jednog
gnjavatora u ovoj konferenciji koji će vam s vremena na vreme
postavljati glupa pitanja :)
P.S. Reših se za Turbo C 2.01, so help me Microsoft :)
unknown.751janko,
-> #747, mjova> vidi, prevod nema taj deo za unix, ima samo prvih šest
> poglavlja. sve je komplet prevedeno osim primera i
> izvornih kodova ;)
:( A jel' ima UOPŠTE programske primere ukucane? Ili je samo
priča u tom fajlu?
unknown.752zormi,
-> #748, ndragan* Zar se taj ne menja pri formatiranju?
Kod IDE diskova serijski broj se ne menja formatiranjem
i može se čitati nezavisno od DOS-a. Primer: RDIDE.
unknown.753mstanic,
-> #746, dejanr:: Ideja je, složićete se, sjajna, a poenta je: zašto na
:: sličan način ne bi "spolja" mogao da se upiše i serijski
:: broj?
Ne radi se o tome da li može ili ne može. Tehnološki je to
lako izvodljivo, pogotovu ako znamo da postoje mikroprocesori
sa ROM-om, EPROM-om ili sa EEPROM-om. Štos je u tome što se
to ne radi. Razlozi nisu (meni) poznati.
Milan
unknown.754mstanic,
-> #735, korvin:: Bogami, znam sigurno da iz Motorole možeš da izvučeš
:: serijski broj. Samo ni to ti neće puno da pomogne, pošto
Ovo bih voleo da znam kako ide (bez imalo ironije, stvarno
bih voleo da znam kako se to radi). Ako možeš da objasniš,
nije baš zgodno mesto, ali možda u nekoj drugoj konferenciji.
I ako može na koje se mikroprocesore to odnosi.
Hvala. Milan
unknown.755glisin,
PITANJE:
Ima li neko neku zbirčicu rutina za rad sa pacovom? Bilo u sorsu, bilo kao OBJ
sa propratnim '.h' fajlom (linkujem u TC 2.01). Nije mi potrebno bog zna šta,
samo da se okačim na driver i da mogu da skinem pomeraj i klik. Potreban mi je
za rad u u tekst režimu, dakle nikakvi posebni zahtevi. Suštinski, treba mi
nešto poput 'read_x', 'read_y', 'read_buttons', 'pointer_on/off' i eventualno
neko prepoznavanje da li je driver tu ili nije. Ništa više.
Ako neko ima tako nešto, neka mi obesi. Može i ovde, mozda još nekome bude
interesantno da skine.
ŢŢŢIGGYŮŮŮ
unknown.756mjova,
-> #751, janko>> poglavlja. sve je komplet prevedeno osim primera i
>> izvornih kodova ;)
> :( A jel' ima UOPŠTE programske primere ukucane? Ili je
> samo priča u tom fajlu?
pa ima prvih 6 poglavlja, i to komplet. ono kad sam reko da primeri
nisu prevedeni mislio sam na to da su ostali u C-u i na engleskom ;)
unknown.757obren,
-> #755, glisin> Ima li neko neku zbirčicu rutina za rad sa pacovom? Bilo u sorsu,
> bilo kao OBJ sa propratnim '.h' fajlom (linkujem u TC 2.01).
Evo ti one rutine iz Sveta Kompjutera, meni su lepo poslužile par puta.
mouse.cunknown.758todorp,
-> #755, glisinMozda ti ovo pomogne. Nisam ih probao ali trebalo bi da radi.
Pozdrav od Todora.
mouse.arjunknown.759d.petrovic,
-> #748, ndraganĂ> Zar se taj ne menja pri formatiranju? Jača zaštita nego što treba,
Ă> jer
To nije broj koji dos zalepi na disketu pri formatiranju već se ubacuje u
disk u fabrici i traje dok traje i disk (ili dok ga neko ne preomeni ????? Može
li se to kod NEKIH ili SVIH diskova pitam se ja).
unknown.760d.petrovic,
-> #738, mjovaĂ> treće, daću ti knjigu (file) K&R koju je preveo moj ortak, vrlo je
Oću i ja, oću i ja
Jel može ?
unknown.761bearboy,
-> #736, korvin˙¨:> :)))) Moram da priznam da sam se odlučio za C zato što mi za razliku
˙¨:> od Pascala (nikad nisam uspeo da utvrdim veće razlike između njega i
˙¨:> bejzika :))
Pa nije reč o QuickPascalu :) nego o TP-u...
unknown.762mjova,
-> #760, d.petrovic> Ă> treće, daću ti knjigu (file) K&R koju je preveo moj
> Oću i ja, oću i ja
nije mi jasno, ali knjiga je okačena uz poruku 747, možda ste
prevideli. dakle, knjiga je tu, prikačena uz poruku 747.
unknown.763dejanr,
-> #753, mstanic>> Ne radi se o tome da li može ili ne može. Tehnološki je to
>> lako izvodljivo...
Pa da, to sam pokušao da objasnim, jer su neki rekli da bi za
to trebala da se formira nova maska itd.
>> Štos je u tome što se to ne radi.
Ne radi se kod Intelovih 80x86 procesora. Kod nekih drugih se
radi. Uzgred, i Intelovi industrijski procesori obezbeđuju
razne praktično neprobojne zaštite na hardverskom nivou. Ako
nekoga zanima, možemo o tome u nekoj drugoj temi.
unknown.764d.petrovic,
-> #762, mjovaĂ> prevideli. dakle, knjiga je tu, prikačena uz poruku 747.
Ma vid'o sam, ali kasno, već sam poslao exec, a mrzelo me da brišem.
Pozdrav, Dejan
unknown.765glisin,
Hvala svima na poslatim rutinama. Pogledacu.
ŢŢŢIGGYŮŮŮ
unknown.766kzoran,
Ljudi,
kao da najelegantnije utvrdim da li hard disk (fizicki ili logicki) na koji
korisnik jedne aplikacije zeli da usmeri odredjenu operaciju uopste postoji?
Resio sam taj problem na nekoliko nacina koriscenjem BIOS i DOS interrupt
poziva (kombinacije INT 13h AH=01h sa INT 21h AH=1Ch, INT 21h AH=32h i sl.),
koje, testirane na 2-3 masine rade korektno, ali nisam siguran da su
primenjive na svakoj konfiguraciji i, pre svega, nisam preterano zadovoljan
elegancijom resenja.
Postoji li neka interapt funkcija koja nedvosmisleno daje odgovor na upit
da li specifirani disk ili particija postoji u konfiguraciji?
Problem resavam u C-u, pa bi trebalo izbeci provere zasnovane na statusu
carry flega.
Pozdrav,
Zoran.
unknown.767ppekovic,
-> #766, kzoran>> Postoji li neka interapt funkcija koja nedvosmisleno daje
>> odgovor na upit da li specifirani disk ili particija postoji
>> u konfiguraciji? Problem resavam u C-u, pa bi trebalo izbeci
>> provere zasnovane na statusu carry flega.
INT 21H, f. 0EH
ili, pošto koristiš C
void _dos_setdrive(unsigned int disk_drive,
unsigned int *drives_avail);
Include file: <dos.h>
disk_drive je drive na koji hoćeš da predješ, a funkcija ti u drives_avail
vraca broj logickih diskova. Ako hoćeš samo da ispitaš koliko ima ogičkih
diskova, stavi tekući drajv u disk_drive promenljivu.
Paya
unknown.768kzoran,
-> #766, kzoran
Digao sam laznu uzbunu. Mislim da sam resio problem testiranja postojanja
izabranog diska. Trebalo je samo malo detaljnije pregledati BIOS i DOS
interrupt dokumentaciju, i sve bi mi se samo kaz'lo.
Pozdrav,
Zoran.
unknown.769kzoran,
-> #767, ppekovicHvala, ppekovic-u.
Uz f. 0Eh, koja vraca broj disk drajvova prikljucenih u sistemu, treba
upotrebiti jos i f.19h, kojom proveravas da li je current drajv onaj koji si
trazio funcijom 0Eh.
Pozdrav,
Zoran.
unknown.770mstanic,
-> #763, dejanr:: Ne radi se kod Intelovih 80x86 procesora. Kod nekih
:: drugih se radi. Uzgred, i Intelovi industrijski procesori
:: obezbeđuju razne praktično neprobojne zaštite na
:: hardverskom nivou. Ako nekoga zanima, možemo o tome u
:: nekoj drugoj temi.
Zanima mene. Kaži u kojoj konferenciji, zapravo samo ostavi
poruku o toj (xxx) ili u nekoj konferenciji otvori novu
temu (?ti to možeš :) ).
Milan
unknown.771mjova,
-> #766, kzoran> kao da najelegantnije utvrdim da li hard disk (fizicki ili
> logicki) na koji korisnik jedne aplikacije zeli da usmeri
> odredjenu operaciju uopste postoji? Resio sam taj problem
> na nekoliko nacina koriscenjem BIOS i DOS interrupt
ako sam dobro razumeo direktan poziv biosu nije ni potreban ako radiš
u BC-u pogledaj getdfree() i one koje su u help sistemu definisane kao
'see also'.
> struct dfree {
> unsigned df_avail; /* Available clusters */
> unsigned df_total; /* Total clusters */
> unsigned df_bsec; /* Bytes per sector */
> unsigned df_sclus; /* Sectors per cluster */
> };
>
> In the event of an error, df_sclus in the
> dfree structure is set to 0xFFFF.
vrlo jednostavno...
unknown.772mjova,
pitanjce :)
kako izbeći onu poruku kojom kompajler kaže da fn treba da vrati neku
vrednost, ako je rutina pisana u asembleru cela. problem nastaje kod
C++ koji to smatra teškom greškom i nema nameru da propusti nikakvim
pragma direktivama.
znam da mogu fn da bacim u obj i posle linkujem, ali to mi se ne
dopada kao rešenje.
unknown.773dejanr,
-> #770, mstanicVidi PC.PROG/zastita.
unknown.774djelovic,
Ima li ovde neko da koristi Paradox Engine? Imam par pitanja...
unknown.775kzoran,
-> #771, mjova
> ako sam dobro razumeo direktan poziv biosu nije ni potreban ako radiš
> u BC-u pogledaj getdfree() i one koje su u help sistemu definisane kao
> 'see also'
Ne radim u BC nago u MSC - i u njemu postoji par funkcija koje ispituju
parametre diska, ali tim resenjima nisam bio zadovoljan, ne znam ni sam zasto.
Te funkcije korektno rade, ali je meni bilo suprotno programerskoj logici
da trazim parametre diska za koji jos ne znam ni da li postoji, pa sam trazio
dalje.
U MSC 6.0 postoje dve funkcije _dos_getdrive i _dos_setdrive, ekvivalenti
DOS interapt funkcija 0Eh i 19h, od kojih prva postavlja trazeni drajv kao
current, a druga pribavlja podatak o current drajvu. Pozovem prvu, zatim
drugu, uporedim trazeni sa dobijenim podatkom, i ako su isti sve je OK -
- u suprotnom trazeni drajv ne postoji.
Vrlo je moguce da se i ove funkcije oslanjaju na rezultate poziva upravo
onih funkcija koje si pomenuo (a ja izbegavao), ali se to bar ne vidi - svi
mi imamo poneku svoju bolest, zar ne?
Pozdrav,
Zoran.
unknown.776dusanp,
Koristim ovu konferenciju da skrenem ljudima pažnju
na zaista sjajnu biblioteku za korisnički interfejs,
koja ide uz tekst u R84 o bazama podataka. To kažem zato
što sam je malo više ispitao i oduševio se njom...
U arhivi (u \rsoftu) se nalazi MNOGO više mogućnosti
nego što bi se po tekstu reklo (meniji,prozori i sjajno
rešeni dijalozi).
Ukratko, SVIMA PREPORUžUJEM ovu biblioteku.
Q: Jel počeo da je koristi još neko osim mene?
unknown.777ndragan,
-> #756, mjova/ nisu prevedeni mislio sam na to da su ostali u C-u i na engleskom ;)
Nekog je mrzelo da ih prevede na Ć?
unknown.778djelovic,
-> #776, dusanp> Q: Jel počeo da je koristi još neko osim mene?
Nije, jer se bulaja nije javio od subote da je stavi u dir. No, pošto mi
mnogi na mail već prete (da, na tebe mislim! :), evo cele arhive ovde uz
poruku.
unknown.779bojanp,
-> #778, djelovic>> Q: Jel počeo da je koristi još neko osim mene?
>
> Nije, jer se bulaja nije javio od subote da je stavi u dir. No, pošto mi
> mnogi na mail već prete (da, na tebe mislim! :), evo cele arhive ovde uz
> poruku.
Sam si kriv kada nisi poslao arhivu na pravu adresu :) Datoteka je
prebačena u dir.
Pozdrav, Bojan
unknown.780mstanic,
Kakve su i da li postoje neke bitnije razlike između
TC 2.0 i TC 2.01.
Milan
unknown.781dragisha,
-> #755, glisinű> Ima li neko neku zbirčicu rutina za rad sa pacovom? Bilo u
ű> sorsu, bilo kao OBJ sa propratnim '.h' fajlom (linkujem u TC
ű> 2.01). Nije mi potrebno bog zna šta,
Hoćeš u Moduli-2?
unknown.782stal,
Napravih Micro Emacs for Win od lepog, ovde prilozenog koda, sa BC++ for Win.
Jedino mi nije jasno gde je MEWIN.HLP. Ili ne znam da ga napravim, ili ga
jednostavno nije moguce napraviti sa prilozenim. Manje vishe shto ga nema, ali
ima li neka fora da se generishe i mewin.hlp
Pozdrav Stal.
unknown.783bulaja,
-> #779, bojanp││Nije, jer se bulaja nije javio od subote da je stavi u dir.
│└───
│Sam si kriv kada nisi poslao arhivu na pravu adresu :)
└───
Sta bre prava adresa :). Racunar mi je bio nefunkcionalan 10 dana, pa
nisam bio u mogucnosti da se bavim redovnim duznostima. Ne znas kroz
kakve sam sve teske trenutke prolazio, tresao sam se danima bez svoje
redovne Sezam-doze :), budio se u pola noci zbog fobije da ne propustim
da prebacim neki file u dir... O;>
unknown.784robert,
-> #776, dusanp<:> Q: Jel počeo da je koristi još neko osim mene?
Evo ja sam u fazi razgledanja i upoznavanja funkcija iz biblioteke.
Za početak imam par (možda banalnih) pitanja:
- kako da odredim koju će boju prozori imati a da to ne bude
difolt bela na crnoj pozadini
- zašto kod iscrtavanja menija (tip submenu) kada crta onu
poprečnu liniju (<ime_menija>.line () ) meni ona na ekranu bude
inverzna a sve ostalo je u redu (BTW, imam Hercules)
Inače mi se biblioteka sviđa ali bih imao malu zamerku na tromost
crtanja prozora ali to bi moglo lako da se ispravi korišćenjem
bržih funkcija ili Asemblera kao što reče DJelović. Bilo bi lepo
kada bi gospodin Jelović ukratko opisao šta bi tačno moralo da se
izmeni i gde a da se dobije u brzini iscrtavanja prozora.
Pozdrav.
unknown.785mstanic,
-> #780, mstanic>> Kakve su i da li postoje neke bitnije razlike između
>> TC 2.0 i TC 2.01.
Ima li neko da zna da odgovori na ovo pitanje?
Milan
unknown.786janko,
-> #785, mstanic>>> Kakve su i da li postoje neke bitnije razlike između
>>> TC 2.0 i TC 2.01.
>
> Ima li neko da zna da odgovori na ovo pitanje?
Valjda su otkrili naki mali bag, pa izdali novu? žini mi se da
'spolja' gledano nema primetnih razlika?
unknown.787djelovic,
-> #784, robert> - kako da odredim koju će boju prozori imati a da to ne bude
> difolt bela na crnoj pozadini
Recimo:
dialogue unos (10, 10, 70, 20, "Unos podataka");
unos.winfore = BLUE; // Plava slova
unos.winback = RED; // na crvenoj pozadini.
unos.say (...
unos.get (...
...
Konstante winfore i winback su deklarisane još u klasi win i važe za sve
prozore. Formulari, a preko njih i dijalozi, imaju još dve promenljive,
fieldfore i fieldback, koje određuju boju polja za unos.
> - zašto kod iscrtavanja menija (tip submenu) kada crta onu
> poprečnu liniju (<ime_menija>.line () ) meni ona na ekranu
> inverzna a sve ostalo je u redu (BTW, imam Hercules)
Zato što sam som :). Menjao sam nešto u klasi parentwin, i onda
sam zaboravio da će to imati uticaja na klasu submenu koja je rađena na
onaj stari način. Anyway, evo ispravljene verzije, molba bilo kom od
moderatora :) da je stavi u dir.
unknown.788glisin,
-> #781, dragisha
ŢŢŢHoćeš u Moduli-2?
Nema potrebe, video sam sve pozive, pa mogu sada da napišem u bilo čemu. BTW,
u onoj zbirčici rutina koju mi je neko poslao (mouse.c) ima jedna stvar koja
mi nije jasna, a koju sam promenio. U funkciji 'get_mouse' stoji:
*button = outregs.x.bx & 3;
što će ignorisati pacove sa tri tastera, jer čisti bit 2, a ostavlja samo
bitove 0 i 1. Ukoliko se stavi
*button = outregs.x.bx & 7;
ili se & operator izbaci, videće se i SREDNJI taster kao bit 2, levi je bit 0
a desni bit 1. Ovo sam probao sa mojim Genijem od miša ;-) u Mouse Systems
modu i sve je bilo kako treba, nikakvih problema.
Nije mi jasno ni zašto su maskirali ostatak kada se tamo ne pojavljuje nikakvo
đubre, samo se bit 0, 1 i 2 menjaju, ostali su uvek 0. Ima li razloga?
ŢŢŢIGGYŮŮŮ
unknown.790obren,
-> #788, glisin> ima jedna stvar koja mi nije jasna, a koju sam promenio. U funkciji
> 'get_mouse' stoji:
>
> * button = outregs.x.bx & 3;
U umetku je pisalo da su funkcije za rad sa MS mišem, a on ima samo
dva tastera, pa to objašnjava zašto su maskirani "suvišni" bitovi.
Inače, koriste se samo prva tri bita, tako da ti je svejedno stavio
masku 7 ili bez maske.
unknown.791pedjam,
Da li je neko zainteresovan da u C-u vrši reprogramiranje tel. centrala koje
se nalaze na srpskoj teritoriji u BiH ? Rad bi se obavljao u Beogradu. Ako
je neko zainteresovan nek mi se javi u mail (ja samo posredujem).
Rok je 5 dana.
Pozdrav, / /
Pedja Milicevic
unknown.792bojanp,
-> #787, djelovic> Zato što sam som :). Menjao sam nešto u klasi parentwin, i onda
> sam zaboravio da će to imati uticaja na klasu submenu koja je rađena na
> onaj stari način. Anyway, evo ispravljene verzije, molba bilo kom od
> moderatora :) da je stavi u dir.
Molba ispunjena, datoteka prebačena. :)
unknown.793dusanp,
-> #792, bojanp=> Molba ispunjena, datoteka prebačena. :)
Mislim da, ako već nismo došli u fazu zbunjivanja,
jako smo blizu... Ovaj program je specifičan po tome
što nije samo primer iz R, tako da će se _sigurno_
još proširivati (čim mi zatreba još nešto;)) . Ja
glasam za to da se pod hitno uvede i broj verzije u
ovu biblioteku, tako da znamo šta je poslednja verzija,
a ne da se sve zovu r084scr ili tako nešto. Takođe,
mislim da je program već sad daleko od teksta, tako da bi
bilo zgodno da se nadje u \c diru... A tako je i prirodnije
skidati upgrade...
Već sada imamo ovu biblioteku na tri mesta, a biće još
verzija. Ni sad nisam siguran dal je ona verzija iz cccca
novija od one iz \rsofta:(
Dakle, da remiziram: nek se bar zove r084scr1(ili broj
tekuće verzije).zip
unknown.794bulaja,
-> #793, dusanp│Mislim da, ako vec nismo dosli u fazu zbunjivanja, jako smo blizu...
│Ovaj program je specifican po tome sto nije samo primer iz R, tako
│da ce se _sigurno_ jos prosirivati (cim mi zatreba jos nesto;)) .
└───
\RSOFT treba da sluzi iskljucivo za listinge programa koji su i
objavljeni u Racunarima, i eventualno kasnije ispravke nekih bugova u
njima. Sve sto preraste u nesto vise, po toj logici treba da ide u
odgovarajuci PC direktorijum, tj. u ovom slucaju \IBMPC\C. Dakle, sa
r084scr smo zavrsili :), sledece sto bude nek djelovic najbolje salje
kao djwin (il' kako ga vec nazove :), pa ce ici u \PC\C.
unknown.795djelovic,
-> #793, dusanp> Takođe, mislim da je program već sad daleko od teksta, tako da bi bilo
> zgodno da se nadje u Đc diru...
To ipak, za sada, nema svrhe. Dodaću još podršku za grafičke
ekrane i fajl selektor, pa ću onda poslati celu takvu arhivu zajedno sa
brzim rutinama za tekst mod file moderatoru da vide da li je to za C
direktorijum. U prilog mojoj biblioteci, nju koristi bar jedan čovek
ovde, što je jedan više od broja korisnika biblioteke D-Flat :).
unknown.796robert,
-> #795, djelovic<:> To ipak, za sada, nema svrhe. Dodaću još podršku za grafičke
<:> ekrane i fajl selektor, pa ću onda poslati celu takvu arhivu
^^^^^^^^^^^^^
E, toooo majstore :)) to mi treba (a mislim i ne samo meni). To
je česta potreba pri pravljenju aplikacija i zaista je zgodno to
imati u biblioteci i ne razmišljati o tome. Ako to uradiš a zajedno
sa ostatkom biblioteke koji je već gotov, završio si mi trećinu posla
oko mog diplomskog :))), hvala ti za to :).
Pozdrav.
unknown.797bojanp,
-> #794, bulaja>│ Mislim da, ako vec nismo dosli u fazu zbunjivanja, jako smo blizu...
>│ Ovaj program je specifican po tome sto nije samo primer iz R, tako
>│ da ce se _sigurno_ jos prosirivati (cim mi zatreba jos nesto;)) .
>└───
> \RSOFT treba da sluzi iskljucivo za listinge programa koji su i
> objavljeni u Racunarima, i eventualno kasnije ispravke nekih bugova u
> njima. Sve sto preraste u nesto vise, po toj logici treba da ide u
> odgovarajuci PC direktorijum, tj. u ovom slucaju \IBMPC\C. Dakle, sa
> r084scr smo zavrsili :), sledece sto bude nek djelovic najbolje salje
> kao djwin (il' kako ga vec nazove :), pa ce ici u \PC\C.
Auuu, al' ste navalili. Pa lepo je Dejan rekao da je ovo ispravka
koja dovodi datoteku u stanje koje odgovara onome što je rečeno u
tekstu. Prema tome to i jeste datoteka koja treba da stoji u
rsoft-u. Sve ostalo ... :)
Pozdrav, Bojan
unknown.798andrade,
-> #726, spantic*>> Prporuci mi neku, bas pocinje da me interesuje C.
*>
*> Mikro knjiga je izdala sjajnu knjigu "Programiranje u
*> Cu". Po meni je mnogo jasnija od K&R standarda Ca koji na
*> srpskom postoji u dva izdanja: prvim izdanjem i drgim u
*> kome je ANSI C. K&R je pisan bukvalno za programere koji
*> sada treba da predu na C. Jedina kvaka je cena od 4500
*> dinara.
Izgleda da je postalo jako moderno pocinjati sa C-om. Evo, i ja sam
jedan od takvih. Ja sam, na primer, kupio knjigu Vladana Vujicica
"Uvod u C jezik" u izdanju instituta "Boris Kidric" iz Vince. Ranije
sam bio zadovoljan knjigama koje oni izdaju, a i ova mi se svidela.
U sustini, oni kroz primere nauce nekim lepim algoritamskim cakama i nas,
koji nismo bili na nekakvim programerskim smerovima niti studiramo
elektrotehniku, pa smo te stvari propustili da naucimo "na vreme".
unknown.799mstanic,
-> #795, djelovicMože li da ide na TC2.0 ili mora biti objektni kompajler.
Baš ne volim objekte, a ovo toliko izgleda dobro (bar po
diskusiji) da bih rado probao (mislim na tu biblioteku).
Računare sam prestao kupovati pre dva broja (a počeo sam
od prvog) tako da tekst nisam pratio do kraja.
unknown.801djelovic,
-> #799, mstanic> Može li da ide na TC2.0 ili mora biti objektni kompajler.
Obavezan je C++. Po mom iskustvu, za pravljenje korisničkih
interfejsa je C++ dušu dao, dok C taj posao pretvara u muku.
> Baš ne volim objekte...
Pravo da ti kažem, nisam ni ja voleo C dok sam radio na Pascalu.
Baš je bio rugoba. Sa onim strcpy (a, b) umesto jednostavnog a = b. Ugh!
A onda sam seo i naučio C. Sad je: "Joooj, zar moram na Pascalu?" :)
BTW, ima li interesenata za članak "Sa C-a na C++ u tri koraka"?
unknown.802zormi,
-> #801, djelovic* BTW, ima li interesenata za članak "Sa C-a na C++ u tri
* koraka"?
Da.
unknown.803glisin,
-> #801, djelovic
ŢŢBaš je bio rugoba. Sa onim strcpy (a, b) umesto jednostavnog a = b. Ugh!
Uh, gle razlike!
Probaj da pišeš na LISP-u recimo, he, he...
ŢŢŢIGGYŮŮŮ
P.S. A da ponoviš ipak malo Pascal? (a=b vs a:=b ???). Šalim se malo... :-)
unknown.804mstanic,
-> #801, djelovic>> Pravo da ti kažem, nisam ni ja voleo C dok sam radio na
>> Pascalu. Baš je bio rugoba. Sa onim strcpy (a, b) umesto
>> jednostavnog a = b. Ugh!
Ma nije da ne volim C. Baš naprotiv. A na Pascalu sam
napravio program koji napiše "Hello, world!" i to je sve.
Al' kažem da nisam nikad probao da programiram u C++ ili
bilo kom objektnom C-u, a i gde da ga nađem.
što se tiče "3 koraka od C ka C++", što da ne, već je
izgleda došlo vreme da i to počnem da (m)učim.
unknown.805garderp,
-> #804, mstanicE za ovo tri koraka sa C -a do C++ -a ćete malo da izvinite.
Može možda u trideset tri koraka. To vam pričam iz iskustva.
Između ostalog se bavim i podučavanjem ljudi iz c-a i c++-a.
I znate koja su pitanja polaznika:
Rešavamo neki problem koji uopšte nije objektne prirode.
Recimo trivijalna stvar, računanje aritmetičke sredine nekog
niza. I napišem ja program u C-u kad me neko pita, dobro, a kako
ćemo sada to u C++? Ta pitanja su tipa:dobro, znam kako je to u
basicu, a sad kako to ide u pascalu. Iako sam im sto puta rekao
da je C++ nadskup C-a ljudi stalno pokušavaju paralelama nešto
da postignu. A evo još jednog argumenta zašto ne može u tri koraka.
Na sezamu u nekom direktorijumu imate fajl sa preko sto pitanja
i odgovora iz C++-a. Iako je broj novih keyword-a samo neznatno
proširen (mada u procentima jeste) potpuno novi principi usložnjavaju
stvar. Naravno ne kažem da je C++ bauk, samo mu treba malo ozbiljnije
prići.Uzgred, NEMOJTE učiti C++ iz Strustrupove knjige. Iako je on autor
tog jezika, knjiga je fatalno loša. Niti postavlja problem u obliku
formalne teorije, niti pravi recepte za C++. Rezultat je očajni konglomerat
i jednog i drugog. Jedino vredi imati referencu na kraju knjige. Preporu-
čujem neku knjigu Herberta Šilda.
Peđa
unknown.806mstanic,
-> #805, garderp>> Između ostalog se bavim i podučavanjem ljudi iz c-a i
>> c++-a.
Odlično. Ako možeš ne bi bilo loše da ukratko i po
mogućnosti jasno, objasniš osnovne razlike ili pošto
si rekao da je C++ nadskup C-a, u samoj suštini.
Mislim na razlike između objektnih jezika i klasičnih.
unknown.807mjova,
-> #806, mstanic> Odlično. Ako možeš ne bi bilo loše da ukratko i po
> mogućnosti jasno, objasniš osnovne razlike ili pošto
> si rekao da je C++ nadskup C-a, u samoj suštini.
> Mislim na razlike između objektnih jezika i klasičnih.
zar očekuješ da može ukratko? čovek lepo reče ništa od samo tri
kaoraka. uzmi neku knjišku, bez nje ništa ne vredi, pa je lepo
prostudiraj. C++ je samo nadgradnja običnog c-a, ali se programi
pisani u njemu obično razlikuju po algoritmu, i to drastično od
programa pisanih u običnom c-u.
npr, naučio sam c++, ali moram priznati da mi je mnogo bliži način
pisanja i običnom c-u no u c++. iz c++ koristim samo ono što mi je
potrebno i logično (preopterećene funkcije, default parametri, pomalo
klase (grupisanje funkcija i promenljivih) i nekako je fleksibilniji
od običnog c-a). imam zamerke u vezi pisanja asm delova jer ne mogu
funkciju da završim bez return(int) (ako je tako deklarisana) pa onda
obično otpada pisanje u asembleru. (#pragma direktiva ne važi jer je u
c++ to greška a ne upozorenje kao u običnom c-u.)
inače, što se tiče onog 'c++ u tri koraka' pretpostavljam da je u
pitanju samo simbolika ;)
unknown.808dejanr,
-> #807, mjova>> inače, što se tiče onog 'c++ u tri koraka' pretpostavljam da je u
>> pitanju samo simbolika ;)
Pa da, moglo bi i u 11 koraka, to je i onako 3 napisano binarno :)
unknown.809mstanic,
-> #807, mjova>> inače, što se tiče onog 'c++ u tri koraka' pretpostavljam
>> da je u pitanju samo simbolika ;)
Ma nisam mislio da se može naučiti. Mislio sam kratko
objašnjenje u čemu je prednost i da li se zbog toga isplati
(m)učiti.
unknown.810janko,
-> #807, mjova> od običnog c-a). imam zamerke u vezi pisanja asm delova
> jer ne mogu funkciju da završim bez return(int) (ako je
> tako deklarisana) pa onda obično otpada pisanje u
> asembleru. (#pragma direktiva ne važi jer je u
???? ( <--- to se ja malo čudim) Pa funkcija i TREBA da vrati
int, ako je DEKLARISANA da vraća int. Ako je void, ne treba da
vrati ništa. U čemu je problem? Zašto ne bi deklarisao funkciju
sa void?
unknown.811d.petrovic,
Reko' ja da će uskoro opet da pitam :). DakelM :
1. Treba da očitam datum, ponodim tekući mesec, a istovremeno omogućim i
izmenu tog mu podatka. U skladu s tim, a i šire molim dopuniti sledeće :
obr() š
struct date d;
int mes;
getdate(&d);
printf("%2dĐbĐb",mes=d.da_mon);
/*
Sad ovde treba učitati mesec ( enter = prihvatanje tekućeg ) sa max dva
karaktera i smestiti ga u promenljivu mes tako da ona pokazuje mesec i samim
tim neki drugi datum.
*/
printf("%2d",mes);
ć
2. Kako izračunavam broj dana poteklih od nekog tamo datuma (npr. 01.01.1900
ili 01.06.91). Po mogućstvu ubaciti u gornji primer.
Ajd' budite dobri, uradite mi još i ovo pa neću (obećavam :)) ) da čačkam
po C-u bar 15-20 dana :)
unknown.812bearboy,
-> #804, mstanic˙¨:> Ma nije da ne volim C. Baš naprotiv. A na Pascalu sam
˙¨:> napravio program koji napiše "Hello, world!" i to je sve.
Moj ekvivalent ;) U C-u "Hello, world!" i zdrawo ;)
unknown.813garderp,
-> #809, mstanic
Ovog puta ne bih govorio o prednostima sintaksno semantičke prirode.
Mislim da će sledeći podaci biti poprilično ilustrativni:
- U uvodima knjiga (bar onih koje sam ja čitao) kaže se da ozbiljne
aplikacije pisane u C jeziku imaju bar 100,000 linija, što je frustraciona
činjenica za mnoge. Autori tih knjiga tvrde (a ja im za sada verujem,
jer nemam još ni jedan program od 1e6 linija) da se ta količina
objektnim programirajnem može svesti na 20,000 linija. Dakle pet puta
smanjenje.
- Osim toga programiranje u C-u traži veoma veliki stepen detaljisanja.
Vi za vreme razvoja vašeg programa morate stalno da vodite računa,
rečeno programerskim žargonom, od bios-a do algoritma. Dakle, proceduralni
jezik traži takav način razmišljanja, dok osobina objektnog programiranja
koja se zove začaurivanje (encapsulatation) pravi, nešto što je u teoriji
sistema poznatno kao, crna kutija. Jednom urađen pristup hardveru, na
primer, se zatvara u klasu i dalje se samo instanciranjem te klase i
pozivanjem pripadajućih funkcija (member functions) te klase stvar rešava,
a da nije potrebno poznavanje hardvera do detalja.Jednom rečju u c-u
ste morali da znate sve o svim funkcionalnim delovima vašeg programa.
Sada je potrebno znati samo šta vam treba i kako to ostvariti, a ne
morate da se upuštate u deteljnu analizu određenog potproblema.
- Učenje ovog jezika nije neophodno, ali zato stvarno skraćuje vreme
za rešavanje mnogih standardnih problema. Naveo bih samo primer
programiranja Windows aplikacija. Najmanji program u c-u za windows-e
je barem 50-ak linija, dok je u c++ taj broj 7. Naravno da biste znali
smisao tih sedam linija morate biti upoznati sa bibliotekom objekata,
dakle hijararhijom kao i relacijama između objekata. To je upravo
i druga strana oštrice. Objekti olakšavaju rad, ali zato iziskuju
od vas neprekidno učenje novih stvari. A verujte mi, jednom kada
počnete i kada vidite kako to sve lepo štima u objektima trošićete
sve više i više i više ... svog vremena upravo za to.
unknown.814ppekovic,
-> #813, garderp>> - U uvodima knjiga (bar onih koje sam ja čitao) kaže se da
>> ozbiljne aplikacije pisane u C jeziku imaju bar 100,000
>> linija, što je frustraciona
>> činjenica za mnoge. Autori tih knjiga tvrde (a ja im za sada v
>> jer nemam još ni jedan program od 1e6 linija) da se ta
>> količina objektnim programirajnem može svesti na 20,000
>> linija. Dakle pet puta smanjenje.
Nemam ništa protiv OOP-a, čak naprotiv. Međutim, ono što mi je uvek išlo na
nerve kada se pojavi neka nova, da je uslovno nazovem, "teorija", je što
zagovornici iste, valjda da bi ubedili široki auditorijum da je ta "teorija"
"ono pravo", krenu da množe babe i žabe, tj. pokušavaju "teoriji" da pridruže
kvantitativna obeležja pa onda izvale gluposti kao što je "100.000 linija kod-a
na C-u se može svesti na 20.000 uz pomoć C++ -a". Samo čekam dan kad će da kažu
"evo vam funkciju koja zadati broj linija u C-u preslikava na odgovarajući na
C++ -u".
>> - Osim toga programiranje u C-u traži veoma veliki stepen
>> detaljisanja. Vi za vreme razvoja vašeg programa morate
>> stalno da vodite računa,
>> rečeno programerskim žargonom, od bios-a do algoritma. Dakle,
>> jezik traži takav način razmišljanja, dok osobina objektnog
>> programiranja koja se zove začaurivanje (encapsulatation)
>> pravi, nešto što je u teoriji sistema poznatno kao, crna
>> kutija. Jednom urađen pristup hardveru, na primer, se zatvara
>> u klasu i dalje se samo instanciranjem te klase i pozivanjem
>> pripadajućih funkcija (member functions) te klase stvar
>> rešava, a da nije potrebno poznavanje hardvera do
>> detalja.Jednom rečju u c-u ste morali da znate sve o svim
>> funkcionalnim delovima vašeg programa. Sada je potrebno znati
>> samo šta vam treba i kako to ostvariti, a ne morate da se
>> upuštate u deteljnu analizu određenog potproblema.
Znači kada programiram na C-u svaki put moram da pišem sve počev od
funkcija za ispis znaka na ekranu, čitanje sektora sa diska?
Šalu na stranu, predraže arapine, nisi dobro objasnio stvar. Naime, to što
si ti rekao postoji od pojave strukuiranog/modularnog programiranja. Pa šta su
ti drugo bibliotečke funkcije do čist primer "crne kutije". Ono što je trebalo
reći je da OOP donosi nove mogućnosti ideji sa "crnom kutijom", tj. sada je
moguće u crnu kutiju strpati sve i svašta od promenljivih, struktura, pa do
funkcija itd. itd.
>> - Učenje ovog jezika nije neophodno, ali zato stvarno skraćuje
>> za rešavanje mnogih standardnih problema. Naveo bih samo
>> primer programiranja Windows aplikacija. Najmanji program u
>> c-u za windows-e je barem 50-ak linija, dok je u c++ taj broj
>> 7. Naravno da biste znali smisao tih sedam linija morate biti
>> upoznati sa bibliotekom objekata, dakle hijararhijom kao i
>> relacijama između objekata. To je upravo i druga strana
>> oštrice. Objekti olakšavaju rad, ali zato iziskuju od vas
>> neprekidno učenje novih stvari. A verujte mi, jednom kada
>> počnete i kada vidite kako to sve lepo štima u objektima troši
>> sve više i više i više ... svog vremena
>> upravo za to.
Preterivanje je nazvati C++ jezikom, lepše mi zvuči OOP ekstenzija ili tako
nešto. A to da je najmanji program napisan uz pomoć C-a na windows-u dugačak 50
linija a na C++ -u 7, to je samo iz razloga što su kod C++ -a tih istih 50
linija stpali u lib, a ovamo nisu. žinjenica je da je to lepše i preglednije
kada se uradi uz pomoć OOP ekstenzija ali reći sad da je to nešto sasvim novo i
revolucionarno, eh,...
Paya
unknown.815mjova,
-> #810, janko> vrati ništa. U čemu je problem? Zašto ne bi deklarisao
> funkciju sa void?
vrlo jednostavno, treba da mi vrati int (ili char ili bilo šta). u
običnom c-u ladno mu daš 'mov ax, (ono što treba, a rezultat je rada
asm programa)' i korišćenjem pragma direktive rešiš problem. to u ++
ne radi. ako imaš neko rešenje daj da vidimo, ali nek bude
jednostavnije od skakanja u asm pa ispravljanje greške.
unknown.816mjova,
-> #811, d.petrovic> Sad ovde treba učitati mesec ( enter = prihvatanje tekućeg
> ) sa max dva karaktera i smestiti ga u promenljivu mes
> tako da ona pokazuje mesec i samim
najjednostavnije rešenje vidim u primeni scanf(), za malo složenije
treba sam da napišeš to za unos sa tastature. pogleah r84scr.zip, tamo
imaš (rsoft) neke primere, ali mislim da će ti to samo otežati jer je
bibloteka kompleksna. probaj sa scanf().
> 2. Kako izračunavam broj dana poteklih od nekog tamo
> datuma (npr. 01.01.1900 ili 01.06.91). Po mogućstvu
> ubaciti u gornji primer.
pa ima neke formule, ali ako ti datumi pre 01/01/70 nisu preterano
bitni možeš se poslužiti unixtodos i obratno, valjda se tako zove.
formule za davnije dane neko je ovde napisao, pa malo potraži (ne znam
u kojoj temi tačno, ali znam da je neko pisao).
unknown.817mstanic,
-> #813, garderp>> sistema poznatno kao, crna kutija. Jednom urađen pristup
>> hardveru, na primer, se zatvara u klasu i dalje se samo
>> instanciranjem te klase i pozivanjem pripadajućih
>> funkcija (member functions) te klase stvar rešava,
Izvini na nerazumevanju, ja sve mislim da se tako ponašaju
i funkcije. Naime, kad napraviš jednu funkciju sve što
treba da znaš jesu parametri koje joj prenosiš i parametre
koje ona vraća. Na kraju krajeva svako ko programira u
nekom asembleru ima biblioteku rutina koje se ponašaju na
isti način (ta filozofija postoji u većini programskih
jezika).
E sad, možeš li objasniti u čemu je razlika kod objektnog
načina programiranja u odnosu na ovo, (jer verujem da
postoji, inače ne znam zašto bi neko kupovao objektne
kompajlere a ne samo biblioteke).
unknown.818djelovic,
-> #815, mjova> običnom c-u ladno mu daš 'mov ax, (ono što treba, a rezultat je rada
> asm programa)' i korišćenjem pragma direktive rešiš problem.
int funkcija (...)
š
asm š
...
mov ax, nešto
ć
return _AX;
ć
Naravno, bolje je samo "return nešto" :). Ili, možeš:
int funkcija (...)
š
int ret;
asm š
...
mov ret, nešto
ć
return ret;
ć
U principu treba paziti kada se ubacuju asm direktive u C++
program jer je C++ skloniji korišćenju registara od C-a, pa se često
desi da se kompajler i tvoje parče u asembleru "posvađaju".
unknown.819djelovic,
-> #814, ppekovic> Preterivanje je nazvati C++ jezikom, lepše mi zvuči OOP ekstenzija
> ili tako nešto.
Isto tako bi asm programer mogao reći da C nije jezik, nego samo
nekakva "makro" ekstenzija :). C++, bar po meni, donosi dosta novog. Evo
gde je suština:
Klasa, sama po sebi, ne donosi ništa novo. Ona je crna kutija
kao što je jedna *.C datoteka, sa svojim privatnim promenljivima i
javnim funkcijama. (BTW, moglo bi se reći da je za ANSI *.C datoteku sve
privatno dok ga stavljanjem u *.H zaglavlje na napravimo javnim.) Možda
je klasa malo zgodnija od programskog modula, ali u osnovi, to je to.
Ono što jeste *suština* objektnih jezika je su virtuelne funkcije!
Funkcija u C++-u može da prima argumente za koje nema pojma šta su,
važno je samo da nasleđuju ono što smo deklarisali. I može da za
primljene klase poziva njihove virtuelne funkcije, a da nema pojma šta
one rade. Znači:
class pera š
virtual radi (void);
ć;
... // Ovde se deklariše funkcija "radi".
void funkcija (pera *p)
š
p->radi ();
ć
i kasnije, korisnik klase može da uradi sledeće:
class mika: public pera š
virtual radi (print);
ć;
... // Ovde se *redeklariše* funkcija "radi".
...
mika m;
funkcija (&m); // Funkcija će operisati sa novim članom "radi".
To je to. Sve ostalo, osim višestrukog nasleđivanja, jeste samo
šminka. Ali i ta šminka bitno povećava produktivnost, npr. uzmimo samo
default argumente u obzir (void funkcija (int i = 0);).
I, da završim, C++ programi u osnovi jesu kraći, ali su u
pozivanju funkcija sporiji od C-a. C++ je hibridni jezik, njemu zapravo
fali celokupna hijerarhija, kakvu recimo ima Smalltalk. Ali, baš zato
što ne nosi sav taj prtljag, on je i brži. A *classic* tradeof.
unknown.820spantic,
-> #814, ppekovic> na C-u se može svesti na 20.000 uz pomoć C++ -a". Samo
> čekam dan kad će da kažu "evo vam funkciju koja zadati
> broj linija u C-u preslikava na odgovarajući na C++ -u".
Desiće se to Payo, ne brini :) Ne znam da li si probao FORTAN 2 C ali radi
posao, mada sam posle morao da se ponovo pobrinem za I/O. Ali stvarno šljaka,
mada me je izuzetno nervirala ona optimizacija matrica u jednodimenzionalni
niz :)
unknown.821garderp,
-> #817, mstanic
Pošto sam, izgleda, bio loše shvaćen, evo da malo proširim.
Naime, sada moram da zađem malo i u sintaksne vode,
jer izgleda objašnjenje samog principa nije bilo dovoljno.
Dobro reče djelović da se c jezik može smatrati ekstenzijom
asemblera, ako se c++ ima smatrati ekstenzijom c-a. Crna
kutija: klasa u C++ je "crnja" od crne kutije obične funkcije
jezika C. Recimo da koristiš neke funkcije za manipulaciju
tabelama (probelem iz baza podataka). Potrebno je da imaš
neki "hendl" (može i Bah :)) za samu tabelu, pa razne
hendlove za rekorde i fildove. Zatim hendlove za razne
bafere, pa prateće datoteke. U C++ se sve to zatvori
u klasu. I jednom kada to uradiš potpuno možeš da zaboraviš
kako je realizovan određen kompleksan zahvat nad tabelom.
Instanciranjem neke klase ti samo navedeš ŠTA želiš, a ne moraš
da znaš KAKO se to odvija (ne treba bukvalno shvatiti). To je ono,
što sam nazvao manjim stepenom detaljisanja, odnosno C++ je na višem
nivou apstrakcije. Još jedna od lepih stvari u C++ se može videti
na sledećem primeru. Recimo da pravimo neki (vektorski) program
za crtanje. Imamo sledeće OBJEKTE krug, pravougaonik, slovo.
Geometrijski objekti su raspoređeni po ekranu (i u memoriji).
Kada treba pozvati funkciju za redraw u c-u bismo morali da pišemo
funkcije sa razlišitim imenima kojima bismo morali da naznačimo
gde su mu podaci u memoriji, kako da im pristupi. Morali bismo
da razmislimo da li ćemo da primenimo prenos parametara preko
globalnih promenljivih ili ne itd. Sve to u C++ bi se uradilo ovako
foreach->draw()
pri čemu bi se ovo foreach odnosilo na sve objekte koji bi se nalazili
u nekom nizu a draw bi bile različite funkcije koje rade različite
stvari, ali se isto zovu.
Ovo je samo jedan deo prednosti programiranja u C++. Ima još toga.
No još jednom ponavljam: nemojte učiti C++ osim ako vam baš ne treba.
Mnogo toga treba još napisati u C-u. Ni malo ne podržavam učenje pro-
gramskih jezika radi učenja. Veliku klasu problema još uvek je sasvim
prihvatljivo rešavati u C-u.
unknown.822garderp,
-> #814, ppekovic│ Preterivanje je nazvati C++ jezikom, lepše mi zvuči OOP
│ ekstenzija ili tako nešto. A to da je najmanji program
│ napisan uz pomoć C-a na windows-u dugačak 50
Payo, ovo mi sve više liči na raspravu da li je Windows
operativni sistem ili nije. Tako i pitanje da li je
C++ ekstenzija ili jezik za sebe ide u isti koš.
Prvo, mislim da od sada pa na dalje ne treba diskutovati
u tom smeru. Za određivanje razlika između nekoliko
entiteta potrebno je da postoje stroga pravila, na osnovu
kojih ćemo ispitujući osobine nekog objekta utrditi da
li po određenim zakonima zadovoljavaju, odnosno ne
zadovaljavaju uslove da se zovu imenom nekog entiteta.
Kada se kaže da je nešto ekstenzija nečega, misli se
na kvantitativni pomak. A pošto OOP je kvalitativno
različit način razmišljanja-programiranja onda
C++ nikako ne može biti ekstenzija. Uostalom, čak i
da jeste (što nije), znaš vrlo dobro za onaj dijalektički
zakon prelaska kvantiteta u kvalitet.
Predrag (Za Arape)
unknown.823ppekovic,
-> #822, garderp>> Payo, ovo mi sve više liči na raspravu da li je Windows
>> operativni sistem ili nije. Tako i pitanje da li je
>> C++ ekstenzija ili jezik za sebe ide u isti koš.
Možda nisi pažljivo pročitao, ali sam se baš trudio da naglasim subjektivnu
notu kada sam rekao da mi se VIŠE DOPADA da C++ zovem ekstenzijom nego jezikom.
Međutim, imam i argumenata za to. Naime, ja na OOP gledam kao na kariku u lancu
špageti_programiranje -> struktuirano_programiranje -> OOP, a ne kao na novi
programski jezik. C++ nije novi programski jezik, jer je on OOP dodatak na
programski jezik C. Ako nazovemo C++ novim programskim jezikom, ajde onda po
istoj logici da nazovemo i sve ove nove struktuirane basic-e novim programskim
jezicima, jer pomak od špageti na struktuirano programiranje je ravan, ako ne i
veći, od pomaka struktuirano-objektno. Možemo čak ići i dotle da kažemo da je
TP novi programski jezik itd. itd.
Paya
P.S. Nije valjda da imaš dilemu da li je windows OS ili ne?
unknown.824stomic,
-> #823, ppekovic$ veći, od pomaka struktuirano-objektno. Možemo čak ići i
$ dotle da kažemo da je TP novi programski jezik itd. itd.
Što se toga tiče TP i jeste (gotovo) novi programski
jezik :)). Koliko je ostalo stvari od Wirthovog pascala?
ST.
unknown.825garderp,
-> #823, ppekovic│ Možda nisi pažljivo pročitao, ali sam se baš trudio da
│ naglasim subjektivnu notu kada sam rekao da mi se VIŠE
│ DOPADA da C++ zovem ekstenzijom nego jezikom.
Što se mene tiče, ja nemam nameru više da diskutujem na temu
šta je čemu (i da li je) ekstenzija. Kod stvari koje mogu
da se kvantifikuju, dakle prebace u ekvivalentnu vrednost
izraženu u novcu, gleda se uglavnom koeficijent korisnosti.
A meni C++ stvarno puno olakšava programiranje,
a složićeš se da je ovakav način razmišljanja veoma prihvatljiv.
│ P.S. Nije valjda da imaš dilemu da li je windows OS ili
│ ne?
Što se toga tiče, ti me POZNAJEŠ i znaš MOJ (takođe subjektivan)
odgobor na to pitanje. A ne želim da kažem koji je odgovor da ne
bih pokrenuo još jednu nekorisnu diskusiju.
P.S. Samo da si ti meni živ Payo, pa makar ti pisao i u asembleru.
unknown.826dejanr,
-> #824, stomic>> Što se toga tiče TP i jeste (gotovo) novi programski
>> jezik :)). Koliko je ostalo stvari od Wirthovog pascala?
Pa, ostale su (skoro) sve, nego je dosta dodato ;)
unknown.827glisin,
-> #826, dejanrHe, he... lepo si to rekao: (skoro) sve...
ŢŢŢIGGYŮŮŮ
unknown.828dj.rainovic,
Imam 3 problema sa prevođenjem MS WIN EMACS-a.
1. U fajlu mswfile.c ne može da nađe _MAX_PATH vrednost. Ta oznaka je
definisana u <stdlib.h> koji uključen na početku ovog .c fajla.
2. U .mak fajlu se pojavljuju dve problematične linije
mathwl.lib+
cwl.lib
Koristim BC++ 2.0 i nisam našao ove lib-ove kod njega. Postoje
mathl.lib i cl.lib (naravno) ali nisam siguran da će to da bude OK.
3. Kad izbacim (w) u prethodom problemu a pod 1. dodam liniju
#define _MAX_PATH 80
dobijem sledeću poruku:
-------------------------------------------------------------------
tlink /v/s/c/Twe/P-/LC:\BC\LIB @MAKE0000.$$$
Turbo Link Version 4.0 Copyright (c) 1991 Borland International
Error: Undefined symbol __fullpath in module mswfile.c
Error: Undefined symbol __envSize in module PUTENV
Error: Undefined symbol __envseg in module SETENVP
Error: Undefined symbol _abort in module SETENVP
Error: Undefined symbol __C0environ in module SETENVP
** error 1 ** deleting mewin.exe
-------------------------------------------------------------------
Šta da radim ? Predlozi ?
unknown.829mjova,
-> #818, djelovic> return _AX;
vidiš, čini mi se da sam ovo gledao i da mi se to nije baš dopalo iz
nekih razloga, no nema veze, rešenje jeste konkretno (i ako više volim
ono lepo asm ret).
> U principu treba paziti kada se ubacuju asm direktive u
> C++ program jer je C++ skloniji korišćenju registara od
> C-a, pa se često desi da se kompajler i tvoje parče u
> asembleru "posvađaju".
pa ne znam, ali ako pišem nešto u asm-u, to nije komplikovano, a i
nije deo nekog koda koji je rađen u C-u. naime, nikad nisam hteo da
testiram nerve i da provaljujem šta uzima C a šta mogu ja, zato ako je
išta u asm-u pisano onda je to kompletna fn. tada, može sasvim lep da
se na kraj rutine stavi jedan 'return 0;' koji samo zaluđuje
kompajler, ali to mi nekako nije elegantno rešenje...