clipper.618snemcev,
-> #602, ratman>> Sta je pogresno u sledecem programu:
Pa šta će ti ono USE enz1pat pre COPY TO? Uradi ga posle i biće sve OK.
clipper.619bipin,
Molim pomoc!
Kako da iz GET-a upisem nesto u memo polje, npr.
mA := mC = SPACE(5)
mB := "Memo"
č x , y SAY "mA......" GET mA
č x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */
č x+2, y SAY "mC......" GET mC
READ
REPLACE A WITH mA;
,B WITH mB;
,C WITH mC
Ovo ne radi.
Pozdrav Bipin
clipper.620milanv,
-> #606, milanv I da zaključim,
ipak je kompjuter bio kriv! Naime posle dizanja haube i mrdanja
čipova, mašina je proradila kao nova, odnosno stara (samo da
tako i ostane - čuk, čuk).
Hvala svima na pomoći, možda će nekome i ovo iskustvo biti
korisno.
Milan.
clipper.621bulaja,
-> #613, ppekovic│Kako da u toku rada memoedit-a saznam koliko ukupno ima linija
│ukucani tekst. Znam za mlcount() ali on radi tek kad izadem iz
│memoedit-a tj. kad snimim editovani sadrzaj u promenljivu.
└───
Nazalost nikako :(. Jedino ako ti je MemoEdit potreban samo kao browse
(bez izmena), onda bi mogao nekako tako sto preusmeris tastere za
pomeranje kurzor (down, up, page,..) tako da azuriraju counter.
│A kad smo vec kod scrollbar-a, jer resio neko scrollbar u tbrowse-u.
└───
No problem, samo definises svoje blokove za Skip, GoTop i GoBottom tako
da pomeraju pointer na trenutni slog, npr. nesto ovako:
TB := TBrowseDB(...)
GO TOP
nRecPointer := 1
TB:skipBlock := ;
// ovo je lakse ubaciti u funkciju
{
| nSkip, i, GoreDole |
GoreDole := nSkip / Abs(nSkip)
// GoreDole - da li je skip up (-1) ili down (+1)
FOR i:=1 TO Abs(nSkip)
DBSkip (GoreDole)
IF EOF() .OR. BOF()
EXIT
ENDIF
nRecPointer := nRecPointer + GoreDole
NEXT
Nacrtaj_ScrlBar(nRecPointer)
i--
// vraca preko i koliko je preskoceno, valjda je ovako Ok :)
}
TB:goTopBlock := ;
{ ||
DBGoTop()
nRecPointer := 1
Nacrtaj_ScrlBar(nRecPointer)
}
TB:goBottomBlock := ;
{ ||
DBGoBottom()
nRecPointer := RecCount()
Nacrtaj_ScrlBar(nRecPointer)
}
Napravi jos da ti funkcija Nacrtaj_ScrlBar() crta scroll bar, raspodeli
separatore komandi (' i ;) po code blokovima (mene je mrzelo:) i thats'it.
clipper.622bulaja,
-> #619, bipin│Kako da iz GET-a upisem nesto u memo polje, npr.
│mA := mC = SPACE(5)
│mB := "Memo"
│@ x , y SAY "mA......" GET mA
│@ x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */
│@ x+2, y SAY "mC......" GET mC
│READ
└───
Ne mozes direktno iz GET-a, ali bi npr. mogao
@ y+,x SAY "Memo:" GET BiloSta WHEN ;
EVAL ({ || ;
cMemo = MemoEdit (...) ,;
.F. ;
// vraca false da preskoci GET BiloSta
})
clipper.623nbatocanin,
-> #608, dejanrMeni se skoro desilo da je korisnik uradio CHKDSK i pri tom napravio gomilu
CHK datoteka na C:\. Zatim je nešto brljao po CONFIG.SYS i kad je trebalo da
ga snimi, nije moglo zbog prekoračenja broja datoteka i tako je CONFIG.SYS
nestao. Naravno, sa njim i direktiva FILES=35... Možda je nešto tako?
clipper.624nbatocanin,
-> #598, dr.grba> .to nbatocanin
Stavio u TREBA.TXT... :)
> Uostalom, bilo bi umesno da se malo vise prica o
> PROJEKTOVANJU i KONCEPCIJI kao bitnim elementima u fazi
> radjanja programa.
Slažem se. Ovo jako nedostaje i "Računarima" i šire.
clipper.625nbatocanin,
-> #601, bingo> Da li neko zna kako iz Nbatocanin programa za pregled pre
> stampe R 75 da prikacim grficki amblem i da se prikaze na
> stampacu (navodno je bilo u ranijim brojevima, ali nisam
> nasao)
Nisam te baš najbolje razumeo, ali ako hoćeš na početku izveštaja da
štampaš grafički amblem, samo pošalješ štampaču unapred pripremljenu
sliku. Ne bi trebalo da bude većih problem. Objasni malo detaljnije
šta ti treba.
clipper.626bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
bumenu12 arj 9339 BuMenu 1.2, poboljsani sistem menija za Clipper (bulaja)
15.05.93 - v1.2
─────────────────
- omoguceno predefinisanje standardne UPPER() funkcije
- omoguceno predefinisanje standardne INKEY() funkcije
- ispravljena greska u tretiranju tastera predefinisanih sa SET KEY TO
(sada je potpuno podrzano redefinisanje)
clipper.627bcetina,
-> #611, ratman>> Interesantno, problem nestaje kada ne radim sa SELECT, nego
>> svaki put otvaram i zatvaram fajlove, sto jem naravno, neprakticno.
Mislim da jednostavno COPY STRU TO ne dozvoljava da TO datoteka bude
otvorena u trenutku kopiranja.
clipper.628bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
crc32 zip 5600* Clipper funkcija za racunanje 32-bit CRC (+ASM source)
netguide zip 27394* Network Guide za Clipper programere
clipper.629nbatocanin,
-> #619, bipin> Kako da iz GET-a upisem nesto u memo polje, npr.
Kao što neko reče, može pomoću WHEN, a možeš i pomoću izmene GET
reader-a. Kako se to radi, bilo je u jednom od prethodnih savetnika.
clipper.630ratman,
-> #627, bcetinaIzgleda da je tako, u medjuvremenu isprobao sam COPY TO i APPEND FROM
sa zatvaranjem i otvaranjem, i izgleda da samo tako radi!
Pomalo neprakticno, zbog indexa i tako to...
Thanx!
Dejan.
clipper.631ndragan,
-> #582, pavbok/ preporučio ako je to prava reč, upravi SEZAM-a da se preorjen-
/ tiše makar na PKZIP 2.0 zbog bolje i brže kompresije, da bi
Jel' će moći 'set archiver pkzip2' ?
clipper.632ndragan,
-> #585, snemcev/ č 5, 30 SAY 'trt-mrt'
/ č 5, 10 SAY 'bla-bla'
Ovo po difoltu generiše nov red; kad malo bolje razmislim, još jedan
ispis u peti red bi otišao na drugu stranu. Jesi li probao da odštampaš
to u fajl, tek da vidiš malo u heksu šta ima između '-mrt' i 'bla-', jel
samo CR ili samo LF ili CRLF...
Zar u kliperu ne postoji editor za izveštaje? Poslednji put sam ovako
pravio izveštaj pre godinu dana; otkako sam prešao na 'Modify report'
(FoxPro :), programi za štampe koji su tako pisani sveli su se sa
prosečnih 6K na 1,5K.
clipper.633ppekovic,
-> #621, bulaja>> Nazalost nikako :(. Jedino ako ti je MemoEdit potreban samo kao browse
>> (bez izmena), onda bi mogao nekako tako sto preusmeris tastere za
>> pomeranje kurzor (down, up, page,..) tako da azuriraju counter.
Bez izmena je trivijalno jer pri svakom pozivu UDF-a se
prosleđuje trnutna pozicija kursora.
>> No problem, samo definises svoje blokove za Skip, GoTop i GoBottom tako
>> da pomeraju pointer na trenutni slog, npr. nesto ovako:
Mislio sam da postoji nešto elegantnije. Hvala u svakom
slučaju.
Paya
clipper.634lkudlik,
Imam dva pitanja ?
1)
Pomocu cega da u clipperu napravim
slozeni izvestaj (na stampacu).
2)
Kako da BLINKER podesim da mi radi
inkrementalno linkovanje (kad ubacujem,
u dati program neki veci modul iz drugog
programa).Javi se poruka da se mora izvrsiti
linkovanje(klasicno).
Lkudlik ;)
clipper.635dejanr,
-> #634, lkudlik>> Pomocu cega da u clipperu napravim slozeni izvestaj (na stampacu).
Pogledaj tekst Nenada Batoćanina u majskim "Računarima", bavi se
upravo tim problemom.
Sistemski to se radi pomoću REPORT-a, ali ako ozbiljnije radiš na
Clipper-u predložio bih da sam napraviš neko rešenje (poput tog koje
je opisano u "Računarima") jer ćeš na duži rok lakše praviti izveštaje
i imaćeš potpuniju kontrolu nad njihovim izgledom.
>> Kako da BLINKER podesim da mi radi inkrementalno linkovanje (kad
>> ubacujem, u dati program neki veci modul iz drugog programa).Javi
>> se poruka da se mora izvrsiti linkovanje(klasicno).
Blinker po default-u radi inkrementalno linkovanje, proveri samo da
u .LNK fajlu nisi stavio BLINKER INCREMENTAL OFF. To znači da se iza
svakog .OBJ-a ostavi nešto prostora, za male izmene. Ako su izmene
veće, nema mu druge nego da nanovo linkuje. Koliko prostora ostavlja,
to se reguliše opcijama (pogledaj BLINKER.NG) ali mislim da je
podrazumevana vrednost dobra, tj. da bi veliko povećanje učinilo
čitav sistem neefikasnim, a malo ne bi ništa naročito promenilo.
clipper.636pavbok,
-> #631, ndraganB> Jel' će moći 'set archiver pkzip2' ?
Tako isto bi moglo i set archiver arj
set archiver zoo
set archiver arc
Pa ko voli nek izvoli.
clipper.637snemcev,
-> #632, ndragan>> Zar u kliperu ne postoji editor za izveštaje? Poslednji put sam ovako
U tome da štampam?!? Pa onda nemam nikakvu kontrolu nad štampanjem.
clipper.638dejanr,
-> #636, pavbok>> > Jel' će moći 'set archiver pkzip2' ?
>>
>> Tako isto bi moglo i set archiver arj
>> set archiver zoo
>> set archiver arc
Set srchiver arc valjda već sad može, set archiver arj i pkzip2 bi
trebalo da bude moguće na novom softveru kad jednog dana bude
instaliran, a set archiver zoo neće biti moguće jer taj arhiver
stvarno retko ko koristi.
clipper.639plus,
Molim da mi se javi neko ko ima Class(y). Unapred hvala!
P.S. Svojevremeno ga je bilo moguće skinuti sa HEKOM-a, ali
sad sam dobio ovakvu poruku:
CLASSY.ARJ 75512 bytes
*** Zo'n file-transfer gaat buiten uw limiet. ***
**** ***
H*** SORRY, DOWNLOAD NIET TOEGESTAAN ***
*** ***
*** Zie Bulletin 1 voon meer informatie. ***
clipper.640isimic,
Narode,
treba mi za Clipper biblioteka kojom bih na SVGA mogao prikazivati PCX sli~ice
u 256 boja. Probao sam sa Clipgraph, dGE, Flipper i Rshowpcx10 (uzeta sa
SEZAMA). Samo ova poslednja daje solidne rezultate, ali po{to je demo, ne mogu
da izbegnem pozdravnu poruku, i {to je jo{ gore, dozvoljava mi da vidim samo
prvu sli~icu koju pozovem iz aplikacije, posle vi{e ne}e da radi. Mo`e li mi
nekopomo}i.
Pozdrav,
Ivan.
clipper.641dejanr,
Evo spiska fajlova sa Blinker Support BBS-a (804 747 7333). Ako vas nešto
odatle zanima, mislim da će se naći mogućnost da se download-uje.
allblink.zipclipper.642ndragan,
-> #595, milanv/ nije menjano, ind. FILE je ispravan (ponovo reindeksiran),
Reindeksiranje izbegavam. Lakše mi je bilo da napišem program koji
generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga
skembeči indeksni fajl, na čelu sa zaglavljem mu, reindeks ne radi.
Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome
što ne moram da zipujem indekse (a od skora ni baze) kad selim
aplikaciju; program sam zna šta i kako treba da napravi.
clipper.643ndragan,
-> #600, jpiri/ U istu kategoriju spadaju i uslovni indeksi. Sada se sa 'index ..
/ for..'
žestitamo kolegama na prinovi. Stvar se u foksu, inače, zove "filtrirani
indeks". žime ću sad da vas davim?
/ da se najbolji rezultati postizu kod indeksa gde ima puno blankova
/ (npr. indeks po prezimenu, po gradu i sl.) a osobito kod indeksa gde
Glavni dobitak kod .cdx indeksa nije samo u tome, nego što ga foks
interno žestoko koristi za pretrage; naime, ako postoji strukturni
indeks, on se 1. otvara i osvežava automatski, 2. za sve pretrage tipa
polje=izraz, polje between izraz1 and izraz2, i raznorazne druge
kombinacije u svim naredbama gde postoji For opcija, koristi ga za
optimizaciju tako što čita sâm .cdx umesto da čita bazu (ako postoji
indeks po tom polju). Ubrzanja su drastična, čak desetostruka u nekim
slučajevima.
/ su samo postojeci nesto poboljsani (error handling u Tbrowse, neke fn
Postoje li Valid, Picture i When opcije na celom slogu i pojedinim
poljima?
clipper.644ndragan,
-> #602, ratman/ Zasto je fajl (zaista, proverio sam iz dbu i dbase III) necitljiv!
žemu ono kopiranje strukture ako se već kopiraju slogovi? Drugo, da se
ne buni što žvrljaš po otvorenom fajlu?
clipper.645bipin,
-> #622, bulaja║│Kako da iz GET-a upisem nesto u memo polje, npr.
║│č x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */
║└───
║Ne mozes direktno iz GET-a, ali bi npr. mogao
║
║ č y+,x SAY "Memo:" GET BiloSta WHEN ;
║ EVAL (š đđ ;
║ cMemo = MemoEdit (...) ,;
║ .F. ;
║ // vraca false da preskoci GET BiloSta
║ ć)
╚═════════
Radi, hvala.
Dodao sam samo PICT "Memo" da ne brlja dalje ekran,
jer ako stavim "XXXX" izbacuje prvih 4 karaktera iz memo polja.
Bipin
clipper.646bulaja,
-> #639, plus│P.S. Svojevremeno ga je bilo moguce skinuti sa HEKOM-a, ali
│sad sam dobio ovakvu poruku:
│CLASSY.ARJ 75512 bytes
│*** Zo'n file-transfer gaat buiten uw limiet. ***
└───
Pretpostavljam da ovo znaci da si presao file transfer limit :).
Pokusacemo da nabavimo taj Classy.
clipper.647snemcev,
-> #642, ndragan>> Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome
>> što ne moram da zipujem indekse (a od skora ni baze) kad selim
>> aplikaciju; program sam zna šta i kako treba da napravi.
Ja ovako radim od početka. Apropo ovoga: može li nešto u stilu
DbSetIndex(...)
IF nekakva_greška
INDEX ON ...
ENDIF
Ako postoji index, upotrebljava se, a ako ne postoji, kreira se nov. Ono
što mene muči je kad van matičnog programa (nemoj da me neko pita zašto)
izmenim neke podatke koji učestvuju u ključu nekog indeksa. Onda indeksi
(što je i normalno) ništa ne valjaju, i rešenje je jedno DEL *.NTX a
zatim startovanje aplikacije koja sama napravi sve indekse. Ovo i nije
tako loše kad baze još nisu pune, al' kad je svaka po par mega sa po dva
indeksa, brzo ti presedne programiranje.
Rešenje bi (možda) bilo da se proverava datum izmene indeksa i datum
izmene baze, pa ako je datum izmene baze noviji, ajmo reindex, a ako
nije, sledi obično DbSetIndex. Jedini problem koji bi tu (eventualno)
iskrsao je šta kad su u bazi menjani podaci koji ne ulaze u ključ
indeksa? Došlo bi do bespotrebnog ponovnog kreiranja indeksa što i te
kako ume da potraje.
Pitanje za ovu poruku je: ima li iko pojma (ili knjigu za Clipper koja
zalazi u sitna crevca) da li se datum na indeks fajlu (ako je index
otvoren, normalno) ažurira sa svakom promenom baze? Ako je odgovor DA,
onda kako najlakše, bez preteranih egzibicija sa FOpen i sličnim
funkcijama, pročitati datum sa datoteke? Nešto u stilu DajGa('trt.mrt').
Teoretski, sva ova pitanja su nepotrebna jer zašto bi neko menjao
podatke van matičnog programa? Ja to često radim zbog dobitka na brzini.
Lakše mi je startovati dbu i izmeniti dva sloga nego startovati
alikaciju, sačekati da ona kreira indekse koje ću minut kasnije
pobrisati, prošetati se po menijima i maskama... Jednom rečju - brže mi
je ovako.
clipper.649fstevo,
-> #641, dejanrDatoteka SUB_SET2.ZIP (dDBE(DBEDIT with a WHILE clause) je vrlo zanimljiva!
Ako ima još zainteresovanih predlažem da se prva download-uje.
Pozdrav kliperašima!
clipper.650dior,
da li neko ima Norton guide za graficku biblioteku FLIPPER za CLIPPER.
Pozdrav Slavisa
clipper.651ladislavs,
-> #638, dejanr> Set srchiver arc valjda već sad može, set archiver arj i
> pkzip2 bi trebalo da bude moguće na novom softveru kad
Zar ne reče da je već sad moguće staviti PkZip 2.04?
ciLa.
clipper.652mrajacic,
-> #639, plusOvo sto si dobio otprilike znaci da si prekoracio neke limite
neznam Nemacki "tecno", saljem ti trazeni fajl mislim da je to
sto ti treba. Moze biti interesantno i drugima jer se radi o
MENI sistemu objektno reseno.
Pozdrav Milan
clsymenu.zipclipper.653d.petrovic,
-> #650, diorIma, samo mu nisu tu dikstle. Ako ne dobijes taj flipper.ng u skorije
vreme podseti me. U stvari... cini mi se da ima :), jer je flipper
davno bio na disku pa kako nisam imao vremena da ga protresem
utamanio sam ga.
clipper.654dejanr,
-> #651, ladislavs>> Zar ne reče da je već sad moguće staviti PkZip 2.04?
Pa, negde je na granici, tj. moguće je ali bi moglo da pravi
probleme u nekim podsistemima kada je deo memorije alociran
za eksterni program. Zato smo rešili da novi arhiveri sačekaju
novi softver.
clipper.655pusa,
Moj drugar (nije na sezamu) se zanima da li se nekom desilo
da sa blinker incremental off linkovan program radi, a kada je
incremental on sve radi osim TBROWSE. Kad dodje u TBROWSE prosto
se zamrzne. Ima li tu nekog leka?
clipper.656dr.grba,
-> #642, ndragan>> generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga
>> skembeči indeksni fajl, na čelu sa zaglavljem mu, reindeks ne radi.
>> Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome
U ovome ti potpuno držim stranu. Idem u svojim programima dotle da
vezujem ispitivanje integriteta baza i indeksa na nekim karakterističnim
mestima u programu, što je vezano sa modulima za kreiranje baza/indeksa.
Pa, mislio sam da je tako nešto sasvim normalno u projektovanju zaštite.
A krajnja intencija je da XXX.EXE može sam da se distribuira, eventualno da
se smlati neki INSTALL program... I da me korisnik ne zove zbog gluposti...
Zbog svega ovoga do dana današnjeg nisam načisto da li da upotrebljavam
bazu strukture i opisa okruženja. Imam neke defaulte i pripremljen prostor
da za sat vremena prešaltam celu aplikaciju na eksterni zapis, ali to ne
radim. Šta kažu kolege koje imaju takve programe? Možda
if file(struct)
... // pročitaj iz baze, pa uključi te vrednosti
else
... // uključi defaulte iz programa i javi da nema
// baze strukture
endif
žini se, na prvu loptu, sasvim jasno i lako, ali mi miriše na zamku,
na nešto što tek treba da mi napravi probleme u budućnosti. Sada ne
pričam o eksperimentisanju, već o realnim uslovima pod kojim neki
program radi kod korisnika...
Vidim, pridružuju nam se i drugari iz PLUS-a, oni bi i te kako imali
šta da kažu (;
Pozdrav, dr Grba
clipper.657dr.grba,
-> #643, ndragan>> žestitamo kolegama na prinovi. Stvar se u foksu, inače, zove "filtrirani
>> indeks". žime ću sad da vas davim?
Ne mogu više...
Usrdno molim da se za mog zemljaka otvori tema "stari lisac"
u kojoj će se pričati o prednostima FOX baterije u odnosu na
Clipper i ostalo. (;
Šta misliš, zašto se Clipper više koristi nego FoxPro na ovim
našim prostorima? Kakvo je poredjenje tamo gde svi (ili skoro svi)
kupuju svoje kompajlere i razvojne sisteme?
U ovom trenutku na stranu poredjenje, ali postoje (nažalost samo
hipotetički ):) uslovi u kojima vidim sebe kao programera u FoxPro
okruženju. Možda bih bio spreman i da žrtvujem sve što sam
dosada razvio u Clipperu... Ali, priča ide drugim tokom...
clipper.658pavbok,
-> #638, dejanrB> Set srchiver arc valjda već sad može, set archiver arj i
B> pkzip2 bi trebalo da bude moguće na novom softveru kad jednog
B> dana bude
Kada će taj lep i sunčan dan?
clipper.659milanv,
-> #642, ndragan║║ Reindeksiranje izbegavam. Lakše mi je bilo da napišem program koji
║║ generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga
Ne znam da li sam bio dovoljno jasan, možda i nisam, ali mi
cilji i nije bio da objašnjavam način rada programa (potpuno se
slažem sa tobom i tvojom koncepcijom), problem je bio u tome da je
i posle DEL *.NTX, a zatim kreiranja novih indeksnih fajlova,
program, a zatim i DOS ponavljao poruku (program da fajla nema,
a DOS - MEMORY ALOCATION ERROR).
Na moje zadovoljstvo problem je rešen ispravkom hardverske
greške (o načinu ispravke u poruci 9.620) :).
U svakom slučaju, hvala na trudu...
Pozdrav, Milan.
clipper.660snemcev,
-> #656, dr.grba>> if file(struct)
>> ... // pročitaj iz baze, pa uključi te vrednosti
>> else
>> ... // uključi defaulte iz programa i javi da nema
>> // baze strukture
>> endif
Ovo je interesantno. Ja sam radio po sistemu da se baze kreiraju
direktno iz aplikacije, al' me jedna rečenica u stilu "zašto mislite da
je sam .exe sigurniji od .dbf?" objavljena u tekstu "Knjiga u kojoj sve
piše" naterala da se prebacim na
if file(struct)
... // pročitaj iz baze, pa uključi te vrednosti
else
... // javi da nema baze strukture, a po mogućnosti
// zaglavi računar
endif
Ako nema baze strukture, logično je pomisliti da je još nešto za*ebano.
Bolje da me tad zovu nego kad oštete i ostale podatke, ako ih nisu već
uništili :(
clipper.661ndragan,
-> #647, snemcev/ onda kako najlakše, bez preteranih egzibicija sa FOpen i sličnim
/ funkcijama, pročitati datum sa datoteke? Nešto u stilu
/ DajGa('trt.mrt').
U FP2.0 pa nadalje, postoji funkcija adir()
n=adir(niz,filespec,<attr>)
gde je n broj fajlova koji pasuju za _filespec_, _attr_ opcioni
argument koji sadrži proizvoljnu kombinaciju slova H, S, R, A, D, V
(hidden,... , directory, volume label) a _niz_ će biti kreiran i imaće
sledeću strukturu:
niz(i,1) File names Character
niz(i,2) File sizes Numeric
niz(i,3) File dates Date
niz(i,4) File times Character
niz(i,5) File attributes Character
Zgodan štos za rad sa gomilom fajlova je programče tipa
n=adir(fajlovi,"*.trt")
for i=1 to n
muljaj_nešto with fajlovi(i,1)
endfor
Opet, moguće je napraviti slučajeve kada je n obavezno jednak 1 ili 0,
što bi moglo da gađa pojedini .ntx (ili .cdx) fajl, pa da se vidi ne
samo datum nego i vreme. To koristim, recimo, kad hoću da se nekoj
sitnoj datotetci ne obraćam kroz mrežu, nego da je iskopiram na lokalni
disk, pa me zanima da li je kopija starija od originala. Sravnjujem
upravo pomoću Adir, što mi uštedi dva otvaranja (ono, Use to_i_to,
datum=lupdate() i slično).
clipper.662ndragan,
-> #637, snemcev/ U tome da štampam?!? Pa onda nemam nikakvu kontrolu nad štampanjem.
Hteo sam da pitam da li postoji editor i kakav je.
Na šta misliš pod 'kontrolom nad štampanjem'? Na ispitivanje statusa
štampača pre svake linije? Za to se lepo šalje štampa u fajl, pa se taj
fajl ponudi na pregled (koliko to hartije uštedi - mnogo puta samo hoće
da vide nešto), pa se eventualno ponudi i bacanje na papir, a tamo već
čitaš taj fajl i štampaš ga red po red, i imaš kontrolu do daske.
clipper.663ndragan,
-> #656, dr.grba/ A krajnja intencija je da XXX.EXE može sam da se distribuira,
/ eventualno da se smlati neki INSTALL program... I da me korisnik ne
/ zove zbog gluposti...
Jedna druga stvar je takođe u igri. Treba da izmenja strukture baza kad
donesem novu verziju, ili da izmisli i nove baze ako ih u novoj verziji
ima, i da pritom prihvati i postojeće podatke i prebaci ih u novi
format. Napisao sam generator rutina koje to rade, a na kraju takvih
rutina obavezno se startuje rutina za indeksiranje.
Šta se toliko bojite indeksiranja? Ne traje to toliko dugo.
clipper.664ndragan,
-> #657, dr.grba/ Šta misliš, zašto se Clipper više koristi nego FoxPro na ovim
Slično sam čuo svojevremeno od šefa u prethodnoj firmi, kad sam ga
ubeđivao da pređemo sa kobola na bilo šta drugo, makar da neke stvari
uradim u vaks bejziku. Zaključak: svi rade kobol zato što svi rade
kobol.
/ U ovom trenutku na stranu poredjenje, ali postoje (nažalost samo
/ hipotetički ):) uslovi u kojima vidim sebe kao programera u FoxPro
Odluka o napuštanju klipera u korist foksa doneta je još 1988, posle
dužih analiza brzine, vremena potrebnog za stvaranje generatora i još
nekih stvari. Tada još nisam bio u ekipi, ali sam zadovoljan odlukom.
Foks jednostavno bolje leži mojoj prirodi - ponaša se kao kompletan
interpreter, sve mogu odmah da probam, linije koje otkucam u komandnom
prozoru ladno kopiram u program itd. Jeste postao glomazan, ali kad uđeš
imaš sve što ti treba, i ne moraš uopšte da izlaziš u DOS. Ko oni
američki turisti u Veneciji: "u kampu smo imali sve, i prodavnice, i
bioskope, i restorane, i nijednom nismo morali da idemo u grad".
clipper.665draganf,
Da li se kome desilo da prilikom APPEND BLANK Clipper javlja "Internal
error (19)" i to dva put uzastopce. Kada iz programa izdvojim samo tu
proceduru desi se da prođe normalno (90% slučajeva). Ovo se iznenada
počelo dešavati iako na programu nisu vršeni nikakvi zahvati.
Dragan
clipper.666dejanr,
-> #665, draganf>> Da li se kome desilo da prilikom APPEND BLANK Clipper javlja "Internal
>> error (19)" i to dva put uzastopce.
"Miriše" na problem sa indeksima, probaj da reindeksiraš datoteku.
Gadna stvar kod tih internal error-a je što izleće iz programa, izgleda
da ne konstatuje error handler kad mu se to desi.
clipper.667snemcev,
-> #661, ndragan>> U FP2.0 pa nadalje, postoji funkcija adir()
>> n=adir(niz,filespec,<attr>)
Pa da! Kako se nisam setio onog Directory() iz Clipper-a! Znači, pored
"Knjige u kojoj sve piše" netreba mi ništa više. Hip, hip, hurah!
clipper.668snemcev,
-> #662, ndragan>> Na šta misliš pod 'kontrolom nad štampanjem'? Na ispitivanje statusa
>> štampača pre svake linije? Za to se lepo šalje štampa u fajl, pa se
>> taj fajl ponudi na pregled (koliko to hartije uštedi - mnogo puta
>> samo hoće da vide nešto), pa se eventualno ponudi i bacanje na papir,
>> a tamo već čitaš taj fajl i štampaš ga red po red, i imaš kontrolu do
>> daske.
Jeste. Tako i radim, al' za kreiranje izveštaja na disku koristim sam
program a ne one .FRM fajlove Clipper-a. Ako radim preko .FRM kako da mu
objasnim da ako je konto sintetički, da ga najavi određenim zaglavljem,
zatim ispiše sva njegova analitička konta, to sabere, sabere i klasu i
na kraju da Grand total. Pa još po ukusu dodaj bold, italic, underline i
slične estetske dodatke. Verovatno se nisam dobro odrazio - pod
kontrolom nad štampanjem podrazumevam sve od kreiranja izveštaja,
preview-a, pa do otiska na papiru.
clipper.669draganf,
-> #666, dejanr> "Miriše" na problem sa indeksima, probaj da reindeksiraš
> datoteku.
>
Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu
znači pojedini "internal".
Dragan
clipper.670dcolak,
-> #669, draganf│ Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu
│ znači pojedini "internal".
U originalnom uputstvu ? ;)
Sledge DAMMIR!
clipper.671dejanr,
-> #670, dcolak>> > Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu
>> > znači pojedini "internal".
>>
>> U originalnom uputstvu ? ;)
To je sigurno poslednje mesto gde ga treba tražiti. Što se tiče autora
programa (ne samo Clipper-a), interne greške ne postoje ;) One zapravo
kažu da program nije dovoljno debagovan
Koliko sam video, u uputstvu za Clipper nema spiska internih greški.
clipper.672ppekovic,
-> #669, draganf>> Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu
>> znači pojedini "internal".
Meni se to dešavalo dok sam koristio hyperdisk cache. Od kada
sam ga skinuo, čuk, čuk, ...
Paya
clipper.673draganf,
-> #672, ppekovicStvar je završila tako, da kad nije pomoglo ni uklanjanje svega iz
config.sys i autoexec.bat (što se može skloniti), urađeno je sve
nanovo (ll diska, format, instaliranje programa itd.). Ispostavilo
se da je compress kod analize medija našao dosta loših sektora koji
nisu bili u FAT-u označeni kao takvi. Kad smo ponovo počeli raditi sve
je išlo par sati dobro pa su ponovo počeli problemi sa diskom (loši
sektori). Ispada da se nekako dešavalo da se neki datoteke djelom bile
na "labavim" sektorima (tj. APPEND BLANK je vjerovatno probao da udari
na taj sektor). Neznam pametno objašnjenje ali ovako nekako ispada,jer
progam već dve godine radi i ovo mu je prvi put da pravi probleme.
Dragan
clipper.674bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
clip52a zip 96584 CA-Clipper 5.2a - update sa verzije 5.2 (USA verzija)
CA-CLIPPER 5.2a - MAINTENANCE RELEASE UPDATE NOTES.
To address the minor problems found with the initial release of CA-Clipper 5.2
Computer Associates has produced patch files to update version 5.2 to version
5.2a.
PROBLEMS ADDRESSED BY CA-Clipper 5.2a
o C3049 - String Space exhausted. - Change to CLIPPER.EXE
The compiler has been changed to increase the available string
space. Developers whose applications compiled with this error in
previous versions of Clipper should no longer receive this error
message.
o Debugger Break Point Handling. - Change to CLD.EXE & CLD.LIB
The debugger has been changed to improve Break Point handling.
Developers who noticed difficulty in setting break points or noticed
that break points were lost upon application restart will no
longer have problems.
o Memoedit() double spacing problem. - Change to EXTEND.LIB
The Memoedit() function has been changed to alleviate a double
spacing effect which sometimes occurred. The only developers who
noticed this problem had memo field data which had a trailing space
at the wrap point. While this problem was uncommon it could be
very disconcerting in applications where the format of memo field
data is important.
o Inkey() setting Lastkey() to 0. - Change to CLIPPER.LIB
The Inkey() function has been changed. The Inkey() function in
CA-Clipper 5.2a will only set the Lastkey() value when a key is
drawn from the keyboard buffer. The Inkey() function in version
5.20 set the Lastkey() value to 0 when there was no key in the
keyboard buffer to retrieve and the time value expired. The 5.20
behavior had an adverse effect on several systems which use
Inkey(); for example Memoedit() with a custom UDF() where the UDF()
had been coded to expect the last navigational key pressed to be
available via Lastkey() would receive a value of 0.
o OrdSetFocus() tag in lowercase. - Change to DBFNTX.LIB
The OrdSetFocus() function will now accept parameters in any case.
Developers who changed their applications to use order names rather
than order numbers noticed that unless the name was in upper case
the order established would be natural (no) order. This problem was
unique to the DBFNTX driver.
o Tools-II with Clipper 5.2x - CT2PATCH.OBJ
Developers using Tools-II noticed unresolved symbols at link time.
This file will resolve these problems and should be included
as an object on the link line.
clipper.675bulaja,
-> #674, bulaja│CA-Clipper 5.2a - update sa verzije 5.2 (USA verzija)
└───
Da jos jednom napomenem da je ovo update SAMO za USA (americku) verziju
Clipper-a 5.2. Potrudicemo se da nabavimo i medjunarodnu (international)
verziju.
Do you know if you have US or International product?
If you are unsure which version of CA-Clipper 5.2 you have installed on
your machine you should go to your OBJ directory and look for a file
called NAT_OBJ.EXE.
EXAMPLE:
C:\CLIPPER5\OBJ> DIR NAT_OBJ.EXE
If this file is present then you have the International version.
If this file is not present then you have the US version.
clipper.676arazumenic,
Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom /w
i kako da ga izbegne?
Clipper (R) Version 5.01
Copyright (c) Nantucket Corp 1985-1991. All Rights Reserved.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
151K available
Compiling LISTANJE.PRG
LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST'
LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST'
LISTANJE.PRG(84) Warning C1004 Ambiguous reference, assuming memvar:
'GETLIST
'
LISTANJE.PRG(97) Warning C1003 Ambiguous reference: 'GETLIST'
LISTANJE.PRG(98) Warning C1003 Ambiguous reference: 'GETLIST'
LISTANJE.PRG(98) Warning C1004 Ambiguous reference, assuming memvar:
'GETLIST
'
6 warnings
Evo kako izgledaju doticne linije:
@ 23,2 say "OPIS:" get Opis <- linija 83
read <- linija 84
Varijabla Opis je deklarsana kao LOCAL.
A kako god joj promenio deklaraciju, ne mogu da izbegnem ovu gomilu warnig-sa,
sto prilicno smeta kada se ovako prevodi program.
Sasa
clipper.677dejanr,
-> #676, arazumenic>> Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom
>> /w i kako da ga izbegne?
>> LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST'
>> LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST'
Javlja se zato što Clipper radi prevođenje u više nivoa, zapravo postojeći
Clipper jezik je neka vrsta "predprocesora" za Clipper jezik nižeg nivoa,
pa je onda to "predprocesor" za nekakav P kod. Ukratko, GET naredba u stvari
postoji tek zbog kompatibilnosti, a interno se to drugačije prevodi. GETLIST
je jedna struktura na nivou programa, uvedena baš da bi se sačuvala ta
kompatibilnost.
Lek: na početak procedure stavi LOCAL GETLIST={} i... to je sve! Naravno,
ako procedura poziva neku novu proceduru koja treba da "nastavi" GET,
onda u njoj ne treba staviti LOCAL GETLIST={} nego GETLIST preneti kao
argument. Bitno je da u svakoj proceduri u kojoj se koristi GETLIST bude
deklarisan.
Inače, podržavam prevođenje sa /W, i meni je mnogo puta pomoglo
clipper.678pjankovic,
-> #655, pusa> incremental on sve radi osim TBROWSE. Kad dodje u TBROWSE
> prosto se zamrzne. Ima li tu nekog leka?
Meni se desava da se jako uspori, ali se nikada nije blokirao.
To vazi samo za 286. Na jacim masinama skoro i ne primjecujem razliku u
brzini izvrsavanja programa, cak ni kada udje u TBROWSE.
clipper.679bingo,
-> #625, nbatocaninNeso KAKO u pgledu pre stampe na stampanom izvestaju da u recimo
gornjem desnom uglu otkucam graficki amblem u nekom od grafickih
formata (.pcx,.gif....) i kako u mreznom radu omogucim da dvoje
otvore dva razlicita izvestaja ???
Otkrio sam bag u prepravljenom CLIPPERU
funkcija Aeval() ne radi uvek kako treba 5 do 6 puta uradi dobro
a onda 7 put ne uradi dobro. Konkrtno u nizu sam brojao koji je najduzi
clan niza (za menije,poruke itd..) . Kod kracih clanova niza je u redu
ali kod duzih se cudno ponasa. Proverio sam sa FOR NEXT petljom onda radi
normalno
IMALI JOS KO TAKAV PROBLEM ????
Pozdrav BINGO
clipper.680nbatocanin,
-> #650, dior> da li neko ima Norton guide za graficku biblioteku FLIPPER
> za CLIPPER.
Zar se NG ne dobija uz Flipper?
clipper.681nbatocanin,
-> #652, mrajacicTo nije ono što čovek traži: potreban mu je Class(y), a ne demo za
njegovo korišćenje. Ako neko ovo ima, neka mi se javi, i mene
interesuje. Nego, kako se pristupa ovom BBS-u?
clipper.682nbatocanin,
-> #655, pusa> Kad dodje u TBROWSE prosto se zamrzne.
Očigledno problemi sa memorijom. Ili da isključi INCREMENTAL ili
korišćenje EMS memorije.
clipper.683mrajacic,
-> #681, nbatocaninMoguce da nije to no mislim da je sasvim moguce i iskoristiti
postojecu biblioteku da se ponesto uradi, mozda ima nesto i kompletnije
ali nisam nasao iako je spisak fajlova na tom BBS-u fajl od 250 Kb.
Pozoves broj koji je naznacen u zaglavlju i odgovaras na pitanja u
pitanju je PCboard pa se snadji bez novaca (SAMO PTT) mozes dosta toga
da skines, ako hoces da ti dostavim spisak pa da neskidas sto sam ja vec.
Pozdrav Milan
clipper.684mrajacic,
Iteresantno resenjae slanja FAXSA iz Clippera
Nova datoteka za razmatranje.
Pozdrav Milan
fpclip.zipclipper.685bora,
-> #602, ratmanUse enzy New
Copy To enz1pat
Use enz1pat New
Select 2
List ... i sve ostalo
Bora
clipper.686arazumenic,
-> #677, dejanr->>> Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom
->>> /w i kako da ga izbegne?
->>> LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST'
->>> LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST'
->Javlja se zato sto Clipper radi prevodenje u vise nivoa, zapravo postojeci
->Clipper jezik je neka vrsta "predprocesora" za Clipper jezik nizeg nivoa,
Hvala lepo.
Sada dobijam cist ekran, i 0 warning-sa.
Sasa
clipper.687nbatocanin,
-> #679, bingo> Neso KAKO u pgledu pre stampe na stampanom izvestaju da u
> recimo gornjem desnom uglu otkucam graficki amblem u nekom
> od grafickih formata (.pcx,.gif....) i kako u mreznom radu
> omogucim da dvoje otvore dva razlicita izvestaja ???
Ovo prvo je moguće jedino ako je ekran u grafičkom modu, a Clipper
radi u tekst modu, pa izlazi da ne može. Međutim, neke grafičke
biblioteke imaju dodatke za Clipper koji omogućavaju da aplikacija
bez ikakvih prepravki proradi u grafičkom režimu, a onda je prosto
nacrtati simbol. Što se tiče mreže, moraš generisati različite nazive
za izveštaj svakog korisnika. Znači, umesto PART1.PRT, USER1_01.PRT
ili nešto sl.
> Otkrio sam bag u prepravljenom CLIPPERU
Ovo je dosta neobično, lično nisam ništa primetio. Pošalji deo
programa koji brlja.
clipper.688snemcev,
-> #683, mrajacic>> ali$nisam nasao iako je spisak fajlova na tom BBS-u fajl od 250 Kb.
^
Ovo me već nervira! Jel' neko piše te dolare, il je Sezam pod uticajem
depresora centralnog nervnog sistema?!? Tri puta u istom pad-u. Po mom
mišljenju, to je dovoljan razlog da neko iz uprave reaguje. Na dve
pojave dolara sam reagovao odgovorom, a na jednu poruku (u Vicevima,
nesećam se koja) nisam.
clipper.689snemcev,
-> #685, bora>> Use enzy New
>> Copy To enz1pat
>> Use enz1pat New
>> Select 2
>> List ... i sve ostalo
A šta će ti ono 'Select 2'?
clipper.690gari,
U dokumentaciji za Clipper 5.2 ne pise,
a nije kompatibilno sa C 5.01:
Mora da se na svim mestima u programima
promeni Close &ime_dat
u Close (ime_dat)
Pozdrav svima,
Gari
clipper.691vdarko,
Na molbu dPauna, koji više nije na Sezamu, ali "preko ramena" prati
ponešto od Clipper diskusija, postavljam sledeća pitanja:
1) Zna li neko nešto pobliže o alatima dBfee30 i iQery? Ovaj drugi sadrži
rutine za brzo indeksiranje, pronalaženje loših slogova i sl.
2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker?
3) Uz sve pohvale naporima nBatoćanina da od MemoEdita učini podnošljiv
editor, predlaže usmeravanje diskusije na ispitivanje mogućnosti
uključenja spoljnog editora za obradu teksta. DPaun je eksperimentisao
sa Q.EXE, ali je problem u tome što se prilikom kasnijeg MemoEdit-ovanja
teksta pisaog u Q, vidi "Ź" /CHR(141)/ ... Može li se, nekako, tekst
pisan Q-om "pročešljati" i meki markeri usaglasiti sa MemoEdit standardom?
clipper.692snemcev,
Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u direktorijumu.
clipper.693smilan,
Nešo, .ch datoteka hitno potrebna.
Šifra "Nestrpljivi" :))
clipper.694smilan,
Prilikom startovanja RMAKE, a ponekad i kod normalni BAT radnji na tu temu,
javlja mi se greška:
BLINKER : 1173 : Internal error - EMS error code 93H
Error RMAKE / R2001 Exit1 : 'blinker @pos'
Naravno, u AUTOEXEC.BAT imam red sa EMS drajverom. Imam 2 MB rama i isključen
keš. U Blinker LNK fajlu postavio sam i liniju sa FILE ...
Draga Saveta, šta da radim. Pomišljam na najgore... :)))
P.S. Naravno, kada posle prijave ove greške otkucam samo red sa:
blinker @pos
sve proradi. Kod većih programa se posle ovoga dobije EXE fajl, ali
ponekad kod startovanja opet prijavi EMS error.
Pozdrav
clipper.695dr.grba,
-> #660, snemcev>> Ako nema baze strukture, logično je pomisliti da je još nešto za*ebano.
>> Bolje da me tad zovu nego kad oštete i ostale podatke, ako ih nisu već
>> uništili :(
Da, u pravu ste i ti i Nenad... Ali, ja ću da ubacim "ali".
Ipak treba makar kriptovati polja baze strukture, ne bih voleo da mi neko
objašnjava kako da hakerišem sopstveni program... ili da mi ne objašnjava,
nego tiho i tajno upotrebljava DBU, pa kad nešto zas*re, ode kod direktora
i kaže da sam ja kriv.
(ovde me zamisliti kako škrgućem zubima)
Da ne bi ispalo da skrećem temu, već sam se pozitivno deklarisao u odnosu
na ideju korišćenja baza strukture. Ja samo nisam sposoban da smislim išta
pametno da zaštitim program od korisnika...
***
Uto evo i nove priče iz ličnog iskustva.
Zvoni telefon u mojoj kancelariji.
- Dragane, ovde XXX iz interne banke. Neće da radi indigo!
- ): ? (koji crni indigo je spopao?)
- Pa, ne mogu da štampam naloge...
Za tamo neke naloge koristi se NCR papir 1+2. Sve je jasno...
- O'ma' dolazim.
- KLIK.
Uletim u inkriminisanu prostoriju, obrušim se na štampač, tamo naopako
postavljen NCR papir (sa dvadesetak već potrošenih listova, al' nećemo
sad o tome). Izvadim papir, po običaju proverim stranu ključem (nikad
napamet), ona osoba viče "šta da radimo, šta da radimo?", ja okrenem papir
itd. itd, a ona posle po firmi priča kako ja umem da popravim štampač.
EPILOG : Kad je crkao linijski štampač, dok sam čekao servirera i neke
duge štampe bile odložene, jedan rukovodilac je pitao "Pa zašto ga ti
ne popraviš...".
Mamin mali programer...
I posle da takvima prodajem neki nazovi koncept baza podataka i mreža i
komunikacija i rke-koke, kamoli da im ostavljam programe zbog kojih ću
posle plakati...
clipper.696dr.grba,
-> #663, ndragan>> Šta se toliko bojite indeksiranja? Ne traje to toliko dugo.
Ja se uopšte ne plašim indeksiranja. Štaviše, u mojim programima NIGDE
ne postoji reindex(), već odgovarajuća funkcija koja kaže
if file(indeksni fajl)
delete ovaj i onaj indeks,
endif
// pa onda lepo
index on izraz
Funkcija je jedinstvena za aplikaciju i šta ima da se mislim jel' dobar
keš program, jel' ima 889 nepovezanih klastera, jel' ga boli stomak itd.
clipper.697dr.grba,
-> #664, ndragan>> uradim u vaks bejziku. Zaključak: svi rade kobol zato što svi rade kobol.
O, da.... ))):
>> Odluka o napuštanju klipera u korist foksa doneta je još 1988, posle
>> dužih analiza brzine, vremena potrebnog za stvaranje generatora i još
>> nekih stvari. Tada još nisam bio u ekipi, ali sam zadovoljan odlukom.
Analiza? Analiza? Š'a to beše? Plan razvoja? Projekat aplikacije?
Snimanje postojećeg stanja? Modularno programiranje? Rasad paradajza?
U mom okruženju ima programera(ki) koji su završili višu lavirintsku,
bar im se vidi po kodovima...
---> Swans? What swans?
clipper.698dr.grba,
E, pazi sad.
U svoje vreme, kad sam postavljao okruženje za Clipper 5.01, ispitivao
sam kako je najbolje postaviti okruženje da bi mi bilo lakše, brže itd.
Jedna od stvari koje sam našao za valjane je svakako i ramdrive koji
služi kao temp direktorijum za snjap i intermediate fajl.
Nakon milion godina, dobijem ti ja DOS 6.0 (znaju oni koji prate ms.dos
temu u PC.OS (;). I počnu problemi... Prilikom kompilacije programa :
Fatal C3032 : Can't create intermediate file
Molim? Kako? Zavirim u NG, kaže "uključi /t svič i nema boli glava".
Uključim /t svič, proradi, al' glava boli od pitanja.
Prošlo je neko vreme, /t je radio, i danas se uzjogunim da otkrijem kvaku.
Prvi trag sam dobio kada se programu MSD na startu nije dopalo
set tmp=i:Đ;d:Đtemp
I: je ramdrive, veličine 640 K - odrekao sam se keša. Dodao sam i d:Đtemp,
jer poštujem bon-ton. Upozoravam da navedene putanje postoje...I tako je
stajalo godinu dana. Ali, MSD kaže "Environment string is invalid".
Šta tu ima da je neispravno?...
I počne kombinovanje tmp varijable. Pa kako, pa zašto,...otkrijem da mu
separator ';' smeta, tj. da nema šanse da se prihvatwe dva direktorijuma
za tmp!!! Daj, pa ovo nema smisla. Probam da se iživljavam :
SET LIB=K:ĐLIB;C:ĐDOS;D:ĐTEMP ( K: je subst drajv, D:ĐCLIP501 )
I radi...
Slično sam razbucivao i INCLUDE direktorijum, i radi...
Ali dva direktorijuma u tmp ne prihvata. A da, onaj idiotski SET LIB i
SET INCLUDE ne smetaju MSD-u.
I sad stoji samo SET TMP=i:Đ i radi bez sviča /t. I prolaze sve kombinacije
koje u TMP varijabli nemaju ';', tj. samo jedan direktorijum. A ako se desi
da temp file prilikom linka preraste sav dodeljen prostor, link će pući, što
je empirijski dokazano. To mi se, doduše, još nije desilo u praksi, ali zato
ne volim neizvesnost.
U MS DOS 5.0 nije bilo frke. Nije mi jasno.
Ima li sličnih iskustava? Ima li ideja?
P.S. Možda je ipak trebalo ovo u PC.OS, ali me najpre zanima da li je iko
baš u sličnim okolnostima doživeo slično.
clipper.699dr.grba,
-> #692, snemcev
>> Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u direktorijumu.
Je li bre, koji sam ti andrak pozajmio knjigu od Spence-a ? (;
clipper.700lkudlik,
>> Pomocu cega da u clipperu napravim slozeni izvestaj (na stampacu).
Ja inace kreiram izvestaj u R&R RELATIONAL REPORT WRITER.(ver 3B)
To je programce(moze se reci i biblioteka) koje moze da radi sa:
-dbase IV
-clipper
-dBXL
-FoxBASE+
-Quicksilver
Prvo startujes dati program uzmes dati format(clipper) vidis kako ce
izgledati sam izvestaj a zatim ga prevedes u prg.I zatim u programu
ga pozoves sa DO (stampa.prg) i kompajliras.
Interesuje me dali je ovo verzija za 5.01.
Program je inace HAOS za pravljenje izvestaja kako jednostavnih
tako i slozenih.
Lkudlik
clipper.701snemcev,
-> #691, vdarko>> 2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker?
Probaj na Euklidu, odande sam ga ja skinuo.
clipper.702snemcev,
-> #699, dr.grba>> Je li bre, koji sam ti andrak pozajmio knjigu od Spence-a ? (;
Ali zar nije beskrajno lakše tražiti na Sezamu nego listati knjižurinu
od preko 500 strana? ;))) Btw, savest mi nalaže da kažem da negde na
disketama imam definisano i repeat-until i još par korisnih stvarčica.
Nije mi teško da napišem
#define REPEAT while .t.
#define UNTIL <exp> if !<exp> loop end
Znam da Sezam drži do sebe, pa kako onda izgleda da u svojim
direktorijumima ima nekompletne arhive. O:)
Na konto ove diskusije, pade mi na pamet (uf, al' je bilo teško ;) - da
li bih mogao da u STD.CH ubacim neke svoje naredbe, al' da pri
prevođenju ne koristim onaj 'alternate command set' tj. da nisam
obavezan da mu uz svaku naredbu za prevođenje dodajem nešto poput
/trt_mrt:MOJ_STD.CH? Može li i ovo da se utrpa u neku environment
promenljivu, CLIPERCMD npr?
clipper.703snemcev,
-> #694, smilan>> BLINKER : 1173 : Internal error - EMS error code 93H
Blinker.ng kaže:
Error 1172-1175 should not occur in normal operation. Please contact...
clipper.704snemcev,
-> #695, dr.grba>> Ipak treba makar kriptovati polja baze strukture, ne bih voleo da mi
>> neko objašnjava kako da hakerišem sopstveni program... ili da mi ne
>> objašnjava, nego tiho i tajno upotrebljava DBU, pa kad nešto zas*re,
>> ode kod direktora i kaže da sam ja kriv.
O ovome zaista treba razmisliti. Zasad sve korisnike držim pod budnim
okom i čim primetim nešto što odstupa od normalnog, alarm proradi. Al'
šta kad prodam program u 20,000,000 primeraka :)) Ko onda da pazi? A
treba misliti na budućnost... :))
clipper.705snemcev,
-> #696, dr.grba>> Funkcija je jedinstvena za aplikaciju i šta ima da se mislim jel'
>> dobar keš program, jel' ima 889 nepovezanih klastera, jel' ga boli
>> stomak itd.
Al' ipak ima da se misliš što inicijalizacija traje x (x>>2) minuta...
A posle misliš što ima "889 nepovezanih klastera"...
Pravo pitanje po sistemu "ko uzme - kajaće se, ko neuzme - kajaće se". :(
clipper.706nbatocanin,
-> #683, mrajacic> Moguce da nije to no mislim da je sasvim moguce i
> iskoristiti postojecu biblioteku da se ponesto uradi,
Ono je demo vezija, ali nisam siguran kako je ograničena? Inače, u
spisku se nalazi i CLASSY.ZIP i čini mi se da je to ono pravo. Ali,
pošto je ovo komercijalni proizvod, bojim se da je i ovo neki demo ??
> Pozoves broj koji je naznacen u zaglavlju i odgovaras na pitanja u
> pitanju je PCboard pa se snadji bez novaca (SAMO PTT) mozes dosta
> toga da skines, ako hoces da ti dostavim spisak pa da neskidas sto
> sam ja vec.
Znači, ništa preko jupak-a? ;(
clipper.707neman,
Analizirajuci demo program za Expand 3.0 naisao dam na sledecu komandu
INIT FUNCTION ime_funkcije
...
RETURN
Klauzula INIT kaze da se po pozivanju programa izvrsi prvo ta procedura a
ne eventualno MAIN ako postoji.
Npr.
Program u datoteci P.PRG
PROC main
? "*"
RETURN
INIT FUNC main_2
? "!"
RETURN
Kada se P.PRG prevede i pokrene na ekranu ce se ispisati "!"
neman
clipper.708ndragan,
-> #668, snemcev/ program a ne one .FRM fajlove Clipper-a. Ako radim preko .FRM kako da
.frm je đubre, ali zato da vidiš na šta liči .frx... eve ga jedan ekran,
da vidiš na šta liči editor:
PgHead
PgHead ZA PERIOD: MPOCDAT DO MZAVDAT
PgHead ══════════════════════════════════════════════════════════════════
PgHead Korisnik Naziv
PgHead Šifra posla prevoz Sati
PgHead ══════════════════════════════════════════════════════════════════
┌1─eof()Š
┌2─kupac
┌3─broj Š kupac naziv1 Ugovor broj
Detail ──────────────────────────────────────────────────────────────────
Detail mater naziv pre nazpre
Detail sta
└3─broj Š
└2─kupac ══════════════════════════════════════════════════════════════════
└2─kupac UKUPNO SATI ZA KUPCA : sa
└2─kupac ══════════════════════════════════════════════════════════════════
└1─eof()Š UKUPNO SATI ZA PERIOD: sa
clipper.709dr.grba,
-> #702, snemcev>> Ali zar nije beskrajno lakše tražiti na Sezamu nego listati knjižurinu
>> od preko 500 strana? ;))) Btw, savest mi nalaže da kažem da negde na
Zlobo, Zlobo (((;
1. Na kraju imaš indeks tema i termina
2. Dobio si i disketu.
Izgleda si i ti lenština kao i ja... (;
clipper.710dr.grba,
Jednu stvar nisam dosada decidirano pročitao, ili mi je promakla :
Da li je Clipper 5.2 vertikalno kompatibilan sa Clipperom 5.01?
Tj., da li je na nivou source-a Clipper 5.01 prohodan kroz kompajler
verzije 5.2 U POTPUNOSTI? A eksterne biblioteke tipa Nanforuma?
clipper.711dejanr,
-> #710, dr.grba>> Da li je Clipper 5.2 vertikalno kompatibilan sa Clipperom 5.01?
Koliko sam video, jeste. Pustio sam par najduzih programa koje sam
imao, i prevedoše se bez problema.
Naravno, može biti da ima nekih suptilnih različica ;)
clipper.712snemcev,
-> #709, dr.grba>> Izgleda si i ti lenština kao i ja... (;
Izgleda... Uzgred, u onoj mojoj poruci treba #command, a fali i jedan
end i dva-tri puta ;. Nema veze, poslužilo je samo za ilustraciju ;)
clipper.713snemcev,
-> #710, dr.grba>> Tj., da li je na nivou source-a Clipper 5.01 prohodan kroz kompajler
>> verzije 5.2 U POTPUNOSTI? A eksterne biblioteke tipa Nanforuma?
Sudeći po tome da re verzija ostala 5.* trebalo bi sve da funkcioniše.
Vidiš, ovo mi upošte nije palo na pamet kao pitanje već kao nešto što
treba po defaultu da važi. Zaista bi im trebao debeli razlog, pa da se
odreknu kompatibilnosti, a sudeći po najavama, ništa nije epohalno novo.
clipper.714nbatocanin,
-> #691, vdarko> 1) Zna li neko nešto pobliže o alatima dBfee30 i iQery?
> Ovaj drugi sadrži rutine za brzo indeksiranje,
> pronalaženje loših slogova i sl.
Ne znam ništa, ali mi bih voleo da vidim.
> 2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker?
Zar je to problem ;) Ako je baš, neka se javi.
> 3) Uz sve pohvale naporima nBatoćanina da od MemoEdita
> učini podnošljiv editor, predlaže usmeravanje diskusije na
> ispitivanje mogućnosti uključenja spoljnog editora za
> obradu teksta.
Taj problem je rešen pojavom Blinker-a. SwapRunCmd i gotovo.
> Može li se, nekako, tekst pisan Q-om "pročešljati" i meki markeri
> usaglasiti sa MemoEdit standardom?
Ako ništa drugo ne upali, može StrTran. Inače, pravo rešenje je
objektno orijentisani MemoEdit. Pročitao sam da je to već
napravljeno, a neko mi reče da ga ima i kod nas. Clipper 6.0 bi to
morao da sadrži.
clipper.715nbatocanin,
-> #692, snemcev> Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u
> direktorijumu.
Bre, ljudi, ovo je bilo sto puta:
#command REPEAT => WHILE .T.
#command UNTIL <Expr> => IF <Expr> ; EXIT ; END ; END
clipper.716nbatocanin,
-> #694, smilan> BLINKER : 1173 : Internal error - EMS error code 93H
> Error RMAKE / R2001 Exit1 : 'blinker @pos'
:(((( Bogami, ovaj Blinker i nije baš previše pouzdan. I meni se juče
žalili korisnici na neki Internal Error.
clipper.717nbatocanin,
-> #698, dr.grba> Ima li sličnih iskustava? Ima li ideja?
Ja ne koristim SET TMP, jerbo imam dosta RAM-a, pa rTLink i ne kreira
one tmpove. A kad baš kreira, neka kreira u tekućem diru. Sad koristim
Blinker i njemu to takođe ne treba. A u NG-u lepo stoji da LIB i
INCLUDE sadrže *listu* kataloga, a TMP samo jedan. Za LIB i INCLUDE
mora tako (ako koristiš C, i njemu treba SET LIB). Za ostatak
problema ne znam.
clipper.718smilan,
-> #702, snemcev >> #define REPEAT while .t.
>> #define UNTIL <exp> if !<exp> loop end
Može i ovako:
#command REPEAT => DO WHILE .T.
#command UNTIL <exp> => IF <exp> ; EXIT ; END ; END
Pozdrav!