clipper.206bulaja,
Ima li Nantucket (Clipper) zvanicnog predstavnika u YU?
Bio je ranije Perpetum, ali vise nije posto su raskinuli ugovor.
Takodje me interesuje da li se kod YU prodavaca softwarea pojavio
Clipper 5.01.
clipper.207mperovic,
-> #206, bulajaNe znam da li se kod YU prodavaca pojavio Clipper 5.01, ali ako si
kupio 5.0 besplatno ces dobiti novi, koji je po svoj prilici najzad
ociscen od svih bagova (bar od onih koji su meni pravili probleme).
Ali na moju veliku zalost Clipper jos uvek ne podrzava SQL, sto mu je
velika mana, s obzirom da SQL podrzavaju dBase, FoxPro (v2.0) i
Paradox.
clipper.208bulaja,
Evo jednog saveta kao rezultat jucerasnjeg iskustva (na svu srecu
dobro zavrsenog).
Ako neka procedura treba da vam stampa potencijalno vecu kolicinu
podataka, budite vrlo oprezni sa koriscenjem funkcije ISPRINTER().
Ukoliko isprinter() javi .F., obicno se zakljucuje da je stampac
iskljucen (ili off line) i preduzima akcija koja je ili izlazak iz
procedure tj. prekid stampe, ili upozorenje korisnika. Pri tome se
previdja da isprinter javlja .F. i ako je bafer stampaca pun, a to se
desava vec posle samo nekoliko odstampanih strana (zavisno od velicine
bafera i brzine stampaca). Zato je najbolje unutar petlje za stampanje
ugraditi nesto poput:
if !isprinter()
inkey(10)
if !isprinter()
&& akcije koje bi ste inace preduzeli
&& npr. upozorili korisnika
endif
endif
Ovaj inkey(10) ostavlja vremena stampacu da se isprazni buffer (u
ovom slucaju 10 sekundi) , i ne skodi ni ako se stavi malo veca
vrednost, posto se bafer ne prazni tako brzo. Ukoliko i posle te pauze
ostavljene stampacu isprinter() javlja .F., onda je vec sigurno da je
stampac off line, pa se bez opasnosti mogu preduzeti akcije koje bi
ste inace uradili kad dodje do prekida stampe. Bulaja
clipper.209mmac,
-> #206, bulaja>> Ima li Nantucket (Clipper) zvanicnog predstavnika u YU?
Nema. A i Perpetuum je radio preko nemačkog predstavnika.
>> Takodje me interesuje da li se kod YU prodavaca softwarea pojavio
>> Clipper 5.01.
Kroz 14 dana, za sada preko YU filijale Programers Paradise.
Obečali su mi kopiju u recenziju, pa znam.
I verzija je (optimistički) 5.1, tako da če ga do 6.0 moči
popravljati još samo 8 puta.
clipper.210mmac,
-> #207, mperovic>>Ne znam da li se kod YU prodavaca pojavio Clipper 5.01, ali ako si
>>kupio 5.0 besplatno ces dobiti novi, ...
Baš se pitam. Pošto je ugovor između Nantucketta i Perputuuma raskinut,
sladka obećanja više ne važe?! Ima li nekog od Perpetuuma na Sezamu?
clipper.211pvoja,
Da li neko zna resenje sledeceg problema:
Postoji velika baza iz koje se deo (izabran sa set filter) prikazuje
na ekranu. Ukoliko je pokazivac pozicioniran na prvom slogu i pritisnem str
elicu na gore pokazivac se izgubi na 10-30 sekundi zavisno od velicine baze.
Kako ovo izvbeci ?
Pozdrav Pvoja.
clipper.212pvoja,
-> #211, pvojaPrikaz je , naravno, sa dbedit-om
clipper.213duleizkule,
-> #212, pvojaResenje je u koriscenju funkcije TBrowse() iz Clipper-a 5.0, koja poznaje
pojam : deo baze . Treba samo navesti granice (koje se naravno uklapaju u neke
indexe) i zaboraviti na set filter. U svemu ostalom moze da oponasa dbedit()
, a ima i dosta prednosti.
clipper.214mmac,
-> #211, pvojaEvo rešenja i za Clipper 87: Uopšte ne upotrebljavaš SET FILTER,
nego kod izvođenja funkcije DBEDIT upotrebljavaš user funkciju,
koja izpisuje samo ako je record OK, inače izpiše blankove do kraja
ekrana.
Vidi datoteku BROWSE.ZIP.
browse.zipclipper.215bstevan,
Zna li neko rešenje za sledeći problem ?
Iz neke datoteke prikazujem podatke funkcijom DBEDIT.
Takodje koristim u funkciji DBEDIT i neku korisničku funkciju,
kada izvršim više puta poziv funkcije DBEDIdolazi do prikazivanja
na ekranu "djubreta" mesto podataka iz otvorene datoteke.
PRIMER : DBEDIT(1,3,20,74,red,"BrsEsc","",naslov)
gde je BrsEsc - naziv korisničke funkcije
-II- naslov - naziv polja
-II- red - naziv polja u datoteci
talo je poznato !
---BSTEVAN---
clipper.216ppekovic,
-> #215, bstevan>> Zna li neko rešenje za sledeći problem ?
>>Iz neke datoteke prikazujem podatke funkcijom DBEDIT.
>>Takodje koristim u funkciji DBEDIT i neku korisničku funkciju,
>>kada izvršim više puta poziv funkcije DBEDIdolazi do prikazivanja
>> na ekranu "djubreta" mesto podataka iz otvorene datoteke.
Probaj kada se vraćaš iz tvoje funkcije u DBEDIT da vratiš vrednost 2, tj.
na kraju funkcije udari RETURN 2.
Paya
clipper.217bstevan,
-> #216, ppekovic>>na kraju funkcije udari RETURN 2.
Hvala, na odgovoru to sam uspeo samo što sam stavio
RETURN(.F.),ali sam probao da primenim i RETURN(2),i stvar radi
dobro.
Ipak,još jednom hvala na odgovoru !
---POZDRAV---
---BSTEVAN---
clipper.218ikarasi,
Jedna od glavnih odlikClippera 5.01 je i povećana
kompatibisa verzijom Summer '87 ( tako bar kažu autori ).
To je možda i točno, ali je sigurno točno da je smanjena kompatibilnost
sa verzijom 5.0 (osim u greškama, što je za pohvalu).
Dakle ovo je prije radilo savršeno
Ž 10,10 say Rbr++ picture '9999'
U novoj verziji kompajler prijavljuje grešku i linija se mora razbiti na :
Ž 10,10 say Rbr picture '9999'
Rbr++
Zna li netko razlog ???
clipper.219dejanr,
Ima li neko na Sezamu Clipper 5.01 ? Da li je dokumentacija ponovo
napisana ili je ista od 5.0 itd?
clipper.220ikarasi,
-> #219, dejanrŠto se tiče upgrade-a sa 5.0 dobije se samo 8 disketa bez literature.
7 disketa sadrži novi Clipper i Norton Guide za verziju 5.01, a osma
disketa je podrška za pojedine zemlje u koje mi ne spadamo.
clipper.221snemcev,
Potrebno mi je da u Clipper-u pročitam atribut znaka
koji se nalzi na poziciji (x, y) i da ga promenem. Najlakše
rešenje je ovo:
Ulaz:
x - x koordinata znaka
y - y koordinata znaka
STORE SPACE(4000) TO temp
SAVE SCREEN TO temp
pos = x * 160 + y * 2 + 1
znak = SUBSTR(temp, pos, 1)
attr = SUBSTR(temp, pos + 1, 1)
Izlaz:
znak - znak na poziciji (x, y)
attr - atribut znaka na poziciji (x, y)
Može li bolje (čitaj brže)? Asembler? C? Cenio bih
odgovor u obliku .OBJ fajla spremnog za linkovanje.
Slobodan
clipper.222ppekovic,
-> #221, snemcev>> Potrebno mi je da u Clipper-u pročitam atribut znaka
>>koji se nalzi na poziciji (x, y) i da ga promenem. Najlakše
>>rešenje je ovo:
...
>>SAVE SCREEN TO temp
>>pos = x * 160 + y * 2 + 1
>>znak = SUBSTR(temp, pos, 1)
>>attr = SUBSTR(temp, pos + 1, 1)
A zašto snimaš ceo ekran??? Zar nebi bilo brže nešto
kao:
temp=savescreen(y,x,y,x)
onda bi TEMP bio dužine samo dva znaka i sigurno bi
brže radilo.
Paya
clipper.223ikarasi,
-> #221, snemcevEvo male pomoći. U prilogu su 4 funkcije napisane u C-u, ali ne koriste
pozive iz library-a tako da ih slobodno možeš linkati sa Clipper-om.
Funkcije su slijedeće :
1. getcxy(Row,Col) - vraća znak na poziciji x,y.
2. getaxy(Row,Col) - vraća atribut znaka na poziciji Row,Col.
3. putcxy(Row,Col,Char) - piše znak na poziciju Row,Col.
4. putaxy(Row,Col,Attr) - Piše atribut znaka na poziciji Row,Col.
Provjerene su i rade i sa mono karticama (Hercules) i sa VGA. Provjerio sam ih
sa Clipperom 5.01, ali valjda rade i sa ranijim verzijama. Ako nešto
pođe po zlu javi se da ti pošaljem izvorni kod pa se dalje pokušaj
sam snaći. Pozdrav...
dirvideo.objclipper.224sasha,
rz
B00000000000000
Pomoc !
Nabavio sam CLIPPER 5.0 i upravo pokusavam da prevedem nekoliko
svojih starih programa koji su radjeni na verziji summer '87,
ali uvek mi izbacuje gresku u stilu :
Rules not found in EXE file: c:\clipper5\bin\CLIPPER.exe
Ne kapiram sta se desava!?
Unapred zahvalni SASHA
clipper.225snemcev,
-> #222, ppekovic>> ...
>> >>SAVE SCREEN TO temp
>> >>pos = x * 160 + y * 2 + 1
>> >>znak = SUBSTR(temp, pos, 1)
>> >>attr = SUBSTR(temp, pos + 1, 1)
>>
>> A zašto snimaš ceo ekran??? Zar nebi bilo brže nešto
>> kao:
>>
>> temp=savescreen(y,x,y,x)
>>
>> onda bi TEMP bio dužine samo dva znaka i sigurno bi
>> brže radilo.
>>
Verovatno bi brže radilo, ali (barem kod mene) ako snimam
ceo ekran, mogu da ga snimim u promenljivu tipa char, a sa SAVESCREEN()
dobijam samo neke gluposti iako pre toga izvršim STORE SPACE(2) TO temp.
Slobodan
clipper.226ppekovic,
-> #225, snemcev>> Verovatno bi brže radilo, ali (barem kod mene) ako
>>snimam ceo ekran, mogu da ga snimim u promenljivu tipa char,
>>a sa SAVESCREEN() dobijam samo neke gluposti iako pre toga
>>izvršim STORE SPACE(2) TO temp.
???? baš čudno. Koliko znam i koliko sada u knjizi vidim, savescreen() daje
znakovni izlaz i to u formatu znak-atribut-znak-atribut ...
Paya
clipper.227snemcev,
-> #226, ppekovic>> ???? baš čudno. Koliko znam i koliko sada u knjizi vidim,
>> savescreen() daje znakovni izlaz i to u formatu
>> znak-atribut-znak-atribut ...
Da, i u knjigama koje ja imam to piše, ali probaj ovo:
STORE SPACE(2) TO temp
Ž 1, 1 SAY 'A'
temp = SAVESCREEN(1, 1, 1, 1)
Ž 10, 0 SAY ''
? SUBSTR(temp, 1, 1)
? SUBSTR(temp, 2, 1)
Trebao bi da dobiješ na poziciji 11, 0 slovo A, a na
poziciji 12, 0 broj 7 (default vrednost za boju za Clipper, belo
na crnom). Ja to ne dobijam, a ti?
Slobodan
clipper.228snemcev,
-> #223, ikarasi Probao sam DIRVIDEO.OBJ i radi baš ono što mi treba.
Hvala ti!
Slobodan
clipper.229ikarasi,
-> #224, sashaOvako od oka poruka bi se trebala odnositi na neke nepravilnosti sa
datotekom "std.ch". Probaj kompajlirati sa opcijom
"/uc:Đclipper5ĐincludeĐstd.ch". To bi trebalo reći Clipperu da koristi
pravila (rules) is navedene datoteke. Inače nije loše malo analizirati
tu datoteku. Čovjeku zaista svašta padne napamet.
clipper.230ppekovic,
-> #227, snemcev>> Da, i u knjigama koje ja imam to piše, ali probaj ovo:
>>
>> STORE SPACE(2) TO temp
>> Ž 1, 1 SAY 'A'
>> temp = SAVESCREEN(1, 1, 1, 1)
>> Ž 10, 0 SAY ''
>> ? SUBSTR(temp, 1, 1)
>> ? SUBSTR(temp, 2, 1)
>>
>> Trebao bi da dobiješ na poziciji 11, 0 slovo A,
>>a na poziciji 12, 0 broj 7 (default vrednost za boju za
>>Clipper, belo na crnom). Ja to ne dobijam, a ti?
E sad mi tek ništa nije jasno. Kod mene se lepo dobije ono što treba da se
dobije, dakle znak i atribut znaka. BTW. ja koristim '87 verziju clipper-a da
ne koristiš ti možda 5.0?
Paya
clipper.231viktor,
Zdravo,
Pisem ovu poruku u ime moga kolege mr. Milana Drazica...
Naime, njega interesuje da li neko prima casopis:
NANTUCKET NEWS
On bi rado iskopirao neke stvari...
On ima broj Vol.05 No.4 (Jan/Feb '91)...
Unapred zahvaljujem u njegovo ime...
Pozdrav,
Viktor.
P.S. Poruke posaljite meni ili njemu na xpmfm19@yubgss21...
clipper.232ppekovic,
-> #231, viktor>>Naime, njega interesuje da li neko prima casopis:
>>
>> NANTUCKET NEWS
Mislim da na Jubas BBS-u (Split, 058 561 043) imaš tekstove iz NN-a.
Paya
clipper.233ivan.s,
-> #231, viktorTekstova iz Natucket News-a ima, kao sto je rekao ppekovic, na
Jubas BBSu, ali i na mnogo blizem TANJUGu (u begoradu). MIPS BBS
je nesto dalje (u Zagrebu), ali zato, koliko ja znam, ima
najiscrpniju kolekciju tekstova iz NN.
clipper.234snemcev,
-> #230, ppekovic>> E sad mi tek ništa nije jasno. Kod mene se lepo dobije ono
>> što treba da se dobije, dakle znak i atribut znaka. BTW. ja
>> koristim '87 verziju clipper-a da ne koristiš ti možda 5.0?
Pazi sad ovo:
PROBA.PRG
STORE SPACE(2) TO temp
Ž 1, 1 SAY 'A'
temp = SAVESCREEN(1, 1, 1, 1)
Ž 10, 0 SAY ''
? SUBSTR(temp, 1, 1)
? SUBSTR(temp, 2, 1)
Prevođenje:
CL proba
Clipper proba
The Clipper Compiler, Summer '87
Copyright (c) Nantucket Corp 1985-1987. All Rights Reserved.
Microsoft C Runtime Library Routines,
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
Compiling PROBA.PRG
Code Pass 1
Code Pass 2
Code size 103, Symbols 64, Constants 9
IF NOT ERRORLEVEL 1 Tlink proba,,,D:/CLIPPER/CLIPPER+D:/CLIPPER/EXTEND
Turbo Link Version 1.0 Copyright (c) 1987 Borland International
DIR proba.*
...
proba exe 160268 7-21-91 21:47
proba map 3920 7-21-91 21:47
proba obj 681 7-21-91 21:47
proba prg 228 7-21-91 21:47
...
Startovanjem dobijam rezultat:
na poziciji 11, 0: Č ASCII: 94
na poziciji 12, 0: CTRL-D ASCII: 4
Da ne dobijaš ti možda drugu dužinu EXE fajla ili nešto
slično? Baš me interesuje o čemu se radi. Umalo da zaboravim,
probaj i ovo:
VALIDATE proba.exe
Rezultat:
VALIDATE 0.3 Copyright 1988-89 by McAfee Associates. (408) 988-3832
File Name: proba.exe
Size: 160,268
Date: 7-21-1991
File Authentication:
Check Method 1 - 1786
Check Method 2 - 1D51
Slobodan
clipper.235ppekovic,
-> #234, snemcev>>proba exe 160268 7-21-91 21:47
>>proba map 3920 7-21-91 21:47
>>proba obj 681 7-21-91 21:47
>>proba prg 228 7-21-91 21:47
A evo šta ja dobijem koristeći C'87 i tlink 1.1:
SS EXE 162314 7-21-91 10:39p
SS OBJ 672 7-21-91 10:39p
SS PRG 227 7-21-91 10:39p
Očigledno tvoj clipper nije čist.
Paya
clipper.236dejanr,
-> #235, ppekovic>> Očigledno tvoj clipper nije čist.
Postoji još jedna mogućnost. Ima nekoliko release-a Clippera Summer 87,
neka čovek kaže koji mu je datum i vreme na clipper.exe i koliko su
clipper.exe i clipper.lib dugački?
clipper.237snemcev,
-> #236, dejanr>> Postoji još jedna mogućnost. Ima nekoliko release-a Clippera Summer 87,
>> neka čovek kaže koji mu je datum i vreme na clipper.exe i koliko su
>> clipper.exe i clipper.lib dugački?
Dužine i datumi datoteka su sledeći:
clipper exe 78727 12-21-87
clipper lib 303947 12-21-87
extend lib 81677 12-21-87
overlay lib 29584 12-21-87
4DOS ne prijavljuje vreme kreiranja datoteka, a NU kaže
da je vreme 12:00 am. Ako dobro vidim, vreme je kodirano kao
0000 (zato ga i ne prikazuje). Poruka koju ispisuje CLIPPER.EXE
posle startovanja je:
The Clipper Compiler, Summer '87
Copyright (c) Nantucket Corp 1985-1987. All Rights Reserved.
Microsoft C Runtime Library Routines,
Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved.
Slobodan
clipper.238sgoran,
Lepa vest za clipper-ase, nova verzija TLink 4.0 opet linkuje
vase majstorije.
_
Pozdrav SGoran.
clipper.239viktor,
-> #231, viktorZdravo,
Zahvaljujem se svima koji su odgovorili na pitanje o NN-u...
Moj kolega je prokomentarisao da bi radije video hardcopy ali...
Pokusacu da mu odnegde to skinem.
Jos jednom hvala.
Stay cool!,
Viktor.
clipper.240dejanr,
-> #237, snemcevMoj CLIPPER.EXE je dug 79111 bajta a CLIPPER.LIB 307019. Mora da
imaš neku staru verziju Clipper-a 87, iako je datum isti (?)
clipper.241zpavlovic,
Ranije je neko prodavao YU-sort, pa posto imam zainteresovanih za to da li neko
zna kome bih se obratio. Ako je autor na Sezamu nek mi se javi na mail.ZP.
clipper.242nboskovic,
pošto sam video da je ovde bilo biskusije oko ng datoteke
za clipper evo šaljem istu.
(c) klap
nikola
clip-ng.arjclipper.243mrki,
-> #241, zpavlovic>>Ranije je neko prodavao YU-sort, pa posto imam zainteresovanih za to da li
neko
>>zna kome bih se obratio. Ako je autor na Sezamu nek mi se javi na mail.ZP.
Moj kolega David Jakelić ima rutine pisane u asembleru. Dobiva se
nekoliko funkcija - YUORDER, za indeksiranje po YU rasporedu,
- YUUPPER i YULOWER, UPPER i LOWER sa YU
slovima,
- YUCAPSLOCK, uključuje velika slova.
Evo detalja:
* Funkcija YUUPPER() pretvara sva mala slova u zadanom stringu u
velika, ukljucujuci i YU znakove po 7-bitnom YUSCII standardu.
* Funkcija YULOWER() pretvara sva velika slova u zadanom stringu
u mala, ukljucujuci i YU znakove po 7-bitnom YUSCII standardu.
* Funkcija YUORDER() pretvara ASCII kod u medjukod koji omogucuje
pravilno indeksiranje i sortiranje YU znakova.
YuOrder() sva slova pretvara u velika (izvodi YuUpper()).
* YUCAPSLOCK() ukljucuje ili iskljucuje programski 'Caps Lock',
koji vrijedi i za YU znakove po 7-bitnom YUSCII standardu.
Funkcija uvijek vraca logicki .t.
* Funkcija ISCURSOR() vraca trenutno stanje SET CURSOR (da li je
kurzor vidljiv na ekranu).
Modul je u vidu OBJ datoteke koja se ulinka u program. Cijena je
oko 800 dinara, moguća je isporuka pouzećem. Ako si zainteresiran
ostavi mi private mail sa adresom i kolega će poslati disketu.
Uz to kao poklon daje jednostavni format generator.
clipper.244yupc,
Koliko se sećam, DR se interesovao o uputstvima za Clipper 5.01
evo i informacije, Nantucket GmbH šalje samo diskete i to 7 od
360K naspram ranijih 5 za verziju 5.0. Uz njih ne šalje nikakva
uputstva, već je sve na disketama u *.DOC i README fajlovima.
Evo i isecak iz README:
======================================================================
==
1 Welcome to Clipper 5.01!
Welcome to Clipper 5.01! This file contains the most up-to-date
information about the product, including additional installation
instructions and detailed distribution disk contents.
During the installation procedure, two additional documentation
files, Errata.doc and Debugger.doc, will be copied to the
ĐCLIPPER5
directory. Errata.doc is a text file that contains errata for
the
printed documentation. Debugger.doc is a print file that
contains
new documentation for The Clipper Debugger (CLD.EXE) which has
been
substantially revised. To print either of these files, use the
following DOS command:
C>COPY <filename> PRN:
======================================================================
==
2 What's New
In Clipper 5.01, we have made many changes and improvements which
include, but are not limited to:
1. Fixes to known anomalies
2. Increased Clipper Summer '87 compatibility
3. Improved performance
4. Improved runtime error handling and facilities
5. New and improved debugger
6. New and improved installation system
7. Added support for color in Ž...SAY...GET and box drawing
commands
8. Revised Get system with new and documented API
9. New database functions that can be used in place of database
commands
10. New screen functions that allow the display output system to
buffer display updates
11. New memo functions to determine position based on formatting
12. Append mode for SET ALTERNATE and SET PRINTER files
13. Revised on-line documentation including:
Release Notes documentation database
Change Summaries for Clipper 5.0 and Clipper 5.01
Errata for printed documentation
For a complete list of new features, consult the Release Notes
documentation database.
======================================================================
==
3 On-line Documentation
There have been several changes made to Clipper 5.01 since the
documentation was printed. The new information is covered either
in
the files mentioned above or in the on-line documentation. In
the
on-line documentation, new items that do not appear anywhere in
the
printed documentation are indicated with the Greek character
Omega.
Items that have been revised significantly since the
documentation
was printed are indicated with the Sigma character.
The on-line documentation system consists of the Norton Instant
Access Engine (NG.EXE) and several documentation databases that
are
listed below:
C5G01A.NG The Guide To Clipper
(Clipper language and reference tables)
C5G02A.NG Error Messages
(Compiler, linker, runtime, RMAKE error messages)
C5G03A.NG Extend System
(Extend function reference documentation)
C5G04A.NG Utilities
(Utilities reference documentation)
C5G05A.NG Release Notes
(Change summaries and topical information)
C5G06A.NG Sample Reference
(Reference for sample programs)
All of the documentation databases and the Instant Access Engine
are
installed in the default configuration into ĐNG which exists at
the
same level as the ĐCLIPPER5 directory.
Within the Instant Access Engine's Options:Database pick list,
the
names of the Clipper 5.01 documentation databases are formatted
as
follows:
Clipper 5.01a >> The Guide To Clipper
Č Č Č Č
đ đ đ đ_____ documentation database name
đ đ đ__________ database revision number
đ đ______________ product version number
đ______________________ product name
clipper.245bulaja,
Ima li nacina da u Clipperu (S'87) negde smestim sve podatke o
trenutno aktivnim GETovima (npr. neko SAVE GETS). Ovo mi treba jer
zelim iz aktivnih GETova da pozovem help u kome mi je potrebno da
omogucim opet neki drugi unos podataka. Posto je inace prethodna maska
jos uvek aktivna, onda se svasta dogadja.
clipper.246ppekovic,
-> #245, bulaja>> Ima li nacina da u Clipperu (S'87) negde smestim sve podatke
>>o trenutno aktivnim GETovima (npr. neko SAVE GETS). Ovo mi
>>treba jer zelim iz aktivnih GETova da pozovem help u kome
>>mi je potrebno da omogucim opet neki drugi unos podataka.
>>Posto je inace prethodna maska jos uvek aktivna, onda se
>>svasta dogadja.
Kolko se sećam, jednostavno kad kreneš da pozoveš novu strukturu GET/READ
uradiš jedno CLEAR GETS i sve je OK. Pri povratku sve radi kako treba, tj.
predhodni GET-ovi nisu zaboravljeni.
Ako ovo ne radi, onda lepo uradi istu stvar kao i gore, samo onu početnu
GET/READ sekvencu stavi u jednu petlju.
Paya
clipper.247lola,
-> #245, bulaja
> Ima li nacina da u Clipperu (S'87) negde smestim sve podatke o
> trenutno aktivnim GETovima (npr. neko SAVE GETS). Ovo mi treba jer
Cliper 87 to nema. Funcky biblioteka to resava sa dve funkcije
kao sto si i sam pretpostavio: SAVEGETS() i RESTGETS().
Cliper 5. za to ima elegantno reseno sa localnim listama.
Pozdrav Lola.
clipper.248sale,
-> #217, bstevanThanx!
clipper.249bcetina,
Ima li u clipperu adekvatnih komandi za SCATTER i
GATHER iz FOX-a?
(The SCATTER command moves data from the
current database record into memory var. array.)
I obrnuto.
Bane
clipper.250bstevan,
-> #248, sale>> Thanx!<<
Jel to važi za ideju da se stavi RETURN(.F.) !
---POZDRAV---
---BSTEVAN---
clipper.251sale,
-> #250, bstevan>> >> Thanx!<<
>> Jel to važi za ideju da se stavi RETURN(.F.) !
Ma, to sam se ja zeznuo, trebalo je da ide u turbo.pascal, ali se SOR malo
zbunio. :(((( Inače nisam pratio šta se ovde pričalo. Sorry.
Sale
clipper.252max.headroom,
Help! Imam program Genifer koji (nazalost) ne znam da koristim.
Prvo - lako cu ja nauciti da ga eksploatisem, samo kada bih znao da li
cemu valja?...
Ako se iko interesovao za njega i ima neka iskustva, neka kaze.
Bye!
clipper.253lola,
-> #252, max.headroomGenifer moze ako volis da ti proizvede ogroman, neefikasan, spagetti
kod. Radis u nekom kvazijeziku koji treba da je laksi od Clippera.
Imao sam grdne muke da odrzavam aplikacije napravljene u Genifer-u.
Sa druge strane zanm ljude (uglavnom ne-porgramere) kojima se ovaj
generator koda jako dopao.
clipper.254ndragan,
-> #218, ikarasi>> Proverio sam, Z ne radi na VGA kartici. BTW, ako imaš vremena,
... ali se ovo odnosilo na autora z.zipa a ne na dejanra, kome
je odgovor poslat - to je to kad se pišu odgovori u SORu, pa se
iz cuga zaboravi kome se piše: važno je da mi piiiišemo :) -
sorry. čak mislim da mi ovo nije prvi put...
Bue_ NDragan
sad tek vidim da sam u stvari pisao odgovor na svoju poruku (!).
ima dana kad ne treba ni ustati iz kreveta.
clipper.255vini,
Da li neko zna zašto mi se dešava sledeće:
Nakon unošenja QEMM-a programi u clipper_u jednostavno mi neradeKKKKKKKe rade.
Ako neko o tome nešto zna neka mi ostavi poruku na mailu.
Unapred hvala. Vini
clipper.256bulaja,
-> #255, vini│ Da li neko zna zasto mi se desava sledece:
│ Nakon unosenja QEMM-a programi u clipper_u jednostavno mi nerade.
└────
Ako mislis na poruke time "QEMM: Exception #13 at F000:1234"/"Do U
wanna T)erminate C)ontinue..." i sl. nije stvar u QEMMu vec cini mi se
u bugovima Clippera, a mozda i u nekim drugim programima (desavalo mi
se i sa PC-KWIKom). U ovom slucaju QEMM samo javlja gresku, dok bi se
bez njega racunar verovatno zaglavio (probaj bez QEMMa pa vidi). Zasto
se ovo desava jos nisam utvrdio, ali sam pronalazio neke Clipper
bugove vezane za stavljanje nepostojecih (ili neinicijalizvoanih)
promenljivih u indekse i sl. Najbolje idi step-by-step kroz debugger
pa pogledaj gde se javlja greska.
Pozdrav,
Bulajaja
clipper.257vini,
-> #256, bulajaE, to je sve verovatno lepo ali....
To je sledeća stvar .. Program je lepo radio bez QEMM_a a sada odmah blokira
kompjuter i problem je u tome.....
Inače za varijantu da izbacim QEMM već znam ali to mi nije cilj.
Jel ima neki savet direktan konkratan i jasan????
pozdrav Vini
clipper.258zkehler,
-> #255, viniĆĆ Da li neko zna zašto mi se dešava sledeće:
ĆĆ Nakon unošenja QEMM-a programi u clipper_u jednostavno mi neradeKKKKKKKe
ĆĆ rade. Ako neko o tome nešto zna neka mi ostavi poruku na mailu.
ĆĆ Unapred hvala. Vini
Zavisi kakva je greška, i o kojoj se verziji Clipper-a radi. Jedna od
mogućnosti jeste neslaganje Clipper-ovog VM (Virtual Memory) upravljanja
memorijom sa QEMM-om.
Pre instaliranja QEMM386.SYS, na goloj mašini, pokreni QEMM AN (QEMM
Analysis). Pokreni sve programe koji žvrlaju po memoriji, ako imaš
VGA kartu baci je u emulaciju Hercules-a, EGA karte itd., pokreni
Clipper kompajler, taj program u Clipper-u, uđi u debugger, ...
Tada QEMM "snima" stanje u memoriji: dužine programa,
lokacije drivera, ROM-ova i sl. Zatim traži mapu (QEMM MAP), sa koje
može da se vidi koja područja mogu da se budu EXCLUDE-d, a koja
INCLUDE-d. Tek onda instaliraj QEMM.
Ako ne upali: debugger u ruke - što kaže Bulaja.
ZK
clipper.259iboris,
-> #255, viniŁ Da li neko zna zasto mi se desava sledece:
Ł Nakon unosenja QEMM-a programi u clipper_u jednostavno mi
Ł neradeKKKKKKKe rade. Ako neko o tome nesto zna neka mi ostavi poruku
Ł na mailu. Unapred hvala. Vini
ZZ , evo je PISE ON-LINE. JERES ! JERES ! JERES !
Pa Vini , zar pored SOR-a :(((((((
clipper.260iboris,
Vini , koju verziju QEMM-a imas?
clipper.261nesa,
-> #255, viniDragi VINI-jevci, ostavio sam poruku "na tu temu" u ličnoj pošti ali ste
verovatno zaboravili da otkucate MAIL READ $! ;)
Naravno, to ne znači da ste nešto i propustili!
Pozdrav!
clipper.262max.headroom,
Help!! Help!
Koristim Clipper 5.00 i imam problemcic:
Da ne bih stalno pri kompajliranju programa kucao Clipper x.prg... itd, napravi
sam mali .BAT fajl, ali...
Posto pri linkovanju MORAM da navedem ime .OBJ fajla i .EXE fajla (kao i
DIR-ove u kojima se pomenuti nalaze), pa onda LIBRARY podkomanda sa nabrojanom
listom biblioteka. Problem je u tome sto ja ne mogu da napisem nesto u stilu:
RTLINK FILE C:\xxx\yyy\%1.OBJ OUTPUT C:\xxx\zzz\%1.EXE LIBRARY ovde su
nabrojane sve biblioteke
E, ova moja ideja nesto ne ide... Zato sto DOS interpreter prima 115 karaktera
u jednoj komandnoj liniji. Da li neko ima ideju kako da prevazidjem ovaj
nedostatak DOS-a? Bez da koristim 4DOS i sl. Uzgred, koristim verziju 5.00.
HEEEEEEEEEEEEEEEEEEEEEEEEEEEEELP!!!!!!!
(Ili mozda postoji i neki laksi nacin da se izlinkuje fajl, bez glomaznog
navodjenja direktorijuma, i sl. Znam za foru sa Auotexec.BAT postavkama, ali
kako to izvesti....)
Hvala unapred, MAX!
clipper.263alexa,
-> #257, vini> To je sledeća stvar .. Program je lepo radio bez QEMM_a a sada
odmah
> blokira kompjuter i problem je u tome.....
Da li radi (uz QEMM) neki drugi program koji napraviš Clipperom?
To što je program radio bez QEMM-a ne znači da je dobar - možda
se sada prosto manifestuje neka greška koja ranije nije imala efekta.
Ako drugi Clipper programi rade, predlažem da na neki način
pratiš dokle će program da stigne pre nego što se zaglavi -
mislim da je najjednostavnije nekim prikazima na ekran.
Dakle, proveri da li je to 'odmah' stvarno odmah.
clipper.264maleksic,
-> #262, max.headroom>> Ili mozda postoji i neki laksi nacin da se izlinkuje fajl, bez
>> glomaznog navodjenja direktorijuma, i sl.
Pa Microsoft linkeri (a i svi drugi ozbiljni) imaju mogucnost da
se kao argument posle LINK navede ime text-fajla. A u tom text
fajlu ti prethodno navedes parametara koliko ti volja, prakticno
bez ogranicenja. Vidi, ovaj tvoj linker verovatno ima istu
mogucnost, ako nema onda je to obicna i neupotrebljiva igracka, a
ne linker.
clipper.265braca,
-> #262, max.headroom
Probaj MAKE!
clipper.266ikarasi,
-> #262, max.headroom Mislim da je ovo rješenje za tebe. U datoteku (npr. dat1.lnk)
napišeš ono što linker treba raditi, npr.:
prog1.obj prog2.obj prog3.obj+
prog4.obj prog5.obj+
,,,lib1.lib lib2.lib lib3.lib
Zatim pokreneš linkanje sa RTLINK Ždat1.lnk. Znak prije naziva
datoteke je majmunsko a (ako imaš neki divlji kodni raspored). To
linkeru govori da podatke uzme iz datoteke. Ekstenzije u principu
možeš izostaviti. Plusevi u datoteci označavaju prijelaz u novi red.
Pretpostavka je da RTLINK radi u POSITIONAL načinu.
clipper.267iri.ic,
Nisam siguran da li pitanje koje cu postaviti spada u temu CCCC ili
ovdje... Naime radi se o povezivanju CLIPPER-a sa C-om. Poznata je stvar da
u EXTEND.LIB postoje funkcije koje nam omogucavaju prenos parametara iz
CLIPPER-a u C. To su _parx() funkcije, i _retx() funkcije
za vracanje vrijednosti iz C funkcija u CLIPPER ... Sve te funkcije i
jos neke su opisane u EXTEND.H datoteci koja se dobije uz CLIPPER.
Oko tih stvari dakle u principu nema puno problema, ali problemi
nastaju kad se stvar pokusa obrnuti naglavacke; kako iz C funkcije pozvati
CLIPPER funkciju; Naravno CLIPPER je jos uvijek glavni, tj. iz njega
se pozivaju sve ostale funkcije ili kako bi se to reklo njemu jos uvijek
prepustamo funkciju _main()..
Moja ideja ja zapravo bila da napravim library za CLIPPER u kojem
bi se nalazile i funkcije za rad sa datotekama (*.DBF i *.NTX) pa je zato
potrebno da mogu nekako pozvati CLIPPER funkciju za otvaranje, citanje,
indeksiranje,... datoteka. Ili, bilo mi je potrebno da iz neke C funkcije
prekinem aplikaciju ali tako da se sve datoteke, indeksi i ostale stvari
azuriraju i zatvore (onako kako to CLIPPER napravi).
To sam cak i uspio, pozivom funkcije _quit i ERRORLEVEL(), medjutim
sa funkcijama za rad sa bazama nije islo bas tako lako, da ne kazem nikako.
Da prvo opisem ono sto je islo...kostur C source-a izgleda ovako:
.... /* include-ovi kopji vam trebaju */
....
....
#include "extend.h"
....
....
....
/*
Ovdje dolaze deklaracije CLIPPER funkcija koje zelimo pozivati
Sve funkcije koje imaju parametre treba deklarirati sa
>>> extern CLIPPER FUNKCIJA(void) <<<<, gdje ime funkcije MORA biti
napisano velikim slovima
*/
extern CLIPPER ERRORLEVEL(void);
void _quit(void);
....
....
....
void fatal(int err_code) /* funkcija fatal izaziva prekid izvrsavanja */
š /* aplikacije, sredjuje sve baze, indekse... */
.... /* i izlazi u DOS uz odgovarajuci exit code */
....
....
/*
funkcija iz EXTEND.LIB koja postavlja parametar potreban u
pozivu funkcije. Sintaksa je _storx(value,arg_index);
*/
_storni(err_code,1);
ERRORLEVEL(); /* poziv CLIPPER funkcije ERRORLEVEL
*/
_quit; /* poziv CLIPPER funkcije _QUIT (bez parametara)
*/
ć
....
....
....
Zakljucio sam da je ovaj nacin ispravan sve dok pozivam funkcije sa samo
jednim parametrom; ali ako probam pozvati funkciju sa vise parametara onda
ne radi, CLIPPER javlja run-time gresku ARGUMENT ERROR (izgleda da do
CLIPPER funkcije dolazi samo prvi parametar ).
Malo sam kopao sa debuger-om i zakljucio da funkcije_storx() ne
azuriraju brojac parametara proslijedjenih funkciji koja se poziva, pa sam
probao slijedece:
#include "extend.h"
extern CLIPPER DBUSEAREA(void); /* CLIPPER USE funkcija */
extern int _pcount; /* brojac proslijedjenih parametara */
....
....
....
void c_use(char *file_name)
š
/* Postavi parametre za funkciju DBUSEAREA */
_pcount = 6; /* sest (6) parametara */
_storl(0,1); /* Novo ili staro podrucje (work_area */
_storni(0,2); /* parametar VIA */
_storc(file_name,3); /* ime DBF datoteke */
_storc(file_name,4); /* ime ALIAS-a */
_storl(1,5); /* EXCLUSEIVE ili SHARED */
_storl(0,6) /* READONLY */
/* Pozovi funnkciju */
DBUSEAREA();
ć
....
....
....
Ovaj primjer je cas radio, cas nije radio, i to kad nije radio
svaki put je javljao drugu gresku, u svakom slucaju nisam uspio shvatiti
zasto tako (ne)radi i kako bi zapravo trebalo raditi.
_storc(file_name,1);
Ako nekog ovo zainteresira, pa se pozabavi time i rijesi problem,
ili ga je vec rijesio, bilo bi dobro da ostavi odgovor - mislim da bi
mnogima bila zanimljiva mogucnost pozivanja CLIPPER funkcija iz C-a.
Pjero...
clipper.268ppekovic,
-> #267, iri.ic>> Nisam siguran da li pitanje koje cu postaviti spada u temu CCCC ili
>> ovdje... Naime radi se o povezivanju CLIPPER-a sa C-om. Poznata je stvar
>> da u EXTEND.LIB postoje funkcije koje nam omogucavaju prenos parametara
>> iz CLIPPER-a u C. To su _parx() funkcije, i _retx() funkcije
>> za vracanje vrijednosti iz C funkcija u CLIPPER ... Sve te funkcije i
>> jos neke su opisane u EXTEND.H datoteci koja se dobije uz CLIPPER.
Eh, baš se ovih dana mučim sa povezivanjem clipper-a i C-a. Istina,
mene ne muči, kao tebe, poziv Clipper funkcija iz C-a, već obratno, tj.
ono što se najčešće koristi. U svim knjigama, uputstvima itd. itd.
opisuje se povezivanje sa MSC-om 5.1 a navodi se da clipper ne luduje za
Turbo C-om zbog načina rada sa brojevima u pokretnom zarezu, ali nigde
se ne pominje MSC 6.00.
I tako, nikako ne uspevam da povežem Clipper (5.01, ali ni '87) sa
MSC-om 6.00. Uvek mi prilikom LINK-ovanja prijavi gomilu istih grešaka.
Symbol already defined ... ili tako nešto
Pitao sam na BIX-u u čemu je problem i niko mi nije dao precizan odgovor
ali svi tvrde, što sam čuo i čitao od ranije da clipper ne sarađuje kako
treba sa MSC-om 6.0.
Najviše me zbunjuje što u uputstvu piše da je moguće da
ima dvostruko definisanih simbola i da je zato neophodno da
clipper.lib bude pre llibce.lib-a, kao i što se programi, i
pored gomile gore pomenutih grešaka ponašaju naizgled normalno.
A sad, moj problem: Da li, na bilo koji način, može prilikom linkovanja
da se uradi sledeće:
Imam dva OBJ-a i dva LIB-a. Želim sve to da ulinkujem zajedno, ali tako
da ako dođe do gore pomenutog problema tj. (symbol already defined) iliti ako
je symbol definisan u oba LIB-a istovremeno, da prvi OBJ čita definiciju
iz prvog LIB-a a drugi iz drugog LIB-a.???
Paya
P.S. E sad, za tvoj problem, znači poziv clipper funkcija iz C-a ima rešenja,
jednostavno zaboravi na clipper i uzmi neku biblioteku (a ima ih ihaaaaaj)
koja radi sa DBF-ovima i NTX-ovima (Mislim da je najbolja CODE BASE).
clipper.269alexa,
-> #268, ppekovic > A sad, moj problem: Da li, na bilo koji način, može prilikom
> linkovanja da se uradi sledeće:
>
> Imam dva OBJ-a i dva LIB-a. Želim sve to da ulinkujem zajedno,
> ali tako da ako dođe do gore pomenutog problema tj. (symbol already
> defined) iliti ako je symbol definisan u oba LIB-a istovremeno,
> da prvi OBJ čita definiciju iz prvog LIB-a a drugi iz drugog LIB-a.???
Ne može. U stvari, u principu može, ali bi morao da imaš neki
vrlo inteligentan linker (u ovom slučaju bi mu pristajalo ime
'linkage editor'), i da mu detaljno objasniš šta hoćeš :)
Nešto se kao kroz maglu prisećam da bi to na UNIX-u moglo da se
uradi :)
Pretpostavljam da se pojava duplih simbola može objasniti prosto
time što Clipper u svojoj biblioteci ima zamenu za neke stvari
iz biblioteke C-a, pa ne bi trebalo da bude nekih velikih problema.
Da li si probao switch /NOX pri pozivanju linkera?
clipper.270ppekovic,
-> #269, alexa>> Da li si probao switch /NOX pri pozivanju linkera?
Nema tog switch-a, osim ako nisi mislio na /NOEXTDICTIONARY, a to
se podrazumeva da imam.
E sad, još jedno pitanje: Jel neko probao da ulinkuje Clipper i
MSC 5.1 OBJ-e, da li se i tom prilikom javljaju Double defined symbols
ili ne??!
Paya
clipper.271zkehler,
-> #268, ppekovicŔ >> Nisam siguran da li pitanje koje cu postaviti spada u temu CCCC ili
Ŕ >> ovdje... Naime radi se o povezivanju CLIPPER-a sa C-om. Poznata je
Ŕ >> stvar da u EXTEND.LIB postoje funkcije koje nam omogucavaju prenos
Ŕ >> parametara iz CLIPPER-a u C. To su _parx() funkcije, i _retx()
Ŕ >> funkcije za vracanje vrijednosti iz C funkcija u CLIPPER ... Sve te
Ŕ >> funkcije i jos neke su opisane u EXTEND.H datoteci koja se dobije uz
Ŕ >> CLIPPER.
Ŕ I tako, nikako ne uspevam da povežem Clipper (5.01, ali ni '87) sa
Ŕ MSC-om 6.00. Uvek mi prilikom LINK-ovanja prijavi gomilu istih grešaka.
Da bi se povezao Clipper program sa MSC programom, program se mora
prevesti sa sledećim opcijama:
/c samo kompajliranje, bez pozivanja linkera
/AL prevođenje za LARGE model; obavezno za sve rutine koje
se linkuju sa Clipperom (sam Clipper je preveden u
LARGE modelu)
/Gs bez generisanja koda koji proverava stack
/Zl bez stavljanja imena default biblioteka u objektni kod
/FPa bez generisanja poziva rutina za floating point (zato što
ih koristi sam Clipper)
MSC stavlja underscore ispred imena funkcija u .obj datoteci. Clipper to
ne radi, pa će se posle buniti linker. MSC neće stavljati underscore
ako se funkcije deklarišu kao tip "pascal". Iako to menja način prenosa
argumenata, Clipperu to ne smeta, jer argumente prenosi pomoću _par
rutina.
Kada se linkuje sa MSC bibliotekama, mora se koristiti /NOE opcija
da linker ne bi davao poruke o dvostruko definisanim simbolima. Neki
simboli definisani su i u Clipperu i u MSC bibliotekama. Potrebno je
povećati broj segmenta na 512 ili više (/se:512).
Da bi se dobijeni kod mogao debugovati sa Code Viewom, mora se
prevesti sa opcijom /Zi; kada se linkuje, mora se generisati
map file. Treba koristiti /CO.
ZK
P.S. Malo ličnog iskustva, više knjiga "Clipper Programming Guide",
Rick Spence, Microtrend Books: 1991
clipper.272ppekovic,
-> #271, zkehler>>P.S. Malo ličnog iskustva, više knjiga "Clipper Programming
>>Guide",
>> Rick Spence, Microtrend Books: 1991
Ex, pa čitao sam i ja knjige. I stavio sam opcije upravo onakve kakve ti
navodeiš (u svim knjigama stoje baš te). Čak sam i optimizaciju isključio, što
je sigurno, sigurno je. Ali ništa.
Prilikom LINK-ovanja koristim /NOE ali mi ipak prijavljuje gomilu double
defined ... tralalalaaa (prosečno između 200 i 300 error-a ;))) ).
Ispašće na kraju da tu gomilu grešaka treba zanemariti i da sve radi ok.
Paya
clipper.273ppekovic,
Neznam da li ste znali da u dbedit-u možete definisati zaglavlje i u više
redova. Dovoljno je da u stringu naslova, delove koje idu u različite redove
odvojite znakom ; (tačka-zarez).
Paya
BTW. Ovo sam čuo od Bulaje a on pročitao u knjizi Stephen-a J. Straley-a:
"Advanced Programming in Clipper with C"