clipper.1bulaja,
Ima li neko patcheve za NanFourum Toolkit (NFLIB) za rad u protected
modu (ExoSpace, Blinker 3)? Svojevremeno sam sredinom prošle godine
skinuo sa Hekom BBS-a gomilu patcheva u kojima se spominjalo da su
izdati zbog kompatibilnosti sa tamo-nekim-exospejsom za koji u to
vreme ovde niko nije čuo :), pa te patcheve nisam ni sačuvao :(.
clipper.2bulaja,
│Ima li neko patcheve za NanFourum Toolkit (NFLIB) za rad u protected
│modu (ExoSpace, Blinker 3)?
└───
Pronašao sam :).
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
int86x zip 6721* NFLib patch: FT_Int86() v1.3 (ExoSpace kompatibilnost)
Ostale NanFor patcheve za ExoSpace kompatibilnost nemam, ali ovaj
je posebno značajan jer je ceo Netto zasnovan na FT_Int86().
clipper.3goxx,
Iz knjige Stephen-a J. Straley-a
"Advanced Programming in Clipper with C"
strana 701 :
Uporedjivanje funkcije ADEL() iz clipper-a i algoritma za brisanje
elementa niza iz C-a :
#include <stdio.h>
#include <string.h>
/* here we create a template for, declare, and
initialize a global array of structures */
struct SUPER_CARS š
char modelŠ80Ć;
ć super_cars ŠĆ = š "JAGUAR", "MERCEDES",
"ROLLS ROYCE", "YUGO", "STEVE'S CAR", NULL ć
#define YUGO 3
int main()
š
int i = 0 /* in C start counting arrays, including
arrays of structures, from element 0 */
printf ( "Alleged super cars are:Đn" );
for ( i = 0; *super_carsŠiĆ.model != NULL; i++ )
printf ( "Đt%sĐn", super_carsŠiĆ.model );
/* delete Yugo with the following while loop, since it
cannot fit Steve or Dave in it */
i = YUGO;
while ( *super_carsŠiĆ.model != NUL )
š
strcpy (super_carsŠiĆ.model, super_carsŠi+1Ć.model);
i++;
ć
printf ( "Truly super cars are:Đn" );
for ( i = 0; *super_carsŠiĆ.model != NULL; i++ )
printf ( "Đt%sĐn", super_carsŠiĆ.model );
return(0);
ć
PS. Ovo bi, s obzirom na elemente niza, moglo da ode i u viceve.
clipper.4bdm.,
[Reply to PC.PROG.3/clipper:1120 (mbole)]
## Postoji način al je vezan za korišćenje blinkera. U lnk fajl dodaš
## liniju blinker executable clipper f:40 ili bilo šta od opcija (piše u ng
Puno hvala i tebi i Dejanu, inače da pitam kakva je preporuka za
linkovanje finalne verzije BLinker i RTLink?
BDM.
clipper.5dejanr,
>> Puno hvala i tebi i Dejanu, inače da pitam kakva je preporuka za
>> linkovanje finalne verzije BLinker i RTLink?
Ja koristim BLINKER, ali stavim INCREMENTALL OFF. Neki kažu da je bolje
(=sigurnije) za finalnu verziju korisitit RTLINK, ali ja sam se već
navikao da koristim razne interne BLINKER-ove funkcije, tako da sam na
RTLINK i zaboravio. Može biti da sam ga i obrisao sa diska.
Za sada (da kucnem u drvo) nema problema.
clipper.6jorad,
E, danas me je Blinker izludeo. Konstantno mi prijavljuje
BLINKER : 1115 : SIXCDX.LIB(SIX1) : '__ZCMP' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXCREATE) : '__FORCE_ASCII' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXTAG) : '__NPREVC' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXTAG) : '__NNEXTC' : unresolved external
Zna li neko u čemu je problem? Ah, da, .LNK faj izgleda ovako
BLINKER EXECUTABLE CLIPPER F40;SWAPPATHC:ĐSWP
BLINKER EXECUTABLE NODELETE
BLINKER OVERLAY OPSIZE 60
OUTPUT demo.exe
FILE demo.obj
BEGINAREA
FILE file1
FILE file2
ENDAREA
čCL520MAX.LNK
čsixcdx.lnk
čmachsix.lnk
clipper.7dzoric,
>> E, danas me je Blinker izludeo......
U link file ubaci
FILE SIXUK (ili SIXSWE) iz OBJ fajlova koji se dobijaju sa SIx-om.
Naime, tu se nalaze rutine za kreiranje indeksa po nacionalnim
karakterima (SIXUK - Engleski, SIXSWE - Svedski itd).
Dejan :)
clipper.8snemcev,
>> E, danas me je Blinker izludeo. Konstantno mi prijavljuje
Dodaj datoteku za podršku sortiranju po raznim nacionalnim abecedama
npr. FILE sixuk u liniji posle FILE demo
clipper.9mbole,
> linkovanje finalne verzije BLinker i RTLink?
Mnogi se bune protiv blinkera. Meni nikada nije pravio probleme. Naravno
finalnu verziju uvek linkuj sa bli inc off. Doduše ja sam još na clip 5.01
i blink 2.01. Za ove novije neznam. žekam malo da se pročiste pa da krenem
i ja :))
clipper.10jorad,
> >> E, danas me je Blinker izludeo......
>U link file ubaci FILE SIXUK (ili SIXSWE) ...
>Dodaj datoteku za podršku sortiranju po raznim nacionalnim abecedama
Dejane i Slobo, imate obojica piće od mene ka se prvi put sretnemo.
To je to. Da bide zanimljivije taj red mi je već bio u .LNK fajlu ali
sam juče nešto prepravljao overleje i njega sam usput ispustio. Kada je
počela da se javlja poruka, izbacivao sam sve što mi se učinilo da može
da pravi probleme. Na kraju sam došao do minimalne verzije .LNK ali opet
nije vredelo. I znaš kad bi se setio da vratim SIXUK. Nikad. Još jednom
hvala.
clipper.11dr.grba,
>> Ostale NanFor patcheve za ExoSpace kompatibilnost nemam, ali ovaj
>> je posebno značajan jer je ceo Netto zasnovan na FT_Int86().
Nije samo Netto Lib... U knjizi "Clipper 5.2 - Mrežno programiranje" Leif i
Bootha je isti slučaj. Polako raspravljajući o problematici rada na mrežama,
autori se lagano, pa sve više oslanjaju na dokumentovane strukture Novell
NetWare 3.xx mrežnog sistema, a kroz baratanje interaptima. Za tu svrhu, kao
što bi se i dalo pretpostaviti od ljudi koji su direktni učesnici Nanforum
Toolkit projekta, se koristi funkcija FT_Int86().
clipper.12dr.grba,
>> PS. Ovo bi, s obzirom na elemente niza, moglo da ode i u viceve.
Mi smo, izgleda, zaboravili na vreme kada smo se prdačili Trabantima...
clipper.13spantic,
> Nije samo Netto Lib... U knjizi "Clipper 5.2 - Mrežno programiranje" Leif i
> Bootha je isti slučaj. Polako raspravljajući o problematici rada na
Da li ta knjiga vredi svoje cene? Kakav je utisak?
clipper.14gosse,
Pred nekoe vreme imase diskusija na tema clipper i c. Kaj Rick Spence ( vodic
za programeri) pisuva deka na disketata koja odi so knigata ima primeri koi
rabotat so clipper a pisuvani na TC?? DalUh ama ima gubre Dali nekoj ja ima taa
disketa pa da kaze nesto poveke?
clipper.15dr.grba,
>>> Nije samo Netto Lib... U knjizi "Clipper 5.2 - Mrežno programiranje"
>>> Leif i Bootha je isti slučaj. Polako raspravljajući o problematici rada
>> na
>>
>> Da li ta knjiga vredi svoje cene? Kakav je utisak?
Ne znam pošto je knjiga trenutno, verovatno nije jeftina. Ja sam do nje došao
preko firme (((: u pretplati, pa nije bilo strašno.
Da li vredi? Mislim da vredi, jer daje barem jedan od mogućih pristupa
problemu. Utisak? Veoma prijatan. Autori se ne libe ni da upotrebe pomalo
nekonvencionalne (duhovite) metode da dovedu čitaoca do neke slike.
Oprema knjige je pažljivo izvedena, ako izuzmem činjenicu da nisam oduševljen
upotrebom nekoliko vrsta fontova različitih familija u tekstu.
Nemam sad ovde knjigu da prepišem, ali...
...Datoteku u mreži možete zamisliti kao klaser u kancelarijskom ormanu. Za
taj orman je zadužena jedna sekretarica. Ime joj je Milka, visoka je 185 cm i
teška 115 kg, tako da je najpre morate ljubazno zamoliti da nešto uzmete.
Milkin rečnik je veoma ograničen i prost, tako da morate biti jasni u onome
što želite da joj kažete...
Neki od ovde prisutnih kliperaša zameraju knjizi da je vrlo jednostrano
(Novell) orijentisana, kao i da posredstvom spoljnih biblioteka (Nanforum
Toolkit) skreću pažnju sa užeg posmatranja ponašanja samog Clippera kada je
mreža u pitanju. Sa konstatacijom se slažem, mada ne i sa ocenom - rad u
mreži nije jednostavna stvar, od vrlo dobrog do vrlo lošeg programa nije
dalek put - rasplinjavanje na neke univerzalne principe ne bi donelo sva
rešenja. Sva rešenja nećete naći ni u ovoj knjizi, ali morate biti načisto
da je savlađivanje principa rada ključna stvar - nadgradnja je u vašim
rukama.
Na kraju, ako se ova poruka baš i pretvorila u neku vrstu recenzije, moram da
uputim svoju reč negodovanja izdavaču što disketa sa pratećim materijalom ne
pripada standardnoj kataloškoj ponudi, nego predstavlja opcionu narudžbu. Još
davno, u vreme tek izdate knjige Rika Spensa, dobio sam telefonom objašnjenje
da mnogi korisnici kažu da im ta disketa nije potrebna i da ne žele da i nju
plaćaju. Na ovo nemam komentara, prosudite sami.
clipper.16bulaja,
││U knjizi "Clipper 5.2 - Mrežno programiranje" Leif i Bootha je isti slučaj.
│└───
│ Da li ta knjiga vredi svoje cene? Kakav je utisak?
└───
Ne znam koliko je sada prodaju, ali sigurno je vredela 25 din koliko
je bila u pretplati. Ako misliš da se ozbiljno baviš Clipper-om ili
čak mrežnim programiranjem u nekom drugom jeziku (opšte stvari se lako
mogu izvući uz Clipper konteksta) nemoj je propustiti - to je i ovako
jedina prigodna literatura koju možeš ovde naći.
clipper.17bulaja,
│Pred nekoe vreme imase diskusija na tema clipper i c. Kaj Rick Spence
│( vodic za programeri) pisuva deka na disketata koja odi so knigata
│ima primeri koi rabotat so clipper a pisuvani na TC?? DalUh ama ima
│gubre Dali nekoj ja ima taa disketa pa da kaze nesto poveke?
└───
Prvo, nadam se da sam razumeo o čemu se radi :).
Ti primeri u knjizi (ako misliš na "Clipper 5: vodič za programere",
izdala je kod nas Mikro Knjiga) nisu za TC (Borland) već za
Microsoft C. Dalo bi se nešto uraditi i sa Borlandom, ali onda
dolazimo do večitog i još uvek nerešenog problema bezbolnog
povezivanja Borland-a i Clipper-a. :)
Inače imaš dosta dobre primere korišćenja C-a i ASM-a (koji je
zgodniji jer pravi manje problema) sa Clipper-om u source-u za
NFLIB (\ibmpc\clipper\nfsrc21.arj, .a01).
clipper.18bulaja,
│Neki od ovde prisutnih kliperaša zameraju knjizi da je vrlo jednostrano
│(Novell) orijentisana,
└───
Pa kako drugačije? :) Pre svega nije toliko jednostrano, kao što ni
CA-Clipper nema jednostranu podršku samo za Novell (u stvari on nema
ugradjenu nikakvu posebnu podršku za Novell, što je u stvari mana:) -
ono što se odnosi na rudimentarna (a u većini slučajeva i sasvim
dovoljna:) pravila mrežnog rada ide preko DOS-a i tako je i obradjeno.
Za one koji nemaju mnogo iskustva u radu sa mrežama ovo je sasvim
dovoljan razlog za kupovinu.
Ostatak tj. napredno korišćenje funkcija mrežnog OS se jedino može i
posmatrati specifično za odredjeni sistem, jer ne verujem da ovde ikome
treba paralelno poredjenje Novell-a i recimo Banyan Vines-a :). žak ni
rad sa Novell-om nije u knjizi do kraja razradjen, npr. nigde se ne
spominje TTS (bar ja nisam našao, doduše nisam mnogo ni tražio:).
clipper.19peacock,
Ima li neko noviji generator dokumentacije od SNAP50?
clipper.20dvesic,
>> │Neki od ovde prisutnih kliperasa zameraju knjizi da je vrlo
>> jednostrano │(Novell) orijentisana,
>> └───
Posto sam ja taj prisutni kliperas koji ima primedbe,
osecam se pozvanim da odgovorim ... :)
>> Pa kako drugacije? :) Pre svega nije toliko jednostrano, kao
>> sto ni CA-Clipper nema jednostranu podrsku samo za Novell (u
>> stvari on nema ugradjenu nikakvu posebnu podrsku za Novell,
>> sto je u stvari mana:)
Knjiga je u svakom slucaju dobra i vredi je imati. Objasnjava
strukturu DBF i indeksnih fajlova i principe zakljucavanja na
nivou DOS-a i jos mnogo lepih stvari ..
E sad, posto imam malkice vise iskustva sa mrezama (ili barem
tako umisljam :)) ) da iznesem i malo primedbi.
Poglavlje o zakljucavanju fajlova je moglo biti detaljnije uradjeno.
Da su naredbe za zakljucavanje objasnjene, jesu. Da su strategije
zakljucavanja pomenute, i top je istina. Ali samo pomenute. Kod
programa tipa Cliper-a, koji stvarno ima rudimentalnu podrsku, ovom
delu je trebalo posvetiti bar jos koju stranu vise. Resenje
o prekidanju korisnika preko nove GetReader funkcije ako malo
zastane u kucanju tesko da smatram ludo pogodnim ! :))
>> Ostatak tj. napredno koriscenje funkcija mreznog OS se jedino
>> moze i posmatrati specificno za odredjeni sistem, jer ne
>> verujem da ovde ikome treba paralelno poredjenje Novell-a i
>> recimo Banyan Vines-a :). Cak ni rad sa Novell-om nije u
>> knjizi do kraja razradjen, npr. nigde se ne spominje TTS (bar
>> ja nisam nasao, doduse nisam mnogo ni trazio:).
TTS se u svakom slucaju ne spominje. :)
Nemam nista protiv specificnosti Novell-a (na kraju krajeva, on
jeste najrasprostranjeniji) ali stvarno ne bih imao nista protiv
da je stampa resena nezavisno od Novell API-ja. (kao i semafori)
Da li bi bilo bolje da je autorizacija korisnika resena nezavisno
nego preko Novell Bindery baze ? (sta sa programima na Novell Lite-u ?)
Ili da je poglavlje o EMAIL-u (atraktivno je, nema sta) zamenjeno
pristupu baza preko recnika podataka (Thanks to NB-u !) prosirenog
za rad u mrezi (ko je otvorio koje baze, sa kakvom autorizacijom itd).
Na kraju, da ponovim jos jednom : za 25 din (a mozda i za 34, koliko
sada kosta) ova knjiga je dobra kupovina. Ja sam samo blago razocaran
sto mi nije donela jos lepih i korisnih informacija koje sam od iste
ocekivao (e jesam nezajazljiv :))))
Pozdrav,
Dejan.
clipper.21nbatocanin,
>>> Puno hvala i tebi i Dejanu, inače da pitam kakva je
>>> preporuka za linkovanje finalne verzije BLinker i
> RTLink?
>
> Ja koristim BLINKER, ali stavim INCREMENTALL OFF. Neki
> kažu da je bolje (=sigurnije) za finalnu verziju korisitit
> RTLINK
Blinker ponekad pravi probleme, ali nove verzije *vrlo* retko.
Osnovna prednost u odnosu na RTLink je što on može da pravi overleje
i od ASM i C modula. Na primer, SIX drajver je skoro nemoguće
koristiti bez Blinkera.
clipper.22gosse,
Sorry, za problemite so tekstot + liniite se grozni. Na str 451 pisuva deka ima
primeri za quick C i Borland TC ama izgleda ne gi linkuva so clipper. Vo sekoj
slucaj fala za informacijata.PS ne mozam da im odgovoram na tie sto mi upagaat
- ne znam kako :) Cao
clipper.23spantic,
> mogu izvući uz Clipper konteksta) nemoj je propustiti - to je i ovako
> jedina prigodna literatura koju možeš ovde naći.
Hvala Bulaji i dr.grbi.
clipper.24spantic,
Imam problema prilikom povezivanja Clipper 5.01 sa Microsoft C 6.0.
MSC modul prevedem lepo, sa:
cl /c /AL /Gs /Zl /FPa
Problem nastaje kada pokušam da sve lepo povežem. Kada koristim
BLINKER on sve lepo poveže i mašina mi se zakuca čim probam da
startujem izvršnu verziju.
Kada C rutina nema poziva bibliotečkih funkcija sve prođe u
redu i izvršni kod je korektan.
Očigledno mi je da grešim sa pozivima biblioteka.
Parametar /Zl ne smešta imena biblioteka u objektnu
datoteku, zar ne?
Ima li neka dobra duša da mi objasni proces linkovanja? Odnosno
ukaže gde grešim?
clipper.25dvesic,
>> Ima li neka dobra dusa da mi objasni proces linkovanja?
Probaj sa izostavljanjem /Zl parametra i sa navodjenjem LLIBCA
kao spoljne biblioteke.
Pazi na cinjenicu da prilikom navodjenja fajlova prvi OBJ MORA
biti preveden Clipper-om, a NE C-om ! (to vazi i za ASM fajlove).
clipper.26dr.grba,
>> Pazi na cinjenicu da prilikom navodjenja fajlova prvi OBJ MORA
>> biti preveden Clipper-om, a NE C-om ! (to vazi i za ASM fajlove).
Dejan zaboravi da precizira: navođenje fajlova u link proceduri.
clipper.27goxx,
Moj "utisak nedelje" sa ovom knjigom :
Nisam je suviše detaljno čitao jer me za sada samo interesuje šta se
u njoj nalazi, odnosno šta u njoj mogu da tražim kada budem imao problema.
I ja sam mišljenja, da se knjiga veoma puno oslanja na bazu bindery.
Poglavlje o programu EMAIL je po mom mišljenju možda potrebno
korisnicima na zapadu, ali ne mislim da je neka pošta i ostavljanje
poruka preko potrebna našim korisnicima.
Disketa bi, stvarno, trebalo da ide uz knjigu i to besplatno.
( i tako verovatno šalju programe na nekim noname disketama ).
Sve u svemu knjiga po mom mišljenju vredi 25din,
ali ne i čitavih 34 (ako je to nova cena)
Goran
clipper.28goxx,
Još uvek koristim clipper 5.01 (mislim da 5.2 još uvek nije pouzdan
proizvod). žini mi se da sam naišao na neki bug u AEVAL funkciji.
(Ne znam da li je to onaj bag koji je već bio ovde). Naime ono što ne
radi je vezano i za ACLONE:
LOCAL arr := ARRAY(12)
...
AEVAL(arr, šđxđ x := š0,0ć ć)
ili
AEVAL(arr, šđxđ x := ACLONE(š0,0ć) ć)
...
ništa od ovog gore ne radi. Jasno je da je trebalo napraviti matricu
arrŠ12,2Ć inicijalizovanu nulama. On u stvari napravi matricu, ali svi
elementi glavnog niza pokazuju na jedan isti podniz.
Prvi slučaj mi izgleda još i prihvatljivo, ali bi ACLONE() barem trebalo
da radi ispravno. Pomislio sam da je greška možda u tome što se
dodeljuje konstanta (clipper recimo od CHR(177) napravi "Š" u EXE
fajlu ili recimo od SPACE(5) " ".), pa sam uradio i sledeće:
xxx := š0,0ć
AEVAL(arr, šđxđ x := ACLONE(xxx)ć)
Jasno je da ne može da se koristi AFILL, jer se svim elementima i
dodeljuje isti podniz (njegova adresa, i ovo je sasvim OK),
AFILL(arr, š0,0ć)
ili
AFILL(arr, ACLONE(š0,0ć))
pa sam pribegao sledećem rešenju :
arr := š š0,0ć, š0,0ć, .... š0,0ć ć
Najzad pitanje. Da li ovo gore "tako treba" da bude ili je to bag?
Kako ga prevazilazite?
------------------
Ne znam šta mi je danas. Mnogo pitam.
Isprobavao sam skoro taj "novi" clipper 5.2. Uz njega postoji neka zamena
za DBU (DBX ako me sećanje služi). Elem, imam 286 na 12 MHz i sve do
sada nisam imao potrebe da zamenim računar (što se rada sa clipperom tiče)
Medjutim, ovaj dbx je nenormalno spor kod mene, ali stvarno nenormalno.
Pitanje. Da li je on stvarno takav ili meni nešto fali? Ako sam ja lep, a
on ružan, onda šteta za njega. Kako bih onda mogao da nateram korisnika
da kupuje 386 (znam da to i nije neki luksuz), ako mu za običan terminal
na novelu ne treba za sve druge programe (recimo knjigovodstvene) ništa
jače od 286. Mislim da programi i dalje moraju dovoljno brzo da rade na
286 platformi.
Goran
clipper.29spantic,
> Probaj sa izostavljanjem /Zl parametra i sa navodjenjem LLIBCA
> kao spoljne biblioteke.
Da, tako sam na kraju i bio uradio. Zanimljivo je da mi je Blinker 3.0
preveo sve bez primedbi, ali mi je izvršni kod zakucavao mašinu, dok je
RTLINK prijavljivao grešku.
Na primer tražio je podatak koji bi trebao da se nalazi u CLIPPER.LIB??
To kada je u LNK lepo prijavljena LLIBCA kao eksterna biblioteka.
clipper.30ndragan,
/ Ima li neko noviji generator dokumentacije od SNAP50?
Mazni FoxDoc od nekog foksovca. To je dovoljno poboljšana verzija. Ne
znam tačno kako i koliko mogu rečnici naredbi da se proširuju pošto mi
nije trebalo.
clipper.31dr.grba,
>> Poglavlje o programu EMAIL je po mom mišljenju možda potrebno
>> korisnicima na zapadu, ali ne mislim da je neka pošta i ostavljanje
>> poruka preko potrebna našim korisnicima.
Izvini, da li bi mogao da razjasniš ovu izjavu? Zašto email ne bi bio
potreban "našim korisnicima"? Zar ne misliš da je to dobar i efikasan
princip komunikacije u preduzećima koja su prostorno velika?
clipper.32dr.grba,
>> Isprobavao sam skoro taj "novi" clipper 5.2. Uz njega postoji neka zamena
>> za DBU (DBX ako me sećanje služi).
DBX je zamena za DBU koju nudi firma SuccessWare, koja se pročula po svom
izvanrednom proizvodu SIXCDX (SIXNSX). Kvaka je da možeš u DBX da ulinkuješ
sve drajvere baza koje želiš da koristiš. DBU to ne može.
Ako uredno instaliraš Clipper 5.2, dobićeš DBU kao i obično. BTW, nema straha
da je Clipper 5.2 "prljav" ili "nedorađen". Prošlo je vreme dečjih bolesti
ovog proizvoda.
>> jače od 286. Mislim da programi i dalje moraju dovoljno brzo da rade na
>> 286 platformi.
Ovo je van svake diskusije tačno, upravo iz razloga koji navodiš.
clipper.33.bale.,
> Poglavlje o programu EMAIL je po mom mišljenju možda potrebno
> korisnicima na zapadu, ali ne mislim da je neka pošta i ostavljanje
> poruka preko potrebna našim korisnicima.
?????????????????????????????????????????????????????????????????????
Meni se čini da zavisi od boje kože (ako ćemo da budemo precizni).
clipper.34arazumenic,
-> Disketa bi, stvarno, trebalo da ide uz knjigu i to besplatno.
-> ( i tako verovatno šalju programe na nekim noname disketama ).
Disketa košta 20 din. Pljačka.
Saša
clipper.35snemcev,
>> žini mi se da sam naišao na neki bug u AEVAL funkciji.
>> ...
>> Najzad pitanje. Da li ovo gore "tako treba" da bude ili je to bag?
>> Kako ga prevazilazite?
Bug. Imaš (ako se ne varam čak i negde u Sezamovim direktorijumima) i
rešenje za isti.
>> Isprobavao sam skoro taj "novi" clipper 5.2. Uz njega postoji neka
>> zamena za DBU (DBX ako me sećanje služi).
Dbx ne ide uz Clipper 5.2 (oni ostaju verni svom dbu-u) već je
samostalan program koji omogućava upotrebu recimo SixCdx drajvera za
pregled datoteka. Samo da podsetim, dbu je ograničen na dbfntx drajver.
clipper.36dzoric,
Hm, e sad ako moze zabava na temu ROLLBACK. Tj kako se rvete sa
problemima tipa: aplikacija u transakcionom nacinu obrade
je pukla :((( iz ko zna kog razloga upisala je 3 od 10 baza,
i bio bi red da se podaci u one 3 baze vrate na prethodno stanje.
Necemo o Novell-ovom TTS-u nego o rukotvorinama velikih :)
i malih majstora :(((.
Dejan
clipper.37mpeti,
Narode evo jednog Patch-a iz domaće radinosti za FRANKIE.LIB
Ubačeno je da se mogu koristiti SET KEY blokovi, jer u Engine-ima FRANKI-a se
oni ne proveravaju tj. nema šanse da instalirate SET KEY handler, tj. JA nisam
našao način. Evo datoteke
frank_p1.zipclipper.38mpeti,
Uzgred zaboravih da pitam: Ima li joć neko ko ima registrovanu kopiju FRANKIE-a
?
clipper.39.bale.,
> Hm, e sad ako moze zabava na temu ROLLBACK. Tj kako se rvete sa
> problemima tipa: aplikacija u transakcionom nacinu obrade
> je pukla :((( iz ko zna kog razloga upisala je 3 od 10 baza,
> i bio bi red da se podaci u one 3 baze vrate na prethodno stanje.
> Necemo o Novell-ovom TTS-u nego o rukotvorinama velikih :)
> i malih majstora :(((.
>
> Dejan
huh-huh huh-huh huh-huh ;-)))
clipper.40spantic,
Da li je neko linkovao MS C 6.0 sa Clipper 5.01, a da su mu trebale
biblioteke? To jest LLIBCA.LIB?
Naime, sve lepo prođe, osim onog na kraju.
_abrktb zaista postoji u CLIPPER.LIB, ali ne i __abrktb. Zna li neko
zašto se dodaje još jedna podcrta?
-----
.RTLink for Clipper Dynamic Overlay Linker / Pre-Linker Version 3.13
(C) Copyright Pocket Soft Inc., 1988-1991. All Rights Reserved.
=> FILE TEST.OBJ, D:\POSAO\C\SEND.OBJ
=> LIB LLIBCA=>
warning wrt0011: Public symbol '_strlen' doubly defined
warning wrt0011: Public symbol '_strcpy' doubly defined
warning wrt0011: Public symbol '_strncpy' doubly defined
UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------
'__abrktb' CLIPPER.LIB
warning wrt0022: .EXE may not execute properly -- undefined symbols
138K
4 warning message(s)
clipper.41mrajacic,
> Uzgred zaboravih da pitam: Ima li joć neko ko ima
> registrovanu kopiju FRANKIE-a
Da ima
Milan
clipper.42jorad,
>> Isprobavao sam skoro taj "novi" clipper 5.2. Uz njega postoji
>> neka zamena za DBU (DBX ako me sećanje služi). Elem, imam 286
Malo o magiji.Elem, kada sam dobio DBX pre jedno mesec ipo dana
i probao ga (na 386) radio je tako oooočajno sporo da je po mom
mišljenju prakrički bio neupotrebljiv. Medjutim pošto sam sada radio
nešto sa SIX-om, bio sam prinudjen da ga upotrebim. I da vidiš
sada radi sasvim normalno (nešto sporije od DBU ali sasvim prihvatljivo).
Zašto, *ebem li ga ako znam. Nisam mu ništa radio. U svakom slučaju
bitno mi je da se može koristiti.Dakle ima nade...
clipper.43jorad,
Uradio sam neko programče sa Blinkerom i SIX-om ali mi prijavljuje
grešku " 650 Procesor stack fault, Memory allocation error,Cannot load
COMMAND". To se dogadja povremeno i nepredvidivo. Nemam pojma šta je
greška 650 jer je nema nigde u NG.Zna li ko šta o ovome.
clipper.44goxx,
■ Dbx ne ide uz Clipper 5.2 (oni ostaju verni svom dbu-u) već je
■ samostalan program koji omogućava upotrebu recimo SixCdx drajvera za
■ pregled datoteka. Samo da podsetim, dbu je ograničen na dbfntx drajver.
Ovo sam znao. Pitao sam samo da li je DBX stvarno tako spor na 286
mašinama jer na 386 radi sasvim pristojno. Ipak, hvala.
Goran
clipper.45goxx,
■ Izvini, da li bi mogao da razjasniš ovu izjavu? Zašto email ne bi bio
■ potreban "našim korisnicima"? Zar ne misliš da je to dobar i efikasan
■ princip komunikacije u preduzećima koja su prostorno velika?
Svakako. Ne mislim da je dovoljno dobar i dovoljno efikasan. U dosta
slučajeva, u tu komunikaciju su uključeni i razni papiri. Osim toga
"verovatno" većina korisnika brže govori nego što kuca, pa za neke
sitne dogovore i razmenu informacija mislim da je telefon mnogo bolji.
Možda bi recimo mogla da se ostavlja pošta izmedju više smena radnika
koji rade u toku dana, ali čini mi se da većina službenika koja radi
na računarima, radi pre podne. Dalje, u velikim firmama je poželjno
imati neki veći sistem i tu bi takav program mogao da dođe u obzir
(u stvari verovatno nema sistema bez takvog programa), ali program
EMAIL iz ove knjige tu ispada iz igre. I dalje mislim da bi neka
druga tema iz oblasti baza podataka, bila bolji izbor autora.
Goran
clipper.46goxx,
■ grešku " 650 Procesor stack fault, Memory allocation error,Cannot load
Grešku 650 sam u clipper-u 5.01 obično dobijao kad default error handler
preusmerim na neku moju funkciju, a nastane u medjuvremenu neka greška
koja je "zrela" za quit. Grešku ti je verovatno izazvao linker (nisi
napisao, ali koliko vidim računar ti blokira jer nije učitao COMMAND).
Možda treba da nekim parametrom linkera povećaš programski stek, a možda
je greška prilikom startovanja nekih eksternih programa ili DOS šela,
ako koristiš i te blagodeti blinkera. Ne znam koliko sam mogao da ti budem
od pomoći (opiši malo grešku, kad se dogadja, pod kojim uslovom).
Goran
clipper.47goxx,
■ Hm, e sad ako moze zabava na temu ROLLBACK. Tj kako se rvete sa
■ problemima tipa: aplikacija u transakcionom nacinu obrade
■ je pukla :((( iz ko zna kog razloga upisala je 3 od 10 baza,
Ako pod ovim podrazumevaš nestanak struje, onda nikako. žak i veliki
sistemi uglavnom ne mogu da zaobidju takav feler. Ostale konfliktne
situacije moraju da se razreše u samom projektu baze. Transakcija tek kada
se obezbede svi resursi.
Goran
clipper.48nbatocanin,
> Još uvek koristim clipper 5.01 (mislim da 5.2 još uvek
> nije pouzdan proizvod).
Mislim da grešiš. Opšte je mišljenje (po raznim izvorima) da je
5.2c najstabilnija verzija Clipper-a.
> žini mi se da sam naišao na neki bug u AEVAL funkciji.
> ...
> AEVAL(arr, šđxđ x := š0,0ć ć)
> ili
> AEVAL(arr, šđxđ x := ACLONE(š0,0ć) ć)
> ...
Ovo ne radi zato što se kod bloku prenosi *kopija* elementa niza
(prenos je po vrednosti), pa se dodeljivanje ne odražava na original.
> Najzad pitanje. Da li ovo gore "tako treba" da bude ili je
> to bag? Kako ga prevazilazite?
Tako treba :) FOR..NEXT?
> Elem, imam 286 na 12 MHz i sve do sada nisam imao potrebe
> da zamenim računar (što se rada sa clipperom tiče)
> Medjutim, ovaj dbx je nenormalno spor kod mene, ali
> stvarno nenormalno.
Uh, DBX me je definitivno razočarao. Brzina ajde-de. Ali, neke stvari
ne ume da uradi, a čak je i DBU to umeo:
REPLACE Ime WITH SubStr(Ime,2)
:((( Još uvek se traži dobra alatka za intervencije.
clipper.49goxx,
■ Mislim da grešiš. Opšte je mišljenje (po raznim izvorima) da je
■ 5.2c najstabilnija verzija Clipper-a.
žim završim tekuće projekte prelazim na 5.2 jer trenutno bih morao da
odvojim dobrih 15 dana da sve postojeće podsisteme prebacujem na "novi"
clipper. Uzgred, da li neko koristi objektnu biblioteku (object.lib)?
Kako se ona slaže sa clipperom 5.2 i six drajverom (to mi je, u stvari,
ključno pitanje prelaska na 5.2).
-------------------
■ > AEVAL(arr, šđxđ x := ACLONE(š0,0ć) ć)
■ > ...
■ Ovo ne radi zato što se kod bloku prenosi *kopija* elementa niza
■ (prenos je po vrednosti), pa se dodeljivanje ne odražava na original.
Potpuno si u pravu. Negde na vrhu programa je stajalo AFILL(arr,š0,0ć).
Zbog toga sam mislio da se u stvari u bloku dodeljuje š0,0ć svim
elementima niza arr. Očekivao sam da nizovi u AEVAL funkciji moraju da se
ponašaju kao i u UDF funkcijama, tj. elementi mogu da im se promene
bez obzira na to da li su preneseni by_value ili by_reference:
...
arr := š1,2,3,4,5ć
f(arr) // arr š0,2,3,4,5ć <---- by_value (arrŠ1Ć == 0)
arr := š1,2,3,4,5ć
f(čarr) // arr š0,2,3,4,5ć
arr := š1,2,3,4,5ć
g(arr) // arr š1,2,3,4,5ć <---- by_value
arr := š1,2,3,4,5ć
g(čarr) // arr 9
...
FUNCTION f(x)
xŠ1Ć := 0
RETURN NIL
FUNCTION g(x)
x := 9
RETURN NIL
Evo šta Spence kaže na temu promene vrednosti elementima niza u funkciji
AEVAL:
FUNCTION aupdate(ar, c_block)
LOCAL i := 1
AEVAL( ar, šđelemđ arŠiĆ := eval(c_block, elem, i), i++ć )
RETURN NIL
" NAPOMENA: Elemente indeksirane promenljive možete da promenite iz
funkcije AEVAL održavajući indeks unutar bloka i dodeljujući
vrednost elementu sa := "
-------------------
■ Uh, DBX me je definitivno razočarao. Brzina ajde-de. Ali, neke stvari
■ :((( Još uvek se traži dobra alatka za intervencije.
Možda bi to ovde, na SEZAMU, moglo da se nekako organizovano uradi!
Voljan sam da se i time pozabavim, ali sam neću nikako.
-------------------
PS. Izvinjavam se, ako nekog "davim" ovolikim odgovorom, ali mislim
da nije loše ponoviti neke činjenice. Verovatno ima dosta onih
koji tek počinju da se bave clipper-om.
Goran
clipper.50goxx,
■ Uh, DBX me je definitivno razočarao. Brzina ajde-de. Ali, neke stvari
■ ne ume da uradi, a čak je i DBU to umeo:
■ REPLACE Ime WITH SubStr(Ime,2)
Ponovo sam uzeo da "čačkam" DBX. Izgleda da je spor samo u radu sa
NTX i NDX drajverom i to čak i na 386 računarima. Filter dovodi do ludila.
Kod istih drajvera nema ni rednog broja ni skrol-bara sa strane kad se
otvori index (uz malo truda i to su mogli da urade). O ostalim stvarima
neki drugi put.
Možda te nisam dobro razumeo u vezi ovoga gore, ali čini mi se da to
postoji (opcija Alt-R).
Goran
clipper.51fric,
> je bila u pretplati. Ako misliš da se ozbiljno baviš
> Clipper-om ili čak mrežnim programiranjem u nekom drugom
> jeziku (opšte stvari se lako mogu izvući uz Clipper
> konteksta) nemoj je propustiti - to je i ovako jedina
> prigodna literatura koju možeš ovde naći. '''''''
Nije baš jedina.
Poglavlje o mrežnom programiranju u Spence-ovoj knjizi
odlično obrađuje Clipper - mrežnu problematiku, ne vezujući
se za Novell ili neki drugi mrežni operativni sistem.
clipper.52nbatocanin,
Nove informacije o VO:
Neće biti klasične organizacije funkcija po datotekama, već po
modulima, o čemu VO automatski vodi računa. Što se tiče tipova
promenljivih, uvedena je tipizacija. Sada se može pisati:
LOCAL cVal as STRING
STATIC dVal as DATE
čime se ograničava vrednost promenljivih na jedan tip. Kada se
koriste ovakve deklaracije, VO pravi pravi mašinski prevod. Međutim,
i dalje se mogu koristiti promenljive koje nisu tipizirane:
LOCAL x
ili
LOCAL x as USUAL
Međutim, ako VO kompajler provali da X uzima samo vrednosti jednog
tipa (daleko najčešći slučaj), AUTOMATSKI će ubaciti deklaraciju i X
će postati strogo tipizirana promenljiva (rekoh li vam ja da
deklaracije ipak mogu da se zaobiđu!). VO će takođe raspoznavati
GLOBAL promenljive koje će imati isti domet kao i PUBLIC, ali će se
ponašati kao STATIC i LOCAL promenljive.
Pretprocesor je drastićno izmenjen. Na žalost, malo je
restriktivniji u odnosu na Clipper 5.0, ali i dalje ima sve važnije
stvari (definisanje novih naredbi). Pretprocesor je sada integralni
deo kompajlera.
clipper.53dejanr,
>> LOCAL cVal as STRING
>> STATIC dVal as DATE
Hvala Bogu :)
>> Kada se koriste ovakve deklaracije, VO pravi pravi mašinski prevod.
Da li sam dobro razumeo? Nema dakle više onog međukoda? Ili će on i dalje
biti prisutan, ali će se neki segmenti prevoditi u pravi mašinac?
clipper.54mbole,
> sitne dogovore i razmenu informacija mislim da je telefon mnogo
> bolji. Možda bi recimo mogla da se ostavlja pošta izmedju više
> smena radnika
Email je ubedljivo najkorisniji kada nešto treba objaviti grupi, ili
svim korisnicima na mreži. Tu telefon ne pomaže, ili je to mnogo teže
uraditi njime nego emailom.
clipper.55mbole,
> stvari (definisanje novih naredbi). Pretprocesor je sada
> integralni deo kompajlera.
A zar dosad nije bio?
clipper.56dvesic,
>> Hm, e sad ako moze zabava na temu ROLLBACK. Tj kako se rvete
>> sa problemima tipa: aplikacija u transakcionom nacinu obrade
>> je pukla :((( iz ko zna kog razloga upisala je 3 od 10 baza,
Realno, nikako :( Tacnije, ideju o ROLLBACK-u jos nisam
doveo do realizacije - ali ideja je tu ! :)
Krenuo sam (bih) klasicnim putem.
Svaku od operacija koje rade nad bazom izdvojis u procedure (to
je dobro i iz mnogih drugih razloga) : USE, CLOSE, DELETE, REPLACE,
APPEND BLANK.
Na pocetku rada otvoris transakcionu datoteku (tekstualnu, DBF ili
koji ti god format padne na pamet) i belezis bukvalno SVE izmene
nad bazama. Zbog potencijalo ogromnog rasta, u log bi se belezile
informacije do prve tacke sinhronizacije (tj. do trenutka kada
nameravano stanje baze postane stabilno -> uradio Close ili DbCommit).
Obavezno se treba razmisliti i o nekom nacinu kompresije LOG informacija
koji ne bi usporavao (previse) rad nad bazama - problem je sto samo
uvodjenje LOG sloja neminovno uvodi usporenje.
Primer : Pokusavam izmenu sloga broj 45; polje SALDO menjam sa
99 na 76. To bi (uz pp. da su pretprocesorom obradjene sve
vazne naredbe/funkcije izgledalo ovako) :
REPLACE SALDO WITH 76 =>
LOG_RECINFO(FieldNum(Saldo),RPL_STR)
Replace Saldo With 76
LOG_RECINFO(FieldNum(Saldo),RPL_END)
U logu bi to otprilike izgledalo ovako :
(*) (*)
BAZA │INDEX │IND.ORD│USER │DATUM │VREME │FNUM│RECNO│VALUE│ACTION │
─────┼──────┼───────┼─────┼──────┼──────┼────┼─────┼─────┼───────┤
PLATE│PLATEI│ 2 │PERA │240394│135601│ 6 │ 45 │ 99 │RPL_STR│
PLATE│PLATEI│ 2 │PERA │240394│135602│ 6 │ 45 │ 76 │RPL_END│
Sada bi na osnovu LOG-a, u trenutku pucanja, mogli da
rekonstruisemo kompletno stanje baze. Time se i vecina
konflikata razresava :
- ako do pucanja dodje pre upisa u log, stanje u bazi se
ionako nije promenilo (nije ni stigao do pravog replace) pa
intervencija nije ni potrebna
- ako je pocetak transakcije upisan u LOG a nije izvrsen nad
bazom (sto se da ustanoviti prostim poredjenjem trenutne
vrednosti u bazi sa vrednoscu u LOG-u) opet nikom nista.
- ako je konacno, vrednost upisana u bazu, a zbog ostalih
problema je potreban povratak na staro, nema problema ! :)
Pri tom je potrebno prenositi kao parametre samo polja (*),
jer se svi ostali mogu dobiti preko ugradjenih funkcija.
Pri tom bi otvaranje baze znacilo pocetak transakcije, a
zatvaranje ili dbCommit() kraj transakcije. Ovim bi omogucili
da cinjenice koje su stvarno u bazi, obrisemo iz log-a.
Eto, toliko o ideji - o realizaciji drugi put (ako do iste dodje :))
clipper.57dr.grba,
>> EMAIL iz ove knjige tu ispada iz igre. I dalje mislim da bi neka
>> druga tema iz oblasti baza podataka, bila bolji izbor autora.
E, sad... EMAIL je ovde uveden kao primer iz sasvim jasnog razloga:
orijentacija autora je bila potpuno oslanjanje na resurse Novell Netware
sistema. EMAIL baš i radi koristeći veliku većinu tih resursa i u tome je
poenta.
clipper.58dr.grba,
>> PS. Izvinjavam se, ako nekog "davim" ovolikim odgovorom,
Koješta. Osvežio si raspravu u temi.
clipper.59dr.grba,
>> Kod istih drajvera nema ni rednog broja ni skrol-bara sa strane kad se
>> otvori index (uz malo truda i to su mogli da urade).
Ovo zato što se funkcije koje crtaju scroll bar nalaze u SIXCDX biblioteci.
clipper.60bulaja,
│Pretprocesor je drastićno izmenjen. Na žalost, malo je restriktivniji u
│odnosu na Clipper 5.0, ali i dalje ima sve važnije stvari (definisanje
│novih naredbi).
└───
Šta je tačno ostalo od pretprocesora? U prošlom Clipper Advisor-u je
pisalo da je pretprocesor totalno osakaćen (tj. ostao je samo #define)
što bi prilično smanjilo početnu upotrebljivost VO (razmazili su nas
sa #command/translate :).
clipper.61goxx,
■ Nove informacije o VO:
Kako možemo i mi ostali da dodjemo do tih informacija. Jel imaš neki
prospekt, literaturu ili demo primere?
Goran
clipper.62goxx,
■ Email je ubedljivo najkorisniji kada nešto treba objaviti grupi, ili
Ne tvrdim da nije, ali koliko su ovde kod nas razvijene novel mreže i
koliki su to veliki projektni timovi (grupe) koji rade na njima? Prema
mom dosadašnjem iskustvu, to su uglavnom neke "računovodstvene" mreže
gde se korisnici uglavnom takmiče u uništavanju bureka, a ne u slanju
poruka. Šalu na stranu, ali vrlo je malo ozbiljnih firmi kod nas (a kako
i ne bi bilo u ovim uslovima!?) kojima je tako nešto potrebno.
Goran
clipper.63goxx,
■ Sada bi na osnovu LOG-a, u trenutku pucanja, mogli da
■ rekonstruisemo kompletno stanje baze. Time se i vecina
■ konflikata razresava :
To jeste to. Ali. šta ako, recimo, program "pukne" u momentu kad
se obradjuje LOG fajl? Na primer, prilikom upisa "RPL_END", osnovna
transakcija je izvedena, ali log ne stigne da se upiše. Šta tada?
Uzgred, jedan moj prijatelj je imao sledeći slučaj. Radio je
DBAPPEND() nad nekom bazom. Na disku više nije bilo mesta, ali program
je proćao kao da je sve u redu. Nije upisao nove podatke, a nije ni
prijavio grećku. Da li se to nekom dešavalo? Kako bi tek, log fajl,
prošao u ovakvoj situaciji!?
Goran
clipper.64goxx,
■ Ovo zato što se funkcije koje crtaju scroll bar nalaze u SIXCDX biblioteci.
Sve se može kad se hoće.
...
_MaxCnt := broj_slogova_u_tabeli
_Cnt := MIN(1,_MaxCnt)
// kreiranje tabele
// prva kolona može da bude redni broj (_Cnt) i da bude zamrznuta
// izmena default blokova za top, botom i skip
tbl:goTopBlock := šđđ _Cnt := IF(_MaxCnt > 0,;
(DBGOTOP(), 1), (DBGOBOTTOM(), DBSKIP(), 0) )ć
tbl:goBottomBlock := šđđ _Cnt := _MaxCnt, IF(_MaxCnt > 0,;
DBGOBOTTOM(), (DBGOBOTTOM(), DBSKIP()) )ć
tbl:skipBlock := šđnSkip, nSkippedđ ;
_Cnt += (nSkipped := DBFSkip(nSkip)), nSkipped ć
// DBFSkip() je funkcija koja treba da vrati koliko se stvarno
// skočilo vodeći računa o početku i kraju datoteke ili opsega.
// žini mi se da slična funkcija postoji u "Vodiču za programere"
...
DO WHILE .T.
// stabilizacija
DO WHILE .NOT. ( tbl:stabilize() .OR. NEXTKEY() <> 0 )
ENDDO
IF tbl:stable
// ipisivanje rednog broja na okviru tabele ("_Cnt/_MaxCnt")
// i iscrtavanje skrol bara (samo ako je objekt stabilan)
ENDIF
// obrada tastature
ENDDO
...
Pretprošle godine mi je jedan korisnik izvoljevao. čeleo je da vidi
redni broj stavke (a bilo ih je i preko par hiljada). Morao sam da
pribegnem ovakvom rešenju. I opseg baze podataka se lako uradi na ovaj
način. Ovo veoma brzo radi i na 286 računaru na 10MHz, a lako može
da se generalizuje i naprave neke komande koje će ubrzati definisanje
bilo kakve tabele i njenih kodnih blokova.
Goran
clipper.65feniks,
Prijatelj pita kako se zvaše program koji od
exe pravi source iz clippera 87, kao i gde bi se
to moglo nabaviti? ;)
clipper.66dvesic,
>> Uh, DBX me je definitivno razocarao. Brzina ajde-de. Ali, neke
>> stvari ne ume da uradi, a cak je i DBU to umeo:
>>
>> REPLACE Ime WITH SubStr(Ime,2)
>>
>> :((( Jos uvek se trazi dobra alatka za intervencije.
U cenu je problem ? Savrseno radi.
clipper.67dvesic,
>> To jeste to. Ali. sta ako, recimo, program "pukne" u momentu
>> kad se obradjuje LOG fajl? Na primer, prilikom upisa
>> "RPL_END", osnovna transakcija je izvedena, ali log ne stigne
>> da se upise. Sta tada?
Moguca su dva resenja :
1. Posto u log fajlu ima staru vrednost polja (koja se razlikuje
od postojece u bazi) mozes izvrsiti ROLLBACK na prethodno stanje
i nikom nista
2. Ili da procedura za ROLLBACK bude dovoljno pametna da zakljuci
da je (na osnovu dostupnih informacija u LOG-u i u samoj bazi,
kao i tipa poslednje pokusane operacije) operacija
izvrsena do kraja i da je pucanje nastalo pri upisu u
LOG.
Uostalom, jel' neko tvrdio da je ideja 100% razradjena ? :))) Sta
bi ti radio onda ? :))))))
>> Uzgred, jedan moj prijatelj je imao sledeci slucaj. Radio je
>> DBAPPEND() nad nekom bazom. Na disku vise nije bilo mesta, ali
>> program ...
Pa sad da vidis, to mu dodje feature :(
DbAppend() dodaje slog u bafer koji je vezan za bazu, i nije
zaduzen za kontrole tipa "Ima li mesta na disku ?"
Gresku bi trebale da jave Dbcommit() ili DbClose(), ona
do koje program prvi dodje i to je obicno Unrecoverable Error 24
(Write error).
Resenje treba traziti kroz error handler (losije) ili kroz test
slobodnog prostora na disku pre takvih operacija (posto bi bilo tesko
proceniti koliko treba ostaviti slobodno (indeksi, pomocne datoteke
itd) usvojis neku proizvoljnu cifru od recimo 1 - 2 Mb.)
Naravno, umesto testiranja pre svakog upisa, moguce je testiranje vrsiti
na pocetku programa.
clipper.68cnenad,
ŁŁŁ exe pravi source iz clippera 87, kao i gde bi se
ŁŁŁ to moglo nabaviti? ;)
DisClipper, na Force Aracis-u, veličina 110 Kb arhivirano.
clipper.69nbatocanin,
> podsisteme prebacujem na "novi" clipper. Uzgred, da li
> neko koristi objektnu biblioteku (object.lib)?
Koja je to biblioteka?
clipper.70nbatocanin,
> drugi put. Možda te nisam dobro razumeo u vezi ovoga gore,
> ali čini mi se da to postoji (opcija Alt-R).
Postoji, ali kad stavim SubStr javi "invalid expresion" :(((
clipper.71feniks,
│ ŁŁŁ exe pravi source iz clippera 87, kao i gde bi se
│ ŁŁŁ to moglo nabaviti? ;)
│
│ DisClipper, na Force Aracis-u, veličina 110 Kb arhivirano.
└────────────────
Hvala :)
clipper.72dvesic,
>> Postoji, ali kad stavim SubStr javi "invalid expresion" :(((
Postji vise resenja problema :
- dacu ti moj DBX, on sigurno to ne javlja :)))
- raspakuj DBMAX.EXE arhivu koja ide uz SIXxxx drajvere;
tu je i jedan program, mislim da se zove MYFUNC.PRG ili slicno;
u njega dodaj EXTERNAL SubStr, Descend .... i ponovo izgenerisi
DBX.EXE
Mada mi je to malo cudno, prilikom originalnog generisanja DBX-a,
bez ovog MyFunc.Prg SubStr se sigurno uvlaci u EXE fajl ...
Ko ce ga znati !
clipper.73dr.grba,
>> Ne tvrdim da nije, ali koliko su ovde kod nas razvijene novel mreže i
>> koliki su to veliki projektni timovi (grupe) koji rade na njima? Prema
Znaš, sad bismo mogli da zapucamo u silnu raspravu o tekućem stanju stvari
kod nas. Nema potrebe to da radimo, ali moram da primetim da uvođenje
računarskih sistema nije samo stvar veće brzine, već poželjno i stvar novog
kvaliteta rada. Zašto nije tako (a često nije) drugo je pitanje. Nimalo se ne
slažem sa inhibiranjem od npr. ponude EMAIL programa, samo zato što to dosad
nije postojalo kao institucija.
clipper.74dr.grba,
>> Sve se može kad se hoće.
Neosporno (((:
clipper.75mjevta,
>> orijentacija autora je bila potpuno oslanjanje na resurse
>> Novell Netware sistema. EMAIL baš i radi koristeći veliku
>> većinu tih resursa i u tome je
Uz sve uvazavanje prema ideji EMAIL-a, smatram da je upotrebna
vrednost istog u nasim uslovima vrlo mala, pre svega zato sto
je to korisnicima interesantno u pocetku, a zatim dosadi.
Mnogi nikada nece ni koristiti ovaj sistem, zato sto treba da
nauce kako, a zasto bi sad jos i to, kad je vec morao pre
toga gomilu drugih stvari (gde se racunar ukljucuje, kako
se bira maska iz menija i sl.).
Radim na mrezi koja ce u blizoj perspektivi da ima oko 50
radnih stanica (Boze zdravlje), i ovaj sistem nameravam da
realizujem iz FOX-a, kao deo paketa koji se vrti, sa porukama
na srpskom, ali uopste ne verujem da ce iko ikada to da
koristi osim par radoznalih korisnika koji inace zele da
nauce nesto vise od obaveznog dela programa.
Ipak, cenim da je EMAIL koristan klasi profesionalnih i
poluprofesionalnih korisnika PC-a koji se ne vidjaju stalno,
a imaju potrebu da koordiniraju rad. Koliko je takva situacija
cesta u nasim uslovima, ne bih znao.
jevta
clipper.77bulaja,
││Uzgred, da li neko koristi objektnu biblioteku (object.lib)?
│└───
│Koja je to biblioteka?
└───
R:\IBMPC\CLIPPER\*.*
----------------------
objectcl arj 175383 Objektno orijentisana biblioteka za Clipper 5.01 (#1/4)
objectcl a01 175175 Objektno orijentisana biblioteka za Clipper 5.01 (#2/4)
objectcl a02 175321 Objektno orijentisana biblioteka za Clipper 5.01 (#3/4)
objectcl a03 173080 Objektno orijentisana biblioteka za Clipper 5.01 (#4/4)
Deluje zanimljivo ali ne preterano upotrebljivo :).
clipper.78bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
6cdx_2 zip 79118 SIx Driver v1.5 (SIXCDX-US) Maintenance Update #2
===========================================================================
SIx Driver v1.5 (SIXCDX) Maintenance Update #2 (FIX2):
===========================================================================
NOTE: This patch is for the US release of SIXCDX v1.5 only, and does
NOT apply to the International SIXCDX v1.5 release.
This ZIP file includes patch files for updating v1.5 of The SIx Driver
(SIXCDX) and Mach SIx to Maintenance Update #2. This new release is still
v1.5, but the time stamps of the updated files have been changed indicate
the newer revision.
===========================================================================
This maintenance update corrects the following items:
1. Opening .DBF/.DBT without DBT.OBJ would NOT generate an error.
2. Associated .INI file not loaded if data file extension was not .DBF.
3. Sx_IndexCount() could return incorrect value in some cases.
4. Encrypting a previously decrypted DBF file could fail in some cases.
5. 'TRIGGER' keyword in .INI file was not setting new trigger.
6. ZAP with DBT.OBJ would produce an incorrect .DBT file.
7. Sx_DBFencrypt() was not encrypting .FPT if password parameter was not
specified.
8. With a SCOPE set to <higher than any key>, Sx_KeyCount() would move
the record pointer.
9. Calling Sx_KeyNo() repeatedly with a SCOPE active would eat memory.
10. A GPF error would occur (Under ExoSpace or Blinker 3.0 Protected
Mode) when doing a SET TAG TO following deletion of another TAG.
11. Sx_KeyData() would return incorrect data w/ non-selected index.
12. USE w/ Structural .CDX would cause GPF w/ Blinker 3.0 and Clipper
5.01a. This is corrected with the BLXCDX51.OBJ file, which should
ONLY be used with Blinker 3.0 and Clipper 5.01a.
clipper.79bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
6cdxi3 zip 67523 SIx Driver v1.5 (SIXCDX-Int'l) Maintenance Update #3
===========================================================================
SIx Driver v1.5 (SIXCDX Int'l) Maintenance Update #3 (FIX3):
===========================================================================
NOTE: This patch is for the INTERNATIONAL release of SIXCDX v1.5 only,
and does NOT apply to the US SIXCDX v1.5 release.
This ZIP file includes patch files for updating v1.5 of The SIx Driver
(SIXCDX) and Mach SIx to Maintenance Update #3. This new release is still
v1.5, but the time stamps of the updated files have been incremented by
one minute to indicate the newer revision.
===========================================================================
This maintenance update corrects the following items:
1. Accessing an array stored in an FPT would sometimes result in a VMIF
error under Clipper 5.2c.
2. Mach SIx behavior differed from SIXCDX if key in extended expression
was bad.
3. Deleting a tag within a CDX file and then selecting a different tag
would cause a GPF under protected mode.
5. COMMIT would flush .DBF record buffer, but would not flush index
buffer.
6. ZAP of FPT would create new FPT using current global block size.
7. APPEND BLANK / COMMIT / Sx_File2BLOB() would insert index key wrong.
8. Sx_MemoExt() would return "." if no workarea was active.
9. PACKing an encrypted DBF/FPT could cause corruption to the FPT file
in certain situations.
10. ZAP followed by APPEND BLANK and REPLACE would result in an FPT that
was larger than before it was ZAPped.
11. The DEUTSCH6.OBJ file could cause Unresolved External errors at link
time in some cases. (Clipper 5.01a ONLY).
clipper.80goxx,
■ Uostalom, jel' neko tvrdio da je ideja 100% razradjena ?
Ne. Samo ukazujem na nove momente problematike.
Goran
clipper.81goxx,
■ Postoji, ali kad stavim SubStr javi "invalid expresion" :(((
Kod mene ne javlja ništa. Kao da ti funkcija nije ulinkovana ili šta već!?
Sećam se da mi je DBU (5.01) javljao takve grećke sa nekim funkcijama
u ključevima indeksa.
Goran
clipper.82goxx,
■ Nimalo se ne slažem sa inhibiranjem od npr. ponude EMAIL programa,
■ samo zato što to dosad nije postojalo kao institucija.
Nemam ništa protiv progresa, ali trenutno nemam potrebe za tim (a ni
vremena).
Goran
clipper.83goxx,
■ > Da li neko koristi objektnu biblioteku (object.lib)?
■ Koja je to biblioteka?
Object.Lib v 2.03 high level object oriented library for Clipper 5.01
(c) 1991, JHK, JHK-Software, Piestany.
Ima puno definisanih klasa za rad sa svim i svačim, ali ja koristim
samo najniži nivo za definisanje klasa.
Goran
clipper.84mjevta,
Potreban je kvalitetan sistem za obradu teksta u clipperu.
Zahtevi:
1) Rad sa jednim tekstom u jednom trenutku, tj. nema potrebe
za prozorima i sl.
2) Source u celini (nikakvi libovi koji se linkuju ne dolaze
u obzir).
3) Treba da radi sa memo poljima (logicno, valjda).
4) CDX driver.
5) Dozvoljena je upotreba objekata, CA Tools i SIXCDX
biblioteka, ali nista vise.
6) Pozeljno je da omogucava centriranje reda, WP 5.1
kompatibilnost (importovanje iz WP-a) i promenljive
parametre strane (margine, pre svega). Jos bi bilo
lepo kada bi se kraj strane i pocetak nove video na
ekranu (serija crtica, kao u WP-u).
Napomena: Jedan prijatelj mi je rekao da ima neku klasu
koja radi otprilike to, ali to trenutno nije
dostupno (bice za koju nedelju).
Unapred zahvaljujem na svim sugestijama i programima.
bjevta
clipper.85dpredovic,
> Uostalom, jel' neko tvrdio da je ideja 100% razradjena ? :)))
> Sta bi ti radio onda ? :))))))
pkzip temp *.dbf /es. Garantovano efikasan i brz princip...
A rollback? Dok kažeš keks ;))
Ozbiljno, zezao sam se nešto malo sa btrieve-om, i kada se baza
otvori u modu koji dozvoljava rollback, sve izgleda kao usporeni
film, a ako je tako kod btrieve-a, nesmem ni da zamislim na šta
bi ličilo sa nekim dbf-om!
A ono sa zipom ustvari i nije zezanje, stvarno sam tako rešio
rollback nekih odvratno dugih i nepovratnih transakcija.
Cu, Dejan
clipper.86dr.grba,
>> Deluje zanimljivo ali ne preterano upotrebljivo :).
...sporo k'o puž, neprekidno mulja po disku...
clipper.87mjevta,
Subject: memoedit()
Date: 04-05-93 10:48
Biblioteke od raznih nezavisnih proizvodjaca mogu se kupiti u
Londonu
1) CLText Linkable Word procesor for Summer '87 and 5.01
- Word 5.0 emulatons
- Word 5.5 emulatons
- WordPerfect emulatons
- Brief emulatons
- 350 popular printers ..................... 250 funti
2) WPLib() WordPerfect Library ................ 245 funti
3) dBxStore II More than just a .DBT replacer ... ? funti
Molim za informacije.
bjevta
clipper.88agobovic,
>> Hm, e sad ako moze zabava na temu ROLLBACK. Tj kako se rvete sa ...
>> Necemo o Novell-ovom TTS-u nego o rukotvorinama velikih :)
^^^^^
A mene zanima bas to!
Da li Nanforum tolkitKolkit resava te probleme i ako resava kako (uputite me na
naku poruki ako takva postoji ili sl.)
Osobito bih bio zahvalan svakom ko bi ostavi neki kratak primer (source .ppg)
Dejan
clipper.89spantic,
> realizujem iz FOX-a, kao deo paketa koji se vrti, sa porukama
> na srpskom, ali uopste ne verujem da ce iko ikada to da
> koristi osim par radoznalih korisnika koji inace zele da
Probaj da povežeš Novell mrežu poštom sa našim internetom i
bićeš veoma iznenađen promenom stava prema elektronskoj pošti.
Ljudima najčešće nije mnogo interesantno da šalju poruke nekome
ko im je u kući, ali ako imaju prilike da komuniciraju sa širom
okolinom te stvari se menjanju.
Nadam se da će neka firma iz SRJ to i uraditi ovde. Na žalost
gornja iskustva nisu odavde, ali ne važe samo ni za zapad, ona
su iz Rusije.
clipper.90bulaja,
│Potreban je kvalitetan sistem za obradu teksta u clipperu.
│Zahtevi:
│...
└───
Pre svega odmah zaboravi na zahtev br. 2 (source u celini) - ne verujem
da bi neko bio toliko lud da to prodaje u source-u :). Takodje ne pada
mi napamet ni jedan racionalan razlog zbog kog ne bi izbegavao
korišćenje LIB-ova :).
Video sam neke tekstove o CLText biblioteci i čini mi se da bi to bilo
najbolje rešenje (btw ista firma ima i neke dobre biblioteke za
izveštaje i grafiku, nažalost sve sam to video samo na papiru a ne
uživo). Ako ti treba, imam te tekstove još uvek pa možeš da pogledaš.
U principu posao može da ti radi i bilo koja objektna zamena za
MemoEdit() jer ti dozvoljava da dosta stvari prilagodiš svojim
potrebama. Pogledaj npr. FastEdit (u CLIPPER dir-u) ili ETText i
NotePad klase u FUNCky bilbioteci.
clipper.91milanv,
Na problematičnom kompjuteru su povezana dva štampača (LPT1
i LPT2). Pitanje: kako da (po želji korisnika - biranje iz
menija) usmeravam štampu na željeni LPT?
clipper.92dvesic,
>> i LPT2). Pitanje: kako da (po zelji korisnika - biranje iz
>> menija) usmeravam stampu na zeljeni LPT?
Sa SET PRINTER TO LPTx x=1,2
Obrati paznju da funkcija ISPRINTER() koja proverava spremnost
stampaca radi ISKLJUCIVO na LPT1, bez obzira gde je stampa usmerena.
Za privremeno resenje, evo ti moja funkcija OKPRINTER(n),
koja radi isti posao; n je broj porta koji testiras i obavezan je,
tj. moras ga navesti. Ako te bas mrzi a ti pretprocesor u ruke ... :)
Pozdrav,
Dejan.
okprint.arjclipper.93bulaja,
│Za privremeno resenje, evo ti moja funkcija OKPRINTER(n),
│koja radi isti posao; n je broj porta koji testiras i obavezan je,
└───
Takodje i FT_IsPrinter() iz NFLib-a radi istu stvar...
clipper.94fric,
>>> Necemo o Novell-ovom TTS-u nego o rukotvorinama velikih
> :) žžžžž
>
> A mene zanima bas to!
I mene ! Ali izgeda da ga _niko_ od kliperaša ne koristi (ili
ne želi da podeli svoja iskustva).
Pre par meseci sam malo eksperimentisao sa TTS-om i zaustavio se
pred problemima za koje nemam rešenje.
clipper.95miroslavn,
Ne spada, u ovu temu već u temu baze.podataka, al
više ljudi prati ovu temu :)
Kako u FoxPro 2.5 za Dos ustanoviti da li je isklju´kčen
Help prozor ( sistemski help prozor)
clipper.96bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
nsx52 arj 97542* HiPer-SIx Index Driver v1.1 (SIxNSX): CA-Cliper 5.2 RDD
Ň════════════════════════════════════════════════════════════════════════════Ş
│ *** SuccessWare's HiPer-SIx(tm) Index Driver v1.1 for CA-Clipper *** │
│ Copyright 1993-94 - SuccessWare 90, Inc. │
ď════════════════════════════════════════════════════════════════════════════ż
═══════════════════════════════════════════════════════════════════════
NOTICE:
This Special U.S. Edition of HiPer-SIx is the FULL HiPer-SIx RDD. It is
not crippled or limited in any way.
SuccessWare International maintains exclusive rights to HiPer-SIx.
However, this RDD may be treated as FREEWARE. In this manner, it may be
freely copied and/or distributed, provided that no fee is charged to any
party in this process for the product itself.
HiPer-SIx does not include some of the other bonuses available in the full
SIx Driver v2.0 product, including:
....
Dakle SIxNSX v1.1 je postao freeware, a SIx v2.0 je već izašao! :)
clipper.97mjevta,
>> Kako u FoxPro 2.5 za Dos ustanoviti da li je isklju´kčen
>> Help prozor ( sistemski help prozor)
Nisam probao, ali da li funkcija poput WONTOP() koristi?
clipper.98mjevta,
>> Probaj da povežeš Novell mrežu poštom sa našim internetom i
Kako?
clipper.99mjevta,
>> Video sam neke tekstove o CLText biblioteci i čini mi se da bi
Molim za dodatne informacije.
clipper.100nbatocanin,
> U cenu je problem ? Savrseno radi.
??? Još mi recite da radi i ovo:
SELECT Prodato
SET RELATION TO ProdArt INTO Artikli
REPLACE ProdCena WITH Artikli->ArtCena
clipper.101nbatocanin,
>>> Kada se koriste ovakve deklaracije, VO pravi pravi
> mašinski prevod.
>
> Da li sam dobro razumeo? Nema dakle više onog međukoda?
> Ili će on i dalje biti prisutan, ali će se neki segmenti
> prevoditi u pravi mašinac?
Koliko sam razumeo, VO će praviti pravi prevod kad god je to moguće -
znači, uvek kada se ne koriste makroi i slične stvari. U suprotnom
pravi se p-kod. Nisam siguran da li se p-kod tada generiše samo za tu
proceduru (savršeno) ili za ceo program (loše). Preliminarni testovi
ne da su optimistički: kažu da je kod brži oko 60 puta. Nadam se da
će biti dovoljno pametni da izbace i ekvivalentnu verziju za DOS.
clipper.102nbatocanin,
>> stvari (definisanje novih naredbi). Pretprocesor je sada
>> integralni deo kompajlera.
>
> A zar dosad nije bio?
Ne misli se na isti EXE ;) nego na funkcionisanje: sada je
pretprocesor samostalan i samo svoj izlaz prosleđuje kao ulaz
prevodiocu. Ne bi bilo nimalo teško izdvojiti ih u dva posebna
programa.
clipper.103nbatocanin,
>│ Pretprocesor je drastićno izmenjen. Na žalost, malo je
>│ restriktivniji u odnosu na Clipper 5.0, ali i dalje ima
>│ sve važnije stvari (definisanje novih naredbi).
> └───
> Šta je tačno ostalo od pretprocesora? U prošlom Clipper
> Advisor-u je pisalo da je pretprocesor totalno osakaćen
> (tj. ostao je samo #define) što bi prilično smanjilo
> početnu upotrebljivost VO (razmazili su nas sa
> #command/translate :).
Ne bih rekao. U stvari, pretprocesor jeste sveden na #define, ali je
zato jezik obogaćen naredbama za definisanje novih naredbi:
"Yes, VO support user-defined commands (UDC), but not in the form you
are familiar with. The UDC system in VO is used to implement the
standard xBase commands, just as they are implemented in Clipper 5.2.
You can define yuor own UDCs in VO, but they are some marked
differnces in the way the VO preprocesor works. VO UDC system doesn't
simply substitute character strings like Clipper preprocesor. VO UDCs
are defined through a separate UDC module rather than placed into the
source code of the aplication. The visibility of VO UDCs is more
limited than in Clipper. The preprocesor in VO is part of the compiler.
VO's IDE provides an interactive UDC testing facility, so debugging
of UDCs is easier"
Što se mene tiče, ovo je poboljšanje: sada bi kontrola grešaka morala
biti mnogo preciznija.
clipper.104nbatocanin,
> ■ Nove informacije o VO:
>
> Kako možemo i mi ostali da dodjemo do tih informacija. Jel
> imaš neki prospekt, literaturu ili demo primere?
žitao sam u par časopisa (QBS News - objavljeno u "R", Clipper
Advisor), ali ne boj se - vrlo brzo treba očekivati pravu poplavu
informacija o VO! A i sam VO, naravno :)
clipper.105nbatocanin,
> Mada mi je to malo cudno, prilikom originalnog generisanja
> DBX-a, bez ovog MyFunc.Prg SubStr se sigurno uvlaci u EXE
> fajl ...
>
> Ko ce ga znati !
Prodrndaću ga malo pa ću videti. Hvala na pomoći.
clipper.106spantic,
>>> Probaj da povežeš Novell mrežu poštom sa našim internetom i
>
> Kako?
Najjednostavnije rešenje jeste da razmenjuješ UUCP mail sa Beointernetom.
Za to se moraš dogovoriti sa upravom mreže da tvojoj firmi dodele UUCP nalog.
Ostatak je već uhodan.
Za drugo rešenje ti treba iznajmljena linija i jedan PC na kome bi bio SLIP.
Teža varijanta pošto, valjda, još nije određen status komercijalnih sistema i
ko je davalac takvih usluga.
clipper.107dvesic,
>> ??? Jos mi recite da radi i ovo:
>>
>> SELECT Prodato
>> SET RELATION TO ProdArt INTO Artikli
>> REPLACE ProdCena WITH Artikli->ArtCena
Normalno da radi :))))
Sintaksa je samo malkice drugacija :
Ako si Prodato otvorio kao prvu bazu, Artikli kao drugu,
koristi REPLACE ProdCena with 2->ArtCena
(tj. pozicioniras se u ProdCena, udaris Alt-R i u With polju
napises 2->ArtCena)...
i gotovo !
Pozdrav,
Dejan.
[ dbMAX je ovo pravo ! :) ]
clipper.108milanv,
║║ Za privremeno resenje, evo ti moja funkcija OKPRINTER(n),
To mi je bilo potrebno. Hvala na rekordno brzom odgovoru!
clipper.109jpavlov,
Da li neko ima grafičku biblioteku CGRAF21.LIB? MMJa imam neku
ali ta brlja MM- nije registrovana :(. Pa, eto ako ima neka dobra
duša...
clipper.110stosic,
Cekajuci VO(z) za OOP
=====================
Ako ste vec uhvatili o:Clip tramvaj, mozda ce vam ovo biti interesantno:
oBlok_koda := {|x| x++, qout(x) }
oBlok_koda:eval(9)
clipper.111dr.grba,
>> U principu posao može da ti radi i bilo koja objektna zamena za
>> MemoEdit() jer ti dozvoljava da dosta stvari prilagodiš svojim
>> potrebama.
Preporučujem tekst kolege Batoćanina iz "Računara" broj 92, gde se priča
o formatiranju teksta na jedan zanimljiv način.
clipper.112dr.grba,
>> proceduru (savršeno) ili za ceo program (loše). Preliminarni testovi
>> ne da su optimistički: kažu da je kod brži oko 60 puta. Nadam se da
>> će biti dovoljno pametni da izbace i ekvivalentnu verziju za DOS.
Da ne kažemo da bi najlepše bilo da postoji portabilnost koda. Ako hoće da
ostanu u trci, mislim da će vrlo uskoro morati ovo da ponude.
clipper.113bulaja,
Subject: CLText
│Molim za dodatne informacije.
└───
Imam kopiju teksta iz nekog The Clipson časopisa gde na tri strane piše
o CLText-u. Reč je o word processing biblioteci za Clipper sa ugradjenom
gomilom standardnih WP metoda (cut, paste, search replace,...). Uz lib
se dobija i source za emulaciju Word Perfecta, MS Word-a, Briefa i DOS
Edit-a. Piše da može i da može da se prebaci da radi u grafičkom mod-u
(WYSIWYG), ali se nigde ne spominju fontovi što znači da ovo možda ovde
i ne bi bilo toliko korisno :). Pretpostavljam da bi rad sa CLText
trebalo da liči na FastEdit (odnosno na TBrowse), samo sa dodatnim
metodima kojih nema u FED.
clipper.114snowwhite,
Hi!
Prijatelj mi ima jedan problem.Od kada je pored exe fajla
uradio i OVL fajlove, program mu vise ne radi ni na jednom,
sem na njegovom racunaru.
Greska je nesto kao ... 650 ... stack full ili nesto slicno.
Program cak ne radi ni na 486/8MB ram-a, a kod njega radi na
386/4MB ram-a. U oba slucaja nema residentnih prg.
U config-u se nalazi pored himem i emm386 i
files=80
buffers=50
U autoexec-u
SET CLIPPER=F:080;E:200;X:008, ali nista ne pomaze
Lnk baza je otprilike ovakva:
lib nanfor,expand
resident udf_1
...
resident errorsys
getsys
Pa onda ovl-ovi
Begin area ili tako nesto
section into str to Str1
End Area
...
...
Nemojte me hvatati za rec, jer se ne secam bas najbolje :(
Posto mi hitno treba odgovor, molim da mi se sto pre posalje.
clipper.115snowwhite,
Opet ja!
Zbog nepotpunih informacija u prosloj porukici, evo saljem
jos dodatnih.
Evo dela koda gde javlja gresku.(na kraju poruke)
Racunar ispise Poruku, i javi gresku.(Malopre procitah da je neko
imao
neki slican problem.) Pre prekida se samo pojavljuje pozdravna
porukica i
nista drugo. Radjeno na Clipper-u 5.01 i linkovano Rtlink-om.
Kraci program od ovoga sto pravi probleme je radjen sa skoro istim
rutinama, nije deljen na OVL-ove i radi bez problema.
Da li je jedna od mogucnosti veliki broj Begin - End sequence blokova
koji se nalaze unutar svakog menia,tj da li oni u programu alociraju
mnogo
mmemorije, mada kada dodje do greske, sam kod koji se tada izvrsava
nije
uopste smesten unutar tih blokova.
Zanimljivo da za rad tog duzeg programa
potrebno je 428K ram-a, a za rad kraceg 440K, a opet ima problema.
...........................
proc Install()
Local nKoliko,i,c,cPas1,cPas2,cVrsta
If FT_DEFAULT() $ "C"
Postavi("Instalacija programa",.t.)
SetColor(MenuHelpColor)
č 4,1 Say "
"
č 5,1 Say " Nalazite se u delu instalacije programa!
"
č 6,1 Say "
"
č 7,1 Say " Radi zastite programa, instalaciju je moguce
"
č 8,1 Say " izvrsiti samo jedanput!!!
"
č 9,1 Say "
"
Shadow(5,1,9,56)
Use InstalS Index InstalS1 ALIAS INSTALS NEW
Use InstalR ALIAS INSTALR NEW
****************************************
OTPRILIKE OVDE NEGDE PUCA. NISAM SIGURAN DA LI PRE USE ILI
POSLE
ALI ZNAM DA DO GET-a NE STIZE!!!
****************************************
cPas1:=Space(7) // Lozinka administratora
cPas2:=Space(7) // Radi provere posto se kuca naslepo
nKoliko := 0 // Koliko puta starovati program
cVrsta := "D"
c:="" // String za zastitu
Ft_Shado(15,30,20,64)
SetColor(ccg1)
Set Escape off
č 16,32 Say "Lozinka administratora" Get cPas1 Valid
(!Empty(cPas1) .and. Len(AllTrim(cPas1))==7) Color "N/N"
č 17,32 Say "Provera lozinke " Get cPas2 Valid
(cPas1==cPas2) Color "N/N"
č 18,32 Say "Koliko puta startovati" Get nKoliko picture "99"
Valid (nKoliko>0)
č 19,32 Say "Vrsta programa N/D/P" get cVrsta picture "!"
Valid (cVrsta $ "NDP")
.....................
Return
Izvinjavam se zbog gnjavaze,
ali je stvarno hitno!!!!
clipper.116dvesic,
Jos jedan bag (iz serije ;>) DBFNTX drajvera :
Neka je polje SIFRA Char tipa, duzine 5.
Neka je jedna od vrednosti '00050'.
Sada uradite :
dbSeek( 50 , .F. )
^^--------- Numerik !!!
Found() ce javiti TRUE !!!
(DBFCDX, SIXxxx korektno tretiraju ovu situaciju - .F. ).
Interesantno je da za vrednost ' 50' i DBFNTX javlja .F.
Da bi javio .T., polje mora biti sa leva popunjeno nulama.
clipper.117dvesic,
Blinker 3.0 definitivno ima bag !
Pri odredjenom rasporedu procedura u PRG fajlovima (upravo pokusavam da
utvrdim koji je to raspored) stalno radi full link, pa cak ako nema izmena
u fajlovima - dovoljno je uraditi jedno TOUCH SOURCE.OBJ !!!
Stariji brat, Blinker 2.01 radi bez greske, tj. korektno detektuje
situaciju za inkremental link.
clipper.118dr.grba,
>> Blinker 3.0 definitivno ima bag !
Dejan nam se opasno bacio na posao (((:
clipper.119dsisic,
Za one koji to nisu znali ( nedokumentovana stvar ):
TBColumn objekat ima jednu finu instance varijablu: Picture
To nije pomenuto u dokumentaciji, a da se videti u debugger-u.
clipper.120dsisic,
Kad sam vec u ordinaciji....
Ima par lepih stvari koje sam dobio za SIX RDD kolekciju, a usput
su shareware. Dakle pokusacu da ih pokacim ovde kako bi
mogli da se trose.
Na primer, za one koji su oduvek mrzeli F6 u debuggerr-u.
sixcld.zipclipper.121dsisic,
Naravno, tu je i NSX verzija!
6cldnsx.zipclipper.122dzoric,
>>
Imal' nekih novih vesti o VMIF.
clipper.123nbatocanin,
> Da ne kažemo da bi najlepše bilo da postoji portabilnost
> koda. Ako hoće da ostanu u trci, mislim da će vrlo uskoro
> morati ovo da ponude.
Mislim da toga neće biti u skoroj budućnosti. CA je otkupio Clipper
zato što im je zatrebala alatka za PC računare koja je fleksibilna i
koja bi mogla da lako komunicira sa velikim bazama na velikim
računarima (a koji su primarno tržište za CA). Clipper je (izgleda)
dobio poverenje zbog objektne orijentacije i naročito zbog otvorene
arhitekture (RDD, GT, ...). Kao takav on je na PC-u dobar i ne vidim
neki interes CA da ga prebacuje u neki multiplatformni alat, jer bi
se time neminovno nešto moralo žrtvovati: Clipper je dosta čvrsto
vezan za DOS platformu. Ako malo razmislite, mogućnost da se isti
program vrti na 5-6 operativnih sistema i nije baš tako potrebna
stvar: tržišta su dosta jasno izdvojena po OS. Ko još istovremeno
piše program za DOS i VMS ;) Naravno, bilo bi dobro, ali...
clipper.124argus,
Posto tek namjeravam nabaviti CLIPPER 5.2 interesuju me.
Da li za internacionalnu verziju postoji UPDATE na 5.2c. Da li sam mozda
nesto propustio ili postoji i patch #2 za SIx CDX (internac. verzija)?
Nedavno je bilo rasprave o internim greskama pod SIx-om i Clipper - om,
da li ovaj patch #3 (sa SEZAMA) rjesava te probleme?
- ARGUS -
clipper.125mjevta,
>> stvar: tržišta su dosta jasno izdvojena po OS. Ko još
>> istovremeno piše program za DOS i VMS ;)
Sudeci po porukama u izvesnim konferencijama, PREGRESS.
clipper.126nbatocanin,
> Imal' nekih novih vesti o VMIF.
5.2d to ispravlja :) Dajte ljudi da dovučemo to što pre ;)
clipper.127cnenad,
ŁŁŁ nesto propustio ili postoji i patch #2 za SIx CDX (internac. verzija)?
Ne znam da li postoji ali ti ne treba pošto sam baš juče radio UPDATE
pa rekoh ajde da vidim šta piše po fajlovima i da probam da uradim pa
ako ne uspe da vičem POMOĆ ali je sve prošlo OK. Pre svega moraš da imaš
MAINT #1 i #3 pa da prvo uradiš UPDATE sa onim MAINT #1 a onda sa #3.
clipper.128dzoric,
Da li neko ima sveze informacije o VMIF, jer ovako je SIx
neupotrebljiv. Nemoguce da niko ne reaguje (CA, SuccesWare).
Koliko sam cuo ni u verziji 2.0 ne spominju VMIF. Takodje sMMMam
nacuo da sa HiperSix (NSX) indeksima nema ovih problema.
Ako neko radi sa NSX indeksima nek' prijavi svoja iskustva
(brzina, pouzdanost itd).
Ako neko ima veza sa stranim BBS-ovima nek' gvirne sta se
tamo dogadja.
clipper.129nbatocanin,
>>> stvar: tržišta su dosta jasno izdvojena po OS. Ko još
>>> istovremeno piše program za DOS i VMS ;)
>
> Sudeci po porukama u izvesnim konferencijama, PREGRESS.
Nisam mislio na alat, nego na tim :) Htedoh reći, retko je naći
čoveka/tim koji piše iste programe za MS-DOS i za VMS.
clipper.130nbatocanin,
> SIx CDX (internac. verzija)? Nedavno je bilo rasprave o
> internim greskama pod SIx-om i Clipper - om, da li ovaj
> patch #3 (sa SEZAMA) rjesava te probleme?
Ne, ali rešava ovaj update na 5.2d.
clipper.131dvesic,
Jos jedan BUG report :
Ako koristite QEMM i imate nesto malo slobodne EMS memorije
( kod mene je bilo 176Kb) najverovatnije ce prilikom indeksiranja
DBFCDX drajver izazvati cuveno Exception #13. (u pitanju su
Clipper 5.2c i Qemm 7.03; indeksiranje obicno puca kod kreiranja
6-og ili 8-og indeksa, u zavisnosti od velicina istih)
Resenje :
Dodajte jedno //E:0 liniji koja startuje vasu Clipper aplikaciju.
clipper.132cnenad,
/reply PC.PROG.3: 11.1107, Bulaja/
ŁŁŁ│ Kako da deaktiviram u Cliper programu kombinaciju tastera ALT-C,
ŁŁŁ│ kako bih sprecio nasilni izlazak iz programa.
ŁŁŁ└───
ŁŁŁ SetCancel (.F.)
Da li ova funkcija iskjljučuje i kombinaciju CTRL-BREAK ?
clipper.133zgolub,
Imam problem sa IF naredbom. Ukoliko imam u jednoj datotesi polje "N" 19.2
i njemu se nalzi zbirni iznos, a u drugoj datoteci sabiram više zapisa po
nekom osnovu i dobijem isti iznos, pri testiranju sa IF naredbom vrlo često mi
se dogodi da funkcija IF prijavi da se iznosi razlikuju i to za iznos 0 ??
Probao sam i da date iznose koriguje sa INT(xx*100) ali čak i tada mi se javilo
par puta neslaganje iako su iznosi apsolutno identični. Ako neko zna u cemu je
caka neka kaže.(ovo se dešava sa verzijama Summer 87 i 5.01
clipper.134zgolub,
Ako sa DBU pokusate da u bazu cije je polje "N" 19.2 upišete iznos
1234567890123456.78 DBU će izvršiti neko zaokruženje ali nije mi baš najjasnije
zašto. Ako neko zna odgovor nega ga prosledi.
clipper.135dzoric,
> Imam problem sa IF naredbom. Ukoliko imam u jednoj datotesi
> polje "N" 19.2 i njemu se nalzi zbirni iznos, a u drugoj
> datoteci sabiram više zapisa po nekom osnovu i dobijem isti
> iznos, pri testiranju sa IF naredbom vrlo često mi se dogodi da
> funkcija IF prijavi da se iznosi razlikuju i to za iznos 0 ??
A. Clipper and most computer languages use a binary floating
point format for their real numbers. This causes precision
errors which commonly show up in calculations, comparisons
and when rounding. The problem is related to trying to represent
an infinite number of decimal numbers into a fixed number (and a
small fixed number at that) of binary bits.
Statistically, there aren't any numbers that can be represented
exactly, of course, from a practical standpoint some can be (but
they are all somehow related to powers of 2, like 1/2 or 3/8 or
127/128 or ...).
Taking .275 out to just 16 bits yields:
.0100011000100111 but that is really only .274993896484375. It
is impossible to represent .275 accurately in a binary numbering
system, even with unlimited bits, let alone the 64 bits that
Clipper uses (all of which aren't used for the decimal portion).
Most modern languages use a format defined by the IEEE. An
IEEE-compliant double precision implementation meets the following
criteria:
1. 1 sign bit, 52 bits for the mantissa and 11 for the exponent.
2. 2.22 * 10 ž -16 is the smallest number that, subtracted from 1.0,
gives something different than 1.0.
3. Normalized to 1023, which means that 10 ž 0 will be kept as 1023,
with 10 ž -1 as 1022 and 10 ž 1 as 1024.
4. Smallest useable floating value is 2.23 * 10 ž -308.
5. Largest useable floating value is 1.79 * 10 ž 308.
In the IEEE standard, rounding is considered to be finding the
closest representable number to the "exact" number. Not an easy
task, particularly at the level of Clipper.
There are only two complete solutions: use only integers (for
example, use 1234 to mean 12.34) or use a decimal numeric format
like BCD.
# David Husnian Š76064,1535Ć 25-Apr-93
B. Prilikom ispitivanje u IF naredbi koristi
Round (<nNumber>, <nDecimals>) funkciju
samo pazi ona u 5.01 ima bug.
Dejan :)
clipper.136bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
funcky2x zip 228491 FUNCky lib patch za rad u protected modu (funcky2x.lib)
Date: October 15, 1993
To: All FUNCky users
Re: Protected mode FUNCky
From: Dirk Lesko, dLESKO Inc.
---------------------------------------------------------------------------
Hello All!
FUNCky is being completely revamped to run under a number of protected mode
environments. These protected mode environments include Rational's DOS/16m
MS and Borland compatible C/C++ extender, Phar Laps 286/DOS C/C++ extender,
Exospace, The forthcoming Blinker version 3.0, and, of course, any
forthcoming versions of CA-Clipper that may be protected mode compatible.
This new version of FUNCky will be known as version 2.02 and will contain
no new functions other than the protected mode modifications. The
protected mode version of FUNCky is also dula mode. This means that FUNCky
automatically detects whether the program is running in protected mode or
real mode and uses the appropriate code to successfully complete the
requested function. This is to be compatible with Blinker version 3.0 which
has been announced as being capable of running a single .EXE in either
real mode or protected mode depending on the machines capabilities.
To test FUNCky's dual-mode capabilities, just replace FUNCky2c.lib with
FUNCky2x.lib and re-link. There should be absolutely no differences in
your program. The extra code required for protected mode may add no more
than 2-3k to any program that uses the dual-mode library.
clipper.137zgolub,
> B. Prilikom ispitivanje u IF naredbi KOristi
Round (<nNumber>, <nDecimals>) funkciju
> samo pazi ona u 5.01 ima bug.
Jednom sam i sa njom dobio .F. za iste brojeve.Možda je to taj bug ili ima neki
drugi?
clipper.138dpredovic,
Bilo je nedavno reči o transakcijama pod clipperom, pa reko
da uradimo nešto i po tom pitanju...
Uz poruku je prikačena arhiva sa obj fajlovima koji bi trebali
da omoguće:
BEGIN TRANSACTION
...
USE Base NEW
...
(do something nasty with Base)
...
IF changed_your_mind
ABORT TRANSACTION
ENDIF
...
END TRANSACTION
a trebalo bi da bude otporan i na prekidanje sa Alt-C, resetovanje i sl.
Ko ima vremena, neka malo eksperimentiše, ja stvarno ne mogu da garantujem
da to u ovoj verziji funkcioniše kako treba.
E da - radi samo sa SiX-om (ima cdx i nsx verzija).
Svi komentari, predlozi, bagovi etc. su dobrodošli.
Cu, Dejan
trans.zipclipper.139neman,
> Koliko sam cuo ni u verziji 2.0 ne spominju VMIF. Takodje
> sMMMam nacuo da sa HiperSix (NSX) indeksima nema ovih
> problema.
Ima, ima :( u NSX 1.5
clipper.140dzoric,
Jelte CA braco jel stvarno izasao Pacth na verziju 5.2d
il' je samo sala. Dajte ljudi ubice me korisnici.
Kako da im objasnim da su Ameri krivi.
clipper.141tvucko,
Stvarno je izasao patch za 5.2d !!!
Dajte to ovamo sto pre.
Datoteka sa informacijama o verziji 5.2d.
52d.txtclipper.142ndragan,
/ :((( Još uvek se traži dobra alatka za intervencije.
Jel' da kažem?
--> U konferenciji SEX, tema o.jeziku...
clipper.143dr.grba,
>> Nisam mislio na alat, nego na tim :) Htedoh reći, retko je naći
>> čoveka/tim koji piše iste programe za MS-DOS i za VMS.
Jeste retko, ali postoje.
clipper.144bulaja,
Just in:
CA-Clipper 5.2d patch polako stiže u naše krajeve thanks to dsisic.
Već je tu patch za international verziju, a danas/sutra biće i za US.
Pošto su patchevi poveći (1.2 Mb svaki) biće na Sezamu onda kad prvo
dodje dsisic kod mene, pa ja onda to prebacim na Sezam iz lokala.
Znači biće sigurno do kraja nedelje :).
clipper.145cnenad,
ŁŁŁ Već je tu patch za international verziju, a danas/sutra biće i za US.
Da li 'cenite' da će u jednoj od sledećih internacional verzija biti
ugrađena i podrška za sortiranje i indeksiranje baze po domaćim slovima.
Da li će biti recimo ostavljena mogućnost da sam programer definiše
pravilo po kojem će se vršiti SORT ili će se podržavati samo MS-ova
CP 852 što je najlogičnije za njih ?
clipper.146ndragan,
/ Kako u FoxPro 2.5 za Dos ustanoviti da li je isklju´kčen
/ Help prozor ( sistemski help prozor)
Sam prozor? Wexist('help'). Međutim, možda je zgodnije da vidiš da li
uopšte postoji help fajl.
Set('help') daje ON ili OFF.
Set('help',1) daje naziv help fajla, ili prazno ako ga nema.
clipper.147mikrom,
Malo sam kontrolisao šta sam uradio i zaludeh se jedno minut - dva.
Naime proveravao sam opciju za brisanje i pošto sam obrisao jedan slog
u datoteci (uz obavezni PACK), izaberem opciju za pregled i izgleda sve OK.
Vratim se u Norton Comander i pogledam jednu od brisanih datoteka pomoću
DBVIEW kad ono ništa nije obrisano, pogledam drugu i treću, ista stvar.
Startujem DBU, sve je izbrisano, probam i dBASE, takođe sve izbrisano.
Vidim program mi ipak radi, ponovo probam DBVIEW i tek tada primetim
da gore stoji DELETED. Kasnije dodam (upišem) novi slog i svi ga
evidentiraju osim DBVIEW-a koji ni u jednoj datoteci ne pokazuje
poslednji slog.
U principu mi to ne smeta, ali mi nije jasno o čemu se radi?
clipper.148snemcev,
>> Ako sa DBU pokusate da u bazu cije je polje "N" 19.2 upišete iznos
>> 1234567890123456.78 DBU će izvršiti neko zaokruženje ali nije mi baš
>> najjasnije zašto. Ako neko zna odgovor nega ga prosledi.
Clipper ne može da zapamti sve cifre pa one manje značajne odbacuje.
DZoric je u nekoj od prethodnih poruka izneo lep pregled ove
problematike.
clipper.149bulaja,
│Blinker 3.0 definitivno ima bag !
│Pri odredjenom rasporedu procedura u PRG fajlovima (upravo pokusavam da
│utvrdim koji je to raspored) stalno radi full link, pa cak ako nema izmena
│u fajlovima - dovoljno je uraditi jedno TOUCH SOURCE.OBJ !!!
└───
Danas sam naleteo na takav problem! :)
Kod mene izgleda da nije problem u rasporedu PRG fajlova, već se problem
manifestovao pri korišćenju cl520min.lnk i cl520max.lnk link fajlova. Sa
cl520mid.lnk ili bez ijednog od njih incremental link je radio Ok. Nemam
pojma zbog čega se Blinker glupira (a mrzi me da ispitujem :) ali moguće
je da se problem javlja tek kod većih aplikacija koje treba da se povežu.
Dakle da je BUG - jeste, da je strašan i nije baš, a zašto se javlja još
ne znamo :).
clipper.150cnenad,
ŁŁŁ│ Blinker 3.0 definitivno ima bag !
ŁŁŁ Danas sam naleteo na takav problem! :)
ŁŁŁ Kod mene izgleda da nije problem u rasporedu PRG fajlova, već se problem
ŁŁŁ manifestovao pri korišćenju cl520min.lnk i cl520max.lnk link fajlova. Sa
Ja ne koristim cl520min/max ali opet neki put radi inkremental a neki put ne.
Doduše ja sam to bio odmah primetio kad sam ga dobio da nešto nije u redu
ali niko to nije uzimao za ozbiljno.
žini mi se da ako u nekoj proceduri dodam poziv druge procedure bilo da se
nalazi u onoj u kojoj je pozvana ili van nje obavezno radi full link i čak
ne prijavi ono da nema mesta za incremental link.
Pored toga počinje program da iskače nakon poziva posle linkovanja uz
neke interne greške i to na liniji 0 glavnog programa (koja ne postoji a čak
da i opis komande koja je greška a to su neki nebulozni karakteri)
ili da zaglavljuje na poziv komande 'clea'.
clipper.151bulaja,
│Ja ne koristim cl520min/max ali opet neki put radi inkremental a neki
│put ne. Doduše ja sam to bio odmah primetio kad sam ga dobio da nešto
│nije u redu ali niko to nije uzimao za ozbiljno.
└───
Pa NoRMaLno :) da ne mora ponekad i da napravi full link. Do toga
dolazi ili kada se kod poveća više nego što je Blinker ostavio praznog
prostora u prethodnom linku, kad dodje do ubacivanja nove procedure /
funkcije ili kada se promeni LNK file.
clipper.152nbatocanin,
> / :((( Još uvek se traži dobra alatka za intervencije.
>
> Jel' da kažem?
>
> --> U konferenciji SEX, tema o.jeziku...
Ako si mislio na Fox, razmatrao sam ga, ali problem je što ne
podržava razne formate indeksa. Ako si mislio da kad koristiš Fox
onda ti to i ne treba, tvoj problem što si to mislio ;). Ako si mislio
na sex, opet tvoj problem ;))
--> Francuzi izmislili or.sex?? A ko kaže "bem te u usta"??
clipper.153dzoric,
> tek tada primetim da gore stoji DELETED. Kasnije dodam (upišem)
> novi slog i svi ga evidentiraju osim DBVIEW-a koji ni u jednoj
> datoteci ne pokazuje poslednji slog.
> U principu mi to ne smeta, ali mi nije jasno o čemu se radi?
Bug (or feature) DBVIEW-a koji ne vidi zadnji slog. Meni
se to desava uvek ali samo na NOVELL-u. Na lokalnom disku
vidi sve rekorde.
clipper.154cnenad,
ŁŁŁ Pa NoRMaLno :) da ne mora ponekad i da napravi full link. Do toga
ŁŁŁ dolazi ili kada se kod poveća više nego što je Blinker ostavio praznog
ŁŁŁ prostora u prethodnom linku, kad dodje do ubacivanja nove procedure /
ŁŁŁ funkcije ili kada se promeni LNK file.
Kako objašnjavaš da recimo pet puta zaredom radi FULL link pa onda dva puta
incremental pa tri puta FULL i tako redom ?
Neki put me prijatno iznenadi kad uradi INC.LINK iako sam očekivao da uradi
full a bilo je podosta izmena u proceduri. Neki put recimo pomerim ispis
nekog teksta za tri polja udesno i on uradi FULL link.
clipper.155mbole,
> Da li ova funkcija iskjljučuje i kombinaciju CTRL-BREAK ?
Kolko ja znam, Ctrl-Break uopšte i ne može da prekine Clipper program.
Bez obzira na set cancel
clipper.156majkl,
> I mene ! Ali izgeda da ga _niko_ od kliperaša ne koristi (ili
> ne želi da podeli svoja iskustva).
> Pre par meseci sam malo eksperimentisao sa TTS-om i zaustavio se
> pred problemima za koje nemam rešenje.
TTS koristim. Na Novelu njegov, a van neki svoj sistem. Ovaj
drugi štiti konzistentnost podataka u 3 objekta čije je svakodnevno
radno vreme 22 od 24h. Do sada (1.5 godina) se pokazao kao nužan i
pouzdan.
Što se tiče novell TTS-a nailazio sam na neke probleme, ali sada
mi radi (tačnije ja sada radim) kako treba. Recimo, za vreme
transakcije se ne može zatvoriti pa zatim otvoriti neki dbf koji
učestvuje u transakciji /treba li to nekom :) ?/)
clipper.157bdm.,
Može li mi ko dati pointer na neku biblioteku koja šlaka sa modemima?
BDM.
clipper.158cnenad,
ŁŁŁ> Da li ova funkcija iskjljučuje i kombinaciju CTRL-BREAK ?
Da sam odgovorim : isključuje.
ŁŁŁ Kolko ja znam, Ctrl-Break uopšte i ne može da prekine Clipper program.
ŁŁŁ Bez obzira na set cancel
Može, može, kad nema uopšte ubačene funkcije SETCANCEL() ili kad je samo
SETCANCEL() ili SETCANCEL(.t.) jer je TRUE default vrednost.
Ako je SETCANCEL(.F.) program se nemože prekinuti ni sa ALT-C ni sa
CTRL-BREAK.
clipper.159mjevta,
1. Jel' iko od FOX-ovaca ima ili je bar cuo da neko ima
fantomski Library Construction Kit za FoxPro 2.0 - 2.5?
2. Da li je neko razradio sortiranje po nasim slovima
u FOX-u?
BTW, opisao bih jedan bug(?) u verziji STANDARD v2.5
(dakle, ne 386 verziji - ucitava se sa FOX -X).
Kreirajte tabelu koja ima nekoliko polja razlicitih
tipova, ali pazite da 2 numeric (ili float) polja
postavite jedno pored drugog. Dodajte jedan slog
(nije bitno da li je prazan). Startujte BROWSE-r i
postavite se na drugo (desno) od dva susedna numeric
polja. Sada ISKLJUCIVO strelicom u LEVO pokusajte da
predjete na prvo (levo) polje. Ako vam pri tom ne
prijavi greske: Invalid file handler ili Use of
transgrassed file... molim da mi OBAVEZNO posaljete
poruku o konfiguraciji vase masine (autoexec i config)
i konfiguraciji FOX-a (config.fp) i, naravno, ideju
sta bi mogao da bude uzrok ovakvog ponasanja.
Napominjem da se ovo javlja samo u standardnoj verziji
FOX-a v2.5 i samo ako se koristi strelica u levo
za setanje kroz polja. Unapred hvala,
bjevta
clipper.160mjevta,
>> Ako si mislio na Fox, razmatrao sam ga, ali problem je što ne
>> podržava razne formate indeksa.
Fox podrzava CDX sistem indeksa, a sudeci po porukama,
ljudi polako prelaze na ovaj format indeksa (SixCDX).
bjevta
clipper.161nbatocanin,
Evo listinga iz poslednjeg Savetnika: pregled ASCII datoteke
proizvoljne veličine - čist Clipper! Nije što sam ja uradio, 'al
toplo preporučujem :)
l.zipclipper.162dzoric,
>>> Mo'e li mi ko dati pointer na neku biblioteku koja šlaka sa
>>> modemima?
Silver Clip v4.02, ubedljivo najbolji LIB za komunikacije.
clipper.163iboris,
Ł Clipper ne može da zapamti sve cifre pa one manje značajne odbacuje.
Tačnost - 15 cifara.
clipper.164dvesic,
Jedna interesantna stvar :
(QEMM 7.04 & Dos 6.20 & 4Dos 5.0e)
Ako u Autoexec-u na bilo koji nacin ucitate SHARE (bilo u konvencionalnu,
bilo u high memory) po startovanju DBX-a (DBMAX-a) i pokusaju da
otvorite bilo koju bazu dobicete poruku tipa :
"Not enough file handles ! (0)" ...
Medjutim, ako SHARE ucitate posle podizanja DOS-a, sa komandne linije,
sa ili bez LOADHI prefiksa, nema nikakvih problema ?!?
Desava li se ovo jos nekom ?
clipper.165dr.grba,
>> Fox podrzava CDX sistem indeksa, a sudeci po porukama,
>> ljudi polako prelaze na ovaj format indeksa (SixCDX).
...na proputovanju do SIxNsx drajvera, koji napušta i poslednji balast, FOX
kompatibilnost (;
clipper.166bulaja,
│Silver Clip v4.02, ubedljivo najbolji LIB za komunikacije.
└───
Po stranim časopisima se dosta spominje Telepathy komunikaciona i
Faxual biblioteka za FAX. Da li je neko video to na delu?
clipper.167fric,
> Što se tiče novell TTS-a nailazio sam na neke probleme,
> ali sada mi radi (tačnije ja sada radim) kako treba.
> Recimo, za vreme transakcije se ne može zatvoriti pa zatim
> otvoriti neki dbf koji učestvuje u transakciji /treba li
> to nekom :) ?/)
Drago mi je da se javio neko ko se (uspešno) bavi datom tematikom.
Bio bih ti jako zahvalan ako bi ovde izneo neka svoja iskustva.
Ono do čega sam ja eksperimentišući došao, i ono što me koči u
primeni TTS-a, opisano je niže u poruci. to je citat iz poruke koju
sam pre 2-3 meseca slao u PC.PROG.3:clipper, poruka 11.790.
Kako si se ti izborio sa navedenim problemima - naročito sa drugim ?
*> Elem, evo u par reči osnovnih rezultata eksperimentisanja
*> (Clipper 5.01 & Novell 3.11 & nflib 2.0): TTS radi i sa
*> .dbf i sa .ntx fajlovima, naravno ako se i jedni i drugi
*> fleguju kao TTS-abilni.
*>
*> Prvi problem, za koji trenutno ne vidim rešenje, je kako
*> ih flegovati/unflegovati fajlove direktno iz kliper
*> aplikacije (postoji realna potreba za tim, jer T flegovani
*> fajlovi ne mogu da se brišu, a i pri instalaciji sa
*> diskete treba fajlove flegovati kad stignu na mrežni
*> disk).
*>
*> I implicitni i eksplicitni TTS rade, ali se javlja drugi
*> problem koji se uz pažnju i žrtvovanje komfora pri radu
*> ipak može rešiti: kada se u toku trajanja transakcije sa
*> jedne stanice menja sadržaj zapisa (replace) i potom
*> isprazne write baferi (commit, go to, stabilize(), itd.),
*> druga stanica se blokira ako se sa nje pokuša čitanje tog
*> zapisa čiji je sadržaj upravo flushovan. Ta stanica ostaje
*> blokirana sve dok se transakcija na prvoj stanici ne
*> završi. Ako prva stanica padne u toku transakcije, ova
*> druga koja pokušava da čita ostaje blokirana sve do
*> trenutka kad se stanica (tj. user) sa kojoj je transakcija
*> započeta ponovo ne uloguje. Znači - promene koje nastaju u
*> toku transakcije su kod drugih korisnika vidljive tek kad
*> se ista završi, a ne daj Bože da neko pokuša da ih pročita
*> pre toga !
*>
*> Pored navedenih problema, ostaje dilema ima li još
*> anomalija (koje očekujem, imajući u vidu dosadašnje
*> iskustvo). Takođe je evidentno da postoje mnoge stvari o
*> korišćenju TTS-a i Novell-a o kojima u standardnim Novell
*> manualima (Concepts i sl.) nema reči. U Nanfor ng-u piše u
*> stilu: for further information ... consult your NetWare
*> manuals, no to je već možda stvar za PC.OS:mreže.
clipper.168nbatocanin,
> Fox podrzava CDX sistem indeksa, a sudeci po porukama,
> ljudi polako prelaze na ovaj format indeksa (SixCDX).
Da, CDX su bolji od NTX, ali mislim da će kod nas prevladati NSX
indeksi (SIxNSX) jer daju još bolje performanse. Uopšte gledajući,
alatka koja mi treba mora biti namenjena Clipper programerima, zbog
RDD sistema koji u startu podržava nekoliko formata.
clipper.169dpredovic,
> Bilo je nedavno reči o transakcijama pod clipperom, pa reko
> da uradimo nešto i po tom pitanju...
U čoveče, ala ste vi nekl cool tipovi... Uradim transakcije pod
clipperom, a niko ni reč da kaže... Ni "Svaka čast majstore"... :))
Ozbiljno, jel neko stigao da pogleda malo da ga istestira,
Ja stvarno nemam vremena?
clipper.170toma,
■> Neki put me prijatno iznenadi kad uradi INC.LINK iako sam očekivao
■> da uradi full a bilo je podosta izmena u proceduri. Neki put recimo
■> pomerim ispis nekog teksta za tri polja udesno i on uradi FULL
■> link.
Pa valjda je bitna veličina .obj fajla a ne "količina" izmena u
istom?
clipper.171cnenad,
ŁŁŁ Pa valjda je bitna veličina .obj fajla a ne "količina" izmena u
ŁŁŁ istom?
Pa koliko se to menja veličina obj fajla ako recimo zamenim
@12,5 say poruka
u
@12,6 say poruka
??
clipper.172nbatocanin,
> U čoveče, ala ste vi nekl cool tipovi... Uradim
> transakcije pod clipperom, a niko ni reč da kaže... Ni
> "Svaka čast majstore"... :))
>
> Ozbiljno, jel neko stigao da pogleda malo da ga istestira,
> Ja stvarno nemam vremena?
Kako bre nemaš vremena da testiraš sopstveni program ;) Ozbiljno, i
ja sam malo tanak sa vremenom, ali sam bacio pogled na ono što si
uradio. Prvo, ako se ne varam, nisi poslao source? Ne znam razlog,
ali ako si koristio triger funkciju da beležiš svaku promenu u DBF,
onda si rešio problem *programskog* rollbacka, ali nisi rešio problem
reseta ili nestanka struje (bojim se da će ovo teško ići iz čistog
Clipper-a). Ogromno ograničenje je i što se zahteva da bude
ekskluzivno otvaranje.
clipper.174ndragan,
/ podržava razne formate indeksa. Ako si mislio da kad koristiš Fox
/ onda ti to i ne treba, tvoj problem što si to mislio ;).
Šta? Kad korisnici vide kako štrikaš sa poljima i iz komandnog prozora
izvodiš kojekakva čudesa, pre ili kasnije se naviknu i s vremena na
vreme te vrlo ljubazno (ovo ide do moljakanja, ubeđivanja, obećavanja
koječega i vučenja za rukav) zamole da pročešljaš podatke i ispraviš
neku njihovu serijsku grešku. Nastanak takve greške nema veze sa
programskim jezikom - ali foks stvarno omogućava da se ispravljaju
interaktivno, bez da se piše nekakav program.
A ono za indekse... šta da vam radim.
/ Ako si mislio na sex, opet tvoj problem ;))
Seks problem? Ne razumem.
clipper.175majkl,
>*> Prvi problem, za koji trenutno ne vidim rešenje, je kako
>*> ih flegovati/unflegovati fajlove direktno iz kliper
>*> aplikacije (postoji realna potreba za tim, jer T flegovani
>*> fajlovi ne mogu da se brišu, a i pri instalaciji sa
>*> diskete treba fajlove flegovati kad stignu na mrežni
>*> disk).
Ja sam sve to radio u kombinaciji sa nekim beč fajlom i nešto poput
echo C đ flag t*.dbf +t >nul
Nisam probao da li bi odgovarajuća RUN komanda dala efekta.
>*> ipak može rešiti: kada se u toku trajanja transakcije sa
>*> jedne stanice menja sadržaj zapisa (replace) i potom
>*> isprazne write baferi (commit, go to, stabilize(), itd.),
>*> druga stanica se blokira ako se sa nje pokuša čitanje tog
>*> zapisa čiji je sadržaj upravo flushovan. Ta stanica ostaje
>*> blokirana sve dok se transakcija na prvoj stanici ne
>*> završi.
Probaj sledeće: zaključaj zapis (ako ne uspe ok, ali nismo
blokirani), pročitaj šta treba, otključaj zapis, ostavi za
razgledanje. Možda je čudno zašto zaključavati ako se samo čita,
ali i inače mi ne treba podatak koji znam da se upravo menja.
clipper.176toma,
■> ŁŁŁ Pa valjda je bitna veličina .obj fajla a ne "količina" izmena
■> u ŁŁŁ istom?
■>
■> Pa koliko se to menja veličina obj fajla ako recimo zamenim
■>
■> @12,5 say poruka
■> u
■> @12,6 say poruka
■>
■> ??
Trebalo bi da linker ostavi dovoljno mesta da ubaci .obj fajl u
celini, e sad, ako, nedaj Bože, tvoj .prg bude imao preko 2000 linija,
nije bitno kakvu izmenu praviš u njemu, teško da će se ulinkovati
inkrementalno.
clipper.177dsisic,
Citajuci neke debate oko AEval() f-je ...
Jedna mala omaska u dokumentaciji Clipper-a:
Funkcija AEval( aExp, bExp [, nExp1 ] [, nExp2 ] ) prosledjuje
parametre kodnom bloku bExp.
Prvi parametar je vrednost elementa niza aExp koji se 'evaluira'.
Drugi je broj tog elementa u nizu aExp.
Ovo potpuno izbacuje potrebu za nekim 'eksternim' brojacem
obradjenih elemenata sto je ponekad vrlo bitno, jer kao sto
znamo prvi parametar u kodnom bloku prenosi se po VREDNOSTI
pa stoga promena istog ne menja clan u nizu. Npr.
local aMyArray := { "a", "b", "c" }
AEval( aMyArray, { |x| x := "UdriMeDoZore" } )
// aMyArray nije promenjena, za razliku od:
AEval( aMyArray, { |x,i| aMyArray[i] := "TrtMrt" } )
// Gde se direktno utice na aMyArray bez eksternog brojaca.
clipper.178biki,
Imam jedan problem sa mreznom aplikacijom pisanom u Clipper-u 5.2 koja se
izvrsava u sledecem mreznom okruzenju:
2 x 386 Dx/40 Mhz, 210 Mb Hdd, 4 Mb Ram sa instalisanim NOVELL LITE ver. 1.1
1 x 286/16 Mhz, 1 Mb Ram, 40 Mb Hdd sa instalisanim NOVELL LITE ver. 1.0
Masine su konfigurisane da rade i kao serveri i kao klijenti.
NET program koristim na sve tri masine iz vrezije 1.0 jer mi je u nekim
ranije postavljenim mrezama kombinacija NET 1.0 i 1.1 zaglavljivala mrezu
odmah nakon mapiranja diskova. SHARE je obavezno ucitan, a kao cache koristim
smartdrv.exe iz DOS-a 6.00 koji je instalisan na sve tri masine.
Problem se sastoji u sledecem: iz neobjasnjivih razloga racunari se zaglave
kada se radi na sve tri masine u programu za finansijsko knjigovodstvo koji
striktno vodi racuna o nacinu otvaranja datoteka i indeksa oslanjajuci se na
tekstove Nenada Batocanina u Racunarima i koji bez problema radi na Novell
3.11 serveru. Zaglavljivanje nije uvek na istom mestu i pri istim otvorenim
datotekama da bi mogao da ga pripisem programu. Nekad se zaglavi pri pokusaju
stampanja na mrezni stampac, a nekad ne itd. Stampu vrsim naredbom COPY FILE
xx.yy to prn posto sam u Novell Lite-u izvrsio kaptazu. Takodjer se desava
da npr. sabirem polja potrazuje i duguje vezana za neki nalog i iako je zbir
potrazuje jednak zbiru duguje (to sam proverio ispisivajuci ih na ekran) pri
usporedbi mem. promenjivih program upadne u petlju koja je predvidjena da se
izvrsi samo ako duguje!=potrazuje. Npr ako je prom. dug=17.56789 i
pot=17.56789 pri testiranju IF dug!=pot... program se ponasa kao da su dug i
pot razlicite vrednosti.
Koristim blinker 2.01, a umesto TERM.LIB povezao sam NOVTERM.LIB prema uput-
svu za clipper jer serveri nisu posveceni, ali problemi ostaju, tako da sam
poceo da verujem u duhove.
clipper.179rakicm,
Moze li mi moderator reci zasto mi je ponistio poruku?
HVALA!!!
clipper.180dr.grba,
>> da npr. sabirem polja potrazuje i duguje vezana za neki nalog i iako je
>> zbir potrazuje jednak zbiru duguje (to sam proverio ispisivajuci ih na
>> ekran) pri usporedbi mem. promenjivih program upadne u petlju koja je
>> predvidjena da se izvrsi samo ako duguje!=potrazuje. Npr ako je prom.
>> dug=17.56789 i pot=17.56789 pri testiranju IF dug!=pot... program se
>> ponasa kao da su dug i pot razlicite vrednosti.
Welcome to the club!
Zna se da Clipper greši. Rešenje je da uvedeš epsilon okolinu, npr. ovako:
********************
proc SravniBilans(dug, pot)
local epsilon := 0.001 // recimo, ovoliko...
...
/* pre si pisao ovako
if dug = pot
IstoJe()
else
NijeIsto()
endif
pa je bilo NijeIsto(). Sad piši ovako: */
if abs(dug - pot) < epsilon
IstoJe()
else
NijeIsto()
endif
...
return
********************
Da li je jasno? Pomaže u 99.99999% slučajeva.
Inače, po Marfiju, onaj 0.00001% se desi u 99% slučajeva (((((:
clipper.181nbatocanin,
> veze sa programskim jezikom - ali foks stvarno omogućava
> da se ispravljaju interaktivno, bez da se piše nekakav
> program.
Znam, baš za takve stvari mi i treba alatka.
> / Ako si mislio na sex, opet tvoj problem ;))
>
> Seks problem? Ne razumem.
;))
clipper.182solomus,
Ej, ti FOX-ovac, ajd` REMOVE odavde bre ... :).
Ako te učiteljica nije prevarila, tu negde gore ti piše Clipper, a jok FOX ...
Šalim se, naravno, ndragan-če. Uživam čitajući tvoje vragolije :)).
-------------------
Elem, da možda budem nekom od koristi ...
Meni DBMax radi solidno ( bila je psovana sporoća ).
U pripadajućem cl52.bat izbacio sam pozive -dDBFNDX i -dDBFMDX kompajlera
i izmenjao slične pojave u Rtlink-ovom .lnk-u.
Radi se o Dbase balastima.
Hm, možda uskoro izbacimo i .ntx i .cdx pa nam ostane SAMO .nsx :))).
clipper.183solomus,
■■■■ U čoveče, ala ste vi neki cool tipovi... Uradim transakcije pod
■■■■ clipperom, a niko ni reč da kaže... Ni "Svaka čast majstore"... :))
Joj, izvini. Nisam imao vremena ni da pogledam.
BTW, problem padanja transakcija ja još uvek rešavam
izbegavanjem transakcija, a ROLLBACK backup-om :))).
žini mi se da je to jedino rešenje u datim okolnostima ;(.
clipper.185bulaja,
│Meni DBMax radi solidno ( bila je psovana sporoća ).
└───
Ma spor je maximalno, samo ima sreću da se na bržoj mašini to ne
primeti :). Inače ja nisam baš oduševljen DBMax-om :) - bolji je od
DBU-a (pre svega što može da guta CDX/FPT), ali ima gomilu glupih
stvari. Počev od toga da resetuje video mod u 80*25 (a ja npr. uvek
koristim 80*28), ako pukne ostavi onaj kretenski border oko ekrana,
ima imbecilan izbor uslova za locate/sum/count/.., nema dbEval(), kod
prikaza Memo polja utrčava odma u MemoEdit i ne proverava tip polja,
što rezultuje pucanjem ako u Memo nije stavljen neki Char (a ja
naravno trpam nizove naveliko:),...
clipper.186nbatocanin,
> Prvi parametar je vrednost elementa niza aExp koji se
> 'evaluira'. Drugi je broj tog elementa u nizu aExp.
Lepa stvar, samo mi nije jasno šta im je falilo da stave u
dokumentaciju. Kao i za funkciju Memory - jeste li probali
Memory(101)?
clipper.187dpredovic,
> Po stranim časopisima se dosta spominje Telepathy komunikaciona
> i Faxual biblioteka za FAX. Da li je neko video to na delu?
Imao sam i SilverClip i Faxual, ali mi se ova druga učinila sasvim
nepotrebna, podrška za fax u Silveru je više nego dovoljna.
Cu Dejan
clipper.188dpredovic,
> Kako bre nemaš vremena da testiraš sopstveni program ;)
Mojih dva sata testiranja je kao 5 minuta čoveka koji nije
video kod... A i inače sam jako loš tester...
> na ono što si uradio. Prvo, ako se ne varam, nisi poslao
> source?
Ne volim da dajem sors u sirovom stanju, ako bude bilo išta od
ovoga biće PD, NoRMaLNo...
Osim toga košto rekoh, ljudi mnogo bolje testiraju kod ako ga
u životu nisu videli...
> *programskog* rollbacka, ali nisi rešio problem reseta ili
> nestanka struje (bojim se da će ovo teško ići iz čistog
Isprobavao sam razne forme prekidanja nekoliko puta, i čini
mi se sasvim OK. Zašto ne bi moglo?
Što se tiše ekskluzivnog otvaranja, baza je u toku transakcije
po definiciji u nekom nestabilnom stanju, i nema neke velike
vajde da neko sa strane može da brlja po njoj.
žini mi se da i Btrieve unutar BEGIN/END TRANSACTION baze
otvara u ekskluzivnom modu.
Cu Dejan
clipper.189ndragan,
/ pot=17.56789 pri testiranju IF dug!=pot... program se ponasa kao da su
Previše očekuješ od IEEE formata brojeva - za brojke sa decimalama nikad
(ama baš nikad) ne treba ni pokušavati da se upoređuje da li su jednaki.
Imao sam čak i slučaj da dve nule (jedna iz baze, jedna iz promenljive)
nisu htele da budu jednake.
U opštem slučaju, brojevi se prikazuju u nekoj binarnoj predstavi,
stalno levo poravnati i do otprilike 15 značajnih cifara tačnosti, što
znači da su decimale prikazane kako su prikazane, i da prikaz dva broja
može da bude isti kada se ispisuju na standardni ekran ili štampač, ali
iznutra niko ne garantuje da su im donji bitovi istovetni.
Zato, dug#pot skoro uvek, jedino kad porediš direktno iz baze onda možeš
da budeš siguran; čim to počneš da sabiraš više nisi. Umesto toga
if round(dug,2) = round(pot,2)
radi posao.
Ako se vrati inflacija, ili tek tako za svaki slučaj, preporučujem
promenljivu umesto one dvojke.
clipper.190ndragan,
/ Ej, ti FOX-ovac, ajdž REMOVE odavde bre ... :).
++++
Kaže se žajdž. Vidi "punkcija, inter+, kontra+ i ostale punkcije" by
Novim et al, izdanje SezamSys$msgs Vol$c5, Vol$c6 sa tendencijom
prerastanja u.
clipper.191rakicm,
> izvrsi samo ako duguje!=potrazuje. Npr ako je prom. dug=17.56789 i
> pot=17.56789 pri testiranju IF dug!=pot... program se ponasa kao da su dug i
> pot razlicite vrednosti.
Kako Clipper (i ne samo Clipper) ocigledno u nekim slucajevima gresi sa
brojevima, treba izbeci brojeve :
//
//
// ovde je MAXPIC sa 15 celih cifara
// podesite ga da radi u formatu koji vam je potreban
//
//
#define MAXPIC "999999999999999"
.
.
.
if transform(dug,MAXPIC) != transform(pot,MAXPIC)
.
.
.
Ako je MAXPIC duzi od 15 cifara, i ako je broj veci od 15 cifara
niko ne garantuje da ce to raditi tacno, ali u okviru ovih uslova ovaj
nacin radi 100% sigurno i tacno.
Isto talo vazi i pravila zaokruzenja (3.33 je jednako 10/3 ali
6.66 nije jednako 20/3)
clipper.192dekiper,
Ako se vrati inflacija???
ĘDanas kad sam polazio u školu, na jednom mestu je kilo kafe bilo 10 DIN i
kad sam se vraćao na istom mestu je bilo 12 DIN! Da podsetim, u februaru je
bilo 7 DIN.
P.S. Znam da nema veze sa Clipper-om, ali kad se već rade baze ne bi bilo loše
da za cene stavite po jedno 5-6 cifara :(((
Pozdrav, Deki
clipper.193bulaja,
│ ĘDanas kad sam polazio u školu, na jednom mestu je kilo kafe bilo 10 DIN i
│kad sam se vraćao na istom mestu je bilo 12 DIN! Da podsetim, u februaru je
│bilo 7 DIN.
└───
To je normalna posledica skoka cene kafe na svetskom tržištu. :)
clipper.194vmisev,
> Imao sam čak i slučaj da dve nule (jedna iz baze, jedna iz promenljive)
> nisu htele da budu jednake.
Uf??? A kako to radi?
Nisam u toku uopšte, a o clipperu nemam pojma, al' me baš zanima kako
mu to polazi za rukom. I koje su nule u pitanju, int, float ili NULL ? :))
Vladimir
clipper.195goxx,
■ Jedna mala omaska u dokumentaciji Clipper-a:
■ Funkcija AEval( aExp, bExp Š, nExp1 Ć Š, nExp2 Ć ) prosledjuje
■ parametre kodnom bloku bExp.
■ Prvi parametar je vrednost elementa niza aExp koji se 'evaluira'.
■ Drugi je broj tog elementa u nizu aExp.
Ovo gore o parametrima me je u prvi mah zbunilo, pa samo da kažem.
Pričaš o parametrima u kodnom bloku, a ne u AEVAL funkciji. Inače u
dokumentaciji (ng) clipper-a 5.01 stvarno ne postoji, ali u 5.2 je
dato samo u primeru (ne i u objašnjenju funkcije).
Goran
clipper.196argus,
Nedavno sam pitao, ali niko nije odgovorio, pa da pitam jos jednom,
da li za CLIPPER 5.2 (internacionalna verzija) postoji (i gdje?) UPDATE
na 5.2 a,b,c ? (Ili da trazim 5.2 USA ver.)
clipper.197dsisic,
52dix - patch za prebac sa 52 na 52d za Clipper international.
Ja ga imam, a dao sam ga i bulaji pa racunaj da ce biti u diru...
Dodatne info kroz mail ...
clipper.198neman,
Pa kad se vec pominje, kada ce taj patch da pristigne medju nas obicne ljude :)
clipper.199dr.grba,
>> P.S. Znam da nema veze sa Clipper-om, ali kad se već rade baze ne bi bilo
>> loše da za cene stavite po jedno 5-6 cifara :(((
Koliko??? 5-6??? Šališ li se ti to?
N(18,2), bato, od prošle godine pa doveka.
clipper.200kdrazan,
Je l' ono neko tražio 5.2 d US ?! :)
+0
clipper.201zzk.,
> N(18,2), bato, od prošle godine pa doveka.
S tim da bi ekranske preglede i stampane izvjestaje trebalo urediti tako
da moze da se mjenja format.
Prilicno jadno izgledaju dvije-tri cifre cijene u polju desetak puta
vecem (ako je recimo fiksno formatirano 999 999 999 999 999.99).
TRANSFORM(x,pic_iznos)
TRANSFORM(x,pic_saldo)
... PICTURE pic_iznos
... PICTURE pic_saldo
// pic_iznos, pic_saldo - globalne varijable koje se ucitavaju po
startovanju programa iz nekog (recimo) CONFIG
fajla, a koji se naravno povremeno (po potrebi)
mjenja.
clipper.202bulaja,
│ 52dix - patch za prebac sa 52 na 52d za Clipper international.
│ Ja ga imam, a dao sam ga i bulaji pa racunaj da ce biti u diru...
└───
Potvrdjujem da će biti i patch za International verziju :).
Strpite se još samo dan-dva :).
clipper.203szeman,
Za CLIPPER-aše (Summer '87, nisam probao za kasnije verzije) evo programa
za
"nazubljivanje" source-ova. Program sam u praksi koristio više od 3 godine,
tako da je error free.
Korišćenje:
PR FileSpec
FileSpec koristi postojeću DOS kompatibilnost (pun path, džokeri itd.).
Pravi bekap fajlova XXXXX.BAK. Takođe je upotrebljiv za FOX.
Pozdrav, Saša
pr.zipclipper.204ndragan,
/ P.S. Znam da nema veze sa Clipper-om, ali kad se već rade baze ne bi
/ bilo loše da za cene stavite po jedno 5-6 cifara :(((
Ostavio 17.2 za cene i 20.2 za zbireve. Pikčeri su ionako promenljive
širine, većina izveštaja takođe. Linijske maske ladno postaju
dvolinijske itd. Naoružani smo, fala na pitanju.
p.s. još nisam izbrisao opštinski porez iz robnog. leba ne ište.
clipper.205ndragan,
/ mu to polazi za rukom. I koje su nule u pitanju, int, float ili NULL ?
/ :))
Ma on to drži iznutra valjda u IEEE formatu, e sad jedna nula je
rezultat računa pa ima neke sitne bitove dole koji bi se iskazali možda
na sedmoj ili desetoj decimali, a druga je pravo iz baze, lepa i čista.
I nisu jednake, osim ako se odštampaju; tek onda izgledaju isto.
clipper.206dr.grba,
>> S tim da bi ekranske preglede i stampane izvjestaje trebalo urediti tako
>> da moze da se mjenja format.
>> ...
>> TRANSFORM(x,pic_iznos)
>> TRANSFORM(x,pic_saldo)
>> ...
>> // pic_iznos, pic_saldo - globalne varijable koje se ucitavaju po
>> startovanju programa iz nekog (recimo) CONFIG
>> fajla, a koji se naravno povremeno (po potrebi)
>> mjenja.
Apsolutno tako. Potvrđuje se da se dobra ideja pre ili kasnije javi u više
glava na gotovo isti način...
Nema dileme, u cirkusu u kom živimo moramo imati odstupnicu. Možda to
i bude jedna valjana tekovina 1993. u glavama programera i projektanata.
clipper.207dr.grba,
>> Potvrdjujem da će biti i patch za International verziju :).
>> Strpite se još samo dan-dva :).
"Strpite se, strpite se...",
Ponavljaš to k'o da si stavio diskete ukiselo, da odmeknu (((:
clipper.208dr.grba,
>> Za CLIPPER-aše (Summer '87, nisam probao za kasnije verzije) evo programa
>> za "nazubljivanje" source-ova. Program sam u praksi koristio više od 3
>> godine, tako da je error free.
Vrlo zanimljivo, nije se dao omesti na moje razne podmetačine. Zanimljivi
mali utility vredan da se nađe u direktorijumu Sezama.
clipper.209vmisev,
> e sad jedna nula je rezultat računa pa ima neke sitne bitove dole koji bi
> se iskazali možda na sedmoj ili desetoj decimali, a druga je pravo iz ba-
> ze, lepa i čista. I nisu jednake, osim ako se odštampaju; tek onda izgle-
> daju isto.
Ovo OK (tj, mislim da nije ok, al' šta da se radi), to mi je otprilike
jasno. Mada mi nije jasno što drži brojeve u različitim formatima...
> Ma on to drži iznutra valjda u IEEE formatu
^^^^^^^^^^^^
E ovo me već zanima. Da li je u pitanju standard, o čemu se zapravo tu
radi, koja je specifikacija formata... Ako ovo nije mesto za odgovore, mo-
lim u mail.
Vladimir
clipper.210cnenad,
Na koji način je moguće naterati programe rađene u Kliper-u da rade u nekom
drugom grafičkom / tekst modu od normalnog (24 linije) ?
U NFLib-u 2.01. imaju funkcije koje prepoznaju mod u kojem se nalazi kartica
ali nisam ništa našao o ovome. :((
Ima li neko ideju ? :)
clipper.211zzk.,
> Nema dileme, u cirkusu u kom živimo moramo imati odstupnicu. Možda to
> i bude jedna valjana tekovina 1993. u glavama programera i projektanata.
Namucila nas jeste, ali to joj sigurno nije jedina tekovina:
-denominacija,
-promjenjljivost obracuna plata
-promjenjljivost kalkulacija i obracuna poreza
-promjenjljivost konta i nacina knjizenja (za one koji to rade automatski)
-promjenjljiva (simulirana naravno) struktura datoteka ...
Natjerala nas je stvarno da mozgamo da bi taj nas kod bio sto
univerzalniji i 'programabilan' sa nivoa korisnika, ali pomalo osjecam
ukus gorcine :< pri pomisli kako se ta silna energija mogla iskoristiti
za mnogo vecu integraciju sistema i automatizaciju poslovanja u pravom
smislu; pravljenje, da se tako izrazim, ekspertnog sistema za vodjenje
poslovanja preduzeca gdje bi (da ne kazem bukvalno) sve bilo na dugme.
Ipak to zahtjeva mnogo stabilnije propise (i ne samo njih) i tradiciju
da se po njima u firmama i radi. ;)
Mozda nam Avram i to donese, mozda ... nekad ...
clipper.212zzk.,
> Na koji način je moguće naterati programe rađene u Kliper-u da rade u nekom
> drugom grafičkom / tekst modu od normalnog (24 linije) ?
žžžžžžžžžžž
25!
Za tekst mod:
Clipper postuje mod u kome zatekne karticu (mode con: Šlines=xĆ Šcols=yĆ),
i svi tvoji programi mogu da rade sa 50 linija, stim da ti je donja
polovina ekrana prazna, ili 40 kolona, ali onda ne vidis desnu polovinu
ekrana. Da bi ovo izbjegao pri kreiranju izgleda ekrana moras koristiti
MAXROW() i MAXCOL().
Graficki mod ne koristim, ali biblioteke za te rabote moraju imati nesto
na tu temu.
clipper.213rpausic,
>## ukus gorcine :< pri pomisli kako se ta silna energija mogla
>## iskoristiti za mnogo vecu integraciju sistema i automatizaciju
Hvala bogu da imam još istomišljenika. Kao da je računarstvo ograničeno
pa da nemamo gde da potrošimo našu stvaralačku energiju :(((
>## Mozda nam Avram i to donese, mozda ... nekad ...
Možda BI nam super-deka doneo, kada bi on vladao ovom zemljom ...
Kod ovih stvari prestaje moj optimizam :((((
clipper.214dr.grba,
>> Na koji način je moguće naterati programe rađene u Kliper-u da rade u
>> nekom drugom grafičkom / tekst modu od normalnog (24 linije) ?
SETMODE()
Change display mode to a specified number of rows and columns
──────────────────────────────────────────────────────────────────────────────
Syntax
SETMODE(<nRows>, <nCols>) --> lSuccess
Arguments
<nRows> is the number of rows in the desired display mode.
<nCols> is the number of columns in the desired display mode.
Returns
SETMODE() returns true (.T.) if the mode change was successful;
otherwise, it returns false (.F.).
Description
SETMODE() is an environment function that attempts to change the mode of
the display hardware to match the number of rows and columns specified.
The change in screen size is reflected in the values returned by
MAXROW() and MAXCOL().
Examples
■ This example switches to a 43-line display mode:
IF SETMODE(43, 80)
? "43-line mode successfully set"
ELSE
? "43-line mode not available"
ENDIF
********************
RTFM.... (:
clipper.215dr.grba,
>> Ipak to zahtjeva mnogo stabilnije propise (i ne samo njih) i tradiciju
>> da se po njima u firmama i radi. ;)
Eno, cela generacija koja je u SAD u ekonomskoj školi naučila da obračunava
porez stigla već u penziju... Ceo radni vek obračunavali porez na isti način.
A moja mati je za 30 godina staža u računovodstvu doživela tri generalne
revizije kontnog plana i bogaoca izmena raznih zakona, milion uredbi; kad se
vrati sa godišnjeg odmora, donosi kući službeno lišće ne bi li stigla da sve
rastumači kako bi mogla dalje da radi. Bar pola snage odlazi na proveru da li
je sve u skladu sa zakonom i da li se pogrešiloi na ovome i onome... ):
A ti sad sedi i programiraj ))):
>> Mozda nam Avram i to donese, mozda ... nekad ...
Ne radi se o tome da neko nešto odluči, već da se svi ostali toga
pridržavaju. ):
clipper.216cnenad,
ŁŁŁ RTFM.... (:
Ma čitam ja FM, ali kad ne nađeš onda pitaš. TNX Dragane, sad me jedan
drugi Dragan neće gnjaviti zbog toga ;))
clipper.217rpausic,
>##>> Ipak to zahtjeva mnogo stabilnije propise (i ne samo njih) i
>##>> tradiciju da se po njima u firmama i radi. ;)
BTW, hoćemo li mi programeri da se pobunimo protiv onih koji nas
zezaju ili ne? Ako hoćemo, idealna nam je prilika SEZAM. Ja bih
radije da proučavam UNIX, mreže, PROGRESS, C++, EDIFAKT, bespapirno
poslovanje itd. umesto da prevrćem zakone i službeno lišće
prepravljajući do besvesti jedno te isto!
Ako ima još istomišljenika, neka mi se jave na mail, pa ćemo da tražimo
od nadležnih da pokrenu potpisivanje peticije :), a možda da urade i
nešto preko Računara :))
clipper.218bulaja,
│Na koji način je moguće naterati programe rađene u Kliper-u da rade
│u nekom drugom grafičkom / tekst modu od normalnog (24 linije) ?
└───
Pa rade bez problema, samo treba umesto konsanti za 25 linija i 80
kolina koristiti MaxRow() i MaxCol(). Clipper automatski prepoznaje
mod u kome je startovan, a on se može i izmeniti funkcijom SetMode()
(koja doduše ne podržava baš sve modove).
clipper.219dr.grba,
>> Ako ima još istomišljenika, neka mi se jave na mail...
Pazi ovo "ako ima još istomišljenika"...
Roberte, čoveče, pa ko ti ovde nije istomišljenik po tom pitanju?
Zamislite reply:
"Pa šta ako ću ceo radni vek da prepravljam programe i motam greške i
ispravljam izveštaje u ASCII editoru i svađam se sa službenicima i trpim
direktorove tirade i ne spavam noćima i grizem nokte i trepćem u monitor
i molim boga da sve bude u redu kad zakuca finansijska policija? Ja baš
volim takav život!..."
Uf, da nije tužno, bilo bi smešno... ):
clipper.220rpausic,
>## Pazi ovo "ako ima još istomišljenika"...
>##
>## Roberte, čoveče, pa ko ti ovde nije istomišljenik po tom pitanju?
Mislio sam na istomišljenika da se nešto mora uraditi. Sudeći po
prvom danu (ni jedan odgovor) ljudi baš nisu optimisti. Ako nekom
nedostaje argumenata za, daću mu jedan: ako ništa ne pokušamo mi
koji najviše stradamo, ko će to uraditi za nas? Ako neko misli
da postoji bolji način za borbu protiv izmena zakona, neka ga
navede. Ako nema boljeg predloga, pokušajmo s ovim.
clipper.221bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
52di_new zip 9008 CA-Clipper 5.2 revision D (Int'l ver): spisak promena
52dix a01 320730 CA-Clipper 5.2d (Int'l) / ExoSpace 1.0f - Update #1/4
52dix a02 320664 CA-Clipper 5.2d (Int'l) / ExoSpace 1.0f - Update #2/4
52dix a03 320667 CA-Clipper 5.2d (Int'l) / ExoSpace 1.0f - Update #3/4
52dix a04 319984 CA-Clipper 5.2d (Int'l) / ExoSpace 1.0f - Update #4/4
52du_new zip 8859 CA-Clipper 5.2 revision D (US ver): spisak promena
52dusx a01 299567 CA-Clipper 5.2d (US) / ExoSpace 1.0f - Update #1/4
52dusx a02 299609 CA-Clipper 5.2d (US) / ExoSpace 1.0f - Update #2/4
52dusx a03 299598 CA-Clipper 5.2d (US) / ExoSpace 1.0f - Update #3/4
52dusx a04 279436 CA-Clipper 5.2d (US) / ExoSpace 1.0f - Update #4/4
Konačno u vašem gradu :).
Take your time to download update and forget VM Integrity Failures. :)
clipper.222srdjan.j,
==> 52di_new zip 9008 CA-Clipper 5.2 revision D (Int'l ver):
==> 52du_new zip 8859 CA-Clipper 5.2 revision D (US ver):
Može li ukratko da neko kaže u čemu se ova dva upgrade-a razlikuju ?
Srđan.
clipper.223neman,
Pa red je da se zahvalimo onima koji su dovukli Clipper 5.2d.
H V A L A :)
neman
clipper.224dobrada,
U vezi ranije rasprave o stampanju i biranju portova.
Ja radije koristim svoje funkcije za stampanje. Portovima pristupam
kao fajlovima sa FOPEN() i FWRITE() funkcijama. Ako prijavi gresku pri upisu
znaci da port (fajl) nije dostupan. Posto su stampaci spori treba ponoviti
par puta pre upozorenja za korisnka i eventualnog prekida stampanja.
Moze ili da se ponovi dvadesetak puta ili par puta sa vremenskom pauzom,
tako da se ukupno saceka par sekundi pre upozorenja.
U istom modulu moze se nalaziti i funkcija koja u menja naziv porta (fajla)
ili izborom iz menija ili konfiguracione datoteke.
Biblioteka sa ovim Print funkcijama se brzo pravi i dosta je fleksibilna.
clipper.225bulaja,
│Može li ukratko da neko kaže u čemu se ova dva upgrade-a razlikuju ?
└───
Pa u tome da li već imaš insaliran Clipper 5.2x International ili USA
verziju :). Negde ranije je pisalo kako prepoznaješ koju verziju imaš,
valjda po nations.obj fajlu (ili tako nekako) koji postoji samo u Intl
verziji.
clipper.226neman,
Neka neko otkuca sadrzaj originalne CL.BAT jer bez nje izgleda patch nece da
zavrsi posao :((
neman
clipper.227neman,
U stvari radi, ali pukne pre nego sto tmp fajlove preimenuje na ogovarajuci
naziv, pa sad trebam da ga jurim po disku sa unerase.
neman
clipper.228goxx,
■ Ja radije koristim svoje funkcije za stampanje. Portovima pristupam
■ kao fajlovima sa FOPEN() i FWRITE() funkcijama.
Možeš li da pošalješ malo koda za ovo? Ja se ubih, ali nikako da mi
proradi. Petljao sam i sa C-om. Ne vraca mi grešku kad stampac
nije spreman već samo prođe. Dešavalo se i da blokira. Hvala.
Goran
clipper.229neman,
Kad vec pricam sam sa sobom, da dam i resenje mog problema:
Patch treba startovati sa
patch clp52bin.rpt /i
/i - ignore, preskace one datoteke koje nece da obradi, i ide dalje, a vi
posle lupajte glavu zasto nece. CL.BAT :(( :│ :))) ;)
neman
clipper.230bulaja,
│Patch treba startovati sa
│ patch clp52bin.rpt /i
│/i - ignore, preskace one datoteke koje nece da obradi, i ide dalje,
│a vi posle lupajte glavu zasto nece. CL.BAT :(( :│ :))) ;)
└───
Pa što nisi startovao Install.exe? :) I meni je javio grešku da nema
cl.bat, ali je ipak nastavio patchovanje. Inače prvi pokušaj patch-a na
5.2c koji sam imao na disku bio mi je neuspešan, pošto je clipper.exe i
dalje javljao verziju 5.2c, a //info 5.2d. Kada sam ponovo instalirao
osnovni CA-Clipper 5.2 i na njega patch, sve je prošlo Ok.
clipper.231neman,
> Pa sto nisi startovao Install.exe? :) I meni je javio
:) Ja to i JESAM uradio. Pocne on da mulja cld.exe, clipper.exe,
cld.exe i onda stane jer nema cl.bat. Pa je onda krenuo rucni rad kao
medjufaza.
> gresku da nema cl.bat, ali je ipak nastavio patchovanje.
> Inace prvi pokusaj patch-a na 5.2c koji sam imao na disku
> bio mi je neuspesan, posto je clipper.exe i dalje javljao
> verziju 5.2c, a //info 5.2d.
To se i tebi desilo :) jer glupi(?) patch je prekidao rabotu ukoliko
nije bilo SVIH neophodnih datoteka. CL.BAT-u bi valjda samo trebao
da promeni datum, ali .. a na disku ostavi tmp datoteke koje mozes
da undeletnes ali nije to to.
BTW u install.dat datoteci video sam da se patch startuje sa tri parametra:
nobackup, nopathsearch .... Pogledao sam staru verziju patch-a ( 1.11 ) iz
prethodnih upgrade-ova i nasao sve prethodno pomenute prekidace, od kojih
je /i bitan :)
> Kada sam ponovo instalirao
> osnovni CA-Clipper 5.2 i na njega patch, sve je proslo Ok.
Pa posalji mi oriinalni cl.bat ;)
neman
clipper.232dr.grba,
>> koji najviše stradamo, ko će to uraditi za nas? Ako neko misli
>> da postoji bolji način za borbu protiv izmena zakona, neka ga
>> navede. Ako nema boljeg predloga, pokušajmo s ovim.
Možda jednog dana, kada u ova zemlja postane demokratska.
Ali ne bih o tome ovde. Sorry. ):
clipper.233zzk.,
> ako ništa ne pokušamo mi koji najviše stradamo, ko će to uraditi
> za nas? Ako neko misli
Nije stvar u tome da li zelimo da se nesto uradi po tom pitanju, nego
vjerovatno ocjenjujemo da se nasim glasom ne bi nista postiglo (u ovoj
zemlji je tako - mislis da bi se neko gore pocesao iza uva zbog nas?)
Ne stradamo samo mi. Tu su knjigovodje, vlasnici ovih i onih firmi koje
bivaju pogodjene izmjenama, citave privredne grane, stare devizne
stedise, nove devizne stedise ... , ali koga briga za to? Vazno je da
je narod srecan i zadovoljan, a Skupstina zabava za mase.
Da rezimiram: Nista se nece (bitno) promjeniti glasom ove ili one grupe
ljudi. Svi ovi problemi ce doci na rjesavanje ukupnim popravljanjem
situacije, a tim putem izgleda krecemo??? Samo, to je proces koji ce
dugo trajati, ne vrijedi nam cekati da se zavrsi - moramo ga pratiti.
clipper.234nbatocanin,
> Možeš li da pošalješ malo koda za ovo? Ja se ubih, ali
> nikako da mi proradi. Petljao sam i sa C-om. Ne vraca mi
> grešku kad stampac nije spreman već samo prođe. Dešavalo
> se i da blokira. Hvala.
Probaj ovo.
print.zipclipper.235dzoric,
Patch na verziju 5.2d (US) izgleda ne rešava u potpunosti
problem VMIF. Na mašinama 386SX bez podignute Expanded
memorije i dalje puca sa SIX-om. To je moj prvi utisak.
Dejan :(((
clipper.236bulaja,
│Patch na verziju 5.2d (US) izgleda ne rešava u potpunosti
│problem VMIF. Na mašinama 386SX bez podignute Expanded
│memorije i dalje puca sa SIX-om. To je moj prvi utisak.
└───
A meni je počeo da se javlja VMIF tek kad sam instalirao 5.2 D :(.
Pre toga nisam nikad imao ni jedan slučaj (verovatno zato što sam
koristio FUNCky VM), a sada puca prilično često :(. Samo moguće je
da nije problem samo do Clipper-a, već npr. i u Blinker-u.
clipper.237dzoric,
> koristio FUNCky VM), a sada puca prilično često :(. Samo moguće
> je da nije problem samo do Clipper-a, već npr. i u Blinker-u.
Moguće da i Blinker ima uticaja jer na vršio sam dvodnevno
testiranje na dve potpuno iste mašine (386SX, 2Mb RAM-a)
sa QEMM-om 7.04 i bez njega i na mašini gde nema podignute
Expanded memorije program puca 3-4 puta/sat a na drugoj gde
je podignuta memorija nijedan slučaj pucanja.
Na obe mašine radi program koji je linkovan Blinker-om 3.0
i ima otprilike ovakav LNK :
BLINKER EXECUTABLE CLIPPER F100;SWAPPATHC:ĐSWP;
BLINKER OVERLAY FIXED
BLINKER OVERLAY OPSIZE 60
BLINKER INCREMENTAL OFF
BLINKER PROCEDURE DEPTH 55
BLINKER OVERLAY PAGEFRAME ON
BLINKER OVERLAY THRESHOLD 256
BLINKER CACHE XMS 512, 25% << Na ove dve stvari
BLINKER CACHE EMS 128, 50% << najviše sumnjam
OUTPUT MYPROG
FILE MYPROG
FILE SIXSWE
SEARCH ROOTVM
BEGINAREA
PRG1
PRG2
....
PRGn
FILE SIXCDX
ALLOCATE FUNCKY52
ALLOCATE FUNCKYVM
ALLOCATE FUNCKY2C
ENDAREA
čSIXCDX.LNK
čCL520MID.LNK
Situacija je bezizlazna, izgleda da se vraćam NTX-u i RTLink-u.
Ne vredi.
Ožalošćeni Dejan :(((
clipper.238.ken.,
> Patch na verziju 5.2d (US) izgleda ne resava u potpunosti
> problem VMIF. Na masinama 386SX bez podignute Expanded
> memorije i dalje puca sa SIX-om. To je moj prvi utisak.
Probao sam da DBX132 prevedem sa novim Clipperom 5.2d.
Program prodje prevodjenje ali pri otvaranju postojece datoteke (open)
program jednostavno pukne (bio Blinker ili RTlink).
Da li je to samo kod mene ili ih ima jos....?
Da se ne vratimo mi na "stari" 5.2c, dok voda ne legne ili dodje neki
5.2e i 5.2f. :-(((((
clipper.239goxx,
■ Probaj ovo.
■ ** Uz poruku 'print.zip' (1151 bytes)
Pravio sam to iz C-a, ali to nije to. "Zadatak" je otprilike ovakav
...
IF FWRITE(nHandle, cString) <> LEN(cString)
// Nešto je krenulo nizbrdo
// diži paniku
...
ili na primer
...
FWRITE(...
IF FERROR() <> 0
// došlo do greške
...
nHandle bi mogao da bude štampač ili datoteka. Za štampač je rezervisan
DOS handle 4, ali ovo baš ne funkcioniše. Ili bi recimo bilo dobro da
se stampac otvori kao nHandle := FOPEN("PRN") ili da se već nekako
izmuva nećto slično.
Hvala na pomoći.
Goran
clipper.241goxx,
■ │problem VMIF. Na mašinama 386SX bez podignute Expanded
■ │memorije i dalje puca sa SIX-om. To je moj prvi utisak.
■ A meni je počeo da se javlja VMIF tek kad sam instalirao 5.2 D :(.
Hoće li, zaboga, taj clipper 5.2 već jednom da se prečisti.
Iznerviraću se pa ću da pređem na fox. (najgadnija psovka koje
sam se u trenutku setio ;)
Goran
clipper.242arazumenic,
Da iznesem svoja prva (i poslednja) iskustva sa CDX indeksima.
Do sada nisam ih koristio, ali praveći jedno programče za kućnu upotrebu,
(gde mi je bilo potrebno 6 indeksa za jednu datoteku) i sledeći uputstva
dvesic-a iz poruke 612 iz PC.PROG.3, napravih program sa CDX indeksima.
U početku je potrebno popuniti bazu sa oko 3.600 slogova iz jedne tekstualne
datoteke. Za početak sam formirao 3 indeksa. Rezultat: Katastrofa!
CDX indeksi su radili očajno sporo. Vreme punjenja baze je bilo 2293 sekundi.
NTX indeksi su istu stvar obavili za svega 67 sekundi (34 puta brže).
Brzinu traženja odredjenog sloga u datoteci sa dbseek() nisam uporedjivao,
ali je primetno sporija sa CDX indeksima.
Da li ja negde grešim u upotrebi CDX drajvera, ili je ovo posledica izuzetno
traljavo uradjenog drajvera, ne znam.
Hvala lepo za CDX, više ga ne konzumiram.
Saša
clipper.243dzoric,
>>> Hvala lepo za CDX, više ga ne konzumiram.
Hm. Verovatno si nesto zabrljao. Ja radim iskljucivo sa CDX indeksima
(dok ne pristigne NSX) i cinjenica je da je NTX malo brzi (10-15%),
ali nema govora o odnosima koje si ti naveo. Radim sa bazama i po
250,000 slogova koje su pre bile sa NTX-om a sad se ganjaju SIx-om
pa nisam primetio neku drasticnu brzinu NTX-a.
Ne znam, jedino ako koristis DBFCDX.LIB koji se dobija sa Clipper-om
on je prepun bagova pa mozda te to zeza.
Dejan :)
clipper.244nbatocanin,
> ■ Probaj ovo.
> ■ ** Uz poruku 'print.zip' (1151 bytes)
>
> Pravio sam to iz C-a, ali to nije to.
Milim da grešiš u koncepciji. Zašto pokušavaš da štampaš na štampač
preko FWrite? Ja radim to na sledeći način:
1) generišem izveštaj u privremenu datoteku.
2) korisnik može da pregleda datoteku, bira razne opcije za štampanje
i sl.
3) Kada korisnik zatraži štampanje, jednostavno čitam ovu datoteku i
šaljem na štampač preko onih funkcija koje sam poslao.
4) ako korisnik zatraži datoteku sa izveštajem, jednostavno uradim
COPY datoteke sa izveštajem i to je to.
clipper.245nbatocanin,
> Moguće da i Blinker ima uticaja jer na vršio sam dvodnevno
> testiranje na dve potpuno iste mašine (386SX, 2Mb RAM-a)
> sa QEMM-om 7.04 i bez njega i na mašini gde nema podignute
> Expanded memorije program puca 3-4 puta/sat a na drugoj
> gde je podignuta memorija nijedan slučaj pucanja.
Pa tu ima manje memorije, zato i puca češće.
> Situacija je bezizlazna, izgleda da se vraćam NTX-u i
> RTLink-u. Ne vredi.
:(((( Hebi ga. Šteta za onako dobar softver.
clipper.246arazumenic,
-> Hm. Verovatno si nesto zabrljao. Ja radim iskljucivo sa CDX indeksima
Program je isti, uz dodatak na početku programa:
request DBFCDX
rddsetdefault("dbfcdx")
-> Ne znam, jedino ako koristis DBFCDX.LIB koji se dobija sa Clipper-om
Pa jedino taj i imam, i to iz verzije 5.2d
Saša
clipper.247snemcev,
>> Da li ja negde grešim u upotrebi CDX drajvera, ili je ovo posledica
>> izuzetno traljavo uradjenog drajvera, ne znam.
>> Hvala lepo za CDX, više ga ne konzumiram.
Koji RDD koristiš -- SixCdx ili DbfCdx?
clipper.248mjevta,
>> Hoće li, zaboga, taj clipper 5.2 već jednom da se prečisti.
>> Iznerviraću se pa ću da pređem na fox. (najgadnija psovka koje
clipper.249mjevta,
Na temu CDX ws NTX:
Ne tako davno jedan moj prijatelj je doneo mali demo
programcic koje je trebalo da uporedi performanse SIXCDX
i NTX indeksa. Demonstracija je bila ubedljivo na strani
SIXCDX (sto je opste poznato, ne). Onda smo to uporedili
sa FOXPRO v2.0 CDX indeksima i:
- konjpatibilni su (sto je takodje poznato)
- po brzini su prakticno isti (malo, ali zanemarljivo
preteze u korist FOX-a).
Kasnije sam probao sa CLIPPER CDX drajverom i ispostavilo
se da je 2-10 puta sporiji od FOX CDX (dakle, i od SIXCDX)
drajvera.
Sve u svemu, NIKAKO clipper CDX.
Testirane su konkretne stvari (indeksiranje i upiti).
bjevta
clipper.250snemcev,
>> request DBFCDX
Ovo je tvoj problem -- uzmi SIxCdx ili još bolje SIxNsx i uživaj.
>> Pa jedino taj i imam, i to iz verzije 5.2d
Potrudi se da nabaviš SIx. Siguran sam da se nećeš pokajati.
clipper.251dvesic,
>> Program prodje prevodjenje ali pri otvaranju postojece
>> datoteke (open) program jednostavno pukne (bio Blinker ili
>> RTlink). Da li je to samo kod mene ili ih ima jos....?
Vec nedelju dana koristim DBX 1.32 preveden sa Cl 5.2d i da
kucnem u drvo (cuk, cuk, cuk) nema nikakvih problema ...
clipper.252dzoric,
>>> :(((( Hebi ga. Šteta za onako dobar softver.
Samo sam se salio. SIx ne napustam pa makar me tukli.
>>> Pa tu ima manje memorije, zato i puca češće.
Jest', samo sto nesme da pukne nego lepo da swap-ne na disk.
BTW, Jel' neko zna kako i kad Clipper radi sa SWAP filo-vima.
Koliko sam ja zamjetio cim krene aplikacija napravi se SWAP
file koji pocinje sa $ (Blinker) ili bbca... (RTLink).
Ako se legalno izadje CLOSE ALL zatvori i obrise swap file.
Ako se gasne masina sledeci ulaz u aplikaciju pukne na VMIF.
Mozda i tu ima neki zvrk.
clipper.253dzoric,
>> Pa jedino taj i imam, i to iz verzije 5.2d
Koliko sam ja nacuo DBFCDX.LIB iz Clipper-a 5.2X je
SIx CDX verzija 0.8 ???
A ima izgleda da SuccessWare padne pod cizmu Computer Associates-a.
Bas me cudi zasto to rade.
Dejan :)
clipper.254dzoric,
Imam dosta softvera zgodnog kako za velike tako i za male majstore.
To su tehnike rada u CA Clipper-u koje su prikazane na sajmu u
Orlandu, CA-TehniCom '93. Mozda malo bajato ali izuzetno poucno.
Autori su sve sami majstori:
Greg Lief, Mike Schinkel, David Morgan, David Reynolds, Steve Kolterman,
i ostala "boranija".
Mozda bi bilo dobro da se baci u DIR.
clipper.255bulaja,
│Imam dosta softvera zgodnog kako za velike tako i za male majstore.
│To su tehnike rada u CA Clipper-u koje su prikazane na sajmu u
│Orlandu, CA-TehniCom '93.
└───
Šalji :).
clipper.256neman,
> Ako se legalno izadje CLOSE ALL zatvori i obrise swap
> file. Ako se gasne masina sledeci ulaz u aplikaciju pukne
> na VMIF. Mozda i tu ima neki zvrk.
Jednom je aplikacija koja radi pod Novellom pucala pri pokusajima neke
obrade koja je bila zahtevnija za memorijom, npr indexiranje. Kada smo
pogledali dir videli smo da ima par neobrisanih $tmp1 ili tako nesto
privremenih datoteka, od kojih je jedna bila nedeljiva ( non shareable )
Obrisali smo predmetni flag i datoteku i aplikacija vise nije pucala.
Objasnjenje je to da imena tmp datoteka pocne da broji od 1, a postojala
je neka zakucana i eto loma.
Sto se tice VMIF-a na mojoj masini ( 386/20 MHz/2 MB RAM ) su se dosad
pojavili svega 2 - 3 puta i to pri radu sa TBrowse objektom, a testirao
sam aplikacije sa muljanjem nekih 20-tak MB podataka i NSX indexa i nista :)
neman
clipper.257neman,
> Koliko sam ja nacuo DBFCDX.LIB iz Clipper-a 5.2X je
> SIx CDX verzija 0.8 ???
Ovo ide u VICEVI:bez.veze :)
neman
clipper.258neman,
> Mozda bi bilo dobro da se baci u DIR.
Pa posalji :)
neman
clipper.259dpredovic,
> Na obe mašine radi program koji je linkovan Blinker-om 3.0
> i ima otprilike ovakav LNK :
>
> BLINKER OVERLAY OPSIZE 60
Ovo može, ali probaj da podigneš stealth u qemm-u, dobijaš 180+ Kb
visoke memorije, pa kada podigneš sve drajvere opet ostaje cca 120Kb.
Onda lepo staviš set blinker=/OO120, pa overleji ne zauzimaju ni bajta
donje memorije.
> BLINKER PROCEDURE DEPTH 55
Probaj ovo malo da povećaš.
> BLINKER OVERLAY PAGEFRAME ON
Ovo dosta kvari stvari, ako imaš dosta visoke memorije (a sa stealth-om
mora da imaš), izbaci.
> BLINKER OVERLAY THRESHOLD 256
Ovo mi se čini malo suviše, ako nemaš 250+ Kb overleja smanji. (Kod mene
stoji default)
> BLINKER CACHE XMS 512, 25% << Na ove dve stvari
Ovo može da ostavi premalo EMS za clipper, probaj sa 75%.
> BLINKER CACHE EMS 128, 50% << najviše sumnjam
Ovo ne treba.
> FILE SIXSWE
??? Jel radiš za Volvo? ;)))
> čSIXCDX.LNK
Vidi šta sve ide u overleje, kod mene ide sve što NE MORA u root. Isto
tako pripazi ako koristiš Mach6, ima jedna stvar koja mora u root, a po
defaultu je u overleju.
> čCL520MID.LNK
CL520MAX sa onolikim /OO i kešom radi posao.
> Situacija je bezizlazna, izgleda da se vraćam NTX-u i RTLink-u.
Auuuuuu, pa ti si stvarno očajan... :))
Javi rezultate.
Cu, Dejan
clipper.260dpredovic,
> Ne tako davno jedan moj prijatelj je doneo mali demo
> programcic koje je trebalo da uporedi performanse SIXCDX
> i NTX indeksa. Demonstracija je bila ubedljivo na strani
> SIXCDX (sto je opste poznato, ne). Onda smo to uporedili
Uz SIXNSX dolazi demonstracija koja upoređuje INDEX, SKIP,
SEEK i APPEND FROM u ekskluzivnom i shared modu sa NTX-om.
Rezultati su do 20x u korist (naravno) NSX-a.
Interesantno je da taj programčić ne dolazi uz SIXCDX.
Guess why? :>>
NSX vs CDX
5000 slogova, 4 indexa
indexiranje 170Kb:230Kb
15s:24s
5000 SKIP-ova 1.7s:2.4s
1000 SEEK-ova 0.8s:1.5s
APPEND FROM (1000 slogova) 7s:115s !!!
Fox, eat your heart out! :>>> Zezam se, izgleda da kompa-
tibilnost sa bilo čim (bio to i Fox), vuče sa sobom dosta
balasta...
Cu, Dejan
clipper.261dzoric,
> Ovo ide u VICEVI:bez.veze :)
Pa ako mi ne veruješ uđi u DBFCDX.LIB pa potraži string
"SuccesWare", a videćeš i gomilu funkcija koje pocinju sa
__sex. Bać žudno kako se to pogodilo.
clipper.262dzoric,
Za pocetak evo uvod u Tbrowse od Grega Lief-a. Tu je nekih
tridestak primera, izbacio sam EXE zbog velicine.
fileclipper.263dzoric,
Zatim printer control, spooler i preview tehnike.
print.zipclipper.264dvesic,
>> Koliko sam ja nacuo DBFCDX.LIB iz Clipper-a 5.2X je
>> SIx CDX verzija 0.8 ???
0.9, da budemo precizni :))
clipper.265neman,
> Pa ako mi ne verujes udi u DBFCDX.LIB pa potrazi string
> "SuccesWare", a videces i gomilu funkcija koje pocinju sa
> __sex. Bac zudno kako se to pogodilo.
Sto jes, jes ??? A CDX je verovatno sporiji jer je __sex duzi :)
neman
clipper.266dzoric,
Eve ga i help sistem.
help.zipclipper.270dzoric,
Evo pokusaja coveka iz Computer Associates-a da resi
problem RollBack-a.
newtrans.zipclipper.271dr.grba,
>> Koliko sam ja nacuo DBFCDX.LIB iz Clipper-a 5.2X je
>> SIx CDX verzija 0.8 ???
Jeste, Successware je poturio taj 0.8, pa sačekao da to izađe na tržište, i
onda izneo novi i rekao "Gledajte, naš je bolji!" (((:
clipper.273dobrada,
> Mozes li da posaljes malo koda za ovo?
Posto se vratih sa puta da posaljem malo koda. U prilogu saljem
modul za stampanje uradjen u cistom clipperu.
Proverava se da li ispravan upis u fajl/port pri svakom pisanju,
ako upis nije ispravan pojavljuje se poruka koja je u ovom primeru
realizovana sa funkcijom Alert(). Ovo je zgodno jer stampac moze biti
nedostupan za vreme stampanja izvestaja. Ako funkcija vrati .F.,
odnosno da nije izvrseno stampanje i pored vise pokusaja, odnosno
da je korisnik odustao od stampanja, onda se sa BREAK ili RETURN
izlazi iz tog dela programa ili funkcije odakle smo hteli da stampamo.
Funkcijom PrintSet() podesava se ime podrazumevanog fajla/porta.
Ako se koristi upis u fajl zgodno je pre nego sto pocne da se upisuje
u fajl, proveriti da li takav postoji i postaviti pitanje korisniku
da li da ga prebrise ili ne.
Ovaj modul mozete da zacinite, zabiberite i ofarbate prema ukusu.
Ako ima nekih problema javite se.
prcl.zipclipper.274bulaja,
Ima li neko CA-Tools 3.0 patch za protected mode (ExoSpace/Blinker 3.0)?
clipper.275dzoric,
Modular programming by Mike Schinkel.
modular.zipclipper.276dzoric,
CUA Menu System. Sa ovim ide i DATADRIV.ZIP koji ce biti poslat.
cua.zipclipper.278mjevta,
Na temu CDX ws NTX:
Ne tako davno jedan moj prijatelj je doneo mali demo
programcic koje je trebalo da uporedi performanse SIXCDX
i NTX indeksa. Demonstracija je bila ubedljivo na strani
SIXCDX (sto je opste poznato, ne). Onda smo to uporedili
sa FOXPRO v2.0 CDX indeksima i:
- konjpatibilni su (sto je takodje poznato)
- po brzini su prakticno isti (malo, ali zanemarljivo
preteze u korist FOX-a).
Kasnije sam probao sa CLIPPER CDX drajverom i ispostavilo
se da je 2-10 puta sporiji od FOX CDX (dakle, i od SIXCDX)
drajvera.
Sve u svemu, NIKAKO clipper CDX.
Testirane su konkretne stvari (indeksiranje i upiti).
bjevta
clipper.279arazumenic,
-> Za pocetak evo uvod u Tbrowse od Grega Lief-a. Tu je nekih
-> tridestak primera, izbacio sam EXE zbog velicine.
Malo sam se igrao sa ovim i neki programi ne rade kako treba.
Na primer TBROW20.PRG ima ugradjen scrollbar koji korektno radi samo ako
se za prikaz ne koristi ni jedan indeks.
Kako nema nikakve priložene dokumentacije, pretpostavljam da je krivica do
jednog od priključenih .obj fajlova (ntxhand.obj ili ntxpos.obj).
Naime, u pomenutom programu se koristi funkcija ntxpos(), koja bi (ponavljam
da je to moja pretostavka) trebala da vrati redni broj sloga po aktivnom
indeksu; nešto kao recno() ako se ne koristi nijedan indeks.
Priključen je još jedan .obj fajl ntxrec(), koji se nigde ne koristi.
Da nije osim EXE fajla slučajno izbačeno još nešto?
Inače, ovako na brzi pogled, ovo je sasvim lepo uradjen uvod u tbrowse klasu,
od najjednostavnih ka složenijim primerima.
Saša
clipper.280bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
modular zip 32590 Modular Programming in CA-Clipper (By: Mike Schinkel)
newtrans zip 7239 Updated Trans.prg (Clip 5.2 Programming & Util Guide)
prnctrl zip 72596 Printer Control and Spooling in Clipper
tch93hlp zip 31114 Help Systems in CA-Clipper (TechniCon '93)
Neki od fajlova koje je dzoric poslao ovih dana prebačeni su u Clipper
dir (nekima je stavljen prikladniji filename:). Kad pogledam i ostale
priloge možda će u dir ići još nešto :). Hvala dzoricu na prilozima.
clipper.281nnedic,
Da kažem nešto o problemu indeksiranja po našim slovima kod
SIX CDX-a, ja sam ga rešio sitnom intervencijom na (poznatoj)
funkciji (u prilogu), koju sam koristio ranije kod NTX-a i sve
lepo radi. Da li neko zna bolje rešenje ?
Nik
yucdx.zipclipper.282bulaja,
│Naime, u pomenutom programu se koristi funkcija ntxpos(), koja bi
│(ponavljam da je to moja pretostavka) trebala da vrati redni broj sloga
│po aktivnom indeksu; nešto kao recno() ako se ne koristi nijedan indeks.
└───
SIx RDD (CDX i NSX) ima funkcije Sx_KeyCount() i Sx_KeyNo() kojima se
bez problema saznaju svi potrebni podaci potrebni za implementaciju
scroll bar-a.
Btw najveći problem za implementaciju univerzalnog TB scroll bar-a (koji
radi u svim uslovima - kad nema indeksa, kada je indeks aktivan ili kad
je postavljen filter) mi je to što Mach SIx ima glupost da ne može da
vrati trenutni record pointer (ekvivalentno RecNo()) unutar aktivnog
filtera - m6_FiltInfo () za INFO_POS vraća najobičniji standardni
RecNo(). Da li je neko rešio ovaj problem (bez egzibicija kao što je
preusmeravanje TB:skipBlock()/dbSkip()-a i ručno obrojavanje)?
clipper.283bulaja,
│ INDEKSIRANJE PO NAŠIM SLOVIMA (YUSCII RASPORED)
│ UZ UPOTREBU SIX CDX INDEKSA
│ ...
│ SortStr=IF('^' $ SortStr,STRTRAN(SortStr,'^','C'+CHR(250)),SortStr)
│ SortStr=IF(']' $ SortStr,STRTRAN(SortStr,']','C'+CHR(251)),SortStr)
│ ...
│ SortStr := left(SortStr,nDuz)
└───
Ajoooj al je ovo sporo i nepouzdano (NHF:). Pri konverziji gubiš deo
stringa ukoliko ima YU slova, a u slučaju da se ona nadju na kraju
stringa onda je konverzija neispravna. Jedino pravo rešenje za SIx CDX
je da se izmeni onaj njegov language modul (SIxUK, SIxSwe,...) tako da
radi sa našim slovima (da li je nekome to uspelo?). Ako već hoćeš neko
Clipper rešenje, onda je bolje da se string transformiše na osnovu
translacione tabele (što je takodje sporo, sem ako funkcija nije
pisana u ASM).
clipper.284dzoric,
Evo ga mr Luiz Quintela objasnjava muvanje, kopiranje i ostale
zezancije sa Tbrowse-ovima. Inace tip je zesca zverka u CA.
Koristi cetiri RDD-a.
browrdd.zipclipper.285dzoric,
Za pocetnike, rad sa kodnim blokovima, deklaracije, itd...
cwkdtype.execlipper.286dzoric,
Osnove rada sa RDD-ima.
cwkrdd.execlipper.287dzoric,
Evo ga i Lexical Analyzer ako nekom treba.
dasilva.zipclipper.288neman,
Stiglo mi je naredjenje da zbog nepouzdanosti Clipper / NSX / Blinker odustanem
od koriscenja predmetne kombinacije :(((, pa sam hteo da pitam da li ima
losih iskustava sa NTX & Blinkerom posto se VMIF uglavnom javlja pri radu
sa objektima.
clipper.289bulaja,
│Stiglo mi je naredjenje da zbog nepouzdanosti Clipper / NSX / Blinker
│odustanem od koriscenja predmetne kombinacije :(((, pa sam hteo da
│pitam da li ima losih iskustava sa NTX & Blinkerom posto se VMIF
│uglavnom javlja pri radu sa objektima.
└───
Izgleda da se VMIF javlja uglavnom u stanju čekanja - npr. meni su se
svi slučajevi do sada (na sreću ne mnogo - tek svakih nekoliko dana:)
javili u stanjima čekanja odnosno Inkey() funkciji ili njenoj zameni.
S obzirom da Clipper vrši interno čišćenje (clean-up) memorije kada
detektuje stanja čekanja, vrlo je moguće da je bug upravo tu negde.
Nisam pokušavao, ali možda bi moglo da pomogne startovanje programa za
opcijom //NOIDLE (naravno ovo se može i burn-in-ovati u EXE Blinkerom
ili staviti u SET CLIPPER env promenljivu) - ovo isključuje detekciju
stanja čekanja (idle time). Naravno ukidanje clean-up-a će degradirati
performane programa (čak se u uputstvu za Clipper spominje da ovu
opciju verovatno nikad nećete koristiti:), ali možda vredi pokušati.
clipper.290biki,
Moj prijatelj ima jedan problem, ali posto se odskora bavi CLIPPER-om
unapred se izvinjava ako je on vec resen.
Problem glasi:
"Kako povezati Clipper 5.2 sa Turbo C++ ver. 2.0 pomocu extend sistema.?"
Preciznije, evo jednostavnog primera koji kad se prevede i poveze Blinkerom
1.5 javlja gresku Eval stack fault koja je verovatno C-ova:
U C-u: (klip.c)
#include "extend.api"
CLIPPER proba()
{
char *test="Proba";
_retc(test);
}
u Clipperu: (test.prg)
? proba()
C prevede sa: tcc -c -G -ml -O klip
A clipper i c povezuje ovako:
blinker file test file klip file c0l search cl.lib
Problem je verovatno u Turbo C-u, i mozda ga nije moguce povezati sa Clipperom
za razliku od MSC-a.
===================================================================
Ako je o tome vec bilo govora, koje sve clipper poruke da skidam.?
U kojoj su konferenciji. PC.PROG.1, PC.PROG.2...
clipper.291djelovic,
> "Kako povezati Clipper 5.2 sa Turbo C++ ver. 2.0 pomocu extend sistema.?"
Koliko čujem, nikako. Clipper se ne slaže sa Borlandovim funkcijama za
brojeve u pokretnom zarezu, tako da je za povezivanje Clippera i C-a neophodan
MSC.
clipper.292dpredovic,
> stringa onda je konverzija neispravna. Jedino pravo rešenje za
> SIx CDX je da se izmeni onaj njegov language modul (SIxUK,
> SIxSwe,...) tako da radi sa našim slovima (da li je nekome to
> uspelo?). Ako već hoćeš neko
Baš sam ga jučer sredio, isprobajte...
Cu, Dejan
sixyu.zipclipper.293dpredovic,
> je postavljen filter) mi je to što Mach SIx ima glupost da ne
> može da vrati trenutni record pointer (ekvivalentno RecNo())
> unutar aktivnog filtera - m6_FiltInfo () za INFO_POS vraća
> najobičniji standardni RecNo(). Da li je neko rešio ovaj
> problem (bez egzibicija kao što je preusmeravanje
> TB:skipBlock()/dbSkip()-a i ručno obrojavanje)?
Umesto
SET FILTER TO (foo)
BROWSE()
uradiš
INDEX ON (bar) TO filter FOR (foo) ADDITIVE
BROWSE()
Jes da je malo sporije dok se index generiše, ali je browse posle
ipak brži.
Cu, Dejan
clipper.294bulaja,
│Koliko čujem, nikako. Clipper se ne slaže sa Borlandovim funkcijama
│za brojeve u pokretnom zarezu, tako da je za povezivanje Clippera i
│C-a neophodan MSC.
└──
Sudeći po dokumentaciji za CA-Clipper/ExoSpace (DOS Extender za Clipper
koji je CA kupio prošle godine), izgleda da je ipak moguće povezanti
Borland C++ i Clipper/ExoSpace. Još nisam stigao da probam, ali evo šta
piše u uputstvu za ExoSpace:
Borland C++
──────────────────────────────────────────────────────────────────────────────
CA-Clipper/ExoSpace is compatible with the Borland C++ compiler,
Versions 2.0, 3.0, and 3.1 large model. CA-Clipper/ExoSpace supports
the Microsoft subset of the C++ extensions. Use the Borland C++ options
that specify Microsoft C 6.0-compatible objects, such as the -Vs option.
CA-Clipper/ExoSpace does not support the Borland Graphics Library (BGI),
and it does not support Borland floating point math routines. If you
use Borland runtime library functions, you do so at your own risk, as
described in the previous section.
Compiling
──────────────────────────────────────────────────────────────────────────────
With the Borland C++ files within your PATH environment variable, use a
command like this one to compile your program:
bcc -c -ml -2 -f- -X hello.c
This example uses the following compiler options (after compiling, you
will have a file named HELLO.OBJ):
-c
Compile only--prevents the compiler from automatically invoking the
linker. This option is required.
-ml
Specifies large memory model. This is required to ensure compatibility
with CA-Clipper.
-2
Generates 286 instructions. If the object code you are producing will
only be included in a CA-Clipper/ExoSpace version of your program, this
option is recommended for improved performance.
-f-
Specifies that the program contains no floating point calculations.
Borland's floating point support is incompatible with CA-Clipper's, so
use of this option is required.
-X
Suppresses auto dependency output. This information is only useful to
other Borland utilities and can be suppressed, resulting in smaller .OBJ
files.
Linking
──────────────────────────────────────────────────────────────────────────────
Use CA-Clipper/ExoSpace to link your program as usual, and include a
reference to the compiled Borland C++ modules in the link script.
clipper.295bulaja,
│** Uz poruku 'sixyu.zip' (12199 bytes)
└───
Na prvi pogled radi :) - treba samo ne zaboraviti reindeksiranje :).
Ako nije tajna (mrzi me da kopam po source-u:) šta si još menjao sem
translacione tabele i Collation Info-a? :)
clipper.296neman,
Probleme sa VMIF om kod jednog mog prijatelja koji radi u jednoj
velikoj firmi, imaju i veliku mrezu, je resio
BLINKER OVERLAY UMB OFF
On u pocetku nije uspevao ni da pokrene aplikaciju zbog VMIF-a, a posle
probanja raznih prekidaca vise se ne zali. BTW on koristi valjda 5.2 verziju.
(?) Covek je trenutno na odmoru, pa cemo za neki dan i da proverimo
njegove skript datoteke, a vi probajte, ukoliko uspe objavicu mu ime
( i broj tekuceg racuna :)))
neman
P.S. A ako nije, sta da nam radim, njemu je uspelo ;)
clipper.297nbatocanin,
>│ kombinacije :(((, pa sam hteo da pitam da li ima losih
>│ iskustava sa NTX & Blinkerom posto se VMIF uglavnom
> javlja pri radu sa objektima. └───
Ja to koristim bez ikakvih problema. Nemoj koristiti Blinker 3.0 jer
ima bagova.
> Nisam pokušavao, ali možda bi moglo da pomogne startovanje
> programa za opcijom //NOIDLE
Probao :(((
clipper.298dpredovic,
> Nisam pokušavao, ali možda bi moglo da pomogne startovanje
> programa za opcijom //NOIDLE (naravno ovo se može i
> burn-in-ovati u EXE Blinkerom ili staviti u SET CLIPPER env
> promenljivu) - ovo isključuje detekciju stanja čekanja (idle
> time). Naravno ukidanje clean-up-a će degradirati performane
> programa (čak se u uputstvu za Clipper spominje da ovu opciju
> verovatno nikad nećete koristiti:), ali možda vredi pokušati.
//NOIDLE odlaže garbage collection, ali ga ne isključuje. Kad-tad
nestaće memorije, pa eto ga na istom.
Inače VMIF po prirodi stvari može da nastane samo za vreme rada GC,
pošto VMIF u stvari znači da je GC naišao na objekt koji nije smeo
upošte da nastane...
Cu, Dejan
clipper.299bulaja,
CA-Visual Objects Release Date Target Revealed
Russell Artzt, Computer Associates executive vice president of
research and development, recently announced that CA is aming at
August '94 as the probable release month of the long awaited
CA-Visual Objects. Since CA TechniCon 94 in New Orleans, Lousiana
just happens to be taking place in the same month, August 21-25,
this year's connference may be one you don't want to miss!
clipper.300bulaja,
SuccessWare Announces The SIx Driver 2.0
Release 2.0 of the SIx driver adds support for Clipper's proprietary
DBFNTX format; SIx already support FoxPro and HiPer-SIx database
files. SuccessWAre says the SIx 2.0 RDD is completely new code, and
features improved performance. SIx 1.5 will continue to be
supported; maintenance release 3 was recently posted for free
download from the CompuServe CLIPPER forum.
SIx 2.0 is US$ 249.00. Current SIx owners can upgrade for US$
149.00; HiPer-SIx owners can upgrade for US$ 199.00.
clipper.301dpredovic,
> Na prvi pogled radi :) - treba samo ne zaboraviti
> reindeksiranje :). Ako nije tajna (mrzi me da kopam po
> source-u:) šta si još menjao sem translacione tabele i
> Collation Info-a? :)
Ništa. A što? Jel treba nešto?
Inače, oni koji budu hteli da sve to prebace u neki drugi yu
raspored, neka obrate pažnju:
Ima 6 tabela:
1.collate tabela
2.tabela tipova (veliko,malo slovo, broj,whitespace...),jedino
mi nije jasno čemu služi gornjih 4 bita...
3.upper tabela
4.lower tabela
5.
6.tabele za NEXTC i PREVC, nije mi baš jasno zašto je to tako ali
neka im bude... prva je (kod mene) ista kao i collate, a druga je
inverzni collate.
Cu, Dejan
clipper.302dpredovic,
Ne sećam se sada gde sam pročitao (jal u microbima možda)
da je CA kupio ExoSpace, a i ovaj 52d patch je i za njega.
Ako je tako trebalo bi polako da bežimo od Blinker-a...
Jel ima neko iskustva sa tim čudom?
clipper.303dpredovic,
> Probleme sa VMIF om kod jednog mog prijatelja koji radi u
> jednoj velikoj firmi, imaju i veliku mrezu, je resio
>
> BLINKER OVERLAY UMB OFF
Probao sam sa prebacivanjem aplikacija u protected mod, gde
se ne koriste nikakvi overleji, pa ni u UMB. Stvar lepo
funkcioniše na jačim mašinama, ali na slabijim (<=386SX25
i <=2MB ram) nije baš sasvim OK...
clipper.304iboris,
Ł "Kako povezati Clipper 5.2 sa Turbo C++ ver. 2.0 pomocu extend
Ł sistema.?"
Nikako ! Uzmi Majkrosoftov C, koji lepo "saradjuje" sa kliperom.
clipper.305bulaja,
Sve više sumnjam da je krivac za VMIF - Blinker 3.0!
Naime konačno sam uspeo :) danas da dodjem do slučaja da se VMIF ne
javlja slučajno već redovno :) u odredjenim delovima programa (dok
se izvršava Inkey() funkcija). U tim situacijama je program redovno
pucao kada je linkovan sa Blinker-om 3.0 (i sa iskljucenim i
ukljucenim incremental link-om), a nije pomagalo bilo kakvo menjanje
raznih Blinker komandi u .LNK datoteci. A kada bi se isti taj
program sa istom LNK datotekom linkovao starim dobrim :) Blinkerom
2.01, sve je radilo Ok.
clipper.306bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
ct3p a01 309400 CA-Clipper Tools Version 3.0 Protected-Mode Upgrade #1
ct3p a02 308509 CA-Clipper Tools Version 3.0 Protected-Mode Upgrade #2
CA-Clipper Tools
Version 3.0
Protected-Mode Upgrade
December 1993
This file contains information about an upgrade to CA-Clipper Tools,
Version 3.0, so that it can be used with CA-Clipper/ExoSpace to create
applications that run in protected-mode.
You should have the following products installed before continuing:
* CA-Clipper Tools, Version 3.0
* CA-Clipper, Version 5.2c or later
* CA-Clipper/ExoSpace, Version 1.0a or later
clipper.307bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
exoblx arj 3870 Blinker 3.0 ExoSpace API
What is the Exospace API?
-------------------------
The purpose of this API module is to provide compatability between
Blinker 3.0 and third party software that has been converted to
protected mode using the documented Exospace API functions rather than
Blinker's own API functions.
NOTE: The protected mode version of CA-TOOLS III does not use the
Exospace API functions. This API module will NOT allow CA-TOOLS to run
in protected mode in conjunction with Blinker 3.0. Blink inc will be
releasing an update to this API module to provide compatability with
CA-TOOLS III in the near future.
Exospace API compatability
--------------------------
The Blinker 3.0 Exospace API module is 100% compatible with the Exospace
API when running in protected mode.
The Blinker 3.0 Exospace API module is DUAL mode compatible. This means
that 3rd party products that use the Exospace API will receive
meaningful return values in protected, dual and real mode.
While Blink inc cannot guarantee that any particular 3rd party
protected mode product that uses the Exospace API will operate
correctly in a real mode program, or in a dual mode program running in
real mode, most products of this type should operate correctly.
clipper.308bulaja,
│Ne sećam se sada gde sam pročitao (jal u microbima možda)
│da je CA kupio ExoSpace, a i ovaj 52d patch je i za njega.
│Ako je tako trebalo bi polako da bežimo od Blinker-a...
│Jel ima neko iskustva sa tim čudom?
└───
S obzirom da je danas stigao ExoSpace za Blinker 3.0, znači da ipak
neće morati da se beži od Blinker-a :). Što se tiče ExoSpace-a,
Computer Associates ga je kupio oktobra prošle ('93.) godine i u
poslednje vreme ga deli džabe uz svaki kupljeni CA-Clipper 5.2 paket
(inače u sklopu tog specijalnog CE deal-a se može dobiti besplatno
još i CA-Tools). Ja se malo igram sa ExoSpace-om ovih dana, kada se
dovoljno izigram :) poslaću ovde detaljnije utiske.
clipper.309bastijan,
Da li jos uvek postoji fajl pr.zip, za nazubljivanje source (Clipper) koji je
bio u ovoj konferenciji (nisam primetio)
clipper.310jorad,
Imam problema kod reindeksiranja u mreži sa SIX-om.
Do sada bih uobičajeno, otvorio baze ekskluzivno i uradio
jedno DEL *.CDX a potom pustio ponovno kreiranje indeksa.
To mi je radilo bez problema u jednokorisničkom okruženju,
ali u mreži se indeksi nedaju zatvoriti. Istina u uputstvu
se i kaže:
Structural CDX files cannot be closed without
closing their database file as well.
Pa kako to vi rešavate ?
clipper.311dr.grba,
>> Pa kako to vi rešavate ?
Ili zatvori i bazu ili daj indeksu drugo ime, različito od imena baze, kako
ne bi bio strukturalni po defaultu.
clipper.312vlaslo,
> │da je CA kupio ExoSpace, a i ovaj 52d patch je i za njega.
> │Jel ima neko iskustva sa tim cudom?
> poslednje vreme ga deli dzabe uz svaki kupljeni CA-Clipper 5.2
> paket (inace u sklopu tog specijalnog CE deal-a se moze dobiti
> besplatno CA Tools.
Ja sam patchovao 5.2d, ali posto nemam ExoSpace, nista od toga.
Od ExoSpacea imam samo NG.
Jel neko moze da kaze, gde mi obicni smrtnici sa strane, mozemo
nabaviti CA Tools. Bio bih zahvalan.
Zoli
clipper.313cnenad,
Da li ima nekih informacija o bilo kakvoj zakrpi za BLINKER 3.0. s obzirom
da je ustanovljeno da ima podosta bagova ?
clipper.314neman,
> Structural CDX files cannot be closed without
> closing their database file as well.
>
> Pa kako to vi resavate ?
Pa ima nesto kao SX_AUTOOPEN( .F. ) pa nece da otvara autoamtski.
Inace ja nemam tih problema, lepo otvorim ekskluzivno bazu, pa obrisem
indeksnu datoteku.
clipper.315neman,
> Sve vise sumnjam da je krivac za VMIF - Blinker 3.0!
> Naime konacno sam uspeo :) danas da dodjem do slucaja da
> se VMIF ne javlja slucajno vec redovno :) u odredjenim
> delovima programa (dok
I ja imam slican utisak, samo sto za slucaj koriscenja RTlinka
garant dobijes Conventional memory eh???sted.
Primetio sam da VMIF nema veze za kolicinom slobodne memorije. Kada sam
testirao program koji pri startovanju trazi (Blinker) 328 Kb RAM-a na
520 KB ram-a
slobodne memorije, program se mucio, mucio sa knjizenjima velikih naloga,
izvlacenjem izvestaja, svodjenjem stanja ali je odradio posao. Ja sav
( oko one poruke UMB OFF ) radostan, vratim na 610 Kb slobodne memorije i
nekih 300KB EMS-a kad ono trt tj. VMIF :(((
clipper.316bulaja,
Izašao je Blinker 3.01! Patch se još uvek nije pojavio (provereno jutros
na Blink BBS-u), ali očekuje se ovih dana. Do tada ukoliko neko ima prvu
verziju Blinker-a 3.0 kod koje je Blinker.exe dužine 161,788 bajta (ovaj
kod mene je dug 161,827, znači nije taj:) evo ga patch koji od nje pravi
normalnu 3.0 verziju, potrebnu za kasniji update (kad stigne patch) na
verziju 3.01. Update je prikačen uz poruku (pretpostavljam da je ovde
malo onih sa tom verzijom Blinker-a pa ga nisam stavljao u dir).
This special update is ONLY for the few early Blinker 3.00 BLINKER.EXE
files (size 161,788) which will not update successfully with the
Blinker 3.01 update program. This .RTPatch file makes a slight update
to your existing BLINKER.EXE which will allow the 3.01 update program
to work, and should be run from the directory containing BLINKER.EXE.
blup300.zipclipper.317bulaja,
Uz poruku su okačene informacije o skorodolazećem Blinker-u 3.01.
Ima dosta teksta, izmedju ostalog sam našao i jednu značajnu stvar:
CA-Clipper Tools 3 & ExoSpace specific libraries:
For CA-Clipper add-on products that run in protected mode with ExoSpace,
BlinkInc has supplied BLXRATEX.LIB. This will enable products such as
NANFOR and ProVision:Windows and most of CA-Clipper Tools III to run in
protected mode under Blinker.
bl301inf.zipclipper.318dpredovic,
> Jel neko moze da kaze, gde mi obicni smrtnici sa strane, mozemo
> nabaviti CA Tools. Bio bih zahvalan.
Veruj da ti ne treba. Uzmi Funcky.
clipper.319dpredovic,
> raznih Blinker komandi u .LNK datoteci. A kada bi se isti taj
> program sa istom LNK datotekom linkovao starim dobrim :)
> Blinkerom 2.01, sve je radilo Ok.
A sa Exospace-om?
clipper.320dpredovic,
> Primetio sam da VMIF nema veze za kolicinom slobodne memorije.
> Kada sam testirao program koji pri startovanju trazi (Blinker)
> 328 Kb RAM-a na 520 KB ram-a
Meni se sve čini da ima veze sa brzinom. Na dva računara sa istom
konfiguracijom memorije, VMIF se javlja mmooogo češće na sporijoj
mašini...
clipper.321dpredovic,
> Da li ima nekih informacija o bilo kakvoj zakrpi za BLINKER
> 3.0. s obzirom da je ustanovljeno da ima podosta bagova ?
Pogledaj jel ti se ovo javlja u exe fajlu:
Blinker 3.0 DOS Extender - Beta 8
""""""
clipper.322bastijan,
Program pr.exe kojis luzi za nazubljivanje Clipper source programa
radi i sa CA-Clipper 5.2. Provereno, radi bez greske.
clipper.323cnenad,
ŁŁŁ Blinker 3.0 DOS Extender - Beta 8
Javlja mi se, mada me čudi da Bulaja to nije primetio ranije. Imamo istu
verziju za koju ne treba ovaj PATCH što je stigao juče ovde.
clipper.324bastijan,
Kako se kompajliraju asm programi (sa MASM 6.0) koji koriste Extenda.inc
datoteku iz Clipper-a ?
Probao sam ml /c ime
ml /c /Zm ime
masm ime
ali uvek mi javlja jednu te istu gresku :
Assembling: examplea.asm
EXTENDA.INC(47): error A2008: syntax error : [WORD PTR [BP - 2]]
$gen(1): Macro Called From
$define(1): Macro Called From
EXTENDA.INC(47): Include File
EXTENDA.INC(48): error A2008: syntax error : WORD PTR
$gen(1): Macro Called From
$define(1): Macro Called From
EXTENDA.INC(48): Include File
i tako jedno 17 Kb (za fajl examplea.asm, koja se isporucuje uz Clipper 5.2)
clipper.326pik.becej,
Kako se u clipper-u koriste rutine iz C-a i Asemblera ?
clipper.327snemcev,
>> Ili zatvori i bazu ili daj indeksu drugo ime, različito od imena
>> baze, kako ne bi bio strukturalni po defaultu.
Ispravka: ...kako se ne bi automatski otvarao kod otvaranja baze.
clipper.328jorad,
>>> Structural CDX files cannot be closed without
>>> closing their database file as well.
>>
>> Pa ima nesto kao SX_AUTOOPEN( .F. ) pa nece da otvara
To je to. Hvala!
clipper.329dr.grba,
>> Veruj da ti ne treba. Uzmi Funcky.
Jes' da je pet puta veći, ali neeeeema veeeezeeee! (((:O
clipper.330dr.grba,
>>>> Ili zatvori i bazu ili daj indeksu drugo ime, različito od imena
>>>> baze, kako ne bi bio strukturalni po defaultu.
>>
>> Ispravka: ...kako se ne bi automatski otvarao kod otvaranja baze.
Ovo nije ispravka, već objašnjenje iliti dodatak. (:
Šifra: "Mak na konac"
clipper.331neman,
> To je to. Hvala!
NSX, To Je To !! samo da nije VMIF-a :(
neman
clipper.332nbatocanin,
> Sve više sumnjam da je krivac za VMIF - Blinker 3.0!
Nije, kod mene je VMIF bio sa Blinker 2.01 ;(( A Blinker 3.0
definitivno ima bagove.
clipper.333bastijan,
Zdravo Sezamovci,
Koga interesuje neka preuzme, a najpre Bulaja. Bumen14b.zip, male izmene
njegovog sistema menija. Za egzoticne stvari nije pogodno automatsko
isticanje Hot-Key tastera - i tako sam dosao do ovih izmena.
Provereno, radi, sve je kompletno: NG, LIB, PRG, CH, README.1ST
Nadam se da ce naci mesto i u dir.
bumen14b.zipclipper.334neman,
>> Sve vise sumnjam da je krivac za VMIF - Blinker 3.0!
>
> Nije, kod mene je VMIF bio sa Blinker 2.01 ;(( A Blinker
> 3.0
Eh, taman sam nasao arhivu sa Blinkerom 2.01.
Ovo je kraj. Idemo dalje :)
neman
clipper.335dpredovic,
>>> Veruj da ti ne treba. Uzmi Funcky.
>
> Jes' da je pet puta veći, ali neeeeema veeeezeeee! (((:O
5x veci, 15xbolji :))
clipper.336dpredovic,
> Za CLIPPER-aše (Summer '87, nisam probao za kasnije verzije)
> evo programa za
> "nazubljivanje" source-ova. Program sam u praksi koristio više
> od 3 godine, tako da je error free.
Stvarno lepo, ali... ;) Bilo još lepše da radi sa tabovima, da
uvlači red i nakon FUNCTION ili PROCEDURE, da radi i sa WHILE (bez DO),
da radi sa /*...*/ kometarima, kontrolnim strukturama u "nastavku"
reda (WHILE button()=0; ENDDO), skraćenim END umesto ENDIF ili ENDDO...
Nije mnogo?
clipper.337bulaja,
│Koga interesuje neka preuzme, a najpre Bulaja. Bumen14b.zip, male izmene
│njegovog sistema menija. Za egzoticne stvari nije pogodno automatsko
│isticanje Hot-Key tastera - i tako sam dosao do ovih izmena.
└───
Pogledao sam i ista stvar je mogla da se izvede i bez izmena BuMenu v1.4
(takoreći undocumented feature:) - dovoljno je bilo da se za HOT KEY
zada broj koji je veći od dužine prompta (dakle može i neka velika
konstanta, npr. 255:).
clipper.338zdikovic,
Imam problema pri kompajliranju asemlerskih fajlova iz direktorijuma RSOFT
za fajl R075clpr.zip (preview u clipperu). Javlja grešku u fajlu
extenda.inc . Pomozite!!
ZDIKOVIC
clipper.339dzoric,
>>> Imam problema pri kompajliranju asemlerskih fajlova...
Sta je konkretno problem. Jedino trebas da popravis INCLUDE
i da das path gde ti se nalazi file EXTENDA.INC pa udri po
masm-u.
Dejan :)
clipper.340dejanr,
Imam program pisan u Summer 87 Clipper-u koji, iz raznih razloga, treba na
brzinu preneti na 5.01.
Sve je manje-više lepo prošlo, osim jedne stvari - ima nekakvo polje koje je
dugačko oko 140 znakova. Na starom Clipper-u je kada se kaže:
@p, q get ime picture "@S140" sadržaj lepo išao u dva reda i mogao se editovati
- doduše ne seče baš lepo reči, ali nema veze.
E, na novom Clipper-u to neće u dva reda, nego ostane u jednom - pa ako je
ekranski mod standardni, vidi se 80 slova, ako je neki nestandardni onda se
vide 132 ili već koliko. U dva reda neće da pređe.
Ima li neki način da se to prepravi osim da delim polje na dva polja (a kako
onda editovati dva polja tako da tekst "curi" iz jednog u drugi?) ili tako neka
grozota?
clipper.341neman,
> Ima li neki nacin da se to prepravi osim da delim polje na
> dva polja (a kako onda editovati dva polja tako da tekst
> "curi" iz jednog u drugi?) ili tako neka grozota?
U onoj Frankie biblioteci imas resenje za to, jos samo dovucite registraciju
i nema problema, ili napisi sam tako nesto
@ y, x MGET prom
a MGET prebacuje u MEMOEDIT() na koordinatama, sto je otprilike resenje
iz pomenute.
clipper.342dejanr,
>> > Ima li neki nacin da se to prepravi osim da delim polje na
>> > dva polja (a kako onda editovati dva polja tako da tekst
>> > "curi" iz jednog u drugi?) ili tako neka grozota?
>>
>> U onoj Frankie biblioteci imas resenje za to, jos samo dovucite
>> registraciju i nema problema, ili napisi sam tako nesto
Hvala za tip o Frankie biblioteci, ja dosta nerado koristim razne
biblioteke, jer nikad čovek ne zna šta će da ga snađe ako jednoga
dana "puknu" (dobro, to važi i za svaki programski jezik :) a i ne
plaćaju mi se registracije... zato i koristim Clipper 5.01 jer imam
original, a 5.2 još ne (uzgred, postoji li rešenje koje je za 5.2?)
Tako da bih više voleo neko rešenje na nivou samog Clipper-a, ako
tako nešto postoji.
clipper.343bulaja,
│E, na novom Clipper-u to neće u dva reda, nego ostane u jednom - pa ako je
│ekranski mod standardni, vidi se 80 slova, ako je neki nestandardni onda se
│vide 132 ili već koliko. U dva reda neće da pređe.
└───
Ajde ipak zazmuri na trenutak sto se tice nekoriscenja dodatnih Clipper
biblioteka :) i uzmi FastEdit iz Clipper direktorijuma - freeware je
(treba mu i oClip za rad, takodje freeware i ima ga ovde:). Osim toga
sto mu je primarna namena da zamenjuje odvratni MemoEdit(), omogucava ti
da i u standardnu GET masku ubacis prozor (proizvoljnih dimenzija) koji
se ponasa kao standardni editor (znaci ima i prelamanje teksta u vise
redova) a u stvari je deo GET sistema.
Inace u Clipper-u 5.01/5.2 verovatno (nisam pokusao:) je moguce i u sam
GetSys ubaciti podrsku za editovanje u vise redova, ali s obzirom na
vec postojeca gotova resenja ne vredi truda :).
clipper.344bulaja,
Kad smo vec kod FastEdit-a, isti je one of my favorites among Clipper
stuff :). Jedna od nedokumentovanoh (ima zaista bednu dokumentaciju:)
stvari je da moze da edituje stringove vece od 64 Kb! Hint je u tome da
FED interno drzi teks u obliku niza gde je svaki clan jedan red, sto
znaci da tekst moze imati max 4096 linija, sto otprilike dodje oko 300
Kb u prosecnom slucaju. Naravno toliki tekst se mora direktno snimati i
ucitavati u FED preko njegovih funkcija za file read/write, ali i to
radi posao :).
clipper.345ppekovic,
>> Ima li neki način da se to prepravi osim da delim polje na dva polja (a kako
>> onda editovati dva polja tako da tekst "curi" iz jednog u drugi?) ili tako
>> neka grozota?
MemoEdit sa prozorom od dva reda :))
Paya
clipper.346nbatocanin,
> Imam problema pri kompajliranju asemlerskih fajlova iz
> direktorijuma RSOFT za fajl R075clpr.zip (preview u
> clipperu). Javlja grešku u fajlu extenda.inc . Pomozite!!
Kao što su ti već rekli, treba da podesiš DOS promenljivu INCLUDE.
Inače ti savetujem da umesto ovog programa koristiš program koji sam
nedavno poslao u ovu konferenciju. On je na čistom Clipper-u.
clipper.347nbatocanin,
> Ima li neki način da se to prepravi osim da delim polje na
> dva polja (a kako onda editovati dva polja tako da tekst
> "curi" iz jednog u drugi?) ili tako neka grozota?
Imaš dva izlaza ;) : pre svega svakako uradi proceduru koja unosi
jedan string kako ti hoćeš, tj. u dva reda. Ovo je jednostavan
problem i ne verujem da treba više od par sati posla. Dalje, ako taj
unos imaš na više mesta i ne želiš da menjaš tekst programa, izmeni
GET sistem i to procedure GetReader i GetApplyKey tako da kad je
format taj i taj (tj. tvoj slučaj) podatak se unosi po tvojoj
proceduri. Ako se taj unos javlja na manje mesta, onda prilikom
zadavanja @ SAY..GET izmeni reader i postavi ga na onu tvoju
proceduru.
clipper.348zzk.,
> čp, q get ime picture "čS140" sadržaj lepo išao u dva reda i mogao se
Koliko se ja sjecam Summer je i bez ovoga čS140 prelazio u drugi red ako
je duzina polja + q veca od MAXCOL().
Madjutim, kada smo vec kod ovoga čS140 - dakle zelje da se tekst
horizontalno skroluje u okviru polja za unos odredjene duzine, imamo
primjer pogresnog koristenja:
Polje, odnosno string, duzine 140 se zeli skrolovati u segmentu
duzine 140. Nece moci!
> Ima li neki način da se to prepravi osim da delim polje na dva
Dobio si nekoliko odgovora koji ti ukazuju na nacine da to unosis u dva
reda. Upotreba čS140 me navela na pomisao da ti ne insistiras da to bude
u dva reda, nego da jednostavno uspijes upisati i editovati polje koje
je duze od sirine ekrana. Ako sam u pravu onda je rjesenje trivijalno:
PICTURE 'čS70' ili 'čSx' gdje je x zavisan od MAXCOL().
Doduse, sadrzaj koji je duzi od duzine segmenta se ni u jednom trenutku
ne vidi kompletan na ekranu, ali ako ne tjeras mak na konac, eto ti
rjesenje. :)
clipper.349domana,
SIXNSX:
rtlink /pll:base52 file %1 library dbfnsx,clipper
Pri RTLINKovanju: error: ert0004: Duplicate stacks
NG spominje nekakve SS i SP registre...
Da li je moguc upste rad sa RTLINKom i SIXNSXom (nemam BLINKER 3).
clipper.350bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
funcky2x zip 299849 FUNCky lib patch za rad u protected modu (funcky2x.lib)
Ovo je konačan i definitivan (?) patch za FUNCky II - verzija 2.02, koji
zamenjuje onaj koji je ranije bio u CLIPPER direktorijumu.
Date: May 10, 1994
To: All FUNCky users
Re: Protected mode FUNCky version 2.02
From: Dirk Lesko, dLESKO Inc.
---------------------------------------------------------------------------
Here is the final version of FUNCky version 2.02 that contains full
protected, real and dual mode support. Please read the enclosed list
of functions that will not be converted to protected mode for various
reasons. This list is small, and most likely won't affect your code.
When the new master disks ship, the version of FUNCky2x.lib included
here will become the new FUNCky2c.lib on the 2.02 disks. The ROOTVX.lib
included here will become the new ROOTVM.lib. There will be no distinct
lib for protected mode or real mode. The 2.02 version of FUNCky2c.lib
and ROOTVM.lib will be all that is needed.
To keep yourselves up to date with files, you may make these changes
yourselve's by renaming the appropriate files and discarding the 2.01
versions of FUNCky2c.lib and ROOTVM.lib. The new 2.02 surface libraries
FUNCkyCL.lib, FUNCkyVM.lib and FUNCky52.lib will be available on our BBS
so that you may obtain the same libraries as are shipping in the 2.02
version.
clipper.351bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
clug0694 zip 46815 Spisak CA-Clipper korisničkih grupa u svetu (.NG) 06/94
Btw stiglo je još dosta stvari sa Hekom i MUM BBS-a, sve što vredi biće
prebačeno ovih dana u CLIPPER direktorijum :).
clipper.352neman,
> rtlink /pll:base52 file %1 library dbfnsx,clipper
> Da li je moguc upste rad sa RTLINKom i SIXNSXom (nemam
> BLINKER 3).
Vidi da izbacis pll.
clipper.353neman,
> Btw stiglo je jos dosta stvari sa Hekom i MUM BBS-a, sve
> sto vredi bice prebaceno ovih dana u CLIPPER direktorijum :).
Zeljno iscekujemo :)
clipper.354snemcev,
>> rtlink /pll:base52 file %1 library dbfnsx,clipper
Zar nije dbfnsx? Ovako na blef, da nije to problem? Ili .pll? Anyway,
bacaj RTLink i pređi na Blinker, pa ti .pll neće ni trebati.
clipper.355ikordic,
RE: MemoEdit () + alternative.
Najpre bih éeleo da izrazim svoje zadovoljstvo äto sam konaüno smogao snage i
äto su mi materijalne i druge mogućnosti dozvolile da postanem ülan Sezama i
njegovog najatraktivnijeg dela, Clipper konferencije.
Proüitao sam unazad ovu konferenciju/temu i mogu reći da mi je üast sto ću sa
ovakvim profesionalcima deliti ovaj sistem i slobodno vreme. Poäto su mi se
razna pitanja i problemi s vremenom nakupili, nemojte zameriti ako Vas u prvih
par dana "zatrpam" svojim porukama - üim potroäim stare, bicu miran. Pionirska!
Iz tih razloga nemojte zameriti ako je prvi prilog malo preopäiran. Daklem,
a) da li neko moée da me uputi na neki .LIB/.OBJ koji na zadovoljavajući naüin
reäava obradu teksta pod Clipper-om. Varijante koje su mi na raspolaganju
(MemoEdit i FastEdit) me ne zadovoljavaju:
U mom slucaju, MemoEdit () + gomila dopisanog koda + NB-ovi primeri +
Spencetovi primeri su se izrodili u monstruma od 2028 linija (ne raüunajući
razne #include). Vräiti izmene i dopune u ovako neüemu je pakao (take it from
me, I've been there). Pokuäaj da to prepevam na OOP (o:Clip) je propao -
usporenje od barem 33% (u nekim sluüajevima i do 100% - sve mereno odokativno)
+ neke stvari baä i nisu u tom fazonu - me je definitivno dotuklo.
FastEdit () (gde mu naöoäe ime?) je moćna stvarüica, ali je uéasno spor. Plus,
tip koji ga je pravio je izgleda zaboravio da stavi /l i da ukloni /b kod
prevoöenja, sto samo joä vise potvröuje da je program u "pre-production
form", kako sam kaée. Elem, ako editor svedem na najosnovniju formu (K_ESC je
izlaz, ostalo na oEdit:DefaultKey ()), radi jeeedva prihvatljivom brzinom
(sporinom?), äto je opet za koji red veliüine sporije od mog natrpanog
MemoEdit-a. Ako mu dodam najosnovniji kostur (blok operacije, uüitaj/snimi,
ätampa, prikaéi row/col/page, ...) + neki UI (omenu, frankie) ovo postaje
uéasavajuće. Takoöe ima i nekih lepih veselja - pravi povremeno pizdarije na
ekranu + disku pod izvesnim okolnostima i joä dosta stvari - da ne davim sad.
Elem, divna ideja ali realizacija - miserable. Prg je doduse iz '92 - u
meöuvremenu je trebala izaći nova verzija, komercijalna valjda - jel' zna neko
neäto o tome?
Sve u svemu, traéi se prihvatljiva alternativa koja bi trebala da omogući
fleksibilnost FastEdit-a i brzinu (?) MemoEdit-a. NB je u svom tekstu u
Raüunarima (editor pod Clipper-om) napisao da postoji dosta biblioteka i paketa
koji otklanjaju ovaj ili onaj problem u vezi MemoEdit-a. Daklem, koji su to
paketi i kako doci do njih?
Aplikacija u kojoj se sve ovo desava pisana je u 5.01 (cak nema ni ono 'a').
5.2 sam nabavio, ali siroma' cami dok ne stigne cuveni patch na 5.2d - necu da
rizikujem. Who dares wins? Well, I rarely win ...
/* ovo je pisano u vreme dok se 5.2d üekao kao sto éedni üekaju vodu - a iste
nigde nema ... ispostavilo se da se isplati uzdréati od novotarija! */
b) zanima me, takodje, da li je neko (i kako) reäio problem obrade memo polja,
odn. tekstualnih datoteka, većih od 64K. Problem skladiätenja je sada reäen -
imamo .FPT. Äto se obrade tice, moje reäenje je priliüno tuéno i na brzaka
skrpljeno - zahteva dosta intervencije od strane korisnika (snimi ovaj deo,
ucitaj sledeci, ... kad moée Pit Norton, mogu i ja) al' to nije to. Problema
ima raznoraznih (npr. premeätanje i kopiranje vecih blokova, prelazak na
poüetak/kraj/marker u tekstu, ...) pa je program priliüno restriktivan i
neljubazan prema korisniku. Odmah da kaéem da mi nije potrebno neäto äto će
obraöivati datoteke od po par MB (mada je dobrodoälo) - bio bi sasvim
zadovoljan sa nekim reäenjem koje će savladati datoteku od, recimo, 200K. Imate
li iskustva s ovim ili neku ideju?
c) da li je ikako moguce (i kako) ostvariti automatsko preformatiranje teksta
kod MemoEdit-a? Terati korisnika da svaki put pritiska <Ctrl><B> ne smatram
najsrećnijim reäenjem + u nekim situacijama je nekorisno (ponekad je potrebno
postaviti kurzor na poüetak pasusa da bi radilo). Iz istih razloga je glupo
posle svakog (ili samo nekih) tastera slati <Ctrl><B> - em usporava stvar, em
daje ponekad glupave rezultate. I u vezi ovoga - svaki komentar i sugestija su
dobrodoäli.
Uf, dosta za prvi put, da vas ne davim viäe. Imam jos zilion stvari da
kaéem/pitam al' sam üuo za jednu zanimljivu Sezam-ovu naredbu (IGNORE ili tako
neäto) pa ću da skratim. Biće prilike ...
clipper.356ikordic,
RE: Clipper + Fax.
=> Imao sam i SilverClip i Faxual, ali mi se ova druga ucinila sasvim
=> nepotrebna, podrska za fax u Silveru je vise nego dovoljna.
Jel' neka od ovih podréava i prijem faksova? Kako inaüe rade (brzina, kvalitet,
pouzdanost, ... )? Jel' moée neki kratak komentar?
clipper.357ikordic,
RE: SetKey ().
Jel' postoji neko ograniüenje za SetKey () po pitanju koliüine tastera koji
mogu u jednom trenutku biti definisani? Pravi mi probleme jedna mamutska
aplikacija, pa da je sad ne bi celu rasturao u malecne parüiće, pitam ovde.
Takoöe me zanima da li je nekako moguće dobiti informacije o svim trenutno
aktivnim SetKey-iranim tasterima, kako bi se npr. na poüetku procedure moglo
napisati neäto kao:
PROC Rokovnik
...
// üuvamo sve aktivne setkey kombinacije
// i poniätavamo ih po potrebi
aSaveBlks := xSaveKeys ( NIL )
...
radi nesto ...
...
// ponovo ih aktiviramo
xRestKeys ( aSaveBlks )
RETURN
Ja ovo za sada radim dosta trapavo + sporo; sva SetKey definisanja idu preko
moje funkcije, koja osim äto pozove SetKey, zapiäe i äta je pridruéeno kom
tasteru u globalni niz ili u datoteku, zavisno od obima aplikacije. Ova
informacija se onda korisiti pri paljenju/gaäenju svih tastera. Ima li neko
bolje resenje?
clipper.358ikordic,
RE: Multiple sources u tBrowse
Jel' moguce nekako da u TBrowse-u prikazujem viäe datoteka odjedared?
Konkretno, imam dve datoteke u kojima su neka polja ista (ime1, ime2, adr,
tel1, tel2, ...). Hoću sad da te dve datoteke gledam u jednom TBrowse pendéeru
lepo sortirane po npr. ime1 i da sve to izgleda kao jedna datoteka i da äljaka
search, filter i sl. Naredba COPY otpada jer je jedna datoteka pogolema, pa bi
to malko duée potrajalo. Imate li neku lepu ideju?
Mozda SIx-ova funkcija za RYO indekse Sx_KeyAdd () moée da posluéi? Piäe da se
ona koristi za kreiranje "Multi Key, Free format indexes" po odreöenom kljuüu
i da taj kljuü "doesn't care where the values will be comming from (i.e. field
name, function call, etc.)". Jel' to *to*?
clipper.359ikordic,
RE: SetCursor ().
Kada se iz Clipper-a izäelujem u DOS ili neku externu aplikaciju, pa se
potom vratim u program, ostaje mi ukljuüen kurzor. Gad ne konstatuje moje
napore izraéene kroz SetCursor ( n ) proteste već uporno ostaje ukljuüen.
Jedino äto pali (gasi?) jeste jedno SetMode (), posle üega se predaje. Jel'
moée ovo nekako drugaüije da se izvede?
clipper.360ikordic,
RE: C vs. Clipper.
Zanima me koliko se brée (i da li uopäte) izvrsavaju C funkcije od odg. Clipper
rutina? Recimo, manipulacije stringovima, fopen () i sl., dakle one koje su
podréane u oba jezika. Jel' neko merio (ne baä ätopericom) ili se nalazio u
sliünoj situaciji da mora da bira?
clipper.361ikordic,
RE: Clipper 5.2x + SIx 1.5 = VMIF
Koliko sam uspeo da primetim, svi koji ovde kukaju zbog VMIF rade sa SIx-om 1.5
i Clipper-om 5.2x. Ätaviäe, vriska i panika je i poüela kada su se novije
verzije odomaćile. Da li to znaüi da problema nema sa starijom verzijom
Clipper-a (5.01a) ili SIx-a (DBFSIX 1.1) u bilo kojoj kombinaciji stari/novi
Clipper sa starim/novim SIx-om?
Ima li joä neka biblioteka koja na zadovoljavajući naüin reäava neke standardne
probleme koje je SIx (samo privremeno) resio? Meni, konkretno, od SIx-a treba
"samo" VariField i RushMoore. Ostatak je lep, ali i nije neophodan (trigeri,
kompresija, kripto, ... ämrc). Mora bre da je neäto sliüno postojalo joä od
ranije - nemoguće da su ovi momci (& devojke?) prvi sve smislili.
clipper.362dr.grba,
>> Uf, dosta za prvi put, da vas ne davim viäe. Imam jos zilion stvari da
>> kaéem/pitam al' sam üuo za jednu zanimljivu Sezam-ovu naredbu (IGNORE ili
>> tako neäto) pa ću da skratim. Biće prilike ...
Dobro nam došao.
Apsolutno nije važno ako su ti poruke duge ili postavljaš puno pitanja, dok
god preovladava konstruktivan ton i princip dobre volje.
Samo jedan ne baš beznačajan detalj: saopšti Sezamu koji YU kod koristiš,
kako bi on mogao to valjano da iskonvertuje za nas, koji koristimo neke druge
YU kodove, a ne da vidimo kuke i motike: otkucaj SET CODE i odgovori na
pitanje Sezama.
Pozdrav, Grba
clipper.363dr.grba,
>> Jel' moguce nekako da u TBrowse-u prikazujem viäe datoteka odjedared?
>> Konkretno, imam dve datoteke u kojima su neka polja ista (ime1, ime2,
>> adr, tel1, tel2, ...). Hoću sad da te dve datoteke gledam u jednom
Set relation?
clipper.364neman,
>>> Jel' moguce nekako da u TBrowse-u prikazujem viäe
>>> datoteka odjedared? Konkretno, imam dve datoteke u
>>> kojima su neka polja ista (ime1, ime2, adr, tel1, tel2,
> ...). Hoću sad da te dve datoteke gledam u jednom
>
> Set relation?
I kombinacija dva tbrowse objekta ?
clipper.365neman,
> Koliko sam uspeo da primetim, svi koji ovde kukaju zbog
> VMIF rade sa SIx-om 1.5 i Clipper-om 5.2x. Ätaviäe, vriska
> i panika je i poüela kada su se novije verzije odomaćile.
> Da li to znaüi da problema nema sa starijom verzijom
I Blinker, sa rtlinkom nema sanse da se pokrene aplikacija zbog velikog
opterecenja memorije.
> Ima li joä neka biblioteka koja na zadovoljavajući naüin
> reäava neke standardne probleme koje je SIx (samo
> privremeno) resio? Meni, konkretno, od SIx-a treba "samo"
> VariField i RushMoore. Ostatak je lep, ali i nije
> neophodan (trigeri, kompresija, kripto, ... ämrc). Mora
> bre da je neäto sliüno postojalo joä od ranije - nemoguće
> da su ovi momci (& devojke?) prvi sve smislili.
Pa SIXNSX je najbolje sto kod nas moze da se nadje, brzi je od ntx-a, realno
kraci 3-5 puta. A pucanja se javljaju, kako rece bulaja, a ja potrvdjujem
najcesce u stanju cekanja, a to je ili kod unosa podataka ili na menijima.
Kod unosa radis dbcommit,a na menijima i nije bitno, pa posledice VMIF-a
neces ni da osecas mnogo.
clipper.366bulaja,
│Najpre bih želeo da izrazim svoje zadovoljstvo što sam konaüno smogao snage i
│što su mi materijalne i druge mogućnosti dozvolile da postanem član Sezama i
│njegovog najatraktivnijeg dela, Clipper konferencije.
└───
Welcome! Za ignore se ne brini (samo nastavi da pišeš:), a SET CODE
pretpostavljam da ćeš odmah srediti :).
│a) da li neko moée da me uputi na neki .LIB/.OBJ koji na zadovoljavajući način
│rešava obradu teksta pod Clipper-om. Varijante koje su mi na raspolaganju
│(MemoEdit i FastEdit) me ne zadovoljavaju:
└───
MemoEdit() je takav trash :) tako da ga po mom mišljenju ne vredi uopšte
ni krpiti, jer ga ništa ne može popraviti :). FastEdit je sjana stvar, s
tim što mu je glavna mana zaista sporoća - ipak s obzirom na njegovu
fleksibilnost uglavnom koristim FED. Lepa klasa objekata za pravljenje
editor-a/notepad-a se može naći u FUNCky biblioteci. Ja lično je nisam
koristio (na prvi pogled nisam našao da može da boji tekst različitim
bojama što FED može, a pošto mi je baš to trebalo ostao sam na FED-u:),
ali ima sve što je potrebno za pravljenje zaista pristojnog editora.
Takodje postoji i bilioteka ClipText koja služi za pravljenje aplikacija
u Clipper-u nalik na prave tekst procesore, ali ono što sam video nije
me mnogo oduševilo (sporo, ima bug-ova i deluje malo nezgrapno:).
│b) zanima me, takodje, da li je neko (i kako) reäio problem obrade memo
│polja, odn. tekstualnih datoteka, većih od 64K. Problem skladiätenja je
│sada reäen - imamo .FPT.
└───
Baš sam ostavio hint pre neki dan - ograničenje se može prevazići
korišćenjem FED-a koji tekst smešta u niz (svaki red je jedan član
niza), tako da odgraničenje nije 64 Kb za string već 4096 za dužinu
niza, što npr. za prosečnu dužinu reda od 60 karaktera može biti
ukupno 250 Kb (i više:).
clipper.367bulaja,
│Jel' postoji neko ograničenje za SetKey () po pitanju količine tastera koji
│mogu u jednom trenutku biti definisani? Pravi mi probleme jedna mamutska
│aplikacija, pa da je sad ne bi celu rasturao u malecne parčiće, pitam ovde.
└───
Ograničenje je da se istovremeno mogu definistai najviše 32 tastera.
Ipak čini mi se da SetKey() spada u arhaični deo Clipper-a koji nije baš
preporučljivo često koristiti (to ne kažu u CA, ali..:). Pravo rešenje
je kompletan event-driven user interface za Clipper, ali pošto to još
nemamo :) možeš da preusmeriš sve Inkey()-ove na svoju funkciju i iz nje
po potrebi pozivaš SetKey() procedure zaobilazeći Clipper-ov sistem.
clipper.368bulaja,
│Jel' moguce nekako da u TBrowse-u prikazujem više datoteka odjedared?
│Konkretno, imam dve datoteke u kojima su neka polja ista (ime1, ime2,
│adr, tel1, tel2, ...). Hoću sad da te dve datoteke gledam u jednom
│TBrowse pendžeru lepo sortirane po npr. ime1 i da sve to izgleda kao
│jedna datoteka i da šljaka search, filter i sl.
└───
No problem :). Prvo staviš da ti kolone prikazuju podatke iz različitih
baza, npr.
TB:AddColumn (TBColumnNew ("Ime", {|| xOne->Ime }))
TB:AddColumn (TBColumnNew ("Telefon", {|| xTwo->Tel }))
gde su xOne i xTwo aliasi za dve baze podataka. Zatim je potrebno još i
da predefinišeš pomeranje po bazi. Lakše rešenje je da postaviš relaciju
izmedju njih, ali meni se više svidja rešenje sa predefinisanjem
skipBlock, goTopBlock i goBottomBlock metoda u TBRowse-u. U njima samo
stavi da se record pointer-i pomeraju paralelno na obe baze i that'it.
Ako ti treba i konkretan kod za to kaži, pa ćemo nešto da napišemo :).
clipper.369bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
6cldcdx zip 76168 Zamena za F6 u Clipper debugger-u (SIx Driver - CDX)
6cldnsx zip 68219 Zamena za F6 u Clipper debugger-u (SIx Driver - NSX)
┌───────────────────┐
│ What is SIXCLD ? │
└───────────────────┘
SIxCLD is an enhancement to the Clipper debugger. You get much more
control on your databases, indexes, relations than CLD provides.
In addition, SIxCLD gives you the power to control almost all additional
features you get from SIx Driver, e.g. arrays in memos, scopes and .INI
files just to mention three outstanding features not supported by CLD.
For more see below.
SIxCLD is completely free for SIx users. The source code is copyrighted
and is available for a small fee.
clipper.370dsisic,
Posle ovog rafala pitanja iKordica, sa radoscu potvrdjujem da
stare kuke nikad ne spavaju ( Mogu eventualno da zadremaju po vrucini :)) ).
BTW, licno preferiram oBrowse:AddColumn( TBColumnNew( "...", FieldWBlock ( ...
Pridruzujem se molbi za SET CODE :))
clipper.371dsisic,
> rtlink /pll:base52 file %1 library dbfnsx,clipper
^^^^^^
> Da li je moguc upste rad sa RTLINKom i SIXNSXom (nemam BLINKER
^^^^^^
Mala zamena teza: dbfnsx.lib nije biblioteka koja sadrzi pozive za
ispravan rad komande:
USE ( cFile ) via "SIXNSX"
SuccessWare je presao na nov naziv drajvera posle
verzije 1.1 ( cini mi se ).
clipper.372snemcev,
>> Pa SIXNSX je najbolje sto kod nas moze da se nadje, brzi je od ntx-a,
>> realno kraci 3-5 puta. A pucanja se javljaju, kako rece bulaja, a ja
>> potrvdjujem najcesce u stanju cekanja, a to je ili kod unosa podataka
>> ili na menijima.
Možda ne koristim dovoljno SIxNsx (a ne mislim da je eksploatacija pet
različitih programa na tri različita računara malo), ali u kommbinaciji
sa Blinkerom 3.00 SIxNsx još ni jednom nije pukao?! Puca samo SIxCdx.
Gde grešim? O:)
clipper.373gcurcic,
¨˙> Jel' postoji neko ograniüenje za SetKey () po pitanju koliüine tastera
Možda bi ti (nam) pomoglo kad bi na sezamu otkucao jedan SET CODE, a zatim
izabrao opciju g.
clipper.374mirche,
> 5.2 sam nabavio, ali siroma' cami dok ne stigne cuveni patch na
> 5.2d - necu da
Ja ga već duže vreme viđam u diru. Već su ti napomenuli SET CODE
clipper.375solomus,
Još jedan sabirak zbiru činjenica investigacije VMIF-e (?):
Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje takođe gorespomenutu :)!
clipper.377snemcev,
>> Lakše rešenje je da postaviš relaciju izmedju njih, ali meni se više
>> svidja rešenje sa predefinisanjem skipBlock, goTopBlock i
>> goBottomBlock metoda u TBRowse-u.
Zašto? Brže, bolje, fleksibilnije, veća kontrola...?
clipper.378snemcev,
>> Još jedan sabirak zbiru činjenica investigacije VMIF-e (?):
>>
>> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje takođe
>> gorespomenutu :)!
Uvek na istom ili svaki put na drugom mestu? Kod iste naredbe ili kod
različitih naredbi?
clipper.379dkalaba,
Ne bavim se žestoko kliperom, sećam se da je pre izvesnog
vremena bila funkcija za usmeravanje stampanja na LPT2.
Tražio sam ali mi je izgleda promakla ta datoteka.
Seća li se (ili zna) neko ?
Hvala unapred.
clipper.380solomus,
■■■■ Gde grešim? O:)
:))))))))))) (uh...hmpf...) (...i pošto se odcenio, pisac zapita...)
Kaži, molim te, da li je to NSX v1.1 iz dir-a ili jedan od dva cvetića
iz buketića SuccessWare-a v1.5 (komercijalni HiPer-SIx) ???
E da, zašto pozdravljate ikordic-a sa SET CODE kad mu ja lepo čitam čćđ ?
Da parafraziram ... Gde grešim :))) !
clipper.381arazumenic,
-> I Blinker, sa rtlinkom nema sanse da se pokrene aplikacija zbog velikog
-> opterecenja memorije.
Jesi li siguran?
Danas sam potstaknut ovom porukom izveo test i evo rezultata dva programa:
Blinker_1 Blinker_2 Rtlink
PROG1: 402 297 379
PROG2: 426 328 370
Prvi podaci za Blinker su onako kako ih trenutno koristim, a drugi za
maksimalno moguću uštedu memorije. Napominjem da u tom slučaju program
radi očajno sporo.
Saša
clipper.382dejanr,
>> E da, zašto pozdravljate ikordic-a sa SET CODE kad mu ja lepo čitam čćđ ?
>> Da parafraziram ... Gde grešim :))) !
Koristiš isti kod kao i on... oni koji koriste druge kodne rasporede videli
su u njegovim porukama kuke i kvake.
clipper.383szeman,
>> Vrlo zanimljivo, nije se dao omesti na moje razne podmetačine.
>> Zanimljivi mali utility vredan da se nađe u direktorijumu Sezama.
Javite šta nedostaje za Clipper 5.2x, pa da dodam. Isti ne koristim
zbog lošeg iskustva sa 5.01, mada ću morati da razmislim :)
Pozdrav, Saša
clipper.384bulaja,
│Zašto? Brže, bolje, fleksibilnije, veća kontrola...?
└───
Od četiri razloga, jedino je ovaj drugi (bolje) subjektivan pa nećemo o
njemu :). U svim drugim aspektima (brže, fleksibilnije, veća kontrola -
u principu su isti:) bolje rešenje pruža jednostavno predefinisanje
metoda za kretanje po bazi. Veću kontrolu pruža zato što znate kako sve
radi (jer ste to i napisali:), fleksibilnost to što možete da menjate
šta hoćete, a NoRMaLno da je brže pošto će uvek pre (dobar) programer
uraditi bolju optimizaciju korišćenjem raznih indeksa, nego što je to u
stanju Clipper.
clipper.385neman,
> Mozda ne koristim dovoljno SIxNsx (a ne mislim da je
> eksploatacija pet razlicitih programa na tri razlicita
> racunara malo), ali u kommbinaciji sa Blinkerom 3.00
> SIxNsx jos ni jednom nije pukao?! Puca samo SIxCdx.
>
> Gde gresim? O:)
Ma puca i sixnsx, a ko gresi mozda necemo ni saznati ako objave VO :)
clipper.386neman,
> Blinker_1 Blinker_2 Rtlink
> PROG1: 402 297 379
> PROG2: 426 328 370
>
A sta predstavljaju dati rezultati ?
Ako su to kolicine memorije potrebne za startovanje onda okaci lnk
datoteke, da pogledamo.
> maksimalno mogucu ustedu memorije. Napominjem da u tom
> slucaju program radi ocajno sporo.
Podjednako neupotrebljivo :(
clipper.387neman,
> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje
> takode gorespomenutu :)!
Pri toj kombinaciji nikada nisam imao problema sa VMIF-om. Pokusaj
da upgradeujes na 5.2d jer je CA priznao par VMIF gresaka.
clipper.388dr.grba,
>> Javite šta nedostaje za Clipper 5.2x, pa da dodam.
Evo kod mene - jedan programer ((((:
clipper.389snemcev,
>> Kaži, molim te, da li je to NSX v1.1 iz dir-a ili jedan od dva
>> cvetića iz buketića SuccessWare-a v1.5 (komercijalni HiPer-SIx) ???
Verzija 1.5
clipper.390milanv,
Na koji način rešavate unos teksta koji ne treba da se vidi
na ekranu, tipično - lozinki? Promena boje karaktera u boju
pozadine baš i nije neko rešenje. Voleo bih da vidim rešenje
kakvo je primenjeno na Sezamu prilikom prijavljivanja ili neko slično...
clipper.391bdm.,
## GET sistem i to procedure GetReader i GetApplyKey tako da kad je
## format taj i taj (tj. tvoj slučaj) podatak se unosi po tvojoj
## proceduri. Ako se taj unos javlja na manje mesta, onda prilikom
Može malo više informacija o ovome, tj. malo jasnije kako se to
radi?
Inače da priupitam, da li postoji način da proceduru koja u
pozivu READ-a, ispituje da li je pritisnut neki taster i koji
nekako zamenim svojom...
BDM.
clipper.392srdjan.j,
==> na ekranu, tipično - lozinki? Promena boje karaktera u boju
==> pozadine baš i nije neko rešenje. Voleo bih da vidim rešenje
==> kakvo je primenjeno na Sezamu prilikom prijavljivanja ili neko
==> slično...
Ako hoćeš zvezdice, moraćeš da sam napišeš petljicu za unos lozinke, nešto
kao ovo:
cLozinka := ""
WHILE ( ch := Inkey(0) ) != K_ENTER
// Ovde se ubace provere ( da li je legalan karakter, preduga lozinka
// i sl. )
cLozinka += ch
?? "*"
END WHILE
Ne zamerite ako sam nešto pogrešio u sintaksi - nisam pipno Clipper ima
godinu dana.
Inače, tu bi trebao da dodaš i obradu tastera _backspace_
Srđan.
clipper.393gcurcic,
¨˙> Jel' postoji neko ograniüenje za SetKey () po pitanju koliüine tastera
Možda bi ti (nam) pomoglo kad bi na sezamu otkucao jedan SET CODE, a zatim
izabrao opciju g.
clipper.394domana,
Pomagajte...
1.prg:
#include "sixcdx.ch"
FUNC main ()
RETU NIL
2.bat:
clipper %1 /B/N/W
if not errorlevel 1 rtlink fi %1 li sixcdx,clipper
kaze:
UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIERST REFERENCE
------ ----------------
'__zcmp' SIXCDX.LIB
'__force_ascii' SIXCDX.LIB
'__uprevc' SIXCDX.LIB
'__nnextc' SIXCDX.LIB
Napominjem da NEMAM:
DBCREATE.obj
FGET.obj
SIXNSX.obj
sto po NG-u bi trebao da imam
a da imam:
MATCHSIX.lib
SIXCDX.lib
SIXNCIDX.lib
da li meni nesto fali...
clipper.395bulaja,
> da li meni nesto fali...
Da :). Fali ti SixUk.obj (ili SixSwe.obj, SixYu.obj,..).
Takodje ne znam koliko ce SIx da radi pod RTLink-om, ali
u svakom slucaju greske koje ti je javio su zbog toga sto
nemas SixUk.obj.
clipper.396neman,
> Pomagajte...
>
> UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
> SYMBOL FIERST REFERENCE
> ------ ----------------
> '__zcmp' SIXCDX.LIB
> '__force_ascii' SIXCDX.LIB
> '__uprevc' SIXCDX.LIB
> '__nnextc' SIXCDX.LIB
>
>
Kako rece bulaja, fali ti sixuk, tj
rtlink fi myprog,sixuk lib ...
Kada stavis i sixuk, rtlink ce i dalje da ti prijavljuje jedan nedefinisani
simbol, nesto kao _sixinternac tj. nesto u vezi sa nacijom :) Tu nisam nasao
pomoc, a i ne koristim rtlink
clipper.397nbatocanin,
> a) da li neko može da me uputi na neki .LIB/.OBJ koji na
> zadovoljavajući način rešava obradu teksta pod Clipper-om.
Treba videti CLText i još neke. Trenutno pokušavam da uradim neki
alternativni način u čistom Clipper-u.
clipper.398nbatocanin,
> SetKey(). Ima li neko bolje resenje?
Preusmeri SetKey() na svoju funkciju. Posao je trivijalan, a svi
dodaci se realiziju veoma lako.
clipper.399nbatocanin,
> Jel' moguce nekako da u TBrowse-u prikazujem više datoteka
> odjedared? Konkretno, imam dve datoteke u kojima su neka
> polja ista (ime1, ime2, adr, tel1, tel2, ...).
Može, veoma jednostavno. Potrebno je izmeniti skipBlock tako da
"sledeći" i "prethodni" slog traži preko funkcije koja paralelno
pomera pokazivače u obe datoteke i to tako što prvo vidi u kojoj je
datoteci "sledeća" vrednost i to je rezultat funkcije.
clipper.400nbatocanin,
> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje
> takođe gorespomenutu :)!
Na žalost: 5.2d/NTX/Blinker 2.01/DOS 5.0 mi je pre neki dan dao VMIF
:((( Jedino što je ta mašina i inače nešto zezala.
clipper.401ab.comp,
Jedan moj prijhatelj, koji ima SCO UNIX, pita:
- gde može da se nabavi FOX za UNIX
- da li je izašao FOXPRO za UNIX
- koje su, odnosno kolike su (procentualno) razlike između DOS i
UNIX verzije FOX-a, da bi aplikacija koja je radila pod DOS-om radila i
pod UNIX-om?
Odgovore slati na mail.
Pozdrav
█ █ █ █
▄▄█ █ █▄▄ █▄▄
clipper.402dpredovic,
> => Imao sam i SilverClip i Faxual, ali mi se ova druga ucinila
> sasvim => nepotrebna, podrska za fax u Silveru je vise nego
> dovoljna.
>
> Jel' neka od ovih podréava i prijem faksova? Kako inaüe rade
> (brzina, kvalitet, pouzdanost, ... )? Jel' moée neki kratak
> komentar?
Obe biblioteke se za rad sa faxom oslanjaju na CAS drivere, što
mu, izgleda dođe neki (valjda Intelov) standard, pa biblioteke i
ne rade ništa mnogo pametno - samo pripremaju pozive drajveru.
Dakle i brzina i kvalitet i sve ostalo zavisi samo od kvaliteta
drajvera. CAS koji sam ja pronašao je iz paketa NetFax, i čini
se da radi posao (nisam još stigao da se time ozbiljnije bavim).
Jedini (naizgled) problem je što nema konverzije Epson .prn -> fax,
nego samo HP PCL ->fax, ali to sa druge strane izgleda da omogućava
rad sa SW bitmapiranim fontovima, i naravno našim slovima (samo
negde treba iskopati matori Fontware).
Kažem, nisam još uspeo time mnogo da se bavim, pa ko ima volje i
vremena neka se javi, pa da podelimo posao...
clipper.403arazumenic,
-> A sta predstavljaju dati rezultati ?
-> Ako su to kolicine memorije potrebne za startovanje onda okaci lnk
-> datoteke, da pogledamo.
Da, memorija potrebna za startovanje programa.
Evo u datoteci su .lnk fajlovi, onako kako ih trenutno koristim.
Saša
lnk.zipclipper.404solomus,
>>>> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 ...
>> Uvek na istom ili svaki put na drugom mestu? ...
Sproveo sam istragu kod jadnih ukucavačica.
Ništa novo. Menu, Get, ... i ostala čekanja.
žeš, češ ... i jedan zabavan momenat: jedna od ukucavačica je ponosno
izjavila da je za*ebala VMIF-u. Elem, u nekom vertikalnom meniju, kaže
da je već nazrela G:> a onda brzinom munje prešla na sledeću stavku menija
i lepo nastavila da radi :).
Bem li ga !?!
clipper.405nbatocanin,
> Može malo više informacija o ovome, tj. malo jasnije kako
> se to radi?
Jedan način ide otprilike ovako: u GETSYS.PRG postoji procedura
GetApplyKey koja se poziva prilikom svakog pritiska na taster u GET
sistemu (eto gde treba da ubaciš svoju proveru!). Algoritam rada je
trivijalan i svodi se na analizu raznih slučajeva. E, tu ubaciš tvoj
slučaj i to je to. Za Dejanov primer je jednostavnije izmeniti
GetReader proceduru i opet ovako trivijalno. Još čistije rešenje je
da promeniš reader za GET koji se učitava na "specijalni" način. Na
primer:
@ 1,1 SAY "SPEC.UNOS" GET x
ATail(GetList):reader := { || SpecRead() }
A SpecRead se prosto piše: obična petlja u kojoj analiziraš šta je
pritisnuto i radiš šta treba.
> Inače da priupitam, da li postoji način da proceduru koja
> u pozivu READ-a, ispituje da li je pritisnut neki taster i
> koji nekako zamenim svojom...
Na ovo sam ti već odgovorio.
clipper.406mpaunovic,
Da li bi neko mogao da mi
posalje u asembleru, sa onim CL makroima, primer
kako moze da se napravi funkcija iz koje se vraca
vrednost koja je tipa int? Ja mogu da vratim
string, i da preuzmem int, ali da vratim int to
nece nikako.
Samo da napomenem, nije
da vrati procedura vrednost, to je lako, nego da
se promeni neki od parametara?
clipper.407szeman,
>> Stvarno lepo, ali... ;) Bilo još lepše da radi sa tabovima, da
>> uvlači red i nakon FUNCTION ili PROCEDURE, da radi i sa WHILE (bez
>> DO), da radi sa /*...*/ kometarima, kontrolnim strukturama u
>> "nastavku" reda (WHILE button()=0; ENDDO), skraćenim END umesto ENDIF
>> ili ENDDO... Nije mnogo?
Vrlo retko se javljam, jer, pazi ovo, nemam telefon, pa za tačno vreme
sledećeg javljanja gledam u pasulj i slična pomagala ;) Ali i pravda je
spora ali dostižna. :) Dosta glupiranja, na posao:
čelja prva: tabovi
Program radi u dvostepenom prolazu. Prvi prolaz služi za neka
interna podešavanja izmedju kojih i filtriranje nepotrebnih tabova
chr(8) koje zamenjuje space karakterom (jednim). Razni editori, razne
ćudi, pa sam se odlučio na ovo i zbog brojanja space karaktera koji se
ubacuju pre naredbi. Drugi prolaz služi za fino podešavanje CASE
struktura. Ti bi, verovatno, jedan tab za izdvajanje jedne celine.
Možda je bolje rešenje da ugradim switch za odredjivanje koliko se
spaceova ili tabova koristi za odvajanje jedne logičke celine.
čelja druga: uvlačenje posle FUNCTION i PROCEDURE
Biće.
čelja treća: WHILE bez DO i sa END
Ovo je već specijalitet Clippera 5.2. Uradjeno.
čelja četvrta: /* ... */
Daj primer.
čelja peta: WHILE button()=0; ENDDO
Za ovo bi već morao da menjam celu strukturu programa. Videću.
Uz poruku ostavljam doradjenu verziju sa ispunjenom trećom željicom :)
koja je po meni (a valjda i po vama) najvažnija. Za ostalo kad budem imao
malo više vremena.
Hvala na sugestijama.
Pozdrav, Saša
P.S. žini mi se da je program zreo za dir, šta misliš bulaja?
pr101.zipclipper.408szeman,
>> Ne bavim se žestoko kliperom, sećam se da je pre izvesnog
>> vremena bila funkcija za usmeravanje stampanja na LPT2.
Poruka 10.92
Pozdrav, Saša
clipper.409szeman,
>>> Javite šta nedostaje za Clipper 5.2x, pa da dodam.
>
> Evo kod mene - jedan programer ((((:
Ah grbo, grbo, nemaš ti para za to ((((:
P.S. Kad bolje razmislim... ;)
clipper.411snemcev,
>> Elem, u nekom vertikalnom meniju, kaže da je već nazrela G:> a onda
>> brzinom munje prešla na sledeću stavku menija i lepo nastavila da
>> radi :).
Svaka joj čast! Trebalo bi je upisati u Ginisovu knjigu rekorda!
clipper.412arazumenic,
Uf, evo da se i ja požalim na VMIF.
Kombinacija Clipper 5.2d, SIXCDX 1.5, rtLink.
Povremeno se javljalo i sa Blinker-om, ali tome nisam pridavao veću pažnju,
jer Blinker ionako služi samo za razvoj, a finalno linkovanje ide sa
rtlink-om.
Neko je već pitao šta se po inostranim BBS-ovima dešava po ovom pitanju, ali
mi se čini da je ostao bez odgovora, pa da nadležne zamolim da prenesu
inostrana iskustva.
Saša
clipper.413bulaja,
│P.S. žini mi se da je program zreo za dir, šta misliš bulaja?
└───
Mislim :). Prebačen je u CLIPPER dir, a sugestija ti je da u neku od
budućih verzija (ne misliš valjda da je lista želja konačna?:) ubaciš i
kratak .DOC file :).
clipper.415szeman,
>│ P.S. žini mi se da je program zreo za dir, šta misliš
> bulaja? └───
> Mislim :). Prebačen je u CLIPPER dir, a sugestija ti je da
> u neku od budućih verzija (ne misliš valjda da je lista
> želja konačna?:) ubaciš i kratak .DOC file :).
Vidim da smo istomišljenici po pitanju korisnosti mog mezimčeta ;)
Što se tiče DOC-a, uradišu ga za sledeću priliku, mada sam smatrao da
je uputstvo u programu više nego dovoljno.
Pozdrav, Saša
P.S. PRAVI programer nikad ne čita uputstvo, uzbućuje ga da finte
pronadje sam. (Šalim se, naravno)
clipper.416bdm.,
## Jedan način ide otprilike ovako: u GETSYS.PRG postoji procedura
## GetApplyKey koja se poziva prilikom svakog pritiska na taster u GET
## sistemu (eto gde treba da ubaciš svoju proveru!). Algoritam rada je
Hvala puno na odgovoru.
Pozdrav...
BDM.
clipper.417ikordic,
RE: Blamaža
=> Dobro nam došao.
Hvala, bolje vas sve našao :).
=> Samo jedan ne baš beznačajan detalj: saopšti Sezamu koji YU kod
=> koristiš, kako bi on mogao to valjano da iskonvertuje za nas, koji
Kakav neslavan početak :( - sedam urgencija za SET CODE ... Elem, done. Radilo
se o staroj verziji EXEC-a (bez SET CODE).
clipper.418ikordic,
RE: dbMax
=> │ Meni DBMax radi solidno ( bila je psovana sporoća ).
=> └───
=> Ma spor je maximalno, samo ima sreću da se na bržoj mašini to ne
=> primeti :). Inače ja nisam baš oduševljen DBMax-om :) - bolji je od
I meni je dbMax sporo radio (klot 286 makina). Razlog je bio u dbMax Blinker
script-u, koji na kraju ulinkuje onaj script koji maksimalno overlejira extend
i clipper biblioteke (CL5??MAX.LNK). Taj deo zamenimo sa CL5??MID (ili CL5??MIN
u ekstremnim situacijama) i program leti (prvo ga prevedemo & linkujemo :)! Ovo
sve, naravno, važi samo ako imate source, .RMK i .LNK fajlove za ponovno
pravljenje (mislim da su negde u PC.PROG.3, courtesy of dsisic).
clipper.419ikordic,
RE: Frankie "patch"
=> U onoj Frankie biblioteci imas resenje za to, jos samo dovucite
=> registraciju i nema problema, ili napisi sam tako nesto
Hm, to baš i nije neophodno. Sitnom intervencijom možemo "registrovati" ovaj
frankie. Kljuc je u funkciji adVersion () frankie biblioteke koja se standardno
ulinkava pri raznim pozivima. Njoj, elem, treba prosledeiti broj 7362 na sta
ona odgovara sa nizom od četiri člana. Ta funkcija se ulinkuje umesto postojece
i imate verziju koja ne ispisuje ono glupavo "Unregistered copy"!
Elem, ceo postupak sledi:
1) napravite sledeci prg:
FUNC adVersion
RETURN "2.1"
FUNC _ver ( nArg )
IF nArg == 7362
RETURN { .T.,;
"Registered copy of Frankie",;
8254,;
"Copyright (c) 1992,1993 Angelito Dizon" }
END IF
RETURN NIL
2) zatim prevedete program
clipper adversio /n /l
3) ubacite modul umesto postojeceg u biblioteku
(t)lib frankie.lib -+ adversio.obj
4) to je to!
clipper.420ikordic,
RE: SetKey ()
=> Ipak čini mi se da SetKey() spada u arhaični deo Clipper-a koji nije
=> baš preporučljivo često koristiti (to ne kažu u CA, ali..:). Pravo
=> rešenje je kompletan event-driven user interface za Clipper, ali
=> pošto to još
Puno definisanih SetKey-tastera jeste posledica korišćenja omenu-a, gde se
nekim opcijama može pridružiti hotkey. Omenu to rešava tako da te tastere trpa
u SetKey-handler, a tamo se već nalazi HELP + par sitnica, pa otuda zagušenje.
Omenu pruža (meni, barem) optimalan odnos performanse/komfor i do sada nisam
našao ništa slično među raznim bibliotekama koje sam pregledao. Dosuše, polako
mi se smučilo da se zezam sa raznoraznim bibliotekama za Clipper, uglavnom zato
što su PD/SW, pa po onoj "malo para == malo vredi" slabo koja se duže zadrži na
disku. Ako se i provuče neki kvalitet onda ima neki DEMO-feature koji je molto
zakukuljen za razbivanje, pa opet ništa.
Uzgred, primetio sam da Omenu.prg nema u Clipper 5.2 ...
clipper.421ikordic,
RE: Alternativa za APPEND FROM
=> │ Jel' moguce nekako da u TBrowse-u prikazujem više datoteka
=> │ odjedared? Konkretno, imam dve datoteke u kojima su neka polja ista
=> │ (ime1, ime2, adr, tel1, tel2, ...). Hoću sad da te dve datoteke
=> │ gledam u jednom
=> No problem :). Prvo staviš da ti kolone prikazuju podatke iz
=> različitih baza, npr.
=>
=> TB:AddColumn (TBColumnNew ("Ime", {|| xOne->Ime }))
=> TB:AddColumn (TBColumnNew ("Telefon", {|| xTwo->Tel }))
Yes problem :), to nije to. Ovako, imam, recimo, bazu kl_f i bazu kl_p. One
predstavljaju bazu podataka klijenata fizičkih i pravnih lica. Zbog izvesnih
specifičnosti jedne i druge baze, ne mogu da ih strpam u istu bazu pa da lupim
SET FILTER ili slično. Neka polja su, međutim ista (po dimenzijama i tipu, ne
po sadržaju). E sad, ono što meni treba jeste da se te dve baze pregledaju u
jednom tbrowse-u KAO DA SU JEDNA odnosno sortirane po npr. ime1, tako da npr.
"Aleksić" iz kl_f dođe pre "Alpha Commerce" iz kl_p.
Dakle, treba mi isti efekat kao i kad bi radio APPEND FROM, stim što ta opcija
otpada zbog veličine datoteka.
clipper.422ikordic,
RE: FastEdit i još ponešto ...
=> niza), tako da odgraničenje nije 64 Kb za string već 4096 za dužinu
=> niza, što npr. za prosečnu dužinu reda od 60 karaktera može biti
=> ukupno 250 Kb (i više:).
Ovo baš i nije neki fazon. Sasvim slučajno sam pregledao (više iz radoznalosti)
neke klijentove tekstove i video kako oni izgedaju a samim time i kako će
izgledati ostali tekstovi. Tu ima praznih linija (samo CRLF) u ogromnim
količinama koje bi mi u slučaju MemoEdit-a otele 2 bajta po liniji od
maksimalnih 64 KB, dok ovako ostajem bez (potencijalnih) 4 KB po praznoj
liniji. Daklem, to baš nije to.
Imamo daklem ograničenje od 4096 linija. Ako uzmemo da u svaku ide 60 znakova
teksta to čini 240 KB - pod uslovom da nema nijedne prazne linije! ;) Ako
čovek, međutim, ubaci 10 praznih redova, potencijalni prostor se smanjuje za 40
KB, itd. Sumljam, daklem, da će čovek tu uspeti da skuca celih 200 i kusur
KB - sa dosta praznih linija jedva će dostići 100 KB :(.
Cela ova priča ima za uzrok sledeće: dosta kasno sam počeo da aktivno
programiram. Do tada sam uglavnom KORISTIO raznorazni software i jednostavno
sam stekao nekakvu sliku kako moji programi i programi uopšte treba da
izgledaju, šta treba i šta ne treba da rade.
žinjenica da je Clipper isprva koncipiran kao neki in-house projektni alat (za
rešavanje potreba unutar neke firme ili za uži krug ljudi) mene ne obeshrabruje
preterano. Sasvim sam siguran da sve svoje ambicije mogu da ostvarim ovim
jezikom i njegovim dodacima i da sa vremenom budem u stanju da na tržište
plasiram i neku šire prihvaćenu komercijalnu aplikaciju.
Dosta ljudi mi se smeje kada im objašnjavam šta sve moj paket treba da radi.
Dobijam komentare u stilu "šta si baš zapeo da tvoj program radi to-i-to,
smandrljaj na brzaka nešto što liči na to i vozi". Verovatno će moj entuzijazam
sa vremenom splasnuti, pa će me mrzeti da se bakćem sa raznim sitnicama, ali za
sada .. Svoj paket koncipiram za osobe koje žele da računar koriste za
obavljanje nekog posla bez potrebe da se oni upuštaju u neke hard/software
specifične egzibicije. Zato moj paket MORA da obezbedi:
* jednostavan rad sa bazama
* komfornu obradu teksta
* kalkulator, rokovnik, ...
* DOS menadžer (sa sve tag/untag, copy, erase, rename, md, rd, format (!),
fileview, ...)
* backup & restore, rad sa arhivom, ...
* kompletno rešenje za YU znake (ekran, tastatura, štampač, konverzija ...)
* visoko sofsticiranu kontrolu grešaka i REAGOVANJE na iste, dosledan
korisnički interfejs, maksimalno dorađen on-line help, autpmatsko
prilagođavanje promenama u konfiguraciji (plug'n'play 4 dos :)) i još dosta
toga.
Kosa mi se diže na glavi kada vidim šta su ljudi sa smandrljanim rešenjima
napravili od korisnika: srećem advokate i dizajnere koji napamet znaju
karakteristike i podatke svih komponenti u svom sistemu, *SVE* komande PKZIP-a
ili čak tipa (nekretninar) koji za jednu vrstu posla koristi SmartDrive a za
drugu NCache jer "... ima bolji algoritam za xxx, dok ovaj ima bolji za yyy
stvari."!!!
clipper.423ikordic,
RE: VMIF
=> > Koliko sam uspeo da primetim, svi koji ovde kukaju zbog
=> > VMIF rade sa SIx-om 1.5 i Clipper-om 5.2x. Štaviše, vriska
=> > i panika je i počela kada su se novije verzije odomaćile.
=> > Da li to znači da problema nema sa starijom verzijom
=>
=> I Blinker, sa rtlinkom nema sanse da se pokrene aplikacija zbog
=> velikog opterecenja memorije.
???
Daklem, 'ajmo još jednom - možda vas mrzi da čitate poruke bez setkodiranog
(wow, kakav izraz) rasporeda. Svi koji ovde kukaju zbog VMIF koriste Clipper
5.2x. Pre neku poruku, solomon je prijavio da se VMIF dešava i sa klot NTX
drajverom - znači sveopšta frka nije do SIx-a. Znači li to ondak da problema
nema sa starim (5.01a) Clipper-om? Novi Clipper i nije neki napredak, dok je
SIx ... pa, da ne pričam. Novitet su mu RDD-i, koji mi apsolutno ne trebaju,
jerbo SIx radi i sa starim Clipper-om. DEŠAVAJU LI SE, DAKLE, VMIF SA
CLIPPER-OM 5.01A???
P.S.: Ukoliko ova poruka ostane bez odgovora, donosim nepobitan zaključak da je
neko to već provalio i tajnu drži u tajnosti (?). Dok se mi ovde zajebavamo, on
neometano pravi programe & baxe :(.
P.P.S.: Ako vam ovo gore nije dovoljna motivacija, taj zlotvor sada sedi i
gleda kako se patimo i SMEJE NAM SE!!! :(((((
clipper.424ikordic,
=> Posle ovog rafala pitanja iKordica, sa radoscu potvrdjujem da
^^^^^^^^^^^^^^
Još jedared se izvinjavam zbog svog (količinski) neumerenog prisustva u ovoj
konferenciji. Radi se jednostavno o tome, da su mi se sa vremenom nakupili
problemi & pitanja pa ih sad moram ispucati pre no se "normalizujem". Drugi
razlog je taj što nemam telefon, pa poruke šaljem samo kada mi okolnosti i
pajtos sa telefonom .and. modemom dozvole, a poruke se u međuvremenu nakupe ...
---> Your vote 4 clipper conf :)
clipper.425ikordic,
RE: Linkeri - rad sa overlay-ima.
Kada BLinker-u (v3.0) kažem:
...
BEGINAREA
FI UVOD
FI G_MENU
...
BEGINAREA <
FI OBJ1 <
FI OBJ2 <───────┐
FI OBJ3 < │
ENDAREA < │
... │
ENDAREA │
... ┌─────────────────┘
│
da li ovo znači: a) smesti OBJ1, 2 i 3 u isti overlay (fina stvar ako se npr.
OBJn međusobno dosta pozivaju) ili
b) svaki OBJn ide u svoj sopstveni pod-overlay, pa je onda
pozivanje npr. OBJ3 iz OBJ1 zejznuto (fina stvar ako OBJn
međusobno nemaju nikakve veze).
Takođe me zanima da li neko koristi neke naprednije tehnike pri linkovanju
BLinker-om ili RTLink-om. Smatrate li dovoljno dobrim rešenjem oslanjanje na
linkerovu automatiku i da, samim tim, neko ručno namestanje/premestanje modula
ne donosi bitniju razliku po pitanju brzine i komfora izvršavanja?
clipper.426ikordic,
RE: File I/O
Prvo: Da li može nekako da se sazna, dal' je neka datoteka već otvorena sa
fOpen ()? Treba mi nešto kao:
cFileName := xFunc ( nHandle )
Drugo: ako se prilikom otvaranja datoteke pojavi neka greška, jel' sasvim
sigurno da je ta datoteka ostala zatvorena? Ne može se desiti da ostane malko
odškrinuta nipodkakfim uslovima? Pitam zato što me jedan tip (Clipper pro)
savetovao da uradim jedno fClose za svaki fOpen/fCreate pre RETURN. Ima li ovo
svrhe raditi?
Trece: kako da saznam koliko mesta ima na odredišnom disku pri kopiranju ili
snimanju? DiskSpace () mi slabo pomaže, jerbo ona javlja koliko ima
'slobodnih' bajata a ne koliko ima nealociranih, odn. zaista slobodnih. Ako ja,
recimo, proverim da li na odredišnom disku ima dovoljno prostora sa:
IF DiskSpace ( nTargDisk ) >= FSize ( cSourceFile )
// onda kopiraj
ELSE
// zaprepasti se
ENDIF
nije 100% sigurno da će tamo i biti toliko slobodnog mesta. Mesto za datoteke
se na hard disku alocira u klasterima od po 4K, što znači da će datoteka čija
je dužina 4K + 1 bajat, zauzimati 8K. DOS nam, međutim, posle 'dir' kaže da
datoteka zauzima onih 4097 bajta (4dos & ndos javljaju i alociran prostor -
znači nekako se saznati može).
Kako, daklem, naterati DOS da nam kaže: a) koliko neka datoteka vaistinu
zauzima i b) koliko zaista ima prostora na nekom disku. Kada malo bolje
razmislim (?) ovo računanje možemo i sami da obavimo, jedina nepoznanica jeste
veličina klastera na nekom drajvu. Treba, znači, funkcija
nClusterSize := ClusterSize ( nDrive ) // nDrive = 0, 1, ...
Ovo, daklem, nije baš Clipper-specifican problem, ali da vidim dal' neko ovde
zna pre no se otisnem u druge teme.
clipper.427ikordic,
RE: .CDX - YU - Mach SIx.
Kratko ;) razmatranje na temu .CDX indeksi - YU sortiranje - Mach SIx:
(odmah na pocetku da kažem da ovo nisam bio u prilici da probam - SIx još ne
koristim - no sam razmišljao o raznim stvarima u vezi sa ovijem gore pa se
pitam tako sebe ja ... :)
Najpre kratak uvod: koristim svoju UDF za sortiranje po YU (abeceda ili
azbuka). Ta UDF se poziva kod INDEX ON i sl. i prosleđuje joj se izraz koji
treba indeksirati. Rezultat te funkcije je neki string iste dužine koji
uglavnom nema (fonetičke :)) veze sa originalom, ali koji omogućava da se taj
string pravilno sortira, odn. da zauzme odg. mesto u .NTX odn. .CDX datoteci -
ovaj sistem valjda svi koriste. Daklem, u .DBF-u se nalazi npr. "Jovanović" a u
indeksu "xyzhdheueueo". Poenta je u sledećem: ako ja sad tražim Jovanovića sa:
LOCATE FOR field->ime1 == "Jovanović" (što je sporo - traži po .DBF)
on će ga naći. Ako, međutim, kažem:
SEEK "Jovanovic" (što je brzo - traži po .NTX)
on ga neće naci. Neće, zato što on traži po indeksnoj datoteci, a tamo piše
"sdfsdkfhskdj", ili šta već piše, a ne "Jovanović". Moram, dakle, da pišem
nešto kao:
DBSeek ( YuSort ( "Jovanović" ) )
čime se "Jovanović" pretvara u svoju "sdfbajkdshf" formu, pa ga pretraga po
indeksu pronalazi.
Ako nam dakle Mach SIx Query Optimizer optimizuje izraze tako da koristi
indekse gde ih ima (Rushmoore sistem), on će ovako samo dodatna sranja da
napravi - em ga neće ubrzati, em neće ni raditi :(. Ako ja ne grešim, onda
šteta i tuga zbog ovako nečega. Divota sa Mach-om jeste da bez glavobolje i
zezanja sa njegovim M6_ i Sx_ funkcijama pišem SET FILTER na 2-3 polja i sl.
veselja i da to radi. Alternativa bi bila da se kod svakog traženja ubacuje
prevođenje izraza koji se traži (kao DBSeek ( YuSort ( cTrazi ) )) + neki
#command, al' to onda postaje malko zamorno .AND. komplikovano + ne moze biti
univerzalno - šta ako neko polje nije indeksirano uopšte ili nije sa takvom
funkcijom? A i pod Mach-om nije primenljivo.
Ima li, dakle, šanse da se jednom lepo patch-ne neki od onih viška nacionalnih
.OBJ-ova i da se to lepo sredi jedared za svagda?
Kad sam već kod Rushmoore sistema - autori tog sistema su navodno dobili
inspiraciju gledajući Hičkokov "Se(r)ver-Severozapad", seli i napisali ga (tako
barem kaze DR). Film sam gledao tri puta (genijalan) ali nisam uspeo da nađem
nikakvu vezu (a trudio sam se) između lukavog nacina potrage i pomenute
američke svetinje. Mount Rushmoore je, za one koje ne znaju, ona planina u koju
su uklesani likovi četiri (pet?) najznačajnija US predsednika (pojavljuje se i
u jednoj epizodi Alana Forda) po čijim se facama Keri Grant pentra pri kraju
filma. Any clues?
clipper.428stosic,
Koji Windows program za generisanje izvestaja Vi koristite ?
1. Visual Basic ( Crystal Reports ) ?
Ne uspeva mi trivijalna stvar:
Zamislite npr. bazu sa rezultatima prijemnih ispita na nekom fakultetu u
kojoj postoji logicko polje Polozio. Sve sto se trazi je da umesto "crte"
izvestaj bude grupisan u dva dela: oni koji su polozili prijemni i oni koji
nisu. Bazu sam prvo sortirao po polju Polozio, ali posle grupisanja
sortiranje se gubi?
2. R&R Report Writer for Windows ?
Ovde gore navedeni problem (?) ne postoji. Interesantna stvar je da se
vise izvestaja moze smestiti u jednu biblioteku. Korisniku je omoguceno da
preko jedne baze pripremi vise izvestaja iz iste ili razlicitih biblioteka.
O ovoj bazi, na zalost, nema informacija u helpu. Bilo bi korisno
omoguciti korisniku da postavi neki uslov (npr. generisi izvestaj od tog
do tog datuma) bez ulazenja u program. Nije mi uspeo ni jedan ni drugi
(Master Table:Scope) nacin.
3. DBFAST( CA-RET ) ?
4. ACCESS ?
clipper.429neman,
> 1) napravite sledeci prg:
Prg treba da se zove version.prg
>
> 2) zatim prevedete program
>
clipper version /n /l
> 3) ubacite modul umesto postojeceg u biblioteku
lib frankie.lib -+ version.obj
> 4) to je to!
Nije to, f_tour mi se blokira i pisti ( vristi ? )
clipper.430dpredovic,
> čelja četvrta: /* ... */
> Daj primer.
>
Pa, čini mi se da konstrukcije u stilu:
/*
IF ...
...
...
*/
...
/*
...
...
ENDIF
*/
ne prolaze kako treba, pišem on-line, pa ako nije tako ispraviću se...
PS. Svaka čast na brzini...
clipper.431neman,
Repliciram sam sebi, ali pod 4 jeste to ako se ukuca originalni tekst
koji si naveo
clipper.432dejanr,
>> Da li bi neko mogao da mi
>> posalje u asembleru, sa onim CL makroima, primer
>> kako moze da se napravi funkcija iz koje se vraca
>> vrednost koja je tipa int? Ja mogu da vratim
>> string, i da preuzmem int, ali da vratim int to
>> nece nikako.
Nisam to probao, ali sam sa tim makroima imao raznoraznog veselja. Recimo,
napravim asemblersku funkciju koja ima dva argumenta, neki tekst i neki
broj. Ona na osnovu broja nešto mulja po tekstu, i promeni ga. Recimo da
se procedura zove test.
E sad, ako funkciju test pozovem sa:
test (smatbr, n)
Ona uredno promeni smatbr, ali uz to promeni i vrednost promenljive
matbr koja veze nema sa ovom promenljivom, osim što je u 'local'
listi neposredno pre nje (ili beše posle).
Ako pozovem sa:
test (@smatbr, n)
Onda sve radi normalno.
Svašta.
clipper.433cnenad,
ŁŁŁ Neko je već pitao šta se po inostranim BBS-ovima dešava po ovom pitanju,
Pa nestrpljivo očekujemo PATCH za Blinker na 3.01. :)
clipper.434arazumenic,
-> Pa nestrpljivo očekujemo PATCH za Blinker na 3.01. :)
Ali očito je da nije Blinker krivac za VMIF, mada se sa njim mnogo češće
javlja. Mislio sam da li se uopšte o tome negde vodi rasprava i kakva su
insotrana iskustva.
E što ti je sudbina. Gornji deo poruke sam napisao čitajući SOR odmah po
skidanju. Odmah posle toga se 4 puta u roku od 10 min. javio VMIF i to
uvek u stanju čekanja na pritisak tastera u TBrowse objektu. U pitanju je
bio rtLink.
Saša
clipper.435zzk.,
> E sad, ono što meni treba jeste da se te dve baze pregledaju
> u jednom tbrowse-u KAO DA SU JEDNA odnosno sortirane po npr. ime1, tako da
> npr. "Aleksić" iz kl_f dođe pre "Alpha Commerce" iz kl_p.
Nisam se mnogo bavio ovom problematikom, ali mislim da ce bilo koje
rjesenje pri kojemu ce ti baze ostati kakve jesu biti problematicno
i vjerovatno sporo.
Predlazem izmjenu u strukturi podataka (mada to podrazumjeva i izmjenu
sorsa, ali koliko sam razumio iz neke od tvojih poruka ti tek pises
tu neku univerzalnu aplikaciju pa ti malo preprojektovanja mozda nece
ni smetati) :
Polja koja su ista drzis u jednoj (osnovna) bazi uz obavezan identifikator
o kome se radi (osoba ili firma) dali putem neke oznake ili dijela sifre.
Ostatak polja koja se razlikuju drzis u bazi osoba i bazi firmi
indeksiranim po identifikatoru iz osnovne (osnovna indeksirana po nazivu).
Kolone u pregledu ti vraca funkcija ciji je parametar identifikator.
Problem (ili mozda i nije) :
Kada zasebno obradjujes jednu od ovih evidencija vise ne radis sa jednom
nego sa dvije baze. Tu vec koristis rjesenje koje ti je neko vec poslao.
Na prvi pogled, tu je mnogo vise komplikovanja pri upisu, brisanju,
editovanju, kljucanju, transakcijama ... :<, ali vjerovatno vec imas
razne funkcije za ove nabrojane (i ostale nenabrojane) operacije sa kojima
se ovo nece ni osjetiti. :)
P.S.
Ponekad se mnogo vise postize 'solidnom' organizacijom podataka, nego
'genijalnim' programerskim zahvatima.
P.P.S.
Da ovo ne bude samo puko razglabanje, evo i na brzinu sklepanog primjera!
prim_zzk.zipclipper.436bulaja,
│E sad, ono što meni treba jeste da se te dve baze pregledaju u jednom
│tbrowse-u KAO DA SU JEDNA odnosno sortirane po npr. ime1, tako da npr.
│"Aleksić" iz kl_f dođe pre "Alpha Commerce" iz kl_p.
└───
Aaaa :). Pa može i to, naravno opet sa jednim custom skipBlock-om.
Treba ti u stvari jedna standardna skipBlock funkcija, samo preradjena
da umesto dbSkip() radi ovo:
IF xOne->Ime > xTwo->Ime
dbSelectArea ("xTwo")
ELSE
dbSelectArea ("xOne")
ENDIF
dbSkip()
odnosno da skipuje na onaj slog koji je sledeci po logickom redosledu
i da ostavi tu bazu aktivnu (selektovanu). Onda u TBColumnNew() samo
ubaci da ne kupi polje IME (ili kako ti se već zove) preko aliasa, već
direktno iz baze koja je aktivna (i deklariši na početku procedure
FIELD Ime).
Evo su ti ovde kompletne funkcije za preusmeravanje standardnih
TBrowse metoda (nisam ih probao, ali sam pisao iz glave i trebalo bi
da radi:). Uz to što si stavio u TBColumnNew() preusmeri i standardne
TB metode:
TB:skipBlock := { |n| Booth_Skip (n) }
TB:goTopBlock := { | | Booth_Top() }
TB:goBottomBlock := { | | Booth_Bottom() }
U ovim funkcijama sam koristio xOne i xTwo kao aliase za prvu odnosno
drugu bazu podataka, a IME za naziv polja ključnog za pomeranje po
bazi. Naravno, ovo treba zameniti konkretnim aliasima, ili eventualno
proširiti funkcije tako da im se i ta dva aliasa prenose kao parametri
pa dobiti potpuno konfigurabilne funkcije koje se mogu koristiti u
svim slučajevima :). Ako nekome treba nek viče, pa ću i to da ubacim :).
Sledi source:
**** -------------------------------- ****
**** Zamenjuje dbSkip()
FUNC Booth_Skip (nToSkip)
LOCAL nSkipped := 0
LOCAL bSkip := ; // code block koji zamenjuje
{ ; // gorenavedenu IF konstrukciju
|nSkip| ;
IF (xOne->Ime > xTwo->Ime, ;
dbSelectArea("xTwo"), ;
dbSelectArea("xOne")) ;
dbSkip (nSkip) ;
}
IF nToSkip < 0
DO WHILE (nSkipped > nToSkip)
Eval (bSkip, -1)
IF BOF()
dbSkip(1)
EXIT
ENDIF
nSkipped--
ENDDO
ELSE
DO WHILE (nSkipped < nToSkip)
Eval (bSkip, 1)
IF EOF()
dbSkip(-1)
EXIT
ENDIF
nSkipped++
ENDDO
ENDIF
RETURN (nSkipped)
**** -------------------------------- ****
**** Zamenjuje dbGoTop()
FUNC Booth_Top ()
xOne->(dbGoTop())
xTwo->(dbGoTop())
IF xOne->Ime > xTwo->Ime
dbSelectArea("xTwo")
ELSE
dbSelectArea("xOne")
ENDIF
RETURN (NIL)
**** -------------------------------- ****
**** Zamenjuje dbGoBottom()
FUNC Booth_Bottom ()
xOne->(dbGoBottom())
xTwo->(dbGoBottom())
IF xOne->Ime > xTwo->Ime
dbSelectArea("xTwo")
ELSE
dbSelectArea("xOne")
ENDIF
RETURN (NIL)
// Copyright (c) 1994 by Jovan Bulajic
// Placed in the Public Domain on 13.07.94
:)
clipper.437bulaja,
│Prvo: Da li može nekako da se sazna, dal' je neka datoteka već otvorena
│sa fOpen ()?
└───
Može - pokušaj da je otvoriš sa FO_EXCLUSIVE i ako neće, onda znači da
je već otvorena.
│Trece: kako da saznam koliko mesta ima na odredišnom disku pri kopiranju ili
│snimanju? DiskSpace () mi slabo pomaže, jerbo ona javlja koliko ima
│'slobodnih' bajata a ne koliko ima nealociranih, odn. zaista slobodnih.
└───
? DiskSpace() ti javlja ono što zna i DOS, a to je koliko ima slobodnih
klastera * veličina klastera, dakle broj zaista slobodnih bajtova. Prema
tome konstrukcija:
IF DiskSpace ( nTargDisk ) >= FSize ( cSourceFile )
...
jeste 100% sigurna za odredjivanje da li će biti slobodnog mesta.
clipper.438mirche,
> specifičnosti jedne i druge baze, ne mogu da ih strpam u istu
> bazu pa da lupim SET FILTER ili slično. Neka polja su, međutim
> ista (po dimenzijama i tipu, ne
A što ne koristiš parcijalne indexe kako se inače i radi. SET FILTER ćeš
ionako morati da izbaciš čim se dohvatiš rada pod mrežom.
clipper.439dpredovic,
> Takođe me zanima da li neko koristi neke naprednije tehnike pri
> linkovanju BLinker-om ili RTLink-om. Smatrate li dovoljno
> dobrim rešenjem oslanjanje na linkerovu automatiku i da, samim
> tim, neko ručno namestanje/premestanje modula ne donosi bitniju
> razliku po pitanju brzine i komfora izvršavanja?
Pogledaj .map fajl, meni stvarno izgleda da se ne postiže ništa.
Ustvari tako bi i treba da bude jer _Dynamic_ Overlay menadžer baš
to i znači...
Inače muvanje clipper modula nema baš nikakve veze ni sa čim, osim
ako nemaš isključen INCREMENTAL OFF, sve clipper module po memoriji
onda muva clipper, a ne Blinker.
clipper.440dpredovic,
> Ima li, dakle, šanse da se jednom lepo patch-ne neki od onih
> viška nacionalnih .OBJ-ova i da se to lepo sredi jedared za
> svagda?
>
Urađeno. Pregledaj starije poruke, nakačio sam i source.
Inače, ja sam ga već pustio iz beta-faze i (za sada-čuk-čuk)
radi kod korisnika sasvim ok.
clipper.441dpredovic,
> veličina klastera na nekom drajvu. Treba, znači, funkcija
>
> nClusterSize := ClusterSize ( nDrive ) // nDrive = 0, 1, ...
Funcky:
Name: clustsize()
Usage: clustsize(drive) -> nClustSize
Params: string drive - A character string containing the drive letter
to check in the format 'd:'.
Returns:
A long equal to the size of a cluster on the specified drive
or ERROR if an error occurred.
clipper.442dpredovic,
> Da :). Fali ti SixUk.obj (ili SixSwe.obj, SixYu.obj,..).
> Takodje ne znam koliko ce SIx da radi pod RTLink-om, ali
Ili UK6.OBJ ako radiš sa 5.01...
clipper.443dpredovic,
> Zanima me koliko se brée (i da li uopäte) izvrsavaju C funkcije
> od odg. Clipper rutina? Recimo, manipulacije stringovima, fopen
> () i sl., dakle one koje su podréane u oba jezika. Jel' neko
> merio (ne baä ätopericom) ili se nalazio u sliünoj situaciji da
> mora da bira?
Pretpostavljam da rutine za stringove iz MS C7.00 i višeg rade brže
prosto zato što i nisu funkcije nego se uvlače u kod inline.
clipper.444dpredovic,
> Kada se iz Clipper-a izäelujem u DOS ili neku externu
> aplikaciju, pa se potom vratim u program, ostaje mi ukljuüen
> kurzor. Gad ne konstatuje moje napore izraéene kroz SetCursor (
> n ) proteste već uporno ostaje ukljuüen.
Kažeš SET CURSOR ON pre izlaska u dos, ili SET CURSOR ON; SET CURSOR OFF
posle povratka.
clipper.445dpredovic,
> SIXNSX:
>
> rtlink /pll:base52 file %1 library dbfnsx,clipper
>
> Pri RTLINKovanju: error: ert0004: Duplicate stacks
Ovako, napamet... Da nije viška ono lib clipper, to bi već trebalo
da je u pll-u...
clipper.446snemcev,
>> Ali očito je da nije Blinker krivac za VMIF, mada se sa njim mnogo
>> češće javlja.
Iskreno, nikad nisam sumnjao u izjavu tvoraca Blinker-a da nije Blinker
bagovit, već da otkriva skrivene bagove CA-Clipper-a.
clipper.447snemcev,
>> Polja koja su ista drzis u jednoj (osnovna) bazi uz obavezan
>> identifikator o kome se radi (osoba ili firma) dali putem neke oznake
>> ili dijela sifre. Ostatak polja koja se razlikuju drzis u bazi osoba
>> i bazi firmi indeksiranim po identifikatoru iz osnovne (osnovna
>> indeksirana po nazivu).
A zašto ne strpati sve u jednu bazu? Biće malo šupljikavo, ali Bože moj,
čini mi se da se time više dobija nego što se gubi.
clipper.448snemcev,
>> // Copyright (c) 1994 by Jovan Bulajic
>> // Placed in the Public Domain on 13.07.94
Svaka čast! Ubedi me u 30 linija sorsa da počnem da redefinišem kodne
blokove kod TBrowse-a.
clipper.449nbatocanin,
> Imamo daklem ograničenje od 4096 linija.
A ako svaki element niza bude pasus?
clipper.450zzk.,
> A zašto ne strpati sve u jednu bazu? Biće malo šupljikavo, ali Bože moj,
> čini mi se da se time više dobija nego što se gubi.
Mnogo jednostavnije, s tim da bi se u tom slucaju moglo prebaciti za
rasipanje prostora na disku.
P.S.
Prisjetih se koliko renomirani svjetski proizvodjaci softvera 'stede'
hardver (memorija, disk). :< MA, TRPAJ SVE SKUPA!
clipper.451bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
blup301 zip 361239 Blinker v3.01: update sa verzije 3.0
Update je poslao stosic, zahvaljujemo :).
clipper.452ikordic,
RE: Code overhead
Neko je ovde rekao da se u finalni program neće ulinkovati priličan deo
dodatnog koda ako se u programu ne koristi neki od anahronizama Clipper-a (&
makroi, PRIVATE i PUBLIC promenljive itd.). U svaki program se, međutim
ubacuje onaj PUBLIC GetList iako ga ja u svim svojim aplikacijama ni jednom ne
koristim. Može li se on "maknuti" odatle?
clipper.453ikordic,
RE: MemoEdit
=> Treba videti CLText i još neke. Trenutno pokušavam da uradim neki
=> alternativni način u čistom Clipper-u.
Uprkos tvom puritanskom stavu po pitanju (ne)korišćenja ne-Clipper dodataka,
ovaj zadatak se čini kao tvrd orah. Glavna prepreka, koju većina ljudi ne
primećuje, jeste da je MemoEdit i slične stvarčice koncipiran kao editor, dok
je u ovom slučaju potreban klasičan tekst-procesor koji radi sa pasusima
teksta, isti automatski preformatira, ev. uravnava itd. Ako koristiš postojeće
mehanizme za tako nešto, nailaziš na velike prepreke - počnimo od pomeranja
kurzora: Clipper-ov MemoEdit ti neće izvršiti wrap kurzora na kraj reda pri
K_LEFT i K_BS ako ti se kurzor nalazi u prvoj koloni - potrebna je gomila
manipulacija sa SetKey i manuelnim pomeranjem kurzora da bi tako nešto
postigao.
Zatim, dolazimo do vrlo bitnog dela kada se radi o obradi teksta - neki
elemantarni WYSIWYG mora postojati. Ovo, naravno, ne znači da sad treba da
pravimo neku Windows-like manipulaciju fontovima, ali npr. bold, podvučeno,
kurziv, itd. se moraju drugačije tretirati. Obavezno je, zatim, omogućiti
korisniku da na istoj strani koristi npr. Courier 10 i par redova ispod
Courier 17 - pošto nam sada staje 100-ak znakova u red, umesto dosadašnjih
60-ak, tekst treba da skroluje levo-desno - kako ovo rešiti u MemoEdit-u?
Ti si donekle rešio ovaj problem svojim tekst formaterom objavljenim u
"Računarima", ali samo donekle. Glavni problem ostaje korisnički interfejs.
Pretpostavljam da i sam shvataš da korisnik ne razmišlja (?) isto kao i
programer i da ono što se tebi čini logičnim i lako razumljivim, njemu izgleda
do zla boga komplikovano i nerazumljivo. Terati čoveka da piše neko pismo ili
ugovor korišćenjem gomile naredbi i da rezultat vidi tek kod štampe je pomalo
deplace za '90.
Elem, ako ti baš nije problem, podeli sa nama neke pre-production nacrte novog
projekta - možda ti neko bude od pomoći.
clipper.454ikordic,
=> Može, veoma jednostavno. Potrebno je izmeniti skipBlock tako da
=> "sledeći" i "prethodni" slog traži preko funkcije koja paralelno
=> pomera pokazivače u obe datoteke i to tako što prvo vidi u kojoj je
U svakom slučaju, bio bih zahvalan za malo (pseudo-)koda uz ovo.
clipper.455ikordic,
=> Ma puca i sixnsx, a ko gresi mozda necemo ni saznati ako objave VO :)
^^^^^
Optimista :). Dajem glavu da tek sa VisualObjects počinju PRAVA sranja. VMIF i
STACK FAULT će biti kid's stuff za njega ... u just wait .and. C
clipper.456ikordic,
RE: SetCursor ()
=> Kažeš SET CURSOR ON pre izlaska u dos, ili SET CURSOR ON; SET CURSOR
=> OFF posle povratka.
Kurzor se sam upali kada izađe u DOS. Po povratku se NE MOčE isključiti NITI
promeniti funkcijom SetCursor (). SET CURSOR ON | OFF se pretprocesiraju u
SetCursor ( 1 ) i SetCursor ( 0 ), respektivno. Jedini način za gašenje
kurzora jeste poziv SetMode funkcije sa trenutnim video modom.
A ovo što si ti napisao kod tebe radi ili samo nagađaš?
clipper.457ikordic,
RE: Frankie "patch"
=> Nije to, f_tour mi se blokira i pisti ( vristi ? )
Uf, da malo sam zbrzao stvar. Uz poruku ide version.obj koga strpate u
frankie.lib sa:
tlib frankie.lib -+ version
Ovaj .obj sam iščupao iz svog .lib-a i garant radi.
version.objclipper.458ikordic,
=> rjesenje pri kojemu ce ti baze ostati kakve jesu biti problematicno
=> i vjerovatno sporo.
Brzina za konkretnu namenu i nije preterano bitna. Sad, ne mora baš da se vuče
k'o puž, ali ...
=> izmjenu sorsa, ali koliko sam razumio iz neke od tvojih poruka ti tek
=> pises tu neku univerzalnu aplikaciju pa ti malo preprojektovanja
Eh, da je tako vse bi bilo lepo ...
=> Polja koja su ista drzis u jednoj (osnovna) bazi uz obavezan
=> identifikator o kome se radi (osoba ili firma) dali putem neke oznake
Umpf, malo previše komplikovano za relativno prost problem. U svakom slučaju
hvala na pomoći i primeru - možda posluži za neku drugu priliku.
clipper.459ikordic,
RE: Zamena za APPEND FROM
Puno fala uvaženi kolega :), to je to. Nešto slično (ali samo slično :) ) sam
već imao u glavi, ali sam smatrao da bi to trebalo rešiti nekim indeksnim
zezalicama u kombinaciji sa mlogo prostijom varijantom skipblock-ova. Ovo je
definitivno poslednja kap (bajt?) koja je prevršila čašu (disk?) - od sada pa
nadalje i ubuduće koristim kodne blokove i gde treba i gde ne treba.
Prednost ovog rešenja je jednostavnost i univerzalnost implementacije. Falinka
je da nije univerzalna (radi samo za TBrowse) - bio bi fazon da može da radi i
za List, Seek/Locate i sl. Doradiću ovo čim nadjem vremena.
žim budem imao vremena, sešću da ovo isprobam i eventualno doradim, pa
javljamo ustiske.
P.S.: Zašto funckije imaju prefiks 'Booth_'?
clipper.460ikordic,
=> Funcky:
=>
=> Name: clustsize()
=> Usage: clustsize(drive) -> nClustSize
Funcky, na žalost, nemam, ali sam u međuvremenu našao nešto slično: isto radi
i DOS funkcija 1Ch, u DL ide broj drajva, vraća sledeće:
AL sektora po klasteru
CH bajtova po sektoru
DX ukupan broj klastera na disku
Ostalo je boza (ljimunad?). U svakom slučaju, hvala.
clipper.461bulaja,
│P.S.: Zašto funckije imaju prefiks 'Booth_'?
└───
Whoops, u žaru kucanja sam ubacio jedno o viška - trebalo je da stoji
Both odnosno obe (baze zajedno), mrzelo me da smišljam neko drugo ime
:). Ipak, naknadno sam malo analizirao onaj kod napisan u jednom dahu
i naravno there is allways another bug O:) - treba dodati i obradu
graničnih slučajeva (kada se dodje do početka ili kraja neke od baza).
Uradiću to nešto kasnije pa ću poslati ispravljeni source. :)
clipper.462bulaja,
│U svaki program se, međutim ubacuje onaj PUBLIC GetList iako ga ja u
│svim svojim aplikacijama ni jednom ne koristim.
└───
Ne koristiš? Ako imaš bar jedan GET u programu, onda ga i te kako
koristiš, sem ako nisi napravio kompletnu zamenu za GetSys.
clipper.463snemcev,
>> Ne koristiš? Ako imaš bar jedan GET u programu, onda ga i te kako
>> koristiš, sem ako nisi napravio kompletnu zamenu za GetSys.
I onda ne mora da koristi public GetList, već može na početku rutine u
kojoj mu treba get da ubaci jedno local GetList := {} i onda se taj
koristi, ne?
clipper.464cnenad,
Vremenom programi rađeni u kliperu rastu ko kvasac :(( pa se dolazi do
situacije da je nemoguće startovati program u 'pročišćivalu' :)
Kako ste vi rešili taj problem ?
Blinker 3.01, XMS, EMS, 634 Kb donje i 120 gornje memorije slobodno i
nikakvi specijalni prekidači (znači uglavnom DEFAULT parametri CLIPPER-a i
BLINKER-a), samo je uključeno inkrementalno linkovanje.
clipper.465d.petrovic,
Neeeee, ne piše ovo leonardo :). Možda je ovde poznatiji
d.petrovic :))
Daaaavno sam vas pitao kako se generiše i proverava kontrolni
broj po modulu 11 i dobio sam samo nepotpune odgovore. Zašto mi niko
nije rekao da postoji stotinbak modela modula 11 ? ;(((( Da nekog
drugog ne boli glava zbog iste stvari evo tri funkcije i kratak izvod
iz neke knjižice:
---------------------------------------------------------------------
ž) kad korisnik društvenih sredstava i drugo pravno lice
primenjuje osnovne modele sa kontrolnim brojem, označene brojevima
21 do 31, za upisivanje podataka u "Poziv na broj", kontrolni broj
izra!unava po modulu 11 SUB.
Kontrolni broj po modulu 11 SUB računa se tako što se
pojedinačne cifre broja, za koji se računa kontrolni broj, množe s
leva u desno ponderima 7, 6, 5, 4, 3, 2, 7, 6... ciklično. Zbir svih
proizvoda deli se brojem 11, a ostatak deljenja oduzima se od broja
11 i dobijeni rezultat upisuje se kao kontrolni broj(K).
Kada je rezultat 10, kontrolni broj je nula, odnosno kada je
rezultat 11, kontrolni broj je jedan.
---------------------------------------------------------------------
Mrzelo me je da čitam sve ovakve gluposti, tek..., ova glupost
odozgo je za matični broj građana, a evo i dve funkcije za koje
neznam, baš po kom su modelu jer ih koristim od ranije.
BTW. Koja knjižurina kompletno opisuje sve ovo? Da ne bude kao u
ovom priručniku koji imam... "... tački (bla), u odredbi pod (truć),
odredba pod (ghkm), stav (trt). reči ---- se zamenjuju rečima ++++.
modul11.zipclipper.466cnenad,
Da li ste primetili da uvek postoji jedan GETLIST kao PUBLIC promenljiva i da
se ne može ukloniti ?
clipper.467neman,
Pre par dana imao sam problem sa SIXNSX-om i Netware Lite mrezom. Kada sam
pokusao da stampam teskt preko datoteke kojaje vec postojala i bila iz nekog
razloga obelezena sa ReadOnly, pokvarena je jedna od NSX datoteka, tj. tekst
je stampan u indeks datoteku !
clipper.468dvesic,
>> Da li ste primetili da uvek postoji jedan GETLIST kao PUBLIC
>> promenljiva i da se ne moze ukloniti ?
Ih, ne moze ! :)
Samo dodaj recimo ovo na :
FAJL1.PRG :
===========
Announce StartCode
Init Proc OcistiGetList
Release GetList
Return
i u tvom fajlu sa Main procedurom jedno :
Request StartCode
na samom pocetku fajla, i nema vise GetList-a ! :)
Naravno, jos je jednostavnije jedno
RELEASE GETLIST
kao prva linija Main procedure, al' ja volim da komplikujem :)
clipper.469dpredovic,
> => Kažeš SET CURSOR ON pre izlaska u dos, ili SET CURSOR ON;
> SET CURSOR => OFF posle povratka.
> A ovo što si ti napisao kod tebe radi ili samo nagađaš?
Radi, majke mi... ;) Fazon je, čini mi se, u tome što clipper
vodi neku svoju evidenciju stanja kursora, nezavisno od stvarnog
stanja. Pošto DOS upali kursor, a clipper o tome pojma nema, treba
stanje da izravna sa CURSOR ON (pre ili posle, na isto mu izađe), a
tek posle da se ugasi...
clipper.470dpredovic,
Negde daaaavno poslao sam neke obj fajlove za transakcije
i rollback. Evo ga sada i source, pa probajte...
trans.zipclipper.471bpekic,
Da li neko radi sa FLIPPER grafickim funkcijama i ako radi da li ima i editor
fontova FE.EXE, veoma mi je potreban.
Vole bih i da razmenim iskustva u vezi FLIPPER-a.
clipper.472nbatocanin,
> Uprkos tvom puritanskom stavu po pitanju (ne)korišćenja
> ne-Clipper dodataka, ovaj zadatak se čini kao tvrd orah.
Što se tiče puritanskog stava, ne razumite me pogrešno: daleko od
toga da sam protiv korišćenja tuđih rezultata (biblioteka i sl.).
Uostalom, da sam protiv toga ne bih ni koristio Clipper ;) Naravno,
složićete se da je daleko bolje imati svoju funkciju za kreiranje
novog direktorijuma, nego koristiti neku biblioteku sa milion
nepotrebnih stvari.
Jednostavno treba imati u vidu probleme oko nabavke nove verzije neke
komercijalne biblioteke u slučaju nove verzije Clipper-a. Ja sam se
tako nasankao sa Nantucket Tools i od tada strogo pazim šta stavljam
u program. Inače koristim i ja neke biblioteke (dGE, SilverClip).
Izrada dobre alternative za MemoEdit jeste relativno tvrd orah, to mi
je jasno. Imam dosta iskustava na izradi raznih specijalnih editora,
pa mi je ovo poznato i iz prakse.
> kurzora: Clipper-ov MemoEdit ti neće izvršiti wrap kurzora
> na kraj reda pri K_LEFT i K_BS ako ti se kurzor nalazi u
> prvoj koloni - potrebna je gomila manipulacija sa SetKey i
> manuelnim pomeranjem kurzora da bi tako nešto postigao.
Ovo mi se i ne čini kao preveliki problem: čak i WP ne formatira
tekst baš za vreme ukucavanja. žini mi se da ne bi bio preveliki
problem objasniti korisniku da se pasusi preformatiraju prilikom
pripreme za štampu.
> Zatim, dolazimo do vrlo bitnog dela kada se radi o obradi
> teksta - neki elemantarni WYSIWYG mora postojati. Ovo,
> naravno, ne znači da sad treba da pravimo neku
> Windows-like manipulaciju fontovima, ali npr. bold,
> podvučeno, kurziv, itd. se moraju drugačije tretirati.
Da, ovo sam planirao.
> Obavezno je, zatim, omogućiti korisniku da na istoj strani
> koristi npr. Courier 10 i par redova ispod Courier 17 -
> pošto nam sada staje 100-ak znakova u red, umesto
> dosadašnjih 60-ak, tekst treba da skroluje levo-desno -
> kako ovo rešiti u MemoEdit-u?
Moje rešenje se ne bi ni oslanjalo na MemoEdit, nego bi bilo potpuno
samostalno rešenje. Za slova različite veličine bih imao tabelu
širina i na osnovu nje bih formatirao redove. Kad se već konsultuje
tabela moglo bi se obezbediti i pisanje proporcionalnim fontovima?
> Ti si donekle rešio ovaj problem svojim tekst formaterom
> objavljenim u "Računarima", ali samo donekle.
(Na žalost), taj formater rešava samo formatiranje teksta, a ne i
unos. Unos sam malo poboljšao, ali sam svestan da je to daleko od
blizu savršenstva.
> Elem, ako ti baš nije problem, podeli sa nama neke
> pre-production nacrte novog projekta - možda ti neko bude
> od pomoći.
Hoću, vrlo rado. Međutim, ovaj projekat ima kod mene nizak prioritet,
pa trenutno nemam ništa napismeno - sve je još uvek kod mene u glavi.
Znači, biće kad bude :)
clipper.473nbatocanin,
> => Može, veoma jednostavno. Potrebno je izmeniti skipBlock
> tako da => "sledeći" i "prethodni" slog traži preko
> funkcije koja paralelno => pomera pokazivače u obe
> datoteke i to tako što prvo vidi u kojoj je
>
> U svakom slučaju, bio bih zahvalan za malo (pseudo-)koda
> uz ovo.
Imao sam na umu tačno ono što je Bulaja napisao.
clipper.474nbatocanin,
> Blinker 3.01, XMS, EMS, 634 Kb donje i 120 gornje memorije
> slobodno i nikakvi specijalni prekidači (znači uglavnom
> DEFAULT parametri CLIPPER-a i BLINKER-a), samo je
> uključeno inkrementalno linkovanje.
Najjednostavnije rešenje je da isključiš inkrementalno linkovanje.
Ako imaš VGA probaj i VIDRAM.
clipper.475cnenad,
ŁŁŁ Najjednostavnije rešenje je da isključiš inkrementalno linkovanje.
Ali šta ako je programu potrebno 800 Kb memorije, plus CLD ? :((
Sa manjim ciframa sam nekako i izlazio na kraj, recimo LH CLD PROGRAM pa deo
ode u gornju a deo u donju memoriju ali može da radi.
clipper.476ikordic,
RE: MemoEdit
=> > Imamo daklem ograničenje od 4096 linija.
=> A ako svaki element niza bude pasus?
BOOM - prava stvar!!!
Ovo pitanje implicira da svoj supertajni :) TurboEdit ne koncipiraš na
ruševinama MemoEdit-a, nego će to izgleda biti nešto potpuno novo (kao onaj
LIST.PRG).
Ostaje samo problem obrade svega toga u Clipper-u. Pritom ne mislim da je taj
zadatak posebno težak, radi se prvenstveno o brzini kojom bi se takav program
izvršavao. Ne znam da li si pokretao svoj LIST.PRG na nekoj 286-ici, ali ti
mogu reći da je dosta spor, osvežavanje ekrana je prilično "stepenasto", ispis
se "cima" gore-dole bri bržem kretanju po tekstu - a još nismo stigli ni do
obrade teksta! Ovo kritika, naravno, nije upućena tebi, nego Clipper-ovoj
"brzini".
Elem, željno iščekujem(o) prvi pressrelease po pitanju TurboEdit-a :) ...
clipper.477ikordic,
RE: Clipper vs. C
=> Pretpostavljam da rutine za stringove iz MS C7.00 i višeg rade brže
=> prosto zato što i nisu funkcije nego se uvlače u kod inline.
Pitanje sam postavio zato što, koliko sam shvatio, Clipper interpretira p-kod
za vreme izvrsavanja a C(++), normalno, ne (ovo se, takođe, odnosi i na
asembler). Kako sad to fercera - malo runtime interpretiranje, malo
izvršavanje?
A i nevezano za ovo, zanimljivo je znati šta je brže. Zna li, daklem, neko?
Još nešto u vezi sa MSC-om: zašto je za verzije >= 6.0 potreban LLIBCA.LIB iz
MSC 5.1? Jel' ovi nemaju podršku za alternate math ili je drugačije
koncipirana? Kako se više verzije (> 6.0) podnose sa Clipper-om?
I na kraju, večito pitanje: BC i Clipper. Pre nego svi dignete frku u stilu
"Aman čoveče, pročitaj prošle poruke - lepo piše da ne može!" obavezan sam da
kažem da ja JESAM pročitao sve stare poruke. I u najmanje dve poruke (za te
sam siguran, možda ih ima i više) se eksplicitno navodi da je rad sa BC sasvim
moguć i u praksi primenljiv. Daklem, molim odgovor od onih koji KORISTE
Borland-ov C - kakva su iskustva i ima li nekih saveta, uglavnom po pitanju
linker-a.
Smatram da je vrlo bitno insistirati na ovom pitanju, jer je Borland-ov C(++)
de facto standardna alatka za razvoj (ozbiljnijih? ;)) DOS i Windows
aplikacija i imam želju da se jednog dana na nj prebacim. Nisam blesav da svo
dosadašnje iskustvo (doduše ne preterano obimno) sa TC-om zaboravim, da bih,
kada batalim Clipper (samim tim i MSC), ponovo počinjao ispočetka.
clipper.478ikordic,
RE: File I/O
=> │ Prvo: Da li može nekako da se sazna, dal' je neka datoteka već
=> │ otvorena sa fOpen ()?
=> └───
=> Može - pokušaj da je otvoriš sa FO_EXCLUSIVE i ako neće, onda znači
=> da je već otvorena.
Bitan mi je onaj drugi deo pitanja (ovo sam i sam provalio). Daklem, ne treba
mi funkcija:
lIsOpen := xFunc ( nHandle ) // što radi tvoj predlog
nego:
cFileName := xFunc ( nHandle )
dakle na osnovu handle-a, da mi vrati path datoteke. I da naglasim: problem ne
mogu rešiti nekim preusmeravanjem na neku svoju funkciju - poželjna je,
daklem, neka DOS akrobacija.
=> ? DiskSpace() ti javlja ono što zna i DOS, a to je koliko ima
=> slobodnih klastera * veličina klastera, dakle broj zaista slobodnih
=> bajtova. Prema tome konstrukcija:
=> jeste 100% sigurna za odredjivanje da li će biti slobodnog mesta.
Right on, Commander! Taman sam se spremao da ti "otpozdravim" na poruku, kada
primetih sitnu greškicu u programu koji je testirao opisani problem.
clipper.479ikordic,
RE: Novi CA produkti
=> Evo ga mr Luiz Quintela objasnjava muvanje, kopiranje i ostale
=> zezancije sa Tbrowse-ovima. Inace tip je zesca zverka u CA.
Fajl readme iz browsrdd.zip paketa se završava tako što pomenuti mister
Quintela navodi na kojim projektima sve radi. Među njima su i:
=> CA-C++
Jel' čuo neko za ovo?
=> CA-Visual Objects for Clipper
Prvi put čujem da se ovako zove. Naime, naslov implicira da se ne radi o
samostalnom paketu već o nekom dodatku za Clipper - o čem se daklem ovde radi?
clipper.480mdrazic,
Jeste l' čuli deco... novi software a zove se Comix 3.0 RDD
za Clipper. Hvali se (u reklami) kao: najbrži, najmanji,
kompatibilan sa FoxPro (CDX/FPT). I nekoliko gurua za
Clipper ga je uzgred pominjalo kao odličnog RDD. Cena je
129$ sam ili 179$ sa ClipMore (ad-hoc queries, reports and
TBrowses). Postoji i neki benchmark (ali bez SIX 2.0!):
(na 386 40MHz, 105MB IDE disk, 5000 records)
DBFNTX SIXNSX 1.5 SIXCDX 1.5 COMIX 2.0
Index creation 58.44 32.46 42.45 34.66
Skip forward 12.80 9.00 13.18 7.96
Skip backward 19.27 14.72 60.48 7.31
Seek 19.84 9.24 16.93 7.30
Append:
1000 rec. 254.31 15.21 124.57 15.54
keyNo() n/a 90.95 818.66 2.41
(kažu nije štamparska greška)
Load Size (w/RTLINK) 228K 261K 279K 233K
Ima mogućnosti slične SIX-u, ali bez kriptovanja, trigera, kompresije.
A čime se (opet u reklami) hvali SIX 2.0 RDD ?
(na 486, 8MB RAM, Netware 3.11)
DBFNTX CMX/FLEX SIX 2.0 (NSX)
index manipulation:
Index size 330K 58K 38K
Indexing time 17.2 6.2 5.5
5000 seeks 28.2 29.7 26.9
5000 skips 32.3 33.4 31.4
2500 appends 45.8 49.5 40.9
array storage in memos:
1000 appends n/a 65.1 2.5
1000 replaces n/a 41.2 2.7
1000 retrieves n/a 26.2 3.6
Ako neko čita iz inostranstva i poseduje nešto od ovoga, rado bih
lično testirao :))))
P.S. Ipak, za mreže je pravo rešenje nešto poput ADVANTAGE
client/server RDD-a u Clipperu, odnosno NLM na Novell-u.
Bez izmene programa radi client/server na (istoj) mreži.
U prevodu (seek itd. se odvija na serveru - brzina, a
resetovanje stanice uzrokuje samo da zahtev za transakciju
nije kompletiran pa se ignoriše - sigurnost, potreban je
samo UPS na serveru za garantovan integritet podataka).
Pozdrav od Milana
clipper.481arazumenic,
-> Ali šta ako je programu potrebno 800 Kb memorije, plus CLD ? :((
Ovoliko memorije ti treba za startovanje programa, ili je to dužina .EXE
fajla?
Ako je prvi slučaj, onda ti ne valja .lnk fajl. Pošalji da ga vidimo.
Najviše memorije potrebne za startovanje, koju sam ikada dobio je 520k
prilikom isprobavanja raznih kombinacija u .LNK fajlu.
Ako je drugi slučaj, onda nema nikakvih problema, radiće. Kad sam već
naveo gornji rezultat, onda evo i ovo: .EXE fajl od 1,3 Mb radi sasvim O.K.
Saša
clipper.482dr.grba,
>> BTW. Koja knjižurina kompletno opisuje sve ovo? Da ne bude kao u
>> ovom priručniku koji imam... "... tački (bla), u odredbi pod (truć),
>> odredba pod (ghkm), stav (trt). reči ---- se zamenjuju rečima ++++.
E baš je tako, svugde )))): Kad nađeš nnašto čitljivo, obavesti nas.
Mnogi će ti biti zahvalni.
clipper.483bulaja,
│Jeste l' čuli deco... novi software a zove se Comix 3.0 RDD za Clipper.
└───
žuo sam nešto o tome :), a evo ga i jedan tekst (u Word 4 Win formatu)
koji objašnjava neke stvari vezane za SIxCDX i COMIX. Tekst je star
godinu dana i odnosi se na stare verzije RDD-ova, ali možda se nadje
unutra nešto korisno (ja još nisam pročitao:). Ovde prenosim uvodni deo
teksta, a ceo tekst se nalazi u datoteci prikačenoj uz poruku.
DBFSIX vs. COMIX
A Tale of Two RDDs
by Steve Larsen
Originally appeared in the Denver Clipper Users Group Newsletter, June 1993
With the release of Clipper 5.0, Computer Associates introduced the
concept of the Replaceable Database Driver, or "RDD". Simply put, RDDs
are alternative database engines that let you access different data
structures such as Paradox files, Foxbase compatible .dbfs and others.
All you have to do is link the RDD into your application and go, with
few if any modifications to your code. The underlying premise is that
for the most part you can access all alternative databases via normal
Clipper commands, for example
USE MyFile
INDEX ON Lastname TO Last
SET INDEX TO Last
Depending on the RDD in use, MyFile might be a dBase .DBF, a Paradox
.PDX, a Lotus .WKS, a Btrieve .BTR, etc. If there is an RDD to support
it, you can use it just like you use normal .DBFs. At present there are
RDDs for Clipper 5.0 and 5.2 to support .DBF, .PDX, and .BTR file
formats among others. But that isn't all. RDDs don't just have to
provide support for file formats, they can still support .DBFs, but
provide additional or enhanced capabilities from the default DBFNTX
driver. That is what the two RDDs do that this paper looks at. Both
RDDs reviewed here support the traditional .DBF file format, however
they provide improved indexing capabiltities for faster performance,
smaller index file size, better sorting and filtering capability and a
couple of other features that soon become hard to live without.
The impact to you may or may not be important, depending on your needs.
Most of you are probably using the default DBFNTX driver that works with
.DBF files but creates .NTX indexes. If you write a Clipper program
that must share data with dBase III, you might wish to use the DBFNDX
driver, which uses the dBase compatible .NDX index file structures. New
with Clipper 5.2 is the DBFMDX driver for dBase IV compatiblity, the
DBFCDX driver for FoxPro compatibility, and the DBPX driver for Paradox
files.
For those of you who might need a bit more than the canned drivers
deliver, there are two third party RDDs available which support .DBF
file structures: DBFSIX from SuccessWare, Inc. and COMIX from
LoadStone. Both offer similar capabilities however approach the problem
from different angles, and both work with Clipper 5.01 and 5.2.
DBFSIX was developed by the same people (SuccessWare) who developed the
DBFCDX driver that comes with Clipper 5.2, and whose main claim to fame
is their support for FoxPro style index file structures (.CDX and
.IDXs). FoxPro indexes are considerably faster and smaller than the
Clipper standard .NTX files, so you gain not only performance and
diskspace conservation, but you may also share files with a dot prompt
utility, an especially handy tool for your arsenal of data weaponry.
DBFSIX is a mature and feature-rich product, with functions for index
scoping, sub-indexing and on-the-fly data encryption, making a good
choice for someone looking for an all around database engine.
COMIX utilizes a proprietary index structure that is imcompatible with
any other commercial product, however in the process gains an additional
speed advantage over DBFSIX. COMIX is not a feature rich as DBFSIX,
however has chosen to narrow its focus on a specific set of functions
that, in the hands of a skilled programmer, deliver far more power and
performance than its competitor.
...
sixvscmx.zipclipper.484cnenad,
ŁŁŁ Ovoliko memorije ti treba za startovanje programa, ili je to dužina .EXE
ŁŁŁ fajla?
Još nisam dogurao sa EXE fajlom od 800 kb ali imam jedan od 680 Kb :(( i
on neće da radi odnosno ne mogu da startujem dibager.
ŁŁŁ Ako je prvi slučaj, onda ti ne valja .lnk fajl. Pošalji da ga vidimo.
U njemu nema ništa posebno. Ali evo skraćene verzije
BLINKER EXECUTABLE SERIAL 'BIT-MAP'
BLINKER INCREMENTAL ON
BLINKER INCREMENTAL PAD 500
BLINKER HOST MESSAGE ON
file AS
file ...
...
@sixcdx.lnk
LIB clipper
LIB extend
LIB bumenu
clipper.485nbatocanin,
> Ostaje samo problem obrade svega toga u Clipper-u. Pritom
> ne mislim da je taj zadatak posebno težak, radi se
> prvenstveno o brzini kojom bi se takav program izvršavao.
> Ne znam da li si pokretao svoj LIST.PRG na nekoj 286-ici,
> ali ti mogu reći da je dosta spor, osvežavanje ekrana je
> prilično "stepenasto", ispis se "cima" gore-dole bri bržem
> kretanju po tekstu - a još nismo stigli ni do obrade
> teksta! Ovo kritika, naravno, nije upućena tebi, nego
> Clipper-ovoj "brzini".
Koristim (doduše dosta modifikovani) list u programima na 286
računarima i prilično sam zadovoljan brzinom. Trudio sam se da to
rešenje bude "čisto" i brzina izvršavanja je bila u drugom planu.
Moglo bi se dobiti na brzini, ali ne previše, ali bi se izgubila
sadašnja čista struktura. Naravno, kod alternative za obradu teksta
bi pojedini delovi morali biti pisani na asembleru ili C-u;
prvenstveno zbog analize stringova i ispisivanja šarenog teksta na
ekran.
> Elem, željno iščekujem(o) prvi pressrelease po pitanju
> TurboEdit-a :) ...
Eh, kao što rekoh to će morati da sačeka :( Propao projekat gde je to
zatrebalo, pa se obustavlja do prve prilike. Nego, sve mi se čini da
neću ni morati da radim taj procesor: jeste li videli CLText?
clipper.486nbatocanin,
> Ali šta ako je programu potrebno 800 Kb memorije, plus CLD
> ? :((
??? Mora da si nešto grdno veliko natrpao u root: ja imam program od
oko 1.1MB EXE, a izvršava se u 500K sasvim pristojnom brzinom.
clipper.487dobrada,
> SetCursor ()
Jedno od mogucih resenje je i sledece:
Pre izlaska u DOS:
nOldCurs = SetCursor() // Sacuvati oblik kursora
nCol = Col() // Eventualno i koordinate
nRow = Row()
cOldScreen = SaveScreen( 0, 0, MaxRow(), MaxCol() ) // Sacuvati ekran
Izaci u DOS
Po povratku vratiti stare parametre:
RestScreen( 0, 0, MaxRow(), MaxCol(), cOldScreen )
SetPos( nRow, nCol )
SetCursor( nOldCursor )
Moze se i napraviti funkcija koja sve ovo stavlja na stek (niz),
a posle povrati sa steka.
clipper.488dpredovic,
> Pitanje sam postavio zato što, koliko sam shvatio, Clipper
> interpretira p-kod za vreme izvrsavanja a C(++), normalno, ne
> (ovo se, takođe, odnosi i na asembler). Kako sad to fercera -
> malo runtime interpretiranje, malo izvršavanje?
Interpretira se clipperov kod u low-level kod, a sav low-level je
(narafski) C ili asm.
> Još nešto u vezi sa MSC-om: zašto je za verzije >= 6.0 potreban
> LLIBCA.LIB iz MSC 5.1? Jel' ovi nemaju podršku za alternate
> math ili je drugačije koncipirana? Kako se više verzije (> 6.0)
> podnose sa Clipper-om?
Nikada mi nije zatrebao LLIBCA, ali verovatno je fazon da neke
funkcije mogu da promene ime u raznim verzijama...
> Smatram da je vrlo bitno insistirati na ovom pitanju, jer je
> Borland-ov C(++) de facto standardna alatka za razvoj
Khmm... Tryin to start a holly war or just kiddin? ;))
clipper.489cnenad,
ŁŁŁ ??? Mora da si nešto grdno veliko natrpao u root: ja imam program od
ŁŁŁ oko 1.1MB EXE, a izvršava se u 500K sasvim pristojnom brzinom.
Ne znam da li si obratio pažnju na primer LNK fajla koji sam poslao ali si
u pravu. Sve ide u ROOT.
Znači sve nepotrebno da ide u OVERLAY-e i onda neće biti problema ?
Samo još jedno pitanjce onda: zar se kad ide BEGINAREA pa spisak fajlova pa
ENDAREA pravi još jedan OVL fajl pored EXE-a ? Ako jeste tako da li se to
može izbeći, da znači sve bude u jednom EXE fajlu. Nisam siguran ali mi se
čini da ako se koristi BEGINAREA/ENDAREA nije moguće napraviti EXE sa
BLINKER EXECUTABLE DUAL opcijom ili tako nešto.
Smatram da je ovo izuzetno korisna osobina BLINKER-a i da je ne treba
tek tako ispuštati i ne koristiti je.
clipper.490arazumenic,
-> Još nisam dogurao sa EXE fajlom od 800 kb ali imam jedan od 680 Kb :(( i
-> on neće da radi odnosno ne mogu da startujem dibager.
Pa šta ti je onda 800k ?
Izvinjavam se što odgovaram u samom citatu, ali me mrzi da prepisujem.
-> BLINKER EXECUTABLE SERIAL 'BIT-MAP'
-> BLINKER INCREMENTAL ON <--- ovo je default. Izbaci
-> BLINKER INCREMENTAL PAD 500 <--- OVO PRAVI PROBLEM. Stavi 60 ili izbaci
-> BLINKER HOST MESSAGE ON
-> file AS
<-------------------------- dodaj BEGINAREA
-> file ...
-> ...
<-------------------------- dodaj ENDAREA
-> čsixcdx.lnk
-> LIB clipper <----------------- ovo možeš da izbaciš
-> LIB extend <----------------- ovo možeš da izbaciš
-> LIB bumenu
Saša
clipper.491snemcev,
>> LIB clipper
Za početak, umesto ovog stavi @Clp52min.lnk
clipper.492bulaja,
Još ne smem da tvrdim, ali izgleda da nemam više problema sa VMIF! :)
Programi koji su raznije redovno pucali nekoliko puta dnevno, već tri
dana rade bez ikakvih problema i bez ikakvog pucanja! Jedina izmena u
programu bilo je korišćenje updateovanog Blinker-a 3.01 i linkovanje
njegovih biblioteka u root (nema veze što ništa od njih ne koristim:)
odnosno ubacivanje ovoga u lnk file:
Lib BlxRateX
Search BlxClp52
Naravno još se ne može sa sigurnošću tvrditi da će ovim svi problemi
biti rešeni, ali bar u mom slučaju ima indicija da je ipak tako :).
clipper.493dr.grba,
>> P.S. Ipak, za mreže je pravo rešenje nešto poput ADVANTAGE
>> client/server RDD-a u Clipperu, odnosno NLM na Novell-u.
>> Bez izmene programa radi client/server na (istoj) mreži.
>> U prevodu (seek itd. se odvija na serveru - brzina, a
>> resetovanje stanice uzrokuje samo da zahtev za transakciju
>> nije kompletiran pa se ignoriše - sigurnost, potreban je
>> samo UPS na serveru za garantovan integritet podataka).
Vrlo, vrlo zanimljivo. Rad bih bio čuti još podataka o ovome. O probanju da
ne govorim (((:
clipper.494dr.grba,
>> -> čsixcdx.lnk
>> -> LIB clipper <----------------- ovo možeš da izbaciš
Bolje da ne izbacuje. Preporuka je da kad se koristi SIXCDX ili SIXNSX, da se
lib CLIPPER eksplicitno na vede, i to KAO DRUGI. Ovo da bi se prvo iz SIX
biblioteke uzele neke vrednosti koje imaju isti oblik komande (za primer,
pogledaj samo SET INDEX...)
clipper.495nbatocanin,
> Još nisam dogurao sa EXE fajlom od 800 kb ali imam jedan
> od 680 Kb :(( i on neće da radi odnosno ne mogu da
> startujem dibager.
:))) Pa to je mačji kašalj! Mora da si sve strpao u root.
> U njemu nema ništa posebno. Ali evo skraćene verzije
Ovako kako si napravio sve ide u root! Moraš napraviti bar jednu
BEGIN..ENDAREA sekciju i tu staviti nešto. Šta treba staviti treba
odrediti eksperimantalno. Za početak probaj da staviš EXTEND.LIB i
uživaj...
clipper.496ljubaz,
dA LI NEKO IMA BIBLIOTEKU ArtFul TWO ?
pozdrav
LJUBAZ
clipper.497szeman,
>> čelja četvrta: /* ... */
>> Daj primer.
>>
>
> Pa, čini mi se da konstrukcije u stilu:
Uz poruku je prikačena arhiva PR102.ZIP sa DOC fajlom ;)
Ukratko uradjena je podrška komentarima i uvlačenje posle PROCEDURE i
FUNCTION i još neke sitnice, što možete da pročitate.
Javite da li je sve u redu, (da kucnem u drvo :) a bulaja će već da se
snadje :)
Pozdrav, Saša
pr102.zipclipper.498arazumenic,
-> Bolje da ne izbacuje. Preporuka je da kad se koristi SIXCDX ili SIXNSX,
-> da se lib CLIPPER eksplicitno na vede, i to KAO DRUGI. Ovo da bi se prvo
-> iz SIX biblioteke uzele neke vrednosti koje imaju isti oblik komande (za
-> primer, pogledaj samo SET INDEX...)
Objasni zašto da navodim CLIPPER.LIB.
U opštem slučaju, ako su definisane dve funkcije sa istim imenom, onda će
linker javiti upozorenje.
Za ovaj poseban slučaj (SIXCDX drajver), gde se neke naredbe predefinišu
(npr. USE), onda se pozivaju samo dodatne funkcije iz SIXCDX.LIB, koje su
različitog imena u odnosu na CLIPPER.LIB.
Što se tiče naredbe SET INDEX, ona se ne predefiniše u SIXCDX drajveru,
odnosno, ova naredba se prevodi isto kao i bez SIXCDX drajvera. Pogledaj
SIXCDX.CH, nigde se ne vidi da je promenjena komanda. Kao dokaz, evo
primera NTX.prg i SIX.prg:
=================
// NTX.prg
set index to zika
=================
=================
// SIX.prg
#include "sixcdx.ch"
set index to zika
====================
i njihov prevod sa clipper /p
// NTX.ppo
if !.F. ; ordListClear() ; end; ordListAdd( "zika" )
// SIX.ppo
#line 1 "c:Đclipper5ĐmojĐsixcdxĐ52ĐchĐsixcdx.ch"
EXTERNAL SIXCDX
#line 3 "TEST.PRG"
if !.F. ; ordListClear() ; end; ordListAdd( "zika" )
Saša
clipper.499ikordic,
RE: Code Overhead
=> Ne koristiš? Ako imaš bar jedan GET u programu, onda ga i te kako
=> koristiš, sem ako nisi napravio kompletnu zamenu za GetSys.
Ajde ;). U svakoj funkciji koja koristi GET sistem, imam jedan
LOCAL aGetList := {} // malko izmenjen GET sistem, nervirala me
// nedoslednost u nomenklaturi
na početku, što znači da nigde ne baratam sa onim PUBLIC GetList-om.
Pošto sam se relativno kasno ušaltovao na Clipper, izbegao sam sve one
"bolesti" koje ljudi koji su počeli još sa dBase-om vuku za sobom. Tako se
pridržavam sledećeg:
* programi se prevode sa /m /n /w prekidačima
* dosledno primenjivanje koncepta modularnog programiranja sa oslanjanjem na
OOP
* nema runtime inicijalizovanja i kreiranja promenljivih. Sve promenljive se
definišu na početku i to sa odgovarajućom vidljivošću i životnim vekom
* PRIVATE i PUBLIC promeljive ne koristim uopšte; umesto njih LOCAL, STATIC
i neka žongliranja za globalnu vidljivost
* makroe ne koristim (zbogom data-driven rad ...); gde je baš nužno nešto
slično, stavljam kodne blokove ili izmenim kod da drugačije obavi zadatak.
* mađarska notacija i pregledno pisanje koda. NIKAD mi se još nije desilo da
imam potrebu za nekom alatkom kao što je SNAP ili PR koja će mi srediti
sors kako treba jer me mrzi da pritisnem TAB posle CASE ili slično.
clipper.500ikordic,
RE: CLText
=> zatrebalo, pa se obustavlja do prve prilike. Nego, sve mi se čini da
=> neću ni morati da radim taj procesor: jeste li videli CLText?
Ne, a gde toga ima :)?
Uzgred, neko reče da je to rešenje dosta bugovito - jel' može malo opširnije
(neki kratak komentar - pro et contra)?
clipper.501ikordic,
=> Jedno od mogucih resenje je i sledece:
=>
=> Pre izlaska u DOS:
Pa ne preterujmo, nisam baš totalna ofca :). Fala jasno da čuvam trenutne
parametre ekrana (da, na steku) i posle ih rekonstruišem. Taj sistem mi sa
opisanim problemom nije radio, pa sam ga ogolio samo na SetCursor ( 0 / 1 )
kombinaciju, ali i dalje ne ide. Ovo se dešava sa BLinker-om 3.0, Clipper 5.01
i testirano na 4 potpuno različite mašine.
clipper.502ikordic,
RE: Clipper vs. C
=> Interpretira se clipperov kod u low-level kod, a sav low-level je
=> (narafski) C ili asm.
Ergo, sfejedno C ili Clipper?!?
clipper.503ikordic,
=> Znači sve nepotrebno da ide u OVERLAY-e i onda neće biti problema ?
Jasno. Uz BLinker ide i nekoliko Clipper primera, pa probaj. U svakom slučaju
svaki .LNK fajl završavaj jednim
@CL5??MID.LNK // (ono ?? je 01 ili 20, zavisno koji Clipper koristiš)
koji na poseban način ubacuje module iz CLIPPER i EXTEND biblioteka. Ukoliko
su performanse kritične, stavi CL5??MIN.LNK, a ukoliko si tanak sa memorijom
stavi CL5??MAX.LNK.
=> Samo još jedno pitanjce onda: zar se kad ide BEGINAREA pa spisak
=> fajlova pa ENDAREA pravi još jedan OVL fajl pored EXE-a ? Ako jeste
=> tako da li se to
Ne, sve ide u jedan .EXE fajl u kome se nalaze i overleji.
clipper.504ikordic,
RE: VMIF
=> dana rade bez ikakvih problema i bez ikakvog pucanja! Jedina izmena u
=> programu bilo je korišćenje updateovanog Blinker-a 3.01 i linkovanje
=> njegovih biblioteka u root (nema veze što ništa od njih ne koristim:)
Totalna zbunjenost: zar nije rečeno da je frka do Clipper-a, a da BLinker
"samo potencira već postojeće probleme"? Kak'e veze ondak ima BLinker update?
Ako je ovo tačno, onda je problem rešen samo privremeno - to znači da ponovo
imamo pritajenu lutajuću bombu, koja čeka neki novi momenat da kaže BOOM!
clipper.505dpredovic,
> Još nisam dogurao sa EXE fajlom od 800 kb ali imam jedan od 680
> Kb :(( i on neće da radi odnosno ne mogu da startujem dibager.
> BLINKER EXECUTABLE SERIAL 'BIT-MAP'
> BLINKER INCREMENTAL ON
> BLINKER INCREMENTAL PAD 500
!!!
:))) Svaka funkcija ti uzima 500 bajta više nego što joj treba,
smanji malo... Meni je default (128) sasvim OK.
clipper.506dpredovic,
> => Interpretira se clipperov kod u low-level kod, a sav low-level je
> => (narafski) C ili asm.
>
> Ergo, sfejedno C ili Clipper?!?
Da, pogotovo otkada su u 5.2 (konačno) dokumentovali low-level
funkcije za stringove, fajlove, itd, pa je sve drugo čist
code-overhead...
clipper.507nbatocanin,
>> SetCursor ()
>
> Jedno od mogucih resenje je i sledece:
>
> Pre izlaska u DOS:
Kod mene ovo ne radi.
clipper.508nbatocanin,
> Znači sve nepotrebno da ide u OVERLAY-e i onda neće biti
> problema ?
Ne "nepotrebno", nego sve što se ne koristi često: sve svoje ne često
korišćene procedure strpaj u overlej. Za komercijalne biblioteke se
obično daju saveti kako ih rasporediti.
> Samo još jedno pitanjce onda: zar se kad ide BEGINAREA pa
> spisak fajlova pa ENDAREA pravi još jedan OVL fajl pored
> EXE-a ?
Ne. Ovo nije po defaultu, ali se može izvesti.
clipper.509nbatocanin,
> Još ne smem da tvrdim, ali izgleda da nemam više problema
> sa VMIF! :)
Uh, bojim se da grešiš. Pogledaj šta piše u tekstu koji si poslao
(SIX vs COMIX):
DBFSIX is a great idea and a good implementation, but unfortunately,
it's broken. There are serious memory corruption bugs in it, and in
fact, the parts of DBF SIX that ship with Clipper 5.2 are the leading
cause for 5.2's unuseability in i'ts present form. Linking DBFSIX
into a 5.01 or 5.2 application will invariably result in 5333 and VM
Integrity Errors. SuccessWare knows about the problems and is
working on them. However that still doesn't take away from the fact
that DBFSIX can and will crash your application.
Ajde da nabavimo taj Comix :)
clipper.511nbatocanin,
> => zatrebalo, pa se obustavlja do prve prilike. Nego, sve
> mi se čini da => neću ni morati da radim taj procesor:
> jeste li videli CLText?
>
> Ne, a gde toga ima :)?
Svuda po malo ;) Šifra: dođite da se dogovorimo ;)
> Uzgred, neko reče da je to rešenje dosta bugovito - jel'
> može malo opširnije (neki kratak komentar - pro et
> contra)?
Sistem je u fazi razgledanja :)
clipper.512dobrada,
> => Jedno od mogucih resenje je i sledece:
Ako sam te dobro razumeo, ovaj primer ilustruje ono sto si hteo:
WinOpen(0,0,maxrow(),maxcol(), , 'w+/b') // Prozor aplikacije
inkey(0)
WinOpen(0,0,maxrow(),maxcol(),,'w/n',' ') // Prozor za DOS program
setcursor(1)
! ed // Startivanje Q editora
inkey(0)
WinClose()
inkey(0)
WinClose()
Dakle zelis da upalis kursor pre DOS programa i da ga ugasis po povratku u
tvoj program.
Opisi sta si konkretno hteo da startujes.
U prilogu RUN.ZIP je kompletan fajl sa funkcijama WinOpen() i WinClose().
Pokusao sam i sa EDIT ali nije bilo dovoljno memorije za startovanje, a
nisam imao neki drugi editor koji menja oblik kursora u zavisnosti od Ins.
Ovo kod mene radi: Clipper 5.01 + Rtlink
run.zipclipper.513jolicm,
HELP !
čelim da povezem clipper i msc 6.0
iz literature za clipper 5.2 stoje napisani parametri za kompajliranje
C programa za verziju 5.0, kada kompajliram sa tim parametrima program ne radi.
Dakle molim izgled komandne linije za kompajliranje msc6.0 funkcije.
Hvala :)
clipper.514pyramid,
> Moze malo vise informacija o ovome, tj. malo jasnije kako
> se to radi?
Obrada polja u VISE REDOVA u GET/READ sistemu
---------------------------------------------
Sintaksa:
@ top, left, bottom, right GET MEMO tekst_polje ...
Implementacija:
Ovo sto sledi (Pocetak ... Kraj) iskompilirajte i ulinkujte sa
svojim programom i koristite. Dati primer na kraju ovog teksta
iskopilirajte sa CL.BAT.
Napomena:
Osnovna ideja je iz knjige: "Clipper 5.2 - Mrezno programiranje"
od L. i B. (poglavlje o EMail-u, EMAIL.PRG), a ja sam ga malo
ulepsao (dodao okvir i naslov).
Sitan nedostatak (neko bi mogao da ga otkloni):
Moze da bude samo jedan GET MEMO po jednom READ-u, i to mora da
bude poslednji od svih GET-ova.
(To je zbog onog GE_WRITE ako je: nKey == K_CTRL_ENTER ...)
* P o c e t a k ************************************************************
#include "INKEY.CH"
#include "GETEXIT.CH"
#include "MEMOEDIT.CH"
#command INICIRAJ <p> NA <val> [,<pn> NA <valn>] ;
;
=> <p> := IIF(<p> == NIL, <val>, <p>) ;
[;<pn> := IIF(<pn> == NIL, <valn>, <pn>) ] ;
#xcommand @ <nTop>,<nLeft>,<nBot>,<nRight> GET MEMO <mVar> ;
[PICTURE <pic>] [<ro: READONLY>] [COLOR <cColor>] ;
;
=> @ <nTop>,<nLeft> CLEAR TO <nBot>,<nRight> ; ;
@ <nTop>,<nLeft> TO <nBot>,<nRight> ; ;
@ <nTop>,(<nRight>+<nLeft>+1-LEN(" O P I S "))/2 SAY " O P I S " ; ;
MEMOEDIT(<mVar>,<nTop>+1,<nLeft>+2,<nBot>-1,<nRight>-1,.F.,.F.) ; ;
AADD(GetList, GETNEW(<nTop>+1, <nLeft>+2, ;
{|val| iif(val==NIL,<mVar>,<mVar> := val)}, ;
<(mVar)>,<pic>,<cColor>)) ; ;
ATAIL(getlist):Reader := { | oget | MemoReader(oGet, <nTop>+1, ;
<nLeft>+2,<nBot>-1,<nRight>-1,!<.ro.>,<cColor>) }
****************************************************************************
//
// Function: MemoReader()
// Purpose: A function for READing memo gets
//
///////////////////////////////////
FUNCTION MemoReader(oGet,nTop,nLeft,nBottom,nRight,lReadWrite,cColor)
LOCAL oldColor,cMemo
INICIRAJ lReadwrite NA .T., cColor NA SETCOLOR()
oldColor := SETCOLOR(cColor)
cMemo := EVAL(oGet:Block) // Retrieve initial value...
KEYBOARD CHR(K_HOME)
cMemo := MEMOEDIT(cMemo,nTop,nLeft,nBottom,nRight,lReadwrite,"MemoUDF")
EVAL(oGet:Block,cMemo)
SETCOLOR(oldColor)
RETURN ( NIL )
*
**********************************************************
*
FUNCTION MemoUDF(nMode,nLine,nCol)
*
**********************************************************
*
LOCAL nKey := LASTKEY()
LOCAL nRetVal := 0
STATIC nLastLine := 0
DO CASE
CASE nKey == K_UP
*
* Na prethodno polje, ako smo u prvom redu
*
IF nLine == 1 .and. nLastLine == 1
KEYBOARD CHR(K_CTRL_W)
GetActive():ExitState := GE_UP
ENDIF
CASE nKey == K_CTRL_UP .AND. nMode <> ME_INIT
*
* Na prethodno polje
*
KEYBOARD CHR(K_CTRL_W)
GetActive():ExitState := GE_UP
CASE (nKey == K_CTRL_ENTER .OR. nKey == K_CTRL_DOWN) .AND.;
nMode <> ME_INIT
*
* Na sledece polje
*
KEYBOARD CHR(K_CTRL_W)
GetActive():ExitState := GE_WRITE
CASE nKey == K_ESC
*
* Prekid unosa
*
Getactive():ExitState := GE_ESCAPE
ENDCASE
nLastLine := nLine
*
RETURN ( nRetVal )
* K r a j ******************************************************************
*
* P R I M E R
*
Polje1 := SPACE(20); Polje2 := SPACE(30); Polje3 := ""
SETCOLOR("W/B,B/W,,,W/N")
DO WHILE .T.
CLS
@ 3, 3 TO 17,67 DOUBLE
@ 5, 5 SAY "Polje 1:"; @ 7, 5 SAY "Polje 2:"
@ 5,15 GET Polje1 PICTURE "@!K"; @ 7,15 GET Polje2 PICTURE "@!K"
@ 9, 5,15,65 GET MEMO Polje3 COLOR "GR+/B"
READ
IF LASTKEY() == K_ESC
EXIT
ENDIF
? Polje1; ? Polje2; ? Polje3
inkey(0)
ENDDO
*
* K R A J P R I M E R A
*
****************************************************************************
clipper.515misa.m,
>> Kad sam već kod Rushmoore sistema - autori tog sistema su navodno dobili
>> inspiraciju gledajući Hičkokov "Se(r)ver-Severozapad", seli i napisali ga...
The name comes from Mount Rushmore National Memorial, near Keystone, South
Dakota.
Likenesses of the heads of Presidents Washington, Jefferson, Linclon, and
Roosevelt
are carved on the face of Mount Rushmore. These scluptures were done by Gutzon
Borglum and his sons. While all this information might interest tourists, it
has
nothing to do with the technology, nor does the fact that the mountain appeared
in
movie directed by A. Hitchcock called 'North by Northwest'. It was just that
this
movie appeared on TV the night before the FoxPro development team decided what
to
name its high speed, data access internal project, and the name 'Rushmore' was
adopted.
Iz knjige:
FoxPro for Windows 2.6
Developer's Guide
by Jeb Long (SAMS Publishing)
clipper.516stosic,
> Zelim da povezem clipper i msc 6.0
>iz literature za clipper 5.2 stoje napisani parametri za kompajliranje
>C programa za verziju 5.0, kada kompajliram sa tim parametrima program ne
radi.
?Dakle molim izgled komandne linije za kompajliranje msc6.0 funkcije.
CL /c /AL /FPa /Gs /Zl TvojCProgram.c
Pogledaj i clfaq101.zip
clipper.517snemcev,
>> čelim da povezem clipper i msc 6.0
Treba ti LLIBCA iz verzije 5.1. Zašto? Reći će neko ko se u to
povezivanje razume malo više od mene...
clipper.519gosse,
Zdravo Družtvo! Dali nekoj znae kako moze so RTLINK da se dojde do EXE od 150 K
+ OVerlay ( statiŠki )?. Probuvav so dinamiŠki overlei ama Exe nikako da padne
pod 380 K. Ako veke mora so Blinker, zgodno bi bilo porakata da dojde so .LNK.
Fala!
clipper.520spantic,
> C programa za verziju 5.0, kada kompajliram sa tim parametrima program ne
> radi. Dakle molim izgled komandne linije za kompajliranje msc6.0 funkcije.
Da li koristiš biblioteku iz MSC 5.1? Imaš je na SEZAMu.
clipper.521.ben,
H E L P !!!
Pisem neke programe u CLIPPER-u koji bi radili na Novel Lite-u
(za sada, kasnije mozda i puni Novel) i zelim da koristim NetBios
za komunikaciju izmedju radnih stanica, pokusavao sam sa NETTO lib.
i sa funcijama iz knjige CA Clipper 5.2 Mrezno programiranje ali
bez ispeha, so ako je nekom uspelo please help.
clipper.522ikordic,
=> RDDs for Clipper 5.0 and 5.2 to support .DBF, .PDX, and .BTR file
^^^ ^^^^
Koji je to RDD za 5.01 koji omogućava BTrieve kompatibilnost, gde ga ima i
koristi li to neko?
clipper.523ikordic,
RE: VMIF
=> fact, the parts of DBF SIX that ship with Clipper 5.2 are the leading
=> cause for 5.2's unuseability in i'ts present form. Linking DBFSIX
=> into a 5.01 or 5.2 application will invariably result in 5333 and VM
=> Integrity Errors. SuccessWare knows about the problems and is
=> working on them. However that still doesn't take away from the fact
=> that DBFSIX can and will crash your application.
'Ajmo sada jednom za svagda da čujemo: KO je uzročnik VMIF-a?
Da li je to:
a) BLinker? Ako jeste, kako onda pucaju aplikacije rađene RTLink-om? Ako nije,
kako to da se greške ne javljaju posle BLinker update-a?
b) SIx? Ako jeste, kako se onda VMIF dešava i sa NTX RDD-m?
c) Clipper? Ako jeste, o čemu to priča ovaj tip od gore? Ako jeste greška do
Clipper-ovog VM sistema, kako onda pucaju aplikacije koje koriste alternativne
VM sisteme (Funcky)?
d) Milja Vujanović? Ako jeste ... :)
Mislim da je ovo četvrti put da postavljam ovo pitanje, al' sad ... Elem, da
li je neko iskusio VMIF i slična veselja sa Clipper-om 5.01a?
Smatram da je krajnje vreme da se pozabavimo ovom materijom, jer od
dosadašnjeg razvoja stvari nije bilo neke preterane fajde. Prvo smo se ložili
na 5.2d za koji je neimenovani Clipper guru rekao da "5.2d rešava probleme sa
VMIF-om". Potom na razne SIx update-ove koji će (dajbožedajbože...) otkloniti
probleme, pa je stigao BLinker update - i dalje ništa.
Ako niko ovde ne zna, hajde da skupimo nekih 200-300 USD i da nekom delegatu
odavde uplatimo članarinu na nekom Clipper-dedicated BBS-u odakle će nas
obaveštavati šta se napolju dešava i šta da se radi. Smatram da pitanje
finansija nije problem, jerbo svi mi radimo ovaj posao za nekakve novce - meni
se isplati da kanem neku kintu ako za to dobijam nešto ovako vredno.
clipper.524nbatocanin,
> Zdravo Družtvo! Dali nekoj znae kako moze so RTLINK da se
> dojde do EXE od 150 K + OVerlay ( statiŠki )?.
Objasni malo detaljnije šta hoćeš: da imaš jedan EXE i poseban OVL
ili nešto drugo? Zašto ne koristiš PLL ako ti je važno da razdvojiš
EXE na više delova?
clipper.525snemcev,
>> a) BLinker? Ako jeste, kako onda pucaju aplikacije rađene RTLink-om?
>> Ako nije, kako to da se greške ne javljaju posle BLinker update-a?
IMMHO, Blinker je nevin. Posle update-a grešaka nema jer Blinker
jednostavno "obilazi" one delove Clipper VM sistema za koje je ustanovio
da nisu baš svoji.
>> b) SIx? Ako jeste, kako se onda VMIF dešava i sa NTX RDD-m?
Bojim se da je i SIx nevin.
>> c) Clipper? Ako jeste, o čemu to priča ovaj tip od gore? Ako jeste
>> greška do Clipper-ovog VM sistema, kako onda pucaju aplikacije koje
>> koriste alternativne VM sisteme (Funcky)?
Bingo! Valjda se i Funcky VM bar malo oslanja na Clipper VM? A ako se i
ne oslanja, ipak neke stvari ostaju pod kontrolom CLipper-a.
clipper.526neman,
> Lib BlxRateX
> Search BlxClp52
>
> Naravno jos se ne moze sa sigurnoscu tvrditi da ce ovim
> svi problemi biti reseni, ali bar u mom slucaju ima
> indicija da je ipak tako :).
I u mom :) Vec dva dana na jednom 286 racunaru koji je prijavljivao sto
VMIF sto Write error (?) radi ko sat. Pu, pu, pu da ne cuje djavo :)
Od nedelje cu da zamenim programe i na drugim racunarima koji su zajebucki-
vali, pa ce vidimo :)
neman
clipper.527nbatocanin,
> 'Ajmo sada jednom za svagda da čujemo: KO je uzročnik
> VMIF-a?
Eh, kad bi to znali, gde bi nam bio kraj: izopštimo zlikovca i idemo
dalje :(
> a) BLinker? Ako jeste, kako onda pucaju aplikacije rađene
> RTLink-om?
Jel ovo sigurno? Meni RTLink *nikad* nije dao VMIF.
> Prvo smo se ložili na 5.2d za koji je neimenovani Clipper guru rekao
> da "5.2d rešava probleme sa VMIF-om".
OK, ja sam se zaleteo, oslanjajući se na rečenicu iz pomenutog updatea
u kojoj piše da su "otklonjeni problemi koji su dovodili do VMIF".
Kako oni slagaše mene, ja slagah vas :( I sebe :(
>
> Ako niko ovde ne zna, hajde da skupimo nekih 200-300 USD i
> da nekom delegatu odavde uplatimo članarinu na nekom
> Clipper-dedicated BBS-u odakle će nas obaveštavati šta se
> napolju dešava i šta da se radi. Smatram da pitanje
> finansija nije problem, jerbo svi mi radimo ovaj posao za
> nekakve novce - meni se isplati da kanem neku kintu ako za
> to dobijam nešto ovako vredno.
clipper.528cnenad,
ŁŁŁ Ovako kako si napravio sve ide u root! Moraš napraviti bar jednu
ŁŁŁ BEGIN..ENDAREA sekciju i tu staviti nešto. Šta treba staviti treba
ŁŁŁ odrediti eksperimantalno. Za početak probaj da staviš EXTEND.LIB i
ŁŁŁ uživaj...
Ovo bi trebalo da bude reply na više poruka sa kojima ste pokušali da mi
pomognete pa da krenem redom:
BLINKER INCREMENTAL ON <-- neko reče da ovo ne treba jer po default-u
kod 3.0. INCREMENTAL nije radio kako treba pa sam
ga zbog toga stavio
Ovo je trenutno novi LNK fajl po vašim preporukama.
file as
BEGINAREA
file space
file spice
ENDAREA
@sixcdx.lnk
LIB clipper
LIB extend
LIB bumenu
Video sam da neko preporučuje da sklonim odavde LIB clipper i LIB extend.
Grba kaže da ga ne pomeram a isto to se preporučuje u HELP-u za SIXCDX.
Arazumenic je poslao poruku u kojoj pobija te tvrdnje. Pošto niko nije
odgovorio da li se slažete da ovde ne trebaju pozivi na ove dve biblioteke ?
Nenad kaže da ubacim u BEGIN/ENDAREA i LIB extend. Da li se ovo kosi sa
onim što preporučuje SIXCDX ili da ga ipak tamo smestim ?
I još nešto, gde onda treba staviti i od BLINKER-a @cl520max.lnk ?
Primetio sam da se u njemu nalaze isto pozivi za LIB clipper, LIB CDX i
LIB terminal. Pretpostavljam da ono LIB cdx treba izbaciti. Kakva je
situacija sa LIB terminal.
Da li mora da se fajl zove CL520MAX.LNK ili može drugačije ?
Da li je potrebno staviti još nešto u LNK datoteku što bi eventualno
poboljšalo korišćenje memorije i brzinu izvršavanja programa (mada mi ona
nije toliko bitna, jer su programi poprilično brzi) ?
clipper.529milanv,
║║==> na ekranu, tipično - lozinki? Promena boje karaktera u boju
║║==> pozadine baš i nije neko rešenje. Voleo bih da vidim rešenje
║║==> kakvo je primenjeno na Sezamu prilikom prijavljivanja ili neko
║║==> slično...
║║
║║ Ako hoćeš zvezdice, moraćeš da sam napišeš petljicu za unos lozinke,
║║ nešto kao ovo:
Nadao sam se da postoji nešto u okviru GET PICTURE, no,
dobro, može i ovako.
Evo, šaljem funkciju koja to ostvaruje. Sintaksa je:
cLozinka := Zvezdice (nY, nX, nM)
nX -> X koordinata prve zvezdice,
nY -> Y koordinata,
nM -> maksimalna dužina stringa koji se unosi.
Hvala Srđanu.
zvezdice.zipclipper.530dejanr,
>> Nadao sam se da postoji nešto u okviru GET PICTURE, no,
>> dobro, može i ovako.
Može tako, a može kao kod Ricka Spence-a (poznata knjiga), nešto bolje
uklopljeno u GET sistem Clippera:
do while (oget:exitstate == GE_NOEXIT
nkey:=inkey(0)
if nkey >=32 .and. nkey<=255
oget:cargo+=chr(nkey)
oget:applykey(oget, asc("*")
elseif nkey=K_BS
oget:cargo:=substr(oget:cargo, 1, len(oget:cargo)-1)
oget:applykey(oget, nkey)
elseif nkey==K_ENTER
getapplykey(oget, nkey)
end if
end do
Naravno, pre i posle toga se može staviti onaj deo iz GETSYS koji
proverava WHEN i VALID, i eto ga procedure getpass(oget)
clipper.531.ben,
> H E L P !!!
> Pisem neke programe u CLIPPER-u koji bi radili na Novel Lite-u
> (za sada, kasnije mozda i puni Novel) i zelim da koristim NetBios
> za komunikaciju izmedju radnih stanica, pokusavao sam sa NETTO lib.
> i sa funcijama iz knjige CA Clipper 5.2 Mrezno programiranje ali
> bez ispeha, so ako je nekom uspelo please help.
Kako je poruka prosla nezapazeno moram da je ponovim jos jednom,
problem se u tome da sa jedne stanice nikako ne mogu da posaljem
poruku na ostalim, bilo cirkularnu bilo usmerenu.
Molio bih nekog clipper gurua ako ima iskustva u ovome da mi pomogne.
clipper.532snemcev,
>> Pošto niko nije odgovorio da li se slažete da ovde ne trebaju pozivi
>> na ove dve biblioteke ?
Nisu potrebni, ali bih preporučio...
>> Nenad kaže da ubacim u BEGIN/ENDAREA i LIB extend. Da li se ovo kosi
>> sa onim što preporučuje SIXCDX ili da ga ipak tamo smestim ?
...upravo ovo i....
>> I još nešto, gde onda treba staviti i od BLINKER-a @cl520max.lnk ?
...jedno @cl520min.lnk posle linije @sixcdx.lnk.
>> Da li mora da se fajl zove CL520MAX.LNK ili može drugačije ?
Preimenuj ga kako ti je volja.
clipper.533nbatocanin,
> Video sam da neko preporučuje da sklonim odavde LIB
> clipper i LIB extend. Grba kaže da ga ne pomeram a isto to
> se preporučuje u HELP-u za SIXCDX. Arazumenic je poslao
> poruku u kojoj pobija te tvrdnje. Pošto niko nije
> odgovorio da li se slažete da ovde ne trebaju pozivi na
> ove dve biblioteke ?
Ovo nije toliko bitno. Moja preporuka ti je da navedeš obe
biblioteke.
> Nenad kaže da ubacim u BEGIN/ENDAREA i LIB extend. Da li
> se ovo kosi sa onim što preporučuje SIXCDX ili da ga ipak
> tamo smestim ?
Smesti, samo bi delove trebalo izbaciti u root.
> I još nešto, gde onda treba staviti i od BLINKER-a
> @cl520max.lnk ? Primetio sam da se u njemu nalaze isto
> pozivi za LIB clipper, LIB CDX i LIB terminal.
Prouči malo te skriptove - to su primeri kako treba raditi.
clipper.534cnenad,
ŁŁŁ ...jedno @cl520min.lnk posle linije @sixcdx.lnk.
Zašto misliš da je bolje staviti cl520min.lnk umesto cl520max.lnk ?
U samom cl520max.lnk fajlu piše da ga treba korisiti kod situacija kad je
kritično sa memorijom i pogotovo sa korišćenjem dibagera.
Da li utiči pozivi na LIB clipper i LIB terminal iz samog cl520xxx.lnk
fajla ili ne, s obzirom na raniju priču da LIB clipper i LIB extend idu
posle SIXCDX.LNK ?
clipper.535cnenad,
ŁŁŁ> Nenad kaže da ubacim u BEGIN/ENDAREA i LIB extend. Da li
ŁŁŁ> se ovo kosi sa onim što preporučuje SIXCDX ili da ga ipak
ŁŁŁ> tamo smestim ?
ŁŁŁ
ŁŁŁ Smesti, samo bi delove trebalo izbaciti u root.
Da li se ovo 'delovi' odnosi na EXTEND ili *.obj module ?
BTW, da li mi je uopšte potreban EXTEND.LIB ?
clipper.536ikordic,
RE: CLD
Poludeću! Ima li neki način da onaj blentavi CLD upamti veličine i položaj
prozora? Sluđuje me to što svaki put po ulasku moram da smanjim Command
pendžer i istovremeno povećam Source prozor sa Alt-S, pa da onda isti snizim
kako bi mogao da vidim Monitor pa ...
Kad sam već kod ovoga - pošto na se na tržištu može naći zilion dodataka za
Clipper, da li se među njima nalazi i neki alternativni debugger? Još kad bi
bio PD/SW ...
I za kraj - potrebni telefoni i kratak opis nekih Clipper-dedicated BBS-ova
napolju. Navedite i za šta je koji specijalizovan (datoteke, konferencije,
support, ...) kako bih mogao da isčekiram šta tu može da se napravi. Navali
narode, ovo je i u vašu korist!
clipper.537ikordic,
=> R:\IBMPC\CLIPPER\*.*
=> ----------
=> blup301 zip 361239 Blinker v3.01: update sa verzije 3.0
U ovom update-patch-u se pominje neki READ.ME fajl koji sadrži "important
information" o raznim aspektima korišćenja novog BLinker-a. Tog fajla nema u
ovoj arhivi pa bi molio nekoga ko to ima da ga ostavi ovde ili meni u mail.
Usput, tu se pominje da ovaj patch nije za deljenje okolo - ako ti treba,
sam ga traži od fabrike koja proizvodi ovo čudo. Izgleda da politika
striktno SW/PD na Sezamu popušta ...
clipper.538neman,
> Kako je poruka prosla nezapazeno moram da je ponovim jos
> jednom, problem se u tome da sa jedne stanice nikako ne
> mogu da posaljem poruku na ostalim, bilo cirkularnu bilo
> usmerenu. Molio bih nekog clipper gurua ako ima iskustva u
> ovome da mi pomogne.
Mislim da je problem u tome sto je NETTO pisan za Novell NetWare
a ne za NetWare Lite koje je nije ono sto je NN :)
clipper.539jorad,
>> jednom, problem se u tome da sa jedne stanice nikako ne mogu
>> da posaljem poruku na ostalim, bilo cirkularnu bilo usmerenu.
Vidi ovako, što se tiče cirkularnih poruka izgleda da nema
nikakvih problema. Probao sam primer iz knjige "Mrežno progamiranje"
i radi. To je funkcija N_SendMsg() + NetWare() + Ft_Int86 iz
NANFOR-a.
Primeri za usmereno slanje poruka, koji su po meni prava stvar,
već nisu funkcionisali. Nisam nikako mogao otvoriti kanal za slanje
poruka. Funkcija N_OpenPipe() stalno mi je u redu
IF NetWare (241,cRequest,čcReply) == 0
vraća vrednost različitu od 0. Reci mi kakva su tvoja iskustva.
Možda zajedno nešto izbuđžamo dok nam se ne pridruži neko iskusniji.
clipper.540.ben,
> Mislim da je problem u tome sto je NETTO pisan za Novell NetWare
> a ne za NetWare Lite koje je nije ono sto je NN :)
A kako je onda moguca razmena poruka u NetWare Lite-u iz programa NET.EXE ?!?!
:)
clipper.541.ben,
> Vidi ovako, sto se tice cirkularnih poruka izgleda da nema
> nikakvih problema. Probao sam primer iz knjige "Mrezno progamiranje"
> i radi. To je funkcija N_SendMsg() + NetWare() + Ft_Int86 iz
> NANFOR-a.
Na cemu si radio Lite ili puni Novel ?
Ja sam isprobavao na Lite-u i nije islo ni sa usmerenim ni sa cirkularnim.
Od srede cu moci da radim i na punom Novel-u ali sustina problema je
komunikacija u mrezi pod Lite-om.
clipper.542neman,
> A kako je onda moguca razmena poruka u NetWare Lite-u iz
> programa NET.EXE ?!?! :)
Pa ako su u Novell Lite verziji ugradili sve servise tj. funkcije koje ima i
NetWare, cemu onda Lite, mogao je da bude NN za 5 usera :)
clipper.543dejanr,
>> Usput, tu se pominje da ovaj patch nije za deljenje okolo - ako ti
>> treba, sam ga traži od fabrike koja proizvodi ovo čudo.
Proverio sam, i sasvim si u pravu, program se pojavio na par većih
stranih sistema i "automatski" je prenesen ovde. U uvodnom ekranu
jasno piše da se ne sme upload-ovati na BBS-ove.
Uklonio sam ga iz direktorijuma, hvala što si nam skrenuo pažnju.
PS Postavio sam ti SET CODE, korisnici koji imaju raspoređena YU slova
na druge načine videli su u tvojoj poruci "kuke i kvake".
clipper.544cubro,
Molim da mi neko kaze koje su razlike izmedju FOX 2.0
i FOX 2.6. Ili izmedju verzije 2.5 i 2.6. Naime namera-
vamo kupiti FOX For DOS 2.6 a imamo 2.5, i pitam se
koja je razlika izmedju dve verzije. Molim za HITAN
odgovor. Unapred hvala.
clipper.545.ben,
> Pa ako su u Novell Lite verziji ugradili sve servise tj. funkcije koje ima
> i NetWare, cemu onda Lite, mogao je da bude NN za 5 usera :)
Izvini sto pitam, a jesi li ti uopste video Novell Lite ?
clipper.546neman,
> Izvini sto pitam, a jesi li ti uopste video Novell Lite ?
Da, nema na cemu :)
clipper.547jorad,
>> Na cemu si radio Lite ili puni Novel ?
>> Ja sam isprobavao na Lite-u i nije islo ni sa usmerenim ni sa
>> cirkularnim. Od srede cu moci da radim i na punom Novel-u ali
>> sustina problema je
Radim sa punim Novelom. Reci mi konkretnije šta se kod tebe
dogadja?
clipper.548snemcev,
>> Zašto misliš da je bolje staviti cl520min.lnk umesto cl520max.lnk ?
Zbog brzine izvršavanja programa. Cl520max.lnk zna da drastično uspori
program.
>> Da li utiči pozivi na LIB clipper i LIB terminal iz samog
>> cl520xxx.lnk fajla ili ne, s obzirom na raniju priču da LIB clipper i
>> LIB extend idu posle SIXCDX.LNK ?
Ovo uopšte nije kontradiktorno. Ide @SIxCdx.lnk pa @Cl520min.lnk.
clipper.549nbatocanin,
> Da li se ovo 'delovi' odnosi na EXTEND ili *.obj module ?
Zavisi kako stojiš sa memorijom - ako je imaš dovoljno onda možeš
veći deo EXTEND.LIB da stavi{ u root.
> BTW, da li mi je uopšte potreban EXTEND.LIB ?
:) Naravno.
clipper.550cnenad,
ŁŁŁ Zbog brzine izvršavanja programa. Cl520max.lnk zna da drastično uspori
ŁŁŁ program.
Pošteno da priznam ne primećujem neko 'veliko' usporenje ali ipak se malo
oseti na nekim delovima. Doduše, zadovoljan sam jer sad recimo mogu iz
samog programa da startujem recimo DOS SHELL (npr. NDOS.COM) bez ikakve
upotrebe SWAPRUNCMD() čisto da vidim koliko je program uzeo memorije, da li
je jedan njegov deo u UMB itd. Naravno sve ovo pod DEBUGER-om.
Pošto mi je bitno zbog testiranja koristim dakle CL520MAX.LNK a kasnije
za krajnju verziju ide CL520MIN.LNK (ako je uopšte bude :( )
E sad, znam da je bila neka caka sa BLINKER EXECUTABLE DUAL i evo šta on
meni kaže:
'Oćeš DUAL mod ? Stavi ti lepo SECTION INTO... u LNK fajl'
Ako ga stavim, dobijam eksterne overlay-e. Može li se ovo izbeći ?
Drugo, šta onda potrpati u te eksterne overlay-e kad sam već podelio sa
BEGIN i ENDAREA.
BLINKER HOST MESSAGE ON
BLINKER OVERLAY PAGEFRAME ON +-------
BLINKER OVERLAY UMB ON +
BLINKER CACHE XMS 128 ----+ ovo po preporuci iz CL520MAX.LNK
BLINKER CACHE EMS 128 +
BLINKER MESSAGE DUPLICATES +-------
BLINKER CLIPPER PROFILE ON
file TIM
file SIXYU (o ovome malo kasnije)
file SIXCDX
file PROFILER (ovo je jedna mnogo dobra stvar :))
beginarea
file EKRAN
...
endarea
@sixcdx.lnk
@cl520max.lnk (izbačeni pozivi LIB TERMINAL i DBFNTX)
lib BUMENU
Dakle, šta raditi da bi se dobio program koji radi u DUAL mod-u, zavisno
od procesora i memorije, ali da ne traži da se prave eksterni overleji ?
Što se tiče SIXYU.OBJ koju je neko poslao, probao sam da izvršim DISKEDITOM
proste zamene pošto je SIXYU.OBJ po YUSCII u CUSTOM2 ali nisam dobio nikakav
efekat prilikom indeksiranja. U čemu je štos ?
clipper.551pstevo,
Zdravo narode,
ne mogavsi vjerovati u odgovor koji mi se namece, saljem vam ovaj primjer.
Nakon sto sam puna rada bazirao na predpostavci da fu SX_KeyNo()
zaista radi, uslijedilo je razocaranje (po Marfiju, naravno, tek tada).
SX_KeyNo() je u bazi dugackoj cca. 9000 slogova pokazala nevjerovatnu
sporost. Zanimljiva je cinjenica da je brza ukoliko je pokazivac sloga
na pocetku a obrnuto okada je na kraju baze. Mogao sam zakljuciti samo to
da SX_KeyNo() u nekoj petlji vrti SKIP 1 i prebroji sve slogove koji
prethode aktivnom (nisu valjda napravili takvu podlost) !
Cak je i 486 DX-2, 66MHz ostao nemocan !
RDD je SIXCDX V1.5 inter. sa nekoliko upgrade-a.
LINKER==BLINKER 3.0
Modul SXKeyNo NIJE u Overlay-u !!!
SIXCDX.LNK ¸¸
BEGINAREA
LIB SIXCDX.LIB
ENDAREA
MODULE SXKeyNo
**************
* NEBULOZA.PRG
************************************************************
FUNCTION Main ()
LOCAL i
#INCLUDE "SIXCDX.CH"
SetRDD("SIXCDX")
USE baza NEW // Ja sam radio sam bazom od 9000 slogova, ukupne duzine 900Kb
INDEX ON polje1 TO baza // Bilo koji SIXCDX index (.IDX)
CLEAR
GO TOP // Ovo je vrlo vazno, pomjeri na pocetak !!!!!!!!!!!!!!!!!!!!!!!!!!!
č 1,2 SAY 'Nalazim se na pocetku baze !'
č 3,2 SAY 'Poceo sam sa SX_KeyNo()'
FOR i=1 TO 50
SX_KeyNo()
NEXT i
č 4,2 SAY 'Zavrsio sam sa SX_KeyNo()'
Tone(400,6)
č 6,2 SAY 'Poceo sam sa RecNo()'
FOR i= 1 to 50
RecNo()
NEXT I
č 7,2 SAY 'Zavrsio sam sa RecNo()'
Tone(400,6)
GO BOTTOM // Vrlo vazno, sada se sve ponavlja
// kada je pokazivac na kraju baze !!
č 10,2 SAY 'Sada sam na kraju baze (pripremi si kavu i raskomoti se) !!!'
č 12,2 SAY 'Poceo sam sa SX_KeyNo()'
FOR i=1 TO 50
SX_KeyNo()
NEXT i
č 13,2 SAY 'Zavrsio sam sa SX_KeyNo()'
Tone(400,6)
č 15,2 SAY 'Poceo sam sa RecNo()'
FOR i= 1 TO 50
RecNo()
NEXT i
č 16,2 SAY 'Zavrsio sam sa RecNo()'
Tone(400,6)
Inkey(15)
QUIT
RETURN (NIL)
************************************************************
Onima koji probaju ovo - posaljite rezultate bez obzira da li se
poklapaju ili ne.
Zna li neko drugo rjesenje za ScrollBar od SX_KeyNo() ?????????
Bok ;)
clipper.552jolicm,
Veruj mi da je snemcev u pravu što se tiče Cl520max.lnk
na sporijim mašinama bez 4MB ili na 286 ili na nedajboze XT
mašinama pri većim programima je takvo usporenje da se ne moze raditi.
Neka moja iskustva su da je najbolje blinkerom i cl520min.lnk razvijati
program, a rtlinkom završiti posao i predati ga korisniku !
BLinker i RTlink ne mogu da se mere po brzini rada EXE programa.
:).
clipper.553cnenad,
ŁŁŁ Zavisi kako stojiš sa memorijom - ako je imaš dovoljno onda možeš
ŁŁŁ veći deo EXTEND.LIB da stavi{ u root.
Jesam dosadan, ali sam si me vukao za jezik :) kako se to može podeliti
EXTEND.LIB ?
clipper.554dvesic,
> Jesam dosadan, ali sam si me vukao za jezik :) kako se to moze
> podeliti EXTEND.LIB ?
Lako :)
Uz pomoc TLIB-a, LIBRE ili slicnog programa pogledas koji moduli
postoje u EXTEND lib-u pa uradis nesto kao :
BEGINAREA
MOD _SETTA
MOD _TEXT
MOD ....
...
ENDAREA
tj. tacno kazes Blinker-u koje rutine iz Extend-a zelis u overlay,
a koje u ROOT.
clipper.555ikordic,
RE: VMIF
=> > a) BLinker? Ako jeste, kako onda pucaju aplikacije rađene
=> > RTLink-om?
=>
=> Jel ovo sigurno? Meni RTLink *nikad* nije dao VMIF.
Pratimo li vredno ovu temu? ;)
=> ===============================
=> 10.238 PC.PROG.4:clipper
=> .ken., 08.06.94. 08:40, 521 chr
=> Odgovor na 10.235, dzoric, 07.06.Uto 13:31
=> ---------------------------------------------------------
=> Program prodje prevodjenje ali pri otvaranju postojece datoteke (open)
=> program jednostavno pukne (bio Blinker ili RTlink).
=>
=> ===============================
=> 10.375 PC.PROG.4:clipper
=> solomus, 07.07.94. 20:30, 146 chr
=> ---------------------------------------------------------
=> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje takođe gorespomenutu
=>
=> ===============================
=> 10.412 PC.PROG.4:clipper
=> arazumenic, 12.07.94. 13:23, 422 chr
=> ---------------------------------------------------------
=> Uf, evo da se i ja požalim na VMIF.
=> Kombinacija Clipper 5.2d, SIXCDX 1.5, rtLink.
clipper.556cnenad,
ŁŁŁ RE: VMIF
5.2d, SixCDX 1.5, Blinker 3.0. i uglavnom nekoliko dana pošto sam sve to
ukalupio izleteše dva VMIF-a.
Nakon toga nisu se više pojavili.
Sada imam Blinker 3.01 i nema problema uopšte (za sada) :)
clipper.557dpredovic,
> Dakle, šta raditi da bi se dobio program koji radi u DUAL
> mod-u, zavisno od procesora i memorije, ali da ne traži da se
> prave eksterni overleji ?
Ne praviti overleje ;)) Inače, stvarno ne vidim neku korist od
dual programa, barem u našoj situaciji gde se sve pravi za
poznatog kupca. Nije mi problem da napravim dve verzije programa,
odnesem lepo do čoveka, isprobam šta bolje radi i sve OK...
Možda je to tako zbog toga što 3.00 praktično nije ni radio u
dual modu, ali šta je - tu je...
BTW, što te smeta externi overlej?
> Što se tiče SIXYU.OBJ koju je neko poslao, probao sam da
> izvršim DISKEDITOM proste zamene pošto je SIXYU.OBJ po YUSCII u
> CUSTOM2 ali nisam dobio nikakav efekat prilikom indeksiranja. U
> čemu je štos ?
Ima dosta toga da se izmeni, pogledaj u sors...
clipper.558jolicm,
Zdravo narode, Verovatno sam napravio nešto interesantno za Vas.
ASM funkcije za Clipper za indeksiranje po rasporedima:
YUASCII, Custom1, Custom2, Računari, JUS015, MojMikro, CP852 i Latin2
Funkcije indeksiraju i po ABCDi i po Azbuci, dosta su brze,
pa kome treba nek izvoli.
Bulaja proveri da li je ovo za dir.
Zdravo :)
jm_ind.arjclipper.559goxx,
■ da SX_KeyNo() u nekoj petlji vrti SKIP 1 i prebroji sve slogove koji
■ prethode aktivnom (nisu valjda napravili takvu podlost) !
■ Zna li neko drugo rjesenje za ScrollBar od SX_KeyNo() ?????????
Još uvek radim sa clipper-om 5.01/RTLink/dbfntx, tako da nisam
koristio SIXCDX, ali sam imao problematiku brzog prebrojavanja slogova i
Scrollbar-a (ovo sam čak jednom opisivao ovde).
Redni broj sloga (po indeksu) sam vezao za kodne blokove kojima se
vrši kretanje kroz tabelu (gotopblock, skipblock, ...) na sledeći način:
PRIMER
* baza telefonski imenik
* polje PREZIME C 30 (po njemu je index)
* "zadatak" prikaz dela baze (jednog bloka podataka)
recimo sve osobe čije prezime počinje sa "JOVA"
...
JOKSIMOVIŠ JOKSA (nije onaj iz spota sa Palme :)
-> JOVANOVIŠ MIKA
-> JOVANOVIŠ čIKA
-> JOVANOVSKI KIRO
JOVIžEVIŠ PERA
JOVIŠ JOVA
...
FUNCTION TelefonskiImenik()
LOCAL _Value, _Maximum // mogu da budu i static za ceo fajl
.....
// otvaranje baze, kreiranje objekta i druge drangulije...
// prva kolona tabele bi mogla da bude redni broj šđđ STR(_Value,5)ć
...
// zadovoljenje uslova "zadatka"
topvalue := "JOVA"
bottomvalue := "JOV"+"B" // slovo B posle slova A u ascii tabeli :)
skipblock := šđđ prezime >= topvalue .AND. prezime < bottomvalue ć
// ako bi se prikazivao ceo imenik tada bi ovo izgledalo
// topvalue := "", bottomvalue := CHR(255) (ili nesto slicno),
// skipblock := šđđ .T. ć, a _Maximum := LASTREC() (pazi na bag za
// praznu bazu u 5.01)
// brzo prebrojavanje podataka koji zadovoljavaju uslov
// i pozicioniranje na prvi slog
DBSEEK(topvalue, .T.)
// brojac za scrollbar
// (broj slogova i redni broj trenutnog sloga od pocetka opsega)
_Value := MIN(_Maximum := DBFCount(topvalue, skipblock), 1)
// --------------------
// kodni blokovi tako namesteni da azuriraju brojac _value
tbl:skipBlock := š đnSkip, nDoneđ;
nDone := DBFSkip(nSkip, skipblock),;
_Value += nDone,;
nDone;
ć
tbl:goTopBlock := šđđ;
_Value := IF(_Maximum > 0,;
(DBSEEK(topvalue,.T.), DBFSkip(1, skipblock), 1),;
(DBGOBOTTOM(), DBSKIP(), 0 );
);
ć
tbl:goBottomBlock := šđđ;
IF((_Value := _Maximum) > 0,;
(DBSEEK(bottomvalue,.T.), DBSKIP(-1)),;
(DBGOBOTTOM(), DBSKIP());
);
ć
// ocitavanje objekta --------------
DO WHILE .T.
DO WHILE .NOT. tbl:stabilize() .AND. NEXTKEY() <> 0
ENDO
// iscrtavanje scrollbara samo ako nista nije pritisnuto
// kako se ne bi opteretio ispis
IF NEXTKEY() == 0
// samo iscrtavanje je druga tema i to trivijalna
// koriste se _Value i _Maximum da se recimo izracuna procenat
// pozicije u bazi (_Value/_Maximum*100) ili da se pored tabele
// iscrta nova pozicija scrollbara ili sta sve vec korisnik
// smisli moze da se obavi i neka sasvim druga radnja
// (da odsvira nesto u zavisnosti od sloga na kome se
// trenutno nalazimo :)...
ENDIF
nKey := INKEY(0)
DO CASE
CASE nKey == K_ESC
EXIT
// i sve ostalo sto obicno ide kao CASE
...
// !!!!!!!!
// ako se doda novi slog _Maximum++
// za brisanje (reciklazu) _Maximum--
// ako se recimo promeni PREZIME poremetice se i redosled u
// indexu. U tu svrhu samo prebrojati od tekuce pozicije do
// kraja i izracunati
// _Value := _Maximum - DBFCount(prezime, skipblock) + 1
// (ovo pod uslovom da je slog ostao u opsegu, a ako nije
// smanjiti _Maximum, pozicionirati se na neki drugi slog
// u opsegu (najbolje vrh podataka) i azurirati _Value ).
// Uglavnom, ova tema ima puno varijacija
ENDCASE
ENDDO
RETURN NIL
...
// **************
// funkcija za brzo brojanje slogova MNOGO BRZA :)
FUNCTION DBFCount(cTop, bCondition)
LOCAL nCount := 0, nNext, nSaveRecNo := RECNO(), nRecNo := 0
DBSEEK(cTop,.T.)
nNext := 10 ** (LEN(ALLTRIM(STR(LASTREC())))-1)
// ako je prazna datoteka ili je kraj bloka
IF .NOT. EVAL(bCondition) .OR. EOF()
// povratak na staru poziciju u datoteci
// mada nije ni vazno jer nema podataka koje bismo
// prikazali u tabeli
DBGOTO(nSaveRecNo)
RETURN 0
ENDIF
// ispitivanje sve do kraja ili dok nije zadovoljen uslov
DO WHILE .T.
nCount += nNext
nRecNo := RECNO()
DBSKIP(nNext)
IF .NOT. EVAL(bCondition) .OR. EOF()
nCount -= nNext
IF (nNext /= 10) < 1
nCount ++
EXIT
ENDIF
DBGOTO(nRecNo)
ENDIF
ENDDO
// povratak na staru poziciju u datoteci
DBGOTO(nSaveRecNo)
RETURN INT(nCount)
// *****************
// funkcija za skakutanje po bazi (opsegu baze)
// funkcija je "klasika" sem sto ima uslov (i valjda nema bag
// jer sam je uprostio za ovu priliku)
FUNCTION DBFSkip(nSkip, bCondition)
LOCAL nSkipped := 0
IF nSkip <> 0
DO WHILE nSkipped <> nSkip
// skok u odredjenom pravcu
IF nSkip < 0
DBSKIP(-1)
nSkipped --
ELSE
// ako je vec na dnu izlazak
IF EOF()
EXIT
ENDIF
DBSKIP()
nSkipped ++
ENDIF
// ako je preko dna vrati se
IF EOF()
nSkipped --
EXIT
ENDIF
// ako je preko vrha vrati se
IF BOF()
nSkipped ++
EXIT
ENDIF
IF .NOT. EVAL(bCondition)
IF nSkip > 0
DBSKIP(-1)
nSkipped --
EXIT
ELSE
DBSKIP()
nSkipped ++
EXIT
ENDIF
ENDIF
ENDDO
ENDIF
RETURN nSkipped
------------------------------------------------
I na kraju jedna POSLASTICA :)
Ovo verovatno ne postoji ni u tim silnim RDD-ima u clipperu 5.2
Veoma je ružno kad je index po nekoj šifri koja se ponavlja pa se tako
prikaže u tabeli. Na primer spisak radnika po sektorima:
Ovako bi izgledao kodni blok za polje "sektor" u tabeli
šđđ sifarnik->(DBSEEK(baza->sektor)),;
STR(baza->sektor)+" "+PADR(sifarnik->naziv,10);
ć
i dobilo bi se ovo: a mnogo je lepše:
Sektor Radnik Sektor Radnik
─────────────┬──────── ─────────────┬────────
01 SEKTOR 1 │ Mika 01 SEKTOR 1 │ Mika
01 SEKTOR 1 │ Pera │ Pera
01 SEKTOR 1 │ Zika │ Zika
02 SEKTOR 2 │ Mikica 02 SEKTOR 2 │ Mikica
02 SEKTOR 2 │ Perica │ Perica
03 SEKTOR 3 │ Zikica 03 SEKTOR 3 │ Zikica
03 SEKTOR 3 │ Jovica │ Jovica
na ovaj način se eliminiše "šuma" nepotrebnih podataka. Kodni blok
za ovo polje (TBColumnNew("SEKTOR"... ) treba da izgleda ovako:
šđđ IF( DBFSameValue(),;
SPACE(13),;
( sifarnik->(DBSEEK(baza->sektor)),;
STR(baza->sektor)+" "+PADR(sifarnik->naziv,10) );
);
ć
// **************************
// funkcija za ispitivanje promene vrednosti polja
FUNCTION DBFSameValue()
LOCAL nSifra
// prethodni slog
DBSKIP(-1)
nSifra := baza->sektor
// na vrhu smo baze
IF BOF()
RETURN .F.
ENDIF
// slog na kome smo bili
DBSKIP()
// da li se sifra razlikuje ?
RETURN nSifra == baza->sektor
Malo sam udavio sa ovolikim tekstom, ali shvatite da nisam bio na
sezamu poslednjih mesec i po dana (tek sam juče obnovio pretplatu), a
već sutra idem na (veoma zasluženi :) (prošlo)godišnji odmor pa "moram"
malo da sebi dam oduška. Pozdrav svima koji su izdržali do kraja teksta.
Goran
clipper.560cnenad,
ŁŁŁ Ima dosta toga da se izmeni, pogledaj u sors...
Onaj priloženi SIXYU.ASM ? Nažalost ne znam asembler, pa ako ima neka
dobra duša da preradi za CUSTOM 2, blagodarim, ako treba poslaću i kodove
za Custom 2. U stvari trebalo bi preraditi za nekoliko rasporeda pa da
bude kolekcija. BTW, šta se onda radi sa tim ASM fajlom ?
ŁŁŁ Ne praviti overleje ;)) Inače, stvarno ne vidim neku korist od
Ma, pitao sam jer Nenad spomenu da može da mu se naredi da ne pravi
eksterne overleje.
ŁŁŁ BTW, što te smeta externi overlej?
Recimo da hoću da PKLITE-ujem EXE, mada ima još razloga.
clipper.561jolicm,
Zdravo nenade. Tvoj problem sa indeksiranjem po Custom2 rasporedu je rešen
Juče sam poslao u ovu konferenciju poruku sa datotekom JM_IND.ARJ
ako raspakuješ tu datoteku dobićeš 32 objektna fajla od kojih izabereš samo
jedan koji tebi odgovara i njegalinkuješ zajedno sa tvojim programom.
u PROCITAJ.ME fajlu su opisi po kojem kojem rasporedu koji fajl indeksira.
Tamo ćeš naći 4 fajla, mislim da su:
JM_IND71.obj -indeksira se po abcedi po Custom2 da se tretira slovo DJ kao
jedno slovo
JM_IND72.obj -indeksira se po abecedi po Custom2, slovo DJ je dva slova
JM_IND73.obj -indeksira se po azbuci po Custom2 rasporedu,DJ=Đ
JM_IND74.obj -indeksira se po azbuci po Custom2 rasporedu, DJ=D+J
linkuješ ovako npr.
BLINKER FI TvojProgram, sixuk, jm_ind71 lib sixnsx, clipper
linija za indeksiranje u programu:
index on jm_ind(polje) tag primer to datoteka
SEEK radiš isto
SEEK jm_ind(vrednost)
set scope isto postavljaš sa: SET SCOPE TO JM_IND(vrednost)
U tom JM_IND.ARJ fajlu su obrađeni indeksi po svim rasporedima, samo se linkuje
.obj datoteka po kojem rasporedu zeliš.
Molim te probaj to pa mi javi da li si zadovoljan.
Pozdrav:)
clipper.562nbatocanin,
> => Jel ovo sigurno? Meni RTLink *nikad* nije dao VMIF.
>
> Pratimo li vredno ovu temu? ;)
Da preciziram: VMIF se javlja u dosta slučajeva. Nešto od toga je bio
bug u 5.2c i to je otklonjeno u 5.2d. SIX očigledno uzrokuje VMIF, pa
programe koji ga koriste ne uzimam u obzir. Znači: 5.2d + RTLink ?=>
VMIF?
clipper.563nbatocanin,
> Zna li neko drugo rjesenje za ScrollBar od SX_KeyNo()
> ?????????
Promeniš blokove za pozicioniranje u TBrowse tako da broje pređene
slogove.
clipper.564zkrstic,
>> Suvi 5.2c/NTX/Rtlink kad pliva po Novell-u 3.11 daje
>> takođe gorespomenutu :)!
>
> Na žalost: 5.2d/NTX/Blinker 2.01/DOS 5.0 mi je pre neki dan dao VMIF
> :((( Jedino što je ta mašina i inače nešto zezala.
Btw, gotovo da sam 100% siguran da je u pitanju mašina, koliko sam
pratio (500 poruka odjedared, oprostite ;) )
Isti slučaj (ne sa VMIF-om ) nego sa suludim bagom smo imali
Banex i ja u firmi i izludesmo... kad ono, ljubi ga majka... Maderbord ;>
Zkr
clipper.565zkrstic,
> Vremenom programi rađeni u kliperu rastu ko kvasac :(( pa se dolazi
> do situacije da je nemoguće startovati program u 'pročišćivalu' :)
>
> Kako ste vi rešili taj problem ?
Tužno :(((
žudovište od programa ima 2.1MB sorsa i 1.55MB EXE :(
Nema inkremental linka, a kada mi treba debuger, samo dotični
fajl kompajliram sa /b i ponovo teram batch za linkovanje.
Neznam drugi način :( Doduše, nije mi to najveća muka ;)
Zkr
clipper.566zkrstic,
> Poludeću! Ima li neki način da onaj blentavi CLD upamti veličine i
> položaj prozora? Sluđuje me to što svaki put po ulasku moram da
> smanjim Command pendžer i istovremeno povećam Source prozor sa
> Alt-S, pa da onda isti snizim kako bi mogao da vidim Monitor pa ...
Ima opcija "Save Parameters" pa fajlu daš ime INIT.CLD i
on se uvek učiatava i nema problema.
clipper.567neman,
>
> Btw, gotovo da sam 100% siguran da je u pitanju masina,
> koliko sam
> Isti slucaj (ne sa VMIF-om ) nego sa suludim bagom smo
> imali Banex i ja u firmi i izludesmo... kad ono, ljubi ga
> majka... Maderbord ;>
Jebes mu misa :) svi Maderboardi mi neispravni :)
clipper.568cnenad,
ŁŁŁ Juče sam poslao u ovu konferenciju poruku sa datotekom JM_IND.ARJ
Da, video sam tek kad sam poslao molbu da neko preradi SIXYU.OBJ na
CUSTOM 2. Mislim da je ipak zgodnije, kad već neko koristi SixCDX da se
iskoriste i njegovi SIX*.OBJ fajlovi za indeksiranje po domaćim slovima.
U svakom slučaju smatram da tvoj trud ne treba proći nezapažen i obavezno
ću probati ovo.
ŁŁŁ JM_IND71.obj -indeksira se po abcedi po Custom2 da se tretira slovo DJ
ŁŁŁ kao jedno slovo
Da li je ovo moguće promeniti pa da bude sledeća situacija:
DJ (dj) tretira kao dva slova a Đ (đ) kao jedno ?
clipper.569dvesic,
Subject : DBX.EXE
Koristim DBX (iz SIXCDX paketa) sa ulinkovanim DBFNTX i SIXCDX RDD-ovima.
Svaki put kada pokusam da otvorim datoteku kreiranu sa DBFNTX koja ima i
memo polja ( tj. sa pripadajucim DBT fajlom), DBX pukne sa izjavom :
DBCMD/1025 Argument error : ORDNUMER.
Kakva su vasa iskustva ?
clipper.570ikordic,
RE: PKLITE + Clipper
=> Recimo da hoću da PKLITE-ujem EXE, mada ima još razloga.
Ovo neće da fercera jerbo ima internal overlays, pa ti dođe na isto.
clipper.571ikordic,
RE: Congratulations
=> Malo sam udavio sa ovolikim tekstom, ali shvatite da nisam bio na
=> sezamu poslednjih mesec i po dana (tek sam juče obnovio pretplatu), a
=> već sutra idem na (veoma zasluženi :) (prošlo)godišnji odmor pa
=> "moram" malo da sebi dam oduška. Pozdrav svima koji su izdržali do
=> kraja teksta.
Woah! Svaka čast majstore! Ko me još jedared upita šta će ti taj Sezam,
bolje da ga nema (osobe, ne Sezama) :).
clipper.572szeman,
>>R:ĐIBMPCĐCLIPPER>dir pr102.zip /l
>>==============================
>>r:ĐibmpcĐclipperĐpr102.zip
>>---------------------------------------------------
>>"Nazubljivanje" Clipper source-ova (szeman)
>>
>> PR102.ZIP 23.07.1994.
>> Dužina 8781 bytes
>> Vreme prenosa 0 min 38 sec
>> Preuzeto 34 put(a)
>>
>> ---------------------------------------------------
Samo 15-ak ljudi koristi ovaj programčić ?!? :) 15-ak zadovoljnika
korisnika + N nezadovoljnih... Ajde, šalji ovamo utiske & želje da vidim
šta je razlog, pa da popravljam šta se da popraviti :)
Pozdrav, Saša
clipper.573szeman,
>> R:ĐIBMPCĐCĐ*.*
>> ----------------------
>> bltc13a zip 140565 Bullet for C 1.03: B-tree/dBase (.DBF) database
>> toolkit
Preuzeo sam ovo pre neki dan i vrlo sam nezadovoljan: dosta opširan help
(što je dobro) ali vrlo nezgrapno napravljen i nema kratkih opisa funcija
za rad sa bazama, patch za .LIB sa greškom, glavni upotrebljivi primer
ITEST (kao funkcija VIEW iz DBU) bez source-a :(( itd, itd - prava noćna
mora. Ako se neko igrao sa ovim molim za utiske i primere.
Pozdrav, Saša
clipper.574bulaja,
Ima li neko ovde uopšte Class(Y) 2.0? Izašao je patch za verziju
2.0e, pa da znam da li uopšte to da stavljam negde u public. :)
clipper.575jolicm,
Zdravo cnenad.
U onoj datoteci jm_ind01-71 imaš sve varijante kodnih rasporeda i naših
pisama i korišćenja naših slova.
Što znači da tebi kada treba Custom2 raspored imaš 4 objektne datoteke na
raspolaganju.
U svim datotekama se uzimaju u obzir sva naša slova pri indeksiranju
što znači "Š Ć č Đ LJ NJ Dč" samo što je razlika u tome da neko od korisnika
naših programa kuca "DJ" kao slovo "Đ" i samo je tu izbor da se Ti mozeš
odlučiti da ti se "DJ" nalazi na mestu slova "Đ" ili da se ne nalazi.
Primer: reč DJak, da li će se u indeksu naći:
1. DASKA
2. DEVOJKA
3. DJAK
4. DUBROVNIK
5. ĐURĐEVAK
ili
1. DASKA
2. DEVOJKA
3. DUBROVNIK
4. DJAK
5. DUBROVNIK
HKKKKISPRABKA: 5. ĐURĐEVAK
U jm_ind72 će se indeksirati po gornjem rasporedu, a u jm_ind71 po donjem
rasporedu.
Jedna napomena:
SIXYU.obj ne uzima u obzir naša slova "lj", "nj", "dz", a moje rutine i to
obrađuju
primer:
Niš
NJivice
Novi sad
po našoj abcdi NJivice treba da idu na treće mesto jer je "NJ" posebno slovo
koje ide iza svih zapisa sa slovom "N"
isto vazi i za gornje primere sa slovom "dj"
Mozda je to trazenje reške u tuđem radu, ali ako se već trudimo da napravimo
program koji sortira i indeksira po našoj abecedi, onda to treba i do kraja
da uradimo.
Još nešto, ko kaze da ćemo do kraja praviti programe sa six drajverima
(inače i ja koristim sixnsx 1.5), ako koristiš jm_ind rutine, one su
upotrebljive kod svih drajvera.
Ako ti neki korisnik trazi indekse po AZBUCI i to imaš tamo.
pozdrav, izvini ako sam te davio :).
clipper.576jolicm,
MOLIM VAS !
Ko ima exe verziju OBJ2EXE da mi pošalje na mail.
Ja sam probao da ga izlinkujem sa TurboC2.0 ali nisam uspeo.
To mi treba da bih proučio SIXUK.obj, i mislim da ću tada moći da
napravim ASM rutine za indeksaciju za SIX drajvere po svim našim kodnim
rasporedima i za ABCDu i za Azbuku.
Unapred hvala
PS. Ako neko ima tajfajl već disasembliran, moze i to
clipper.577cnenad,
ŁŁŁ RE: PKLITE + Clipper
pklite -r (remove overlays data)
BTW, radi bez problema. Naravno ako dajete savet da ovo ne radim, poslušaću
vas :)
clipper.578nbatocanin,
> Još uvek radim sa clipper-om 5.01/RTLink/dbfntx, tako da
> nisam koristio SIXCDX, ali sam imao problematiku brzog
> prebrojavanja slogova i Scrollbar-a (ovo sam čak jednom
> opisivao ovde).
Vrlo lepo. Jel' mogu ovo da stavim u Savetnik?
clipper.579nbatocanin,
> DBCMD/1025 Argument error : ORDNUMER.
>
> Kakva su vasa iskustva ?
Kažem ja da nije baš čist. Nego, jel ga preuredio neko da može da
uradi REPLACE memo WITH ""? Meni javlja neodgovarajući tip izraza ;(
clipper.580neman,
> Ajde, salji ovamo utiske & zelje da vidim sta je razlog,
> pa da popravljam sta se da popraviti :)
Ja sam nazubljujem program, sam kontrolisem velicinu slova ...
Cinimi se da je tako lakse.
neman
clipper.581dr.grba,
>> 5. DUBROVNIK
>>
>> HKKKKISPRABKA: 5. ĐURĐEVAK
Ovoliku poruku pišeš on line, a mene pitaš "šta će ti SOR?" (((:
NHF, nadam se. De, svrati na piće do mene...
clipper.582bulaja,
││Bullet for C 1.03: B-tree/dBase (.DBF) database toolkit
│└───
│ Preuzeo sam ovo pre neki dan i vrlo sam nezadovoljan:
└───
Upravo ovih dana stigla je i verzija 1.08z (jako sveža, od 01.08.94).
Koliko danas biće prebačena u direktorijum, pa vidi onda da li su možda
nešto popravili :).
clipper.583cnenad,
ŁŁŁ Samo 15-ak ljudi koristi ovaj programčić ?!? :) 15-ak zadovoljnika
Misliš 15 skinulo, 14 koristi :), nisam još stigao da probam :(
clipper.584cnenad,
ŁŁŁ SIXYU.obj ne uzima u obzir naša slova "lj", "nj", "dz", a moje rutine i
ŁŁŁ to Mozda je to trazenje reške u tuđem radu, ali ako se već trudimo da
Ovo je apsolutno tačno.
ŁŁŁ napravimo pozdrav, izvini ako sam te davio :).
Naravno da me nisi 'udavio' :))) žini mi se da je ova tema oduvek bila
rak-rana svima koji se bave kliperom. Nadam se da ćete ovoga puta, vi majstori
uspeti definitivno da pronađete najbolje moguće rešenje za ovu problematiku i
verujem da je ovo pravi trenutak da se to i uradi. Nažalost moje znanje je
za ovo vrlo skromno, tako da sa moje strane imate moralnu podršku.
clipper.585bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
cdx30i zip 50447 DBFCDX 3.00: update-ovan CDX RDD za CA-Clipper 5.2 Intl
cdx30us zip 50141 DBFCDX 3.00: update-ovan CDX RDD za CA-Clipper 5.2 US
Release Notes DBFCDX 3.00
1. The locking for DBFCDX 3.00 has been changed from DBFCDX 2.00. The
locking scheme now used is compatible with FOXPRO, FOXPRO for Windows,
SIx 2 and the FOXPRO/ACCESS ODBC Windows driver. This new locking scheme
provides for a wider base of compatibility and higher performance.
There is no need to link CDXLOCK.OBJ anymore.
2. Structural indexes are now always located at the front of the order
list. This change eliminates confusion as to the location of the structural
index tags. Users using the recommended method of specifying orders via
order names will not notice any difference.
3. Performance has been greatly increased and load size has been lowered.
4. Spurious GPF errors have been fixed.
5. Memo Support has been rewritten to improve reliability.
6. The RTLink Command STACK 0 must be added to base52.lnk for DBFCDX to
be linked into a PLL file.
clipper.587bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
bligpf zip 13030 BLIGPF v1.03a: vadi GPF Error Info iz Blinker 3.x .MAP
exogpf zip 12459 EXOGPF v1.03a: vadi GPF Error Info iz CA-ExoSpace .MAP
============================================================================
BLIGPF v1.03a - Extracts GPF Error Information From Blinker 3.x MAP Files
EXOGPF v1.03a - Extracts GPF Error Information From CA-ExoSpace MAP Files
------------------------------------------------------------------------
(c)1994 SuccessWare Int'l THE Data Driver Company
============================================================================
BLIGPF will scan a Blinker 3.x/ExoSpace-created .MAP file for the symbol
being referenced by the memory address information (Segment and Offset)
displayed by a General Protection Fault (GPF) Error. If found, the symbol
and its associated information will be displayed.
clipper.588bulaja,
│Funkcije indeksiraju i po ABCDi i po Azbuci, dosta su brze, pa
│kome treba nek izvoli. Bulaja proveri da li je ovo za dir.
└───
Prebačeno u CLIPPER dir, zahvaljujemo :).
clipper.589stosic,
>Ima li neko ovde uopste Class(Y) 2.0? Izasao je patch za verziju
>2.0e, pa da znam da li uopste to da stavljam negde u public. :)
Sta ima novo u odnosu na 2.0d ?
clipper.590bulaja,
│Sta ima novo u odnosu na 2.0d ?
└───
Class(y) v2.0e resolves some compatibility problems which existed in
earlier versions. Specifically, changes made in Class(y) v2.0d to
support Blinker v3.0 could lead to incompatibilities in certain
environments, including OS/2 and Novell DOS 7.
Class(y) v2.0e resolves all such problems and should be fully compatible
with all existing linkers and operating systems which CA-Clipper works
with. Specifically, it should be fully compatible with all versions of
CA-ExoSpace, Blinker, CauseWay, .RTLink and WarpLink.
For details of changes between v2.0e and earlier versions, please refer
to the Class(y) READ.ME file after applying the patch.
clipper.591stosic,
>> "Nazubljivanje" Clipper source-ova (szeman)
>>
> Samo 15-ak ljudi koristi ovaj programcic ?!? :) 15-ak zadovoljnika
> korisnika + N nezadovoljnih... Ajde, salji ovamo utiske & zelje da vidim
> sta je razlog, pa da popravljam sta se da popraviti :)
Najbrzi nacin da vidis sta jos moze da se "popravi" je da testiras program
na sorsevima raznih autora. Uzmi, za pocetak, NANFOR. Evo primera koji tvoj
program ne uvazava:
STATIC aDbfNtxMethods := ;
{ ;
"DBFNTX", ; // Driver name
{ { || DBFEXTENT }, ;
{ || DbtExtent() }, ;
}, ;
{ { || NtxExtent() }, ; // .indExtent
{ || "" }, ; // .MultiExtent
{ | x | OrdBagName( x ) }, ; // .getIndexName
{ | nO, nP | NtxRec( nO, nP ) } ; // .getIndexRec
} ;
}
clipper.592bpekic,
Evo primera za priblizno pretrazivanje i izvestaj.
PRIMER:
Datoteka sadrzi neke datume placanja i indeksirana je po datumu placanja.
Siguran sam da sam placanje izvrsio negde oko 10.07.1994 ali mi tacan
podatak nije poznat.
Zelim da u bazi nadjem recimo 10 (NRANG) datuma pre i 10 datuma posle
pribliznog datuma (CKLJUC), pa da pregledam i podsetim se.
Zadajem naravno i poziciju polja u slogu (NPOLJE) u primeru je to 2.
Povratna array ce sadrzati 20 datuma sa repernim u sredini.
bpekic
/////////////////////////////////////////////////////////////////////////////
CLEAR SCREEN
USE primer NEW
SET INDEX TO primer
GO TOP
// cKljuc nRang nPolje
a_ := APROX(CTOD("07/10/94"), 10, 2) // DATUM je 2. polje po redu
? "Nadjeni datumi: "
? "----------------"
FOR i := 1 TO LEN(a_)
? a_[i]
NEXT i
? "---------------"
CLOSE DATABASES
RETURN
STATIC FUNCTION aprox(cKljuc, nRang, nPolje)
************************************
/* Funkcija uzima KLJUC (cKljuc) kojim zelim bazu pretrazivati,
zatim RANG (nRang)- broj slogova oko zadatog datuma i
POLJE (nPolje) ciji podaci me interesuju.
Neka je zadatak da vidim u kom je datumu neka transakcija izvrsena
ali nisam siguran tacno u datum, vec znam da je to negde oko
10 Jula 1994.
Siguran sam da je to bilo +- 10 dana, zelim datume svih transakcija
+- 10 dana od pribliznog poznatog datuma (Recimo da je za svaki dan
postojao samo po jedan unos)
Funkcija ce vratiti ARRAY koji sadrzi 20 datuma promene, 10 ispred
zadatog (ili priblizno nadjenog) i 10 iza takvog datuma (cKljuc) */
LOCAL arr_ := {}
LOCAL oldsoft := SET(_SET_SOFTSEEK, .T.)
SEEK cKljuc
SKIP -nRang
DO WHILE (LEN(arr_) < (nRang * 2)) .AND. !EOF()
AADD(arr_,FIELDGET(nPolje))
SKIP
ENDDO
SET(_SET_SOFTSEEK, oldsoft)
RETURN(arr_)
clipper.593dpredovic,
> To mi treba da bih proučio SIXUK.obj, i mislim da ću tada moći
> da napravim ASM rutine za indeksaciju za SIX drajvere po svim
> našim kodnim
Imaš sixyu.obj i sixyu.asm prikačen uz jednu moju poruku. To je
sixger.obj u koji je uteran yuscii.
clipper.594dpredovic,
>> Ajde, salji ovamo utiske & zelje da vidim sta je razlog,
>> pa da popravljam sta se da popraviti :)
>
> Ja sam nazubljujem program, sam kontrolisem velicinu slova ...
> Cinimi se da je tako lakse.
>
Ma to je OK, ali desi se da dobiješ tuđi sors koji treba održavati.
Ako je taj neko vaspitan na summer-u ili još gore dbase-u, a posle
nije "prevaspitan" na 5.0, noći buljenja u ekran su zagarantovane...
PR tu pomaže koliko može (a mogao bi i više ;)).
clipper.595dpredovic,
> Svaki put kada pokusam da otvorim datoteku kreiranu sa DBFNTX
> koja ima i memo polja ( tj. sa pripadajucim DBT fajlom), DBX
> pukne sa izjavom :
>
> DBCMD/1025 Argument error : ORDNUMER.
Da ga nisi prelinkovao sa 5.2d?
clipper.596szeman,
> Ja sam nazubljujem program, sam kontrolisem velicinu slova
> ... Cinimi se da je tako lakse.
>
> neman
Znam kroz kakav sam ja pakao prošao i pokušavam da i vama olakšam
muke :) Uzmi, npr., neki source od 15K koji nisi ti pisao, a ne svidja
ti se kako izgleda, pa ga onda ručno... :) Nego ti lepo baci ovde želje,
pa da vidimo :)
Pozdrav, Saša
clipper.597szeman,
> Ako je taj neko vaspitan na summer-u ili još gore dbase-u,
> a posle nije "prevaspitan" na 5.0, noći buljenja u ekran
> su zagarantovane...
Naravno, u source za 5.0 mogu i predprocesorske naredbe, pa razne kuke i
kvake ;) pa specijalna 'uvlačenja' i sl. što užasno otežava čitljivost
programa i bez potrebe zagorčava inoako kratak nam život.
> PR tu pomaže koliko može (a mogao bi i više ;)).
Biće, biće ;) (za neupućene : DO WHILE uslov; NAREDBE; END DO i sl.)
Pozdrav
clipper.598szeman,
>> ŁŁŁ Samo 15-ak ljudi koristi ovaj programčić ?!? :) 15-ak
>> zadovoljnika
> Misliš 15 skinulo, 14 koristi :), nisam još stigao da
> probam :(
>>> PR102.ZIP 23.07.1994.
>>> Dužina 8781 bytes
>>> Vreme prenosa 0 min 38 sec
>>> Preuzeto 34 put(a)
žžžžžžžžž
Sve šta mislim, ja i napišem (uglavnom ;) samo, treba to neko i da
pročita :) I za tebe isto važi probaj i šalji utiske.
Pozdrav
clipper.599szeman,
> Najbrzi nacin da vidis sta jos moze da se "popravi" je da
> testiras program na sorsevima raznih autora. Uzmi, za
Naravno da je to jedan od načina, zato sam i poslao ovaj utility na
testiranje za ne S'87 source, jer takav source nemam, a i nisam se potrudio
da ga nabavim (sve što mi je ikad zatrebalo od funkcija sam sam pravio,
jer ne volim da usred rada program pukne i prijavi neku nebulozu)
> Evo primera koji tvoj program ne uvazava:
>
> STATIC aDbfNtxMethods := ;
> š ;
> "DBFNTX", ; // Driver name
To se traži :), konkretan primer. Ovo ne radi korektno iz jednog prostog
razloga - zato što program traži _;_ na kraju linije.
Biće ispravljeno u sledećoj verziji.
Pozdrav, Saša
clipper.600cnenad,
Ajmo malo na familiju Six drajvera :) jer verujem da je kod svih isto.
Kod mene na SixCDX 1.5 sam dobio grešku 611 koja kaže da je prevelik broj
bajtova u ključu za indeks. Kaže da može maksimalno biti 240. Naravno pošto
je ključ bio za 4 polja odjednom pretpostavljam da je tu negde problem.
Odnosno jedno polje je svojom cifrom pregazilo broj 240 u zbiru sa ostalima
i zato je prijavio grešku. Da li je ovo tačno ?
clipper.601cnenad,
U vezi PR programa za nazubljivanje SOURCE-eva, probao sam ga danas i
moram priznati da sjajno radi :) Da li bi mogao recimo da se ubaci SWITCH
da umesto n SPACE-ova uvlači za n TABOVA, naravno veličina TAB-a zavisi
od editora. Takođe, kad radi sa više datoteka, u zadnjoj koloni zadnja cifra je
zbir za koliko su se nove verzije (nazubljene) povećale. Da li bi isto u
prvoj koloni mogao da stoji na dnu ispod još jedne podvučene linije zbir za
veličinu nakon obrade *.BAK datoteka ?
Pretpostavljam da sa redirekcijom izveštaja sa ekrana u datoteku nema problema,
nisam stigao da to probam :) ?
clipper.602jolicm,
Zdravo.
Mislim da se nismo razumeli.
Pokupio sam ja tvoj SIXYU, i naravno pregledao asm rutinu, ali to ima jako puno
linija, nepreglednih tabeli,(nisi ti kriv, tako je uradio disasembler)
Kada bih trebao to ozbiljno da analiziram kako radi, treba pregledati listing
od preko 20 strana !:(((. A da bih mogao praviti nešto svoje ipak mi treba
način rada SIXGER, SIXUK, SIXSVE, ...
Najlakše ću izanalizirati SIX indeks drajver na SIXUK, jer on nema te duge
tabele, vraća sigurno original vrednosti, dug je SAMO oko 600 bajtova.
Ja ne trazim da bilo ko radi nešto za mene ako to mogu sam, ALI pokupio sam
sa Sezama onaj fajl OBJ2EXE ali tu nema exe verzije, već treba kompajlirati i
linkovati sa nekim C-om, ja sam pokušao sa TC2.0, ali mi je on pokazao neke
greške, a otklanjati greške utuđem programu, za to treba vremena.
Daklem ako imaš taj OBJ2EXE u radnoj varijanti ili neki drugi obj-disasembler
MOLIM te pošalji mi ga na Sezam, ili ako ti je lakše disasembliraj mi SIXUK
i to mi pošalji.
Ja već sada mogu pomoću tvog SIXYU.asm napraviti programe po svim kodnim
rasporedima i po abcdi i po azbuci, ali oni nebi imali obradu naših slova
"NJ", "LJ", i "Dč", i to ne bi smelo da se okači na SEZAM jer bi to ipak
bilo prepravljanje originalnih SIX drajvera, što ja mislim da ne sme.
ovako ako dobijem disasembliran taj SIXUK ,ja ću napraviti originalne drajvere.
Hvala na strpljenju za ovo dugo čitanje :).
clipper.603jolicm,
MOLIM ako je neko ima problema sa VM sa kombinacijom SIXNSX1.5 i Blinker3.0
neka se javi jer ja čitam u ovoj konferenciji o silnim problemima sa VM, a
meni se to do sada nije dešavalo, pa neznam da li sam siguran od tog zla.
i ako imate i ako nemate problema javite se MOLIM :)
Hvala :)
clipper.604dvesic,
>> Da ga nisi prelinkovao sa 5.2d?
Jesam, a sto ?
clipper.605dvesic,
>> Zelim da u bazi nadjem recimo 10 (NRANG) datuma pre i 10
>> datuma posle pribliznog datuma (CKLJUC), pa da pregledam i
>> podsetim se...
Ako imas SIXCDX drajver :
Set Order To Tag Primer
Set ScopeTop To CKLJUC - 10
Set ScopeBottom To CKLJUC + 10
Go Top
While ! Eof()
qOut(Baza->Datum)
dbSkip()
End While
Mislim da je ovako jednostavnije ...
clipper.606gosse,
Izvini ,bev na odmor_č.ÓăKoristam PLL ama za razvoj.Imam vpeŠatok deka e
pobavna rabotata so pll I zatoa sakam da go razv+0ojam exe-to na pr. 150K exe +
nadvoresen ▀Overlay (statiŠki)Fala na Odgovorot.PS se nadevam deka nesto ke
uspee da se probie niz ovie sumovi >)Ou
Ou
clipper.607neman,
> neka se javi jer ja citam u ovoj konferenciji o silnim
> problemima sa VM, a meni se to do sada nije desavalo, pa
> neznam da li sam siguran od tog zla. i ako imate i ako
> nemate problema javite se MOLIM :)
Blago tebi, i tvojim korisnicima :)
clipper.608nbatocanin,
> Evo primera za priblizno pretrazivanje i izvestaj.
Nije mi sasvim jasan cilj, ali zar nije bolje omogućiti korisniku
pregled i ostalih podataka iz tabele, a ne samo datuma plaćanja? Ja
za ovakve stvari koristim "restriktivni" browse: korisnik zada
početni i krajnji datum, a program izlista slogove između.
clipper.609dvesic,
Da li je neko nesto cuo (video ;) o ObjectDB V1.1 prosirenju za Clipper ?
U novom "Softvare Developer"-u o njemu pricaju bajke i bajkice :
Potpuno objektno orijentisan (oslanja se na run-time verziju Class(y)-a)
transparento pisanje za jednog ili vise korisnika (svodi se na
MULTIUSER = YES/NO), podrzava potpunu relacionu bazu na Clipperu
(Primarni/strani kljucevi, potpune relacije u smislu kaskadnog brisanja
u dete - oblastima), NOT NULL polja, AutoIncrement polja, sistem
transakcija (Begin/Save/Commit/Rollback Transaction) ...
Proizvodjac je Princeton Micran Associates Inc, cena (prava sitnica)
199$, demo je na PMA' BBS-u ili CA-Clipper forumu na CompuServe ...
clipper.610dejanr,
Poslednjih par meseci bilo je ovde puno diskusije o raznim verzijama
Clipper-a, Blinkera, SIX drajvera itd. Puno poruka, i sada se već nije
lako snaći sa svim time.
Mislim da je pravo vreme za neku vrstu rezimea, posle koje bi moglo da
se diskutuje dalje. Da li bi neko od diskutanata bio raspoložen da
napiše jednu poruku u kojoj bi rezimirao dokle se došlo, šta su tačno
zaključci i koje su dileme preostale. Dakle, neko hoće da programira
u Clipper-u, da koristi SIX drajvere i da to bude što lakše za razvoj
i da što pouzdanije radi. Šta da uzme?
Obaška što bi se od toga mogao napraviti lep tekst za "Računare", ako je
neko raspoložen.
clipper.611jolicm,
>> nedovoljno 240 karaktera za indeksne ključeve.
Koliko ja znam to je ograničenje clippera.
Ali šta će ti toliki ključ, on se UVEK moze dovesti na rzumnu meru.
Ukoliko imaš na primer:
grad c 50
ulica c 50
ime c 50
tada ti je najjednostavnije da gradovima dodeliš i šifru pa da indeksiraš
sa index on str(sifragrada,duzina)+ulica+ime.
Ovaj primer je samo ilustracija, Siguran sam da se mozes izvući na sličan način
i od tvojih 240 karaktera.
Ukoliko moraju da ti budu polja bez šifara, seci duga polja na razumnu meru sa
RTrim(polje,razumnibroj), i tada je jedini problem u seek naredbi gde opet
treba voditi računa o tom sečenju.
Zdravo.
clipper.612jolicm,
MOLBA.
Još se NIKO u ovoj konferenciji nije javio da ima problema sa VM i kombinacijom
BLinker3.0+SIXNSX1.5 ili RTLink+SIXNSX1.5.
Molim VAS koji koristite ovu kombinaciju da odvojite malo vremena i javite se
sa porukom kratko (Bilo problema ili nije bilo problema), jer ako stvarno nema
problema, onda je to i savet drugima da pređu na tu kombinaciju, a ako ima i tu
problema, onda treba da se i ja na to zlo spremim. Hvala :)
clipper.613dpredovic,
> Najlakše ću izanalizirati SIX indeks drajver na SIXUK, jer on
> nema te duge tabele, vraća sigurno original vrednosti, dug je
> SAMO oko 600 bajtova.
To sam i ja mislio, ali... Kada pogledaš sikuk, ne vidiš ništa
jer pojma nemaš šta koja funkcija prima kao parametar, a šta vraća,
"prevedenu" ili ascii vrednost, pošto je kod uk to isto...
Evo ga obj2asm, ali veruj da je najlakše da kreneš od onog sixyu.asm
BTW. Jasno je da bi sve to moglo da se uradi prostije nego u sixXXX.obj,
ali koliko sam primetio kod njih je ostavljen prostor da može da se
uradi i ne-ascii raspored tj. mapiranje više znakova kao jedne collate
vrednosti, što bi nama baš i trebalo, ali nisam imao živaca da se time
bakćem...
clipper.614dpredovic,
> Najlakše ću izanalizirati SIX indeks drajver na SIXUK, jer on
> nema te duge tabele, vraća sigurno original vrednosti, dug je
> SAMO oko 600 bajtova.
To sam i ja mislio, ali... Kada pogledaš sikuk, ne vidiš ništa
jer pojma nemaš šta koja funkcija prima kao parametar, a šta vraća,
"prevedenu" ili ascii vrednost, pošto je kod uk to isto...
Evo ga obj2asm, ali veruj da je najlakše da kreneš od onog sixyu.asm
BTW. Jasno je da bi sve to moglo da se uradi prostije nego u sixXXX.obj,
ali koliko sam primetio kod njih je ostavljen prostor da može da se
uradi i ne-ascii raspored tj. mapiranje više znakova kao jedne collate
vrednosti, što bi nama baš i trebalo, ali nisam imao živaca da se time
bakćem...
obj2asm.zipclipper.615dpredovic,
>>> Da ga nisi prelinkovao sa 5.2d?
>
> Jesam, a sto ?
Pa izgleda da je u tome fazon... U 5.2d uvedene su neke nove kontrole
parametara, i to mu je to...
clipper.616neman,
> Jos se NIKO u ovoj konferenciji nije javio da ima problema
> sa VM i kombinacijom BLinker3.0+SIXNSX1.5 ili
> RTLink+SIXNSX1.5.
Ja se javljam odavno i koristio sam prvu kombinaciju, pa kad je dosao
Blinker 3.01 korsitim i to ali na zalost nista.
Da rezimiram, VMIF se javlja u svim kombinacijama, obicno u stanju cekanja,
najcesce pri radu sa nekim TBrowse objektom. Cesce se javlja ( kod mene )
na 286 masinama, sa nategnutom memorijom, mada pukne iz cista mira i
na 386 masini. Pre par dana sam ( nisam smeo ranije :(, bio je NTX )
aktivirao aplikaciju na Novell mrezi u kojoj su uglavnom 286 masine kao
radne stanice. Za sada se ne bune da program ispada, ali da ne bude veselja,
meni je pri instalaciji pukao u TBrowse objektu na 386 masini sa 4 MB, ta-
kodje radna stanica.
Sa rtlinkom nisam uspeo da nateram aplikaciju da radi, prosto zdere memoriju.
neman
clipper.617bulaja,
│Mislim da je pravo vreme za neku vrstu rezimea, posle koje bi moglo da
│se diskutuje dalje. Da li bi neko od diskutanata bio raspoložen da
│napiše jednu poruku u kojoj bi rezimirao dokle se došlo, šta su tačno
│zaključci i koje su dileme preostale.
└───
Pa problem je što se još ništa pouzdano ne zna :). Ono što ja mogu sa
sigurnošću da tvrdim je da kod mene kombinacija Clipper 5.2D + SIX v1.5
Intl Patch #3 + FunckyX v2.02 (koristeći njegov VM) + Blinker 3.01 (sa
BlxRateX i BlxClp52) radi bez javljanja VMIF već nekoliko nedelja. Pri
tome je ključni momenat bio patch za Blinker v3.01 jer je pre njega sve
pucalo svakodnevno. Ipak iz ovoga se ne može tvrditi da Blinker v3.01
rešava probleme, pošto kod nekih ni on nije mnogo pomogao. Vrlo je
verovatno da u mom slučaju dosta utiče i FUNCky VM (koji zamenjuje
Clipperov VM sistem). Svojevremeno dok je drugima pucao i Clipper 5.2C,
meni je čak i u kombinaciji sa SIx-om radio bez problema baš zato što
sam koristio FUNCKy-jev VM sistem.
žini mi se da se još uvek ne može sa sigurnošću tvrditi ko je
najodgovorniji za pojavu VMIF grešaka i čime se one definitivno
otklanjaju. Problem je što je zavisno od slučaja do slučaja frekventnost
pojave VMIF različita i teško se može simulirati, što otežava izdvajanje
krivca i praćenje promena uzrkokovanih korišćenjem različitih verzija
Clipper-a, biblioteka i linkera. Dakle treba sačekati još malo (još
jedan Clipper patch, novi SIx ili nešto slično) i nadati se da VMIF-ova
više neće biti ni u kom slučaju :).
clipper.618jolicm,
Izvini, ali sam stvarno preskočio tvoj opis VM greške.
Q: Da li koristiš clipperovu browse funkciju ?
Q: Ako koristiš svoju funkciju, da li radiš sa READMODAL()
Prilično mi je interesantno da ja do sada nikada nisam imao taj slučaj greške
VM, a svi drugi jesu.
Pazi: Clip5.01 + blinker2 + ntx
Clip5.01 + rtlink + ntx
Clip5.2c + blinker3.0 + ntx
Clip5.2c + blinker3.0 + sixcdx
clip5.2c + blinker3.0 + sixnsx1.5
clip5.2d + blinker3.0 + sixnsx1.5
clip5.2d + blinker 3.0 +ntx
ovo sve gore i sa rtlinkom
Ja imam neka iskustva ranije (sa 5.01) da su mi nekada (jako retko) ostajale
vrednosti lokalnih promenljivih u rekurzivnim programima.
Mozda je to rešenje da clipper uopšte nepouzdano radi sa promenljivima (tu su
isto i objekti).
Clipperova funkcija READMODAL ne inicijalizuje GetList, za razliku od READ.
Ja koristim neki svoj Browse koji ima običnu READ naredbu,
MOčDA je tu rešenje zašto se meni ne dešava to čudo sa virtualnom memorijom.
Da napomenem da Browse koristi public getlist, a ja local getlist.
Odgovori mi, mozda je tu negde rešenje.
:)
clipper.619mdrazic,
>> Vremenom programi rađeni u kliperu rastu ko kvasac :(( pa
>> se dolazi do situacije da je nemoguće startovati program
>> u 'pročišćivalu' :)
>>
>> Kako ste vi rešili taj problem ?
>
> Tužno :(((
>
> žudovište od programa ima 2.1MB sorsa i 1.55MB EXE :(
Taj problem sam i sam osetio pošto sam unapredio PC sa Herculesa
(704K pod DOS uz QEMM) na VGA (640K). I tako, mučim se ja sve dok
mi kolega u ovom poslu sa kojim radim u timu, inače učesnik
računarske olimpijade :) ne otvori oči: ima VIDRAM u QEMM-u.
Sa 'vidram on' dodaješ 96K na DOS memoriju na račun grafike koju
ionako ne koristimo (uglavnom) u Clipper programima. Tako se može
pokrenuti CLD kod mene sa aplikacijom koja traži oko 420K (EXE 1.3M).
Kada ti dosadi Clipper, 'vidram off' vraća memoriju video sistemu.
BTW nije pročišćivalo nego trebilica :)
clipper.620neman,
> Izvini, ali sam stvarno preskocio tvoj opis VM greske.
> Q: Da li koristis clipperovu browse funkciju ?
Koristim TBrowse
> Q: Ako koristis svoju funkciju, da li radis sa READMODAL()
Pa valjda :), program obicno pukne u stanju cekanja, mada da budem
precizniji PRED stanje cekanja tj. mozda na samom pocetku cekanja na
pritisak na tastaturu. Program ispise tabelu i pukne. Verujem da pocne
da radi onaj garbage collecting pa se zajebuni. Isto mi je pucao u sistemu
menija i to opet na samom pocetku cekanja, jer ispise menije pa pukne.
> Prilicno mi je interesantno da ja do sada nikada nisam
> imao taj slucaj greske VM, a svi drugi jesu.
Blago tebi :)
> .....
> ovo sve gore i sa rtlinkom
Ne secam se da sam imao tih problema sa Clipper 5.2x + Rtlink + Ntx,
ali SIXNSX je doneo neke prednosti, zbog koje mi je sa viseg mesta
dozvoljeno da program ponekad pukne :)
> Clipperova funkcija READMODAL ne inicijalizuje GetList, za
> razliku od READ. Ja koristim neki svoj Browse koji ima
> obicnu READ naredbu, MOZDA je tu resenje zasto se meni ne
> desava to cudo sa virtualnom memorijom. Da napomenem da
> Browse koristi public getlist, a ja local getlist.
> Odgovori mi, mozda je tu negde resenje. :)
Pa moguce, s'obzirom na moju prethodnu napomenu da program puca pri pocetku
cekanja na unos sa tastature ( ili pri inicijalizaciji GET sistema, kako
ti kazes ). Inace pri unosu podataka pomocu TBrowse objekta stavio sam
dbcommit() i kada pukne vidim da je upamtio poslednju unetu stavku sto opet
ukazuje da ima problema sa (pred)stanjem cekanja.
Mislim da problem ipak ima veze sa velicinom slobodne memorije, jer kada
sam na masini ( 286 ) povecao slobodnu memoriju instalacijom DOS-a 6.20 i
koriscenjem DOS=HIGH, problemi sa VMIF om se u toku dvodnevnog rada na tom
racunaru nisu javljali. Zatim mje radnica koja radi za tom masinom otisla
na odmor. Ovo resenje vazi za jos jednu 286 masinu koja je pravila probleme.
Sto se tice tvoje primedbe, sada nemam vreme za eksperimentisanjem, idu
ispiti od naredne nedelje :( pa cu kasnije da probam tvoj predlog.
P.S. READ se prevodi u READMODAL(); getlist := {}, pa sama READ komanda
ne predstavlja problem.
clipper.621amarilis,
Imam jedan mali problemcic.Naime hocu da pokrenem neki dos program iz clipp.-a
ali da ime programa bude sadrzano u nekoj promenjivoj.Na primer
promenljiva="edit"
run promenjRUN promenjiva
Stvar je u tome sto on pokrece program promenjiva a ne editKKKKKKMljiva a ne
edit koji hocu da pokrenem.Stvar je sitna ali za mene bitna!
clipper.622jolicm,
Pokušaj sa 1. RUN &edit
ili sa 2. RUN (edit)
clipper.623ikordic,
RE: CLD
=> Ima opcija "Save Parameters" pa fajlu daš ime INIT.CLD i
=> on se uvek učiatava i nema problema.
Ohoho! :) Ne preterujmo, umemo da čitamo helpove i slično, ovo nam je
poznato. Ne znam kako kod tebe, ali kod mene snimi "otprilike" raspored
prozora i veličinu, koje posle moraš ručno da doteruješ.
clipper.624ikordic,
RE: ObjectDB
=> Potpuno objektno orijentisan (oslanja se na run-time verziju
=> Class(y)-a) transparento pisanje za jednog ili vise korisnika (svodi
=> se na MULTIUSER = YES/NO), podrzava potpunu relacionu bazu na
Da ne ispadne kao onaj Object.lib onog poljaka? I onaj je slične stvari
omogućavao, ali mu brzina nije bila vrlina. Na 286-cama radi mortus sporo,
što ga (uglavnom) izbacuje iz igre. 'Ajde da vidimo taj demo ...
=> sistem transakcija (Begin/Save/Commit/Rollback Transaction) ...
Boom! Jel' ima još neki detalj o ovome (ugl. po pitanju realizacije)?
clipper.625ikordic,
RE: PKLite + Clipper
=> pklite -r (remove overlays data)
=>
=> BTW, radi bez problema. Naravno ako dajete savet da ovo ne radim,
=> poslušaću vas :)
Ne radi baš bez problema. U izvesnim kobinacijama (npr. veći prg + cache)
dešavaju se zaglupljivanja, povremena brljanja pri indeksiranju i file i/o,
itd. Uglavnom, ništa u šta mogu upreti prst i reći "to i to ne radi", ali sa
PKLite-ovanim programom se dešavaju veselja koja se inače ne dešavaju (jako
koncizno & precizno formulisano :)).
Uglavnom, sam Clipper, njegov VM sistem, operativni sistem pod kojim radi,
and so on, predstavljaju krpež krpeža i konceptualno su nesigurni i
nepredvidivi. Zašto krhku stabilnost te građevine narušavati još jednim
krpežom? Ako ti je motiv za korišćenje PKLite-a kriptovanje poruka, to
možeš (istina, uz malo više koda i uz malu pomoć pretprocesora) ostvariti iz
samog Clipper-a, bez potrebe za eksternim alatkama (prava tema za NB ;)).
Daklem, moj savet - skip it!
clipper.626neman,
> P.S. READ se prevodi u READMODAL(); getlist := {}, pa sama
> READ komanda ne predstavlja problem.
Hm, proverio sam ono sto si pricao za PUBLIC & LOCAL getlist.
Kod mene je bilo LOCAL getlist u oba dela programa koji su pucali.
Izbacio sam predmetnu deklaraciju pa ce vidimo sutra :) sta ce da bude.
Halo, bulaja, pominjao si da si odredio mesto gde je cesto pucao tvoj
program; da li ima veze sa prethodno pomenutom primedbom ?
clipper.627jolicm,
Nisam mislio da je glavna razlika u local i public getlist, već
da read briše sadrzaj Getlist:=šć, u Browse-u ima samo readmodal, koji ne briše
posle izvršavanja ništa, tako da ostane getlist prisutna.
Ja mislim da su glavni bagovi clippera u radu sa promenljivama, tj da kada
treba (svejedno lokalne, globalne, privatne ..) da ih izbriše, da ponešto
ipak ostane u memoriji, i da tokom rada na mašinama sa manje memorije, a duzim
programima, se tog nerešenog đubreta nakupi, i bez obzira na kom delu se nađe
program, on puca. Ponavljam da mi se dešavalo da posle drugog ulaza u neku
funkciju lokalne promenljive (neke, nekad) zadrze sadrzaj iz prethodnog ulaza.
Izgleda nemoguće, ali kada to moze, onda moze svašta.
clipper.628neman,
Jedno pitanje, sta podrazumevas pod Browse obicnu fju browse() koje izgleda
nema u std.ch ili na TBrowse, mada mi se cini da se sada Browse automatski
prevodi u Tbrowse.
H
clipper.629bulaja,
│Imam jedan mali problemcic.Naime hocu da pokrenem neki dos program iz clipp.
│ali da ime programa bude sadrzano u nekoj promenjivoj.Na primer
│ promenljiva="edit"
│ run promenjRUN promenjiva
│Stvar je u tome sto on pokrece program promenjiva a ne edit
│koji hocu da pokrenem.Stvar je sitna ali za mene bitna!
└───
Komanda RUN se pretprocesira u poziv interne Clipperove funkcije
__Run( <cCommand> ) gde je <cCommand> naziv programa (ili DOS komande)
koju treba izvršiti. Npr. komanda
RUN promenljiva
će se pretprocesirati u:
__Run("promenljiva")
Znači rešenje tvog problema je u tome da direktno koristiš tu internu
funkciju (ovo ti u CA sigurno ne bi preporučili, ali interne funkcije se
mogu posmatrati kao manje zlo od macro operatora koji bi inače trebao da
koristiš:), odnosno
__Run (cPromenljiva)
clipper.630bulaja,
Izlazi Clipper 5.3 !
Ovo piše u uredničkom uvodniku Clipper Advisor-a za Jul/Avgust, a pošto
je to časopis iza koga stoji CA treba im verovati. Detalji se ne pominju
ali vrlo moguće je da će to spremiti kao alternativnu udarnu temu na
skorom TechniCon-u 94 umesto VO čiji je izlazak izgleda odložen za još
koji mesec.
clipper.631cnenad,
ŁŁŁ poznato. Ne znam kako kod tebe, ali kod mene snimi "otprilike" raspored
ŁŁŁ prozora i veličinu, koje posle moraš ručno da doteruješ.
Kod mene ih vrati onako kako sam ih i snimio u INIT.CLD
clipper.632cnenad,
ŁŁŁ krpežom? Ako ti je motiv za korišćenje PKLite-a kriptovanje poruka, to
Ne, motiv je veličina EXE datoteke na DISKU kod pojedinih osoba, hranjenih
C-om. :))
U svakom slučaju, pošto sve Clipper aplikacije držim na komprimovanom
disku nema mnogo smisla još ih i PKLITE-ovati.
clipper.633bulaja,
│Uglavnom, sam Clipper, njegov VM sistem, operativni sistem pod kojim radi,
│and so on, predstavljaju krpež krpeža i konceptualno su nesigurni i
│nepredvidivi. Zašto krhku stabilnost te građevine narušavati još jednim
│krpežom? Ako ti je motiv za korišćenje PKLite-a kriptovanje poruka, to
│možeš (istina, uz malo više koda i uz malu pomoć pretprocesora) ostvariti iz
│samog Clipper-a, bez potrebe za eksternim alatkama (prava tema za NB ;)).
│Daklem, moj savet - skip it!
└───
Ipak ima primena gde korišćenje PKLite-a može pomoći :). Konkretno, ja
ga koristim za instalacione programe, jer nije mala razlika da li se sa
flopija učitava EXE od 450 K ili od 250 K. PKLite-ovani Clipper programi
se sasvim Ok ponašaju (naravno kada se NE koristi -r:) kada su linkovani
Blinker-om 3.01, dok RTLink malo brlja, a ExoSpace (logično) ne trpi
PKLite. Ja sam jedino u lnk file stavio Blinker Clipper Page Off i sve
funkcije u root, što je poželjno s ozbirom da se sve učitava sa flopija
a da je memorija manji problem :). Jedini problemi koje sam imao su
korišćenje Blinker funkcije BliSwpRunCmd() iz programa koji je startovan
sa flopija, koja je imala običaj da se zaglavi iako sam joj podesio
normalne (na hard disku) run i swap path.
clipper.634bulaja,
│Halo, bulaja, pominjao si da si odredio mesto gde je cesto pucao
│tvoj program; da li ima veze sa prethodno pomenutom primedbom ?
└───
U jednom slučaju uspevao sam da ponovim tačan sled dogadjaja koji bu
UVEK dovodili do pojave VMIF. Nažalost posle se ispostavilo da se
promenom linkera (Blinker 2.01 umesto 3.0) greška više nije javljala u
tim operacijama, ali je zato program i dalje pucao u drugim delovima.
Mogu sa priličnom sigurnošću da tvrdim da se VMIF javlja uvek prilikom
Clipper-ovog prikupljanja djubreta (garbage collection) - koliko se
sećam (a sećanje mi slabi pošto već mesec dana nisam video VMIF:) meni
se dešavao uvek u stanjima čekanja, ili u Inkey() funkciji ili u mojoj
zameni za istu. Svojevremeno mi je palo napamet da bi isključivanje
detekcije "praznog" hoda programa (idle time) koji Clipper koristi za
interne stvari (clean-up, garbage collection i sl.) moglo pomoći, ali
neko reče (ako se ne varam nbatocanin, mene je mrzelo da probam:) da
ipak ni to ne pomaže.
To što se VMIF (verovatno) javlja kod Clipper-ovog clean-up-a naravno ne
znači da je sam Clipper isključivo krivac već da je do nekoezistentnosti
VM-a došlo zbog neke treće biblioteke, spleta okolnosti, buga u DOS-u i
slično.
No pošto sam se ja tih problema rešio :) na način koji sam već objasnio,
da vidimo da li se nekome ko koristi Clipper 5.2D + Blinker 3.01 i u lnk
datoteci ima:
Lib BlxRateX
Search BlxClp52
i dalje javljaju VMIF?
clipper.635jolicm,
>> šta podrazumevaš pod Browse obićnu fju browse()
Kada imaš u programu browse() to ide iz clipper.lib, izvorni kod je dat
u nekom direktorijumu. Browse je posebna funkcija i ne prevodi se.
U njenom listingu stoji ono readmodal i posle toga ostavlja getlist punu.
Inače da saberem stvari:
Bulaja tvrdi da se pucanje programa događa na funkciji koja uklanja djubre
iz kliperove memorije.
ja tvrdim da se djubre gomila kada se koristi obična funkcija browse ( ne znam
za TBrowse). Dalje, Ako se koristi browse ili tbrowse za azuriranje podataka
(u pregledu omogućiš i ispravke) tada se stvara dosta đubreta, jer je GETLIST
višedimenzionalna, i za taj jedan get-read ipak velika, I tako upis + upis + ..
đubreta u memoriji koliko hoćeš.
Neki moj ubeđeni zaključak bi bio da ukoliko se više koristi browse(), ukoliko
se više koristi-preusmerava rutina zaobradu grešaka (i tu je array.) itd.
tada bi se morala ta famozna greška više javljati.
Da ponovim: U običnoj naredbi READ ima i getlist:=() i nema đubreta za
odstranjivanje, u funkciji browse() nema anuliranja getlist, i svaki pritisak
tastera enter stvara đubre u obliku kompletne getlist. Eto posla za rutinu za
otklanjanje đubreta i eto njoj više mogućnosti da za**be.
clipper.636nbatocanin,
> oči: ima VIDRAM u QEMM-u.
Samo na pomenem da mene ovaj VIDRAM oće povremeno da zeza tako što se
računar zaglavi. A da radi posao, radi.
clipper.637nbatocanin,
> Dakle treba sačekati još malo (još jedan Clipper patch, novi SIx ili
> nešto slično) i nadati se da VMIF-ova više neće biti ni u kom slučaju
> :).
Što se mene tiče, slažem se sa ovim + sigurnosna 2 meseca
-> ...opekao sam se, nikad više ;)
clipper.638nbatocanin,
> Prilično mi je interesantno da ja do sada nikada nisam
> imao taj slučaj greške VM, a svi drugi jesu.
Skoro sigurno je to zbog tvoje memorijske mape (količina i rasporeda
memorijskih promenljivih, ...).
> Ja imam neka iskustva ranije (sa 5.01) da su mi nekada
> (jako retko) ostajale vrednosti lokalnih promenljivih u
> rekurzivnim programima.
?? Ajde primer :)
clipper.639dejanr,
>> Izlazi Clipper 5.3 !
>>
>> Ovo piše u uredničkom uvodniku Clipper Advisor-a za Jul/Avgust, a pošto
>> je to časopis iza koga stoji CA treba im verovati.
Svetsko čudo da ga nisu nazvali 6.0. Ili je stvarno malo izmena (mada
mnogi na to ne obraćaju pažnju ;) ili su jako skromni...
Skromna softverska firma, to davno nisam video, dakle p će biti da
je prvo ;)
clipper.640jolicm,
>>Skoro je sigurno to zbog tvoje memorijske mape (količina i rasporeda
>>memorijskih promenljivih, ...).
I ja se slazem sa tim, ali najviše bih voleo da mi neko dobaci neki svoj
nekomercijalni program (pod zakletvom da ga neću ukrasti) da probam nešto
da da izmenim što se tiče pregleda i unosa, Verujem da bih izbegao greške.
Šta ako je moj način rada nepogodan za VM greške, mozda bi mogao da dam neke
savete kako ih izbeći.
>> ?? Ajde primer :)
Primer:
Primer nije dotični već ilustracija: :).
Pišem on line pa neću dati rekurziju.
main program
...
...
...
Ram(10,10,20,20)
...
...
Ram()
HH...
...
Return
Function Ram(a,b,c,d)
default a to 1, b to 1, c c to 20, d to 78
č a,b,c,d box "........."
Return
Promenljive a,b,c i d su lokalne po definiciji kako funkcija prima parametre
i po izlasku iz funkcije treba da budu izbrisane. !.
Meni se dešavalo ovo (ponekad, vrlo retko, frekfencija pojava kao taj VM)
Prvi put Ram iscrta box na 10,10,10
Drugi put mu ostane stara vrednost u a ili b ili c ili d tako da nedobijem
box 1,1,20,78 već na primer box na 1,10,20,78.
Naredba default koristi standardno: if valtype(...
Ispada da je neka lokalna promenljiva prešla u static tip.
Ostade 1 minut, ajd zdravo. :)
.log
clipper.641dvesic,
>> Lib BlxRateX
>> Search BlxClp52
>>
>> i dalje javljaju VMIF?
Javljaju se i dalje, mada mnogo, mnogo redje. Mozda je razlog
javljanja i nekoriscenje Funky VM podsistema ?
clipper.642dvesic,
>> sto ga (uglavnom) izbacuje iz igre. 'Ajde da vidimo taj demo
Cim ga neko skine iz belog sveta :))
>> Boom! Jel' ima jos neki detalj o ovome (ugl. po pitanju
>> realizacije)?
Na zalost, ne. Samo se pominje kao jedan od udarnih noviteta
verzije 1.1
clipper.643bulaja,
│Svetsko čudo da ga nisu nazvali 6.0. Ili je stvarno malo izmena
│(mada mnogi na to ne obraćaju pažnju ;) ili su jako skromni...
└───
Za mene i nije neko čudo :) - potpuno je očekivano da se neki Clipper sa
oznakom verzije 6.0 neće pojavljivati pre Visual Objects-a. Svojevremeno
CA ni oko sasvim solidnih noviteta u verziji 5.2 (RDD-ovi) nije dizao
mnogo buke. Pošto se još ne zna šta će Clipper 5.3 doneti, logično je
pretpostavljati da će to prvo biti brojne interne izmene koje su bile u
ova 4 dosadašnja patch-a, možda integrisani ExoSpace, a možemo se samo
nadati kompletnoj objektivizaciji jezika, odnosno bar dokumentovanoj
mogućnosti za kreiranje sopstvenih objekata (pa makar oni bili na nivou
oClip-a, jer bi to bilo vrlo značajno za razvoj third-party biblioteka).
Ako je neko u mogućnosti da prati CompuServe ne bi bilo loše da pogleda
šta se tamo priča o Clipper-u, a naročite prve utiske sa TechniCon-a :).
clipper.644bulaja,
│Javljaju se i dalje, mada mnogo, mnogo redje. Mozda je razlog
│javljanja i nekoriscenje Funky VM podsistema ?
└───
Jok, koristim ga i dalje :).
clipper.645dvesic,
> │javljanja i nekoriscenje Funky VM podsistema ?
> └───
> Jok, koristim ga i dalje :).
Obrati paznju : NEKORISCENJE :))))
clipper.646neman,
>>> sta podrazumevas pod Browse obicnu fju browse()
> Kada imas u programu browse() to ide iz clipper.lib,
> izvorni kod je dat u nekom direktorijumu. Browse je
> posebna funkcija i ne prevodi se.
Setio sam se toga, i dok sam gledao po dir-u pukla mi veza i nisam posle
mogao da dobijem Sezam ponovo, da se dopunim :)
> Da ponovim: U obicnoj naredbi READ ima i getlist:=() i
> nema dubreta za odstranjivanje, u funkciji browse() nema
> anuliranja getlist, i svaki pritisak
Ne secam se sada sta tacno ispisuje, ali sam skoro siguran da pri
gresci VMIF ispise naziv OBJEKTA sa kojim sam u tom trenutku radio.
Znaci ne prijavljuje gresku GET nego Tbrowse sistem. Pokusacu da proglasim
promenjive koje koristim za objekte prijavim recimo kao STATIC a ne LOCAL
u odgovarajucoj proceduri. O iskustvu glede toga, narednih dana.
> Bulaja tvrdi da se pucanje programa dogada na funkciji
> koja uklanja djubre iz kliperove memorije.
> ja tvrdim da se djubre gomila kada se koristi obicna
> funkcija browse ( ne znam za TBrowse). Dalje, Ako se
> koristi browse ili tbrowse za azuriranje podataka
Dodao bih jos ( iz iskustva ) da je frekvencija pojavljivanja VMIFa
obrnuto srazmerna kolicini slobodne memorije pri startovanju programa.
clipper.647neman,
> znaci da je sam Clipper iskljucivo krivac vec da je do
> nekoezistentnosti VM-a doslo zbog neke trece biblioteke,
> spleta okolnosti, buga u DOS-u i slicno.
Btw, koja verzija dos-a pokrece nase racunare ?
Kod mene je uglavnom 6.20.
> No posto sam se ja tih problema resio :) na nacin koji sam
> vec objasnio, da vidimo da li se nekome ko koristi Clipper
> 5.2D + Blinker 3.01 i u lnk datoteci ima:
>
> Lib BlxRateX
> Search BlxClp52
> i dalje javljaju VMIF?
Meni :(
clipper.648neman,
>> Prilicno mi je interesantno da ja do sada nikada nisam
>> imao taj slucaj greske VM, a svi drugi jesu.
>
> Skoro sigurno je to zbog tvoje memorijske mape (kolicina i
> rasporeda memorijskih promenljivih, ...).
Pa kazi onda sta koristis od mem-menadzera, o kojim se masinama radi.
clipper.649neman,
> Najjednostavnije resenje je da iskljucis inkrementalno
> linkovanje. Ako imas VGA probaj i VIDRAM.
HITNO
Gde izlazi taj VIDRAM :)
clipper.650dpredovic,
> Clipper-a, biblioteka i linkera. Dakle treba sačekati još malo
> (još jedan Clipper patch, novi SIx ili nešto slično) i nadati
> se da VMIF-ova
Izgleda da neće da bude 5.2e nego 5.3, i to prilično brzo.
clipper.651zkrstic,
> Function Ram(a,b,c,d)
> default a to 1, b to 1, c c to 20, d to 78
> č a,b,c,d box "........."
> Return
Samo malo pitanjce? Koristiš li DEFAULT definiciju iz COMMON.CH-a ili
onu iz Straleyeve knjigice ? Ako je ova druga, probaj da je zameniš
sa prvom (COMMON.CH) i ne bi trebalo da bude greške.
Kod Straleya je bilo jezivih bagova u DEFAULT definiciji koji su
se tako manifestovali - ostala promenljivica kojekude... ;)
Zkr
clipper.652nbatocanin,
> RE: CLD
Da, dibager nije baš najsjajniji deo :( Ima dosta bubica.
clipper.653nbatocanin,
> Bulaja tvrdi da se pucanje programa događa na funkciji koja uklanja
> djubre iz kliperove memorije.
To nije vezano samo za GetList. Uvek kada se kaže a := "ABC" ; a :=
"CDE", stupa na scenu skupljač đubreta. To se nikako ne može izbeći i
glupo je odricati se dela koji nas u najmanju ruku spašava gomile
maloc i free naredbi. Treba, brate, da sednu i isprave taj bag, ma
kod koga da je! Idu ljudi na mesec, a ne mogu da isprave jedan VMIF
;)
Inače, Browse() funkcija je realizovana preko TBrowse objekata koji
_sigurno_ zapošljavaju garbage colector. Da li će doći do zeza ako je
on ugrađen u kod, mislim da je pitanje samo vremena: kad kod naraste
do određenog nivoa, ili se prosto "nezgodno" rasporedi u memoriji,
eto VMIF ;((
clipper.654nbatocanin,
> garbage collection i sl.) moglo pomoći, ali neko reče (ako
> se ne varam nbatocanin, mene je mrzelo da probam:) da ipak
> ni to ne pomaže.
Da, ja sam probao i ništa :((
clipper.655dejanr,
>> Gde izlazi taj VIDRAM :)
Koliko se sećam, deo je QEMM-a. Dakle, nije pd/sw.
Meni je često pravio probleme, iz čista mira se zaglupi računar
dok je on aktivan. Tako da ga koristim samo u slučaju krajnje
dramatičnog nedostatka osnovne memorije, a takvi su trenuci,
otkad je Windowsa, sve ređi.
clipper.656bulaja,
││i dalje javljaju VMIF?
│└───
│Meni :(
└───
Okay :), kaži šta koristiš od dodatnih biblioteka (SIx, FUNCky,..)?
clipper.657bulaja,
Ovde je skoro bilo priče o scroll barovima za TBrowse, so evo ga ovde
još jedan :). Nadam se da je lak za korišćenje - sam proracunava
koordinate gde se scroll bar prikazuje u sve svoje podatke smešta u
TBrowse-ov Cargo, tako da vama ne preostaje mnogo posla oko njegovog
ubacivanja čak i u već postojeće preglede. Detaljnija dokumentacija se
nalazi u okviru source-a, a evo ga ovde samo primer korišćenja:
...
oTB := TBrowseDB(...)
...
-> bu_TBbarSet (oTB) // inicijalizacija ScrollBar sistema
...
DO WHILE .T. // glavna TB petlja
TB:forceStable()
-> bu_TBbarDisp(oTB) // osvezavanje Scroll Bar-a
nKey := Inkey(0)
...
ENDDO
...
bu_tbbar.prgclipper.658neman,
> Koliko se secam, deo je QEMM-a. Dakle, nije pd/sw.
>
> Meni je cesto pravio probleme, iz cista mira se zaglupi
> racunar dok je on aktivan. Tako da ga koristim samo u
> slucaju krajnje
Ja sam probao jednom da postavim QEMM i obrisao ga nakon pola sata :)
a hteo sam da pokusam da na radnim stanicama (286 1MB) na Novell mrezi koje
imaju MONO VGA tj. VGA grafiku a ne koriste graficke aplikacije povecam
radnu memoriju ( sada oko 540 - 550 KB, kada se pokrene IPX & NETX ili NET5 )
Ima li iskustva sa ovakvom konfiguracijom ?
z
clipper.659neman,
> Okay :), kazi sta koristis od dodatnih biblioteka (SIx,
> FUNCky,..)?
Pa SIXNSX, EXPAND i NANFOR, stim sto u onom delu koji puca tj. u oba dela
jedinu funkciju koju koristim iz NFa je ona za odredjivanje TMP naziva
datoteke koju koristim za pripremu izvestaja, zasta mislim da ne utice
na pojavu greske. U stvari VMIF mi se javio sa pocetkom koriscenja
SIXCDX i zatim SIXNSX drajvera. Pre toga nikad ili zaboravljeno mali
broj puta :). FUNCky ne koristim.
clipper.660dvesic,
> Ja sam probao jednom da postavim QEMM i obrisao ga nakon pola sata
> :) a hteo sam da pokusam da na radnim stanicama (286 1MB) na Novell
> mrezi koje imaju MONO VGA tj. VGA grafiku a ne koriste graficke
> aplikacije povecam radnu memoriju ( sada oko 540 - 550 KB, kada se
> pokrene IPX & NETX ili NET5 ) Ima li iskustva sa ovakvom
> konfiguracijom ?
Ne bi bilo lose da probas sledeca dva (tri) resenja :
- ako ti maticna ploca 286-ce omogucava EMS 4.0 memoriju, instaliraj
QRAM - 286 pandan QEMM-u. Na jednoj ploci (mislim da je HeatLand bila)
sam dobio 113 kb High rama
- pokusaj sa UMB_DRVR.ARJ ( R:\IBMPC\SYSTEM ). Podrzava (skoro) sve ploce
(ne podrzava npr, ploce ez prve Litron serije sa Singapura ;), i daje
vrlo lepe rezultate. Ako ti ploca ima Shadow Ram, skoro sigurno ce raditi
i ovaj program.
- Ako imas EMS/XMS memoriju, koristi EMSNET/XMSNET verziju shell-a.
Pazi ! Vrlo cesto mi se desavalo da sa doticnima (Novell 3.11) imam
dosta problema i da sam se u 60% slucajeva vracao netx-u
clipper.661mdrazic,
> Ipak ima primena gde korišćenje PKLite-a može pomoći :).
> Konkretno, ja ga koristim za instalacione programe, jer
> nije mala razlika da li se sa flopija učitava EXE od 450 K
> ili od 250 K. PKLite-ovani Clipper programi se sasvim Ok
> ponašaju (naravno kada se NE koristi -r:) kada su
> linkovani Blinker-om 3.01, dok RTLink malo brlja, a
> ExoSpace (logično) ne trpi
Kompresija EXE programa je lepo radila sve dok nismo prešli
na novi Clipper 5.0 sa kojim su počele brljotine komprimovanog
EXE-a. Ja sam komprimovao instalacione programe i kratke
'patch' programe koji treba da izvrše neku intervenciju na
podacima prilikom upgrade-ovanja aplikacije. Jedno vreme sam
problem zaobilazio tako što sam za ove stvari zadržao stari
Clipper dok mi nije dosadilo. Od tada ako neki EXE treba
smanjiti koristim BASE5x.PLL tako da je EXE vrlo mali.
Dotični PLL čuči kod klijenata, a prenosi se (disketom,
modemom :) samo ovaj mali EXE. Takođe na svom disku imam
dosta Clipper programčiča pomoćne prirode (da ubrzam rad pri
pisanju aplikacija) i sve njih sam radio sa ovim PLL. Loša
strana EXE koji zavise od PLL je da kada dođe nova verzija
Clipper-a, moram ove programčiće ponovo da prevedem i linkujem.
Za intervencije modemom (PCAnywhere i slični) mislim da rad
sa PLL nema alternativu u pogledu dužine EXE koji se prenosi.
clipper.662mdrazic,
Predlog za razmišljanje: ADVANTAGE Xbase Server 1.0
(nemam ga, samo prenosim iz literature)
žemu služi:
Omogućava client-server komunikaciju na jednoj Novell mreži.
To praktično znači da se na serveru vrti Advantage NLM modul koji
osluškuje zahteve stanica za transakcije (akcije na tabelama). Na
stanicama se vrte standardne Clipper aplikacije koje se bez promene
ijedne linije koda samo linkuju sa Advantage RDD bibliotekom koja
zamenjuje standardni DBFNTX RDD svojim.
Prednosti:
Dobitak u brzini transakcije. Ubrzanje je primetnije kod
rada više stanica simultano sa više tabela i više indeksa (to je
tipična situacija koja 'guši' rad na mreži). Dobici u brzini su
najmanji kod jedne stanice i tabele bez indeksa (tu ionako nije
bilo problema). Prilikom merenja ubrzanje je bilo beznačajno za
LOCATE FOR i SET FILTER TO operacije, a najveće ubrzanje (5 puta)
je bilo prilikom APPEND FROM uz otvorene indekse simultano sa
više stanica.
Možda najveći dobitak jeste sigurnost podataka. Naime,
sve operacije sa tabelama i indeksima se izvršavaju iz NLM-a na
samom serveru. Tek kada sa stanice pristigne validan (kompletan)
zahtev za transakcijom, ova se izvršava, inače se ignoriše. Ako u
sred transakcije padne stanica ništa se ne dešava sa podacima!
Transakcija se dalje izvršava na samom serveru nezavisno od stanice.
Praktično to znači: stavite na server UPS i obezbeđujete konzistenciju
podataka nezavisno od padova stanica (klijenata).
Formati:
NLM podržava Clipper, FoxPro i dBASE III+ formate indeksa
i memo polja. RDD client biblioteka sadrži i podskup (ne piše koji)
SIx Driver-a.
Cena:
Postoje dve verzije: razvojna i prava (komercijalna).
Razvojna verzija košta $249 i namenjena je za razvoj. Moguće je
vezivanje neograničenog broja stanica na Xbase Server NLM, ali
čim se jedna stanica odjavi, ne može se prijaviti ponovo ovom
NLM-u sve dok se i sve ostale stanice ne odjave. Ovo je dovoljno
za testiranje i razvoj aplikacija ali praktično onemogućava
rad aplikacije u realnim uslovima eksploatacije.
Prava stvar je NLM bez ovog ograničenja, i on košta
zavisno od maksimalnog broja stanica koje u jednom trenutku mogu
da koriste ovaj NLM. Postoji verzija (licenca) za 5 stanica
(nema navedene cene) pa sve do 250 stanica koja košta $5495 .
Adresa:
Extended Systems, Inc.
P.O.Box 4937,
5777 N. Meeker Ave.
Boise, ID 83704
USA
800-235-7576, (208)322-7575
Fax (208)377-1906
P.S. Iz drugog izvora:
Advantage podržava (valjda je ovo podskup iz SIx):
- compressed indexes
- compound indexes
- multiple record locking
- conditional indexes
- index scopes
- flexible memo fields
- subindexing
Cena: $895 - $5495 (ne piše za koliko korisnika;
nagađam: 5-250 )
clipper.663nbatocanin,
> Svetsko čudo da ga nisu nazvali 6.0. Ili je stvarno malo
> izmena (mada mnogi na to ne obraćaju pažnju ;) ili su jako
> skromni...
>
> Skromna softverska firma, to davno nisam video, dakle p će
> biti da je prvo ;)
More, ja sam prezadovoljan ako izmene budu na nivou 5.01 -> 5.2 :)
clipper.664neman,
> Predlog za razmisljanje: ADVANTAGE Xbase Server 1.0
> (nemam ga, samo prenosim iz literature)
Razmisljao sam o tome i diskutovao vec izvesno vreme na tu temu a pitanje
se svodilo na samo jednu stvar - nacin rada tog nlm modula tj. da li
nlm radi
1. po redosledu pristizanja zahteva, dok jedan ne obradi, drugi
ne pocinje ili
2. obradjuje zahteve u tajm - seringu.
Ako radi na prvi nacin, takva stvar je u startu beskorisna; pusti npr.
sumiranje podataka koje traje 20-tak minuta, a ostali stanice za to
nemaju pristup podacima
Ako radi na drugi nacin, to moze da bude dobro za mali broj stanica,
jer ipak jedna 486 koja tera obradu rada dva zahteva, radi sporije
nego dve 486 koje rade jedan zahtev, pa makar i za 1% (?). Ovo poslednje
pretpostavljam
U principu dosadasnji pristup bazama na mrezi je imao usko grlo u prenosu
podataka kroz kablove a server i nije imao neki posao. Kako se god okrene,
ovakvim pristupom dobijamo novo usko grlo - fajl server.
clipper.665goxx,
■ > prebrojavanja slogova i Scrollbar
■ Jel' mogu ovo da stavim u Savetnik?
Može. Nemam ništa protiv.
Goran
clipper.666zgolub,
Imali neko spisak grešaka clippera 5.01 ili je možda to blinkerova greška
(internal error 5321). Inače ova greška se javlja sa novim dosom 7 Novell dos
ako mu nije setovana memorija kako treba, ali ne znam šta znači. Ako ima neko
ovaj spisak neka mi ga prosledi.
clipper.667mdrazic,
> tog nlm modula tj. da li nlm radi
> 1. po redosledu pristizanja zahteva, dok jedan ne obradi,
> drugi ne pocinje ili
> 2. obradjuje zahteve u tajm - seringu.
>
> Ako radi na prvi nacin, takva stvar je u startu
> beskorisna; pusti npr. sumiranje podataka koje traje
> 20-tak minuta, a ostali stanice za to nemaju pristup
> podacima
žitanje tabela (za sumiraje) treba da radi normalno kao i
do sada. Podaci iz tabela putuju mrežom do tvoje stanice
i na stanici se sumiraju. Glavni dobitak je kod promene
u tabeli. Tada (pročitaj lepo u D.Booth, G.Lief: CA-Clipper 5.2
Mrežno programiranje, Mikro knjiga) se tabela i indeksi
puno puta čitaju i ažuriraju (hederi, stranice) i to NLM
preuzima na sebe da ne bi silni paketi podataka leteli
tamo-amo mrežom pri svakom ažuriranju. Nisam siguran da
Advantage ima pravi transaction processing sa rollback-om
nego mislim da on radi sa nazovimo ih 'elementarnim'
transakcijama koje su ustvari pojedinačna ažuriranja recorda.
Tako si siguran da indeksi neće biti oštećeni, ali nemaš
garanciju da će biti upisan ceo paket od recimo 10 recorda u
3 tabele koje tebi čine logičnu transakciju. Ograda: ovo
je samo moje mišljenje na osnovu do sada pročitanog.
> Ako radi na drugi nacin, to moze da bude dobro za mali
> broj stanica, jer ipak jedna 486 koja tera obradu rada dva
> zahteva, radi sporije nego dve 486 koje rade jedan zahtev,
> pa makar i za 1% (?). Ovo poslednje pretpostavljam
Varaš se. Zahtevi što ih obrađuje NLM uopšte nisu isti kao
oni što ih obrađuju stanice. Naime, ne vrti se sam program
na serveru, već i dalje na stanicama. Glavno usko grlo je
kabl.
> U principu dosadasnji pristup bazama na mrezi je imao usko
> grlo u prenosu podataka kroz kablove a server i nije imao
> neki posao. Kako se god okrene, ovakvim pristupom dobijamo
> novo usko grlo - fajl server.
Server je imao posla da puno puta šalje-prima delove tabela i
posebno indeksa pri svakom ažuriranju. Ovo se bitno smanjuje
kod client-server rećenja. Tri su filozofije rada sa bazama
na mreži (podaci su naravno zajednički na jednoj mašini-serveru):
1) Program se vrti na serveru, a stanica je samo terminal.
Ovo imaš kod UNIX-a. Glavno opterećenje je na serveru koji
izvršava više programa. Potrebna jaka mašina; što jača, to
brže radi.
2) Program se vrti na stanicama, podaci putuju mrežom, tj.
običan, glup file server (Clipper-Novell kombinacija ovako
radi). Za server ti i ne treba toliko jaka mašina u poređenju
sa 1) pošto samo opslužuje stanice podacima, a glavno usko
grlo je kabl koji trpi veliki saobraćaj. Ako je gužva na
kablu, ne pomaže ni Pentium, ni Cray za server.
3a) Client-server na način Advantage, i ostalih jednostavnijih na
Novell-u, preuzima na sam server da u cilju smanjenja saobraćaja
na mreži odradi elementarna ažuriranja tabela i indeksa. NLM
koji ovo izvodi na serveru nema pojma šta radi program koji
sa stanice šalje zahtev za ažuriranje, ali je toliko pametan
da ažurira tabelu i pripadajuće indekse. Nije pametan da ti
odradi neki izveštaj, na primer. Glavni dobici su u bitno
smanjenom saobraćaju na mreži.
3b) Client-server sa 'pametnim' serverom koji zna da odradi i
kompleksnije zahteve (izveštaje, generisanje indeksnog fajla
itd.). Za ovo je potreban već i neki ozbiljan jezik za
komunikaciju stanica-server, tako da standardizacijom za ova
rešenja imamo SQL (u nekoliko varijanti) i SQL servere. Ovi
rade i client-server koji nije na istoj mreži (platformi) i
to je jedino razumno rešenje za komunikaciju stanice (same ili
u Novell-u) sa drugim mašinama i DBMS-ovima (tipično na nekom
mainframe-u).
Milan
clipper.668dvesic,
> (internal error 5321). Inace ova greska se javlja sa novim dosom 7
> Novell dos ako mu nije setovana memorija kako treba, ali ne znam
> sta znaci. Ako ima neko ovaj spisak neka mi ga prosledi.
Unconfirmed reports state that:
H
H Internal Error #5321, __DBREINDE (0)
H
H -This error occurred when VMM had run out of disk space during a reindex.
H
Toliko sam nasao o ovoj gresci, ali nije bas 100 % sigurno :)
( "Unconfirmed" )
clipper.669dpredovic,
> No pošto sam se ja tih problema rešio :) na način koji sam već
> objasnio, da vidimo da li se nekome ko koristi Clipper 5.2D +
> Blinker 3.01 i u lnk datoteci ima:
>
> Lib BlxRateX
> Search BlxClp52
Meni su se u protected modu (pre patcha za blinker) u 99% slučajeva
pucanja javljala sa GPF-om, na otprilike istim mestima gde se pre
javljao VMIF. Moja je pretpostavka da su momci iz Blink Inc lepo
ukapirali gde to clipper brlja i prosto podmetnuli svoju funkciju.
clipper.670dejanr,
>> Od tada ako neki EXE treba smanjiti koristim BASE5x.PLL tako da
>> je EXE vrlo mali. Dotični PLL čuči kod klijenata, a prenosi se
>> (disketom, modemom :) samo ovaj mali EXE.
Da li je neko probao da kod "klijenta" drži OBJ fajlove, pa da
prenese modemom samo one koje je promenio (obično sasvim kratko)
i tamo ih linkuje? Ja sam to povremeno koristio (uglavnom kada
klijent pojma nema o računaru, a mreža je Novell pa se daju
kontrolisati pristupi direktorijumima) i fino je funkcionisalo.
U zadnje vreme koristim PLL-ove, ali više u cilju isprobavanja istih.
clipper.671zgolub,
>> Unconfirmed reports state that:
>> H
>> H Internal Error #5321, __DBREINDE (0)
>> H
>> H -This error occurred when VMM had run out of disk space during a reindex.
>> H
>> Toliko sam nasao o ovoj gresci, ali nije bas 100 % sigurno :)
>> ( "Unconfirmed" )
Mogu ti reći da ne može da bude tačno, jer imam na disku slobodno oko 200 MB
a datoteka ne prelazi 50 K. Osim toga greška se nejavlja pri reindeksiranju već
na bezveze mestima(prelaska iz menija u meni, u ACHOICE-u itd. Usput ako imaš
u nekom fajlu spisak grešaka voleo bih da ih pogledam.
clipper.672ikordic,
RE: CLD
=> ŁŁŁ poznato. Ne znam kako kod tebe, ali kod mene snimi "otprilike"
=> raspored ŁŁŁ prozora i veličinu, koje posle moraš ručno da doteruješ.
=>
=> Kod mene ih vrati onako kako sam ih i snimio u INIT.CLD
Znači moram detaljno. Kako god da snimim prozore u CLD, on ih snimi na
sledeći način: prozor "monitor" ima 4 reda, prozor "command" takođe, a
prozor u kome je program je između. E, sad ja želim da "command" prozoraa
nemam uopšte, da mi "source" prozor zauzima 3-4 reda, a "monitor" sve
ostalo. Kada ih ručno (Alt-D itd.) izpodešavam i snimim, on sve prozore
vrati na prethodno opisanu sliku.
clipper.673neman,
> Mogu ti reci da ne moze da bude tacno, jer imam na disku
> slobodno oko 200 MB a datoteka ne prelazi 50 K. Osim toga
> greska se nejavlja pri reindeksiranju vec
Da li je sadrzaj TEMP promenjive ispravan ?
clipper.674dvesic,
>> na bezveze mestima(prelaska iz menija u meni, u ACHOICE-u itd.
>> Usput ako imas u nekom fajlu spisak gresaka voleo bih da ih
>> pogledam.
Nisam siguran, ali mislim da fajl prikjlucen uz ovu poruku ne
postoji u R:\IBMPC\CLIPPER poddirektorijumu. Naziv je :
Clipper 5.2c Anomalies & IE's, v0.99 Date: 21OCT93
52c_err.arjclipper.675bulaja,
│ Nisam siguran, ali mislim da fajl prikjlucen uz ovu poruku ne
│ postoji u R:\IBMPC\CLIPPER poddirektorijumu. Naziv je :
│ Clipper 5.2c Anomalies & IE's, v0.99 Date: 21OCT93
└───
Proveriću, mada je moguće da se to nalazi u datotekama 52an00.arj i
ie52ng.arj u CLIPPER direktorijumu. Ipak to je u svakom slučaju
zastarelo, pošto je jedan od noviteta (za koji se ne sećam da su ga
spominjali u dokumentaciji) u 5.2D patch-u bio .NG sa opisom internih
grešaka.
clipper.676dvesic,
> Ipak to je u svakom slucaju
> zastarelo, posto je jedan od noviteta (za koji se ne secam da su ga
> spominjali u dokumentaciji) u 5.2D patch-u bio .NG sa opisom
> internih gresaka.
Da, ali je u ovom NG-u daleko obimniji spisak gresaka, pa makar i
nedokumentovanih ...
clipper.677dr.grba,
>> R:ĐIBMPCĐCLIPPERĐ*.*
>> ----------------------
>> zacfax a01 319626* ZAC Catalog 07/94: Clipper only Tools catalog #1
>> zacfax a02 312002* ZAC Catalog 07/94: Clipper only Tools catalog #2
Nisam primetio nikakav komentar: šta se ovde nalazi?
clipper.678cnenad,
ŁŁŁ prozor u kome je program je između. E, sad ja želim da "command" prozoraa
ŁŁŁ nemam uopšte, da mi "source" prozor zauzima 3-4 reda, a "monitor" sve
Tako je kod mene :)), Command prozor mi ne treba trenutno i nervira me
a volim da deo za source i onaj sa svim promeniljivim budu preko celog ekrana
pa preskačem iz jednog u drugi sa TAB, jedino je nezgodno što je COMMAND
aktivan pa moram još jednom da pritisnem TAB da kroz njega profura.
Naravno i boje sam izmenjao i sve se to lepo vrati iz INIT.CLD fajla kad
pozovem, kao što neko reče TREBILICU :)
Stvarno mi ne pada napamet šta bi moglo da bude kod tebe. Da li ti je možda
INIT.CLD u DIR-u gde i CLD ? Da li si probao da obrišeš stari CLD i staviš
novi (ne znam koji koristiš).
clipper.679bulaja,
││ ZAC Catalog 07/94: Clipper only Tools catalog
│└───
│Nisam primetio nikakav komentar: šta se ovde nalazi?
└───
Katalog jednog od (naj)većih prodavaca Clipper stvari (biblioteke,
utilities i slično) u USA. Sadrži podatke za više od 100 proizvoda,
za svaki je uz cenu dat i kraći opis (tipične dužine oko jedne strane,
a negde je dat i spisak svih funkcija). Nije loše uzeti i pogledati šta
se sve napolju može naći za Clipper.
clipper.680nbatocanin,
> Da li je neko probao da kod "klijenta" drži OBJ fajlove,
Ja :)
> U zadnje vreme koristim PLL-ove, ali više u cilju
> isprobavanja istih.
PLL biblioteke savršeno funkcionišu. Još ne znam nekoga ko je sa
njima imao probleme. Jeste li probali onaj FPATCH program iz Funcky
liba?
clipper.681szeman,
>> ││Bullet for C 1.03: B-tree/dBase (.DBF) database toolkit
>> │└───
>> │ Preuzeo sam ovo pre neki dan i vrlo sam nezadovoljan:
>> └───
>> Upravo ovih dana stigla je i verzija 1.08z (jako sveža, od 01.08.94).
:(( Na žalost, osim primera za BASIC i patch-ovanog LIB-a, (koji je,
uzgred, sa greškom!), sve je ostalo isto, čak su i u source-u primera
morali da zabrljaju (Function should return a value - što se da srediti,
ali je neoprostivo sobzirom da je u predhodnoj verziji source bio ANSI čist).
Još uvek važi apel onima koji su nešto korisno uspeli da urade sa ovim
LIB-om (npr., ako neko ima source za view bilo koje .DBF datoteke na C-u,
ili opis načina na koji se to može izvesti).
Pozdrav, Saša
clipper.682szeman,
>> U vezi PR programa za nazubljivanje SOURCE-eva, probao sam
>> ga danas i moram priznati da sjajno radi :)
Hvala, hvala :)
>> Da li bi mogao recimo da se ubaci SWITCH da umesto n SPACE-ova uvlači
>> za n TABOVA, naravno veličina TAB-a zavisi od editora.
To planiram u narednoj verziji.
>> Takođe, kad radi sa više datoteka, u zadnjoj koloni zadnja
>> cifra je zbir za koliko su se nove verzije (nazubljene)
>> povećale.
žžžžžžžž
Baš i ne mora da značida su se povećale ;) Verovatno koristiš TAB-ove,
sa novom verzijom će biti bolje :)
>> Da li bi isto u prvoj koloni mogao da stoji na
>> dnu ispod još jedne podvučene linije zbir za veličinu
>> nakon obrade *.BAK datoteka ?
Nije baš neophodno, ali biće i toga...
>> Pretpostavljam da sa redirekcijom izveštaja sa ekrana u
>> datoteku nema problema, nisam stigao da to probam :) ?
Na žalost ne :( Program je pisan u Paskal 6.0, a Paskal kao što je
poznato ne podržava redirekciju, tj. parametari naredbe su i >xxxxxx.
Biće i toga :) Za sada ostavljam medjuverziju, koja podržava i ovakve
slučajeve:
WHILE uslov; naredba; end
i sl., a takodje je ispravljen bag kod ovakvih slučajeva:
NAREDBA ; //Komentar
Ovde je predhodna verzija je 'poruku' da se naredba nastavlja u drugom
redu ignorisala, jer nije analizirana cela linija.
P.S. Molim bulaju da sačeka novu verziju sa kompletiranom dokumentacijom.
Za sad malo istražujte :)
pr103.zipclipper.683cnenad,
ŁŁŁ P.S. Molim bulaju da sačeka novu verziju sa kompletiranom dokumentacijom.
ŁŁŁ Za sad malo istražujte :)
Ova verzija kao i prethodna ima i dalje jedan BAG ili šta ti ja znam, i baš
mi se to danas dogodilo. Source je ništa posebno, 2-3 kb veličine ali
imam dva reda dužine preko 300 karaktera. Naravno program je sve preko
256-og karaktera odsekao a meni kompajler 'gde ti je bre zatvoren citat
na kraju reda ?' :((( i tad sam ukapirao šta se dogodilo.
Vrlo je zanimljivo da je prva verzija ranije taj deo source sasvim korektno
obrađivala tako da mi stvarno ne pada na pamet šta je u pitanju.
Ako ti znači nešto linija je u stilu:
replace polje with date(), polje2 with time(), polje3.....
a tekst koji se ubacuje u zadnjem polju, koje je odsečeno je bio karakter
string dužine otprilike 70 karaktera.
clipper.684dzoric,
>>> PLL biblioteke savrseno funkcionisu...
A sta cemo mi jadnici koji koristimo samo BLINKER.
Probao sam i drzanje OBJ i LIB fajlova kod korisnika dok napredniji
korisnici nisu poceli da kopiraju LIB-ove.
>>> Jeste li probali onaj FPATCH program iz Funcky liba?
Izuzetna stvar za male izmene u programu dok kod vecih izmena ume
da napravi delta fajl koji je veci od samog programa.
clipper.685nbatocanin,
Jel koristite naredbu SET PATH? Zgodna naredba ako vam se baza nalazi
u više dirova. Na primer:
SET PATH TO c:\baza;c:\tmp;
Kad ono - ne radi! Štos je u tačka zarezu na kraju - Clipper ga
shvata kao produženje linije i tako zezne stvar.
clipper.686cnenad,
ŁŁŁ A sta cemo mi jadnici koji koristimo samo BLINKER.
Pa staviš kod korisnika i Blinker i to je to.
ŁŁŁ korisnici nisu poceli da kopiraju LIB-ove.
Možeš li mi ovo malo razjasniti ?
clipper.687mdrazic,
> U zadnje vreme koristim PLL-ove, ali više u cilju
> isprobavanja istih.
A kako si uopšte živeo bez njih pre Blinkera?
Kad imaš veliku aplikaciju, mislim onu gde inkrementalno
linkovanje Blinkerom pojede puno memorije da zaguši
aplikaciju, PLL je bolje rešenje (u fazi razvoja mislim)
pošto je tipično brže od full Blinker link-a. Moj princip
je da u fazi razvoja (u alternativi Blinkera) koristim:
BASE52.PLL, skoro sve moje fajlove pobacam u MOJ.PLL a
samo nekoliko sa kojima trenutno radim u EXE. Tako imaš
mali EXE koji poziva dva PLL-a. Ovo se sve da lepo srediti
u makefile-u tako da je udobno za rad. Finalne verzije
uvek radim RTLINK-om.
Ograničenje (bug or feature?): Ako je PLL veći od 1MB
neće da radi (kako treba ili uopšte), bar kod mene.
Milan
clipper.688dzoric,
> ŁŁŁ korisnici nisu poceli da kopiraju LIB-ove.
>
> Mozes li mi ovo malo razjasniti ?
Hm, nije problem u kopiranju stranih komercijalnih LIB-ova,
ali ako ulo`im godine rada na razvoju neke svoje biblioteke
sigurno mi nije svejedno da li }e je neko kopirati ili ne.
U ve}ini slu~ajeva tako kopiran LIB je beskoristan bez
dokumentacije.
Naravu~enije: Tu|e 'o}emo svoje nedamo ! :)
clipper.689dvesic,
>> Na zalost ne :( Program je pisan u Paskal 6.0, a Paskal kao
>> sto je poznato ne podrzava redirekciju, tj. parametari naredbe
>> su i >xxxxxx. Bice i toga :) Za sada ostavljam medjuverziju,
>> koja podrzava i ovakve
Malecka ispravka :)
TP 6.0 po defaultu podrzava redirekciju AKO NE koristis CRT unit.
Ako je koristis, dodaj malu proceduru :
Procedure Redirekcija;
Begin
Assign(OutPut,''); ReWrite(OutPut)
Assign(Input,'') ; Reset(Input);
End;
pa ce podrzavati ...
clipper.690bulaja,
│replace polje with date(), polje2 with time(), polje3.....
└───
Da ja pišem neki ulepšivač source-a, na ovakvoj liniji ne da ne bih
odsekao kraj, već bi izvrišio jedan temeljni wipe kompletnog Clipper
direktorijuma, a razmislio bi i o dodatnim kaznenim merama O:).
clipper.691cnenad,
ŁŁŁ sigurno mi nije svejedno da li }e je neko kopirati ili ne.
ŁŁŁ U ve}ini slu~ajeva tako kopiran LIB je beskoristan bez
Pa da, ali.. :) Ako i sam tvrdiš da je beskoristan bez dokumentacije
čemu frka ? :)
BTW, mali EXE fajl koji samo za priliku kompajliranja aplikacije kod korisnika
raspakiva šifrovanu arhivu sa svim potrebnim datotekama, nakon pravljenja EXE
datoteke briše te fajlove, vrši dodavanje u arhivu novih koji si poslao
modemom ili doneo može biti rešenje. zar ne ?
clipper.692cnenad,
ŁŁŁ odsekao kraj, već bi izvrišio jedan temeljni wipe kompletnog Clipper
ŁŁŁ direktorijuma, a razmislio bi i o dodatnim kaznenim merama O:).
Baš si nešto radikalno raspoložen :) Ako je meni preglednije da kucam tako,
a ne recimo:
replace polje with date() ;
polje1 with time()
tako ću kucati i dalje ;) Međutim, PR više ne pravi probleme otkako sam
ispisao komandu ovako ; od danas počinjem na ovaj način pisati sve dugačke
komande odnosno linije u programu :)
clipper.693nbatocanin,
> replace polje with date(), polje2 with time(), polje3.....
Nevezano sa temom, primetio sam da ljudi često misle da je:
REPLACE p1 WITH v1, p2 WITH v2, p3 WITH v3
brže od:
REPLACE p1 WITH v1
REPLACE p2 WITH v2
REPLACE p3 WITH v3
Pošto se i jedno i drugo prevodi u
_FIELD->p1 := v1
_FIELD->p2 := v2
_FIELD->p3 := v3
sledi da je svejedno! Naravno, važi za izmenu _jednog_ sloga.
clipper.694cnenad,
ŁŁŁ Nevezano sa temom, primetio sam da ljudi često misle da je:
Ja nisam mislio, nego jednostavno mi je zgodnije kad šetam kroz source da
imam tih 10 redova manje za scroll a kad bi mi zatrebalo da nešto izmenim
u toj liniji find iz editora i ime polja ili vrednost se efikasno pronalaze.
clipper.698stosic,
Zac Catalog: GrumpFish Library 4.0 (demo).
Ima li raspolozenih da dobace: ZDEMO.ZIP, TELEPATH.ZIP. TWDEMO.EXE, ...
grumplib.zipclipper.699dr.grba,
>> Zac Catalog: GrumpFish Library 4.0 (demo).
Šta radi ovaj i šta ga čini demo verzijom?
clipper.700ikordic,
RE: CLD
=> Stvarno mi ne pada napamet šta bi moglo da bude kod tebe. Da li ti je
=> možda INIT.CLD u DIR-u gde i CLD ? Da li si probao da obrišeš stari
=> CLD i staviš novi (ne znam koji koristiš).
Ništa od svega toga. Stvar je verovatno u tome, što kod mene ne rade one
opcije za pomeranje, smanjivanje, gašenje, itd. prozora iz menija "Window",
nego to radim ručno, sa Alt-S, G, itd. Ti valjda radiš sa VGA, pa su ti te
opcije aktivirane.
clipper.701amarilis,
ť Komanda RUN se pretprocesira u poziv interne Clipperove
ť funkcije __Run( <cCommand> ) gde je <cCommand> naziv programa
ť (ili DOS komande) koju treba izvrsiti.
OK.Hvala ti.Dali mozda znas cemu sluzi funkcija COM_EVENT() ?
clipper.702cnenad,
ŁŁŁ nego to radim ručno, sa Alt-S, G, itd. Ti valjda radiš sa VGA, pa su ti
ŁŁŁ te opcije aktivirane.
Dibager nisam probao ne hercules-u a trenutno radi na VGA color sa karticom
od 1 mb i sve od tih opcija radi bez problema.
clipper.703mdrazic,
>>> Zac Catalog: GrumpFish Library 4.0 (demo).
>
> Šta radi ovaj i šta ga čini demo verzijom?
Iz "1994 Database Buer's Guide"-a:
A productivity tool that features full mouse support, linkable
desktop utilities (calculator, spreadsheet, calendar, appointment
tracker, notepad, and Rolodex); fast context-specific help
development; extensions to the čGet and čPrompt commands; and
generic databasebrowser/screen painter/code generator. Includes
two versions of source code (one for Summer '87 and one optimized
for CA-Clipper 5.01 and 5.2). Dynamically overlayable and
multiuser compatible. Comes with a royalty-free integration
licence, documentation, and Norton Guides reference database.
Requires Clipper Compiler Summer '87, or CA-Clipper 5.01 or 5.2.
$249
Inače, ista kuća, koju je osnovao jedan od autora Clipper-a ali
ne sećam se koji, prodaje i
GrumpFish Speller $199
GrumpFish Reporter $299 (ovo tražim za sebe, ako neko ima :)
GrumpFish Menu ?
GrumpFish Clip4Win (by John Skelton) $199
GrumpFish ClipWKS ? (veza na spreadsheet-ove)
Milan
clipper.704nbatocanin,
žitam neki tekst o generisanju izveštaja koji ima prilično neobično
rešenje: ceo izveštaj se pamti u nizu pri čemu je svaka strana jedan
element niza, a ona je predstavljena kao niz stringova koji
predstavljaju linije. Ovo ograničava izveštaj na 4096 strana, što je
verovatno nedostižno, a ograničenje po strani nije problem. Ono što
je neobično jeste ideja da se ceo izveštaj - potencijalno dug
nekoliko MB - čuva u memoriji - ideja zaista strana klasičnoj
raspodeli memorije. Međutim, sa VM ovo je sasvim prirodno: rad sa
kratkim izveštajima bi morao da bude brz kao zmija ;) a dugi
izveštaji bi praktično radili sa diskom - znači, najgora situacija je
otprilike kao kod standardnih rešenja. Da su ovi RDD-ovi malo lakši
za konfigurisanje, mogle bi se praviti memorijske tabele, to bi tek
bila prava stvar.
clipper.705mcgoran,
> Posto se i jedno i drugo prevodi u
>
> _FIELD->p1 := v1
Citam ovo i ugledah "_FIELD->"
... Proverim u std.ch... Stvarno je tako !
Zasto _FIELD->, a ne FIELD-> ?!?
Cesto u programima koristim field->.
Da nije mozda _field-> bolje resenje ??
U cemu je trik ??
clipper.706mcgoran,
> SET PATH TO c:\baza;c:\tmp;
probaj:
set( _SET_PATH, 'c:\baza;c:\tmp;')
clipper.707szinf,
ima li neko iskustava sa PD sw za serijske komunikacije iz clippera?
meni comstu.lib nece da radi citanje, tj. nije jasno pozivanje te funkcije. ako
neko zna o tome ili o drugom PD sw za citanje ser. porta neka mi se javi u mail
ili ovde. isto tako me interesuju iskustva sa sirver clip bibliotekom.
zoranv (szinf)
clipper.708stosic,
>>> Zac Catalog: GrumpFish Library 4.0 (demo).
>Sta radi ovaj i sta ga cini demo verzijom?
Odgovor na pitanje sta radi vec si dobio. Demo je demo program.
Prosto je neverovatno da od stotinak Clipper ONLY Tools-ova iz Zac kataloga
u ovoj konferenciji nije, do sada, pomenuto ni dvadeset???
clipper.709stosic,
>ima li neko iskustava sa PD sw za serijske komunikacije iz clippera?
>isto tako me interesuju iskustva sa sirver clip bibliotekom.
Radio sam sa Clipper Tools-om i SilverClip-om. Prvi je sasvim dovoljan za
upravljanje com portovima (povezivanje PC-a sa drugim uredjajima). Ako ti
treba i file transfer (zmodem) ili emulacija terminala uzmi drugi.
clipper.710mdrazic,
> otprilike kao kod standardnih rešenja. Da su ovi RDD-ovi
> malo lakši za konfigurisanje, mogle bi se praviti
> memorijske tabele, to bi tek bila prava stvar.
A ja čekam RAM RDD. To ti je kao RAM disk; imaš tabelu
(i indekse) u RAM-u, uz VMM se to svopuje na disk ako
treba. Idealno kada ti treba neka pomoćna tabela,
a naročito u mrežnom okruženju (nema mogućnosti kolizije
imena tabela, kasnijeg pospremanja itd.). U svemu
ostalom je manipulacija kao sa pravom tabelom.
Milan
clipper.711mdrazic,
>> SET PATH TO c:Đbaza;c:Đtmp;
>
> probaj:
> set( _SET_PATH, 'c:Đbaza;c:Đtmp;')
U prvoj naredbi poslednji znak ; je interpretiran kao znak
za nastavak reda u sledeći. Nagradno pitanje: šta je
nbatocaninu bilo u sledećem redu?
clipper.712neman,
Ovih dana sam imao problem sa jednom bazom na Novell 3.11 mrezi.
PRegled direktorijuma je pokazivao da je datoteka dugacka preko 550 MB
a kada se otvori iz DBASE-a naredba BROWSE je prouzrokovala neprekidni ispis
podataka, u obliku tekst datoteke.
Na tom volumenu ima oko 450 MB. Normalna duzina datoteke je bila oko 17 MB.
Secam se da je ranije bio pominjan slican problem, ali mi nije zgodno da
pretrazujem bazu, pa ako se neko seca resenja, ako ga je bilo, ili je imao
neko slicno iskustvo, neka se javi.
RDD je bios SIXNSX, mada mislim da to nije uticalo na kvar, jer u vreme kada
je ranije pominjan ovaj problem SIXNSX nije stigao do nas.
neman
clipper.713nbatocanin,
> Zasto _FIELD->, a ne FIELD-> ?!?
Sve što počinje sa "_" su interne stvari i CA ih može promeniti bez
upozorenja. To im ostavlja mogućnost da u sledećoj verziji ostane
FIELD, a da se REPLACE prevodi u nešto deseto. Sada su te dve stvari
iste, koliko je meni poznato.
clipper.714nbatocanin,
>> SET PATH TO c:\baza;c:\tmp;
>
> probaj:
> set( _SET_PATH, 'c:\baza;c:\tmp;')
Zašto? Dovoljno je:
SET PATH TO c:\baza;c:\tmp
clipper.715djelovic,
> Ovih dana sam imao problem sa jednom bazom na Novell 3.11 mrezi.
> PRegled direktorijuma je pokazivao da je datoteka dugacka preko 550 MB
> a kada se otvori iz DBASE-a naredba BROWSE je prouzrokovala neprekidni
> ispis podataka, u obliku tekst datoteke.
> Na tom volumenu ima oko 450 MB. Normalna duzina datoteke je bila oko 17 MB.
Ili se radi o nekom bagu SIXNSX-a, ili ti je indeks korumpiran.
To što nova datoteka ima 550MB a slobodan prostor je 450MB nije nikakav
problem. Naime, kada Novell dobije zahtev da upiše podatak koji je i-ha-haj iza
trenutnog kraja datoteke, on negde upiše da se datoteka nastavlja posle
tog-i-tog bajta, i tek onda onda upiše to što želiš. Tako zapravo datoteka na
disku zauzima i dalje 17MB, ali je ti "vidiš" kao da ima 550MB.
BTW, kada otvoriš tu datoteku, na onom prostoru između videćeš samo nule.
Kako je opraviti?
Prvo, pretpostavljam da je do greške došlo u deljenom modu rada i da je
zbog toga NSX greškom upisao neki prevelik broj u indeks. Sledeći put kada si
zatražio taj slog, on ga je pročitao (kao sve nule), neko ga je izmenio, dal'
brisanjem, dal' editovanjem, i snimio. Dakle, za tu bazu relevantni su ti prvih
17-18 MB, i ono što ima na kraju.
Napiši program koji će da izdvoji prvih 17MB u jednu datoteku, zadnji MB u
drugu, uzmi disk editor u ruke, i sretan rad :).
clipper.716mdrazic,
Pazi 'vamo
Na naslovnoj strani DBASE ADVISOR-a (valjda iz avgusta) formula:
VO = Clipper 5 + C++ + VB
ili razvijeno: Visual Objects = Clipper 5 + C++ + Visual BASIC.
Unutra Rick Spence piše o VO. (žasopis nemam, samo sam čuo
ove detalje sa naslovne strane).
clipper.717neman,
> Ili se radi o nekom bagu SIXNSX-a, ili ti je indeks korumpiran.
Secam se da je neko ranije imao taj problem sa NTX-om, a baza je sama
po sebi sje*ana.
> Prvo, pretpostavljam da je do greske doslo u deljenom modu
> rada i da je zbog toga NSX greskom upisao neki prevelik
> broj u indeks. Sledeci put kada si
Bio je deljeni mod :(
> Napisi program koji ce da izdvoji prvih 17MB u jednu
> datoteku, zadnji MB u drugu, uzmi disk editor u ruke, i
> sretan rad :).
Imao sam malo vise srece, dan ranije je radjen bekap :) pa sam
vratio bazu, a poredjenjem sa drugom odredio sam koje sifre tj.
novoupisani zapisi nedostaju.
clipper.718szeman,
>> Ova verzija kao i prethodna ima i dalje jedan BAG ili šta
>> ti ja znam, i baš mi se to danas dogodilo. Source je
>> ništa posebno, 2-3 kb veličine ali imam dva reda dužine
>> preko 300 karaktera. Naravno program je sve preko 256-og
>> karaktera odsekao a meni kompajler 'gde ti je bre
>> zatvoren citat....
>> Vrlo je zanimljivo da je prva verzija ranije taj deo
žžžžžžžžžžžžžž
>> source sasvim korektno obrađivala tako da mi stvarno ne
>> pada na pamet šta je u pitanju.
Još uvek koristim isti algoritam za učitavanje, jednostavno readln(f,red),
var red je string tipa, pa ovo što kažeš baš i nije moguće.
Samo read() bi verovatno usporio program do debilnosti. Zato ti je bolje,
a po meni i preglednije da program koji prišeš ima max. do 80 karaktera
(odnosno do 255). Nisam hteo da pravim veselja sa pointerima iz gore rečenog.
Sorry, moj propust što to nisam naglasio.
Pozdrav, Saša
clipper.719szeman,
>> Da ja pišem neki ulepšivač source-a, na ovakvoj liniji ne
>> da ne bih odsekao kraj, već bi izvrišio jedan temeljni
>> wipe kompletnog Clipper direktorijuma, a razmislio bi i o
>> dodatnim kaznenim merama O:).
Ih bulaja, pa zar iz tvojih usta ovake izjave ;) Ovde se svi mučimo
sa raznim trojancima, rezidentnim virusima i sl. a ti ovako ;) Ccccc ;>
Šalim se, naravno, kao što rekoh, moj propust.
Pozdrav, Saša
clipper.721szeman,
>> Malecka ispravka :)
>>
>> TP 6.0 po defaultu podrzava redirekciju AKO NE koristis
>> CRT unit. Ako je koristis, dodaj malu proceduru :
Svakim danom sve više napredujem ;) Hvala na hintu. CRT unit koristim,
glavna preoukupacija je Clipper, Pascal služi za matematiku i pravljenje
alatki koje mi olakšavaju život, igrice (pravio sam TETRIS kad mi je bilo
dosadno), za diplomski sam pisao program za knjigovodstvo na TP, itd., itd.
Sve u svemu jezik u kome uživam, ali nisam fanatik, ali ko zna, ako ovako
nastaviš... ;)
Pozdrav, Saša
clipper.722nbatocanin,
> za nastavak reda u sledeći. Nagradno pitanje: šta je
> nbatocaninu bilo u sledećem redu?
x := 1
Jel dobijam nagradu ;)
clipper.723nbatocanin,
>> otprilike kao kod standardnih rešenja. Da su ovi RDD-ovi
>> malo lakši za konfigurisanje, mogle bi se praviti
>> memorijske tabele, to bi tek bila prava stvar.
>
> A ja čekam RAM RDD. To ti je kao RAM disk;
Pa to sam i mislio :)
clipper.724nbatocanin,
> isto tako me interesuju iskustva sa sirver clip
> bibliotekom. zoranv (szinf)
Ja sam u nekoliko programa ugradio komunikaciju izvedenu uz pomoć ove
biblioteke. Sve dobro radi, jedino je problem bio ZModem. Naime, i
pored podešavanja raznih parametara, ZModem je prilično "slabašan",
tj. puca i pored dobrih veza. S obzirom da je sve dato u sorsu, možda
ne bi bio problem srediti stvar, ali ipak mislim da je bolje sačekati
sledeću verziju (već je izaćla).
clipper.725dpredovic,
RE: PR103
Jel se to samo meni dešava ili šta je? Malo, malo pa 'Missing 2nd
quote', na mestima gde od quote-a nema ni traga ni glasa...
BTW, ne bi bilo loše da u slučaju greške, osim poruke da i red gde
je pukao.
clipper.726tvucko,
Priča se o Clipper-u 5.3 !!!
clip53.zipclipper.727ikordic,
=> Priča se o Clipper-u 5.3 !!!
Baš si mogao da uključiš tekst uz poruku ...
clipper.728dejanr,
U direktorijumu CLIPPER je SX-00-02.ZIP SIx 2.00.00 (U.S.) upgrade na
2.00.02. Odnosi se na US Release.
clipper.729ikordic,
=> Priča se o Clipper-u 5.3 !!!
Bog te mazo, ako CA ispuni ono što piše u propratnom tekstu, i uz to nam NE
uvedu nove bugove, cena Clipper programa ima da se strmoglavi!
U tektu se pominje da je ExoSpace integrisan u 5.3. Da li ga iko koristi i
kakva su iskustva sa njim (ugl. po pitanju dodatnih problema).
Takođe se pominje da je alatka za razvoj novog Clipper-a bio MSC 8.0 (šmrc)
stim da je sada ukljucena emulacija NPU tako da Clip može koristiti isti ako
ga nadje. Jel' to sad znači da programe možemo da radimo i sa starim MSC,
samo treba da linkujemo sa LLIBCE.LIB?
Uzgred, opet nismo dobili user-def objekte ...
clipper.730neman,
a) da li neko zna sta je to Clipper 5.2+
b) kakva su iskustva sa SIX v2 ?
clipper.731tvucko,
Da li neko ima Classy 2.0 i Six 2.0 biblioteke ?
Ako ima neka mi javi moguća razmena ili "neki drugi
oblik trgovine" . (Tel. (021)-338-189)
Unapred hvala.
clipper.732szeman,
>> RE: PR103
>>
>> Jel se to samo meni dešava ili šta je? Malo, malo pa
>> 'Missing 2nd quote', na mestima gde od quote-a nema ni
>> traga ni glasa...
Dešavalo se i cnenadu dok nije smanjio broj karaktera u redu. Kao što
sam napomenuo program radi sa UKUPNO 255 karaktera u liniji. Naime logika
u Clipperu (bar za S'87) za navodnike je da se prvi od ovi karaktera: '"Š
smatraju početkom stringa. Npr. ovo je ispravno: ? '"Š"""'.
>> BTW, ne bi bilo loše da u slučaju greške, osim poruke da
>> i red gde je pukao.
Već sam uradio :), samo da dodam u DOC pa šaljem Dejanu da stavi u DIR.
clipper.733cnenad,
ŁŁŁ Dešavalo se i cnenadu dok nije smanjio broj karaktera u redu. Kao što
Pazi, nije mi su tu dešavalo, linija koja je imala više od 255 karaktera je
bila odsečena. Missing 2nd quote je bio na ovom mestu:
DBFCreate((lcBaza), laStruc)
clipper.734goxx,
■ => Priča se o Clipper-u 5.3 !!!
...
■ Uzgred, opet nismo dobili user-def objekte ...
Nije mi jasno dokle će više da natežu taj clipper 5.x. Što se tiče
IDE-a, verovatno ljudi imaju razvijene navike. Ako budu izmislili neke
zavrzlame sa editorom, imam utisak da neće baš slavno proći. Sve u svemu
(začin C :) lepo zvuči. Da li čekaju VO ili šta već, ali krajnje je vreme
da jezik dobije objekte.
Goran
clipper.735snemcev,
>> U direktorijumu CLIPPER je SX-00-02.ZIP SIx 2.00.00 (U.S.) upgrade na
>> 2.00.02. Odnosi se na US Release.
A šta je SIx 2.00.00? Cdx, Nsx ili nešto treće?
clipper.736dejanr,
>> > U direktorijumu CLIPPER je SX-00-02.ZIP SIx 2.00.00 (U.S.) upgrade na
>> > 2.00.02. Odnosi se na US Release.
>>
>> A šta je SIx 2.00.00? Cdx, Nsx ili nešto treće?
O SIx drajverima je bilo dosta reči u ovoj temi, a bio je i prikaz u
"Računarima 100". Ukratko, omogućavaju korišćenje FoxPro kompatibilnih
indeksa iz Clipper-a... i par drugih zgodnih stvari.
Sami drajveri nisu PD/SW.
clipper.737dr.grba,
>>>> A šta je SIx 2.00.00? Cdx, Nsx ili nešto treće?
>>
>> O SIx drajverima je bilo dosta reči u ovoj temi, a bio je i prikaz u
>> "Računarima 100". Ukratko, omogućavaju korišćenje FoxPro kompatibilnih
>> indeksa iz Clipper-a... i par drugih zgodnih stvari.
Nisi razumeo: snemcev je samo pitao da li je reč o SIxCdx ili SIxNsx
varijanti. On već koristi Nsx 1.5 (:
clipper.738nbatocanin,
> Bog te mazo, ako CA ispuni ono što piše u propratnom
> tekstu, i uz to nam NE uvedu nove bugove, cena Clipper
> programa ima da se strmoglavi!
Zašto?
clipper.739nbatocanin,
> A šta je SIx 2.00.00? Cdx, Nsx ili nešto treće?
CDX + NSX + NTX :)
clipper.740dpredovic,
> U tektu se pominje da je ExoSpace integrisan u 5.3. Da li ga
> iko koristi i kakva su iskustva sa njim (ugl. po pitanju
> dodatnih problema).
Ako si mislio da je rtlink spor, jaaaaako si se prevario...
> ga nadje. Jel' to sad znači da programe možemo da radimo i sa
> starim MSC, samo treba da linkujemo sa LLIBCE.LIB?
žisto sumnjam...
clipper.741snemcev,
>> O SIx drajverima je bilo dosta reči u ovoj temi, a bio je i prikaz u
>> "Računarima 100". Ukratko, omogućavaju korišćenje FoxPro
>> kompatibilnih indeksa iz Clipper-a... i par drugih zgodnih stvari.
:))))) Jel'?
Sorry, ali morao sam. Možda ću te razočarati, ali SIxNsx verziju 1.5
koristim već prilično dugo, tako da mi je perfektno jasno šta je to.
Pitanje se odnosilo na to koju vrstu indekasa (jel to množina?) verzija
2.00.00 podržava: .cdx, .nsx ili nešto treće?
PS NHF!
clipper.742mdrazic,
> Nisi razumeo: snemcev je samo pitao da li je reč o SIxCdx
> ili SIxNsx varijanti. On već koristi Nsx 1.5 (:
U reklami za verziju 2.0 piše da od te verzije paket sadrži
zajedno i CDX i NSX i NTX podršku. Bukvalno piše: Three RDDs
in one library!
Milan
clipper.743szeman,
>> Pazi, nije mi su tu dešavalo, linija koja je imala više od 255
>> karaktera je bila odsečena. Missing 2nd quote je bio na ovom mestu:
>>
>> DBFCreate((lcBaza), laStruc)
Tačno je to Nenade, samo pazi: TP (a i sve ostalo, kao na kraju krajeva
i Clipper) sa datotekama radi u blokovima, tj., upisuje na disk podatke samo
onda kada se napuni interni buffer ili se eksplicitno ne zada flush(f)
(isti rezultat daje COMMIT). Zato je alternativna datoteka ostala "nedovršena"
(naravno, bez nezgodnih posledica za FAT i direktorijume). Program je završio
rad jednim halt(1), pa se tebi, kao i dpredovicu, činilo da je greška baš u
liniji gde nema nikakve logike da je bude. Baš sam sada poslao Bulaji novu
verziju, koja je u svakom pogledu superiornija od predhodnih. Molim sve koji
je preuzmu da pročitaju DOC pre upotrebe. ;)
Uživajte...
P.S. Posle napornog rada i ja idem na zasluženi godišnji odmor, pa vas sve
pozdravljam i želim uspešan rad.
clipper.744snemcev,
>> CDX + NSX + NTX :)
Jel ovaj smajli znači da se zezaš ili...?
clipper.745bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
pr104 zip 10611 PR v1.04: "nazubljivanje" Clipper source-ova (szeman)
Unapredjenja u odnosu na predhodnu verziju su sledeca:
- podržana redirekcija izlaza
- ubačeni prekidači za izbor izmedju TAB-ova i SPACE-ova
- "našminkan" izlaz
- kompletna dokumentacija
clipper.746nbatocanin,
>>> CDX + NSX + NTX :)
>
> Jel ovaj smajli znači da se zezaš ili...?
Ne, sva tri su unutra. Još ako nema VMIF...
clipper.747dzoric,
HELP !!!
Imal' ko escape sekvence za PANASONIC KX-P1123.
clipper.748dpredovic,
> u Clipperu (bar za S'87) za navodnike je da se prvi od ovi
> karaktera: '"Š smatraju početkom stringa. Npr. ovo je ispravno:
> ? '"Š"""'.
Jeste, ali je ispravno i '"', što kod pr103 i 104 ne prolazi...
clipper.749dpredovic,
Umalo da zaboravim, uradio sam Six indexiranje i za 852 raspored, pa ako
nekome treba...
PS. Za sada je u upotrebi samo kod jednog mog korisnika, pa savetujem
oprez i testiranje...
six852.zipclipper.750cnenad,
Da li je moguće preko Clipper-a saznati stanje enviroment-a DOS-a ?
Konkretno mi treba da li enviroment sadrži liniju SHELL i šta je u njoj,
ako je nema, zna se da je COMMAND.COM a ako ima da li je to NDOS.COM ili
4DOS.COM ili nešto četvrto (?) ?
clipper.751goranm,
Mogu ti poslati te sekvence.
Napisi tacno sta te interesuje, inace je nezahvalno
prekucati ih sve.
clipper.752dvesic,
>> ako je nema, zna se da je COMMAND.COM a ako ima da li je to
>> NDOS.COM ili 4DOS.COM ili nesto cetvrto (?) ?
Jedno GETE("COMSPEC") bi trebalo da resi problem ...
clipper.753rozid,
U Nanforum Toolkit ima neka funkcija FT_GETE() koja daje sve
Environment varijable ili u obliku bloka teksta ili niza.
Sintaksa:
nekavar:=FT_GETE(@EnvBlock)
Tekst forma:
EnvBlock:=""
MEMOWRIT("ENVIRON.TXT", EnvBlock)
Niz forma:
nizvar:=ARRAY(FT_GETE())
FT_GETE(nizvar)
Rezultati:
? nizvar[1] "COMSPEC=C:\COMMAND.COM"
? nizvar[2] .................. i td.
Pozdrav
clipper.754cnenad,
ŁŁŁ U Nanforum Toolkit ima neka funkcija FT_GETE() koja daje sve
Zahvaljujem, nego kad smo već kod NFLib-a, verzija 2.1. interesuje me još
nešto. Odatle sam do sada koristio samo funkciju FT_FLOPTST() koja radi
kako treba. Nakon toga pronašao sam i funkciju FT_ORIGIN a Blinker mi
za nju prijavljuje da je UNRESOLVED EXTERNAL, u čemu je caka ?
clipper.755dzoric,
>>> Mogu ti poslati te sekvence.
Treba mi: Graphics mode, emphasized, 10cpi, 12cpi, double width,
Lq, draft, duzina strane, reset.
clipper.756cnenad,
Problem je SwapRunCmd() ! (Blinker 3.01.)
Pošto na mašini imam NDos 8.0. i QEMM 7.04 ako upotrebim ovu funkciju
QEMM se buni i javi poruku o grešci nakon koje mogu da izaberem Terminate
ili Reboot. Ukoliko mašinu podignem bez QEMM-a, znači COMMAND.COM sve
radi OK.
Ako upotrebim SwpSavCom(.f.) onda se mašina totalno blokira (nema ni poruke
od QEMM-a) :((
Sa __run(lcShell) nemam problema ali to nije 'to' jer ne oslobađa memoriju i
ne pamti DIR u kojem je pozvan SHELL.
Ima li rešenja za SwapRunCmd ?
clipper.757goranm,
Evo kodova koje si trazio:
Function Command
-------------------------------------------------------------------------------
Initializes the printer (reset) ESC+"@"
Sets pica pitch (10 cpi) printing ESC+"P"
Sets elite pitch (12 cpi) printing ESC+"M"
Sets micron (15 cpi) printing ESC+"g"
Sets emphasized printing ESC+"E"
Releases emphasized printing ESC+"F"
Sets double wide printing ESC+"W"+1
Releases double wide printing ESC+"W"+0
Select print letter quality (n=1 LQ, n=0 draft) ESC+"x"+n
Sets page lenght in inches ESC+"C"+0+n
Sets page lenght in lines ESC+"C"+n
Sets left margin ESC+"l"+n
Sets right margin ESC+"Q"+n
Sets skip perforation ESC+"N"+n
Releases skip perforation ESC+"O"
Sets 8 pin image standard density (60 dpi) ESC+"K"+n1+n2
Sets 8 pin image double density (120 dpi) ESC+"L"+n1+n2
Sets 8 pin image double density double speed (120 dpi) ESC+"Y"+n1+n2
Sets 8 pin image quadruple density (240 dpi) ESC+"Z"+n1+n2
Sets bit image mode selection (8 pin 60,120,120D,240,80,90,
24 pin 60,120,90,180,360) ESC+"*"+m+n1+n2
---------------------------------------------------------------
m pin Dots/Inch Dots/Line
---------------------------------------------------------------
0 8 60 480 Standard Density
1 8 120 960 Double Density
2 8 120 960 Double Speed, Double Density
3 8 240 1920 Quadruple Density
4 8 80 640 CRT I
6 8 90 720 CRT II
32 24 60 480 Standard Density
33 24 120 960 Double Density
38 24 90 720 CRT III
39 24 180 1440 Triple Density
40 24 360 2880 Hex Density
---------------------------------------------------------------
Reassigns graphics mode density ESC+"?"+n+m
Pozdrav !
clipper.758dzoric,
>>> Evo kodova koje si trazio:
Thanks !
BTW, Juce mi puce kombinacija NTX+RTLINK na VMIF. Samo jednom i to na
funkciji RestScreen().
Dejan
clipper.759snemcev,
>> BTW, Juce mi puce kombinacija NTX+RTLINK na VMIF. Samo jednom i to na
>> funkciji RestScreen().
Mašala! Oduvek sam bio uveren da Blinker nije kriv! :)
clipper.760ikordic,
RE: Clipper 5.2+?!?
=> a) da li neko zna sta je to Clipper 5.2+
Verovatno se odnosi na 5.2 i jače. Kao, npr., "ovaj SW radi samo sa 5.2+",
znači Clipper od verzije 5.2 pa naviše.
clipper.761ikordic,
=> > tekstu, i uz to nam NE uvedu nove bugove, cena Clipper
=> > programa ima da se strmoglavi!
=>
=> Zašto?
Pa, jednostavniji razvoj => svaka budala će biti u stanju da se pozabavi
razvojem programa. Do sada je uglavnom bila situacija, da su se oni
neinventivniji (čas' izuzecima) bavili Fox-om, uz ograničenje da im
aplikacije nikad ne mogu izgledati baš 100% user-friendly, moćne, komforne,
brze, itd., dok je sa druge strane postojao Clipper, sa kim moraš malo jače
da zalegneš, ali zato imaš rezultate, što je ljude mahom odbijalo od
Clipper-a. Ovo će se sada (izgleda) promeniti.
clipper.762dzoric,
>>> Masala! Oduvek sam bio uveren da Blinker nije kriv! :)
Pa sto se tice Blinker-a i VMIF-a ne zna se jos, ali njegov
INCREMENTAL link je posebna prica. Ponekad mi ulepsa dan sa
svojim neocekivanim vragolijama. Na funkciju dbAppend() on
zbrise ekran i ispise Starting MS-DOS..., na funkciju SaveScreen()
ode na flopi, itd...Moracu da zapisujem sve njegove bisere.
Napominjem da u 90% slucajeva koristim Blinker sem za finalne
verzije programa pod NTX-om kad koristim RTLINK. Cekam da vidim
EXO SPACE.
clipper.763nbatocanin,
> Imal' ko escape sekvence za PANASONIC KX-P1123.
Imam ja uputstvo za P1123 (ili beše 4?), al' mi nije baš pri ruci
(zatureno). Ako u međuvremenu nisi našao, kaži da potražim.
clipper.764nbatocanin,
> Problem je SwapRunCmd() ! (Blinker 3.01.)
Da li ima dovoljno memorije za komandni interpreter. Primera radi,
4dos neće da radi ako mu staviš ispod oko 300K, bez obzira što se
izvršava neki trivijalni program koji ne traži više od par K.
clipper.765pyc.guy,
...SixRDD je zaista lep, pogotovo .CDX "flavor" i trigger-i nad bazama
(.NSX to NEMA i jos po-nesto)...
...lepo je i prakticno neOgranicenje po pitanju broja inex-nih redosleda
(ali ako u cugu otvarate veci broj r.oblasti sa dosta redosleda -
proverite utrosak memorije pre i posle toga)...
...zasta su fine spravice za kontrolu mreznog zakljucavanja INDEX-nih fajlova
(na to nismo navikli da obracamo paznju ali, teoretski, pad stanice
u mrezi moze blokirati SVE ostale stanice BAS zbog index-ne blokade)...
ALI, ali, ali...
Za ZAISTA pravi rad mreznih aplikacija - sa ZAISTA mnogo korisnika - ne vredi
ni razmisljati bez CLIENT-SERVER arhitekture RDD-a.
Koliko ja znam postoje 2 pristojna proizvoda:
- RaSQL/B 6.0 (Btrieve podloga)
- Advantage
Pitanja:
- Da li neko ima informaciju sta Six-firma misli u tom pravcu ?
- Da li neko SLUCAJNO ima neki od gornja 2 RDD-a ?
- Da li neko zna jos neki pouzdan CLIENT-SERVER RDD ?
Mislim da je trend obrade podataka u pravcu mreznog rada najIzrazeniji od
sveg ostalog sto se obrade podataka tice - i da ce mo svi jednog dana
raditi sa client-server RDD-ovima - i da zato...
Miki
..
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
clipper.766batman,
Treba mi rešenje za jedan problem u Clipper-u. Tačnije u
FOX-u može
da se definiše boja pozadine ekrana, kao i boja teksta. Kako to
uraditi u
Clipper-u v.5.2. Ako neko zna, neka pomože....
Pozdrav,
snowwhite (ciki)
ma wr batman ili ovde u konf.
clipper.767neman,
Kada u jednoj radnoj zoni imam otvorenu bazu sa otvorenim NSX indeksom sa
vise TAGova i kada kreiram sa SUBINDEX ... TO ... novi indeks ( privremeni )
ovaj poslednji postaje aktivan. Kada sa SET TAG predjem na neki od postojecih
kako da se vratim na onaj kreiran SUBINDEX komandom i kako da ukinem taj
indeks kada prestane da mi bude potreban ( to je valjda DELETE TAG ? ).
clipper.768jolicm,
!! Treba mi rešenje ...
Za šta ti treba, konkretno !
Za lozinku ili nešto drugo, ako je za lozinku, to je rranije u ovoj
konferenciji detaljno objašnjeno. Ako je za nešto drugo javi.
clipper.769mdrazic,
> Koliko ja znam postoje 2 pristojna proizvoda:
> - RaSQL/B 6.0 (Btrieve podloga)
> - Advantage
>
> - Da li neko zna jos neki pouzdan CLIENT-SERVER RDD ?
Prva razlika među client/server rešenjima je u tome da li i klijenti
i data server pripadaju istoj mreži (tipični Novell) ili je server
'negde drugde (UNIX, VAX, IBM,...). U drugom slučaju je jedino razumno
koristiti neki SQL server za 'gornju' mašinu i odgovarajuću biblioteku
za Clipper na klijentima. U prvom slučaju ostaje dilema: da li
zadržati XBase standard (Advantage) ili neki drugi (Btrieve ili SQL).
U principu treba nabaviti dva softvera: server softver i klijent
softver. Kod Advantage to ide zajedno, za Btrieve server softver ide
uz Novell. Za ostala rešenja ima da (debelo) platiš server softver,
i posebno klijent softver za konkretne mašine klijenata.
Server softver:
- Advantage XBase server $895-$5495 (sa klijent soft.)
- Microsoft SQL server 4.21 $14995
- Oracle 7
- Gupta SQLBase 5.1 $995-$9995
- Sybase SQL server $3750-$158040
- Watcom SQL server $795-$4995
Client softver za Clipper:
- Advantage XBase server $895-$5495 (sa server soft.)
- RaSQL/B $349
- RaSQL/X (SQL lang. for Btrieve Technologies NetWare SQL) $349
- ClipSQL (podržava Microsoft SQL Server/Sybase, Oracle, Informix, Gupta)
$795
Ako ima nešto od ovoga, javite da testiramo.
Milan
clipper.770ikordic,
RE: RTFM!
=> da se definiše boja pozadine ekrana, kao i boja teksta. Kako to
=> uraditi u
=> Clipper-u v.5.2. Ako neko zna, neka pomože....
Pa uzmeš da čitaš f***** manual, odnosno gajde, u kojima potražiš SetColor ()
funkciju. Alternativno, uz svaki SAY/GET imaš COLOR argument.
clipper.771ikordic,
RE: MemoEdit
Daklem, upravo sam završio sa detaljnim (?) pregledom funkcija famozne
Funcky biblioteke. Ima nekih finih stvarčica, doduše malo komplikovano za
svakodnevnu upotrebu, al' ajde sad. Glavna stvar zbog koje sam je nabavio,
klase NotePad i ET Text, su razočarenje, jer je, i pored povećane
fleksibilnosti celog sistema, tekst koji se obrađuje ograničen na 64 KB.
Nadalje, ovo rešenje je i dalje primetno sporije od ugrađenog MemoEdit-a.
Ipak, ograđujem se od gore navedenog, jer još nisam imao vremena da se isto
tako detaljno pozabavim bibliotekom, ali na prvi (a i drugi) pogled ... :(
Stvarno postajem dosadan sa ovim, al' da vidimo neku alternativu: da li je
nađeno neko rešenje za obradu teksta u Clipper-u? U obzir dolazi i neka
C/C++ biblioteka koja bi mogla da se poveže sa Clipper-om. Ovde je pominjan
i izvesni CL Text, koji je nešto fenomenalno i straobalno uopšte, ali je i
malko bugovit. Prošlo je dosta tick-ova od tada, imamo li neka iskustva,
savete, preporuke, ...? Samo nemojte one čuvene one-liner-e "Aha, da, fino"
itd.
clipper.772dpredovic,
> Pošto na mašini imam NDos 8.0. i QEMM 7.04 ako upotrebim ovu
> funkciju QEMM se buni i javi poruku o grešci nakon koje mogu da
> izaberem Terminate ili Reboot. Ukoliko mašinu podignem bez
> QEMM-a, znači COMMAND.COM sve radi OK.
> Ima li rešenja za SwapRunCmd ?
A sa Qemm-om, a bez NDos-a? Meni se swpruncmd pokazao prilično
nestabilan kada je u situaciji da se swapuje na disk. žeeesto pukne, ali
uglavnom i nema neke preterane veze pošto je program u tom trenutku
ionako u nekom "stabilnom" stanju.
BTW, a Overlay?
clipper.773cnenad,
ŁŁŁ nestabilan kada je u situaciji da se swapuje na disk. žeeesto pukne, ali
Moguće da je problem baš u SWAP-ovanju jer kad se NDOS poziva on uvek
SWAP-uje prvo u XMS, EMS pa na disk odnosno redom kojim mu zada korisnik.
Ako sam otkrije da nema memorije SWAP-uje na disk.
ŁŁŁ BTW, a Overlay?
Misliš da proceduru koja poziva DOS SHELL zveknem u ROOT EXE-a ? Uradiću ovo
i javiti rezultate.
clipper.774cnenad,
ŁŁŁ Da li ima dovoljno memorije za komandni interpreter. Primera radi,
Memorije ima dovoljno, garantovano, dokaz za to je da shell u NDOS radi
sa običnom __run(lcShell) jer mi Clipper program zauzima 334 kb u memoriji.
clipper.775nbatocanin,
> bi mogla da se poveže sa Clipper-om. Ovde je pominjan i
> izvesni CL Text, koji je nešto fenomenalno i straobalno
> uopšte, ali je i malko bugovit. Prošlo je dosta tick-ova
> od tada, imamo li neka iskustva, savete, preporuke, ...?
Ja upravo malo detaljnije proučavam CLText. Stvar je interesantna.
Ima klase i funkcije za kompletnu definiciju skromnijeg tekst
procesora. Podržane su sve osnovne funkcije programa za obradu
teksta: počev od standardnih operacija, boldovanja i uopšte
atributiranja teksta, blok operacije, preko fusnota do uvoza grafike
u tekst. Koga mrzi da se bakće, pozove gotovu funkciju kalibra Word
ili WP i koja radi to što joj ime kaže. Ako se uz to koristi i
CLGraph iste firme, program radi i u grafičkom modu (na primer,
prikaz grafike i preview). Što se tiče bugova, suviše malo sam je
drndao da bih mogao nešto detaljnije da kažem.
clipper.776ikordic,
RE: MemoEdit
=> Ja upravo malo detaljnije proučavam CLText. Stvar je interesantna.
Umpf, pre neki mesec si rekao da proučavaš. mislio sam da je proučavanje
gotovo. ;) 'Ajde, strpljavamo se još malo ...
=> prikaz grafike i preview). Što se tiče bugova, suviše malo sam je
=> drndao da bih mogao nešto detaljnije da kažem.
Ako se ne varam ti (ili bulaja) si rekao da ima nekih promblema u vezi
biblioteke, pa smo (naivno) pomislili da imate bogata iskustva o istoj.
Usput, cena je ...?
clipper.777mdrazic,
> ŁŁŁ BTW, a Overlay?
>
> Misliš da proceduru koja poziva DOS SHELL zveknem u ROOT
> EXE-a ? Uradiću ovo i javiti rezultate.
Neće pomoći ako ne swap-uješ deo aplikacije van osnovne memorije.
Ja sam nekad radio sa Swap (demo) programčetom. Sada možeš da
koristiš shroom program za swap-ovanje (dvesic ima lepa iskustva
sa njim) ili da 'varaš' onaj demo. Evo kako sam ja radio:
Pre nekoliko godina beše program SWAP, tj .obj koji vrši
swap-ovanje aplikacije na disk ili neku memoriju. To je bilo
još u vreme Summer87 Clippera. Ako se ne sećate više :) tu
nije bilo dinamičkih overleja, već samo statičkih. E taj
swap je bio demo, pa posle dva korektna swapovanja javi da
neće više da radi (demo). Programera koji je taj swap
napravio zavrnula je finansijski firma preko koje je taj
koristan proizvod prodavao, pa se posvađao sa njima i od
tada se taj proizvod nazvao Overlay i dalje usavršavao.
Problem demo verzije sam sa statičkim overlejima ovako rešio:
Prvo sam napravio fajl u kome je kratak program:
function Swapfun(mem,komanda,disk,...) // moja funkcija
// ovde ide još kozmetika, boje, kursori,....
Swap(mem,komanda,disk,...) // original swap (iz .obj)
Dummyfun() // ovo je bitno
return .t.
U drugi fajl sam ubacio gornju funkciju
function Dummyfun()
return .t.
Zatim sam napravio statičke overleje po šemi:
┌────────────────────────────────────────┐
│ glavni (mali) │
├────────────────────────────────────────┤
│ Swapfun │
├─────────────────┬──────────────────────┤
│ Swap │ Dummyfun │
├─────────────────┴──────────────────────┤
│ slede ostali overleji ... │
├─────────────────┬──────────────────────┤
│ │ │
│ ├──────────┬───────────┤
│ │ │ │
│ │ │ │
│ │ │ │
└─────────────────┴──────────┴───────────┘
Kad god se pozove Swap (preko Swapfun) i završi, on registruje negde
u svom kodu broj izvršavanja. Kada ga 'izbacim' iz memorije sa
Dummyfun odmah po izvršavanju, sledeći put kad se izvršava opet se
čita sa diska iz EXE fajla i misli da mu je prvi put. Tako se nikad
nije bunila ta demo verzija i lepo je radila.
A onda(k) su došli dinamički overleji.
Milan
clipper.778cnenad,
Subj. & Re. : SwpRunCmd() i blokiranje mašine.
Problem je do QEMM-a. Šta u njemu tera računar na zaglavljivanje ne znam.
A baš je bilo lepo koristiti SWP*.. :(
clipper.779dpredovic,
> ŁŁŁ BTW, a Overlay?
>
> Misliš da proceduru koja poziva DOS SHELL zveknem u ROOT EXE-a
> ? Uradiću ovo i javiti rezultate.
Ne mislio sam na Overlay 3.5 biblioteku, koja bi trebala da radi isti
posao...
clipper.780cnenad,
Možda se sećate da sam pitao zašto Blinker prijavljuje da je FT_Origin
funkcija iz NanForum LIB-a 2.1. 'unresolved external' ? E pa caka je u tome
da su u biblioteci zaboravili da dodaju ono FT_ ispred (a nisu u NG-u :( )
tako da se funkcija zove Origin.
clipper.781zgolub,
>> Problem je do QEMM-a. Šta u njemu tera računar na zaglavljivanje ne znam.
>> A baš je bilo lepo koristiti SWP*.. :(
To blokiranje se meni javljalo kada je emm386 bio aktivan i to sa opcijom
NO EMS. Ako je QEMM definisan na isti način moguće da je to uzrok.
clipper.782mdrazic,
> Ne mislio sam na Overlay 3.5 biblioteku, koja bi trebala
> da radi isti posao...
A jel' ti samo misliš na nju ili je i gledaš kako ti radi.
Javi iskustva ako je imaš i(li) koristiš.
Milan
clipper.783pstevo,
Goxx,
prije 1-2 mjeseca si mi odgovorio na pitanje o Scroll bar-u.
Mnogo ti hvala na iscrpnom odgovoru iz kojeg sam preuzeo neke
interesantne ideje mada ,na žalost, u svom slučaju ne mogu
da primjenim tvoje rješenje Scroll bara. Ipak si mi pomogao
u drugim problemima. Izvini za kašnjenje, zovem iz
Republike Srpske, Gradiska, i kao što znaš prema nama je
blokiran telefonski saobrašaj te više od mjesec dana nisam mogao
da pročitam tvoju poruku a i sada "okolo" ;) dolazim na SEZAM.
Uzgred budi rečeno, SIX 1.5 nije loš mada ima bagova, ali se
čovjek navikne. Razmisli o tome ako si još na CL 5.01 :)
Puno pozdrava od Stevana
clipper.784pstevo,
> Promeniš blokove za pozicioniranje u TBrowse tako da broje
> pređene slogove.
(brojač pozicije u bazi za Scroll-bar)
Izvini za ooogromno kašnjenje mog odgovora. Razloge ,
da ne opterećujem bez veze konf, molim te pročitaj u poruci goxx -u
koja bi morala biti neposredno prije ove.
Elem, gore spomenuto lijepo radi ali je problem u tome sto
kod jednog SEEK ne možeš brojati koliko je slogova prešao dok
nađe dotični, a isto se dešava i kada u bazi izmjeniš slog po
kome je ova indeksirana.
U većim bazama je SIX-ov Sx_KeyNo() toliko spor da je čak
i njegovo korištenje u tako rijetkim situacijama neoprostivo
(pogotovo ako nemaš naviku da piješ kafu sa računarom ;) ).
Razlog sporosti je taj što Sx_KeyNo() i Count ne trči kroz B-stablo veš
broji slogove da bi mogao raditi i sa SCOPE.
Sličan problem je ispis rednog broja sloga u indeksiranoj bazi!
Ako imaš još neku ideju , došapni je, a i ostalim sezamovcima pitanje
kako se ovo rješava ???
Pozdrav od Stevana
clipper.785pstevo,
Možda je već bilo u konferenciji ali za svaki slučaj:
VMIF - Clipper 5.2d + SIXCDX V1.5 + Blinker 3.0
Program radi savršeno, u 1 mjesec razvoja samo jedan VMIF !
Šef dolazi kod mene i nestrpljivo čeka da mu demonstriram
mnogo hvaljeni ;) program i u prvoj minuti VMIF masakrira program
3 puta ! Od tada, u sadašnjem stadijumu programa, se pojavljuje
svakih 15-45 sekundi. Radio, ne radio, tu je VMIF !!! Puca u
blokovima koda, funkcijama za obradu nizova, SAY naredbi a samo jednom
u InKey() :((((( . Sve u svemu, nepodnošljivo.
Sjetio sam se da probam sa BLINKER INCREMENTAL OFF i od tada već
2 nedelje ni jedan jedini VMIF. Pitam se šta će se desiti kada važne
ličnosti ponovo budu promatrale izvršavanja programa :) .
Naglašavam da su navedeni podaci bez primjese šale ili pretjerivanja.
Eto vam još jedna kost za glodanje ;)
clipper.786cnenad,
ŁŁŁ NO EMS. Ako je QEMM definisan na isti način moguće da je to uzrok.
Kod mene je definisan da daje ili XMS ili EMS programima koji ih traže.
Dakle EMS nije isključen.
clipper.787dsisic,
Pristigao je Six 2.0
Ko me trazio za ranije verzije, zna kako da me nadje :)
Ko ne zna, nek se javi u mail ;)
clipper.788borko,
Mala pitanja za cenjene kolege .
Kako u CLIPPER-u 5.01 koristiti DBASE III indekse *.NDX ?
Dali je moguce otvoriti bazu istovremeno sa dva indeksa
jedan *.NDX a drugi *.NTX ?
clipper.789dejanr,
>> Kako u CLIPPER-u 5.01 koristiti DBASE III indekse *.NDX ?
>> Dali je moguce otvoriti bazu istovremeno sa dva indeksa
>> jedan *.NDX a drugi *.NTX ?
Koliko shvatam, to nije moguće. Moraćeš da pređeš na noviju verziju
Clipper-a, koja omogućava ne samo Clipper i dBASE nego i FoxPro
indekse.
Moguće je razne baze otvarati sa raznim tipovima indeksa, ali mislim
(nisam siguran) da se ne može ista baza otvoriti sa jednim NTX i
jednim NDX indeksom.
clipper.790misa.m,
>> aplikacije nikad ne mogu izgledati baš 100% user-friendly, moćne,
>> komforne, brze, itd., dok je sa druge strane postojao Clipper...
A da probaš sa asemblerom, savršen je za posebno inventivne ;>
clipper.791nbatocanin,
> Elem, gore spomenuto lijepo radi ali je problem u tome sto
> kod jednog SEEK ne možeš brojati koliko je slogova prešao
> dok nađe dotični, a isto se dešava i kada u bazi izmjeniš
> slog po kome je ova indeksirana.
> U većim bazama je SIX-ov Sx_KeyNo() toliko spor da je čak
> i njegovo korištenje u tako rijetkim situacijama
> neoprostivo (pogotovo ako nemaš naviku da piješ kafu sa
> računarom ;) ).
Hmm, evo teme za razmisliti...
clipper.792nbatocanin,
> Pristigao je Six 2.0
Jel' pravi ili pre-release?
clipper.793nbatocanin,
> Mala pitanja za cenjene kolege .
> Kako u CLIPPER-u 5.01 koristiti DBASE III indekse *.NDX ?
Na žalost, nema mogućnosti za ovo.
> Dali je moguce otvoriti bazu istovremeno sa dva indeksa
> jedan *.NDX a drugi *.NTX ?
Otvoriš istu datoteku u dve radne zone.
clipper.794goxx,
■ Elem, gore spomenuto lijepo radi ali je problem u tome sto
■ kod jednog SEEK ne možeš brojati koliko je slogova prešao dok
■ nađe dotični, a isto se dešava i kada u bazi izmjeniš slog po
■ kome je ova indeksirana.
■ U većim bazama je SIX-ov Sx_KeyNo() toliko spor da je čak
Kad se posle SEEK-a (ili ako si promenio polje koje je u ključu)
nađeš na novoj poziciji, jednostavno izbroj koliko ima slogova do kraja
(funkcija DbfCount() koju sam dao u poruci je veoma brza) i primeni
formulu: redni_broj := maximum - dbfcount(,...) + 1. (ako Bog da, možda
ćeš o ovome moći da čitaš u sledećim računarima :)
Goran
clipper.795mdrazic,
> A da probaš sa asemblerom, savršen je za posebno
> inventivne ;>
Nemojte potcenjivati asembler :). Jedan moj kolega sa
fakulteta je u čistom asembleru uradio aplikaciju
za baze podataka i to je RADILO. Koliko udobno,
ne znam, to ne zavisi od jezika već od projekta.
žak je i pisao u Računarima seriju tekstova na tu
temu. Meni se asembler ne uči (radio sam sa 6502
procesorom, ali mi se ovi segmenti u 8086 ne mile da
na njih trošim vreme) tako da ostajem osuđen na
Clipper i C ako zatreba. :)))) Za neke rutine za koje
ja mislim da bi bilo dobro da se urade u ASM, kada ih
dam mlađariji da urade (garant rasturaju asembler) ni
njima se to ne radi, pa mi urade u C jeziku.
Milan
clipper.796gosse,
S.O.S !!! Ima li nekoj ideja kako moze u koden blok da se prikaze saldo na
drugi dve koloni koi ( postojat na disk ) gi prikazuvam ( u TBBROWSE ) so
obicen koden blok!HHH Idejata e ako moze za vreme na kreiranjeto na Tbrowse
tretata kolona (saldoto) da se smesti vo pole koe ke e del od tbrowse
objektot.! Dale e izvodlivo vo eden Tbrowse objekt da ima koloni od pole od
Baza i poleč?ć. A bi bilo resenie za mnogu gadni problemi okolu azuriranje i
sl... Eh...Odnapred mnogu blagodaren,( ako ima poinventivni od mene...)
clipper.797dpredovic,
>> Ne mislio sam na Overlay 3.5 biblioteku, koja bi trebala
>> da radi isti posao...
>
> A jel' ti samo misliš na nju ili je i gledaš kako ti radi.
> Javi iskustva ako je imaš i(li) koristiš.
Pa, ja nisam imao (preteranih) problema sa blinkerom, pa nisam imao niti
potrebe da ga se zezam sa tim. Imam ju, probao sam i izgleda da radi.
Jedina očigledna mana je što ne radi u protected modu.
BTW, ako budem morao da menjam swap, biće to (opet) Shroom... Stvarno
pravi najmanje problema, ali avaj... Ne koristi XMS/EMS, samo disk...
clipper.798szeman,
>>> u Clipperu (bar za S'87) za navodnike je da se prvi od
>>> ovi karaktera: '"Š smatraju početkom stringa. Npr. ovo
>>> je ispravno: ? '"Š"""'.
>>
>> Jeste, ali je ispravno i '"', što kod pr103 i 104 ne
>> prolazi...
Da, zbog jednog sitnog propusta i zadnjih izmena pre slanja fajla...
Anyway, poslata je nova verzija Bulaji.
clipper.799nbatocanin,
> od tbrowse objektot.! Dale e izvodlivo vo eden Tbrowse
> objekt da ima koloni od pole od Baza i poleč?ć.
More zemko, ne li ti napišuvaš ovo malko jasneje, pa ke ti
odgovorifme :)
clipper.800.ken.,
Nije proslo mnogo dana a ja uz'o da pisem nesto na brzinu.
Uzmem Frankie-lib jer mi se cinilo da cu to brzo sa njim
ali ne lezi vraze.
Zavrsio ja program, dam teti da kuca kad ono !?!????!
- Pa gde je slovo ~ (malo c kao cicak na primer) pita teta.
- Ma mora da je tu negde - kazem ja ali njega ipak nema.
Kasnije sam malo kopao i ukapirao da unutar GET objekata
koje koristi Frankie-lib (ADGET itd..) ne moze otkucati malo
slovo ~ (kod 126).
Da li neko mozda ima resenje ovog problema (onako globalno za
Frankie-lib) a i ako nema da se jos neko nebi nasankao.
Pozdrav
clipper.801st.pol,
> Dale e izvodlivo vo eden Tbrowse objekt da iam koloni od pole od objektot.!
Ne se znae. Zare igra... ;)
clipper.802dzoric,
Posto je SIx 2.xx pristigao u nase krajeve, imal' hrabrih
koji su ga ucackali u aplikacije. Ako i takvih ima nek se
prijave necu im nista. Samo da cujem iskustva.
Brzo nemoj da prozivam.
Dejan.
clipper.803mrajacic,
> Nije proslo mnogo dana a ja uz'o da pisem nesto na brzinu.
> Uzmem Frankie-lib jer mi se cinilo da cu to brzo sa njim
> ali ne lezi vraze.
> Zavrsio ja program, dam teti da kuca kad ono !?!????!
> - Pa gde je slovo č (malo c kao cicak na primer) pita teta.
> - Ma mora da je tu negde - kazem ja ali njega ipak nema.
> Kasnije sam malo kopao i ukapirao da unutar GET objekata
> koje koristi Frankie-lib (ADGET itd..) ne moze otkucati malo
> slovo č (kod 126).
> Da li neko mozda ima resenje ovog problema (onako globalno za
> Frankie-lib) a i ako nema da se jos neko nebi nasankao.
Da tačno problem je jer se u biblioteci kod 126 koristi
za uključenje miša. Stvar je rešena u novoj verziji 2.21
tako da stvar sada normalno funkcioniše.
Pozdrav
Milan
clipper.804bulaja,
Sveže informacije o Visual Objects-u (saznao sam ih od predstavnika
Computer Associates-a u Bugarskoj) - za oko mesec dana se očekuje
izlazak CA-Visual Objects PRE-RELEASE v1.0. Svi kupci ove verzije će
dobiti besplatan upgrade na konačnu verziju 1.0 po njenom izlasku. Od
dodatnih informacija o VO imali su samo kopiju teksta iz probnog broja
Visual Objects Advisor-a (autor Rick Spence, 5 strana teksta). Nisam još
stigao da pročitam tekst, ali učiniću to ovih dana i preneti detalje
ovde :).
Cena VO (pretplata na taj pre-release) u Bugarskoj je 450 USD + porez
(koji obično nisu radi da vam vrate), što ukupno iznosi oko 800 DEM.
Trebalo bi da može da se naruči u CET-u, uz cenu oko 1000 DEM (raspitaću
se za tačnu cenu, a CET obezbedjuje i besplatan upgrade na konačnu
verziju).
clipper.806snemcev,
>> More zemko, ne li ti napišuvaš ovo malko jasneje, pa ke ti
>> odgovorifme :)
:)))))))))))))))))
Svaka čast za komentar!
Ako sam dobro razumeo čoveka, on pokušava da dobije nešto ovako:
................ Duguje Potražuje Saldo
---------------------------------------------
................ 1.00 0.00 1.00
................ 0.00 2.00 -1.00
................ 0.00 5.00 -6.00
................ 6.00 0.00 0.00
---------------------------------------------
Kolona "Duguje" i "Potražuje" su polja iz baze, a za "Saldo" mu treba
nekakav kodni blok koji će se izračunavati tokom prikaza. Mislim da je
ovo prilično neizvodljivo. :(
clipper.807.ken.,
>> Da li neko mozda ima resenje ovog problema (onako globalno za
>> Frankie-lib) a i ako nema da se jos neko nebi nasankao.
>
> Da tacno problem je jer se u biblioteci kod 126 koristi
> za ukljucenje misa. Stvar je resena u novoj verziji 2.21
> tako da stvar sada normalno funkcionise.
'Di to ima (mislim na Frankie 2.21).
Jel jos shareware i ako jeste bacajte to u dir !!!!
clipper.808gosse,
OK! Fala na razbiranjeto, problemot e u slednoto:
Prikazuvam dve koloni so Tbrowse i so žččFIELD->XĆ i žččFIELD->YĆ.Sakam da ja
prikazam slednata kolona žččFIELD->x-FIELD->Y + PRETHODNA_SOSTOJBAĆ. E,
problemot e u PRETHODNA_SOSTOJBA :(((. X i Y se podatoci od DBFile i idejata
bese da se napravi nesto kako ka QPRO, sto ke dava saldo na kolonite X i Y, a
nema da moram prethodnoto saldo da go imam na disk! Idejata bese ( ama ne
proraboti :((( ) da se napravi Saldo_func():
IF !TB:stable
AADD(x-y)
else
Prikazi zi(x - y+Saldo_Arrčprethoden_redć)
endif
PS gore kaj AADD mi izbega pecatna greska treba
AADD(Saldo_Arrčtekoven_redć:=X-y+Saldo_ARRčprethoden_redć)
Dali TBrowse objektot dava informacija za toa koj element od objektot go
prikazuva ili treba nekakva moja procedura koj ke gi broi slogovite( za da
dojdam do tocen podatok koj e "tekoven_red".
Taa Saldo_func, normalno ke bese treta kolona od TBROWSE objekt:
žččSaldo_Func()Ć.
Davam pivo za ideja! ( U ANGLIja davat kralstvo ama takov im e standardot! :)
clipper.809mbiresev,
>> Davam pivo za ideja!
Ako sam dobro razumeo, problem ti resava:
oTB:addColumn (TBColumnNew ("Duguje" , {|| dug }))
oTB:addColumn (TBColumnNew ("Potrazuje", {|| pot }))
oTB:addColumn (TBColumnNew ("Saldo" , {|| dug - pot}))
A koje je marke pivo?
clipper.810snemcev,
>> Ako sam dobro razumeo, problem ti resava:
>>
>> oTB:addColumn (TBColumnNew ("Saldo" , {|| dug - pot}))
Nisi u pravu. Kad bi moglo, rešenje bi bilo:
oTB:addColumn (TBColumnNew ("Saldo" , {|| prethodni_saldo + dug - pot}))
clipper.811ikordic,
RE: TBrowse
=> OK! Fala na razbiranjeto, problemot e u slednoto:
Em makedonski, em on-line, em YUSCII ... i ti očekuješ smislen odgovor? Lepo
kod kuće smisliš šta ti treba, to lepo i pregledno otkucaš u nekom editoru,
PROžITAŠ šta si napisao i to onda pošalješ 'vamo.
Apropo problema: ako ti treba kolona u TBrowse-u koja će da izigrava
fiktivnu polje saldo, koje će se računati, napraviš niz aSaldo dužine
LastRec(), a kao indeks za prikaz & manipulaciju koristiš RecNo (). Onda za
svko polje imaš
aSaldo [ RecNo () ] := field->polje_1 - field->polje_2
a za sabiranje (@sum u QPro ;)) kažeš
LOCAL nSaldo := 0
AEval ( aSaldo, { | a | nSaldo += a } )
Imam ovako nešto u jednom programu, poslaću ako nađem.
clipper.812neman,
> => OK! Fala na razbiranjeto, problemot e u slednoto:
>
> Em makedonski, em on-line, em YUSCII ... i ti ocekujes
> smislen odgovor? Lepo
:)))
> Apropo problema: ako ti treba kolona u TBrowse-u koja ce
> da izigrava fiktivnu polje saldo, koje ce se racunati,
> napravis niz aSaldo duzine LastRec(), a kao indeks za
> prikaz & manipulaciju koristis RecNo (). Onda za svko
> polje imas
>
Apropo tvog resenja: sigurnije je da doda u bazu polje saldo, pogotovu
ako ima veliki broj promena ;)
clipper.813toma,
■> Prikazi zi(x - y+Saldo_Arr[prethoden_red])
Obrati pažnju!
Ako već koristiš Saldo_Arr pre samog prikaza u tBrowse-u fino
prođi kroz bazicu, izračunaj salda i onda za svaki recno() imaš i
saldo i problemi nestaju.
Samo prikazi(Saldo_Arr[tekući_slog]) ti rešava problem.
clipper.814dpredovic,
>>> Jeste, ali je ispravno i '"', što kod pr103 i 104 ne
>>> prolazi...
>
> Da, zbog jednog sitnog propusta i zadnjih izmena pre slanja
> fajla... Anyway, poslata je nova verzija Bulaji.
Ex, a sada još samo:
// bla bla ' bla bla
clipper.815amarilis,
H E L P !!!!! H E L P !!!!!! H E L P !!!!
Problem je u sledecem:
na jednoj mrezi se nalazi virus koji s vremena na vreme pronalazi *.dbf
i menja nazive polja.U pocetku se to desavalo retko ali u zadnje vreme
cim ukljucim racunar mogu da se oprostim sa *.dbf.Virus ne detektuje ni
jedan od poznatih antivirusa(scan,cpav,f-prot,msav....i jos gomila njih)!
A sto se hardvera tice sumnjam da mu se svidjaju bas *.dbf :(((())))
Ako neko ima iskustva sa slicnim molim da mi se javi!
clipper.816jolicm,
Probaj da promeniš ekstenziju i dbf datoteka i u programu kod naredbe use.
npr. primer.dbf u primer.xxx , mozda virus proverava samo ekstenzije ?:).
clipper.817aismaili,
Radim jedan mali program na Clipper-u za izdavanje polise
osiguranja. Na polisi seria (r.b) ide na principu 00001, 00002
..., tj. nije standardni 1,2,3...Da li je moguce definisati neku
GET masku da se dozvoljava samo ovaj nacin upisa serie (rednog
broja)?
BTW. ima li na starim konferencijama neko dobro resenje PULL
DOWN menija, da ne trazim dzabe?
clipper.818goxx,
■ osiguranja. Na polisi seria (r.b) ide na principu 00001, 00002
■ ..., tj. nije standardni 1,2,3...Da li je moguce definisati neku
■ GET masku da se dozvoljava samo ovaj nacin upisa serie (rednog
Kad vec ti sam vršiš izdavanje (kompjuter :) polisa , onda mislim da je
bolje rešenje da sam i generišeš broj polise preko spoljnjeg brojača, recimo u
nekom konfiguracionom fajlu:
...
Š POLISE Ć
RedniBrojSerije = 1
...
ili još jednostavnije da pronađeš poslenju polisu i da njen broj povećaš za 1:
...
polise->(DBGOBOTTOM())
nBroj := polise->RedniBroj
polise->(DBAPPEND())
polise->RedniBroj := ++ nBroj
...
A što se tiče GET-a: možeš da napraviš svoju f-ju za očitavanje tog polja, ali
ne vidim razlog da korisnik ne unese (kad već unosi) i u obliku 1, 2, 3...
kao numerik ili kao karakter koji ćeš ti kasnije u VALID-u da pretvoriš u
"00001", "00002",...
...
č nY, nX GET cBroj PICTURE "čK 99999" VALID DodajNule(čcBroj)
...
STATIC FUNCTION DodajNule(cB)
cB := PADL(ALLTRIM(cB), 5, "0")
// ovde može još neka provera ispravnosti cB
RETURN .T.
...
■ BTW. ima li na starim konferencijama neko dobro resenje PULL
■ DOWN menija, da ne trazim dzabe?
Ako ne zahtevaš previše, pogledaj omenu.prg (ili tako nekako :) koji ide
uz sam clipper (bar je bilo uz 5.0).
Goran
clipper.819goxx,
■ Probaj da promeniš ekstenziju i dbf datoteka i u programu kod naredbe use.
■ npr. primer.dbf u primer.xxx , mozda virus proverava samo ekstenzije ?:).
Ako je virus tako opasan (nepoznat), Bolje neka podigne ceo sistem ponovo
jer samo može da bude izvor dalje zaraze.
Goran
clipper.820gonzo,
-+*> Probaj da promeniš ekstenziju i dbf datoteka i u programu
-+*> kod naredbe use. npr. primer.dbf u primer.xxx , mozda virus
-+*> proverava samo ekstenzije ?:).
Ako promeni extenziju, možda bi se rešio virusa ali čisto sumljam
da bi mu ostalo što radi sa tim bazama kasnije radilo. ;<<
clipper.821dr.grba,
>> BTW. ima li na starim konferencijama neko dobro resenje PULL
>> DOWN menija, da ne trazim dzabe?
Uzmi Bulajin BuMenu iz direktorijuma. Ne samo da je dobar, nego usput i možeš
da naučiš ponešto (:
Bulajiću, za ovu reklamu očekujem neko tečno osveženje (:
clipper.822jolicm,
Ma u svakom slučaju treba da podigne sistem ponovo, ali zar nije bolje da pre
toga snimi sve potrebne podatke na diskete, a zatim proba ipak sa promenom
ekstenzije *.dbf datoteka, da mi ostali znamo da li taj virus napada samo *.dbf
ili zna da proveri strukturu same datoteke i da ipak zna da je to *.dbf.
Ako je virus opasan bolje ga je što bolje upoznati, ako se već prilika ukazala.
A posle svega ovoga, ga treba odstraniti sa sistema.
clipper.823jolicm,
Ako promeni ekstenziju i datoteka i naziva datoteka u programu npr:
Datoteka: primer.dbf u primer.prm
U programu: use primer da promeni u USE PRIMER.PRM
programi u clipperu, dbase, fox, foxpro .. še raditi sa tom datotekom.
:)
clipper.824bulaja,
│Uzmi Bulajin BuMenu iz direktorijuma. Ne samo da je dobar,
│nego usput i možeš da naučiš ponešto (:
└───
A i zreo je za novu verziju (ako budem imao vremena ovih dana:).
clipper.825aismaili,
> Kad vec ti sam vrsis izdavanje (kompjuter :) polisa , onda mislim da je
> bolje resenje da sam i generises broj polise preko spoljnjeg brojaca,
> recimo u nekom konfiguracionom fajlu:
Polise se izdavaju na vise mesta, pa generisanje broja nije
resenje. Inace, polise su stampane a i imaju i numeraciju (broj
serije) na sebi.
> Z nY, nX GET cBroj PICTURE "ZK 99999" VALID DodajNule(ZcBroj)
> ...
> STATIC FUNCTION DodajNule(cB)
> cB := PADL(ALLTRIM(cB), 5, "0")
> // ovde moze jos neka provera ispravnosti cB
> RETURN .T.
To je to hvala!
p.s. hvala i tebi doktore!
clipper.826bdm.,
Subject: BOF()
Verovatno sam otkrio toplu vodu, ali ipak da se neko drugi ne muči kao ja.
So, uzmem "jedrenjaka" i prepišem onu funkciju movepointer() iz onog
univerzalnog browser-a baza po nekom ključu, kada ono neće da radi pa da ga
ubiješ, ok ne budem ja lenj, i napišem sam svoju (kraću, bržu:)
kad ono opet neće. Posle tri sata zezanja sa CLD-om (mnogo mi je trebalo:()
tek shvatim da je problem u BOF-u, i to sledeći:
BOF()
GOTO 1
SKIP -1 .T.
SKIP 0 .T.
SKIP 1 .F.
SKIP -1 .F.
Znači ako je pokušan SKIP pre prvog sloga BOF() daje .T., i da bi se
naterao da promeni stanje mora se raditi SKIP 1, pa SKIP -1. :(
Meni je ovo bezveze. Zašto lepo nisu uradili BOF()->.T. sledeći put
kada pozovem BOF() on da lepo vrati .F.. :(
BDM.
P.S. Vi koji ste znali fazon, nemo' da se smejete. :)
clipper.827dvesic,
>> @ nY, nX GET cBroj PICTURE "ZK 99999" VALID DodajNule(ZcBroj)
Samo mala ispravka : da bi ovo radilo, treba ovako :
@ nY, nX GET cBroj PICTURE "ZK 99999" VALID DodajNule(@ZcBroj)
a evo i prostije varijante funkcije :
Func DodajNule(Sta)
Sta := StrZero( Val(Sta) , 5 )
Return .T.
clipper.828mceh,
> ■ osiguranja. Na polisi seria (r.b) ide na principu 00001,
> 00002 ■ ..., tj. nije standardni 1,2,3...Da li je moguce
> definisati neku ■ GET masku da se dozvoljava samo ovaj nacin
> upisa serie (rednog
>
> Kad vec ti sam vršiš izdavanje (kompjuter :) polisa , onda
> mislim da je bolje rešenje da sam i generišeš broj polise preko
> spoljnjeg brojača, recimo u
To še, nažalost teško ići. U većini, koliko ja znam, DD-a za osiguranje
broj polise se štampa na polisi u štampariji, i neizmenjiv je kao i napr.
broj čeka. Jedino rešenje je da u GET-u daš PICTURE "999999" a u VALID
funkciji proveriš da li je podatak popunjen do kraja i ako nije dopuniš ga
nulama.
clipper.829szinf,
u poslednjim "Računarima" (br 102) je u odeljku posvećenom Clipperu
objavljen je kod procedure koja i ažurira i unosi novi slog. Procedura NE
RADI. Potrebno je pre dodele mem. var. u polja dopisati sl. kod:
if lNew
APPEND BLANK
endif
Inače, sve pohvale za ideje. Pe
Pedja
clipper.830bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
gt_lib zip 68257 The GT Clipper Library Ver 1.0 Rel 1 (LIB file)
gt_ng zip 61206 The GT Clipper Library Ver 1.0 Rel 1 (NG file)
gt_obj zip 173506 The GT Clipper Library Ver 1.0 Rel 1 (OBJ files)
gt_src zip 282068 The GT Clipper Library Ver 1.0 Rel 1 (Source)
The GT Clipper library is a loose collection of Clipper, C and ASM
code designed to help Clipper programmers. The library is developed
and maintained by members of the GT Clipper Echoes in the UK.
A full copy of the library consists of the following files :
GT_SRC.zip - Source files
GT_OBJ.zip - OBJ files create using Clipper 5.2c, Borland C++2 and
Microsoft C 5.1
GT_LIB.zip - Library file
GT_NG.zip - NG file
All of the code found in the GT Clipper Library is placed in the
PUBLIC DOMAIN by the respective author. Please feel free to modify
the code, but if you come up with anything interesting please let the
librarian and author know what you have done so that we can keep
improving the library.
clipper.831bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
52d_obj zip 16691 Dodatne .OBJ zakrpe za Clip 5.2d (gets2, vmapi, term)
Notes on additional patch files for CA-Clipper 5.2d
---------------------------------------------------
The OBJ files contained in this archive are to be linked into the application
as FILES. This will overwrite any modules of the same name in the LIBRARIES.
**** DO NOT EXTRACT AND REPLACE THESE OBJECT FILES FROM THE LIBs ****
This will alter the LIB's byte size, date/time stamp and cause problems with
any future updates to the corresponding LIBs.
GETS2.OBJ 12982 05-18-94 12:03p
VMAPI.OBJ 2332 07-12-94 10:41a
TERM.OBJ 10656 07-18-94 3:23p
- GETS2.OBJ fixes GPF in PICTURE "@K" clause (introduced in 5.2d)
- VMAPI.OBJ fixes GPF in repeated SET ORDER TO command (introduced in 5.2d)
- TERM.OBJ fixes GPF in ERRORSYS when trying to print a string and there
is no printer connected and errorblock returns TRUE ( RETRY
option ).
clipper.832goxx,
■ >> č nY, nX GET cBroj PICTURE "ZK 99999" VALID DodajNule(ZcBroj)
■ Samo mala ispravka : da bi ovo radilo, treba ovako :
■ č nY, nX GET cBroj PICTURE "ZK 99999" VALID DodajNule(čZcBroj)
:) Code page! Majmun postao Z.
■ a evo i prostije varijante funkcije :
■ Func DodajNule(Sta)
■ Sta := StrZero( Val(Sta) , 5 )
■ Return .T.
Šta je tu prostije? Verovatno se Val() izvršava duže od ALLTRIM(), a
StrZero() /STR()/ duže od PADL(). žini mi se da StrZero nije iz osnovnih
biblioteka!? Izvini, ali moram da branim svoju varijantu :))))
Goran
clipper.833gonzo,
-+*> Ako promeni ekstenziju i datoteka i naziva datoteka u
-+*> programu npr: Datoteka: primer.dbf u primer.prm
-+*> U programu: use primer da promeni u USE PRIMER.PRM
-+*> programi u clipperu, dbase, fox, foxpro .. še raditi sa tom
-+*> datotekom.
Lepo smišljeno, ali šta ako ima već gotove programe (a ne
source code) ? Onda ipak neće...
clipper.834mdrazic,
Evo jako interesantnih tekstova na temu potrošnje memorije,
tehnika linkovanja i nizova (lista) u Clipperu.
Milan
bcsmem.zipclipper.835mdrazic,
Evo i jedan primerak nekog elektronskog časopisa sa temama
iz Clippera
Milan
P.S. Ako je neko pretplaćen na Fenix, tamo sam video neke
interesantne naslove:
CED21B.ZIP 520K CED 2.1b the Clipper Environment
CS_722.zip 254K Codesmith Screen generator
XDOT2.zip 335K Xdot Prof. Clipper Interpreter
Molio bih nekoga da ovo nekako pribavi.
bcnn0294.zipclipper.836kcurcic,
Imam par pitanja vezanih za povezivanje clipper-a i
asemblera: prvo i glavno: je li potrebno (obavezno ?) da se
za tu svrhu koristi MASM ili ne ? Pokusao sam sa tasm-om
ali mi stalno javlja greske u deklaracijama makroa. E sad,
to ne bi bilo strasno da ga nisam pokrenuo sa primerom dobijenim
uz clipper. Ako nije obavezan masm onda bih molio nekoga da mi
ostavi pointer na ranije poruke koje bi to malo objasnile (znaci
prenos parametara i sl.) Jedno divno pitanje na koje je odgovor
kratak, jel' da ? O:))
Kosta
clipper.837jolicm,
pošalji oba primera: ono što ti je na asm, i ono što ti je prg. , pa da vidimo
ja nemam tasm, ali sam programirao u masm5.0 i povezivao ga sa clipperom bez
problema. Na kraju, mozda je i moguće da ti nešto grešiš. pošalji primere pa da
vidimo.
Po mom mišljenju asembler je asembler, sve ostalo je relativno.
da pojasnim, programski jezici mogu biti različiti od proizvođača do
proizvođača, a asembler nije programski jezik, već je to sama mašina.
:) pozdrav.
clipper.838evlad,
>> Po mom misljenju asembler je asembler, sve ostalo je relativno.
>> da pojasnim, programski jezici mogu biti razliciti od proizvodaca do
>> proizvodaca, a asembler nije programski jezik, vec je to sama masina.
Tasm ima dva moda rada: turbo i emulacija masm, so dokumentaciju u sake
i ukljuci masm mod, tada ne bi trebao da imas problema.
Zavisi i od verzije tasm-a.
Za moju verziju tasm-a ti prepisujem iz knjige:
/Turbo Assembler Reference Guide/
------------------------------------------------------------------
MASM
function Enters MASM assembly mode
mode MASM, ideal
syntax MASM
Remarks MASM tells the expression parser to accept MASM's
loose expression syntax. See apendix B for a discussion
of how this differs from ideal mode.
Turbo Assembler is in MASM mode when it is first starts
assembling a source file.
Example: MASM
mov al,es:24h ; ghastly construct
------------------------------------------------------------------
Pozrav Vlada.
clipper.839dejanr,
>> je li potrebno (obavezno ?) da se
>> za tu svrhu koristi MASM ili ne ? Pokusao sam sa tasm-om
>> ali mi stalno javlja greske u deklaracijama makroa.
Nije obavezno, ali će te spasti silnih glavobolja. Ja sam nekada koristio
asembler OptAsm. Sjajan je, X puta brži od MASM-a što mi je mnogo značilo
kada sam imao AT. Međutim, uvek sam imao problema kada dobijem nešto što
je drugi pisao, uvek se nešto moralo "krpiti". Kada je došao Clipper,
nikako mi nije išlo da njim prevedem primere, čak ni u modu kada (po
dokumentaciji) potpuno emulira MASM. Tada sam se "inatio" pa sam budžio
makroe dok nisam uspeo da ih nekako asembliram, ali kada dođe Clipper 5,
svi problemi počeše od početka. Tada sam imao znatno brži računar pa
sam "bacio" OptAsm, uzeo MASM i od tada me glava više ne boli.
Sa TASM-om nemam iskustva.
clipper.840mdrazic,
> kad ono opet neće. Posle tri sata zezanja sa CLD-om (mnogo
> mi je trebalo:()
Posle 10-15 min zezanja sa CLD-om jedno zapažanje.
Source je izgledao otprilike ovako:
1 do while ( lUslov1 .or. lUslov2 )
.....
2 if lUslov3
....
exit
3 endif
4 enddo
Posle nekoliko uspešnih prolaza u petlji 1-4 program se
'zakucavao' javljajući da je problem na liniji 2.
Objašnjenje, odnosno simbol koji se navodi u error handleru
nije imao nikakve veze sa linijom 2.
Na kraju je simbol koji je pravio problem nađen u liniji 1
i to u lUslov2 koji se do tada uopšte nije ni računao
jer je do tada lUslov1 bio tačan i Clipper primenjivao
shortcut računanje logičkih izraza.
Objašnjenje: posle niza uspešno prođenih petnji 1-4 ,
postalo je lUslov=.f., lUslov3=.f. i to na osnovu nekih
operacija u linijama između linija 1 i 2. If...endif
struktura se preskače, nailazi enddo i umesto da debager
skoči na do while, on ostane gde je bio (linija 2).
U debageru ne možete stepovati na endif i enddo ! To nisu
komande koje se izvršavaju, već deo strukture. Može se
stepovati samo na 'glavu' strukture gde postoji neki izraz
koji se efektivno računa.
Milan
clipper.841mdrazic,
> To še, nažalost teško ići. U većini, koliko ja znam, DD-a
> za osiguranje broj polise se štampa na polisi u
> štampariji, i neizmenjiv je kao i napr. broj čeka. Jedino
Izgleda da samo mali broj osiguravajućih kuća ekonomiše.
Mnogo je jeftinije štampati blanko polise bez broja nego
sa brojem. (Kada sam jednom prilikom čuo koliko je 'Dunav'
plaćao paginirane formulare, seo sam na ...)
Kasnije je trivijalno na laseru ili pljuckavcu (Canon BJ)
recimo lepo odštampati sve podatke + broj polise. Problem
jedinstvenosti brojeva polisa se može rešiti.
Milan
clipper.842nbatocanin,
> if lNew
> APPEND BLANK
> endif
Uh, u pravu si, napravio sam grešku. Međutim, ovo je veoma prost
primer, pa se nadam da je svima jasno kako treba da piše :)
clipper.843nbatocanin,
> Imam par pitanja vezanih za povezivanje clipper-a i
> asemblera: prvo i glavno: je li potrebno (obavezno ?) da
> se za tu svrhu koristi MASM ili ne ? Pokusao sam sa
> tasm-om ali mi stalno javlja greske u deklaracijama
> makroa.
Pre par godina sam probao TASM i nije mi uspelo da prevedem
EXTENDA.INC, ni u jednom modu. Štos je bio u nekompatibilnosti TASM-a
i MASM-a. Tad sam prešao na MASM i do sada nemam nikakvih problema.
Međutim, kažu ljudi da noviji TASM-ovi nemaju ovih problema.
clipper.844nbatocanin,
> Po mom mišljenju asembler je asembler, sve ostalo je
> relativno. da pojasnim, programski jezici mogu biti
> različiti od proizvođača do proizvođača, a asembler nije
> programski jezik, već je to sama mašina.
Asembler je programski jezik sastavljen od mnemonika koji se
preslikavaju direktno u _mašinski jezik_. Osim mnemonika naredbi koji
su uglavnom standardizovani, makro ekstenzije su obično
nekompatibilne. Zato razne verzije asemblera za isti mašinski jezik
mogu biti veoma nekompatibilne.
clipper.845kcurcic,
> Pre par godina sam probao TASM i nije mi uspelo da prevedem
> EXTENDA.INC, ni u jednom modu. Stos je bio u nekompatibilnosti
> TASM-a
To je i bio lek. Ono sto mi je trebalo sam uradio bez makroa
(nije bilo nista kabasto) a sa MASM-om stvar ide po pravilu sluzbe.
Hvala svima.
Kosta
clipper.846mceh,
> Izgleda da samo mali broj osiguravajućih kuća ekonomiše.
> Mnogo je jeftinije štampati blanko polise bez broja nego
> sa brojem. (Kada sam jednom prilikom čuo koliko je 'Dunav'
> plaćao paginirane formulare, seo sam na ...)
Jeste, u slučaju da se sve polise izdaju na jednom mestu ili preko
računara koji su u mreži. Ali, poverenici izdaju polise na, nedo ti Bog,
kakvim mestima (parking, servisi...). Pored toga to je jedina kontrola
ko je koju polisu izdao i koliko love treba da uplati na račun firme.
Tako bi lepo mogao da izda polisu, upiše na nju pitaj Boga koji broj,
uzme lovu, pocepa kopiju a odiguravajuća kuća preuzima kompletan rizik.
Nije baš fer prema nama koji od toga primamo platu ;).
BTW: Ovo baš i nje za ovu temu, ali čisto radi informacije. Ako još nešto
treba da predjemo na mail.
Pozdrav,
Sikima.
===========================================================
Sikimic Zoran,dipl ing DD za osiguranje "Kopaonik"
projektant IS Kralja Petra 28
Beograd
e-mail : mcehčsezam.co.yu
sikimačfon.fon.bg.ac.yu
============================================================
clipper.847aismaili,
Hi!
Dali moze neko da mi kaze koliko se najvise fajlova istovremeno
moze otvoriti sa clipper-om SUMMER '87. U knjigama pise da ide do
255 ali kod mene posle 15 fajla predstavlja DOS gresku (4) (nema
vise file-handleova). Iako menjam files=xxx u config.sys, nema nikakvih
promena. Dali neko zna odgovor za ovu boljku??ĘĘ
P.S. Naravno sve ovo kada se upotrebi select, use .. index .., i
DOS 5.00
clipper.848dejanr,
>> Dali moze neko da mi kaze koliko se najvise fajlova istovremeno
>> moze otvoriti sa clipper-om SUMMER '87. U knjigama pise da ide do
>> 255 ali kod mene posle 15 fajla predstavlja DOS gresku (4) (nema
>> vise file-handleova). Iako menjam files=xxx u config.sys, nema nikakvih
>> promena. Dali neko zna odgovor za ovu boljku?
Zna :) Stavi u AUTOEXEC nešto kao SET CLIPPER=F35, ili koliko ti fajlova
treba.
Ako pređeš na Clipper 5 i Blinker, Blinker može da prevodi programe tako
da rade sa više od 15 fajlova bez potrebe da se stavlja SET promenljiva,
trema samo da se u RMK fajl upiše: BLINKER EXECUTABLE CLIPPER F35;
clipper.849dzoric,
>>> Dali moze neko da mi kaze koliko se najvise fajlova istovremeno
>>> moze otvoriti sa clipper-om SUMMER '87.........
>>> Zna :) Stavi u AUTOEXEC nesto kao SET CLIPPER=F35, ili koliko ti
>>> fajlova treba.
Ako ides na varijantu SET CLIPPER=FXX pazi da ispred i iza znaka "="
ne sme biti SPACE. Ne znam da li je ovaj bug popravljen u Clipper-u 5.2.
Dejan...
clipper.850nbatocanin,
> Ako pređeš na Clipper 5 i Blinker, Blinker može da prevodi
> programe tako da rade sa više od 15 fajlova bez potrebe da
> se stavlja SET promenljiva, trema samo da se u RMK fajl
> upiše: BLINKER EXECUTABLE CLIPPER F35;
... ili program startuješ sa PROG //F:35
clipper.851bpekic,
Ponovo o VMI:
Radim na Clipperu od verzije 86' jos (ko se nje seca) i nikada do sada
nisam imao problema sa VMIF. Trenitno sam stao na 5.2c verziji.
Pre izvesnog vremena sam presao na rad u grafickom rezimu pomocu FLIPPER
biblioteke grafike i sada su mi aplikacije porpuno u grafickom rezimu,
cak sam i ALERT i ACHOICE "dopravio".
Sve je bilo OK do nailaska na verziju 6.08 (do tada radio na 5.02 verziji.
Nakon prelaska na "jacu" verziju, *** VMIF *** ! Naime nova verzije
FLIPPER-a radi sa nekim svojim VM sistemom i tada je sve zajedno pocelo
da puca po svim savovima.
Ovo pominjem zato sto mislim da je veoma verovatno da sam Clipper NIJE
uzrok VMIF.Kada sam presao ponovo na FLIPPER 5.02, za poslednjih 3
nedelje nijedno pucanje se nije desilo (program radi pod Novel 3.11) u
mrezi je 8 racunara i to svi 286 sa 1MB memorije (PS/1 modeli!).
Inace jos uvek zagrizeno koristim blinker 2.0 (ne 2.1) i nemam nameru da
bilo sta menjam, pogotovo zaplasen poslednjim VMIF a i silnim pricama
u vezi svega toga. Cak sam odustao od SIX-ova... Koristim klasicne NTX
indekse i sve zajedno veoma dobro odradjuje posao. Neznam za 52d kako
bi se ponasao.
Inace jedan od programa je 980K sa "dizanjem" na 370K i nema nikakvih
problema.
Dakle, NADAM se da je problem samo u VM sistemima dodataka...
Drzim nam palceve za dalje.
P.S Zao mi je samo sto je FLIPPER 6.08 mnogo bolji, ali... za zivot
treba zaradjivati.
clipper.852szinf,
Da li neko ima rutine za Roll-back za Clipper.cini mi se da je bilo u
"Racunarima", ali ne znam u kojim. Bio bih jako zahvalan.
Pedja.
clipper.853dstole,
Treba mi neko ko je koristio fastGT.lib, u demo programima koji su dati uz nju
radi normalno, ali kada prevedem moju aplikaciju sa njom sara mi po disku
fajlove velicine 15k.
HHKNaravno da je jedan sve bi bilo OK, napravi XXX komada takvih jedva stignem
da ih obrisem. Usput uspeo sam bio da tone radai na jednoj(neznam kako) na
drugoj opet isto. Pitanje je ZBOG CEGA to radi ?
clipper.854velar,
HI SVIMA,
EVO OVAKO.POCETNIK SAM STO SE TICE CLIPPERA.INACE IMAM ISKUSTVA SA C OM.
ZANIMA ME KAKO DOVORIM BAZU NPR.CLANOVA I KAKO AU NJIH SMESTAM IMENA,TEL...
AKO NEKO ZNA,A VEROVATNO SVI ZNATE MOLIM ODGOVOR I PO GUCNOSTI SOURCE.HVALA!!
VELAR
clipper.855bpekic,
Ti bas direktno pa u cilj :)
Pre svega, nabavi neku dobru knjigu za Clipper, pa zagrej stolicu.Moze ti
se lako dati neki komad sourc-ea ali ti to ne znaci nista, ako nisi nesto
i procitao.
Ima veoma dobrih knjiga za Clipper, pa navali, nece biti problema ako nesto
ne razumes, tu smo da ti pomognemo.
Ako si bas zapeo da napravis odmah bazu, pokusaj sa Clipperovim DBU
utility da malo raduckas za pocetak.
Kao predlog za literaturu - VODIC ZA PROGRAMERE (Rick Spence) - na koricama
ke nacrtan jedrenjak.
Zelim ti uspeha u radu Clipperom.
clipper.856cnenad,
ŁŁŁ Kao predlog za literaturu - VODIC ZA PROGRAMERE (Rick Spence) - na
Knjiga je odlična ali za staru verziju, za 5.2. sam čuo da postoji Mrežno
programiranje (ima li tu nešto više od toga ?) i nestručno i nerazumno
prevedeni NG od Alempija ;) (ovo na osnovu knjige za verziju 5.01., a pride
IV po toj knjizi radi kurs Clipper-a :((( )
clipper.857bpekic,
Ovo sto sam ti predlozio kao literaturu je za Clipper 5.2 i veoma je dobra
kao sto kazes .
Inace za mrezno programiranje, Mikroknjiga (mislim) je izdala knjigu koja
govori o mreznom programiranju u Clipperu, nije losa, mada bi mogla biti i
bolja (kao i sve ostalo). Ako je ne mozes nabaviti, mogu ti je pozajmiti.
Osim toga, ako si zainteresovan, imam i kopiju jedne odlicne knjige (na
engleskom je) o programiranju u Clipperu, ali bi je morao vratiti u kracem
roku jer stalno po njoj ceprkam, ima interesantnih ideja.
Alimpijevu knjigu sam poceo da koristim (odmah nakon procitanih pet strana)
kao podmetac za stampac, veoma je korisna :) Ne mogu da razumem da NJEGA ?!
smatraju nekim autoritetom za Clipper (ili ne daj boze i sire)! Ako drzi
kurs onako kako je zbrljao knjigu, jadni kursisti.
Vidim da si u toku literature za Clipper, nisi znaci BAS totalni pocetnik,
samo napred..
Pozdrav!
clipper.858dzoric,
>> Knjiga je odlicna ali za staru verziju.........
Knjiga je dobar osnov za naprednije tehnike programiranja ali se nikako
ne preporucuje pocetniku. Mozda je najbolje prouciti osnove dBase-a pa
polako preci na Clipper. Sto se gorepomenute knjige tice izgleda da
Rick-a Spenca najvise muce SKIP funkcije posto mu svaka ima bug, inace
ostalo je prilicno dobro i poucno i jedino sto vredi na nasem jeziku.
Dejan
clipper.859hercog,
Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
Sale
clipper.861cnenad,
ŁŁŁ smatraju nekim autoritetom za Clipper (ili ne daj boze i sire)! Ako drzi
ŁŁŁ kurs onako kako je zbrljao knjigu, jadni kursisti.
Ne verujem da on drži kurs, ali je velika verovatnoća da se radi baš po
njegovoj (??? :)))) knjizi. Vidiš idem u ponedeljak do Nemanjine pa ću da
svratim gore do njih da se raspitam o svemu :)
Najviše me interesuje da li tamo uče i 'Postupak za skraćenje vremena
linkovanja' i to baš po 'koracima' kako ih je naveo u knjizi za 5.01.
(str. 31-34) pored živog Blinkera i incremental link-a ?
ŁŁŁ Vidim da si u toku literature za Clipper, nisi znaci BAS totalni
Lako je biti u toku, kad ima samo nekoliko knjiga o njemu ;) ovde, na našem
jeziku. BTW mislim da si pogrešio u 'tonu obraćanja' jer ja nisam autor
originalne poruke.
clipper.862jolicm,
Nabavi DBASE3+
Počni sa interaktinim radom u njemu.
Najbolje ćeš videti šta moze i kako moze ako uđeš u ASSIST
Kada se naučiš da radiš sa DBASEom tada nikakvih problema za prelazak na
clipper
Mislim da je tako najbrze .
clipper.863bpekic,
Ako sam nesto "u tonalitetu" pogresio, izvinjavam se, nije namerno i
zlonamerno.
Pozdrav.
P.S a ko je ondak autor originalne poruke?
clipper.864bulaja,
│ Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
└───
Pokušaj da je ulinkuješ O:).
clipper.865dzoric,
>> Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
>>> Pokusaj da je ulinkujes O:).
Pre upotrebe dobro promuckati...
clipper.866cnenad,
ŁŁŁ Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
Koju verziju ? 2.1. kod mene radi kako treba, LIB sam stavio u dir sa ostalim
LIB-ovima, funkciju lepo pozovem u proceduri, u LNK datoteci navedem da se
uključi prilikom linkovanja i NANFOR.LIB i to je to.
clipper.867bdm.,
Zna li ko gde se može naći dobra rutina za štampanje bar-kodova, i još
jedno pitanjce, kada se štampa bar-kod, recimo dužine 10, mogu li ja
slobodno da definišem svih 10 ili su neke od njih kontrolne?
BDM.
clipper.868szeman,
>>> Da, zbog jednog sitnog propusta i zadnjih izmena pre
>>> slanja fajla... Anyway, poslata je nova verzija Bulaji.
>>
>> Ex, a sada još samo:
>> // bla bla ' bla bla
"Da, zbog jednog sitnog propusta i zadnjih izmena pre slanja fajla..."
Trenutno baš nemam nimalo slobodnog vremena, ali će i to biti doradjeno,
kao i još neke sitnice. Do tada su sve sugestije dobrodošle.
Pozdrav, Saša
clipper.869mdrazic,
> Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
>
> Sale
Clipper module kompiliraš sa ver. 5.2c . Zar ima problema?
clipper.870neman,
Kakva su vasa iskustva o pouzdanosti NSX indeksa u mreznom okruzenju.
Moje iskustvo je da verzija 1.5 nije bas pouzdana, res se desava da podaci]
postanu privremeno nevidljivi ili da se recimo duplira pristup, kao npr.
gramofonska ploca koja preskoci par puta ;)
clipper.871nbatocanin,
> Da li neko ima rutine za Roll-back za Clipper.cini mi se
> da je bilo u "Racunarima", ali ne znam u kojim. Bio bih
> jako zahvalan.
Ako misliš na rutine za otvaranje datoteka u mreži, imaš ih u RSOFT.
clipper.872mdrazic,
> Kada se naučiš da radiš sa DBASEom tada nikakvih problema za prelazak na
> clipper
A nije loše da se pročita i prva polovina knjige (koja ne drvi o
sintaksi dBase nego o osnovnim postupcima) braon boje naslova
dBase III+ od tri,četiri autora, jedan od njih je Tanaskoski.
Za početak je ovo dobra knjiga.
Milan
clipper.873dzoric,
Kako re{avate {tampanje izve{taja koji imaju vi{e od 15-tak kolona.
Ja sam do sada {tampao kondenzovano u dva reda pa ko se sna|e svaka
mu ~ast. Sad bih ne{to da tu unapredim pa da vidim va{e savete.
__ Dejan __
clipper.874bulaja,
│ A nije loše da se pročita i prva polovina knjige (koja ne drvi o
│ sintaksi dBase nego o osnovnim postupcima) braon boje naslova
│ dBase III+ od tri,četiri autora, jedan od njih je Tanaskoski.
│ Za početak je ovo dobra knjiga.
└───
Da, uz (pra)stare dBase III+ ili (još bolje) FoxBase 2.1 to je (još
uvek) dobra stvar za početak (i ja sam tako nekad davno počeo:). Knjigu
je izdala Mikro Knjiga, trebalo bi ih zvati i videti da li je još imaju
u prodaji. Ipak ako se naš budući kolega :) odluči na početak pravo iz
Clipper-a, najbolje nek uzme Spence-ov Clipper 5.
clipper.875pexon,
ű mu ~ast. Sad bih ne{to da tu unapredim pa da vidim va{e savete.
Prvo: SET CODE
clipper.876dr.grba,
>>> Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
>>>
>>> Sale
>>
>> Clipper module kompiliraš sa ver. 5.2c . Zar ima problema?
Nanfor LIB je napravljen za Clipper 5.01, pa zato ima problema.
Lek je krajnje jednostavan: string CLIPPER501 u bilo kom XXX.LIB promeni
u CLIPPER520. žak su se pojavljivali neki programi koji su ovaj posao radili
sami, ali to je čista šminka.
clipper.877hercog,
> Clipper module kompiliraš sa ver. 5.2c . Zar ima problema?
Problemi su kod linkovanja...
Sale
clipper.878cnenad,
ŁŁŁ>>> Kako naterati NANFOR biblioteku da radi sa Clipper-om 5.2c?
ŁŁŁ Nanfor LIB je napravljen za Clipper 5.01, pa zato ima problema.
A zašto meni lepo radi iako nisam ništa čeprkao a Clipper je 5.2d ?
clipper.879zkrstic,
> Umalo da zaboravim, uradio sam Six indexiranje i za 852 raspored, pa
Nenađoh nigde po YUSCII rasporedu :( Ajd' da mi neko šane ima
li ga ili da krenem da se 'sigram :)
Pozdrav, Zkr :)
clipper.880zkrstic,
> CS_722.zip 254K Codesmith Screen generator
Ovo sam video & probao! I beše verzija 7.32 ili 23 čini mi se.
čali bože moga vremena. ;)
Zkr :)
clipper.881mdrazic,
>> Clipper module kompiliraš sa ver. 5.2c . Zar ima problema?
>
> Problemi su kod linkovanja...
A u čemu se manifestuju? Kada celu biblioteku (sve *.prg)
kompiliraš sa ver. 5.2c, nigde ni neće biti onog simbola
...501 (jel' to od Leviski?). Možda se ne razumemo: treba
da kompiliraš ponovo Nanfor biblioteku, pa sa lib.exe da
to povežeš u biblioteku.
Milan
clipper.882dr.grba,
>> ŁŁŁ Nanfor LIB je napravljen za Clipper 5.01, pa zato ima problema.
>>
>> A zašto meni lepo radi iako nisam ništa čeprkao a Clipper je 5.2d ?
Nemam pojma, mora da je neka greška! (((:
Šalu na stranu, ima načina da se zaobiđe sa "ANNOUNCE" ili "proc Clipper501".
clipper.883jolicm,
LJudi o čemu se radi ???
Ja imam clipper 5.2d i koristim Nanfor biblioteku: peek , poke, i dosta drugih
jednostavno je linkujem i sa BLinkerom i sa RTlinkom (BEZ IKAKVIH PREPRAVKI I
BEZ IKAKVIH POSEBNIH NESTANDARDNIH NAREDBI U LINKOVANJU !!!!!!)
(podvlačim da je nisam kompajlirao ponovo !) . Pozdrav :)
clipper.884snemcev,
>> Možda se ne razumemo: treba da kompiliraš ponovo Nanfor biblioteku,
>> pa sa lib.exe da to povežeš u biblioteku.
Ne mora tako radikalno. Jedan binary search & replace (CLIPPER501 u
CLIPPER520) će rešiti stvar.
clipper.885dr.grba,
>> LJudi o čemu se radi ???
>> Ja imam clipper 5.2d i koristim Nanfor biblioteku: peek , poke, i dosta
>> drugih jednostavno je linkujem i sa BLinkerom i sa RTlinkom (BEZ IKAKVIH
>> PREPRAVKI I BEZ IKAKVIH POSEBNIH NESTANDARDNIH NAREDBI U LINKOVANJU
Samo polako... Natrčaćeš već na funkciju koja će prozvati CLIPPER501, pa će
ti pući link.
clipper.886bulaja,
│ Natrčaćeš već na funkciju koja će prozvati CLIPPER501,
│ pa će ti pući link.
└───
Zar ima takve (koja poziva Clipper501)?
clipper.887snemcev,
>> Ja imam clipper 5.2d i koristim Nanfor biblioteku: peek , poke, i
>> dosta drugih jednostavno je linkujem i sa BLinkerom i sa RTlinkom
>> (BEZ IKAKVIH PREPRAVKI I BEZ IKAKVIH POSEBNIH NESTANDARDNIH NAREDBI U
>> LINKOVANJU !!!!!!)
Dovoljno je da u jednom .obj fajlu postoji dekleracija CLIPPER501, pa da
se aplikacija ne buni.
clipper.888bulaja,
CA-Visual Objects se još očekuju ovde, ali do tada možemo da saznamo još
nešto više o njima :). Uz poruku je prikačena tabela (print fajl za HP
LaserJet III) sa opisom metoda i promenljivih za neke kontrole u CA-VO
(edit, list box-ovi,..). Evo izvoda iz dokumentacije:
Enclosed find two files.
Chart1.txt This file
Chart1.prn Binary print image with chart of several
edit controls for CA-Visual Objects,
pre-release level 388
This chart is one page. It contains the complete hierarchy
of methods and instance variables as of Pre-release level 388.
The following classes are included on it:
SingleLineEdit (SLE)
MultiLineEdit (MLE)
ComboBox
ListBox
MultiSelectionBox
Edit
TextControl
BaseListBox
Control
The Chart1.prn file was made for an HP LaserJet III or
higher. I don't know if it would work on a LJ II, etc.
chart1.zipclipper.889jolicm,
>>Natrčaćeš već na funkciju koja će pozivati CLIPPPER501
koji će im andrak takav poziv ????
clipper.890bulaja,
Sa Hekom BBS-a je dovučena većina novih datoteka iz CA-Visual Objects
direktorijuma, tako da će ovih dana na Sezamu biti još stvari vezanih
za VO. Primetićete (kad te stvari budem okačio ovde:) da VO kreira
datoteke sa ekstenzijom .AEF (CA-VO Aplication Export file) u nekom
kriptovano-kompresovanom obliku, tako da je potreban VO (koga nemamo:)
za njihov pregled, ali je u nekim slučajevima dat i stari dobri .PRG
(naravno u VO sintaksi) tako da se dosta stvari može provaliti.
clipper.891bulaja,
This program is a demonstration of how to run programs from within VO.
There are several ways to do this. The ones I have demonstrated here,
are the WINEXEC() API function, and the APP:RUN method of the class APP.
...
rundem.zipclipper.892dr.grba,
>> │ Natrčaćeš već na funkciju koja će prozvati CLIPPER501,
>> │ pa će ti pući link.
>> └───
>> Zar ima takve (koja poziva Clipper501)?
Ubio me bog ako mogu da rekonstruišem, ali doživeo sam ovako nešto...
clipper.893dr.grba,
>>>> Natrčaćeš već na funkciju koja će pozivati CLIPPPER501
>>
>> koji će im andrak takav poziv ????
E, da, sad sam se setio: tebi sam dao već patchovane biblioteke ((((:
clipper.894mdrazic,
> Samo polako... Natrčaćeš već na funkciju koja će prozvati CLIPPER501, pa
> će ti pući link.
Neka me neko ispravi ako grešim:
1. Nanfor je dat (i) u source-u
2. Gornji simbol CLIPPER501 ne stavlja ni ASM ni C već Clipper 5.01 sa
kojim su Clipper moduli biblioteke prevedeni kad je lib pravljen
Zato:
Ako se Clipper moduli biblioteke prevedu novim Clipperom, sve to
zapakuje ponovo u lib, tada gornjeg simbola nema u biblioteci, zar ne?
Milan
P.S. Za mene su biblioteke sa source-om najzanimljivije pošto ne
zavise od verzije Clippera (sve dok čuva kompatibilnost komandi).
Kad dođe novi Clipper, jednostavno ponovo prevedeš biblioteke
i teraš, za razliku od komercijalnih koji ti daju samo OBJ (LIB).
clipper.895bulaja,
> LINE.ZIP small example how to create a mainwindow, menu / SDK functions
Još jedan primer za VO, s tim što je ovde uz .PRG dat i .EXE. Medjutim
pokušaj startovanja je prošao prilično neslavno :), pošto je potrebna
datoteka CAVORT10.DLL (koje naravno nema). Ovo CAVORT10 pretpostavljam
da je skaćenica od CA-Visual Objects Run-Time 1.0, a iskreno se nadam
da to ne znači da je za rad programa pisanih pomoću VO potrebna gomila
.DLL-ova :).
line.zipclipper.896dr.grba,
>> Još jedan primer za VO, s tim što je ovde uz .PRG dat i .EXE. Medjutim
Pitanje: pošto već vidim da je krenula ponuda VO, a i razmena materijala koju
nam Bulaja donosi sa svetskih servisa, nije mi zapravo jasno u kojoj fazi
ponude je VO. Da li je još u beta pre-release, neki intro model ili je najzad
krenuo put slave i uspeha? (((:
clipper.897bulaja,
│Pitanje: pošto već vidim da je krenula ponuda VO, a i razmena materijala koju
│nam Bulaja donosi sa svetskih servisa, nije mi zapravo jasno u kojoj fazi
│ponude je VO. Da li je još u beta pre-release, neki intro model ili je najzad
│krenuo put slave i uspeha? (((:
└───
Krenuo je put slave i uspeha u Pre-Release verziji 1.0 :).
Koliko sam ja shvatio još uvek je u tom statusu dok CA do kraja ne
istestira pouzdanost, što je svakako pohvalno sa njihove strane :).
clipper.898peacock,
#### ponude je VO. Da li je još u beta pre-release, neki intro
#### model ili je najzad krenuo put slave i uspeha? (((:
Pre-release sa besplatnom zamenom kada zvanično izađe.
clipper.899rccomp,
Kako omoguciti korisniku da pod Novell 3.11 , u direktorijumu u kome nema
dodeljeno pravo brisanja , ipak koristi komande :
Index on
Copy to
Save isl.
HHÚ{W
clipper.900ikordic,
RE: Prava pristupa
=> Kako omoguciti korisniku da pod Novell 3.11 , u direktorijumu u kome
=> nema dodeljeno pravo brisanja , ipak koristi komande :
=> Index on
INDEX ON <polje> TO <path_u_koji_sme_da_piše_briše\indeks>
=> Copy to
COPY TO <path_u_koji_sme_da_piše_briše\datoteka>
=> Save isl.
Šta je bre ovo? A da, neko još koristi PRIVATE i PUBLIC ;)
SAVE TO <path_u_koji_sme_da_piše_briše\datoteka>
Of kors, kucati bez zagrada ;)
clipper.902nbatocanin,
Dakle, dragi moji i drage moje: STIGAO JE VISUAL OBJECTS !
Zahvaljujući ljubaznosti CET-a, ja upravo testiram jedan pre-release
primerak. Stvar je izuzetno interesantna. Radi se o potpuno objektno
orijentisanom razvojnom alatu za Win. Ugrađeni jezik je u visokoj
meri kompatibilan sa Clipper-om, a posebna knjiga u okviru uputstva
je posvećena prelasku Clipper 5.2 -> VO. Ukratko, cela aplikacija je
hijerarhijski definisana: na najvišem nivou se nalazi "aplikacija"
koja se sastoji iz modula, a svaki modul čine proizvoljan broj
entiteta. Entiteti su funkcije, metode, definicije, izveštaji i sl.
Analogija datotekama su moduli. Kada se menja modul, dobija se ili
samo spisak entiteta (analogno sa spiskom zaglavlja funkcija
u datoteci) ili kompletne definicije entiteta (analogno sa source
datotekom). Izmena entiteta je izuzetno jednostavna i pregledna: ako
nije "ekspandovan" onda se klikne na odgovarajući ikonicu i tako se
dobije kompletna definicija. Naravno, u zavisnosti od tipa entiteta
dobija se odgovarajući prikaz: ako je u pitanju funkcija, startuje se
editor (koji "farba" listing), ako je u pitanju izveštaj startuje se
generator izveštaja i sl. Kompajler je vidno poboljšan, ima nekoliko
nivoa optimizacije, izbor optimizacija po brzini/veličini, podešava
se stroga/slaba tipizacija...
Ukratko, sve deluje veoma lepo i ozbiljno. Više detalja kasnije i,
naravno, u narednim R. :)
clipper.903aquarius,
<> Pitanje: posto vec vidim da je krenula ponuda VO, a i razmena
<> materijala koju nam Bulaja donosi sa svetskih servisa, nije mi
<> zapravo jasno u kojoj fazi ponude je VO. Da li je jos u beta
<> pre-release, neki intro model ili je najzad krenuo put slave i
<> uspeha? (((:
Bas danas obidjoh Grumpfish BBS, te pronadjoh ovo :)
-----------------------------------------------------------------------------
Grumpfish Land Bulletins
Visual Objects World Training Tour
Many of you have been asking me about Grumpfish plans for VO training and
seminars. At TechniCon 1994, we announced the formation of an important
new alliance, which I am pleased to share with you now.
Grumpfish, Inc. and Visual Training Group, along with ZAC Software, will be
bringing you the "VO World Training Tour". This provides you with the
ultimate opportunity to master VO with the assistance of the very best.
Grumpfish and VTG provides the expertise, and ZAC provides all registration
and information services.
Speakers include:
Greg Lief - no introduction necessary
Steve Straley - no introduction necessary
Philip Schwartz - long-time CA-Clipper trainer, top-ranked speaker at
numerous U.S. and international Developers Conferences
Savannah Brentnall - formerly of Nantucket Corporation, currently editor of
Reference(Clipper) and highly-rated speaker at many U.S. CA-Clipper
Developers Conferences
John Kaster - author for The Aquarium, speaker at numerous U.S. and
international CA-Clipper Developers Conferences
Darren Forcier - charter author for The Aquarium, featured TechniCon
speaker
Ted Means - charter author for The Aquarium, speaker at numerous U.S. and
international CA-Clipper Developers Conferences
Erik Wynn - featured speaker at numerous U.S. and international CA-Clipper
Developers Conferences, frequent contributor to various technical journals
Paul Piko - president of Melbourne (Australia) Clipper User Group and
frequent contributor to "Clippings", which is arguably the finest
CA-Clipper user group newsletter in the world
Mark Lukianchuk - Grumpfish director of technical services and managing
editor of The Aquarium. Featured speaker at CA-Clipper Developers
Conferences in Denmark and Germany.
The North American schedule for the VO World Training Tour has been set for
January and February 1995 as follows:
Jan 5-6 New York Feb 2-3 Fort Lauderdale
Jan 5-6 Los Angeles Feb 2-3 Charlotte
Jan 9-10 Philadelphia Feb 6-7 Tampa
Jan 9-10 Phoenix Feb 6-7 Newark
Jan 12-13 Baltimore Feb 9-10 Atlanta
Jan 12-13 Seattle Feb 9-10 Houston
Jan 16-17 Toronto Feb 13-14 Washington DC
Jan 16-17 Calgary Feb 13-14 Portland
Jan 19-20 Chicago Feb 16-17 Boston
Jan 19-20 Denver Feb 16-17 San Francisco
Jan 23-24 Dallas Feb 20-21 Montreal
Jan 23-24 San Diego Feb 20-21 Vancouver
Jan 26-27 Minneapolis Feb 23-24 Memphis
Jan 26-27 Cincinnati Feb 23-24 Columbus
Jan 30-31 St. Louis Feb 27-28 Rochester
Jan 30-31 Hartford Feb 27-28 Kansas City
We are also working on dates in Europe, Australia, and Asia, and will
announce these as soon as they are firm.
Press (Enter) to continue? [27D[K[K[2J[H
The following lists some of the topics that will be covered during these
two-day seminars:
Introduction to Windows Programming
- Event Handling
- CUA
- GUI Look and Feel
- MDI
- CommonView
The IDE
- Repository
- Browsers
- Editors
- Code generators
- Standard app
Compiling/linking
- Options
- Benefit of native code
Data types
- When to use which
- Strong typing benefits
Data file design
- DBSERVER
- FIELDSPEC
GUI design guidelines
- Dialogs
- Controls
- Icons
DBF files and attaching to Data Servers
Object Orientation
- Using Commonview classes
- Callback functions
- Methods for event handlers
Other topics
- The new role of the preprocessor
- User-defined commands
- Debugging
- Menus
- Printing
- Data Servers
- Browsing data
- Data Windows
- Reports
Registration for these seminars is only $695. Plus, if you book your
reservation one month in advance, you save $100 thus bringing the cost down
to $595.
To register for the class nearest you, or to receive further information,
call ZAC Software at 1-800-VOBJECTS.
-----------------------------------------------------------------------------
Dakle, okreni 1-800-VOBJECTS
Aquarius
clipper.904aquarius,
<> Sa Hekom BBS-a je dovucena vecina novih datoteka iz CA-Visual
Moze li se dobiti broj tog BBS-a ???
Aquarius
clipper.905dejanr,
>> Kako omoguciti korisniku da pod Novell 3.11 , u direktorijumu u kome nema
>> dodeljeno pravo brisanja , ipak koristi komande :
>> Index on
>> Copy to
>> Save isl.
Mislim da nema načina, ali možeš indekse da preusmeriš u neki drugi
direktorijum (INDEX ON ... TO ...) gde korisnik ima veća prava.
clipper.906bulaja,
│ Moze li se dobiti broj tog BBS-a ???
└───
9931 34 934 335. Takodje se može naći u u onom NG-u sa Clipper
korisničkim grupama, zajedno sa telefonima drugih Clipper BBS-ova
u Evropi i po svetu (pa ko ima Jupak ili popust kod PTT-a nek
pogleda:).
clipper.908rccomp,
Resenje je ipak postojalo !
Dovoljno je bilo , sa komandne linije, u tekucem direktorijumu, kucati
jednostavno :
GRANT R W C M to < ime korisnika >
i zatim :
GRANT R W C M E for *.nNTX to < ime korisnika >
Na ovaj nacin je onemoguceno brisanje DBF datoteka, ali, i dozvoljeno
ponovno kreiranje NTX fajlova.
Ovim je , na svu srecu, izbegnuto (ne)namerno koristenje DEL>.
i slicnih stvari.
Clipper program vise nece izbacivati poruke tipa :
"Dos E
Zahvaljujem se na razumevanju.
Pozdrav RCC
P.s.S. ( "Dos Error 80" - tako bi trebalo da pisi, ali obzirom da mi istice
vreme moracu poruku ovako snimiti.)
clipper.909dr.grba,
>> frequent contributor to "Clippings", which is arguably the finest
>> CA-Clipper user group newsletter in the world
Neke ASCII novine, hipertekst ili nešto drugo? Nije valjda papirni časopis?
clipper.910ikordic,
RE: VO
=> Ukratko, sve deluje veoma lepo i ozbiljno. Više detalja kasnije i,
=> naravno, u narednim R. :)
Umoljavamo sa posebnim osvrtom na eventualne bagove, po čemu je Clipper u
poslednje vreme poznat, kao i razmatranja ev. udružljivosti sa postojećim
alatkama.
clipper.911ikordic,
RE: VO
=> Ukratko, sve deluje veoma lepo i ozbiljno. Više detalja kasnije i,
=> naravno, u narednim R. :)
Umoljavamo sa posebnim osvrtom na eventualne bagove, po čemu je Clipper u
poslednje vreme poznat, kao i razmatranja ev. udružljivosti sa postojećim
alatkama.
clipper.912bulaja,
││frequent contributor to "Clippings", which is arguably the finest
││CA-Clipper user group newsletter in the world
│└───
│Neke ASCII novine, hipertekst ili nešto drugo? Nije valjda papirni časopis?
└───
Norton Guide. Imam ja negde nekoliko primeraka, poslaću u ponedeljak
(nisu mi kod kuće:).
clipper.913aquarius,
<> "Da, zbog jednog sitnog propusta i zadnjih izmena pre slanja
<> fajla..." Trenutno bas nemam nimalo slobodnog vremena, ali ce
<> i to biti doradjeno, kao i jos neke sitnice. Do tada su sve
<> sugestije dobrodosle.
----------------------------------------------------
//FILE.PRG
nCena := Magacin->KAT_CENA - ;
VAL( SUBS( aOldCene[ ASCAN( aOldCene, ;
NalItem->BROJ_MAT ) ], 13, 11 ) )
//EOF FILE.PRG
----------------------------------------------------
C:\PR FILE.PRG
??????????????
aquarius
clipper.914aquarius,
Novi NLabSGetReader v2.25, laksi za implementaciju u source.
Ko voli nek izvoli. Ako Bulaja misli da treba moze i u DIR.
Aquarius
nlabsgrd.zipclipper.915mdrazic,
> Novi NLabSGetReader v2.25, laksi za implementaciju u source.
Lepo. Jedna mi se stvar ne sviđa, valjda je to stvar navike.
Kada želiš da popraviš neki loše unet numerik, u skladu sa
filozofijom da Backspace briše znak ISPRED kursora, a Del
znak ISPOD kursora, bilo bi nekako logično da Del radi ono
što sada radi Backspace. Sadašnji Del je vrlo destruktivan
(postavlja na 0 ) pa predlažem da se funkcija Del dodeli
nekom tasteru (ne B jer je blizu N, može recimo D), a da Del
briše po jednu cifru.
Milan
clipper.916hercog,
Zna li neko kako se koristi čudo zvano Clipper za WIN. Dobih ga na 1 3.5"HD
disketi, instalirah, ali sad ne znam šta ću sa njim.
Sale
clipper.917jolicm,
Šta ti je to ?
Da li mozes, ako ima neki read.me fajl da okačiš da pročitamo.
Mislim na Clipper za Win.
clipper.918jolicm,
> Novi NLabSGetReader v2.25
Šta taj radi ??
clipper.920hercog,
> Da li mozes, ako ima neki read.me fajl da okačiš da pročitamo.
Evo ga stiže...
Sale
clip4win.zipclipper.921stanic,
Nakon pokusaja linkovanja ovih par linija(SIX 1.5):
#include "SIXCDX.CH"
PROC Prog()
SetRDD("SIXCDX")
USE <neka baza>
RETURN
dobijem sledecih par redova:
BLINKER : 1115 : SIXCDX.LIB(SIX1) : '__ZCMP' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXCREATE) : '__FORCE_ASCII' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXTAG) : '__NPREVC' : unresolved external
BLINKER : 1115 : SIXCDX.LIB(SXTAG) : '__NNEXTC' : unresolved external
Linkovanje je izvrseno na sledeci nacin:
BLINKER FI <myfile>,sixcdx LI sixcdx,clipper
Blinker je 3.0. U cemu je problem.
clipper.922bulaja,
│ Zna li neko kako se koristi čudo zvano Clipper za WIN.
└───
Pretpostavljam da se zove "Clip 4 Win", verzija 1.1 ili slična. Reč je
o biblioteci koja omogućava programima pisanim u standardnom Clipperu
(verzija 5.x) da rade kao pravi Windows programi. Ja sam pre dva-tri
meseca probao i nisam uspeo da uradim ništa korisno :), pa sam ga
batalio. Preporučujem da se ne petljate mnogo sa ovim, već se strpite
za VO :).
clipper.923aquarius,
<> Linkovanje je izvrseno na sledeci nacin:
<> BLINKER FI <myfile>,sixcdx LI sixcdx,clipper
Linkovanje treba da bude ovako
BLINKER FI <myfile>,sixcdx, sixuk LI sixcdx,clipper
^^^^^
Ovo SixUk moze da bude SixSwe, SixGer i slicno
Aquarius
clipper.924bulaja,
│BLINKER : 1115 : SIXCDX.LIB(SIX1) : '__ZCMP' : unresolved external
│...
│BLINKER FI <myfile>,sixcdx LI sixcdx,clipper
└───
Klasičan problem za First-Time-SIx (NHF, to se i meni desilo:) -
treba ulinkovati i SixUK.obj.
clipper.925bulaja,
Odgovor na 10.901, pexon, 27.10.94. 16:11
(gde nestade originalna poruka?:)
---------------------------------------------------------
│Ima li raspoloženih da šibnu ovde jedan primer (koji radi) za TBrowse
│kad je u pitanju niz, jerbo onaj iz r0_neki_ kod mene ne radi, ili da
│mi objasni zašto ne radi.
└───
Sramota je da ovo pitanje ostane bez odgovora :) (ja nešto nisam pri
vremenu, ali kad moram..), so evo ga. Uzmimo da imaš niz aTabela i za
njegov indeks koristiš promenljivu nIndex. Kostur TB procedure izgleda
otprilike ovako:
**** -------------------------------- ****
PROC Pregled()
LOCAL aTabela, nIndex, TB
aTabela := { "Three", "Five", "O", "One", "Two", "Five", "GO!" }
nIndex := 1
TB := TBrowseNew (....)
TB:addColumn ( TBColumnNew("Tabela", { || aTabela[nIndex] }))
/*
ovde ide preusmeravanje standardnih metoda za pomeranje u
TBrowse-u. GoTop i GoBottom nisu problem, a za Skip je
najzgodnija funkcija kojoj proslediš za koliko treba da se
pomeri (<nSkip>, to dobija od TBrowse sistema), po nazivu
(referenci) preneseš <nIndex> (pošto u skip funkciji menjamo
njegovu vrednost, a definisali smo promenljivu kao Local) i
dužinu niza (treba nam da znamo kada smo stigli do kraja).
Funkcija naravno treba da vrati ono što TB očekuje od Skip
bloka, a to je za koliko se slogova (odnosno članova niza)
realno pomerio prikaz (da bi Stabilize znao koliko redova da
učita i osveži prikaz).
*/
TB:goTopBlock := { || nIndex := 1 }
TB:goBottomBlock := { || nIndex := Len(aTabela) }
TB:skipBlock := { |nSkip| ;
Skip_Niz (nSkip, @nIndex, Len(aTabela)) }
/*
Umesto funkcije se kompletan Skip može smestiti u lokalni code
block, ali ja preferiram funkcijsko rešenje - generičko je
(SkipBlock se može univerzalano koristiti za sve preglede
nizova) i lakše za izolovanje problema (kroz funkciju može da
se trejsuje iz CLD-a, kroz code block ne može).
*/
... Ostatak procedure,
... glavna TB petlja,
... itd...
RETURN
Ovo je generička funkcija za TB:SkipBlock() kod nizova,
uz gore opisane parametre:
**** -------------------------------- ****
FUNC Skip_Niz (nSkip, nIndex, nMaxIndex)
LOCAL nStariIndex := nIndex
LOCAL nPreskoceno
IF nSkip > 0
nIndex := Min (nIndex+nSkip, nMaxIndex)
ELSE
nIndex := Max (1, nIndex+nSkip)
ENDIF
/*
Nadam se da je ovo gore jasno - ukoliko treba preskočiti
broj članova (slogova) koji je u okviru dimenzije niza,
onda to i radimo, odnosno zaustavljamo se na kraju/početku
da ne bi smo izašli iz opsega.
Ovaj kratka Min(...)/Max(...) konstrukcija je ekvivalentna
petljama koje moramo koristiti u generičkom SkipBlock-u za
pregled baza podataka, a jednostavnije je zato što u slučaju
niza znamo gde mu je početak (nIndex == 1) i kraj (nIndex ==
nMaxIndex == Len(aTabela) pa ne moramo da tražimo BOF()/EOF().
*/
nPreskoceno := nIndex - nStariIndex
RETURN (nPreskoceno)
Sve ovo važi i za jednodimenzionalne i za višedimenzionalne nizove, s
tim da kod ovih drugih promeniš jedino elemente za prikaz kolona, npr.:
TB:addColumn ( TBColumnNew("Prva kolona ", { || aTabela[nIndex, 1] }))
TB:addColumn ( TBColumnNew("Druga kolona", { || aTabela[nIndex, 2] }))
That's it. Ako hoćeš da znaš zašto ti nije radilo to što si ti koristio,
pošalji primer pa ćemo ga secirati :).
Pozdrav,
Bulaja
clipper.926neman,
Primetio sam da SIX NSX 1.5 prilicno usporava pristup podacima na mrezi
kada se upotrebi SET SCOPE komanda umesto kombinacije SEEK & WHILE.
Pretpostavljam da se radi o stalnom zakljucavanju & otkljucavanju indeksne
datoteke zbog kontrole opsega. Ima li neko slicinih iskustava ?
clipper.927bulaja,
│Novi NLabSGetReader v2.25, laksi za implementaciju u source.
│Ko voli nek izvoli. Ako Bulaja misli da treba moze i u DIR.
└───
Može :), prebačeno.
clipper.928stosic,
> Zna li neko kako se koristi cudo zvano Clipper za WIN. Dobih ga na 1 3.5"HD
> disketi, instalirah, ali sad ne znam sta cu sa njim.
Bilo je o tome u CIP-u, br.3 i 4.
clipper.929stosic,
>Sramota je da ovo pitanje ostane bez odgovora :) (ja nesto nisam pri
>vremenu, ali kad moram..), so evo ga.
O ovome sam jednom razgovarao sa Dejanom. Ideja je bila da se pitanja koja
ne spadaju u "neozbiljna" ne ostavljaju bez nekog odgovora. Ko bi vodio
racuna o tome, stvar je Redakcije.
Jesmo li u koraku sa svetom ili mozemo i korak napred?
clipper.930aquarius,
Ko ima FUNCky II nek proba.
Aquarius
funsaa.zipclipper.931aquarius,
Ko ima FUNCky II nek procita.
Aquarius
funckyds.zipclipper.932jolicm,
Potrebna pomoć
Grafička biblioteka za clipper DGE50
Pri štampanju nema veze koji je drajver za štampač učitan štampa pogrešno
kodove za broj tačaka u jednoj liniji, prvo je sa originalk drajverom štampao
(slao kontrolne karaktere) za duzinu linije obrnuto, prvo high pa zatim low
bajt. Kada sam "ručno" izmenuo kodove u drajveru low high bajt dobro pošalje, a
u low smesti neku nebulozu.
Rezultat je takav da štampač pri štampanju grafike ne dobije prave podatke o
broju bajtova koji slede za grafiku u jednoj liniji, pa odštampa deo grafičke
linije ispravno , a ostatak kao karakuke.
Da li je neko od Vas imao takve probleme sa DGE v5.0 i ako je imao kako ih je
rešio ?
POMOĆ JE POTREBNA HITNO.
clipper.933bpekic,
Daj jos neki podatak;
- Jesi li isto probao sa DGE 4.0
- Koji stampac biras
- STA stampas (grafikon ili nesto drugo
- Kakva ti je inicijalizacija stampe,
Inace ja koristim FLIPPER, mislim da izmedju ostalog, efikasnije koristi
drajvere za stampac.
Pozdrav.
clipper.934jolicm,
>> Daj još neki podatak;
Prvi put se susrećem sa DGE rutinama.
Drajver za štampač sam probao , sve raspolozive za crno bele štanpače.
Sa bilo kojom inicijalizacijom, portrant, landskape .. neće!
Inače rešio sam problem štampe na krajnje grub način.
Prvo odštampam grafikon u datoteku, a zatim iz datoteke čitam red po red
grafike i ispravljam šta se da ispraviti i to tako štampam.
>> Inače ja koristim FLIPPER
Molim te nabroj mi neke prednosti nad DGE., pa se mozda i ja odlučim za
flipper.
clipper.935dzoric,
Evo jos jednom da ponovim problem, posto mi prosli put niko nije
pomogao. Naime, trebam da na A4 formatu stampam izvestaje koji
imaju po dvadesetak kolona u redu. To su knjige koje su potrebne
za vodjenje STR radnji (knjige rashoda, prihoda, itd...).
Do sada sam ih stampao kondenzovano u 3-4 reda, ali su dosta
nepregledne kao u prilozenom skracenom primeru:
GGG STRANA: 1
Prodavnica: KOMISION 1
KNJIGA RASHODA
U periodu od: 01.01.94. do: 11.11.94.
=========================================================
1 Datum Br.dokumenta Opis
---------------------------------------------------------
Materijalni trosk. Nematerijalni Obracunate
2 i amortizacija troskovi plate
---------------------------------------------------------
Razlika u Obracunati Prodajna vre-
3 ceni porez dnost robe
---------------------------------------------------------
UKUPNI Izdaci za hum. Izdaci za re-
4 RASHODI zdravstv. nauku prezentaciju
=========================================================
1 01.05.94 4 ULAZNA KALKULACIJA
2 0,00 0,00 0,00
3 77,56 33,44 405,00
4 294,00 0,00 0,00
-------------------------------------------------------
1 10.11.94 44 ULAZNA KALKULACIJA
2 0,00 0,00 0,00
3 508,30 356,70 4.397,00
4 3.532,00 0,00 0,00
-------------------------------------------------------
...
...
...
ITD
Da li se neko (a sigurno jeste) bavio ovim problemom, i ako
moze da mi predlozi neko elegantnije resenje.
__Dejan__
clipper.936bulaja,
│Evo jos jednom da ponovim problem, posto mi prosli put niko nije
│pomogao. Naime, trebam da na A4 formatu stampam izvestaje koji
│imaju po dvadesetak kolona u redu. To su knjige koje su potrebne
│za vodjenje STR radnji (knjige rashoda, prihoda, itd...).
└───
Ako se ne varam, sve te knjige su na po dve A4 strane, tako da će
najbolje biti da ih štampaš na dva odvojena lista, koja ćeš zatim
jednostavno spojiti po sredini i dobiti A3 list sa rasporedom kolona
kao u standardnim knjigama. Predlažem ti ovde rešenje koje kompletan
izveštaj odnosno štampanje tretira kao da će ići na A3 format i štampa
ga u datoteku, a zatim posebna procedura štampa levu i desnu A4 stranu
i odvojeno ih štampa - tvoje je samo da posle spojiš strane :).
Dole data procedura se oslanja na funkciju Print_String (<cString>)
koju ćeš morati sam da napišeš (mada je verovatno već imaš gotovu:) i
koja izbacuje na štampač željeni string (u našem slučaju celu stranu),
uz sve potrobne kontrole uspelosti štampanja. Da ne bi ovde suviše
komplikovao, ova moja procedura za razdvajanje strana ne proverava
status koji mu funkcija Print_String() vraća (da li je štampanje
uspelo ili ne), tako da ćeš i to trebati da dodaš :).
Ovde se podrazumeva da ne koristiš nikakve specijalne kodove za
štampač, tj. strana se seče na pola tamo gde si rekao da je margina.
Štampanje sa kontrolnim kodovima nije problem ugraditi (proceduri se
prosledi i lista svih mogućih specijalnih kodova koje zatim uzima u
obzir za odredjivanje realnog mesta podele strane), pa ako ti je to
potrebno možeš dodati :).
#define FF Chr(12)
**** -------------------------------- ****
PROC Prn_PolaA3 (cFileName, nSredina)
/*
Dakle kao argument funkciji proslediš naziv datoteke u koju si
smestio izveštaj i broj kolone na kojoj hoćeš da se razgraniči
leva od desne strane (npr. 80).
*/
LOCAL xFile, cLine
LOCAL cPage1, cPage2
xFile := FOpen (cFileName, FO_READ)
IF Ferror() != 0
Alert ("Greška prilikom otvaranja print datoteke!")
RETURN
ENDIF
cPage1 := ""
cPage2 := ""
DO WHILE .T.
IF FEOF()
Print_String(cPage1 + FF)
Print_String(cPage2 + FF)
EXIT
ENDIF
cLine := FReadLn (xFile, 1, 255)
IF (cLine == FF)
// prazan red sa Form Feed-om u izveštaju
// bi trebao da znači kraj strane :)
Print_String(cPage1 + FF)
Print_String(cPage2 + FF)
cPage1 := ""
cPage2 := ""
ELSE
/*
u slučaju da budeš modifikovao proceduru da uzima u
obzir i specijalne kodove za štampanje, ovde bi prvo
trebao da proračunaš realnu <nSredina> za dati red.
*/
cPage1 += Left(cLine, nSredina)
cPage2 += Stuff(cLine, 1, nSredina, "")
ENDIF
ENDDO
FClose(xFile)
RETURN
**** -------------------------------- ****
FUNC Print_String (cString)
/*
U ovoj funkciji treba prosledjeni <cString> proslediti na
štampanje bez ikakvog dodatnog formatiranja, samo uz kontrolu
uspelosti štampanja (naravno trebalo bi dresirati i prethodnu
proc da obradjuje slučajeve neuspelog štampanja:).
*/
// Place your code here :)
RETURN (.T.)
/*
* Copyright (c) 1994 Jovan Bulajić
* Free usage granted for Sezam users
* O:)
*/
clipper.937mdrazic,
> Evo jos jednom da ponovim problem, posto mi prosli put niko nije
> pomogao. Naime, trebam da na A4 formatu stampam izvestaje koji
> imaju po dvadesetak kolona u redu. To su knjige koje su potrebne
Predlažem dva rešenja.
Prvo, online. Izveštaj kada praviš, baferišeš u jedan niz (listu).
Kada popuniš broj linija na strani ili završiš izveštaj tada odštampaš
otprilike ovako:
aeval( aLinije, šđcLinijađ QQout(substr(cLinija, 1, 80)) ć )
aeval( aLinije, šđcLinijađ QQout(substr(cLinija, 81, 80)) ć )
aeval( aLinije, šđcLinijađ QQout(substr(cLinija,161, 80)) ć )
itd.
Široka strana ide na nekoliko uzastopnih užih, pa se spoje.
Drugo, postprocessing. Izgenerišeš izveštaj u fajl (što svima prepo-
ručujem), pa kod štampe koristiš spoljni program (filter) koji seče
jednu traku iz dokumenta i štampa je. Recimo:
stripfil 1 80 <infile >prn
stripfil 81 80 <infile >prn
stripfil 161 80 <infile >prn
( isto: type infile đ stripfil 161 80 >prn )
gde ovaj filter radi istu stvar kao prvo rešenje. A i ne mora da je
baš filter, može i običan program pa imena fajlova da preuzimaš kroz
argumente.
Po istoj ideji možeš i da izdvajaš i određeni opseg stranica iz dugačkog
dokumenta za dalji postupak (recimo zgužvana jedna strana izveštaja).
Milan
clipper.938neman,
Interesuje me sintaksa funkcije m_aprompt() iz FUNCKY-ja.
clipper.939bpekic,
Ja sam to resio vrlo jednostavno, stampam te vrste izvestaja u sirini
koliko god zelim (kada je bila inflacija 99999999999999 milona i tada
nije bilo problema), koristim mali .COM program koji se zove
SIDEWAYS.COM.
Stampu radim na onoliko kolona koliko zelim a stampam POPREKO na
papir i nema problema. Knjige te vrste neko u kancelariji uz kaficu
smislja i mi treba da se snalazimo kako znamo.Kod STR je to posebno
uocljivo.
Dakle predlog = SIDEWAYS ili neki drugi slican program, ako nemas,
ostavi poruku - stize :)
clipper.940dzoric,
>> Interesuje me sintaksa funkcije m_aprompt() iz FUNCKY-ja.
Prvi put cujem da postoji ova funkcija u FUNCky lib-u, pretrazio
sam i NG i nema. Napisi gde si naisao na ovu funkciju.
BTW, Thanks to bulaja, mdrazic i bpekic na savetima u vezi stampe.
__Dejan__
clipper.941neman,
>>> Interesuje me sintaksa funkcije m_aprompt() iz
> FUNCKY-ja.
>
> Prvi put cujem da postoji ova funkcija u FUNCky lib-u,
> pretrazio sam i NG i nema. Napisi gde si naisao na ovu
> funkciju.
Ima, ima cak i kada je pozovem iz programa, linker ne vristi, vec crkne
pri izvrsavanju jer treba zadati parametre ;(
Hint : NG -> Apendixes -> Overviews -> Sample UDF-s
Kaze da postoji i sors, a problem mi je u tome sto jedna arhiva
( surface ili tako nesto sa prve diskete nije bila ispravna pa sam
instalaciju izvrsio bez predmetne.
clipper.942neman,
> Dakle predlog = SIDEWAYS ili neki drugi slican program,
> ako nemas, ostavi poruku - stize :)
Imas i Onside u IBMPC\PRINTER, samo sto je prilicno komplikovan
( fontovi, velicine fontova :)
clipper.943bpekic,
Probao sam ONSIDE ali sam odmah odustao, SIDEWAYS takodje podesava
velicinu fontova i sve neophodne parametre ali je MNOGO jednostavniji
i mali pa se po potrebi moze startovati i iz aplikacije (mada ja to
ne radim). Poslao sam ti pa probaj.
clipper.944bulaja,
│Ja sam to resio vrlo jednostavno, stampam te vrste izvestaja u sirini
│koliko god zelim (kada je bila inflacija 99999999999999 milona i tada
│nije bilo problema), koristim mali .COM program koji se zove
│SIDEWAYS.COM.
└───
To sam i ja hteo odmah da predložim dzoric-u, ali ipak bolje da prvo
razmotrimo Clipper rešenje :).
clipper.945aquarius,
<> Kaze da postoji i sors, a problem mi je u tome sto jedna
<> arhiva ( surface ili tako nesto sa prve diskete nije bila
<> ispravna pa sam instalaciju izvrsio bez predmetne.
1. evo ga source c_m_apro.prg
2. eto sta se desava sa pirat instalacijama :)
3. mozemo li nekako da se organizujemo pa da se na desava ovo pod 2 ?
aquarius
c_m_apro.zipclipper.946dvesic,
>> ostavi poruku - stize :)
Ostavljam poruku ! :))
clipper.947pzivic,
>Probao sam ONSIDE ali sam odmah odustao, SIDEWAYS takodje podesava
>velicinu fontova i sve neophodne parametre ali je MNOGO
jednostavniji
>i mali pa se po potrebi moze startovati i iz aplikacije (mada ja to
>ne radim). Poslao sam ti pa probaj.
Zeleo bih da probam taj SIDEWAYS.COM, pa ako moze da se dobije,
bio bih jako zahvalan.
clipper.948neman,
> 1. evo ga source c_m_apro.prg
Hvala ti :)
> 2. eto sta se desava sa pirat instalacijama :)
Pa nije pirat nego prijatelj ;) a kako je i u ovom slucaju bio primenljiv
postupak instalacije *zguraj_sve_u_isti_dir*, nisam ni trazio ponovno
snimanje. Nisam cak morao ni da menjam oznake disketa iz SideKick-a.
> 3. mozemo li nekako da se organizujemo pa da se na desava ovo pod 2 ?
Sankcije ????
clipper.949dcolak,
Evo problema za clipperaše bez knjiga o istom, rešenje se traži...
Imamo ovakvu situaciju:
INDEXNA DATOTEKA
┌─────────┬──────────┐ So, otvorim bazu i željeni index.
│Vrednost │ RECNO() │ Krećem od TOP ka BOTTOM. Kako da znam
│ │ │ do kog sam indexa po redu stigao.
│11 │ 5 │
│22 │ 1 │ Tj. recimo upravo sam ispisao '22' i recno()
│33 │ 3 │ mi je vratio '1'. Očigledno to nije prvi Index
└─────────┴──────────┘ u nizu i pravi karambol u programu.
Treba mi funkcija koja će mi nakon pristupa
broju (slogu baze) '22' dati redni broj
pointera na njega u indexnoj datoteci.
Najkraće: Funkcija koja vraća RECNO() ali za
INDEXE, so da znam koliko još imam do kraja
il' početka (npr.)
Nadam se da sam bio jasan :)
P.S.
Isključiti fore tipa: broj odakle krećeš etc. jer skačem iz TBrowseDB
čitajući samo RECNO() a to ne govori koji je to INDEX (pointer u
indexnoj datoteci) po redu...
Sledge DAMMIR!
clipper.950ikordic,
RE: IndexNo ()
=> Evo problema za clipperaše bez knjiga o istom, rešenje se traži...
?
=> Treba mi funkcija koja će mi nakon pristupa
=> broju (slogu baze) '22' dati redni broj
=> pointera na njega u indexnoj datoteci.
Imaš par opcija. Najbolja je akrobacija sa kodnim blokovima koji se koriste
pri skakanju sa sloga na slog (skipblock) u okviru TBrowse-a. Znači svaki
put kada se pomera pokazivač, ne daš mu da to radi avtomacki, nego ubačiš
svoje kodne blokove za prelazak na n-ti slog, prelazak na početak i kraj
baze. U okviru tog bloka ostvaruješ i preračunavanje pozicije indeksa,
obzirom da krećeš sa vrha tabele, ažuriranje brojača je trivijalno.
Alternativno, možeš da pogledaš i SIx CDX/NSX biblioteku koja ima funkciju
Sx_KeyNo () koja radi upravo to što ti treba. Negotivna varijanta je što
moraš da koristiš pomenutu biblioteku koja je jedan od faktora koji
izazivaju famozni VMIF.
Takođe pogledaj i poruku 10.559 by goxx, tamo se nalazi opis neke osnovne
rutine koja radi to. Takođe, misim da ja bulaja slao neko programče koje ima
scroll bar, a on mora da radi na istom principu.
=> Isključiti fore tipa: broj odakle krećeš etc. jer skačem iz TBrowseDB
=> čitajući samo RECNO() a to ne govori koji je to INDEX (pointer u
=> indexnoj datoteci) po redu...
Ovo baš nisam najbolje razumeo, 'ajde ponovo. Skačeš ODAKLE u GDE? Ako si
već u TBrowse-u, opisana metoda ti ne pravi nikakve probleme. Ali ako treba
da uletiš u TBrowse sa podatkom koji je redni broj u indeksnoj datoteci,
stvar je malko komplikovanija ali ne i nerešiva.
clipper.951dvesic,
>> moras da koristis pomenutu biblioteku koja je jedan od faktora
>> koji izazivaju famozni VMIF.
Ne vise, ne vise ....
Ziveo Six 2.0 ! :)))
Hip hip, hura, hip hip hura .. :))
clipper.952jolicm,
Zdravo.
>> Ziveo Six 2.0 ! :)))
Ja sam preko nekih veza nabavio upgrade sa sixnsx 1.5 na 2.0, DVE datoteke
sa upozorenjem da je to upgrade 1 i 3, a da mi fali druga potrebna datoteka.
Dal mozes da mi napišeš koje datoteke imaš, pa da ti ja dojavim šta mi treba,
Pa ako to nije veliko da mi pošalješ na mail. ??? :) :) :)
Pozdrav
clipper.953bulaja,
│ Treba mi funkcija koja će mi nakon pristupa broju (slogu baze)
│ '22' dati redni broj pointera na njega u indexnoj datoteci.
└───
Najlakše je ukoliko koristiš SIx RDD, imaš njegovu funkciju SX_KeyNo()
koja vraća baš to - poziciju (redni broj) trenutnog ključa unutar
indeksa. Za standardni DBFNTX rešenje je u pisanju novih funkcija za
skakanje po bazi umesto dbSkip(), dbGoTo(), dbGoTop() i dbGoBottom()
koje će raditi isto to uz održavanje realnog broja ključa unutar
indeksa (posle se te funkcije bez problema ubace u TBrowse).
clipper.954neman,
>>> moras da koristis pomenutu biblioteku koja je jedan od
>>> faktora koji izazivaju famozni VMIF.
> Ne vise, ne vise ....
> Ziveo Six 2.0 ! :)))
Koja verzija 2.00, 2.01.01 2.0x.0x ???
Pa oni su je pacovali za krace vreme vise puta nego bilo sta sto sam do
sada video. Ona kobasica sa ispravljenim bagovima prilicno neprijatno
deluje :( To je bio glavni razlog da NE ukljucujem tu verziju ( trenutno
v 2.01.02 ). A ljudi koji unose podatke navikli su da svremena na vreme
iskoci po neki VMIF, razbije im monotoniju ;)
Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i da li neko ima
iskustva sa takovm kombinacijom ?
clipper.955st.pol,
╔═══════════════════════════════════════════════════════════════════╗
║ Zavod za zdravstvenu zastitu studenata ║█
║ Univerziteta u Beogradu ║█
║ Proleterskih brigada 57 ║█
║ BEOGRAD ║█
║ ║█
║ raspisuje ║█
║ ║█
║ K O N K U R S ║█
║ ║█
║ za 1 programera. ║█
║ ║█
║ Potrebna predznanja: Mrezno programiranje na Clipper-u, ║█
║ Rad sa NOVELL NetWare 3.11. ║█
║ ║█
║ Pozeljna predznanja: Programiranje na C/C++, ║█
║ Osnovi projektovanja IS ║█
║ ║█
║ Potrebna skola.....: Nepotrebna ;). Ali od toga zavisi ║█
║ koeficijent, tj. plata ;(, znaci ║█
║ pozeljan faks, bilo koji, ali ║█
║ nije uslov. ║█
║ ║█
║ Posao je vrlo interesantan, radi se na projektovanju ║█
║ Zdravstvenog Informacionog Sistema (ZIS), sve su jos ║█
║ pocetni koraci, nije kasno da se ukljucite. Vlada RS ║█
║ je odlucila da finansira, izgradnju jedinstvenog ZIS ║█
║ Srbije, a da ustanove koje su najdalje otisle u raz- ║█
║ voju vlastitih IS, budu referentne. Nasa ustanova je ║█
║ jed(i)na ;) od tih, pa izvolite .... ║█
║ ║█
║ Sve prijave i dodatna obavestenja na mail st.pol ║█
║ ║█
║ Zvanican konkurs ce biti uskoro u Politici, ali ne ║█
║ nameravam da primim nekoga ko ne prati SEZAM ;) ║█
║ ║█
╚═══════════════════════════════════════════════════════════════════╝█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
clipper.956d.petrovic,
> TB:skipBlock := š đnSkipđ ;
> Skip_Niz (nSkip, čnIndex, Len(aTabela)) ć
Dozvoli ljudima da odluče O;)
U commands.ch ide:
#define AR_SKIPBLOCK(atBro, aIndex, ar, arLen);
atBro:SkipBlock := šđn, sađ sa := aIndex,;
IIF(aIndex + n > arLen, aIndex := arLen,;
IIF(aIndex + n < 1, aIndex := 1, aIndex += n)), aIndex - sać
a u program:
AR_SKIPBLOCK(ar_Bro, aIndex, chArray, arLen)
Ovo sam valjda modifikovao i zaboraavio sam zašto :))
atBro - Objekat
aIndex - Indeks niza
ar - Niz, ubij me da se setim zašto ga prenosim ;(
arLen - Dužina (šta li će ona tu kad je niz već prisutan ?) :)
clipper.957d.petrovic,
I am back :))
clipper.958dcolak,
│ baze. U okviru tog bloka ostvaruješ i preračunavanje pozicije indeksa,
│ obzirom da krećeš sa vrha tabele, ažuriranje brojača je trivijalno.
Da, upravo ovo sam i uradio... Well, neka ga tako :) Nego, još
jedno pitanje...
Kako da napravim senku ispod svojih BOX-ova? Al' onu lepu, što samo
izmeni boje pozadine...
Tj. da li postoji restscreen kome se može odabrati samo prenos
karaktera ali ne i njihovih atributa (ja mu zadajem boju ispisa)?
Sada mi je senka CRNA i neprovidna ;)
Sledge DAMMIR!
clipper.959rccomp,
Probaj sa funkcijom Shadow() . Ima je na Sezamu u ClipTool.arj
clipper.960mileusna,
Evo ti dan .PRG za senku ispoBOX-a.
Srecno!
shadow.prgclipper.961mdrazic,
> Treba mi funkcija koja će mi nakon pristupa
> broju (slogu baze) '22' dati redni broj
> pointera na njega u indexnoj datoteci.
>
> Najkraće: Funkcija koja vraća RECNO() ali za
> INDEXE, so da znam koliko još imam do kraja
> il' početka (npr.)
Manite se ćorava posla ako nećete da prebrojavate zapise od početka
do kraja.
Jedino rešenje ti je SiX driver ili Comix (slično prethodnom) koji
imaju podršku ovoj opciji.
Međutim, i dalje problem ostaje položaj u tabeli pod filtrom, ili
recimo samo ako imaš brisane zapise i set deleted on. Problem je u
tome što u indeksnom fajlu nema informacija koji je zapis brisan a
koji nije.
Prelistaj temu od juna naovamo, čini mi se da je neko rekao kako
takve funkcije iz SiX drajvera rade sporo. Ja ih ne koristim pa to
ne mogu potvrditi.
Milan
clipper.963dvesic,
>> Koja verzija 2.00, 2.01.01 2.0x.0x ???
2.01.02
>> Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i da li
>> neko ima iskustva sa takovm kombinacijom ?
Ne, za to se obrati bulaji.
clipper.964mileusna,
??Kako saznati trenutni broj sloga u aktivnom indeksu??
Jedino rešenje koje ja znam zove se SIXCDX i njegova funkcija SX_KeyNo().
Avaj. Funkcija je vrlo spora, a naročito kada su u pitanju velike baze.
Može da posluži ako ti njen rezultat nije često potreban.
clipper.965cnenad,
Problemčina koju ne mogu da rešim, a tiče se BU_MENU.
SET KEY... // vezivanje funkcijskih tastera za određene procedure
WHILE lnIz<9
CLS
IF lnIz1==1
Tabela()
ENDIF
WHILE .t.
// deo koda za iscrtavanje ekrana
@22,1 PROMPT " Unos " HOTKEY 'U' MESSAGE "UNOS OSTALIH PODATAKA"
// ovde dolazi još 6 linija za druge izbore
CLEAR TYPEAHEAD
MENU TO lnMizb // lnMizb deklarisan kao LOCAL numerik.
DO CASE
CASE lnMizb==1
Prg1()
// case za ostale linije
ENDCASE
END WHILE
END WHILE
RETURN
Nakon aktiviranja programa prvo ide procedura TABELA koja je običan TBROWSE
ali iz nje pritiskom na funkcijsku dirku F5 mogu ući u proceduru u kojoj se
dodaju novi podaci UNOS()
Ako izađem iz TBROWSE (Tabela()) sa ESC, i izaberem prvi izbor iz MENU TO,
aktiviram PRG1() za unos nekih drugih podataka koji nemaju veze sa onim iz
Tabela() -> F5. Kao proveru ispravnosti unosa podataka u PRG1() nakon
GET/READ opet sam stavio petlju WHILE .t. i izbor DA, NE realizovan preko
MENU TO odnosno BU_MENU ali pošto koristim BUMENU.CH radim sa 'standardnim'
naredbama. Sve se lepo u toj proceduri završi kako treba, vratim se u petlju
u glavni program, na F5 aktiviram TABELA(), u njemu opet na F5 proceduru
UNOS() (unos podataka), unesem podatke. Opet je tu nakon unosa provera sa
MENU TO. Kada ispiše pitanje 'DA' 'NE' u toj proceduri UNOS() i pokrenem
strelice levo desno dobijam ispod tog izbora kompletan izbor koji mi se nudi
u glavnoj proceduri (dakle onaj koji sam gore naveo). Ako ne izabrem ništa,
sa ESC se vraćam u glavnu proceduru i kad pokušam da mrdnem osvetljenje
izbora sačeka me poruka:
BASE/1132 BOUND ERROR: ARRAY ACCESS
Called from Bu_Menuto(236)
Called from Test(182) // test je inače moja glavna procedura a linija
182 je ona gde stoji MENU TO lnMizb
U nekim slučajevima je dodatno ispisivao i PROMPT(261) ?!?!?
Napominjem da je u svakoj proceduri u kojoj je iskorišćeno MENU TO,
memorijska promenljiva deklarisana kao LOCAL numerik sa potpuno različitim
imenom.
Šta se ovo dođavola događa i kako ovo rešiti ?
BTW, da li se nekako može izbeći da MESSAGE.. CENTER seče eventualno RAM
iscrtan sa n,n1 to nn,nn1 ?
Ajde kad već ovoliko napisah da dodam i ovo :)
Primer pomoću kojeg Spence rešava problem kod GET/VALID unosa koji je
Nenad stavio u zadnji Savetnik ili ima BUG ili je to Feauture :)
On normalno radi ono za šta je namenjen jer nakon pritiska na PgUP ili Down
na nekom GET polju ako je korektno uneto skače na prvo koje nije kako treba
popunjeno. E sad, iz tog polja čak i kad se unese korektna vrednost koju
ispituje VALID ne može se strelicama na gore vratiti na prethodna polja nego
je moguće ići samo na dole nakon unosa korektne vrednosti i to naravno uz
pritisak na taster ENTER. Ima li rešenja za ovo ?
clipper.966dzoric,
> pocetni koraci, nije kasno da se ukljucite. Vlada RS
> je odlucila da finansira, izgradnju jedinstvenog ZIS
> Srbije, ...
Ako je 2,000 < PLATA < 10,000 eto nas :)
clipper.967kuki,
> Ako je 2,000 < PLATA < 10,000 eto nas :)
a ako je PLATA > 10000 ....
pa naučiću kliper za te pare :))))
clipper.968dpredovic,
>>> Koja verzija 2.00, 2.01.01 2.0x.0x ???
>
> 2.01.02
žoveče, odakle ti to? Dal si dobio tako, ili imaš onaj patch 01/08 ->
11/08? Daj da uradimo nešto u svakom slučaju ;), ubi me ono što su
"popravili" rad sa memo poljima...
clipper.969dpredovic,
> Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i da li
> neko ima iskustva sa takovm kombinacijom ?
Da, ide sasvim lepo, ne tangiraju se ni 2%.
clipper.970d.petrovic,
> Imaš par opcija. Najbolja je akrobacija sa kodnim blokovima
> koji se koriste pri skakanju sa sloga na slog (skipblock) u
> okviru TBrowse-a. Znači svaki put kada se pomera pokazivač, ne
> daš mu da to radi avtomacki, nego ubačiš
Ne znam zašta njemu treba, ali znam da to meni ne pomaže :(
Elem, predefinišem ja skip, ali procedura movekey() koja stoji na
otherwise u petlji za tbrowse osim što skipuje može i da potraži
"po slovu", ako je takav indeks i ako je pritisnuto slovo. E, kad
Seek uradi svoje možeš da zaboraviš di si bio :(
clipper.971d.petrovic,
Treba mi funkcija u Cl 5.01 koja vraća ima li i koliko ima slobodne
XMS i EMS memorije.
clipper.972dcolak,
│ Prelistaj temu od juna naovamo, čini mi se da je neko rekao kako
│ takve funkcije iz SiX drajvera rade sporo. Ja ih ne koristim pa to
│ ne mogu potvrditi.
Prvo da se zahvalim svim ljudima na pomoći a onda da nastavim ;)
Elem, koristim Clipper 5.01 i nije mi baš najčistije to sa SiX
drajverom. Tj. znam da 5.2 ima opciju biranja različitih indexa
(sem ntx) no nisam primetio da to ima i 5.0..
So, kako sam ukapirao ostaje mi da koristim neku biblioteku. Koje
vi koristite u svakodnevnom radu? Meni nedostaje meni sistem. Sve
što sam video ovde (RSOFT) na Sezamu ne zadovoljava :(
Dal' da se bacim na izmišljanje tople vode (meniji)?
Sledge DAMMIR!
clipper.973dcolak,
│ Avaj. Funkcija je vrlo spora, a naročito kada su u pitanju velike baze.
│ Može da posluži ako ti njen rezultat nije često potreban.
Biće poprilično velike... Nego imam još jedan problem. Kada koristim
SET FILTER često mi javi error : TOO MANY LABELS. Tj. ide nešto u
stilu:
set filter to upper(ime) = ime .and upper(prezime) = prezime itd itd..
Očigledno "svari" samo određeni broj stavki u postavljanju filtera.
Šta da radim kad bih imao mnogo više polja nego sada?
Postoji li u Clipperu nešto kao LIKE u SQL-u ili čemu već? Tj. da
uporedi ali "logično?"
Sledge DAMMIR!
clipper.974ikordic,
RE:
=> Ziveo Six 2.0 ! :)))
Priznaj, ovo si namerno napisao, samo da bi milion paćenika udarilo reply na
tvoju poruku ;) Ozbiljno, jel' to 101% sigurno?
Hoću konačno da pređem na Clipper 5.2 (taman kad izlazi 5.3 :)) i neki SIx,
i zanime me neka kombinacija koja stabilno radi. Ako ponovo počnu veselja,
ja ostajem na 5.01 a vi se zamajavajte :) Ondak ću opet da probam za pola
godine i tako u krug ... :)
clipper.975ikordic,
RE: Shadow
=> Kako da napravim senku ispod svojih BOX-ova? Al' onu lepu, što samo
=> izmeni boje pozadine...
=> Tj. da li postoji restscreen kome se može odabrati samo prenos
=> karaktera ali ne i njihovih atributa (ja mu zadajem boju ispisa)?
Pa, sa SaveScreen () mu otmeš ekran u neki string. Svaki prvi (neparni)
karakter u stringu je znak a svaki drugi (parni) predstavlja atribut tog
znaka. Znači, kad pročitaš ekran, napraviš neku petlju u kojoj menjaš
postojeći atribut nekim drugim i tako postizavaš senku. Naravno, menjanje
atributa sprovodi samo tamo gde treba da se pojavi senka, zbog uštede
vremena. Realizacija sopstvenih funkcija je jednostavna.
clipper.976ikordic,
RE: IndexNo ()
=> Manite se ćorava posla ako nećete da prebrojavate zapise od početka
=> do kraja.
=> Jedino rešenje ti je SiX driver ili Comix (slično prethodnom) koji
=> imaju podršku ovoj opciji.
=> Međutim, i dalje problem ostaje položaj u tabeli pod filtrom, ili
=> recimo samo ako imaš brisane zapise i set deleted on. Problem je u
Skačeš sebi u usta :) ipak je jedino rešenje pisanje sopstvenih funkcija za
mrdanje po bazi, koje se mogu ukorporirati u kodne blokove u okviru
TBrowse-a. Oslanjanje na eksterne biblioteke uglavnom donosi više problema
no koristi, pomenuto usporenje je samo jedan od njih.
Posle par traumatoznih iskustava, sve više razumem nbatocanina po pitanju
odbojnosti korišćenja stranjskih tela u sopstvenim aplikacijama.
clipper.978ikordic,
RE: Born to code in Clipper ;)))
=> Problemčina koju ne mogu da rešim, a tiče se BU_MENU.
Ja i inače slabo kapiram, al' tvoja poruka je totalna destrukcija :) Reč
jednu nisam shvatio, a pročitao sam opis problema par puta i gledao u ono
čudo od listinga ;) žisto da poruka ne stoji bez veze, dva kratka saveta:
* Koristi malo više razmaknicu pri pisanju programa. Primeti koliko je
lepše napisati:
IF nIzbor == 1 .AND. lIzlaz == .F.
Tabela ()
ELSE
Msg ( "Kraj rada ... ", RED )
END IF
nego
IF Izb==1.AND.Izl==.F.
Tabela()
ELSE
Msg("Kraj rada...",RED)
ENDIF
Osim što je lepše, daleko je jednostavnije uočavati tako izdvojene
logičke celine u okviru naredbe, čitati i održavati program. Ja sam se
jednom davno posle par dana mučenja navikao i NIKAD mi se nije desilo
da mi treba neki SNAP ili PR za ulepšavanje sorseva. I davaj bre malo
duža imena promenljvama :)
* SetKey () izbegavati. Apsolutno ne postoji situacija u kojoj se ova
naredba/funkcija ne može zameniti sopstvenom, daleko fleksibilnijom
opcijom. žak i da je tako, pokušaj da situaciju realizuješ preko neke
CASE petlje (event programming - tako beše?) kao kod TBrowse-a. Na taj
način će ti slabo zatrebati pomenuti anahronizam. A i bolje se
pripremaš za WinMain () ... :)
clipper.979d.petrovic,
> Problemčina koju ne mogu da rešim, a tiče se BU_MENU.
Otkud ja sad da znam šta je u tim linijama bulajinog menija
(ja koristim ver 1.2 izmenjenu po želji O:)) )
Prevedi svoj prg sa "/p" pa vidi kako je to složio pretrpocesor
i prati cld-om
clipper.980dvesic,
>> Covece, odakle ti to? Dal si dobio tako, ili imas onaj patch
>> 01/08 -> 11/08? Daj da uradimo nesto u svakom slucaju ;), ubi
>> me ono sto su
Patch #1 (Six 2.01.00 -> Six 2.01.01)
int201-1.zipclipper.981dvesic,
Patch #2 (Six 2.01.01 -> Six 2.01.02)
int201-2.zipclipper.982bulaja,
│Međutim, i dalje problem ostaje položaj u tabeli pod filtrom, ili
│recimo samo ako imaš brisane zapise i set deleted on. Problem je u
│tome što u indeksnom fajlu nema informacija koji je zapis brisan a
│koji nije.
└───
Za filter mora da se održava trenutni record pointer, pošto SIx v1.5
funkcija koja bi to trebala da radi - ne radi :) (ne znam da li je
ispravljeno u v2.0).
Ako se ne varam, u indeksni fajl ne bi trebalo da ulaze obrisani slogovi
(ako je setovano Set Deleted On). Inače dobra je praksa (tako bar kažu u
SIx dokumentaciji:) da se (kod CDX ili NSX indeksa) uvek drži jedan tag
indeksiran po Deleted(). Njega koristi Mach SIx za optimizaciju, tako da
i kod Set Deleted On ne dolazi do usporenja prilikom kretanja po bazi.
clipper.983bulaja,
││ Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i da li
││ neko ima iskustva sa takovm kombinacijom ?
│└───
│ Ne, za to se obrati bulaji.
└───
Ja još nisam koristio SIx v2.0 (shame on me:), ali usudiću se da ga
ubacim umesto v1.5 u neke aplikacije koje koriste i FUNCky, pa ćemo
videti :).
clipper.984bulaja,
│Problemčina koju ne mogu da rešim, a tiče se BU_MENU.
│...
│BASE/1132 BOUND ERROR: ARRAY ACCESS
│Called from Bu_Menuto(236)
└───
Pretpostavljam da je u pitanju BuMenu v1.4 i da nisi ništa dirao u
osnovnom source-u biblioteke. Onda je linija 236 sledeća:
IF EVAL (bUpper, aMenuHotKey[i]) == EVAL (bUpper, CHR(kkk))
odnosno to je deo gde se ispituje da li je pritisnut taster neki od hot
key-ova. Bound Error Array Access grešku može javiti jedino pristup nizu
(odnosno pokušaj pristupa:) aMenuHotKey[] van njegovog opsega. Pošto se
<i> vrti od jedan do <nMax> koji predstavlja broj promptova (odnosno
veličinu niza u koji se oni smeštaju), onda je jako čudno kako je moguće
da se ovakva greška javi - jedino ako je dimenzija niza promenjena od
trenutka izračunavanja <nMax> (a on se izračunava odmah na početku
funkcije, pre ulaska u glavnu petlju). Još je čudnije to što se greška
javlja prilikom pokušaja "mrdanja osvetljenja izbora" :), pošto se pre
mesta greške nalazi kod koji procesira sve tastere za kretanje (kurzori,
Home, End, PgUp, PgDn, Enter) i Esc, tako da se prilikom "mrdanja" taj
deo i ne izvršava (nalazi se u OTHERWISE delu glavnog CASE iskaza.
Takodje se pre toga i izvrše sve eventualne Set Key procedure.
Ono što mi se čini da bi mogao biti uzrok problema (i pored svih
misterija:) je da se još jedan bu_MenuTo() (odnosno standardni MENU TO
korišćen sa BuMenu.ch) poziva iz neke od procedura koje su nakačene na
SET KEY. Pošto BuMenu trpa sve u STATIC promenljive (biće skoro verzija
sa objektima:), znači da se ne može rekurzivno pozivati pre nego što se
završi prethodna instanca glavne funkcije (bu_MenuTo()) i resetuju
STATIC-i (a to se radi prilikom svakog izlaska iz bu_MenuTo() odnosno
izlaza iz menija na bilo koji način). Dakle proveri da li se BuMenu
poziva rekurzivno iz neke od SET KEY procedura, pa ako to nije problem
(a meni se sve čini da ipak jeste:) videćemo štaćemo dalje.
clipper.985bulaja,
│ So, kako sam ukapirao ostaje mi da koristim neku biblioteku. Koje
│ vi koristite u svakodnevnom radu? Meni nedostaje meni sistem. Sve
│ što sam video ovde (RSOFT) na Sezamu ne zadovoljava :(
└───
Imaš BuMenu kao pristojnu O:) zamenu za standardni MENU TO sistem
(\ibmpc\clipper\bumenu14.zip). Ako misliš na kompletan dobar sistem
pull-down menija, onda to nije baš lako pronaći (iako to nije neki
naročiti programski problem). Ja imam lep :) poluzavršeni sistem
pull-down menija koji koristim za internu upotrebu, ali već godinu dana
nikako da stignem da ga upristojim za javnost. Iskreno, poslednjih
nekoliko meseci čekam da vidim šta će CA da uradi, pošto je jedan od
najavljenih noviteta u Clipper-u 5.3 (trebao bi da izadje do kraja
godine) objektno orijentisan sistem menija.
clipper.986dcolak,
│ Elem, predefinišem ja skip, ali procedura movekey() koja stoji na
│ otherwise u petlji za tbrowse osim što skipuje može i da potraži
│ "po slovu", ako je takav indeks i ako je pritisnuto slovo. E, kad
│ Seek uradi svoje možeš da zaboraviš di si bio :(
Isti problem. Any Solution? Nekako mi je bezvezno da nema rešenja :)
Osim onog SIX ili kako već? :) Jel' to biblioteka?
Sledge DAMMIR!
clipper.987cnenad,
ŁŁŁ Problemčina koju ne mogu da rešim, a tiče se BU_MENU.
Problemčina rešena :)))
Caka je bila u glupo postavljenoj konstrukciji programa. Naime, u glavnoj
proc. pojavljuje se prvi put MENU TO. Iz tog stanja čekanja stavio sam da na
funkcijsku dirku poziva TBROWSE, a iz njega opet na istu dirku neku levu
proceduru u kojoj se koristi opet MENU TO ali sa drugom mem. promenljivom.
E sad, on kad natrči na MENU TO lnMiz, pokaže onaj MENU TO lnMizb iz glavne
procedure. Kad sam programu uveo sankcije sve je proradilo. :)
clipper.988dcolak,
│ nekoliko meseci čekam da vidim šta će CA da uradi, pošto je jedan od
│ najavljenih noviteta u Clipper-u 5.3 (trebao bi da izadje do kraja
│ godine) objektno orijentisan sistem menija.
Da, nikako da naletim na neki kompletan PullDownMenu kao u FoxPro...
Još uvek se lomim da li da pređem na FoxPro... Nervira me to što nemam
NG za FoxPro ;))
Sledge DAMMIR!
clipper.989neman,
>>> Koja verzija 2.00, 2.01.01 2.0x.0x ???
>
> 2.01.02
Pa da, greska ;)
>>> Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i
>>> da li neko ima iskustva sa takovm kombinacijom ?
>
> Ne, za to se obrati bulaji.
bulajo, prozvan si ;)
clipper.990dpredovic,
> sada video. Ona kobasica sa ispravljenim bagovima prilicno
> neprijatno deluje :( To je bio glavni razlog da NE ukljucujem
> tu verziju ( trenutno
A one kobasice uz svaku novu podverzijicu clippera? Da čovek počupa kosu
kad vidi da je 5.2c->5.2d imao _samo_, ako me sećanje ne vara, 83
izmene.
clipper.991ikordic,
RE: SKIP
=> Elem, predefinišem ja skip, ali procedura movekey() koja stoji na
=> otherwise u petlji za tbrowse osim što skipuje može i da potraži
=> "po slovu", ako je takav indeks i ako je pritisnuto slovo. E, kad
=> Seek uradi svoje možeš da zaboraviš di si bio :(
Pa, može i ovo da se odradi programski, ali jedino što mi pada na pamet
trenutno je gruba sila. Sad ću ozbiljno da se zamislim, pa ako nešto
ispadne, će javimo.
clipper.992ikordic,
RE: SET FILTER
=> Biće poprilično velike... Nego imam još jedan problem. Kada koristim
=> SET FILTER često mi javi error : TOO MANY LABELS. Tj. ide nešto u
Ne koristi SET FILTER :)
=> Postoji li u Clipperu nešto kao LIKE u SQL-u ili čemu već? Tj. da
=> uporedi ali "logično?"
Ne razmem. Šta znači "logično"?
clipper.993ikordic,
RE: Memory ()
=> Treba mi funkcija u Cl 5.01 koja vraća ima li i koliko ima slobodne
=> XMS i EMS memorije.
Za EMS možeš sa Memory ( 4 ), a XMS, koliko znam, Clipper ne koristi.
clipper.994ikordic,
RE: UI
=> vi koristite u svakodnevnom radu? Meni nedostaje meni sistem. Sve
=> što sam video ovde (RSOFT) na Sezamu ne zadovoljava :(
Jedina koja ima zadovoljavajući odnos uložen trud/performasne je omenu.prg
koji ide uz Clipper 5.01, normalno tek nakon žešćeg prepravljanja. Sve
ostalo je, meni barem, svetlosne godine daleko od komfora, kako po pitanju
korisničkog aspekta, tako i po pitanju programiranja. Nadalje, i ako nađeš
neki dobar meni-podsistem, ne zaboravi da tu treba da dođu i radio-dugmići,
check-boxovi, alerti itd., daklem da sve bude urađeno kako treba, jer a)
različite datoteke ne surađuju kako treba i b) ne dobivaš sors uz njih.
Negde daleko u belom svetu postoji lib koji je u potpunosti Win
kompatibilan, daklem izgleda i ima sve one fazone kao i NU, al' ne znam kako
se zove. Alternativno, probaj Funcky, on ima neke grafiče menije u tekst
modu.
clipper.995hercog,
> Još uvek se lomim da li da pređem na FoxPro... Nervira me to što nemam
> NG za FoxPro ;))
U foxprou imaš njegov help ;)
Sale
clipper.996dvesic,
>> Priznaj, ovo si namerno napisao, samo da bi milion pacenika
>> udarilo reply na tvoju poruku ;)
Priznajem :)
>> Ozbiljno, jel' to 101% sigurno?
Pa sad, vec dva meseca svi moji programi (cirka 10 komada) rade sa
ovom kombinacijom i nije bilo (kuc, kuc, kuc) problema. VMIF-ovi su
se jedino (istina, vrlo retko) desavali prilikom debagovanja nekog
veceg programa ( >= 700 Kb) eksternim Clipper dibagerom.
Od eksternih biblioteka koristim NovLib2 (podrska Novell-u) i
prosirenje (BlxClp52.Lib) Blinkera za rad u protected modu.
Svi programi su linkovani sa Blinker-om 3.01 u svim ukusima :
Real, Dual, Extended (u zavisnosti od platforme/mreza/stanica).
Drajveri : SixCdx i SixNtx. Za sada nisam radio sa SixNsx RDD-om.
Toliko.
clipper.997dkaralic,
> a ako je PLATA > 10000 ....
> pa naučiću kliper za te pare :))))
a ako je PLATA ¸ 300 .AND. ZNAMCLIPPER == .T.
da li onda ima zainteresovanih
clipper.998d.petrovic,
> Pa, može i ovo da se odradi programski, ali jedino što mi pada
> na pamet trenutno je gruba sila. Sad ću ozbiljno da se
> zamislim, pa ako nešto ispadne, će javimo.
Gruba sila je BAŠ gruba:
Zapamtiš RecNo(), Go Top i skipuješ dok se ne vratiš. A baza ima 485324
slogova i ti se nalazio kod "Zurić Zaharije" :(
Doduše može se i videti prvo slovo u stringu, može...
Zaboravi, osim da praviš svoj indeks (još jedan .dbf)
clipper.999d.petrovic,
> indeksa. Za standardni DBFNTX rešenje je u pisanju novih
> funkcija za skakanje po bazi umesto dbSkip(), dbGoTo(),
> dbGoTop() i dbGoBottom()
Ovo mi se sviđa, samo, šta će ti ove poslednje dve ?
clipper.1000d.petrovic,
> Biće poprilično velike... Nego imam još jedan problem. Kada
> koristim SET FILTER često mi javi error : TOO MANY LABELS. Tj.
> ide nešto u stilu:
Ružna navika. Prestani da koristiš filter.
clipper.1001d.petrovic,
> * SetKey () izbegavati. Apsolutno ne postoji situacija u
> * kojoj se ova
Još bolje, ko koristi svoju funkciju za skeniranje tastature može da ubaci
u nju svoju za setkey().
clipper.1002goxx,
Nema me na Sezamu par dana, pa me zatrpaše silne poruke.
■ > Pa, može i ovo da se odradi programski, ali jedino što mi pada
■ > na pamet trenutno je gruba sila. Sad ću ozbiljno da se
■...
■ Gruba sila je BAŠ gruba:
■ Zapamtiš RecNo(), Go Top i skipuješ dok se ne vratiš. A baza ima 485324
■ slogova i ti se nalazio kod "Zurić Zaharije" :(
■ ...
■ Zaboravi, osim da praviš svoj indeks (još jedan .dbf)
Pre nekog vremena sam nesto ovde pisao na ovu temu. Ja imam 286 na 12 MHZ
i sistem rada sa prebrojavanjem slogova ladno prolazi na njemu čak i sa
ogromnim datotekama. Ograničenje postoji sa brisanim slogovima i sa
filterom. Medjutim to jednostavno zaobilazim u samom projektu baze
podataka tako da nikad i ne koristim fizičko brisanje ili filter.
Možda će izaći članak o celoj ovoj temi u Računarima, ali primer je
obiman tako da ne verujem da će biti najjasniji (ako uopšte izađe :).
Celovit primer će biti na Sezamu (ili u RSOFT ili ako ne izađe poslaću
ga ovde).
Goran
clipper.1003mdrazic,
> => Međutim, i dalje problem ostaje položaj u tabeli pod filtrom, ili
> => recimo samo ako imaš brisane zapise i set deleted on. Problem je u
>
> Skačeš sebi u usta :) ipak je jedino rešenje pisanje sopstvenih funkcija
> za mrdanje po bazi, koje se mogu ukorporirati u kodne blokove u okviru
Pa čovek je i tražio analog recno() ali pod indeksom. Ni sa recno()
nemaš pravu informaciju za slučaj filtra i brisanih zapisa. Flag za
brisanje je u tabeli, ne u indeksu, a filter koji ti postaviš nije
nigde na disku registrovan, pa ne možeš dobiti ažurnu informaciju o
'metrici' osim da neposredno sam brojiš. Možeš zapakovati to u
kodne blokove i ubrzati posao, ali i dalje je neupotrebljivo za veće
tabele.
Milan
clipper.1004mdrazic,
> set filter to upper(ime) = ime .and upper(prezime) = prezime itd itd..
>
> Očigledno "svari" samo određeni broj stavki u postavljanju filtera.
> Šta da radim kad bih imao mnogo više polja nego sada?
Napravi funkciju
ISUPPERALL( cString ) --> lJesteIliNije
koja vraća .t. ako su sva slova velika, .f. inače pa
set filter to IsUpperAll(ime+prezime+...)
Milan
clipper.1005bulaja,
│ A i bolje se pripremaš za WinMain () ... :)
└───
Tačnije METHOD Start() CLASS App :).
clipper.1006bulaja,
││Za standardni DBFNTX rešenje je u pisanju novih funkcija za skakanje
││po bazi umesto dbSkip(), dbGoTo(), dbGoTop() i dbGoBottom()
│└───
│Ovo mi se sviđa, samo, šta će ti ove poslednje dve ?
└───
Pa da resetuješ brojač kad skočiš na početak, odnosno da proračunaš
ukupan broj slogova koji u indeksu kad skačeš na kraj. Obe funkcije su
potrebne i za ubacivanje u TBrowse metode za skok na početak/kraj baze.
clipper.1007bulaja,
┌────────────┐
│Clipper News│
└────────────┘
SuccessWare Univeils Replacable Data Driver for CA-Visual Objects
Successware, developers of the SIx Driver and SIxBase, will univeil
their newest high-performance Replaceable Data Driver (RDD) for
CA-Visual Objects at CA TechniCon in New Orleans. The new CA-VO RDD
enables applications developers to directly access and create FoxPro
tables, indexes and memo fields from within their Windows/VO
applications without the performance-burden of the ODBCC layer.
SuccessWare says future versions will add compatibility and support for
additional database formats, including HiPer-SIx (TM) (NSX/SMT) and
dBASE IV (TM) (MDX/DBT).
Further news from SuccessWare includes turning their Clipper RDD,
HiPer-SIx, into freeware. HiPer-SIx indexes and memos are supported by
most reporting/code generation systems (including R&R) and will soon be
supported in client/server via Extended System's Advantage Xbase Server
NLM and in Windows via SuccessWare's SIxBase product line. Rumor has it
that HiPer-SIx will be included with CA-Clipper 5.3.
SuccessWare, 800-683-1657, (909) 699-9657, fax (909) 695-5679.
clipper.1008bulaja,
┌────────────┐
│Clipper News│
└────────────┘
Grumpfish Releases Dual Platform and Reporting Tools
Clip-4-DOS is a linkable CA-Clipper library that allows developers to
create event-driven mouseable DOS applications. It's compatible with the
Windows API and Clip-4-Win, Grumpfish's library for creating Windows
based Clipper applications. Grupfish says applications will port easily
to CA-Visual Objects. Grumpfish Reporter 2.0, an XBase query/reporting
tool, can be linked directly into applications without additional memory
requirements. Clip-4-DOS iz US$ 249, and Reporter 2.0 is US$ 299. Goth
ship with printed and electronic documentation, source code, and
royality-free integration license.
Grumpfish, Inc., (503) 588-0737, fax (503) 588-1980.
clipper.1009dpredovic,
> Patch #1 (Six 2.01.00 -> Six 2.01.01)
>
Ne radi posao, ovaj je 11/8 -> 18/8, meni treba 1/8 -> 11/8 :((
clipper.1010dcolak,
│> Još uvek se lomim da li da pređem na FoxPro... Nervira me to što nemam
│> NG za FoxPro ;))
│
│ U foxprou imaš njegov help ;)
Gori Help u životu nisam video. Nit context sensitive (ako je to
cs onda sam ja tramvaj), nit su lepo raspoređene komande. Dok pronađem
šta mi treba počupam svu kosu. Užas blago rečeno. BTW, ko je lud da
piše programe u Fox-ovom IDE-u? :))
Sledge DAMMIR!
clipper.1011dcolak,
│=> Biće poprilično velike... Nego imam još jedan problem. Kada koristim
│=> SET FILTER često mi javi error : TOO MANY LABELS. Tj. ide nešto u
│
│ Ne koristi SET FILTER :)
Hm, al' kako onda da TBrowsujem kroz datoteku sa zadatim filterom ako
ne koristim SET FILTER... Opet kroz Skipper-a da pravim svoje rutine?
│=> Postoji li u Clipperu nešto kao LIKE u SQL-u ili čemu već? Tj. da
│=> uporedi ali "logično?"
│
│ Ne razmem. Šta znači "logično"?
Hm, recimo "Damir" .like. "amir" == .T. ;)
Sledge DAMMIR!
clipper.1012dcolak,
│> Biće poprilično velike... Nego imam još jedan problem. Kada
│> koristim SET FILTER često mi javi error : TOO MANY LABELS. Tj.
│> ide nešto u stilu:
│
│ Ružna navika. Prestani da koristiš filter.
Kako pronađene podatke da browsujem? Sa Seek skočim na prvi, pa onda
continue za sledeći i tako u beskraj. So, ovo moram da implementiram
u TBrowse? Kako će TBrowse znati koliko ima pronađenih recorda i na
osnovu toga napraviti tabelu?
BTW, pravljenje nove datoteke (swap ;)) sa pronađenim recordima mi
je suviše sporo...
Hm, možda se sa VIEW nešto da srediti (prvo što mi pada na pamet)?
Sledge DAMMIR!
clipper.1013nbatocanin,
> RE: Shadow
> (parni) predstavlja atribut tog znaka. Znači, kad pročitaš
> ekran, napraviš neku petlju u kojoj menjaš postojeći
> atribut nekim drugim i tako postizavaš senku.
Bolji štos je sa Transform i PICTURE kombinacijom:
Transform (cScreen, Replicate("X" + Chr(?), Len(cScreen)/2)
Ovo svaki drugi simbol zameni sa atributom za crno i to je to.
clipper.1014nbatocanin,
> A i bolje se pripremaš za WinMain () ... :)
Start(), u stvari :) A može se i promeniti :)
clipper.1015jovca.car,
/* Još uvek se lomim da li da pređem na FoxPro... Nervira me to što nemam
/* NG za FoxPro ;))
A šta fali njegovom helpu?
clipper.1016ikordic,
RE: Guns for hire
=> a ako je PLATA ¸ 300 .AND. ZNAMCLIPPER == .T.
=> da li onda ima zainteresovanih
Cccc, ... nisi u trendu! Treba:
IF nPlata >= 300 .AND. lZnamClipper == .T.
pa onda sledi i:
IF nValuta == "DEM"
Maybe ()
ELSE
NoWay ()
ENDIF
;)
clipper.1017ikordic,
RE: IndexNo ()
=> Gruba sila je BAŠ gruba:
=> Zapamtiš RecNo(), Go Top i skipuješ dok se ne vratiš. A baza ima
=> 485324
Sedim ja tako i mislim :) i jedino što mi pade na pamet est sledeće: naime,
kada TBrowse započinje svoj život i radni vek, on protrči kroz jedan deo
baze koristeći svoj skipblok, ne bi li skrpio dovoljno podataka da nešto i
prikaže u tabeli. Normalno, umesto tog skipbloka se može podmetnuti
sopstveni, koji će protrčati kroz celu bazu, u tabelu skembati samo slogove
koji mi se sviđaju i pritom sve njih izbrojati. Tako dobivamo nLast, koji je
najveći problem. Ovo i ne mora da se dešava u okviru TBrowse-a, moglo bi da
se načini na početku rada sa programom. Pošto se dodavanje/brisanje/izmena
slogova vrši pod neposrednom kontrolom programa, ovakav brojač je
jednostavno održavati.
Prednost ovoga jeste da se sve one gadne rabote (filteri, indeksi, brisanja,
...) mogu obraditi bez da se potežu neke spore rutine i neke leve
biblioteke.
Ja ovoliko smislio, gde su rupe u svemu ovome? Znam da ih ima al' danas beše
naporan dan ... Posebno me zanima mišljenje Mister Koudbloka ... :)
clipper.1018dcolak,
│ ISUPPERALL( cString ) --> lJesteIliNije
│ koja vraća .t. ako su sva slova velika, .f. inače pa
│ set filter to IsUpperAll(ime+prezime+...)
My Mistake ;) Upoređujem promenjljive sa poljima u .DBF. So, to
otpada...
Sledge DAMMIR!
clipper.1019mdrazic,
> Ako se ne varam, u indeksni fajl ne bi trebalo da ulaze obrisani slogovi
> (ako je setovano Set Deleted On). Inače dobra je praksa (tako bar kažu u
idu, idu... (a i što ne bi kada index ne zna da li ti radiš trenutno
sa set deleted on ili off).
> SIx dokumentaciji:) da se (kod CDX ili NSX indeksa) uvek drži jedan tag
> indeksiran po Deleted(). Njega koristi Mach SIx za optimizaciju, tako da
> i kod Set Deleted On ne dolazi do usporenja prilikom kretanja po bazi.
Bolje ti je da ubaciš u redovne indekse (tagove) 'for .not.deleted()',
a ako želiš reciklažu (i samo za to i za ne daj bože neku restauraciju)
stavi i indeks (tag) po deleted() ključu ili još bolje po glavnom
ključu ali 'for deleted()'.
Milan
clipper.1020mdrazic,
> ovom kombinacijom i nije bilo (kuc, kuc, kuc) problema. VMIF-ovi su
> se jedino (istina, vrlo retko) desavali prilikom debagovanja nekog
> veceg programa ( >= 700 Kb) eksternim Clipper dibagerom.
To ti je verovatno dužina EXE fajla. Koliko memorije traži program da
bi radio (šta javlja linker na kraju) ? Da li ima šanse da moj paket
od 1.4MB EXE sa 380-420K prijavljene potrebne memorije radi sa SiX-om?
Milan
clipper.1021mileusna,
>> Kako pronađene podatke da browsujem? Sa Seek skočim na prvi, pa onda
>> continue za sledeći i tako u beskraj. So, ovo moram da implementiram
>> u TBrowse? Kako će TBrowse znati koliko ima pronađenih recorda i na
>> osnovu toga napraviti tabelu?
Kao prvo nije mi jasno kakve veze SEEK ima sa CONTINUE. CONTINUE nastavlja
pretraživanje koje je započela komanda LOCATE, dok SEEK pretražuje isključivo
indeksiranu tabelu i to od početka. Ili sam te ja pogrešno shvatio, ili si ti
pogrešno objasnio.
Ukoliko ti je tabela indeksirana po polju po kom praviš filter, na primer :
SET FILTER TO fcPseudo="MILEUSNA", a tabela ti je indeksirana po polju
fcPseudo, onda je samo potrebno napisati nove kodne blokove koji će si
pozivati prilikom izvršavanja metoda:
goTopBlock - Pozicionira pokazivač na vrh tj. blok izvršava DBSEEK(cKljuc)
goBottomBlock - Pozicionira se na kraj. Funkciju koju blok poziva treba da
izgleda ovako :
LOCAL lSoftSeek:=SET( _SET_SOFTSEEK , .T. )
SEEK SUBSTR( cKljuc,1,LEN(cKljuc)-1 ) + ;
CHR( ASC( SUBSTR(cKljuc,LEN(cKljuc)) )+1 )
SKIP -1
SET( _SET_SOFTSEEK , lSoftSeek )
RETURN NIL
skipBlock - poziva SKIP , dokle god je potrebno i pazi da pokazivač ne
izađe van vrednosti ključa. Ovo je malo komplikovanije jer
se skipBlock poziva za metode up(),down() kao i za pageUp() i
pageDown() metode.
Hteo sam ovo odmah da ti pošaljem, ali se negde izgubilo. No, ako ti treba
potrudiću se da ti pošaljem. Razlog "zagubljivanja" je taj da od kad sam prešao
na SIX jednostavno otkucam SET SCOPE i sve je isto kao da je u pitanju cela
tabela.
Ovo gore navedeno važi, kao što rekoh, samo ako je filter po polju za koji
postoji indeks. Ali šta raditi ako se radi o nečem složenijem, kao recimo
SET FILTER TO fnIsplata > 300 .AND. fnUplata > 1000. Jednom sam imao i taj
problem. Rešio sam ga tako što sam prvo vršio pretraživanje po bazi i ukoliko
bi slog zadovoljio uslov izvršio bi jedno AADD( aNađeni,RECNO() ). Takođe sam
( već pogađaš ) izvršio izmenu vrednosti za skipBlock, goTopBlock i
goBottomBlock, tako da su metode praktično vršile pomeranje kroz aNađeni. Po
meni je bolje da korisnik malo sačeka, pa zatim "piči" kroz tabelu i gore i
dole, nego da odmah dobije tabelu, pa da se kilavi kroz nju. Jedini problem
je ograničenje od 4096 elemenata za niz (u našem slučaju aNađeni). Meni više
nije ni trebalo, ali ako zatreba umesto niza se može koristiti nova tabela
(temp) koja će imati samo jedno polje ( za RECNO() iz tabele koja se filtrira
).
Ovo što sledi nisam praktično isprobao, ali bi trebalo da radi. Ukoliko
koristiš SIX, filtriranje tabele je omogućeno pravljenjem indeksa komandom
SUBINDEX koja uzima u obzir samo slogove koji zadovoljavaju SET FILTER uslov.
Normalno, moraćeš da sačekaš da prođe indeksiranje, ali ćeš zatim dobiti indeks
koji prividno filtira tabelu, i moći ćeš da radiš sve kao da je u pitanju cela
tabela.
clipper.1022nbatocanin,
> Hm, al' kako onda da TBrowsujem kroz datoteku sa zadatim
> filterom ako ne koristim SET FILTER... Opet kroz Skipper-a
> da pravim svoje rutine?
Mogao bi da koristiš uslovne indekse. Traje dok izdvoji slogove, ali
posle toga je sve trenutno. To je za generalno rešenje, a za
specijalizovane primene bi mogao da napraviš neki inteligentan
pregled na osnovu postojećih indeksa.
clipper.1023neman,
> Bolje ti je da ubacis u redovne indekse (tagove) 'for
> .not.deleted()', a ako zelis reciklazu (i samo za to i za
Da, samo sto na mrezi brisanje sloga koji ima indekse sa uslovom
FOR !DELETED() ( NSX 1.5 ) usporava rad svih onih koji pristupaju podacima,
pa za bazu sa cestim brisanjen ne preporucujem to resenje.
clipper.1024dvesic,
>> To ti je verovatno duzina EXE fajla.
Da, odnosi se na duzinu fajla.,
>> Koliko memorije trazi program da bi radio (sta javlja linker na kraju) ?
364 Kb.
>> Da li ima sanse da moj paket od 1.4MB EXE sa 380-420K prijavljene
>> potrebne memorije radi sa SiX-om?
Nema razloga da ne radi. Ako linkujes sa Rtlink-om, Six ce ti
(naravno, ako iskljucis DBFNTX koji se linkuje po default-u)
povecati Load Size za 20 - 30 Kb. Ako linkujes sa Blinkerom
lako se moze desiti da ti se Load Size smanji :))
clipper.1025dcolak,
│/ * Još uvek se lomim da li da pređem na FoxPro... Nervira me to što nemam
│/ * NG za FoxPro ;))
│
│ A šta fali njegovom helpu?
Užasan je. Recimo tražim FOUND(). Kucam F, pa kucam O pa kucam U i
već sam na UPPER() :))
Sledge DAMMIR!
clipper.1026mdrazic,
> My Mistake ;) Upoređujem promenjljive sa poljima u .DBF. So, to
> otpada...
Ako su ti promenljive deklarisane kao private tada postavi filter
po nekoj funkciji, a u njoj ispituj koliko ti volja.
Milan
clipper.1027mdrazic,
> kada TBrowse započinje svoj život i radni vek, on protrči kroz jedan deo
> baze koristeći svoj skipblok, ne bi li skrpio dovoljno podataka da nešto
> i prikaže u tabeli. Normalno, umesto tog skipbloka se može podmetnuti
> sopstveni, koji će protrčati kroz celu bazu, u tabelu skembati samo
> Ja ovoliko smislio, gde su rupe u svemu ovome? Znam da ih ima al' danas
> beše naporan dan ... Posebno me zanima mišljenje Mister Koudbloka ... :)
Možeš li da zamisliš kako u mreži (makar maloj) izgleda kada samo pet
korisnika startuje browser za tabelu sa nekoliko hiljada zapisa, ili
možda par desetina hiljada? Ako ne znaš, probaj i javi nam vreme
odziva.
Milan
clipper.1028bulaja,
│idu, idu... (a i što ne bi kada index ne zna da li ti radiš trenutno sa
│set deleted on ili off).
└───
Zna (tj. mogao bi da sazna:), zavisno od stanja set deleted u trenutku
osvežavanja indeksa - kada se slog obriše RDD proveri da li su deleted
isključeni i ako jesu izbaci ključ iz baze.
clipper.1029dcolak,
│ Kao prvo nije mi jasno kakve veze SEEK ima sa CONTINUE. CONTINUE nastavlja
│ pretraživanje koje je započela komanda LOCATE, dok SEEK pretražuje
│ isključivo indeksiranu tabelu i to od početka. Ili sam te ja pogrešno
│ shvatio, ili si ti pogrešno objasnio.
Da, moja greška, mislio sam na LOCATE.
│ Ovo gore navedeno važi, kao što rekoh, samo ako je filter po polju za koji
│ postoji indeks. Ali šta raditi ako se radi o nečem složenijem, kao recimo
│ SET FILTER TO fnIsplata > 300 .AND. fnUplata > 1000. Jednom sam imao i taj
│ problem. Rešio sam ga tako što sam prvo vršio pretraživanje po bazi i
│ ukoliko bi slog zadovoljio uslov izvršio bi jedno AADD( aNađeni,RECNO() ).
Upravo je to slučaj. No, 4096 je mali broj pa ću po svemu sudeći
morati da pravim novi .DBF (što sam pokušao da izbegnem). Eh, kad
mi je bio postavljen uslov da reakcije na izbor opcija budu trenutne
:) Ipak će biti onoga "Please wait..." :)
Sledge DAMMIR!
clipper.1030ikordic,
RE: Shadow
=> Bolji štos je sa Transform i PICTURE kombinacijom:
=> Transform (cScreen, Replicate("X" + Chr(?), Len(cScreen)/2)
Pa baš i nije. Ovo tvoje je lepo ako je bitno da sors bude što kraći, ali se
zato radi bespotreban posao. Zašto bi se menjali atributi na delu ekrana
koji će ionako biti pokriven nekom maskom ili alert-om?
Treba da se izmenjaju atributi samo od
nBott + 1, nLeft + 1 do nBott + 1, nRight
i od
nTop + 1, nRight + 1 do nBott + 1, nRight + 1
Nisam merio koliko je brže ovako, ali znam da u CLD-u traje večnost ako se
prolazi kroz muscle varijantu. Ne znam kako ovo izgleda na 5.2x, tamo je
navodno dokumentovan neki low level pristup funkcijama za rad sa
stringovima?
clipper.1031ikordic,
RE: SET FILTER
=> │ Ne koristi SET FILTER :)
=>
=> Hm, al' kako onda da TBrowsujem kroz datoteku sa zadatim filterom ako
=> ne koristim SET FILTER... Opet kroz Skipper-a da pravim svoje rutine?
Da. Najpre odmah zaboravi na akrobacije sa SET FILTER, DELETE i sl., jer
možeš napraviti potpuno funkcionalne ekvivalente u čistom Clipper-u, koje su
po brzini i komforu daleko ispred pomenutih anahronizama. Cena koju plaćaš
je što jedared za svagda obradiš te situacije i ondak samo koristiš i
eventualno dopunjavaš napisano.
Što se tiče konkretnog, moraš napraviti svoje funkcije koje će obrađivati
ugrađene funkcije za mrdanje po bazi, dbSkip (), dbGoTop () i dbGoBottom ().
Njih preusmeravaš uz pomoć
oBrowse:goBottomBlock := { || MyGoBott () }
oBrowse:goTopBlock := { || MyGoTop () }
oBrowse:skipBlock := { | n | MySkip ( n ) }
Ondak u tim tvojim funkcijama obrađuješ npr. da skok na početak ne skoči na
prvi slog, nego na onaj koji je definisan kao gornja granica. Analogno tome,
kada TBrowse kaže "daj sledeći", tvoja funkcija potraži sledeći slog koji
zadovoljava uslov itd. Naravno, prethodno je drastično brže ako se radi o
indeksiranim poljima :)
=> Hm, recimo "Damir" .like. "amir" == .T. ;)
Pa, imaš "amir" $ "Damir == .T.? Ili Soundex ()?
clipper.1032ikordic,
RE: Clipper News
=> │Clipper News│
Umoljavamo za nastavak ove prakse :) Uzgred, ko/šta je izvor?
clipper.1034mileusna,
>> mi je bio postavljen uslov da reakcije na izbor opcija budu trenutne
>> :) Ipak će biti onoga "Please wait..." :)
Bilo bi mnogo bolje da se umesto "Please wait..." na vrhu ekrana nalazi BOX
sa informacijama o uspešnosti pretraživanja, kao na primer :
┌────────────────────────────────────────┐
│ Pretraženo 50% 1500/3000 │
│ % █████████████████ % │
│ Nađeno : 467 │
└────────────────────────────────────────┘
Ispod ovoga, stalno bi se ispisivao sadržaj nađenih slogova, pa ako korisnik
ugleda ono što mu treba, može pre vremena da prekine pretraživanje sa recimo
<SPACE>. Zatim malo "browsuje", pa ako zaključi da se prevario nastavi
pretraživanje od onog mesta na kome se zaustavio. Funkcije za sve ovo nije
teško napraviti, a priznaćeš mogu da deluju vrlo efektno.
clipper.1035mileusna,
>> oBrowse:goBottomBlock := š đđ MyGoBott () ć
>> oBrowse:goTopBlock := š đđ MyGoTop () ć
>> oBrowse:skipBlock := š đ n đ MySkip ( n ) ć
>> Ondak u tim tvojim funkcijama obrađuješ npr. da skok na početak ne skoči na
>> prvi slog, nego na onaj koji je definisan kao gornja granica. Analogno tome,
>> kada TBrowse kaže "daj sledeći", tvoja funkcija potraži sledeći slog koji
>> zadovoljava uslov itd. Naravno, prethodno je drastično brže ako se radi o
>> indeksiranim poljima :)
Ukoliko se radi o indeksiranim poljima, ovo je OK ( to sam i ja napisao
dcolak-u ). Ali šta ako nema indeksa? Gore kažeš "tvoja funkcija potraži
sledeći slog koji zadovoljava uslov". Pa zar nije to upravo ono što radi
komanda SET FILTER TO (a upravo to pokušavamo da izbegnemo) ?
Doduše, možda se sa promenom goBottomBlock, i goTopBlock (zapamti se koji je
prvi a koji zadnji) i može postići ubrzanje u odnosu na SET FILTER, ali će
skipBlock uvek morati da radi isto što i SET FILTER (IF "usna" $ fcPseudo itd.)
clipper.1036aquarius,
NLabSGetReader V2.35 - 20.11.94
- umesto funkcije NLabSChgReader(), omoguceno da za svaki
GET, komandom NLABS_READER _ON/_OFF bude odredjeno da li
ce biti upotrebljen NLabSGetReader().
- novi fajl NLabSGrd.CH
- uradjene manje izmene koda.
Normalno, moze u DIR, ako se bulaja slaze O:)
aquarius
nlgrd235.zipclipper.1037aquarius,
<> Inace, da li koristis FUNCKY II biblioteku uz SIX 2, i da li
<> neko ima iskustva sa takovm kombinacijom ?
FUNCky II + SIX2 v2.01.02 + Blinker 3.01 = :)
FUNCky II + SIX2 v2.01.02 + ExoSpace 1.0f = :)
aquarius
clipper.1038mdrazic,
>> Bolje ti je da ubacis u redovne indekse (tagove) 'for
>> .not.deleted()', a ako zelis reciklazu (i samo za to i za
>
> Da, samo sto na mrezi brisanje sloga koji ima indekse sa uslovom
> FOR !DELETED() ( NSX 1.5 ) usporava rad svih onih koji pristupaju
> podacima, pa za bazu sa cestim brisanjen ne preporucujem to resenje.
E, negde mora da se plati. Ako hoćeš da ti brisani slogovi ne smetaju
pri čitanjima (i da ne koristiš set deleted on) onda moraš nekako da
izbaciš zapise iz indeksa pri ažuriranju. Nego kaži, koliko se to
usporava rad? Prilikom brisanja se osim taga u tabeli ažuriraju i
svi indeksi ali to ne bi trebalo mnogo da traje, otprilike kao i
dodavanje novog zapisa. Međutim u aplikacijama (barem mojim) je
mnogo češće dodavanje novih i ažuriranje postojećih zapisa nego
brisanje, pa ne vidim da ovo može predstavljati problem.
Milan
P.S. Da li je to usporen pristup baš podacima koje si ti obrisao ili
nekom drugim (kojim) ?
clipper.1039d.petrovic,
> Pre nekog vremena sam nesto ovde pisao na ovu temu. Ja imam 286
> na 12 MHZ i sistem rada sa prebrojavanjem slogova ladno prolazi
> na njemu čak i sa
Verovaću kad probam ;)
clipper.1040d.petrovic,
> Ukoliko se radi o indeksiranim poljima, ovo je OK ( to sam i ja
> napisao
Pa nećemo valjda opet o LOCATE ? ;(((
clipper.1041d.petrovic,
> Bilo bi mnogo bolje da se umesto "Please wait..." na vrhu
> ekrana nalazi BOX sa informacijama o uspešnosti pretraživanja,
> kao na primer :
> ┌────────────────────────────────────────┐
> │ Pretraženo 50% 1500/3000 │
> │ % █████████████████ % │
> │ Nađeno : 467 │
> └────────────────────────────────────────┘
Ovako nešto koristim za indeksiranje i rezultat je poražavajući.
Kada piše procente i crta trakicu indeksiranje traje oko 6 puta duže.
Isprobano valjda na 386 ili 486.
clipper.1042d.petrovic,
Do koje dubine može da ide rekurzija ?
Da budem precizniji ?
Koliko puta može da pozove sebe, a da se ne prepuni stek i program pukne ?
clipper.1043ikordic,
RE: SIx & RTLink
=> Nema razloga da ne radi. Ako linkujes sa Rtlink-om, Six ce ti
=> (naravno, ako iskljucis DBFNTX koji se linkuje po default-u)
=> povecati Load Size za 20 - 30 Kb. Ako linkujes sa Blinkerom
Nisam u toku: zar nije rečeno da se SIx praktično ne može linkovati
RTLinkom zbog obima?
clipper.1044bulaja,
│Upravo je to slučaj. No, 4096 je mali broj pa ću po svemu sudeći
│morati da pravim novi .DBF (što sam pokušao da izbegnem).
└───
Pa onda pravi DBF, ali ne za kopiranje kompletnih slogova koji
zadovoljavaju uslov, već za istu stvar za koju bi ti služio niz -
smeštanje pointera na slogove.
clipper.1045bulaja,
│Umoljavamo za nastavak ove prakse :) Uzgred, ko/šta je izvor?
└───
Clipper Advisor :).
clipper.1046cnenad,
ŁŁŁ Ovako nešto koristim za indeksiranje i rezultat je poražavajući.
ŁŁŁ Kada piše procente i crta trakicu indeksiranje traje oko 6 puta duže.
Šta si stavio kao vrednost posle EVERY ? Zvekni mu 500 pa neće biti baš tako
sporo. Jeste da je onda efekat manji ali... ne može se i jare i pare :)
clipper.1047dcolak,
│ Nisam merio koliko je brže ovako, ali znam da u CLD-u traje večnost ako se
│ prolazi kroz muscle varijantu. Ne znam kako ovo izgleda na 5.2x, tamo je
Značajno brže. Kada se menja ceo ekran ispod maske primeti se pauza.
Ovako "po ivicama" se ič ne primeti ;)
Sledge DAMMIR!
clipper.1048dcolak,
│ Ispod ovoga, stalno bi se ispisivao sadržaj nađenih slogova, pa ako
│ korisnik ugleda ono što mu treba, može pre vremena da prekine pretraživanje
│< sa recimo SPACE>. Zatim malo "browsuje", pa ako zaključi da se prevario
│ nastavi pretraživanje od onog mesta na kome se zaustavio. Funkcije za sve
│ ovo nije teško napraviti, a priznaćeš mogu da deluju vrlo efektno.
Definitivno efektno :) Sva sreća te se sve ovo može "dopisati" na
već postojeći program. Da i ja malo ličim na Microsoft ;>
Verzija 2.0 User Friendly, needs extra 2Mb ;)
BTW, radim sa Clipper 5.01. Postoji li nešto zbog čega bih _morao_
preći na 5.2?
Sledge DAMMIR!
clipper.1049bulaja,
│NLabSGetReader V2.35
└───
Prebačeno u CLIPPER dir :).
clipper.1050bulaja,
│Ovako nešto koristim za indeksiranje i rezultat je poražavajući.
│Kada piše procente i crta trakicu indeksiranje traje oko 6 puta duže.
└───
A ti optimizuj malo funkciju za refresh trakice - npr. piši direktno na
ekran a ne preko SAY, osvežavaj prikaz tek svakih nekoliko (ili nekoliko
stotina:) slogova, koristi EVERY opciju kod SIx-a,... Sigurno neće biti
6 puta sporije :).
Mislim da je od brzine samog indeksiranja mnogo važnije da user ima neki
feedback da se nešto dešava, pa sam zato spreman na prilične žrtve u
performansama indeksiranja (npr. čak i duplo sporije:) ali da user ne
bleji u ekran u čekanju da se rebuild indeksa završi.
clipper.1051bulaja,
│ BTW, radim sa Clipper 5.01. Postoji li nešto zbog čega bih _morao_
│ preći na 5.2?
└───
Da - Computer Associates :). Ako ti nije dovoljno to što je od kada su
kupili Nantucket (ili samo Clipper kao proizvod - ne znam, a i nije
bitno:) podrška korisnicima neuporedivo bolja i budućnost Clipper-a
izvesnija, onda imaš novitete kao što su RDD-ovi (ja bih se sada jako
teško odvikao SIx-ovih predosti:), zatim mogućnost pravljenja protected
mode aplikacija, /es1 switch kod kompajliranja (moj omiljeni:),... Ako
ništa bar imaš nekoliko godina stariji i stabilniji program (i pored
toga što stalno otkrivaju bug-ove:). I ne zauzima mnogo više mesta na
disku nego verzija 5.01.
clipper.1052dvesic,
>> Nisam u toku: zar nije receno da se SIx prakticno ne moze
>> linkovati RTLinkom zbog obima?
Zavisi od velicine aplikacije. Ako aplikacija sa Blinkerom i
CL520MIN.LNK fajlom trazi X Kb, ista ta aplikacija ce sa RTLinkom
traziti maksimalno X+30 Kb. E sad, sve zavisi koliko je tvoja aplikacija
stvarno gladna memorije :)))
clipper.1053neman,
> izbacis zapise iz indeksa pri azuriranju. Nego kazi,
> koliko se to usporava rad? Prilikom brisanja se osim taga
> u tabeli azuriraju i
Novell 3.11, radne stanice 3 do 4 286/1MB/20MHz, 2 x 386SX/2MB/40MHz/,
1x386DX/4MB, server 386 8MB, baza oko 20 MB, oko 50,000 zapisa, 5 tagova
duzine 15-20 znakova, NSX dugacak ( napamet ) 2-3 MB. Blokiranje, preciznije
receno usporavanje jer se ne javlja poruka o zauzetosti baza, traje
2 - 3 sekunde kada se brise slog. Usporava se pristup i ostalim radnim
stanicama koje koriste tu datoteku ( a koriste je sve :). Interesantno je
da se usporava i rad stanica koje ne koriste u datom trenutku tu datoteku.
Slican slucaj sam vec pomenuo sa SET SCOPE komandom, kada dolazi do drrra-
sticnog usporenja rada dok se kreces po "skopiranoj" datoteci koja se upravo
azurira na vise drugih stanica.
Onaj SET DIRTYREAD izgleda nije bezveze postavljen :(
Naravno, radi se o NSX 1.5 i MS DOS 6.20 na svim radnim stanicama. Nadam
se da cu stici ovih dana da testiram odgovarajuce delove programa sa
NSX v 2.01.02.
clipper.1054neman,
> Do koje dubine moze da ide rekurzija ?
>
> Da budem precizniji ?
> Koliko puta moze da pozove sebe, a da se ne prepuni stek i
> program pukne ?
Probaj ;)
clipper.1055mdrazic,
> Zna (tj. mogao bi da sazna:), zavisno od stanja set deleted u trenutku
> osvežavanja indeksa - kada se slog obriše RDD proveri da li su deleted
> isključeni i ako jesu izbaci ključ iz baze.
Razmisli i videćeš da nije logično. Zamisli situaciju da istu tabelu
gledaju dva programa (mreža) i to jedan sa set deleted on a drugi sa off.
Milan
clipper.1056mdrazic,
> => Hm, recimo "Damir" .like. "amir" == .T. ;)
>
> Pa, imaš "amir" $ "Damir == .T.? Ili Soundex ()?
A da li treba i da je "Mira" .like. "Amir" ili ne ?
clipper.1057mileusna,
>> Kada piše procente i crta trakicu indeksiranje traje oko 6 puta duže.
>> Isprobano valjda na 386 ili 486.
Ovo se događa verovatno zato što se tvoja funkcija za "trakicu" poziva
posle svakog sloga. Ako bi je recimo pozivao posle svakog 50 sloga, ili još
bolje izračunao koliko iznosi 10% tabele, pa je pozivao samo onda (10 puta), ne
verujem da bi bilo baš tako.
Uostalom, u poruci je bilo reči o pretraživanju, a ne o indeksiranju, pa je
"trakica" nešto više od estetskog dodatka.( prikazuje se broj nađenih,
pretraženih itd. )
clipper.1058nbatocanin,
> RE: Shadow
>
> => Bolji štos je sa Transform i PICTURE kombinacijom:
>
> Pa baš i nije.
> Treba da se izmenjaju atributi samo od
>
> nBott + 1, nLeft + 1 do nBott + 1, nRight
Hm, ne verujem da se dobija neka značajna razlika. Ja sam ovaj sistem
dugo koristio kao osnovu za funkciju ColorWin koja zadati prozor na
ekranu postavlja u određenu farbu i nisam imao primjedbi na njenu
brzinu. Uostalom, isti ovaj štos se može primeniti i za te parčiće
koje pominješ. Suština je da se ovako izbegava spora FOR petlja.
clipper.1059mileusna,
>> Mislim da je od brzine samog indeksiranja mnogo važnije da user ima neki
>> feedback da se nešto dešava, pa sam zato spreman na prilične žrtve u
>> performansama indeksiranja (npr. čak i duplo sporije:) ali da user ne
>> bleji u ekran u čekanju da se rebuild indeksa završi.
Pa naravno. Trebalo bi da svi budemo srećni što je ovo moguće ubaciti u
programe, a ne da kukamo zbog brzine. Zamisli samo CLIPPER program za XXI vek
sa potpuno crnim ekranom na čijem vrhu piše "Sačekaj, reindeks baza u toku", a
korisnik upravo izašao iz slikovitog šarenila Windowsa...
clipper.1060st.pol,
Konkurs za programera, jos uvek traje....
Detalji na mail st.pol
clipper.1061ikordic,
RE: Dizajn
=> Ukoliko se radi o indeksiranim poljima, ovo je OK ( to sam i ja
=> napisao dcolak-u ). Ali šta ako nema indeksa? Gore kažeš "tvoja
=> funkcija potraži
Akcenat cele bajke je i bio na postojanju indeksa za taj uslov. Za razliku
od Fox-a, dBase-a i sličnih paketa koji te prosto vuku na zbrda-zdola
"programiranje" ;) u Clipper-u najpre moraš (ne moraš, al' bi trebao) sesti
i u glavi/na papiru isprojektovati celu bazu, sve potrebne datoteke,
indekse, veze i sl. Posledica celog koncepta jeste da je onda sasvim lako
imati i pomenute funkcije koje ti značajno ubrazavaju program, ne koristeći
pomenute anahronizme. Naravno, stvar je sasvim drugačija ako uzmeš da
prepravljaš postojeći program, tvoj ili tuđi. Tada se primenjuje sistem
"seci uši, krpi dupe" i dolazi do nekih krhkih konstrukcija, koje će kad-tad
vetar oduvati.
=> Doduše, možda se sa promenom goBottomBlock, i goTopBlock (zapamti se
=> koji je prvi a koji zadnji) i može postići ubrzanje u odnosu na SET
=> FILTER, ali će skipBlock uvek morati da radi isto što i SET FILTER
=> (IF "usna" $ fcPseudo itd.)
Ovakve situacije se daju izbeći projektovanjem baze unapred, tako da uopšte
i ne dolaziš u situaciju da posežeš za ovakvim mehanizmima.
clipper.1062ikordic,
RE: 5.01 -> 5.2
=> │ BTW, radim sa Clipper 5.01. Postoji li nešto zbog čega bih _morao_
=> │ preći na 5.2?
=> └───
=> Da - Computer Associates :). Ako ti nije dovoljno to što je od kada
=> Clipper-a izvesnija, onda imaš novitete kao što su RDD-ovi (ja bih se
=> sada jako teško odvikao SIx-ovih predosti:), zatim mogućnost
=> pravljenja protected mode aplikacija, /es1 switch kod kompajliranja
Elem:
* To što radnju vozi nova firma nema nikakve veze sa upotrebljivošću
softvera, čak štaviše. Ima veze za ljude koji imaju original &
registrovan softver, što većinu ovde ne tangira.
* Izmenljivi RDD-i postoje samo u 5.2, ali je njihova upotrebljivost
krajnje diskutabilna. Jedini normalan RDD, SIx, se bez problema može
koristiti u 5.01a Clipper-u (doduše, to je već CA :))
* Protected mode aplikacije se rade Blinker-om, koji opet, sasvim
normalno radi sa 5.01.
* Za sve ovo vreme nisam našao NI NA JEDAN JEDINI nedokumentovan bug u
5.01 koji bi pravio neke ozbiljne probleme, da ne govorimo o VMIF
greškama koji su mi potpuna nepoznanica ;) Postoje bubice, kao i
svugde, ali se one uglavnom svode na neke sitnije propuste, i NIJEDNA
od njih ti ne može srušiti aplikaciju, što ovi što koriste 5.2 mrtvi
'ladni prihvataju.
* Ne daju ti omenu.prg uz njega - definitivan minus ;)
clipper.1063pyramid,
Povodom clanka Zivotica u Racunarima 101 "Povezi me nezno":
...deo programa (clipperovog) se prebaci na server... :<
Zvuci jednostavno, ali:
Zna li neko kako se na serveru NOVEL NETWARE-a moze izvrsiti
CLIPPER program?
Mnogo mi treba.
Hvala, Pyramid.
clipper.1064bulaja,
CA-Clipper 5.3 beta - First Look
Glavna novost u odnosu na verziju 5.2 je Windows razvojno okruženje,
nalik na ono u CA-Visual Objects. Naravno i dalje postoji standardni
command-line kompajler i može se raditi na uobičajeni način (što ćemo
verovatno i nastaviti:).
CA-Clipper Workbench je dakle repositary-based okolina, odnosno sve
aplikacije i njihovi delovi se čuvaju u jednom skladištu (repositary) i
pristupa im se hijerarhijski - prvo se odabere aplikacija sa kojom se
radi, zatim neki njen modul (odnosno .PRG datoteka), i na kraju neki od
entiteta (entiteti mogu biti standardne procedure, funkcije, objekti..).
Moduli su ekvivalent PRG datoteka, a na nivou aplikacije postoji i
poseban "Binary Objects" modul koji je dostupan jedino iz Windows
okruženja, nisam našao način da ga prebacim u neki razumljivi fajl :).
CA-Clipper WB sam održava ekvivalente make i link datoteka, opcije za
kompaljiranje i linkovanje se lako podešavaju preko radio buttons-a :).
Od alata, CA-Clipper Workbench poseduje editore menija (korisna stvar),
ekranskih maski (takodje korisno), DataBase Server editor i field
properties editor. Ove poslednje dve stvari (DB Server i Field
properties) su jedna built-in implementacija rečnika podataka.
Razvojna okolina je očigledno direktno iščupana iz VO, čak i neke
datoteke imaju ekstenziju .VO :). Ovo znači i da su hardverski zahtevi
za korišćenje CA-Clipper WorkBench-a slični - 8 Mb RAM je apsolutni
minimum (sa 4 Mb se može startovati i plakati:), a za ozbiljniji rad
potrebno je 16 Mb RAM. Naravno ovo samo znači da nećete koristiti WB,
pošto se sasvim lepo može sve raditi kao i do sada iz DOS-a :). Na disku
zauzima nešto manje od 15 Mb, od čeka na WB otpada celih 10 (u konačnoj
verziji na ovo će biti potrebno dodati prostor koji će zauzeti on-line
dokumentacija).
DB Server nažalost izgleda nije ono što je uvedeno u VO, a to je
kompletna klasa za rad sa bazom umesto starog načina preko aliasa. On
novih klasa pronašao sam samo TopBar i PopUp klase za kreiranje pull
down sistema menija. GET sistem je proširen nedostajućim zezalicama -
push i radio buttons-ima, combo i list box-ovima i slično (to je
zbudženo preko nekih nizova, ali radi:).
Medju novim include datotekama postoji i memosys.ch (unutra je samo
nekoliko konstanti, ništa spektakularno:) što može značiti da konačno
postoji (ili je spremaju) MemoSys zamena za MemoEdit().
Teško je bez dokumentacije provaliti šta je sve dodato, ali nekako sam
iskopao da je sada konačno i ugradjena podrška za miša, i to u GET
sistem (jako lepo:), TBrowse i menije.
ExoSpace je JEDINI linker u ovoj beta verziji, dakle nema ni RTlink-a ni
nečeg sličnog. Ako ovako ostane, to će značiti problem u kompatiblnosti
sa starim bibliotekama koje ne rade u protected modu, ali sa druge
strane će naterati sve proizvodjače ovih biblioteka da porade na PM
verzijama.
Ova beta verzija CA-Clipper-a 5.3 nema nikakvu on-line dokumentaciju i
neupotrebljiva je za krajnji razvoj, pošto pre i posle startovanja
svakog kreiranog EXE-a ispiše da je beta verzija i da nije za širu
upotrebu :). Od RDD-ova ovde su dostupni samo DBFNTX i DBFNDX, nisam
još probao kako se snalazi sa bibliotekama za Clipper 5.2 (odnosno sa
SIx-om).
Dakle ukratko - ništa spektakularno osim Windows razvojne okoline, ali
ništa manje od onoga što su već ranije najavili da će biti noviteti u
verziji 5.3 (sem što nisam nigde video klase za prozore, za koje mi se
čini da su bile spominjane) Značajni noviteti su proširenja GET sistema,
klase za menije, mouse support, integrisani ExoSpace - sasvim dovoljno
za upgrade onda kad izađe konačna verzija.
Ovo su samo prvi utisci (bazirani na nekoliko sati rada:), pogledaću još
malo šta ima (ako nadjem vremena:) i preneću svoja zapažanja ovde :).
(Bulaja)
clipper.1065bulaja,
│Jedini normalan RDD, SIx, se bez problema može koristiti u 5.01a
│Clipper-u (doduše, to je već CA :))
└───
SIx2\DOC\ReadMe.1st:
>> NOTE: SIx 2.0 is for use with Clipper 5.2x ONLY. It will not work
>> with Clipper 5.01a at all.
clipper.1066nbatocanin,
>>> Nisam u toku: zar nije receno da se SIx prakticno ne
>>> moze linkovati RTLinkom zbog obima?
>
> Zavisi od velicine aplikacije. Ako aplikacija sa Blinkerom
> i CL520MIN.LNK fajlom trazi X Kb, ista ta aplikacija ce sa
> RTLinkom traziti maksimalno X+30 Kb. E sad, sve zavisi
> koliko je tvoja aplikacija stvarno gladna memorije :)))
Koliko se ja sećam, nije bilo baš tako. Meni je _bez_ DBFNTX drajvera
SIX 1.1 tražio oko 100K više sa RTLinkom. A i logično je: RTLink ne
može da smesti u overleje ASM i C module, za razliku od Blinkera, pa
ako se u overleje stavljaju delovi od CLIPPER.LIB i EXTEND.LIB, onda
sve ide u root. U suštini zavisi od raspodele koda po overlejima:
razlika između CL52MAX i CL52MIN može biti ogromna.
clipper.1067mdrazic,
> receno usporavanje jer se ne javlja poruka o zauzetosti baza, traje
> 2 - 3 sekunde kada se brise slog. Usporava se pristup i ostalim radnim
> stanicama koje koriste tu datoteku ( a koriste je sve :). Interesantno je
> da se usporava i rad stanica koje ne koriste u datom trenutku tu
> datoteku.
Ovo poslednje znači da server ne može da opsluži dovoljno brzo zahteve.
Za navedeno vreme (do 3 sekunde) su se upisivali podaci u par velikih
tabela i još 5-10 pratećih, naravno sve sa .NTX indeksima u jednoj
aplikaciji za osiguranje koju smo radili i gde je 4-5 korisnika
popunjavalo dva ekrana podataka i posle se to upisivalo u navedene
tabele za 2-3 sekunde.
Probaj, možda može Novell da se bolje podesi, jer server koji smo
mi koristili nije bio bolji od tvog.
> Slican slucaj sam vec pomenuo sa SET SCOPE komandom, kada dolazi do
> drrra- sticnog usporenja rada dok se kreces po "skopiranoj" datoteci koja
> se upravo azurira na vise drugih stanica.
>
> Onaj SET DIRTYREAD izgleda nije bezveze postavljen :(
To je verovatno zato što kada god se radi skip, ispita se heder indeksnog
fajla da li je izmenjen (bilo upisa u međuvremenu). U slučaju izmene se
ponovo čitaju tabele i indeksi u tvojoj memoriji radi ažurnosti.
Dirtyread se verovatno na ovaj heder ne obazire već tera po starom što je
brže.
Možda treba razmisliti da u cilju dobitka u brzini zaključaš fajl dok
(brzo) iščitaš podatke o traženim zapisima, pa onda otključaš da u toku
tvog čitanja grupe zapisa niko ne smeta sa izmenama hedera indeksnih
fajlova.
Milan
clipper.1068mdrazic,
> Do koje dubine može da ide rekurzija ?
>
> Da budem precizniji ?
> Koliko puta može da pozove sebe, a da se ne prepuni stek i program pukne
Kada recimo zaboravim skip u petlji (recimo) pa program zaglavi, ovo
rekurzivno pozivanje me spasava resetovanja. Pozoveš neki kalkulator
desetak-petnaestak puta pa te lepo vrati u DOS.
Inače se može napisati funkcija koja će ispitati i kontrolisati koliko
puta je modul iz koga je pozvana pozivan rekurzivno. Dozvolite do
3 kalkulatora i do 4 kalendara recimo, i ne dozvoljavate više. Poziv
ove funkcije je tipično na vrhu modula koji odrađuje neki set key.
Milan
clipper.1069mileusna,
>> Ima veze za ljude koji imaju original & registrovan softver,
"Registrovan softver" <-- Jel ovo neka strana reč ;) Tražio sam u rečniku i
nisam našao. ;)
clipper.1070spantic,
> Zna li neko kako se na serveru NOVEL NETWARE-a moze izvrsiti
> CLIPPER program?
Koliko je meni poznato, nikako. Potrebno je imati moduo za Novell da bi
mogao da se izvršava na serveru, a to ne može Clipper. Možeš to da uradiš
iz C-a. Najlakše iz Watcom C 10 prevodioca.
clipper.1071dejanr,
>> Zna li neko kako se na serveru NOVEL NETWARE-a moze izvrsiti
>> CLIPPER program?
Nikako. Na Novell 3.1x+ serverima mogu da se izvršavaju samo NLM-ovi,
a to su posebno pisani i linkovani programi. Da li negde na tržištu
postoji nešto što bi clipper program prevelo i povezalo kao NLM ne znam
sigurno, ali veoma sumnjam.
clipper.1072dejanr,
>> > Ima veze za ljude koji imaju original & registrovan softver,
>>
>> "Registrovan softver" <-- Jel ovo neka strana reč ;) Tražio sam u rečniku
>> i nisam našao. ;)
Verovatno je mislio na softver koji kupiš, popuniš registracionu karticu i
pošalješ proizvođaču. Posle ti (osim ako si u Jugoslaviji) pružaju razne
vrste podrške, manje ili više vredne.
clipper.1073d.petrovic,
> Šta si stavio kao vrednost posle EVERY ? Zvekni mu 500 pa neće
> biti baš tako sporo. Jeste da je onda efekat manji ali... ne
> može se i jare i pare :)
Mislim da nisam shvatio:
Funkcija piše procente i crta trakicu.
clipper.1074d.petrovic,
>> Do koje dubine moze da ide rekurzija ?
> Probaj ;)
Hoću ;)
clipper.1075ikordic,
RE: Clipper 5.3
=> Ovo su samo prvi utisci (bazirani na nekoliko sati rada:), pogledaću
=> još malo šta ima (ako nadjem vremena:) i preneću svoja zapažanja ovde
Hvala na opisu, obavezno nađi vremena :) i molim te poradi na NAJBITNIJOJ
stavki - novim i starim bagovima :(
Inače, šteta za IDE ... po onom tekstu, ja sam pomislio da je posredi DOS
IDE, kad ono ... :(
clipper.1076d.petrovic,
> A ti optimizuj malo funkciju za refresh trakice - npr. piši
> direktno na ekran a ne preko SAY, osvežavaj prikaz tek svakih
> nekoliko (ili nekoliko stotina:) slogova, koristi EVERY opciju
> kod SIx-a,... Sigurno neće biti 6 puta sporije :).
Ma to sam i hteo, ali nije lepo kod manjih baza, mada... sad sam se setio
da bi mogao prvo RecCount()...
> Mislim da je od brzine samog indeksiranja mnogo važnije da user
> ima neki feedback da se nešto dešava, pa sam zato spreman na
> prilične žrtve u performansama indeksiranja (npr. čak i duplo
> sporije:) ali da user ne bleji u ekran u čekanju da se rebuild
> indeksa završi.
Ehhh..., treba da bude lepo i nije strašno kod bržih mašina, mada će sada
da probam gore navedeno :)
clipper.1077d.petrovic,
> bolje izračunao koliko iznosi 10% tabele, pa je pozivao samo
> onda (10 puta), ne verujem da bi bilo baš tako.
Ma biće 100 puta (za 100 % i 50 polja trake)
clipper.1078d.petrovic,
> /es1 switch kod kompajliranja (moj omiljeni:),
==== jel ovo nešto slato ? :)
clipper.1079d.petrovic,
> Kada recimo zaboravim skip u petlji (recimo) pa program
> zaglavi, ovo rekurzivno pozivanje me spasava resetovanja.
> Pozoveš neki kalkulator desetak-petnaestak puta pa te lepo
> vrati u DOS.
Taj ti kalkulator ništa ne valja ;))))
Isključi njegov set key na početku i uključi ga ponovo na kraju.
Inače to kod mene nebi radilo da nemam nInkey() u svakoj petlji
I nemoj da zaboravljaš Skip, meni se to nikad ne dešava, ja obično
zaboravim .AND. ! Eof() O:))
clipper.1080dcolak,
│> Pa, imaš "amir" $ "Damir == .T.? Ili Soundex ()?
│
│ A da li treba i da je "Mira" .like. "Amir" ili ne ?
Ne, naravno. ;)
Sledge DAMMIR!
clipper.1081brus,
> Inace to kod mene nebi radilo da nemam nInkey() u svakoj petlji
Postoji lepa funkcija u CA-Tools biblioteci InkeyTrap(nDelay) koja
poziva uvek rezidentnu rutinu a isto radi sto i inkey().
clipper.1082brus,
Treba mi resenje kako da ulinkujem DBFNTX+DBFCDX(moze i SIXCDX)+DBFNSX
drajvere u isti exe. Koristeci uputstvo iz ng-a, sa bilo koja dva nema
problema.
Kada sam pokusao sa sva tri drajvera sa rtlink-om, nije prolazilo zbog
toga sto je javljao duplicate definition sx_... za bilo koji slucaj.
Nacas sam se obradovao sa blinker-om : Izveo je exe bez greske, rddlist()
je pokazao sve drajvere u listi, rddsetdefault("DBF???") je radio, ali...
Prilikom promene tekuceg drajvera sa otvaranjem nije bilo problema
dok se nije upotrebila komanda INDEX ON ...
Desila se blago receno simulacija benignog virusa. Ili bi se racunar iz cista
mira resetovao, ili bi doslo do totalne blokade ili pojave Internal error-a
raznih vrsta (kako kad) itd.
Evo kako izgleda sablon rada :
MYPROG.PRG :
REQUEST DBFCDX
REQUEST DBFNTX
...
#include <dbfnsx.ch>
...
RDDSETDEFAULT("DBFCDX")
USE TEST
INDEX ON SIFRA TAG SIFRA && ----> BOOM
MAIN.LNK
FILE MYPROG
FILE NSX_CDX // Ovo zbog CDX-a (ng)
čDBFNSX.LNK
BEGINAREA
SECTION INTO ...
FILE ...
ENDAREA
...
LIBRARY DBFCDX.LIB
LIBRARY DBFNTX.LIB
Izvinjavam se zbog opsirnosti.
clipper.1083brus,
> stavi i indeks (tag) po deleted() kljucu ili jos bolje po
> glavnom kljucu ali 'for deleted()'.
Mora da se pazi u slucaju da se brisu redom slogovi u petlji.
Npr:
WHILE TEST->POLJE=="VREDNOST" .AND. TEST->(!EOF())
TEST->(DBDELETE())
TEST->(DBSKIP(1)) // Problematicna linija //
END
Naime, cim se obrise odgovarajuci slog, menja se i recno() na sledeci.
Ako se ovakav nacin indeksiranja uvodi u neki stariji program, obavezno
se mora izbrisati DBSKIP(1) da se ne bi obrisao svaki drugi slog.
Verovatno se u navedenom slucaju uklanja i kljuc iz indeksne datoteke.
clipper.1084cnenad,
ŁŁŁ da bi mogao prvo RecCount()...
Koliko videh, za ovo preporučuju da se ne koristi.
BTW, ranije je bilo nekih problema sa LastRec() ali sada (5.2d) koliko vidim
radi kako treba, dakle uvek vraća tačan broj slogova.
clipper.1085dvesic,
>> Koliko se ja secam, nije bilo bas tako.
Koliko sam ja probao, bas je tako :)
>> Meni je _bez_ DBFNTX drajvera SIX 1.1 trazio oko 100K vise sa RTLinkom.
Radi se o Six 2.01.02; Aplikacija u pitanju je dosta velika
(magacin/fakture/profakture tj. robno), i situacija je :
332 Kb Blinker 3.01 + CL520MIN ili 367 Kb Rtlink.
>> A i logicno je: RTLink ne ..
Ih, logicno ! :)
clipper.1086vision,
HI. Svi CLIPPER-asi, ajde pogledajte ovaj MOJ meni sistem, mislim da
je bolji od BUMENU-a (bez vredjanja). Evo stvarcice kojih ima u njemu
pa da Vam olaksam download : Potpuna podska mouse-a, definisanje boja,
automatsko postavljanje pulldown-a, ...
Verujem da Vam nisam otracio koji minut download-a.
vmenu.zipclipper.1087dvesic,
>> Naime, cim se obrise odgovarajuci slog, menja se i recno() na
>> sledeci. Ako se ovakav nacin indeksiranja uvodi u neki stariji
>> program, obavezno
Nije tacno. Eksplicitno se kaze da se sve promene vezane za
brisanje sloga desavaju PO pomeranju pokazivaca, sto znaci
da DELETE ne menja RecNo().
clipper.1088mdrazic,
> ...deo programa (clipperovog) se prebaci na server... :<
>
> Zvuci jednostavno, ali:
>
> Zna li neko kako se na serveru NOVEL NETWARE-a moze izvrsiti
> CLIPPER program?
>
> Mnogo mi treba.
Koliko sam ja razumeo, termin server se samo odnosi na drugu (neku
centralnu) mrežu gde se na jednoj stanici sa modemom vrti Clipper
program i normalno radi ili sam ili sa nekim file-serverom na toj
mreži. Drugim rečima klijent je mašina sa ove strane telefonske žice
a server mašina sa one strane žice (sporog kanala). Da li je to
stvarno file server nije bitno za efekat ubrzanja posla.
Na serveru se mogu vrteti NLM moduli, i za njihov razvoj sam čuo
za neki Watcom C razvojni alat koji ih može praviti. Muka je što
moraš imati jednu mrežu za igru koja će stalno padati i zaglavljivati
se u procesu proba-greška pri pravljenju NLM.
Milan
clipper.1089neman,
>> stanicama koje koriste tu datoteku ( a koriste je sve :).
>> Interesantno je da se usporava i rad stanica koje ne
>> koriste u datom trenutku tu datoteku.
>
> Ovo poslednje znaci da server ne moze da opsluzi dovoljno
> brzo zahteve. Za navedeno vreme (do 3 sekunde) su se
> upisivali podaci u par velikih tabela i jos 5-10 pratecih,
> naravno sve sa .NTX indeksima u jednoj
Napomena je bila vezana za *BRISANJE* sloga koji ima indeks sa 5 tagova
i svi imaju uslov FOR !DELETED(), inace sve radi prilicno brzo :)
clipper.1090bulaja,
││/es1 switch kod kompajliranja (moj omiljeni:),
│└───
│ ==== jel ovo nešto slato ? :)
└────
Gde slato :) ? ES (Exit Severity level) je prekidač koji je Clipper.exe
dobio u verziji 5.2 i označava koji errorlevel (koji dalje obrađuje make
file) će se vratiti u slučaju da kompajler prijavi neke warninge, greške
i slično. /ES1 (nešto poput DefConOne :) znači da vraća grešku odnosno
prekida make čim nadje na bilo koji warning, što je jako korisno ukoliko
ste prekinuli sa S87 načinom pisanja programa i koristite /w prekidač
(enable warnings) :).
clipper.1091d.petrovic,
> RecCount()
> Koliko videh, za ovo preporučuju da se ne koristi.
Ja ne videh, jel to i za 5.01 ?
clipper.1092d.petrovic,
> Postoji lepa funkcija u CA-Tools biblioteci InkeyTrap(nDelay)
> koja poziva uvek rezidentnu rutinu a isto radi sto i inkey().
Ja koristim (doduše izmenjenu) nenadovu funkciju nInkey() kroz koju ide i
nSetKey() koja je umesto Set Key To.
Tačnije Set Key To kod mene ne postoji.
clipper.1093brus,
> Nije tacno. Eksplicitno se kaze da se sve promene vezane za
U pravu si. žak je i kljuc dalje uključen u indeksnu datoteku.
Medjutim, naredba DBSKIP(1) se ne ponaša kao u slucaju sa SET DELETED ON.
U slučaju brisanja sloga i prelaska na naredni slog, ne prelazi se na naredni
slog vec se odlazi na EOF(). čalim zbog nepreciznosti. :(
Evo testa :
TEST.PRG:
#DEFINE TEST1 // SLUCAJ FILTRIRANOG INDEKSA !DELETED()
DBARR:=šš'POLJE','N',1,0ćć
DBCREATE('TEST.DBF',DBARR)
USE TEST
FOR I:=1 TO 10
DBAPPEND()
_FIELD->POLJE:=IF(I>5,2,1) // Prvih pet, polje:=1,ostalo polje:=2
NEXT
#IFDEF TEST1
INDEX ON POLJE TO TEST_1 FOR .NOT. DELETED()
#ELSE
INDEX ON POLJE TO TEST_2
SET DELETED ON
#ENDIF
// ======================
DBGOTO(1) // : TEST1 : TEST2 :
DBDELETE() // :==========:=========:
? POLJE,RECNO() // : 1,1 : 1,1 :
DBSKIP(1) // : : :
? POLJE,RECNO(),EOF() // : 0,11,.T. : 1,2,.F. :
// ======================
clipper.1094mdrazic,
> Taj ti kalkulator ništa ne valja ;))))
> Isključi njegov set key na početku i uključi ga ponovo na kraju.
Jok more. Ako već hoćeš tako nešto da radiš (a ja neću za kalkulator
namerno, volim dva jedan pored drugog:) radiš ili
1) sprešiš rekurziju modula (informacije iz program steka) ili
2) maskiraš sve hot-key kombinacije osim potrebnih za taj posao na
ulazu u modul i vratiš na izlazu. To radi jedna tvoja funkcija
opšte namene i maskira sve nepotrebne kombinacije (a ne znaš ni
koje su jer ti se modul poziva sa raznih mesta).
Milan
clipper.1095mdrazic,
>│ A da li treba i da je "Mira" .like. "Amir" ili ne ?
>
> Ne, naravno. ;)
Pitanje je bilo ozbiljno, ali je izgleda shvaćeno kao zezanje.
Kako da 'uhvatiš' recimo permutacije slova što je česta greška
pri unosu? Gornji primer je malo karikiran ali sam mislio na te
probleme.
Milan
clipper.1096dcolak,
│ HI. Svi CLIPPER-asi, ajde pogledajte ovaj MOJ meni sistem, mislim da
│ je bolji od BUMENU-a (bez vredjanja). Evo stvarcice kojih ima u njemu
│ pa da Vam olaksam download : Potpuna podska mouse-a, definisanje boja,
│ automatsko postavljanje pulldown-a, ...
Ah, da, daj bRe verziju za 5.0x :) Hitno! ;))
Sledge DAMMIR!
clipper.1097bulaja,
│BTW, ranije je bilo nekih problema sa LastRec() ali sada (5.2d) koliko
│vidim radi kako treba, dakle uvek vraća tačan broj slogova.
└───
Kada je to bilo problema? Podaci o broju slogova se upisuju u samo
zaglavlje .DBF datoteke, tako da nema šanse da se promaši :).
clipper.1098bulaja,
│HI. Svi CLIPPER-asi, ajde pogledajte ovaj MOJ meni sistem, mislim da
│je bolji od BUMENU-a (bez vredjanja).
└───
Zašto bi se vređali? :) Pogledaćemo, pa ako vredi ide u dir :).
clipper.1099bulaja,
│1) sprešiš rekurziju modula (informacije iz program steka)
└───
Ili još lakše preko jednog STATIC-a, npr. ovako:
#define MAX_REKURZIJA 4
**** -------------------------------- ****
FUNC Kalendar (<parametri>)
...
STATIC nDubina := 0
IF nDubina >= MAX_REKURZIJA
// neće moći :)
RETURN (.F.)
ELSE
nDubina++
ENDIF
...
nDubina--
RETURN (.T.)
Naravno ako se želi sprečiti rekurzija, dovoljno je definisati da
MAX_REKURZIJA bude 1.
clipper.1100cnenad,
ŁŁŁ Ja ne videh, jel to i za 5.01 ?
Ne znam za 5.01. U NG-u od 5.2d odlikovan je zvezdicom ;)
clipper.1101cnenad,
ŁŁŁ│ BTW, ranije je bilo nekih problema sa LastRec() ali sada (5.2d) koliko
ŁŁŁ Kada je to bilo problema? Podaci o broju slogova se upisuju u samo
ŁŁŁ zaglavlje .DBF datoteke, tako da nema šanse da se promaši :).
R098 / feb. '94 / Str.66./ BLP za 1993 Godinu
'Da li ste već čuli... da Clipper funkcija LASTREC() vraća 1 ako u bazi nema
slogova ili ima samo jedan slog...'
Sada, korektno vraća 0 ako nema slogova.
clipper.1102.ken.,
> Treba mi resenje kako da ulinkujem DBFNTX+DBFCDX(moze i
> SIXCDX)+DBFNSX drajvere u isti exe. Koristeci uputstvo iz ng-a,
> sa bilo koja dva nema problema.
Probaj sa novim SIX-om (2.0x.xx ili ko zna dokle dodje :-) )
U Ng-u za Six (1.5) citao sam da ne treba mesati SIXCDX i SIXNSX
za verziju 1.5
Posto su u Six 2.0x.xx objedinili tri RDD u jedan lib njihovo
zajednicko koriscenje ne bi trebalo da predstavlja problem.
U novom Six-u imas tri RDD i to SIXCDX,SIXNSX i SIXNTX - gotovo
sve sto je potrebno.
P.S. - Pokusaj da izbegavas DBFCDX jer se niko koliko znam nije usrecio
sa ovim RDD-om
clipper.1103dvesic,
>> U slucaju brisanja sloga i prelaska na naredni slog, ne
>> prelazi se na naredni slog vec se odlazi na EOF(). Zalim zbog
>> nepreciznosti. :( Evo testa :
Nisam stigao da pogledam, kasnije cu, ali evo, ovako on-line :
Izuzetno je dobra (cak preporucljiva praksa) da se pre izmene polja
koje ulazi u tekuci indeks/for uslov indeksa/brisanje sloga stavi
jedno SET ORDER TO 0 tj. bez tekuceg indeksa.
clipper.1107rccomp,
Poklon za nastupajuce novembarske praznike
look_ex.zipclipper.1108vision,
Jakako, ajde bre baci to u dir, i ako bacis u dir, dobices na poklon
source :).
clipper.1109vision,
>> Ah, da, daj bRe verziju za 5.0x :) Hitno! ;))
Uz moje zaprepascenje, izkompajliralo se samo :) bez i jedne greske. Evo ti
obj kompajliran sa verzijom 5.2, sorry nemam druge, verujem da ce raditi sa
drugim verzijama, a ako ipak ne radi, moram se negde namuciti pa da nadjem
neki malo stariji kompajler. Drugi fajlovi ostaju isti.
vmenu52.zipclipper.1110mdrazic,
> Napomena je bila vezana za *BRISANJE* sloga koji ima indeks sa 5 tagova
> i svi imaju uslov FOR !DELETED(), inace sve radi prilicno brzo :)
Kod brisanja sa ovakvim tagovima se menjaju svi indeksni fajlovi (tagovi)
i tabela takođe (flag na zapis). U odnosu na novi zapis nema samo
produžetka dužine tabele (jedan od ukupno 2 fajla od kojih se drugi
ažurira na 5 tagova - slično kao 5 indeksa). Po obimu posla je skoro
isto. Nisam imao ovakve tagove pa za brisanje ne znam tačnu brzinu.
Milan
clipper.1111mdrazic,
>│ 1) sprešiš rekurziju modula (informacije iz program steka)
> └───
> Ili još lakše preko jednog STATIC-a, npr. ovako:
>
>
> # define MAX_REKURZIJA 4
Ali tada treba mnogo pažnje da se smanji brojač pre svakog return-a
iz modula. Zar nije lakče (a i bez promenljivih) jedno
NO RECURSION ŠOVER nMaxLevelĆ ŠRETURN xExprĆ
na početku modula koji pretprocesor prevede u poziv odgovarajuće
funkcije, a kasnije nemaš nikakvih promena u modulu.
Milan
clipper.1112mdrazic,
> Izuzetno je dobra (cak preporucljiva praksa) da se pre izmene polja
> koje ulazi u tekuci indeks/for uslov indeksa/brisanje sloga stavi
> jedno SET ORDER TO 0 tj. bez tekuceg indeksa.
A posle da se uključi, ili šta? Šta se time dobija ako ga isključiš,
pa ti odmah zatim zatreba, pa ga uključiš?
Milan
clipper.1113dvesic,
>> A posle da se ukljuci, ili sta? Sta se time dobija ako ga
>> iskljucis, pa ti odmah zatim zatreba, pa ga ukljucis?
Dobijam sigurnost da će biti izmenjeni upravo oni slogovi koje želim.
Da li si ikada probao da menjaš polje koje ulazi u tekući indeks ?
Tačnije, da li si menjao VIŠE slogova po polju nad kojim je aktivni
indeks ? Kakvi su rezultati ? :))
clipper.1114szeman,
>> Verujem da Vam nisam otracio koji minut download-a.
Vrlo interesantno, samo što se u nepredvidivim vremenskim intervalima
"zaglavi" na kratko (sa/bez miša, svejedno). Ajde probaj ovo da rešiš. Inače
veoma interesantno rešenje, pre svega zbog podrške rada sa pacovom.
Srećno...
clipper.1115bulaja,
│Ali tada treba mnogo pažnje da se smanji brojač pre svakog return-a
│iz modula.
└───
I ovako moraš pre return-a da vratiš stanje sistemskih parametara
(funkcije gde ti uopšte trebaju rekurzivni pozivi su obično opše
zezalice tipa kalkulatora, kalendara i slično, a pošto nikad neznaš
odakle ćeš ih pozvati moraš jako da paziš da sve svratiš na staro
stanje), tako da je jedno umanjivanje brojača najmanji problem.
Obično se i vraćanje starog stanja strpa i neki translate, tako da se
problem svodi samo na dodavanje dekrementacije brojača u taj translate.
clipper.1116mdrazic,
> Obično se i vraćanje starog stanja strpa i neki translate, tako da se
> problem svodi samo na dodavanje dekrementacije brojača u taj translate.
Ali ti onda taj translate nije univerzalan i za module bez kontrole
rekurzije.
Milan
clipper.1117mdrazic,
> Dobijam sigurnost da će biti izmenjeni upravo oni slogovi koje želim.
> Da li si ikada probao da menjaš polje koje ulazi u tekući indeks ?
> Tačnije, da li si menjao VIŠE slogova po polju nad kojim je aktivni
> indeks ? Kakvi su rezultati ? :))
Ako misliš na nešto tipa:
dbseek('kljuc123')
replace TABELA->Sifra with 'kljuc567' ;
while TABELA->Sifra=='kljuc123'
znam za jadac, ali ne vidim šta tu pomaže set order to 0.
Kako pristupaš grupi zapisa: jedan po jedan skipujući ili
si prešao na SQL? Šta zajedničko imaju slogovi koje menjaš?
Kod više slogova za promenu možeš:
1) da prvo u listu (niz) zapamtiš recno() istih pa posle da menjaš
2) primeniš zamenu tipa
do while dbseek('kljuc123')
replace TABELA->Sifra with 'kljuc567'
enddo
Kako bi ova zamena šifre išla sa set order to 0 ?
Milan
clipper.1118vision,
>> Vrlo interesantno, samo sto se u nepredvidivim vremenskim intervalima
>> "zaglavi" na kratko (sa/bez misa, svejedno).
Kako mislis 'zaglavi', ajde poobjasni to, ovamo kod mene se to ne desave??
clipper.1119dvesic,
Naravno, preko indeksa nad nekim od polja.
>> si prešao na SQL? Šta zajedničko imaju slogovi koje menjaš?
Indeksni ključ.
>> Kod više slogova za promenu možeš:
>> 1) da prvo u listu (niz) zapamtiš recno() istih pa posle da
>> menjaš
Ovo je generalno pravilo kod slučajeva kada menjam polje koje ulazi
u aktivni indeks i kada brišem slog a postoji indeks nad Deleted()
funkcijom.
2) primeniš zamenu tipa
>> do while dbseek('kljuc123')
>> replace TABELA->Sifra with 'kljuc567'
>> enddo
>>
>> Kako bi ova zamena šifre išla sa set order to 0 ?
Kao što rekoh, u prvom prolazu pokupim Recno() u niz, u drugom
skačem direktno na slog; pre toga dođe jedno Set Order To 0.
clipper.1120szeman,
>> Kako mislis 'zaglavi', ajde poobjasni to, ovamo kod mene se to ne
>> desave??
Ma nema tu šta da se objašnjava, instaliraj miša, aktiviraj menu Files i
pritiskaj strelicu desno nekoliko puta i VOILA :) program se malo "zamisli" ;)
šta da uradi sledeće (cca 2-3 sec, ako je bitno 286/16MHz) i onda nastavi sa
radom, 3-4 puta pritisni strelicu desno, opet se "zamisli".... ;) Bez aktivnog
mouse drajvera, ovo je malo teže pronaći ali se ipak dešava.
P.S. Kompajlirano je na s'87.
clipper.1121dpredovic,
Bug u SIX 2.01.02.
Možda nekome pomogne, a mene je bogami izludelo...
Imamo u bazi polje X tipa N3.0, i index po tom polju (ne str(X),
čisto X, zbog Mach6-a).
Postavimo filter na npr. X>=100.AND.X<=120, i cvrc! rezultat je
0 slogova, bez obzira što bi trebalo da ih bude oko 400.
Filter postavimo na X>99.AND.X<121, i sve je kako treba???
Pouka? Ne veruj Sixu ni kada patcheve donosi...
BTW. Jel nema neki 2.01.03. ;)
clipper.1122dpredovic,
> Probaj sa novim SIX-om (2.0x.xx ili ko zna dokle dodje :-) )
> U Ng-u za Six (1.5) citao sam da ne treba mesati SIXCDX i
> SIXNSX za verziju 1.5
U verziji 1.5, uz NSX drajver dobijala se i blblioteka sixlink.lib, ili
tako nekako, koja sadrži zajedničke delove cdx i nsx biblioteke.
Funkcioniše, ali je ipak bolje da pređeš na 2.0, pošto pravi mnogo
manji exe.
clipper.1123dr.grba,
>> Verovatno je mislio na softver koji kupiš, popuniš registracionu karticu i
>> pošalješ proizvođaču. Posle ti (osim ako si u Jugoslaviji) pružaju razne
>> vrste podrške, manje ili više vredne.
Sad si me podsetio na tri registracione kartice koje se ne usuđujem da
pošaljem na adresu koju mi proizvođač sugeriše, a predmetna je u Nemačkoj. ):
clipper.1124mdrazic,
>>> Kako bi ova zamena šifre išla sa set order to 0 ?
>
> Kao što rekoh, u prvom prolazu pokupim Recno() u niz, u drugom
> skačem direktno na slog; pre toga dođe jedno Set Order To 0.
Znači, samo je brzina u pitanju, a ne i sigurnost što ti je bio
glavni motiv za set order to 0 u prvoj poruci.
Milan
clipper.1125dvesic,
>> Postavimo filter na npr. X>=100.AND.X<=120, i cvrc! rezultat
>> je 0 slogova, bez obzira što bi trebalo da ih bude oko 400.
Set ScopeTop 100 :)))
Set ScopeBottom 120 :)))
Go Top :)))
clipper.1126nbatocanin,
> Bug u SIX 2.01.02.
Uh :(( Idemo iz početka...
clipper.1127bulaja,
│Ali ti onda taj translate nije univerzalan i za module bez kontrole
│rekurzije.
└───
E DJ :)... Ma baš me briga za translate, ako mi treba kontrola dubine
rekurzije neće mi predstavljati problem da dodam tu dekrementaciju
brojača pre svakog RETURN i gotovo :). Jednostavno mislim da je STATIC
bolje (čistije) rešenje od blejanja po call stack-u (o tome smo pričali,
remember?:) - end of story :).
clipper.1128stosic,
Jos jedna interesantna stvar vezana za Clipper 5.3 je podrska za matematicki
koprocesor. Kliper je u ovoj verziji kompajliran sa Microsoft C 8.0
kompajlerom i emulatorskom (umesto alternativnom) bibliotekom za rad sa
realnim brojevima. Ova biblioteka radi nesto sporije (i ima duzi kod) od
alternativne, u slucaju da nemate koprocesor.
Evo rezultata jednog obicnog testa (486/33):
----------------------------
proc test()
local start := seconds()
koren()
? seconds() - start
proc koren()
local i
local d := 1
for i := 1 to 100000
sqrt(d)
d += 1
next
----------------------------
1. Clipper 5.3 beta : 9.55
2. Clipper 5.2d + Exospace: 13.73
3. Clipper 5.2d + Blinker : 17.08
I nesto za diskusiju: Clipper 5.2d : 12.96 (brzi u real modu).
PS.
Povezivanje sa MSC 8.0 mi nije uspelo:(
clipper.1130vision,
Sorry, stvarni nije mi jasno, program je radjen na dx2 66, a i u 286/16 radi
super, probaj mozda driver za misa, ja koristim >>gmouse.com<<.
clipper.1131bceklic,
Da li neko ima predstavu o tome kako bi trebao da izgleda optimalni
izgled jednog sistema menija u clipper programu?
Interesuje me koji se tip menija najbolje pokazao u praksi, da li
je neophodno obezbediti upotrebu misa, hot-key-eva i ostale sitnice...
Pozdrav!
clipper.1132dcolak,
Imam programče u C-u (ono sa cMKDIR, cRMDIR, cCHDIR iz Jedrenjaka).
Imam svoje programče u Kliperu.
So, kako da ih spojim? Please korak po korak.
Inače imam MSC 6.0.
P.S.
Zar je moguće da kliper nema komandu kao što je MKDIR?!
Sledge DAMMIR!
clipper.1133mdrazic,
> brojača pre svakog RETURN i gotovo :). Jednostavno mislim da je STATIC
> bolje (čistije) rešenje od blejanja po call stack-u (o tome smo pričali,
> remember?:) - end of story :).
Pošto moja ofanziva iz zaštićene zone nije uspela i pored konsultovanja
imperijalističkih izvora (knjiga gde sam pokupio ovaj štos)
prelazim u povlačenje i defanzivu. Tražim primirje 3 meseca (da smislim
novi napad) a dotle: kuku lele, jadan ja, ne pucajte, please, inače
rizikujete vazdušne udare :)))
Milan
clipper.1134mdrazic,
> kompajlerom i emulatorskom (umesto alternativnom) bibliotekom za rad sa
> realnim brojevima. Ova biblioteka radi nesto sporije (i ima duzi kod) od
> alternativne, u slucaju da nemate koprocesor.
Ako je kao kod Microsoft FORTRAN-a, onda je izbor ove emulatorske
biblioteke bolji od alternativne. Emulatorska radi tačnije od ove druge,
a kada je prisutan koprocesor, koristi njega, za razliku od alternativne.
Milan
clipper.1135dvesic,
>> So, kako da ih spojim? Please korak po korak.
>> Inače imam MSC 6.0.
Pročitaj tekst Dejana Vesića :))))))))))))))) iz R102.
Šalu na stranu, postupak nije linearan, ali ga nije ni teško sprovesti.
Pretpostavimo da imaš funkciju u C-u lMakeDir() koja prima kao
parametar pointer na string sa imenom budućeg direktorijuma, a vraća
kao rezultat 1 (Ok) ili 0 (Nije uspelo). Znači, nešto kao :
int lMakeDir(char * cNewDirName)
{ int RezultatOperacije;
// Tačka 1
/*
Ovde dolazi pravi posao ...
*/
// Tačka 2
return RezultatOperacije;
}
Uključi zaglavlje "Extend.Api" iz INCLUDE podidrektorijuma Clipper-a.
Sada izmeni zaglavlje funkcije u : void pascal lMakeDir(void).
Ukloni red "return RezultatOperacije".
Na Tačku 1 dodaj ovo :
char * cNewDirName;
cNewDirName = (char *) malloc( _parclen(1)+1 );
// _parclen(1) daje dužinu prvog argumenta BEZ vodeće nule, pod
// pretpostavkom da je prvi argument string
strcpy( cNewDirName, _parc(1) );
// kopiramo parametar iz Clipper dela u našu promenljivu
Tačka 2. postaje :
_retl( RezultatOperacije );
iskopajliraj fajl MKDIR.C sa :
cl /c /AL /FPa /Gs MkDir.C
Ulinkuj ga u tvoju Clipper aplikaciju.
Ovim si dobio Clipper funkciju lMakeDir koja kao parametar prihvata string,
ime budućeg direktorijuma, a kao rezultat vraća .T. ili .F. u zavisnosti
da li je operacija uspela ili ne.
Da li ti je bar nešto jasno ? :)))))
>> Zar je moguće da kliper nema komandu kao što je MKDIR?!
Moguće je, što da ne ? :))))) Zar je moguće da C nema
INDEX ON komandu ? :)))))
clipper.1136dcolak,
│ iskopajliraj fajl MKDIR.C sa :
│
│ cl /c /AL /FPa /Gs MkDir.C
│
│ Ulinkuj ga u tvoju Clipper aplikaciju.
│
│ Ovim si dobio Clipper funkciju lMakeDir koja kao parametar prihvata string,
│ ime budućeg direktorijuma, a kao rezultat vraća .T. ili .F. u zavisnosti
│ da li je operacija uspela ili ne.
Hvala na helpu ali upravo ovo poslednje ne znam :) Tj. moj MkDir.c
traži MSC-ovu biblioteku. So, kako da kažem RTLINKU da uzima MSC-ovu
biblioteku? Preko LIB switcha?
Ili da linkujem sa MSC-ovim linkom pa da navodim .OBJ-ove i na kraju
potrebne .LIB-ove? Ali, onda mi je naporno jer ne znam koji Clipper
.lib su potrebni?
Hm, pade mi na pamet par ideja, no posavetujte me u svakom slučaju ;)
Sledge DAMMIR!
clipper.1137brus,
Ne znam da li je bilo :
comp. CA-5.2c
--- ZANIMLJIVOST ----
Konstrukcija tipa A:=ŠOVO JE RECENICAĆ prevodi se bez greske u
A:="OVO JE RECENICA"
jos u samom predprocesoru.
----- BUG ------
Konstrukcija tipa
NIZŠPROMENLJIVA++Ć++ pogresno radi :
B:=š1,1,1,1ć
I:=1
// Ocekivani rezultat BŠ1Ć=2, I=2
BŠI++Ć++ // BŠ2Ć==2, I=3
clipper.1138zeljkoj,
> biblioteke bolji od alternativne. Emulatorska radi tačnije od
> ove druge, a kada je prisutan koprocesor, koristi njega, za
> razliku od alternativne.
Ali je alternativna znatno brža ako nema koprocesora.
clipper.1139dpredovic,
>>> Postavimo filter na npr. X>=100.AND.X<=120, i cvrc! rezultat
>>> je 0 slogova, bez obzira što bi trebalo da ih bude oko 400.
>
> Set ScopeTop 100 :)))
> Set ScopeBottom 120 :)))
> Go Top :)))
Jeste, samo što ima desetak takvih od-do uslova koji su krajnje
nepredvidljivi po sadržaju. Pre sam radio subntx po nekoliko uslova,
određivao najbolji a ostale uslove trpao u nesto kao:
REPLACE infilter WITH .T. FOR ...
gde je infilter bilo neko indexirano polje u bazi... Strava...
Six mi je tu naišao kao neverovatno olakšanje, pošto je onaj kod bilo
praktično nemoguće održavati. Nemam pojma kako sam to ikada uspeo da
napišem, a da stvarno radi, i to jaaaako brzo.
Posle sam sve to lepo prebacio u INDEX ... FOR, i ne boli me glava (tj.
nije, do pre neki dan), a i još je brže.
clipper.1140dvesic,
>> Hvala na helpu ali upravo ovo poslednje ne znam :) Tj. moj
>> MkDir.c traži MSC-ovu biblioteku. So, kako da kažem RTLINKU da
>> uzima MSC-ovu
Ako imaš Clipper fajl Cl_File1 i C-ovski fajl cFile1 linkovanje je :
RTLink File Cl_File1 File cFile1 Lib LLibCa
bitna stvar je da u nizu fajlova koje linkuješ, prvi u spisku
OBAVEZNO bude Clipper OBJ, a ne c-ovski. Redosled ostalih nije preterano
bitan.
clipper.1141bulaja,
│Interesuje me koji se tip menija najbolje pokazao u praksi, da li
│je neophodno obezbediti upotrebu misa, hot-key-eva i ostale sitnice...
└───
Teško pitanje :). Za same menije je verovatno ipak najbolji neki
pull-down sistem (dakle zaobići raznorazne menije na sredini ekrana
ili gluposti tipa meni svuda okolo:), s tim što je tu veće pitanje šta
treba staviti kao opcije u meni i kako ih rasporediti (što se opet
nastavlja na problem globalne koncepcije korisničkog interfejsa, ali
to je dugačka priča - možda započnemo diskusiju i o tome?:). Ja lično
najviše mrzim menije gde stoje opcije tipa "Pregled", "Unos", "Izmene"
i "Brisanje" i slične nebuloze - uglavnom praktikujem centralni
pregled preko TBrowse-a uz gomilu hotkey-ova odnosno pull-down meni
sistem integrisan u TBrowse.
clipper.1142bulaja,
│ Zar je moguće da kliper nema komandu kao što je MKDIR?!
└───
Možeš iz programa pozvati DOS komandi MD, ili koristiti ekvivalentnu
funkciju u nekoj od dodatnih biblioteka - FT_MkDir() i Nanforum
Toolkit-u, MdDir() u FUNCky-ju itd.
clipper.1143spantic,
> Hvala na helpu ali upravo ovo poslednje ne znam :) Tj. moj MkDir.c
> traži MSC-ovu biblioteku. So, kako da kažem RTLINKU da uzima MSC-ovu
> biblioteku? Preko LIB switcha?
Prevedeš C program sa navedenim prekidačima. Dobiješ recimo C.OBJ.
Pozoveš ga sa CL /c /AL /Gs /Zl /FPa C.C
U putanju za biblioteke ubaciš i putanju do biblioteke sa dodatnom
matematičkom bibliotekom iz MSC 5.1. Naziv je LLIBCA.LIB. Možeš bez
problema prevesti program i sa nekom novijom verzijom MSC-a. Recimo
MSC 6.0 ili MS C/C++ 7.0. Ono što je bitno jeste da za linkovanje
koristiš tu biblioteku.
Formiraj:
C.LNK
------------
FILE KLIPER, C
LIB NESTO, LLIBCA
<EOF>
Povežeš sa RTLinkom ili Blinkerom (ja i za finalne verzije
preferiram Blinker, samo isključim inkrementni link).
Važno je da pod FILE prvo ide naziv tvog clipper programa, pa
tek onda C modula.
clipper.1144nbatocanin,
> Da li neko ima predstavu o tome kako bi trebao da izgleda
> optimalni izgled jednog sistema menija u clipper programu?
Zavisi šta podrazumevaš pod "optimalni". Svi pristupi imaju svoje
prednosti i mane. Preporučujem ti da pogledaš nekoliko rešenja i
napraviš svoj sopstveni. Što se tiče tipa, standard za DOS su
pul-down meniji i vrlo se jednostavno realizuju. Dobro razmisli, jer
ćeš ih kasnije jako puno koristiti. Za početak napravi čistu
koncepciju i onda postepeno nadgrađuj šta ti zatreba: hot-keys,
kontrola pristupa, help, ...
E da: Clipper 5.3 ima ugrađen sistem menija. Ne bi bilo loše da svoje
menije napraviš po uzoru na ove, jer ćeš kasnije moći bezbolno da
pređeš na novu verziju.
clipper.1145mdrazic,
> Da li neko ima predstavu o tome kako bi trebao da izgleda optimalni
> izgled jednog sistema menija u clipper programu?
A koja su najlepša kola. Ili boja odela?
Moja iskustva. U našim aplikacijama svakom korisniku dajemo da sam
bira jedan od tri ponuđena meni sistema: 1) pull-down 2) full-screen
(slično prvom, kao kod prvih verzija Harvard Graphics) i 3) nazovimo
ga IBM, prost meni preko celog ekrana sa opcijama jednom ispod druge,
proredom i ciframa ispred kao hotkey.
Na osnovu tako uvedene demokratije (svako sebi bira/menja meni sistem)
utisci su sledeći:
- oni koji sporadično koriste paket (šefovi, dekani,...) više vole
1) i 2)
- oni koji više vremena rade u paketu (pčele radilice:) vole 3) i 1).
- starije osobe po pravilu biraju 3). Ovo nema veze sa eventualnim
iskustvom na velikim sistemima pošto do PC nisu ni videli računar.
Možda ima veze sa njihovim vidom, ne znam, ali IBM menije najviše
vole, i kada idu u neku opciju menija znaju napamet preko cifara
kako da ga aktiviraju često naslepo sa prvog nivoa (ah, da, to je
ono 4 2 3 ). A i lakše kucaju cifre nego slovne hotkey-ove.
- iskusniji korisnici DOS i Windows po pravilu biraju 1).
Milan
clipper.1146szeman,
>> super, probaj mozda driver za misa, ja koristim >>gmouse.com<<.
!!!!!!!!!!
Takodje, ver. 9.06. Medjutim, glavni problem nije u driver-u, problemi se
javljaju i bez njega (samo je malo teže do toga doći ;). Nego, pogledaj da li
je mesto gde se proverava da li je neki taster pritisnut (ili taster miša),
pogodno izabrano, rešenje problema se uglavnom svodi na to (inkey(), lastkey()
clear typeahead, u malo nesrećnoj kombinaciji).
clipper.1147cnenad,
ŁŁŁ to je dugačka priča - možda započnemo diskusiju i o tome?:). Ja lično
ŁŁŁ najviše mrzim menije gde stoje opcije tipa "Pregled", "Unos", "Izmene"
Pa si zato ostalima 'onako podmetnuo' BuMenu da što više rade po tom
principu ? ;)
clipper.1148bceklic,
> Tesko pitanje :). Za same menije je verovatno ipak najbolji
> neki pull-down sistem (dakle zaobici raznorazne menije na
> sredini ekrana ili gluposti tipa meni svuda okolo:), s tim sto
Slazem se da je pull-down sistem najbolji. Ono sto je mene interesovalo
da li ima smisla razvijati sopstvene funkcije za rad sa hot-key-evima i
misom (pri cemu se iskljucuje upotreba menu to i achoice) ili je mozda
najbolje resenje iskoristiti neke (da li postoje?) biblioteke za
razvoj korisnickog interfejsa. Ovo drugo bi mi u svakom slucaju ustedelo
dosta vremena. ;)
> je tu vece pitanje sta treba staviti kao opcije u meni i kako
> ih rasporediti (sto se opet nastavlja na problem globalne
> koncepcije korisnickog interfejsa, ali to je dugacka prica -
> mozda zapocnemo diskusiju i o tome?:). Ja licno najvise mrzim
Prica bi mogla biti veoma zanimljiva jer mi se cini da dosta vremena
ponekad izgubim smisljajuci prikladno ime za neku opciju kao i za samu
organizaciju opcija.
> menije gde stoje opcije tipa "Pregled", "Unos", "Izmene" i
> "Brisanje" i slicne nebuloze - uglavnom praktikujem centralni
> pregled preko TBrowse-a uz gomilu hotkey-ova odnosno pull-down
> meni sistem integrisan u TBrowse.
Kako to u praksi izgleda? Imas jedan centralni meni iz koga se dalje
izvlace pull-down meniji?
POzdrav!
clipper.1149ikordic,
RE: oMenu
=> E da: Clipper 5.3 ima ugrađen sistem menija. Ne bi bilo loše da svoje
Bilo bi lepo da neko da neki komentar/prikaz na ovu temu. Možda u sledećim
"Računarima"?
Inače, tekst o VO mi se dopao, dosta je opširan i pokriva interesantne
novitete, tako da smo konačno smo videli o čemu se toliko pričalo.
Smatram, međutim, da se sa pojavom VO za prosečnog domaćeg klipetu slabo šta
menja. Slabo koji poslodavac je spreman da se zbog tamo neke novotarije
prešaltuje na nov i skup hardver koji je neophodan za ćeranje novog čudesa.
Stoga bih, ako mi dopustite, zamolio da barem u prvo vreme pažnju usmerimo
na ono što donosi hleb na sto, a to je ipak DOS Clipper. Šta nam novo
donosi, kakva su iskustva, problemi, šta se priča napolju itd.
Da još jednom ponovim apel za slanje "špijuna" na neki strani sistem koji bi
obaveštavao šta se dešava na daleko informisanijem zapadu. Mislim da
skupljanje novca za pretplatu stvarno ne bi trebalo da bude problem?
clipper.1150nbatocanin,
> Hm, pade mi na pamet par ideja, no posavetujte me u svakom
> slučaju ;)
Uh, ako ti treba samo za MkDir i sl., evo ti asemblerskog modula koji
ima DISKNAME, DISKCHANGE, DIRCHANGE, DIRMAKE, DIRREMOVE, DISKSTAT,
DISKTOTAL. Ulinkuj i uživaj. Dole komplikovane link sekvence ;>
dir.zipclipper.1151dcolak,
│ Ako imaš Clipper fajl Cl_File1 i C-ovski fajl cFile1 linkovanje je :
│ RTLink File Cl_File1 File cFile1 Lib LLibCa
│ bitna stvar je da u nizu fajlova koje linkuješ, prvi u spisku
│ OBAVEZNO bude Clipper OBJ, a ne c-ovski. Redosled ostalih nije preterano
│ bitan.
Hvala, upravo ovo mi je trebalo. Eh, skinuh ja i LLibca :)
Sledge DAMMIR!
clipper.1152bulaja,
│Jeste, samo što ima desetak takvih od-do uslova koji su krajnje
│nepredvidljivi po sadržaju.
└───
Savršena stvar za ovo je Mach SIx i njegovi filteri :). Imaš funkciju
m6_AddScoped() gde u jedan filter potrpaš scope koji te interesije po
nekom ključu, zatim u neki drugi filter staviš neki drugi scope i onda
lepo spojiš filtere (m6_FiltJoin()) onako kako ti treba - kao uniju,
presek ili razliku ta dva filtera. Stvar radi munjevito (sem ako neki
scope obuhvata suviše slogove, ali i tada je brzo).
clipper.1153bulaja,
││Ja lično najviše mrzim menije gde stoje opcije tipa "Pregled",
││"Unos", "Izmene"
│└───
│Pa si zato ostalima 'onako podmetnuo' BuMenu da što više rade
│po tom principu ? ;)
└───
Kakve veze ima BuMenu sa time? O:)
clipper.1154dcolak,
│ Povežeš sa RTLinkom ili Blinkerom (ja i za finalne verzije
│ preferiram Blinker, samo isključim inkrementni link).
Tnx, fercera :)
Sledge DAMMIR!
clipper.1155dcolak,
│ Možeš iz programa pozvati DOS komandi MD, ili koristiti ekvivalentnu
│ funkciju u nekoj od dodatnih biblioteka - FT_MkDir() i Nanforum
│ Toolkit-u, MdDir() u FUNCky-ju itd.
Ne koristim nikakve "dodatne" biblioteke. Nepoverljivost, šta li,
al' eto...
Sledge DAMMIR!
clipper.1156dcolak,
│ Uh, ako ti treba samo za MkDir i sl., evo ti asemblerskog modula koji
│ ima DISKNAME, DISKCHANGE, DIRCHANGE, DIRMAKE, DIRREMOVE, DISKSTAT,
│ DISKTOTAL. Ulinkuj i uživaj. Dole komplikovane link sekvence ;>
Eh :) Bio sam našao CLIPTOOl.LIB, delo domaćeg autora, al' eto
prilike da ga ne koristim :)
Pitam se samo zašto ERASE() ne prima *.* :)) No, rešeno je, baš
kako u .NG piše ;)
Sledge DAMMIR!
clipper.1157mdrazic,
> Ali je alternativna znatno brža ako nema koprocesora.
Da, naročito za trigonometriske i ostale transcedentne funkcije ;)
Daj merenja tih brzina da vidimo to 'znatno', ako si merio (ja nisam).
Brzina se plaća manjom tačnošću. I, ako poteraš na mašini koja ipak
ima koprocesor, tada emulatorska valjda brže radi :)) A EXE isti.
ALI: Za baze podataka ovo je totalno nebitno. Kada radiš sa bazama
najviše na brzinu programa utiče brzina kanala do diska i
kvalitet algoritma za indeksiranje i pakovanje podataka. Sve
ostalo je marginalno, pa i to da li će prazna petlja do 100000
raditi 15s ili 0.15s, jer še čitanje tih 100000 zapisa u petlji
trajati... izračunajte :)
Milan
clipper.1158mdrazic,
>>> Zar je moguće da kliper nema komandu kao što je MKDIR?!
>
> Moguće je, što da ne ? :))))) Zar je moguće da C nema
> INDEX ON komandu ? :)))))
žekaj, čekaj. Nove verzije C valjda imaju extend sistem za povezivanje
sa Clipper-om ;) Ali i jednom i drugom nedostaju Holeritove konstante
iz FORTRANA :))
Milan
clipper.1159bceklic,
> resenja i napravis svoj sopstveni. Sto se tice tipa, standard
> za DOS su pul-down meniji i vrlo se jednostavno realizuju.
> Dobro razmisli, jer ces ih kasnije jako puno koristiti. Za
> pocetak napravi cistu koncepciju i onda postepeno nadgraduj sta
> ti zatreba: hot-keys, kontrola pristupa, help, ...
Vec sam napisao funkcije za rad sa menijima sa helpom i sve to funkcionise
kako treba ali kod pull-down menija sam koristio achoice uz moju korisnicku
funkciju. Da bih uveo upotrebu hot-key-eva moram da u potpunosti zaboravim
na achoice i da sam napisem kompletnu funkciju. Rado bih citav posao izbegao
i iskoristio vec postojece resurse (biblioteke za rad sa menijima?).
> E da: Clipper 5.3 ima ugraden sistem menija. Ne bi bilo lose da
> svoje menije napravis po uzoru na ove, jer ces kasnije moci
> bezbolno da predes na novu verziju.
Bilo bi lepo kad bi znao kako citava ta koncepcija funkcionise ali
5.3 veziju nisam video (radim na 5.2d).
POzdrav!
clipper.1160bceklic,
> Moja iskustva. U nasim aplikacijama svakom korisniku dajemo da
> sam bira jedan od tri ponudena meni sistema: 1) pull-down 2)
> full-screen (slicno prvom, kao kod prvih verzija Harvard
> Graphics) i 3) nazovimo ga IBM, prost meni preko celog ekrana
Vrlo korisna zapazanja (ja bih se inace naraVno opredelio za 1) :)
Da li si pri (1) obezbedio upotrebu misa i hot-key-eva? Da li si
sam pisao potrebne funkcije za (1)?
POzdrav!
clipper.1161nbatocanin,
> Bilo bi lepo da neko da neki komentar/prikaz na ovu temu.
> Možda u sledećim "Računarima"?
Biće :) Na žalost, trenutno mi je dostupna samo beta verzija bez
kompletne dokumentacije, pa će detaljan prikaz morati da sačeka.
U suštini, DOS deo nije značajnije izmenjen: dodata je podrška za
miša, postojeće klase su proširene, dodato je par novih za menije.
GET sistem je značajno proširen i sad ima (skoro) sve što će vam
zatrebati: radiogroup, listbox, checkbox, ... Osnovna novina je
integrisano okruženje koje radi pod Win. Ovo okruženje je preuzeto iz
VO i ima za cilj da olakša razvoj programa. Sad, razvoj DOS programa
iz Win je nova stvar, pitanje je kako će to ljudi prihvatiti. U
suštini, uopšte se ne postavlja pitanje prelaska na 5.3, pod uslovom
da ne bude bagova - radi se o prilično sitnim i korisnim izmenama.
> Smatram, međutim, da se sa pojavom VO za prosečnog domaćeg
> klipetu slabo šta menja. Slabo koji poslodavac je spreman
> da se zbog tamo neke novotarije prešaltuje na nov i skup
> hardver koji je neophodan za ćeranje novog čudesa.
Pazi, VO zahteva najmanje 386/8MB (moj slučaj), ali program koji
generiše može da radi na skromnijoj konfiguraciji. E, sad: prelazak
na Win ili tako nešto je zaista pitanje vremena, ali se potpuno
slažem da kod nas neće doći tako brzo do toga. U tom smislu mislim da
CA pravi most sa dve strane: na jednoj je Clipper 5.x, a na drugoj VO
1.0. Cilj im je sasvim sigurno da se ovi putevi spoje i da se
postepeno pređe na pravu stranu (ma šta ona bila ;) ).
clipper.1162dpredovic,
> najviše mrzim menije gde stoje opcije tipa "Pregled", "Unos",
> "Izmene" i "Brisanje" i slične nebuloze - uglavnom praktikujem
> centralni pregled preko TBrowse-a uz gomilu hotkey-ova odnosno
> pull-down meni sistem integrisan u TBrowse.
To je i po meni neka optimalna varijanta. Svaki browse na ekranu ima
isti interfejs za ažuriranje: K_INS, K_ENTER, K_DEL. Nemam meni u
browsu, ali imam kontekst-senzitivni help, koji može da startuje opciju,
pa mu izađe otprilike na isto...
clipper.1163cnenad,
ŁŁŁ││ Ja lično najviše mrzim menije gde stoje opcije tipa "Pregled",
ŁŁŁ│ Pa si zato ostalima 'onako podmetnuo' BuMenu da što više rade
ŁŁŁ Kakve veze ima BuMenu sa time? O:)
Pa, malo prolepšava takve menije koji idu preko MENU TO pogotovo sa HotKey-em,
npr.
(U)nos (B)risanje (Š)ifra (I)nfo....
BTW, a šta staviti umesto UNOS, PREGLED ?
(S)neki (C)eca (Š)ifer... ? O:)
clipper.1164stanic,
Firma u kojoj radim treba da uzme tri racunara i da ih umrezi.
Treba pisati programe za knjigovodstvo koji bi radili pod tom
mrezom,a to do sada nisam radio,pa imam par pitanja.
Kako se ponasaju Clipper aplikacije sa NetWare Lite-om ?
Sta je bolji izbor za ovako malu mrezu:NetWare 3.11 ili Lite ?
Posto bih koristio SixCDX ili NSX kakva su iskustva sa doticnim
RDD-ovima pod Net-om.I poslednje pitanje(odgovori u mail) koje
su cene sledecih paketa(kod vas naravno):finansijsko,materijalno
proizvodnja,licni dohodci.Unapred zahvalan.
Milan
clipper.1165bulaja,
│Pa, malo prolepšava takve menije koji idu preko MENU TO pogotovo sa
│HotKey-em, npr.
│ (U)nos (B)risanje (Š)ifra (I)nfo....
└───
Ah, očigledno nisi shvatio moju poruku, pročitaj ponovo :).
clipper.1166sandra.,
Cao svima !!!
Da nema neko mozda Inkey.ch ?
Zahvaljujem se unapred !
Pozdrav od
Mladena.
clipper.1167dpredovic,
> │Jeste, samo što ima desetak takvih od-do uslova koji su
> krajnje │nepredvidljivi po sadržaju.
> └───
> Savršena stvar za ovo je Mach SIx i njegovi filteri :). Imaš
> funkciju m6_AddScoped() gde u jedan filter potrpaš scope koji
> te interesije po
Znam, znam... To i radim, samo sam dvesicu objašnjavao zašto ne radim sa
set scope...
clipper.1168ikordic,
RE: ErrorBlock ()
=> Pitam se samo zašto ERASE() ne prima *.* :)) No, rešeno je, baš
=> kako u .NG piše ;)
Word of advice: paralelno sa ovim, OBAVEZNO uradi svoj error handler za file
I/O operacije. Oduzeće ti malo vremena i truda, ali to je posao koji radiš
jedared za svagda a bićeš prikraćen za neviđena veselja koja se dešavaju
kada počnu belaja kod Velikih Belih Ptica.
clipper.1169zkrstic,
>> Kako se ponasaju Clipper aplikacije sa NetWare Lite-om ?
Verzija 1.1 bez Updatea koga ima na sezamu (L11U... tako
nekako se zove, nije problem naći, ako zagusti - imam ga ja) je
imala neku banalnu stvar sa file-handleovima, pa si morao da svu-
da turaš FILES=255 & F255. Sada nikakvih problema ne vidim. Kod
mene u radnji radi baš takva mreža (3 računara) već pune tri
godine, još od prvog Lite-a 1.0. Pre toga je bio Novel 2.15.
>> Sta je bolji izbor za ovako malu mrezu:NetWare 3.11 ili Lite ?
Sve zavisi od softvera. Ako ćeš imati po makar i mali
hardić u svakom od računara, onda lepo stavi TEMP na lokalni HDD
i Bog da te vidi. Nećeš osetiti ništa... apsolutno lepo radi.
Meni i Banetu na Kipru je gluposti pravio Personal Netware 1.0
i to takve da niko od nadležnih (technical support, obzirom da
imamo original) nije mogao da nam objasni od šta se i zašto
dogadja. Jednostavno - pokazao se suprotno svim testovima kao
veeeeoma spor i vrlo halapljiv po pitanju 'jedenja' memorije.
Nisam stigao da probam Ver 1.2, a uradiću to ovih dana, tj.
tamo iza 19. kad se vratim s Kipra, ako već ne budem to obavio
na Kipru sa Banexom.
Nisam probao novi Lantastic koji radi sa standardnim Ethernet
kartama, a čuh da nije loš.
>> Posto bih koristio SixCDX ili NSX kakva su iskustva sa doticnim
>> RDD-ovima pod Net-om.
Sasvim nam lepo šljaka (nikakvi VMIF-ovi) na preko 40
instalacija, od kojih je 2 ili 3 (nisam siguran) na Novelu
(2.2 i 3.12) i još jedno pet komada na Novel Lite 1.1 Exe je
preko jedan i po mega, ima skoro dva i po mega sorsa i sve
radi samo štekće :) Jedini problem do sada je bila neka
izdrkotina zvana IBM PS/2 486SX25 sa Štekerovanim hardom i
nekim buljavim dosom koji pravi haos sam za sebe, ali njemu
samo sikira' mož' da pomogne ;)
Pozdrav od opširnog Zkr-a ;)
PS Ako ti treba bilo kakav savet, viči na mejl da ne davim
ljude bez potrebe O;) Posle se navade pa mi šaraju bajke
po vicevima, nemož' se odbranimo ;)
clipper.1171sandra.,
Hvala ti nisam znao :(
Tek sam poceo da radim u clipper-u.
Pozdrav od
Mladena.
clipper.1172szinf,
u poddirektirijumu clipper5Đinclude se obično nalaze .ch fajlovi
pa se nalazi i taj inkey.ch, ali ako ga nema šaljem ti inkey.zip.
inkey.zipclipper.1173pstevo,
> Najkraće: Funkcija koja vraća RECNO() ali za
> INDEXE, so da znam koliko još imam do kraja
Kao što vidim, nedavno (uslovno rečeno) je u CONF nastala halabuka oko poruke
DCOLAK-a a u vezi sa funkcijom RecNo() koja vraća logički redni broj sloga,
dakle, u skladu sa aktivnim indeksom.
Ovakva Func je neobhodna za (npr.) ispis rednog broja trenutnog sloga u
Browse-u ili ScrollBar-u.
__________________________________________________________________________
- U Six drajveru postoji lijepa i elegantna funkcija Sx_KeyNo() koja
služi upravo tome, ali... Funkcija je upotrebljiva samo pri manjim bazama
ili jednostavnijem indeksnom ključu a u suprotnom zna biti očajno spora,
pogotovo na slogovima koji su na kraju indeksa. Preporučujem svima da je ne
koristite u programima koji trebaju biti univerzalni (npr. Browse Func) jer
će vam kad tad zadati veeelike probleme.
Ocjena rješenja: 2+
- Mnogi predlažu rješenje sa brojačima u Skip block-u unutar Browse-a
koja kontroliše "svako" pomjeranje u bazi. No, šta uraditi ako u
Browse moraš imati opciju Seek(cIme+cPrezime) ? To ne ide preko
Skip Block-a i ne može se nikako inkrementirati neki brojač slogova.
Isto se dešava ako imjeniš polje po kome je indeksirana baza. Slog nakon
te izmjene vrlo vjerovatno neće više imati istu logičku poziciju u indeksu.
Daklem, ne prolazi ni na popravnom.
- Fukciju koja me je fascinirala svojom brzinom a koja je nekad i do
2 puta brža od Sx_KeyNo() (sramota za SuccessWare International) napisao je
Goxx (svaka čast) i nalazi se u poruci 10.559 . Mislim da je Goxx poslije
poslao kompletniju verziju u CONF. Ali... Ni to nije dovoljno brzo.
- Kompromisno rješenje je da se nakon svakog Seek(), izmjene ključa,
na početku programa ili sl. pozove Sx_KeyNo() ili Goxx_KeyNo()
a inače da se vrti i inkrementira neki brojač slogova u Skip Block-u.
Na 486 - 66MHz i bazi od 148000 slogova (8,8 Mb), pozivanje
super - Goxx_KeyNo() makar i samo na početku programa, potpuno je
NEPRIHVATLJIVO !
- A sada POTPUNO rješenje: Prodaš svoj računar, kupiš 50 duluma
zemlje i motiku ...
O Sx_KeyNo() pogledaj 10.551.
_______________________________________________________________________
Utušio sam vas ovim tekstom ali već je toliko toga o ovoj temi (koju
pomno pratim) rečeno i najčešće ponovljeno da sam osjetio veliku potrebu
za REZIME-om. Molim iskusne Clipper magove da daju svoj začin ovoj poruci
ili čak rješenje pa da to okončamo.
Oprostite ako sam vam bez veze opteretio REad CLipper.
Pozdrav, Stevan.
clipper.1174pstevo,
Shadow
------
> Transform (cScreen, Replicate("X" + Chr(?), Len(cScreen)/2)
>
> Ovo svaki drugi simbol zameni sa atributom za crno i to je to.
Nedavno je bilo nekoliko poruka u vezi pravljenja sjenki za prozore.
Evo još jedne kosti za glodanje, rješenje je bosanski lonac:
Clipper 5.2d + MSC 5.1 ili 6.0 !
Ako vam se dopadne mozda ga neko prebaci i u DIR !
Pozdrav, Stevan.
shadow.zipclipper.1175szeman,
Subject: PR106B03
=================
Ako je još neko zainteresovan za testiranje nove beta verzije programa za
"nazubljivanje" Clipper source-va, može da ostavi poruku ovde ili meni na
mail.
Pozdrav, Saša
clipper.1176mdrazic,
> Vrlo korisna zapazanja (ja bih se inace naraVno opredelio za 1) :)
> Da li si pri (1) obezbedio upotrebu misa i hot-key-eva? Da li si
> sam pisao potrebne funkcije za (1)?
Ja lično upotrebu miša nisam predvideo, ali su mladi momci, odlični
programeri, inače olimpijci u programiranju i to dodali, ali se to
praktično ne koristi. Zašto? Zato što je brže preko tastature doći
do onoga što tražiš nego: juri miša po stolu, psuj što nema mesta
gde ćeš ga mrdati, kad klikneš opet gledaš gde da ga skloniš da ne
smeta. U radu sa podacima ne radimo 'event driven' kao kod Windowsa,
pa miš slabo nalazi primenu.
Ceo meni sistem je u Clipperu napisan i omogućava definisanje tipa
menija koji se koristi, ovlašćenja za svaku opciju itd. Za sam
meni sam prepravio zamenu PROMPT/MENU TO iz nanfor biblioteke prema
svojim zamislima i potrebama. To uključuje i hot-key-ove, i korišćenje
palete boja koju svaki korisnik sebi izabere.
Inače vrlo nerado koristim hot-key-ove u radu sa podacima (jedan za
izmene, drugi za brisanje itd.) već za ove stvari koristim tipiziran
horizontalni meni iz koga biraš šta hoćeš da radiš i sve vidiš šta
je ponuđeno. Motiv mi je da ruka ne sme svaki čas da leti gore na
funkcijske tastere ili da pritiska neke Ctrl-Alt kombinacije. Skoro
sve vreme ruka stoji na Enter i srednjim kursorskim tasterima i odatle
se sve kontroliše osim unosa samih podataka.
Milan
clipper.1177mdrazic,
Evo nekih zapažanja u vezi Clippera u Novell mreži.
Znate da broj fajlova (handlova) zavisi od: 1) zapisanog u config.sys
2) set clipper=f.. . Kada ste na mreži postoji i maksimum komunikacionih
bafera po stanici (normalno 40) koji je treći ograničavajući faktor.
Taj se broj može povećati, to znamo.
Kada se koristi aplikacija koja pokuša da otvori više fajlova od broja
Novell bafera, tada se na Novell 3.11 dobijala greška DOS ERROR 4
(Too many open files) dok na Novell 3.12 dobijam DOS ERROR 6 (Invalid
handle). Aplikacija je ista, puca (opravdano) na istom mestu samo da
znate da se prijavljuju različite poruke u 3.11 i 3.12 .
Milan
clipper.1178nbatocanin,
> Vec sam napisao funkcije za rad sa menijima sa helpom i
> sve to funkcionise kako treba ali kod pull-down menija sam
> koristio achoice uz moju korisnicku funkciju.
Achoice zaobiđi u _širokom_ luku.
> Da bih uveo upotrebu hot-key-eva moram da u potpunosti zaboravim na
> achoice i da sam napisem kompletnu funkciju.
Ovaj posao je dosta jednostavan - možda nekoliko sati posla.
> Bilo bi lepo kad bi znao kako citava ta koncepcija
> funkcionise ali 5.3 veziju nisam video (radim na 5.2d).
Na žalost, radi se o OO pristupu, pa se ne može direktno preneti, ali
može se napraviti tako nešto. Ukratko, meni je objekat koji čini niz
stavki od kojih je svaka otprilike oblika:
{"&File", {|| FileProc() }}
tj. sadrži naziv menija i odgovarajuću akciju. Akcija može biti
umesto kod bloka i drugi meni objekat, čime se realizuje
hijerarhijska struktura.
clipper.1179eotek,
> Verzija 1.1 bez Updatea koga ima na sezamu (L11U... tako
> nekako se zove, nije problem naci, ako zagusti - imam ga ja) je
zagustilo je ;), a nema ga na sezamu, moze li ??
clipper.1180mileusna,
Možda je neko od vas i znao ovo što sledi, ali ja na žalost nisam.
U pitanju je CLIPPER 5.2c, a evo i programa.
******************
LOCAL n
LOCAL aX:=aY:=šć
FOR n:=1 TO 10; AADD(aX,"CLIPPER"); NEXT n // puni se aX
?"NIZ aX"
FOR n:=1 TO 10; ?aXŠnĆ; NEXT n // ispisuje se 10 puta CLIPPER
?"NIZ aY"
FOR n:=1 TO 10; ?aYŠnĆ; NEXT n // ! TAKOĐE ! se 10 puta ispisuje CLIPPER ?!?
*******************
A fora je u inicijalizaciji. Naime ako se umesto >> aX:=aY:=šć << napiše
>> aX:=šć, aY:=šć << sve će raditi kako treba tj. niz aY će biti prazan.
clipper.1181dvesic,
>> A fora je u inicijalizaciji. Naime ako se umesto >> aX:=aY:=šć
Tačnije, fora je u pointerima. Naime, kod Clipper-a su nizovi, tj.
promenljive koje "čuvaju" nizove pointeri; tako b:=a gde je a niz
znači pointersko izjednačavanje (tj. "nizovi" a i b su isti, tj.
fizički postoji samo jedan niz). Za pravo kopiranje nizova je neophodno
koristiti aClone ili slično.
clipper.1182d.petrovic,
> Interesuje me koji se tip menija najbolje pokazao u praksi, da
> li je neophodno obezbediti upotrebu misa, hot-key-eva i ostale
> sitnice...
Hot Key obavezno, miš mi se kod obrade podataka ne čini
potrebnim.
clipper.1183dcolak,
│ Ako je još neko zainteresovan za testiranje nove beta verzije programa za
│ "nazubljivanje" Clipper source-va, može da ostavi poruku ovde ili meni na
│ mail.
Mr CabDriver Let me in :)
Sledge DAMMIR!
clipper.1184dcolak,
│ Na žalost, radi se o OO pristupu, pa se ne može direktno preneti, ali
│ može se napraviti tako nešto. Ukratko, meni je objekat koji čini niz
│ stavki od kojih je svaka otprilike oblika:
│
│ {"&File", {|| FileProc() }}
Zona sumraka! :)) Isto kao u mom sistemu. Mada, ja imam još dva
podatka u "structu."
Sledge DAMMIR!
clipper.1185d.petrovic,
> najviše mrzim menije gde stoje opcije tipa "Pregled", "Unos",
> "Izmene" i "Brisanje" i slične nebuloze - uglavnom praktikujem
> centralni
To nije pitanje menija nego koncepcije programa.
Zaboravio si na štampanje :)
clipper.1186d.petrovic,
> isti interfejs za ažuriranje: K_INS, K_ENTER, K_DEL. Nemam meni
> u browsu, ali imam kontekst-senzitivni help, koji može da
> startuje opciju,
Jock, K_CTRL_ENTER, a K_ENTER je za izbor. Da pojasnim:
Sve one nebuloze koje se mogu nazvati sifrarnici ili knjige se nalaze kao
jedna stavka u meniju. Kada uđeš tu dobiješ to kao listanje, međutim iste
te funkcije se (u zavisnosti od parametra s kojim su pozvane) koriste i za
valid u svim getovima. Znači čim parametar postoji, a nema te šifre u bazi
aktivira se browse i nudi isto ono što je nudio i u starom meniju.
Enter - Izbor
Ins
Del
Ctrl-Enter
Štampanje (preferiram F8, navika :))) )
clipper.1187stanic,
Pomoc:
BLX286 : 1313 : exception error 0D : general protection fault, code = 0000h
Active host is VCPI
Reg Value Limit Segment Module File
CS 015C FE47 02 FIN D:\FINANCE\FIN.EXE
DS 02BC 0FFF ****
ES 026C 4BFF ****
SS 01CC FFFF 10 FIN D:\FINANCE\FIN.EXE
[Code byte CS] 00 9A 00 FD 5C 01 5B 5A [IP] 2E 89 1E A0 FC 57 51 E3 09 E8
Pokusaj da se prebacim na protected mod neslavno se zavrsio.Od biblioteka
koristim nanfor,sixcdx,expand(sumnjivu f-ju shadow sam izbacio,ali nista)
llibca.Postoji li neka od clipper f-ja koja pravi probleme.Jel to taj
famozni VMIF o kom pricate vec nekoliko meseci ?
Milan
clipper.1188dvesic,
>> BLX286 : 1313 : exception error 0D : general protection fault,
>> code = 0000h Active host is VCPI
Program je pokušao da izvede nedozvoljenu instrukciju u protected modu.
>> koristim nanfor,sixcdx,expand(sumnjivu f-ju shadow sam
>> izbacio,ali nista) llibca.Postoji li neka od clipper f-ja koja
Koje verzije dotičnih biblioteka ? Da li si uključio NanForX.Lib,
tj. protected proširenje NanFor biblioteke ?
>> pravi probleme.Jel to taj famozni VMIF o kom pricate vec
>> nekoliko meseci ?
Ne, to je nešto drugo. Uz poruku je kratki programčić (inače stiže
uz Six 2.0) koji će ti pomoći da otkriješ problematičnu funkciju.
Izlinkuj tvoj program ponovo, ali pre toga u LNK fajl dodaj jedno
MAP S,A
Startuj tvoj program.
Kada pukne, startuj BliGpf. On bi trebalo da ti na osnovu adrese koju
pokupi sa ekrana i MAP fajla koji je Blinker izgenerisao pronađe u kojoj
se funkciji desio belaj.
Pozdrav,
Dejan.
bligpf.arjclipper.1189bceklic,
>> Da bih uveo upotrebu hot-key-eva moram da u potpunosti
>> zaboravim na achoice i da sam napisem kompletnu funkciju.
>
> Ovaj posao je dosta jednostavan - mozda nekoliko sati posla.
A bogami i neizbezan ukoliko ne naidjem na neku biblioteku koja
ove probleme resava na najbolji nacin.
> {"&File", {|| FileProc() }}
>
> tj. sadrzi naziv menija i odgovarajucu akciju. Akcija moze biti
> umesto kod bloka i drugi meni objekat, cime se realizuje
> hijerarhijska struktura.
Sistem menija koje sam razradio radi na potpuno istom principu s tim
da postoji i treci clan niza koji predstavlja help poruku. Dakle
ime menija, blok koda, help. Na ovaj nacin skup menija je veoma
pregledan i lako se vrse izmene. Ukoliko umesto bloka koda postoji
promenjljiva definise se novi nivo menija i sve se radi u jednoj
rekurzivnoj funkciji.
Trenutno pokusavam da realizujem sto efikasniju organizaciju nivoa
pristupa (video sam tvoje resenje u demo-u za korisnicki int.)
Kod mene postoji rutina koja protrci kroz indexiranu promenjljivu koja
sadrzi podatke o menijima(gore pomenuta) i izbaci box za selektovanje
opcija. Kontrola pristupa se ostvaruje kroz korisnicku funkciju
achoice-a.
POzdrav!
clipper.1190bceklic,
> opet gledas gde da ga sklonis da ne smeta. U radu sa podacima
> ne radimo 'event driven' kao kod Windowsa, pa mis slabo nalazi
> primenu.
Slazem se da se upotreba misa pod dosom moze elegantno izbeci. Nije
neophodna stvar a mnogi i ne vole da ga koriste...
POzdrav!
clipper.1191szeman,
>> Mr CabDriver Let me in :)
!!!!!!!!!!!!
OK, puštam te, ali ako počneš da brljaviš - letiš napolje ! ;) Capito ? :)
clipper.1192dcolak,
│ ime menija, blok koda, help. Na ovaj nacin skup menija je veoma
│ pregledan i lako se vrse izmene. Ukoliko umesto bloka koda postoji
│ promenjljiva definise se novi nivo menija i sve se radi u jednoj
│ rekurzivnoj funkciji.
Da, mada ja sem tog "help" stringa imam i .T./.F. radi prikaza
"pristupačnosti" datoj opciji. Izgleda da smo svi mi izmišljali
toplu vodu :)
Sledge DAMMIR!
clipper.1193jpiri,
> Pomoc:
>
> BLX286 : 1313 : exception error 0D : general protection fault...
Meni se ovo jednom desilo kod sledeće naredbe:
go neka_promenljiva
Naime, mojom krivicom, u retkim slučajevima se dešavalo da je
vrednost promenljive bila NIL.
Lupao sam glavu 3 sata, koristio BLIGPF, koji mi je javio da je
greška u STRCAT bibliotečkoj funkciji!
Onda mi je puk'o film bacio sam SIXCDX u djubre i, gle čuda:
žist Clipper lepo prijavio Invalid data type in line...
clipper.1194nbatocanin,
> LOCAL n
> LOCAL aX:=aY:={}
> FOR n:=1 TO 10; AADD(aX,"CLIPPER"); NEXT n // puni se aX
Bilo je više puta reči o ovome. Štos je u načinu na koji Clipper
tretira nizove. aX := aY := {} ne kreira dva prazna niza, nego jedan
na koga se referišu dve promenljive aX i aY.
clipper.1195nbatocanin,
>│ {"&File", {|| FileProc() }}
>
> Zona sumraka! :)) Isto kao u mom sistemu. Mada, ja imam
> još dva podatka u "structu."
Ima i ovde još, samo ih nisam navodio zbog jednostavnosti :)
clipper.1196bceklic,
> Da, mada ja sem tog "help" stringa imam i .T./.F. radi prikaza
> "pristupacnosti" datoj opciji. Izgleda da smo svi mi izmisljali
> toplu vodu :)
Nivo pristupa sam regulisao na drugi nacin da bih omogucio da veci
broj korisnika ima razlicite nivoe pristupa i da je sama promena
nivoa pristupa sto vise user friendly.
POzdrav!
clipper.1197vision,
Hi. Vidim da se i dalje raspravja o meni sistemima, dali je neko preuzeo
vmenu, i njegovi utisci??
clipper.1198dcolak,
│> Da, mada ja sem tog "help" stringa imam i .T./.F. radi prikaza
│> "pristupacnosti" datoj opciji. Izgleda da smo svi mi izmisljali
│> toplu vodu :)
--
│ Nivo pristupa sam regulisao na drugi nacin da bih omogucio da veci
│ broj korisnika ima razlicite nivoe pristupa i da je sama promena
│ nivoa pristupa sto vise user friendly.
Ups, mislio sam na ono "aktivna/neaktivna..."
Sledge DAMMIR!
clipper.1199stanic,
Thanks.Uspeo sam.A sad gde da nadjem protected Nanfor i
kako i cime debugirati programe u protected modu.
HMMilan
clipper.1200bulaja,
│Thanks.Uspeo sam.A sad gde da nadjem protected Nanfor i
│kako i cime debugirati programe u protected modu.
└───
Potreban je protected mode kompatibilan CLD.LIB koji dolazi uz ExoSpace
paket. Nažalost kompletan NanFor PM-kompatibilan patch nemamo, ali
većinu potreba može da zadovolje int86x.zip (zakrpa za FT_Int86()) i
nforx11.arj (uz Int86 još i FT_Peek() i FT_Poke()) u R:\CLIPPER diru.
clipper.1201stosic,
Internal error: 1010 ???
Sta ovo bese (nema ga u NG-u).
clipper.1202jolicm,
LJudi imao sam problema, VMM menadzerom i kada sam neke velike nizove koji su
bili LOCAL prepravio u STATIC , problemi su nestali.
clipper.1203obrada,
>> najvise mrzim menije gde stoje opcije tipa "Pregled", "Unos",
>> "Izmene" i "Brisanje" i slicne nebuloze - uglavnom praktikujem
>> centralni
> To nije pitanje menija nego koncepcije programa.
> Zaboravio si na stampanje :)
Stampanje radim tako da u pregledu onoga sto bi trebalo da se odstampa
pritisnem Ctrl-P, sto mi je hot key za opciju stamPanje u meniju Fajl.
Inace koristim modifikovani omenu.prg. Tako sam izbegao poseban meni
za stampanje.
Dragan O.
clipper.1204obrada,
>> Da li neko ima predstavu o tome kako bi trebao da izgleda optimalni
>> izgled jednog sistema menija u clipper programu?
> Moja iskustva. U nasim aplikacijama svakom korisniku dajemo da sam
> bira jedan od tri ponudena meni sistema: 1) pull-down 2) full-screen
Pro startovanju programa i izlasku iz opcija menija, aktiviram najcesce
korisceni meni (sa KEYBOARD).
Pokazalo se da je korisnicima to lakse i preglednije, nego da svaki put
po izlasku iz opcije otvaraju meni sa enter. Ovako ustede jedan ENTER.
Dragan O.
clipper.1206d.petrovic,
> Ups, mislio sam na ono "aktivna/neaktivna..."
Ma šta će ti to? Jednostavno, ono što ne može da radi ne treba ni da vidi.
clipper.1207cnenad,
ŁŁŁ Valjda ce uskoro i Clipper 5.2.
Pa ima od Alempija. Znajući kako je napisao (prepisao NG) za 5.01 nemam
nameru da uzimam tu knjigu od njega.
clipper.1208mdrazic,
> Pro startovanju programa i izlasku iz opcija menija, aktiviram najcesce
> korisceni meni (sa KEYBOARD).
A mi prepustimo korisniku da sam kaže šta da stuff-uje u keyboard buffer,
naravno svakom korisniku po njegovoj želji (sto ljudi, sto ćudi, sto žena
... :) . A ima i brz skok (iz proizvoljne procedure) u neku drugu
proceduru na hotkey.
Milan
clipper.1209aseovic,
Ima li neko Flipper 6.2?
Video sam u ZACFAX-u da on podrzava PM za razliku
od V6.09 koji ja imam :(
Ako nema, kako je reseno stampanje u dGE 5.0?
Koji stampaci su podrzani, i ako moze kratak spisak
naredbi za stampanje.
Pozdrav,
Sele
clipper.1210dcolak,
│> Ups, mislio sam na ono "aktivna/neaktivna..."
│
│ Ma šta će ti to? Jednostavno, ono što ne može da radi ne treba ni da vidi.
A neee, to nikako. Ne volim menije u kojima "od nikud" izleti neka
opcija a do tada je nigde nije bilo. Recimo opcija PREGLED. Kada nije
unet radni fajl opcija je "siva" te se ne može odabrati. žim se
radni fajl navede opcija "pocrni" te se može birati.
So, zamisli tako novajliju uđe u program i sve što vidi od menija je
jedno "RADNI FAJL" i "IZLAZ" :)) Osećam da bi doživeo tri infarkta i
mahnito vikao "GDE SU MI KOMINTENTI?!" :))
Sledge DAMMIR!
clipper.1211bpekic,
Ja radim sa FLIPPER-om 6.08 verzija. Pre nabavke ove verzije, radio
sam sa verzijom 5.02 (prva koja je omogucavala GET i ostalo...). Nakon
pokusaja prelaska na novu verziju, pocela s VMI i morao sam da
se vratim na staru verziju. Ne znam sta je razlog ali sumnjam na VM sistem
novije verzije FLIPPERA. Pod starom verzijom, sve normalno radi (uglavnom
se nova verzija patila sa TBrowse.
Sto se tice DGE, njega sam i napustio zbog FLIPPERA jer recimo, Flipper
mi omogucava da stampam proizvoljnu velicinu izlaza, mereno u bilo kojoj
mernoj jedinici (cm, inch...)
Ne znam sta te vtacno u vezi stampe interesuje, objasni ili posalji
mail da se cujemo...
Moze li razmena za V609 verziju FLIPPEřÚR-a :)
Pozdrav Boris
clipper.1214bpekic,
Dve stvari koje su mi korisne:
1.) Stampanje je moguce u proizvoljnim velicinama na papir
2.) Moguce je kreiranje osnovnih objekata i njihovo skaliranje (CAD..like)
Postoji jos nesto sto je VEOMA korisno. Virtuelni ekran, odredis da ti je
ekran rezolucije 5000 x 3000 i tako i crtas! Skaliranje je automatsko, pa
je moguce veoma zgodno pisati i cratati. Kasnije skaliranjem to stampas
velicine kakve zelis.
Psstoji dalje veoma lepo resen sistem menija, sa efektnim dugmicima i ostalim
stvarima i jos gomila toga sto DGE nije imao (za najnoviju verziju ne znam)
Osim toga, moguc je kompletan rad GET sistema, TBrose i sve ostalo radi
normalno.
Jedino mi je pravila probleme verzija 6.02 koja ima VM sistem vlastiti i to
se izgleda kosi sa Blinkerovim VM sistemom (ili ja nisam umeo da to lepo
slozim za linkovanje). Pri svemu tome, Blinker verzije 2,0 je radio bez
problema!
Sve u svemu, pokusavam da se domognem verzije FLIPPR-a 6.2 jer poslednja
do koje sam stigao je 6.08. Ako imas prilike, nabavi (i meni :) )
Pozdrav!
clipper.1215dpredovic,
> Pro startovanju programa i izlasku iz opcija menija, aktiviram
> najcesce korisceni meni (sa KEYBOARD).
> Pokazalo se da je korisnicima to lakse i preglednije, nego da
> svaki put po izlasku iz opcije otvaraju meni sa enter. Ovako
> ustede jedan ENTER.
Meni se najviše dopada sistem menija, gde prvi nivo menija uopšte ne
može da se zatvori. Tako uštede X enter-a. ;))
clipper.1216d.petrovic,
> So, zamisli tako novajliju uđe u program i sve što vidi od
> menija je jedno "RADNI FAJL" i "IZLAZ" :)) Osećam da bi doživeo
> tri infarkta i mahnito vikao "GDE SU MI KOMINTENTI?!" :))
Malo je takvih menija. Većina je regulisana kroz tbrowse gde neko može da
menja, briše, itd, a neko može samo da gleda.
clipper.1217peacock,
U novostima pominju senior vice-presidenta for research and
development u CA Associates. Zove se Predrag Dizdarević. Odakle li
je?
clipper.1218bulaja,
│U novostima pominju senior vice-presidenta for research and development
│u CA Associates. Zove se Predrag Dizdarević. Odakle li je?
└───
Koliko je meni poznato negde odavde i završio je FON :).
clipper.1219bulaja,
==========
newsbytes/windows #231, from newsbytes, 2667 chars, Mon Dec 5 17:00:09 1994
----------
CA Launches Visual Objects 12/05/94
ISLANDIA, NEW YORK, U.S.A., 1994 DEC 5 (NB) -- Computer
Associates International Inc. (NYSE:CA) has announced the first
shipments of Visual Objects, its Xbase application development
tool for Microsoft Corp. Windows.
The fully object-oriented Visual Objects is the end result of a
development project originally code-named Aspen, which CA took
over with its acquisition of Nantucket Corp.
The software is meant to let developers used to working with the
Xbase database development standard -- exemplified by Borland
International Inc.'s dBase software -- create applications for
Windows using features of the Windows environment such as dialog
boxes, pull-down menus and the like. It also uses visual design
tools in the programming process itself.
Developers will be able to make a gradual transition from
existing Xbase development tools, including CA's Clipper, by
recompiling existing code with a few changes to address
incompatibilities, according to Christine Glynn, director of
product strategy, application development, at CA.
Glynn told Newsbytes that compatibility will be a bit less with
non-CA Xbase products than will Clipper, but all Xbase developers
will have the option of moving into Visual Objects gradually.
"Clipper developers have been looking for a way to move to a
Windows-based environment," she claimed.
The software comes with a single-user active repository. This
does not preclude team development, Glynn said, but the company
is planning a professional edition of Visual Objects, to be
released late in 1995, that will include a multi-user repository
plus support for Microsoft's Windows NT operating system and
native drivers for a number of high-end structured query language
(SQL) databases.
Native support is already built in for Clipper and Microsoft
FoxPro file formats as well as for Visual Objects files, she
said. Other databases are currently supported by Open Database
Connectivity (ODBC) drivers.
Before the professional release, CA plans to bring out Visual
Objects 2.0, probably in the third quarter of 1995, with support
for Microsoft's Windows 95, 32-bit architecture, object linking
and embedding (OLE) 2.0, and OCX. Release 2.0 will also include
"wizard" technology that automates common operations,
Glynn said.
The retail price of CA-Visual Objects is $895.
CA also said it plans to begin shipping its CA-OpenRoad
development tool for Microsoft Windows 3.1 and NT before
Christmas.
(Grant Buckler/19941205/Press Contact: Bob Gordon, Computer
Associates, 516-342-2391; Public Contact: Computer Associates,
tel 516-342-5224, fax 516-342-5329)
clipper.1220bulaja,
Izvinjavam se na dupliranju onima koji su ovu vest (i onu vezanu
za Ingres) već pročitali u conf NOVOSTI, ali s obzirom da većina
verovatno ne prati poruke tamo :) i da je stvar od opšteg značaja
nije bilo zgoreg ponoviti je :).
U press annoucement-u se ne spominju detalji konačne verzije
(da li je su zaista ubačene one stvari koje je nbatocanin
spomenuo - Comix, FlexFile,..) ali ne sumnjam da ćemo i to vrlo
brzo saznati :).
Inače ovde je najzanimljivija cena CA-Visual Objects. List price
je oko 900 USD (što znači da ulična ne bi smela biti preko 700)
što je više nego duplo od Pre-Release verzije. Dakle ko je uzeo
Pre-Release (sa besplatnim upgrade-om na zvaničnu verziju) dobro
je prošao (ja sam uhvatio verovatno poslednji voz:).
clipper.1221dcolak,
││ U novostima pominju senior vice-presidenta for research and development
││ u CA Associates. Zove se Predrag Dizdarević. Odakle li je?
│└───
│ Koliko je meni poznato negde odavde i završio je FON :).
Nemoj da nas brukaš man! :))
Još će nas strpati u jadne kliperaše :)) Mi možemo i više od klipana!
:)
Sledge DAMMIR!
clipper.1222ppekovic,
>> U novostima pominju senior vice-presidenta for research and
>> development u CA Associates. Zove se Predrag Dizdarević. Odakle li
>> je?
Pomenuti gospodin je iz ovih krajeva. Završio je FON. Pre par
meseci sam i napisao jednu poruku ovde (nisam siguran da li baš u
ovoj temi) u kojoj sam rekao da ovaj gospodin radi u CA. Po mojim
informacijama od tada, on je vodio istraživačke projekte koji su
se bavili bazama podataka.
Ako nekoga zanima nešto više o njemu, mogu pitati prof.
Krčevinca sa FON-a koji ga lično poznaje i u kontaktu je sa njim.
Paya
clipper.1223aseovic,
> Ne znam sta te vtacno u vezi stampe interesuje, objasni ili posalji
> mail da se cujemo...
Interesovalo me je upravo ono sto si spomenuo: skaliranje slike
tako da popuni odredjeni deo papira. :(( nista od DGE.
Btw, da li si uspeo direktno da stampas na papiru, bez prethodnog
crtanja na ekranu pa PRT_Area(...)?
Sa Flipper-om 5.x mi to nikako nije polazilo za rukom na nekim
matricnim stampacima (redovno je brljao, ispustao linije i sl.)
Sa 6.09 nisam ni probao, pa ako znas da radi Ok reci da ispravljam
program. Bilo bi mnogo lepse.
Pozdrav,
Sele
clipper.1224zeljkoj,
Kako da u clipperu napišem svoju proceduru za obradu grešaka?
(Nešto kao u BASIC-u ON ERROR)
Sticajem okolnosti moram da napišem neki programčić u clipperu,
a pošto ga baš ne poznajem mnogo, molim sve koji ovo znaju
da mi što pre odgovore, pošto je dosta hitno.
clipper.1225bceklic,
Koji je najprikladniji nacin za obezbedjivanje upotrebe yu slova
u Clipper aplikacijama. Da li se treba oslanjati na externe aplikacije
(kao sto je vga max) ili vga font obezbediti iz samog programa?
Koji raspored treba koristiti i kako resiti sortiranje po nasim slovima?
Pretpostvaljam da je o ovome vec mnogo puta bilo raspravljano pa ako
neko ima pointer....
POzdrav!
clipper.1226cnenad,
ŁŁŁ u Clipper aplikacijama. Da li se treba oslanjati na externe aplikacije
ŁŁŁ (kao sto je vga max) ili vga font obezbediti iz samog programa?
žini mi se da je zgodnije koristiti poseban drajver za tastaturu i monitor.
ŁŁŁ Koji raspored treba koristiti i kako resiti sortiranje po nasim slovima?
Za raspored ti nije više problem pošto je DVESIC u R102 dao školski primer
kako se uz upotrebu funkcije pisane u C-u to može uraditi. Konkretno, kod
korisnika namestiš u nekom INI fajlu kodni raspored koji on koristi, tvoj
program ima poruke kucane po TVOM kodnom raspored, a za vreme izvršavanja
programa se vrši konverzija. Pogledaj u RSOFT-u datoteku R102VMYU.ARJ
Za sortiranje možeš probati sa JM_IND-om koji imaš u Clipper dir-u autora
JOLICM-a.
clipper.1227bulaja,
**** new file ****
MSDOS - R:\CLIPPER
----------------------
bli310 zip 306460 Blinker v3.10: update sa verzije 3.01
1 file(s) 299 kb
BLI310EN.DOC English Blinker 3.1 Update Release Notes 94.12.07
------------ ---------------------------------------- --------
New features in Blinker 3.1
---------------------------
Borland C++
Improved compatibility.
CA-Clipper
Incremental linking for protected mode programs.
Protected mode compatibility with CA-Tools III improved to include
all functions except those for serial communications.
EXOSPACE link script command now processed as BLINKER.
Increased maximum packed symbol table size.
Added full CA-Clipper 5.3 support as at 12/07/94.
Dropped support for CA-Clipper 5.2c.
Extender
Transparent support for DOS and BIOS functions increased,
including hard disk, network and VESA XGA and SVGA functions.
GPF dump now includes segment base and attributes.
Now recognise Pentium processor.
Microsoft C/C++/FORTRAN
Added protected mode support for all Microsoft GRAPHICS functions
for MSC 5.1 through to MVC++ 1.5 and MS FORTRAN 5.1.
Added header file for Blinker API functions and definitions.
Symantec C++
Added protected mode support for versions 6.0 and 6.1.
General
Greatly increased link time virtual memory.
All BLX libraries are automatically SEARCHed.
Blinker searches for FILEs in the OBJ path AND THEN the LIB path
before failing with a file not found error.
Dual mode now supports an internal overlay file.
Creation of Windows DLLs.
Creation of OS/2 .EXE and .DLL files.
Problems fixed in Blinker 3.1
-----------------------------
CA-Clipper
Assorted GPFs in the CA-Clipper debugger.
Occasional VM 10001 errors.
Extender
Date change at midnight was ignored in protected mode when /EK+
was set.
Occasional exception 0E page faults in low memory.
Occasional GPFs with hardware TSRs like RPRINTER.
Microsoft C/C++
Occasional 1990 and 1991 COMDAT errors.
General
Assorted minor fixes.
clipper.1228bulaja,
**** new file ****
MSDOS - R:\CLIPPER
----------------------
csy20e zip 33361 Class(Y) v2.0e: upgrade sa starijih verzija 2.0x
1 file(s) 33 kb
Kad smo već počeli sa zakrpama :), evo je i jedna za Class(Y). Dosta
davno smo je dovukli ovde, ali sam zaboravio da je stavim u širu
javnost. Takođe skupiću najsvežije patch-eve za SIx pa će i oni biti
u CLIPPER direktorijumu ovih dana. Ovde je samo spisak izmena za
Class(Y) u odnosu na verziju 2.0d, za ostale 2.0x međuverzije pogledajte
DOC posle instalacije :).
Class(y) v2.0e
--------------
Affected Files: CLASSY.LIB, READ.ME
o Changes made in 2.0d to support Blinker v3.0 were causing problems
in certain environments, including OS/2 and Novell DOS 7. Class(y)
v2.0e resolves all such problems and should be fully compatible with
all existing linkers and operating systems which CA-Clipper works
with. Specifically, it should be fully compatible with all versions
of CA-ExoSpace, Blinker, CauseWay, .RTLink and WarpLink.
clipper.1229nbatocanin,
> Kako da u clipperu napišem svoju proceduru za obradu
> grešaka? (Nešto kao u BASIC-u ON ERROR)
Billo je reči u Računarima. Evo jednog od savetnika koji se bavi i
time. Ukratko, na početak programa staviš:
b := ErrorBlock ({|| MojaFunc() })
a na kraj:
ErrorBlock (b)
i svaka greška između pozvaće tvoju funkciju MojaFunc().
cls.zipclipper.1230mbiresev,
Kako da napravim (moje.LIB) od svojih funkcija ?
clipper.1231ikordic,
RE: Lepši sors
U prilogu ide jedan source documentor za Clipper, mada se može koristiti i
uz druge jezike. Na prvi pogled jako fina stvar, osim što sređuje zaglavlja
funkcija radi i ona ulepšavanja koda sa sve indentima, kapitalizacijom i sl.
Takođe može da na osnovu zaglavlja da automatski pravi i održava .NG
fajlove. Ima eksterne fajlove u kojima su već definisane funkcije poznatih
add-on biblioteka za Clipper (NanFor, Telepathy, GrumpLib, ...). Program je
shareware, nema ograničenja u odnosu na komercijalnu verziju, osim
legendarnog UNLICENSED COPY :)
Ja te stvari ne rabim, ali isprobajte, možda će nekom koristiti :)
doc310.zipclipper.1232stanic,
Prevedes sve programe sa switch-em /n/m.
Treba ti neki library menager npr. Microsoftov lib.exe.
Redom za svaki program uradis sledecu stvar:
LIB <your lib name> +<obj file name> [,<list file name>,[<new lib name>]]
Thats all, Milan.
clipper.1233stanic,
Postovana gospodo!
Posto se priblizava New Year moglo bi se poceti sa poklonima.
Slanje cestitki je u toku pa evo male pomoci za sve.Prikaceni
programcic pretrazuje vase SOR baze i iz njih izdvaja imena
korisnika.Nakon toga se to lepo ispise u ASCII,vi napisete
cestitku i sve to lepo uploadujete ovamo (sa CARD WRITE bese).
Ogranicenje je sto se koristi Nanfor LIB, so ko ga nema neka i
ne skida doticnu rutinu.Ocekujem vase cestitke.
Happy New Year & Marry Christmas
Milan-The Wasting Time Man
P.S.Program nije bas 100% pouzdan tako da mu moze promaci
i malo djubreta.
---------------------- cut here -----------------------------
proc main()
findname()
writecard()
return
proc findname()
dbcreate("card",{{"name","C",15,0}})
use card
append blank
replace name with "stanic"
index on name to card
go top
if !file("text.x")
quit
endif
ft_fuse("text.x") && text.x je SOR baza
br:=0
do while !ft_feof()
cLine:=ft_freadln()
if substr(cline,1,5) == "====="
ft_fskip()
ft_freadln()
ft_fskip()
cline:=ft_freadln()
ime:=substr(cline,9,at(",",cline)-9)
seek padr(ime,15," ")
if !found()
append blank
replace name with alltrim(ime)
endif
endif
br++
? "Processing line: "+str(br)
ft_fskip()
enddo
ft_fuse()
close card
return
proc writecard()
local line:=""
use card
go top
han:=fcreate("card.txt",0)
fclose(han)
ft_fuse("card.txt",2)
do while !eof()
length:=0
do while !(length>65).and.!eof()
line+=alltrim(name)+" "
length:=len(line)
skip
enddo
if eof()
exit
endif
skip -1
line=substr(line,1,length-len(alltrim(name))-1)
line+="."
ft_fappend()
ft_fwriteln(line,.t.)
line:=""
enddo
ft_fappend()
ft_fwriteln(".",.t.)
ft_fappend()
ft_fwriteln("<cestitka ovde>",.t.)
ft_fuse()
close card
return
-------------------------------cut-------------------------------
clipper.1234stanic,
> endif
> skip -1
> line=substr(line,1,length-len(alltrim(name))-1)
> line+="."
---------
Sorry,ovo ne treba.(Nisam dobro procitao uputstvo)
clipper.1235cnenad,
žim sam video da je stigao update za Blinker na verziju 3.1 preuzeh ga.
Uradih sve kako treba, napravih moj program sa novom verzijom Linker-a,
i kao rezultat, nakon skoro godinu dana konstantno su počeli da se
javljaju VMIF-ovi :(((( Napominjem za one koji ne prate ovaj serijski film
;) da sam do sada imao samo tri VMIF-a, bez ikakvog pravila, na potpuno
različitim mestima u programu.
Sada je stvar mnogo ozbiljnija, konkretno, pozvana je procedura za DOS SHELL.
Kao direktiva LINKER-u je data i DEMONSTRATION MINUTES nn. Pošto uglavnom svo
vreme bude provedeno u DOS Shell-u, nakon povratka isteklo je vreme i
formirana je Blinker greška 1209 koja poziva moju proceduru za obradu greške.
VMIF se javlja upravo u njoj i to na nekoj sasvim bezveze liniji,
LOCATE FOR Datum==pdDatum.... i to konstantno na njoj. Nije bitna toliko mem.
promenljiva koja je inače public, i koju ništa drugo od samog starta programa
ne menja.
Moguća varijanta zbog koje se javlja VMIF je da ispod funkcije koja poziva
DosShell (dakle nakon EXIT iz DS-a) dolazi moja funkcija. Ona ponovo postavlja
default drajv i DIR. Međutim, opet ovo nema mnogo veze kad se recimo nisam ni
pomerio iz DIR-a u kojem je startovan Shell a to je onaj u kojem je pokrenut
program.
clipper.1236ikordic,
RE: MYLIB.LIB
=> Kako da napravim (moje.LIB) od svojih funkcija ?
Treba ti neki LIB manager, najpopularniji su Borland TLIB i Microsoft LIB,
dobijaju se uz njihove prevodioce.
Najčešće komande su:
TLIB ime_biblioteke + ime_obj_modula // dodavanje .OBJ u .LIB
TLIB ime_biblioteke - ime_obj_modula // brisanje .OBJ u .LIB
TLIB ime_biblioteke -+ ime_obj_modula // update .OBJ u .LIB
TLIB ime_biblioteke * ime_obj_modula // vađenje .OBJ iz .LIB
TLIB ime_biblioteke, fajl // sadržaj biblioteke u fajl.lst
clipper.1237mbiresev,
Hvala !
clipper.1238arazumenic,
-> Prevedes sve programe sa switch-em /n/m.
Ovde bih dodao još prekidače: /w /l.
clipper.1239bstevan,
Jel, mož ovde da baciš taj TLIB ?
---POZDARAV---
---BSTEVAN----
clipper.1240djelovic,
> Jel, mož ovde da baciš taj TLIB ?
Na zalost, TLIB je deo komercijalnog paketa i njegovo ostavljanje na Sezamu
nije dozvoljeno.
clipper.1241zkrstic,
>> > Verzija 1.1 bez Updatea koga ima na sezamu (L11U... tako
>> > nekako se zove, nije problem naci, ako zagusti - imam ga ja) je
>>
>> zagustilo je ;), a nema ga na sezamu, moze li ??
Sorry, bio sam na Kipru, tako da se nisam javljao
desetak dana. Evo ga update :)
Pozdrav, Zkr
l11u4.zipclipper.1242eotek,
> Sorry, bio sam na Kipru, tako da se nisam javljao
puno hvala. a razlog je (opravdano) lep ;)
│ bulajo : new file ??
└─────────────────────────────────────────────────
clipper.1243bpekic,
Sto se tice "skalirane" stampe, kratka sekvenca programa pre iscrtavanja
na ekran bi bila otprilike (bolje da se cujemo telefonom):
PRT_SCALE(1) // Zbog mera u CM
PRT_OPTS(0,0,0,0,0) // orijent., shadow, b/w, eject, reset)
PRT_SCREEN(x_sei*100, y_size*100, left*100, top*100)
varijable u poslednjoj liniji sam odredi ■˛pre stampe ros neki
mali meni ili slicno...)
Sto se tice stampe bez iscrtavanja na ekran, nisam jer korisnici to
zele najpre videti.
Pozdrav Boris
clipper.1244dpredovic,
> Sada je stvar mnogo ozbiljnija, konkretno, pozvana je procedura
> za DOS SHELL. Kao direktiva LINKER-u je data i DEMONSTRATION
> MINUTES nn. Pošto uglavnom svo vreme bude provedeno u DOS
> Shell-u, nakon povratka isteklo je vreme i formirana je Blinker
> greška 1209 koja poziva moju proceduru za obradu greške.
Da li si na početku error-handlera dodao blidemmin(0), da ne bi došlo
do rekurzije?
clipper.1245cnenad,
Kako je najzgodnije rešiti CFG datoteke i parametre koji se tamo upisuju ?
Da li postoji elegantnije (čitaj BRčE) rešenje za CFG (INI) datoteke od
FOPEN, FREAD, FCLOSE, SUBSTR... ?
clipper.1246dvesic,
BLINKER 3.01/3.10
Izgleda da je VMIF našao svog parnjaka :(
U poslednje vreme relativno često (1 - 2 puta dnevno) mi se u programima
javlja :
BLX286 : 1313 : exception error 0E : page fault, code = 0000h
i to bez obzira da li je linkovano sa 3.01/3.10. Problem se javlja samo
kod DUAL programa, dok kod REAL/EXTEND nema takvih (ili bar nisu primećeni)
problema.
Komentari ?
clipper.1247toma,
Problem!!!
4dos 5.5b, Clipper 5.2c, Blinker 3.0 i neće da radi. Sve sam probao
i ništa. Konkretno, ne radi swapovanje, daje grešku br.9, što će reći
da nešto ne valja sa SHELL-om. U nortonovim gajdama kaže da proverim
COMSPEC, ali tu je sve u redu. Jel imao neko sličnih problema.
Kad kažem command /Cmojprog.exe sve radi kako treba.
Šta li mu je?
clipper.1248lucas,
Pre neki dan sam počeo da se interesujem za Clipper
i rek'o da probam da vidim šta je to čudo ....
prekucao sam neki programčić iz knjige o kliperu
(svira neku melodiju) da probam.
E sada to sve radi ali me nervira što nemože da se
prekine svirka kada jednom počne.
Da li može da se nekako prepravi program da bi bilo kada
u toku sviranja program mogao da se okonča.
Prilažem program za one koji su zainteresovani da mi pomognu.
unapred hvalaKH
muzika.prgclipper.1249dvesic,
> Da li može da se nekako prepravi program da bi bilo kada
> u toku sviranja program mogao da se okonča.
Za početak, dodaj jedno SetCancel( .T. ) što bi trebalo da ti omogući
da ga prekineš sa Alt-C ili Ctrl-Break.
Bolje je rešenje da uradiš sledeće :
Prva linija programa neka ti glasi #include "Inkey.Ch"
Zatim :
Set Key K_F2 To BreakProgram()
A na kraju programa dodaj :
Procedure BreakProgram()
RestNote( 1 )
QUIT
Return
Nadam se da sam ti pomogao :)))
clipper.1250nbatocanin,
> Da li postoji elegantnije (čitaj BRčE) rešenje za CFG
> (INI) datoteke od FOPEN, FREAD, FCLOSE, SUBSTR... ?
Biće u novim Računarima :) Doduše, sa ovim funkcijama.
clipper.1251jolicm,
Zašto ne koristite linKKKKKONFIG.DBF u kojem stavite polja koja vas interesuju.
Mislim da je to daleko jednostavnije od ANSI datoteke.
U Konfig.dbf stavite samo jedan zapis sa brojem polja koliko vam treba,
i sa:
USE KONFIG
printer=konfig->printer
boja=konfig->boja
firma=konfig->firma
....
....
close konfig
rešavate vrlo lako problem.
:) Zdravo.
clipper.1252pstevo,
S O S S O S S O S
Memo polja sa SIXNSX 2.0, znaci .SMT extenzija me uporno za*ebavaju.
DBF ima npr 100 slogova. Pišem u MEMO polje u slogu 10 i nakon toga
u slog 20. Kada se vratim na 10, tamo nalazim dijelove teksta koje sam
upisao u slog 20. Zna li neko za nekakav bag u SIXNSX koji ima veze sa tim ?
DBF sam kreirao sa:
DBCreate( 'DBFFajl',š š'Bilo_Sta','C',5,0ć , š'Memo','M',10,0ć ć
Šaljite mi odgovore čak i ako ih ne znate :) , vrlo mi je važno.
Pozdrav svima, Stevan
clipper.1253spantic,
> Zašto ne koristite linKKKKKONFIG.DBF u kojem stavite polja koja vas
> interesuju. Mislim da je to daleko jednostavnije od ANSI datoteke.
Odgovor je prost. žesto je pogodno da se INI datoteka može menjati
i ručno, takoje najlakše dodati opise. A to je sve dosta bitno kako
sa stanovišta korisnika, tako i sa stanovišta onoga ko održava takav
softver.
clipper.1254dvesic,
>> DBF ima npr 100 slogova. Pišem u MEMO polje u slogu 10 i nakon
>> toga u slog 20. Kada se vratim na 10, tamo nalazim dijelove
>> teksta koje sam upisao u slog 20. Zna li neko za nekakav bag u
>> SIXNSX koji ima veze sa tim ?
Baci u konf deo koda za koji si siguran da ti pravi probleme,
da ga seciramo :)))
clipper.1255cnenad,
ŁŁŁ> (INI) datoteke od FOPEN, FREAD, FCLOSE, SUBSTR... ?
ŁŁŁ Biće u novim Računarima :) Doduše, sa ovim funkcijama.
Januarskim ? O:)
Ono što se meni nikako ne sviđa i što pokušavam da izbegnem je sledeći izgled
CFG datoteke, npr.:
8 // oznaka kodnog rasporeda
1 // koristiti boje
1 // izvršiti uvodni ekran
P // pulsno / tonsko biranje
Sad recimo program mora za svaku vrednost da pročita pored nje i komentar (?!)
u neki string, pa da odatle čupa potrebne stvari. Šta ako neka linija nije
dobra, ako parametar nije dobar, ako... Ufff.
Ovo je zgodno rešenje zbog objašnjenja sa strane koja daju informaciju
korisniku šta treba i može menjati i koju vrednost treba da stavi. Ali zbog
tih objašnjenja, string koji se čita i sa kojim se operiše je mnogo veći,
a opet tu su oni problemi sa položajem linije, parametrima...
Sa druge strane, rešenje:
8 1 1 P
! ! ! !
! ! ! +===== pulsno / tonsko biranje (Dozvoljene vrednosti: P ili T)
! ! !
! ! +======= izvršiti uvodni ekran (...
...
je mnogo zgodnije jer se odmah zna koliko bajtova iz datoteke treba da se
pročita. Naravno, i ovde svaki parametar mora biti na svom mestu.
Jedino je nezgodno što će opis svakog parametra malo ružniji biti ali se
barem oni ne učitavaju.
U svakom slučaju korisnik BI TREBAO, odnosno MORA staviti prave vrednosti
na pravo mesto.
clipper.1256pstevo,
/*
Opet naglasavam, u pitanju je SIXNSX V2.0
Isprobajte ovaj program kod sebe i javite mi rezultate.
Uradite ovako:
-Startajte program;
-sa tasterom 'A' (append) dodajte recimo 10 slogova;
-pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od recimo 10-15
znakova u memo polje. Svaki put zavrsavate editovanje sa CTRL+W;
-izadjite iz programa sa ESC;
- ponovo startajte program;
-unesite u polje 5 (opet prvo pritisnete 'E') neki tekst duzine barem 4-5
redova;
-strelicama gore-dole ;) prelistajte predhodne slogove i tako pregledajte
sadrzaj memo polja;
-pozovite 011/648-422 :) i napisite sta se desilo, zeljno vas cekam :)
Napomena: ne zaboravite iz .LNK fajla izbaciti NOMEMO ako ga tamo ima !
Pozdrav, Stevan
*/
*******************************************************************************
/* Demo program problema sa SIXNSX i SIXCDX MEMO poljima */
*******************************************************************************
#include "SIXNSX2.CH" // ili "SIXCDX2"
#include "InKey.CH"
FUNC Test()
FIELD Memo_P,;
Bezveze
LOCAL nLKey
CLEAR SCREEN
IF !File('Memo.dbf')
Sx_SetMemoBlock(32)
DBCreate('Memo',šš'bezveze','C',5,0ć,š'Memo_P','M',10,0ćć)
ENDIF
USE Memo
Sx_MemoPack(32)
č 1,0 TO MaxRow(), MaxCol() DOUBLE
DO WHILE !(LastKey()==K_ESC) // ESC == kraj rada
č 0,0 CLEAR TO 0,79
č 0,0 SAY 'SLOG:'+Str(RecNo(),5,0)+'/'+AllTrim(Str(LastRec()))
MemoEdit( Memo_P, 2,1,MaxRow()-1,MaxCol()-1,.F.,.F.)
nLKey:=Inkey(0)
IF nLKey==K_DOWN // listanje sadrzaja baze
DBSkip(1)
ELSEIF nLKey==K_UP
DBSkip(-1)
ELSEIF Upper(Chr(nLKey))=='A' // dodaj novi slog
DBAppend()
REPLACE bezveze WITH Str(RecNo(),5,0)
ELSEIF Upper(Chr(nLKey))=='E' // editovanje memo polja
č 0,35 SAY 'EDITOVANJE MEMO POLJA'
REPLACE Memo_P WITH MemoEdit( Memo_P,2,1,MaxRow()-1,MaxCol()-1 )
ENDIF
ENDDO
COMMIT
CLOSE ALL
QUIT
RETURN (NIL)
****************************************
clipper.1257lucas,
>> Nadam se da sam ti pomogao :)))
Nažalost, nisi.
Prva ideja da se stavi setcancel(.T.) zaustavlja rad programa tek kada
se zaustavi svirka .... znači kasno.
Druga ideja ne važi uopšte, najverovatnije, jer koristim clipper summper 87
a on nije hteo da primi ono štosi mi preporučio.
Ako se neko još nečega seti ....
clipper.1258dejanr,
Već godinama primećujem jednu čudnu stvar sa Clipper-om, naime kad god počnem
da radim neki program, desi mi se da mi ne radi Clipper Debugger. Jednostavno
ja CLD imeprograma, a ono krene da ga izvršava bez debagera. Resetujem računar,
i od tada sve u redu, kroz dane i dane rada na tom programu. žim krenem da
pišem neki novi, odjednom opet CLD prvi put ne radi.
Ovo mi je izgledalo kao neka crna magija ;) i najzad danas shvatih šta je -
kada počnem da radim program, obično startujem LPTX jer mi je sa njim lakše da
spisak polja u bazi prebacim u ASCII oblik da bi ga ubacio u razne deklaracije
itd. E, kad je LPTX učitan (makar bio i neaktivan), CLD ne radi.
žovek se uči dok je živ :)
clipper.1259pstevo,
/*
Puno, puno, puno se izvinjavam dvesic-u i drugima koji su vec
isprobali primjer iz poruke 10.1256 .
Ima malu gresku - treba liniju u kojoj pise :
Sx_MemoPack(32)
izbaciti iz programa, naime sa njom na pocetku programa
bag se ne prikazuje, ali to je naravno neprihvatljivo jer
ne mogu prilikom svakog pokretanja programa da pakujem bazu !
Ponovo se izvinjavam i ne znam kako se to dogodilo. Jednostavno u
poslednjem trenutku sam zaboravio da kod te linije stavim komentar
i da je tako izdvojim iz programa.
Onima koji su to vec kompajlirali nece biti tesko da samo tu liniju izbace
pa ponovo pokusaju ( nadam se :) ).
Opet naglasavam, u pitanju je SIXNSX V2.0
Isprobajte ovaj program kod sebe i javite mi rezultate.
Uradite ovako:
-Startajte program;
-sa tasterom 'A' (append) dodajte recimo 10 slogova;
-pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od recimo 10-15
znakova u memo polje. Svaki put zavrsavate editovanje sa CTRL+W;
-izadjite iz programa sa ESC;
- ponovo startajte program;
-unesite u polje 5 (opet prvo pritisnete 'E') neki tekst duzine barem 4-5
redova;
-strelicama gore-dole ;) prelistajte predhodne slogove i tako pregledajte
sadrzaj memo polja;
-pozovite 011/648-422 :) i napisite sta se desilo, zeljno vas cekam :)
Napomena: ne zaboravite iz .LNK fajla izbaciti NOMEMO ako ga tamo ima !
Pozdrav, Stevan
*/
*******************************************************************************
/* Demo program problema sa SIXNSX i SIXCDX MEMO poljima */
*******************************************************************************
#include "SIXNSX2.CH" // ili "SIXCDX2"
#include "InKey.CH"
FUNC Test()
FIELD Memo_P,;
Bezveze
LOCAL nLKey
CLEAR SCREEN
IF !File('Memo.dbf')
Sx_SetMemoBlock(32)
DBCreate('Memo',šš'bezveze','C',5,0ć,š'Memo_P','M',10,0ćć)
ENDIF
USE Memo
/////////////
///////////// Sx_MemoPack(32) - ovo molim vas izbacite ( Sorry )
č 1,0 TO MaxRow(), MaxCol() DOUBLE
DO WHILE !(LastKey()==K_ESC) // ESC == kraj rada
č 0,0 CLEAR TO 0,79
č 0,0 SAY 'SLOG:'+Str(RecNo(),5,0)+'/'+AllTrim(Str(LastRec()))
MemoEdit( Memo_P, 2,1,MaxRow()-1,MaxCol()-1,.F.,.F.)
nLKey:=Inkey(0)
IF nLKey==K_DOWN // listanje sadrzaja baze
DBSkip(1)
ELSEIF nLKey==K_UP
DBSkip(-1)
ELSEIF Upper(Chr(nLKey))=='A' // dodaj novi slog
DBAppend()
REPLACE bezveze WITH Str(RecNo(),5,0)
ELSEIF Upper(Chr(nLKey))=='E' // editovanje memo polja
č 0,35 SAY 'EDITOVANJE MEMO POLJA'
REPLACE Memo_P WITH MemoEdit( Memo_P,2,1,MaxRow()-1,MaxCol()-1 )
ENDIF
ENDDO
COMMIT
CLOSE ALL
QUIT
RETURN (NIL)
****************************************
clipper.1260nbatocanin,
> Zašto ne koristite KONFIG.DBF u kojem stavite polja
> koja vas interesuju.
Iz dosta razloga. Na primer, na ovaj način se moraju ograničiti
dužine svih parametara. Doduše, može se stvar dosta uspešno srediti i
sa DBF datotekom.
clipper.1261spantic,
Dakle, šta je razumljivije korisniku? Prva inicijalizacija ili druga?
Za korisnika je definitivno lakša, manje podložna greškama, lakša za
nalaženje greški etc. prva. Što se programera tiče, pre svega on piše
za korisnika i dužan je njemu da se prilagodi, a drugo i njemu je lakše.
Uostalom, posao se odradi jednom i posle se samo koristi.
KodRas = 8 // oznaka kodnog rasporeda
IniCol = 1 // koristiti boje
IniScr = 1 // izvršiti uvodni ekran
P_Tb = P // pulsno / tonsko biranje
ili
> 8 1 1 P
>! ! ! !
>! ! ! +===== pulsno / tonsko biranje (Dozvoljene vrednosti: P ili T)
>! ! !
>! ! +======= izvršiti uvodni ekran (...
clipper.1262velicko,
Nigde nije dokumentovano, ali Clipper ima f-ju dbTableExt() koja
za sada poznate RDD-ove vraća ekstenziju.
Ekstenzija ne zavisi od ekstenzije datoteke na disku već je definisana
za svaki RDD.
na primer:
proc main()
request dbpx
use proba.xyz alias proba via "DBFNTX" exclusive new
? dbTableExt() // vraca ".DBF"
copy to proba2 via "DBPX"
close proba
use proba2 alias proba2 via "DBPX" exclusive new
? dbTableExt() // vraca ".DB"
close proba2
return
by moj prijatelj mmarkovic
kome je uzgred istekla pretplata
a i ostao je bez modema
clipper.1263dvesic,
>> Uradite ovako:
>> -Startajte program;
>> -sa tasterom 'A' (append) dodajte recimo 10 slogova;
>> -pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od
>> recimo 10-15
Uradio tako :)
Jedina razlika je što sam koristio SIXCDX.CH zaglavlje (bez extended
izraza) i nikakvih problema nisam imao (a igrao sam se dobrih pola
sata :)
clipper.1264velicko,
Zanimljiv BUG Clipper-a 5.2d
proc main()
local a
a := ""
? "" $ "AAA" // rezultat .T.
? a $ "AAA" // rezultat .F.
return
Na svoju sramotu :) , proverio sam ovo
i u multy fox-u , tamo oba izraza daju .f.
Nekako mi se čini da bi obavezno
"" $ "non empty string"
moralo da daje .t.
velicko
clipper.1265pstevo,
> Jedina razlika je što sam koristio SIXCDX.CH zaglavlje (bez
> extended
Probao sam i ja pa se ništa nije promijenilo. Jesi li siguran da si
memo polja trpao u *.SMT ili *.FPT fajl a ne *.DBT od SIX 2.0 ?
Sa *.DBT radi normalno samo što to nije to :)
Isto tako sa SIXCDX 1.5 i njegovim *.FPT fajlom dobro radi.
Mislim da je problem u označavanju zauzetog i slobodnog prostora u
*.SMT ili *.FPT datoteci jer SIX pokušava da napravi "REUSE" obrisanih
dijelova da bi smanjio "BLOAT".
Pošto se ovaj bag pojavljuje samo nakon ponovnog startovanja
programa predpostavljam da je sve u redu dok SIX drži u memoriji
flegove koji mu označavaju slobodan prostor u fajlu ali nevolja
nastaje kad ih treba zapisati u fajl (header *.FPT-a). Možda ne isprazni
nekakve bafere.
Ali zašto onda kod tebe radi a kod mene ne?
Hm, možda zato što ja imam
SIX2.LIB 2.01.00 pre-release, datum: 08-01-94 , vrijeme: 05:30 ?
Šta ti imaš od SIX-a?
clipper.1266nbatocanin,
> Ono što se meni nikako ne sviđa i što pokušavam da
> izbegnem je sledeći izgled CFG datoteke, npr.:
>
> 8 // oznaka kodnog rasporeda
> 1 // koristiti boje
Evo izvoda iz moje konfiguracije:
[PUBLIC]
_LogUser := TRUE
_ShowUser := TRUE
_ZipComm := "pkzip a:save "
_Mem := 300
> Ovo je zgodno rešenje zbog objašnjenja sa strane koja daju
> informaciju korisniku šta treba i može menjati i koju
> vrednost treba da stavi.
Izmena konfiguracione datoteke prelazi mogućnosti 99% korisnika mojih
programa. Podešavanje svih parametara radi program, preko pogodnih
maski i menija.
clipper.1267vlador,
Da li je moguce pomocu Blinkera (3.0) izvrsiti linkovanje preko PLL fajla?
---
■ VLADOR ■ Pomozite miliciji - batinajte sami sebe.