clipper.517d.petrovic,
-> #515, ppekovicĂ> Naime, uzeo sam onaj zip source i pokušavam da ga prepravim
Ă> da
Deder okači onaj *.asm, ja utamanio sve takve stvari sa diska, a sad
ne prikačinjem flopi. Ooops, šta sam napisao :)). Prikači preveden.
clipper.518dr.grba,
-> #509, dejanr>> ukaze na vecinu pogresno otkucanih promenljivih (ja, recimo, ne gresim
>> sa pcount() ali imam obicaj da napisem lastkey i recno bez zagrada).
Hvala na savetu, vec usvojeno (((:
Nisam ni mislio samo na pcount(), vec i sve ostalo ( inkey(), lastrec(),... )
jedino pravilo je da ga zeznem bas tamo gde najbolje treba da odigra svoju
ulogu - bilo zbog kontrole u pitalici ili ne znam ni ja cega ...
Bese ono jedan od postulata prvog Marfijevog zakona "...posto ce stvari
ionako poci kako ne treba, one ce teziti da pritom naprave najvecu mogucu
stetu..." ))):
clipper.519dr.grba,
-> #511, d.petrovic>> Ă> Nesto sam zaboravio, jel bese IsPrinter() testira samo LPT1 stampac?
>>
>> Zaboravio i ja, ali znam da je samo paraleni.
ISPRINTER() is a printer function used to determine if the parallel
port (LPT1) is on-line and ready to print. ISPRINTER() is hardware
dependent and, therefore, only works on IBM-BIOS compatible systems.
You can check ISPRINTER() to make sure the printer is ready before you
begin a print operation; however, if an error occurs during the print
operation, a runtime error is generated.
Izvor, naravno, NG fajl...
I opet marfologija : "Ako nece da radi, procitaj uputstvo."
Pozdrav, dr ÔpŰa
clipper.520tarva,
-> #352, nbatocaninÍ─────────────────Ě
║ <F1> (HELP) ║
Ë─────────────────Ż
Nisam verovao da se ovo može desiti: Postavio sam pitanje i ostao
na SEZAMU bez odgovora! Stoga:
Sorry što opterećujem konferenciju još jednom ovom porukom, ali
ne radi :((((, a niko mi nije odovorio :(((. ZATO -> HELP.
>Í─────────────────
>║> SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"Đ*.DBF",300,"","")
>Ë─────────────────────────────────────
>
>Probao sam ovo sa SwpRunCmd(...etc...) i ne radi. Mogući uzrok.
>
>1. Nabavljen na probu samo BLINKER.EXE
>2. Možda treba setovati neku opciju dodatno?
>
>U vezi s tim tri pitanja:
>
>1. Gde sa može kupiti orginal "BLINKER".
>2. Da li treba dodati još neki parametar
>3. Ili nešto treće?
Probao sam ovo i na proba.prg koji je imao samo 3 reda 2 x SAY i
gore pomenutu komandu. Možda je onome ko zna ovo pitanje ispod
časti da na njega odgovori, ali meni je to problem. A svaki
problem je prilično veliki, naročito ako ne umeš da ga rešiš.
clipper.521svemic,
Moj mali prilog clipperasima - 132 karaktera u VGA u modu u CLipperu
preuzeto sa InterNeta - USA.
132vgacl.arjclipper.522zkrstic,
-> #520, tarva>>>Í─────────────────
>>>║> SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"Đ*.DBF",300,"","")
>>>Ë─────────────────────────────────────
>>>
>>>Probao sam ovo sa SwpRunCmd(...etc...) i ne radi. Mogući uzrok.
>>>
>>>1. Nabavljen na probu samo BLINKER.EXE
>>>2. Možda treba setovati neku opciju dodatno?
Uzmi lepo instaliraj kompletan Blinker. Moguće da Blinker koji kori-
stiš je DEMO verzija u kojoj to možda ne radi.
>>>U vezi s tim tri pitanja:
>>>
>>>1. Gde sa može kupiti orginal "BLINKER".
Kod nas - nigde.
>>>2. Da li treba dodati još neki parametar
>>>3. Ili nešto treće?
Ma to mora da radi u kombinaciji (0,"<naziv_programa>","",""). Meni
je ekstrem kada svapujem iz Clippera u Clipper i to fercera bez ikakvih pro-
blema.
>>Probao sam ovo i na proba.prg koji je imao samo 3 reda 2 x SAY i
>>gore pomenutu komandu. Možda je onome ko zna ovo pitanje ispod
>>časti da na njega odgovori, ali meni je to problem. A svaki
>>problem je prilično veliki, naročito ako ne umeš da ga rešiš.
Uh, al ga zabiberi na kraju! Ja sam jedva malopre ukapirao da imaš
samo Blinker.Exe, a ne ceo blinker. A i cela poruka je vrlo konfuzna. Ništa
zato, evo ja ti odgovaram, iako mi nije jasno kako ti ne radi. :(
clipper.523dejanr,
-> #520, tarvaNisi baš opisao šta to znači "ne radi" tj. šta se tačno desi.
Komanda izgleda ok, jedino možda ako koristiš neki stari
Blinker koji to još nije ni imao (?). Komanda na Blinker-u
2.0 radi lepo.
PS Pretpostavljam da je PKZIP.EXE pri ruci programu, stavi ga
u njegov dir mada bi trebalo da radi i bilo gde iz PATH-a.
clipper.524bstevan,
Imam sledeci problem:
Imam datoteku RADNIK.DBF i oko 400 radnika u njoj.
Neki od njih su više puta menjali mat.br., tako da sam kod
onih koji su dobili novi MB, na stari stavljao oznaku 'D'
u polju VRO(Vrsta rad. odnosa), onima koima je isteko rad.
odnos oznaku 'I' i onima koji su otišli u penziju 'P'.
Sad tu datoteku iskopiram u privremenu RADNIK.IZV,
i izbrišem slogove sa DELETE ALL FOR VRO == "D" .OR. VRO == "P";
.OR. VRO == "I"
treba da mi ostane aktivan broj radnika u RADNIK.IZV, ali mi
neke podatke za neke radnike (U NEKA POLJA) loše dodeli, pa na taj
nacin promeni podatak u privremenu bazu.
Konkretno primer:
Radnik XXXXXXX YYYYYY imao je šifru radnog mesta 14022, posle
kopiranja i brisanja kako je gore pomenuto pojavi se neka druga
šifra.
Šta može biti problem ?
NAPOMENA: Indeksiranje izvorne baze nisam vršio !
---BSTEVAN---
---POZDRAV---
clipper.525gari,
BBS: RHINOCEROS
Conference: CLIPPER...
From: ARPAD SEGI
To: MARKO LUCIC [PUBLIC]
Subject: memoedit()
Date: 04-05-93 10:48
Biblioteke od raznih nezavisnih proizvodjaca mogu se kupiti u
Londonu
1) CLText Linkable Word procesor for Summer '87 and 5.01
- Word 5.0 emulatons
- Word 5.5 emulatons
- WordPerfect emulatons
- Brief emulatons
- 350 popular printers ..................... 250 funti
2) WPLib() WordPerfect Library ................ 245 funti
3) dBxStore II More than just a .DBT replacer ... ? funti
!!!! Ima li neko sa sezama nesto odavde ?
clipper.526tarva,
-> #523, dejanrÍ───────────────────────Ě
║ HVALA i čIVEO SEZAM! ║
Ë───────────────────────Ż
Da ne bih odgovarao obojici odjednom:
Za zkrstic-a
Í──────────────────
║> Uh, al ga zabiberi na kraju! Ja sam jedva malopre ukapirao da imaš
║> samo Blinker.Exe, a ne ceo blinker. A i cela poruka je vrlo
║> konfuzna. Ništa zato, evo ja ti odgovaram, iako mi nije jasno kako
║> ti ne radi. :(
Ë───────────────────────────────────────
Ali vidiš, meni je sada jasno zašto mi ne radi. A tome odgovori i
služe, zar ne? Sada sam pogledao verziju BLINKER.EXE :)))), kada
ga pozovem prijavi da je verzija 1.50 :(((((. Nisam ni gledao
broj verzije jer sam ga dobio onako kao "Evo ti, prikazan je u
"Računarima", probaj"
U svakom slučaju,hvala na trudu, ja sam znao da na SEZAMU neću
ostati bez odgovora, jedino sam se malo uplašio da vas mrzi da
odgovarate na glupa pitanja.
Pozdrav, dok ne nabavim novi blinker.
Za dejanr-a
Í─────────────────
║> Nisi baš opisao šta to znači "ne radi" tj. šta se tačno desi.
║> Komanda izgleda ok, jedino možda ako koristiš neki stari
║> Blinker koji to još nije ni imao (?). Komanda na Blinker-u
║> 2.0 radi lepo.
║ ═════════════
Ë──────────────────────────────────────
Ključni deo je podvučen, a moja glupost obrazložena u delu poruke
koja se odnosi na zkrstica. BTW, "ne radi" znači da nije hteo ni
da mi linkuje tu funkciju. Prijavi da je nema. Sad znam i zašto.
Í──────────────────
║> PS Pretpostavljam da je PKZIP.EXE pri ruci programu, stavi ga
║> u njegov dir mada bi trebalo da radi i bilo gde iz PATH-a.
Ë──────────────────────────────────────
Na to sam i ja pomislio. Nije.
Hvala obojici na trudu. A meni ostaje da probam da nabavim i 2.0
verziju i da vam se izvinim na gnjavaži.
Pozdrav, Tibor.
clipper.527dr.grba,
-> #516, nbatocanin>> Nije nesto, zar ne?
Cuj, valjano je. Verziranom coveku pet minuta, pretpostavljam.
Cisto radi reference, mogao si da spomenes da imas .ch za REPEAT-UNTIL
strukturu.
BTW, hajde da vidimo tvoj screen saver. Jel' to ono sto jako lici na
Vasin SKY?
Vec sam navikao da od tebe stalno skinem neki fazon, pa bih zbilja voleo
da vidim sto pre tu tvoju knjigu. (((:
Pozdrav, dr ÔpŰa
clipper.528bcetina,
-> #516, nbatocanin>> Nije nešto, zar ne?
E, baš jeste.
clipper.529nbatocanin,
-> #527, dr.grba> BTW, hajde da vidimo tvoj screen saver. Jel' to ono sto
> jako lici na Vasin SKY?
Nisam video Vasin Sky, ali moj Sky je objavljen u "Računarima" u
tekstu o demo programima. Ima ga i negde u \RSOFT.
> Vec sam navikao da od tebe stalno skinem neki fazon, pa
> bih zbilja voleo da vidim sto pre tu tvoju knjigu. (((:
Još malo, još malo... :))
clipper.530svemic,
-> #524, bstevan> Imam sledeci problem:
> Imam datoteku RADNIK.DBF i oko 400 radnika u njoj.
> Neki od njih su vise puta menjali mat.br., tako da sam kod
> onih koji su dobili novi MB, na stari stavljao oznaku 'D'
> u polju VRO(Vrsta rad. odnosa), onima koima je isteko rad.
> odnos oznaku 'I' i onima koji su otisli u penziju 'P'.
> . . .
Probaj da izvornu bazu, tj. radnik.dbf prvo indeksiras,
( po svim indeksima koje imas ) a zatim je prekopiras u
bazu za obradu sa filterom koji ti filtrira samo radnike
koji su u aktivnom radnom odnosu ( ili tako nesto, mislim
ono sto ti treba ) !! Ne zaboravi posle SET FILTER TO ...
obavezno ide GO TOP !!.
I ja sam imao neke slicne probleme, pa mislim da ce i kod
tebe ovo da upali.
Pozdrav,
(SV) mr xByTe
clipper.531bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
nflib_ch arj 3754 Dodatni header (.CH) fajlovi za NFLib 2.1
Ovo je dopuna za NFLib21.Arj arhivu koja se nalazi na Sezamu, a sadrzi
tri header fajla - ft_ach2t.ch, ftint86.ch, ftmenuto.ch. Hvala Payi i
FFS-u odakle je stigao kompletan nflib.
clipper.532bulaja,
**** new file ****
R:\IBMPC\CLIPPER\*.*
----------------------
rshpcx10 zip 5624 Prikaz PCX slika iz Clipper-a 5.01 (EGA/VGA)
Preuzeto sa FFS-a (FON File Server).
clipper.533zkrstic,
-> #532, bulaja>>rshpcx10 zip 5624 Prikaz PCX slika iz Clipper-a 5.01 (EGA/VGA)
Ovo radi, vrrrrrlo kilavo, ajd, da čujem i tuđa iskustva. Ja ga davno
skinuh sa FFS-a i bacih
Zkr
clipper.534nbatocanin,
-> #528, bcetinaVidim da sam zainteresovao narod ;) za ovo pa da kažem još par
reči. O svemu je dataljnije bilo u "Računarima" u tekstu o demo
programima.
Prva faza je centralizacija svih procedura za skaniranje tastature.
Problem je trivijalan za TBrowse, GET sistem, dok se za AChoice, MENU
TO i sl. za nijansu teže rešava (napišu se nove funkcije). Problem
je MemoEdit i za sada nemam dobro rešenje za tu funkciju.
Elem, kada sve te funkcije skaniraju tastaturu preko funkcije
Inkey(), onda se napiše funkcija koja zamenjuje Inkey. Osnova te nove
funkcije je dosta jednostavna: umesto da program čeka na akciju
korisnika u naredbi Inkey(0), program u stanju čekanja stalno
izvršava jedan ciklus u kome jednostavno ispisuje vreme - i to je sva
mudrost što se tiče sata.
E sad, ovakva funkcija pruža još more dodatnih mogućnosti. Na primer,
mogu se uvesti tri moda rada: NORMAL, LEARN i DEMO. U normalnom modu
bi se funkcija xKey ponašala baš kao Inkey. U LEARN modu bi se isto
ponašala, samo što bi svaku akciju korisnika beležila u LOG datoteku.
U DEMO modu se tasteri čitaju iz tako kreirane datoteke.
Koristan dodatak je i gašenje ekrana posle određenog vremena, a to se
trivijalno pravi.
clipper.535nbatocanin,
-> #530, svemic>> Imam sledeci problem:
Ne verujem da je neki bug: situacija ja isuviše čista. Pošalji deo
koda koji brlja pa da vidimo.
clipper.536dr.grba,
-> #533, zkrstic>> Ovo radi, vrrrrrlo kilavo, ajd, da cujem i tuda iskustva. Ja ga davno
>> skinuh sa FFS-a i bacih
Kod mene - zali boze 20 minuta igranja... Nije vise na disku.
Pozdrav, dr ÔpŰa
clipper.537bstevan,
-> #530, svemic>>I ja sam imao neke slicne probleme, pa mislim da ce i kod tebe
>>ovo upaliti.
Ovo je kod tebe OK' ako hoceš prikaz podataka sa SET FILTR-om.
Posto ja izbegavam SET FILTER, zato pravim pomocnu datoteku
sa COPY TO Radnik.izv
PRIMER:
USE Radnik.dat
COPY TO Radnik.izv
USE Radnik.izv
DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I"
PACK
Radnici oznaceni sa D,P, i I u polju VRO se obrišu i treba da
ostanu samo aktivni u pomocnoj datoteci.
Sad takvu datoteku mogu normalno da koristim, s tim sto sam
izbegao SET FILTER.
E' a u poruci 9.524 sam naveo sta se desava i sta brlja.
Odnosno kad jednog do tri radnika obicno zezne neki podatak
(kod ove pomocne datoteke).
To se dogadja tek posle komande DELETE u sprezi
sa PACK.
Znaci tu me interesuje gde je problem ?
---POZDRAV---
---BSTEVAN---
PS:Radi se o Clipper S87'
clipper.538bstevan,
-> #535, nbatocanin>>Ne verujem da je neki bug, situacija je isuviše čista.
>>Pošalji deo koda koji brlja pa da vidimo.
Nenade nije problem kod njega vec kod mene, a on je odgovorio
na moju poruku 9.524 .
Parce koda imas u odgovoru na poruku 9.530 (to je 9.537), a vidi
i poruku 9.524, pa povezi i videces o cemu se radi.
NAPOMENA: Radi se o Clipper - u S87'
---POZDRAV---
---BSTEVAN---
clipper.539dejanr,
Poslastica za one koji koriste Clipper i Blinker - update za Blinker 2.01.
Dodato par funkcija, ispravljeni bug-ovi i tako to.
Oba fajla (BLINK201.ZIP je update za Blinker a BLI201NG.ZIP za prateći
Norton Guide) su PD, i za njihovo korišćenje je neophodno da imate
Blinker 2.0 (ne dolaze u obzir ranije verzije!). Otpakujete, pokrenete
i samo se sredi :)
Otkrili smo jedan lep BBS sa PD programima za Clipper i raznim drugim
"zvaničnim zakrpama", očekujte još priloga na ovu temu :)
clipper.540enter,
-> #474, dejanrProblem sa APPEND FROM se pojavio nakon sto je taj program radio skoro godinu
dana. Sve je po propisu, i greske se javljaju slucajno. Jednom dobro uradi,
drugi put ne. Problem se javio, kada su baze i sam program postali veliki, pa
dolazi do prebacivanja memorije na disk itd.... Ponovo i ukratko : U otvorenu
datoteku appendujem drugu koja je fala bogu CLOSE. Obe imaju istu strukturu i
recimo 30 - tak polja. Nakon sto izvrsi APPEND, ne prijavljuje nikakvu gresku,
a rezultat je recimo da je on prebacio celu bazu, ali ne '
SVA POJçhPOLJA !!!!
ţb
clipper.541ndragan,
-> #537, bstevan/ COPY TO Radnik.izv
Ovo bi trebalo da brlja ako original datoteka ima memo polja. Bolja
tehnika je da se za ime fajla uzme slučajno ime (postoje funkcije koje
to rade, u foksu je to sys(3), dobiješ nekakav 77895471.dbf), ili da se
kopija pravi u poddirektoriju. Takođe bi bilo bolje kopirati nekom
funkcijom koja bi to radila u dužim blokovima (možda čak Run Xcopy), da
se izbegne muvanje slog po slog.
Vidim ja da kliperu i dalje nedostaje Index For.
/ DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I"
Uostalom, i ovo mi liči na zaobilazni posao; kopiraš sve, pa onda brišeš
ono što ti je višak, pa iz toga prepisuješ ono što nisi obrisao. Zašto
ne iskopiraš samo ono što ti treba:
Copy to <ime> for <uslov>
Jedno trčanje kroz bazu ti ne gine, a ovako bar nemaš tri (kopiranje,
brisanje, pakovanje).
clipper.542nbatocanin,
-> #538, bstevan> Parce koda imas u odgovoru na poruku 9.530 (to je 9.537),
> a vidi i poruku 9.524, pa povezi i videces o cemu se radi.
Prosto ne mogu da verujem da se dešava tako očigledna greška. Što se
tiče izbegavanja naredbe SET FILTER za prikaz, verovatno će biti
nešto u sledećim Računarima.
clipper.543dr.grba,
Svima vama koji niste nacisto da li da preduzmete onaj silni download
celog paketa NANFORUM TOOLKIT 2.1., upucujem ovu poruku. Ovde se nalazi
spisak novih funkcija u verziji 2.1, podeljen tematski kao u NG fajlu.
Pritom mislim ISKLJUCIVO NA REFERENTNE NOVINE, dok bih za ispitivanje
razlika u kodu morao da potrosim vreme koje nemam...
Kako god, ovde nema nikakvog mudrovanja; isekao sam slajfne iz NG fajla,
a vama bi trebalo da bude dovoljno za odluku...
Noviteti u NANFORUM TOOLKIT 2.1 :
* Database
----------
FT_DBFHAND() Obtain the handle associated with an open .DBF file.
FT_DBTHAND() Obtain the handle associated with an open .DBT file.
FT_NTXHAND() Obtain the handle associated with an open .NTX file.
* File I/O
----------
FT_FAPPEND() Appends a line to the currently selected text file
FT_FDELETE() Deletes a line from the currently selected text file
FT_FINSERT() Inserts a line in the currently selected text file
FT_FWRITELN() Write a line to the currently selected text file
* Keyboard/Menus
----------------
FT_LASTKEY() Force LastKey() to return a programmer-defined value.
FT_MCONOFF() Turn mouse cursur off if in specified region
FT_MGETCOORD() Get mouse cursor position (text coord.) and button status
FT_MGETPAGE() Get the display page for the mouse pointer
FT_MGETPOS() Get mouse cursor position and button status
FT_MGETSENS() Get the mouse sensitivity parameters
FT_MINIT() Initialize the mouse driver, vars and return status of mouse
FT_MSETCOORD() Position the mouse cursor using text screen coordinates
FT_MSETPAGE() Set the display page for the mouse pointer
FT_MSETSENS() Set the mouse sensitivity parameters
FT_MVERSION() Get the mouse driver version
FT_SETKEYS() Get array of keys redirected via the SetKey() or SET KEY
* Menus/Prompts
---------------
FT_SLEEP Wait for a specified amount of time
* Netware
---------
FT_NWSEMUNLOCK() "Unlock" a semaphore locked by FT_NWSEMLOCK()
* Video
-------
FT_DISPCNT() Return the number of outstanding calls to DispBegin()
FT_POPVID() Restore previously saved video states.
FT_PUSHVID() Save current video states on internal stack.
I na kraju jos napomena da u NG fajlu za Nanforum Toolkit 2.1 ne vidimo
vise reference za @...PROMPT i MENU TO u Nanforum interpretaciji...
Neki korisnici verzije 2.1 su prijavljivali izvesne nezgode u radu, koje
nisu primecene u verziji 2.0, pa bi bilo lepo da ih podele sa ostalima
na SEZAM-u, opisujuci sta se dogadjalo.
Pozdrav, dr ÔpŰa
clipper.544kanda,
-> #534, nbatocanin> Prva faza je centralizacija svih procedura za skaniranje
> tastature. Problem je trivijalan za TBrowse, GET sistem, dok se
> za AChoice, MENU TO i sl. za nijansu teže rešava (napišu se
> nove funkcije). Problem je MemoEdit i za sada nemam dobro
> rešenje za tu funkciju.
Evo da opisem tehniku kojom se xKey() moze uterati u MemoEdit. Dakle,
rec je o specificnoj korisnickoj funkciji za ME - u okviru nje se skanira
tastatura, a primljeni tasteri se po potrebi prosledjuju ME-u na obradu.
Pritom se u tastaturni bafer 'podvali' i jedan kod koji ME SIGURNO ne
razume - kada dodje do njega, vratice kontrolu korisnickoj funkciji. Onda
Jovo nanovo...
#include "inkey.ch"
#include "memoedit.ch"
#define K_UN 12 // bilo koji taster koji memoedit ne poznaje
/////////////////////////////////////////////////////////////////////////
FUNCTION Main
/////////////////////////////////////////////////////////////////////////
LOCAL c := "Kanda majstov"
SET CURSOR OFF ; ReadInsert(.T.) ; SET SCOREBOARD OFF
c := MemoEdit(c, 5, 5, 15, 65, .T., "MemoFunc")
RETURN NIL
// korisnicka f-ja za memoedit
/////////////////////////////////////////////////////////////////////////
FUNCTION MemoFunc(nMode, nLine, nCol)
/////////////////////////////////////////////////////////////////////////
// Ovde navesti sve kontrolne tastere koje memoedit poznaje...
// (ima ih jos, al me mrzi da kucam ;)
STATIC aKeys := {K_UP, K_DOWN, K_PGUP, K_PGDN, K_CTRL_PGUP, K_CTRL_PGDN, ;
K_HOME, K_END, K_CTRL_Y, K_DEL, K_BS, K_ENTER, K_LEFT, K_RIGHT}
LOCAL nKey
IF nMode == ME_INIT
// Smesti taster, koji ME ne poznaje, u tastaturni bafer.
// Po inicijalizaciji, ME ce odmah vratiti kontrolu korisnickoj f-ji
KEYBOARD Chr(K_UN)
ELSE
DO WHILE .T.
// Cekaj na taster. (po potrebi, moglo bi se dodati i npr. cekanje
// na klik misa. Recimo, oko memoedita se nacrtaju 'scroll-bars',
// pa ako se klikne na njih, npr. na strelicu dole, to se tretira
// kao da je pritisnuto K_DOWN.)
nKey := zKey(0)
// Valja analizirati taster.
IF nKey == K_ESC .OR. nKey == K_CTRL_W
// Napusti memoedit !
RETURN nKey
ELSEIF (nKey >= 32 .AND. nKey <= 254) .OR. aScan(aKeys, nKey) > 0
// Ovo je taster koji memoedit razume.
// Ubaci ga u tastaturni bafer, zajedno sa jos jednim tasterom,
// koji memoedit NE razume. ME ce obraditi prvi taster, a kada
// procita drugi, vratice kontrolu korisnickoj funkciji, jer mu
// je taj drugi taster nepoznat
KEYBOARD Chr(nKey) + Chr(K_UN)
EXIT
ELSE
// Taster koji memoedit ne poznaje - necemo mu ga ni prosledjivati.
Tone(1100, 0)
ENDIF
ENDDO
ENDIF
RETURN ME_DEFAULT
// Minimalna verzija cuvene nbatocaninove funkcije xKey.
/////////////////////////////////////////////////////////////////////////
FUNCTION zKey(nWait)
/////////////////////////////////////////////////////////////////////////
STATIC cTimer := ""
LOCAL n := nWait, nKey, nR, nC
SET CURSOR ON
DO WHILE .T.
IF !(Time() == cTimer)
cTimer := Time()
nR := Row() ; nC := Col()
@ 0, 0 SAY Time()
SetPos(nR, nC)
ENDIF
IF nWait == NIL ; nKey := InKey() ; EXIT ; ENDIF
nKey := InKey(0.5)
IF nWait > 0 .AND. (n -= 0.5) <= 0 ; EXIT ; ENDIF
IF nKey != 0 ; EXIT ; ENDIF
ENDDO
SET CURSOR OFF
RETURN nKey
clipper.545kanda,
-> #537, bstevan> USE Radnik.dat
> COPY TO Radnik.izv
> USE Radnik.izv
> DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I"
> PACK
Dobro, a sto ne bi npr. :
USE Radnik.dat
COPY TO Radnik.izv FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I"
USE Radnik.izv
clipper.546snemcev,
-> #543, dr.grba>> Noviteti u NANFORUM TOOLKIT 2.1 :
E pa ovde neko stvarno ume da čita misli. Baš to sam hteo da pitam,
download or not, that is the question!
clipper.547nbatocanin,
-> #540, enterU nedostatku boljega, što ne iskoristiš nešto poput:
USE To NEW
USE From NEW
DBeval ( {|| To->DBAppend(), MyCopyRecord(From,To) } )
clipper.548bcetina,
Jedan stari clipper 87 program, pri pokušaju da u jednom trenutku
otvori puno indexnih fajlova (12), pukne negde kod 4. (open error).
To se dešava na 386sx sa 1Mb. Napominjem postoji SET CLIPPER=F55 u
Autoexec.bat i FILES=55 i BUFFERS=25 u Config.sys.
To sve inače lepo radi na raznim 286 sa 1Mb. Zna li tko?
clipper.549dejanr,
-> #548, bcetinaAko izuzmemo razne trivijalne mogućnosti tipa da u autoexec-u ne piše
SET CLIPPER nego SET CLIPER ili tome podobno, činjenica da nešto lepo
radi na 286 a ne radi na 386 obično implicira nešto vezano za QEMM ili
drugi EMM manager. Za početak, jesi li probao da pokreneš program sa
"čistim" DOS-om, eventualno uz HIMEM.SYS?
clipper.550dr.grba,
-> #548, bcetina>> To se desava na 386sx sa 1Mb. Napominjem postoji SET CLIPPER=F55 u
>> Autoexec.bat i FILES=55 i BUFFERS=25 u Config.sys.
Izvini, ne umem direktno da ti pomognem da resis svoj problem, ali sam
primetio jednu stvar koju bi bilo uputno ispraviti :
FILES=55
...
SET CLIPPER=F55
...
Vidis, bilo bi uputno da za bilo koji broj u SET CLIPPER, u FILES klauzuli
u CONFIG.SYS datoteci taj broj bude (barem) za 5 veci. Tih 5 razlike
rezervise DOS za standardne I/O datoteke sistema. Ovo nije "o glavu", ali
predstavlja neki bon-ton i preventivu od glavobolje...
Pozdrav, dr ÔpŰa
clipper.551nbatocanin,
-> #544, kanda> Evo da opisem tehniku kojom se xKey() moze uterati u
> MemoEdit.
Super je. Ja sam hteo nešto slično, ali sam odustao u pola posla zato
što mislim da je MemoEdit budževina, a i ovo je (na žalost)
budževina, pa budža na budžu... I dalje čekamo oMemoEdit ;) U svakom
slučaju, ovo je lepa ideja: ako Dejan ne ubaci u Bajtove, ide u
Savetnik.
clipper.552smarco,
Molim Vas da mi predlozite dobar source- generator za menije,maske, za Clipper
5.0
clipper.553umajstorovic,
Da li neko moze da mi kaze kako da stampam PCX sliku iz CLIPPER-a. Nesto kao
LOGO u zaglavlju izvestaja.
clipper.554pstojanovic,
-> #553, umajstorovic>> Da li neko moze da mi kaze kako da stampam PCX sliku iz
>> CLIPPER-a. Nesto kao LOGO u zaglavlju izvestaja.
Udješ u Corel, uvezeš sa Import iz fajl menija, pa na print-to-file.
Ili sa GWS-Win uvezeš, središ ditering, pa na print-to-file. Obično,
zamenim posle toga iz print fajla sa NU zadnji ASCII-12 () sa " ",da
ne bi došlo do premotavanja na novu stranicu. Jeste malo zaj..ancije,
ali radi.
clipper.555snemcev,
-> #548, bcetina>> Jedan stari clipper 87 program, pri pokušaju da u jednom trenutku
>> otvori puno indexnih fajlova (12), pukne negde kod 4. (open error).
Jesi li siguran da ti taj index koji pokušavaš da otvoriš i imaš na disku?
Ova greška mi ponajviše na to ukazuje.
clipper.556vpetrovic,
-> #553, umajstorovic>> Da li neko moze da mi kaze kako da stampam PCX sliku iz CLIPPER-a. Nesto
>> kao LOGO u zaglavlju izvestaja.
Imam ja to urađeno u mašincu i povezano sa Clipperom. Javi mi se mail-om da
se dogovorimo.
vpetrovic
clipper.557dr.grba,
-> #522, zkrstic>> Molim Vas da mi predlozite dobar source- generator za menije,
>> maske, za Clipper 5.0
Evo ja, nisam skup, placanje avansom na ziro racun.
Za solarno placanje 20 % popusta (((:
Pozdrav, dr ÔpŰa
clipper.558jpavlov,
Da li bi neko bio voljan da napiše kako se prosleđuju
DOS parametri programu napisanom u Clipper-u S-87, tj.
kako da iz komandbe linije dobijem podatke koji se nalaze
u bazi?
clipper.559dejanr,
-> #558, jpavlov>> Da li bi neko bio voljan da napiše kako se prosleđuju
>> DOS parametri programu napisanom u Clipper-u S-87, tj.
>> kako da iz komandbe linije dobijem podatke koji se nalaze
>> u bazi?
Ako sam dobro razumeo šta ti treba, ovako:
PARAMETER a,b
IF PCOUNT()<>2
? "Upotreba: CITAJ baza slog"
?
QUIT
END IF
USE a
GOTO val(b)
? polje
?
QUIT
Program pozivas sa CITAJ PERA 123 i on ti ispiše vrednost polja u
123-ćem slogu datoteke PERA.DBF.
clipper.560bstevan,
-> #541, ndragan> Copy to <ime> for <uslov>
Ovo je OK'-j, ali me interesuje zašto se u onakvoj mojoj postavci
dešava što sam isao u ranijim porukama.
---POZDRAV---
---BSTEVAN---
clipper.561cnenad,
MOLIM ZA POMOC ! KAKO DA NA S'87 KADA GET NAREDBOM UBACIM U POLJE DATUM
I PROCITAM SA READ IZVRSIM ZAMENU U BAZI SVIH POLJA KOJA NEMAJU UBACENI
DATUM. SA NAREDBOM REPLACE TO NISAM USPEO DA URADIM, INACE NAREDBA
REPLACE DATUM WITH CTOD(DATUM) FOR DTOC(DATUM)=" . . " U DBASE4
RADI BEZ PROBLEMA I VRSI ZAMENU ALI U CLIPPER-u NECE !HH KORISTIM I SET DATE
GERMAN
HVALA I POZDRAV !
CNENAD
clipper.562dejanr,
-> #561, cnenad>> MOLIM ZA POMOC ! KAKO DA NA S'87 KADA GET NAREDBOM UBACIM U POLJE DATUM
>> I PROCITAM SA READ IZVRSIM ZAMENU U BAZI SVIH POLJA KOJA NEMAJU UBACENI
>> DATUM.
Ne znam da li sam baš dobro razumeo pitanje, ali ja bih to oprilike ovako
uradio:
set order to 0
goto top
do while .not. eof()
if .not. deleted()
if .not. empty(xdat)
replace xdat with datum
end if
end if
skip 1
end do
Verovatno može i sa globalnim replace, ali ja ga izbegavam zbog rada
u mreži, ovako lakše rešavam zaključavanje slogova.
clipper.563bstevan,
-> #542, nbatocanin> Prosto ne mogu da verujem da se dešava tako očigledna greška.
Ma greška je naprotiv podmukla, jer se dogodi a neocekuješ je.
Doduše može se izbeči, nekim drugim fintama, ali mene muci zašto
se dogadja jer je sve čisto, kako si i sam primetio.
> Što se tiče izbegavanja SET FILTER za prikaz, verovatno će biti
> nešto u sledećim Računarima.
Nenade, ćekamo te RAžUNARE.
---POZDRAV---
---BSTEVAN---
clipper.564bstevan,
-> #545, kanda> Dobro, a što ne bi npr. :
> USE Radnik.dat
> COPY TO Radnik.izv FOR VRO == "D" .OR. VRO == "P" .OR. VRO ==
> "I"
> USE Radnik.izv
Ne može jer sad imaš u datoteci Radnik.izv samo pasivne radnike
a ja hoću aktivne.
Može ta ista tehnika, ali ovako :
USE Radnik.dat
COPY TO Radnik.izv FOR VRO <> "D" .AND. VRO <> "P" .AND. VRO <> "I"
E' vidiš sad bi imao sve aktivne radnike u datoteci Radnik.izv.
Ipak ideja je dobra, jer se izbegava brisanja
DELETE ALL FOR VRO == ........ itd.
i ono PACK, to je isto predložio i ndragan u poruci 9.541.
---POZDRAV---
---BSTEVAN---
clipper.565bstevan,
-> #506, dr.grba Znaš, javio sam se samo zato što red stvari koje su ti se
dogadjale kako si opisao sa CLOCK.ASM, isto je i mene snašlo
pa zato definitivno ispada iz mojih aplikacija.
---POZDRAV---
---BSTEVAN---
clipper.566jpavlov,
-> #559, dejanr... Ako sam dobro razumeo šta ti treba, ovako:
...
... PARAMETER a,b
... IF PCOUNT()<>2
itd.
Zaista TAKO TREBA. Radi, 'fala.
clipper.567vpekovic,
Imam problema sa drugim delom NanForum biblioteke (NFSRC21.A01).
Prilikom testiranja integriteta javlja mi Bad Huffman code (0) a kod
opcije l ili v, Bad header. Moze li moderator da mi odgovori da li
je greska u datoteci na SEZAM-u ili je nastala prilikom prenosa pa
da pokusam ponovo. Koristim ARJ 2.22.
Unapred hvala.
V. Pekovic
clipper.568dejanr,
-> #567, vpekovicJa sam sticajem okolnosti baš pre sedam dana skinuo to sa Sezama
(nisam imao pri ruci, a doneo mi čovek program koji koristi usluge
te biblioteke) i uspešno sam je raspakovao, dakle ako u međuvremenu
nije neki gremlin prošetao diskom, sve je u redu.
Skini oba dela (arj i a01), stavi ih u isti dir i kaži ARJ e -v nfsrc21.
Verujem da će uspeti.
clipper.569bulaja,
-> #558, jpavlov│Da li bi neko bio voljan da napise kako se prosleduju
│DOS parametri programu napisanom u Clipper-u S-87,
└───
Back to the Past :). Cini mi se da je ovo bili prvo pitanje u prvoj
Clipper temi (naravno u prvoj PC.SOFT konferenciji) na prvom Sezamu :).
Parametri iz DOS-a se prenose preko PARAMETERS opcije (na pocetku
osnovnog modula navedes PARA a,b,c,..), a broj prenetih parametara
mozes ispitati funkcijom PCOUNT(). Svi parametri iz komande linije
se prenose kao stringovi, ako ti treba broj uradis VAL().
clipper.570lkudlik,
Da li mi neko moze pomoci ??
Program koji je kompajiran(5.01) i linkovan sa PLL
prolikom starta javi gresku ???
error est0001: Illegal format in loadable file
Sta da radim ???
Lkudlik :(
clipper.571dejanr,
-> #570, lkudlikJesi li probao da ponovo instaliraš Clipper? Meni su se poruke poput te
javljale kad je CPAV jednom greškom "imunizovao" clipper.
clipper.572dcolak,
-> #570, lkudlik│ error est0001: Illegal format in loadable file
Da ne koristiš opciju /pll ?
Isključi je pri kompajliranju...
Ako je to to.. :)
Sledge DAMMIR!
clipper.573dr.grba,
-> #565, bstevan>> Znas, javio sam se samo zato sto red stvari koje su ti se
>> dogadjale kako si opisao sa CLOCK.ASM, isto je i mene snaslo
>> pa zato definitivno ispada iz mojih aplikacija.
Eto, sad ispade da sam nesto kriv <;< Mozda na grub nacin, ipak si
naucio nesto, bas kao i ja...
No, ostaje sada da napravis sopstveni sat u Clipper-u. Samo napred!
Pozdrav, dr ÔpŰa
clipper.574bulaja,
-> #567, vpekovic│Imam problema sa drugim delom NanForum biblioteke (NFSRC21.A01).
│Prilikom testiranja integriteta javlja mi Bad Huffman code (0) a kod
│opcije l ili v, Bad header. Moze li moderator da mi odgovori da li je
│greska u datoteci na SEZAM-u ili je nastala prilikom prenosa pa da
│pokusam ponovo. Koristim ARJ 2.22.
└───
Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka
ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a, posto
se datoteke na Sezamu pakuju sa ARJ v2.30.
clipper.575mandrejevic,
-> #570, lkudlikI meni se isto javljalo kada radim sa /pll i imam mnogo memorije
na raspolaganju. Onda moram da lupim LOADFIX prg da bi radilo.
Inace kada imam i NG u memoriji i /ili imam duzi progam sve
sljaka kako treba.
P.S. LOADFIX iz DOS-a 5
clipper.576petrovics,
-> #570, lkudlik>> Program koji je kompajiran(5.01) i linkovan sa PLL
>> prolikom starta javi gresku ???
>>
>> error est0001: Illegal format in loadable file
Ova greska kod PLL linkovanja je odavno primecena. Vecina ljudi
koje znam, pa i ja, je resavaju tako sto startuju NG (Norton
Guide) i pll linkovani programi se posle bez problema
izvrsavaju. Zasto ovo ovako radi neznam, vazno je da radi.
pozdrav, Sasa
clipper.577jpiri,
Imam problem sa Clipperom 5.2 (mislim da se isto desava i sa 5.01)
S vremena na vreme program pukne 'iz cista mira' uz poruku: 'Argument
error: Method exported'.
'Iz cista mira' znaci da npr. u jednom modulu unosim podatke, 5-10
minuta bez problema i onda 'pukne'. Sa Summer 87 radi ok.
Radim sa PLL. Mozda je u tome problem?
clipper.578ficus,
-> #577, jpiri:) Imam problem sa Clipperom 5.2 (mislim da se isto desava i sa 5.01)
Kakav je cliper 5.2 (ima li drasticnih promena u odnosu na 5.01) ?
clipper.579pavbok,
-> #574, bulajaB> Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka
B> ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a,
posto
B> se datoteke na Sezamu pakuju sa ARJ v2.30.
Kad smo već kod toga, kojim se ZIP-om pakuje na SEZAMU.
Bojan
clipper.580dejanr,
-> #579, pavbok>> Kad smo već kod toga, kojim se ZIP-om pakuje na SEZAMU.
Sezam pakuje PAD-ove PKZIP-om 1.1. Što se tiče programa u direktorijumu,
pakovani su onim čime su ih spakovali autori, mi samo stavimo zaglavlje.
Dakle, stari programi su PKZIP-om 1.1, a novi kako koji, sve više ih
je pakovanih PKZIP-om 2.04.
clipper.581lkudlik,
U vezi na odgovore na gresku(PLL):
error est0001: Illegal format in loadable file
Primetio sam i ja da ima neke veze sa memorijom
ali nije mi jasno kako je pre radilo,bez
obzira da li je neki program ucitan u memoriju.
Probao sam program(kompajliran i linkovan sa PLL)
na drugoj masini i sve radi savrseno.
Misleci da sam zeznuo clipper,instalirao sam
ponovo,medjutim sve po starom.
SVARNO SAM ZABRINUT !!!
HVALA NA SAVETIMA (nisam jedini koji ima taj problem )
Lkudlik :(
clipper.582pavbok,
-> #580, dejanrB> Sezam pakuje PAD-ove PKZIP-om 1.1. Što se tiče programa u
B> direktorijumu, pakovani su onim čime su ih spakovali autori,
B> mi samo stavimo zaglavlje. Dakle, stari programi su PKZIP-om
B> 1.1, a novi kako koji, sve više ih je pakovanih PKZIP-om 2.04.
Dobro za programe je razumljivo, jer razni korisnci pakuju
razne programe raznim archiverima. Mada bih ja savetovao ili
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
nam padovi bili nešto kraći itd. Ja lično smatram da PKZIP 1.1
više niko ne koristi, a i ako koristi treba ga naterati da
skine PKZIP 2.04g pa da radi kao čovek.
Bojan
clipper.583dejanr,
-> #582, pavbok>> Mada bih ja savetovao ili preporučio ako je to prava reč,
>> upravi SEZAM-a da se preorjentiše makar na PKZIP 2.0 zbog
>> bolje i brže kompresije, da bi nam padovi bili nešto kraći itd.
Biće. Možda čak novi softver omogući da se pokrene ARJ, za one koji
ga preferiraju.
clipper.584spantic,
-> #583, dejanr> Biće. Možda čak novi softver omogući da se pokrene ARJ, za
> one koji ga preferiraju.
Lepo neko reče treba biti uporan :) ZZ svaka čast!
clipper.585snemcev,
Štampate li virmane iz programa? Pa naravno! A na čemu? Na matričnom štampaču,
of course. E, tu sam vas čekao! Evo parče koda:
...
@ 5, 30 SAY 'trt-mrt'
@ 5, 10 SAY 'bla-bla'
...
Kao što je za očekivati, ispis bi trebao biti:
bla-bla trt-mrt
E, pa ako imate Epson LX-400, onda to nećete dobiti! On iz samo njemu znanih
razloga posle onog trt-mrt pređe u nov red?!? Sva sreća pa imam i jedan
Fujitsu, a na njemu je sve OK. Ako mi ovo neko objasni, svaka mu čast!
PS Ne, nije uključen AUTO LF!
clipper.586bulaja,
-> #579, pavbok│Kad smo vec kod toga, kojim se ZIP-om pakuje na SEZAMU.
└───
Sto se tice datoteka po direktorijumima, kako kojim :). U poslednje
vreme se vecina ZIP datoteka pakuje novim ZIP-om (2.04), a u nekim
slucajevima (npr. ako ima -AV) ostane i u ZIP 1.1 formatu.
clipper.587bulaja,
-> #585, snemcev│@ 5, 30 SAY 'trt-mrt'
│@ 5, 10 SAY 'bla-bla'
│...
│E, pa ako imate Epson LX-400, onda to necete dobiti! On iz samo
│njemu znanih razloga posle onog trt-mrt prede u nov red?!?
└───
Pa naravno da ce da ubaci LF kada su koordinate za bla-bla (nCol=10)
manje nego za trt-mrt (30), sto znaci da se prelazi na sledecu stranu.
To sto ipak prolazi kod Fujitsu moze da znaci da on ima dvostrano
stampanje, pa drugi prolaz uradi sa desna na levo u istom redu.
clipper.588dejanr,
-> #585, snemcev>> @ 5, 30 SAY 'trt-mrt'
>> @ 5, 10 SAY 'bla-bla'
>>
>> Kao što je za očekivati, ispis bi trebao biti:
>>
>> bla-bla trt-mrt
>>
>> E, pa ako imate Epson LX-400, onda to nećete dobiti! On iz samo njemu
>> znanih razloga posle onog trt-mrt pređe u nov red?!?
Prema uputstvu za Clipper, Epson radi baš kako treba - ako je Y koordinata
novog ispisa manja od Y koordinate prethodnog prelazi se na sledeću stranu,
a ako je X manja, u sledeći red. Moraćeš da preokreneš redosled naradbi.
U čitavoj stvari me čudi zašto se Fujitsu ponaša drugačije.
clipper.589pjankovic,
-> #585, snemcev> @ 5, 30 SAY 'trt-mrt'
> @ 5, 10 SAY 'bla-bla'
Jos nesto u vezi sa ovim:
Dok sam radio sa 9-pinskim stampacima (EPSON FX 1000, FX 1050,
Panasonic KX-P1180, ...) navikao sam se da se red odstampa tek kad stampac
primi znak za novi red. Tako se desavalo da se posljednji red nekog izvjestaja
odstampa tek posto "krene" novi izvjestaj, ili tek kada korisnik pritisne
LF na stampacu. Radeci sa stampacem EPSON LQ1070 bio sam iznenadjen
videvsi da on stampa karaktere onako kako mu pristizu od racunara.
Mozda je neko u stanju da pruzi strucno objasnjenje zasto su
neki stampaci "pametniji" od drugih.
clipper.590nbatocanin,
-> #581, lkudlik> error est0001: Illegal format in loadable file
Ja sam problem rešio tako što sam izbacio DOS=HIGH.
clipper.592vpekovic,
-> #568, dejanr█´k│
║ Skini oba dela (arj i a01), stavi ih u isti dir i kazi ARJ e -v nfsrc21.
║ Verujem da ce uspeti.
Ę
Nije uspelo. Instalirao sam i ARJ 2.30 i opet isto. Na kraju mi
preostalo da ponovo download-ujem drugi deo arhive sto sam i uradio.
Sada je sve bilo OK sa bilo kojom verzijom ARJ. Ipak su gremlini ali
tokom prenosa.
Thanks!
V. Pekovic
clipper.593vpekovic,
-> #574, bulaja║ Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka
║ ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a, posto
║ se datoteke na Sezamu pakuju sa ARJ v2.30.
Datoteka je bila ostecena prilikom prenosa. Provereno i sa ARJ 2.30.
Thanks!
V. Pekovic
clipper.594dr.grba,
-> #589, pjankovic>> Mozda je neko u stanju da pruzi strucno objasnjenje zasto su
>> neki stampaci "pametniji" od drugih.
Evo ja. Koliko para toliko muzike. Moje je dobro, a tvoje nije. Neka
komsiji crkne krava. Kupite nase stampace, sporo rade al' su mnogo lepi.
Ima jos, ali da ne preteram.
clipper.595milanv,
Narode, spašavajte, hitno je!
Program koji radi duže od godinu dana na jednoj mašini, od
danas počinje da zafrkava. Iz čista mira počinje da prijavljuje
grešku o ne mogućnosti da otvori indeksni FILE. Ništa u programu
nije menjano, ind. FILE je ispravan (ponovo reindeksiran),
CONFIG.SYS nije menjan (FILES=24, BUFFERS=24, a FILE je tek
deveti otvoreni po redu).
Po izletanju iz programa u DOS (4.01 - ako se dobro sećam),
ovaj prijavljuje SYSTEM ALOCATION ERROR.
Da li je moguća greška u programu, ili je vrisnuo neki
memorijski čip, ili... ?
Milan.
clipper.596dejanr,
-> #595, milanv>> Da li je moguća greška u programu, ili je vrisnuo neki
>> memorijski čip, ili... ?
... ili treba SCAN
clipper.597jpavlov,
Pitaću možda nešto, što svi znaju, ali ne i ja, budući da
u Kliperu nisam do nedavno ništa radio, ali sam zato radio
u Foxbase i tu ima mnogo sličnosti. E sad, u fox-u je
daleko jednostavnije kontrolisati ERROR-e nego u kliperu
jer tamo ON ERROR DO procedura_za_greske rešava sve probleme.
Pitanje glasi:
- Kako da kontrolišem grešku prilikom štampanja
izveštaja, ako neko ** u toku ** štampanja isključi
štampač?
U fox-u se isti program vrati u glavni meni.
PS Pitanje se odnosi na verziju S87.
clipper.598dr.grba,
-> #597, jpavlov>> - Kako da kontrolisem gresku prilikom stampanja
>> izvestaja, ako neko ** u toku ** stampanja iskljuci stampac?
Zar opet?...
Bila je rasprava bas ovde, negde u aprilu. Ima jedna mustra koju sam
prepisao u 9.507, procitaj tu poruku.
.to nbatocanin
Ej, Neso, 'ajde se malo pozabavi baterijama za ispitivanje gresaka u radu
programa, ali na nivou projekta aplikacije. Ona prica u Clipper biltenu
u "Racunarima" koja je opisala klasu za greske je bila "s neba pa u rebra".
Uostalom, bilo bi umesno da se malo vise prica o PROJEKTOVANJU i KONCEPCIJI
kao bitnim elementima u fazi radjanja programa. Kakve ideje se tu daju
sresti, mogu misliti, tim pre sto poznajem programere koji ne razlikuju
selekciju od iteracije...
Pozdrav, dr Grba
clipper.599dejanr,
==========
clipper/clipper.code #224, from sentex, 654 chars, Thu Apr 29 14:48:00 1993
Comment(s).
----------
TITLE: Dos 6.0 Not enough memory error message
Has anyone run into a problem with an application written in
S'87 that fails to run under Dos 6.0 ? This particular application
has always been a memory hog but if 550k of conventional memory is
available the application runs. Now, under Dos 6.0 with conventional
available memory of over 600k the application fails with the error
message Not Enough Memory. My first step in trying to determine the
problem was to call Nantucket. What a surprise! The
supplied telephone number is no longer valid. Has
Nantucket gone out of business and has someone else
bought Clipper? Any help would be appreciated.
W.D.
==========
clipper/clipper.code #225, from alexw, 612 chars, Thu Apr 29 20:23:03 1993
Comment to 224.
----------
Mark, I hate to be the one to tell you that you have slept for the
last 4 years...
nantucket dissappeared long time ago... an arab terrorist put a bomb
in the building and all that was left of clipper was a hard disk with
fragments of the original code here and there...
Somebody picked it up and started a new company with its remnants
(a la terminator) and now the families of the deseased are suing them
because they say that 5.0 and 5.2 belong to them and the disk was taken
illegally from the debris...
Anyway, the new company's name is Computer Associates and their phone
number is (408) 432-1764
Alex
clipper.600jpiri,
E, pa posto me vise ljudi pitalo kakvi su noviteti Clippera 5.2 evo ih:
- Sredjen je bag koji se javljao kod koriscenja PLL-a. (To je onaj
problem koji se javljao kod DOS-a 5.0, kada je Clipper javljao poruku
'Illegal format in loadable file' i nije hteo da radi dok se npr.
ne ucita ng -> bilo je ovde takvih poruka)
- DBU je promenjen tako da radi u mrezi i to potpuno transparentno.
To znaci da kada se menja neki podatak u bazi, Clipper sam radi
lock/unlock. Takodje, DBU sada dinamicki osvezava ekran tako da se
u browse modu sada vidi svaka promena u bazi u onom momentu kada
korisnik sa druge radne stanice izvrsi promenu podataka.
Ovo je lepa stvar za one koji rade pod Novellom, a cena je nesto
usporen rad.
Mali problem je sto se shared pristup podrazumeva, pa ako se radi
na single masini, i ako se zada npr. replace all, javi se greska
da se to naravno ne moze raditi, vec DBU treba pozvati sa DBU /e
(exclusive) kada radi kao i stari.
- Ima tu jos gomila sitnica od kojih mi je najdraza to sto se
najzad vise ne mora pisati ono grozno i glomazno set softseek on/off
vec se samo kaze 'seek izraz softseek'. Svako ko je sa ovim radio
zna kakvi se lepi bagovi desavaju ako se u brzini slucajno izostavi
set softseek off.
Stvar jeste sitna ali lepa.
U istu kategoriju spadaju i uslovni indeksi. Sada se sa 'index .. for..'
moze kreirati index u kome ce se nalaziti samo kljucevi koji zadovoljavaju
zadati uslov. Korisna stvar preuzeta od Fox-a.
- U stvari najveci novitet Clippera 5.2 su izmenljivi database driveri
(RDD). Sta to znaci? To znaci da vise nismo ograniceni na DBF/NTX
kombinaciju o kojoj se i ovde puno pricalo kao o prilicno neefikasnoj.
Upotrebom odgovarajuceg RDD mozete npr. zameniti glomazne NTX indekse
sa Foxovim CDX indeksima, ili sa MDX indeksima iz DBASE IV.
Takodje mozete i DBF strukturu da zamenite sa Paradox-ovim formatom
datoteka i indeksa.
Treba ocekivati da ce uskoro trziste biti krcato ovim drajverima od
kojih ce svaki da tvrdi da je bolji od DBF/NTX para, a i od ostalih,
naravno. Da li je ovo dobro, ili ce doci do nepotrebne eksplozije
najegzoticnijih formata, videcemo.
I na kraju, radi li to, i vredi li menjati toliko nam srcu prirasli
DBF/NTX format?
Skeptican sam u principu prema novitetima ali mi djavo nije dao mira
pa sam se malo poigrao sa prilozenim RDD-om za CDX indekse (Foxov format).
Odmah da kazem da postojece programe ne treba menjati vec se samo na
pocetak prvog modula stavi par naredbi koji Clipper-u kazu koji drajver
da koristi.
Stvar je sljakala bez problema, a za 'test' sam koristio knjigovodstvene
podatke jedne firme srednje velicine tj. baze su bile od vise MB.
Kada sam indeksirao baze da dobijem nove CDX indekse, prilicno sam se
iznenadio. CDX indeksi su bili skoro 4 puta manji od istih NTX datoteka!
Sta ovo znaci za velike aplikacije kod kojih (obicno) ukupna duzina
svih NTX datoteka biva i veca od samih DBF, ne treba posebno naglasavati.
Ovolika razlika potice od cinjenice da su CDX indeksi komprimovani, tako
da se najbolji rezultati postizu kod indeksa gde ima puno blankova (npr.
indeks po prezimenu, po gradu i sl.) a osobito kod indeksa gde se susedni
kljucevi razlikuju za po jedno mesto -> dakle svi indeksi tipa 'sifra'
(0001, 0002, 0003 itd.).
Za prostor na disku dakle cista 10.
A performanse?
Sto kazu stonsi 'mixed emotions'.
Pravo testiranje ostavljam strucnjacima ali evo 2 real-life situacije.
a) Prvo sam pustio jedan modul koji kontrolise ispravnost sintetike i
analitike kupaca i dobavljaca. Modul sam izabrao zato sto radi na velikim
bazama i zato sto ih zestoko 'trese'. Cisto da vidim kako se ponasa pod
najvecim 'opterecenjem'.
Rezultat = 10% slabije vreme. ('muljanje' inace traje oko 6-7 minuta na
486 masini sa 1MB Hyper kesa.)
b) Zatim sam pustio tzv. bruto stanje gl. knjige. Ovo je potpuno razlicita
situacija u odnosu na prethodnu, jer dok sam tamo imao 10+ baza ovde ih
ima samo 2, a cela 'obrada' se svodi na to da se samo protrci kroz bazu
uz usputno sumiranje nekih polja -> duguje, potrazuje stuff.
Rezultat = 10% BOLJE vreme. (baza je imala preko 10000 stavki ne secam
se vise tacno koliko)
Ovde je izgleda do izrazaja dosla kompaktnost CDX indeksa, jer je
Clipper zahvaljujuci njihovoj velicini trebao 4 puta manje vremena za
pristup disku prilikom njihovog citanja. Laicko objasnjenje ali cini mi se
da je to to.
Namerno sam ovo 'testiranje' radio sa Hyperom jer ipak on manje vise
postaje sveprisutan, da ne kazem obavezan deo DOS-a. Za pravi test bi
naravno trebalo pustati programe na 'goloj' masini ali mi se cini da je
upotrebna vrednost takvih testova znatno manja od njihove informativne
vrednosti.
Trebalo bi naravno testirati i ostale drajvere, recimo MDX format
indeksa kod koga se svi indeksi za jednu bazu trpaju u 1 MDX fajl, pa
nestaje problem sa 'neazuriranim' indeksom jer je negde zaboravljen
prilikom otvaranja baze, no to se ionako desava samo pocetnicima.
Licno bi me zanimalo da neko testira Paradox RDD, jer su neki ljudi
ovde to prilicno hvalili (mislim na PARADOX). Licno mi se on ne dopada jer
mu je rad sa indeksima po nekom budibogsnama principu za koga mi se cini
da bi bilo potrebno menjati postojece Clipper programe, sto mi se
uopste ne radi. Tu je i grupa novih naredbi koje bi to trebalo da olaksaju
ali ako su dobici u performansama zanemarljivi, onda bi to definitivno
bilo 'ubijanje vola radi kile mesa'.
- Ima i nekih sitnih noviteta u vezi objekata. Novih objekata nema, vec
su samo postojeci nesto poboljsani (error handling u Tbrowse, neke fn
u Get i sl.) Znaci pravi Clipper sa objektima ce biti tek u nekoj sledecoj
verziji.
Ima tu jos naravno i drugih stvari, ali su ovo nekako najbitnije.
clipper.601bingo,
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)
Unapred zahvalan Bingo
clipper.602ratman,
Sta je pogresno u sledecem programu:
USE enzy NEW
USE enz1pat NEW
SELECT 1
LIST ck FOR nopat=1010
COPY STRUCTURE TO enz1pat
COPY TO enz1pat FOR nopat=1010
SELECT 2
LIST nopat, ck, ldh
Naime, program daje izvestaj "Corruption detected: file enz1pat"
Zasto je fajl (zaista, proverio sam iz dbu i dbase III) necitljiv!
Ub'cu se, nece da radi! :)
Pozdrav,
Dejan.
clipper.603dejanr,
-> #602, ratman>> Sta je pogresno u sledecem programu:
Mislim da bi trebalo prvo da uradiš COPY STRUCTURE TO enz1pat pa
tek onda da otvaraš enz1pat sa USE.
clipper.604bulaja,
-> #600, jpiri│Namerno sam ovo 'testiranje' radio sa Hyperom jer ipak on manje vise
│postaje sveprisutan, da ne kazem obavezan deo DOS-a. Za pravi test bi
│naravno trebalo pustati programe na 'goloj' masini ali mi se cini da je
│upotrebna vrednost takvih testova znatno manja od njihove informativne
│vrednosti.
└───
Thanks na opisu, a ja se bas spremao da pitam za iskustva sa 5.2 :).
Ali, da li si ispraznio Huper-ov bafer pre svakog testiranja? Jer ako
nisi, onda dobijeni rezultati i nisu previse relevantni :). Ipak ne bi
bilo lose da se pusti neki test na goloj masini, pa da vidimo da li je
tu ista ubrzano. Takodje ne bi bilo lose ni poredjenje brzine naredbi
koje ne koriste indekse (npr. skip, locate, set filter i sl.).
clipper.605bulaja,
Q: Kako povezati C (MSC 6) sa Clipper-om 5.01 a da sve radi?
Naleteo sam na problem kada sam pokusao da povezem C funkcije koje
koriste low-level funkcije za rad sa binarnim datotekama (fopen(),
fread(), fwrite(),..). Kod linkovanja (i sa RTLink-om i Blinkerom)
bez standardne C biblioteke javljaju se poruke o nedefinisanim simbolima
za pozvane file i/o funkcije. Kada se poveze sa standarnim C lib-om,
onda se javi nekoliko duplih simbola i neki nedefinisani (__abrktb, i to
u CLIPPER.LIB), a program se zaglupi. Mozda je problem u tome sto se u
uputstvu za Clipper pise da treba linkovati sa Microsoft bibliotekom
llibca.lib, a meni je MSC nije instalirao vec samo neki llibcr.lib.
Malo mi je glupo to sto se uopste mora povezivati MS C lib, posto bi
vecina funkcija vec trebala da bude i u standarnim Clipper bibliotekama
(clipper.lib i extend.lib).
clipper.606milanv,
-> #596, dejanr║║ ... ili treba SCAN
Ne bi trebalo da je to - bar korisnik tako kaže.
Nemam pristup dotičnom kompjuteru (50 km), osim telefonskim
razgovorom sa korisnikom (kompjuterski apsolutno nepismenim)!
Važno mi je da mi neko prenese iskustvo: da li je moguće da
do navedenog proglema dodje (iznenadna ne mogućnost odvaranja
indeksnog fajla) usled greške u programu, a nakon duuugog
normalnog korišćenja programa (inkriminisane baze sada imaju par
hiljada slogova, a mesta na disku još oho-ho).
Voleo bih da mogu, sa sigurnošću, da mu kažem: druškane
tvoja mašina je ispustila dušu, program je O.K.
clipper.607lkudlik,
U vezi na gresku(PLL):
error est0001: Illegal format in loadable file
Problem sam resio tako sto sam iz NC-a
pokrenuo kompajliranje i sve radi kako treba(bar za sada??).
HVALA NA SAVETIMA
Lkudlik ;)
clipper.608dejanr,
-> #606, milanv>> Važno mi je da mi neko prenese iskustvo: da li je moguće da
>> do navedenog proglema dodje (iznenadna ne mogućnost odvaranja
>> indeksnog fajla) usled greške u programu, a nakon duuugog
>> normalnog korišćenja programa (inkriminisane baze sada imaju par
>> hiljada slogova, a mesta na disku još oho-ho).
>>
>> Voleo bih da mogu, sa sigurnošću, da mu kažem: druškane
>> tvoja mašina je ispustila dušu, program je O.K.
Meni je prilično neverovatno da program koji je do skora normalno
radio, i to više meseci, odjednom počne totalno da brlja, i to pogotovu
tako sistemski, sa indeksima. Ja tipujem da je korisnik nešto menjao
na računaru, ili DOS, ili neke QEMM-ove ili tako nešto.
Ali teško je reći "sa sigurnošću", video sam toliko neverovatnih stvari
sa kompjuterima (većina se objasni, a neke ostanu "zauvek" nejasne) da
sam vrlo oprezan sa "sigurnim" procenama.
clipper.609snemcev,
-> #588, dejanr>> U čitavoj stvari me čudi zašto se Fujitsu ponaša drugačije.
Iskreno rečeno, očekivao pre od Epsona da odradi onako kako ja to hoću.
Al' sad, šta je - tu je. Virmani od sad idu na Fujitsu, a Epson čeka
neke bolje dane. Mislio sam da će ovakav ispis teksta na štampaču proći
jer tako sam uradio pre par godina, al' sad kad malo bolje razmislim,
nisam više siguran da li je taj štampač bio Epson.
clipper.610vcalic,
-> #605, bulaja>> Mozda je problem u tome sto se u uputstvu za Clipper pise da treba
>> linkovati sa Microsoft bibliotekom llibca.lib, a meni je MSC nije
>> instalirao vec samo neki llibcr.lib.
Ne radim sa MSC-om, ali ako se dobro sećam do zadnje slovo u nazivu
biblioteke se odnosi na to da li biblioteka podržava koprocesor ili njegovu
emulaciju. To "a" dolazi od advanced pa treba prilikom instalacije MSC-a
staviti i ovu opciju.
clipper.611ratman,
-> #603, dejanrHm, i tada se javlja ista greska, ustvari i kada ne uradim
COPY STRUCTURE TO nego samo dopisujem i brisem recorde u
enz1pat fajlu.
Interesantno, problem nestaje kada ne radim sa SELECT, nego
svaki put otvaram i zatvaram fajlove, sto jem naravno, neprakticno.
Uopste mi nije jasno o cemu se radi....?
clipper.612d.petrovic,
-> #595, milanvĂ> CONFIG.SYS nije menjan (FILES=24, BUFFERS=24, a FILE je tek
set clipper=f20 ?
clipper.613ppekovic,
Kako da u toku rada memoedit-a saznam koliko ukupno ima
linija ukucani tekst. Znam za mlcount() ali on radi tek kad izađem
iz memoedit-a tj. kad snimim editovani sadržaj u promenljivu.
Ovo mi treba zbog scrollbar-a :) A kad smo već kod
scrollbar-a, jer rešio neko scrollbar u tbrowse-u. Tu nije problem
koliko record-a ima već koji je tekući po redu (ako je uključen
index). Znam za recno(), al kad je aktivan index, to slabo pomaže.
Paya
clipper.614ppekovic,
-> #610, vcalic>> emulaciju. To "a" dolazi od advanced pa treba prilikom instalacije MSC-a
"a" dolazi od alternate math.
Paya
clipper.615jpiri,
-> #604, bulaja>> Da li si isprazni Hyperov buffer...
Naravno, i to najsigurnijom metodom: resetovanjem racunara :)
clipper.616mrajacic,
Kompletna rutina u Clipperu pa malo u C-eu koja omogucava
Qeditu (najbolje sto postoji) da izbaci POP-UP listu baza
da je izaberete pa da je onda u editoru vidite (strukturu),
vrlo korisna stvar, a mozda i ponuka da neko realizuje ili
cak i ima nesto bolje.
pozdrav Milan
dbs_1.zipclipper.617pjankovic,
-> #613, ppekovic "SCROLLBAR" SA "TBROWSE"
> Ovo mi treba zbog scrollbar-a :) A kad smo vec
> kod scrollbar-a, jer resio neko scrollbar u tbrowse-u. Tu
> nije problem koliko record-a ima vec koji je tekuci po
> redu (ako je ukljucen index). Znam za recno(), al kad je
> aktivan index, to slabo pomaze.
Zaista si mi dao ideju. Mogao bi i ja to da napravim. A evo koje mi
je rjesenje palo na pamet. (Ovo sve pisem iz glave, pa nece biti bas
precizno). Naime, prilikom pomjeranja pokazivaca sloga, svaki put se
poziva jedna funkcija ("skip"). Ona vraca neke informacije kao sto su BOF, EOF
i slicno. Pod pretpostavkom da u TBROWSE ulazis uvijek sa pokazivacem na
pocetku ili na kraju baze, lako je izvesti da doticna funkcija azurira jedan
brojac koji ce u stvari biti broj sloga (u logickom radosljedu) na kom se
trenutno nalazis. Za ilustraciju mozes pogledati izvorni kod funkcije
BROWSE.