clipper.1dejanr,
Iako na tržištu ima mnogo dobrih data base programa, dBASE
III Plus i Clipper apsolutno preovlađuju među našim
programerima. Radi se o veoma širokoj oblasti za diskusiju što
bi značilo da će ova tema jednom možda prerasti u posebnu
konferenciju...
clipper.2dejanr,
Zna li neko način da program pisan na Clipper-u "pokupi"
argumente iz komandne linije - vi ga, na primer, pozovete sa
OBRADA IME.DBF a on obradi datoteku IME.DBF?
clipper.3dejanr,
Jedna od glupljih osobina Clipper-a je što ne omogućava
direktno pozivanje interrupt rutina tj. korišćenje DOS i BIOS
poziva iz vaših programa. U direktoriju IBMPC upisana je
arhiva CLIPINT.ZIP u okviru koje je opisano linkovanje Clipper
aplikacija sa mašinskim potprogramom koji omogućava direktno
pozivanje BIOS-a i DOS-a. Odgovarajući mašinski program u
Source-u je, naravno, takođe u ovoj arhivi.
clipper.4zblagdan,
parametri se preuzimaju kroz parameters opciju. je se to neko zeza sa
ovakvim pitanjima
clipper.5dejanr,
Nisam se zezao sa pitanjem i vrlo sam zahvalan na odgovoru - znao
sam, naravno, da se parameters koristi za prenošenje parametara u
potprogram ali mi nikada nije palo na pamet da to probam i sa glavnim
programom. Da stvar bude još zanimljivije, ovo sam isto pitao još
mnoge druge Clipper-aše i niko nije znao da mi odgovori, ostavljao
sam poruke na par BBS-ova i nigde ni odgovora... izgleda da onome ko
zna to izgleda jako logično a onaj ko ne zna ne može toga da se
seti... To je, uostalom, i svrha ove konferencije.
Da bi oni koji o svemu ovome uopšte nisu razmišljali znali o
čemu je uopšte reč, evo primera programa koji preuzima dva
parametra iz komandne linije:
parameters a, b
if pcount ()<>2
? "Neisprvan poziv"
else
? a
? b
end if
quit
clipper.6dejanr,
Da li je neko stvarno probao da linkuje Clipper i C i kako je išlo
sa prenošenjem parametara? U okviru dokumentacije svemu ovome je
posvećena jedna puna strana...
clipper.7danko,
Za C neznam, ali ja sam uspešno linkovao Clipper i Asembler (rutina
za sortiranje i index-iranje po YU standardu), pa pretpostavljam da
se može i za C.
clipper.8zblagdan,
ima u zgbbsu rutina u sourceu za C i assem rutine za clipper.
stvari su malo komplicirane ali sttimaju jer je clipper napisan u c
(ms 5.0 ili 5.1) pa je taj compiler potrebno koristiti.
clipper.9mpotrc,
Kako poslati iz Clipperja modemu ukaz na COM3?
clipper.10zzivotic,
Pitanje je zašto COM3? Ako je razlog što su u računaru već aktivna
dva COM porta, onda mislim da nema mnogo pomoći ukoliko se ne napiše
neki specijalan device driver koji bi ostvario komunikaciju sa COM3.
Ukoliko u toku rada programa COM1 ili COM2 nisu potrebni postoji
način da se "veštački" ispis na jedan od ova dva porta preuzmeri na
COM3 upotrebom fossil drajvera (X00.SYS, ima na ga na skoro svim
BBS-vima, osim na Sezamu :-) ). Ovakvo rešenje može da posluži ali
nije mnogo praktično jer se ova "redirekcija" zadaje u CONFIG.SYS-u,
pa bi ukidanje redirekcije zahtevalo stalne izmene i resetovanje
računara.
Zoran
clipper.11pcemerikic,
Dali je neko pokusao da u Clipperu radi sve u grafickom modu, tj
da prikazuje PROMPT i DOUBLE u modu grafike (najpre na Herculesu).
clipper.12dejanr,
Linkovati Clipper i C, to nekako ide. ClipéńVŢ
Clipper i asembler, lako.
Ali, može li Clipper i Turbo Pascal? Pod "linkovati" ne mislim da se
iz Clippera startuje EXE program pisan u paskalu nego da se napiše
jedinstven EXE koji je delimično u paskalu, delimično u Clipperu...
Ima li ideja ili iskustava?
clipper.13dejanr,
Svi znamo da je Clipper 5.0 izašao. I niko ga nema. Kako se to slaže
sa uobičajenim softverskim putevima? Jednostavna stvar - i pored svih
vesti u časopisima (više domaćim nego stranim) na Clipper 5.0 će se
još malkice čekati. Evo šta kažu momci na BIX-u:
==========================
clipper/user.forum #478, from stratems, 152 chars,
Sun Dec 10 03:36:40 1989
There is/are comment(s) on this message.
--------------------------
TITLE: New Version of Clipper
Where are we from the Version 5 of Clipper ?
From France we do'nt see anything !
Do an Beta Version exist ?
etc ....
Marc
==========================
clipper/user.forum #480, from irae, 97 chars,
Sun Dec 10 16:17:33 1989
This is a comment to message 478.
There are additional comments to message 478.
--------------------------
Clipper is in Beta. Someone somewhere might no when it's
going to end, but it's not me.
Ira
Read Ref:
==========================
clipper/user.forum #481, from pcwizz, 161 chars,
Sun Dec 10 16:34:28 1989
This is a comment to message 478.
--------------------------
Clipper 5.0 is in beta as of the Sunday before Comdex Started.
The official word is that it will be released when the beta
testers say it is ready.
Dakle, kad Beta postane Gama, obavestićemo vas pa se polako
raspitujte unaokolo...
Dejan
clipper.14bojanp,
Dejne, kada bi procedure i funkcije pisane u Turbo Pascal-u mogle
da se linkuju s Clipper-om, tada bi one mogle da se linkuju i sa
bilo kojim drugim programskim jezikom, jer svi oni generisu OBJ
datoteke. Obzirom da Turbo Pascal generise TPU datoteke ciji
format nema blage veze s formatom OBJ datoteke i koliko ja znam
poznat je samo Borland-u, mislim da od toga nema nista.
Obradovao bih se kada bi neko negirao moju prethodnu izjavu, jer
dosta radim u TP-u i gore navedena mogucnost bi mi mnogo znacila.
Bojan
clipper.15dejanr,
ű▀>> Obradovao bih se kada bi neko negirao moju prethodnu izjavu, jer
>> dosta radim u TP-u i gore navedena mogucnost bi mi mnogo znacila.
Ha! Negirana je.
Naime, nisam hteo baš odmah da se oglasim i da kažem da su mi na
BIX-u već prvo veče, par sati posle poruke, rekli kako se to radi
(najzad, možda bi se i ovde neko setio) al' sad kad je ovako ispalo,
mora da se kaže.
Dakle, ne znam da li su Amerikanci čuli za ono "kad neće breg
Muhamedu, onda će Muhamed bregu ali je rešenje u tom stilu. Dakle,
treba prevesti Clipper program u .OBJ i onda taj .OBJ sa $L
ulinkovati u Turbo Pascal. Naravno, nije sve baš tako jednostavno
pošto se pojavljuje problem biblioteka, pa prenošenje parametara,
pa svašta drugo ali se sve to izgleda može rešiti. Dali su mi
primer i dosta detaljna objašnjenja ali sve to još nisam stigao
da "sažvaćem" pošto trenutno imam mnogo drugog posla. Ali čim
uhvatim malo vremena, videću i probaću pa ću javiti kako ovde
tako (ako stvar bude vredna pažnje) i u "Računarima".
Svaka čast SEZAM-u al' tamo na BIX-u ih ima mnogo više!
clipper.16bojanp,
>> Ha! Negirana je.
>> Dakle, ne znam da li su Amerikanci culi za ono "kad nece breg
>> Muhamedu, onda ce Muhamed bregu ali je resenje u tom stilu. Dakle,
>> treba prevesti Clipper program u .OBJ i onda taj .OBJ sa $L
>> ulinkovati u Turbo Pascal.
Nije negirana!! Na moju veliku zalost!!!
Dejane, ocigledno se nismo razumeli. Nije problem (bar ne problem
koji se nemoze resiti) ulinkovati .OBJ iz bilo kog programskog
jezika u Turbo Pascal-ov .EXE. Problem je ulinkovati proceduru
pisanu u Turbo Pascal-u u .EXE file nekog drugog programskog
jezika.
Da li su *to* resili na BIX-u?
Bojan
clipper.17dejanr,
Ne bih znao za to (izgleda da format TPU fajlova nije poznat nikome
do Borlandu) ali je za vezu TP-Clipper i ova ideja sasvim pristojna.
Na žalost, nije baš jednostavna - počeo sam da čitam i da malo
probam i ima tu dosta problema ali biće valjda nešto...
clipper.18vkostic,
1. Dali neko ima iskustva sa generatorom aplikacija za Clipper
pod nazivom Genifer?
2. Dali je neko radio sa Lotus Agenda? To bi trebalo da bude neka
asocijativna baza podataka (??!).
Pozdrav, V.K.
clipper.19mperovic,
Vlado imam dosta iskustava u radu sa Genifer-om v2.0. Ako te zanima
imam i dokumentaciju. No, ja bih ti ipak preporucio program Sycero,
koji je (bar ono sto sam video) daleko bolji od Genifera. Razlog
za ovakvu tvrdnju je to sto mi se desilo par puta da mi Genifer
jednostavno krahira kod jako slozenih aplikacija.
Puno pozdrava Pera
clipper.20vkostic,
Hvala Miroslave, ako mi zatreba uputstvo, javicu ti.
(Zar SEZAM nije sjajan!).
Pozdrav, V.K.
clipper.21zeljkot,
Jedno pitanje koje ce mozda glupo zvucati:
Kada sam radio maturalnu radnju, htio sam sortirati podatke preko
indeksnih datoteka. Ali, kad bih koristio GOTO vrijedio je fizicki
redoslijed, tako da sam na kraju odustao i upotrijebio SORT naredbu.
Kako se sortira sa indeksnim datotekama? Ima li neka funkcija koja
preracunava fizicki redni broj u logicki?
clipper.22dejanr,
SET INDEX to IND1, IND2, IND3...
SET ORDER TO 0 (fizički redosled) ili
SET ORDER TO 1 (po IND1) ili
SET ORDER TO 2 (po IND2) itd.
clipper.23zeljkot,
To je Sezam u najboljem svjetlu!
clipper.24bpogacar,
Ne razumem baš dobro pitanja. Naime, ako je datoteka indexirana,
obično do recorda dostupamo sa SEEK <variabla> ili FIND <vrednost>.
GOTO <n> ide uvek na fizički record, nezavisno od toga, dali je
datoteka indexirana ili ne (što ste već ustanovili). Medjutim
SKIP <n> sledi uvek logičku organizaciju.
Bostjan
clipper.25dejanr,
Problem sa SKIP i GOTO uopšte jesu obrisani slogovi - naime,
sa SET DELETED možete da kontrolišete da li će Clipper pri
radu konstatovati obrisane slogove ili ne ali će se kod
eksplicitnog GOTO n ili SKIP n skočiti na slog n bez obzira
da li je on obrisan ili ne i bez obzira na stanje SET DELETED.
Nije problem da se ovo reši uz malo IF-ova ali produžava kod
i pravi neugodnosti.
clipper.26zeljkot,
Da pojasnim o cemu se radilo: trebalo je redom ispisati sortirane
slogove. dBase naredbe za ovo nisu bile od koristi - trebalo je
nakon 21 red stati, pojavih!Ése menu-linija za stranicu naprijed -
nazad i sl.
clipper.27pcemerikic,
Pozdrav !
Dali je neko uspeo da CLIPPER program koristi na ANSI terminalu
(uz pomoc CTTY comande) ili na neki drugi nacin? Pokusao sam sa
linkovanjem ANSI.OBJ, IBMANSI.OBJ, PCBIOS.OBJ. Jedino uz pomoc
IBMANSI.OBJ dobijem screen na terminalu (oliveti WS680) ali se
onda sve "zamrzne".
Ima li resenja ovog pitanja uopste na ANSI terminalima, ili
se mora koristiti PC terminal (ako i to uopste radi)
Predrag.
clipper.28dejanr,
Što se Clippera 5.0 tiče, ima da ga još čekamo i čekamo - evo
trača sa BIX-a:
==========================
clipper/tech.questions #1529, from kherman, 508 chars, Sun Jan 21
15:20:51 1990
This is a comment to message 1526.
--------------------------
Thanks for the detailk about Alink. I think I'll look into it.
About version 5.0, the grapevine news I hear is not to expect
it for another six to nine months. At this user group meeting
I went to, we got a presentation by a third-party library
developer who has seen the beta version and claims that it
doesn't work at all and that Nantucket is just now rewriting
the memory management section. Hmmm. Has anyone heard anything
similar. (Perhaps I should have prefaced this with THIS IS A
RUMOR.)
--kEN--
clipper.29dejanr,
Novi Clipper čekamo a i sa starim nismo srećni:
clipper/tech.questions #1527, from vrosenthal, 1166 chars,
Sat Jan 20 12:56:33 1990
--------------------------
TITLE: Big bug in Clipper S87
There is apparently a bug in Clipper which does the following:
if you index a file for which the following condition holds
reccount() % int(64512 / keylen + 4) = 0
then the system will LOCK UP, and in some cases the media
description byte on track 0 may be overwritten, rendering the
disk unbootable.
Clipper tech support refused to confirm the formula, but said
"...there are such things" and that a workaround is to add
chr(0) to the end of the index key. As Dave Barry says, I am
NOT making this up! There is a lot of discussion about this
on CI$, maybe someone could upload some of it here. It is
possible that there are other combinations of file size
and key length which could trigger the bug. I have also heard
that it may occur on any type of key, be it numeric, character,
or date. In the case of non-character inexes, you might have
to change your index expression to a character expression in
order to append the null.
I have a first-hand account of an occurrence of this, and the
person involved reformatted his disk to make it bootable,
although he probably have fixed the boot track with Norton
Utilities, etc. Vic
clipper.30dejanr,
Još malo o istom bugu:
==========================
clipper/tech.questions #1549, from jtrindle, 1803 chars,
Fri Feb 2 10:48:52 1990
This is a comment to message 1527.
--------------------------
Replu to Message from VROSENTHAL Sat Jan 20 1990:
>There is apparently a bug in Clipper which does the following:
>if you index a file for which the following condition holds
>reccount() % int(64512 / keylen + 4) = 0 then the system will
>LOCK UP, and in some cases the media description byte on
>track 0 may be overwritten, rendering the disk unbootable.
David Brown and I are the ones who discovered this bug, and
the proper formula is as follows:
if reccount() % int(64512/(keylen + 4)) = 0
willcrash()
endif
The bug does occasionally overwrite the Media Descriptor Byte,
but that does not make the disk unbootable. It does make it
impossible to chkdsk until you reset the MDB to the proper
value.
>Clipper tech support refused to confirm the formula, but
>said "...there are such things" and that a workaround is
>to add chr(0) to the end of the index key. As Dave Barry
>says, I am NOT making this up!
This workaround will only be good for character keys. Keys of
type numeric and date will also crash... The keylen for a date
key is 8, and for a numeric is:
field length + field decimals + iif(field decimals > 0,1,0)
Keys of length < 3 do not seem to crash, so you need not test
for logical keys.
>It is possible that there are other combinations of file
>size and key length which could trigger the bug. I have also
>heard that it may occur on any type of key, be it numeric,
>character, or date. In the case of non-character inexes,
>you might have to change your index expression to a
>character expression in order to append the null.
The other approach, which I recommend, is to append a
record to the database before indexing if the reccount()
meets the specified condition. This will work for all key
expression types.
...John Trindle
clipper.31vdjurdjic,
Da li neko ima ideju (ili cak source) za nested GET/READ, dakle
mogucnost unasanja unutar postojeceg GET/READ (recimo pritiskom na F2
unosimo neki novi podatak u sifrant)
Drugo pitanje:
O Clipperu se mnogo zna,ali malo je pznato o LIB-ovima drugih
(trecih) proizvodjaca.Predlazem, da oni koji nesto o tim stavrima
znaju, da ostave obavestenje u ovoj konferenciji. Ja recimo poznajem
Nantucket tools ONE i nesto kao DR HUGEL & PARTNERS CLIPPER LIB. Da
li neko poznaje jos nesto?
Hvala na sugesijama i odgovorima.
Pozdrav
Vlado
clipper.32dejanr,
>> Da li neko ima ideju (ili cak source) za nested GET/READ,
>> dakle mogucnost unasanja unutar postojeceg GET/READ (recimo
>> pritiskom na F2 unosimo neki novi podatak u sifrant)
Ja to radim ovako:
public flag
do while .t.
flag=1
do unos .... (tu je negde read )
if flag=1 then exit
end do
U proceduri definišem KEY 2 da skoči negde, tamo uradi flag=0
i svoj read. Posle se vrati i ponovi glavni read. Jeste da
kurzor skoči na početak (dalo bi se i to rešiti) ali je sasvim
OK.
Pozdrav,
Dejan
PS Izvini ako sam negde pogrešio u sintaksi, retko radim sa Clipperom
ali nadam se da je ideja jasna.
clipper.33dejanr,
Evo malo vesti o Clipperu 5.0.
==========================
clipper/user.forum #499, from pcwizz, 743 chars,
Thu Feb 22 21:58:54 1990
This is a comment to message 498.
--------------------------
Clipper 5.0 has been advertised to contain the following
improvements/enhancements.
1. Improved memory management
2. PreProcessor
3. Special version of RTLink to allow incremental linking
4. User defineable commands
5. Replaceable database drivers to allow using Clipper code with
other database formats.
6. Code blocks
7. Static and Local memory variables
8. True Multi dimensional arrays
There was a discussion of all the new features of 5.0 a few
months back in one of the Clipper conferences, you can search for
those messages and get more details.
Clipper 5.0 is currently in Beta, and Not shipping as of February
22, 1990. There have been no new announcements from Nantucket on
when they might ship.
Hope this helps.
clipper.34bjoksimovic,
Pogledaj TOOLS II
Pozdrav SV
clipper.35bjoksimovic,
Da li neko ima iskustva sa Alink - om?
Pozdrav SV
clipper.36pogo,
TEMA: CLIPPER
-------------
Kod programiranja u Clipper-u cesto je potrebno da se jedna baza
indeksira
po polju iz druge baze. Posebno je to slucaj kada se trazi sort po
abecedi,
a aktivna baza sadrzi sifru toga podatka, kao u slijedecem primjeru:
datoteka polja
==========================================================
RADNICI.DBF Ime prezime i ime radnika
No_Zan sifra zanimanja radnika
----------------------------------------------------------
ZANIMANJA.DBF Naziv naziv zanimanja
No_Zan sifra zanimanja
----------------------------------------------------------
Pretpostavimo da su obe baze indeksirane po sifri zanimanja i da
postoji
relacija od RADNICI prema bazi ZANIMANJA po polju NO_ZAN (SET
RELATION TO
No_Zan INTO Zanim). Kako u tom slucaju indeksirati bazu RADNICI po
*nazivu*
zanimanja (ne po sifri!) ?
Pokusao sam sa slijedecim rjesenjem:
INDEX Zanim->Naziv + Str(No_Zan) TO NazivZan
Iako ovo rjesenje izgleda korektno (cak se koristi i "osigurac" u
vidu
Str(No_Zan) ), ono radi samo ako se indeksira vec formirana baza.
Medjutim,
kod azuriranja baze ovaj indeks se ne azurira ili Clipper prijavi
gresku.
Ukoliko netko radi na ovaj nacin i sve je OK, molim da se javi.
Hvala!
David Jakelic
clipper.37aradovanovic,
Treba li nekome dodatna biblioteka za Clipper u kojoj su procedure za
prikazivanje ekrana u grafickom modu:
HERCGRAPH - prelazak u graficki rezim
HERCTXT - povratak u tekst rezim
HERCSCREEN - prikazivanje ekrana nacrtanog u bilo kom programu za
crtanje (Dpaint, PBrush...) ili skinutog iz bilo kog grafickog
programa (npr. Ventura)
Ono HERC znaci da je biblioteka za Hercules.
Ako neko misli da je korisno neka mi se javi
Aleksandar 011/156-327
Posto o Clipperu nemam pojma (izuzev kako se linkuje sa C-om i
Asemblerom - na kome su ove rutine napisane) vole bih da znam da li
se uopste vredi baviti razvojem dodatnih biblioteka i da li se to
moze prodati "Cliperasima" posto ti momci enormno zaradjuju.
Aleksandar
clipper.38mjuric,
CLIPPER
-------
1.
U januarskom Bytu video sam oglas za Clipper 5.0 ($695).
Zna ko sto vise o tome?
2.
Imam Clipper Graphics Library 1.2, Clipper Nantucket
Tools, Professional Clipper Library 2.00, Sandy.lib i
jedno veoma zanimivu rutinu SWAP.OBJ, koja omogucava,
da iz Clipperja startamo bilo koju aplikacijo jer snima
memoriju na disk, onda starta program i restavrira
memoriju. Ima jedino jednu veliko manu. Rutina je DEMO
verzija i omogucava samo tirkratan swap. Ako je ko
zainteresiran moze da se javi.
3.
Testirao sam bug u Clipperju ali nisam uspeo, da bi
Clipper prepisao Media Descriptor Byte. Videti datoteko
CLIPPER.ZIP, koja je prikljucena sporocilu (tekst je na
slovenackom jeziku).
4.
Poznate su mi bar dve razlicite verzije Clipperja Summer
87. Prva ima datum svih datoteka 21.12.87 a cas (time)
nije upisan. Druga ima popravljene neke buge iz
predhodne verzije. Ima isti datum, ali sa casom 2.00am.
Cuo sam, da postoji i verzija sa datumom datotek
??.08.87. U datoteki, koja je ob sporocilu je i spisak
ostalih bugova Clipperja.
...Matjaz
P.S. Zao mi je za napake, ali srbskohrvatsko neznam bas
najbolje. B-(
clipper.zipclipper.39dejanr,
>> U januarskom Bytu video sam oglas za Clipper 5.0 ($695).
>> Zna ko sto vise o tome?
Na BIX-u kažu da postoji beta verzija ali da se u toku
testiranja pojavljuju neki problemi na pitanjima upravljanja
memorijom. Ne očekuje se izlazak na tržište do polovine
godine. Poruke sa BIX-a imaš negde ovde, mislim baš u okviru
ove teme.
>> Poznate su mi bar dve razlicite verzije Clipperja Summer
>> 87. Prva ima datum svih datoteka 21.12.87 a cas (time)
>> nije upisan. Druga ima popravljene neke buge iz
>> predhodne verzije. Ima isti datum, ali sa casom 2.00am.
Moja firma ima original Clipper i pre izvesnog vremena
(recimo prošlog leta) je stigla dopuna i to je upravo ta
21/12/87, 02:00. Neki momci su nedavno (recimo odmah iza
Nove godine) slali faks Nantucketu i oni su potvrdili da
je to važeća verzija tj. da u međuvremenu nije bilo ničeg
novog. Ne znam da li se nešto desilo u međuvremenu ali
čisto sumnjam pošto spremaju novu verziju... što bi se
više baktali sa ovom?
Inače, Clipper nije loš jezik ali mu strašno zameram što
u toku prevođenja ne izvrši proveru tipova nego ti u
nekom programu koji koristiš pola godine u nekog grani
samo iskoči sintaksna greška! Mislim da je to što se tipovi
ne deklarišu velika glupost i samo pravi probleme - čak je
i bejzik to imao mnogo bolje rešeno!
Clipper po meni i nije kompajler nego neka vrsta među koda.
clipper.40vkostic,
:: Clipper po meni i nije kompajler nego neka
:: vrsta među koda.
Iz perspektive nekoga ko radi samo na asembleru i C-u, meni
Clipper pre lici na neki generator aplikacika ili tako nesto.
Video sam par puta kako ljudi u Clipper-u za par minuta urade
strasne stvari za koje meni treba cela nedelja na asembleru, ali
neka oni probaju da naprave rezidentni programic na tom
Clipper-u... :-)
Pozdrav, V.K.
clipper.41vkostic,
Nisam nikada nista radio na Clipperu, zato ovo pitanje moze da
zvuci glupo okorelim Clipper-istima:
Dali se na Clipper-u moze nekako PEEK-ovati po memoriji, i to po
celom adresnom prostoru (640K) ?
Pozdrav, V.K.
P.S.
Mislim na neko cisto resenje, a ne da linkujem Clipper sa masinskom
rutinom.
clipper.42dejanr,
>> Iz perspektive nekoga ko radi samo na asembleru i C-u, meni
>> Clipper pre lici na neki generator aplikacija ili tako nesto.
Ne, Clipper je programski jezik i u to nema sumnje - ima
svojih čudnih osobina (kao što je pomenuto neproveravane tipova)
ali je jezik. Viđao sam neke generatore aplikacija kao što je
Dženifer i mislim da je to sasvim neupotrebljivo za razliku od
Clipper-a koji je sasvim upotrebljiva alatka. Naravno, na njemu
se ne može napraviti rezidentni program (ako ni zbog čeg drugog
(a ima i dosta drugih razloga) program od 1 linije zauzme 160K
jer se uz njega linkuje kompletna biblioteka - glupost nad
glupostima!) ali mu to nije ni svrha tako da mu to ne uzimam
za zlo!
>> Da li se na Clipper-u moze nekako PEEK-ovati po memoriji,
>> i to po celom adresnom prostoru (640K) ?
Mislim da ne može, ni po celom prostoru, ni po njegovim
delovima. Ali ako je to baš potrebno (a ne znam zašta bi
bilo potrebno!) može se linkovati dosta jednostavno funkcija
u C-u ili Moduli 2 (!?) ili bilo čemu što pravi .OBJ fajl
i onda iz te funkcije uraditi što treba. To sam i lično
isprobao (nije mi trebalo ni za šta... samo proba) i radilo
je lepo!
Ima još jedna zanimljiva mogućnost - Clipper pravi OBJ
fajlove, dakle to bi se moglo linkovati u C i tako olakšati
rešavanje nekih problema (imaš gotove menije, pristup DBF
falovima itd, itd). Ovo lično nisam probao ali na BIX-u
kažu da je moguće. Čak kažu da se može linkovati taj .OBJ
u Turbo Pascal program ali mi nije jasno kako da ga nateram
da "usisa" i čitav onaj CLIPPER.LIB a bez LIB-a verovatno ne
bi mogao ništa pametno da radi. Ako je neko uspeo, neka javi!
clipper.43dejanr,
Pre par dana mi se desilo nešto VRLO čudno. Trebalo je da instaliram
Clipper na AT-u u redakciji "Računara" ali sam uspeo da zaboravim da
na disketu snimim i svoju proceduru CLI.BAT koja prevodi, linkuje i
startuje program. Tako sam morao da je rekonstruišem po sećanju i
napravio sam sledeće:
@echo off
c:\base\clipper\clipper %1 %2 %3 %4
if errorlevel 1 goto fine
tlink %1.obj+c:\base\clipper\ndx.obj,,,
c:\base\clipper\clipper.lib+c:\base\clipper\extend.lib
if errorlevel 1 goto fine
%1
:fine
Kako bi stvar mogao da proverim, napisao sam sledeći epohalni Clipper
program:
? "line 1"
? "line 2"
quit
Rezultat komande CLI DUMMY je, sasvim neočekivano, bio:
line 1
line 2
line 1
line 2
Izgledalo mi je sasvim zagonetno zašto bi se rezultati udvostručili
ali nisam imao vremena da mnogo lupam glavu (najzad, procedura je
radila... čak duplo bolje nego što sam očekivao ;-> ) pa sam samo
presnimio CLI.BAT na disketu i odneo je kući. Poređenje sa CLI.BAT
sa mog hard diska nije otkrilo nikakve razlike ali DOS COMP jeste -
korektni CLI.BAT je dva bajta duži. Ispalo je da se ta dva bajta
nalaze na kraju poslednjeg reda - "dobra" procedura se završavala
sa <CR><LF> a "loša" slovom e od :fine.
Ima li neko ideju kako nedostatak običnog <CR><LF> proizvodi
dvostruko izvršavanje ili udvostručeni izlaz?
Dejan
clipper.44dejanr,
Odgovor na poruku sasvim sličnu ovoj:
==========================
clipper/tech.questions #1644, from drifkind, 345 chars,
Wed Mar 28 21:23:34 1990
This is a comment to message 1641.
--------------------------
This is just another DOS wierdie. If the last line of a batch
file does not end with CRLF, DOS re-executes the last command it
processed. (A label is not a command, so it re-executes the
program it ran on the previous line.) Some versions of DOS do
this and some don't (and some just sit in the corner and whimper,
but that's another story).
clipper.45dkovac,
Da li je u pitanju jos jedan nedostatak CLIPPER-a?
Definirajte neki string . Pokusajte onda usporediti vrijednost tog
stringa pomocu <> da li je jednak nekoj vrijednosti. Npr.
a='prvi'
if a<>''
* napravi nesto
endif
Clipper jednostavno ovaj uvjet ignorira i ne ispuni if naredbu
vec samo proleti . Da li zna netko u cemu je stvar ?
Dejan Kovac
clipper.46dejanr,
Čini mi se da treba koristiti " a ne ' u Clipperu. Da nije stvar u
tome?
clipper.47mpotrc,
űV Clipperju je isto " in '.
Problem pa je v SET EXACT on/OFF!
"When EXACT is OFF two character strings are compared according to
the following rules:
1. The strings are first considered equivalent, true (.T.).
2. Strings are then compared by character position for each
character in both strings until the length of the string on the
right side of the operand is exhausted or the comparison
returns false (.F.).
This has two implications:
1. Two strings may equate even though the VARY IN LENGTH.
2. A string of length GREATER THAN ZERO can equate to a NULL
STRING. This happens because a null string on the right side of
the operator has a length of zero and so no comparisons are
made. The result returned is then the initial value, true
(.T.)."
Torej, EXACT mora biti ON. Pravilno pa bo program deloval tudi, če
se pogoj napiše tako:
a = 'prvi'
IF '' <> a
<ukazi>
ENDIF
Pozdrav, Matjaž
clipper.48dkovac,
Zahvaljujem se na rjesenju, naravno globalnom kao sto je
sa EXACT ON. Inace ja sam to uspio rijesiti i prije postavljenog
probelma, a odgovor je relativno jednostavan.
a='prvi'
if empty(a)=.F.
* posao
endif
U ovom slucaju je uvjet ispunjen i sve radi korektno, naravno bez
EXACT ON.
Pozdrav , Dejan K.
clipper.49mpodgornik,
Odlučio sam, da priredim Zoranovu lcomm biblioteku za upotrebu
u Clipper-u. Ali nešto nije u redu. Na izgled sve radi, samo se
znakovi gube :-((. Program sam testirao na 9600, tako da bi bila
možda moguća i greška zbog zakašnjenje Clipper-a - ili ?...
Prilažem datoteku CLIPP_COM.ZIP s modifikovanom lcomm bibliotekom,
programčićem koga sam testirao i batch datoteku. Molim sve One, koji
se bave *ovakvim stvarima*, da me reše!
Pozdrav, Mitja
clip_com.zipclipper.50mjuric,
Oglas za Clipper 5.0 sam video u ponudbi Programmer's
Paradise (stran 58 - Jan Byte) a ne od Nantucketa
(ima i oglas od Nantucketa) i sam zato mislio, da se
moze nabaviti vec sada. Ono sa BIX-a sam video.
Da li neko ima ALINK?
Pozdrav...
--- Matjaz
clipper.51bulaja,
Odgovor na 47..50
Stvar je u tome sto se u Clipperu jednakost stringova ne
oznacava sa npr. s1=s2 vec sa s1==s2. Potpuno isto je i u
dBase & FoxBase. Tvoj program bi trebalo da izgleda ovako:
a='prvi'
if !(a=='')
* posao
endif
Evo i primera kako to izgleda u dBase:
. a='prvi'
prvi
. ? a<>''
.F.
. ? !(a='')
.F.
. ? !(a=='')
.T.
Zakljucak: uvek koristite == za poredjenje stringova.
To, naravno, pise i u manualu, ali ...
Pozdrav, Bulaja
clipper.52dkovac,
Da li netko koristi program MAKE za Clipper ?
Program radi svoj posao, ali... Ima jedno ogranicenje, koje
ne znam kako bi savladao. U knjizi 'Programming in Clipper '
(second edition) by Stephen J. Straley (Addison-Wesley) lijepo
je dat primjer upotrebe Make. U instrukcijama za linkanje
treba navesti :
Ime.exe: prvi.obj drugi.obj treci.obj cetvrti.obj ...
Ako ste u prilici pa je red duzi od 128 karaktera, jednostavno
se ostatak ignorira. Ni prelazak u novi red ne rjesava stvar
(bilo to 'soft' ili 'hard'(Enter)). Da li postoji koji nacin
da se ovo prevazidje ? ( Ne dolaze u obzir odgovori , smanji
na manje procedura i sl. )
Pozdrav Dejan Kovac
clipper.53pbeciric,
TURBO C 2.0
HELP!!!
Kako da linkujem program pisan u Clipperu sa rutinama
razvijenim u Turbo C-u.
Pozdrav,
Predrag Beciric
clipper.54dejanr,
Evo malo novosti sa BIX-a o Clipperu 5.0:
==========================
clipper/tech.questions #1679, from irae, 489 chars,
Sun May 6 22:22:50 1990
--------------------------
TITLE: 5.0
Well, as some of you have seen from press.release Clipper
5.0 is due soon. I know much of what the new features are
and how they work and would be willing to start a discussion
about the things that are different under 5.0, what they
are for and how to use them. There are things I am not
at liberty to talk about but what I can I'd be happy to
share. I will post the text from some overheads I used
at a recent talk I gave about 5.0 over in code to start
things off.
Ira
==========================
clipper/clipper.code #128, from irae, 1602 chars,
Sun May 6 22:25:06 1990
--------------------------
TITLE: 5.0 sample code
An example of a piece of 5.0 code that makes a pull
down style light-bar menu
First:
We'll create the array containing the menu:
array := ;
{;
{"File", "Window", "Search", "Print", "Quit"},;
{;
{"Load", "Save", "New", "Abandon"},;
{"Split", "Close", "Next"},;
{"Find", "Replace", "Again"},;
{"Print All", "Print Page", "Margins", "Form Feed"},;
{"Save and Quit", "Discard all Changes"};
};
{;
{.T., .F., .T., .F.},;
{.T., .T., .F.},;
{.F., .F., .F.},;
{.F., .F., .F., .T.},;
{.F., .T.};
};
{;
{{||filld()}, {||filsv()}, {||filnew()}, {||filtrsh()}},;
{{||winsplt()}, {||winclos()}, {||winnext()}},;
{{||srch()}, {||srchrep()}, {||srchagin()}},;
{{||pntall()}, {||PntPge()}, {||pntmar()}, {||pntff()}},;
{{||savequit()}, {||savetrsh()}};
};
}
MakeMenu(array)
FUNCTION makemenu
PARAMETERS array
items = LEN(array[1])
increment = INT(76/(items - 1))
DO WHILE .T.
FOR i = 0 TO items - 1
@ 1,2+(i*increment) PROMPT array[1,i+1]
NEXT
MENU TO y
IF y == 0
LOOP
ENDIF
width := 1
AEVAL(array[2,y],{|p| width := max(width,len(p))})
lft := (y-1)*increment
ht := LEN(array[2,y])
scrn = SAVESCREEN(2,lft,2+ht,lft+width)
z := ; achoice(2,lft,2+ht,lft+width,array[2,y],
array[3,y],"UDF"
RESTSCREEN(2,lft,2+ht,lft+width,scrn)
IF z == 0
LOOP
ENDIF
EVAL(array[4,y,z])
ENDDO
RETURN .T.
FUNCTION udf
PARAMETER mode
LOCAL retval, key
key := LASTKEY()
if key == LEFT .OR. key == RIGHT
keyboard CHR(key) + CHR(RETURN)
retval := 0
ELSEIF key = RETURN
retval := 1
ELSE
retval := 2
ENDIF
RETURN retval
clipper.55dkovac,
Kako Vi to rjesavate ?
Ukazala mi se potreba da napravii¨neku rutinu u C-u.
Clipper prema definiciji je kompatibilan sa C-on i assemblerom,
i u knjigama sve to lijepo pise, samo nedostaje jedna sitnica.
U ovoj nasoj knjizi ( Clipper 87, Computer hit bibiloteka
Sarajevo) pise (str. 9-4) da sav I/O terminala treba vrsiti iz
Clippera. Date su i funkcije za poziv rutine ponocu
vrijednosti, te povrat vrijednosti iz rutine. E pa problem je u
tome kako procitati vrijednost varijable koju je rutina poslala
natrag.
Evo primjera.
U Clipper-u
* ovo je primjer programa iz clippera za poziv C-a
external pogled
clear
prvi=0
@ 2,2 say ' Unesi vrijednost (1 ili 2) ' get prvi
read
pogled(prvi)
? ""
? " opet sam u clipperu "
U C-u
# include <stdio.h>
# include <nandef.h>
# include <extend.h>
CLIPPER pogled()
{
int x,y;
x=_parni(1);
if (x==1){
y=100;
}
ű else
{
y=200;
}
_retni(y);
}
Ne znam da li uopce Clipper pozove C rutinu jer ne mogu
ocitati vrijednost y. Compiliranje prolazi bez problema, isto
tako i link. Samo kod linkovanja je potrebno ubaciti /NOE, pa
to onda izgleda ovako otprilike:
tlink /NOE kliper crutina,kliper,nul,c:\base\clipper +
c:\base\extend
Zamolio bih sve one koji imaju iskustva na tom polju da
daju svoje sugestije. ( u prethodna dva pitanja o SWITCH i MAKE
se nitko se nije oglasio, pa valjda ljudi ne znaju da postoji
MAKE ili SWITCH ili ih nikada nisu ni pokusali iskoristiti ).
Pozdrav Dejan Kovac
P.S. Pokusao samo dobiti y sa parameters, ali ne ide
ű
clipper.56mpodgornik,
Ništa lakše!
...
drugi=pogled(prvi)
...
i to treba da radi.
Pozdrav, Mitja
clipper.57dbasaric,
Naravno sve ce da ti radi ako si kompajlirao kao LARGE model i
stavio
? pogled(prvi)
Medjutim, kako iz C-ea ( mislim na TC 2.0 ) istampati na
ekran nesto, recimo sa printf, ja sam probao ali kada
linkujem dobijam poruku
>> Undefined symbol '_PRINTF' in module FUNKC.C <<
Poruka je razumljiva pa sam pokusao da linkujem CL.LIB i
c0L.OBJ i linkovanje prodje bez greske, ali kada sam
Ňü pokrenuo program racunar se zaglavio.
Da li je neko pokusavao nesto slicno ??
Denis
clipper.58majkl,
Problem sa memo poljima u Clipper-u.
Clipper ih drži u posebnoj datoteci .DBT koja raste po potrebi
već kako se unose podaci. Medjutim, pri brisanju slogova i nakon
izvršenja PACK naredbe ona se uopšte ne smanjuje, što pre ili
kasnije dovodi do problema.
Ima li neko efikasan lek?
Pozdrav,
Majkl
clipper.59mrki,
>> Da li netko koristi program MAKE za Clipper ?
>> Program radi svoj posao, ali... Ima jedno ogranicenje,
koje
>> ne znam kako bi savladao....... U instrukcijama za linkanje
>> treba navesti :
>> Ime.exe: prvi.obj drugi.obj treci.obj cetvrti.obj ...
>> Ako ste u prilici pa je red duzi od 128 karaktera, jednostavno
>> se ostatak ignorira. Ni prelazak u novi red ne rjesava
>> stvar...
Ja koristim MICROSOFT-ov MAKE i TURBO linker V1.0. Do sada nisam
imao takvih problema. U prilogu dostavljam fajl PRIMJER.ZIP u
kojem se nalazi jedan moj MAK i LNK fajl sa kojima sve normalno
funkcionira. Mozda je ipak problem u linkeru. Preporucam upotrebu
TURBO linkera ili bar MICROSOFT-ovog linkera jer su puno brzi od
PLINK-a.
clipper.60mrki,
Kod slanja prethodne poruke došlo je do greške pri slanju datoteke
PRIMJER.ZIP. Sada je ponovno šaljem.
primjer.zipclipper.61mrki,
U Radovljici postoji CLIPPER MAIL BOX (informacija iz knjige M.
Mazzinija). Telefon (064)35-319. Radno vrijeme je radnim danom od
10 do 12. Kako je u ovim terminima dosta tesko uspostaviti dobru
medjugradsku vezu nisam uspio do sada uspostaviti kontakt sa
njima. Da li je do sada neko kontaktirao sa ovim MAIL BOX-om?
clipper.62dkovac,
:: drugi=pogled(prvi)
Prilicno jednostavno, samo se trebalo sjetiti.
Zahvaljujem se na odgovoru. Sve radi.
:: >> Undefined symbol '_PRINTF' in module FUNKC.C <<
U knjigama lijepo pise da sve I/O funkcije vezane uz
terminal, treba raditi iz Clipper-a. Ali zasto ?! Ne znam.
Inace kompajlirao sam sve sa TC 1.0 (nikakvi large modeli i
sl.),i radi bez problema.
Ovo sa make od Microsoft-a izgleda lijepo, probati cu
prvom prilikom. Uh, koje li ustede vremena (program od 78
procedura), samo da sve instaliram.
Jos jedan mali bug ? Nista strasno, mora da ste
primjetili. Nas dragi Clipper, jednostavno propusti sintaksno
nepravilnu naredbu, ali onda sve to prijavi linker, ali potpuno
izgubi orijentaciju u kojoj je to proceduri. Nista. Cekamo
Clipper 5.0.
Pozdrav Dejan Kovac
clipper.63dejanr,
Vest sa BIX-a - novi Clipper bi trebalo da krene u prodaju 30. juna
clipper.64mrki,
Sa ovom porukom šaljem datoteku CLTIPS01.ZIP.
Tu je sakupljeno nekoliko korisnih ideja za upotrebu
Clippera koje je pripremio moj kolega David Jakelić.
cltips01.zipclipper.65dejanr,
==========================
clipper/clipper.code #140, from irae, 342 chars,
Sun Jul 15 17:21:11 1990
--------------------------
TITLE: 5.0 Tricks
While playing with the Pre-Release version of 5.0 I came up with
this function which is neat in of itself but also serves to point
out a bunch of new features.
FUNCTION clear_rec
local i
for i = 1 to fcount()
field-> &( FIELD(i) ) := ;
{"","",0,.f.,CTOD("")}[at( VALTYPE( &(FIELD(i)) ), "CMNLD")]
next
Ira
clipper.66chahton,
Koristenje funkcije DBEDIT() sa menijima.
Ne znam da li ce nekoga zainteresovati, ali saljem primjer (po meni
fantastican) za koristenje funkcije DBEDIT() u okruzenju sa promptovima
i malom Formom (A la Clarion).
dbe_test.zipclipper.67dejanr,
==========================
clipper/tech.questions #1808, from pepeto, 1036 chars, Mon Aug 13 23:38:41 1990
There is/are comment(s) on this message.
--------------------------
TITLE: Turbo c
I need help in compiling and linking TC with CLIPPER.
the problem i have is that the program i generate hangs up
the computer and i have to press Ctrl-Alt-del. Here i will
give you the sources and the way i compile and link.
Clipper Source :
PROG.PRG
---------------------
extern prueba
? "This is clipper"
?
prueba()
---------------------
and i compile with
CLIPPER.EXE prog
C Source :
HELLO.C
----------------------------------------
#include <nandef.h>
#include <extend.h>
#include <stdio.h>
CLIPPER prueba()
{
printf("HELLO, THIS IS TURBO C") ;
}
----------------------------------------
and i compile
tcc -c -f- -G -ml -O -Z hello.c
and this is the way i do the linking
tlink /x prog+hello+c0l,,,\CLIPPER\CLIPPER+\CLIPPER\EXTEND+\TC\CL
the tlink version i use is 1.0, but i tried vs 2.0 (the one that
comes with turbo c 2.0) and it doesn't do any better.
Sorry about the large message, i would very happy if somebody
can help me.
Thank you in advance.
==========================
clipper/tech.questions #1809, from jtrindle, 1402 chars,
Mon Aug 13 23:51:54 1990
This is a comment to message 1808.
--------------------------
The problem occurs when you link Turbo C library routines with Clipper
(the printf call is the culprit). There are ways to extract Turbo C
.OBJs from the libs and convert them for use with MSC (which is what
Clipper is written in) but I do not know the exact procedure. I have
use TC 1.5 and 2.0 with Clipper, as long as I did not call library
routines.
If you need terminal output from this combination, please download the
file on Clipper Internals here in clipper/listings. In Summer '87
there are the cout(),sout() for strings, and one for integers, which
are eminently callable from Turbo C.
A more conventional approach, and one likely to be supported in 5.0, is
to return the string to Clipper, and allow IT to print it. This avoids
use of internals, many of which are unavailable (they are no longer
public symbols) in 5.0.
Using MSC with Clipper allows you to link in library routines. You will
be duplicating much of what they ALREADY have linked in, however, which
will result in perhaps unnecessarily large code.
At some point it becomes better to write your own library functions. I
have found Turbo's support for inline assembly invaluable in this context.
For instance, in my comm and NetBIOS routines, I needed to call the
GETVECT and SETVECT services of DOS. Using inline allowed me to do this
without linking in int86 or similar library routines.
Good luck! ...John
clipper.68dejanr,
==========================
clipper/tech.questions #1841, from irae, 259 chars, Wed Sep 12 11:12:43 1990
This is a comment to message 1838.
--------------------------
For anyone who has not heard yet, Clipper 5.0 started shipping
today. Feel free to ask anything about it. I've been playing
with it for a few months and have a decent feel for it.
Ira
clipper.69dejanr,
==========================
clipper/user.forum #550, from cigaly, 1398 chars, Thu Sep 27 08:52:11 1990
There is/are comment(s) on this message.
--------------------------
TITLE: CLIPPER 5.0 STORY...
I was very interested if Clipper 5.0 is already shipped, and previous
massage is first voice about this activity...
Few days ago I was warned by my friend about an article in some German
magazine which claims that Clipper 5.0 in fact would never be
finished in Nantucket co. in USA. They claimed that Nantucket USA
give away Clipper 5.0 to Nantucket gmbh Germany, and that German
side would finish and ship product, but only in Europe, as they
are shipping Nantucket Tools II, also only to Europe.
In that article allso was written that Nantucket co USA would
return payments to all customers who buy Clipper 5.0 (in fact
upgrade) because Nantucket USA is not able to finish that
product.
I was not yet put my eyes on that article, so I am passing this
informations with lot of reserve, but as soon as I would be
able to obtain this text I would pass more details on...
It is possible that this article is a "set-up", but I think
that Nantucket USA helped a lot that possiblity by announcing
Clipper 5.0 even before some actual work on that product take
place. As I was informed Nantucket USA also never allow
that Nantucket tools II - actual product of Nantucket gmbh Germany
be intoduced to USA market, and Nantucket tools II is the
best tools package for Clipper I ever saw...
Also, if anyone else recive Clipper 5.0 I would like
to hear about it...
cigaly
==========================
clipper/user.forum #551, from pfeldmann, 638 chars, Thu Sep 27 11:15:25 1990
This is a comment to message 550.
There are additional comments to message 550.
--------------------------
Clipper 5.0 shipping....
The trade press here has reported Clipper 5.0 shipping in the USA
for the past two weeks now. As I mentioned, I received my copy
(on order & paid for several months ago) two days ago.
RE: Distribution only in Europe. One point you may find
interesting.....the plastic wrap on the package included a
message stating:
"NOT FOR EXPORT
For use in the U.S.A. and Canada only. If purchased
outside the U.S.A. or Canada call one of the following
numbers immediately: "
. . . a list of 3 numbers for the USA, UK and
W. Germany followed.
So perhaps your friend's article got the data backwards ??
==========================
clipper/user.forum #552, from jtrindle, 111 chars, Thu Sep 27 14:18:28 1990
This is a comment to message 550.
There are additional comments to message 550.
--------------------------
We received 5.0 today, and it appears to function (just have played with
it a little so far, though). ...John
==========================
clipper/user.forum #553, from irae, 1043 chars, Thu Sep 27 23:12:24 1990
This is a comment to message 550.
There are additional comments to message 550.
--------------------------
Happliy enough, most of that story is wrong.
1 The 5.0 project was bigger than they thought, and I think the
product ended up a lot different than they envisioned. this seems
common in large software projects today. Look at 123, dBASE IV,
FoxPro, OS/2, Windows, etc....
2 Clipper is shipping in the us and will probably be delayed to
Europe while the translations are done.
3 Clipper Tools 1 was pulled from US distribution due to the
overwhelmingly negative response from the local third party
developers to Nantuckets jumping into their market, and also to
the earlier Nantucket statment that they would not distribute CT!
in the US.
4 Clipper Tools 2 is a good library as is Tools 1, I own both,
but I wish I read German so I could better use CT2. It is
unclear that it's the best as there are 5 or 10 other general
purpose libraries being distributed in the US that are quite
good. But many people given the choice will buy something that
says Nantucket over anything else even if it's better because of
the implied support.
Ira
==========================
clipper/user.forum #554, from vic.sobranie, 217 chars, Fri Sep 28 00:52:09 1990
This is a comment to message 550.
--------------------------
I spoke with Nantucket the other day. They are indeed shipping, although
only upgrade orders at present. Regular shipments to retailers for new
buyers should begin this week or next, but most likely next week.
Vic
clipper.70pvoja,
Kako iz clipera postaviti sistemsko vreme
Voja
clipper.71mdasic,
Probaj ovo.
ACCEPT 'Unesi novo vreme ' TO vr
! TIME &vr
RETURN
Pozdrav mdasic.
clipper.72mpodgornik,
Ako imaš LLIBCE.LIB (MS C library), možeš koristiti priloženu
funkciju set_time(hours, minutes).
Pozdrav, Mitja
time.zipclipper.74pvoja,
Hvala, ali bi mi trebalo neko malo elegantnije resenje.
Pozdrav Voja
clipper.75pvoja,
Ne nemam llibcre.lib, kako se moze doci do nje ?
Pozdrav, Voja
clipper.76mpodgornik,
E, može i sa asemblerom. Clock se računa još u Clipper-u, onda se
preko asemblera pozove BIOS interapt 1A, funkcija 1. I to je sve.
Pozdrav, Mitja
time2.zipclipper.77asmajlovic,
Imam sljedeci problem: Zelim iz odredjenog polja pozvati mali
kalkulator i obaviti odredjene operacije i nakon zavrsene operacije
rezultat vratiti u polje iz kojeg je pozvan kalkulator. Kalkulator je
radjen u Clip. , ali se samo povezuje sa programom iz kojeg se
poziva, i ne poznaje polje iz kojeg je pozvan. Na koji nacin da
vratim rezultat, a da ne koristim .mem ili nesto slicno ?
clipper.78vkostic,
>> Kalkulator je radjen u Clip. ...
Kalkulator si radio u Clipper-u ?????
Sram te bilo Adnane. :)
Bolje se brzo vrati na C da te nebi ekskomunicirao.
Pozdrav, V.K.
clipper.79bulaja,
> Imam sljedeci problem: Zelim iz odredjenog polja pozvati mali
> kalkulator i obaviti odredjene operacije i nakon zavrsene operacije
> rezultat vratiti u polje iz kojeg je pozvan kalkulator.
Jednostavno, samo mu stavi 'KEYBOARD rezultat' pre izlaska iz
procedure. Rezultat pretvori u alfanumerik, a mozes da mu dodas i
CHR(13) (<CR>).
Kad smo vec kod ovakvih stvari, evo i jedne zgodne primene komande
KEYBOARD : ukoliko vam treba prikaz podataka u istom formatu kao i u
masci za unos (isti atributi, npr. polja baze prikazana inverzno),
samo pozovite tu istu proceduru za unos, i pre READ ubacite jedno
KEYBOARD CHR(27) (tj. <Esc>).
Pozdrav, Bulaja
clipper.80mrki,
│ Kad smo vec kod ovakvih stvari, evo i jedne zgodne primene
│ komande KEYBOARD : ukoliko vam treba prikaz podataka u istom
│ formatu kao i u masci za unos (isti atributi, npr. polja baze
│ prikazana inverzno), samo pozovite tu istu proceduru za unos, i
│ pre READ ubacite jedno KEYBOARD CHR(27) (tj. <Esc>).
└──────────────────────
Zar nije bolje, nakon procedure sa maskom napraviti:
CLEAR GETS
WAIT""
clipper.81dejanr,
==========
clipper/tech.questions #1919, from vic.sobranie, 586 chars, Fri Nov 9 21:09:38
1990
----------
TITLE: PC Mag Pans Clipper 5.0
Got the new PC magazine in the mail today. They really panned
Clipper 5.0 on first release. They mentioned applications running
up to 65% slower in 5.0 than in Summer '87. I was hoping it was
my imagination when my recompiled apps seemed to be running
slower, but I guess it was not. They also noted problems with the
memory management that have been mentioned here before.
Anyone know what the timetable is on the update diskettes Ira
mentioned earlier? Before I invest a lot more time in updating my
applications, I may want to update my compiler.
Vic
clipper.82ademiri,
Da li postoji neki library za Clipper, u kojem bi bila funkcija za
ispis teksta u grafickom modu, kao npr. outtextxy u TC i TP ?
Pozdrav, Adil
clipper.83dejanr,
==========================
clipper/tech.questions #1925, from kslater, 736 chars, Wed Nov 14 22:43:48 1990
There is/are comment(s) on this message.
--------------------------
TITLE: HP LJ IIP printer not ready..
I have an app that generates many pages of reports that are sent to an HP
Laserjet IIP. After printing the header on the top of page 5 the printer
prints part of the first line in the body of the report and then stops.
Clipper S87's error message is "PROC CHECK_PAGE LINE 253 Printer not ready..
Continue? Y/N ". (Check_page is a procedure that spits out a new page and
header when req'd.) If the user says no, he goes directly to DOS, if he
says yes, he gets the rest of the page on the screen (thus overriding the
set console off setting) and then returns to my reports menu. What is
going on? I don't get the same results working with the same data and my
trusty old Epson RX-80.
....Kevin
==========================
clipper/tech.questions #1926, from jtrindle, 399 chars, Wed Nov 14 22:48:33
1990
This is a comment to message 1925.
There is/are comment(s) on this message.
--------------------------
Is your HP connected to your serial port? Also... you may wish to touch
up the ERRORSYS proc PRINT_ERROR so that set console off is retained.. does
the rest of the page also print, or is it just to the screen? If you are
using @ says you will need to SET DEVICE TO xxx as well...
I am no expert on this subject, as my PRINT_ERROR loses the current line
but continues with the print job. ...John
==========================
clipper/tech.questions #1928, from kslater, 244 chars, Thu Nov 15 21:48:14 1990
This is a comment to message 1926.
There is/are comment(s) on this message.
--------------------------
The printer is connected to lpt1: and though I'm using @ says to output text
I've also set device to printer before hand. I just don't get why it stops
after 4 pages? The printer is not giving any error messages when clipper
stops.
....Kevin
==========================
clipper/tech.questions #1929, from jtrindle, 969 chars, Thu Nov 15 23:25:53
1990
This is a comment to message 1928.
--------------------------
The problem is that the default ERRORSYS does SET DEVICE TO SCREEN before
printing its error message.
You could solve this problem by having a public GOutDev flag... initialize
it with a plain public GOutDev at the top of program... this sets it to
.f.
Then, your errorsys would need to read:
***
* print_error(name, line)
*
FUNCTION print_error
PARAM name, line
SET DEVICE TO SCREEN
@ 0, 0
@ 0, 0 SAY "Proc " + M->name + " line " + LTRIM(STR(M->line)) +;
", printer not ready"
@ 0, 65 SAY "Retry? (Y/N)"
INKEY(0)
DO WHILE .NOT. CHR(LASTKEY()) $ "YyNn"
INKEY(0)
END
IF .NOT. CHR(LASTKEY()) $ "Yy"
QUIT
END
@ 0,0
SetOutDev(SetOutDev())
RETURN (.T.)
where....
function SetOutDev
parameters Flag
if type("Flag") == "L"
GOutDev = Flag
if Flag
set device to print
else
set device to screen
endif
endif
return(GOutDev)
Hope this is clear.... ...John
clipper.84bulaja,
Imas graficku biblioteku za Clipper, za koju znam da se moze naci na
Fenix-u (pod imenom klipgr12.zip) i na jubasu, a izmedju ostalih
stvari (a ima ih dosta) omogucava i ispis teksta na proizvoljnu
poziciju na grafickom ekranu). Biblioteka ima 60-ak K, pa je bolje
da je dignes sa navedenih BBS-ova, da ne gusimo Sezamov hard :)).
A ukoliko hoces da se zezas sa linkovanjem clippera i assemblera
(a mozes da radis to i iz C-a) imas BIOS interrupt 10, funkcija 09
koja radi isto to. Parametri su:
AH -> 09
AL -> karakter koji prikazujes
BH -> broj tekstualne stranice, za graficki rezim valjda nije bitno
BL -> atributkaraktera
CX -)broj ponavljanja kar.
i onda mu lepo das INT 10H
Frka je sto bios nije bas neki ljubitelj herkulesa, pa ces verovatno
imati tu problema. Ovo sve nisam probao, vec sam samo prepisao funkciju
iz knjige, pa ti ne mogu preneti nikakva iskustva, al pokusaj.
AL najbolje bi ti bilo da se ne zezas mnogo, vec radi sa C-om. Jes'
da MS guda prostor na disku, al sa nekoliko exe datoteka napravljenih
clipperom, to je skoro isto dugacko :).
Pozdrav, Bulaya.
clipper.85dejanr,
>> Imas graficku biblioteku za Clipper, za koju znam da se moze naci na
>> Fenix-u (pod imenom klipgr12.zip) i na jubasu, a izmedju ostalih
>> stvari (a ima ih dosta) omogucava i ispis teksta na proizvoljnu
>> poziciju na grafickom ekranu). Biblioteka ima 60-ak K, pa je bolje
>> da je dignes sa navedenih BBS-ova, da ne gusimo Sezamov hard :)).
Ako je datoteka PD, *slobodno* gušite Sezamov hard njom. Sad je hard
300 megabajta...
clipper.86bulaja,
> > Imas graficku biblioteku za Clipper, za koju znam da se moze naci na
> > Fenix-u (pod imenom klipgr12.zip) i na jubasu, a izmedju ostalih
> > stvari (a ima ih dosta) omogucava i ispis teksta na proizvoljnu
> > poziciju na grafickom ekranu). Biblioteka ima 60-ak K, pa je bolje
> > da je dignes sa navedenih BBS-ova, da ne gusimo Sezamov hard :)).
> Ako je datoteka PD, *slobodno* gusite Sezamov hard njom. Sad je hard
> 300 megabajta...
Biblioteka je Shareware, pa evo vam je.
clipper.88vkostic,
>> Biblioteka je Shareware, pa evo vam je.
File CLIPGR12.ZIP je brebacen u IBMPC direktorijum.
Hvala na prilogu.
Pozdrav, V.K. - Moderator.
clipper.90asmajlovic,
Kako da clipper program instaliram da ga moze koristůiti vise
korisnika, a da rade sa jednom bazom ?
clipper.91dejanr,
>> Kako da clipper program instaliram da ga moze koristůiti vise
>> korisnika, a da rade sa jednom bazom ?
Pa, Clipper ima gominu naredbi za rad pod mrežom - use ... exclusive,
zaključavanje base, delova baze itd. Malo previše stvari da bi se
opisalo u jednoj poruci... a piše i u uputstvu.
clipper.92asmajlovic,
znam, sam clipper i program su u redu, cak i dANALYST napravi sva
zakljucavanja, alime interesuje kako to ide saPC MOS i da li to moze
bitirjesenje da 4 korisnika u istvrijeme radesa istim programom i
istim datotekama ?
clipper.93dkovac,
Da i ja nesto dodam na racun Clipper 5.0. Vidim neke pokusaje da se
ova tema pokrene, pa da se malo pridruzim. Nemam jos mnogo iskustva sa
CLIPPERom 5.0, ali ... Kao prvo sve zajedno ( CLIPPER 5.0 + RTLINK )
traje citavu vjecnost, u odonsu na CLIPPER S'87 + TLINK 1.0. Nadalje
programi su veci za citavih 20 i nesto kilobajta. Stari program
kompajliran sa novom verzijom je duzi. Nitko me ne moze uvjeriti u
suprotno, jer licno sam isprobao, a kako i nebi. Treba samo malo
pogledati duzine lib datoteka, pa ce se vidjeti da je sve skupa duze
za kojih stotinjak kilobajta. Debuger i ostalo nisam jos uspio detaljno
prouciti, ali nadam se boljem.
Toliko kao moj mali prilog ovoj temi.
Pozdrav Dejan KOvac
clipper.94dejanr,
>> Kao prvo sve zajedno ( CLIPPER 5.0 + RTLINK )
>> traje citavu vjecnost, u odonsu na CLIPPER S'87 + TLINK 1.0.
Umesto RTLINK-a može da se koristi MS Linker koji ide uz C 6.0
ili TLINK koji ide uz Turbo C++. Tada je stvar nešto brža, ali i
dalje Summ '87 Clipper+TLINK 1.1 *dosta* brže prevode.
>> Stari program kompajliran sa novom verzijom je duzi. Nitko me ne
>> moze uvjeriti u suprotno, jer licno sam isprobao
Neće niko ni pokušati da te uverava, svi smo to primetili. Poenta je
da li je (i naročito koliko?) taj program pri izvršavanju brži?
clipper.95asmajlovic,
Napokon da se ponovo probudi clipper konferencija...
Ako ste primjetili ostavio sam poruku vezanu za visekorisnicke
programe, a s obzirom da jedino koristim clipper '87 to i nee izgleda
lose, a ne znam kako ┐│┐│Ěje p´Ü6Ž
je to rijeseno u drugim prevodiocima. Mislim da bi Force mogao biti
dosljedan protivnik clipper-u, ali je potrebno opet uciti novu
sintaxu. Inace ono sto sam vidi Force demo programa izgleda zaista
odlicno, ali tek cu to znati ako ga nabavim. Ne mislim da je clipper
los jer morate (SVI) priznati da za kratko vrijeme rijesite sve
probleme.
Izvinjavam se za malo prasine u kompjuteru...
clipper.96mperovic,
Pa, cele novogodisnje praznike sam odvojio da bi malo vise proucio
Clipper 5.0 i moram povuci moju prethodnu izjavu da me je potpuno
razocarao. Naravno da bi se shvatile neke stvari bilo je potrebno
procitati dokumentaciju i otkriti par interesantnih stvari:
1. Uvedeni su novi operatori:
a) op= - ovo je isto kao u C-u tako da mozete sada da pisete
izraz npr a += 5 ili a = a + 5
b) -- i ++ sa jednim ogranicenjem koliko sam ustanovio. Mozete da
napisete samo a++ ali ne i ++a, ipak bitno je da se
krece
2. Osim PRIVATE i PUBLIC variabli sad je moguce imati jos: STATIC i
LOCAL.
clipper.97mperovic,
U prethodnoj poruci sam zaboravio da napomenem jos jednu veoma vaznu
novost kod clipper-a 5.0, a to je da se parametri funkcijama mogu
slati osim po vrednosti (kao do sada) vec i po imenu.
Primer:
x=10
kvadrat(x)
? x // Rezultat je 10
x:=10
kvadrat(@x)
? x // Rezultat je 100
FUNCTION kvadrad(uVar)
uVar := uVar^2
RETURN NIL
clipper.98djuric,
Arhiva koja ide uz ovu poruku je skinuta sa CHANNEL-1 BBS-a.
Sadrzi primer programa u TC-u i Clipperu i objasnjenje za njihovo
povezuvanje.
Djuric
P.S.
Da li je neko probao da koristi graficke rutine iz TC-a u
Clipperu?
cliptc.zipclipper.99pvoja,
Veceras je , greskom kako to obicno biva, pronadjena funkcija
Browse() u clipper-u Summer '87. Pronadjena je u ng datoteci za
clipper.
Bilo gde da ste imali dbedit stavite browse sa istim
parametrima i sve ce vam biti jasno.
Pozdrav Pvoja
clipper.101ebusic,
Dali netko zna kako da rijesim upis
GET-a u funkciji koja je pozvana iz VALID-a?
clipper.102dejanr,
>> Dali netko zna kako da rijesim upis
>> GET-a u funkciji koja je pozvana iz VALID-a?
Savršeno ga rešiti ne možeš, što piše i u uputstvu. Kad mi baš
to treba, ja radim ovako:
flag = .t.
do while flag
flag=.f.
read
end do
....
....
negde u valid proceduri:
...
read
flag=.t.
...
Nije baš idealno ali uradi posao.
clipper.103banex,
Kako se može u CLIPPER-u zaobići prijavljivanje greške:
"Proc (name) Line (broj) Open Error (broj) RETRY(Y/N)?"
Potrebno je radi kontrole diska preko Doserror() i Errorlevel()
funkcija.
Pozdrav, - BANE -
clipper.104ebusic,
Problem se rjesava veoma lagano.
Treba samo da u svoju PRG datoteku uvrstis:
SET PROCEDURE TO ERRORSYS.PRG
Datoteku ERRORSYS.PRG dobivas uz CLIPPER.
Time ces sve poruke o greskama imati uvrstene u svoj program.
Naravno mijenjanjem ERRORSYS.PRG dobivas izvjestaje o
greskama kakve god zelis.
Pozdrav od Edvarda!
clipper.105ebusic,
}`DRAFT}
Hvala na odgovoru, ali to si mi rekao i u CHAT-u.
Problem je u tome sto nisam detaljnije objasnio problem.
U polje moram da upisem sifru organizacije.
Naravno bilo bi glupo da netko ima kraj sebe neki
sifrarnik pored kompjutera.
Radi toga pritiskom na ENTER preko VALID-a pozivam funkciju u
kojoj se nalazi DBEDIT, u kojem se odredi ime organizacije,
a u tekuci GET se vrati sifra.
Naravno to sve radi kako spada, no problem se javlja kada je
potrebno unesti ime neke organizacije koje jos nema u bazi
koju DBEDIT-ujem ili je potrebno samo promjeniti ime organizacije.
Naravno sve se opet moze rijesiti da se ta baza azurira
na nekom drugom mjestu u programu, ali priznaces da to bas i nije
zadovoljavajuce rijesenje, jer se moze desiti da se nakon upisa
svih osobnih podataka (ime i prezime, adresa, datum rodjenja etc.)
treba upisati da covjek radi u nekoj organizaciji koja jos
nepostoji u bazi.
Tada bi se taj upis morao prekinuti, nekon toga upisati novu
organizaciju pa tek onda upisati sve podatke ponovo.
Kod tvog metoda kada kazem GET i READ u funkciji, program iskoci
iz VALID-a i vrati se na GET iz kojeg sam usao u VALID.
Za sada sam to rjesio preko ACCEPT, ali to neizgleda sjajno, pa ako
se sada sjetis nekog elegantnijeg rjesenja javi se.
clipper.106majkl,
Problem 'READ unutar READ-a' (na šta se svodi i tvoje pitanje)
rešavam tako što unutar valida postavim fleg koji govori da u osnovni
READ treba ponovo ući, terminiram taj READ (uglavnom PgDn), na
izlasku testiram potrebu za posebnim akcijama (novi read, dbedit i
sl.) i kada su ove akcije završene vraćam se u osnovni read, a ako
nema zahteva za njima program ide dalje (Uh). Možda ima i boljih
rešenja, ali ovo je univerzalno (nisi ograničen na broj ovakvih
valid-a, može se ići i na više od dva nivoa...). Sve ovo izgleda
otprilike ovako:
---- program --------------
ponovo=.t.
do while ponovo=.t.
ponovo=.f.
.................
Ž.... get ...... valid V1...
..................
READ
if ponovo
........
........ && sve vrste akcija
........
keyboard(....) && nakon ponovnog ulaska u read pozicioniranje
'na pravo mesto'
endif
enddo
__________________
function V1.....
ponovo:=.t.
................
keyboard(PgDn) && prekida read u koji se kasnije ponovo vraća
return .t.
__________________
Pozdrav, Majkl
PS. Pogledaj stare poruke, o ovome je već bilo reči
clipper.107arsa,
Ima li ko library - se za clipper za rad sa grafikom . konkretno za
prikazivanje slika iz odr. formata. zainteresovan sam i za razmenu sa svim
programima vezanim za clipper
clipper.108bulaja,
ima clipgr.zip ili tako nekako, negde je u pc direktorijumima sezama.
clipper.109ebusic,
Dali netko posjeduje program sa kojim se clipperov source, .PRG datoteke, moze
obraditi tako da samo naredbe budu napisane velikim slovima, a ostalo malim.
Pozdrav od Edvarda!
clipper.110arsa,
treba mi program za clipper koji prikazuje slike uradjene u klasicnim formatima
pic,pcx i ostalim
clipper.111ppekovic,
>>Dali netko posjeduje program sa kojim se clipperov source, .PRG
>>datoteke, moze obraditi tako da samo naredbe budu napisane velikim
>>slovima, a ostalo malim.
Mislim da će ti ovaj program pomoći!
prganalz.zipclipper.112dejanr,
>> treba mi program za clipper koji prikazuje slike uradjene u
>> klasicnim formatima pic,pcx i ostalim
Jesi li pogledao mogu li ti clipgr12.zip i seize.zip iz direktorijuma
IBMPC\GRAPHICS pomoći?
clipper.113arsa,
pa probao sam i clipgr12 poseduje samo dodatne funkcije za grafiku ali i ne za
prikazivanje slike a sto se tice seiza nisam probao. ali sam u ranijeim clipper
porukama citao da neko poseduje bas funkciju za prikaz digitalizovane slike
clipper.114sgoran,
Da li neko, nesto zna o upotrebi EMS memorije sa Clipper-om.
Cini mi se da CL ima neki svoj nacin za organizaciju prvih 1MB i da
ono sto pise u uputstvu nije bas najtacnije.
Moj konkretni problem je u tome sto CL program poziva externe
programe i dok je sistem bez EMS-a sve glatko radi a sa njim nece.
Proverio sam stvar sa rezidentnim Manifestom i koliko sam shvatio
CL pretvori u stranice svu dostupnu memoriju do 1MB i vise nema
mesta ni za kakve eksterne programe. Ne pomaze ni setovanje
RUNTIME ENVIRONMENT parametara sa DOS komandom:
SET CLIPPER=[Vnnn][;Rnnn][;Ennn][;Xnnn][;Fnnn]
jer ih pod EMS-om, bar kod mene, CL ignorise. Jedini parametar koji
sigurno radi, i sa i bez EMS-a, je [Fnnn].
Verzija CL-a je Summer 87 a EMS je QEMM 5.0. Navedeni problem
nisam najbolje ispitao, tako da neke stvari koje sam naveo mozda i
nisu tacne.
Pozdrav SGoran.
clipper.115dejanr,
>> Moj konkretni problem je u tome sto CL program poziva externe
>> programe i dok je sistem bez EMS-a sve glatko radi a sa njim nece.
Kao kroz maglu se sećam da sam nekada davno imao sličan problem i da
sam ga otklonio tako što sam stavio u AUTOEXEC na toj mašini
SET CLIPPER = E000. Nisam baš siguran da je broj baš ovaj (možda treba
nula više?) a nemam pri ruci uputstvo od starog Clippera, ali vredi
probati.
clipper.116iraseta,
йȤŔMislim da bi ti mogao pomoci SNAP!. Ima puno vise toga no sto ti
treba,
izrada dokumentacije, zaglavlja, struktura itd... Program je PD ali
je
dosta dug pa ako ti zatreba poslati cu ti ga na disketi.
Pozdrav -ivan-
clipper.117ppekovic,
>>==========================
>>clipper/tech.questions #2046, from afab, 475 chars, Wed Feb 13 22:45:50
>>1991 This is a comment to message 2045.
>>There is/are comment(s) on this message.
>>There are additional comments to message 2045.
>>--------------------------
>>I've found it, if you compile a program with just one line e.g.
>>wait and then you run it with the //INFO option it will give you
>>a lot of info about memory usage and other things, BUT it will also
>>give the clipper version, 1.03 in my case. I came across this checking
>>thru the anomalies file, it's not in the manual.
>>Ira is there a calendar for Devcon, and another one, is there an
>>approved way to become a Clipper developer, I mean one that's recognized
>>by Nantucket? Ariel
Mislim da će ova informacija mnogima biti interesantna. Baš
sam upravo probao da li radi, tako što sam startovao DBU iz
clipper-a 5.0 i evo šta sam dobio:
>DBU //INFO
Clipper (R) 5.0 Rev. 1.03 USASCII
DS=5091:0000 DS avail=39KB OS avail=253KB EMM avail=1776KB
(Fixed Heap=33KB)
Paya
clipper.118arsa,
molim sve one koji rade na clipperu i slicnim alatima ako mogu da mi posalju
cenovnike sa opisom programa
u obzir dolaze aplikacije iz svih oblasti
clipper.119arsa,
da li neko zna kako najlakse da u clipper aplikaciji prikazem digitalizovane
slike ili slike bilo kog od poznatih formata
clipper.120crynik,
>> da li neko zna kako najlakse da u clipper aplikaciji prikazem
>> digitalizovane slike ili slike bilo kog od poznatih formata
Mislim da je najbolje da napišeš to u Cu ili Pascalu pa onda
linkuješ, a ako te linkovanje mrzi, bolje piši .exe pa ga zovi.
A 100% postoji neki SHOWcic kot nakog paint programa.
clipper.121arsa,
pa neznam da li smo se razumeli ja mogu da iz clippera pozovem program za
prikaz slika ali meni je cilj da mesam recimo digitalizovane slike u samu bazu
(mesanje slike i teksta baze)
clipper.122bulaja,
> pa neznam da li smo se razumeli ja mogu da iz clippera pozovem program za
> prikaz slika ali meni je cilj da mesam recimo digitalizovane slike u samu
> bazu (mesanje slike i teksta baze)
Ako mislis da strpas sliku u dbf datoteku, onda zaboravi, moguce je da
sliku strpas u bazu jedino ako je tekst (nema kontrolnih kodova) format,
a koliko znam ni jedan graficki standard nije takav. Mozes naravno da
konvertujes sliku u tekst i strpas u memo, ali ti to ne bi preporucio,
iz clippera je to moguce uraditi jedino preko binarnih datoteka.
clipper.123arsa,
ne nemislim da strpam u .dbf nego da u bazi (aplikaciji) prikazem zajedno i
tekst (podatke) i sliku. sa svim programima sa kojima sam radio mogu da pozovem
samo sliku i na tome se zavrsava (nemogu da mesam sa tekstom)
clipper.124arsa,
da li neko zna kako da recimo kada imam u bazi npr.
neki datum recimo datum polaska i datum dolaska i sad kad hocu da postavim
uslov da mi se ispisu svi ti objekti koji nisu zauzeti tj. kako da postavim
pitanje a da on u obzir uzme datum polaska i datum dolaska kao interval datuma
u okviru kojih je objekat zauzet (kako to ispitati)
clipper.125dejanr,
Bojim se da nisam najbolje shvatio pitanje, ali datumi se mogu porediti
kao i drugi podaci, dakle if dat>=datpoc .and. dat<=datkraj .... itd.
clipper.126dejanr,
==========
clipper/tech.questions #2051, from vic.sobranie, 1647 chars,
Tue Feb 19 21:09:11 1991
Comment(s).
----------
TITLE: Internal Errors
Ira and I have been conversing a bit lately about some of the
Internal Errors I've been running into. I figured it would be a
good idea to make the subject public so we can get some other
insights.
I had been getting Internal Error 1210, __dbskip(0), in one of my
applications. Now, my understanding had been that these internal
things were Nantucket's baby, so I was after them to help me fix
it. As it turns out, I had an INDEX ON line in the wrong place (I
had moved it to solve Internal Error 5320), so this one was my
problem. I just didn't look hard enough for it since it was an
Internal Error. But, as Ira says, if the error message had said,
"Corrupted Index File," I probably would have found it a lot
sooner.
The whole thing started when I was asking around for a printed
listing of the Internal error codes and their meanings. I didn't
get any response here, so I faxed Nantucket. Apparently the list
is too long to consider publishing, the codes being intended for
Nantucket's internal use and never meant to be viewed by user's
eyes.
I think it would be a great idea if, in the interim between now
and the release of an updated version, Nantucket would publish
some kind of list, at least of the most often seen codes. Most of
us could find a way around this kind of thing if we had some idea
what was causing it, but "Internal Error" and a code number is
much too cryptic.
But, hey, the bug is found, the code is fixed... perhaps I can
finish the application now. I had kind of put it on the back
burner until Nantucket came up with something. Ah, a renewed
sense of hope!
Thanks for the help, Ira!
Vic
clipper.127gww.,
Ne šaljite samo njemu šaljite u razno tako će se videti cena našeg
programerskog rada koja nije uvek baš jasna.
clipper.128mperovic,
Jos nesto o Internal error-ima u Clipperu 5.0.
Po svoj prilici doticni je pun bagova. Najveci i nepremostiv problem
je sto ima ruznu naviku da zabrlja index-e. Ovo mi se desava na
aplikaciji koja je savrseno korektno radila sa starim kompajlerom,
ali sa novim u nekim ne odredjenim trenutcima jednostavno u bazu
upise podatak, ali ga ne izazurira u indeksnoj datoteci.
Inace ima jos jedan mali problemcic sa njime, a to je ako imate neku
sekvencu u programu
while .t.
...
...
delete
...
end
pack
ako dva puta uzastopno prodjete kroz ovaku sekvencu prilikom drugog
prolaska prijavice gresku Internal error __DBPACK.
Ovaj ┬ĺ─[┐včFDÔ"▀
clipper.129ppekovic,
>>Jos nesto o Internal error-ima u Clipperu 5.0.
>>
>>Po svoj prilici doticni je pun bagova.
Pa zavisi koju verziju verije 5.0 ;))) imaš. Da bi to proverio nadji bilo
koji program koji je kompajliran Clipper-om 5.0 i startuj ga sa
<ime programa> //INFO
dobićeš oznaku verzijine verije ;))). BTW kod mene je 1.03, što mislim da
je najnovija verzija jer i na BIX-u govore tako, kao i da su u ovoj verziji
(1.03) ispravljeni mnogi bug-ovi.
Onu sekvencu koju pominješ imam bar na 3-4 mesta u programu koji upravo
radim i sve radi OK.
Paya
clipper.130arsa,
Da li je ko probao da pravi on-line bazu podataka u clipperu. ako jeste voleo
bi da mi neko dojavi kako je islo.
clipper.131arsa,
molim sve one koji su radili baze podataka pri cemu su koristili transfer
podataka modemom da mi se jave radi pomoci (bilo sa clipper naredbama za
komunikaciju sa comm portovima bilo na neki drugi nacin
clipper.132jtitov,
Uz clipper 5.0 stiže i programčić box.prg. Namena mu je da docrta senku vašim
uboksovanim menijima (koja složenica, ha). Prerađenu verziju, sa dodatom
kontrolom boje senke (peti parametar) i još nekim cakama, spreman sam podariti
ukoliko ima interesenata u obliku box.obj fajla. Vaše je samo da ulinkujete
proceduru u novonastajuće programe.
clipper.133jtitov,
I pored poboljšanja izvesnog broja naredbi u clipper-u 5.0 i dalje ne vidim
razloga zašto bi prelazio na njega. Jedan od protiv razloga je sporost dbedit
funkcije koja se vidi i na 386/25, a kamoli na XT-u. U '87-ici je to bio
treptaj oka, a ovde jutarnje ustajanje. Pucanje programa pri brisanju i
pakovanju baza, nisam primetio i pored prilično agresivnih testova.
(10 baza, svaka sa po 3 indeksa, 10000 slogova; sve baze aktivne). Iz drugih
izvora saznajem da se pomenuta pucanja dešavaju ali da to zavisi od mašine. Tj.
aplikacija na dve mašine radi O.K., a na jednoj svakih pola sata - bang.
Da li je neko probao da povezuje sa tlink-om i koji su rezultati (brzina) ako
jeste?
clipper.134jtitov,
Zamolio bih PRAVOG matematičara da definiše funkciju modul (MOD()) sa osvrtom
na slučajeve sa negativnim brojevima (mod(-10,-3)=?, mod(-10,3)=?,
mod(10,-3)=?). Razlog mom pitanju je da u clipper-u postoji nenavedena funkcija
mod() koja radi iste stvari kao i %. U uputstvu se navodi i neka sumnjiva
tabela poređenja rezultata sa mod() iz dbase-a, ali u praksi je sasvim
drugačije.
Originalno uputstvo, dodatak J, strana 4
3 % 0 ::=0 ->nema veze sa životom. Rezultat posle prevođenja i aktiviranja je
zero divide.
Postoji tamo i neki primer "poboljšane" mod funkcije (ista strana), ali sve to
pada u vodu jer se i tamo koristi %.
clipper.135dejanr,
>> Da li je neko probao da povezuje sa tlink-om i koji su rezultati (brzina)
>> ako jeste?
Ja sam probao sa onim starim Tlinkom 1.1 koji radi sa summer 87 Clipperom
i ne može. Kažu da može sa novim tlinkom (uz TC 2.0 i TC++) ali me je mrzelo
da probam.
Probao sam sa MS Linkom i radilo je jedno 30% brže nego sa onim linkerom
koji ide uz sam Clipper 5.0.
clipper.136nesic,
Funkcija MOD(A,B) bi najbolje bila definisana, kako
negde spomenu Donald E. Knuth, ovako:
MOD(A,B)=A-B*FLOOR(A,B)
gde je FLOOR(X) najveći ceo broj koji je manji ili jednak
X. Neko bi rekao da je to funkcija INT, ali ona u
različitim prevodiocima vrlo različito radi. Pošto
funkcija INT u Clipper-u samo seče decimale funkcija MOD
se može definisti ovako:
PARAMETERS A,B
PRIVATE FLOOR,X
X=A/B
FLOOR=INT(X)
IF X<0 THEN
FLOOR=FLOOR-1
ENDIF
RETURN A-B*FLOOR
Posledenje dve-tri godine dosta koristim Knutove programe
TeX i METAFONT i evo kako METAFONT interpretira funkciju
MOD.
This is pcMF, PC/XT/AT Version 1.0a (c) Personal TeX Inc.
1986 (preloaded base=plain 91.2.27) 2 MAR 1991 10:09
**\tracingonline=1
* 10 mod 3;
>> 1
* 10 mod -3;
>> -2
*-10 mod 3;
>> 2
*-10 mod -3;
>> -1
* 10 mod 0;
>>! Division by zero.
Čudno je da čak ni čuveni Turbo Pascal ne daje ovakve
rezultate za fukciju MOD. Neko će možda reći da grešim
ali ja ipak moram nekome da verujem. Donald E. Knuth je
za mene čovek od poverenja. I kao matematičar i kao
programer.
Pozdrav, Nešić
clipper.137jtitov,
Zahvaljujem na odgovoru. Ako ne bude još nekog komentara, onda
prihvatam tvoj savet i ubacujem tvoju rutinu u programe.
clipper.138crynik,
Posle par sati pronasao sam tajnu kombinaciju za tlink koja glasi:
-> tlink Žcommand.lnk
gdje je command.lnk neki file poput:
-> obj1 obj2 obj3 etc,,,CLIPPER EXTEND RTLUTILS DBFNTX TERMINAL /3/x/n/v/e
Moze se dodati i .exe i .map file name.
Preporucujem, da se ne menja redosled .libs a pre svega da se neki
.lib ne izostavi.
SET LIB= (meni) za tlink na radi pa moraju svi .libs imati puni path
(koji gore nije napisan da bi sve stalo u 1 red).
Direktiva za RMAKE (koji se isplati pozivati da drzi .objs up-to-date,
a ne i za povezivanje!) za compiler bila bi recimo:
-> clipper $< /a/w/n/m
NEMOJTE KORISTITI RTLINK ako vam bas toliko ne trebajo overlay-i
jer mozete poludeti. Tlink zavrsi (od oka) 5x brze. Neka neko
uzme stopericu, mene mrzi da cekam na rtlink.
P.S.: tlink v 3.0
clipper.139crynik,
Zasto padaju indexi ?
Indexi ponekad padnu ako se koristi CACHE program za disk. Probajte
bez tih burzoaznih stvari pa ce mozda proraditi. A ako vec koristite
CACHE najbolji je (po meni) za rad sa bazam PC POWER PACK jer kod
zapisa na disk ne stavlja podatke u memoriju nego samo preracuna
put za glave pa ODMAH zapise.
clipper.140crynik,
Ja sam presao na Clipper5 samo iz jednog razloga: jer je sad moguce
uraditi da se kot upisivanja u jedan GET *istovremeno* (t.j. posle
prehoda u iduci GET) preracunaju svi ostali GETovi).
Na primer: GET osn_cena
GET kamate
GET tax
GET ukupno
pa kad se promene recimo kamate, to se odmah vidi u polju ukupno.
To je veoma zgodno.
clipper.141gww.,
"obj1 obj2 obj3 etc,,,CLIPPER EXTEND RTLUTILS DBFNTX TERMINAL /3/x/n/v/e
Još par stvari (TLINK3) prema dokumentaciji:
1) Ako je u fajlu ne mora biti u jednom redu
2) /v neznam koliko ima smisla pošto se radi o 'debug informations' a važi
za Turbo C i TASM, a sumnjam da ima debug informacija barem ne
Borlandovih posle Clippovanja.
3) /3 ima smisla samo uz 32 instrukcije u lib/obj a ako se izostavi a u
lib/obj se ispostavi da ima takvih biće prijavljeno upozorenje. U
suprotnom (ako se ova opicja izostavi t.j. imate maximum 286 kod) možete
ubrzati linkovanje.
P.S. Ne pišem u clipperu pa me ne uzimajte zdravo za gotovo (don't take me
hello for almost :) t.j. mogući su side-efekti nekih opcija.
clipper.142nesic,
Interesantno je da ovako definisana funkcija MOD ima
argumente tipa REAL, a i sama funkcija je tipa REAL. To
znači da kao što je
MOD(10,3)=1
isto tako je i
MOD(1.0,0.3)=0.1 i MOD(0.10,0.03)=0.01
što može pomalo da smeta ali u većini slučajeva je veoma
korisno. (Čini mi se da prilikom zamene stare funkcije
MOD novom funkcijom više smeta to što je nova funkcija
tipa REAL nego što vraća ovakav rezultat.) Savetujem ti
da ipak, jednom zauvek, u svim jezicima koje koristiš,
ovako napraviš funkciju MOD i da se polako na nju
navikneš. Da bi ti bilo jasnije evo kako to izgleda kada
se koristi Pacal (u Pascalu je funkcija INT tipa REAL):
function floor(x:real):real;
begin
if x<0 then floor:=int(x)-1
else floor:=int(x);
end;
function modulo(a,b:real):real;
begin
modulo:=a-b*floor(a/b);
end;
Bilo bi lepo kada bi se u jezike kao što je Pascal,
C, Clipper, itd. mogla funkija MODULO pisati kao
operator, a ne kao funkcija, što je u METAFONT-u i TeX-u
moguće. Nešto kao: A MODULO B
Pozdrav, Nešić
clipper.143bulaja,
> Zasto padaju indexi ?
> Indexi ponekad padnu ako se koristi CACHE program za disk. Probajte
> bez tih burzoaznih stvari pa ce mozda proraditi. A ako vec koristite
> CACHE najbolji je (po meni) za rad sa bazam PC POWER PACK jer kod
> zapisa na disk ne stavlja podatke u memoriju nego samo preracuna
> put za glave pa ODMAH zapise.
Nein :), Clipper sa indkesima ne radi kao sa obicnim datotekama, vec
ih smesta u memorijske bafere, i samo sa vremena na vreme (ne znam na
osnovu cega se bira trenutak snimanja) azurira i njihovo stanje na disku.
Ovo je radio i dBIII, ali je Clipperov algoritam znatno usavrsen pa radi
brze (o ovome ima zanimljivih stvari u Straley-ovoj knjizi). Ovaj nacin
rada je znatno brzi i nema nikakve veze sa cache programima, jedini je
problem sto je velika verovatnoca da na disku ostanu neazurirani indeksi
prilikom resetovanja racunara, pa zato treba obezbediti automatsko
reindeksiranje u slucaju detektovanja nasilnog prekida rada.
Bulaya.
clipper.144nesic,
Funkcija FLOOR(X) se može u Clipper-u računati i kao
ROUND(X-1/2,0) pa se funkcija MODULO(A,B) može napisati
još kraće:
PARAMETERS A,B
RETURN A-B*ROUND(A/B-1/2,0)
Iako i u Pascal-u postoji funkcija ROUND, ovaj trik
za njega ne važi jer je u Pascal-u funkcija ROUND tipa
INTEGER. Toliko od mene o funkciji MODULO. Već sam
udavio.
Pozdrav, Nešić
clipper.145mrki,
│ SET LIB= (meni) za tlink na radi pa moraju svi .libs imati puni path
│ (koji gore nije napisan da bi sve stalo u 1 red).
└──────────────────
Navedeni problem se može riješiti postavljanjem APPENDa na direktorij
u kojem se nalaze biblioteke.
clipper.146crynik,
Jura me je ohrabrio da napišem koju reč o clipperu 5. Nisam neki
ekspert a nemam ni originalnu dokumentaciju, pa molim sve koji
primete neke gluposti da se jave.
1. Umesto dva library-a sad jih ima sedam (7), od kojih se uglavnom
povezuje 6, a pogotovo kad se radi sa Tlinkom. Od onog obečanja da
će se povezivati samo upotrebljene rutine nema ništa pa je svaki
.exe dug po nekih 300k. Zgodno. Kupiću novi HD samo za moje Clipper
programe ! To je loše.
2. Novi Clipper poznaje predkompajler identičan onome u Cu (#include,
#if(n)def,...). Poznaje i header datoteke sa neobaveznom ekstenzijom
.ch. To je dobro.
3. Konačno su razrešili i problem dostupa variablama. U starom Clipperu
na primer konstrukcija poput ove na radi:
procedure p1
save screen to scr
< ... >
if OnceMore() = .t.
do p1
else
restore screen from scr
return
endif
return
Radi se o rekurziji pa se kod ponovnog ulazka u proceduru novi screen
zapise preko starog u variablu scr, pa je onda kod izlaska nemoguce
dobiti onaj prvi zaslon bez upotrebe stackova, db fijlova i par
variabli cnt1,cnt2,...
Drugi problem nastaje recimo kad procedura p2 poziva p3 a oboje slucajno
koriste istu variablu. Naravno, p3 je poprlja i vrati p2. Program pada.
(Dali slucajno neko koristi i,j,k u FOR..NEXT ?)
Tih problema nema više:
VISIBLE LIFETIME
LOCAL where defined do kraja bloka kode
STATIC where defined uvijek
PRIVATE where defined and down do kraja bloka definicije
PUBLIC eveywhere uvijek
To je dobro.
4. Kad več pominjem deklaracije - dali vam se svidja konstrukt poput
local a, b:=0, c:="text", d:=š 1,2,3,4,5 ć
5. Clipper 5 uvodi i novi pojam: CODE_BLOK. Da ne lupam:
delete_from_array( first,last,array, š đcurrđ go curr, delete ć )
==========================
***
Ima još puno toga, pa ako nekog interesuje neka javi pa ću da napišem
koji red više. Tu so i
classes
new system of gets (samo sto je sporiji)
dinamicke (!) tabele
rutine tipa TRAVERSE za dbf i array (odlično!)
sounds-like
... ... ...
clipper.147ebusic,
Nesto sam nacuo da je iz EXE fajla moguce dobiti SOURCE od CLIPPER-a. Molio bih
nekoga tko zna nesto o tome da mi kaze dali je to istina. To govorim radi toga
sto bi mi bilo krivo da netko izvuce iz mog programa neku moju rutinu na kojoj
sam presjedio danima(nocima) da bih je usavrsio. Mislim da bi to moglo zanimati
i jos ponekog osim mene.
Thanks unaprijed!!!
clipper.148mperovic,
Koliko ja znam nemuguce je izvuci iz EXE fajla sors. Ne znam gde si
to cuo.
clipper.149dejanr,
==========
clipper/tech.questions #2096, from jpoplett, 1149 chars,
Tue Mar 12 02:07:46 1991
Comment(s).
----------
TITLE: Corrupt indexes from network applications
I've been browsing through the lore of clipper/tech.questions to find
possible causes of corrupt indexes since this problem is now plagueing
a client's network application.
So far, I have gleaned the following:
Potential Cause Likely Cure
Different versions of app.exe online Standardize on one
Ramdisk + Clipper Summer '87 SET CLIPPER=E0
Indexes not synchronized w/files. Use commit after replace, DOS
3.3 or greater.
NDX.OBJ Upgrade app to use NTX indexes.
Some of the pertinent messages are 737, 769, 774, 846, 1010, 1844
and 1768.
I am especially curious about jdruker's report. Evidently, his corrupt
index problems disappeared after he upgraded to NTX indexes. Jdruker
are you there? Can anyone else corraborate his experience?
My client's application uses NDX indexes.
Also, "cooky" refers to a problem when using R&R's report writer with
the RUN command.
My client's app does this.
Any other suggestions?
John
==========
clipper/tech.questions #2099, from irae, 47 chars, Tue Mar 12 23:09:02 1991
Comment to 2096.
----------
NDX is not compatible with networks!!!!
Ira
clipper.150ppekovic,
Izgleda da problemima sa Clipper-om 5.0 nikad kraja:
==========================
clipper/anomalies #55, from jriecke, 1072 chars, Mon Mar 18 23:20:58 1991
There is/are comment(s) on this message.
--------------------------
TITLE: This was too much..
This time it's enough.. I think I'll have to buy FoxPro or anything more
reliable than Clipper 5..
First, the screen full of chr(11) ?? Why? Then, many times the same error
in a program run on an XT clss computer:
My customers were getting "Argument error: LOG" in line 311 of
that module.. and that line contains " Ž 5,0 say 'bla bla '+str(l,3)+'blabla'
So, where's the LOG?? I never used that function..
The odd thing is that the same program ran flawlessly for about a month!
And it still works fine on my 386..
My customers begin to think that it's me who is not reliable..
How can I tell them that the compiler I use is full of bugs??
What was this one now? A VMM crash? The exe is about 390 K and the
computer has 640 K.. No strange residents..
When they started again the program, the computer got hanged/
No Ctrl-Alt-Del.. We had to press the RESET button...
After that, it worked fine, without LOG errors.. but..
How can I be sure that it won't happen again
sometime next week??
Any suggestions besides changing to another compiler?
==========================
clipper/anomalies #56, from bscherrey, 205 chars, Tue Mar 19 03:04:03 1991
This is a comment to message 55.
--------------------------
Is it possible that Clipper uses 286/386 instructions which freak out your
XT machine. Actually - I personally prefer FoxPro to Clipper anyway but hate
to use either on an XT.
later,
Ben Scherrey
Paya
clipper.151ivujanic,
Šta je sa software-om koji se u računarima obećava? Gde je
source clipper programa?
Dejanr ili neko bi mogao te autore koji tako lepo obećavaju da
malo pritisne da to i ostave u RSOFT!
Ivica
clipper.152dkovac,
Evo i mog problema sa Clipper-om 5. Konkretno radi se o RMAKE.
Nikako ne mogu napraviti makefile, koji bi RMAKE progutao. Imam fotokopirano
uputstvo, ali unutra nema niti jednog jednostavnog kompletnog primjera.
Makefile za MAKE iz prošle verzije Clipper, ne radi.
Ako netko sa time radi, evo kokretno što bi mi bilo potrebno.
Imam u direktoriju c:Đrazvoj dva fajla prvi.prg i drugi.prg. Clipper 5,
RMAKE i RTLINK imam u pathu, kao i sve lib-ove. Dakle makefile bi trebao
izgledati nešto kao:
prvi.obj: prvi.prg drugi.prg
clipper prvi
prvi.exe: prvi.obj
rtlink fi prvi
Ali RMAKE javlja grešku kod clipper prvi. Može se tu petljati nešto sa
makroima, ali nije mi baš jasno.
Samo mi nemojte reći " Pa tko joć koristi RMAKE, što ne uzmeš Micros.
MAKE, sigurno radi." .
Pozdrav Dejan KOvač
clipper.153ppekovic,
Da li neko zna sledeću stvar:
Kod postavljanja višestrukih uslova u set filter to, gde se ostavlja
korisniku da unosi proizvoljan broj uslova, neophodno je potrpati sve te uslove
u string pa onda staviti set filter to &string. Međutim, kojasu ograničenja za
taj string? Duzina stringa? (nešto mi se ne čini,jer mi grešku prijavljuje na
duini stringa od 400 chars a nekad ne prijavi na 500 i više chars). Broj
uslova? (nelogično). Šta onda? Jel ima neko ideju?
Paya
clipper.154alexa,
Ja sam totalni laik za clipper i njegove utility-je, ali
možda je u pitanju jedna banalna stvar: mnogi make-ovi traže
da im linije sa naredbama (dakle ne one koje opisuju zavisnosti,
nego one koje 'odrađuju posao') počinju sa bar jednim TAB znakom.
clipper.156crynik,
Zdi se mi, da .RMK uporabljaš napačno. Poskusi takole:
.prg.obj:
clipper $< /a/w/n/m
prvi.obj: prvi.prg
drugi.obj: drugi.prg
prvi.exe: prvi drugi
rtlink Žprvi
Sicer ti pa odsvetujem rtlink. Uporabi tlink. Če te to zanima,
poglej neko moje starejše sporočilo na to temo.
clipper.157dkovac,
Probai sam navedeni primjer, ali mi se događa slijdeće:
Fatal RMAKE/3012 Syntax error:'/a/w/n/m'
Izgleda da se nešto čudno dešava ili ovo stvarno ne radi. Inače
verzija RMAKE je 1.00. Sve mi ovo na nešto čudno miriši.
I primjer baš nije ono što bi mi trebalo, mislim da bi trebalo stajati
umjesto
prvi.obj: prvi.prg
drugi.obj: drugi.prg
nešto ovako
prvi.obj: prvi.prg drugi.prg
znači da mi ne trebaju dva obj fajla. Inače to je radilo sa starim make,
ali pravi problem je bio kako strpati sve .prg u jednu liniju. Recimo
imam 78 .prg-ova za jedan exe, te bi make tu bio pravo rješenje. Ali...
Zahvaljujem se na prošlim odgovorima.
Pozdrav, Dejan KOvač
clipper.158mpodgornik,
Još nešto mutno kod klipera5:
Zna li ko, zašto ne radi RANGE opcija, kad je u GETU elemenat niza?
Bez 'RANGE' je sve ok?!
Ži,10 get mxŠiĆ pict "###" range 0,100
(Error C2010: Incorrect number of arguments)
pozdrav, Mitja
clipper.159yums,
Zasto kad radim u dbase u programskom rezimu nemogu da ocitam kod tastera za
pomeranje kursora u levo (kod tog tastera je 19).To mi uspe tek nakon 5,6 puta
stiskanja tastera.Dok u assistu je sve u redu i kad program kompajliram u
clipperu sve radi ok.
Ako moze neko neka mi pomogne.
YUMS.
clipper.160dkovac,
>Još nešto mutno kod klipera5:
>
>Zna li ko, zašto ne radi RANGE opcija, kad je u GETU elemenat niza?
>Bez 'RANGE' je sve ok?!
>
> Ži,10 get mxŠiĆ pict "###" range 0,100
Čini mi se da bi se to što želiš moglo riješiti i na drugi način,
koji sigurno radi.!šmjesto tvojeg izraza koristi:
Ž i,10 get mxŠiĆ pict "###" valid mxŠiĆ>0 .and. mxŠiĆ<100
Sve će raditi fino.
Pozdrav Dejan KOvač
clipper.161duleizkule,
Za one koji ne vole RTLink, a ne mogu bez overlaya predl▀azem :
postaviti SET PLL=c:\clipper5\pll , ili gde je vec
RMAKE XXXX
// XXXX.rmk //
────
.prg .obj:
CLIPPER $* /m
prg1.obj : prg1.prg
prg2.obj : prg2.prg
prg3.obj : prg3.prg
prg1.exe : prg1.obj prg2.obj prg3.obj
RTLINK file prg1, prg2, prg3 /pll:base5/verbose
────
Jos kada bi opcija RTLinkhtela svaki put da radi, sve bi bilo jos br.
EXE verzija je oko 100k, ali ne radi bez PLL datoteke.
Svi programi koriste jednu te istu PLL datoteku.
Kome smeta moze "definitivnu" verziju da linkuje bez /pll opcije.
Interesuje me resenje za /pll opciju, ili , kako da se ponekad racunar na
zakoci zbog nj
clipper.162pjero,
Preuzeo sam sa sezama graficki library za CLIPPER, pa sam preradio uputstvo za
njega tako da se moze koristiti iz NORTON GUIDE-a. Uputstvo prilazem uz ovu
poruku. Zove se CLGR_UPT.ZIP i kao sto se vidi zipovano je sa PKZIP-om.
clgr_upt.zipclipper.163kvelkovski,
Pojavila mi se runtime greska:
Proc EDITIME line 473, index file corrupted (in index key)
Trazio sam po literaturi, ali nigde niceg.
Dali neko zna u cemu je stvar.
Pozdrav,
Kire
P.S. Svejedno je dali linkujem NDX.OBJ ili ne, program nece nikako da radi.
clipper.164dejanr,
Mora ponovo da se indeksira fajl, desi se po nekad kad ga krivo
pogledaš.
clipper.165ppekovic,
Mali bug u Clipper-u '87.
==========================
clipper/tech.questions #2157, from jpoplett, 975 chars, Sat Apr 20 12:41:02
1991
There is/are comment(s) on this message.
--------------------------
TITLE: Problem w/read after fractional arithmetic
I've run across a kind of peculiar problem with reads after doing
arithmetic involving fractions. I've isolated the problem to
the example shown below. If you iterate through the do while loop,
subsequent reads of the xclient_no variable are displayed as
fractions with a growing number of trailing zeroes to the right
of the decimal place. Eventually, Clipper gets some kind of a range
error.
Anybody know what's going on and how I can avoid this (I'm using
Summer '87)?
* code starts here
private finchg, xtotal, xclient_no, xdate
xclient_no = 0
xdate = date()
finchg = 0.100
do while .t.
clear
xclient_no = 0
xtotal = 145
Ž 5, 4 say "Client Number: " get xclient_no picture "ŽBZ"
Ž 7, 4 say "Statement Date:" get xdate
Ž 15, 15 say "Press Esc to exit"
read
if lastkey() = 27
exit
endif
xtotal = xtotal + (xtotal * finchg)
enddo
quit
* code ends here
Thanks for any insights.
John
John
==========================
clipper/tech.questions #2159, from drifkind, 191 chars, Sat Apr 20 14:39:33
1991
This is a comment to message 2157.
--------------------------
Wacky! It looks like a bug to me, but an easy one to work around--just
supply a numeric format in the picture (like "ŽBZ 99999"). I think most
people do that as a matter of course, anyway.
clipper.166ppekovic,
==========================
clipper/user.forum #596, from irae, 912 chars, Sat Apr 20 16:45:40 1991
--------------------------
TITLE: Clipper 5.01
Yesterday Nantucket anounced that Clipper 5.01 started shipping. I
assume this really means that the masters were cut and sent to the
duplicators, but it probably means that you ought to see the new version
in early May. It also means that the Beta testers that float around up
here are more able to talk about the new version so feel free to post
away if you have any questions.
Also I've neglected to say this because I'm the moderator and don't want
to seem to commercial, but I think one small post is acceptable.
David Rifkind and myself, your co-moderators, have started a company to
supply libraries for Clipper. Our first two products are Telepathy, a
serial communication library and The Postscript Library for Clipper. If
you get Databased Advisor you'll see a review of Telepathy on page 20 of
the May 1991 issue. If you have any questions about this feel free to
ask.
Ira
clipper.167ppekovic,
Evo jednog zanimljivog rešenja za zaobilaženje naredbe PACK
==========================
clipper/tech.questions #2163, from irae, 514 chars, Tue Apr 23 12:33:43 1991
This is a comment to message 2162.
There is/are comment(s) on this message.
--------------------------
Well, I'd recommend you don't use pack either. There are much better
ways to deal with removed records than packing. I always reuse records
in large files. When you want to delete a record either blank the key so
it floats to the top or fill it with chr(254)s so it falls to the
bottom, then when you need a new record either GO TOP or GO BOTTOM and
see if that record is availible, if so use it, otherwise append blank.
This will make your application run faster and keep disk fragmentation
to a minimum.
Ira
Paya
clipper.168jtitov,
>in large files. When you want to delete a record either blank the key so
>it floats to the top or fill it with chr(254)s so it falls to the
>bottom, then when you need a new record either GO TOP or GO BOTTOM and
Ideja nije loša, ALI, ako imaš jedno 10.000 slogova i stalno brišeš i dodaješ
nove, čini mi se da će baza i index-file da raste, raste, raste...
clipper.169ppekovic,
>>>in large files. When you want to delete a record either blank the
>>key so
>>>it floats to the top or fill it with chr(254)s so it falls to the
>>>bottom, then when you need a new record either GO TOP or GO BOTTOM
>>and
>>
>>Ideja nije loša, ALI, ako imaš jedno 10.000 slogova i stalno brišeš
>>i dodaješ nove, čini mi se da će baza i index-file da raste, raste,
>>raste...
Očito nisi do kraja shvatio ideju, naime, kada želiš da
izbrišeš neki slog popuniš ga sa space-ovima ili chr(255), kako je
i rečeno. Ali zato, kada dodaješ novi zapis, onda posle GOTO TOP
ili GOTO BOTTOM, proveriš da li je tamo "obrisani" zapis, ako
jeste, upišeš novi zapis preko njega, ako nije uradiš prosto APPEND
BLANK.
Paya
clipper.170bulaja,
> Ocito nisi do kraja shvatio ideju, naime, kada zelis da
> izbrises neki slog popunis ga sa space-ovima ili chr(255), kako je
> i receno. Ali zato, kada dodajes novi zapis, onda posle GOTO TOP
> ili GOTO BOTTOM, proveris da li je tamo "obrisani" zapis, ako
> jeste, upises novi zapis preko njega, ako nije uradis prosto APPEND
> BLANK.
Ocito ni ti nisi shvatio ideju :). Naime fora je da se polje po
kome je baza indeksirana popuni nul stringom ili chr(255) tako da
polje po indeksu bude na pocetku ili kraju datoteke. Posle toga ide
navedeni postupak, tj. provera da li se to polje moze da se koristi
ili ipak treba append blank. Ukoliko je indeks po numerickom polju,
treba ga popuniti nulom ili veeelikim brojem.
Bulaja
clipper.171ppekovic,
>>> Ocito nisi do kraja shvatio ideju, naime, kada zelis da
>>> izbrises neki slog popunis ga sa space-ovima ili chr(255),
>>kako je
>>> i receno. Ali zato, kada dodajes novi zapis, onda posle GOTO
>>TOP
>>> ili GOTO BOTTOM, proveris da li je tamo "obrisani" zapis, ako
>>> jeste, upises novi zapis preko njega, ako nije uradis prosto
>>APPEND
>>> BLANK.
>>
>> Ocito ni ti nisi shvatio ideju :). Naime fora je da se polje
>>po kome je baza indeksirana popuni nul stringom ili chr(255)
>>tako da polje po indeksu bude na pocetku ili kraju datoteke.
>>Posle toga ide navedeni postupak, tj. provera da li se to polje
>>moze da se koristi ili ipak treba append blank. Ukoliko je indeks
>>po numerickom polju, treba ga popuniti nulom ili veeelikim brojem.
Bulaja se zatambao i to 100%, osim u formi u kojoj su izložena ova dva
pasusa, u čemu se drugom razlikuju!!!!???? Tri puta sam čitao i nisam skontao
šta si novo rekao, al nema veze, takve su nam godine.
Paya
clipper.172bulaja,
>>> Ocito nisi do kraja shvatio ideju, naime, kada zelis da
>>> izbrises neki slog popunis ga sa space-ovima ili chr(255),
>>> kako je i receno.
>> Ocito ni ti nisi shvatio ideju :). Naime fora je da se polje
>> po kome je baza indeksirana popuni nul stringom ili chr(255)
>> tako da polje po indeksu bude na pocetku ili kraju datoteke.
> Bulaja se zatambao i to 100%, osim u formi u kojoj su izlozena ova dva
> pasusa, u cemu se drugom razlikuju!!!!???? Tri puta sam citao i nisam
> skontao sta si novo rekao, al nema veze, takve su nam godine.
E pa Payo, izgleda da si se ti zatambao 200% (ranije je bilo 100%,
nisam znao da se stanje tako brzo pogorsalo :). Ti si rekao da se
slogovi brisu tako sto se popunjavaju space-ovima, a ja sam rekao
da kljucno polje indeksa treba popuniti nul stringom tako da ono
ispliva na vrh indeksa. Te dve tvrdnje nemaju veze jedna sa drugom,
pa se onda sustinski i razlikuju. Trik nije da se slogovi brisu
popunjavanjem spaceovima, vec da se obrisanim slogovima index key
popuni tako da oni dodju na kraj ili pocetak baze. Posto sam siguran
da sve ovo znas, necu da ti drzim predavanja, vec se nadam da ce se
najzad srecno zatambati i primetiti razliku :).
Pozdrav, Bulaja
clipper.173majkl,
Ma shvatili ste ideju, ali pogrešno :))
Ne radi se o chr(255)
>>or fill it with chr(254)s so it falls to the bottom
;)))
Pozdrav, Majkl
clipper.174ppekovic,
>>Ti si rekao da se
>>slogovi brisu tako sto se popunjavaju space-ovima, a ja sam rekao
>>da kljucno polje indeksa treba popuniti nul stringom tako da
>>ono ispliva na vrh indeksa.
Pa pobogu Bulaja, u čemu je razlika ako polje popuniš nulčekom ili space-om
tj. chr(32). Kada index izsortira po tom polju, zapis koji ima polje sa chr(32)
iliti space-om će opet staviti na vrh index-a, osim u slučaju ako je korisnik
toliki genije da počne da ukucava ALT-0-2-1, ALT-0-0-3 i sl., pa gde si video
korisnika koji ubacuje znakove < 32 u polja!!??? Dakle, teoretski si u pravu,
ali praktično, .... :)
Paya
P.S. Zatambao si se 300% :)
clipper.175asmajlovic,
:)))), pa jasno je da ste svi u pravu, a ideja zaista nije losa.
Moram priznati da mi nije palo na pamet.
Ona primjedba da se pise 254 umjesto 255 je neumjesna ;)
Bulaja, dade li ti onaj demo u force-u ?
Vidio sam force u Sarajevu na sajmu, ali je bio dobro zapakovan i
imao cijenu od 16.000,00 Na zalost opet nije niko imao demo da vidim
kako to zaista radi ?
Izgleda da dolazi clipper 5.01 sto bi moglo biti rijesenje svih
ovozemaljskih problema vezanih uz dos...
Pozdrav svima, Adnan
clipper.176bulaja,
> Bulaja, dade li ti onaj demo u force-u ?
Uh, demo sam zavrsio jos pre skoro mesec i po, ali od onda nikako
da napisem neki readme file uz njega. Evo, potrudicu se preko vikenda
da sednem, pa ocekujte demo na Sezamu pocetkom maja :). A svi uostalom
znate da je najtezi deo razvoja programa pisanje uputstva.
> Vidio sam force u Sarajevu na sajmu, ali je bio dobro zapakovan i
> imao cijenu od 16.000,00 Na zalost opet nije niko imao demo da vidim
> kako to zaista radi ?
Sada je valjda cena 16.700. Trebalo bi u sledecim Racunarima da izadje
test Forcea, nadam se da ce ti to pomoci da vidis o cemu se radi ;).
▀ Pozdrav, Bulaja
clipper.177duleizkule,
Sta o pack naredbi kaze Tom Rett's trhelp:
When the user deletes a record, simply REPLACE all fields with empty
values (e.g., character with space, date with blank date, logical with false,
and numeric with zero). Before adding a record, seek on an empty key expression
to resue deleted records:
SEEK SPACE(10)
IF .NOT. FOUND()
APPEND BLANK
ENDIF
Ovo resenje postoji odavno ...
HHHHHH
clipper.178.bale.,
Da li neko zna kako se linkuju biblioteke pravljene sa Clipperom 87 sa
Clipper 5 programima? Ovo pitanje je postavio moj drug koji dugo radi
sa Clipperom 87, skoro je prešao na Clipper 5, ali ne može direktno da
iskoristi ranije urađeni softver. Verovatno se radi o nekoj opciji u
novom linkeru.
Regards from .bale. !
#8*)+-<
clipper.179bulaja,
> Da li neko zna kako se linkuju biblioteke pravljene sa Clipperom 87 sa
> Clipper 5 programima? Ovo pitanje je postavio moj drug koji dugo radi
> sa Clipperom 87, skoro je presao na Clipper 5, ali ne moze direktno da
> iskoristi ranije uradeni softver. Verovatno se radi o nekoj opciji u
> novom linkeru.
Stvar ne moze biti nikako u linkeru, problem je u kompatibilnosti
izmedju object fileova koje je pravio Clipper S87 i 5.0. Clipper 5.0
nemam, ali bi jedino moguce resenje bio eventualni switch kompajlera
ili obj datoteka koju treba ulinkovati sa glavnim programom ne bi li
nekako prihvatio stari obj format. A moguce i da postoji poseban extend
sistem sa stare datoteke ;). Naravno, sve ovo ukoliko nema source code
starih programa.
Bulaja
clipper.180malba,
Da li neko hoce (i moze) da mi objasni ili posalje primer kako se kreiraju
overleji pomocu PLINK86 u CLIPPER verzija Summer '87. Ja imam prevod
originalnog uputstva, ali nikako ne mogu da dobijem overleje, a potrebni su mi
da bi se program izvrsavao na PC-u sa 512 K memorije.
Znam osnovne principe kreiranja, imam i neke primere iz uputstva, ali nikako ne
mogu da dobijem overleje. :-( Help!
clipper.181bora,
Odgovor je prikačen uz poruku
Pozdrav Bora
overlay.zipclipper.182amiler,
Ima li neko ideju kako u Clipper-u napraviti funkciju za generisanje
slučajnih brojeva? Koliko znam u biblioteci ne postoji odgovarajuca
funkcija.
Alek.
clipper.183bulaja,
> Ima li neko ideju kako u Clipper-u napraviti funkciju za generisanje
> slucajnih brojeva? Koliko znam u biblioteci ne postoji odgovarajuca
> funkcija.
U Clipperu ne postoji, ali se moze pozvati iz C-a. U datoteci su
source u Turbo C-u (tj. prakticno samo Clipper interfejs za pozivanje
tih C funkcija) za funkcije randomize (koja inicijalizuje rnd
generator) i random(n) (koja vraca slucajni broj u intervalu od 0 do
n-1). Potrebno je da RND.OBJ povezes sa svojim Clipper programom i da
pri linkovanju uz clipper.lib i extend.lib pozivas i cl.lib, tj. Turbo C
biblioteku. Funkcije pozivas iz clippera kao i bilo koju ugradjenu
clipper fju.
Pozdrav, Bulaja
rnd.zipclipper.184nkbog,
Za CLIPPER-ase koji nemaju TurboC, evo SOURCE-a koji generise pseudo-
slucajne brojeve u CLIPPER-u. Generator generise sekvence od 4095
brojeva, po uniformnoj raspodeli. U potprogramu "randomize" umesto
funkcije SECONDS() moze se staviti i neka slozenija funkcija (koja
zavisi od n.pr. datuma, ili nekog drugog parametra sistema).
*
* Inicijalizacija GPSB
*
PROCEDURE randomize
PUBLIC seed
seed=SECONDS()
RETURN
*
* Generator pseudo-slucajnih brojeva
*
FUNCTION rnd
seed=(seed*7621)%65536
rand=seed/65536
RETURN rand
NB.
p.s. Onima kojima treba slozeniji GPSB, neka se jave.
clipper.185zivan,
Ako vam zatreba ime tekuceg drajva iz Clippera '87 :
Procedure pp1
If FILE("ime_dsk.dat")
ERASE ime_dsk.dat
Endif
Run VOL >> ime_dsk.dat
disk=SUBSTR(MEMOREAD("ime_dsk.dat"),20,1)+":"
Return
Brisanje je potrebno zbog moguceg multipliciranja u datoteci ime_dsk.dat
ako ▀se komanda VOL >> ime_dsk.dat izvrsi vise puta.
Na isti nacin moze se doi labela drajva : umesto 20 staviti 25 i umesto 1
staviti 8.
korog javljanja
Pozdrav Zoran IVANovic
P.S.
Izvinjavam se ako ste ovo apsolvirali ranije.
clipper.186mrki,
Clipper 5.01 se pojavio - slijede vijesti sa FidoNeta:
FROM: Ken Levitt Area # 28 (CLIPPER - ECHO-ENG)
TO: All MSG # 1106, May-3-91 4:20pm
SUBJECT: 5.01 is here, but...
5.01 arrived here today by U.S. Mail. It had a 4/30/91 postage meter stamp on
it.
It comes with a new software license and a license card. As I read the
license, I find the following two items of interest.
1. If you copy Clipper onto your hard disk, you are never permitted to back up
your hard disk because the distribution kit is the only allowable backup copy.
If you run Clipper from a floppy, you may make only one backup copy.
2. You are REQUIRED to have the license card in your "physical possession" at
ALL times when you are using Clipper. This means that if you loose the card,
you may no longer use Clipper, and if you have Clipper on a laptop computer,
you must carry the card with you where ever you go.
As for me, my copy of 5.01 will remain unused until I Nantucket decides to send
me an update for Clipper Tools One.
Ken
--- msged 2.00
* Origin: Zorro the Malamute: Pulling the message load. (1:16/390)
FROM: Daniel Docekal Area # 28 (CLIPPER - ECHO-ENG)
TO: All MSG # 1014, May-3-91 2:03pm
SUBJECT: 5.01 problems
Hello All!
Yes, 5.01 is now in normal use of "few" people and will be more because was
already mailed to all __REGISTERED__ users.
But of course, there are some problems. Because of testing it with few
applications of us few days i found some of them. And i will try to put them
there, because it can save time and patience of somebody who will jumping
through the roof after meeting them.
But first, i MUST say, that great 5.01 is really solving 99.9% of problems with
memory. BUG causing index destroy in network environment is solved too and
networking is working WITHOUT problems. They update TBROWSE objects and they
are
now more stable and seems more better, also is updated error system which is
now
more descriptive and user friendly than before.
There is new LOT of functions (mostly they were like __name funtions inside of
libraries) especially for .DBF and .NTX communication and there is first
extension to replaceable database drivers! (Maybe we all will have them sun).
At ALL i'm really satisfied at this moment and hope, that can be in next future
too. But let see in next message some problems....
Daniel
--- GoldED 2.29f-
* Origin: NETCONSULT_BBS, CLIPPER+TC2.0+TASM -> big programs (2:285/514)
FROM: Daniel Docekal Area # 28 (CLIPPER - ECHO-ENG)
TO: Rocco Cuteri MSG # 1021, May-3-91 9:54am
SUBJECT: Re: 5.01
Hello Rocco!
In a msg of <29 Apr 91>, Rocco Cuteri writes to All:
RC> Has ANYBODY received 5.01 yet??? I think Nantucket's lying again. I
RC> haven't heard anybody on ANY echoes say they got it.
There is, 7 floppies 360KB, working nice, solving lot of problems..
Daniel
--- GoldED 2.29f-
* Origin: NETCONSULT_BBS, CLIPPER+TC2.0+TASM -> big programs (2:285/514)
╔═══════════════════════════════════════════════════════════════════╗
║ JUBAS BBS - Split - +38 58 561 043 non-stop 2:2/900ŽFidonet ║
╚═══════════════════════════════════════════════════════════════════╝
clipper.187asmajlovic,
:)))))), da vidim kako to izgleda.
Ma daj posalji uputstvo za force, pa ce mi sve biti jasno :)))
Sto se tice primjera u clipper-u, i prepravke u force: uzmi za
pocetak onaj demo ts sto sam poslao. :)))
Ako budes raspolozen, nazovi me na tel. 071/202-121, 202-071, ili
ostavi svoj broj telefona pa da se cujemo.
pozdrav, Adnan
clipper.188bstevan,
Cliperaši HELP !!!
Imam verziju Clipper-a Summer '87,ali bez fajla DEBUG.OBJ.
Verovatno je to što kupujem od hakera.Znam samo da DEBUG.OBJ-fajl
koi mi treba radi lakšeg programiranja(otklanjanja grešaka)
ima dužinu 57767 bajta,a nosi datum 12.21.87.
Nadam se da neko ima ovaj OBJ-fajl i da će mi izaći u
susret.Takodje i kratko uputstvo kako se startuje i radi sa njim.
UNAPRED ZAHVALAN !!!
--BSTEVAN--
clipper.189mdasic,
> Cliperasi HELP !!!
> Imam verziju Clipper-a Summer '87,ali bez fajla DEBUG.OBJ.
> Nadam se da neko ima ovaj OBJ-fajl i da ce mi izaci u
>susret.Takodje i kratko uputstvo kako se startuje i radi sa njim.
> UNAPRED ZAHVALAN !!!
> --BSTEVAN--
Za linkovanje se koristi sledeci BAT program,koji povezuje
DEBUG sa ostalim prevedenim delovima.
********
CLS
\CLIPPER\Clipper %1
IF NOT ERRORLEVEL 1 TLINK /X %1 \clipper\DEBUG, , ,
\CLIPPER\CLIPPER \clipper\extend
********
Napomena:Poslednji red BAT programa treba dodati na pretposlednji
da bi program radio,ovde je namerno razbijen zbog osobina SEZAMA.
Kada je ovako linkovan sa ostakom programa DEBUG se iz osnovnog
programa moze pozvati funkcijom ALTD(), to znaci programski ili
rucno / pritiskom ALT i D tastera/ tokom izvrsenja programa,
kada se ovaj nadje u nekom od stanja cekanja kao sto su
WAIT , INPUT , ACCEPT , GET...
DEBUG je uradjen kao sistem menija koji imaju HELP i koji se
relativno lako savladjuju.
Fajl DEBUG.OBJ ces dobiti.
Pozdrav md.
clipper.190alexa,
> Nadam se da neko ima ovaj OBJ-fajl i da će mi izaći u
> susret.Takodje i kratko uputstvo kako se startuje i radi sa
> njim.
Ovakvi pozivi na piratovanje softvera će ubuduće biti brisani iz
konferencije pc.soft.
clipper.191bstevan,
Nadam se da ti ne odlucujes o tome koje se poruke brisu a koje ne,
iz ove konferencije !!!
A veci razlog za odgovor na tvoju poruku, je sirenje
dezinformacija da pozivam na piratovanje softvera.
Jer odgovorno tvrdim da pomocni
programi (DEBUG.OBJ , MAKE.EXE NDX.OBJ , RL.EXE),
su pomocni programi,koji olaksavaju razvoj sopstevenih
programa.
Inace mogu se ustupiti ma kom krajnjem korisniku,
bez nadoknade ili obaveze prema korporaciji Nantucket.
pozdrav,
--BSTEVAN--
clipper.192dejanr,
>> Nadam se da ti ne odlucujes o tome koje se poruke brisu a koje ne,
>> iz ove konferencije !!!
Kao moderator ove konferencije, alexa itekako odlučuje koje se
poruke brišu a koje ne.
>> A veci razlog za odgovor na tvoju poruku, je sirenje
>> dezinformacija da pozivam na piratovanje softvera.
A kako bi onda tumačio ovu rečenicu iz TVOJE poruke 7.212:
>> Imam verziju Clipper-a Summer '87,ali bez fajla DEBUG.OBJ.
>> Verovatno je to što kupujem od hakera.
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ako ovo nije piratstvo, ne znam šta jeste.
clipper.193dpozaric,
>> Nadam se da ti ne odlucujes o tome koje se poruke brisu a koje ne,
>> iz ove konferencije !!!
Ne znam čemu ovakav ton, no ako otkucaš conf welcome otkrit ćeš da je
baš alexa moderator ove konferencije i da poslije sysadma ima najviše
prava da se bori protiv piratstva.
>> A veci razlog za odgovor na tvoju poruku, je sirenje
>> dezinformacija da pozivam na piratovanje softvera.
Kupio si Summer '87 od pirata, nisi li ? Tražio si da ti netko
pošalje DEBUG.OBJ ?
>> Inace mogu se ustupiti ma kom krajnjem korisniku,
>> bez nadoknade ili obaveze prema korporaciji Nantucket.
Nisam to nigdje pročitao, no ako je istina, da li Nantucket odobrava
to pravo i onima koji su kopiju Clippera kupili od pirata ?
dp
clipper.194bstevan,
>> Nisam to nigde pročitao, no ako je istina, da li Nantucket
>> odobrava to pravo i onima koji su kopiju Clippera kupili od
>> pirata ?
Pročitaj u knjizi PROGRAMIRANJE NA CLIPPER-u,
autora-STEPHEN J.STRALEY, strana 351, na dnu zadnja tri reda.
Inace ni jedan program dali sam kupio orginal
ili od pirata nisam nikom kopirao i prodavao, i na tom podrazumeva se
zaradjivao.Zato bih želeo da se zna da onaj ko kupi od pirata
to je neko ko nema 10.000,00 din. za orgin, ali to nije
nikakvo opravdanje, jer dobijaš obicno falsh-program, kao i ja
u vezi Clippera, pa nemaš pola od orginala pa se mučiš prilikom
ozbilnijeg rada.
pozdrav,
--BSTEVAN--
clipper.195miha,
O ovoj temi je viŠe puta bilo rječi. Ne radi se samo o kliperu, radi se i o
drugim programima. Ne kažem da ja nemam piratizovanih kopija ali smatram da je
to pogrešno. I većinu sam ih izbrisao. Clipper je poseban slučaj. Zašta ti
treba clipper? Mislim, zašto ga učiš? Radi opšteg obrazovanja? Sumnjam. Cak i
da sada tako misliš, kada ga budeš dobro poznavao ne
(pardon) nećeš misliti tako, gledaćeš (prirodno) da prodaš svoje znanje (za
malo više para nego što košta Clipper. Misliš li da je to u redu?
miha.
clipper.196alexa,
Ako želite da nastavite (nastavimo) diskusiju o piratovanom softveru,
dajte da to ide u RAZNO, a da temu CLIPPER koristimo za pitanja i
odgovore vezane za programiranje u dBase-u i srodnim jezicima.
Uzgred, slažete li se da temi promenimo ime u BAZE.PODATAKA ili
nešto slično?
Molim da se ne štrecate odmah i da dokazujete da dBase & Co. nisu
baze podataka.
clipper.197dejanr,
>> Uzgred, slažete li se da temi promenimo ime u BAZE.PODATAKA ili
>> nešto slično?
Ako može "nešto slično" jer je baze.podataka mnogo dugačno, možda
samo baze?
clipper.198bulaja,
> Uzgred, slazete li se da temi promenimo ime u BAZE.PODATAKA ili
> nesto slicno?
Ne bas ;), Clipper tema je vrlo potrebna posto ovde ima dosta ljudi
koji se bave bas Clipperom. Mislim da je zato potrebno otvoriti jos
jednu temu, nek se zove baze.podataka ili database (sto je krace).
Tema bi sluzila onima koji se koriste nekim drugim programima (sem
Clippera) za rad sa bazama podataka, npr. dBase III+ i IV, Fox Base i
FoxPro, Paradox, Oracle,... a kojih takodje ima dosta. Mislim da bi
ovo bilo daleko zgodnije resenje nego ostavljanje samo jedne teme o
bazama podataka u pc.softu.
Pozdrav, Bulaja
clipper.199bstevan,
Podržavam predlog Bulaje !!!
Pozdrav,
--BSTEVAN--
clipper.200nkbog,
dBase i Clipper su ipak srodniji nego dBase i Oracle. Mozda bi trebalo
otvoriti jednu konferenciju za dBase Clipper & compatibles, a drugom
pokriti SQL-ove i ostale DBM sisteme. dBase i Fox bi sigurno ugusili ove druge.
NB.
clipper.201zivan,
Ako ste hteli da vas program u Clipper-u,Dbase-u,Fox base-u rade i na
VAX ili UNIX sistemima i josve to na VT terminalima,nista lakse jer
se pojavio paket RECITAL koji za samo 30 GBP resava sve ove probleme.
Ala je jeftino ?!
Adresa : RECITAL Corp.
85 Constitution Lane
Danvers
MA 01923
U S A
Tel : ( 508 ) 750 1066
Fax : ( 508 ) 750 8097
Pozdr Z.Ivanovic
P.S.
Zna li ko nesto vise o Clarion proizvodu.Nacuo sam neke mocne stvari
za njega.▀
clipper.202zivan,
U poruci 7.227 se pojavila sitna stamparska greska.
Radi se o 3000 GBP ( tri hiljade GB funti ) ,a ne 30 kakstoji u
poruci.
clipper.203bcetina,
Da li neko zna nešto o problemima sa SUM. Naime u prvom sabiranju
uradi kako treba ali u drugom pokazuje zvezdice? Kao da je overflow.
clipper.204bulaja,
> Da li neko zna nesto o problemima sa SUM. Naime u prvom sabiranju
> uradi kako treba ali u drugom pokazuje zvezdice? Kao da je overflow.
Zvezdice se javljaju prilikom ispisa ukoliko rezultat ne moze da
stane definisani picture. Npr. ako je broj 1000 a picture "999" bice
ispisane zvezdice.
clipper.205zivan,
Ú] >> Da li neko zna nesto o problemima sa SUM.
Stvari stoje ovako :
- licno nisam imao nikakvih problema sa doticnom naredbom ,a
ni u upustvima nista ne pise o takvim problemima.
U svakom slucaju obrisi staru vrednost dodeljenu sa SUM-om
pa ce u drugom krugu biti sve OK, sem naravno ako nije ono
sto je Bulaja spomenuo.
Probaj sa TOTAL ON , moze se slicno upotrebiti kao i SUM.
Mada iz zabave mozes i SUM da zamenis nekom svojom procedurom.
- Sto se tice same numerike,clipper se tu ponasa dosta cudno.
Imao sam veliki problema sa obicnim mnozenjem dva broja pa
kasnijim uporedjivanjem sa trecim.Tu se stvar 'vadi' sa ROUND.
Nije lose upotrebiti i SET FIXED kao i SET DECIMALS.
Pozdrav Zoran I.
P.S.
Maximalna numericka vrednost ima 19 mesta,sa najvise 18
decimalnih mesta i moze ih imati do 2048 u programu !
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,
Ne 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,
>> 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,
>>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,
Prikaz je , naravno, sa dbedit-om
clipper.213duleizkule,
Resenje 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,
Evo 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,
>> 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,
>>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,
Š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,
>> 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,
Evo 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,
>> ...
>> >>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,
>> 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,
>> ???? 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,
Probao sam DIRVIDEO.OBJ i radi baš ono što mi treba.
Hvala ti!
Slobodan
clipper.229ikarasi,
Ovako 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,
>> 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,
>>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,
Tekstova 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,
>> 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,
>>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,
>> 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,
>> 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,
Zdravo,
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,
Moj 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,
>>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,
>> 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,
> 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,
Thanx!
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,
>> Thanx!<<
Jel to važi za ideju da se stavi RETURN(.F.) !
---POZDRAV---
---BSTEVAN---
clipper.251sale,
>> >> 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,
Genifer 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,
>> 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,
│ 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,
E, 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,
ĆĆ 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,
Ł 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,
Dragi 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,
> 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,
>> 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,
Probaj MAKE!
clipper.266ikarasi,
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,
>> 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,
> 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,
>> 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,
Ŕ >> 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,
>>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"