PCPROG.3

26 Jul 1993 - 22 Apr 1994

Messages - clipper

clipper.615 dr.grba, -> #612, dvesic
>> P.S. Izvinjavam se onima koji ovo gledaju drugi ili treci put ! Treći put gledam samo ja (((:
clipper.614 dr.grba, -> #610, snemcev
>> I'll send something else, ok? I to sa kamatom 100%.
clipper.616 svaba,
žudi me da ovo do sada niko nije pitao... Ili se nisam uključio dovoljno rano? Naime, pri prevođenju programa sa CLIPPER 5.xx pojavljuje se poruka u stilu "string space exhausted", sa navođenjem funkcije i rednog broja linije u kome mu je to zasmetalo. Ja shvatim da je prevodilac "prepunio" neko svoje mesto gde drži stringove, pa podelim tu funciju na dve manje (u prvoj stavim poziv one druge). Posle ovoga, poruka se više ne javlja, i sve radi normalno. Inače, problem koji sam opisao mi se pojavio kad sam jedan program koji je fino radio pod '87, hteo da prevedem sa CLIPPER 5.xx. E sad, ja nisam zadovoljan ovim rešenjem - stvarno je seljačko. Zna li neko šta je uzrok ovome i da li se taj "string space" može proširiti?
clipper.617 neman, -> #612, dvesic
> Nadam se da ce nekom koristiti ... > Moja iskustva u radu sa CDX ideksima U tvojoj poruci nedostaje ono sto je najvaznije a to je uporedjenje sa .NTX datotekama po pitanju brzine izvrsavanja indeksiranja i jos vise samu brzinu pretrazivanja. Prvi test koji sam uradio sa CDX indeksima je bilo brzina SEEK naredbe u petlji od vise hiljada puta gde se trazilo jedan slog u bazi od par hiljada slogova. To je bio i poslednji test koji sam uradio zato sto sam na osnovu rezultata merenja dosao do zakljucka da NTX drajver pamti gde se nalazi pri pretrazivanju tj. SEEK-u a CDX iznova cita indeksnu datoteku. Po secanju, NTX je bio oko 50 puta brzi od CDX-a. Kasnije se pojavio i test u Racunarima koji je samo potrvdio tezu da je CDX dosta traljavo realizovan i da vise sluzi sminke radi negoli da se stvarno zelelo unapredjenje Clippera. Pored toga, mislim da brzini pravih CDX indeksa doprinosi u stvari pomenuta cinjenica da se u datoteku upisuje samo razlika u kljucu ( zato valjda i cita od pocetka datoteku :) nego to da postoji samko jedna datoteka. Ti moras da preturis xxx K(M)B indeksa kroz mrezu pa bili oni jedna ili vise datoteka. neman
clipper.618 nbatocanin, -> #596, dzoric
> S' vremena na vreme aplikacija pukne sa porukom "Internal > stack overflow" :((( Vrlo čudno. Kako tačno glasi poruka, tj. je li to poruka Clipper-ovog run-time sistema?
clipper.619 ndragan, -> #598, aquarius
/ <> On Key Label "." Keyb "," / <> ali je malo nezgodno ako zaboravite da ga skinete. / Jest' nezgodno to u FOX-u, al' zato nije u Clipperu. :) Ujedno Šta, definišeš tačku da ti izigrava zarez, i zaboraviš da je skineš, i kompajler sam zna kad ti više ne treba pa skine sam? Ili moraš za svaki GET gde ti to treba da pozivaš premapiranje tastera? Ili mu je svejedno da li kucaš tačku ili zarez - oboje smatra za tačku? Nisi jasan.
clipper.620 dvesic, -> #617, neman
>> U tvojoj poruci nedostaje ono sto je najvaznije a to je >> uporedjenje sa .NTX datotekama po pitanju brzine izvrsavanja >> indeksiranja i jos vise samu brzinu pretrazivanja. Prvi test >> koji sam uradio sa CDX indeksima je bilo brzina SEEK naredbe u >> petlji od vise hiljada puta gde se trazilo jedan slog u bazi >> od par hiljada slogova. Nisam hteo da siroke narodne mase davim brojcanim podacima, ali ces me ti naterati ... Prvo, koliko puta ti u tvojim programima trazis jedan te isti slog ? Logika koju ja koristim je : dbSeek(Prvi_Slog koji zadovoljava uslov) While <uslov zadovoljen> Obradi slog dbSkip() End While U obradi n slogova brzina dbSeek-a je (skoro) nevazna u odnosu na brzinu dbSkip-a uz odredjene indekse. >> uradio zato sto sam na osnovu rezultata merenja dosao do >> zakljucka da NTX drajver pamti gde se nalazi pri pretrazivanju >> tj. SEEK-u a CDX iznova cita indeksnu datoteku. Po secanju, >> NTX je bio oko 50 puta brzi od CDX-a. Secanje te vara. Ako bas insistiras, petlja od 1000 dbSeek je kod NTX radila 3.76, kod CDX 17.8 (znaci 5 a ne 50 puta). Grozan rezultat ? Citaj dalje. >> test u Racunarima koji je samo potrvdio tezu da je CDX dosta >> traljavo realizovan i da vise sluzi sminke radi negoli da se >> stvarno zelelo unapredjenje Clippera. Sminke radi ? Gledaj sad ovaj test : dbSeeek(Neki_Slog) For i:=1 to 3000 dbSkip() Next i Brojcano : NTX - 0.61 CDX - 0.71 Gde je razlika od 5 (50) puta ? Nesumnjivo su NTX indeksi za koji procenat brzi, sto je i logicno - ipak su oni genericki format za Clipper. Mozda ce sledeca implementacija CDX-a prevazici decije bolesti. >> Pored toga, mislim da brzini pravih CDX indeksa doprinosi u >> stvari pomenuta cinjenica da se u datoteku upisuje samo >> razlika u kljucu ( zato valjda i cita od pocetka datoteku :) >> nego to da postoji samko jedna datoteka. Ti moras da preturis >> xxx K(M)B indeksa kroz mrezu pa bili oni jedna ili vise >> datoteka. Pa sad, razlika provlacenja 2.4 Mb u odnosu na 700 kb se itekako da osetiti ! 'Jednu datoteku' sam pomenuo u vezi sa brojem otvorenih fajlova u jednom trenutku a NE u vezi sa brzinom indeksa. Da rezimiram: onaj tekst je bio rezime *prakticnih* iskustava sa CDX indeksima - svakom ostavlja na volju da proba i odluci koji tip indeksa nosi bolji odnos brzina/performanse. Ja sam izabrao CDX : mali su, pakuju se u jednu datoteku, mogu im se obracati preko naziva a ne preko broja (doduse, ovo zadnje mogu i NTX). Na vama je da odlucite sta je bolje za vase potrebe. Nemoj da te zavaraju vestacki izgradjeni testovi. Ne sumnjam da bi se slican test dao naci i za NTX. Probaj ih u aplikaciji. U krajnjem slucaju, uvek se mozes vratiti na staro. Pozdrav, Dejan.
clipper.621 dzoric, -> #618, nbatocanin
Greška "Internal stack overflow" je DOS-ova greška, i u priručniku za DOS je napomenjena i navodno se problem rešava povećanjem broja i veličine stekova( npr. STACKS=9,256 ). U aplikaciji je ugradjen Clipper Error Handler System. Debagiranjem programa ne mogu da otkrijem ništa, pod debagerom sve radi. Baze i indekse otvaram kroz DATA DICTIONARY i uvek kod 5 -og rekorda gde se otvara baza SETUP.DBF program je otvori i u svim poljima upiše "TTTTTT" (blaži slučaj), program stane na prvi Inkey( 0 ) i tu je kraj. Sve mi je jasno, ali da posle resetovanja uništi FAT, to mi nije jasno. Pre mesec dana sam u CONFIG.SYS ubacio naredbu DOS=HIGH,UMB i od tada radi, ali do kada će. Negde sam čuo da DOS > 3.31 nema totalnu kontrolu upada u FAT, i da je po tom pitanju DOS 3.31 najsigurniji. Ako među kliperašima ima i DOS majstora možda imaju odgovor na ovo pitanje. Još nešto :) Da li je neko primetio bag u Expand.lib v3.0 kada se više puta pozove funkcija za promenu palete XPvgaColor() ili XPegaColor(), mašina zablokira. Pozdav .. Dejan
clipper.622 snemcev, -> #620, dvesic
>> Prvo, koliko puta ti u tvojim programima trazis jedan te isti >> slog ? Logika koju ja koristim je : Moram da priznam da se u svim mojim programima, obrada svodi ili na celu bazu, ili na neki njen deo koji pronalazim baš preko dbSeek() , a dalje ide dbSkip() sve dok je uslov zadovoljen. >> Secanje te vara. Ako bas insistiras, petlja od 1000 dbSeek >> je kod NTX radila 3.76, kod CDX 17.8 (znaci 5 a ne 50 puta). >> Sminke radi ? Gledaj sad ovaj test : >> Brojcano : NTX - 0.61 CDX - 0.71 Evo još jedno testiranje(nema mreže, nema cache) FOR i=1 to 1000 dbGoTop() dbSeek('9', .t.) // a devetke ni od korova... // baza ima ¸4,700 slogova u ¸476K NEXT Vremena: NTX: 1.52; CDX: 5.22. Znači, usporenje je oko 3.44 puta. Svodeći to na samo jednu pretragu dobijamo vremena od 0.00152 i 0.00522 sec. Koji korisnik tu razliku primeti (pa još u mreži), svaka mu čast! >> Pa sad, razlika provlacenja 2.4 Mb u odnosu na 700 kb se itekako >> da osetiti ! Mislim da ovde CDX, bar u mreži odnosi pobedu nad NTX-om.
clipper.623 dzoric,
Kako da nateram GET da skroluje numerike s'desna ulevo, kao na klasičnim digitronima. #define NUMERIC_FORMAT "999,999,999.99" E sad kad radim GET npr: LOCAL nVar := 1 č x, y GET nVar PICTURE NUMERIC_FORMAT READ ...dobijam skrolovanje udesno sa "rupama" umesto zareza. Da li mogu klauzuli PICTURE podmetnuti svoju UDF. Pozdrav.. Dejan
clipper.624 neman, -> #620, dvesic
>>> Pored toga, mislim da brzini pravih CDX indeksa >>> doprinosi u stvari pomenuta cinjenica da se u datoteku >>> upisuje samo razlika u kljucu ( zato valjda i cita od >>> pocetka datoteku :) nego to da postoji samko jedna >>> datoteka. Ti moras da preturis xxx K(M)B indeksa kroz >>> mrezu pa bili oni jedna ili vise datoteka. > > Pa sad, razlika provlacenja 2.4 Mb u odnosu na 700 kb se > itekako da osetiti ! 'Jednu datoteku' sam pomenuo u vezi > sa brojem otvorenih fajlova u jednom trenutku a NE u vezi > sa brzinom indeksa. *II. Indeksi su *mnogo* manji - kod CDX-a se za susedni slog *smesta samo razlika u kljucu u odnosu na kljuc prethodnog *sloga (koliko to mnogo : Npr. NTX indeksi u velicini od *2.4 Mb su se konvertovali u 0.7 Mb CDX pandana; naravno, *sve zavisi i od tipa kljuca, ali cete ustedeti bar pola) Pravdanje odnosa 1:5 na stetu CDX-a dolazi u obzir samo kod pojedinacnog pristupa podacima. Kod bilo kog preracunavanja zasnovanog na pristupu podacima preko indeksa tako nesto nije prihvatljivo. Postoji jos jedan problem sa CDX-om. RTlink na zavrsetku povezivanja prijavljueje potrebu za 70Kb vecom memorijom potrebnom da bi se program startovao, pod uslovom da se NTX drajver ne iskljuci iz EXE programa. neman
clipper.625 aquarius, -> #617, neman
<> Po secanju, NTX je bio oko 50 puta brzi od CDX-a. 1. Secanje je secanje, al' izmeri jos jednom... Cini se da nije bas toliko drasticno, narocito ne u praksi. Stotinka vise, manje... <> jedna datoteka. Ti moras da preturis xxx K(M)B indeksa kroz <> mrezu pa bili oni jedna ili vise datoteka. 2. Nece biti da je to bas isto :), ima i mreza svoje prohteve, a "Murphy's Law" kaze... Osim toga xxx K(M)B je dosta manje kod CDX drajvera nego kod NTX-a, je'l da ? 3. Use File_1 Index Ind_1, Ind_2, Ind_3, ... Ind_15 via DBFNTX ili Use File_2 Index Indx_1 via DBFCDX Bez komentara... 4. set order to 1 goto recno() -> ovo zbog bug-a, kod DBFNTX drajvera vs set tag to F_ime Komentar kao pod brojem 3. 5. Use File_1 via DBFNTX Index on Filed_1 to Ind_1 FOR Use File_2 via DBFCDX Index on Filed_1 to Ind_1 FOR / WHILE / REST / NEXT / DESCENDING moze ovo i DBFNTX al' REINDEX ne radi, moras da pazis... 6. Memo polja DBFCDX blok 64 bytes vs DBFNTX blok 512 bytes, pa brzina pristupa, velicina, pa binar... <> vise samu brzinu pretrazivanja. Prvi test koji sam uradio sa <> CDX indeksima je bilo brzina SEEK naredbe u petlji od vise <> hiljada puta gde se trazilo jedan slog u bazi od par hiljada <> slogova. To je bio 7. Imas li takvu aplikaciju, koja sadrzi gore opisanu petlju ? :) 8. Verzija 5.2c ima neke izmene u pogledu RDD-a, a ne znam koju verziju ti koristis. 9. Ima tu jos toga, ali svako je kovac svoje srece... 10. A da je DBFNTX brz u pretrazivanju, brz je... Aquarius
clipper.626 aquarius, -> #610, snemcev
<> I'll send something else, ok? Na primer CRC32 :) Aquarius
clipper.627 aquarius, -> #604, dr.grba
<> Od jute, sa aplikacijama od plute (((: A pluta, je'l domaca :) Aquarius
clipper.628 aquarius, -> #614, dr.grba
<> I to sa kamatom 100%. Jel dnevno ? ;) Aquarius
clipper.629 aquarius, -> #623, dzoric
<> Kako da nateram GET da skroluje numerike s'desna ulevo, <> kao na klasicnim digitronima. Vidi fajl NUM2CALC.ZIP uz poruku 11.598 Aquarius
clipper.630 aquarius, -> #619, ndragan
<> Sta, definises tacku da ti izigrava zarez, i zaboravis da je <> skines, i kompajler sam zna kad ti vise ne treba pa skine sam? <> Ili moras za svaki GET gde ti to treba da pozivas premapiranje <> tastera? Ili mu je svejedno da li kucas tacku ili zarez - <> oboje smatra za tacku? Nisi jasan. Kompajler zna ono sto mu se kaze. Sta ce oznaciti decimalu odredis sam u nizu aKeys, tacka je zgodna zbog toga sto se nalazi na numerickoj tastaturi. Mislim da je "pemapiranje" teska rec u ovom kontekstu. Ovo pisem on-line, ako nisam jasan odgovoricu opet. Osim toga kod je tu, pa svako moze da ga preuredi. Aquarius
clipper.631 dvesic, -> #623, dzoric
>> Kako da nateram GET da skroluje numerike s'desna ulevo, >> kao na klasicnim digitronima. Pogledaj nekoliko dana unazad u ovoj konferenciji, za jednu od poruka je prikacen NUM2CALC.ZIP, koji je pravo resenje tvog problema. Pozdrav, Dejan.
clipper.632 dr.grba, -> #622, snemcev
>> Vremena: NTX: 1.52; CDX: 5.22. Znači, usporenje je oko 3.44 puta. >> Svodeći to na samo jednu pretragu dobijamo vremena od 0.00152 i >> 0.00522 sec. Koji korisnik tu razliku primeti (pa još u mreži), >> svaka mu čast! Mislim da je nadalje izlišno baviti se brzinama koje dobijamo ili gubimo primenom ovog ili onog drajvera indeksa. Hajde malo da se apsolvira utrošak memorije, mislim da je ovo kritičnije. >> Mislim da ovde CDX, bar u mreži odnosi pobedu nad NTX-om. Sa ovim se, već na nivou dvesiceve rasprave, u potpunosti slažem.
clipper.633 dr.grba, -> #623, dzoric
>> Kako da nateram GET da skroluje numerike s'desna ulevo, >> kao na klasičnim digitronima. U 11.598 je aquarius priložio funkciju koja to radi; mada ima prilično čudno ponašanje po pitanju decimalne tačke i onoga iz nje, funkcija radi prilično zanimljivo.
clipper.634 dvesic, -> #624, neman
>> prijavljueje potrebu za 70Kb vecom memorijom potrebnom da bi >> se program startovao, pod uslovom da se NTX drajver ne >> iskljuci iz EXE programa. Pa nesto moras da platis ako zelis pristup i vako i nako !
clipper.635 dr.grba, -> #633, dr.grba
Molim za pomoć u delu Clippera kojim ne vladam dobro. Dvesic mi je poslao demo program, koji je u cilju uštede UL/DL procedura smlatio PLL opcijom. Prethodno sam i ja njemu slao neki demo, a on nije mogao da ga startuje. Nakon par poruka dobio sam sugestiju da relinkujem BASE52.PLL, jer to nisam uradio nakon PATCH operacije na reviziju Clipper 5.2c. Ja to i uradih, a potom sam startovao program i dobio: error est0003: Error loading required .PLL "BASE52.PLL" .... .RTLink Startup Abort. error est0008: Incorrect PLL Checksum. Važna napomena je da sam prilikom relinkovanja PLL datoteke dobio poruku linkera: UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH: SYMBOL FIRST REFERENCE ------ --------------- 'RDDSYS' CLIPPER.LIB (Not defined by user request) 'ERRORSYS' CLIPPER.LIB (Not defined by user request) '__START_SYM' CLIPPER.LIB (Not defined by user request) '_end' CLIPPER.LIB '_edata' CLIPPER.LIB These should be resolved at .EXE generation time Obratite pažnju na ovaj poslednji red... Osećam se prilično bespomoćno... Možete li naslutiti u kom smeru je razrešenje? Da se pripremim za preinstalaciju Clippera? (o, ne samo to ne!) Napominjem da sam Clipper instalirao, a potom upotrebio direktan patch na reviziju C, dakle bez međukoraka. Po dokumentaciji, ovo je u redu. Takođe napominjem da su sve putanje, SET varijable i okruženje sistema postavljeni po propisu, višestruko prekontrolisano. Koristim 286 mašinu sa 2 MB RAM, što znači da nikakve egzotike ne leže rezidentno, osim ponekad NG. ---> Whatever you think you see, this is not a tagline.
clipper.636 arazumenic,
Ovo je odgovor na neku od prethodnih poruka, greskom izbrisanom iz SOR-a. Rec je o datoteci PALETA.ZIP, konkretno o PALETA.RMK. Ja koristim PROG.RMK datoteku na sledeci nacin: #ifdef i // instalaciona verzija Linker = rtlink čprog.lnk /silent exefile = prog.exe dirobj = c:ĐprogĐinstall .prg.obj: clipper $** /l /m /n /w /o$(dirobj)Đ$*.obj #else #ifdef d // debug verzija Linker = rtlink prog.lnk /silent exefile = debug.exe dirobj = c:ĐprogĐdebug .prg.obj: clipper $** /b /m /n /w /dDEBUG /o$(dirobj)Đ$*.obj #else // radna verzija Linker = blinker prog.ln1 exefile = radni.exe dirobj = c:ĐprogĐradni .prg.obj: clipper $** /m /n /d /w /o$(dirobj)Đ$*.obj #endif #endif $(dirobj)Đglavni.obj : glavni.prg $(dirobj)Đinit.obj : init.prg ...... $(exefile) : $(dirobj)Đglavni.obj $(dirobj)Đinit.obj Đ .... $(Linker) Ovde koristim tri poddirektorijuma koji mi sluze samo za cuvanje .OBJ fajlova: install, debug, radni. Prednosti: - ne moraju da se brisu .obj fajlovi kada god se prevodi sa drugim svičem što prouzrokuje da se uvek prevode samo menjani fajlovi, a ne svi - manje je fajlova u osnovnom (prog) direktorijumu Mana: - povecan utrosak prostoru na hard disku (oko 500kb - zanemarljivo) Saša
clipper.637 zorand, -> #616, svaba
> Naime, pri prevodenju programa sa CLIPPER 5.xx pojavljuje > se poruka u stilu "string space exhausted", sa navodenjem > funkcije i rednog broja Bug Clippera 5.2 (CA) - !! Resenje: PATCH na 5.2c Zoran
clipper.638 v.nesic, -> #623, dzoric
> Kako da nateram GET da skroluje numerike s'desna ulevo, > kao na klasičnim digitronima. PC.PROG.3: 11.299, autor toma.
clipper.639 aquarius, -> #619, ndragan
Takav sam covek, pa moram jos da pojasnim :), on-line je on-line, a editor je editor. <> Sta, definises tacku da ti izigrava zarez, i zaboravis da je <> skines, i kompajler sam zna kad ti vise ne treba pa skine sam? <> Ili moras za svaki GET gde ti to treba da pozivas premapiranje <> tastera? nVar1 := 0.00 ... ob1Get:reader := { |oGet| NL_GetReader( oGet ) } OVDE tacka i zarez iniciraju postavljanje kursora na odgovarajuce mesto cVar1 := Spac(10) ... ob2Get:reader := { |oGet| NL_GetReader( oGet ) } OVDE tacka i zarez imaju svaka svoju funkciju ... READMODAL( GetList ) TACKA izigrava ZAREZ samo u slucaju NUMERICKIH promenjivih, i to samo ako se koristi *NL_GetReader()*, -izigrava- ga u smi- slu da postavlja kursor na odgovarajuce mesto, dakle ako pogle- das source, videces da kompajler nema veze s tim, u smislu ne- kog prepoznavanja kad, sta i kako, niti formulacija "premapira- nje" tu ima mesta. A kad smo vec kod "premapiranja", koje izgleda predstavlja problem, sta se dobija komandom FOX-a : <> On Key Label "." Keyb "," i sta tu izigrava TACKA :))), i moze li se poistovetiti sa ne- cim iz mojeg koda? O zaboravljanju i skidanju nema potrebe ra- zmisljati, jer tu nista nije ni pamceno, ni postavljano, sve sto treba uraditi je: oGet:reader := { |oGet| NL_GetReader( oGet ) } a funkcija *fNumsOnly()* brine dalje. <> tastera? Ili mu je svejedno da li kucas tacku ili zarez - <> oboje smatra za tacku? U ovom slucaju TACKA je zgodnija od ZAREZA jer se nalazi na numerickoj tastauri. Clipper 5.2c n := 0.00 @ 10, 10 Get n Pict "999.99" Read Gde ce se postaviti cursor pritiskom na taster TACKA ".", a gde pritiskom na TASTER zarez "," ??? U OBA slucaja na DECIMALU. <> Nisi jasan. Da li sada jesam ? I na kraju, namera je bila da dam svoj prilog lepoj akciji. Svako neka prosudi i presudi, pa ako nadje za shodno ili zgodno da to upotrebi bice dobro, ako ne opet dobro. U sva- kom slucaju, spreman sam da prodiskutujem o svemu. btw - Da li si probao kako radi NUM2CALC.exe ? Moze li nesto slicno da se uradi u FOX-u ? P.S. Ovo me je nateralo da ponovo pregledam kod, te ustanovih da pritisak na ZAREZ nema isti efekat kao pritisak na TACKU. Saljem fajl sa ispravkom ove greske. Sretna Srpska Nova Godina svim Sezamovcima ! Aquarius num2calc.zip
clipper.640 aquarius, -> #633, dr.grba
<> U 11.598 je aquarius prilozio funkciju koja to radi; mada ima ^^^^^^^^ <> prilicno cudno ponasanje po pitanju decimalne tacke i onoga iz ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <> nje, funkcija radi prilicno zanimljivo. ^^^ ? Aquarius
clipper.641 dzoric,
Poziv svim Clipper, C, ASM programerima !!! Imam predlog da zajedničkim snagama uradimo Public Domain Library za Clipper( SEZAM.LIB ), možda po uzoru na Nanfor.lib. Svako bi dostavio predlog funkcija koje bi ušle u LIB. Tačno je da postoje lib-ovi koji rade sve i svašta ali ima i dosta specifičnih stvari koje su vezane za naše podneblje. Ajde da sve to sredimo, dokumentujemo i stavimo svima na raspolaganje. Možda bi moderator konferencije mogao da vodi ovaj projekat. Iznesite svoje mišljenje... P.S. Zahvalan sam za Num2Calc.zip, to je to... Pozdrav.. Dejan
clipper.642 aquarius, -> #612, dvesic
<> Evo moj mali doprinos radu konferencije ... <> <> Nadam se da ce nekom koristiti ... <> <> Moja iskustva u radu sa CDX ideksima Directory of C:\CLIPPER5\OBJ NTXLOCK2 OBJ 302 06-10-93 5:22p CDXLOCK OBJ 6679 08-06-93 5:23p Vec sam pitao dva puta, ali bezuspesno. Imas li iskustva sa ova dva fajla. Narocito me zanima CDXLOCK.OBJ . Cemu sluze. Aquarius
clipper.643 bulaja, -> #641, dzoric
│Imam predlog da zajedničkim snagama uradimo Public Domain │Library za Clipper( SEZAM.LIB ), možda po uzoru na Nanfor.lib. └─── Razmisljao sam ja jos davno o tome, ali sam zakljucio da jos nije vreme za to :). Bice vreme onda kada se na Sezamu skupi kriticna kolicina raznih domacih funkcija i biblioteka za Clipper, a za sada (i pored nekoliko zanimljivih priloga u poslednje vreme) to jos uvek nije slucaj. No, ne treba odustajati od ove ideje :) - mozda vec za mesec-dva budemo mogli konacno da napravimo SezamClip v1.0 Library! :).
clipper.644 nbatocanin, -> #620, dvesic
> U obradi n slogova brzina dbSeek-a je (skoro) nevazna > u odnosu na brzinu dbSkip-a uz odredjene indekse. Ne uvek. Ako je tekuća tabela spojena sa SET RELATION sa 2-3 druge, onda ti je svako pomeranje pokazivača sloga u tekućoj tabeli, u stvari, nekoliko puta SEEK. A ovo je veoma često. > Gde je razlika od 5 (50) puta ? Nesumnjivo su NTX indeksi > za koji procenat brzi, sto je i logicno - ipak su oni > genericki format za Clipper. SIX drajver koristi isti format, pa je (izgleda) brži od NTX drajvera. Pre će biti da CA namerno traljavi sa CDX drajverom i tako ostavlja prostor za druge proizvođače.
clipper.645 ndragan, -> #630, aquarius
/ Kompajler zna ono sto mu se kaze. Sta ce oznaciti decimalu / odredis sam u nizu aKeys, tacka je zgodna zbog toga sto se / nalazi na numerickoj tastaturi. Mislim da je "pemapiranje" Ajmo onda u detalje. Kad ja u foksu stavim on key label "." keyboard "," on mi do daljnjeg (dok ne skinem) svaki pritisak na tačku pretvara u zarez. Zato to i ne radim, nego na GET ostavim decimalnu tačku, a na izveštajima držim decimalni zarez i tačku za hiljade. Mislio sam na premapiranje tog jednog tastera za vreme GETa, što u načelu može da se izvede i ovako. Kada se radi ta predefinicija u kluperu, i odakle dokle važi. Da li na nivou jednog GETa, na nivou jednog READa, ili od stavljanja do skidanja?
clipper.646 ndragan, -> #617, neman
/ Racunarima koji je samo potrvdio tezu da je CDX dosta traljavo / realizovan CDX je super, možda je drajver traljav. U samom foksu, gde je taj indeks domaći, doprinosi poprilično. Za pravi test, nemoj hiljadu puta tražiti isti slog. Strpaj sto ključeva iz sto slučajnih slogova u niz, pa traži kroz petlju te slogove redom. Tako ćeš odsimulirati stvarnu situaciju bolje nego u prvom testu. Drugo, ideja .cdx indeksa nije samo u dobijanju kompaktnijeg indeksa, nego da se za masovne pretrage po bazi ne čita sama baza, nego samo indeks. Ubrzanje je u foksu drastično, a čisto sumnjam da je baš cela Rašmor tehnologija ugrađena u CDX drajver za kliper.
clipper.647 dvesic, -> #644, nbatocanin
>> SIX drajver koristi isti format, pa je (izgleda) brzi od NTX >> drajvera. Pre ce biti da CA namerno traljavi sa CDX drajverom >> i tako ostavlja prostor za druge proizvodace. Razlike u brzini sa SIX i (najnovijim) CDX drajverom su vrlo male (provereno). Sto se tice relacija, opet, kada sve uzmes u obzir korisnik NECE primetiti usporenje u MREZNOJ varijanti (provereno ;) Doduse, malo, malecno usporenje se primecuje u jednokorisnickoj varijanti, ali to sam ja primetio, jer sam na to obracao paznju.
clipper.648 dr.grba, -> #635, dr.grba
>> Osećam se prilično bespomoćno... Možete li naslutiti u kom smeru je >> razrešenje? Da se pripremim za preinstalaciju Clippera? (o, ne samo >> to ne!) Preinstalacijom Clippera i patch procedurom ispočetka stvar je sređena. Evidentno sam nešto pobrljavio u prvobitnoj proceduri. Jedinno logično objašnjenje je, dakle, moja greška. I zato se izvinjavam na buci koju sam napravio.
clipper.649 dr.grba, -> #636, arazumenic
>> Mana: >> - povecan utrosak prostoru na hard disku (oko 500kb - zanemarljivo) ...koji je po mom viđenju izlišan. Vidiš, onaj RMK koji ja koristim radi dobro zato što ću radnu verziju (bez brisanja .OBJ) koristiti redovno, a DEMO ili FINAL verziju uradiću na samom kraju, a najviše jednom u par dana. Prema tome, izlišno je bojati se praktično retkih prilika kada se svi PRG fajlovi ponovo kompiluju. Taj utrošak vremena kod mene u praksi teško da prelazi pet minuta nedeljno... No, sad, taj tvoj primer je izvrsna ilustracija mogućnosti RMAKE skriptova. Krajnja namera i meni je bila reklamiranje onog što je svima nama ispred nosa, a što mnogi od nas - bez ikakvog logičnog razloga - ne upotrebljavaju. I sa zadovoljstvom ću se poigrati tim skriptom.
clipper.650 snemcev, -> #642, aquarius
>> NTXLOCK2 OBJ 302 06-10-93 5:22p Ovo ima veze sa zaključavanjem .ntx datoteka u mreži. Stari Clipper koristi ofset 1,000,000,000 decimalno, a kako se ispostavilo da to nije uvek dovoljno daleko, nov koristi FFFFFFFFh (što je i maksimum) tako da po tom pitanju nisu kompatibilni, pa ako hoćeš da koristiš novu šemu zaključavanja (što radiš svesno znajući da u neki stari program može da upotrebi ovako zaključan index i izazove ko zna kakve posledice), moraš eksplicitno navesto zahtev za linkovanje ovog .obj u .exe.
clipper.651 arazumenic, -> #649, dr.grba
-> dobro zato što ću radnu verziju (bez brisanja .OBJ) koristiti redovno, -> a DEMO ili FINAL verziju uradiću na samom kraju, a najviše jednom u par Da, ovo je tačno. Ali ne užasno nervira čekanje da izvrši prevodjenje svih .PRG fajlova (jedan program ima ih tačno 50, oko 420 kb sorsa). A još kada bi moglo u .LNK fajlu da se napiše nešto kao: #ifdef d ... #endif pa da nemam dva-tri skript fajla za linker, bilo bi izvanredno. Saša
clipper.653 dr.grba, -> #643, bulaja
>> mozda vec za mesec-dva budemo mogli konacno da napravimo >> SezamClip v1.0 Library! :). Podržavam ovu izvanrednu ideju iz sve snage! Mislim da bi Bulaja bio dobar koordinator akcije.
clipper.652 dr.grba, -> #640, aquarius
>> <> prilicno cudno ponasanje po pitanju decimalne tacke i onoga iz ... >> ? Ako otkucam 1234.5<ENTER>, ja očekujem da sam otkucao 1234.50, a ne 1234.05. Ovo je u najmanju ruku čudno, ako ne bismo stvar nazvali i bagom. Da li je sad jesna moja opservacija?
clipper.654 neman, -> #646, ndragan
> indeks. Ubrzanje je u foksu drasticno, a cisto sumnjam da > je bas cela Rasmor tehnologija ugradena u CDX drajver za > kliper. Ja Rushmore tehniku ubacujem sam u program, a i nisam znao da se to tako zove :) neman
clipper.655 dr.grba, -> #651, arazumenic
>> Da, ovo je tačno. Ali ne užasno nervira čekanje da izvrši >> prevodjenje svih .PRG fajlova (jedan program ima ih tačno 50, oko >> 420 kb sorsa). Ne znam kako ti to radiš, ali ovi momenti su kod mene posvećeni toploj, crnoj mirišljavoj tečnosti proizvedenoj kuvanjem praha dobijenog mlevenjem prženih semenki jedne tropske biljke (: >> A još kada bi moglo u .LNK fajlu da se napiše nešto kao: (((: A ja mislio da sam jedina lenština među kliperašima na Sezamu (((:
clipper.656 dr.grba, -> #654, neman
>> Ja Rushmore tehniku ubacujem sam u program, a i nisam znao da se to >> tako zove :) A kako to radiš? ---> Peek Poke, čaj za bolje programiranje.
clipper.657 dragisha, -> #646, ndragan
-> Drugo, ideja .cdx indeksa nije samo u dobijanju kompaktnijeg indeksa, -> nego da se za masovne pretrage po bazi ne čita sama baza, nego samo Bilo koji indeks koji koristi nešto jače od običnog B drveta ne čita bazu, osim kad radi Get (i piše kad radi Delete)!? Razlika u brzini između ta dva pristupa je ogromna i ne mogu da vjerujem da neko ima komercijalan DBMS koji koristi obično B drvo!? Ima li?:) BTW (da ne pravim dvije replike:) dvesic je rekao da manji broj datoteka doprinosi brzini mrežnog rada. Malo kliperaški ograničeno:), nije mu palo na pamet da je najbrži mrežni rad onaj u kome se datoteke ne bi stalno otvarale-zatvarale kako to radi većina "mrežo-podržavajućih" programa.
clipper.658 madamov,
Interesuje se jedan moj drugar da li postoji neka biblioteka za Clipper za rad sa bar kodom?
clipper.659 dvesic, -> #657, dragisha
>> BTW (da ne pravim dvije replike:) dvesic je rekao da manji >> broj datoteka doprinosi brzini mreznog rada. Malo kliperaski >> ograniceno:), nije mu palo na pamet da je najbrzi mrezni rad >> onaj u kome se datoteke ne bi stalno otvarale-zatvarale kako >> to radi vecina "mrezo-podrzavajucih" programa. Palo mi je na pamet ! Objasni mi samo, molim te, kako da u projektu za celu firmu (Velikoprodaja, maloprodaja, plate, sintetika, analitika, reprodukcija ...) dobijem na brzini drzeci otvorenih 36 baza sa pripadajucim indeksima ? Pozdrav, Dejan.
clipper.660 neman, -> #656, dr.grba
> A kako to radis? Zar stvarno neznas sta je Rushmore ;) neman
clipper.661 neman, -> #659, dvesic
>>> onaj u kome se datoteke ne bi stalno otvarale-zatvarale >>> kako to radi vecina "mrezo-podrzavajucih" programa. > sintetika, analitika, reprodukcija ...) dobijem na brzini > drzeci otvorenih 36 baza sa pripadajucim indeksima ? A sto da ne budu otvoreni. Radi se samo o tome da radis dbcommit() redovno i sve je ok. Inace otvaranje & zatvaranje datoteka je spora stvar da bi se non-stop izvrsavala. neman
clipper.662 arazumenic, -> #655, dr.grba
-> (((: A ja mislio da sam jedina lenština među kliperašima na Sezamu (((: Nije ovde u pitanju samo lenjost, već mi se dešavalo da zaboravim da dodam funkciju u skript fajl. A najgora stvar je ta kada izbacujem neku funkciju, ako zaboravim da je izbacim iz skript fajla, onda se onda ulinkuje u program i nepotrebno zauzima mesto. Saša
clipper.665 dr.grba,
Poznato mi je da postoji jedan bit koji će opredeliti da li će deklaracija boje "N/W*" rezultovati blinkom ili highlight pozadinom. Hteo bih da mogu ovo da iskoristim, tj. da bude pod mojom kontrolom. Dakle, ako hoću jedno, da ekran izgleda tako, ako hoću drugo, takođe. Kako nisam poznavalac asemblera, koji je verovatno neophodan da bi se ovo rešilo, molio bih neku dobru dušu da mi pomogne. Takođe bih voleo da čujem raspravu na temu kako se ovo ponaša na različitim video kartama. Poseban akcenat u mojim potrebama jeste Hercules grafika. ---> žaj Peek Poke, podmladite svoje programe!
clipper.664 dr.grba, -> #661, neman
>> i sve je ok. Inace otvaranje & zatvaranje datoteka je spora stvar >> da bi se non-stop izvrsavala. Ne non stop. Ali kad treba. Ježim se od programa koji na početku otvore sve moguće baze i pripadajuće indekse, trebale one - ne trebale, po principu "Vozi, Miško". To je u najmanju ruku neozbiljno i nedostojno profesionalnog pristupa programiranju. ---> žaj Peek Poke, low level inspiracija.
clipper.663 dr.grba, -> #660, neman
>> > A kako to radis? >> >> Zar stvarno neznas sta je Rushmore ;) Znam šta je Rushmore. I znam da je inplementiran na niskom nivou. Što će dalje reći da nije na meni kao programeru da se time bavim. A tvoja poruka je aludirala na neke ručne intervencije koje bi trebalo da posećaju na Rushmore tehnologiju. Ako sam te pogrešno razumeo, izvini. A ako te nisam pogrešno razumeo, onda te molim da u par reči kažeš kako ti to radiš, čisto informativno, jer sticajem okolnosti ova tema u ovoj konferenciji se bavi razmenom iskustava u radu sa Clipperom. ----> žaj Peek Poke, za vašeg kompjutera skok!
clipper.666 djelovic, -> #664, dr.grba
> Ježim se od programa koji na početku otvore sve moguće baze i pripadajuće > indekse, trebale one - ne trebale, po principu "Vozi, Miško". To je u > najmanju ruku neozbiljno i nedostojno profesionalnog pristupa programiranju A zašto da se ne radi tako? Ne vidim razloga da se ekonomiše sa otvorenim datotekama. Jel to neka specifičnost Clippera ili opšti princip?
clipper.667 bulaja, -> #665, dr.grba
│Poznato mi je da postoji jedan bit koji će opredeliti da li će │deklaracija boje "N/W*" rezultovati blinkom ili highlight pozadinom. │Hteo bih da mogu ovo da iskoristim, tj. da bude pod mojom kontrolom. └─── Nisam bas siguran da sam shvatio sta hoces :), ali u Clipper-u postoji funkcija SetBlink() kojom odredjujes kako ce se tretirati "*" u color atributima: SETBLINK() Toggle asterisk (*) interpretation in SETCOLOR() string between blinking and background intensity ────────────────────────────────────────────────────────────────────────────── Syntax SETBLINK([<lToggle>]) --> lCurrentSetting Arguments <lToggle> changes the meaning of the asterisk (*) character when it is encountered in a SETCOLOR() string. Specifying true (.T.) sets character blinking on and false (.F.) sets background intensity. The default is true (.T.). Returns SETBLINK() returns the current setting as a logical value. Description SETBLINK() is an environment function that toggles the blinking/background intensity attribute and reports the current state of SETBLINK(). When SETBLINK() is on, characters written to the screen can be made to blink by including an asterisk (*) in a color string passed to SETCOLOR(). When SETBLINK() is off, the asterisk (*) causes the background color to be intensified instead. Thus, blinking and background intensity attributes are not available at the same time.
clipper.668 madamov, -> #666, djelovic
> Jel to neka specifičnost Clippera ili opšti princip? Valjda opšti princip, jer ako skikne da se nanese što manje štete po otvorene datoteke.
clipper.669 neman, -> #663, dr.grba
> Znam sta je Rushmore. I znam da je inplementiran na niskom > nivou. Sto ce dalje reci da nije na meni kao programeru da > se time bavim. Ja radim to isto, znaci da pri pravljenju upita na bazu sam povedem racuna o tome da li mogu da ubrzam pristup odgovarajucim podacima koriscenjem indeksa. Samim tim smatram da jeste na meni da vodim racuna o organizaciji podataka. A Rushmore tehniku u konkretnoj implementaciji na Foxu nisam koristio, citao sam samo o tome u Racunarima, i informisao se tu i tamo a mislim i ovde:). neman
clipper.670 neman, -> #664, dr.grba
> Ne non stop. Ali kad treba. Treba samo kad se izlazi iz programa ili neko pokusava reindeksiranje. > Jezim se od programa koji na pocetku otvore sve moguce > baze i pripadajuce indekse, trebale one - ne trebale, po > principu "Vozi, Misko". To je u Pa i ja mislim i primenjujem to da program treba da otvori sve potrebne datoteke ( mislim i na indekse ) pa bilo njih i 30-40. neman
clipper.671 neman, -> #668, madamov
> Valjda opsti princip, jer ako skikne da se nanese sto > manje stete po otvorene datoteke. Jel se to opet vracamo na raspravu o DBCOMMIT()-u ?? neman
clipper.672 dejanr, -> #666, djelovic
>> > Ježim se od programa koji na početku otvore sve moguće baze i >> > pripadajuće indekse, trebale one - ne trebale, po principu >> > "Vozi, Miško". To je u najmanju ruku neozbiljno i nedostojno >> > profesionalnog pristupa programiranju >> >> A zašto da se ne radi tako? Ne vidim razloga da se ekonomiše sa otvorenim >> datotekama. Jel to neka specifičnost Clippera ili opšti princip? Ako se radi "po knjizi", datoteku treba otvarati tek onda kada je njen sadržaj potreban i zatvarati u onom trenutku kada njen sadržaj prestane da bude potreban. Tako se, u teoriji (a i u praksi) obezbeđuje maksimalna sigurnost podataka, pošto je zatvorena datoteka manje podložna oštećenjima od otvorene. Sa druge strane, ja ne držim previše do te teorije - prečesto otvaranje datoteka i indeksa troši dosta vremena (uvek probaj, dal' je na disku, dal' su indeksi na disku, može li da se otvori itd), a sigurnost je sasvim dovoljna ako se po intervenciji uradi COMMIT (ili odgovarajuća naredba).
clipper.673 dvesic,
Jedna mala zanimljivost : Usmerite kreiranje OBJ fajlova u (skoro) pun direktorijum i krenite da kompajlirate neki veliki projekat .. Dobija se greska koja nema bas mnogo veze sa problemom ...
clipper.674 snemcev,
>> Usmerite kreiranje OBJ fajlova u (skoro) pun direktorijum i A kakav je to "pun direktorijum"? Zar Dos ne alocira klastere za direktorijume po potrebi?
clipper.675 dr.grba, -> #667, bulaja
>> Nisam bas siguran da sam shvatio sta hoces :), ali u Clipper-u >> postoji funkcija SetBlink() kojom odredjujes kako ce se tretirati >> "*" u color atributima: A? Gubim kosu! I pokrivam se ušima. Da, trebalo mi je to što radi ta funkcija. ...Ali ja i dalje odbijam da naučim napamet sve funkcije i komande Clippera.
clipper.676 dr.grba, -> #670, neman
>> Pa i ja mislim i primenjujem to da program treba da otvori sve >> potrebne datoteke ( mislim i na indekse ) pa bilo njih i 30-40. Kako hoćeš. Ja ostajem pri svome.
clipper.677 dr.grba, -> #673, dvesic
>> Usmerite kreiranje OBJ fajlova u (skoro) pun direktorijum i >> krenite da kompajlirate neki veliki projekat .. Dobija se Htede li ti to reći "pun disk"?
clipper.678 madamov, -> #671, neman
> Jel se to opet vracamo na raspravu o DBCOMMIT()-u ?? Nemam pojma, u Clipperu samo gostujem ponekad, pratim ovu temu zbog drugara koji se njime bave a nisu na Sezamu. Mislio sam da je dr.grba govorio i generalno o kulturi otvaranja/zatvaranja fajlova.
clipper.679 dr.grba, -> #678, madamov
>> koji se njime bave a nisu na Sezamu. Mislio sam da je dr.grba >> govorio i generalno o kulturi otvaranja/zatvaranja fajlova. E, da. Moglo bi se pričati i o mnogim drugim sličnim stvarima, ali čak i mene moj sopstveni cinizam ponekad umori...
clipper.680 dvesic, -> #674, snemcev
>> A kakav je to "pun direktorijum"? Zar Dos ne alocira klastere >> za direktorijume po potrebi? Alocira. Greska u izrazavanju. Nisam mislio "pun" u smislu da je npr. u root-u popunjeno 63 od 64 mesta za fajlove vec u smislu da je na tom disku ostalo jos kilobajt - dva.
clipper.681 bulaja, -> #666, djelovic
│A zašto da se ne radi tako? Ne vidim razloga da se ekonomiše sa otvorenim │datotekama. Jel to neka specifičnost Clippera ili opšti princip? └─── Pa svaka otvorena datoteka ti guta odredjenu memoriju za file buffer. Ako je prostor koji se koristi za smestanje buffer-a ogranicen (a mislim da je kod Clipper-a ogranicen na 64 Kb za sve otvorene datoteke), onda ce veci broj otvorenih datoteka znaciti manji prosecan buffer, sto opet znaci dosta sporiji rad sa diskom. Cak i da ovaj prostor nije interno ogranicen, cini mi se da je mnogo bolje da se neke datoteke otvaraju samo po potrebi. Npr. ako imas neku datoteku koja se koristi (i to retko) samo u jednom modulu aplikacije, daleko lakse za odrzavanje ce ti biti da kompletne poslove sa njom (sto ukljucujue i kreiranje, otvaranje i zatvaranje) radis samo u tom modulu.
clipper.682 djelovic, -> #681, bulaja
> Pa svaka otvorena datoteka ti guta odredjenu memoriju za file buffer. > Ako je prostor koji se koristi za smestanje buffer-a ogranicen (a mislim > da je kod Clipper-a ogranicen na 64 Kb za sve otvorene datoteke), onda > ce veci broj otvorenih datoteka znaciti manji prosecan buffer, sto opet > znaci dosta sporiji rad sa diskom. To je daklem Clipper specifičnost :). BTW, što se tiče sigurnosti podataka, pa i onako se pri svakom otključavanju sloga/datoteke svi baferi prazne (da bi promene bile vidljive i ostalim radnim stanicama), te si opet na istom kao da si zatvorio datoteku samo što si posao uradio znatno brže. A ako gledamo logiku programa, ima li šta logičnije i konzistentnije od toga da se sve tabele na jednom mestu otvore i na jednom mestu zatvore, mesto da se to radi po celom programu pa kada naknadno dodaš joj jedan indeks moraš svuda da menjaš program? Izgleda da je jedini valjani razlog da se eksplicitno otvaraju i zatvaraju datoteke po celom programu ušteda fajl hendlova što je bilo bitno na nekim ranijim sistemima (Novell 2.X mi pada na pamet), ali je danas potpuno nebitno. Doduše, troši se i neka memorija ali je ona zanemarljivo mala.
clipper.683 nbatocanin, -> #647, dvesic
> Sto se tice relacija, opet, kada sve uzmes u obzir > korisnik NECE primetiti usporenje u MREZNOJ varijanti > (provereno ;) Odlično, to je dobra vest. Baš sam ozbiljno nameravao da pređem na DBFCDX, ali sam odustao zbog povećane potrošnje memorije. Ipak mislim da je pametno sačekati da nova stvar "odstoji" pa je onda baciti u realan i surov život.
clipper.684 nbatocanin, -> #646, ndragan
> Za pravi test, nemoj hiljadu puta tražiti isti slog. > Strpaj sto ključeva iz sto slučajnih slogova u niz, pa > traži kroz petlju te slogove redom. Tako ćeš odsimulirati > stvarnu situaciju bolje nego u prvom testu. Naravno, tako i radim. O kom testu govoriš (pišeš)?
clipper.685 ndragan, -> #639, aquarius
/ TACKA izigrava ZAREZ samo u slucaju NUMERICKIH / promenjivih, Tj, ti kačiš svoju funkciju kao GET drajver i to je to. Tako nešto ne postoji u foksu, nego se lepo okači da svaki pritisak na tačku gurne zarez u bafer tastature i to je onda to. To je onda OKL (on key label) rutina koja mapira jedan taster, i ako se ne skine na vreme, ostaje aktivna do kraja. To je ta razlika što je kliper otvoren za sve moguće manipulacije koje ti padnu na pamet, a foks već ima sve što mi je dosad palo na pamet. Eventualno bi se moglo postići odgovarajućom kombinacijom When i Valid funkcija postići da se pozove tako neki drajver i onda rezultat ukucavanja direktno krkne u varijablu odnosno polje, i forsirano pređe na sledeći GEt.
clipper.686 ndragan, -> #657, dragisha
/ mu palo na pamet da je najbrži mrežni rad onaj u kome se / datoteke ne bi stalno otvarale-zatvarale kako to radi E pa moraju s vremena na vreme da se zatvaraju. Nemaju sve mušterije UPSove na svim mašinama. Sad je samo štos u tome da se to minimizuje.
clipper.687 ndragan, -> #659, dvesic
/ drzeci otvorenih 36 baza sa pripadajucim indeksima ? Sve otvoreno? Kako izdržavaš tu promaju?
clipper.688 ndragan, -> #662, arazumenic
/ Nije ovde u pitanju samo lenjost, već mi se dešavalo da / zaboravim da dodam funkciju u skript fajl. A najgora stvar Aman čoveče napiši neko programče koje će da ti pretrči po direktoriju i ispiše nov .lnk fajl. Ili si ona druga vrsta lenjih programera koju mrzi da napiše nešto nego kuca istu kobasicu sto puta?
clipper.689 arazumenic, -> #688, ndragan
-> Aman čoveče napiši neko programče koje će da ti pretrči po direktoriju -> i ispiše nov .lnk fajl. Ili si ona druga vrsta lenjih programera koju -> mrzi da napiše nešto nego kuca istu kobasicu sto puta? Nije problem u tome da se napiše to programče, a naravno da mi je lakše da ga napišem nego da stalno ispravljam sve .lnk fajlove. Ali (večito ali) tu ima jedan problem. Glavni meni ima 5 izbora. Svaki od njih ima još 3-9 podizbora, a neki od njih još 2-7 podpodizobra. U .rmk i .lnk fajlovima su navedeni po meni najlogičnijim redosledom: // glavni1 podizbor1 podpodizbor1 podpodizbor2 ... podizbor2 podpodizbor1 podpodizbor2 ... // glavni2 E to programče ne može znati gde da ga doda. Saša
clipper.690 arazumenic, -> #675, dr.grba
-> ...Ali ja i dalje odbijam da naučim napamet sve funkcije i komande Clippera. Pa ne moraš da ih učiš napamet. Kada ti nešto zatreba, startuj NG, otvori uputstvo, pregledaj ranije poruke... Saša
clipper.691 dr.grba, -> #681, bulaja
>> samo po potrebi. Npr. ako imas neku datoteku koja se koristi (i to >> retko) samo u jednom modulu aplikacije, daleko lakse za odrzavanje >> ce ti biti da kompletne poslove sa njom (sto ukljucujue i >> kreiranje, otvaranje i zatvaranje) radis samo u tom modulu. Amin!
clipper.692 dr.grba, -> #682, djelovic
>> logičnije i konzistentnije od toga da se sve tabele na jednom mestu >> otvore i na jednom mestu zatvore, mesto da se to radi po celom >> programu pa kada naknadno dodaš joj jedan indeks moraš svuda da >> menjaš program? A zar ne bih mogao da iskoristim funkciju Open(dbf_name)? Pa u njoj da obavim sve vudu vradžbine?
clipper.693 bulaja,
Da li je neko slucajno imao prilike da vidi :) fajl C52G03B.NG - Clipper 5.2 Technical Reference? :)
clipper.694 bulaja, -> #682, djelovic
│A ako gledamo logiku programa, ima li šta logičnije i konzistentnije od │toga da se sve tabele na jednom mestu otvore i na jednom mestu zatvore, │mesto da se to radi po celom programu pa kada naknadno dodaš joj jedan │indeks moraš svuda da menjaš program? └─── Logicno je ako se radi o bazama podataka koje se koriste cesto, tj. koje su osnova programa. Ali ako imas baze podataka koje se koriste retko i samo u odredjenim delovima programa, onda nema nikakve potrebe da ti ta baza zvrji otvorena i trosi handle ili file buffer. Ako imas standardizovane funkcije za otvaranje baza i indeksa (npr. preko recnika podataka), za promene koje bi nastale dodavanjem indeksa ne treba uopste da brines. Zamisli slucaj da imas neke baze podataka koje se relativno retko pozivaju - npr. u programu imas popunjavanje nekih obrzaca sa adresama, siframa delatnosti, kursem marke itd. Korisnik moras omoguciti da iz polja za unos pozove help gde iz tabele moze izabrati neki postanski broj mesta, sifru delatnosti, ili kurs marke iz baze kurseva. Mozes uraditi da ti te baze stoje stalno otvorene, a mozes ih otvarati tek po potrebi, iz help procedure. Ako se odlucis da takve baze otvaras tek kad ti zatrebaju (u help proc), onda mozes kompletan help za izbor odredjenog podatka (PostBroj, SifDel, KursDEM) da zatvoris u jedan modul i prekines da brines o bilo cemu. Onda istu proceduru mozes da koristis u drugim programima, ne misleci da li su baze otvorene i ne. Cak i da u nekom programu istu bazu drzis vec otvorenu, ne moras mnogo da lupas glavu oko toga jer se ista baza kao shared moze bez problema otvoriti u vise oblasti.
clipper.695 dr.grba, -> #690, arazumenic
>> Pa ne moraš da ih učiš napamet. Kada ti nešto zatreba, startuj NG, >> otvori uputstvo, pregledaj ranije poruke... Nogekako. Moj NG direktorijum ima najveći obim od svih: preko 6 MB. (: Samo je fora videti sve. Nekako nije kunst sedeti i listanjem tražiti šta sve ide kuda kako kome koliko zašto gde i kada. Osim toga, imam Sezam (: P.S. A šta misliš, šta sam uradio 20 sekundi nakon što sam pročitao onu Bulajinu poruku? (:
clipper.696 aquarius, -> #652, dr.grba
<> Ako otkucam 1234.5<ENTER>, ja ocekujem da sam otkucao 1234.50, <> a ne 1234.05. Ovo je u najmanju ruku cudno, ako ne bismo stvar <> nazvali i bagom. <> <> Da li je sad jesna moja opservacija? A ako otkucas 1234.50<ENTER> dobices 1234.50 :) . Covek je trazio skrolovanje numerickog GET-a, s desna na levo. Inace mislim da si u pravu, ali bi to sto ti ocekujes bilo malo te- sko za kontrolu. A da ti pravo kazem, meni je to jednom trebalo zbog neke aplikacije, ljudi bili zadovoljni, i ja to tako ostavio, nisam dalje razmisljao. Mozda sad hocu! Uostalom ima li predloga ??? Aquarius
clipper.697 aquarius, -> #645, ndragan
<> Ajmo onda u detalje. Kad ja u foksu stavim <> <> on key label "." keyboard "," ... <> Mislio sam na premapiranje tog jednog tastera za vreme GETa, <> sto u nacelu moze da se izvede i ovako. Kada se radi ta <> predefinicija u kluperu, i odakle dokle vazi. Da li na nivou <> jednog GETa, na nivou jednog READa, ili od stavljanja do <> skidanja? Ta predefinicija ne postoji u Clipper-u, mada bi mogla da se simulira. Ali sto se tice NUM2CALC-a, nema ni potrebe. Aquarius
clipper.698 aquarius, -> #692, dr.grba
<>>> logicnije i konzistentnije od toga da se sve tabele na <>>> jednom mestu otvore i na jednom mestu zatvore, mesto da se <>>> to radi po celom programu pa kada naknadno dodas joj jedan ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <>>> indeks moras svuda da menjas program? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <> <> A zar ne bih mogao da iskoristim funkciju Open(dbf_name)? Pa u ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <> njoj da obavim sve vudu vradzbine? Probaj da iskoristis DBFCDX drajver. :) ! Aquarius
clipper.699 aquarius, -> #695, dr.grba
<> Nogekako. Moj NG direktorijum ima najveci obim od svih: preko <> 6 MB. (: ^^^^ Samo ? <> <> Samo je fora videti sve. Nekako nije kunst sedeti i listanjem <> traziti sta sve ide kuda kako kome koliko zasto gde i kada. Treba procitati makar jednom, da ti ostane u secanju da tako nesto postoji, pa posle samo potrazis. Uostalom zar tvoja poruka 11.206 ne zapocinje ovako : <> Mnogi progameri, u koje spada vecina nas, su skloni da <> preskacu drugarske sugestije kojih ima na tone po raznim <> tutorijalima, NG i Hypertext fajlovima, istovremeno se ljuteci <> zasto "bas ovo nedostaje u jeziku, kakva glupost, sad moram to <> sam da resavam....." :))) Aquarius
clipper.700 aquarius, -> #685, ndragan
<> Tj, ti kacis svoju funkciju kao GET drajver i to je to. Tako <> nesto ne postoji u foksu, nego se lepo okaci da svaki pritisak <> na tacku gurne zarez Tako nekako... Samo sto je to o:GetReader, a ne drajver. Aquarius
clipper.702 aquarius, -> #693, bulaja
<> Da li je neko slucajno imao prilike da vidi :) fajl C52G03B.NG <> - Clipper 5.2 Technical Reference? :) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Bilo bi zanimljivo videti, mada sam nacuo da to ide uz knjigu sa istim nazivom koji si gore naveo. Aquarius
clipper.701 aquarius, -> #664, dr.grba
<> Jezim se od programa koji na pocetku otvore sve moguce baze i <> pripadajuce indekse, trebale one - ne trebale, po principu <> "Vozi, Misko". To je u najmanju ruku neozbiljno i nedostojno <> profesionalnog pristupa programiranju. Mozda me utisak vara, ali ima li smisla stalno otvarati i zatvarati baze ako aplikacija koristi 5-10 baza i isto toliko indeksa (CDX) ? Cini se da Misko brze vozi ako su mu sve baze otvorene, a jos ako ih nema puno, onda moze i vezanih ociju u rikverc :) . Aquarius
clipper.703 arazumenic, -> #695, dr.grba
-> Nogekako. Moj NG direktorijum ima najveći obim od svih: preko 6 MB. (: A tebi je nepotreban gubitak (za slučaj moje aplikacije) od 0,5 MB za .obj datoteke u posebnim direktorijumima? I šta si sve tu nagurao? Saša
clipper.704 dr.grba, -> #693, bulaja
>> Da li je neko slucajno imao prilike da vidi :) fajl C52G03B.NG - >> Clipper 5.2 Technical Reference? :) Trebalo bi zašušuriti po američkim mrežama. Da pitamo snemceva: Ima li toga u onim spiskovima?
clipper.705 dr.grba, -> #696, aquarius
>> A ako otkucas 1234.50<ENTER> dobices 1234.50 :) . Covek je >> trazio skrolovanje numerickog GET-a, s desna na levo. Inace >> ... >> zbog neke aplikacije, ljudi bili zadovoljni, i ja to tako ostavio, >> nisam dalje razmisljao. Mozda sad hocu! Uostalom ima li predloga ??? Ama, stvar je vrlo dobra! Moja primedba je sitnica u odnosu na dobitak. Jedino mesto gde je meni zatrebao takav unos je, srećom, za ceo broj (: A, sad, ne bi bila loša ni ta ispravka, e zbog vremena u dalekoj budućnosti koja ćemo možda doživeti, a u kojima ćemo opet koristiti delove dinara. --< * >-- Nije pravo mesto, ali moram da vam ispričam. Pre par dana došli prijatelji u posetu. Njihov trogodišnji sin pronašao gumenu kasicu prasicu koju je Ana dobila od komšinice da se igra. I dečko video otvor na leđima praseta: - Dlagane, a šta je ovo? - Otvor da ubacuješ novčiće, pa kad uštediš punu kasicu prasicu... Tog trenutka su svi prisutni pogledali u mene, a je se ugrizao za jezik. Hoće li naša deca znati šta je to kasica prasica? ):
clipper.706 dr.grba, -> #698, aquarius
>> Probaj da iskoristis DBFCDX drajver. :) ! žik pogodi čime se aktuelno igram (((:
clipper.707 dr.grba, -> #699, aquarius
>> ... Uostalom zar tvoja poruka 11.206 >> ne zapocinje ovako : >> >> <> Mnogi progameri, u koje spada vecina nas, su skloni da >> <> preskacu drugarske sugestije kojih ima na tone po raznim >> <> tutorijalima, NG i Hypertext fajlovima, istovremeno se ljuteci (((: Imaš piće za ovo! (:
clipper.708 dr.grba, -> #703, arazumenic
>> -> Nogekako. Moj NG direktorijum ima najveći obim od svih: preko 6 MB. (: >> ... >> I šta si sve tu nagurao? Kurtu i Murtu (:
clipper.709 dragisha, -> #686, ndragan
-> / mu palo na pamet da je najbrži mrežni rad onaj u kome se -> / datoteke ne bi stalno otvarale-zatvarale kako to radi -> -> E pa moraju s vremena na vreme da se zatvaraju. Nemaju sve mušterije -> UPSove na svim mašinama. Sad je samo štos u tome da se to minimizuje. Ali sve mušterije imaju Flush, zar ne? Od DOS 3.3 pa naviše, standardna funkcija u okviru 21H. -- ["She's sleeping with Prince Valium tonight..."]
clipper.710 dragisha, -> #668, madamov
-> > Jel to neka specifičnost Clippera ili opšti princip? -> -> Valjda opšti princip, jer ako skikne da se nanese što manje štete po -> otvorene datoteke. Nema štete, bar ne više nego sa Close. Commit (iliti Flush) će završiti isti posao za mnogo kraće vrijeme. E sad, fora je i tome što svaki otvoreni fajl i index guta mem. Kad neko radi u kliperu, teško će se odreći nekih 100 kb za te stvarčice. -- ["Life," said Marvin, "Don't talk to ME about life!"]
clipper.711 dragisha, -> #664, dr.grba
-> Ježim se od programa koji na početku otvore sve moguće baze i -> pripadajuće indekse, trebale one - ne trebale, po principu "Vozi, -> Miško". To je u najmanju ruku neozbiljno i nedostojno profesionalnog -> pristupa programiranju. Ježim se od ljudi koji gledaju crno-bijelo:) U svojim programima većinu datoteka otvorim na početku jer mi je veća glupost da pri korištenju otvaram, koristim, zatvaram. Manjina su one datoteke koje su recimo vlasništvo nekog drugog programa i koje se koriste na malo mjesta u programu. Njih otvaram po potrebi i zatvorim vrlo brzo. -- [Where can I get one of those computer bats!!]
clipper.712 snemcev, -> #704, dr.grba
>> Ima li toga u onim spiskovima? Sorry, no bonus. Ako sam dobro shvatio dokumentaciju, dobijaš ga kad kupiš štampan Reference Manual. Ko zna, možda je pod copyright-om. Al' opet, kad je to bio problem za nas... ;)
clipper.713 dr.grba, -> #711, dragisha
>> Ježim se od ljudi koji gledaju crno-bijelo:) Nemam komentara, iako trošim poruku da bih to rekao ):