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,
-> #2, dejanrparametri se preuzimaju kroz parameters opciju. je se to neko zeza sa
ovakvim pitanjima
clipper.5dejanr,
-> #4, zblagdan 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,
-> #6, dejanrZa 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,
-> #6, dejanrima 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,
-> #9, mpotrc 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,
-> #12, dejanrDejne, 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,
-> #14, bojanpű▀>> 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,
-> #15, dejanr>> 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,
-> #16, bojanpNe 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,
-> #18, vkosticVlado 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,
-> #19, mperovic
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,
-> #21, zeljkotSET 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,
-> #22, dejanrTo je Sezam u najboljem svjetlu!
clipper.24bpogacar,
-> #21, zeljkotNe 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,
-> #24, bpogacarProblem 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,
-> #25, dejanrDa 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,
-> #13, dejanrŠ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,
-> #29, dejanrJoš 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,
-> #31, vdjurdjic
>> 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,
-> #9, mpotrcPogledaj 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,
-> #38, mjuric>> 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,
-> #39, dejanr
:: 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,
-> #40, vkostic>> 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,
-> #43, dejanrOdgovor 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,
-> #45, dkovacČini mi se da treba koristiti " a ne ' u Clipperu. Da nije stvar u
tome?
clipper.47mpotrc,
-> #46, dejanr ű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,
-> #39, dejanrOglas 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,
-> #48, dkovac
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,
-> #55, dkovacNišta lakše!
...
drugi=pogled(prvi)
...
i to treba da radi.
Pozdrav, Mitja
clipper.57dbasaric,
-> #55, dkovacNaravno 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,
-> #52, dkovac>> 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,
-> #59, mrkiKod 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,
-> #70, pvojaProbaj ovo.
ACCEPT 'Unesi novo vreme ' TO vr
! TIME &vr
RETURN
Pozdrav mdasic.
clipper.72mpodgornik,
-> #70, pvoja
Ako imaš LLIBCE.LIB (MS C library), možeš koristiti priloženu
funkciju set_time(hours, minutes).
Pozdrav, Mitja
time.zipclipper.74pvoja,
-> #71, mdasicHvala, ali bi mi trebalo neko malo elegantnije resenje.
Pozdrav Voja
clipper.75pvoja,
-> #72, mpodgornikNe nemam llibcre.lib, kako se moze doci do nje ?
Pozdrav, Voja
clipper.76mpodgornik,
-> #70, pvoja
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,
-> #77, asmajlovic
>> 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,
-> #77, asmajlovic
> 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,
-> #79, bulaja
│ 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,
-> #82, ademiri
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,
-> #84, bulaja>> 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,
-> #85, dejanr> > 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,
-> #86, bulaja
>> 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,
-> #90, asmajlovic>> 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,
-> #91, dejanrznam, 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,
-> #93, dkovac>> 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,
-> #95, asmajlovicPa, 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,
-> #96, mperovicU 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,
-> #101, ebusic>> 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,
-> #103, banex
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!