clipper.309vbole,
-> #307, rcojba> uzmi lovu ionako on moze da vodi dve knjige !!!!!!
Ma, nisam bas siguran u to - raspitacu se - ali mi je rekao da se sada
komp priznaje kao knjiga, znaci ako dodju poreznici, traze stanje i iz
kompjutera.
Program bi morao da frizira stvarno stanje u zavisnosti od toga ko trazi
podatke i da ih 15-to dnevno uskladjuje - e, sad, da li je to dozvoljeno,
moralno... ?
clipper.310banex,
-> #305, vbole>> 1) Da li je kaznjivo pisati nekom program za duplo knjigovodstvo ?
Hm, ovo je jedan od čestih zahteva korisnika. Koliko sam ja upoznat
nije u pitanju da li program to omogućava ili ne. Završni račun
potpisuje neko i taj je odgovaran za njegovu ispravnost. A i kad\ako
dođe kontrola (revizor :) ) on uvek traži originalne dokumente a ne
listinge ili kartice. No, za svaki slučaj, ja bih ti preporučio da
tražiš da ti potpiše neku listu zahteva koje program mora da ispunjava
i da tamo explicitno stoji takva želja. To je u slučaju da bude ono
"nemam ja pojma kako je taj program napravljen i kako radi, ja to
nisam tražio" :)
clipper.311dejanr,
-> #309, vbole>> Program bi morao da frizira stvarno stanje u zavisnosti od toga ko trazi
>> podatke i da ih 15-to dnevno uskladjuje - e, sad, da li je to dozvoljeno,
>> moralno... ?
Pa, u stvari, čovek to ne traži da bi lagao državu (gde bi on!) nego zbog
crnog fonda koji skriva od žene. A lagati ženu možda nije moralno, ali teško
da može biti zakonom zabranjeno ;))
Sve to zavisi kako se gleda na stvari, traži da ti napišu i potpišu projektni
zahtev pa slobodno radi.
clipper.312nbatocanin,
-> #303, ndragan> Zato se prvo čudim što ti je uopšte radio, a tek onda što se buni
> zavisno od redosleda zatvaranja.
Ako relacije u bazi podataka modeliraju realne relacije, ova
situacija je besmislena, ali u praksi se često javi situacija da je
tako najlakše. Primera radi, imaš datoteku artikala i datoteku ulaza
i izlaza artikala. Ako se radi neki zbirni izveštaj, zgodno je
postaviti relacije na artikle i iz ulaza i iz izlaza - bez obzira što
se ove dve relacije nikad ne koriste istovremeno. Jednostavno, kad se kaže
SET RELATION TO x INTO Zona
Clipper treba da izvrši
Zona->(dbSeek(x))
pri svakom pomeranju pokazivača sloga u primarnoj zoni. I tu nema neke
mudrosti. Ako mu ja zadam cikličnu relaciju, ima da se zaglavi, ako
mu zadam bezmislenu vezu, radiće bezveze. Zato mislim da je neki bug.
Ispitaću stvar čim budem našao vremena.
Uzgred, pošto vidim da radiš na Fox-u, imaš li neka iskustva sa
verzijom 2.0. Izgleda dosta interesantno.
Pozdrav, Nenad
clipper.313nbatocanin,
-> #304, sasa.m> 1. U tom dodatku bilo je reči o kodnim blokovima.Kako se
> radi sa njima?
Kodni blokovi su bezimene funkcije koje se mogu tretirati i kao
podaci. Ima previše stvari da bi sve ovde napisao. Pitaj određenije
ili pogledaj u "Računarima".
> 2. Kako se koristi TBrowse (to je valjda funkcija koja
> zamenuje DBedit) i ako može neki konkretan primer za nju u
> vidu sourca...
tBrowse nije funkcija, to je klasa objekata koji (izuzetno uspešno)
zamenjuju dbEdit. Važi ista napomena kao gore: pitaj preciznije pa
ćeš dobiti odgovor.
Pozdrav, Nenad
clipper.314vbole,
-> #311, dejanr> Pa, u stvari, covek to ne trazi da bi lagao drzavu (gde bi on!) nego
> zbog crnog fonda koji skriva od zene. A lagati zenu mozda nije moralno,
> ali tesko da moze biti zakonom zabranjeno ;))
To je to !!!
Kako meni ne pade na pamet ??
clipper.315vbole,
-> #310, banex> Hm, ovo je jedan od cestih zahteva korisnika. Koliko sam ja upoznat
> nije u pitanju da li program to omogucava ili ne. Zavrsni racun
> potpisuje neko i taj je odgovaran za njegovu ispravnost. A i kad\ako
> dode kontrola (revizor :) ) on uvek trazi originalne dokumente a ne
> listinge ili kartice. No, za svaki slucaj, ja bih ti preporucio da
Ok, da ne tupim i ja vise o tome - ubacicu mu opciju da stanje moze da
azurira samo onaj ko ima lozinku.
Prodavci unose robu kao prodatu/primljenu - ide u privremenu bazu dok se
pomocu tih podataka ne azurira stanje u glavnoj bazi - onda se brise.
Posto su svi prodavci malo priglupi ;), gazda mora uvece ( ili jednom
nedeljno, nije bitno ) da prekontrolise sta je od toga stvarno prodato
odn. primljeno, i tek ti podaci se unose u glavnu bazu.
Tako bi trebalo da bude OK ??
clipper.316ndragan,
-> #312, nbatocanin/ Uzgred, pošto vidim da radiš na Fox-u, imaš li neka iskustva sa
/ verzijom 2.0. Izgleda dosta interesantno.
žuj, iskustva. Leži mi na disku žuta verzija za po kući još od decembra i
nikako da stignem da pogledam šta sve ima.
Ima moćnih stvari, rad sa pendžerima (njegovim, ne windows) je
poboljšan, neke stvari su nešto logičnije postavljene, ali dve-tri
stvari bih izdvojio kao ključne: editori za maske, izveštaje i menije -
sa sve generatorima sorsa. Parametri svega toga se drže u nekim .DBF
fajlovima (sa nastavcima .SCX, .MNX i .FRX), sa brdom memo i
jednobajtnih polja; urađeno je dosta gazdački.
Drugo je što može da se iskoristi mnogo više tipova unosa u masci:
popap meniji, radio dugmići itd - pljunuti GEM u tekst načinu sa još
nekim proširenjima; sad ima i tzv Foundation Read, što je READ bez GET,
nego ima procedure koje se izvršavaju kod aktiviranja i deaktiviranja;
on može da poziva svoje READ maske i tako do 5 nivoa. Još malo pa kao
event-driven, mada kažu da je to pogrešna koncepcija za DBF
programiranje, a ako neko počne baš to da radi onda nije shvatio šta su
hteli.
Treća stvar je Rašmor (njihov proizvoljan naziv, nastao navodno posle
gledanja nekog Hičkokovog filma, mislim '39 stepenika') indeksiranje
koje mi liči na ono što radi vaksov RMS kod Prolog3 fajlova - svaki novi
indeks sadrži samo ofset bajta od kojeg se razlikuje od prethodnog, i
naravno samu razliku; na taj način se dobijaju dosta sitni .CDX indeksi
čak i kad je indeksni pojam dugačak. Pretrage se u nekim slučajevima
poprilično optimizuju, a konačno je ubačena i SQL sintaksa, sa dijalog
boksom za generisanje pretrage, koja može da se zapamti u nekoliko
formata, uključujući i čisti sors.
At last, but not at least, tu je i generator projekata, koji može da
popakuje sve fajlove nužne za rad aplikacije u jedan .APP (ko je reko
GEM :) ili .EXE; model za EXE verziju može da bude od spartanskog do
male ale koja jede XMS i ima nekakvo interno keširanje/baferisanje itd.
Zaista zvuči moćno; to što mi leži tri meseca na disku nije mi čudno. I
za 1.02 nam je trebalo pola godine dok smo počeli da mislimo drugačije
i da koristimo njegove trikove i zavlačimo ih sve dublje u programe.
Zato sad imamo problema sa XENIX instalacijama gde sve to treba vratiti
u kameno doba (Foxplus 2.1 ;( ).
Zasad na njemu držim svoj tekući račun :).
Bue_ NDragan
clipper.317ndragan,
-> #305, vbole/ Mislim, lova je dobra, ali hoce jednu 'hidden' i jednu 'open' bazu.
If you want to do something wrong, do it right, or don't do it.
Sve po redu i zakonu, a koga uhvate, sam je kriv. U načelu: program je tvoj,
podaci su njegovi. žuo sam za slučaj noćne more zvane "a šta ako ja otkucam
pogrešnu šifru kad mi dođu pa ispadne pogrešan izveštaj?".
Bue_ NDragan
clipper.318kzoran,
Hi, narode!
Kako da u Clipperu 5.01 izbegnem pojavljivanje sistemskih upozorenja tipa
Invalid date, Range 100-999 i sl. u gornjem desnom uglu ekrana?
Usput ponovo pitam ima li neko neku dobru knjizicu za Clipper 5.01 na par dana
dok je ne fotokopiram, ili na prodaju?
Pozdrav,
Zoran
clipper.319dpaun,
-> #318, kzoran
>> Kako da u Clipperu 5.01 izbegnem pojavljivanje sistemskih
>> upozorenja tipa Invalid date, Range 100-999 i sl. u
>> gornjem desnom uglu ekrana?
Probaj sa SET SCOREBOARD OFF. Ovo isključuje prikazivanje
poruka u nultom delu ekrana, u toku izvršavanja naredbe
READ i funkcije MEMOEDIT(). Vraćanje prikaza poruka je sa
SET SCOREBOARD ON.
dPaun
clipper.320andrejl,
Pozdrav svima,
Pa da odmah nešto i pitam. (ovo sam glupo sročio :))
Nedavno sam eksperimentišući sa Clipperom 5.01 pravio neku proceduru
i prosleđivao joj niz kao parametar. E, u proceduru nije stizao niz
nego NIL-ovi, a jednom i đubre.
Da li to znači da niz ne može da ide kao parametar?
Retko koritim nizove u Clipperu, a i ovo sam rešio bez njih ali
me i dalje kopka ko je kriv, ja ili Clipper ?
bye, andrejl
clipper.321dpaun,
Clipper braćo i sestre, 5.01!
Verujem da je svako prokukao majčino mleko dok se
dovijao kako najefikasnije da napiše help za svoje
Clipper programe. Prilažem ovde fajl Pomoc.Zip koji
je nasta(ja)o tokom mog rvanja sa Clipperom. Pošto
"programiram" na uvce, bez neke unapred određene
koncepcije, to se help stalno menja. Kako se koji
zahtev postavljao, tako sam frizirao svoje help
procedure. Uveren da više nema nijednog zahteva
koji ovaj help paketić ne može da reši - stavljam
ga Clipper rođacima na slobodno korišćenje. Ovaj
help koncept podrazumeva prevođenje .prg programa
sa uključenim linijama. U osnovi, korišćenje su
Strelijeve procedure i dopune iz najnovijeg paketa
5.01, uz neke sitne šminke ličnog karaktera.
Pa, javite kako služi!
dPaun
pomoc.zipclipper.322hercog,
Ima nešto što me živo interesuje :
Zašto dosta ljudi kad im se pomene clipper i programiranje
na njemu počnu da se smeju i upiru prstom na onog ko radi
sa clipperom, drugim rečima šta mnogo njih ima protiv cli
ppera?
Hercog
clipper.323dnikolic,
-> #322, hercog>> Zasto dosta ljudi kad im se pomene clipper i programiranje
>> na njemu pocnu da se smeju i upiru prstom na onog ko radi
>> sa clipperom, drugim recima sta mnogo njih ima protiv cli
>> ppera?
Stvarno ne znam ko bi to radio! Pa ako neko dize lovu, to su Kliperasi.
dn
clipper.324andrejl,
Zanimljivo,
Kada linkujem sa .RTLinkom sa /PLL opcijom, prilikom startovanja
programa javi mi Illegal format in loadable file.
Problem nestaje kada startujem NG ?!?
bye, andrejl
clipper.325andrejl,
-> #320, andrejl>│ Da li to znači da niz ne može da ide kao parametar?
žini mi se da sam izvalio glupost. U Achoice() ide niz, zar ne?
Mada ja Achoice() ne koristim, ali i dalje mi nije jasno zašto mi
procedura nije radila.
bye, andrejl
clipper.326dejanr,
-> #322, hercog>> Zašto dosta ljudi kad im se pomene clipper i programiranje
>> na njemu počnu da se smeju i upiru prstom na onog ko radi
>> sa clipperom, drugim rečima šta mnogo njih ima protiv cli
>> ppera?
Možda zato što zavide onima koji pišu programe na Clipperu i
sasvim pristojno žive od toga, što bi i oni radili da su u
stanju?
Istina je da Clipper u nekim apsolutnim merilima nije "neki"
jezik (naročito mu zameram što ne kontroliše tipove pri dodeljivanju,
fuj clipper ;), ali svoj posao (bar po meni) izvanredno obavlja.
clipper.327sasa.m,
-> #322, hercog=> Zašto dosta ljudi kad im se pomene clipper i programiranje
=> na njemu počnu da se smeju i upiru prstom na onog ko radi
=> sa clipperom, drugim rečima šta mnogo njih ima protiv cli
=> ppera?
Mislim da je ovo pitanje više za temu Misterije ;)))
clipper.328bulaja,
-> #322, hercog│Zasto dosta ljudi kad im se pomene clipper i programiranje na njemu
│pocnu da se smeju i upiru prstom na onog ko radi sa clipperom, drugim
│recima sta mnogo njih ima protiv clippera?
└───
Mogu ih razumeti u velikoj meri (a sam se uglavnom i bavim Clipper-om).
Ovakvo misljenje je uglavnom rasprostranjeno jer je cinjenica da se
Clipper-om bavi najveci broj kretena, sharlatana i slicnih kreatura,
koji misle da njihovo "iskustvo", steceno na dvonedeljnom i.ak kursu ili
neki slican nacin, vredi mnogo $$$ i da su oni sad neki "profesionalni"
programeri. Programi (?) koje pisu su obicno trash.
A i ja, iako radim u Clipper-u godinama, imam mnogo toga protiv njega,
i jedva cekam da ga se konacno otarasim ;).
clipper.329vili,
-> #320, andrejl
> Da li to znaci da niz ne moze da ide kao parametar?
Moze:
a:={1,"a",date(),.F.}
fun(a)
quit
function fun(b)
? b[1], b[2], b[3], b[4]
return
Vili
clipper.330vili,
Evo jos jednog DEMO programa za vodjenje evidencije o cekovima!
Znam da su vam ovakvi programi na vr' *****, ali voleo bih da
cujem nekoliko razlicitih misljenja o programu. Sta je dobro, a
sta je lose u njemu. Ovo je prvi program koji sam radio u Clipperu.
Bio bih zahvalan za bilo kakvo misljenje!
Vili
cekdemo.zipclipper.331hercog,
-> #323, dnikolic**> Stvarno ne znam ko bi to radio! Pa ako neko dize lovu,
**> to su Kliperasi.
Jeste to tačno, al pre neki dan mi se desilo sledeće :
Pričam ja sa par ortaka (svi programiraju) i jedan re-
če da programira neku bazu na clipperu za jednu firmu.
Ostali umalo da umru od smeha - clipper :))))))))))))))))))).
A i na drugim mestima srećem podsmehe kad se pomene cli-
pper, ima toga i na sezamu
Hercog
clipper.332hercog,
-> #328, bulaja**> A i ja, iako radim u Clipper-u godinama, imam mnogo toga
**> protiv njega, i jedva cekam da ga se konacno otarasim
**> ;).
Na šta ćeš da pređeš?
Hercog
P.S. force, clarion, sql
clipper.333bulaja,
-> #332, hercog│Na sta ces da predes? P.S. force, clarion, sql
└───
It's a mystery to me. O;>
Clarion - NE
Force - najradje bi na njega, kad bi se pojavila neka novija verzija
CodeBase - suvise spor, ali maybe
Paradox - mrzi me da se petljam drugim standardima sem .DBF, ali maybe ;)
SQL - do ya know what d hell is SQL??? O;>
clipper.334dejanr,
-> #332, hercog>> > A i ja, iako radim u Clipper-u godinama, imam mnogo toga
>> > protiv njega, i jedva cekam da ga se konacno otarasim
>> > ;).
>>
>> Na šta ćeš da pređeš?
Nije meni upućeno al da kažem mišljenje - ni na šta. Clipper je
sjajan za to za šta je (baze podataka), i ništa ne valja za druge
stvari. Zato i imam nameru da ga koristim za to što mu je namena
dok se ne pojavi nešto bolje, a to teško da je force ili clarion,
pa čak i fox (mada fox ima svojih prednosti, a valjda i ovi ostali)
Voleo bih neki Clipper 6.0 koji bi ličio na 5.01 i samo imao kao
dodatak deklarisanje tipova promenljivih i kontrolu tipova pri
dodeljivanju vrednosti, naravno uz prijavljivanje greški tokom
kompilacije. Jes da bi morao da izmenjam sve sorsove, ali bi mi
programi bili znatno pouzdaniji što mi je veoma bitno.
clipper.335slom,
Drug mi radi sa Clipperom 5.0 pa ima nekih problema.
Kaze ovako:
Ima programce koje radi sa nekih 20-30 datoteka na Clipper-u i
sve je to radilo ko zmaj sa DOS-om 3.30. E sad na novom racunaru
386 i DOS-u 5.0 isti taj program nece da radi..
U Config-u ima:
buffers=20
files=200
a u autoexec-u SET CLIPPER = f 150 ili tako nekako..
Program pocne da radi i posle jedno 14,15 datoteka javi otprilike
nesto kao:
DBF ntx Open Error Dos error 4
(culi smo se telefonom pa ne znam dal je bas takva poruka, al tu je negde..)
Jel zna neko o cemu se radi??
SM
clipper.336ztuke,
-> #333, bulaja> SQL - do ya know what d hell is SQL??? O;>
Nije mi jasno što se ovde na sezamu svi
toliko smeju i čude kada neko nešto pita pa u
neznanju ili mahinalno pogreši? :((
Ako je omanuo ti mu se "MALKICE" nasmej
ovako ;)), ne više, i u nastavku mu objasni! To
bar nije teško! Ovo nije upušeno samo tebi već
svima na sezamu!
SQL nije database već je to neka vrsta
jezika kojom se upravlja database-om na mreži
(programom koji se upravlja pomoću datebase-a)
ili tako nečim! Nisam stručnjak al' ovoliko
znam! Dakle reč je o mogućnosti koju poseduju
neke datebase (ne znam tačno šta) a ne o samom
datebase-u kao programu!
Sorry, nije bilo stručno al' je bilo
opisno! ;))
ZT
clipper.337andrejl,
-> #323, dnikolic>│ Stvarno ne znam ko bi to radio! Pa ako neko dize lovu, to
>│ su Kliperasi.
To je ono. on dize lovu, a ja ne pa ajde da ga blatim pa
sledi clipper ovo clipper ono ...
bye, andrejl
clipper.338andrejl,
-> #329, vili
Ma primetio sam i ja da može, ali ona procedura i dalje ne radi pa sam
je "ubio" i namestio lepšu :)
bye, andrejl
clipper.339hercog,
-> #330, vili**> Evo jos jednog DEMO programa za vodjenje evidencije o
**> cekovima!
Zamerke :
1. Zašto korisnici : boca, bole i boban nisu dozvoljeni?
2. Pri unosu čekova brojevi čekova ne moraju da idu jedan za
drugim (npr. 41958510, 41958529...)
3. Ukoliko se unese negativna uplata više nije moguće unositi
uplatu
4. Uvod predugo traje
5. User interface nije baš prijateljski
Pohvale :
1. Mogućnost vođenja računa za više korisnika
2. Evidencija namene čekova
Hercog
P.S. ovo su prijateljske zamerke
clipper.340janko,
-> #334, dejanr> Voleo bih neki Clipper 6.0 koji bi ličio na 5.01 i samo
> imao kao dodatak deklarisanje tipova promenljivih i
> kontrolu tipova pri dodeljivanju vrednosti, naravno uz
> prijavljivanje greški tokom kompilacije. Jes da bi morao
> da izmenjam sve sorsove, ali bi mi
E da. Ja sam se čak zanosio da napišem takav prekompaljer, koji
bi zahtevao i da su imena polja u bazi poznata pri
prekompajliranju i da svaka promenljiva mora biti deklarisana,
ali avaj, pojavio se Clipper 5.0, koji sada dozvoljava toliko
igranja sa sintaksom, da mi se realizacija moje ideje učinila
nemogućom?
clipper.341ndragan,
-> #322, hercog/ Zašto dosta ljudi kad im se pomene clipper i programiranje
Pa znaš, ima nekih šmekera koji su pravo sa spektruma prešli na kliper, i
imaju dosta rupa u programerskom obrazovanju, misle da sve znaju, prave lepo
našminkane aplikacije u kojima takođe ima mnogo rupa, više vode računa o
zaštiti svog autorskog prava nego korisnikovih podataka, tu i tamo neke
stvari napišu prljavo, i uglavnom posluju po principu "uzmi pare i beži".
Mislim da ih ima malo koji imaju _sve_ ove osobine, ali ih mnogi imaju po
nekoliko. Bilo je priče o takvima poslednjih meseci, mislim u temi "zastita"
ili čak i u novi.racunari. Znak raspoznavanja je da uglavnom nisu napisali
ništa ozbiljno u nekom drugom jeziku osim klipera. Među njima svakako ima i
dobrih, ali većini nedostaje iskustvo. Oni moraju postojati - treba odnekud
da se regrutuju budući dobri programeri.
Ja se, recimo, ne naježim čim čujem da je neko "kliper programer", ali me
vata strava kad vidim rezultate nekih od njih - brdo loše organizovanih
datoteka, izveštaji koji rade sporo (zamisli dve sekunde pauze između
štampanja dve stavke na fakturi), zavarivanje kojekakvih konstanti u program
i tako dalje. Šteta je za takve ljude da nemaju stručnu pomoć - daj mi bilo
koga od njih da ga malo pročešljamo u firmi, napravićemo od njega valjanog
programera.
Bue_ NDragan
clipper.342nbatocanin,
-> #320, andrejl> Da li to znači da niz ne može da ide kao parametar?
proc main
x := {1, 2, 3}
pp (x)
return
proc pp (x)
? x[1], x[2], x[3]
return
Ne znam u čemu je štos, ali možeš poslati program pa da vidimo.
clipper.343bulaja,
-> #334, dejanr│Voleo bih neki Clipper 6.0 koji bi licio na 5.01 i samo imao kao dodatak
│deklarisanje tipova promenljivih i kontrolu tipova pri dodeljivanju
│vrednosti, naravno uz prijavljivanje greski tokom kompilacije.
└───
I dugaaaacke nazive procedura (mrzim ogranicenje na 10 char :( ), pa nek
bude sporo samo da mogu da im dajem razumljive nazive ;). Force inace
lici na to sto tebi treba, al da je u Clipperu lakse raditi - jeste, i
to dosta.
clipper.344bulaja,
-> #336, ztuke││SQL - do ya know what d hell is SQL??? O;>
│└───
│Nije mi jasno sto se ovde na sezamu svi toliko smeju i cude kada neko
│nesto pita pa u neznanju ili mahinalno pogresi? :((
└──
Come on, nisam mislio nista lose, jednostavno mi dosla inspiracija jer
se hell-sqL lepo rimuju ;). Evo sad cu se osmehnuti samo ;)) i ukratko
objasniti sta je SQL.
SQL (Structured Query Language) je standardni (ANSI) upitni jezik za
relacione baze podataka. Znaci da definise kakve treba da budu naredbe
za osnovne operacije sa bazom podataka - kreiranje, unosenje podataka,
pretrazivanje, etc. Kao standard je nastao jos pocetkom 70.-ih godina, i
prakticno je (sa manje ili vise izmena) implementiran u vecini danasnjih
database sistema, izmedju ostalog i u dBaseIII+ (tj. i u ranijim
verzijama), sto znaci i u svim programima nastalim na osnovama dB (a to
opet znaci npr. i Clipper).
clipper.345jpiri,
-> #335, slom
>> DBF ntx Open Error....
Da li je stavio SET CLIPPER = f 150 (kako si napisao)
ili SET CLIPPER=f150 (bez razmaka!) kako treba da bude?
Verovatno je to uzrok problema. Pozdrav.
clipper.346alexa,
-> #344, bulajaKoliko znam, u dBaseIII+ nema ni pomena od SQL-a.
clipper.347gstojkovic,
-> #345, jpiri// problemi sa clipperom//
Ne ulazim u to koji je jezik za prave programere. Cinjenica je ta da clipper
sasvim dobro radi ono za sta je namenjen, a to je rad sa bazama. Ja sam frisak
u radu sa clipperom a najvise imam problema sa uredjivanjem stampe. Ne mogu
najbolje da uredim izvestaj koji se sastoji iz mase podataka koje zadovoljavaju
neki uslov. Zato molim sve one koji imaju po neki primer napisan u clipperu
koji se bavi stampanjem izvestaja ili tako nesto slicno sto mi moze pomoci. U
unapred zahvalan Gstojkovic.
clipper.348vili,
-> #339, hercog
> 1. Zasto korisnici : boca, bole i boban nisu dozvoljeni?
"Bug" zaostao iz prethodne verzije (svako ime koje pocinje sa "b"
nije bilo dozvoljeno iz odredjenih razloga).
> 2. Pri unosu cekova brojevi cekova ne moraju da idu jedan za
> drugim (npr. 41958510, 41958529...)
Mislim da ovo ne necu menjati! Meni su uvek cekovi isli jedan
za drugim pa pretpostavljam da je to uobicajeno stanje stvari kada
uzimas cekove iz banke. Ako ti banka da cekove koji nisu jedan za
drugim treba ih uneti jedan po jedan.
> 3. Ukoliko se unese negativna uplata vise nije moguce unositi
> uplatu
Ako je uplata negativna znaci da si pogresio pa zato treba tu uplatu
ispraviti u pozitivnu pa ce moci da se unosi i druga uplata!
Pretpostavljam da uplata moze biti samo pozitivna :).
P.S. Hvala na utiscima.
Vili
clipper.349nbatocanin,
-> #324, andrejl> programa javi mi Illegal format in loadable file.
Imaš li DOS=HIGH? Izbaci i rešio si problem.
clipper.350nbatocanin,
-> #322, hercog čao mi je što me svi smatraju nekim zaštitnikom Clipper-a, pa će
neko možda ovo protumačiti pogrešno. Ipak, da napomenem da sam
najmanje svojih programa napisao u Clipper-u.
Ljudi su u suštini veoma podložni šablonima. Većina onih koji
kritikuje Clipper nikada i nije radila na njemu. Obično se on vezuje
sa antipatičnim poslovima koji se njime rade: to je isto kao kad
čistača ulice poistovetite sa poslom koji obavlja. Sasvim lično,
Clipper se sjajno bori sa svojim problemima.
Nezanemarljiva grupa (koju je neko nazvao računarskim snobovima)
programera svrstava u neku grupu po jeziku koji koristi, baš kao što
pravi snobovi ljude grupišu po odelu. Taj "programerski elitizam" je
do skora (?) one koji nisu znali Prolog dovodio u opasnost da budu
označeni kao neznalice. U istim krugovima se "tezgarenjem" nazivaju
svi poslovi gde se čovek bavi "prizemnim" i "nedostojnim" poslovima.
Sa krajem komunističkih navika valjda ćemo se osloboditi i ovih
krugova (obruča).
Napisi o performansama u stilu "Clipper 2 dana, Modula 2 minuta"
su blago rečeno netačni i nemaju osnova. Ali, kao po logici da bolji
vozač ima bolja kola, tako su i oni koji programiraju na mašincu
bolji programeri od onih drugih. Iskreno, obično svi potenciraju kao
najvažniju karakteristiku jezika performanse prevoda. Meni je daleko
važnija udobnost, moć i elegancija jezika: briga me što će korisnik
da čeka na obradu 10 sec manje, ako držim nos zapušen dok pišem
program. A i korisnika, koliko sam ustanovio.
Moram da napomenem i da sujeta vlada našim programerima u upravo
neverovatnim količinama: da li ste sreli nekog programera, da mu
kažete da nešto ne zna ili nije dobro, a da se ne naljuti? Iskreno,
veoma retko! A ovih drugih, koliko oćeš. Kad bi se po nadutosti
pojedinaca merila naša softversko-hardverska moć, bili bi bez premca.
Na žalost, delovi rasprava na Sezamu govore ovo isto.
clipper.351nbatocanin,
-> #332, hercog Bio je skoro u BYTE-u uporedni prikaz nekoliko DBMS paketa. U
tekstovima se uglavnom govori o performansama. U tome je ubedljivo
najjači FoxPro, sledi ga Clipper, a ostali su prilično udaljeni.
žesto čujem priču o raznim sistemima (ZIM, Oracle, ...) kao nečemu
daleko moćnijem od Clipper-a. Zvanično se ti ljudi malo oglašavaju:
stiče se utisak da svi rade na Clipper-u. Voleo bih da čujem
korisnike tih paketa u čemu je njihova prednost, po njima. Primera
radi, meni performanse nikako nisu odlučujuće. Dakle, zašto koristiti
baš DBMS taj i taj? I samo napred, pitanje nije zlonamerno!
clipper.352nbatocanin,
-> #340, janko Meni stroga tipizacija nikada nije nedostajala, a mislim da bi u
Clipper-u više smetala nego koristila. Jer, priznaćete da je teško
deklarisati ovakav niz:
{1, "ABC", {1, 2, 3}, { |x| x++ }}
u jeziku koji traži strogu tipizaciju, a još teže kreirati ga po
potrebi, za vreme izvršavanja programa. Tipizacija podataka u
Clipper-u bi izazvala pravu lavinu izmena, i mislim da nikad neće
biti uvedena u punoj meri. O nekoj slaboj tipizaciji bi moglo da se
porazgovara.
žini mi se da ako je programer dosledan, ne bira jednoslovne
nazive promenljivih, pravi dovoljno kratke module, neće mu previše
zasmetati ova osobina. Meni lično ova osobina odgovara - Clipper mi,
između ostalog, služi za "brzo" pisanje programa (oni koji ovo rade,
razumeće), a deklaracije pri tome, uprkos svim pravilima ovog sveta,
SMETAJU!
Interesantno rešenje je notacija koju zagovara Nantucket (mislim
da se zove "mađarska"): nazivi svih promenljivih počinju prefiksom
koji označava tip i značenje promenljive. Na primer, nCount je
brojač, acTmp je niz stringova, itd.
clipper.354janko,
-> #347, gstojkovic
> Ne ulazim u to koji je jezik za prave programere.
> Cinjenica je ta da clipper sasvim dobro radi ono za sta je
> namenjen, a to je rad sa bazama. Ja sam frisak u radu sa
> clipperom a najvise imam problema sa uredjivanjem stampe.
> Ne mogu
Rad sa bazama uključuje i prikaz njihovog sadržaja. I sam vidiš
da to NE 'radi sasvim dobro.' :)
clipper.355janko,
-> #352, nbatocanin EJ, LJUDI! JAKO JE VAčNO DA PRE NEGO ŠTO ODGOVORITE NA OVU
PORUKU, PROžITAJTE JOŠ JEDNU MOJU KOJU DANAS PIŠEM, U OVOJ
ISTOJ TEMI! U suprotnom, bojim se, počeće opet još jedno
nadjačavanje na Sezamu, što uopšte ne volim.
> Clipper-u više smetala nego koristila. Jer, priznaćete da
> je teško deklarisati ovakav niz:
>
> š1, "ABC", š1, 2, 3ć, š đxđ x++ ćć
(Zgroz!) (trnci mi prođoše kroz kičmu)
> žini mi se da ako je programer dosledan, ne bira
> jednoslovne nazive promenljivih, pravi dovoljno kratke
> module, neće mu previše zasmetati ova osobina.
Pa da, što bi mu smetala. Lepo napiše svoje programersko
remek-delo, koje radi neku iole složeniju obradu (čitaj:
dovoljno da program ima if-ove). Prevede program. Kompajler
kaže sve je u redu. Proda program. Program fino radi. Ali jedna
grana nekog if-a nikada se ne izvrši tokom testiranja i sledeća
2-3 meseca. A onda: kupac vidi magičnu poruku (parafraziram):
Variable not found at module LOVA, line 123
Tako se pišu remek dela, zar ne? :)
clipper.356janko,
-> #351, nbatocanin
> žesto čujem priču o raznim sistemima (ZIM, Oracle, ...)
> kao nečemu daleko moćnijem od Clipper-a. Zvanično se ti
> ljudi malo oglašavaju: stiče se utisak da svi rade na
> Clipper-u. Voleo bih da čujem korisnike tih paketa u čemu
> je njihova prednost, po njima. Primera radi, meni
> performanse nikako nisu odlučujuće. Dakle, zašto koristiti
> baš DBMS taj i taj? I samo napred, pitanje nije
> zlonamerno!
Da ne dužim. :)
Daleko moćniji sistemi baza podataka, (a Clipper čak ni to
nije, subjektivno) obično, verovali ili ne, imaju daleko
slabije perfomanse. Ali, upravo su moćniji zato što ti je 'nos
daleko zapušeniji' dok pišeš aplikacije. Ideja i jeste da se
čovek-programer što manje bavi trivijalnim stvarima. Po pravilu
su takvi sistemi interpreteri. Po pravilu, za izveštaj koji
možeš da generišeš sa dva-tri reda u SQL-u, naprimer, morao bi
da se oznojiš, i pišeš satima na Clipperu. SQL iskazi se,
inače, po pravilu ugrađuju u C, FORTRAN, pa i COBOL, kada se
pišu aplikacije. Problem je što takve aplikacije nisu
nezavisne: svaki korisnik MORA da kupi DBMS - database
management system, koji je, u suštini, neki superjak rantajm
modul, odnosno, nadgradnja operativnog sisteme, napr. Oracle.
Pa što svi ne pređu na SQL i slična čuda? Vrlo prosto: kod nas
se programeri za PC angažuju sa 'Je li, mali, ti si onaj što
zna sa kompjuteri, deder, napiši mi to i to.' Naručiocima je
prilično teško objasniti da pre nego što počnete da im pišete
program treba da dokupe još neki MB memorije, i, da biste im
napisali program, moraju prvo da kupe neki drugi program, koji
NE RADI njihov problem a košta dve hiljade dolara.
Sve se ovo odnosi, naravno, na programiranje na PC-jima. Na
jačim mašinama je sasvim druga priča. I na njima su sistemi za
baze izuzetno spori. Ako hoćete brrrz program, morate da pišete
na COBOL-u. (!) (Baš mi je žao što taj jezik (još) ne znam.
Karakteristično je da ga i kod nas i u svetu uglavnom predaju
samo na višim školama, i na nekim levim mestima, pa ga malo
jakih programera zna, što apsolutno nije u redu). Ali, opet,
često je brzina izvršavanja nebitna. Bitno je brzo podesiti
program prema zahtevima koji se značajno promene, a da se ne
unosi nova nestabilnost u sistem.
Hvala bogu, moji omiljeni računari, tipa SUN microsystems
i klonovi, sve su jeftiniji. Nažalost, kod nas ima sve manje
para, inače bi i mi već sada osećali ono širenje kakvo je PC
imao svojevremeno, ali sa SUN klonovima, na kojima bismo,
naravno, pisali ljudski.
Šta je bottom line ove priče? Pa možda to da sam ovaj računar
na kome radim zaradio pišući aplikacije na Clipper-u, i da još
nisam bio u prilici da mi neko plati da pišem na nečem drugom.
A kad budem bio, drage volje ću pisati na tim divotama.
Ima li ponuda? mail send janko
:>
Hvala na pažnji.
clipper.357dejanr,
-> #346, alexa>> Koliko znam, u dBaseIII+ nema ni pomena od SQL-a.
Verovatno je mislio na dBASE IV koji ima SQL (kakav - takav). Mada
tim dBASE-om IV ne da nisam oduševljen nego sam ga i sa disketa
obrisao ;)
clipper.358dejanr,
-> #352, nbatocanin>> Meni stroga tipizacija nikada nije nedostajala, a mislim da bi u
>> Clipper-u više smetala nego koristila. Jer, priznaćete da je teško
>> deklarisati ovakav niz:
>>
>> {1, "ABC", {1, 2, 3}, { |x| x++ }}
Tačno, ali moram reći da meni takav niz nije potreban, il ajd' da kažem
"jako mi je retko potreban". A kontrola dodeljivanja (tj. njen nedostatak)
prave svakodnevne (ili bar svakonedeljne) probleme.
clipper.359ppekovic,
-> #354, janko>> Rad sa bazama uključuje i prikaz njihovog sadržaja. I sam vidiš
>> da to NE 'radi sasvim dobro.' :)
Lepo je čovek rekao da je početnik i da se zbog toga ne snalazi
najbolje sa načinima za pripremu i slanje izveštaja na štampač. Dakle,
to što neko nešto nezna, neznači da određeni kompajler tu mogućnost
nema. S obzirom da si izjavio da si radio u Clipper-u, onda bi trebao
da znaš da clipper pruža sasvim solidne mogućnosti za generisanje
izveštaja za štampu, pa pored "čisto programerskog" č say ... sistema,
tu je i mogućnost štampe uz pomoć .frm i .lbl fajlova.
Paya
clipper.360ppekovic,
-> #355, janko>> 2-3 meseca. A onda: kupac vidi magičnu poruku (parafraziram):
>>
>> Variable not found at module LOVA, line 123
Viđao sam programe na "ozbiljnim" jezicima koji su me pozdravljali
sa RUN-TIME EROOR ili čak blokiranjem računara. Dakle, sve to zavisi
od znanja i umeća programera. Clipper ima odličan error sistem koji ti
pruža mogućnost da u ovakvim slučajevima program prepusti kontrolu
tvom sistemu za obradu greški koji će se pobrinuti da podaci budu
bezbedni, upisati u LOG fajl šta se desilo, i ostaviti odgovarajuću
poruku korisniku da se javi autoru programa.
>> Tako se pišu remek dela, zar ne? :)
Kao što sam već napisao, slažem se sa tobom, tako se ne pišu remek
dela. Zato hvala clipper-u na onako divnom eroor sistemu!
Paya
clipper.361hercog,
Pre neki dan uvatim ja i napišem sledeće :
procedure pro(pass)
pass2=""
for i:=1 to len(pass)
pass2=pass2+chr(asc(substr(pass,i,1))+10)
next i
pass=pass2
return
I sadržaj promenljive pass ostane nepromenjen. Zašto?
Hercog
clipper.362hercog,
-> #334, dejanr**> Voleo bih neki Clipper 6.0 koji bi ličio na 5.01 i samo
**> imao kao
clipper.363andrejl,
Da pitam za nečije mišljenje :
Neko ko se bavi Clipper-om treba odjednom (bez prethodnih
iskustava) da uradi software u Foxbase (po mogućstvu) koji
će da radi pod Unix-om. Elem taj neko u životu pre nije
radio ništa po Unixom i sad paf.:)
Kakve su mu šanse ?
bye, andrejl
P.S. dajte ljudi ohrabrite me
clipper.364janko,
-> #360, ppekovic
> Viđao sam programe na "ozbiljnim" jezicima koji su me
> pozdravljali sa RUN-TIME EROOR ili čak blokiranjem
> računara. Dakle, sve to zavisi
Ali ne zbog greške u kucanju programa, već zbog konceptualnih
greški ugrađenih u program.
> Kao što sam već napisao, slažem se sa tobom, tako se ne
> pišu remek dela. Zato hvala clipper-u na onako divnom
> eroor sistemu!
>
Ma ni 'eroor' i error sistem ne obezbeđuju te od toga da rad
može bezbedno da se NASTAVI, već samo da se malo bezbednije
PREKINE. A imaj u vidu da se rad prekida najverovatnije zbog
obične greške u kucanju imena promenljive! Tako nešto u
jezicima u kojima se deklarišu promenljive je potpuno nemoguće.
clipper.365janko,
-> #359, ppekovic
> nema. S obzirom da si izjavio da si radio u Clipper-u,
> onda bi trebao da znaš da clipper pruža sasvim solidne
> mogućnosti za generisanje izveštaja za štampu, pa pored
> "čisto programerskog" č say ... sistema, tu je i mogućnost
> štampe uz pomoć .frm i .lbl fajlova.
Znam. Znam i ograničenja tih koncepata koje pruža. I baš su
svojska. Hajde pomoću .FRM ili .LBL fajlova probaj da generišeš
izveštaj koji nije potpuno nalik onome što su tvorci dBase-a
zamislili. I jedni i drugi su pogodni, po meni, samo za kućnu
upotrebu (kada interaktivno, za sebe, i samo jedanput, želim da
prikažem neke podatke). Teško da se mogu ugraditi u neku
aplikaciju, iole sofisticiraniju.
No, nije potrebno da pričamo o tome, bolje da se raspravljamo
oko toga koji su koncepti generisanja izveštaja najbolji, i ko
kakve primenjuje, kako bismo svi pisali bolje programe. Napr.
ja izveštaje generišem obavezno u datoteku, koja obično pre
slanja na štampač 'prođe' i kroz tekst formater koji sam sam
napisao, naravno ne u Clipperu. To je vrlo zahvalan koncept. U
Oraklu, naprimer, postoje čak dva nivoa reformatera sirovih
izveštaja. Takođe, mislim da je prilično neisplativo, sa
stanovišta prelaska na nove verzije, pisati dodatne funkcije za
Clipper u mašincu, osim piscima FUNCKY i sličnih paketa koji od
toga žive. Ipak, mislim da se SAMO korišćenjem Clipper-a ne
može napraviti elegantna aplikacija. Itd, itd. Možda vam je
sad jasnije zašto sam rekao to što sam rekao. Verujte,
sve što sam napisao
ima neki smisao (B.Đ). :)
clipper.366nbatocanin,
-> #344, bulaja> Kao standard je nastao jos pocetkom 70.-ih godina, i prakticno je (sa
> manje ili vise izmena) implementiran u vecini danasnjih database
> sistema, izmedju ostalog i u dBaseIII+ (tj. i u ranijim verzijama),
> sto znaci i u svim programima nastalim na osnovama dB (a to opet
> znaci npr. i Clipper).
dBASE jezici ne podržavaju SQL, jedino nisam siguran za dBASE IV.
Primera radi, za Clipper se mogu dokupiti programi koji omogućavaju
SQL naredbe.
clipper.367andrejl,
-> #342, nbatocanin>│ Ne znam u čemu je štos, ali možeš poslati program pa da
>│ vidimo.
Kasno je. Uništio sam ga :)
clipper.368andrejl,
-> #361, hercog>│ I sadržaj promenljive pass ostane nepromenjen. Zašto?
Ja probao i kod mene se menja pass pre i posle petlje.
Ne znam šta je problem
bye, andrejl
clipper.369vkrstonosic,
-> #364, janko>> Ma ni 'eroor' i error sistem ne obezbeđuju te od toga da rad
>> može bezbedno da se NASTAVI, već samo da se malo bezbednije
>> PREKINE. A imaj u vidu da se rad prekida najverovatnije zbog
>> obične greške u kucanju imena promenljive! Tako nešto u
Pa postoji i nešto što se zove testiranje programa. Svaki program,
pre nego što se pusti u rad, prvo se dobro istestira u samoj firmi,
posle se jedno vreme radi kod kupca i to sa unošenjem nebitnih
podataka, pa se tek onda počinje stvarno korišćenje programa. Ja svaki
program probam mnogo puta i prolazim kroz sve moguće kombinacije. Kako
si to istestirao program (i prodao), ako uopšte nisi stigao do
odredjene grane u programu ??? To opet dolazi do priče o "raznim"
programerima, a oni ovde nisu ni bitni.
clipper.370hercog,
-> #348, vili**> Mislim da ovo ne necu menjati! Meni su uvek cekovi isli
**> jedan za drugim pa pretpostavljam da je to uobicajeno
**> stanje stvari kada
Bogme kod pošte nije takav slučaj. Ja dobijam čekove koji ne idu
jedan za druim po brojevima...
Hercog
clipper.371bulaja,
-> #357, dejanr│Verovatno je mislio na dBASE IV koji ima SQL (kakav - takav). Mada tim
│dBASE-om IV ne da nisam odusevljen nego sam ga i sa disketa obrisao ;)
└───
Malo sam gledao po literaturi koju imam, i sad sam malo zbinjen sta je
zvanicno definisan SQL. Kao jedan se spominje onaj koji je nastao jos
70.-ih i za koji se kaze da je izmedju ostalog ugradjen cak i u dB II
(izvor neka knjiga o Oracle-u), dok sam naisao i na ANSI standard za SQL
koji je zvanicno izdat tek '86 (sto znaci da nema sanse da je bio pre dB
IV). A inace i ja se secam da je dB IV bio uzas ...
clipper.372bulaja,
-> #359, ppekovic│clipper pruza sasvim solidne mogucnosti za generisanje izvestaja za
│stampu, pa pored "cisto programerskog" Z say ... sistema, tu je i
│mogucnost stampe uz pomoc .frm i .lbl fajlova.
└───
Ma ti .frm i .lbl su blagi uzas, jos do ksam se patio samo sa dBase (tj.
FoxBase) trudio sam se da ih izbegavam koliko god je to bilo moguce. Cak
i obicno list ... to print mi je bilo bolje. A "programerski" @ .. say
sistem je vise nego dovoljan i sasvim solidno uradjen, ne vidim sta mu
fali?
clipper.373bulaja,
-> #361, hercog│procedure pro(pass)
│ pass2=""
│ for i:=1 to len(pass)
│ pass2=pass2+chr(asc(substr(pass,i,1))+10)
│ next i
│ pass=pass2
│return
│
│I sadrzaj promenljive pass ostane nepromenjen. Zasto?
└───
Kakva misterija! O;>
Posto imam resign na extra:misterije, evo ipak odgovora ovde ;).
Resenje: izbaci pass kao parametar, posto ga vec koristis kao public
promenljivu nema svrhe da ga tako deklarises, zato ti i vraca staru
vrednost. Konstruktivna kritika: konstrukcija procedure je uzasna -
napisi bre normalnu funkciju sa parametrom a:=pass koja vraca
b:=novi_pass. Konstruktivni savet: nauci se da deklarises kao local/
private promenljive poput "i" i "pass2" (to kad naucis ono prvo ;).
Kriticko opazanje ;) : sigurnost zastite ti je DJ O;>.
clipper.374nbatocanin,
-> #355, janko Ako se program prevodi sa /W biće prijavljene sve nedeklarisane
promenljive. Pri interpretiranju izraza (makroi) jedini način za
kontrolu su "statički simulatori izvršavanja", što ne sadrže u sebi
ni jezici sa veoma strogom tipizacijom, pa sledi da ovo tvoje nije
baš tačno.
A i pričaj malo tiše.
Pozdrav, Nenad
clipper.375nbatocanin,
-> #358, dejanr Mislim da bi se statističkom analizom utvrdilo da neki ljudi više
prave sintaksne (pogreše pri kucanju imena promenljive) a drugi
logičke greške (program je sintaksno ispravan, ali ne radi). Sad je
samo pitanje kojoj grupi ljudi prilagoditi jezik.
Nešto se setih, a da li koristite opciju /W pri prevođenju? Ona
javlja sve nedeklarisane promenljive, čime se jako smanjuje
verovatnoća greške. Jer, da bi onda naredba
Pera := Mika + 1
proizvela sintaksnu grešku, pri pogrešnom kucanju se mora "potrefiti"
neka već deklarisana promenljiva ili sabrati broj sa stringom, što je
manje verovatno.
Voleo bih da neko pošalje svoj primer iz prakse gde je ova osobina
zaslužna za grešku, da malo proanaliziramo.
clipper.376nbatocanin,
-> #356, janko> Daleko moćniji sistemi baza podataka, (a Clipper čak ni to
> nije, subjektivno)
Zašto? žini mi se da se Clipper sasvim solidno uklapa u školske
definicije DBMS-a.
> Po pravilu, za izveštaj koji možeš da generišeš sa dva-tri reda u
> SQL-u, naprimer, morao bi da se oznojiš, i pišeš satima na Clipperu.
Ja solidno poznajem SQL i ne čini mi se da ja baš ovako.
> Ako hoćete brrrz program, morate da pišete na COBOL-u. (!) (Baš mi je
> žao što taj jezik (još) ne znam.
Da ne ispadne da se hvalim, ali ja znam COBOL i ovo mi zaista nije ni
poznato ni logično.
Ostatak poruke govori o tvom odnosu prema poslu i nije odgovor na
moje pitanje. Dakle, pitanje i dalje ostaje otvoreno. Može li neko
ukratko reći bar za FoxPro? NDragane?
clipper.377nbatocanin,
-> #361, hercogZato što se PASS mora prenositi po adresi, da bi izmena bila
prihvaćena. Tada se f-ja poziva sa F(@PASS). Ali, nemoj bre tako da
programiraš! Funkcije služe da vrate neku vrednost, pa smisli nešto.
Kad ćeš da pošalješ parče onog tvog programa sa SORT-om što je
brljalo po disku? Ovo bi i druge interesovalo.
Pozdrav, Nenad
clipper.378dejanr,
-> #369, vkrstonosic>> Pa postoji i nešto što se zove testiranje programa. Svaki program,
>> pre nego što se pusti u rad, prvo se dobro istestira u samoj firmi,
>> posle se jedno vreme radi kod kupca i to sa unošenjem nebitnih
>> podataka, pa se tek onda počinje stvarno korišćenje programa.
Tačno, ali je bolje da pri samom prevođenju kompjuter pronađe što više
grešaka i potencijalnih grešaka! Rad računara je mnogo jeftiniji od
rada čoveka.
clipper.379draganf,
-> #363, andrejl>
> Da pitam za nečije mišljenje :
> Neko ko se bavi Clipper-om treba odjednom (bez prethodnih
> iskustava) da uradi software u Foxbase (po mogućstvu) koji
> će da radi pod Unix-om. Elem taj neko u životu pre nije
> radio ništa po Unixom i sad paf.:)
> Kakve su mu šanse ?
>
Otprilike dobre ako imaš barem spisak maredbi koje postoje samo
u jednom od ta dva jezika (npr. ACHOICE ni u kom slučaju ne postoji
u Foxbase - u). Editorom možeš automatski promjeniti
naredbe koje rade isti posao ali imaju drugačiji naziv (npr.
COMMIT u FLUSH). žini mi se da su naredbe za menije nešto
drugačije. Sve u svemu nije neki problem izuzev toga što
nisi prije koristio Foxbase. Mogu ti pomoći u nekum stvarima
pošto koristim Clipper i Fox istovremeno.
što se tiče Unix -a tu neznam šta da ti savjetujem, ali imaš
priliku da upadneš u to i nešto naučiš. Tu je sad stvar koliko imaš
vremena da to uradiš.
Dragan
clipper.380vbole,
-> #355, janko>> š1, "ABC", š1, 2, 3ć, š đxđ x++ ćć
>
> (Zgroz!) (trnci mi prođoše kroz kičmu)
Šta mu fali ?
Tako ( slično ) možeš da deklarišes ček, rešio si problem sa korisnikom,
sumom, uplatom u tri rate itd. Dodeli imena poljima i pristup je logičan
i shvatljiv.Ako dodaš i komentar...
> kaže sve je u redu. Proda program. Program fino radi. Ali jedna
> grana nekog if-a nikada se ne izvrši tokom testiranja i sledeća
> 2-3 meseca. A onda: kupac vidi magičnu poruku (parafraziram):
A bez ove deklaracije to ne može da se desi ?
To je greška koja se obično pojavljuje kod krpljenih programa, koji nemaju
logičan tok programa, nego se dodaje opcija na opciju, a ne na glavni
program.
bye... vbole
clipper.381vkrstonosic,
-> #378, dejanr>> Tačno, ali je bolje da pri samom prevođenju kompjuter pronađe što više
>> grešaka i potencijalnih grešaka! Rad računara je mnogo jeftiniji od
>> rada čoveka.
Slažem se, ali ipak u testiranju programa treba probati sve opcije
i sve slučajeve, jer sintaksne greške su najmanji problem (najlakše se
nalaze), mnogo veći problem može da nastane zbog logike.
Uostalom, Clipper 5.01 dozvoljava da se sve promenljive deklarišu.
Posle treba kompajlirati sa opcijom /w i kompajler će naći sve
pogrešno napisane promenljive, jer nisu definisane.
clipper.382janko,
-> #369, vkrstonosic
> podataka, pa se tek onda počinje stvarno korišćenje
> programa. Ja svaki program probam mnogo puta i prolazim
> kroz sve moguće kombinacije. Kako si to istestirao program
> (i prodao), ako uopšte nisi stigao do odredjene grane u
> programu ??? To opet dolazi do priče o "raznim"
> programerima, a oni ovde nisu ni bitni.
Prolaz kroz sve moguće kombinacije je nešto što u teoriji
testiranja spada u tzv. metode bele kutije. Da bi testirao neku
proceduru, moraš ispred sebe imati njen sors i napisati test
primere za njega i stabove ili drajvere, zavisi od toga kojim
redom testiraš delove programa. Recimo da procedura ima 10
if-else-va, jedan iza drugog. Ukupno postoji 2**10=1024 putanja
kroz tu proceduru.
Ti ih, naravno, po svom iskazu, prođeš sve? :) To znači da
program od sedam hiljada linija (nije to puno za program na
Clipper-u, to i sam, valjda, znaš) testiraš koliko godina, pre
nego što ga daš kupcu? Ili priznaješ da spadaš u "razne"
programere, po sopstvenoj definiciji?
Uostalom, prvo pisanje programa nikad nije kritično koliko
kasnije izmene. Ti, naravno, i posle svake izmene, smisliš nove
test primere, pa opet istestiraš ceo program?
> pre nego što se pusti u rad, prvo se dobro istestira u
> samoj firmi, posle se jedno vreme radi kod kupca i to sa
> unošenjem nebitnih podataka, pa se tek onda počinje
> stvarno korišćenje programa. Ja svaki
Testiranje unošenjem NEBITNIH podataka je izuzetno slabo
testiranje.
- * -
Nantucket je svestan problema koji nastaju zbog toga što
kompajler ne može da uoči greške o kojima sam pričao. Oni pričaju
o leksičkoj i dinamičkoj vidljivosti (lexical and dinamical
visibility), uvode Local definiciju, savetuju da se svaka
promenljiva mora deklarisati pre upotrebe, i da 'lexical scoping'
daje 'greater degree of protection.' Ipak, Clipper pri prevođenju
ne zna koje su promenljive prave, koje su polja iz baza, a koje
niodakle.
Znaš, davne '86. kada sam razmišljao o svom pozivu, a poznajući
teorijske domete u računarskim naukama, brinuo sam se da li će za
nekoliko godina, možda, softverski stručnjaci postati skoro
nepotrebni. Onda, kada sam video šta se događa u svetu sa ovim
igračkama PC-jima, postalo mi je jasno da gnjusni proizvođači svi
proizvode tako, da se to ne dogodi. To je za nas koji zarađujemo
u toj struci dobro. Tako gledano, čak i to što je Clipper takav
kakav jeste je dobro -- ne daj bože da je savršeniji, pa tako,
razumem i neke tvoje stavove, a na neki način se i slažem sa
njima, više haosa u računarstvu, više posla! :) Što opet ne
znači da pravi stručnjak treba da slepo veruje da je takav haos
najbolji način i privatno. Stručnjak od spoljnjeg haosa pravi
svoj interni mir, i po tome se razlikuje od onih drugih :)
A koliko ja ozbiljno pristupam poslu, možda bi upravo trebalo
moje ostale poruke u ovoj temi da ti govore, pa ih pročitaj, ako
nisi.
Za kraj, divna konstatacija NBatoćanina.
> Moram da napomenem i da sujeta vlada našim programerima u
> upravo neverovatnim količinama: da li ste sreli nekog
> programera, da mu kažete da nešto ne zna ili nije dobro, a
> da se ne naljuti? Iskreno, veoma retko! A ovih drugih,
> koliko oćeš. Kad bi se po nadutosti pojedinaca merila naša
> softversko-hardverska moć, bili bi bez premca. Na žalost,
> delovi rasprava na Sezamu govore ovo isto.
T-T-T-Thats all falks!
clipper.383ivans,
-> #382, janko* Testiranje unosenjem NEBITNIH podataka je izuzetno slabo
* testiranje.
Da, zato se i uvodi paralelna obrada podataka, svaki put kada dode do izmena u
programu (u novoj verziji softvera :)...
Pozdrav,
Ivans.
clipper.384vkrstonosic,
-> #382, janko>> redom testiraš delove programa. Recimo da procedura ima 10
>> if-else-va, jedan iza drugog. Ukupno postoji 2**10=1024 putanja
Da, redovno mi dešava da u programima imam 10 if-ova jedan u
drugom.
>> nego što ga daš kupcu? Ili priznaješ da spadaš u "razne"
>> programere, po sopstvenoj definiciji?
Tja, klasičan metod diskusije na Sezamu, sve mora da bude lično.
Kakav sam ja programer je moj problem, ako te posebno zanima, nema
problema, reci i vrlo radu ću ti demonstrirati neke svoje programe,
objasniti ti šta sve rade i kako rade.
>> Testiranje unošenjem NEBITNIH podataka je izuzetno slabo
>> testiranje.
Pod nebitnim podacima, podrazumevam realne podatke i realno
korišćenje programa, uz razne ograde, kao čest backup, vodjenje
podataka onako kako je vodjeno ranije, sve dok se ne ustanovi da je
program pouzdan i da se na njega može osloniti. Dužina ovog perioda
zavisi od mnogo faktora. Ovo naravno važi u slučaju kada se pravi
karakterističan program za odredjenu firmu i primenu. U slučaju
"štanc" programa, stvar je drukčija.
clipper.385nimi,
-> #356, janko/da ne duzim. :)
Povodom toga da u sql covek moze da napise izvestaj u dva reda.
moze ali samo trivijalan takav se u Clipper-u moze dobiti sa naredbom list
a sql-ov join se moze prevazici u vecini slucajeva ili jednostavnim set
relation ili prostijom funkcijom koja pretrazuje tabelu(datoteka tipa .dbf u
clipper-u)
Neznam da li si pokusao da u sql prebacis da ti jedna kolona ide u
zaglavlje tabele za to bi morao da napises program u Pro*C-ju ili Pro*Cobol-u
Da je sql mocan kao sto mislis ljudi iz oracla ne bi ubacili PL/SQL koji u
svojoj strukturi predstavlja proceduralni jezik, jos uvek ne snabdeven
nizovima(najavljeno za verziju 1.1).
Na tvojoj omiljenoj masini (Sun SPARC ) ja trenutno radim na ORACLU V6.0
i nisam prezadovoljan brzinom iako imamo dva servera jedan ocenjen sa
28 mips-a a jedan sa 18. Jer ORACLE pojede onako divnu masinu, pa sem
RDBMS-a je sve ostalo maltene besmisleno koristiti i ako su ustede u
programiranju velike narocito ako si sklon maltretiranju korisnika
da pritiskaju funkcionalne Ú]tipke.
Ne kazem da je lose raditi na ORACLU narocito za one koji pocinju
jer se sa malo rada mogu postici neke stvari za koje je bilo ranije
potrebno puno vremena narocito na velikim masinama.
Sto se Clipper koncepcije tice vise mi odgovara da na jednom mestu
saspem sve sto znam nego da kroz par prozora ispisem ono sto zelim.
Sa 6 i nije tako lose raditi ali sa 5.1.xx je cist mazohizam .
pozdrav MNikolic.
clipper.386hercog,
-> #373, bulaja**> Resenje: izbaci pass kao parametar, posto ga vec
**> koristis kao public
Otkud ti ideja da je pass public promenljiva?
**> Kriticko opazanje ;) : sigurnost zastite ti je DJ O;>.
Nije mi ni trebalo nešto bolje, ovo je samo da se zamažu oči
neznalicama ;)
**> vrednost. Konstruktivna kritika: konstrukcija procedure
**> je uzasna -
Šta fali proceduri?
Hercog
clipper.387nbatocanin,
-> #296, bulaja Otkrio sam grešku u programu za generisanje izveštaja
R075CLPR.ZIP. Evo ispravljene verzije. Izvinjavam se ako sam vam
ovim napravio neke neprilike.
Pozdrav, Nenad
clp.zipclipper.388nbatocanin,
Kada se Clipperov sistem za upravljanje datotekama približi
granici od 20 otvorenih datoteka, mogu se desiti vrlo čudni efekti: u
dibageru nestaje deo teksta, prijavljuju se neke čudne i nepostojeće
greške i sl. Tada treba izvršiti DOS komandu
SET CLIPPER = FXX ( XX > 20 )
i stvar će se srediti. Može se i program startovati sa:
PROG //FXX
clipper.389dpaun,
Clipper braćo i drugovi,
čeleo sam ozbiljnu razmenu iskustava sa memo podacima. Sve
diskusije za i protiv Clp - bez ovog njegovog dela - su
falične. Avaj. Stavio sam svima na raspolaganje kompletnu
help radionicu (vidi poruku 5.321 i fajlić POMOC.ZIP uz
njega). Avaj.
====> O sî va rugac vuoj đi minje!
Za uzdarje, molim za odgovor na sledeće pitanje:
1) čeleo bih da registrujem svoj program.
Šta sve treba pripremiti i gde odneti.
(Priča se da ima neka autorska agencija,
da treba odneti listinge i sl. Da li je
neko od vas to već radio? Molim za uput.)
dPaun
clipper.390bulaja,
-> #386, hercog│Otkud ti ideja da je pass public promenljiva?
└───
Pa bez obzira da li si je deklarisao kao private ili public, ona je za
proceduru koju pozivas vidljiva.
│Sta fali proceduri?
└───
Sto nije funkcija.
clipper.391andrejl,
-> #377, nbatocanin>│ Kad ćeš da pošalješ parče onog tvog programa sa SORT-om
>│ što je brljalo po disku? Ovo bi i druge interesovalo.
SORT i brljanje na disku ?
Jedan moj programčić je sa sortom kod mene savršeno radio,
dok je na drugoj mašini kad bi se broj slogova nešto povećao
brljao i brljao.
Da nije u pitanju neka konfiguracija sistema ?
clipper.392andrejl,
-> #379, draganf>│ nisi prije koristio Foxbase. Mogu ti pomoći u nekum
>│ stvarima
fox sam koristio (istina kratko)
Hvala na utehama. Sad samo da stvorim vremena :)
P.S. prethodna iskustva se odnose na Unix O:)
clipper.393dpaun,
Evo još jedne osobine Clp5.01
Uključio sam u svoj program FILEMAN.PRG iz priručnog
.prg paketa (omgućava da se iz vaše aplikacije šet-
kate po direktorijumu i sl.). U početku je bili kam
sve u redu, ali kako mi se prog povećavao (a rastao
je ko kvasac!) - u pojedinim trenucima primećivao sam
u spisku dos fajlova neke "fantome" (kao: ABGHHUT i
slično), koji su se gubili po izlasku iz programa!
Poslao sam FILEMAN bratu nBatocaninu na pregled,
ali - ništa, veli on! I zaista ništa kad se FILEMAN
prevede i startuje sam za sebe. Oni fantomi pojavlju-
ju se samo kad je program pozamašan.
Posle dužeg eksperimentisanja - shvatih: ti fantomi
su nazivi internih overleja! Ovo sam zaključio po tome
što program "poludi" kad ih obrišem, a kad siđem u
DOS (ako u međevremenu ne dođe do blokade) i startam
ponovo - sve bude u redu.
Ne znam da li ima načina da se ovo spreči?
dPaun
clipper.394hercog,
Evo nečeg interesantnog :
use datoteka
go top
sort on polje to datoteka
close databases
Ovo je deo jednog programa koji je pravio probleme dok nismo primetili
da je sortiranje u istu datoteku. Naime ovaj programa će s vremena na
vreme da izbriše celokupnu datoteku (sve podatke i strukturu), da osta-
vi njeno ime na disku. Kad to uradi, sledeći put kad se pozove ta dato-
teka dobiće se poruka : CORUPTION DETECTED ON DATOTEKA....
Hercog
clipper.395hercog,
-> #389, dpaun**> ====> O sî va rugac vuoj đi minje!
????
Hercog
clipper.396bulaja,
-> #387, nbatocanin│Otkrio sam gresku u programu za generisanje izvestaja R075CLPR.ZIP.
│Evo ispravljene verzije.
└───
Eno je u \RSOFT\r075clpr.zip umesto stare.
clipper.397dejanr,
-> #393, dpaun>> Ne znam da li ima načina da se ovo spreči?
Pa, naravno da nema, program ih kreira omogućavajući time da se
izvršava nešto što inače ne bi stalo u memoriju. I to se dešava
sasvim automatski, što je glavna prednost clipper-a 5 nad
slavnim prethodnikom.
clipper.398dpaun,
-> #397, dejanr>> >> Ne znam da li ima načina da se ovo spreči?
>>
>> Pa, naravno da nema, program ih kreira omogućavajući time
>> da se izvršava nešto što inače ne bi stalo u memoriju.
Nisam mislio da se spreči kreiranje internih ovl, već da
se spreči prikazivanje njihovih imena u listi DOS fajlova
koju prikazuje FILEMAN, jer to unosi zabunu. Postoji li
neki Clipperov način, ili se mora pribeći triku.
Kom i kako, važno je jako.
dPaun
clipper.399dpaun,
-> #395, hercog>> **> ====> O sî va rugac vuoj đi minje!
>>
>> ????
A, to? To je jedan stari balkanski jezik.
Pogodi koji.
dPaun
clipper.400dpaun,
cLp Braćo.
Clp 5.01, kao ni ranije verzije, ne može da dođe do oznake
tekućeg drajva (ili uređaja, kako kaže prof. Darko V).
CURDIR() vraća ime(na) dir, ali bez drajva. Kod Strelija ima
jedan primer u C-u (čini mi se). Nisam ga isprobao jer nemam C.
Koristio sam dosetke preko RUN DIR > BrljBrlj, pa onda AT,
MEMOREAD() i slično. Nezgodno, prilično.
Ima li neko asemblersko rešenje?
=> Mjar fi drag sîn spunjec!
dPaun, uom bun.
clipper.401bulaja,
-> #394, hercog│use datoteka
│go top
│sort on polje to datoteka
│close databases
└───
Aaaaaaaahhhhh, da li je ovo resenje misterije oko BUG-a clipper-ovog SORT?
clipper.402hercog,
-> #393, dpaun**> u spisku dos fajlova neke "fantome" (kao: ABGHHUT i
Slična stvar se dešavala i sa jednim programom koji smo pisali iako
nije imao fileman u sebi. Jednostavno na disku program ostavi neki
fajl kao "DDHAKSAA", a da niko ne zna zašto.
Hercog
clipper.403kole,
-> #400, dpaun>> tekućeg drajva (ili uređaja, kako kaže prof. Darko V).
Slučajno je i meni trebalo nešto slično, pa evo gotovog rešenja,...
Poziva se sa _GETDRIVE() i vraća broj trenutnog drajva (0=A, 2=C, ...)
Radi za Clipper 5.01.
Pozdrav,
Kole
getd.objclipper.404hercog,
-> #401, bulaja**> Aaaaaaaahhhhh, da li je ovo resenje misterije oko BUG-a
**> clipper-ovog SORT?
Nisam rekao da je bug u clipperovom sortu već samo da je bilo
problema u vezi njega
Hercog
clipper.405nbatocanin,
-> #391, andrejl> SORT i brljanje na disku ?
Ja sam svedok, brljalo je. Doduše, ne znam čemu uopšte i koristiti
naredbu SORT. Za šta je vi koristite?
clipper.406nbatocanin,
-> #393, dpaun> Ne znam da li ima načina da se ovo spreči?
Da li bi program mogao da razlikuje te interne overleje (u stvari, swap
datoteke) po nazivu i atributima?
clipper.407radunovic,
Da li bi neko mogao da mi posalje kratak primer povezivanja clipper i c
programa ukljucujuci i sviceve za kompajler i linker, pri cemu c program poziva
neku od biblioteckih funkcija, npr. printf, putch,.. (u MSC 6.0).
clipper.408nbatocanin,
-> #401, bulaja> Aaaaaaaahhhhh, da li je ovo resenje misterije oko BUG-a
> clipper-ovog SORT?
Aha! :))))
clipper.409nbatocanin,
-> #399, dpaun> Pogodi koji.
Staroslovenski?