clipper.310dnikolic,
-> #281, petrovics>> engine. Zanima me da li postoji nesto slicno, ili makar samo
>> dobra i proverena biblioteka za Microsoft C 6.0?
U okviru paketa PE se nalaze biblioteke za Borlandove C i Paskal kompajlere i
za Microsoft-ov C. Znaci, nema (prevelike) potrebe da prelazis na Borland.
dn
clipper.311dnikolic,
-> #286, ppekovic>> kao jedini nacin za resavanje tvog programerskog problema,
>> razmisli o BC-u, i u isto vreme procitaj poruke dejanr-a o
>> problemima prelaska na novi kompajler.
Kako sto rekoh, nema potrebe da prelazi na BC, jer se u okviru PE nalazi i
biblioteka za MSC.
dn
clipper.312bulaja,
-> #304, mihajl│Da li neko zna na koji nacin da urazumim Clipper 5.01 odnosno
│RTLINK da mi ulinkuje na pravi nacin modul iz biblioteke.
└───
Meni sve lepo radi sa sopstvenim bibliotekama, mozda je problem u tome
kako ih pravis? Ja ih kompajliram sa /a /m /n /v opcijama, mozda bi npr.
nestavljanje /n moglo da pravi zbrku ako se takav file ubaci u lib?
clipper.313nbatocanin,
-> #300, cubro> NA SCENU STUPA MAGIC 5.0
> Pitanje : Da li neko zna nesto o tome ?
Bio sam na prezentaciji koju je držao g. Milan Kukrika i imam neki
demo (koji nikako da stignem da pregledam). Stvar izgleda
interesantno, mada mi je reklama malo previše udaljena od onoga što
se nudi.
clipper.314nbatocanin,
-> #303, d.petrovic> Ako ode na kraj baze, ubaciće u tbrowse objekat na kraj
> baze prazno polje (vidi se N polje veličine 0) (eof() ???)
> koje brljavi.
To je legalni mehanizam: kad izvršiš SKIP na kraju datoteke,
pokazivač se pomera na fiktivni "prazan" slog iza kraja i Eof()
postaje .T..
clipper.315nbatocanin,
-> #304, mihajl> - Prvi problem sa kojim sam se sreo je taj da jednostavno
> ako iz modula koji je unutar te biblioteke pozovem neku
> rutinu iz iste biblioteke, taj modul vise ne postoji za
> linker.
???? Ovo koristim iljadu puta i sve štronca bez problema. Mora da si
nešto zeznuo: da nisi stavio da je neka od tih procedura STATIC, možda
u glavnom programu proceduru pozivaš iz makroa (tada moraš koristiti
EXTERNAL da bi linker znao da treba da ulinkuje taj modul), ...
> Inace i get sam predefini- sao sa funkcijom
> ReadModal, ali ni tamo nista nisam specijalno di- rao.
Objasni ovo malo detaljnije. Jer, READ i jeste samo poziv funkcije
ReadModal.
clipper.316petrovics,
-> #287, ppekovic>> ;))) Ako mu ti napravis sve ono sto je covek do sada razvio
>> na MSC-u, i ako uspes da mu iskustvo sa MSC-om u trenutku zamenis
>> sa iskustvom sa BC-om, onda u redu, neka predje ;)
Hvala ti sto si umesto mene objasnio neke cvrste razloge sto za
sada ostajem na MSC.
clipper.317petrovics,
-> #286, ppekovic>> (mozda i zato sto je jedini dostupan) PE. Ako nemas mogucnosti da
>> nabavis neku biblioteku iz inostranstva a u isto vreme vidis PE
>> kao jedini nacin za resavanje tvog programerskog problema,
>> razmisli o BC-u, i u isto vreme procitaj poruke dejanr-a o
>> problemima prelaska na novi kompajler.
Za sada (a verovatno i za duze) ostajem na MSC 6.0 pa bi mi
trebala neka biblioteka za njega. Posto mi strani casopisi nisu
dostupni zamolio bih te da mi navedes bar neku biblioteku koja
je popularna, ako takve ima.
clipper.318petrovics,
-> #298, vasic>> "Paradox Engine provides developers using the Borland programming family
>> of languages or the Microsoft(R) C programming languages an Application
>> Programming Interface (API) of more than 70 functions. (...)"
Pa jel probao neko da koristi MSC 6.0 sa Paradox Engine?
Usput da pitam jos nesto. Ovde stoji (R) pa me zanima sta
ustvari tacno znace (C), (R) i ostale slicne oznake. Znam da se
na SEZAMU skoro govorilo o (C) ali mi i dalje nije bas naj
jasnija ta oznaka. Ako je o tome ranije (kad nisam bio na
sezamu) bilo reci uputite me na prave poruke.
clipper.320d.petrovic,
-> #314, nbatocaninĂ> To je legalni mehanizam: kad izvršiš SKIP na kraju datoteke,
Ă> pokazivač se pomera na fiktivni "prazan" slog iza kraja i Eof()
Ă> postaje .T..
Samo nisam očekivao da se tbrowse zbog toga zbuni...
clipper.321zsiz,
-> #317, petrovics> Za sada (a verovatno i za duze) ostajem na MSC 6.0 pa bi mi
> trebala neka biblioteka za njega. Posto mi strani casopisi nisu
> dostupni zamolio bih te da mi navedes bar neku biblioteku koja
> je popularna, ako takve ima.
Evo šta sam našao:
1)CodeBase 4.5 The C Library for DataBase Management
Use CodeBase 4.5 from Visual Basic
or Turbo Pascal for Windows.
Use the super-fast, super-small FoxPro 2.0
CDX or the Clipper NTX index files.
"Our product was too slow under FoxPro 2.0,
so we rewrote it in C using CodeBase. Now
it is incredibly fast
* Multi user
* Portable (DOS, Unix,...)
* Royalti Free DLL
* C++ interface included
SEQUITER SOFTWARE INC. Tel. 403 437 2410
Fax. 403 436 2999
Europe 33 20 24 20 14
#209,9644-54 AVE., EDMONTOM, AB, CANADA T6E-5V1
Pozdrav.
zsiz
clipper.322nbatocanin,
-> #306, neman> A gde to ima ????
Nema, ali biće valjda ;))
clipper.323snemcev,
Jel ima neko neki program za formatiraje programa (nazubljivanje,
kontrola IF-ENDIF i WHILE-ENDDO struktura, cross-reference index...)? Ja
imam neki Source Print koji me oduševljava. Jedina mu je mana što je
pisan '87, pa podržava dBase III+ (a podržava i Pascal, C, text,
Fortran... i nekih 6 osnovnih modela štampača) ali ne i Clipper. Ako
neko ima nešto slično, ili noviju verziju ovog programa, voleo bih da mi
se javi, bilo u mail, bilo ovde...
clipper.325petrovics,
-> #321, zsiz>> Evo sta sam nasao:
>>
>> 1)CodeBase 4.5 The C Library for DataBase Management
Hvala !
clipper.326jtitov,
-> #323, snemcev> Jel ima neko neki program za formatiraje programa
> (nazubljivanje,
Uz FoxPro se dobija FoxDoc. Pravi vrlo lepe listinge za dokumentaciju, sa
nazubljivanjem i crtanjem crtica od if..endif, do..enddo...
Predlazem da posaljes neki source, pa da ga provucem, pa ako ti odgovara da
ga dobijes...
clipper.327melev,
-> #323, snemcev│ Jel ima neko neki program za formatiraje programa (nazubljivanje,
│ kontrola IF-ENDIF i WHILE-ENDDO struktura, cross-reference index...)? Ja
.............
│ neko ima nešto slično, ili noviju verziju ovog programa, voleo bih da mi
│ se javi, bilo u mail, bilo ovde...
└───────
Nemojte u mail pošto ima još zaintesovanih.
clipper.328zkrstic,
-> #323, snemcev> Fortran... i nekih 6 osnovnih modela štampača) ali ne i Clipper. Ako
> neko ima nešto slično, ili noviju verziju ovog programa, voleo bih
> da mi se javi, bilo u mail, bilo ovde...
Imaš to i na Sezamu :))
Program se zove Snap, verzija 5.0. Podržava i Clipper i Fox i Boga
oca i kojekakve "third party" libove. Uzmi, lepo fercera, čak pravi i koje-
kakve fine stvarčice pride kao spisak procedura i funkcija koje ti se nala-
ze u tom .prg-u i slično.
Zkr :)
clipper.329dr.grba,
Hi there!
Majko mila!
Posle dve godine kliperisanja tamo-amo nocas spoznam glupost :
Clipper propusta funkciju po imenu valid(xxx,yyy), sto cete
(kao i ja :) ) utvrditi kada zaboravite ono ; u predugackoj
@ say ... get ... liniji.
Samo da prokomentarisem glupost...
Pozdrav,
dr.grba
clipper.330petrovics,
Imam jedno pitanje u vezi Clipper aplikacija.
Na jednom AT 286 12MHz racunaru sa 1MB memorije se vrti Clipper
aplikacija cija je najveca DBF datoteka oko 11MB. Indeksirana je po dva
kljuca. Problem je u sledecem:
U privremenom direktorijumu, u kome aplikacija snima privremene
datoteke, ostaju, ne obrisane, datoteke sa cudnim nazivima. Nazivi su
po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje losi
sektori pa mora da se startuje neki program (na primer NDD) da bi se
sektori sredili. Inace aplikacija lepo radi i iz nje se nikada ne
izlazi na silu. Znaci ove datoteke se prave i ostaju u toku regularnog
koriscenja aplikacije.
Zna li neko u cemu je problem i kako moze da se otkloni.
clipper.331snemcev,
-> #328, zkrstic>> Imaš to i na Sezamu :))
>>
>> Program se zove Snap, verzija 5.0.
Nije to TO, ono se zove Source Print. A da ću da probam Snap, probaću...
clipper.332zkrstic,
-> #330, petrovics> datoteke, ostaju, ne obrisane, datoteke sa cudnim nazivima. Nazivi
> su po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje
> losi
To je ostatak fajlića koje Clipper koristi za svapovanje i pravljenje
virtuelne memorije, koliko me pamćenje služi. Možeš da upotrebiš i onu promen-
ljivu set clipper ... swappath pa da ih teraš u poseban dir.
Zkr
clipper.333bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
onotes zip 27897 Primeri koriscenja objekata (TBrowse, GET) u Clipper-u
clipper.334d.petrovic,
-> #330, petrovicsĂ> po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje
Ă> losi
Meni se to samo jednom dešavalo i nisam siguran zašto, jerbo je
to bilo u radnoj verziji programa, mada... kad razmislim šta sam tada
menjao...
Nema veze sa pameću i ne mora da znači, ali može da ima veze sa
naredbom "set printer to blabla" pa ako koristiš to negde proveri
dal' se javlja kad to ne koristiš...
clipper.335dejanr,
Prepravljam neki veeeeliki Clipper program koji su drugi pisali
(zabavno je, možete misliti :) i nailazim na nekakav obj fajl koji
se zove SET_FUNC.OBJ. On se lepo linkuje uz program, i pozivaju se
neke funkcije iz njega, npr. dbcheck (proverava strukturu baze
podataka), nešto sa prozorima itd. Dotični .OBJ ima oko 15 k. Izgleda
da se ne da linkovati sa novim Clipper-om, samo sa S87 (ili bar meni
nije uspelo uz par sitnih proba).
Pitanje: da li je možda taj SET_FUNC.OBJ "nešto" u javnom vlasništvu,
za šta je raspoloživ source (SET_FUNC.ASM, .PRG, .C itd)? Da li uopšte
neko zna šta je "to"?
clipper.336jtitov,
-> #335, dejanr> Prepravljam neki veeeeliki Clipper program koji su drugi
> pisali (zabavno je, mozete misliti :) i nailazim na
> nekakav obj fajl koji
Mogao bi malo, u par reci, da nam ispricas svoje avanture sa prepravkom
tudjeg koda. Mogu misliti kako ti je. Jos ako nema komentara...
clipper.337ndragan,
-> #323, snemcev/ imam neki Source Print koji me oduševljava. Jedina mu je mana što je
SP i SNAP! je otkupio Foks, pa se sad isporučuje kao FoxDoc uz FoxPro
(bez doplate). Koliko se sećam, SNAP! je imao i .cfg fajlove sa
kliperovim naredbama, a mogli su se i editovati. Kao dodatak,
prepoznavao je i funkcije od onog tipa kako se ono zvaše, nešto na R.
clipper.338snemcev,
-> #328, zkrstic>> Program se zove Snap, verzija 5.0. Podržava i Clipper i Fox i Boga
>> oca i kojekakve "third party" libove.
Što jes', jes', lepo fercera, al' prosvetli me kako da mu objasnim da
moje čedo od programa ima 20 kojekakvih modula i da ja hoću sve njih
uključene u izveštaj? On traži samo 'Main project file'. Za sve f-je
koje nisu u njemu, on jednostavno napiše
BLA_BLA_TRUĆ ( function in ? )
clipper.339d.petrovic,
-> #335, dejanrĂ> Pitanje: da li je možda taj SET_FUNC.OBJ "nešto" u javnom
Ă> vlasništvu,
Na žalost ne znam šta je to, ali da te o'ma opomenem da ne gubiš
vreme. Ne može da se mešaju .obj-ovi iz s87 i 5.01. Zar nije lakše da
sve napišeš ponovo ? ;)))
clipper.340nbatocanin,
-> #329, dr.grba> Samo da prokomentarisem glupost...
Zašto funkcija ne bi mogla da se zove Valid?
clipper.341nbatocanin,
-> #330, petrovics> U privremenom direktorijumu, u kome aplikacija snima
> privremene datoteke, ostaju, ne obrisane, datoteke sa
> cudnim nazivima. Nazivi su po sistemu: "ABHEAB" i slicno.
To je swap datoteka: javlja se kad nema dovoljno memorije i trebalo
bi da se briše pri regularnom izlasku.
clipper.342dejanr,
Juče se nakanih da probam Blinker i WOW :) Sad se "nerviram" što sam
ovako dugo koristio RTLINK, izgubio sam sate i sate vremena jer ovaj
stvarno linkuje ko munja. Sve vreme se pitam, postoji li negde neka
loša strana (neko na Klubu reče da "slabije koristi memoriju", šta god
to značilo ;)?
clipper.343dejanr,
-> #336, jtitov>> Mogao bi malo, u par reci, da nam ispricas svoje avanture sa prepravkom
>> tudjeg koda.
Autor programa je Lola (sa Sezama). Program je jako složen ali dosta lepo
napisan, tako da uopšte nije tako teško kao što izgleda. Glavni problem
je kad se recimo pojavi zahtev "u masci A treba dodati i mogućnost
da se sa F7 radi to i to, koja već postoji u masci B". Ja nađem da se
u oba slučaja zove isti potprogram, samo što je kod B poziva jedan flag
.T. a kod A poziva .F. A baš taj flag kontroliše radi li F7 "to i to"
ili ništa. I sad dođe pitanje - ako prepravim u oba slučaja u .T., kakvih
će biti loših posledica? Ako ih nema, zašto je to u startu i bilo
isključeno?
Drugi problem je što su u programu korišćeni i neki uslužni programi
iz časopisa, zatim FUNCKY.LIB i pomenuti SET_FUNC.OBJ. Što se tiče programa
iz časopisa, tu imam source-ve ali opet mi malo prave probleme, svaki
pravio drugi čovek pa je nešto svoje u njemu "terao". Što se tiče FUNCKY.LIB,
to sam mahom "istrebio", jer i nisu bile neke usluge, pa sam nešto izbacio
a nešto zamenio svojim funkcijama. Rado bi se prebacio na Clipper 5.01,
nekako sam počeo da se navikavam na njega, a postao je i brz otkad je
BLINKERA-a... ali SET_FUNC.OBJ me i dalje muči :(
clipper.345ndragan,
-> #332, zkrstic/ ljivu set clipper ... swappath pa da ih teraš u poseban dir.
...a u autoegzek ubaciš redovno brisanje tog direktorija.
Za foksovce, u config.fp se ubacuje
sortwork=C:Đlevi_dir
editwork=C:Đlevi_dir
progwork=C:Đlevi_dir
tmpfiles=C:Đlevi_dir
a u autoegzek
del c:Đlevi_dirĐ*.tmp >nul
Da vas ne bi zivkali bez veze kad ponestane mesta na disku. FP2 inače ne
zatura te fajlove tako lako, ali kako je krenulo sa strujom...
clipper.346jtitov,
-> #342, dejanr> Juce se nakanih da probam Blinker i WOW :) Sad se
> "nerviram" sto sam
To bi se reklo: Dobro jutro Kolumbo :))) Odavno sam napisao da je to
trenutno najbolji/najbrzi linker. Pogotovu za Clipper. Drugar koji sa njim
radi (nije Sez.) je nekoliko puta smanjio vreme razvoja programa. Blinkerom
je takodje moguce napraviti 'demo' verziju, tj. program koji ce raditi SVE,
ali samo na pr. 5 minuta. Napominjem da to radi BLinker, a ne Clipper.
Mogao bi o BLinker-u da napises tekstic u Racunarima. Na zalost sa Fox-om
ne radi...
clipper.347bulaja,
-> #342, dejanrJuce se nakanih da probam Blinker i WOW :) Sad se "nerviram" sto sam
ovako dugo koristio RTLINK, izgubio sam sate i sate vremena jer ovaj
stvarno linkuje ko munja.
│Sve vreme se pitam, postoji li negde neka losa strana (neko na Klubu
│rece da "slabije koristi memoriju", sta god to znacilo ;)?
└───
I ja sam se nakanio da probam Blinker bas pre tri dana :) i stvarno je
WOW! Umesto da se patim 20 sekundi da mi RTLink zavrsi posao, Blinker
uradi inkrementalni link za 1 sec! Ne bi trebao da ima mnogo losih
strana :), jedino bi program trebao da ti radi malo sporije, ali kad
uradis final link (sto mozes i RTlink-om) onda dobijes normalnu app.
clipper.348dejanr,
-> #346, jtitov>> Mogao bi o BLinker-u da napises tekstic u Racunarima.
Mislim da je tekst u planu, autor nbatocanin. Tema je zbilja zanimljiva.
Inače, ja od BLinker-a nisam još ništa posebno probao, osim što sam uspeo
da linkujem program, potprograme i neke lib-ove, i sve to da pozovem iz
RMAKE-a - za to, Bogu hvala, nije bilo potrebno da se čita dokumentacija
niti da se gleda onaj Norton Guide ;) Garant ima i drugih lepih mogućnosti.
clipper.349dejanr,
-> #347, bulaja>> Ne bi trebao da ima mnogo losih strana :), jedino bi program trebao
>> da ti radi malo sporije, ali kad uradis final link (sto mozes i
>> RTlink-om) onda dobijes normalnu app.
Pa, BLinker ako sam dobro razumeo radi nekakvo "inkrementalno" linkovanje,
a isto se isključuje dodavanjem reda BLINKER INCREMENTAL OFF u .LNK
fajl. Pretpostavljam da mu mogu i pobrisati .EXE fajl i radne datoteke
(ako ih ima), pa onda neće imati na šta da "inkrementuje", moraće da
odradi od nule a lakše obrisati jedan fajl nego zvati .LNK u editor i
menjati ga, obaška što posle mogu da zaboravim da ponovo uključim.
Najzad, što kažeš, može onaj zadnji put da se linkuje i sa RTLINK-om,
leba ne jede. Mada mislim da nema naročite potrebe.
Blinker je pravo otkrovenje, jedino me nervira što ispisuje onoliku
uvodnu poruku i što bipće na kraju, valjda i to nekako može da se
isključi.
clipper.350ndragan,
-> #338, snemcev/ uključene u izveštaj? On traži samo 'Main project file'. Za sve f-je
Mana mu je što oče(t)kuje da sve bude na istom direktoriju.
clipper.351bulaja,
-> #349, dejanr│Pa, BLinker ako sam dobro razumeo radi nekakvo "inkrementalno" linkovanje,
│a isto se iskljucuje dodavanjem reda BLINKER INCREMENTAL OFF u .LNK fajl.
└───
Da, pa glavno ubrzanje je zbog tog inc linkovanja. Ako radi potpuni link
(tj. sa INC OFF, npr. prvi put, a primetio sam da to radi svaki put
posle izmene bilo cega u .lnk fajlu) i onda je brzi od RTLink-a, ali ne
mnogo (10-20%).
│Blinker je pravo otkrovenje, jedino me nervira sto ispisuje onoliku uvodnu
│poruku i sto bipce na kraju, valjda i to nekako moze da se iskljuci.
└───
Moze, stavi NOBELL na kraj .LNK fajla.
clipper.352nbatocanin,
-> #348, dejanr> Mislim da je tekst u planu, autor nbatocanin. Tema je
> zbilja zanimljiva.
Zadatak je izvršen :))
> Garant ima i drugih lepih mogućnosti.
Pa, nije da nema: ima nekoliko baš lepih stvari. Najbolje je
inkrementalno linkovanje, jer drastićno skraćuje vreme razvoja. Štos
radi tako što u EXE-u iz svake procedure ostavi pomalo prostora
(podešava se!), pa kad se procedura izmeni malo, on samo izmeni taj
deo u EXE-u. Linkovanje tako traje kraće od 1 sec. Međutim, kad se
ovo uključi, Blinker isključuje Clipper dynamic paging system, i
prelazi na svoje dinamičke overleje, što je sporije. Zato finalni
link treba obavezno raditi sa BLINKER INCREMENTAL OFF. Ako imate
skript, ne treba ga menjati. Može i:
BLINK @FILES.LNK BLINKER INCREMENTAL OFF
Kad je uključen INC link, lošije se troši memorija, pa ako imate veći
program može se desiti da nema dovoljno rama pri razvoju.
Rezultujući program je nešto malo duži nego onaj koji daje RTLink
i, mada kao ima neku kompresiju tabela, ja sa RTLinkom dobijam malo
više slobodne memorije. U svaki program se ulinkuje i njegov overlej
menadžer koji radi stvar (dinamičke overleje) i ima masu korisnih
funkcijica. Na primer, postoji mogućnost startovanja eksternih
programa, pri čemu se *kompletan* sadržaj memorije swapuje na disk.
Ima i jednostavan profiler, na osnovu koga procenjujete koje
procedure se često koriste i šta stavljate u root overlej. Može se
praviti i demo verzija programa, tako što se ograniči vreme rada
programa. Može se i upisati serijski broj u EXE.
U suštini je jako koristan - ja pređoh na njega. Jedini nedostaci su
mu što nema PLL biblioteke kao RTLink i što se ona grozna faca :( ne
može skinuti.
clipper.353snemcev,
-> #350, ndragan>> Mana mu je što oče(t)kuje da sve bude na istom direktoriju.
Pa sve i jeste u istom direktorijumu, i opet daje samo main file.
clipper.354snemcev,
-> #349, dejanr>> Pretpostavljam da mu mogu i pobrisati .EXE fajl i radne datoteke (ako
>> ih ima), pa onda neće imati na šta da "inkrementuje", moraće da
>> odradi od nule a lakše obrisati jedan fajl nego zvati .LNK u editor i
>> menjati ga, obaška što posle mogu da zaboravim da ponovo uključim.
Pa možeš, ali nebi trebao da dobiješ isti rezultat kao sa INC OFF. Jeste
da će linker da "odradi od nule", ali će i dalje na kraju svake procedure
ostaviti ono malo slobodnog prostora za naredna inkrementalna linkovanja.
A kao što reče nbatocanin, može i
blinker @prog.lnk bli inc off
PS Sve navedeno u komandnoj linije ima veći prioritet od svega u lnk fajlu!
clipper.355dejanr,
Evo malo da se smejete, pa makar i na moj račun ;)
Elem, odavno nisam imao potrebe da integrišem asemblerske potprograme
koje sam napišem u Clipper programe ali eto, dužnost zove, ispade da
mora i to da se radi da bi se olakšalo i ubrzalo šifrovanje nekih
podataka (nikad neću shvatiti zašto je u Clipper-u svako FOR i=1 TO
LENGTH(sstr) tako sporo).
Pošto je čitav program na Clipper-u 5.01, znao sam da će da bude muke al'
šta je, tu je. Uzmem neki stari program (pisao sam ga još '89) koji je
pozivan iz Clipper-a S87 ne bi li se iz njega podsetio kako to beše,
"skinem" početak i kraj i reko' prvo da probam nešto prosto, da napravim
samo proceduru koja ima dva argumenta pri čemu se jedan prepisuje u drugi
(dakle, kažeš a=crypt(@prvi, @drugi) i postane drugi=prvi. Lepo. Napišem
ja proceduru, asembliram je, linkujem (blinkerom, naravno :) kad ono, čudo
jedno, ne radi ;( Uzmem malo da prepravljam, izmenim nešto, ajmo opet
rmake, kad ono Data error reading drive C: (na C: je softver, a ovo što
radim je na D:) Auuuu... obično mi jednom godišnje crkava disk, ali negde
u aprilu ili maju, ove godine baš nešto poranio :(( Resetujem računar,
pustim NDD, prođe on ceo C: i sve mu u redu. Ok, nešto se cache zaglupeo,
startujem ja ponovo moj slavni program (koji, tako (valjda) treba, i dalje
ne radi,) opet da ga prevedem, opet Data error na C:. To mi već postane
malo sumnjivo, probam par reset-a i stvarno: uvek posle startovanja programa
na C: čudo Božje Data error-a, a inače sve u redu. Najzad sam čak izbacio
instrukciju kojom se PIŠE, dakle program samo protrči kroz polazni string
i nigde ga ne upisuje, ali džabe - posle izvršavanja, ništa od C:
Evo programa koji pravi to čudo uz poruku, ako mi neko objasni kako je
moguće da tih par instrukcija tako temeljno zaglupe drajv C: koji se tu
nikako ne referencira, a ne zaglupe D: na kome se sve to dešava, ima piće
od mene :)
Pošto sam video da nema 'leba od analogije sa S87, 'ajd reko' da pogledam
kako se to propisno radi na novom Clipper-u. Što se toga tiče, moram da
kažem da sam oduševljen - Nantucket je napravio tako lepe makroe da se
parametri prenose maltene k'o da programiraš na nekom pravom jeziku. Tako
je lepo i jednostavno (i čak mi je maltene iz prve proradilo to što sam
hteo) da nemam reče. Međutim, beše i tu jedan problem - krenem ja da
asembliram onaj demo primer što ide uz Clipper 5.01, kad ono ispade jedno
milion grešaka (milion grešaka = krene da piše pa ekran za ekranom samo
leti :) Onda nađem neki program iz "Računara" za backup, ajd' da probam
njega da asembliram, opet milion grešaka. Definitivno su ti kompjuteri
vatikansko-kominternovska zavera da nas totalno izlude ;) Posle popijene
čaše vode shvatim da na mom kompjuteru, kad kažeš ASM DEMO, biva pokrenut
nekakav OptAsm - Bog sveti zna šta mi bi da to stavim i kad sam ga uopšte
stavio, mora da su mi pre neku godinu rekli da je mnooooooogo bolji i brži
od MASM-a a ja bio lud pa poverovao. Tu mi već sine da mora biti da je
taj OptAsm malkice negde nekompatibilan sa MASM-om, ali 'reko, mora da ima
neku opciju za MASM kompatibilnost. Jest opcija, ali kako se zove? Neće
da da help na OPT, OPT ?, OPT /?, OPT -? OPT help, dakle nema druge nego da
se traži uputstvo. Nađem nekako uputstvo (help se dobija na OPT -h, alal im
vera :( ) i tamo kaže da je za MASM kompatibilnost ("even MASM bugs are
supported) switch -M. Lepo, ajmo OPT -M CRYPT; i zaista, nije milion greški
ali ih je otprilike upola manje. Naravno, to povlači i jedno DEL OPTASM.EXE,
da mi ne pravi takva s*anja drugi put, i 'ajmo da tražimo MASM, ništa bez
Microsofta. Ispadne da, na moje veliko iznenađenje, imam original MASM-a
5.1 (nemam ideju otkud mi, sigurno ga nisam kupio, a ni prikaz kol'ko se
sećam nisam pisao, mora da mi je to neko na nekom sajmu uvalio), instaliram
ja to i, o žuda, DEMO primeri prorade. A ubrzo i moj program za kopiranje,
sad mi ostaje samo da pravim program za potrebno šifrovanje :)
Sve u svemu, eto kako čoveku ode 3-4 sata na nešto za šta je planirao
15 minuta :(
bug.asmclipper.356dejanr,
Neko ovde reče da ga nervira što Blinker crta onoliki ekran i još namiguje
i bipće, ali da se biptanje može isključiti. Kad sam počeo da radim nisam
se, naravno, sećao kako se biptanje isključuje, a mrzelo me da zovem Sezam
i tražim poruku, reko' mora da ima ta opcija negde u BLINKER.EXE, da mi
to malo pogledamo sa NU. I stvarno, ima opcija, ali uz nju nađoh i sledeće
naredbe:
NOBELL
NOBLINK
NOFACE
Elem, NOBELL je bez zvona i to lepo radi. Ali, NOFACE bi trebalo valjda
da bude "bez lica", a NOBLINK možda da ne namiguje. Ali te opcije iz nekog
razloga ne rade. Ako neko ima ideju kako da skinemo onu rugobu sa ekrana...
clipper.357bulaja,
-> #356, dejanr│Elem, NOBELL je bez zvona i to lepo radi. Ali, NOFACE bi trebalo valjda
│da bude "bez lica", a NOBLINK mozda da ne namiguje. Ali te opcije iz nekog
│razloga ne rade. Ako neko ima ideju kako da skinemo onu rugobu sa ekrana...
└───
Syntax: Purpose:
────── ───────
BLINKER MESSAGE NOBLINK Disable blinking of eyes during linking
BLINKER MESSAGE WINK [LEFT] Enable single eye winking during linking
Nisi morao da kopas po blinker.exe, sve lepo pise i u blinker.NG :).
Dakle, treptanje rugobe (blink) se moze skinuti bez problema, ali se
sama faca izgleda ne moze tako lako skinuti sa ekrana. NOFACE opcija se
ne spominje u NG, a faca je u .EXE kriptovana tako da ce morati malo da
se protrci kroz debugger ako bas toliko smeta :).
Inace su objasnjenja ovih opcija (purpose) haos, sta li misli onaj ko
nije video Blinker na delu? :). Evo npr. malo detaljnije sta radi
vrlo bitna komanda WINK:
This command is used to enable the winking of only one eye while Blinker
is running. If no parameter is entered, the right eye will wink (from
Blinker's point of view, i.e. from inside the screen looking out). The
parameter LEFT causes the left eye to wink.
clipper.358nbatocanin,
-> #357, bulaja> Nisi morao da kopas po blinker.exe, sve lepo pise i u
> blinker.NG :). Dakle, treptanje rugobe (blink) se moze
> skinuti bez problema, ali se sama faca izgleda ne moze
> tako lako skinuti sa ekrana. NOFACE opcija se ne spominje
> u NG, a faca je u .EXE kriptovana tako da ce morati malo
> da se protrci kroz debugger ako bas toliko smeta :).
Uh, za facu je lako: odgovorna je INT 10 instrukcija u sledećem nizu:
b4 0e cd 10 eb f5
E, ako umesto CD10 stavite 9090, neće se ispisivati faca. Tada OBAVEZNO
treba staviti i MESS NOBLINK, jer će oči namigivati preko prethodnih
naredbi ;). Ali, nisam siguran da se negde u programu ne proverava
kontrolna suma celog programa, pa ovo do daljnjeg ne preporučujem.
clipper.359nbatocanin,
-> #355, dejanr> Pošto sam video da nema 'leba od analogije sa S87, 'ajd
> reko' da pogledam kako se to propisno radi na novom
> Clipper-u. Što se toga tiče, moram da kažem da sam
> oduševljen - Nantucket je napravio tako lepe makroe da se
> parametri prenose maltene k'o da programiraš na nekom
> pravom jeziku.
:)) To je isto i u Summer'87.
clipper.360nbatocanin,
-> #355, dejanr> Evo programa koji pravi to čudo uz poruku, ako mi neko
> objasni kako je moguće da tih par instrukcija tako
> temeljno zaglupe drajv C: koji se tu nikako ne
> referencira, a ne zaglupe D: na kome se sve to dešava, ima
> piće od mene :)
Kuku, gde nađe da koristiš EXTENDA.MAC -- on postoji zbog
kompatibilnosti sa najstarijim verzijama Clippera! Koristi samo
EXTENDA.INC. Što se tiče programa, nisam ga detaljno gledao, ali je
najverovatnije uzrok pada funkcija ret_int: čini mi se da je posle
njenog poziva neophodno ručno ažurirati stek, ali u svakom slučaju
ova funkcija uništava sadržaj svih registara, tako da ti pre izlaska
iz funkcije svi registri imaju slučajnu vrednost. E sad, šta se dalje
dešava, boga pitaj: rezultujući kod može ladno i disk da ti spali ;)
clipper.361dejanr,
-> #360, nbatocanin>> Kuku, gde nađe da koristiš EXTENDA.MAC -- on postoji zbog
>> kompatibilnosti sa najstarijim verzijama Clippera!
Pa rekoh ja da je to bilo po ugledu na neki stari program, a vi mi
ne verujete da je bio toliko star :) U to vreme nije bilo ovijeh
lepota koje su posle izmislili ;))
U svakom zlu ima i dobra - da me nije zezao program, nikad ne bih
znao kako to novi Clipper lepo radi pa bi se u zbiru (računajući i
godine koje dolaze ;) više mučio :)
clipper.362dejanr,
Da li ste već čuli da... Clipper funkcija LASTREC() vraća 1 ako
u bazi ima nula slogova. Takođe vraća 1 ako u bazi ima jedan
slog.
Postavljaju se dva pitanja:
Q1. Kad vraća 0?
A1. Kad u dotičnoj oblasti nije aktivna ni jedna baza. Ovo piše
u uputstvu.
Q2. Kako razlikovati da li u bazi ima 0 slogova ili 1 slog?
A2. Pomoću LASTREC(), nikako. Ali posle GOTO TOP funkcija EOF()
vraća .T., inače vraća .F.. Što jes jes, i ovo piše u uputstvu.
clipper.363dejanr,
U novom Clipper-u se preporučuje da se baze otvaraju sa
USE ime ALIAS ime_aliasa SHARED NEW (umesto SHARED može i EXCLUSIVE)
Nekad se to radilo otprilike ovako:
SELECT 9
USE ime SHARED
U svakom slučaju, radi i jedno i drugo. Ali ako probate da budete pametni
pa da to iskombinujete, na primer:
USE ime ALIAS 9 SHARED NEW
eeee... onda ste se zeznuli, jer posle toga sa SELECT 9 Bog sveti zna
koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po Clipper-ovoj
nekoj pameti "sledeći" broj, ali vi taj broj uopšte ne znate, pa ne
možete ni da otvorite bazu.
Bar da prijavi grešku kod ove konstrukcije, nego pušta da se sve radi
a onda kad krene da se pristupa bazi, zaređaju greške da "nema promenljive"
clipper.364banex,
-> #363, dejanr>> eeee... onda ste se zeznuli, jer posle toga sa SELECT 9 Bog sveti
>> zna koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po
>> Clipper-ovoj
Negde u onim silnim ng datotekama za novi clipper je navedeno da je
'preferirani' metod pristupa bazi preko aliasa. Ako se ne navede alias
ime tada se kao alias tretira originalni naziv. Imam utisak da
navođenje broja uz select naredbu podrazumeva da je u pitanju 'stari'
pristup (pristup 9-om području) a ne bazi sa alias imenom '9'.
Ko razume, shvatiće ;)
BTW, ne čudi me što je novi vlasnik nantuketa napravio pokolj ;))
clipper.365petrovics,
-> #341, nbatocanin>> To je swap datoteka: javlja se kad nema dovoljno memorije i trebalo
>> bi da se brise pri regularnom izlasku.
Ma znao sam ja sta je, problem je sto se ne brisu sve (neke se
brisu a neke ne). Najveci problem je sto se javljaju i LOST
klasteri koje moras da sredjujes sa NDD. Inace ovo se desava jos
jednom mom prijatelju, ovde u Nisu.
clipper.366badboy,
Pomozite mi....
Napisao sam program u dbase-u, zelim da kompajliram sa clipperom..
Sto se tice kompajliranja, sve je ok, program radi , samo ne zna
da radi sa dbase indexima (*.ndx).KAko da napravim NTX od NDX - a?
Pozdrav:
---Bady
clipper.367draganf,
-> #366, badboy> Napisao sam program u dbase-u, zelim da kompajliram sa
> clipperom.. Sto se tice kompajliranja, sve je ok, program
> radi , samo ne zna da radi sa dbase indexima (*.ndx).KAko
> da napravim NTX od NDX - a? Pozdrav:
> ---Bady
Neznam što uopšte koristiš NDX ali postoji NDX.OBJ koji treba
linkovati zajedno sa tvojprogram.obj i to radi.
Dragan
clipper.368toma,
-> #365, petrovics■■>> ... ... ... Najveci problem je sto se javljaju i LOST
■■>> klasteri koje moras da sredjujes sa NDD. Inace ovo se desava jos
■■>> jednom mom prijatelju, ovde u Nisu.
Lost klasteri su se javljali i meni sve dok nisam seo i ceo
program natenane pregledao (540kb) i video da mi kroz program
duva promaja (jedna datoteka ja bila non stop širom otvorena).
Kad sam to sredio sve je bilo OK! Program se naravno regularno
zavrsavao ali na njegovom kraju nije stajalo DbCloseAll().
Pozdrav from Toma.
clipper.369toma,
-> #362, dejanr■■>> Q2. Kako razlikovati da li u bazi ima 0 slogova ili 1 slog?
■■>> A2. Pomoću LASTREC(), nikako. Ali posle GOTO TOP funkcija EOF()
■■>> vraća .T., inače vraća .F.. Što jes jes, i ovo piše u uputstvu.
A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj.
Pozdrav from Toma.
clipper.370dkalaba,
Hi,
Da lKi neko zna nešto o generatoru aplikacija SuidCASE koji je razvila
MIKRONOVA iz N. Sada? Pomoću njega se mogu praviti EXE fajlovi, što mu
daje komercijalnu vrednost, ali kako sam ja pomalo skeptik kad se radi
o takvim alatima, zamolio bih nekog ko malo više zna o tome da napiše
ovde koju rečenicu.
.
clipper.371d.petrovic,
-> #369, tomaĂ> A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj.
Ako staviš set filter to blabla neće bogme ;)
clipper.372zkrstic,
-> #367, draganf> Neznam što uopšte koristiš NDX ali postoji NDX.OBJ koji treba
> linkovati zajedno sa tvojprogram.obj i to radi.
Samo momenat!
Ova kompatibilnost je ukinuta u Clipperu 5.01! Postoji samo u S'87.
Sada nek me neko pukne po glavi u stilu: "pa o njemu i pričamo" ;))))
Zkr
clipper.373d.petrovic,
-> #372, zkrsticĂ> Sada nek me neko pukne po glavi u stilu: "pa o njemu i pričamo"
Ă> ;))))
Cangereeee. (ala zvoni ;)) )
Jok! O DBase III :))) Ozbiljno!
clipper.374dejanr,
Kako Clipper "pamti" stringove? Mislio sam da se u C-ovskom maniru
završavaju nulom, međutim može da se napiše prom:='abc'+chr(0)+'def'
i to će ok raditi. Sa druge strane, kada iz asemblerskog potprograma
vratim string koji ima nulu u sebi, on ga odseče na toj nuli.
clipper.375bulaja,
-> #374, dejanr│Kako Clipper "pamti" stringove? Mislio sam da se u C-ovskom maniru
│zavrsavaju nulom, medutim moze da se napise prom:='abc'+chr(0)+'def'
│i to ce ok raditi. Sa druge strane, kada iz asemblerskog potprograma
│vratim string koji ima nulu u sebi, on ga odsece na toj nuli.
└───
Bilo je vce ovde price o tome, odduse vezano za povezivanje sa C-om.
Clipper ne koristi null term stringove, zato imas posebnu funkciju
_retclen() koja vraca Clipper stringove (trazi duzinu stringa kao
argument). Pogledaj u NG, a evo ti ovde i primer za C i ASM odatle:
────
C:
char data[5] = {1, 0, 2, 0, 3, 3};
_retclen(data, 5);
────
ASM:
EXTRN __retclen:FAR
mov ax, 5 ; params pushed in reverse
push ax
mov dx, seg MyData ; pass address of data (not shown)
mov ax, offset MyData
push dx
push ax
call __retclen
add sp, 6 ; reset stack pointer
clipper.376nbatocanin,
-> #370, dkalaba> Da lKi neko zna nešto o generatoru aplikacija SuidCASE
> koji je razvila MIKRONOVA iz N. Sada?
Trebalo je da radim prikaz ovog programa i bio sam na demonstraciji.
Radi se o programu koji omogućava da zadaš razne stvari za
aplikaciju: kakvi će biti meniji, kakvi pregledi, izveštaji, ...
Takvi programi su već viđeni i nisu ništa teško za uraditi. Ono što
je najvažnije, a to su specifičnosti svake aplikacije, urađeno je po
meni veoma loše: postoji veliki broj ugrađenih funkcija koje se
pozivaju da bi se izvele razne kontrole. Ukratko, interesantno i
nedovoljno razrađeno. Ipak, da se ogradim: ovo je samo na osnovu 2-3
sata rada.
Lično mislim da je oblast izuzetno interesantna i sam planiram odavno
da radim nešto ovako.
clipper.377nbatocanin,
Evo listinga objavljenih u tekstu "Knjiga u kojoj sve piše". Nisam
imao previše vremena da sve detaljno sredim, ali mislim da i ovako
može da se koristi.
dbf.zipclipper.378toma,
-> #371, d.petrovic■■>> Ă> A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj.
■■>>
■■>> Ako staviš set filter to blabla neće bogme ;)
A da! Ovde ima i ljudi koji još uvek koriste filtere! ;>
Pozdrav from Toma.
clipper.379d.petrovic,
-> #378, tomaĂ> A da! Ovde ima i ljudi koji još uvek koriste filtere! ;>
Da vidiš ponekad i koristim :). Kad štampam nešto, pa je program ipak
uvek brži od štampača. Uštedim poneki indeks, ali samo ako se to
odnosi na štampanje.
clipper.380dr.grba,
-> #340, nbatocanin
══ Zasto funkcija ne bi mogla da se zove Valid?
Dobro, priznajem. Do mene, do mene u ovoj partiji hrkljusa...
Verovatno si bio u (ne)prilici da u 5.55 ujutru zavrsavas neki kod koji u 9.00
treba da instaliras korisniku (mogao si ti to zavrsiti i oko ponoci, al' si
jahao svoj modem putem SEZAM-a (: )...
Pa bleknes onako peskovitih ociju u monitor kad ti ceo sistem unosa crkne
zbog onog semicolon... Morao sam da budem besan na nekog ili nesto, zasto
to ne bi bio Get koncept ? Mada smatram da je upravo ono sto Clipper cini
NAJBOLJIM (foxovci, paznja!) otvorenost sistema za prepravke svih vrsta i
dorade...
BTW, kakva su iskustva kolega kliperasa na anti-majmunskim kontrolama u
programima? Sta mislite, dokle treba trositi snagu u osmisljavanju konstrukcije
programa da ne bi neka nafrakana lujka srusila ceo sistem? (Pre koji dan sam
na jednoj tastaturi nasao fleke od laka za nokte...)
Ne samo u Clipperu, ne samo na PC-ju, imao sam prilike da vidim svakakve ideje
o zastiti datoteka, kvalitetu unosa, (ne)mogucnosti tumbanja,...
Nenade, mozda neka ideja za Clipper savetnik ?....
Pozdrav, dr.grba
clipper.381snemcev,
-> #363, dejanr>> koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po
>> Clipper-ovoj nekoj pameti "sledeći" broj, ali vi taj broj uopšte ne
>> znate, pa ne možete ni da otvorite bazu.
A zar funkcija SELECT("ime") ne vraća broj zone u kojoj je baza "ime"?
clipper.382dejanr,
-> #381, snemcev>> A zar funkcija SELECT("ime") ne vraća broj zone u kojoj je baza "ime"?
Vraća... ali ako pročitaš još jednom poruku 9.363, videćeš da to za
dati problem nije od naročitog značaja - ne opisuje se neki nerešiv
problem, nego naprosto jedna situacija koja nastaje ako neko pokuša
da kombinuje "stari" i "novi" način rada sa alias-ima.
clipper.383nbatocanin,
-> #380, dr.grba> Verovatno si bio u (ne)prilici da u 5.55 ujutru zavrsavas
> neki kod koji u 9.00 treba da instaliras korisniku
Jok ti si :)))
Šalu na stranu, i meni se nimalo ne sviđa Clipper-ov poluslobodan ;)
sistem za pisanje naredbi. Ne vidim pravi razlog da naredbe ne budu
potpuno slobodno raspoređene.
> BTW, kakva su iskustva kolega kliperasa na anti-majmunskim
> kontrolama u programima?
Uh, ja sam tu nepopravljivo lenj. Valjda mi se čini da tako uludo
trošim vreme. U principu, nikad se ne trudim da program bude
pametniji od korisnika i samo sprečavam nenamerne greške. Ako baš hoće
da napravi haos, ja tu ništa ne mogu: ionako može da razbije računar
;) Uzgred, kao definitivan dokaz neuračunljivosti korisnika, čuo sam
ovakvu izjavu:
"Ma, jeste da sam taj program platio debelo, ali ne da je zaštićen:
evo, lupim rukom po tastaturi i ništa mu nije!"
> Nenade, mozda neka ideja za Clipper savetnik ?....
Na žalost (?), savetnik do daljnjeg neće izlaziti.
clipper.384ndragan,
-> #380, dr.grba/ BTW, kakva su iskustva kolega kliperasa na anti-majmunskim kontrolama
/ u programima? Sta mislite, dokle treba trositi snagu u osmisljavanju
Iskustvo, opšte pa pojedinačno. Forsiram kontrole šifara (nema duplih,
a moraju da postoje); datume kontrolišem da su u opsegu od danas-100,
danas+5, mada i onda samo izbacim pitalicu "datum 21.04.1957 izgleda
čudno: tako treba / ukucaću ponovo" (ono "tako treba" sam ugradio još
oktobra, tek da se zna). Ako ima smisla, ubacim još poneku kontrolu
(datum isplate ne može biti stariji od datuma ugovora i slično).
Veći je zez sa izdavanjem iz magacina. U materijalnom i u robnom za
trgovinu mora da postoji zaliha kad se izdaje roba/materijal; u robnom
za proizvodne firme baš i ne mora. Zašto? Zato što našim socrealističkim
mastodontima treba još deset godina dok ne opasulje svoje magacionere da
_dnevno_ daju papire o zaprimljenoj robi, i možda još pet godina dok se
sete da ubace makinu u magacin. Tako se prijem robe knjiži krajem meseca
(if ever ;), a faktura (i otpremnica) moraju da idu monumentalno, jer to
pravi pare. Dakle, ako vam zaliha uleti u minus, (valjda) znate šta
radite, ali ja vas neću zadržavati.
Kakve još kontrole? Pa, pojedinačne: na nekim mestima primetiš da
osoblje greši na određenim poljima, primetiš koja je vrsta greške pa
ubaciš specifičnu kontrolu; tu kontrolu ne stavljaš nikom drugom, jer je
iskustveno dokazano (?) da višak kontrola nervira operatere pa počinju
da izmišljaju nove, ingeniozne greške :)
clipper.385vsasa,
-> #382, dejanr>>> A zar funkcija SELECT("ime") ne vraca broj zone u kojoj je baza "ime"?
>
> Vraca... ali ako procitas jos jednom poruku 9.363, videces da to za
> dati problem nije od narocitog znacaja - ne opisuje se neki neresiv
> problem, nego naprosto jedna situacija koja nastaje ako neko pokusa
> da kombinuje "stari" i "novi" nacin rada sa alias-ima.
A zasto uopste voditi racuna o broju oblasti koja je aktivna?
Prilikom otvaranja baze ja koristim DbUseArea(.T.,,"Ime",,), a kasnije
poljima iz baze Ime pristupam sa Ime->ime_polja. Time sam SELECT
potpuno izbacio iz upotrebe! Isto tako i alias-e retko upotrebljavam,
jer jednostavno koristim samo ime baze.
CAO, Vsasa.
clipper.386mbole,
-> #383, nbatocanin> Na žalost (?), savetnik do daljnjeg neće izlaziti.
Uaaaaaa. Vratite nam savetnik :((((((
A što neće ???????
clipper.387dejanr,
Ima li neki način da se za logičke promenljive u raznim @say...get maskama
pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto onoga T i F?
Ideja je, naravno, da se to nekako doda u postojeći program, a da se po
mogućnosti u njemu što manje mora menjati.
U bazama itd može slobodno da ostane .t. i .f., samo da se promeni na ekranu
clipper.388dr.grba,
-> #383, nbatocanin>> Na zalost (?), savetnik do daljnjeg nece izlaziti.
Ma, daj, sta se to dogadja sa casopisom?
Ako sam ikada imao kljucni argumenat da prebolim cenu "Racunara",
onda su to bili savetnici. Jos mi reci da ce da ce da ukinu Clipper...
Dobro, da ne preteram, dovde...
Bez daljeg, napisao si dosad nekoliko PO MOM MISLJENJU (pozdrav sysop-u)
izuzetnih i, za nase prilike, veoma korisnih clanaka. Bilo bi steta ...
Tvoj kalkulator se vrti u par mojih aplikacija, i bas sam jednom ulazio
kod korisnika(ce) kad je doticna pokazivala koleginici iz druge firme :
"A ti nemas ovo..." ((:
Uskoro cu implementirati i editor...
Drzim ti fige da teras dalje. Uostalom, ako mi sta zatreba, imam SEZAM,
zar ne?
Pozdrav, dr ÔpŰa
(((:]= <- left-handed, printer on head
clipper.391ndragan,
-> #385, vsasa/ potpuno izbacio iz upotrebe! Isto tako i alias-e retko upotrebljavam,
U Foksu je stvar sa aliasima izvedena malo dalje, naime alias je opet
ime, ali ne pravo ime .dbf baze (osim po difoltu), već proizvoljno ime.
To otprilike znači da se umesto baze za koju je rađeno (unos, izveštaj
itd) može da se poturi bilo koja druga baza sa dovoljno istom (!)
strukturom ili SQL kursor, i sve će da radi.
Naprimer, imamo program radi.prg u kojem se spominje baza promet.dbf;
možemo ovako:
use dpromet alias promet
do radi
Onaj radi.prg nema pojma kako mu se zove baza (ajde, može da ima ako
treba), on poziva promet.polje1, promet.polje2 itd.
Aliasi tipa jednog slova ili 'Select 22' i dalje postoje, ali mislim da
je to više radi kompatibilnosti.
clipper.392ppekovic,
U konferenciji Novosti, poruka br, 4.933 možete pročitati o
CASE alatu za Clipper, nazvanom dBsee (database software
engineering environment). Paket sadrži standardne case usluge kao
što su definicije rečnika podataka i aplikacija, generisanje
source koda, izradu dokumentacije, pomoć u održavanju i još mnogo
toga. dBsee podržava i izradu aplikacija za rad u mreži.
Ako želite da sebi priuštite ovo zadovoljstvo, prvo vam
savetujem da se oženite(udate ?) za ćerku nekog bogataša, jer je
cena ovog paketa oko $3549 (tri hiljade pet stotina četrdeset
devet dolara).
Paya
clipper.393ppekovic,
-> #387, dejanr>> Ima li neki način da se za logičke promenljive u raznim @say...get maskama
>> pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto onoga T i F?
>> Ideja je, naravno, da se to nekako doda u postojeći program, a da se po
>> mogućnosti u njemu što manje mora menjati.
Ako ništa ne smisliš, uvek imaš ono divno, hakersko rešenje,
... patch :)
Paya
clipper.394majkl,
-> #387, dejanr> Ima li neki način da se za logičke promenljive u raznim
> čsay...get maskama pojavljuju i kucaju vrednosti D i N
> (ili recimo J i N) umesto onoga T i F?
Može li da prodje Y kao picture template symbol koji daje "Y" i
"N" (ubedi korisnike da su svi čuli za YES i NO)?
ps. Jeste topla voda, al' ko još čita sve te sitnice?
clipper.395oki.,
-> #387, dejanr>> Ima li neki način da se za logičke promenljive u raznim @say...get
>> maskama pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto
>> onoga T i F? Ideja je, naravno, da se to nekako doda u postojeći program,
>> a da se po mogućnosti u njemu što manje mora menjati.
>>
>> U bazama itd može slobodno da ostane .t. i .f., samo da se promeni na
>> ekranu
Možda nisam najkompetntniji (koristim Fox tek mesec dana), al evo rešenja
za FOX-u 2.0 (pretpostavljam da tako nešto ima i u Clipper-u?):
on key label D keyboard "T" && zamena tastera, unos je
on key label N keyboard "F" && moguć sa T,D,N,F.
@ y,x get prom
read
on key && stare vrednosti
Pozdrav, 3OPAH.
clipper.396nbatocanin,
-> #386, mbole> A što neće ???????
Trenutno se vrši reorganizacija svih savetnika, ne bi li se dobilo
nešto kvalitetnije.
clipper.397nbatocanin,
-> #388, dr.grba> "Racunara", onda su to bili savetnici. Jos mi reci da ce
> da ce da ukinu Clipper...
:)) Neće, zašto bi? Ono što interesuje ljude, po definiciji ulazi u
"Računare".
> Tvoj kalkulator se vrti u par mojih aplikacija, i bas sam jednom
> ulazio kod korisnika(ce) kad je doticna pokazivala koleginici iz
> druge firme : "A ti nemas ovo..." ((:
Iskreno mi je drago da ono što radim ljudima koristi. Što se tiče
kalkulatora, imao sam par puta prilike da mi ljudi dokazuju da je
neki kupljeni program jako dobar i onda kao krunski argument - moj
kalkulator :))
> Uostalom, ako mi sta zatreba, imam SEZAM, zar ne?
Naravno, samo napred.
clipper.398nbatocanin,
-> #387, dejanr> Ima li neki način da se za logičke promenljive u raznim
> @say...get maskama pojavljuju i kucaju vrednosti D i N
> (ili recimo J i N) umesto onoga T i F?
Može, ali ne baš toliko elegantno koliko bi trebalo. Evo ovako:
problem nije u samom unosu, jer unos vrednosti obavlja ReadModal
funkcija i nju lako možeš izmeniti. Pravi problem je u inicijalnom
ispisivanju vrednosti na ekran (znači kad zadaš GET x), a to obavlja
funkcija _GET_ čiji tekst nije dat, što je veoma glupo, jer ova
funkcija obavlja krajnje jednostavan posao. Zašto je to tako, ne znam.
Da budem koristan, za manji problem je najbolje da uradiš sledeće: u
GETSYS.PRG imaš funkciju GetReader i u njoj sledeću naredbu:
while ( get:exitState == GE_NOEXIT )
GetApplyKey( get, Inkey(0) )
end
koja bukvalno učitava vrednost. E, sad ovu petlju stavi u ovakvu konstrukciju:
IF get:type == "L"
UcitajDaNe(get)
ELSE
while ( get:exitState == GE_NOEXIT )
GetApplyKey( get, Inkey(0) )
end
END IF
I samo napravi po volji ucitavanje za D-N u proceduri UcitajDaNe. Na
žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji Y/N
dok ne dođe do učitavanja :(( Jedino rešenje za ovo koje mi pada na
pamet je izmena definicije SAY..GET, što nije neki problem, ali je
"prljav" posao.
clipper.399dejanr,
-> #398, nbatocanin>> Na žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji Y/N
>> dok ne dođe do učitavanja :((
Hmmm... znači treba projektovati sva pitanja tako da inicijalni odgovor
bude Ne :)))
Hvala, probaću :)
clipper.400zkrstic,
-> #391, ndragan> U Foksu je stvar sa aliasima izvedena malo dalje, naime alias je
> opet ime, ali ne pravo ime .dbf baze (osim po difoltu), već
> proizvoljno ime.
žekaj, ja ili nisam razumeo (moguće, kažu da sam nerazuman ;) )
ili ste prevideli da apsolutno isto radi i Clipper.
USE baza ALIAS alias
.
.
.
SELECT alias
gde alias mož da bude šta ti na pamet padne.
Zkr
clipper.401zkrstic,
-> #394, majkl> Može li da prodje Y kao picture template symbol koji daje "Y" i
> "N" (ubedi korisnike da su svi čuli za YES i NO)?
Može!
clipper.402zkrstic,
-> #397, nbatocanin> neki kupljeni program jako dobar i onda kao krunski argument - moj
> kalkulator :))
Neverovatno ali istinto :) Ja sam pre terao kroz svoje programe
neki calc.obj vezan, koji je lepo radio ali je imao opcija bože me sa-
čuvaj, samo što nije zavijao sarme i čuvao sitnu decu. E onda, pokupih
onaj tvoj pa njega okačih koji je zaista lepo radio, pa sada na kraju
teram sličan koji je bratić nadžvrljao (teorija: ovaj je malo kraći i
brže radi) ;))))) mala dijabola.
Ali ono najlepše: Kome god smo prezentovali program, koji jede
živu decu kako lepo vodi proadaju u svakom obliku, posebno ga impresio-
nira - kalkulator :)))
Zkr :)
PS. Koliko me pamćenje služi, u onom tvom je bio bugčić, da prvi poziv
kalkulatora otera decimale na deset, pa ih ne vrati, ili ih po de-
faultu vrati na dve ?
clipper.404nbatocanin,
-> #391, ndragan> U Foksu je stvar sa aliasima izvedena malo dalje, naime
> alias je opet ime, ali ne pravo ime .dbf baze (osim po
> difoltu), već proizvoljno ime.
Potpuno isto je i u Clipper-u.
Nego, čini mi se da Fox ima neke druge zgodne štosove za rad sa
aliasima?
clipper.405ndragan,
-> #400, zkrstic/ ili ste prevideli da apsolutno isto radi i Clipper.
Gle, uvedena je i jedna međusobno kompatibilna novost. Neverovatno.
clipper.406ndragan,
-> #395, oki./ on key label D keyboard "T" && zamena tastera, unos je
Da, ali pošto ti ova dva tastera trebaju i pre i kasnije u toj istoj
masci, lepo ove OKL naredbe staviš u When funkciju za to polje, a Pop
key u Valid (u grani koja vraća .t., naravno).
Može, ali ipak nije jasno, jer na ekranu ostaje T - eventualno da ga
sakriješ, a pored da ispišeš DA ili NE. Može se doterati, što da ne.
clipper.407dr.grba,
-> #396, nbatocanin>> Trenutno se vrsi reorganizacija svih savetnika, ne bi li se dobilo
>> nesto kvalitetnije.
TUP !
...
Pade mi kamen sa srca ((((:
I nemo' vise da me strecas, strefice me srcko (((:
Pozdrav, dr ÔpŰa
clipper.408zkrstic,
-> #405, ndragan> / ili ste prevideli da apsolutno isto radi i Clipper.
>
> Gle, uvedena je i jedna međusobno kompatibilna novost. Neverovatno.
Ma garant su se negde zeznuli :) Izbaciće oni to već u narednoj
verziji, da ne bude zabune ;))))
clipper.409zkrstic,
Dosada sam pored tople vode, rupe u saksiji otkrio mnoge stvari.
Ali ovo je svetski biser ;(
"Stari" Clipper 5.01, Nantucketov, trpeo je bez problema nešto tipa
USE &baza EXCLUSIVE gde je baza = "01rac01". Nakon Upgradea (Computer Asso-
ciates) koji postoji na Sezamu, na ovako nešto popićete sledeću grešku:
-> "DBCMD/1010 Illegal characters in alias (USE command)". ;(((
Rešenje se samo nameće u norton gajderu koji ide uz Upgrade:
-> Note: A legal identifier can contain alphabetic
-> characters, numbers, or the underscore symbol (_);
-> but must begin with an alphabetic character.
!!!!!!!!!!
Koja budalaština ;(((((
Jel' u sledećoj verziji treba očekivati da indexi moraju da počinju
na slovo LJ ? ;(
Zkr
PS. Da predupredim odgovor na pitanje "a koji ti lurac naziv baze počinje
na broj?"
- Jednostavno, program radi u mreži, i prva dva broja označavaju opera-
tera, a zadnja dva broj računa, obzirom da operater može od jednom da
otvori 99 računa.
clipper.410d.petrovic,
-> #409, zkrsticĂ> Dosada sam pored tople vode, rupe u saksiji otkrio mnoge stvari.
=====
Kad pre? Znao sam da si stigao do mlake ;)
žemu u stvari služi taj upgrade, upravo si mi dao na znanje da tako
nešto postoji t.j. vredi li utrošiti vreme za DL-ovanje gorepomenutog
:)
clipper.411oki.,
-> #406, ndragan>> Može, ali ipak nije jasno, jer na ekranu ostaje T - eventualno da ga
>> sakriješ, a pored da ispišeš DA ili NE. Može se doterati, što da ne.
Domaći urađen :) :
clear
@ 10,2 say "Unos:"
@ 10,10 get p ;
color ,x/x ; && ili COLOR SCHEME - podesiti po potrebi
default .T. ; && važno je da se ništa ne vidi
when priprema();
valid pisi(p)
read
on key
procedure priprema
on key label D keyboard "T"
on key label N keyboard "F"
return
function pisi
parameter pp
if pp
@ 10,8 say "DA"
else
@ 10,8 say "NE"
endif
return
Pozdrav, 3OPAH.
clipper.412snemcev,
-> #399, dejanr>>>> Na žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji
>>>> Y/N dok ne dođe do učitavanja :((
>>
>> Hmmm... znači treba projektovati sva pitanja tako da inicijalni
>> odgovor bude Ne :)))
Pa i ne mora (ili mora?). Možda bi rešenje bilo u zadavanju problematičnog
GET-a kao
oGet := GetNew()
...
AADD( GetList, oGet )
Tako GET neće biti ispisan na ekranu sve dok se ne pozove metoda display()
(valjda je ReadModal poziva). Klasični način zadavanja GET-a kao
č x, y SAY "Bla-bla: " GET p PICTURE ... WHEN ... VALID ...
ispiše GET odmah posle zadavanja zbog kompatibilnosti sa S'87.
Možda ovo pomogne.
Izvor: ONOTES.ZIP
clipper.413nbatocanin,
-> #402, zkrstic> PS. Koliko me pamćenje služi, u onom tvom je bio bugčić,
> da prvi poziv kalkulatora otera decimale na deset, pa ih
> ne vrati, ili ih po de- faultu vrati na dve ?
Uh, u pravu si, ali toliko nemam vremena da nisam još uvek ispravio
taj bug ;)
clipper.414ppekovic,
Pojavio se novi clipper 5.2. Više o tome pročitajte u
konferenciji novosti, poruka 4.951. Ukratko:
Novi CA-Clipper 5.2 (Computer Assosiates Clipper) donosi:
nove izmenjive database driver-e, uključujući i NTX driver koji
omogućuje uslovno indeksiranje kao i bolje performanse; MDX driver
za dBase IV koji podržava multi-tag (?) i uslovne indekse;
driver-e za Paradox i FoxPro koji omogućuju CA-Clipper-u da čita i
menja podatke u takvim bazama.
CA je izdala i API za izmenjive database driver-e i rad sa
virtuelnom memoriom, uključujući i pristup internim
specifikacijama, koje ranije nisu bile dostupne.
CA tvrdi da je poboljšana i dokumentacija, kao i podrška za
expanded memoriju.
CA je izbacila na tržište i novu verziju CA-Clipper Tools-a
sa kompletnim interface-om za Novell. Nova verzija obuhvata preko
250 novih funkcija uglavnom za podršku višekoriničkim aplikacijama
pod Novell-om. Tu su i funkcije za podršku više server-a i
volume-a (ko se beše trudio da ovo prevede?), kao i alatke za
povećanje sigurnosti podataka i pristupa.
Cene:
CA-Clipper - za ograničeno vreme $149, posle $795.
CA-Clipper Tools, Nantucket tools upgrade $129,
inače $695
Da li je mogućnost izmene database driver-a kraj mukama sa
dbf formatom, ili najava talasa drajvera nezavisnih proizvodjača
uz novi problem kompatibilnosti među njima?
Paya
clipper.415ndragan,
-> #404, nbatocanin/ Nego, čini mi se da Fox ima neke druge zgodne štosove za rad sa
/ aliasima?
Ne znam na šta misliš, možda na sintaksu baza.polje umesto baza->polje;
ili na SQL kursor, koji je nekakva virtuelna baza (ne postoji, ali radi)
ili... može da ispadne da si mislio na nešto što je uvedeno još u mfox+?
Ima i onu funkciju alias() pa posle možeš da uradiš
_alija=alias()
select nešto_drugo
....radiš...
sele (_alija)
Ovo je dušu dalo za rutine koje treba da skoknu u drugu bazu da nešto
urade, pa da se vrate u prvu - rutina uopšte ne mora da zna koja baza je
bila selektovana na početku.
Gimme a hint, na šta si mislio.