PCPROG.2

06 Nov 1992 - 26 Jul 1993

Topics

  1. algoritmi (223)
  2. ms.dos (250)
  3. asembler (141)
  4. jezici (278)
  5. pascal (1307)
  6. cccc (752)
  7. cpp (91)
  8. clipper (1027)
  9. baze.podataka (229)
  10. razno (379)
  11. van.teme (189)
  12. basic (56)

Messages - clipper

clipper.1 ppekovic,
TBrowse, GET, MemoEdit, DBF, NTX, ... jednom rečju: CLIPPER. Paya
clipper.2 dpaun,
Bilo bi korisno za Clp braću kad bi neko ispisao ovde makar osnovne komande i opcije programa Lib.exe. Ja sam "nabadajući" uspeo da savladam problem dodavanja i oduzimanja mog Obj fajla u Extend.lib. Koje su ostale mogućnosti? Kako, na primer, da "vidim" sadržaj biblioteke? dPaun
clipper.3 banex,
Da prebacim ovo iz starog pc.prog-a, pošto mi niko nije odgovorio, a siguran sam da ima onih koji znaju odgovor ;) >> Kad smo već kod 5.01 klipera, da li neko zna u čemu je >> problem kod sledećeg primera: >> >> Source datoteke (.prg) su rađene u starom kliperu (summer 87), >> i kada ih proteram kroz kliper 5.01 tako da on sam pronalazi >> odgovarajuće, napravi jedan .obj koji se bez problema linkuje sa >> Rtlinkom. Exe program dalje radi bez problema. >> >> Ako te iste .prg datoteke kroz novi kliper proteram sa /m svičem, >> da mi napravi za svaku po jedan .obj file, tada pri linkovanju >> izbaci za svaki po jedan error i prekine rad sa porukom da su to >> kliper87 funkcije (ili tako nešto ;) ? >> >> Da li bih trebao da koristim neki svič za rtlink u tom >> slučaju, nisam se baš mnogo bavio istim? >> CU! -BANE-
clipper.4 snemcev,
Da li neko ima problema sa Clipper-ovim funkcijama SAVESCREEN i RESTSCREEN? Pišem ja danas nešto u poput x := SAVESCREEN( x1, y1, x2, y2) i kasnije RESTSCREEN( x1, y1, x2, y2, x ) i dobijem - brlju! Naime, prvi red je na svom mestu, ali svaki sledeći je za po jedno mesto pomeren udesno?!? Uz pomoć CLD-a sam pratio vrednost promenljivih sa kojima radim, ali one (kao što je i za očekivati) ne menjaju vrednost. Ali, usput sam na ? LEN( x ) dobio neočekivan odgovor - 2100!?! Po mojoj računici LEN( x ) bi trebalo biti (y2-y1+1)*(x2-x1+1)*2 što je tačno 272 bajta (4 reda u 34 kolone). A šta je sa ostatkom od 1828 bajtova? E pa posle 4 sata traženja nepostojeće greške, konačno sam pronašao u čemu je stvar - rezultat funkcije SAVESCREEN sam koristio kao inicijalizator prilikom dekleracije promenljive x ( LOCAL x := SAVESCREEN(...) ). žim promenljivoj x vrednost dodelim posle dekleracije, sve je OK, ali to ne mogu da uradim TOKOM dekleracije. Jel i ovo piše negde u dokumentaciji pod naslovom 'Napredne tehnike'? Ili bi ipak trebalo biti u delu nimalo prozaičnog naslova 'Bubice'?
clipper.5 bulaja,
│Bilo bi korisno za Clp bracu kad bi neko ispisao ovde makar osnovne │komande i opcije programa Lib.exe. └─── Pa i nema mnogo opcija - dodavanje modula u bibiloteku, njegovo uklanjanje ili izdvajanje i listanje sadrzaja. Spisak opcija dobijas sa lib /? (ili lib /help) ukoliko koristis Microsoft-a, ili sa tlib bez argumenata za Borlandov lib manager.
clipper.6 ciki,
>**> >> Ako te iste .prg datoteke kroz novi kliper proteram >**> >> sa /m svičem, da mi napravi za svaku po jedan .obj >**> >> file, tada pri linkovanju izbaci za svaki po jedan >**> >> error i prekine rad sa porukom da su to kliper87 >**> >> funkcije (ili tako nešto ;) ? >**> >> >**> >> Da li bih trebao da koristim neki svič za rtlink u >**> >> tom slučaju, nisam se baš mnogo bavio istim? >**> >> Ho! Vidis ovako, i ja sam u pocetku imao problema sa time, ali sada je sve Ok.Kako sam ja skontao(sto nemore da je tacno ali sljaka), unutar fajlova koje zelis da prevedes sa /m MORAS imati kod koji je iskljucivo smesten u PROCEDURE ili FUNKCIJE. Znaci ako u MENI fajlu imas nesto kao: MENI.PRG .... Do case case nIzbor==1 Do Knjizi() ..... žžžžžžžžžžžžžžžžžžžžžžžžžžžžžžžžžžž Ovaj fajl recimo samo poziva proceduru iz fajla SENGI_1. SEENGI_1.PRG Procedure Knjizi() local...... ........... Kada ga vezujes, imas LNK bazu sa fi MENI fi SENGI_1 ... Pozdrav Ciki!
clipper.7 ciki,
Ho! Samo preleteh pogledom odgovor, pa rekoh da i ja da probam. 1.) Ako imas masm 6.0 tamo imas nesto sto se zove quickh ili tako nesto, gde stoje lepo odgovori i kompletan spisak switch-ova. 2.) Cini mi se da je d.petrovic trazio od mene da mu ti precedem,´k pa sam mu ja to UL na mail ili je u staroj pc.prog pa pregledaj ako ti nije tesko. 3.) Nece svaki LIB da da HELP!!!! :(((( U svakom slucaju puno srece! Pozdrav Ciki!
clipper.8 ciki,
Ho! Ja sam imao problema inicijalizacijom promenljive prilikom deklaracije, samo ne sa savescreen vec sa necim II. Izgleda da prilikom local niz... nece da napravi niz dimenzija koje treba da primi u fori neke private ili slicne promenljive? Pozdrav Ciki!
clipper.9 d.petrovic,
Ă> Bilo bi korisno za Clp braću kad bi neko ispisao ovde makar osnovne Ă> komande i opcije programa Lib.exe. Ja sam "nabadajući" uspeo da Ă> savladam problem Pa osnovne su (ne koristim ga 2 meseca i već zaboravio) + add - del * move i još po nešto, ovo ti je mislim dovoljno. Možeš (ubimedasesetimkako) da izvadiš obj fajl iz biblioteke.
clipper.10 d.petrovic,
Ă> Da prebacim ovo iz starog pc.prog-a, pošto mi niko nije Pa u stvari meni nije jasno šta ti radiš :). Jedina nekompatibilnost koja mi se dešavala je da sva dodeljivanja (=) moraš da zameniš sa (:=). Što se ostalog tiče nemoj da pozivaš funkcije i procedure iz viših nivoa pa ih neće sve strpati, onda nemoj ni da koristiš /m (nikad nisam probao :)) ) i koristi obavezno (mloooogo ti olakšava) rmake. Ako ovo nije dovoljno pojasni šta te muči. Pozdrav, Dejan
clipper.11 d.petrovic,
Ă> LEN( x ) dobio neočekivan odgovor - 2100!?! Po mojoj računici Ă> LEN( x ) bi trebalo biti (y2-y1+1)*(x2-x1+1)*2 što je tačno 272 Ă> bajta (4 reda u 34 kolone). A šta je sa ostatkom od 1828 Za ceo ekran ti treba 4000 bajta. Po dva za svaki karakter koji snimaš.
clipper.12 ppekovic,
>> Pa u stvari meni nije jasno šta ti radiš :). Jedina >> nekompatibilnost koja mi se dešavala je da sva dodeljivanja (=) moraš >> da zameniš sa (:=). Što se ostalog tiče nemoj da pozivaš funkcije i Pri prevodjenju Clipper '87 source-ova na Clipper 5.01 NE MORA se umseto = stavljati :=. Jedina uočljiva nekompatibilnost je, koliko se sećam bila oko count, sum i sl. komandi gde rečima FOR i TO treba zameniti mesta. Paya
clipper.13 ciki,
>**> Pa u stvari meni nije jasno šta ti radiš :). Jedina >**> nekompatibilnost koja mi se dešavala je da sva >**> dodeljivanja (=) moraš da zameniš sa (:=) Dejo brkaš IN-LINE i jednostavno dodeljivanje. Pođi od toga što si rekao.Da li to znači da svaki a=a+b moras da zameniš sa a+=b... NARAVUžENIJE: I jedno i drugo su mogući u 5.01. >**> Što se >**> ostalog tiče nemoj da pozivaš funkcije i procedure iz >**> viših nivoa ... Što bi rekao Mika Šengi Why not? To će mu u nekim slučajevima samo smetati. >**> obavezno koristi (mloooogo ti olakšava) rmake... E ova ti valja.Ako se čovek odluči za rad sa rmake-om, evo mu značenje predefinisanih makro-a. $* - Ime rezultujuće datoteke bez putanje ili tipa $č - Ime rezultujuće datoteke sa putanjom i tipom $** - Kompletna lista imena zavisnih datoteka $< - Puno ime zavisne datoteke koja je aktivirala pravilo. Pozdrav Ciki!
clipper.14 iivanisevic,
Odgovor na 5.1045 iz stare konf. > Da li neko koristi za linkovanje neki drugi linker osim onog > koji stize uz Clipper 5.0 ('87)? Prednosti/mane? Ja koristim: Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International Syntax: TLINK objfiles, exefile, mapfile, libfiles Malo je starija verzija, verovatno se mogu koristiti i novije, ali meni radi posao višestruko brže od onog linkera koji dobijaš uz Clipper. (Inače ja još koristim Clipper ver. summer '87.) Ivan
clipper.15 d.petrovic,
Ă> Pri prevodjenju Clipper '87 source-ova na Clipper 5.01 NE MORA se Ă> umseto = stavljati :=. Mora ! Meni je to zaglupljivalo neke funkcije. Ă> Jedina uočljiva nekompatibilnost je, koliko se sećam bila oko Ă> count, sum i sl. komandi gde rečima FOR i TO treba zameniti Ă> mesta. Pa sad... meni se to nije dešavalo, ali ako ti kažeš... P R E D L O G !!! Hajde svi dajte ovamo iskistva sa prelaska sa summera 87 na 5.01. Izgleda da ima tu dosta sitnica koje jednostavno nisu sve zakačile.
clipper.16 goxx,
U clipper-u 5.01 apsolutno ne mora da se koristi inline dodeljivanje koje inače i ne postoji u s87. znači može da ostane =, a ne mora da se stavi := .
clipper.17 d.petrovic,
Ă> U clipper-u 5.01 apsolutno ne mora da se koristi inline Ă> dodeljivanje koje inače i ne postoji u s87. znači može da ostane =, Ă> a ne mora da se stavi := . Beeeeep ! Program koji sam pisao za s87 (oko 70 kb .prg) sam preveo na 5.01. Za mnoge funkcije i procedure korisim dve kratke funkcije (tada su još bile procedure) od kojih jedna pribeleži sadržaj ekrana, mesto i izgled kursora... a druga sve to vraća iz istih promenljivih. P A č NJ A !!! Dok tu nisam zamnio = sa := isti program preveden sa 5.01 je brljavio po ekranu :(((. Ko ne veruje... mogu začas replace := u = pa da vidi...
clipper.18 fric,
> P A č NJ A !!! > Dok tu nisam zamnio = sa := isti program preveden sa 5.01 > je brljavio po ekranu :(((. Ko ne veruje... mogu začas > replace := u = pa Najbolje pošalji ovamo jedno parčence koda koji nije hteo da radi sa = umesto :=. Ja sam prebacio gomilu ( >> 70 kb sorsa) koda sa S87 na 5.01 bez prepravki =, programi rade bez greške.
clipper.19 goxx,
Verujem ja tebi, ali uradi začas replace := u = pa da vidimo... goran
clipper.20 mmarkovic,
Primetio sam da je clipper postao tema 9 a bio je 5. Kako da pokupim datoteke uz poruke ( stare ). Hvala unapred. Milan Markovic
clipper.21 vili,
Da li je neko probao da poveze program u C-u kompajliran nekim drugim kompajlerom, a ne Microsoft-ovim? Vili
clipper.22 d.petrovic,
Ă> Primetio sam da je clipper postao tema 9 a bio je 5. Kako da Ă> pokupim datoteke uz poruke ( stare ). conf sh join (broj uz pc.prog) li 5 011092+/t =======-- datum datoteke
clipper.23 aleksj,
> Da li je neko probao da poveze program u C-u kompajliran > nekim drugim kompajlerom, a ne Microsoft-ovim? Probao i razocarao se u C++. :( Sve lepo radi dok je u jednostavnijoj formi npr. : ? "clipper" .... printf(' ... Ali kada dodje do grafike, e tu vec nisam znao sta da radim. Probao sam sve moguce varijante sa podesavanjima, linkerima, predproc. fajlovima... i nista! Ili javi da je prekoracio stack ili jednostavno blokira racunar. Ako je nekom poslo ovo za rukom neka javi. Zaista bih voleo da vidim resenje.
clipper.24 vcalic,
>>> Da li je neko probao da poveze program u C-u kompajliran >>> nekim drugim kompajlerom, a ne Microsoft-ovim? >> >> Probao i razocarao se u C++. :( Problem je u tome što grafičke rutine iz Borlandovog kompajlera koriste float point aritmetiku koja se nikako ne slaže sa Microsoftovim rutinama (Clipper je pisan u MSC-u). Prema tome, ako se koriste te rutine treba se držati MSC-a, i zaboraviti na Borland.
clipper.25 bulaja,
│Primetio sam da je clipper postao tema 9 a bio je 5. Kako da pokupim │datoteke uz poruke ( stare ). └─── Prvo udji u staru PC.PROG konferenciju (preko njenog broja), onda daj jedno list 9 /a /t i dobices spisak svih poruka uz koje su prikacene datoteke. Onda citaj/prenosi/.. sta ti treba po broju poruke.
clipper.26 d.petrovic,
Ă> Verujem ja tebi, ali uradi začas replace := u = pa Ă> da vidimo... Ujedno i odgovor na 9.18. Evo dva pakovanja .obj-a i jedan .rmk. Program još nisam stigao da sklopim (ostale funkcije upravo radim i testiram posebno, a i zastala je saradnja sa knjigovođom čovek trenutno nije tu... Mrzelo me da zalazim u problematiku zbog čega to tako treba, ali mislim da je problem u ovim funkcijama koje su tu. Sad verujete ? ;>>>>>> Pozdrav, Dejan
clipper.27 ppekovic,
>> Sad verujete ? ;>>>>>> Ne, dok ne vidim deo source-a koji sa 87-ce koji sa := radi a sa = ne radi. Ako tako nešto pošalješ, zasigurno ideš u bajtove, a i Straley-a bi to veoma zanimalo. Paya
clipper.28 zkrstic,
> Ali kada dodje do grafike, e tu vec nisam znao sta da radim. > Probao sam sve moguce varijante sa podesavanjima, linkerima, > predproc. fajlovima... i nista! Z.A.B.O.R.A.V.I. :(((((((((((((((((((( Teoretski neizvodljivo :(((((((((((( Na žalost :(((((((((((((
clipper.29 snemcev,
>> Za ceo ekran ti treba 4000 bajta. Po dva za svaki karakter >> koji snimaš. ?!? Moja računica se ni u čemu ne protivi toj činjenici.
clipper.30 d.petrovic,
Ă>>> Sad verujete ? ;>>>>>> Ă> Ă> Ne, dok ne vidim deo source-a koji sa 87-ce koji sa := radi a sa = Ă> ne radi. Ako tako nešto pošalješ, zasigurno ideš u bajtove, a i Ă> Straley-a bi to veoma zanimalo. Ma zaboravio sam da je zakačim uz ovu poruku... evo sad :) Naknadno dopisano :) :( Kad sam onu prvu poruku napisao planirao sam da to uradim i da zakačim fajl uz poruku. Na to sam potpuno zaboravio i greškom je poruka onako otišla. Kad sam SAD pokušao to da uradim... :(. U taj program sam naknadno ugradio naredbe karakteristične za 5.01 i sada neće ni da prevede taj program ako stavim =. Samo mi prijavi grešku u liniji: local bljak=575 :(( Pozdrav, Dejan
clipper.31 d.petrovic,
Ă> Da li je neko probao da poveze program u C-u kompajliran nekim Ă> drugim kompajlerom, a ne Microsoft-ovim? Cl 5.01 može da se zakači sa Flipper-om pa imaš neke sitnice (verovatno sve što ti treba) od grafike. C batali, izgleda da brljavi baš sa grafikom :((
clipper.32 pstojanovic,
Ne mogu nikako sa RTLinkom da napravim eksterni .OVL fajl u dinamickom nacinu rada. Evo (jednog od mnogih) primera kako sam radio : fajl: proba.prg do proba1 do proba2 do proba3 fajl: prog.prg procedure proba1 ? 'Ovo je proba1' procedure proba2 ? 'Ovo je proba2' procedure proba3 ? 'Ovo je proba3' postupak : clipper proba /m clipper prog /m rtlink fi proba,prog /DYNAMIC:1.OVL E sad, on doduse u proba.exe nakaci na kraj 1.OVL, ali to nije ono sto sam hteo, jer jednostavno hocu imati root fajl proba.exe + zasebni 1.OVL. Slicno sam pokusavao i sa skript link fajlom sa kreiranjem staticnih overleja npr. fajl proba.lnk : file proba,prog output proba.exe verbose 2 beginarea module prog section into 1.OVL endarea Ali prilikom linkovanja desava se da doduse kreira fajl 1.OVL ali sa impozantnom duzinom od 0 (nula) bajta :(. U uputstvu pise da se stat- icni overleji koriste za kodove koji su prevedeni u C-u ili ASM-u i to postujem (mada je sa PLINK86 bila druga prica), ali sta je sa dinamickim ? Izvinite na gomilanju pad-ova ali bih zaista voleo da vidim resenje. Hvala. Pozdrav pstojanovic.
clipper.33 goxx,
■ local bljak=575 :(( Ovo je iz novog clipper-a, a ne iz starog. Dodeljivanje se u deklaraciji LOCAL vrši sa := (inline dodeljivanje). U novom clipper-u ne možeš svuda da staviš znak = a, takodje ni := . Sve ima svoje mesto. Dakle: LOCAL Bljak := 575 Probaj da nadješ neki drugi primer gde Ti ne kompajlira znak jednakosti pa pošalji. Ovo postaje sve interesantnije. Goran.
clipper.34 goxx,
■ >> Za ceo ekran ti treba 4000 bajta. Po dva za svaki karakter ■ >> koji snimaš. ■ ■ ?!? Moja računica se ni u čemu ne protivi toj činjenici. Slučaj beše iz neke druge poruke. Rado bih da vidim taj program što brlja. Goran.
clipper.35 ndragan,
/ count, sum i sl. komandi gde rečima FOR i TO treba zameniti mesta. Šta, on vozi računa o redosledu opcija? Nema interni spisak prioriteta? A danas sam čuo da ima jedno brdo službenih reči koje se ne mogu skratiti na 4 slova! Je li to moguće? Da vam bude lakše, Foks nema inlajn dodeljivanje, jer su autori rešili da nije nužno da im jezik liči na C.
clipper.36 d.petrovic,
Ă> ■ local bljak=575 :(( Ă> Ă> Ovo je iz novog clipper-a, a ne iz starog. Dodeljivanje se u Ă> deklaraciji LOCAL vrši sa := (inline dodeljivanje). U novom Aloha ?!! Pa to sam i rekao. Zbog toga što sam taj program već dorađivao u kliperu 5.01 sada ne mogu, kako sam brzopleto pomislio, da napravim taj searsh/replace. Inače i dalje tvrdim... probaću čim skupim malo vremena da odvojim neki takav primer i da ga pošaljem. Pozdrav, Dejan
clipper.37 banex,
>> da napravim taj searsh/replace. Inače i dalje tvrdim... probaću čim >> skupim malo vremena da odvojim neki takav primer i da ga pošaljem. Ako sam dobro shvatio, komentar je bio da ti 'stari' clipper programi ne rade u novom jer pravi problem kod delaracije promenjljivih sa '='. Nije mi jasno gde si imao deklaraciju LOCAL u starom clipper-u??? :)))
clipper.38 d.petrovic,
Ă> Ako sam dobro shvatio, komentar je bio da ti 'stari' clipper Ă> programi ne rade u novom jer pravi problem kod delaracije Ă> promenjljivih sa '='. Nije mi jasno gde si imao deklaraciju LOCAL u Ă> starom clipper-u??? :))) Auf!!! :))) Počelo je od toga da ne rade pa sam na negodovanja odgovorio da ću ponovo to vratiti u prvobitno stanje i argumentovano dokazati. Eeeee, ali kad sam to uradio i nije hteo da prevede setio sam se da sam ja taj program posle prepravljao, dopravljao dodavao, oduzimao... :)) i da to sad ne ide. Ako nađem malkice vremena ovih dana, dok se duhovi ne smire ;), pokušaću da izvučem šta je tu zezalo stvar pa će pošaljem :) Pozdrav Dejan
clipper.39 andrejl,
>│ Eeeee, ali kad sam to uradio i nije hteo da prevede setio >│ sam se da sam ja taj program posle prepravljao, >│ dopravljao dodavao, oduzimao... :)) i da to sad ne ide. Nestalo dokaza? :) Ne znam šta je tako neobično moglo da te zakoči, a da to ne bude nešto veliko pa da zapamtiš. bye, andrejl
clipper.40 d.petrovic,
Ă> Nestalo dokaza? :) Ne znam šta je tako neobično moglo da Ă> te zakoči, a da to ne bude nešto veliko pa da zapamtiš. Grrrrrr, ja se tačno sećam kad je proradilo neznam u kojoj funkciji, proceduri, itd... je to sve proradilo i nemam puno vremena ali... dolaziš u Subotu u klub ? Da se kladimo u nameštaj sa mešanim mesom pa da dobijem malo motivacije ? O;))) Pokušaću da odvojim malo vremena ...
clipper.41 andrejl,
>│ Grrrrrr, ja se tačno sećam kad je proradilo neznam u >│ kojoj funkciji, proceduri, itd... je to sve proradilo i >│ nemam puno vremena ali... dolaziš u Subotu u klub ? Da se >│ kladimo u nameštaj sa mešanim mesom pa da dobijem malo >│ motivacije ? O;))) Ne dolazim u klub, ali možemo da se kladimo u kantu krvi ;))) bye, andrejl
clipper.42 d.petrovic,
Ă> Ne dolazim u klub, ali možemo da se kladimo u kantu krvi Ă> ;))) Ako budeš tako uporan možda i dobiješ primer ;)))))
clipper.43 ciki,
>**> Bilo bi korisno za Clp braću kad bi neko ispisao ovde >**> makar osnovne komande i opcije programa Lib.exe. Ja sam >**> "nabadajući" uspeo da savladam problem dodavanja i >**> oduzimanja mog Obj fajla u Extend.lib. Koje su ostale >**> mogućnosti? Kako, na primer, da "vidim" sadržaj >**> biblioteke? Sa velikim zakašnjenjem ali: Sintaksa LIB-a: LIB stara_b ŠopcijeĆ ŠkomandeĆ Š,ŠfajlĆ Š,nova_bĆĆĆ Š;Ć stara_b=ime "stare biblioteke" Naziv postojece datoteke ili biblioteke koju zelis da kreiras.Podrazumevana ekstenzija je LIB ;> Ako je kreiras dobices pitanjce u fori kao: Library file does not exist. create? E sad nasta da kucnes to je tvoja stvar. opcije /HŠELPĆ - vrlo kratka pomoc /IŠGNORECASEĆ - nalaze LIB-u da ignorise slucajeve prilikom poredjenja simbola. /NOEŠXTDICTIONARYĆ- (ili nesto slicno)-Kao NOE od MSLINK-a. /NOIŠGNORECASEĆ - suprotno od /IŠGNORECASEĆ /NOLŠOGOĆ - nema copyright porukica /PŠAGESIZEĆ - zadaje velicinu strane u bajtovima nove biblioteke ili menja isto kod stare biblioteke.Zadata vrednost mora biti izmedju 16-32768.Definisana vrednost je je je 16. Sa ovom opcijom mozes ograniciti veli- cinu LIB na zeljeni broj byte-ova. Recimo /PAGE:32 - 32*65536=2MB komande - manipulacija modulima u datoteci. ime moze biti sa path-om. +ime - dodaje OBJ fajl u datoteku -ime - brise fajl iz bibloteke -+ime - zamenjuje module u biblioteci ? *ime - kopira modul iz biblioteke u OBJ fajl -*ime - pomera OBJ fajl iz LIB-a u nezavistan fajl. Posle ove opcije ime.OBJ se nenalazi u LIB-u. fajl - ime fajla gde ce biti upisan izvestaj o biblioteci. sam fajl se sastoji iz 2 dela. 1. Alfabetski listing svih simbola LIB-a. 2. Lista modula LIB-a sa njihovim velicinama i lokacijama. LIB=ime biblioteke, a ne LIB.EXE. nova_b ime biblioteke koju menjas.Predefinisano je ime stare biblioteke. P.S. Sto je on spor!!!!!!!!!!!!!!! Pozdrav Ciki!
clipper.44 balinda,
Evo jednog rucnog rada (uz malu pomoć nekih poznatih Kliperasa :)) Poziva se sa: set date german CX=1 && Inicijalne koordinate (od vrha) CY=54 && (od leve strane 80-24=56-2=54 kalend() && Kalendar QUIT Sa CTRL + PgUp(PgDn) ide se po godinu unapred i unazad, a sa PgDn(PgUp) po mesec unapred (unazad)! Home vraća na tekući datum! Ako ima primedbi i sugestija ostavite poruku! kalend.obj
clipper.45 balinda,
>> Evo jednog rucnog rada (uz malu pomoć nekih poznatih Kliperasa :)) Zaboravih da kažem da ovo šalje Nesa! :))
clipper.46 andrejl,
>│ Ako budeš tako uporan možda i dobiješ primer ;))))) Možda ti ispadneš uporiji, pa se povlačim ;) Krv se ceni ovih dana :) bye, andrejl
clipper.47 vili,
...to whom it may concern... Uz poruku je PRINT.CH sa nekim, najcesce koriscenim, definicijama za EPSON kompatibilne stampace! UPOTREBA: #include "print.ch" set printer on set console off ? LEVAMAR(10),DESNAMAR(73) ? BOLDON,UNDERLON,STILOUTL,CENTARON ? "OVO JE PRIMER 1!" ? BOLDOFF,UNDERLOFF,STILNORM,CENTAROFF ? ITALON,STILSHAD,KONDENZON ? "OVO JE PRIMER 2!" ? ITALOFF,STILNORM,KONDENZOFF ? NOVASTRANA set console on set printer off Vili PS. Ja imam Seikosha SL-92 Plus pa su definicije fontova prilagodjene tom stampacu. To treba promeniti za neki drugi stampac. print.ch
clipper.48 bcetina,
>> kalend() && Kalendar >> Ako ima primedbi i sugestija ostavite poruku! Super. Još da ga poveže sa nekakvim Notepadom / Clipboardom i možda Nbatocaninovim kalkulatorom i eto nama svega u Clipperu. Obožanstveno.
clipper.49 raul,
Zdravo !!!! Da li bi neko bio ljubazan da mi kaze kako mogi ekrane koje snimim u mem promenljivu da snimim u bazu i kako da ih poslije ucitam ???? Da li bih to mogao da radim i sa grafickom bibliotekom za Clipper, koju sam dK "skinuo" odavde !!! Hvala !!! Raul
clipper.50 vili,
Ovo sam procitao u nekoj knjizi o Clipper-u pre nekih dve godine. Razvijajuci aplikaciju sa bazama podataka svaki programer bi trebalo da vodi neku vrstu dnevnika gde bi upisivao koliko vremena mu je bilo potrebno za svaki posebni deo aplikacije koju pravi. Na taj nacin bi imao uvid u to koliko mu vremena traba za odredjene delove programa tako da pri planiranju sledece aplikacije moze dobro da isplanira svoje vreme i da proceni koliko mu vremena ukupno treba da je napravi. Zatim je data sledeca tablica ili formular gde za svaku fazu programa treba upisati vreme. Nikada, naravno, nisam popunio nijednu ovakvu listu, ali mislim da bi svaki progamer, koji drzi do sebe, trebao da ima ovakvu evidenciju svog vremena. Sta mislite o ovome ? Vili 1. System Environment Generation.................. a) Screen Design............................. 1. Help................................. 2. Color................................ 3. Menus................................ b) Application Parameters.................... 1. Passwords............................ 2. Borders.............................. 3. Check Numbers........................ 4. Miscellaneous........................ 2. Creating Databases and Indexes................. a) Fields.................................... b) Memos (If Applicable)..................... c) Key Fields................................ d) Relations................................. 3. Data Control................................... a) Entering.................................. b) Editing................................... c) Viewing................................... d) Deleting (IF Applicable).................. 4. Calculation.................................... a) Totaling.................................. b) Summing and Averaging..................... c) Balancing................................. 5. Reporting and Listing.......................... a) Screen.................................... b) Printer................................... c) File...................................... 6. System Maintenance............................. a) Sorting and Reindexing.................... b) Backing up and Restoring Data............. c) Data Cleanup.............................. d) Reconfiguring System...................... e) Miscellaneous............................. 7. Data Interface (If Applicable)................. a) Importing................................. b) Exporting................................. c) Across Systems............................ 8. Multiuser Control (If Applicable).............. 9. Testing........................................ 10. Documentation..................................
clipper.51 aleksj,
> Da li je neko probao da poveze program u C-u kompajliran > nekim drugim kompajlerom, a ne Microsoft-ovim? Probao i razocarao se u C++. :( Sve lepo radi dok je u jednostavnijoj formi npr. : ? "clipper" .... printf(' ... Ali kada dodje do grafike, e tu vec nisam znao sta da radim. Probao sam sve moguce varijante sa podesavanjima, linkerima, predproc. fajlovima... i nista! Ili javi da je prekoracio stack ili jednostavno blokira racunar. Ako je nekom poslo ovo za rukom neka javi. Zaista bih voleo da vidim resenje.
clipper.52 bulaja,
│Da li bi neko bio ljubazan da mi kaze kako mogi ekrane koje snimim │u mem promenljivu da snimim u bazu i kako da ih poslije ucitam ???? └─── Ako mislis na tekstualne ekrane dobijene sa SaveScreen(), u bazu mozes da ih trpas u memo polja, mada ne znam gde bi ti trebao SaveScreen() vezan sa slogovima baze :).
clipper.56 ratman,
Kada u user-funkciji za DBEDIT() koristim REPLACE...WITH, vrednost promenljive nece nikako da se replacuje, ostaje uvek nula. Pgm izgleda ovako: use pats dbedit (1,1,20,78,,'user') // ******** USER FUNKCIJA ZA KONTROLU DBEDIT-a function user parameters mod,kol if mod=0 return 1 elseif mod=3 return 0 endif tip=lastkey() // // // case tip=22 && INS:dodaj blanko zapis append blank go bottom zz=lastinc() replace nopat with zz && STA JE SA OVIM? return 1 case tip=7 && del:brisi zadnj zapis go bottom delete pack return 2 otherwise return 1 endcase // // // function lastinc() &&najveci broj+1 linc=-1 go top do while .t. if nopat>linc linc=nopat endif skip if eof(); exit; endif enddo @22,1 ;? linc,recno() return (++linc) da li je u pitanju vrednost koja se vraca dbedit-u?
clipper.57 ratman,
Mogu li se i kako vrednosti polja u bazi uopste menjati pomocu dbedit() bez pomocne-user funkcije (Clp5.01)? Meni se cini da ne.
clipper.58 ssasa,
Ko zna (ili još bolje ima) nešto o Clipperu for Windows. Znam samo da se pojavio i da obećava ali ništa detaljnije. Naime kako sam nabavio Superbase oduuševio sam se elegancijom i brzinom pravljenja aplikacija, ali sam se ubrzo razočarao nefleksibilošću samog paketa. Zbog toga se nadam u Clip. for Win.
clipper.59 bulaja,
│Kada u user-funkciji za DBEDIT() koristim REPLACE...WITH, vrednost │promenljive nece nikako da se replacuje, ostaje uvek nula. ... │da li je u pitanju vrednost koja se vraca dbedit-u? └─── Da. Posle replace-a si vracao dbEdit-u vrednost 1 (sto znaci da dbEdit nastavi kao da se nista nije desilo), a treba da se vrati 2 (osvezi sadrzaj ekrana).
clipper.60 andrejl,
>│ Nikada, naravno, nisam popunio nijednu ovakvu listu, ali >│ mislim da bi svaki progamer, koji drzi do sebe, trebao da >│ ima ovakvu evidenciju svog vremena. Sta mislite o ovome ? Nije loše, mada ne znam kako bih sebe naterao da tako nešto radim :) Pitanje je i koliko vredi, mislim da nije moguće uopštiti delove programa u toj meri jer u jednom slučaju to može biti neki mnogo složeniji postupak, a u drugom trivijalni te bi neki prosek vremena mogao biti prilično varljiv podatak. bye, andrejl
clipper.62 ratman,
Sta je pogresno u ovom pgm.u? Jednostavno nece da REPLACE-uje vrednost polja sa brojrm koji dobija od funkcije lastinc(). Koliko sam ga isprobao, funkcija radi dobro, ali posle replace ostaje 0 u polju. Kada u liniji sa REPLACE umesto imana funkcije napisem neki broj, zamislite, on ga upise! Stvarno me IZLUDJUJE! set confirm on set date british cls use pat1 dbedit (1,1,20,78,,'user') // ******** USER FUNKCIJA ZA KONTROLU DBEDIT-a function user paramete╔Śţ mod,kol // ******** PROVERA PARAM. PRIMLJENIH IZ DBEDIT-a if mod=0 return 1 elseif mod=3 return 0 endif // ******** STA JE PRITISNUTO? (user fn dbedit) tip=lastkey() do case case tip=27 return 0 case tip=13 && ENTER: edituj polje... set cursor on g=field(kol) @row(),col() get &g read set cursor off return 1 case tip=22 && INS:dodaj blanko zapis append blank replace nopat with lastinc() return 2 case tip=7 && del:brisi zadnj zapis delete pack && treba li pakovanje? return 2 otherwise return 1 endcase // KRAJ USER FUNKCIJE ZA KONTROLU DBEDIT-a function lastinc() linc=-1 go top do while .t. if nopat>linc linc=nopat endif skip if eof(); exit; endif enddo linc++ return (linc) Pozdrav, Dejan
clipper.63 nbatocanin,
(ODGOVOR NA 5.1026 PC.PROG, ndragan) > / Pravim rečnik podataka, pa se trudim da u programu ne > / koristim trenutna polja, već opise u rečniku. Mada i ovo > / nije baš potpuno > > Zvuči zanimljivo. Kako izgleda primer u sorsu? Mislim samo > par redova. Uh, ova poruka mi je nekako promakla, tek sam je juče slučajno pronašao. Da čovek ne pomisli da neću namerno da mu odgovorim što ne koristi Clipper ;). Evo 'vako: ideja mi je bila da se na svako polje referišem samo nazivom preko specijalne funkcije (na primer, Get ("SUMA")), a ne sa RACUNI->SUMA ili nešto još komplikovanije. Kada bi se nešto promenilo (na primer, SUMA se sad racuna kao zbir RACUNI->SUMA + POREZ->DODATAK ili nešto treće, ali program se ovoj vrednosti obraća preko rečnika, pa je dovoljno samo tamo promeniti: RACUNI->SUMA u: RACUNI->SUMA + POREZ->DODATAK Na žalost, performanse ovakvog rešenja su veoma diskutabilne, a i postojeći programi bi morali da pretrpe veće izmene. Zato čekam novi Clipper sa objektima, jer će ovo biti daleko lakše tamo ugurati :)
clipper.64 vili,
Ň═══════════════════════════════════════Ş │ELEVEN RULES FOR SUCCESS IN PROGRAMMING│ ď═══════════════════════════════════════ż ┌───────────────────────────────────────────────────────────────────────┐ │1. WRITE FIRST IN EASY-TO-UNDERSTAND PSEUDO-CODE, THEN TRANSLATE INTO │ │ CLIPPER CODE │ └───────────────────────────────────────────────────────────────────────┘ - Do not stop with your first draft. - Do not patch bad code; rewrite it. - Do not strain to reuse code; just reorganize it. - Make sure special cases are really special cases. - Write and test a big program in small pieces. - Do not stop at one bug; find others. - Watch out for off-by-one errors: - 10.0 times 0.1 is hardly ever 1.0: test to make sure calculations are correct. - Do not compare floating point numbers just for equality. - Be in control. Measure the effect of any change before making the change for the sake of efficiency. ┌───────────────────────────────────────────────────────────────────────┐ │2. WRITE CLEARLY │ └───────────────────────────────────────────────────────────────────────┘ - Do not be too claver. - Make your programs read from top to bottom. - Let the data structure the program. - Do not diddle with code to make it faster; find a better algorithm. - Format a program to help the reader understand it. - Indent code to show the logical structure of a program. ┌───────────────────────────────────────────────────────────────────────┐ │3. SAY WHAT YOU MEAN, SIMPLY AND DIRECTLY │ └───────────────────────────────────────────────────────────────────────┘ - Make sure your code 'does nothing' gracefully. Too often developers, when asked what their routine does, say 'it does nothing'. If this is the case, check it again. 'Does nothing' code has a tendency to do plenty! - Program defensively. - Make it right before making it faster. - Keep it right when making it faster. - Make it clearer before making it faster. - Do not sacrifice clarity for small gains in 'efficiency'. - Keep it simple to make it faster. ┌───────────────────────────────────────────────────────────────────────┐ │4. MODULARIZE │ └───────────────────────────────────────────────────────────────────────┘ - Use subroutines. - Make the coupling between modules clearly visible. - Each module should do one thing and do it well. - Use recursive procedures for recursively defined structures. ┌───────────────────────────────────────────────────────────────────────┐ │5. USE LIBRARY FUNCTIONS │ └───────────────────────────────────────────────────────────────────────┘ - Replace repetitive expressions with calls to a common functions. ┌───────────────────────────────────────────────────────────────────────┐ │6. AVOID TOO MANY TEMPORARY VARIABLES │ └───────────────────────────────────────────────────────────────────────┘ - Choose variable names that cannot be confused. - Choose procedure names that describe their basic purpose. - Choose function names that describe their basic puprose. - Choose field names that make the program simple. - Use variable names that mean something. - Create labels that mean something. ┌───────────────────────────────────────────────────────────────────────┐ │7. LET THE MACHINE AND LANGUAGE DO THE DIRTY WORK │ └───────────────────────────────────────────────────────────────────────┘ ┌───────────────────────────────────────────────────────────────────────┐ │8. AVOID UNNECESSARY BRANCHES │ └───────────────────────────────────────────────────────────────────────┘ - Do not use conditional branches as a substitute for a logical expression. - Use IF..ELSE..ENDIF to emphasize that only one of two actions is to be performed. - Use the fundamental control flow constructs. - Follow each division and its associated action as closely as possible. - Aviod multiple exits from loops. - Use the good features of the language and avoid the bad ones. - Use data arrays to avoid repetative control sequences. ┌───────────────────────────────────────────────────────────────────────┐ │9. USE 'DO WHILE' AND INDENTING TO DELIMIT GROUPS OF STATEMENTS │ └───────────────────────────────────────────────────────────────────────┘ - Use DO and DO WHILE to emphasize the presence of loops. - Use DO CASE to implement multiway branches. ┌───────────────────────────────────────────────────────────────────────┐ │10. INITIALIZE ALL VARIABLES BEFORE USE │ └───────────────────────────────────────────────────────────────────────┘ ┌───────────────────────────────────────────────────────────────────────┐ │11. MAKE SURE COMMENTS AND CODE AGREE │ └───────────────────────────────────────────────────────────────────────┘ - Do not just echo the code with comments. Make the comments count! - Do not comment bad code; rewrite it! - Do not overcomment. ----------------------------------------------------------------------------- PS. Ovo sam procitao u nekoj knjizi o Clipper-u. Vili
clipper.65 banex,
>> Ako mislis na tekstualne ekrane dobijene sa SaveScreen(), u bazu >> mozes da ih trpas u memo polja, mada ne znam gde bi ti trebao Takođe, obrati pažnju na bug za savescreen() i restscreen(), imaš file negde na sezamovom dir-u.
clipper.66 dejanr,
>> 1. WRITE FIRST IN EASY-TO-UNDERSTAND PSEUDO-CODE, THEN TRANSLATE INTO >> CLIPPER CODE Da li neko od prisutnih to stvarno radi? Inače, moj najgori greh je što imam običaj da istu promenljivu koristim za razne stvari :( Recimo, treba mi negde da nešto sačuvam, i prosto mi nekako žao da za to otvaram novu promenljivu, nego pogledam malo gore ima li neka koja je odigrala ulogu pa je onda iskoristim. Kažu da je ovo mnogo ružno međutim meni nikad nije pravilo smetnje.
clipper.67 vili,
> Sta je pogresno u ovom pgm.u? Nista. Kod mene radi! Vili
clipper.68 zkrstic,
>>> 1. WRITE FIRST IN EASY-TO-UNDERSTAND PSEUDO-CODE, THEN TRANSLATE >>> INTO CLIPPER CODE > > Da li neko od prisutnih to stvarno radi? Kuku :)))) Nemam bre ja toliko vremena na bacanje ;))))) Btw, imam istu knjigu, i ima stvarno dobrih ideja oko načina pisanja programa. Al' ovo... bilo bi malo previše ;)))) Zkr :)
clipper.69 jtitov,
> razocarao nefleksibiloscu samog paketa. Zbog toga se nadam > u Clip. for Win. Bolje je da se nadas u FoxPro for Windows. NE samo da je bolji program nego ga jos i MS razvija...
clipper.70 jtitov,
> Da li neko od prisutnih to stvarno radi? Naravno. Mislim da nema goreg programiranja od programiranja "direktno u ekran". Lepo prvo u nekakvom pseudo-kodu, pa debug, pa trk u source. Inace sto se tice koriscenje jedne varijable, mislim da je to ostalo iz vremena "slabih" masina (dzepni Sharp, Spectrum,...) kada je svaki byte bio vazan. Danas dajem prednost citljivom kodu nego ustedi od par (kilo)bajtova.
clipper.71 andrejl,
>│ Inače, moj najgori greh je što imam običaj da istu >│ promenljivu koristim za razne stvari :( Recimo, treba mi >│ negde da nešto sačuvam, i prosto mi nekako žao da za to >│ otvaram novu promenljivu, nego pogledam malo gore ima li >│ neka koja je odigrala ulogu pa je onda iskoristim. Kažu >│ da je ovo mnogo ružno međutim meni nikad nije pravilo >│ smetnje. Da, i ja koristim takve "slave" :) promenljive koje su tu uvek da urade neki sitan posao. Najveći problem mi je kako da razmodulišem program. Pre sam pisao mnogo kratkih modula, a sada manje dužih, (prevashodno zbog lepšeg rada sa procedurama u Cl 5), ali uvek mi se čini da grešim. bye, andrejl
clipper.72 bulaja,
Postoji li neki nacin da se funkciji parametri prenesu po imenu (reference), a da se ona poziva u "normalnom" obliku f(), a ne sa DO..WITH..?
clipper.73 nbatocanin,
Ali ako ekran nema simbol Chr(26) (EOF)!
clipper.74 nbatocanin,
> Mogu li se i kako vrednosti polja u bazi uopste menjati > pomocu dbedit() bez pomocne-user funkcije (Clp5.01)? Može, korišćenjem SET KEY K_ENTER TO Change().
clipper.75 nbatocanin,
> Ko zna (ili još bolje ima) nešto o Clipperu for Windows. > Znam samo da se pojavio i da obećava ali ništa detaljnije. Grafička verzija Clipper-a će se zvati Aspen i koliko znam nije sigurno da će biti pod Windows-ima, možda će imati svoj sistem za interakciju. Još uvek je u razvoju.
clipper.76 dejanr,
[Odgovor na PC.PROG 5.1013, ndragan] Malo sam "čačkao" po slovim2.arj ne bi li ih prilagodio za "Bajtove lične prirode" ali opet ima problema :( Na primer, broj 99 ispiše kao deveTdeset devet.
clipper.77 zkrstic,
>> Ko zna (ili još bolje ima) nešto o Clipperu for Windows. >> Znam samo da se pojavio i da obećava ali ništa detaljnije. > > Grafička verzija Clipper-a će se zvati Aspen i koliko znam nije > sigurno da će biti pod Windows-ima, možda će imati svoj sistem za Vidiš, ja, ukoliko nisam totalno odlepio, što i neij daleko od istine ;) sam sto posto siguran da je u najavi za Aspen, stojalo da radi pod MS Windows-ima. Btw. još nije izašao. A u istoj najavi se pominje i Clipper ver 6.0, potpuni kompajler (mali prg = mali exe) kao i potpuna obje- ktna orijentacija (DJ, samo mi to treba u životu;) ) i još kojekake' kerefeke. Izdavač: New_guy_in_charge: Computer Associates Zkr
clipper.78 dejanr,
>> Grafička verzija Clipper-a će se zvati Aspen i koliko znam nije >> sigurno da će biti pod Windows-ima, možda će imati svoj sistem za >> interakciju. Još uvek je u razvoju. ========== clipper/user.forum #764, from nightfly, 571 chars, Thu Dec 3 01:35:02 1992 ---------- TITLE: CA-Clipper 5.2 Today I read an article about CA's new Clipper 5.2. If you use any other xbase product, you get Clipper 5.2 + dbFast or Clipper Tools or Clipper/Compiler Kit for JUST 199 bucks. If you are a registered Clipper user you can get the upgrade (only) for 149 dollars, and they don't mention any bonus package like Clipper Tools.. Is this a joke or what? It's cheaper for me to buy Clipper 5.2 + Clipper Tools than getting an upgrade? If someone has the time, would you please find out at 1-800-225-5224. I can't call 800 numbers from Argentina. Thanks.
clipper.79 ndragan,
/ Evo 'vako: ideja mi je bila da se na svako polje referišem samo / nazivom preko specijalne funkcije (na primer, Get ("SUMA")), a ne sa Ima gde treba, a ima gde ne. To već ne spada u nekakav rečnik podataka, ni u to šta treba/može da sadrži, već u onaj drugi deo, lokalizovanje verzijskih razlika u kritične rutine. Kod nas se, recimo, kod kalkulacije radi jedno banalno "Repl next 1 velecena with velcena()"; i to je standardna rutina za upis; rutina velcena.prg se razlikuje od mušterije do mušterije, i sadrži metod ("šta se koga tiče kako ja obračunavam"). / Da čovek ne pomisli da neću namerno da mu odgovorim što ne / koristi Clipper ;). Ma jok, ovo je čista fjordovska obaška :). I ja tako kasnim na neke stvari, a na neke ne :). NHF, vidim da opet idemo paralelnim ulicama.
clipper.80 ndragan,
/ ima li neka koja je odigrala ulogu pa je onda iskoristim. Kažu da je / ovo mnogo ružno međutim meni nikad nije pravilo smetnje. Bitno je da znaš koja je. Kod nas ima jedna, iz istorijskih razloga nazvana _rc, koja bi mogla da se zove void ili kleenex - ne preporučuje se da se smatra da je nešto sačuvala duže od tri reda (u svakoj trećoj rutini se spominje i svuda nešto radi). I to radi. />> 1. WRITE FIRST IN EASY-TO-UNDERSTAND PSEUDO-CODE, THEN TRANSLATE />> INTO CLIPPER CODE / Da li neko od prisutnih to stvarno radi? Pseudo kod držim u glavi, i to na srpskom (dobro, ajd, foks-lalinski), a... 'clipper code' nit upražnjavam, nit upunjavam :)
clipper.81 bdm.,
## (reference), a da se ona poziva u "normalnom" obliku f(), a ne sa f(@a, @b)... BDM.
clipper.82 ppekovic,
>> append blank >> go bottom >> zz=lastinc() >> replace nopat with zz && STA JE SA OVIM? >> return 1 Onako usput, šta će ti go bottom posle append blank. Append blank doda novi zapis na kraj baze i postavi pokazivač baze na njega. Paya
clipper.83 ppekovic,
>> Mogu li se i kako vrednosti polja u bazi uopste menjati pomocu dbedit() >> bez pomocne-user funkcije (Clp5.01)? Meni se cini da ne. DbEdit služi samo za pregled sadržaja baze. Ako ti treba nešto da menjaš imaš više načina. 1. koristi user funkciju pa tamo menjaj. 2. Koristi browse() funkciju, ona sve sama radi. 3. najbolje rešenje, koristi TBrowse i zaboravi dbedit. Paya
clipper.84 ppekovic,
>> case tip=7 && del:brisi zadnj zapis >> delete >> pack && treba li pakovanje? >> return 2 Zapis nad kojim se izvrši delete nije izbačen iz baze, već je samo označen kao obrisan. Da bi se izbacio koristi se komanda pack. Na malim bazama, pack radi skoro trenutno, ali na iole većim, ovo bi bilo neupotrebljivo sporo. Postoje dva rešenja. 1. Tek kad izađeš iz dbedit-a (baci dbedit i koristi TBrowse) uradi pack, dakle, ne posle svakog delete-a, nego posle svih (može i na izlazu iz programa i sl.). 2. Ja sam uvek koristio onaj mnogo lepi trik kojim eliminišeš potrebu za pack-om (osim u izuzetnim slučajevima). Zamisli da imaš bazu sa poljima ime i prezime. Indeksiraš bazu po imenu, a zatim, kad god obrišeš neki zapis, umesto da uradiš delete, stavi samo chr(255) umesto prvog znaka u imenu. Ovaj zapis će logično otići na kraj baze (po indeksu). Kada hoćeš da ubaciš novi zapis. Prvo kažeš goto bottom, pa proveriš da li je prvi znak chr(255). Ako jeste, to je obrisani, pa možeš da prepišeš novi preko njega. Ako nije, dodaš novi. Naravno, prilikom pregleda baze, obavezno pre stavi filter da je prvo slovo imena različito od chr(255). Paya
clipper.85 ppekovic,
>> Btw, imam istu knjigu, i ima stvarno dobrih ideja oko načina >> pisanja programa. Al' ovo... bilo bi malo previše ;)))) Da, mene su čak učili da prvo radim dekompoziciju pa da pišem proceduralne apstrakcije, pa pseudo kod, a o kresanju grana, svođenju algoritama na kanonični oblik, apstrakciji podataka, šiframa, podšiframa, opisima stuktura i ostalim zezalicama da ne govorim. Pant, pant, umorih se samo dok sam ih nabrojao, šta bi tek bilo da sam za konkretan problem krenuo sve to i da radim. :))) Paya
clipper.86 snemcev,
>> Takođe, obrati pažnju na bug za savescreen() i restscreen(), >> imaš file negde na sezamovom dir-u. Tražih, al ne nađoh. Help me!
clipper.87 ciki,
Ho! Evo jedno pitanjce oko indeksa i to UNIQUE. Recimo da imam bazu koja se sastoji od sledecih polja: **************** * PPXXXXXX.DBF * **************** DATUM D 8 SIFRA N 5 S_JEL N 5 KOLICI N 5 Indeksi P1XXXXXX.NTX dtos(datum)+str(sifra,5) P2XXXXXX.NTX str(sifra,5) ali UNIQUE XXXXXX - To je nastavak koji dobija svaka datoteka u zavisnosti o kojoj se RJ radi.(RJ je predstavljena sa 6 cifara, PP100.DBF , PP923112.NTX ...) I sada kada vrsim neko "knjizenje", za zadati datum, prvo otvorim datoteku recimo (Use &dat_ime INDEX &ind_ime2) i to sa indeksom p2xxxxxx.ntx ne bih li dobio sifre onih ljudi koji su radili toga dana.Na osnovu toga formiram niz sa AADD ljudi koji su radili. Zatim sledi zatvaranje svih datoteka, pa ponovo otvaranje sa svim indeksima. E sada nastaju problemi.Nekada jednostavno sve radi OK. Ali nekada prosto prijavi gresku BASE/1132 usled velicine niza. NE nisam napisao nesto kao declare aniz1Š0Ć, ali sta je tu je. P.S. Ako ste razumeli, a vi pokusajte da pomognete, a ako ne zlo i nije. Pozdrav Ciki!
clipper.88 bulaja,
││Takode, obrati paznju na bug za savescreen() i restscreen(), ││imas file negde na sezamovom dir-u. │└─── │Trazih, al ne nadoh. Help me! └─── R:\IBMPC\CLIPPER\ ---------------------- cl5103 zip 31385 Spisak bugova u Clipperu 5.01 (Nantucket) Koliko se secam, za savescreen() i restorescreen() ne pise da imaju bagova, vec da nije navedeno da su njihovi default parametri (0, 0, maxrow(), maxcol()).
clipper.89 snemcev,
Probao sam Clipper preview iz Računara broj 07? i isti mi se jako dopao. Pade mi na pamet ideja da se za prikaz na ekranu iskoriste i extended VGA modovi (132 x nešto). Koliko se ja razumem u asembler, sve se svodi na to da treba u programima SAYTXT.ASM i VIEW.ASM konstante 160 zamenuti sa 264 (132*2). E, al sad prikaz neće korektno raditi u 80x25 modu. Znači, treba ubaciti jedan if koji će ispitati koliki je max broj kolona na ekranu, i u zavisnosti od toga dodeliti korektnu vrednost ne-znam-ni-ja-kom-registru (nešto slično kao u Clipper-u kad napišeš ax := 2 * MAXCOL()). Sve je to lepo i krasno, al ja nemam apsolutno nikakva iskustva u praktičnom radu sa bilo kojim asemblerom. Zato je moj predlog da autor (nbatocanin) ili neko drugi ko ima i volje i vremena (i dozvolu autora) uradi ovu izmenu u programu.
clipper.90 korvin,
­­­> Da, mene su čak učili da prvo radim dekompoziciju pa da pišem ­­­> proceduralne apstrakcije, pa pseudo kod, a o kresanju grana, Videćete vi, šprotivnici pseudo-koda kada se na divljem zapadu zaposlite u nekoj programerskoj firmi (ovde treba isključiti Microsoft pošto tamo samo igraju odbojku u hodnicima, pa se posle žale da im su im WIN puni bagova :) pa kada vam budu tražili da vaš program treba da radi na pet šest raznolikih mašina. Ovako mi se iskukao kolega koji se vratio iz Johanesburga. žovek otišao da programira a nije napisao ni red u C-u, Clipperu, Pascalu. Sve sam go pseudo-kod. Kad god pomislim na to naježim se :))
clipper.91 snemcev,
>> cl5103 zip 31385 Spisak bugova u Clipperu 5.01 (Nantucket) To već imam ;) Mislio sam da je nešto drugo u pitanju.
clipper.92 snemcev,
Kad već spomenuh perview, dešavalo mi se na jednom 286 računaru da program izvesno vreme radi OK, ali posle nekog vremena prilikom izbora opcije koja poziva preview, Clipper javlja grešku u stilu 'Can't open file'. Kod mene na 386 sve radi ok. Da, config.sys ima dovoljno files-a (40) a program pozivam bez onog //f=xx
clipper.93 nbatocanin,
> Kažu da je ovo mnogo ružno međutim meni nikad nije pravilo smetnje. Meni ne samo da nije ružno, nego mislim da je mnogo lepše i bolje kad se promenljiva deklariše tu gde se koristi. Naravno, ako već postoji od ranije, što se ne bi koristila :)
clipper.94 nbatocanin,
> Postoji li neki nacin da se funkciji parametri prenesu po > imenu (reference), a da se ona poziva u "normalnom" obliku > f(), a ne sa DO..WITH..? Clipper i ne pravi neku naročitu razliku između funkcija i procedura. Može sa F (@x, @y), ako si na to mislio.
clipper.95 petrovics,
>> prepises novi preko njega. Ako nije, dodas novi. Naravno, prilikom >> pregleda baze, obavezno pre stavi filter da je prvo slovo imena >> razlicito od chr(255). Nadam se da nisi mislio na SET FILTER. Ako si mislio, izem ti ustedu na PACK kad rasipas vreme na SET FILTER ;))
clipper.96 zkrstic,
> raznolikih mašina. Ovako mi se iskukao kolega koji se vratio iz > Johanesburga. žovek otišao da programira a nije napisao ni red u > C-u, Clipperu, Pascalu. Sve sam go pseudo-kod. Kad god pomislim na > to naježim se Iskukao ???? Pa to je bre najdivnija stvar na svetu, pišeš program otprilike O;) nema grešaka sem semantičKih i kardinalnih, ali to se već da srediti :) Neću te pitati zašto se vratio, niti ću komentarisati eni mor' imam nezgodne stavove ;)))) Da se dogovorimo: Ja koristim svoj neki metod (prepametna glava;) da sve što je tutinski tučem iz malog mozga, da ne kažem, koristim maximalno cut&paste i sličNo iz nekih drugih svojih so(R)- seva, ali kad dođe do neke kritične obrade ili tako nekog zameša- teljstva, onda direktno u prg ubacujem kao komentar nešto tipa pse- udo kod. Jednostavno, teram po stavkama 1, 2, 3... sa podstavkama, kad zatreba, šta i kako raditi. Sve to radim veoma opisno, da bih znao kroz pola sata šta sam hteo :) Na taj način čuvam ideje :))) A i to je jedini spas, obzirom da 80% programa pišem u saradnji sa bratom, paralelno na dva računara, često puta, tako da zna da bude veoma ;) zanimljivo kada jedan ili drugi zaboravimo da napišemo ta- ko nešto. Zanimljivo do bola ;)))) Ali... prateća pojava je da su nam sorsevi ogromni... :))) Zkr :)
clipper.97 snemcev,
>> cl5103 zip 31385 Spisak bugova u Clipperu 5.01 (Nantucket) To već imam ;) Mislio sam da je nešto drugo u pitanju.
clipper.98 snemcev,
Kad već spomenuh perview, dešavalo mi se na jednom 286 računaru da program izvesno vreme radi OK, ali posle nekog vremena prilikom izbora opcije koja poziva preview, Clipper javlja grešku u stilu 'Can't open file'. Kod mene na 386 sve radi ok. Da, config.sys ima dovoljno files-a (40) a program pozivam bez onog //f=xx
clipper.99 snemcev,
Još jedno pitanje u vezi sa preview-om. Recimo ovako. U programu imam 2 izveštaja i za oba hoću preview. Izaberem prvi izveštaj, pogledam ga, pritisnem npr. <End> ili <Tab> da bih video i ostatak izveštaja, odustanem od štampanja, posle izvesnog vremena izberem taj ili onaj drugi izveštaj, kad ono, umesto da preview počne od prve kolone, on počinje od one kolone za koliko sam pomerio prikaz prilikom pregleda prethodnog izveštaja. Jest' da zvuči zakukuljeno, al ko je probao, shvatiće. Dakle, trebalo bi mi da preview uvek počne od prve kolone. Probao sam sa jednim KEYBOARD CHR( K_HOME ) pre poziva procedure Prt3(), ali to ne rešava problem. Help me.
clipper.100 jtitov,
> Da, mene su cak ucili da prvo radim dekompoziciju pa da > pisem proceduralne apstrakcije, pa pseudo kod, a o > kresanju grana, ..... > tek bilo da sam za konkretan problem krenuo sve to i da > radim. Dobro je kolega, sedam.
clipper.101 ndragan,
/ da ih trpas u memo polja, mada ne znam gde bi ti trebao SaveScreen() / vezan sa slogovima baze :). Ja sam to radio prošle godine. Tako se pravi demo - slikaš lepo šta ti aplikacija radi, a snimljene ekrane trpaš u bazu; posle samo vrtiš to u nekom razumnom tempu, ubaciš u autoegzek da se poziva demo i onda ostaviš to u izlogu. Superiška - čak su one velike bele ptice (*) u knjižari uspevale da pokrenu stvar i da se vrti ceo dan. Bue_ Ndragan, patents pending (*) nisu labudovi
clipper.102 ndragan,
/ Ali ako ekran nema simbol Chr(26) (EOF)! Prvo sam se zablezeknuo ugledavši ovo, a onda sam se setio da pričamo o kliperu. Sorry, folks. Rešavajte to na neki drugi način, u foks prou je normalno da se bilo_kakav_fajl ili bilo_kakav_niz_bajtova proizvoljne_dužine (ne veći od diska, naravno) može strpati u memo, pa makar sadržavao ne znam koju količinu nezgodnih znakova.
clipper.103 ndragan,
/ Danas dajem prednost citljivom kodu nego ustedi od par (kilo)bajtova. Kamo lepe sreće. Tih par kilobajta su obično sa rednim brojevima 524., 525. i onda ti sve pukne jer obično nemaš 526. Zato i mislim da nije loše imati dve-tri promenljive za višestruku jednokratnu upotrebu.
clipper.104 ndragan,
/ uvek mi se čini da grešim. Možda uvek i grešiš :) ? Drži se nekog načela, recimo "jedan posao, jedna rutina"; "ako ovo ponavljam već u trećoj rutini, vreme je da ga izbacim u potprogram", "ove dve rutine se razlikuju samo u tri bajta; da napravim jednu pa da se samo poziv razlikuje po parametru više". Dužina rutine mislim da nije kritična, ali bilo šta što je duže od tri ekrana je zgodno za izbegavanje.
clipper.105 ndragan,
/ prirode" ali opet ima problema :( Na primer, broj 99 ispiše kao / deveTdeset devet. Ok, ispraviću i to. Prvobitna verzija (pisana za kliper, negde '88) je to ispisivala kako valja; bili su konsultovani jedan novinar, jedan tip iz SDK, jedan jezički picajzl (ne ja, jedan luđi od mene :) i neka Klajnova knjiga. Elem, za ovu verziju je osnova neka prethodna verzija od koje se krenulo u preradu za foks, pa se stari 99 bag vratio. Marfi inače tvrdi da stare verzije postoje zato da bi isplivavale kad ne treba. Prvo sam mislio da je jezičar ili onaj iz SDK to tražio, međutim kolege tvrde da je u upotrebi upravo pogrešna verzija ;(. BTW, čuvena funkcija Translate() koja se spominje pred kraj u stvari treba da se piše Transform(); to do sledeće denominacije neće praviti probleme - pući će tek kad poterate nešto sa decimalama. Greška je u tome što sam, čitljivosti radi, napisao puno ime funkcije, a ne samo (po običaju) prva četiri slova, i to uradio odmah pogrešno. Sou, evo još jedne verzije. Ko je skinuo prethodnu, da se ne bi gnjavio sa DL, treba ubaciti dva reda: CASE cd=6 rez=rez+'šez' ************ ova dva reda su dodata zbog deve(T)deset ****************************** odavde Case cd=9 rez=rez+'deve' ****************************** dovde CASE cd>1 rez=rez+imebr(cd) ... i još ono na kraju treba da glasi ovako: cdec=transform(dec,'čL 99') slov=rez+' '+cdec+'/100' Koga ne mrzi da skida ispravljenu verziju kompletnu, da podsetim: - slovima.prg ostaje PD (on the house), MPA Zrenjanin; - upotreba: ? slovima(<expN>) ili varC=slovima(<expN>) - spomenite nas negde u dokumentaciji i popijte jednu misleći na nas :) - ako nađete još neki bag, javite se ovamo da dignem još koju verziju. Bue_ Ndragan slovim3.arj
clipper.106 dpaun,
>> Probao sam Clipper preview iz Računara broj 07? i isti mi se I ja sam probao pomenuti program, tražeći rešenje za pregled velikih tekstova, proizvedenih pomoću MemoEdit(). Na žalost, nije pogodan za takve namene jer se tekstu vidi "donji veš", tj. znak za tabulator, meki i tvrdi markeri i sl. Eto, tek da se zna da nisam rešio problem koji me muči i na koji sam se žalio pre mesec-dva ... dPaun
clipper.107 goxx,
T E S T ======= Molba: ------ Šaljem demo (neka početna verzija) jedne aplikacije koju razvijam za Banku Podataka Privrede Srbije. Program je u vezi nekretnina. Interesuje me vaše mišljenje o ovom što sam do sada uradio. Biću zahvalan svima koji istestiraju ovo što šaljem i daju mi sve svoje komentare, primedbe, pohvale i pokude kao i sve greške koje primete i pronadju. Poruke ostavljajte u ovoj konferenciji ili na mail. Nešto o programu: ----------------- Program je pisan u Clipper-u 5.01. Koristi se Nanfor biblioteka koja postoji na Sezamu. Treba ga linkovati sa RTLINK FI STAN LIB NANFOR; Uz program idu fajlovi za HELP. Na žalost, nisam imao vremena da napišem help za ovaj program pa sam iskopirao help fajlove iz neke aplikacije za knjigovodstvo koju sam ranije radio ( puno teksta iz helpa može da posluži i za ovaj program sem onih stvari koje se odnose na knjigovodstvo ). Na grani Analiza u glavnom meniju se ne nalazi nikakva analiza već je prikačena funkcija koja se aktivira prilikom pogrešno unesene šifre tamo gde se ona sa ostalim podacima o nekretnini unosi (ni taj deo nije uradjen). Sadržaj: -------- STAN.OBJ Obj verzija programa Linkovanje sa RTLINK FI STAN LIB NANFOR FHLP0001.DBF Help fajl (nije u potpunosti za ovu aplikaciju) FHLP0001.DBT Help fajl - memo polja Svima unapred hvala. Goran Zafirović stan.zip
clipper.108 dejanr,
Fala puno, a sad znam šta sledi - treba prvo uzeti program pa zameniti male zagrade uglastim i smuljati ono BETWEEN, posle čega ću program možda i ovde poslati :)
clipper.109 jtitov,
> Treba ga linkovati sa RTLINK FI STAN LIB NANFOR; Mogao si bas i da ga prevedes, jer nisu svi pratioci ove teme ljubitelji clipper-a, a prate temu i zele da na neki nacin pomognu drugima.
clipper.110 ppekovic,
>> Nadam se da nisi mislio na SET FILTER. >> Ako si mislio, izem ti ustedu na PACK kad rasipas vreme na SET FILTER ;)) :) Filter radi savršeno lepo ako umeš da ga koristiš a to podrazumeva da umesto na celo polje staviš filter u zavisnosti samo od prvog znaka (što je u ideji koju sam izložio slučaj). Ovo sam koristio u svim mojim programima i čak i na bazama od nekoliko mega korisnik ni jednog trenutka ne čeka računar, a to je cilj, zar ne? Ako baš ne voliš filter, clipper 5.01 ti pruža mogućnosti da elegantno zaobiđeš filter praveći svoju funkciju, pa kako god ti volja. Sve u svemu, sve je bolje od pack-a (koji kako god okreneš radi sporo). Paya
clipper.111 ppekovic,
>> Mogao si bas i da ga prevedes, jer nisu svi pratioci ove teme ljubitelji >> clipper-a, a prate temu i zele da na neki nacin pomognu drugima. Ali onda bi ti trebalo x puta više vremena za dl :) Paya
clipper.112 jtitov,
Za NDragana: ima jos jedna greska u programu SLOVA; u ispisu pe_T_deset. Cini mi se da se ne govori tako, a mozda gresim... Greska se jednostavno ispravlja, dodavanjem dva slicna reda kao i za deve_T_deset.
clipper.113 nbatocanin,
> New_guy_in_charge: Computer Associates More, biće tu svašta. Koliko sam shvatio, ovi imaju više para od konkurencije, pa ima da dobijamo Klipere i Fokseve svaki treći dan :)
clipper.114 nbatocanin,
> NHF, vidim da opet idemo paralelnim ulicama. Pa logično, kad smo matematičari :)
clipper.115 nbatocanin,
> Zato je moj predlog da autor (nbatocanin) ili neko drugi ko ima > i volje i vremena (i dozvolu autora) uradi ovu izmenu u > programu. Uh, ja vas prevarih pa pobegoh ;) Ja sam u međuvremenu odustao od ove rutine iz više razloga, a najviše zbog problema sa skaniranjem tastature: nema nikakve veze sa Clipper funkcijama, što mi je zadavalo velike probleme. Sad koristim Clipper program koji samo ispisivanje radi u asembleru. Sačekaj koji dan da to sredim (nešto sam u gužvi), pa ću poslati ovde.
clipper.116 nbatocanin,
> Rešavajte to na neki drugi način, u foks prou je normalno da se > bilo_kakav_fajl ili bilo_kakav_niz_bajtova proizvoljne_dužine (ne > veći od diska, naravno) može strpati u memo, pa makar sadržavao ne > znam koju količinu nezgodnih znakova. Da, ovo je velika stvar (minus Clipper-a, plus Fox-a). Najavljuje se da će nova verzija podržavati BLOB polja (veliki binarni objekti), pa će to valjda rešiti stvar. Doduše, FlexFile dodatak za Clipper rešava ovaj problem, ali nisam imao prilike da vidim kako to radi. Koristi li neko ovo?
clipper.117 nbatocanin,
> Dakle, trebalo bi mi da preview uvek počne od prve kolone. > Probao sam sa jednim KEYBOARD CHR( K_HOME ) pre poziva > procedure Prt3(), ali to ne rešava problem. Help me. KEYBOARD ne pali, jer je skaniranje na nivou DOS funkcija. Ubaci na početak naredbu koja resetuje poziciju prozora: MOV EkrPos, 0
clipper.118 petrovics,
>> :) Filter radi savrseno lepo ako umes da ga koristis a to >> podrazumeva da umesto na celo polje stavis filter u zavisnosti >> samo od prvog znaka (sto je u ideji koju sam izlozio slucaj). Ovo >> sam koristio u svim mojim programima i cak i na bazama od nekoliko >> mega korisnik ni jednog trenutka ne ceka racunar, a to je cilj, >> zar ne? Mislim da te nisam sasvim razumeo pa te molim za objasnjenje. Deluje mi zanimljivo. >> Sve u svemu, sve je bolje od pack-a (koji kako god okrenes >> radi sporo). Slazem se da je PACK spor ali neznam bas da je SVE BOLJE od njega. pozdrav, PACA
clipper.119 dejanr,
>> Za NDragana: ima jos jedna greska u programu SLOVA; u ispisu pe_T_deset. >> Cini mi se da se ne govori tako, a mozda gresim... Sigurno (ovde bi Balinda stavio (?) ali ja neću :) se kaže pedeset, bez T. Uzgred, ja sam malo eksperimentisao sa programom NtoC koji je ovde (tj. u PC.PROG) ostavio NBatocanin. Program, reklo bi se, radi savršeno (ajde tu za volju Balindi da stavim (?) ), a razlog zbog koga neki misle da ne radi je što se ne može kompajlirati sa CLIPPER (javi čudo Božje raznih greški) nego CLIPPER /N
clipper.120 ciki,
>**> Interesuje me vaše mišljenje o ovom što sam do sada >**> uradio. Biću zahvalan svima koji istestiraju ovo što >**> šaljem i daju mi sve svoje komentare, primedbe, pohvale >**> i pokude kao i sve greške koje primete i pronadju. Trigeri u glavnom meniju ne ferceraju. Ostalo - zanimljivo, vec vidjeno mnogo puta ali ipak zanimljivo. Efektna reklamica na pocetku. Vecina stvari ne radi pa ne mogu da ti mnogo predlozim ;>> Pozdrav Ciki!
clipper.122 ndragan,
/ smuljati ono BETWEEN, posle čega ću program "between(a,b,c)" je brža zamena za "a>=b .and. a<=c" Jes' ti foksovac, kliperaš ili Švajcarac :) ? Ja sam navikao da ne obraćam pažnju na kompatibilnost sa kliperom, pa čak ni sa prethodnim verzijama foksa, tako da veoma brzo počnem da koristim nove interne funkcije - za foks bar znam da su pisane da rade brzo, i da će sigurno betw() raditi brže nego onaj izraz desno. Uostalom, o ovom je bilo reči i kod prethodne verzije. / male zagrade uglastim i Misliš da je ŠiĆ čitljivije od (i) :) ?
clipper.123 ndragan,
/ Cini mi se da se ne govori tako, a mozda gresim... Greska se / jednostavno ispravlja, dodavanjem dva slicna reda kao i za / deve_T_deset. Dejaneeee... nadam se da ovo nije zakasnilo. Ajd' ubaci i ta dva reda da ne šaljem ponovo, ili nek mi ZZ objasni kako da iz ATSa okačim datotetku uz poruku - za svaki UL moram da se vraćam u Prokom ;(.
clipper.124 snemcev,
>> Sačekaj koji dan da to sredim (nešto sam u gužvi), pa ću >> poslati ovde. S nestrpljenjem očekujem da vidim Preview 2.xx
clipper.125 bulaja,
**** new file **** \ibmpc\clipper c501a.arj .a01 Clipper 5.01a UPDATE (Computer Associates) Update (upgrade) sa Clipper verzije 5.01 na verziju 5.01a (CA). Nema previse promena, ali ipak dovoljno da uradite update :). Naravno, potrebno je da vec imate instaliran "stari" Clipper 5.01. Ovaj update je znacajan i po tome sto je prva promena od kad je CA kupio Nantucket.
clipper.126 nbatocanin,
Clipper na nekim tastaturama/računarima ne prepoznaje sve kombinacije tastera, na primer <Alt-Left> i sl. Da stvar bude još čudnija, ove kombinacije normalno rade ako se pre startovanja programa u bafer tastature upiše nešto. Ovo je otkrio nimi (Milan Nikolić). Ima li neko neko drugo rešenje?
clipper.127 dnikolic,
>> da ne saljem ponovo, ili nek mi ZZ objasni kako da iz ATSa okacim >> datotetku uz poruku - za svaki UL moram da se vracam u Prokom ;(. Uh, ja sam to pitao jos proslog leta, ali ostah bez odgovora. :( dn
clipper.128 snemcev,
Šta ima u tom Clipper update-u? Vredi li ga pokupiti? Verujte, za nekog na bednih 1200 bps sa ovim cenama za impulse, to je hamletovsko pitanje.
clipper.129 neman,
> za nekog na bednih 1200 bps sa ovim cenama za impulse, to > je hamletovsko pitanje. Pa čak i na 2400 to je nekih 20-ak minuta, a onda mi je prijavio da CLD.LIB, CLD.EXE i još poneka datoteka nije odgovarajuća verzija i ništa od UPGRADEa :(( neman
clipper.130 pstojanovic,
Jednom mom kolegi se javlja pri startovanju Clipper.exe sledeća poruka : Rules not found in Clipper.exe i jednostavno ga izbaci iz programa. Ima li objasnjenja za ovo ?
clipper.131 bulaja,
│Sta ima u tom Clipper update-u? Vredi li ga pokupiti? Verujte, za nekog │na bednih 1200 bps sa ovim cenama za impulse, to je hamletovsko pitanje. └─── Evo izvukao sam neke stvari iz NG-a za update, nadam se da ce pomocu i odluci :). 1 Memory Management Clipper 5.01a improves the handling of expanded memory. A Clipper 5.01 application would hang in certain circumstances on a machine using a LIM 4.0 compatible EMS driver with the page frame disabled. Clipper 5.01a requires that you enable the EMS page frame . If the EMS page frame is not detected, EMS will not be used. 2 NEW: ERRORINHANDLER() ERRORINHANDLER() is a new function that assures a clean and prompt exit from within an application. It produces an "Error recovery failure" error and indicates the name of the current module as well as the line number. Use this function to indicate that an error condition has occurred within an error handler. 3 CHANGED: COPY FILE The COPY FILE command now allows control characters to be copied to a device (printer, serial port, etc.). Clipper 5.01 generated an unrecoverable write error if there was an embedded Z (CHR(26)) in a file being copied to a device. 4 NEW: EG_DUPALIAS, EG_BADALIAS The following new generic error codes have been added: EG_DUPALIAS - An attempt has been made to open a database with an alias that is already in use. EG_BADALIAS - An attempt has been made to open a database with an alias that is not a valid Clipper identifier. 5 CHANGED: Getsys.prg Clipper 5.01 did not handle the interaction between SET BELL ON and SET CONFIRM ON in a manner compatible with Summer '87 and dBASE III. Getsys.prg now respects SET BELL ON when SET CONFIRM ON is used. The Getsys.prg source code reflects this change. 6 CHANGED: Aliases Clipper 5.01 accepted database aliases that were not valid Clipper identifiers. These aliases were then inaccessible. Clipper 5.01a detects illegal characters in the alias and produces an EG_BADALIAS error. A legal identifier can contain alphabetic characters, numbers, or the underscore symbol (_); but must begin with an alphabetic character. If you open a database and the file name is not a valid identifier, the implicit alias will be an invalid identifier and an error will be generated. 7 CHANGED: Database error handling In Clipper 5.01, using database commands without an open work area would not cause an error. With the following exceptions, Clipper 5.01a now produces a "Work area not in use" error. 8 CHANGED: TBrowse error handling Assigning invalid data to TBrowse and TBColumn instance variables would not generate an error in Clipper 5.01. Type checking during instance variable assignment has been added in Clipper 5.01a to trap invalid values and produce a recoverable runtime error. 9 CHANGED: Miscellaneous error handling Improved error handling in many Clipper commands and functions traps and reports missing arguments or invalid arguments passed to them. One notable example is DBEVAL(), which now produces an argument error if the first parameter is missing. 10 CHANGED: RL (Report Label) Utility The Report and Label utility (RL) formatted report headings as fixed-length strings prior to saving them to the .FRM file. This caused report headings to be lost when the .FRM file was read by dBASE III+. 11 CHANGED: Miscellaneous Fixes LABEL FORM - SET DEFAULT LABEL FORM now uses the SET DEFAULT setting to locate files when the .LBL file is not in the default directory and an absolute path name is not specified. DBEDIT() - Memory variables and expressions as columns DBEDIT() now accepts memory variables and expressions as arguments in the <acColumns> array. DBEDIT() - Field alias in column heading When specified, DBEDIT() now properly displays field aliases in column headings. This is consistent with Summer '87. WAIT WAIT now accepts characters in the range 32 through 255 (ASCII). MENU TO MENU TO no longer repaints the screen with the last prompt when you press <Esc> to exit the menu.
clipper.132 nbatocanin,
> Rules not found in Clipper.exe Možda je oštećen CLIPPER.EXE?
clipper.133 banex,
Meni fali datoteka CLD.LIB da bih mogao da uradim taj update. Ako je neko ima mogao bi da je zakači...
clipper.134 snemcev,
Jel zna neko pošto je Rick Spence 'Clipper 5' u izdanju Mikro knjige? Ili još bolje, ako neko ima broj telefona, znam da počinje na 542, a za dalje nisam siguran. I uopšte, kakav utisak imate o knjizi (oni koji su je kupili)? U principu, očekujem extra kvalitet, kao i u svim ostalim izdanjima Mikro knjige.
clipper.135 balinda,
Telefon je 011/542-516! Knjiga je inače ODLIžNA! Nema spisak i opis svih komandi, što je po meni bolja varijanta. Za to služi fabrički Manual i sl.! Sursovi iz knjige se (čini mi se - da izvine cenzori :)) mogu nabaviti i sa Sezama! :) Pozdrav!
clipper.136 ssasa,
Ima li vesti o Clipper-u for Windows ?
clipper.137 bulaja,
│Jel zna neko posto je Rick Spence 'Clipper 5' u izdanju Mikro knjige? │Ili jos bolje, ako neko ima broj telefona, znam da pocinje na 542, a za │dalje nisam siguran. I uopste, kakav utisak imate o knjizi... └─── Telefon je 542-516 (shame on u, da si pokupio \ibmpc\misc\tel11.arj imao bi i ovaj tel :). Knjiga je inace najbolji izbor za Clipper od svega sto se moze naci kod nas, preporucujem.
clipper.138 zorani,
## Sursovi iz knjige se (čini mi se - da izvine cenzori :)) mogu ## nabaviti i sa Sezama! :) Hm... gde su?
clipper.139 dino,
Interesuje me zasto se programi pisani u Clipper-.01 i linkovani sa Turbo linkom 3.01 ne izvrsavaju korektno´k. pr. use baza copy to temp datoteka TEMP ima strukturu datoteke BAZA ali nema njen sadrzaj. To sam isto linkovao sa RTLINK-om i sve je radilo OK.
clipper.140 ppekovic,
>> Interesuje me zasto se programi pisani u Clipper-.01 i linkovani >> sa Turbo linkom 3.01 ne izvrsavaju korektno´k. Pogledaj stare poruke u ovoj conf. bilo je dosta reči o tome. Ukratko, zaboravi sve druge linkere osim rtlink-a. Jedino je nejasna situacija (čitaj: premalo je iskustva) sa izvesnim Blinker linker-om, koji navodno radi bez problema sa clipper-om, a mnogo je brži od rtlink-a. Voleo bi da čujem iskustva ljudi koji koriste blinker pa da zaključimo trenutno otvoreno pitanje: koristiti ga ili ne? Paya
clipper.141 zkrstic,
> Voleo bi da čujem iskustva ljudi koji koriste blinker pa da > zaključimo trenutno otvoreno pitanje: koristiti ga ili ne? Ovih dana (kao što obično biva, kad dobijem nešto novo, to prvo mora da "odstoji" ;) ću ga malko pretresti, obzirom da imam kompletan Blinker 2.0 sa uputstvima i čudima, tako da neće moći da me zezaju kojekakve "leve" naredbe. Potpom ću vam prezentirati moje skromno mišljenje :) Zkr
clipper.142 madamov,
****** Telefon je 542-516 ****** Takođe može i na broj 542-619.
clipper.143 snemcev,
>> (shame on u, da si pokupio \ibmpc\misc\tel11.arj imao bi i >> ovaj tel :). Jes, imao sam ga ja. Dosad sam od njih kupio bar 6 knjiga i zvao ih x puta (seća li se neko problema sa izdavanjem knjige o TP 5?), al' pri poslednjem velikom spremanju nestade mi ona njihova fina ASCII tablica, a sa njom i broj telefona :(( Anyway, hvala na savetima. Kad se raspitam o ceni, ostaviću je ovde, čisto radi poređenja.
clipper.144 ciki,
Ho! Pravim neki prg za obracun kamata, pa me intresuje ima li neko neku proceduru koja za uneti datum daje novi, odgovarajuci datum, uvecan za 1,3,6 ili 12 meseci... Sve lepo fercera za 01.02.92. dobija se 01.03.92., ali nesto kao 31.01.92 i 31.02.92 jednostavno ne dela! P.S. Ako vam nije tesko, a vi pogledajte. Pozdrav Ciki!
clipper.145 melev,
Imam jedno pitanje za sve vas koji koristite CLIPPER: - Nedavno sam očeo da se zanimam za CLIPPER i nabavio CLIPPER 5.01 pa me interesuje koju knjigu mi preporučujete za CLIPPER, gde bih mogao da je nadjem i u kojim granicama se kreću cene takvih knjiga? unapred zahvalan Melev
clipper.146 dejanr,
>> pa me interesuje koju knjigu mi preporučujete za CLIPPER Dobru knjigu o Clipperu napisao je Rick Spence. Možeš je naći u originalu (ako se zatekne negde u knjižari) ili u prevodu Mikro knjige. Knjiga *nije* zamena za klasično uputstvo (nema detaljan opis svake komande itd) nego se bavi programiranjem na Clipperu, tehnikama koje se koriste, daje dosta source koda itd.
clipper.147 ratman,
Imam jako dugacak source file, preko 400 linija, i kada ga prevodim i linkujem, (Cl.5.01), cak i sa PLLinkerom, svaki put traje uzasno dugo, ludnica kad god nesto menjam, i sve je gore kako je source duzi. Procitao sam nesto o overlejima i inkrementnom linkovanju, ali sta tacno treba da radim (podelim u overleje...?) i kako da sastavim .clp i .lnk fajlove da mogu da kompajliram i linkujem samo ono sto sam menjao? Verovatno je to jedan od osnovnih problema sa kojim su se svi sretali. Pozdrav,
clipper.149 bulaja,
│Imam jako dugacak source file, preko 400 linija, i kada ga prevodim i │linkujem, (Cl.5.01), cak i sa PLLinkerom, svaki put traje uzasno dugo, └─── Jesi li to zaboravio koju nulu, il' zaista mislis da je 400 linija jako dugacak source :). Savetujem ti da, pre nego sto krenes da eksperimentises sa linkerom, razbijes taj jedan source file na module i koristis make - em sto ce ti tako biti mnogo lakse da pratis source, em ce se svaki put komajlirati samo izmenjeni modul, sto moze ustedeti prilicno vremena kod duzih aplikacija.
clipper.150 ratman,
Pa, nije dugacak za pisanje, ali je ocajno dugo cekati kompajliranje na AT/12Mhz/40MbHdisk! Hvala na savetu! Probacu... Pozdrav, Dejan
clipper.151 balinda,
Ko je imao neka iskustva sa Flipperom neka ostavi ovde poruku! Pitanja će slediti preko privatne poste! Hvala!
clipper.152 toma,
Clipperaši pažnja!!! test(1,2,3) test_1(1,2,3) function test // Ovde obratiti parameters a,b,c // pažnju for n:=1 to 3 par:=chr(asc("a")+n-1) ? &par next n return function test_1(a,b,c) // Ovde obratiti pažnju for n:=1 to 3 par:=chr(asc("a")+n-1) ? &par next n return Ovaj program ne radi!!! Funkcija test fino odradi ali... U funkciji test_1 na komandu ? &par lepo kaže da promenljiva a nije definisana !? Svašta ! Pozdrav from Toma.
clipper.153 dejanr,
Zašto ? &par? Koristi ? par
clipper.154 jtitov,
> sastavim .clp i .lnk fajlove da mogu da kompajliram i > linkujem samo ono sto sam menjao? Verovatno je to jedan od > osnovnih problema sa Trebao bi da razmislis o Blink-u 2.01. Drugar koji radi sa njim (a nije Sezamovac) je odusevljen i kaze da mu je Blink skratio vreme razvoja programa za najmanje 30% ukupnog vremena. Ja sa njim nemam iskustva, posto sam Fox-ovac, a tu Blink ne pomaze...
clipper.155 bulaja,
│Clipperasi paznja!!! │ (...) │function test // Ovde obratiti │ parameters a,b,c // paznju │ (...) │function test_1(a,b,c) // Ovde obratiti paznju │ (...) │Ovaj program ne radi!!! └─── Na prvi pogled izgleda da su obe funkcije iste, ali nisu :). Naime, deklarisanje parametara funkcije preko PARAMETERS iskaza kreira parametre kao PRIVATE promenljive, dok FUNC naziv (argumenti) kreira promenljive tipa LOCAL. Posto macro operator ne moze da koristi LOCAL i STATIC promenljive, to se prilikom njegovog razvijanja javlja greska o nepostojecoj promenljivoj.
clipper.156 petrovics,
>> Knjiga *nije* zamena za klasicno uputstvo (nema detaljan opis >> svake komande itd) nego se bavi programiranjem na Clipperu, >> tehnikama koje se koriste, daje dosta source koda itd. Delimican prevod uputstva la Clipper sa opisom svih funkcija i naredbi dat je u odlicnoj knjizi Clipper BIBLIJA u izdanju Nisofta. Ta se knjiga nekad nudila i preko oglasa u racunarima a neznam dali je jos ima u prodaji. Najbolje je da kontaktirate jednog od autora, MMARKOVIC ovde, na sezamu.
clipper.157 toma,
■■>> Zašto ? &par? Koristi ? par a:=1 par:="a" ? par => a ? &par => 1 Drastična razlika, OK? Pozdrav from Toma.
clipper.158 ttop,
> Jel zna neko posto je Rick Spence 'Clipper 5' u izdanju Mikro > knjige? Ili jos bolje, ako neko ima broj telefona, znam da Ako si zainteresovan imam ja jednu viska.Inace knjiga je SUPER!!! Cena u knjizari zadnji put kad sam gledao 36.000 din.
clipper.159 nbatocanin,
> !? Svašta ! Jok, more! Kad se parametri prihvataju sa (...), onda su klase LOCAL, a takve promenljive se ne vide u makroima!
clipper.160 ndragan,
/ Sve lepo fercera za 01.02.92. dobija se 01.03.92., ali nesto kao / 31.01.92 i 31.02.92 jednostavno ne dela! Zar ne možeš da poslednji dan u mesecu računaš kao prvi u sledećem minus jedan? U Foksu (znam, znam) postoji funkcija GoMonth(datum, broj_meseci), koja ti daje datum koji je za toliko meseci pre ili posle zadatog datuma. Kraj tekućeg meseca dobiješ ovako: Ktm=GoMonth(š01.12.92ć,1)-1 šć su datumske zagrade (vitičaste). Dakle plus jedan mesec, minus jedan dan. P.S. Sad tek vidim da sam prespavao 30.02.92 i 31.02.92.
clipper.161 ndragan,
/ function test_1(a,b,c) // Ovde obratiti pažnju / for n:=1 to 3 / par:=chr(asc("a")+n-1) / ? &par / next n / return A da li bi radilo sa Function test_1(a,b,c) ? a,b,c Return žisto zbog toga što su možda parametri prilikom kompajliranja zamenjeni ko zna kojim internim imenima (za slučaj kad se f. poziva po adresi odnosno po vrednosti), pa ih & ne prepoznaje, a ako ih navedeš eksplicitno, onda i njima da ta ista interna imena? Moguće je da se linije sa makro zamenama čak i ne prevode. Probao sam juče da iskompajliram ovu liniju (u foksu): Idi &begaj ...i uopšte nije javio nikakvu grešku :).
clipper.162 snemcev,
>> ima li neko neku proceduru koja za uneti datum daje novi, >> odgovarajuci datum, uvecan za 1,3,6 ili 12 meseci... >> P.S. Ako vam nije tesko, a vi pogledajte. Ako ti nije teško, pogledaj malo po SAMPLE direktorijumu koji je Clipper napravio pri instalaciji. Tu je i DATE.PRG, a u njemu u source-u data funkcija AddMonth koja radi baš to što ti treba.
clipper.163 broker,
> Pa, nije dugacak za pisanje, ali je ocajno dugo cekati > kompajliranje na AT/12Mhz/40MbHdisk! Mislim da i malo zahtevan. Napisao sam nnnnn linija kliper koda baš takvoj mašini i nije mi se činio spor. Naravno, radio sam u modulima.
clipper.164 snemcev,
Ima li ovde koja dobra duša da mi pošalje datoteku CLRSEL.PRG koja je negde u arhivi sa izvornim kodom Nanforum-ove biblioteke? Gre'ota mi je da pri ovim cenama za telefonske impulse skidam 300K zbog par linija koda.
clipper.165 snemcev,
Jel probao neko iz Nanforum Toolkit-a onu zamenu za MENU TO sistem? Kako se meni čini, funkcija FT_MENUTO jednostavno ignoriše bright atribut za pozadinu, iako je isti omogućen preko SETBLINK( .f. ) Npr. za njega je apsolutno sve jedno dal ću da mu napišem 'W+/N' ili 'W+/N*', on oba slučaja tretira kao 'W+/N'. Zašto, samo nebo zna. Ili možda još neko zna? Pretpostavljam da je jedno rešenje u izmeni izvornog koda funkcije. Ima li neko drugo rešenje?
clipper.166 ciki,
>**> Ako ti nije teško, pogledaj malo po SAMPLE >**> direktorijumu koji je Clipper napravio pri instalaciji. Ma kakvi tesko. Pogledo sam jos odavno. >**> Tu je i DATE.PRG, a u njemu u source-u data funkcija >**> AddMonth koja radi baš to što ti treba. Pa ne radi bas ono sto mi treba, i to ja zackoljica.Jer ono radi ono sto radi i moja funkcija, ali za 31.01.93 daje prazan datum: Kao sto ces videti, i funkcija koja je rasoloziva, ne radi nista oko dana, vec samo uvecava broj meseci i godina sto je vrlo lako napraviti. Nevezano za to, sta mislite o semi da se uzme obracun kamate recimo fiksno za 30 dana, pa na osnovu toga da se radi? Inace deo listinga izgleda ovako: .............. č 10,10 say "Datum uloga : " get datum1 č 12,10 say "Datum isteka roka: " get datum2 WHEN car1(datum1) read ......... func car1(dDate) LOCAL nMonth, nDay, nYear, nLimit, nMonthAdd, nYearAdd // Break date up into its numeric components nMonth := MONTH( dDate ) nDay := DAY( dDate ) nYear := YEAR( dDate ) ********************************************************************* * Imam 1 private promenljivu kojom zadajem broj meseca, pa treba * * dodati nesto kao: * ********************************************************************* do case case in="A" nMonth:=1 ....... endcase nLimit := 12 - nMonth + 1 // Compute number of years to add nYearAdd := INT( nMonths / 12 ) IF nMonths >= nLimit nYearAdd++ ENDIF nYear += nYearAdd // Compute number of months to add and normalize month nMonthAdd := nMonths % 12 nMonth := (nMonth + nMonthAdd) % 12 // Convert numeric portions to new date datum2 = CTOD(STR(nMonth, 2) + "/" + STR(nDay, 2) + "/" + STR(nYear, 4)) RETURN (.t.) P.S. Ipak hvala na trudu. Pozdrav Ciki!
clipper.167 zkrstic,
Eve ga :) Zkr clrsel.arj
clipper.168 peca.st,
!-> Pa ne radi bas ono sto mi treba, i to ja zackoljica.Jer ono !-> radi ono sto radi i moja funkcija, ali za 31.01.93 daje !-> prazan datum: Mislim da bi ti dejanr mogao pomoći jer je on u onom njegovom SIRODJ morao da koristi nešto što računa kolko_dana_ima_od_danas ili slično. Dakle, valjda će ti on pomoći, pošto verovatno zna.
clipper.169 dejanr,
>> Mislim da bi ti dejanr mogao pomoći jer je on u onom njegovom SIRODJ >> morao da koristi nešto što računa kolko_dana_ima_od_danas ili slično. "Nešto" je u konferenciji ORKA, poruka 14.186. A biće i više o tome u sledećim "Računarima". Nadam se da će pomoći, iako nije na clipperu. No dalo bi se prevesti.
clipper.170 ciki,
>**> Zar ne možeš da poslednji dan u mesecu računaš kao prvi >**> u sledećem minus jedan? U Foksu (znam, znam) postoji >**> funkcija GoMonth(datum, broj_meseci), koja ti daje Ajde onda lepo ako ti nije tesko, a ti probaj da za one kriticne datume uradis nesto tako na FOX-u, da samo vidim sta cu da dobijem. Pozdrav Ciki!
clipper.171 toma,
Ima li neko negde ono programče za ispis(unos) brojeva s desna na levo iz get-a? Pozdrav from Toma.
clipper.172 ciki,
Ho! Dobio sam da na masinu (386/40/4/120/SVGAC) na kojoj se nalazi: WINDOWS 3.1, WORD for WIN 2.0 (ili tako nesto), DOS 5.0, neki razni UTILITY i cirka 25 igara koje zauzimaju cirka 30MB. Od rezidentnih stvari je bilo nesto kao: Podrska za nasa slova iz DOS-a, kesiranje diska mislim da je SMARTDRIVE, Setver, Himem, DOS=HIGH,.. instaliram neke programe koji su pisani na clipper-u.E sada pokrenem ja Instal program, i on verovatno radi nesto u fori RUN COPY to_i_to na_to_i_to, i od 80fajlova, on prekopira cirka 2-3 i javi gresku da ne moze da izvri kopiranje i izleti u DOS. Taj isti paket, ja probam na drugoj 386-ici istih karakteristika, koja za razliku od I ima disk podeljen na C i D particiju(I ima samo na C) i radi sve Ok. Programi su poznate kuce i imaju preko 1000 instalacija, pa nije greska do programa ni do disketa jer sve lepo radi na II racunaru. Zna li neko zasto nece da radi??????????????????????????? Da li mu smeta nesto od rezidentnih stvari??????????????? Pozdrav Ciki!
clipper.173 petrovics,
>> Pa, nije dugacak za pisanje, ali je ocajno dugo cekati kompajliranje >> na AT/12Mhz/40MbHdisk! Bas me zanima koliko dugo cekas na ovo kompajliranje?
clipper.174 petrovics,
>> Ko je imao neka iskustva sa Flipperom neka ostavi ovde poruku! >> Pitanja ce slediti preko privatne poste! Ako nisu bas tajna ta pitanja a narocito odgovori mislim da bi bilo bolje da se i o tome pise ovde.
clipper.175 ciki,
>**> Ima li neko negde ono programče za ispis(unos) brojeva >**> s desna na levo iz get-a? Imam ja za verziju S 87. Ako ti odgovara a ti vici. ;>> Pozdrav Ciki!
clipper.176 ciki,
Ho! Kako ubaciti 1 txt fajl u memo polje, i kako ga posle procitati, tj. istampati? Pozdrav Ciki!
clipper.177 ndragan,
/ kriticne datume uradis nesto tako na FOX-u, da samo vidim Evo: d gomo(d,-3) -2 -1 +1 +2 +3 31.01.92 31.10.91 30.11.91 31.12.91 29.02.92 31.03.92 30.04.92 31.01.91 31.10.90 30.11.90 31.12.90 28.02.91 31.03.91 30.04.91 30.01.91 30.10.90 30.11.90 30.12.90 28.02.91 30.03.91 30.04.91 Sorsa, naravno, nema, pošto je GoMonth(d,m) interna funkcija FoksProa. Uoči kako lepo rešava kraj februara :). Ne mo'š ga zajeb*ti, pa to ti je. Bue_ Ndragan
clipper.178 bulaja,
│Kako ubaciti 1 txt fajl u memo polje └─── REPLACE memo_polje WITH MemoRead ("FILE.TXT")
clipper.179 jtitov,
> Imam ja za verziju S 87. Ako ti odgovara a ti vici. ;>> Ako te ne mrzi, pljucni je ovamo. Takodje bi lepo bilo da onda dodamo da se pojavljuju i tacke posle 3. otkucane cifre, a da pazi i na decimalni zarez. Naravno sve to ako vec nema :)
clipper.180 ciki,
>**> Ima li neko negde ono programče za ispis(unos) brojeva >**> s desna na levo iz get-a? Imam ja za verziju S 87. Ako ti odgovara a ti vici. ;>> Pozdrav Ciki!
clipper.181 ciki,
Ho! Kako ubaciti 1 txt fajl u memo polje, i kako ga posle procitati, tj. istampati? Pozdrav Ciki!
clipper.182 ciki,
>**> Ako nisu bas tajna ta pitanja a narocito odgovori >**> mislim da bi bilo bolje da se i o tome pise ovde. Ja ne znam u kakvom ste "stanju" dobili flipper. Ja sam ga dobio zajedno sa NG i cirka 150 primera, pocevsi od najprostijih, pa do najslozenijih uz pomoc kojih svako moze da provali foru rada se flipper-om. Pozdrav Ciki!
clipper.183 ciki,
>**> Ima li neko negde ono programče za ispis(unos) brojeva >**> s desna na levo iz get-a? Ocekujem pice! ciki=space(40) č 2,5 say "Copaj, copaj bato: " GET ciki PICT ; zamena("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", čciki) read * function zamena param a, kar b=row() c=col() g=LEN(a) a1=space(g) č b,c GET a1 PICT "&a" clear gets disp="" a2=c+g-1 č b,a2 +1 SAY "" h=1 while inkey(0) <> 13 do case case lastkey()==27 exit case (lastkey() >= 32 .and. lastkey() <= 126) disp=disp+chr(lastkey()) h=h+1 č b,a2 GET disp PICT "&a" if a2 > c a2 = a2 -1 endif case lastkey() == 19 .or. lastkey() == 8 .or. lastkey() == 7 disp = Space(g-len(disp)+1)+substr(disp,1,len(disp)-1) h=h-1 č b,c GET disp PICT "&a" disp=LTRIM(disp) if a2 >= c+g-1 a2=c+g-1 else a2=a2+1 endif endcase clear gets enddo if lastkey()==27 keyboard chr(27) else keyboard chr(13) endif fr=space(g-len(disp)) kar=fr+disp č b,c say "" return("&a") P.S. Dobar onaj Stephen J. Straley Pozdrav Ciki!
clipper.184 snemcev,
Thanks a lot!
clipper.185 snemcev,
Jel neko uspeo da korisno upotrebi Flipper u svojim programima? Sudeći prema .ng bazi, njegovih x funkcija rade sve, al' po principu "što jednostavno, kad može komplikovano". Povrh svega, to čudo je dugačko 3M - samo malo manje nego Clipper 5.01 sve sa primerima i svim .ng bazama. Da se razumemo, ideja je OK, al' je realizacija (da ne kažem implementacija :) užas. Voleo bih da me neko ubedi da nije tako.
clipper.186 ciki,
>**> Sorsa, naravno, nema, pošto je GoMonth(d,m) interna >**> funkcija FoksProa. Uoči kako lepo rešava kraj februara >**> :). Ne mo'š ga zajeb*ti, pa to ti je. Vidis to nije tako tesko uraditi na clipper-u, jer clipper uz GET klasu ima instancu badDate, pa uz njenu pomoc i jos malo truda, sve je OK. P.S. Hvala ti, i izvini ako sam te "namucio" ;>. Pozdrav Ciki!
clipper.187 ciki,
>**> │ Kako ubaciti 1 txt fajl u memo polje >**> └─── >**> REPLACE memo_polje WITH MemoRead ("FILE.TXT") Hvala! Pozdrav Ciki!
clipper.188 bdm.,
## Kako ubaciti 1 txt fajl u memo polje, i kako ga posle procitati, tj. Pogledaj MemoRead(), MemoWrite(), MemoLine(), to ce ti sve obaviti... Ako nemas NG, ti vici... BDM.
clipper.189 toma,
■■>>>**> Ima li neko negde ono programče za ispis(unos) brojeva ■■>>>**> s desna na levo iz get-a? ■■>> ■■>> Ocekujem pice! Fala veliko! Samo nije to to! Radi i ovo, ali... Ali poslužilo je kao ideja za jednu moju funkciju koja obilazi GET. --------------------------------------------------------------------------- #include "inkey.ch" clear screen a:=0 b:=0 unesi_broj(10,10,"99,999,999.99",@a) && Funkcija vraca .T. ili .F. unesi_broj(15,10,"99,999,999.99",@b) && if unesi_broj(....) then ..:) function unesi_broj(xx,yy,pic,a) local x,y,dec,poz_dec,poz_broj,pic2,p_poz,cifre,cifre_dec,broj,broj_s x:=xx; y:=yy pic2:=pic p_poz:=at(".",pic2) poz_dec:=0 dec:=.F. if p_poz <> 0 poz_dec:=len(pic2)-p_poz pic2:=left(pic2,p_poz-1) endif pic2:=strtran(pic2,",","") poz_broj:=len(pic2) cifre:=cifre_dec:="" do while .T. broj_s:=cifre if poz_dec<>0 broj_s+="."+cifre_dec endif broj:=val(broj_s) broj:=round(broj,poz_dec) @x,y say broj picture pic color "I" if cifre=="-" @x,y say cifre color "I" endif @x,y+p_poz-1 say "" Ch:=inkey(0) do case case Ch == K_ESC .or. Ch==K_PGUP .or. Ch==K_PGDN @x,y say "" return(.F.) case Ch == K_ENTER a:=broj @x,y say broj picture pic color "I" return(.T.) case chr(Ch) $ "0123456789" if !dec cifre:=dodaj_cifru(cifre,chr(Ch),poz_broj) else cifre_dec:=dodaj_cifru(cifre_dec,chr(Ch),poz_dec) endif case chr(Ch) == "." .and. poz_dec<>0 if !dec dec:=.T. endif case Ch==K_BS if dec .and. len(cifre_dec)==1 dec:=.F. cifre_dec:="" else if dec cifre_dec:=brisi_cifru(cifre_dec) else cifre:=brisi_cifru(cifre) endif endif case Ch==K_DEL .and. len(cifre_dec)>0 if len(cifre_dec)==1 dec:=.F. cifre_dec:="" else cifre_dec:=brisi_cifru(cifre_dec) endif case chr(Ch) == "-" if len(cifre)==0 cifre:="-" elseif left(cifre,1)<>"-" .and. len(cifre)<poz_broj cifre:="-"+cifre endif case chr(Ch) == "+" .and. len(cifre) > 0 if left(cifre,1) == "-" cifre:=right(cifre,len(cifre)-1) endif endcase enddo return function dodaj_cifru(a,cif,duz) local niz if len(a)<duz niz:=a+cif else tone(1100,0) niz:=left(a,len(a)-1)+cif endif return niz function brisi_cifru(a) return(if(len(a)==0,"",left(a,len(a)-1))) --------------------------------------------------------------------------- To je to! Pozdrav from Toma.
clipper.190 nbatocanin,
>>**> Ima li neko negde ono programče za ispis(unos) brojeva >>**> s desna na levo iz get-a? Možda je lakše napisati reader za GET sistem - ne čini mi se previše teško!
clipper.191 melev,
Zdravo svima! Sto se tice CLIPPER-a ja sam pocetnik, i poceo sam da radim nesto u CLIPPER-u (Summer 87) i imam jedno pitanje na koje bih vas molio da mi odgovorite. Radi se o sledecem problemu: Kako da pretrazujem bazu a da recimo polje u kome pise PESMA mogu da pronadjem zadajuci mu 'kljuc' po kome ce da trazi samo ESMA (znaci da ne moram da zadam sve tj. PESMA). Radio sam sa LOCATE FOR izraz = "PESMA" i sa CONTINUE. Probao sam takodje i sa SEEK "PESMA" ali mi se SEEK ne svidja zato sto uvek pretrazuje od pocetka baze, i zato sto radi sa indeksnim bazama koje za LOCATE nisu potrebne. Jos jednom bih vas zamolio kad nadjete malo slobodnog vremena da mi napisete nesto o ovo problemu. pozdrav........... Melev
clipper.192 d.petrovic,
Ă> Jos jednom bih vas zamolio kad nadjete malo slobodnog vremena da Ă> mi A to znaž nikad ;)) Zaboravi na sve što nije indeksirano i pogledaj malo naredbu set softseek, ako i dalje nije jasno pitaj. Ah, da, da te ubedim... dok imaš 20-30 zapisa u bazi možda ti se locate i ne učini sporim, ali kad to bude trebalo da radi sa 4-5 000... ;)))
clipper.193 ciki,
>**> Sorsa, naravno, nema, pošto je GoMonth(d,m) interna >**> funkcija FoksProa. Uoči kako lepo rešava kraj februara >**> :). Ne mo'š ga zajeb*ti, pa to ti je. Evo saljem nesto na clipeti.Radjeno je na masini sa S'87, sto bi trebalo da bude ekvivalent FOX-ovoj GoMonth(d,m). P.S. Izvinite zbog nepreglednog listinga, ali bolje da ga ja unakazim ;(, nego SEZAM :).Salim se provucite ga posle kroz SNAP i on ce srediti stvar. Pozdrav Ciki! function Dodaj_m ( dDatum, nBroj ) a1=dtos(dDatum) nDan=val(substr(a1,7,2)) nMes=val(substr(a1,5,2)) nGod=val(substr(a1,1,4)) nPr1=nMes+nBroj if nBroj=0 return(dDatum) endif do case case nPr1>0 nGf1=int(nPr1/12) nGod=nGod+nGf1 nMes=nPr1-(nGf1*12) case nPr1=0 nMes=12 nGod=nGod-1 case nPr1<0 nBroj1=0 do while .t. nBroj1=nBroj1+1 if ((nBroj1*12)+nPr1)>0 exit endif enddo nGod=nGod-nBroj1 nMes=nPr1+(nBroj1*12) endcase do case case (nDan=31) do case case nMes=1 .or. nMes=3 .or. nMes=5 .or. nMes=7 .or. nMes=8 ; .or. nMes=10 .or. nMes=12 nDan=31 case nMes=4 .or. nMes=6 .or. nMes=9 .or. nMes=11 nDan=30 case nMes=2 if int(nGod/4)=nGod/4 .and. (nGod/100)<>int(nGod/100) nDan=29 else nDan=28 endif endcase case (nDan=30) .or. (nDan=29) nBroj=nDan do case case nMes=2 if int(nGod/4)=nGod/4 .and. (nGod/100)<>int(nGod/100) nDan=29 else nDan=28 endif otherwise nDan=nBroj endcase endcase return(ctod(str(nDan,2)+"."+str(nMes,2)+"."+str(nGod,4)))
clipper.195 bulaja,
│Kako da pretrazujem bazu a da recimo polje u kome pise PESMA mogu da │pronadjem zadajuci mu 'kljuc' po kome ce da trazi samo ESMA (znaci da ne │moram da zadam sve tj. PESMA). Radio sam sa LOCATE FOR izraz = "PESMA" i │sa CONTINUE. Probao sam takodje i sa SEEK "PESMA" └─── Jednostavno :), Clipper ima i relacioni operatator $ (sintaksa: string1 $ string2), koji proverava postojanje jednog stringa (prvog) unutar drugog. Dakle ("ESMA" $ "PESMA") ce vratiti vrednost .T., ili u tvom slucaju pretrazujes sa LOCATE FOR ("ESMA" $ izraz) Locate je inace dosta spora naredba, tako da ako ti je dovoljno samo exact pretrazivanje (kljuc = izraz) koristi SEEK po indeksnoj datoteci.
clipper.196 ciki,
>**> Kako da pretrazujem bazu a da recimo polje u kome pise >**> PESMA mogu da pronadjem zadajuci mu 'kljuc' po kome ce >**> da trazi samo ESMA (znaci da ne moram da zadam sve tj. >**> PESMA). Jedan od nacina je upotreba filtera (Znam znam ali sam je rekao da je pocetnik).Znaci imas bazu recimo koja izmedju ostalog ima polje OPIS C 6.E sada recimo tebi su potrebni svi slogovi koji imaju u tom polju ono ESMA ( ? ).Ti onda uradi ovako: ................... cKljuc="ESMA" Set filter to at(alltrim(cKljuc),opis)>0 go top P.S. Ajte ljudi da zbudzimo nesto kao sto je SUBNTX sa SEZAMA. P.P.S. Valjda ce ti biti jasno.Ako ne ti urlaj. Pozdrav Ciki!
clipper.197 ndragan,
/ Kako ubaciti 1 txt fajl u memo polje, i kako ga posle procitati, tj. / istampati? Za foksovce koji to možda ne znaju: APPEND MEMO <memo field> FROM <file> ŠOVERWRITEĆ Bez Over će da se (po difoltu) doda na kraj postojećeg memo polja. COPY MEMO <memo field> TO <file> ŠADDITIVEĆ <file> može biti i 'lpt1' pa smo ga odštampali, a može da se koristi i kao string, manipuliše njime i onda štampa; ako se kopira u memorijsku promenljivu, ne može više od 64K, ali ako ide u drugo memo polje pa se tamo mulja, on pravi sve nove i nove primerke tog polja (recimo Replace mpolje with chrtran(mpolje,chr(9),' ') bi napravilo nov primerak koji bi sadržavao blankove umesto tabova. Suvišni primerci se brišu sa Pack Memo. Jedino treba voditi računa o prostoru na disku.
clipper.198 broker,
> Pa, nije dugacak za pisanje, ali je ocajno dugo cekati > kompajliranje na AT/12Mhz/40MbHdisk! Mislim da i malo zahtevan. Napisao sam nnnnn linija kliper koda baš takvoj mašini i nije mi se činio spor. Naravno, radio sam u modulima.
clipper.199 ndragan,
/ return(ctod(str(nDan,2)+"."+str(nMes,2)+"."+str(nGod,4))) Au, bre, mnogo dugačko. Kad malo bolje razmislim - neka ga skraćuje neko drugi. Ima jedna prostija ideja (svojevremeno korišćena u kobolu :), da se napravi dvanaestočlani niz koji ima broj dana od početka godine do prvog u mesecu, dakle (0,31,59,90,120,151...,334). Za prestupne godine samo dodaš 1 za mesece veće od dva. To bi skratilo račun, a?
clipper.200 bulaja,
│a1=dtos(dDatum) │nDan=val(substr(a1,7,2)) │nMes=val(substr(a1,5,2)) │nGod=val(substr(a1,1,4)) └─── Clipper ima svoje funkcije Day(), Month() i Year() :).
clipper.201 dusanp,
Da li neko zna za neki stvarno dobar generator ekrana, nesto upotrebljivo? Da li neko koristi bilo kakav program? Kako pravite menije, getove i sl? Da li moze nesto da se ucini iz dBase-a? Kako to radi Fox?
clipper.202 bulaja,
│Da li neko zna za neki stvarno dobar generator ekrana, nesto upotrebljivo? └─── \IBMPC\EDITOR\ tdraw450.arj .a01 TheDraw v4.50, screen generator/editor TheDraw v4.50, ekranski (screen image) generator/editor. Poseduje razne mogucnosti kreiranja ekrana za prikazivanje, a uradjeno je moguce snimiti u mnogobrojnim formatima za kasnije koriscenje ili pozivanje iz svojih programa. Podrzani formati su: ANSI color, ASCII text, binarni (dump sadrzaja ekrana sa atributima), BSave (Basic), .COM (pravi izvrsne datoteke), Assembler, Turbo Pascal, C, Object (.OBJ) i specijalni TDraw (kompresovani). Binarni oblik se moze koristiti prakticno iz svakog programskog jezika, npr. kompatibilan je sa Clipper-ovim savescreen().
clipper.203 ciki,
>**> / return(ctod(str(nDan,2)+"."+str(nMes,2)+"."+str(nGod,4)) >**> >**> Au, bre, mnogo dugačko. Kad malo bolje razmislim - neka >**> ga skraćuje neko drugi. :))) Ma nije to nista. U stanju sam da u DOS-u pisem da bi iskopirao nesto iz dir-a u dir jos duze kobasice, a da ne startujem pct :) Pozdrav Ciki!
clipper.204 ciki,
>**> Clipper ima svoje funkcije Day(), Month() i Year() :). :))))))) Znam! Pogledaj odgovor ndragan-u i sve ce ti biti jasno! Pozdrav Ciki!
clipper.205 petrovics,
>> i sa SEEK "PESMA" ali mi se SEEK ne svidja zato sto uvek pretrazuje od >> pocetka baze, i zato sto radi sa indeksnim bazama koje za LOCATE nisu Sto pre batali sve sto ne radi sa indeksima (set filter to, locate, ...) jer to po nekad zna da traje satima ... Iskljucivo koristi indekse za pretrazivanje.
clipper.207 toma,
■■>>>>**> Ima li neko negde ono programče za ispis(unos) brojeva ■■>>>>**> s desna na levo iz get-a? ■■>> ■■>> Možda je lakše napisati reader za GET sistem - ne čini mi se previše ■■>> teško! Evo ga! Ali... Pošto se bliži vreme godišnjih obračuna, imam vrlo malo vremena tako da je ovo u stvari samo neka ideja... Ako neko ima malo više vremena neka pogleda i neka ga "dopravi". Pozdrav from Toma. ps. zip je ver1.1 ! getsys.zip
clipper.208 melev,
║ Locate je inace dosta spora naredba, tako da ako ti je dovoljno samo ║ exact pretrazivanje (kljuc = izraz) koristi SEEK po indeksnoj datoteci. Ubedili ste me da predjem na SEEK. Polako sam punio bazu i kada se poprilicno napunila onda više nije tako brzo radilo kao pre. Da ne bih svima odgovarao pojedinacno, koristim priliku da se svima zahvalim koji su mi odgovorili (i to svi isto :))). Imam još jedno pitanje: (al' davim) Kako rešavate problem sortiranja? Recimo kada mu dam da pronadje neki string po 'ključu' i on mi nadje više njih, kako da ih sortiram pa tek onda da min ih ispise? Koristio sam SORT ali je užasno sporo. Da li postoji neka druga fora? pozdrav...... Melev
clipper.209 gstojkovic,
Zdravo! Prvo srecna Nova godina, Bozicni praznici i Pravoslavna Nova godina svima koji se nalaze na ovoj konferenciji. Imam jedan problem sa programom pa molim sve dobo dusne kliperase da mi po- mognu.Naime imam jedan program napisan dosta pocetnicki posto sam i sam pocetnik koji ima oko 4600 linija i pri duzem radu javlja mi sledece gresku za koju nisam nasao objasnjenje ni u NG ni u nekim knjigama koje imam o programiranju u Clipperu. Greska je sledeca: (B)__GET(0) UNRECOVERABLE ERROR 650: PROCESSOR STACK FALUT. Predpostavljam da ova greska ima veze sa Get naredbom i sa nekom nepravilnom upotrebom te naredbe. Dali postoji nacin da je otkonim i kako. Molim vas iza blize objasnjenje ove greske. Unapred zahvalan na odgovoru... S'postovanjem Goran Stojkovic
clipper.210 ndragan,
/ Ma nije to nista. U stanju sam da u DOS-u pisem da bi iskopirao Jedan kolega je za života stigao da smisli teoriju o dve vrste lenjih programera: jedni su lenji da pišu dugačke komandne linije, a sačuvaj bože da ikad otkucaju istih pet komandi jednu za drugom - oni će radije da napišu nešto da sledeći put kucaju bilo kakvu nebulozu _ne_dužu_od_ 20 znakova; druga vrsta lenjih programera će i jedanaesti put kucati isti niz kobasica, jer nešto nisu ubeđeni da će morati i dvanaesti put... (e sad mi se čini da sam ovo već jednom kucao, ali ipak spadam u onu drugu grupu :) ). Ono što u tvom primeru odudara od te priče, je da rutine koje treba često nešto da muljaju (a takve datumske zezalice se kod kamata ponavljaju kod svakog sloga bar jednom) treba da budu optimizovane (što kraće a brže); za rutinu za ispis zaglavlja se nikad ne bih pretrgao. Vredi razmisliti čak i o pravom matematičarskom skraćivanju algoritma (ako može).
clipper.211 ndragan,
/ ucini iz dBase-a? Kako to radi Fox? Super (mislim na foks pro 2.0). Svrati do Maksa ili Jure pa da vidiš. (Max, Jura, primate jednog kliperaša da vam zaviri u ekran? :)
clipper.212 jtitov,
> (Max, Jura, primate jednog kliperasa da vam zaviri u > ekran? :) Naravno, uvek raspolozen za saradnju.
clipper.214 ppekovic,
>> Kako rešavate problem sortiranja? Recimo kada mu dam da pronadje neki >> string po 'ključu' i on mi nadje više njih, kako da ih sortiram pa tek onda >> da min ih ispise? Koristio sam SORT ali je užasno sporo. Da li postoji neka >> druga fora? Ako tražiš sa seek, znači da tražiš po indeksu, a indeks je sortiran, tako da će ti niz koji pronađeš uvek biti sortiran ;) Paya
clipper.215 dusanp,
=> Super (mislim na foks pro 2.0). Svrati do Maksa ili Jure => pa da vidiš. Videh, shvatih, ostadoh ;)) Ma fox nije normalan kolko je dobar. Sve ono što mi je trebalo se nalazi na jednom mestu. I ekran i meni i dbf i još_koječega generator... A druga stvar je nacin rada - kod clippera me je izluđivala sporost u radu tipa napravim malu izmenu, kompajliram i popijem kafu, podsetim se sta sam ono bese menjao, pa opet od početka. A i stomak mi propade od silnih kafa:) Dakle od danas narode: u klasi programa koji rade sa dbase formatima radim u Foxu.
clipper.216 pedjolino,
Evo mog resenja tvog problema. Program je kratak i lako ces razumeti sta radi. Uokviri ga da bude kao funkcija i eto resenja. Pozdrav Nenad. datumi.prg
clipper.217 d.petrovic,
Ă> 650: PROCESSOR STACK FALUT. Predpostavljam da ova greska ima veze Miriše na neko pozivanje funkcije ili procedure rekurzivno, ali da se ne vraćaš odakle si počeo. Valjda ti ispiše odakle je šta i po koliko puta pozvano.
clipper.218 d.petrovic,
Ă> Dakle od danas narode: u klasi programa koji rade sa dbase Ă> formatima radim u Foxu. conf ignore dusanp ;) Da ga se odreknemo? ;)
clipper.219 ndragan,
/ string po 'ključu' i on mi nadje više njih, kako da ih sortiram pa tek / onda da min ih ispise? Koristio sam SORT ali je užasno sporo. Da li / postoji neka seek <traženi string> sort to radna while <onaj isti uslov> select 0 use radna To ako su traženi slogovi zaista jedan do drugoga; ako nisu, onda malo komplikovanija tehnika: iskopiraš strukturu baze; nađeš prvi slog; iskopiraš taj slog u onu drugu bazu, ponavljaš 2. i 3. dok nalaziš slogove; indeksiraš drugu bazu kako hoćeš, radiš s njom šta hoćeš i na kraju je obrišeš (šta će ti ?).
clipper.220 dusanp,
=> conf ignore dusanp ;) Da ga se odreknemo? ;) Šo? Bojiš se promena?
clipper.221 bulaja,
│Kako resavate problem sortiranja? Recimo kada mu dam da pronadje neki │string po 'kljucu' i on mi nadje vise njih, kako da ih sortiram pa tek │onda da min ih ispise? └─── Ako trazis string po kljucu koji je ujedno i index key, onda ces dobiti sve poredjano. Ako trazis npr. sa LOCATE, onda smesti sve sto nadjes i niz i sortiraj niz pre prikazivanja funkcijom ASort(). Na SORT naredbu zaboravi :).
clipper.222 d.petrovic,
Ă> => conf ignore dusanp ;) Da ga se odreknemo? ;) Ă> Ă> Šo? Bojiš se promena? Proveravaš? ;) Hajde idi spavaj, kad se probudiš ličiće ti to sve na ružan san ;)
clipper.223 banex,
Posle 2 nedelje mučenja, najzad sam rešio jedan problem koji mi se pojavljivao u programima, pa da ga podelim sa vama. Naime, pri izlasku iz programa koji je sve savršeno radio dobijao sam poruku 'Run-Time error R6001 - null pointer assignment'. Naravno, broj grešeke ne postoji u ng za clipper (5.01), a krive su dve funkcije iz Expand v2.0 biblioteke ( PackDate() & PackTime() ). Nisam imao vremena da eksperimentišem sa njima i vidim da li postoji neki način da se izbegne taj problem, ako ga pronađem obavestiću vas. CU! -BANE-
clipper.224 ciki,
>**> Evo mog resenja tvog problema. Program je kratak i lako >**> ces razumeti sta radi. Uokviri ga da bude kao funkcija >**> i eto resenja. Nije problem.U stvari pre je bio ali mali, sada ne.Inace i ja sam uradio onu kratku proc :). P.S. Hvala ti na trudu.Svaka pomoc je dobrodosla. Pozdrav Ciki!
clipper.225 ciki,
Ho! Ljudi, moze li, i ako moze da postoji 2 ridera u jednom programu. 1 da bude ono s'leva na desno, a II obratno? Pozdrav Ciki!
clipper.226 ciki,
Ho! Posle svih poruka slovima, koja funkcija radi tacno, i uz koju je poruku vezana. Pozdrav Ciki!
clipper.227 nbatocanin,
> Molim vas iza blize objasnjenje ove greske. Ovo se javlja kada rekurzivno pozivaš "previše" puta neku funkciju - proveri da li neka rezidentna f-ja poziva sama sebe i sl.
clipper.228 gstojkovic,
*** Hvala d.petrovicu i nbatocaninu na odgovorima. Problem odklonjen po vasim savetima. ;) Pozdrav Goran
clipper.229 ppekovic,
>> Naime, pri izlasku iz programa koji je sve savršeno radio dobijao >> sam poruku 'Run-Time error R6001 - null pointer assignment'. Naravno, >> broj grešeke ne postoji u ng za clipper (5.01), a krive su dve >> funkcije iz Expand v2.0 biblioteke ( PackDate() & PackTime() ). Iz ove greške se vidi da je ta biblioteka pisana uz pomoć Microsoft C kompajlera ;)). Pored uopštenog objašnjenja datog u Microsoft Help-u, konkretno, ta greška se javlja kada ne alociraš dovoljno memorije za neku promenljivu, ili jednostavno negde pogrešiš u pointer aritmetici i sl. >> Nisam >> imao vremena da eksperimentišem sa njima i vidim da li postoji neki >> način da se izbegne taj problem, ako ga pronađem obavestiću vas. Dakle, teško da ćeš uspeti to da "središ". Paya
clipper.230 nbatocanin,
> Ljudi, moze li, i ako moze da postoji 2 ridera u jednom > programu. 1 da bude ono s'leva na desno, a II obratno? Može, bilo je u "Računarima". Samo promeniš promenljivu reader u odgovarajućem objektu. Na primer, imaš proceduru za unos "u levo": @ 1,0 GET x @ 2,0 GET y @ 3,0 GET z // Izmena readera-a drugog objekta GetList[2]:reader := { || GetLeft() } READ
clipper.231 nbatocanin,
U vezi za editorom memo polja koji je objavljen u "Računarima": neke funkcije sam dodelio tasterima koje iz nepoznatog razloga neki računari ne prepoznaju. Znači, postoje dva leka: ili ubacite odgovarajući kod tastera u INKEY.CH ili izaberite neki drugi taster.
clipper.232 ndragan,
/ conf ignore dusanp ;) Da ga se odreknemo? ;) Mani čoveka. Trpite i mene, pa jel' vam nešto škodilo? :)
clipper.233 bulaja,
│ U vezi za editorom memo polja koji je objavljen u "Racunarima": │neke funkcije sam dodelio tasterima koje iz nepoznatog razloga neki │racunari ne prepoznaju. └─── Morali bi svi sa AT tastaturom da ih prepoznaju, verovatno je problem u tome sto nisu ubacili kodove za njih u inkey.ch. Ako ne znate koji je Inkey() kod nekih tastera (a veliki broj Alt-* i Shift* kombinacija nije opisan ni u Inkey.Ch ni u dokumentaciji), evo vam programcic koji ispisuje Inkey() kodove za pritisnute tastere (ESC za izlaz). Nije neka mudrost :) ali radi. inkey.arj
clipper.234 ciki,
Ho! Imam jedan question. U novim racunarima ima sema kako procitati neke generalije oko diska. Problem je u tome kako to izvesti uz pomoc nanfor-a i FT_INT86() (e tako bese), ili uz pomoc masm-a, ali da mi parametre preda clipper programu. Pozdrav Ciki!
clipper.235 d.petrovic,
Ă> Mani čoveka. Trpite i mene, pa jel' vam nešto škodilo? :) Ti nisi ni bijo naš, protivnika poštujemo, a izdajicu... ;)
clipper.236 dusanp,
=> Ti nisi ni bijo naš, protivnika poštujemo, a izdajicu... Ma pusti ti izdajicu. Posao za koji bi mi u kliperu trebalo pet dana rada, u foxu sam uradio za dva. A još uvek se navikavam, verovatno to može i brže. Niko do sada nije napisao ništa o makroima u foxu. E, pa ja sam foxov editor prilagodio tako da je CTRL+Y brisanje linije, F2 snimanje fajla, F9 kompajliranje... bogte ko u BC-u:))
clipper.237 bulaja,
│ Niko do sada nije napisao nista o makroima u foxu. E, pa ja │sam foxov editor prilagodio tako da je CTRL+Y brisanje linije, │F2 snimanje fajla, F9 kompajliranje... bogte ko u BC-u:)) └─── Ajde da te vidim jos da to cudo od Fox-a povezes sa BC-om. :)
clipper.238 ciki,
>**> Ajde da te vidim jos da to cudo od Fox-a povezes sa BC-om. :) Ako povezes i ja prelazim na FOX!? P.S. Sala mala. Pozdrav Ciki!
clipper.239 ndragan,
/ Posle svih poruka slovima, koja funkcija radi tacno, i uz koju je / poruku vezana. Da ne šaljem četvrti put, ostalo je da DejanR ubaci poslednje izmene, jer se poslednja verzija već dovoljno razlikuje od klipera (rutina je za Foks). Još uvek dobijam poruke gde me ljudi pitaju šta je Between(a,b,c) i šta je Mod(a,b). Mislim da je vreme da to završimo. Dejane?
clipper.240 dusanp,
=> Ajde da te vidim jos da to cudo od Fox-a povezes sa => BC-om. :) Pokušaću, i čim nešto smislim, odmah javljam. Nevolja je u tome što za zezanje imam vremena tek za 15 dana... Naravno da i mene zanima povezivanje - zamisli sa jedne strane fox a sa druge paradox engine:)))
clipper.241 ndragan,
/ Ti nisi ni bijo naš, protivnika poštujemo, a izdajicu... ;) Prelistaj malo unazad, ono sa kelnerom... (wait to waiter). Imao sam jednu aplikaciju u kliperu. Nije loše kao iskustvo.
clipper.242 garderp,
Zanimaju me sledeći podaci o Clipperu 5.01: - Kolika je maximalna dužina u MB po jednoj tabeli - Koliki je maximalni broj otvorenih dbf-ova i ntx-ova - šta sve od dodatnih modula postoji za clipper - da li ga je moguće povezati samo sa MS C-om - ako je odgovor na prethodno pitanje DA, zašto - da li clipper ima primarne i sekundarne indekse - da li je podržano struktuirano programiranje, dakle: - javne i privatne varijable sa mogućnošću maskiranja - rekurzivni pozivi funkcija - varijabilan broj parametara pri pozivu funkcije - vektori proizvoljne dimenzije - strukture - da li može da se piše malim slovima (ovo zadnje nije bitno, samo sam se šalio)
clipper.243 nbatocanin,
> Morali bi svi sa AT tastaturom da ih prepoznaju, verovatno > je problem u tome sto nisu ubacili kodove za njih u > inkey.ch. Na žalost, ne. Već sam poslao poruku na tu temu: Clipper na nekim računarima ne prepoznaje sve kodove sa tastature!
clipper.244 ciki,
>**> Da ne šaljem četvrti put, ostalo je da DejanR ubaci >**> poslednje izmene, jer se poslednja verzija već dovoljno.. Ups. Ima jedna u novim R. Sorry. Pozdrav Ciki!
clipper.245 ciki,
Ho! Evo pisem ovo i obracam se fox-ovcima (a ruka mi drhti...), da mi pojasne neke stvari uvezi fox-a. 1.) Ima li fox nesto ekvivalentno clipper naredbama: a) Valid i When (č say .. get .. pict .. valid ... when) b) Kako se fox snalazi sa set filter na mnogo slogova c) Ima li vise dimenzione nizove i naredbe slicne aadd i ascan ( prva dodaje novi element nizu, a druga trazi odredjeni element u nizu?) d) Max broj elemenata jedne areje(niza)? e) max broj slogova u datoteci f) duzina numerickog polja g) duzina memo-a 2.) Kako se snalazi sa programima radjenim za color kartu na mono sistemima? 3.) Ako neko zna mogucnost povezivanja flipper-a sa fox-om. P.S. Ajde ako nekome nije tesko da mi ovo nazvrlja. P.P.S Kada budem u Bg iskoristio bih priliku da odem kod nekoga koji dobro barata fox-om da mi prikaze prave mogucnosti, pa da ne budem sasvim ne upucen! P.P.P.S. A kako se snalazi sa pacovom? Pozdrav Ciki!
clipper.246 bulaja,
> Zanimaju me sledeci podaci o Clipperu 5.01: │ - Kolika je maximalna duzina u MB po jednoj tabeli └─── Velika :). U prakticnom pogledu neogranicena, ali mislim da je teorijski limit na nekih 16 Gb. Meni trenutno stoje na disku baze od nekih desetak Mb i (naravno) rade bez problema. │ - Koliki je maximalni broj otvorenih dbf-ova i ntx-ova └─── Za razliku od PXE :), koliko god hoces do 255 (i da bude u config.sys). │ - sta sve od dodatnih modula postoji za clipper └─── Svasta :). │ - da li ga je moguce povezati samo sa MS C-om │ - ako je odgovor na prethodno pitanje DA, zasto └─── Moze i sa ostalim C-ovima, jedino sto samo sa MS C-om radi dobro float emulacija (zato ima problema sa povezivanjem grafike). Inace redovno korisitm kombinaciju Clipper + BC++ i radi :). │ - da li clipper ima primarne i sekundarne indekse └─── Jos uvek mi nije do kraja jasno sta Paradox podrazumeva pod sekundarnim indeksom, ali u Clipper-u mozes imati do 15 istovremeno otvorenih indeksa nad jednom bazom, mozes menjati koji ce biti primarni i svi se automatski osvezavaju prilikom promene vrednosti kljuceva. │ - da li je podrzano struktuirano programiranje, dakle: │ - javne i privatne varijable sa mogucnoscu maskiranja │ - rekurzivni pozivi funkcija │ - varijabilan broj parametara pri pozivu funkcije │ - vektori proizvoljne dimenzije └─── Da. Da. Da. Da. │ - strukture └─── Ne poput C-ovskog struct, ali ne fali mnogo jer se sve moze izvuci usled slabe tipiziranosti (npr. simulacija struktura preko nizova). │ - da li moze da se pise malim slovima └─── Da :). Sve u svemu, mrka kapa za Paradox Engine u poredjenju sa Clipper-om :). Ako vec hoces da pokusas da pokazes u cemu je PXE (pretpostavljam da te Clipper interesuje za prezentaciju :) bolji od Clipper-a, onda jedino da krenes od sporosti Clipper-a i brzine PXE.
clipper.247 dejanr,
Ne znam gde bih ovo pitao, pa reko' pošto je program na Clipper-u... Elem, prilagođavam neki softver za neku firmu, i između ostalog generišem neke spiskove koji idu za socijalno. Tu ima i odgovarajućih podataka za druge firme itd, da ne dužim mnogo. Tek, pojavljuje se jedan broj koji se u zdravstvenoj knjižici zove "registarski broj", i na neki način opisuje radnu organizaciju. To, međutim, nije matični broj RO, pre svega zato što matični broj ima 7 cifara a ovaj ima 10, a osim toga matični brojevi za Srbiju počinju na 7 a ovaj broj, reklo bi se po par "štih proba" sa naokolo sakupljenim zdravstvenim knjižicama, počinje sa 6 (ili čak 60). Zna li neko o kakvom se broju tačno radi i da li u njegovom dodeljivanju postoji ikakva logika koja bi omogućila da se "izvadi" iz ostalih podataka o firmi, ili se mora negde (gde?) juriti baza podataka koja sadrži imena firmi i ove "registarske brojeve"?
clipper.248 dnikolic,
>> Za razliku od PXE :), koliko god hoces do 255 (i da bude u config.sys). Zasto za razliku od PXE? Pa i tamo moze da se otvori do 255 baza! >> emulacija (zato ima problema sa povezivanjem grafike). Inace redovno >> korisitm kombinaciju Clipper + BC++ i radi :). :) Jos bolje saradjuju PXE i BC. >> Sve u svemu, mrka kapa za Paradox Engine u poredjenju sa Clipper-om :). Ne vidim u cemu je Clipper bolji. Brzinu necu pominjati. :)) dn
clipper.249 zkrstic,
> Ne vidim u cemu je Clipper bolji. Brzinu necu pominjati. :)) Uh! Jel' si bre doručkovao :))) Pa PXE ima samo jednu prednost nad Clipperom a to je brzina... Zkr :)
clipper.250 garderp,
> Sve u svemu, mrka kapa za Paradox Engine u poredjenju sa > Clipper-om :). Ako vec hoces da pokusas da pokazes u cemu > je PXE (pretpostavljam da te Veruj mi da sam šokiran izjavom da je mrka kapa za PXE i to u odnosu na clipper. - sve što sam pitao za clipper to već PXE ima jer to u stvari C ili Pascal imaju, hteo sam samo da vidim šta clipper nema - ne verujem (mada trenutno ne mogu do kraja da argumentujem) da prevodilac clipper -> machine code može da radi bolje od borland C 3.1 -> machine code. - Struktura dbf-a je jako anahrona. (čitaj spora) - Ova prethodna razloga govore o brzinskom preimućstvu PXE-a u odnosu na clipper. Recimo da clipper ima sve kao i PXE što se tiče mogućnosti programiranja. Šta je onda sa brzinom? Zašto onda ostati na nečemu što je očiglednije sporije, samo zbog toga što nas mrzi da učimo još malo. Koliko sam obavešten, treba da izadje nova verzija clippera (6.xx) za Windowse. Dakle, to treba da se kupi. PXE radi za DOS isto tako dobro kao i za Windows. Ako sad kažeš ko radi baze za Windowse, nećeš me baš ubediti. To što se kod NAS ne radi ni stoti deo aplikacija za Windowse kao u svetu, to je druga stvar. Razlog je nedostatak literature koji je razlog informatičke blokade i siromaštvo, koji sam u nekoj ranijoj poruci pomenuo.
clipper.251 dnikolic,
>> Zasto za razliku od PXE? Pa i tamo moze da se otvori do 255 baza! Pardon, fajlova. dn
clipper.252 bulaja,
│Zasto za razliku od PXE? Pa i tamo moze da se otvori do 255 baza! └─── Koliko sam ja cuo, samo 20 (?).
clipper.253 ndragan,
/ Na žalost, ne. Već sam poslao poruku na tu temu: Clipper na nekim / računarima ne prepoznaje sve kodove sa tastature! Foks Pro ima sličan problem na nekim kombinacijama ploča/tastatura; negde ne prepoznaje f11/f12 (što može i da mu se javi u config.fp), negde se numerička tastatura (navigaciona takođe) ponašaju kao da je (ponekad) pritisnut šift. Ovo se javlja samo ponegde (jedna tastatura na Gaminoj mašini, dve-tri IPC 286/16 NEAT sa TipPro tastaturama, uz još dve identične sa kojima nema problema), i to uglavnom na mašinama iz '89/91. Probao sam i int9fix, ali ne pomaže.
clipper.254 ndragan,
/ Ups. Ima jedna u novim R. Sorry. Ono je Batoćaninova verzija, a reklama je išla na mene - verovatno frka pri slaganju strana. NHF što se mene tiče. Predlažem da se obe(tri?) rutine zipuju zajedno i ostave u Clipper direktorij. A?
clipper.255 ndragan,
/ a) Valid i When Da; sama Read naredba ima Valid, Activate, Deactivate i još brdo drugih opcija. Ni meni još nije jasno šta sve može da se radi njim. / b) Kako se fox snalazi sa set filter na mnogo slogova FP2 je strava brz po tom pitanju ako postoji strukturni indeks po polju koje učestvuje u filterskom izrazu; za bilo kakvo filtriranje je bolje i brže napraviti SQL kursor. Pretraga se optimizuje, ne znam kako, ali je jako brz. / c) Ima li vise dimenzione nizove i naredbe slicne aadd i ascan Dvodimenzione, koji se istovremeno koriste i kao jednodimenzioni. Aadd mi nije trebao, valjda ima, a Ascan se valjda kaže InArray(...). Za mnoge stvari koje su se trpale u nizove opet je bolje napraviti SQL kursor. Brže je, ponaša se kao .dbf, sam se briše posle zatvaranja. / g) duzina memo-a Koliko imaš mesta na disku. / 2.) Kako se snalazi sa programima radjenim za color kartu na mono / sistemima? Preko kolor šema - ima ih valjda 32, od 1 do 10 su sistemske, i sve su pod tvojom kontrolom; mogu se podesiti programski ili interaktivno; pošto se pamte u Foxuser.dbf, možeš imati različite za svaki računar. / P.P.P.S. A kako se snalazi sa pacovom? Ne snalazi se. Jednostavno ga koristi. Prepoznaje da je učitan drajver. Crtanje ekrana, izveštaja i SQL kursora je drastično brže ko je vešt sa glodarom. Evo šta daje na "help system capacities": FoxPro FoxPro Standard Extended ───────── ───────── Database and Index Files ──────────────────────── Max # of records per database* 1 billion 1 billion Max # of chars per record 4,000 4,000 Max # of fields per record 255 255 Max # of open DBFs 25 25 Max # of chars per field 254 254 Max # of chars per index key (IDX) 100 100 Max # of chars per index key (CDX) 240 240 Max # of open index files per database** unlimited unlimited Max # of open index files in all work areas** unlimited unlimited Field Characteristics ───────────────────── Max size of character fields 254 254 Max size of numeric fields 20 20 Max # of chars in field names 10 10 Digits of precision in numeric computations 16 16 Memory Variables and Arrays ─────────────────────────── Default # of memory variables 256 256 Max # of memory variables 3,600 65,000 Max # of arrays 3,600 65,000 Max # of elements per array 3,600 65,000 Program and Procedure Files ─────────────────────────── Max # of lines in source program files unlimited unlimited Max size of a single compiled PROCEDURE or FUNCTION 64K 64K NOTE: A program or application can contain an unlimited number of program modules. Max # of procedures per file unlimited unlimited Max # of nested DO calls 32 32 Max # of READ nesting levels 5 5 Max # of nested structured programming commands 64 64 Report Writer Capacities ──────────────────────── Max # of objects in a report definition unlimited unlimited Max # of lines in a report definition 255 255 Max # of grouping levels 20 20 Window Support ────────────── Max # of open windows unlimited unlimited Max # of open Browse windows 25 25 Miscellaneous Capacities ──────────────────────── Max # of chars per string 64K 2 gigabytes Max # of chars per command line 2,048 2,048 Max # of chars per macro subst. 255 255 Max # of open files 99 DOS limit Max # of keystrokes per keyboard macro 1,024 1,024 Max fields that can be selected by a SQL SELECT statement -- in the projection list (same as the maximum fields per record in a database) 255 255 Color Support ───────────── Number of color schemes per color set 24 24 Max # of color sets unlimited unlimited Number of colors per scheme 10 10 Schemes available for user definition 8 8 * The actual file size (in bytes) cannot exceed 2 gigabytes for single-user or exclusively opened multi-user .DBF files. Shared multi-user .DBF files with no indexes or .IDX indexes cannot exceed 1 gigabyte. Shared multi-user .DBF files with structural .CDX indexes cannot exceed 2 gigabytes. ** Limited by memory and available DOS file handles. Each .CDX file uses only 1 file handle. The number of DOS file handles is determined by the CONFIG.SYS parameter 'FILES=xxx'. Poruka je malo duža, da bih predupredio potpitanja :)
clipper.256 dusanp,
=> Uh! Jel' si bre doručkovao :))) Pa PXE ima samo jednu => prednost nad Clipperom a to je brzina... Nisi pomenuo kompaktnost baze, sto ja smatram udarnom prednoscu paradox formata. Nije zanemarljiva potrosnja diska kad covek ima 30 mb hard. Iz boljeg formata podataka proizilaze i druge prednosti - brzina, brzina i brzina...
clipper.257 dejanr,
>> Recimo da clipper ima sve kao i PXE što se tiče mogućnosti >> programiranja. Šta je onda sa brzinom? Zašto onda ostati na nečemu >> što je očiglednije sporije, samo zbog toga što nas mrzi da učimo još >> malo. Eh... to "malo" učenja je ogroman problem i mnogo košta. Uvek je pri prelasku na "sledeću generaciju softvera" (u bilo kom smislu te reči) *najveći* problem i trošak obuka korisnika, odnosno u ovom slučaju programera. Drugo, tu su ogromna ulaganja u do sada razvijeni kod koji se ugrađuje u buduće aplikacije (imaš nešto, promeniš ime korisnika i dodaš/oduzmeš par sitnica, i to lepo naplatiš 1000 dem ;) što bi pri prelasku na "nešto drugo" trebalo pisati od nule. Pa onda uzmi u obzir ono vreme koje je potrebno da programeri počnu da "proizvode" *pouzdan* kod na novom jeziku - svaki jezik ima neke "cake" na koje treba paziti, pa i bugove, a to se samo kroz praksu otkriva... videćeš da je u većini slučajeva *mnogo* jeftinije (obaška što je i lakše) kupiti brži računar nego preći na brži jezik! Da nije tako, ne bi se većina poslovnih aplikacija i dalje razvijala na Cobolu ;)
clipper.258 cubro,
> prelasku na "nesto drugo" trebalo pisati od nule. Pa onda uzmi > u obzir ono vreme koje je potrebno da programeri pocnu da > "proizvode" *pouzdan* kod na novom jeziku - svaki jezik ima > neke "cake" na koje treba paziti, pa i bugove, a to se samo > kroz praksu otkriva... videces da je u vecini slucajeva *mnogo* > jeftinije (obaska sto je i lakse) kupiti brzi racunar nego > preci na brzi jezik! Da nije tako, ne bi se vecina poslovnih > aplikacija i dalje razvijala na Cobolu ;) So, Dejane, ovo nisam ocekivao od tebe. Ako na svetu izmisljaju nove programske jezike, ili ih barem poboljsavaju, ne verujem da je sve to zbog uzimanja profita (u vecem delu, mada ima i toga). Posto je rasprava PDX vs. Clipper ovde pokrenuta, moracu da se i ja ubacim posto ja koristim obadva. Moja firma koristi Clipper (novu i staru istovremeno, zavisno od starosti aplikacije), a ja privatno PDX i to PXEngine 2.0 (zasada), i PARADOX 4.0 sa Runtime 3.0 biblio- tekom. PXEngine koristim u sklopu sa TP 6.0. So, posto moja firma koristi clipper imao sam prilke da postanem po meni, dobar strucnjak na jednom odlicnom jeziku sirokih mogucnosti, ali jako sporom. Zasto ? Prvo i prvo : posto u firmi imamo AT racunare (286/16), a puno puno podataka i slogova, a verujem da i VECINA firmi ima isti takav, obrada ili interaktivan rad je uzasno spor (npr. set filter ili slicno, mada ove uopste ne treba koristiti), a nasi direktori, kazu - narocito u ovakva vremena - e, pa para nemamo, ne moze 486, itd...Masina odlicna ali ipak ne moze. Plate ili ce biti ili ne al' za masinu nema. Jedino nam ostaje da idemo na neki brzi jezik, bolju organizovanu bazu. Samo da napomenem, da li video razlike u duzinama file-ova i indeksa izmedju DBF i PDX file formata. Ogromna razlika. Npr kod jedne moje datoteke ogromne velicine (kartice osnovnih sredt.) indeksna datoteka je za 15 puta manja od NTX ili NDX (svejedno je) U PDX 4.0 file formatu je jos manja (i datoteka i indeksi). Clipper ima jednu veliku manu. On ucitava i podatke u memoriju sto je sasvim nepotrebno. Posto je kod PDX-a indeksi jako mali mogu da se ucitaju svi pokazatelji u memoriju, tako da prakticno cela datoteka u memoriji a pristup neverovatan. Testirali smo PDX na 486/50MHz sa 73.000 sloga kriterijumi po datumu, opisu i iznosu (1700 rekorda), i PDX je to izvadio za 3 (TRI) sekunde. Nevidjeno ! Istina da je masina brza, ali moj kolega ciji je racunar gore pomenut (On radi FoxPro 2.0) izjavio da je FoxPro puz u poredjenju sa PDX. Ja mu poverovao, ali FoxPro jos nisam video. (mislim radio na njemu). A tek programiranje u PAL-u. (poseban jezik za programiranje u Paradoxu). Mozes je savladati za mesec dana, a dobijas izgled i rad kao u TVISION-u BC++ - a, ili TP 6.0, rad sa misem, event-driven,itd... (da nismo pogresili temu?...). Filozofija : ko hoce da radi u Clipperu, neka nastavi taj ne mora da nauci C, C++, TP 6.0, 7.0. ?.??... i PDX sa njim, ali ako vec, neko koristi te jezike, zasto ne bi naucio. Meni je trebalo 3 dana muke, 3 dana prakse i 1 dan da napisem program koja lepo radi. To se ne zove ogromno ulaganje. Pameti jeste, ali ja se time ponosim. Inace jos radim na HONEYWELL-u Cobol, na PC-u MBPCobol, itd... OK, jeftinije je kupiti brzi racunar nego uciti (?!). Onda da se vratimo BASICU - u i da kupimo CRAY-4. Jel' moze tako ?
clipper.259 bulaja,
│Predlazem da se obe(tri?) rutine zipuju zajedno i ostave u Clipper direktorij. │A? └─── Aha! :)
clipper.260 neman,
> Filozofija : ko hoce da radi u Clipperu, neka nastavi taj > ne mora da nauci C, C++, TP 6.0, 7.0. ?.??... i PDX sa > njim, ali ako vec, neko koristi te jezike, zasto ne bi > naucio. Meni je trebalo 3 dana muke, 3 dana prakse i 1 dan > da napisem program koja lepo radi. To se ne zove ogromno > ulaganje. Pameti jeste, ali ja se time ponosim. Inace jos > radim Sve te jezike si i mogao da naučiš samo tako, analizirajući ih po desetak dana ;> Mislim da je važnija podrška koju imaš za programski paket koji koristiš. Tu ide i raspostranjenost tog programskog paketa. Ja sam imao ATARI 800 XL i nije mi bilo nimalo prijatno što svi ostali imaju C64 ili ZX SPECTRUM. Isto važi i za taj PDX, a da ne pominjem ostale kod nas egzotične pakete.
clipper.261 dejanr,
>> So, Dejane, ovo nisam ocekivao od tebe. Nije to toliko "od mene", to ćeš pročitati u svakoj knjizi koja se bavi software engineering-om. Temeljna promena razvojnih alata je najskuplja operacija u "životu" jedne softverske firme i primenjuje se samo u izuzetnim slučajevima kada baš mora da se primeni. Zato i opstaju neki softverski alati koji su po karakteristikama zastareli, ali imaju veliku korisničku bazu. Još duže vreme će se, na primer, prodavati mnogo više Clipper-a i dBASE-a nego Paradox-a ili, šta znam, Force-a, bez obzira što su ovi, recimo, po performansama znatno bolji. Ulažući u Paradox Engine Borland u principu ulaže u budućnost, zato oni i kažu (recimo u Borland forum-u CIS-a) da će Paradox Engine biti data base alatka 2000-tih :) >> a nasi direktori, kazu - narocito u ovakva vremena - e, pa >> para nemamo, ne moze 486, itd...Masina odlicna ali ipak ne >> moze. Plate ili ce biti ili ne al' za masinu nema. Znaš i sam da živimo u nenormalnoj situaciji u kojoj je marka skupa a ljudski rad jako jeftin. No, u svetu je rad programera jako skup i vladaju drugačiji odnosi. >> Meni je trebalo 3 dana muke, 3 dana prakse i 1 dan da napisem >> program koja lepo radi. To se ne zove ogromno ulaganje. Pameti >> jeste, ali ja se time ponosim. Eh... ako (da se malo ponavljam :) uzmeš neku knjigu o softverskom inženjerstvu, videćeš da pri razvoju softvera dobar programer u proseku napiše 5.5 linija programa dnevno. Naravno, kod nas svi kad to pročitaju "umru od smeha", mi smo jako pametni pa dnevno napišemo i stotine, hiljade, milione :) linija programa. Međutim, kad se posle desi da taj program treba modifikovati, onda je kuku-lele. A ako ne daj Bože taj ko je pisao program ode u Kanadu pa nekim čudom ostavi source, onaj do koga taj source dođe može da bira, 'oće li da se ubije ili da sve piše od nule, jer tu da nešto promeni, teži slučaj. Ovo se nije odnosilo na tebe, generalna opservacija. Hoću samo da kažem da se kod nas (čast izuzecima) softver razvija amaterski, i da je za takav razvoj karakteristično često menjanje alata, korisničkog interfejsa, eksperimentisanje sa bibliotekama različitog porekla itd. Kada se jednom ova situacija sredi i ako počne ozbiljno da se radi, budi siguran da će iskustva biti sasvim u skladu sa onim što su ozbiljni ljudi koji su se bavili produktivnošću programerskog rada i organizacijom timova programera davno utvrdili. To će biti vreme jake standardizovanosti na nivou softverske firme, unificiranih korisničkih interfejsa, dobro dokumentovanog deljenog koda i biblioteka i, kao nužna posledica, velike inercije odnosno teškog odlučivanja na promene.
clipper.262 jtitov,
> Koliko sam obavesten, treba da izadje nova verzija > clippera (6.xx) za Windowse. Dakle, to treba da se kupi. A zasto, molicu lepo???? Mislim da je mnogo bolja investicija FoxPro for Win.
clipper.263 jtitov,
> jedan broj koji se u zdravstvenoj knjizici zove > "registarski broj", i na neki nacin opisuje radnu > organizaciju. To, medutim, nije maticni Ja pitah u firmi i kratak odgovor je bio: to je jedinstveni registarski broj firme/ustanove. Ako bi postavio konkretna pitanja, mogu jos da se raspitam (valjda znaju?).
clipper.264 garderp,
>│ Zasto za razliku od PXE? Pa i tamo moze da se otvori do > 255 baza! └─── > Koliko sam ja cuo, samo 20 (?). Loše si čuo, istina je 255
clipper.265 garderp,
> Zato i opstaju neki softverski alati koji su po > karakteristikama zastareli, ali imaju veliku korisničku > bazu. Još duže vreme će se, na primer, prodavati mnogo > više Clipper-a i dBASE-a nego Paradox-a ili, šta znam, To ne mora da stoji. Istina je da je čovek, pa samim tim i programer antagonistička (da ne kažem dijalektička) naprava i da su želje za progresom i regresom dan i noć i da se stalno smenjuju. Sezam predstavlja neki autoritet u programerskim krugovima ove zemlje i ako se na njemu priča da trteba raditi na Clipperu, onda će se na njemu i raditi. Naš zadatak ovde treba da bude upravo popularizacija novih proizvoda. Priznajem da sa godinama ljudi se sve više oslanjaju na proverene alate i uopšte proverene metode. Na mladima je da iznesu progres, a da se stariji ili pridruže tom progresu ili da se sklone. žesto volim da naglasim da su i stariji ljudi skloni progresu. U Vinči postoji jedan programer od nekih pedesetak godina života koji je tek od skoro počeo da se bavi Oracle-om. Pošto je dobro teorijski obrazovan i pošto je celog života pratio progres, vreme koje mu je bilo potrebno da savlada mnogo komplikovaniji sistem od jednog Paradoxa je bilo mnogo manje nego nekom clipperašu koji zna samo to i ništa drugo.
clipper.266 cubro,
>>> So, Dejane, ovo nisam ocekivao od tebe. Izvini, nisam nista lose mislio o Tebi, sa Tobom se moze razgovarati, hvala bogu ! > Zato i opstaju neki softverski alati koji su po > karakteristikama zastareli, ali imaju veliku korisnicku bazu. > Jos duze vreme ce se, na primer, prodavati mnogo vise Clipper-a > i dBASE-a nego Paradox-a ili, sta znam, To je jedna velika istina, nazalost. Da se razumemo, nije Clipper los, nego njegova baza sa kojom radi (DBF). Sa Clipper-om se moze svasta uraditi, cak i pisati programe sa objektima (ja radim sa time >>OCLIP<<) ali je spor. Mogao bih pisati sa low-level datotekama (FREAD,FWRITE, itd) mada je to glupo, ali je brzi. Brzina. To je najbitnije, ali ne samo povecanjem hardwerskim performansama sistema. Clipper je odlican za male firme (privatnici,STR-e..), ali za informacione sisteme je ipak prespor. > inzenjerstvu, videces da pri razvoju softvera dobar programer u > proseku napise 5.5 linija programa dnevno. Naravno, kod nas svi > kad to procitaju "umru od smeha", mi smo jako pametni pa dnevno > napisemo Pa,da ! Nisam ja taj koji ce odrediti kad ce program biti gotov. Ako se kaze da sutra, ima da bude sutra. Pa pisem program koja ce liciti na sve i svasta. Posle ispravljam (prepisem) to, i time obezbedjujem sebi stalni posao. Privatno, to je druga stvar. Znas ono: pitao Papa Mikel- andjela, kad ce biti gotova Sikstuska kapela. Odgovor M.B: Kad budem zavrsio. I to je moj moto. Za dobar rad treba i dosta vremena. > kazem da se kod nas (cast izuzecima) softver razvija amaterski, > i da je za takav razvoj karakteristicno cesto menjanje alata, Aha, to je to. Tu imas jedno odgromno potvrdno DA ! Amaterizam. Pa nije ni cudo, kad smo jos uvek amateri u informatici. Dodje mi da smejem (placem), kad vidim da izdaju knjige a la 'Uvod u racunare' iz 198-5-6-7-8 godine izdate prosle ili ove godine. Pa sta ovi misle, gde smo mi. Ili i njima neko drugi odredjuje sta ce da rade. Ko je uopste nadlezan za takva izdanja. Kao da nekome dam 'Elektronika u 12 lekcija' iz 1945-e. A amaterizam proistice iz entuzijazma da radimo nesto sto rade i profesionalci,( amatersko: pozoriste, film, sport, programiranje..) i na kraju ispada, da mi profesionalci drzimo jezik za zube, samo na toj osnovi , sto su oni (amateri) brojniji. Pa zasto sam ja ucio, i proucavao knjige, provodeci noci pred ekranom (propali mi i oci), liseci sebe i nekih uzitaka, zabave. Sve zbog toga da postanem profi a ne amater - kad mi vec to pise svugde ( zanimanje: sistem analiticar - programer). Za programiranje nije dovoljno znati samo sintaksu jezika, nego i filozofiju programiranja (bez obzira o kojem se programskom jeziku radilo), jer bez toga program ce biti samo gomila nabacanih karaktera koja lice na doticni programski jezik. Neki moji poznanici pisu u Clipperu na isti nacin kao u Cobolu,(pazi, oni su na radnom mestu na neodredjeno vreme) cak prepisuju programe sa Cobol listinga, bez razmisljanja da Clipper ima drugaciji koncept, i pri tom ne iskoriste sve funkcije i mogucnosti Clippera, a pri tom tvrde da Clipper brze radi. Uporedite MBPCobol sa Clipperom. Clipper gubi sa 50 poena. Cobol je za profesionalce, a Clipper za amatere. A sto ja pisem u Clipperu, to je plod vizije mog bivseg sefa, koji je ili procitao ili nacuo negde, da je Clipper puno bolji od Cobola, i MORALI smo preci na Clipper. A danas covek prodaje svoje proizvode (programe) bankama i preduzecima, a mene zove kad nesto ne valja. (Svakih 3 dana). Iznenadio se na funkciji dtos(datum) pre neki dan. Trebao je mu a nije znao da postoji, pa cova napiso to cobolski. Sramota BIROSTROJU ciji sad programski paket Finansijskog knjigovodstva ispravljam. Napisali su ga tako, da mali Misko iz 8.d pise bolji u BASICU. A gorenavedena firma u Clipperu. Toliko o amaterizmu. Ne razumem o kakvima alatima govoris. Da li u okviru jednog jezika ili uopste a raznim alatima. Recimo PXEngine je za TP i BC++, i vazi za alatku. A PARADOX je kao dBASE za PDX format, a njegov jezik je PAL i ne vazi za alatku. Idealno bi bilo Clipper+PDX file-format :-). Stvarno. Masina skupa, rad programera jeftin. Bogami ovo je jadno stanje. Ali mi smo sami krivi. Ja FINANS ne dajem ispod 1200 DM a za HONEYWELL u IDS II 5000 DM. Ali je profesionalno napisan. Pad sistema je izuzetno redak. Ponosim se tim programima, mada kome pokazujem, malo sta se razume u to. Ali za finans traziti 200-300 DM ??. Nek oni pisu. Za ovoliko para ne zamaram svoj pamet. Dosta mi je bilo da ucim. > timova programera davno utvrdili. To ce biti vreme jake > standardizovanosti na nivou softverske firme, unificiranih > korisnickih interfejsa, dobro dokumentovanog deljenog koda i > biblioteka i, kao nuzna posledica, velike inercije odnosno > teskog odlucivanja na promene. E, pa to je to ! Pa, pocnimo nesto !! P.S. Dobro je, slazemo se. Da li postoji Klub programera, ili (khm), Sindikat programera, ajd' moze i Savez. Ako ima javi mi. Odlican ti je clanak "Sta smo sve lupali...." :-). Nostalgija...? PPS. Svima se izvinjavam na tiradi, ali sam svoju gorcinu morao da iznesem. Necu vise. Samo strogo strucno, u vezi programiranja.
clipper.267 cubro,
> Mislim da je vaznija podrska koju imas za programski paket koji > koristis. Dobro, i to je istina. To se i uvek naglasava. (This product reguires xxxx MB RAM, xx MB HD, x86(7)/xxMhz,etc...). Ali to nije progres, ako se zadovoljimo na starom, prevazidjenom, i cekamo da proizvodjaci izbace sto silnije i brze masine. Taj program koji je napisan na stari nacin, nece vise proci. U svetu se tezi ka jednoobraznom korisnickom interfejsu, ka kompaktoscu podataka, objektnom i event-driven programiranju, itd... Pre ili kasnije neces vise moci prodati svoj proizvod (program), jer kupac "pada" na formu, izgled, i integrisanu radnu okolinu, i sto je najvaznije, na brzinu pristupa podacima i mogucnost raznih QUERY-ja. A kod nas jos cena masine mnogo skuplja od cene rada programera. Pogledaj dejanr -ov odgovor na moju poruku. Ali nije sve u jacini racunara. Sta sa onima koji nemaju tu mogucnost da nabave jaku masinu. Odg: izabrati odgovarajuci jezik. Jesi li video kako radi MBPCobol na XT ? Pa, brze nego Clipper na AT ! A jesi li radio na MBPCobolu ? Ako nisi, blago tebi. Ako jesi onda znas. Pozdrav, Robert.
clipper.268 zkrstic,
> ako ne daj Bože taj ko je pisao program ode u Kanadu pa nekim čudom > ostavi source, onaj do koga taj source dođe može da bira, 'oće li da > se ubije ili da sve piše od nule, jer tu da nešto promeni, teži > slučaj. A ako autor ode na Cipar, pa ti ostavi source, jel ima nekih olakšavajućih okolnosti ? :))))) Uzgred, u mojim memoarima će biti pomenuto ovih par dana moga života & programiranja u najcrnjem svetlu ;))) Doradjivati tudji source u kome ima (slovim i brojevim) 3 i po lineij komentara :) Zkr :)
clipper.269 zkrstic,
>> Koliko sam obavesten, treba da izadje nova verzija >> clippera (6.xx) za Windowse. Dakle, to treba da se kupi. > > A zasto, molicu lepo???? Mislim da je mnogo bolja investicija FoxPro > for Win. E sad ćemo da debatujemo :)))) Fox Pro, ovaj do sada doživljeni, sa kojim imamo iskustva je odli- čan program. Njegova sjajna osobina je brzina. Pravljenje .EXE ili nekih RUN-Tajmova sa njim je ... nema potrebe da se vredjamo ;) Elem, Clipper je tu da pravi .EXE i samo to. A FOx koristim umesto Clipperovog DBU-a, odnosno DBASE-a. Toliko, Zkr :)
clipper.270 dejanr,
>> Ja pitah u firmi i kratak odgovor je bio: to je jedinstveni registarski >> broj firme/ustanove. Ako bi postavio konkretna pitanja, mogu jos da se >> raspitam (valjda znaju?). Konkretno pitanje je da li je taj broj u nekoj vezi sa matičnim brojem RO ili je u pitanju nešto što je potpuno nezavisno od matičnog broja dodeljeno firmi. Zanima me i ko dodeljuje taj broj, tj. gde bi se mogla potražiti baza firmi sa tim brojevima. Hvala unapred :)
clipper.271 dejanr,
>> Naš zadatak ovde treba da bude upravo popularizacija novih proizvoda. >> Priznajem da sa godinama ljudi se sve više oslanjaju na proverene >> alate i uopšte proverene metode. Na mladima je da iznesu progres, >> a da se stariji ili pridruže tom progresu ili da se sklone. Jedan moj prijatelj radi u (uslovno rečeno) manjoj softverskoj firmi u USA koja je jedna od hiljada IBM-ovih "satelitskih" firmi koje razvijaju prateći softver za IBM-ove PS/x platforme. Iako kažem da je firma manja, čini je osamdesetak zaposlenih, od kojih njih 4 rade u posebnom odeljenju kome je zadatak da proučava nove razvojne alate i preporučuje njihovu primenu. Onda neko iz menagement-a odlučuje šta će se koristiti, u kojoj meri itd. Zanimljivo je da su sve alatke na nivou firme strogo standardizovane i da se za razvoj softvera koristi Microsoft C 5.1. U međuvremenu je izašao C 6.0 i 7.0, i ta ekipa se "ubi" dokazujući da je vreme da se preorijentišu na te verzije, ali "uprava" neće i neće, sračunali su da bi ih prelazak na noviji C koštao oko $130,000 (naravno, sami kompajleri su tu najjeftiniji) i ne daju im se te pare ;) Zanimljivo je da je konsultovan IBM i da su oni rekli da "preferiraju" C 5.1, kao "proveren alat koji je korišćen za razvoj prethodnih verzija i dobro se pokazao". Ja se potpuno slažem da zadatak kompjuterskih časopisa treba da bude predstavljanje (pa i programiranje) svih novih i avangardnih paketa i alata, kao i njihovo poređenje sa postojećima. To je jako važno. Ali, treba uvek imati u vidu i to da ulazak tih novih alata u širu upotrebu ume da bude veoma spor, i da "uspevaju" samo neki od njih. I to ne uvek najkvalitetniji!
clipper.272 dejanr,
>> Ne razumem o kakvima alatima govoris. Da li u okviru jednog jezika >> ili uopste a raznim alatima. Recimo PXEngine je za TP i BC++, i vazi za >> alatku. A PARADOX je kao dBASE za PDX format, a njegov jezik je PAL i >> ne vazi za alatku. Idealno bi bilo Clipper+PDX file-format :-). Stvarno. Paradox Engine je po meni izuzetno dobra ideja. Naravno, postojale su i pre "data base" biblioteke za razne jezike, ali PDX je kompletno rešenje za razne jezike, pa još izuzetnih performansi. Ipak, čini mi se da mu rad sa "ekranom" nije baš na nivou. Istina, i za to se mogu naći biblioteke, ali bolje bi bilo da je više integrisano u njega. Inače, ja mislim da ne bi bilo loše da postoji i PDX Engine koji radi (makar i sporije) sa .DBF fajlovima. Pomoglo bi bržem usvajanju čitavog proizvoda jer, ipak, većina datoteka na PC-ju su .DBF datoteke i mnoge novi format nekako plaši... I Force je zanimljivo rešenje, samo na žalost nemam mnogo prilike da pratim kako se razvija, onaj koji sam zadnji video bio je ipak dosta bug-ovit. >> P.S. Dobro je, slazemo se. Da li postoji Klub programera, ili >> (khm), Sindikat programera, ajd' moze i Savez. Ako ima javi mi. Bilo je puno ideja za Udruženje programera. Na žalost, od svega najzad ne bi ništa. Izgleda da smo mi programeri po tom pitanju "najgori" - i đubretari napraviše strukovno udruženje a mi ga ni dan danas nemamo :( >> Odlican ti je clanak "Sta smo sve lupali...." :-). Nostalgija...? Eh :) Sve se brzo menja, pa mnoge stvari koje su bile sasvim razumne danas zvuče smešno. Sa druge strane, ne može se napisati jedan broj "Računara" mesečno a da se i neka materijalna greška ne pojavi. Najzad, uvek je nezahvalno prognozirati budućnost. Sve u svemu, ideja tog teksta je da pokaže kako su sve tvrdnje relativne i da ih treba primati kritički - nešto se ispuni a nešto baš i ne ;)
clipper.273 neman,
> Dobro, i to je istina. To se i uvek naglasava. (This > product reguires xxxx MB RAM, xx MB HD, > x86(7)/xxMhz,etc...). Ali to nije progres, ako Mislio sam na dodatne rutine koje mi baš trebaju a mrzi me da ih pišem ( izmišljam točak ) > interfejsu, ka kompaktoscu podataka, objektnom i > event-driven programiranju, itd... Pre ili kasnije neces > vise moci prodati svoj proizvod (program), jer kupac > "pada" na formu, izgled, i integrisanu radnu okolinu, i > sto je najvaznije, na brzinu pristupa podacima i Kupca interesuje prvnstveno da progam završava posao. Briga njega za kompaktnost, objekte itd. A računarom se obično ne služe diplomirani inže- njeri elektronike već srednjoškolski obrazovani radnici operateri kojima je bitna JEDNOSTAVNOST pristupa podacima a ne izgled neman
clipper.274 neman,
> mada je to glupo, ali je brzi. Brzina. To je najbitnije, > ali ne samo povecanjem hardwerskim performansama sistema. > Clipper je odlican za male firme (privatnici,STR-e..), ali > za informacione sisteme je ipak prespor. > Neće biti. CLIPPER aplikacija ( aplikacija, ne aplikacije ) tera knjigovodstvo sa više stotina hiljada stavki godišnje u firmama sa po 1000 - 1500 radnika, pod NOVELLom, sa po 10 - 20 radnih stanica i to fercera ! > kaze da sutra, ima da bude sutra. Pa pisem program koja ce > liciti na sve i svasta. Posle ispravljam (prepisem) to, i > time obezbedjujem sebi Pa prekosutra neznaš šta si radio ;) , smejem se i sebi > zavrsio. I to je moj moto. Za dobar rad treba i dosta > vremena. Više od 10 dana, garant ! neman
clipper.275 neman,
> A zasto, molicu lepo???? Mislim da je mnogo bolja > investicija FoxPro for Win. A jel i to postoji ? neman
clipper.276 jtitov,
> Pravljenje .EXE ili nekih RUN-Tajmova sa njim je ... nema > potrebe da se vredjamo ;) Molim??? Sta fali Fox-ovim exeima? Jest, malo su veci (>800k u startu) ali si oslobodjen razmisljanja o nekakvim overlejima, pa specijalnim opcijama linkera kada moras da pravis program sa overlejima, itd. A sto se tice run-time programa, pa zar to nije losa ideja ako korisnik ima instaliran Fox (ili samo jedan njegov deo potreban za rad) i 10 programa u Fox-u koji su u obliku run-time i dugacki oko 15k???? Takodje je mnogo bolji (brzi) sistem razvoja programa; cliperas mora posle svake izmene (manje/vece) da kompajlira i ceka, ceka (naravno ako nema BLinker) a foxovac i posle najmanje izmene moze odmah da proveri svoje cedo u praksi i tek kada sve ispegla da pravi exe verziju. Pricaju da je fox-ov prevodilac plac Majke Bozje koliko je spor; Pa evo nekih rezultata specijalno za tebe: radi se o programcetu od svega 237 linija. Korisceno je 90% foxovih prednosti, tako da bi to u clipper-u bilo oko 1000 linija ;) Provodjeno je na 386/25+387+8Mb+disk od 18msec. Vrsta prevodjenja vreme prev. duzina u byte run-time 1,92'' 14.400 stand-alone 1' 33,29'' 1.012.076 stand-alone extended 38,16'' 1.052.604 Fajl je veliki, sto jest jest, ali ce se izvrsavati i na XT-u i na 486; i na 512K i na 32M masini. (Govorim o stand-alone verziji). Ali da ne diskutujemo bez veze. Ako ti postizes dobre rezultate sa clipper-om, drzi se clippera. Ja sam vrlo zadovoljan Fox-om (pre toga clipper-as jedno 4 godine) i ne menjam ga osim za nesto radikalno.
clipper.277 jtitov,
Jos jedan dodatak u vezi Fox-a: neko je nekada rekao da sa Fox-om ne mogu da se povezuju C i assembler-ski programi. To na srecu nije istina, jer postoji Library Construction Kit koji to omogucuje. Ono sto je najzanimljivije, ta cudna alatka staje na samo 1x1.2. Izgleda da su najbolja resenja obicno vrlo jednostavna (kratka).
clipper.278 jtitov,
> A jel i to postoji ? Najavljuje se i navodno vec postoji. Nisam video...
clipper.279 dnikolic,
>> Uh! Jel' si bre doruckovao :))) Pa PXE ima samo jednu prednost >> nad Clipperom a to je brzina... Baci neki argument. dn
clipper.280 dnikolic,
>> Koliko sam ja cuo, samo 20 (?). Nisi citao uputstvo! :) To je samo default. dn
clipper.281 petrovics,
Primetio sam da je mebju Borlad C++ programerima, koji se bave poslovnim aplikacijama i bazama podataka veoma popularan paradox engine. Zanima me da li postoji nesto slicno, ili makar samo dobra i proverena biblioteka za Microsoft C 6.0?
clipper.282 cubro,
> Kupca interesuje prvnstveno da progam zavrsava posao. Briga > njega za kompaktnost, objekte itd. A racunarom se obicno ne > sluze diplomirani inze- njeri elektronike vec srednjoskolski > obrazovani radnici operateri kojima je bitna JEDNOSTAVNOST > pristupa podacima a ne izgled Bas u tome je nevolja. Za jednostavni pristup treba i dosta da se namucis. Jer, najjednostavnije je dati DBEDIT i neka operater(ka) unese ono sto treba. Ali da aplikacija bude i jednostavna i da ima obezbedjen integritet podataka ili integritet cele baze, bogami tu dolaze neki aspekti pravilnog programiranja. Npr. objekti su idealni za takve stvari jer obezbedjuju zasticenost varijabli,procedura i funkcija vezane za jedan konkretan posao, itd... Slusaj, racunarom se bave i dipl.ing-ovi, ali se ne razumeju u masinu ;) i ima ih > 50%. Ti ces jos itekako biti potreban da napises SLOZEN program da bi pristup podacima bio JEDNOSTAVAN. Ali taj SLOZEN program moci ces da ispravis za 3 (TRI) minuta i posle 3 godine. Dzabe ja kazem korisniku : Hej, ovaj ti program pisan sa objektima, PDX, briga njega za to. I jos nesto. Posto programe moras da prezentujes onima koji se razume u racunar < od Miska iz 8d., prvenstveno ce pasti na izgled i brzinu. Posle ce im operateri reci da taj program nista ne valja. Ali ja HOCU DA PRODAM moju aplikaciju !!
clipper.283 cubro,
> Nece biti. CLIPPER aplikacija ( aplikacija, ne aplikacije ) > tera knjigovodstvo sa vise stotina hiljada stavki godisnje u > firmama sa po 1000 - 1500 radnika, pod NOVELLom, sa po 10 - 20 > radnih stanica i to fercera ! Zavisi i od slozenosti te aplikacije. Na standalone racunaru te prednosti koje pruza NOVELL se jako smanjuju. Inace,to je tako da za razlicite aplikacije odgovaraju razliciti programski jezici. (Dobro, nisam rekao bogzna nesto veliko), ali za finans Clipper nece ici. Gore navedena firma jos ce proci sa Clipperom ali veca nikako. Pa zasto Coca-Cola ne koristi Clipper, nego PARADOX. Ja sam kupio PARADOX 4.0 i shvatio zasto Coca-Cola koristi PARADOX a ne Clipper.
clipper.284 cubro,
> engine. Zanima me da li postoji nesto slicno, ili makar samo > dobra i proverena biblioteka za Microsoft C 6.0? Odmah predji na BC++!!!!
clipper.285 ppekovic,
>> Gore navedena firma jos ce proci sa Clipperom >> ali veca nikako. Veća firma neće proći sa MS-DOS-om već sa nekim ozbiljnijim OS-om (čitaj UNIX-om). Vratite se na polje koje pokriva DOS pa na njemu razgovarajte šta clipper i paradox mogu ili ne mogu. Paya
clipper.286 ppekovic,
>> Primetio sam da je mebju Borlad C++ programerima, koji se bave >> poslovnim aplikacijama i bazama podataka veoma popularan paradox >> engine. Zanima me da li postoji nesto slicno, ili makar samo >> dobra i proverena biblioteka za Microsoft C 6.0? Pored PE-a postoji čitava gomila sličnih alata i to ne samo za BC ili MSC nego i za Zortech, Watcom i druge. Pogledaj oglase u stranim časopisima. Iako takvi proizvodi postoje, kod nas je najpopularniji (možda i zato što je jedini dostupan) PE. Ako nemaš mogućnosti da nabaviš neku biblioteku iz inostranstva a u isto vreme vidiš PE kao jedini način za rešavanje tvog programerskog problema, razmisli o BC-u, i u isto vreme pročitaj poruke dejanr-a o problemima prelaska na novi kompajler. Paya
clipper.287 ppekovic,
>>> engine. Zanima me da li postoji nesto slicno, ili makar samo >>> dobra i proverena biblioteka za Microsoft C 6.0? >> >> Odmah predji na BC++!!!! ;))) Ako mu ti napraviš sve ono što je čovek do sada razvio na MSC-u, i ako uspeš da mu iskustvo sa MSC-om u trenutku zameniš sa iskustvom sa BC-om, onda u redu, neka predje ;) Paya
clipper.288 ndragan,
/ Ali, treba uvek imati u vidu i to da ulazak tih novih alata u širu / upotrebu ume da bude veoma spor, i da "uspevaju" samo neki od njih. Kod nas je trajalo godinu dana da pređemo sa MFoxPlus 2.1 na FoxPro 1.02, i to je prešlo otprilike 30% aplikacija za godinu dana, i još 30% za sledećih godinu dana. FoxPro 2.0 imamo (neku verziju) već 13 meseci, i tek je oko 1% aplikacija urađeno u njemu. A radi se o alatima iste firme, koji su veoma kompatibilni uzbrdo; čak 99.5% programskih linija lepo radi bez izmena. Ipak je prelazak na novu verziju problematičan (znam, jer sam ja jedan od trojice eksperimentalista u firmi), i izaziva brdo telefonskih poziva.
clipper.289 ndragan,
/ Pravljenje .EXE ili nekih RUN-Tajmova sa njim je ... nema potrebe da / se vredjamo ;) Stand-alone exe, da, to je ogavno sporo, a čim se napravi treba da se pravi nov - otkrićeš još neki detalj koji treba da se menja. Kompaktni izvršni program se radi iz cuga. Napravim aplikaciju sa devedesetak procedura - na 286 mi napravi za desetak sekundi, to mi je taman vreme da se setim šta ono još treba da menjam. / Elem, Clipper je tu da pravi .EXE i samo to. A FOx koristim umesto / Clipperovog DBU-a, odnosno DBASE-a. Elem, svako koristi onoliko koliko ume? P.S. Šta si očetkivao, da ću da oćutim? :)
clipper.290 oki.,
>> clipper-om, drzi se clippera. Ja sam vrlo zadovoljan Fox-om (pre toga >> clipper-as jedno 4 godine) i ne menjam ga osim za nesto radikalno. A za FoxPro 2.5 for Windows? ;) P.S. Juče sam video reklamu u najnovijem PC Magazinu (26.1.93.). U reklami tvrde da svi programi sa 2.0 verzije, bez problema rade u Windows-u.
clipper.291 oki.,
>> Najavljuje se i navodno vec postoji. Nisam video... Ja video samo reklamu :(((((
clipper.292 bulaja,
│Elem, Clipper je tu da pravi .EXE i samo to. A FOx │koristim umesto Clipperovog DBU-a, odnosno DBASE-a. └─── Takodje, s tim sto koristim (pra)stari FoxBase+, ali koji je sjajna stvar za interaktivno petljanje sa DBF-ovima (steta jedino sto nema Clipper indexe :).
clipper.293 bulaja,
│Inace, ja mislim da ne bi bilo lose da postoji i PDX Engine koji radi │(makar i sporije) sa .DBF fajlovima. └─── Postoji CodeBase, C biblioteka zamisljena da bude C ekvivalent Clipper-u. Ja sam se malo petljao sa time (ima i nbatocanin text o CodeBase u nekim R) i CB zaista ima skoro sve sto i Clipper ali nazalost nije nesto mnogo brzi od Clipper-a. │I Force je zanimljivo resenje, samo na zalost nemam mnogo prilike da │pratim kako se razvija, onaj koji sam zadnji video bio je ipak dosta │bug-ovit. └─── Nazalost, izgleda da je firma koja je pravila Force (Sophco) nestala sa trzista (?). Ako su imali srece neko ih je kupio, pa sad cuti i sprema boom :). Force je inace bio ludacki brz, po svim testovima koje sam radio bar 4 puta brzi od Clipper-a (a pravio .EXE od 30 KB!), nazalost i dosta bugovit i nedoradjen.
clipper.294 banex,
Jel bi mogli malo ove rasprave o raznim programima za baze podataka i pro & contra fazone da prebacite u temu baze.podataka u ovoj istoj konferenciji? 11 poruka u temi clipper a nijedna nema veze sa njim ;)
clipper.295 banex,
[Reply na PC.HARD.2, 5.126] Uz poruku je zakačena .dbf datoteka sa esc kodovima za 58 štampača. printer.arj
clipper.296 bulaja,
│Iako takvi proizvodi postoje, kod nas je najpopularniji │(mozda i zato sto je jedini dostupan) PE. └─── Isto tako je PE popularan i napolju. Razlog nije u dostupnosti, vec je PE jedina biblioteka iza koje stoji neko veliko ime (Borland). Takodje na Zapadu je Paradox vrlo rasiren (dobijao je i PC Mag Editor's Choice i slicne stvari), tako da nije ni cudnoa popularnost PXEngine.
clipper.297 nbatocanin,
> Na mladima je da iznesu progres, a da se stariji ili pridruže tom > progresu ili da se sklone. Moram da kažem da mi se nikako ne sviđa ovakva argumentacija "unapred": ja još nisam video dokaz da je Clipper zastareo i prevaziđen proizvod. Prvo, neko pod terminom "Clipper" podrazumeva Summer'87 verziju, a neko 5.01 (a neko nekog fiktivnog neprijatelja, koliko vidim) ;) Zatim, treba uzeti u obzir pri poređenju da to nisu proizvodi baš iste klase (niko ne zamera C-u što nema mogućnost kreiranja maski za unos u osnovnom jeziku). Ja tvrdim (a nadam se da sam bar malo to pokazao u proteklim raspravama) da je Clipper S'87 zastareo proizvod, a da Clipper 5.01 *nikako* nije zastareo proizvod i da njegovo vreme tek predstoji. Ukoliko neko misli da može dokazati suprotno, samo napred, ali argumentima. Što se tiče različitih formata podataka, Clipper ima izvanredan sistem za pristup podacima i *legalno* je podržan pristup raznim formatima: postoje drajveri za FoxPro indekse, FlexFile slogove promenljive dužine, a čini mi se da postoji i drajver za Paradox datoteke. Uz verziju 5.2 se isporučuju drajveri koji omogućavaju rad sa nekoliko različitih formata podataka. Što se tiče brzine, mislim da mnogo zavisi od pametne organizacije programa: ako znate filozofiju nekog proizvoda, onda ćete mnogo lakše da "zaobiđete" njegove loše tačke i da iskoristite jake. A da brzina Clipper-a i nije tako mala svedoče ovi rezultati (BYTE, januar 1992.): A - BATCH ORDER-PROCESSING B - IMPORTING AND INDEXING (sve u sekundama) A B ----------------------------------- Alpha Four - 181 Clipper 5.01 127 53 DataEase 290 154 dBase IV 309 198 FoxPro 2.0 73 22 Informix 3904 257 Paradox 3.5 286 131 R:Base 2289 290 Superbase 4 525 178 WindowBase - 1189 ----------------------------------- Evo još nekih rezultata: DATA BASED ADVISOR, jul 1992., TOP TEN: Performance of product: 1. VP-info 94.29 2. Q & A 91.25 3. D 90.25 4. dbMaster 90.20 5. FoxPro 83.57 6. Clipper 83.57 7. Multibase 83.27 8. Arago 82.90 9. ZIM 79.17 10. Clarion 78.26 Performance of applications developed: 1. VP-info 2. D the data language 3. DataFlex 4. Emerald Bay 5. dbMaster 6. Q & A 7. FoxPro 8. ZIM 9. Clipper 10. Arago Power of language: 1. Clipper 2. Multibase 3. Clarion 4. ZIM 5. DataFlex 6. Advanced R. 7. VP-info 8. Arago 9. FoxPro 10.Knowledgeman
clipper.298 vasic,
> Primetio sam da je mebju Borlad C++ programerima, koji se bave > poslovnim aplikacijama i bazama podataka veoma popularan paradox > engine. Zanima me da li postoji nesto slicno, ili makar samo > dobra i proverena biblioteka za Microsoft C 6.0? Evo, baš pred sobom imam Borlandov prospekt o Engine-u u kome na samom početku piše: "Paradox Engine provides developers using the Borland programming family of languages or the Microsoft(R) C programming languages an Application Programming Interface (API) of more than 70 functions. (...)" Možda vam konstrukcija gornje rečenice deluje čudno (kao i meni), ali mislim da je suština jasna.
clipper.299 jtitov,
> P.S. Juce sam video reklamu u najnovijem PC Magazinu > (26.1.93.). U reklami tvrde da svi programi sa 2.0 > verzije, bez problema rade u Windows-u. TO JE SUPER, ako se pokaze kao istina. BTW, jel moze taj PCM da se pozajmi na par dana?
clipper.300 cubro,
Posto nisam znao gde da stavim ovaj clanak preveden iz PC WORLD -a odlucih da stavim ovde jer mozda nekim delom i spada ovde. NA SCENU STUPA MAGIC 5.0 Magic je medju prvima u svetu, koji su odlucili da predju sa program- skih jezika 4. generacije - omugucava da programer programira sa opisom problema. Nema low-level kodova, nema kompajliranja, prekodovanja. Umesto toga postoji izrazito vizuelna, ne-proceduralna, event- i object-orijenti- sano programiranje pomocu racunara >>CAP<< (Computer Aided Programming). To omogucava efikasnost razvoja i odrzavanje. Magic je u svakom pogledu user-friendly sredstvo. Izradjene aplikacije mogu da se startuju pod DOS, LAN,UNIX, VAX/VMS, OS/2, BTOC/CTOS operativnim sistemima. Magic direktno podrzava Btrieve,c-tree, C-ISAM(Informix), dBase, Rdb, RMS, Ingres, Oracle, NetWare, SQL, Paradox, SQL Server(Sybase) baze podataka, cak sa mogucnoscu mesanja u okviru istog programa. Magic daje mogucnost za share rukovanjem baze podataka na vise platforma koja se bazira na TCP/IP odnosno DecNet client/server arhitekturi. Magic omogucava na originalan nacin da dobijete komfortan i efikasan front-end sredstvo, rukovaoca bazama podataka koja ce najvise odgovarati ciljevima, i da medju definisanim okolnostima koristite odgovarajuci hardver. Pitanje : Da li neko zna nesto o tome ? Inace program se moze nabaviti u susednoj Republici Madjarskoj. Cenu ne znam (ali mogu saznati, ako ima interesanata)
clipper.301 peacock,
#### NA SCENU STUPA MAGIC 5.0 Elem, pre par dana sam dobio demo verziju Magica od pre par godina. Samo sam je ovlas pogledao, nisam ceprkao detaljnije, izgleda interesantno. Proizvodljci su Izraelci, bilo je nesto malo o njoj prosle godine u PC Magazineu ili Byteu, a rezvijana je za vojsku zajedno za Amerima. Covek koji mi je dao demo mi prica o njoj vec par godina, gledao je neku prezentaciju "napolju", hvali je na sva usta i nije amater. Uz to, ima i konkretne planove za nase trziste. Zoran P.S. Magicom se bavio neko iz Banja Luke vrlo detaljno, raspitacu se ko, ako ti nesto znaci.
clipper.302 aleksj,
> Pitanje : Da li neko zna nesto o tome ? Inace program se > moze nabaviti u susednoj Republici Madjarskoj. Cenu ne > znam (ali mogu saznati, ako ima interesanata) Cuo sam od strica sve najlepse o ovom paketu. Cak je rekao da je dostojan rivall oracle-u. Kako sam razumeo njega je koristilla izraelska vojska, pa je odlucila da ga pusti u opticaj. Inace izgleda da je paket dosta jeftin ( u odnosu na oracle npr.) ali ima neku hardversku zastitu. Bilo bi dobro da saznamo sto vise informacija o njemu :) ! Pozdrav!
clipper.303 d.petrovic,
žisto da napomenem, da još neko ne po*izdi... Ako hoćete prvo da dođete ne neko postojeće / nepostojeće mesto u bazi pa da onda pozovete tbrowsedb(...) počeće da brljavi: ************************************************* miloje:=space(10) č 10,0 get miloje picture "!XXXXXXXXX" && Uneti "Zzzzzzzzzz" read use baza index index set softseek on seek miloje && Nije našao, otišao je * && na kraj baze set softseek off ************************* if .not. found() && Ovo skip -1 && vadi endif && stvar ************************* tbrowsedb(...) tbcolumnnew(...) ... ************************************************* Ako ode na kraj baze, ubaciće u tbrowse objekat na kraj baze prazno polje (vidi se N polje veličine 0) (eof() ???) koje brljavi. Ako idete sa vrha baze prema kraju sve je OK. ali ako sidjete na inkriminisano polje pa krenete prema vrhu baze.... :(. Ne pokazuje na zapis koji vidite na ekranu.
clipper.304 mihajl,
Da li neko zna na koji nacin da urazumim Clipper 5.01 odnosno RTLINK da mi ulinkuje na pravi nacin modul iz biblioteke. Pravio sam neke svoje biblioteke od par iljada linija koda , i sve je u probnim modulima super radilo, e onda ja napravih prvu aplikaciju. - Prvi problem sa kojim sam se sreo je taj da jednostavno ako iz modula koji je unutar te biblioteke pozovem neku rutinu iz iste biblioteke, taj modul vise ne postoji za linker. To sam natezajuci sredio tako da izvrsni program ponovo linkujem sa objektnim kodom koji sam izvadio iz biblioteke,ali mi se taj nacin nimalo nesvidja jer uopste nije lep. - Drugi problemcic je taj da su GET-ovi prosto podivljali. I to boje getova.Sto puta sam prosao dibagerom i on kaze da ja lepo se- lektujem boju, ali get kao da je nevidi.Inace i get sam predefini- sao sa funkcijom ReadModal, ali ni tamo nista nisam specijalno di- rao. Sto je najzanimljivije u modulu unutar biblioteke koji isto tako poziva taj get on lepo radi , a kada ga pozivam iz programa , nece ni da oboji lepo. H E L P ! H E L P ! Sta bi ovo moglo biti ?
clipper.305 neman,
> za jedan konkretan posao, itd... Slusaj, racunarom se bave > i dipl.ing-ovi, ali se ne razumeju u masinu ;) i ima ih > > 50%. To stoji :)
clipper.306 neman,
> datoteke. Uz verziju 5.2 se isporučuju drajveri koji > omogućavaju rad sa nekoliko različitih formata podataka. A gde to ima ????
clipper.307 d.petrovic,
Ne znam čime su pravljene te biblioteke, ali... kad sam onih 5 pat-ova menjao u nanfor.lib (LIB.EXE 3.15) sve je prošlo i proradili osim... ako pravim .PLL program ne prepoznaj NEKE DRUGE funkcije iz nanfor biblioteke koje ja nikako NISAM DIRAO i još uvek postoje u biblioteci i rade ako se program normalno prevede i linkuje... Verovatno je problem u formatu biblioteke, probaj da svoje funkcije ubaciš u neku postojeću biblioteku umesto da praviš svoju, možda će to pomoće... pa javi jel uspelo :))
clipper.308 zkrstic,
> Baci neki argument. Nadji mi knjige, libove, jutilitije, poznanike koji će ti dati savet kada zagusti sa PXe-om... Vidi: Clipper je očaj... ali ga ima toliko mnogo i svuda. Džaba nekom što ima neki mrak auto, kada nemože da kupi u Evropi svećice ili šta ti ja znam koju glupost za njega. Možda bih drugačije pisao da imam malo više pojma sa TP-om ili C-om, ali obzirom da mi je znanje ova dva jezik vrlo skromno, ostajem na Clipperu. Zkr :)
clipper.309 zkrstic,
>│ Elem, Clipper je tu da pravi .EXE i samo to. A FOx >│ koristim umesto Clipperovog DBU-a, odnosno DBASE-a. > └─── > Takodje, s tim sto koristim (pra)stari FoxBase+, ali koji je sjajna Namerno koristim onaj zadnji pridošli, FOx Pro bla_bla for Lan zato što ima sjajne fazone i pušta me da ulićem u baze koje su Shared pod mrežom. Zkr
clipper.310 dnikolic,
>> engine. Zanima me da li postoji nesto slicno, ili makar samo >> dobra i proverena biblioteka za Microsoft C 6.0? U okviru paketa PE se nalaze biblioteke za Borlandove C i Paskal kompajlere i za Microsoft-ov C. Znaci, nema (prevelike) potrebe da prelazis na Borland. dn
clipper.311 dnikolic,
>> kao jedini nacin za resavanje tvog programerskog problema, >> razmisli o BC-u, i u isto vreme procitaj poruke dejanr-a o >> problemima prelaska na novi kompajler. Kako sto rekoh, nema potrebe da prelazi na BC, jer se u okviru PE nalazi i biblioteka za MSC. dn
clipper.312 bulaja,
│Da li neko zna na koji nacin da urazumim Clipper 5.01 odnosno │RTLINK da mi ulinkuje na pravi nacin modul iz biblioteke. └─── Meni sve lepo radi sa sopstvenim bibliotekama, mozda je problem u tome kako ih pravis? Ja ih kompajliram sa /a /m /n /v opcijama, mozda bi npr. nestavljanje /n moglo da pravi zbrku ako se takav file ubaci u lib?
clipper.313 nbatocanin,
> NA SCENU STUPA MAGIC 5.0 > Pitanje : Da li neko zna nesto o tome ? Bio sam na prezentaciji koju je držao g. Milan Kukrika i imam neki demo (koji nikako da stignem da pregledam). Stvar izgleda interesantno, mada mi je reklama malo previše udaljena od onoga što se nudi.
clipper.314 nbatocanin,
> Ako ode na kraj baze, ubaciće u tbrowse objekat na kraj > baze prazno polje (vidi se N polje veličine 0) (eof() ???) > koje brljavi. To je legalni mehanizam: kad izvršiš SKIP na kraju datoteke, pokazivač se pomera na fiktivni "prazan" slog iza kraja i Eof() postaje .T..
clipper.315 nbatocanin,
> - Prvi problem sa kojim sam se sreo je taj da jednostavno > ako iz modula koji je unutar te biblioteke pozovem neku > rutinu iz iste biblioteke, taj modul vise ne postoji za > linker. ???? Ovo koristim iljadu puta i sve štronca bez problema. Mora da si nešto zeznuo: da nisi stavio da je neka od tih procedura STATIC, možda u glavnom programu proceduru pozivaš iz makroa (tada moraš koristiti EXTERNAL da bi linker znao da treba da ulinkuje taj modul), ... > Inace i get sam predefini- sao sa funkcijom > ReadModal, ali ni tamo nista nisam specijalno di- rao. Objasni ovo malo detaljnije. Jer, READ i jeste samo poziv funkcije ReadModal.
clipper.316 petrovics,
>> ;))) Ako mu ti napravis sve ono sto je covek do sada razvio >> na MSC-u, i ako uspes da mu iskustvo sa MSC-om u trenutku zamenis >> sa iskustvom sa BC-om, onda u redu, neka predje ;) Hvala ti sto si umesto mene objasnio neke cvrste razloge sto za sada ostajem na MSC.
clipper.317 petrovics,
>> (mozda i zato sto je jedini dostupan) PE. Ako nemas mogucnosti da >> nabavis neku biblioteku iz inostranstva a u isto vreme vidis PE >> kao jedini nacin za resavanje tvog programerskog problema, >> razmisli o BC-u, i u isto vreme procitaj poruke dejanr-a o >> problemima prelaska na novi kompajler. Za sada (a verovatno i za duze) ostajem na MSC 6.0 pa bi mi trebala neka biblioteka za njega. Posto mi strani casopisi nisu dostupni zamolio bih te da mi navedes bar neku biblioteku koja je popularna, ako takve ima.
clipper.318 petrovics,
>> "Paradox Engine provides developers using the Borland programming family >> of languages or the Microsoft(R) C programming languages an Application >> Programming Interface (API) of more than 70 functions. (...)" Pa jel probao neko da koristi MSC 6.0 sa Paradox Engine? Usput da pitam jos nesto. Ovde stoji (R) pa me zanima sta ustvari tacno znace (C), (R) i ostale slicne oznake. Znam da se na SEZAMU skoro govorilo o (C) ali mi i dalje nije bas naj jasnija ta oznaka. Ako je o tome ranije (kad nisam bio na sezamu) bilo reci uputite me na prave poruke.
clipper.320 d.petrovic,
Ă> To je legalni mehanizam: kad izvršiš SKIP na kraju datoteke, Ă> pokazivač se pomera na fiktivni "prazan" slog iza kraja i Eof() Ă> postaje .T.. Samo nisam očekivao da se tbrowse zbog toga zbuni...
clipper.321 zsiz,
> Za sada (a verovatno i za duze) ostajem na MSC 6.0 pa bi mi > trebala neka biblioteka za njega. Posto mi strani casopisi nisu > dostupni zamolio bih te da mi navedes bar neku biblioteku koja > je popularna, ako takve ima. Evo šta sam našao: 1)CodeBase 4.5 The C Library for DataBase Management Use CodeBase 4.5 from Visual Basic or Turbo Pascal for Windows. Use the super-fast, super-small FoxPro 2.0 CDX or the Clipper NTX index files. "Our product was too slow under FoxPro 2.0, so we rewrote it in C using CodeBase. Now it is incredibly fast * Multi user * Portable (DOS, Unix,...) * Royalti Free DLL * C++ interface included SEQUITER SOFTWARE INC. Tel. 403 437 2410 Fax. 403 436 2999 Europe 33 20 24 20 14 #209,9644-54 AVE., EDMONTOM, AB, CANADA T6E-5V1 Pozdrav. zsiz
clipper.322 nbatocanin,
> A gde to ima ???? Nema, ali biće valjda ;))
clipper.323 snemcev,
Jel ima neko neki program za formatiraje programa (nazubljivanje, kontrola IF-ENDIF i WHILE-ENDDO struktura, cross-reference index...)? Ja imam neki Source Print koji me oduševljava. Jedina mu je mana što je pisan '87, pa podržava dBase III+ (a podržava i Pascal, C, text, Fortran... i nekih 6 osnovnih modela štampača) ali ne i Clipper. Ako neko ima nešto slično, ili noviju verziju ovog programa, voleo bih da mi se javi, bilo u mail, bilo ovde...
clipper.325 petrovics,
>> Evo sta sam nasao: >> >> 1)CodeBase 4.5 The C Library for DataBase Management Hvala !
clipper.326 jtitov,
> Jel ima neko neki program za formatiraje programa > (nazubljivanje, Uz FoxPro se dobija FoxDoc. Pravi vrlo lepe listinge za dokumentaciju, sa nazubljivanjem i crtanjem crtica od if..endif, do..enddo... Predlazem da posaljes neki source, pa da ga provucem, pa ako ti odgovara da ga dobijes...
clipper.327 melev,
│ Jel ima neko neki program za formatiraje programa (nazubljivanje, │ kontrola IF-ENDIF i WHILE-ENDDO struktura, cross-reference index...)? Ja ............. │ neko ima nešto slično, ili noviju verziju ovog programa, voleo bih da mi │ se javi, bilo u mail, bilo ovde... └─────── Nemojte u mail pošto ima još zaintesovanih.
clipper.328 zkrstic,
> Fortran... i nekih 6 osnovnih modela štampača) ali ne i Clipper. Ako > neko ima nešto slično, ili noviju verziju ovog programa, voleo bih > da mi se javi, bilo u mail, bilo ovde... Imaš to i na Sezamu :)) Program se zove Snap, verzija 5.0. Podržava i Clipper i Fox i Boga oca i kojekakve "third party" libove. Uzmi, lepo fercera, čak pravi i koje- kakve fine stvarčice pride kao spisak procedura i funkcija koje ti se nala- ze u tom .prg-u i slično. Zkr :)
clipper.329 dr.grba,
Hi there! Majko mila! Posle dve godine kliperisanja tamo-amo nocas spoznam glupost : Clipper propusta funkciju po imenu valid(xxx,yyy), sto cete (kao i ja :) ) utvrditi kada zaboravite ono ; u predugackoj @ say ... get ... liniji. Samo da prokomentarisem glupost... Pozdrav, dr.grba
clipper.330 petrovics,
Imam jedno pitanje u vezi Clipper aplikacija. Na jednom AT 286 12MHz racunaru sa 1MB memorije se vrti Clipper aplikacija cija je najveca DBF datoteka oko 11MB. Indeksirana je po dva kljuca. Problem je u sledecem: U privremenom direktorijumu, u kome aplikacija snima privremene datoteke, ostaju, ne obrisane, datoteke sa cudnim nazivima. Nazivi su po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje losi sektori pa mora da se startuje neki program (na primer NDD) da bi se sektori sredili. Inace aplikacija lepo radi i iz nje se nikada ne izlazi na silu. Znaci ove datoteke se prave i ostaju u toku regularnog koriscenja aplikacije. Zna li neko u cemu je problem i kako moze da se otkloni.
clipper.331 snemcev,
>> Imaš to i na Sezamu :)) >> >> Program se zove Snap, verzija 5.0. Nije to TO, ono se zove Source Print. A da ću da probam Snap, probaću...
clipper.332 zkrstic,
> datoteke, ostaju, ne obrisane, datoteke sa cudnim nazivima. Nazivi > su po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje > losi To je ostatak fajlića koje Clipper koristi za svapovanje i pravljenje virtuelne memorije, koliko me pamćenje služi. Možeš da upotrebiš i onu promen- ljivu set clipper ... swappath pa da ih teraš u poseban dir. Zkr
clipper.333 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- onotes zip 27897 Primeri koriscenja objekata (TBrowse, GET) u Clipper-u
clipper.334 d.petrovic,
Ă> po sistemu: "ABHEAB" i slicno. U nekim od tih datoteka postoje Ă> losi Meni se to samo jednom dešavalo i nisam siguran zašto, jerbo je to bilo u radnoj verziji programa, mada... kad razmislim šta sam tada menjao... Nema veze sa pameću i ne mora da znači, ali može da ima veze sa naredbom "set printer to blabla" pa ako koristiš to negde proveri dal' se javlja kad to ne koristiš...
clipper.335 dejanr,
Prepravljam neki veeeeliki Clipper program koji su drugi pisali (zabavno je, možete misliti :) i nailazim na nekakav obj fajl koji se zove SET_FUNC.OBJ. On se lepo linkuje uz program, i pozivaju se neke funkcije iz njega, npr. dbcheck (proverava strukturu baze podataka), nešto sa prozorima itd. Dotični .OBJ ima oko 15 k. Izgleda da se ne da linkovati sa novim Clipper-om, samo sa S87 (ili bar meni nije uspelo uz par sitnih proba). Pitanje: da li je možda taj SET_FUNC.OBJ "nešto" u javnom vlasništvu, za šta je raspoloživ source (SET_FUNC.ASM, .PRG, .C itd)? Da li uopšte neko zna šta je "to"?
clipper.336 jtitov,
> Prepravljam neki veeeeliki Clipper program koji su drugi > pisali (zabavno je, mozete misliti :) i nailazim na > nekakav obj fajl koji Mogao bi malo, u par reci, da nam ispricas svoje avanture sa prepravkom tudjeg koda. Mogu misliti kako ti je. Jos ako nema komentara...
clipper.337 ndragan,
/ imam neki Source Print koji me oduševljava. Jedina mu je mana što je SP i SNAP! je otkupio Foks, pa se sad isporučuje kao FoxDoc uz FoxPro (bez doplate). Koliko se sećam, SNAP! je imao i .cfg fajlove sa kliperovim naredbama, a mogli su se i editovati. Kao dodatak, prepoznavao je i funkcije od onog tipa kako se ono zvaše, nešto na R.
clipper.338 snemcev,
>> Program se zove Snap, verzija 5.0. Podržava i Clipper i Fox i Boga >> oca i kojekakve "third party" libove. Što jes', jes', lepo fercera, al' prosvetli me kako da mu objasnim da moje čedo od programa ima 20 kojekakvih modula i da ja hoću sve njih uključene u izveštaj? On traži samo 'Main project file'. Za sve f-je koje nisu u njemu, on jednostavno napiše BLA_BLA_TRUĆ ( function in ? )
clipper.339 d.petrovic,
Ă> Pitanje: da li je možda taj SET_FUNC.OBJ "nešto" u javnom Ă> vlasništvu, Na žalost ne znam šta je to, ali da te o'ma opomenem da ne gubiš vreme. Ne može da se mešaju .obj-ovi iz s87 i 5.01. Zar nije lakše da sve napišeš ponovo ? ;)))
clipper.340 nbatocanin,
> Samo da prokomentarisem glupost... Zašto funkcija ne bi mogla da se zove Valid?
clipper.341 nbatocanin,
> U privremenom direktorijumu, u kome aplikacija snima > privremene datoteke, ostaju, ne obrisane, datoteke sa > cudnim nazivima. Nazivi su po sistemu: "ABHEAB" i slicno. To je swap datoteka: javlja se kad nema dovoljno memorije i trebalo bi da se briše pri regularnom izlasku.
clipper.342 dejanr,
Juče se nakanih da probam Blinker i WOW :) Sad se "nerviram" što sam ovako dugo koristio RTLINK, izgubio sam sate i sate vremena jer ovaj stvarno linkuje ko munja. Sve vreme se pitam, postoji li negde neka loša strana (neko na Klubu reče da "slabije koristi memoriju", šta god to značilo ;)?
clipper.343 dejanr,
>> Mogao bi malo, u par reci, da nam ispricas svoje avanture sa prepravkom >> tudjeg koda. Autor programa je Lola (sa Sezama). Program je jako složen ali dosta lepo napisan, tako da uopšte nije tako teško kao što izgleda. Glavni problem je kad se recimo pojavi zahtev "u masci A treba dodati i mogućnost da se sa F7 radi to i to, koja već postoji u masci B". Ja nađem da se u oba slučaja zove isti potprogram, samo što je kod B poziva jedan flag .T. a kod A poziva .F. A baš taj flag kontroliše radi li F7 "to i to" ili ništa. I sad dođe pitanje - ako prepravim u oba slučaja u .T., kakvih će biti loših posledica? Ako ih nema, zašto je to u startu i bilo isključeno? Drugi problem je što su u programu korišćeni i neki uslužni programi iz časopisa, zatim FUNCKY.LIB i pomenuti SET_FUNC.OBJ. Što se tiče programa iz časopisa, tu imam source-ve ali opet mi malo prave probleme, svaki pravio drugi čovek pa je nešto svoje u njemu "terao". Što se tiče FUNCKY.LIB, to sam mahom "istrebio", jer i nisu bile neke usluge, pa sam nešto izbacio a nešto zamenio svojim funkcijama. Rado bi se prebacio na Clipper 5.01, nekako sam počeo da se navikavam na njega, a postao je i brz otkad je BLINKERA-a... ali SET_FUNC.OBJ me i dalje muči :(
clipper.345 ndragan,
/ ljivu set clipper ... swappath pa da ih teraš u poseban dir. ...a u autoegzek ubaciš redovno brisanje tog direktorija. Za foksovce, u config.fp se ubacuje sortwork=C:Đlevi_dir editwork=C:Đlevi_dir progwork=C:Đlevi_dir tmpfiles=C:Đlevi_dir a u autoegzek del c:Đlevi_dirĐ*.tmp >nul Da vas ne bi zivkali bez veze kad ponestane mesta na disku. FP2 inače ne zatura te fajlove tako lako, ali kako je krenulo sa strujom...
clipper.346 jtitov,
> Juce se nakanih da probam Blinker i WOW :) Sad se > "nerviram" sto sam To bi se reklo: Dobro jutro Kolumbo :))) Odavno sam napisao da je to trenutno najbolji/najbrzi linker. Pogotovu za Clipper. Drugar koji sa njim radi (nije Sez.) je nekoliko puta smanjio vreme razvoja programa. Blinkerom je takodje moguce napraviti 'demo' verziju, tj. program koji ce raditi SVE, ali samo na pr. 5 minuta. Napominjem da to radi BLinker, a ne Clipper. Mogao bi o BLinker-u da napises tekstic u Racunarima. Na zalost sa Fox-om ne radi...
clipper.347 bulaja,
Juce se nakanih da probam Blinker i WOW :) Sad se "nerviram" sto sam ovako dugo koristio RTLINK, izgubio sam sate i sate vremena jer ovaj stvarno linkuje ko munja. │Sve vreme se pitam, postoji li negde neka losa strana (neko na Klubu │rece da "slabije koristi memoriju", sta god to znacilo ;)? └─── I ja sam se nakanio da probam Blinker bas pre tri dana :) i stvarno je WOW! Umesto da se patim 20 sekundi da mi RTLink zavrsi posao, Blinker uradi inkrementalni link za 1 sec! Ne bi trebao da ima mnogo losih strana :), jedino bi program trebao da ti radi malo sporije, ali kad uradis final link (sto mozes i RTlink-om) onda dobijes normalnu app.
clipper.348 dejanr,
>> Mogao bi o BLinker-u da napises tekstic u Racunarima. Mislim da je tekst u planu, autor nbatocanin. Tema je zbilja zanimljiva. Inače, ja od BLinker-a nisam još ništa posebno probao, osim što sam uspeo da linkujem program, potprograme i neke lib-ove, i sve to da pozovem iz RMAKE-a - za to, Bogu hvala, nije bilo potrebno da se čita dokumentacija niti da se gleda onaj Norton Guide ;) Garant ima i drugih lepih mogućnosti.
clipper.349 dejanr,
>> Ne bi trebao da ima mnogo losih strana :), jedino bi program trebao >> da ti radi malo sporije, ali kad uradis final link (sto mozes i >> RTlink-om) onda dobijes normalnu app. Pa, BLinker ako sam dobro razumeo radi nekakvo "inkrementalno" linkovanje, a isto se isključuje dodavanjem reda BLINKER INCREMENTAL OFF u .LNK fajl. Pretpostavljam da mu mogu i pobrisati .EXE fajl i radne datoteke (ako ih ima), pa onda neće imati na šta da "inkrementuje", moraće da odradi od nule a lakše obrisati jedan fajl nego zvati .LNK u editor i menjati ga, obaška što posle mogu da zaboravim da ponovo uključim. Najzad, što kažeš, može onaj zadnji put da se linkuje i sa RTLINK-om, leba ne jede. Mada mislim da nema naročite potrebe. Blinker je pravo otkrovenje, jedino me nervira što ispisuje onoliku uvodnu poruku i što bipće na kraju, valjda i to nekako može da se isključi.
clipper.350 ndragan,
/ uključene u izveštaj? On traži samo 'Main project file'. Za sve f-je Mana mu je što oče(t)kuje da sve bude na istom direktoriju.
clipper.351 bulaja,
│Pa, BLinker ako sam dobro razumeo radi nekakvo "inkrementalno" linkovanje, │a isto se iskljucuje dodavanjem reda BLINKER INCREMENTAL OFF u .LNK fajl. └─── Da, pa glavno ubrzanje je zbog tog inc linkovanja. Ako radi potpuni link (tj. sa INC OFF, npr. prvi put, a primetio sam da to radi svaki put posle izmene bilo cega u .lnk fajlu) i onda je brzi od RTLink-a, ali ne mnogo (10-20%). │Blinker je pravo otkrovenje, jedino me nervira sto ispisuje onoliku uvodnu │poruku i sto bipce na kraju, valjda i to nekako moze da se iskljuci. └─── Moze, stavi NOBELL na kraj .LNK fajla.
clipper.352 nbatocanin,
> Mislim da je tekst u planu, autor nbatocanin. Tema je > zbilja zanimljiva. Zadatak je izvršen :)) > Garant ima i drugih lepih mogućnosti. Pa, nije da nema: ima nekoliko baš lepih stvari. Najbolje je inkrementalno linkovanje, jer drastićno skraćuje vreme razvoja. Štos radi tako što u EXE-u iz svake procedure ostavi pomalo prostora (podešava se!), pa kad se procedura izmeni malo, on samo izmeni taj deo u EXE-u. Linkovanje tako traje kraće od 1 sec. Međutim, kad se ovo uključi, Blinker isključuje Clipper dynamic paging system, i prelazi na svoje dinamičke overleje, što je sporije. Zato finalni link treba obavezno raditi sa BLINKER INCREMENTAL OFF. Ako imate skript, ne treba ga menjati. Može i: BLINK @FILES.LNK BLINKER INCREMENTAL OFF Kad je uključen INC link, lošije se troši memorija, pa ako imate veći program može se desiti da nema dovoljno rama pri razvoju. Rezultujući program je nešto malo duži nego onaj koji daje RTLink i, mada kao ima neku kompresiju tabela, ja sa RTLinkom dobijam malo više slobodne memorije. U svaki program se ulinkuje i njegov overlej menadžer koji radi stvar (dinamičke overleje) i ima masu korisnih funkcijica. Na primer, postoji mogućnost startovanja eksternih programa, pri čemu se *kompletan* sadržaj memorije swapuje na disk. Ima i jednostavan profiler, na osnovu koga procenjujete koje procedure se često koriste i šta stavljate u root overlej. Može se praviti i demo verzija programa, tako što se ograniči vreme rada programa. Može se i upisati serijski broj u EXE. U suštini je jako koristan - ja pređoh na njega. Jedini nedostaci su mu što nema PLL biblioteke kao RTLink i što se ona grozna faca :( ne može skinuti.
clipper.353 snemcev,
>> Mana mu je što oče(t)kuje da sve bude na istom direktoriju. Pa sve i jeste u istom direktorijumu, i opet daje samo main file.
clipper.354 snemcev,
>> Pretpostavljam da mu mogu i pobrisati .EXE fajl i radne datoteke (ako >> ih ima), pa onda neće imati na šta da "inkrementuje", moraće da >> odradi od nule a lakše obrisati jedan fajl nego zvati .LNK u editor i >> menjati ga, obaška što posle mogu da zaboravim da ponovo uključim. Pa možeš, ali nebi trebao da dobiješ isti rezultat kao sa INC OFF. Jeste da će linker da "odradi od nule", ali će i dalje na kraju svake procedure ostaviti ono malo slobodnog prostora za naredna inkrementalna linkovanja. A kao što reče nbatocanin, može i blinker @prog.lnk bli inc off PS Sve navedeno u komandnoj linije ima veći prioritet od svega u lnk fajlu!
clipper.355 dejanr,
Evo malo da se smejete, pa makar i na moj račun ;) Elem, odavno nisam imao potrebe da integrišem asemblerske potprograme koje sam napišem u Clipper programe ali eto, dužnost zove, ispade da mora i to da se radi da bi se olakšalo i ubrzalo šifrovanje nekih podataka (nikad neću shvatiti zašto je u Clipper-u svako FOR i=1 TO LENGTH(sstr) tako sporo). Pošto je čitav program na Clipper-u 5.01, znao sam da će da bude muke al' šta je, tu je. Uzmem neki stari program (pisao sam ga još '89) koji je pozivan iz Clipper-a S87 ne bi li se iz njega podsetio kako to beše, "skinem" početak i kraj i reko' prvo da probam nešto prosto, da napravim samo proceduru koja ima dva argumenta pri čemu se jedan prepisuje u drugi (dakle, kažeš a=crypt(@prvi, @drugi) i postane drugi=prvi. Lepo. Napišem ja proceduru, asembliram je, linkujem (blinkerom, naravno :) kad ono, čudo jedno, ne radi ;( Uzmem malo da prepravljam, izmenim nešto, ajmo opet rmake, kad ono Data error reading drive C: (na C: je softver, a ovo što radim je na D:) Auuuu... obično mi jednom godišnje crkava disk, ali negde u aprilu ili maju, ove godine baš nešto poranio :(( Resetujem računar, pustim NDD, prođe on ceo C: i sve mu u redu. Ok, nešto se cache zaglupeo, startujem ja ponovo moj slavni program (koji, tako (valjda) treba, i dalje ne radi,) opet da ga prevedem, opet Data error na C:. To mi već postane malo sumnjivo, probam par reset-a i stvarno: uvek posle startovanja programa na C: čudo Božje Data error-a, a inače sve u redu. Najzad sam čak izbacio instrukciju kojom se PIŠE, dakle program samo protrči kroz polazni string i nigde ga ne upisuje, ali džabe - posle izvršavanja, ništa od C: Evo programa koji pravi to čudo uz poruku, ako mi neko objasni kako je moguće da tih par instrukcija tako temeljno zaglupe drajv C: koji se tu nikako ne referencira, a ne zaglupe D: na kome se sve to dešava, ima piće od mene :) Pošto sam video da nema 'leba od analogije sa S87, 'ajd reko' da pogledam kako se to propisno radi na novom Clipper-u. Što se toga tiče, moram da kažem da sam oduševljen - Nantucket je napravio tako lepe makroe da se parametri prenose maltene k'o da programiraš na nekom pravom jeziku. Tako je lepo i jednostavno (i čak mi je maltene iz prve proradilo to što sam hteo) da nemam reče. Međutim, beše i tu jedan problem - krenem ja da asembliram onaj demo primer što ide uz Clipper 5.01, kad ono ispade jedno milion grešaka (milion grešaka = krene da piše pa ekran za ekranom samo leti :) Onda nađem neki program iz "Računara" za backup, ajd' da probam njega da asembliram, opet milion grešaka. Definitivno su ti kompjuteri vatikansko-kominternovska zavera da nas totalno izlude ;) Posle popijene čaše vode shvatim da na mom kompjuteru, kad kažeš ASM DEMO, biva pokrenut nekakav OptAsm - Bog sveti zna šta mi bi da to stavim i kad sam ga uopšte stavio, mora da su mi pre neku godinu rekli da je mnooooooogo bolji i brži od MASM-a a ja bio lud pa poverovao. Tu mi već sine da mora biti da je taj OptAsm malkice negde nekompatibilan sa MASM-om, ali 'reko, mora da ima neku opciju za MASM kompatibilnost. Jest opcija, ali kako se zove? Neće da da help na OPT, OPT ?, OPT /?, OPT -? OPT help, dakle nema druge nego da se traži uputstvo. Nađem nekako uputstvo (help se dobija na OPT -h, alal im vera :( ) i tamo kaže da je za MASM kompatibilnost ("even MASM bugs are supported) switch -M. Lepo, ajmo OPT -M CRYPT; i zaista, nije milion greški ali ih je otprilike upola manje. Naravno, to povlači i jedno DEL OPTASM.EXE, da mi ne pravi takva s*anja drugi put, i 'ajmo da tražimo MASM, ništa bez Microsofta. Ispadne da, na moje veliko iznenađenje, imam original MASM-a 5.1 (nemam ideju otkud mi, sigurno ga nisam kupio, a ni prikaz kol'ko se sećam nisam pisao, mora da mi je to neko na nekom sajmu uvalio), instaliram ja to i, o žuda, DEMO primeri prorade. A ubrzo i moj program za kopiranje, sad mi ostaje samo da pravim program za potrebno šifrovanje :) Sve u svemu, eto kako čoveku ode 3-4 sata na nešto za šta je planirao 15 minuta :( bug.asm
clipper.356 dejanr,
Neko ovde reče da ga nervira što Blinker crta onoliki ekran i još namiguje i bipće, ali da se biptanje može isključiti. Kad sam počeo da radim nisam se, naravno, sećao kako se biptanje isključuje, a mrzelo me da zovem Sezam i tražim poruku, reko' mora da ima ta opcija negde u BLINKER.EXE, da mi to malo pogledamo sa NU. I stvarno, ima opcija, ali uz nju nađoh i sledeće naredbe: NOBELL NOBLINK NOFACE Elem, NOBELL je bez zvona i to lepo radi. Ali, NOFACE bi trebalo valjda da bude "bez lica", a NOBLINK možda da ne namiguje. Ali te opcije iz nekog razloga ne rade. Ako neko ima ideju kako da skinemo onu rugobu sa ekrana...
clipper.357 bulaja,
│Elem, NOBELL je bez zvona i to lepo radi. Ali, NOFACE bi trebalo valjda │da bude "bez lica", a NOBLINK mozda da ne namiguje. Ali te opcije iz nekog │razloga ne rade. Ako neko ima ideju kako da skinemo onu rugobu sa ekrana... └─── Syntax: Purpose: ────── ─────── BLINKER MESSAGE NOBLINK Disable blinking of eyes during linking BLINKER MESSAGE WINK [LEFT] Enable single eye winking during linking Nisi morao da kopas po blinker.exe, sve lepo pise i u blinker.NG :). Dakle, treptanje rugobe (blink) se moze skinuti bez problema, ali se sama faca izgleda ne moze tako lako skinuti sa ekrana. NOFACE opcija se ne spominje u NG, a faca je u .EXE kriptovana tako da ce morati malo da se protrci kroz debugger ako bas toliko smeta :). Inace su objasnjenja ovih opcija (purpose) haos, sta li misli onaj ko nije video Blinker na delu? :). Evo npr. malo detaljnije sta radi vrlo bitna komanda WINK: This command is used to enable the winking of only one eye while Blinker is running. If no parameter is entered, the right eye will wink (from Blinker's point of view, i.e. from inside the screen looking out). The parameter LEFT causes the left eye to wink.
clipper.358 nbatocanin,
> Nisi morao da kopas po blinker.exe, sve lepo pise i u > blinker.NG :). Dakle, treptanje rugobe (blink) se moze > skinuti bez problema, ali se sama faca izgleda ne moze > tako lako skinuti sa ekrana. NOFACE opcija se ne spominje > u NG, a faca je u .EXE kriptovana tako da ce morati malo > da se protrci kroz debugger ako bas toliko smeta :). Uh, za facu je lako: odgovorna je INT 10 instrukcija u sledećem nizu: b4 0e cd 10 eb f5 E, ako umesto CD10 stavite 9090, neće se ispisivati faca. Tada OBAVEZNO treba staviti i MESS NOBLINK, jer će oči namigivati preko prethodnih naredbi ;). Ali, nisam siguran da se negde u programu ne proverava kontrolna suma celog programa, pa ovo do daljnjeg ne preporučujem.
clipper.359 nbatocanin,
> Pošto sam video da nema 'leba od analogije sa S87, 'ajd > reko' da pogledam kako se to propisno radi na novom > Clipper-u. Što se toga tiče, moram da kažem da sam > oduševljen - Nantucket je napravio tako lepe makroe da se > parametri prenose maltene k'o da programiraš na nekom > pravom jeziku. :)) To je isto i u Summer'87.
clipper.360 nbatocanin,
> Evo programa koji pravi to čudo uz poruku, ako mi neko > objasni kako je moguće da tih par instrukcija tako > temeljno zaglupe drajv C: koji se tu nikako ne > referencira, a ne zaglupe D: na kome se sve to dešava, ima > piće od mene :) Kuku, gde nađe da koristiš EXTENDA.MAC -- on postoji zbog kompatibilnosti sa najstarijim verzijama Clippera! Koristi samo EXTENDA.INC. Što se tiče programa, nisam ga detaljno gledao, ali je najverovatnije uzrok pada funkcija ret_int: čini mi se da je posle njenog poziva neophodno ručno ažurirati stek, ali u svakom slučaju ova funkcija uništava sadržaj svih registara, tako da ti pre izlaska iz funkcije svi registri imaju slučajnu vrednost. E sad, šta se dalje dešava, boga pitaj: rezultujući kod može ladno i disk da ti spali ;)
clipper.361 dejanr,
>> Kuku, gde nađe da koristiš EXTENDA.MAC -- on postoji zbog >> kompatibilnosti sa najstarijim verzijama Clippera! Pa rekoh ja da je to bilo po ugledu na neki stari program, a vi mi ne verujete da je bio toliko star :) U to vreme nije bilo ovijeh lepota koje su posle izmislili ;)) U svakom zlu ima i dobra - da me nije zezao program, nikad ne bih znao kako to novi Clipper lepo radi pa bi se u zbiru (računajući i godine koje dolaze ;) više mučio :)
clipper.362 dejanr,
Da li ste već čuli da... Clipper funkcija LASTREC() vraća 1 ako u bazi ima nula slogova. Takođe vraća 1 ako u bazi ima jedan slog. Postavljaju se dva pitanja: Q1. Kad vraća 0? A1. Kad u dotičnoj oblasti nije aktivna ni jedna baza. Ovo piše u uputstvu. Q2. Kako razlikovati da li u bazi ima 0 slogova ili 1 slog? A2. Pomoću LASTREC(), nikako. Ali posle GOTO TOP funkcija EOF() vraća .T., inače vraća .F.. Što jes jes, i ovo piše u uputstvu.
clipper.363 dejanr,
U novom Clipper-u se preporučuje da se baze otvaraju sa USE ime ALIAS ime_aliasa SHARED NEW (umesto SHARED može i EXCLUSIVE) Nekad se to radilo otprilike ovako: SELECT 9 USE ime SHARED U svakom slučaju, radi i jedno i drugo. Ali ako probate da budete pametni pa da to iskombinujete, na primer: USE ime ALIAS 9 SHARED NEW eeee... onda ste se zeznuli, jer posle toga sa SELECT 9 Bog sveti zna koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po Clipper-ovoj nekoj pameti "sledeći" broj, ali vi taj broj uopšte ne znate, pa ne možete ni da otvorite bazu. Bar da prijavi grešku kod ove konstrukcije, nego pušta da se sve radi a onda kad krene da se pristupa bazi, zaređaju greške da "nema promenljive"
clipper.364 banex,
>> eeee... onda ste se zeznuli, jer posle toga sa SELECT 9 Bog sveti >> zna koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po >> Clipper-ovoj Negde u onim silnim ng datotekama za novi clipper je navedeno da je 'preferirani' metod pristupa bazi preko aliasa. Ako se ne navede alias ime tada se kao alias tretira originalni naziv. Imam utisak da navođenje broja uz select naredbu podrazumeva da je u pitanju 'stari' pristup (pristup 9-om području) a ne bazi sa alias imenom '9'. Ko razume, shvatiće ;) BTW, ne čudi me što je novi vlasnik nantuketa napravio pokolj ;))
clipper.365 petrovics,
>> To je swap datoteka: javlja se kad nema dovoljno memorije i trebalo >> bi da se brise pri regularnom izlasku. Ma znao sam ja sta je, problem je sto se ne brisu sve (neke se brisu a neke ne). Najveci problem je sto se javljaju i LOST klasteri koje moras da sredjujes sa NDD. Inace ovo se desava jos jednom mom prijatelju, ovde u Nisu.
clipper.366 badboy,
Pomozite mi.... Napisao sam program u dbase-u, zelim da kompajliram sa clipperom.. Sto se tice kompajliranja, sve je ok, program radi , samo ne zna da radi sa dbase indexima (*.ndx).KAko da napravim NTX od NDX - a? Pozdrav: ---Bady
clipper.367 draganf,
> Napisao sam program u dbase-u, zelim da kompajliram sa > clipperom.. Sto se tice kompajliranja, sve je ok, program > radi , samo ne zna da radi sa dbase indexima (*.ndx).KAko > da napravim NTX od NDX - a? Pozdrav: > ---Bady Neznam što uopšte koristiš NDX ali postoji NDX.OBJ koji treba linkovati zajedno sa tvojprogram.obj i to radi. Dragan
clipper.368 toma,
■■>> ... ... ... Najveci problem je sto se javljaju i LOST ■■>> klasteri koje moras da sredjujes sa NDD. Inace ovo se desava jos ■■>> jednom mom prijatelju, ovde u Nisu. Lost klasteri su se javljali i meni sve dok nisam seo i ceo program natenane pregledao (540kb) i video da mi kroz program duva promaja (jedna datoteka ja bila non stop širom otvorena). Kad sam to sredio sve je bilo OK! Program se naravno regularno zavrsavao ali na njegovom kraju nije stajalo DbCloseAll(). Pozdrav from Toma.
clipper.369 toma,
■■>> Q2. Kako razlikovati da li u bazi ima 0 slogova ili 1 slog? ■■>> A2. Pomoću LASTREC(), nikako. Ali posle GOTO TOP funkcija EOF() ■■>> vraća .T., inače vraća .F.. Što jes jes, i ovo piše u uputstvu. A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj. Pozdrav from Toma.
clipper.370 dkalaba,
Hi, Da lKi neko zna nešto o generatoru aplikacija SuidCASE koji je razvila MIKRONOVA iz N. Sada? Pomoću njega se mogu praviti EXE fajlovi, što mu daje komercijalnu vrednost, ali kako sam ja pomalo skeptik kad se radi o takvim alatima, zamolio bih nekog ko malo više zna o tome da napiše ovde koju rečenicu. .
clipper.371 d.petrovic,
Ă> A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj. Ako staviš set filter to blabla neće bogme ;)
clipper.372 zkrstic,
> Neznam što uopšte koristiš NDX ali postoji NDX.OBJ koji treba > linkovati zajedno sa tvojprogram.obj i to radi. Samo momenat! Ova kompatibilnost je ukinuta u Clipperu 5.01! Postoji samo u S'87. Sada nek me neko pukne po glavi u stilu: "pa o njemu i pričamo" ;)))) Zkr
clipper.373 d.petrovic,
Ă> Sada nek me neko pukne po glavi u stilu: "pa o njemu i pričamo" Ă> ;)))) Cangereeee. (ala zvoni ;)) ) Jok! O DBase III :))) Ozbiljno!
clipper.374 dejanr,
Kako Clipper "pamti" stringove? Mislio sam da se u C-ovskom maniru završavaju nulom, međutim može da se napiše prom:='abc'+chr(0)+'def' i to će ok raditi. Sa druge strane, kada iz asemblerskog potprograma vratim string koji ima nulu u sebi, on ga odseče na toj nuli.
clipper.375 bulaja,
│Kako Clipper "pamti" stringove? Mislio sam da se u C-ovskom maniru │zavrsavaju nulom, medutim moze da se napise prom:='abc'+chr(0)+'def' │i to ce ok raditi. Sa druge strane, kada iz asemblerskog potprograma │vratim string koji ima nulu u sebi, on ga odsece na toj nuli. └─── Bilo je vce ovde price o tome, odduse vezano za povezivanje sa C-om. Clipper ne koristi null term stringove, zato imas posebnu funkciju _retclen() koja vraca Clipper stringove (trazi duzinu stringa kao argument). Pogledaj u NG, a evo ti ovde i primer za C i ASM odatle: ──── C: char data[5] = {1, 0, 2, 0, 3, 3}; _retclen(data, 5); ──── ASM: EXTRN __retclen:FAR mov ax, 5 ; params pushed in reverse push ax mov dx, seg MyData ; pass address of data (not shown) mov ax, offset MyData push dx push ax call __retclen add sp, 6 ; reset stack pointer
clipper.376 nbatocanin,
> Da lKi neko zna nešto o generatoru aplikacija SuidCASE > koji je razvila MIKRONOVA iz N. Sada? Trebalo je da radim prikaz ovog programa i bio sam na demonstraciji. Radi se o programu koji omogućava da zadaš razne stvari za aplikaciju: kakvi će biti meniji, kakvi pregledi, izveštaji, ... Takvi programi su već viđeni i nisu ništa teško za uraditi. Ono što je najvažnije, a to su specifičnosti svake aplikacije, urađeno je po meni veoma loše: postoji veliki broj ugrađenih funkcija koje se pozivaju da bi se izvele razne kontrole. Ukratko, interesantno i nedovoljno razrađeno. Ipak, da se ogradim: ovo je samo na osnovu 2-3 sata rada. Lično mislim da je oblast izuzetno interesantna i sam planiram odavno da radim nešto ovako.
clipper.377 nbatocanin,
Evo listinga objavljenih u tekstu "Knjiga u kojoj sve piše". Nisam imao previše vremena da sve detaljno sredim, ali mislim da i ovako može da se koristi. dbf.zip
clipper.378 toma,
■■>> Ă> A2.1 Funkcija RecCount(). Do sada je returnirala tacan broj. ■■>> ■■>> Ako staviš set filter to blabla neće bogme ;) A da! Ovde ima i ljudi koji još uvek koriste filtere! ;> Pozdrav from Toma.
clipper.379 d.petrovic,
Ă> A da! Ovde ima i ljudi koji još uvek koriste filtere! ;> Da vidiš ponekad i koristim :). Kad štampam nešto, pa je program ipak uvek brži od štampača. Uštedim poneki indeks, ali samo ako se to odnosi na štampanje.
clipper.380 dr.grba,
══ Zasto funkcija ne bi mogla da se zove Valid? Dobro, priznajem. Do mene, do mene u ovoj partiji hrkljusa... Verovatno si bio u (ne)prilici da u 5.55 ujutru zavrsavas neki kod koji u 9.00 treba da instaliras korisniku (mogao si ti to zavrsiti i oko ponoci, al' si jahao svoj modem putem SEZAM-a (: )... Pa bleknes onako peskovitih ociju u monitor kad ti ceo sistem unosa crkne zbog onog semicolon... Morao sam da budem besan na nekog ili nesto, zasto to ne bi bio Get koncept ? Mada smatram da je upravo ono sto Clipper cini NAJBOLJIM (foxovci, paznja!) otvorenost sistema za prepravke svih vrsta i dorade... BTW, kakva su iskustva kolega kliperasa na anti-majmunskim kontrolama u programima? Sta mislite, dokle treba trositi snagu u osmisljavanju konstrukcije programa da ne bi neka nafrakana lujka srusila ceo sistem? (Pre koji dan sam na jednoj tastaturi nasao fleke od laka za nokte...) Ne samo u Clipperu, ne samo na PC-ju, imao sam prilike da vidim svakakve ideje o zastiti datoteka, kvalitetu unosa, (ne)mogucnosti tumbanja,... Nenade, mozda neka ideja za Clipper savetnik ?.... Pozdrav, dr.grba
clipper.381 snemcev,
>> koju bazu uopšte otvarate, izgleda da baza 'ime' dobije po >> Clipper-ovoj nekoj pameti "sledeći" broj, ali vi taj broj uopšte ne >> znate, pa ne možete ni da otvorite bazu. A zar funkcija SELECT("ime") ne vraća broj zone u kojoj je baza "ime"?
clipper.382 dejanr,
>> A zar funkcija SELECT("ime") ne vraća broj zone u kojoj je baza "ime"? Vraća... ali ako pročitaš još jednom poruku 9.363, videćeš da to za dati problem nije od naročitog značaja - ne opisuje se neki nerešiv problem, nego naprosto jedna situacija koja nastaje ako neko pokuša da kombinuje "stari" i "novi" način rada sa alias-ima.
clipper.383 nbatocanin,
> Verovatno si bio u (ne)prilici da u 5.55 ujutru zavrsavas > neki kod koji u 9.00 treba da instaliras korisniku Jok ti si :))) Šalu na stranu, i meni se nimalo ne sviđa Clipper-ov poluslobodan ;) sistem za pisanje naredbi. Ne vidim pravi razlog da naredbe ne budu potpuno slobodno raspoređene. > BTW, kakva su iskustva kolega kliperasa na anti-majmunskim > kontrolama u programima? Uh, ja sam tu nepopravljivo lenj. Valjda mi se čini da tako uludo trošim vreme. U principu, nikad se ne trudim da program bude pametniji od korisnika i samo sprečavam nenamerne greške. Ako baš hoće da napravi haos, ja tu ništa ne mogu: ionako može da razbije računar ;) Uzgred, kao definitivan dokaz neuračunljivosti korisnika, čuo sam ovakvu izjavu: "Ma, jeste da sam taj program platio debelo, ali ne da je zaštićen: evo, lupim rukom po tastaturi i ništa mu nije!" > Nenade, mozda neka ideja za Clipper savetnik ?.... Na žalost (?), savetnik do daljnjeg neće izlaziti.
clipper.384 ndragan,
/ BTW, kakva su iskustva kolega kliperasa na anti-majmunskim kontrolama / u programima? Sta mislite, dokle treba trositi snagu u osmisljavanju Iskustvo, opšte pa pojedinačno. Forsiram kontrole šifara (nema duplih, a moraju da postoje); datume kontrolišem da su u opsegu od danas-100, danas+5, mada i onda samo izbacim pitalicu "datum 21.04.1957 izgleda čudno: tako treba / ukucaću ponovo" (ono "tako treba" sam ugradio još oktobra, tek da se zna). Ako ima smisla, ubacim još poneku kontrolu (datum isplate ne može biti stariji od datuma ugovora i slično). Veći je zez sa izdavanjem iz magacina. U materijalnom i u robnom za trgovinu mora da postoji zaliha kad se izdaje roba/materijal; u robnom za proizvodne firme baš i ne mora. Zašto? Zato što našim socrealističkim mastodontima treba još deset godina dok ne opasulje svoje magacionere da _dnevno_ daju papire o zaprimljenoj robi, i možda još pet godina dok se sete da ubace makinu u magacin. Tako se prijem robe knjiži krajem meseca (if ever ;), a faktura (i otpremnica) moraju da idu monumentalno, jer to pravi pare. Dakle, ako vam zaliha uleti u minus, (valjda) znate šta radite, ali ja vas neću zadržavati. Kakve još kontrole? Pa, pojedinačne: na nekim mestima primetiš da osoblje greši na određenim poljima, primetiš koja je vrsta greške pa ubaciš specifičnu kontrolu; tu kontrolu ne stavljaš nikom drugom, jer je iskustveno dokazano (?) da višak kontrola nervira operatere pa počinju da izmišljaju nove, ingeniozne greške :)
clipper.385 vsasa,
>>> A zar funkcija SELECT("ime") ne vraca broj zone u kojoj je baza "ime"? > > Vraca... ali ako procitas jos jednom poruku 9.363, videces da to za > dati problem nije od narocitog znacaja - ne opisuje se neki neresiv > problem, nego naprosto jedna situacija koja nastaje ako neko pokusa > da kombinuje "stari" i "novi" nacin rada sa alias-ima. A zasto uopste voditi racuna o broju oblasti koja je aktivna? Prilikom otvaranja baze ja koristim DbUseArea(.T.,,"Ime",,), a kasnije poljima iz baze Ime pristupam sa Ime->ime_polja. Time sam SELECT potpuno izbacio iz upotrebe! Isto tako i alias-e retko upotrebljavam, jer jednostavno koristim samo ime baze. CAO, Vsasa.
clipper.386 mbole,
> Na žalost (?), savetnik do daljnjeg neće izlaziti. Uaaaaaa. Vratite nam savetnik :(((((( A što neće ???????
clipper.387 dejanr,
Ima li neki način da se za logičke promenljive u raznim @say...get maskama pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto onoga T i F? Ideja je, naravno, da se to nekako doda u postojeći program, a da se po mogućnosti u njemu što manje mora menjati. U bazama itd može slobodno da ostane .t. i .f., samo da se promeni na ekranu
clipper.388 dr.grba,
>> Na zalost (?), savetnik do daljnjeg nece izlaziti. Ma, daj, sta se to dogadja sa casopisom? Ako sam ikada imao kljucni argumenat da prebolim cenu "Racunara", onda su to bili savetnici. Jos mi reci da ce da ce da ukinu Clipper... Dobro, da ne preteram, dovde... Bez daljeg, napisao si dosad nekoliko PO MOM MISLJENJU (pozdrav sysop-u) izuzetnih i, za nase prilike, veoma korisnih clanaka. Bilo bi steta ... Tvoj kalkulator se vrti u par mojih aplikacija, i bas sam jednom ulazio kod korisnika(ce) kad je doticna pokazivala koleginici iz druge firme : "A ti nemas ovo..." ((: Uskoro cu implementirati i editor... Drzim ti fige da teras dalje. Uostalom, ako mi sta zatreba, imam SEZAM, zar ne? Pozdrav, dr ÔpŰa (((:]= <- left-handed, printer on head
clipper.391 ndragan,
/ potpuno izbacio iz upotrebe! Isto tako i alias-e retko upotrebljavam, U Foksu je stvar sa aliasima izvedena malo dalje, naime alias je opet ime, ali ne pravo ime .dbf baze (osim po difoltu), već proizvoljno ime. To otprilike znači da se umesto baze za koju je rađeno (unos, izveštaj itd) može da se poturi bilo koja druga baza sa dovoljno istom (!) strukturom ili SQL kursor, i sve će da radi. Naprimer, imamo program radi.prg u kojem se spominje baza promet.dbf; možemo ovako: use dpromet alias promet do radi Onaj radi.prg nema pojma kako mu se zove baza (ajde, može da ima ako treba), on poziva promet.polje1, promet.polje2 itd. Aliasi tipa jednog slova ili 'Select 22' i dalje postoje, ali mislim da je to više radi kompatibilnosti.
clipper.392 ppekovic,
U konferenciji Novosti, poruka br, 4.933 možete pročitati o CASE alatu za Clipper, nazvanom dBsee (database software engineering environment). Paket sadrži standardne case usluge kao što su definicije rečnika podataka i aplikacija, generisanje source koda, izradu dokumentacije, pomoć u održavanju i još mnogo toga. dBsee podržava i izradu aplikacija za rad u mreži. Ako želite da sebi priuštite ovo zadovoljstvo, prvo vam savetujem da se oženite(udate ?) za ćerku nekog bogataša, jer je cena ovog paketa oko $3549 (tri hiljade pet stotina četrdeset devet dolara). Paya
clipper.393 ppekovic,
>> Ima li neki način da se za logičke promenljive u raznim @say...get maskama >> pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto onoga T i F? >> Ideja je, naravno, da se to nekako doda u postojeći program, a da se po >> mogućnosti u njemu što manje mora menjati. Ako ništa ne smisliš, uvek imaš ono divno, hakersko rešenje, ... patch :) Paya
clipper.394 majkl,
> Ima li neki način da se za logičke promenljive u raznim > čsay...get maskama pojavljuju i kucaju vrednosti D i N > (ili recimo J i N) umesto onoga T i F? Može li da prodje Y kao picture template symbol koji daje "Y" i "N" (ubedi korisnike da su svi čuli za YES i NO)? ps. Jeste topla voda, al' ko još čita sve te sitnice?
clipper.395 oki.,
>> Ima li neki način da se za logičke promenljive u raznim @say...get >> maskama pojavljuju i kucaju vrednosti D i N (ili recimo J i N) umesto >> onoga T i F? Ideja je, naravno, da se to nekako doda u postojeći program, >> a da se po mogućnosti u njemu što manje mora menjati. >> >> U bazama itd može slobodno da ostane .t. i .f., samo da se promeni na >> ekranu Možda nisam najkompetntniji (koristim Fox tek mesec dana), al evo rešenja za FOX-u 2.0 (pretpostavljam da tako nešto ima i u Clipper-u?): on key label D keyboard "T" && zamena tastera, unos je on key label N keyboard "F" && moguć sa T,D,N,F. @ y,x get prom read on key && stare vrednosti Pozdrav, 3OPAH.
clipper.396 nbatocanin,
> A što neće ??????? Trenutno se vrši reorganizacija svih savetnika, ne bi li se dobilo nešto kvalitetnije.
clipper.397 nbatocanin,
> "Racunara", onda su to bili savetnici. Jos mi reci da ce > da ce da ukinu Clipper... :)) Neće, zašto bi? Ono što interesuje ljude, po definiciji ulazi u "Računare". > Tvoj kalkulator se vrti u par mojih aplikacija, i bas sam jednom > ulazio kod korisnika(ce) kad je doticna pokazivala koleginici iz > druge firme : "A ti nemas ovo..." ((: Iskreno mi je drago da ono što radim ljudima koristi. Što se tiče kalkulatora, imao sam par puta prilike da mi ljudi dokazuju da je neki kupljeni program jako dobar i onda kao krunski argument - moj kalkulator :)) > Uostalom, ako mi sta zatreba, imam SEZAM, zar ne? Naravno, samo napred.
clipper.398 nbatocanin,
> Ima li neki način da se za logičke promenljive u raznim > @say...get maskama pojavljuju i kucaju vrednosti D i N > (ili recimo J i N) umesto onoga T i F? Može, ali ne baš toliko elegantno koliko bi trebalo. Evo ovako: problem nije u samom unosu, jer unos vrednosti obavlja ReadModal funkcija i nju lako možeš izmeniti. Pravi problem je u inicijalnom ispisivanju vrednosti na ekran (znači kad zadaš GET x), a to obavlja funkcija _GET_ čiji tekst nije dat, što je veoma glupo, jer ova funkcija obavlja krajnje jednostavan posao. Zašto je to tako, ne znam. Da budem koristan, za manji problem je najbolje da uradiš sledeće: u GETSYS.PRG imaš funkciju GetReader i u njoj sledeću naredbu: while ( get:exitState == GE_NOEXIT ) GetApplyKey( get, Inkey(0) ) end koja bukvalno učitava vrednost. E, sad ovu petlju stavi u ovakvu konstrukciju: IF get:type == "L" UcitajDaNe(get) ELSE while ( get:exitState == GE_NOEXIT ) GetApplyKey( get, Inkey(0) ) end END IF I samo napravi po volji ucitavanje za D-N u proceduri UcitajDaNe. Na žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji Y/N dok ne dođe do učitavanja :(( Jedino rešenje za ovo koje mi pada na pamet je izmena definicije SAY..GET, što nije neki problem, ali je "prljav" posao.
clipper.399 dejanr,
>> Na žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji Y/N >> dok ne dođe do učitavanja :(( Hmmm... znači treba projektovati sva pitanja tako da inicijalni odgovor bude Ne :))) Hvala, probaću :)
clipper.400 zkrstic,
> U Foksu je stvar sa aliasima izvedena malo dalje, naime alias je > opet ime, ali ne pravo ime .dbf baze (osim po difoltu), već > proizvoljno ime. žekaj, ja ili nisam razumeo (moguće, kažu da sam nerazuman ;) ) ili ste prevideli da apsolutno isto radi i Clipper. USE baza ALIAS alias . . . SELECT alias gde alias mož da bude šta ti na pamet padne. Zkr
clipper.401 zkrstic,
> Može li da prodje Y kao picture template symbol koji daje "Y" i > "N" (ubedi korisnike da su svi čuli za YES i NO)? Može!
clipper.402 zkrstic,
> neki kupljeni program jako dobar i onda kao krunski argument - moj > kalkulator :)) Neverovatno ali istinto :) Ja sam pre terao kroz svoje programe neki calc.obj vezan, koji je lepo radio ali je imao opcija bože me sa- čuvaj, samo što nije zavijao sarme i čuvao sitnu decu. E onda, pokupih onaj tvoj pa njega okačih koji je zaista lepo radio, pa sada na kraju teram sličan koji je bratić nadžvrljao (teorija: ovaj je malo kraći i brže radi) ;))))) mala dijabola. Ali ono najlepše: Kome god smo prezentovali program, koji jede živu decu kako lepo vodi proadaju u svakom obliku, posebno ga impresio- nira - kalkulator :))) Zkr :) PS. Koliko me pamćenje služi, u onom tvom je bio bugčić, da prvi poziv kalkulatora otera decimale na deset, pa ih ne vrati, ili ih po de- faultu vrati na dve ?
clipper.404 nbatocanin,
> U Foksu je stvar sa aliasima izvedena malo dalje, naime > alias je opet ime, ali ne pravo ime .dbf baze (osim po > difoltu), već proizvoljno ime. Potpuno isto je i u Clipper-u. Nego, čini mi se da Fox ima neke druge zgodne štosove za rad sa aliasima?
clipper.405 ndragan,
/ ili ste prevideli da apsolutno isto radi i Clipper. Gle, uvedena je i jedna međusobno kompatibilna novost. Neverovatno.
clipper.406 ndragan,
/ on key label D keyboard "T" && zamena tastera, unos je Da, ali pošto ti ova dva tastera trebaju i pre i kasnije u toj istoj masci, lepo ove OKL naredbe staviš u When funkciju za to polje, a Pop key u Valid (u grani koja vraća .t., naravno). Može, ali ipak nije jasno, jer na ekranu ostaje T - eventualno da ga sakriješ, a pored da ispišeš DA ili NE. Može se doterati, što da ne.
clipper.407 dr.grba,
>> Trenutno se vrsi reorganizacija svih savetnika, ne bi li se dobilo >> nesto kvalitetnije. TUP ! ... Pade mi kamen sa srca ((((: I nemo' vise da me strecas, strefice me srcko (((: Pozdrav, dr ÔpŰa
clipper.408 zkrstic,
> / ili ste prevideli da apsolutno isto radi i Clipper. > > Gle, uvedena je i jedna međusobno kompatibilna novost. Neverovatno. Ma garant su se negde zeznuli :) Izbaciće oni to već u narednoj verziji, da ne bude zabune ;))))
clipper.409 zkrstic,
Dosada sam pored tople vode, rupe u saksiji otkrio mnoge stvari. Ali ovo je svetski biser ;( "Stari" Clipper 5.01, Nantucketov, trpeo je bez problema nešto tipa USE &baza EXCLUSIVE gde je baza = "01rac01". Nakon Upgradea (Computer Asso- ciates) koji postoji na Sezamu, na ovako nešto popićete sledeću grešku: -> "DBCMD/1010 Illegal characters in alias (USE command)". ;((( Rešenje se samo nameće u norton gajderu koji ide uz Upgrade: -> Note: A legal identifier can contain alphabetic -> characters, numbers, or the underscore symbol (_); -> but must begin with an alphabetic character. !!!!!!!!!! Koja budalaština ;((((( Jel' u sledećoj verziji treba očekivati da indexi moraju da počinju na slovo LJ ? ;( Zkr PS. Da predupredim odgovor na pitanje "a koji ti lurac naziv baze počinje na broj?" - Jednostavno, program radi u mreži, i prva dva broja označavaju opera- tera, a zadnja dva broj računa, obzirom da operater može od jednom da otvori 99 računa.
clipper.410 d.petrovic,
Ă> Dosada sam pored tople vode, rupe u saksiji otkrio mnoge stvari. ===== Kad pre? Znao sam da si stigao do mlake ;) žemu u stvari služi taj upgrade, upravo si mi dao na znanje da tako nešto postoji t.j. vredi li utrošiti vreme za DL-ovanje gorepomenutog :)
clipper.411 oki.,
>> Može, ali ipak nije jasno, jer na ekranu ostaje T - eventualno da ga >> sakriješ, a pored da ispišeš DA ili NE. Može se doterati, što da ne. Domaći urađen :) : clear @ 10,2 say "Unos:" @ 10,10 get p ; color ,x/x ; && ili COLOR SCHEME - podesiti po potrebi default .T. ; && važno je da se ništa ne vidi when priprema(); valid pisi(p) read on key procedure priprema on key label D keyboard "T" on key label N keyboard "F" return function pisi parameter pp if pp @ 10,8 say "DA" else @ 10,8 say "NE" endif return Pozdrav, 3OPAH.
clipper.412 snemcev,
>>>> Na žalost, problem sa inicijalnim ispisom ostaje: na ekranu stoji >>>> Y/N dok ne dođe do učitavanja :(( >> >> Hmmm... znači treba projektovati sva pitanja tako da inicijalni >> odgovor bude Ne :))) Pa i ne mora (ili mora?). Možda bi rešenje bilo u zadavanju problematičnog GET-a kao oGet := GetNew() ... AADD( GetList, oGet ) Tako GET neće biti ispisan na ekranu sve dok se ne pozove metoda display() (valjda je ReadModal poziva). Klasični način zadavanja GET-a kao č x, y SAY "Bla-bla: " GET p PICTURE ... WHEN ... VALID ... ispiše GET odmah posle zadavanja zbog kompatibilnosti sa S'87. Možda ovo pomogne. Izvor: ONOTES.ZIP
clipper.413 nbatocanin,
> PS. Koliko me pamćenje služi, u onom tvom je bio bugčić, > da prvi poziv kalkulatora otera decimale na deset, pa ih > ne vrati, ili ih po de- faultu vrati na dve ? Uh, u pravu si, ali toliko nemam vremena da nisam još uvek ispravio taj bug ;)
clipper.414 ppekovic,
Pojavio se novi clipper 5.2. Više o tome pročitajte u konferenciji novosti, poruka 4.951. Ukratko: Novi CA-Clipper 5.2 (Computer Assosiates Clipper) donosi: nove izmenjive database driver-e, uključujući i NTX driver koji omogućuje uslovno indeksiranje kao i bolje performanse; MDX driver za dBase IV koji podržava multi-tag (?) i uslovne indekse; driver-e za Paradox i FoxPro koji omogućuju CA-Clipper-u da čita i menja podatke u takvim bazama. CA je izdala i API za izmenjive database driver-e i rad sa virtuelnom memoriom, uključujući i pristup internim specifikacijama, koje ranije nisu bile dostupne. CA tvrdi da je poboljšana i dokumentacija, kao i podrška za expanded memoriju. CA je izbacila na tržište i novu verziju CA-Clipper Tools-a sa kompletnim interface-om za Novell. Nova verzija obuhvata preko 250 novih funkcija uglavnom za podršku višekoriničkim aplikacijama pod Novell-om. Tu su i funkcije za podršku više server-a i volume-a (ko se beše trudio da ovo prevede?), kao i alatke za povećanje sigurnosti podataka i pristupa. Cene: CA-Clipper - za ograničeno vreme $149, posle $795. CA-Clipper Tools, Nantucket tools upgrade $129, inače $695 Da li je mogućnost izmene database driver-a kraj mukama sa dbf formatom, ili najava talasa drajvera nezavisnih proizvodjača uz novi problem kompatibilnosti među njima? Paya
clipper.415 ndragan,
/ Nego, čini mi se da Fox ima neke druge zgodne štosove za rad sa / aliasima? Ne znam na šta misliš, možda na sintaksu baza.polje umesto baza->polje; ili na SQL kursor, koji je nekakva virtuelna baza (ne postoji, ali radi) ili... može da ispadne da si mislio na nešto što je uvedeno još u mfox+? Ima i onu funkciju alias() pa posle možeš da uradiš _alija=alias() select nešto_drugo ....radiš... sele (_alija) Ovo je dušu dalo za rutine koje treba da skoknu u drugu bazu da nešto urade, pa da se vrate u prvu - rutina uopšte ne mora da zna koja baza je bila selektovana na početku. Gimme a hint, na šta si mislio.
clipper.416 dusanp,
=> driver-e za Paradox i FoxPro koji omogućuju CA-Clipper-u => da čita i Doslo im u glavu...
clipper.417 nbatocanin,
> Pa i ne mora (ili mora?). Možda bi rešenje bilo u > zadavanju problematičnog GET-a kao > > oGet := GetNew() Naravno, ali koliko sam shvatio Dejana, njemu treba nešto da ne menja postojeće programe. Inače, ja koristim sledeću definiciju: #command @ <row>, <col> GETD <var> ; OPTIONS <arr> ; [VALID <valid>] ; [WHEN <when>] ; ; => SetPos( <row>, <col> ) ; ; AAdd( ; GetList, ; _GET_( <var>, <(var)>, , <{valid}>, <{when}> ) ; ) ; ; ATail(GetList):cargo := <arr> ; ; ATail(GetList):reader := { |o| xRead(o) } #command @ <row>, <col> SAY <sayxpr> ; [<sayClauses,...>] ; GETD <var> ; [<getClauses,...>] ; ; => @ <row>, <col> SAY <sayxpr> [<sayClauses>] ; ; @ Row(), Col()+1 GETD <var> [<getClauses>] i tako dobijam mogućnost za unos vrednosti koje uzimaju vrednost iz nekog skupa. Na primer, ovako: @ 0,0 SAY "DATUM..." GET m_dat @ 1,0 SAY "PREGLED." GETD m_preg OPTIONS {"Ekran","Stampac","Datoteka"} @ 3,0 SAY "DATUM..." GET m_dat READ Funkcija xRead učitava ovakvu vrednost.
clipper.418 bulaja,
│Cene: │CA-Clipper - za ograniceno vreme $149, posle $795. └─── ^^^ Nazalost :( nije bas tako (a taman sam resio da ga kupim :) - cena od 149 USD vazi samo za upgrade registrovanih korisnika. > List priced at $795, CA-Clipper 5.2 is available to registered > CA-Clipper developers for a limited time at $149.
clipper.419 toma,
■■>> Ma znao sam ja sta je, problem je sto se ne brisu sve (neke se ■■>> brisu a neke ne). Ukoliko se program startuje iz jednog, a završava se u drugom direktorijumu na disku, i uz to sve nije rečeno clipper-u koji mu je SWAPPATH, mođe da dodje do pomenute situacie. ■■>> ... Najveci problem je sto se javljaju i LOST ■■>> klasteri koje moras da sredjujes sa NDD. Inace ovo se desava jos ■■>> jednom mom prijatelju, ovde u Nisu. U jednom delu programa je pisalo: use gl_knj index on DATUM to gl_knj reindex use u slucaju da .NTX ne postoji, indexiranje se radi dva puta, i ako je pri tome .DBF malo veći, clipper pravi neku svoju privremenu datoteku i posle toga se javljaju LOST klasteri. Nije pomoglo ni postavljanje environment promenljive TEMPPATH ali je zato pomoglo: ferase("gl_knj.ntx") use gl_knj index on DATUM to gl_knj use Probaj pa javi.
clipper.420 dejanr,
Imao sam jedan problemčić sa Clipper-om, pa reko' možda još nekoga muči... a možda i otkrivam toplu vodu :) Naime, ja nekako ne volim da se izlaskom iz poslednjeg GET-a sa Enter READ završi, imam utisak da se to prečesto dešava slučajno, i zato volim da READ stavim u petlju, a da se izlazi nekim funkcijskim tasterom ili sa Esc. U tom slučaju Enter u poslednjem polju naprosto "baca" u prvo polje i tako u krug. Problem je nastao kada se dogodilo da, zbog raznih READ ... WHEN uslova, program dođe u situaciju da ne treba da izvrši ni jedan GET (recimo, slog je "storniran" i nisu moguće izmene). Po mojoj logici, trebalo bi da tada ispiše masku i da čeka, da korisnik lupi svoje F10 ili Esc ili ne znam šta. Zaista program ispiše masku, ali nema izlaska (osim sa Alt C ;) nego sve ostaje u mrtvoj petlji. Pitah na BIX-u i evo (efektnog!) rešenja koje nudi moderator konferencije Clipper: ========== clipper/tech.questions #2708, from irae, 198 chars, Wed Mar 3 01:23:07 1993 Comment to 2707. ---------- I'd make the do while loop dependent on the when conditions or possiblt exit on lastkey() = 0 do while .t. keyboard chr(0) inkey() read save if lastkey() = 0 exit endif enddo
clipper.422 ndragan,
/ Domaći urađen :) : Odličan, 5 za tromesečje, sedi :)
clipper.423 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- nflib21 arj 171327* Clipper NanForum Toolkit biblioteka ver 2.1 Nisam jos gledao :) sta je promenjeno u odnosu na verziju 2.0. Nazalost, jos nismo nabavili i source za ovu verziju, tako da se do daljeg ostati u dir-u kompletna verzija 2.0 (lib, source, ostalo).
clipper.424 mandrejevic,
Radim izvesno vreme sa Clipper 5.01a Update (Computer Associates) i danas me je iznenadila po prvi put poruka : MS Run-Time Library - Copyright (: ^^ i ovo je deo poruke ! uz zaglavljenje... Da li da brisem ovaj Update ??
clipper.425 zkrstic,
>>Radim izvesno vreme sa Clipper 5.01a Update (Computer Associates) >>i danas me je iznenadila po prvi put poruka : >>MS Run-Time Library - Copyright (: >> žž i ovo je deo poruke ! >>uz zaglavljenje... >>Da li da brisem ovaj Update ?? čekaj, morao je još neki broj da ti da ili nešto slično ? U svakom slu- čaju, pokušaj da se setiš ili da ga nateraš ponovo na isto, da bar znamo šta piše tačno, a u pitanju je očito nešto interno do samog Clippera, pošto je on pisan u MSC-u (nisu imali 16-a posla;) ) Ne brini i ne briši ga, zakucavam ga ja svaki bogovetni dan, pa ga još uvek nisam kazniJo sa nedim del. /s/z ;) Zkr
clipper.426 mjevta,
Voleo bih da ovo prokomentarisu iskusniji Sezamovi Clipperasi: Nedavno sam napisao komandu koja je trebalo da predstavlja jednostavnu implementaciju Check - boxa a la FOX u Clipperu a izgledala je otprilike ovako: #command @ <row>, <col> CHECKGET <var> ; [TEXT <text>] ; [VALID <valid>] ; [WHEN <when>] ; [COLOR <color>] ; => AAdd( GetList, ; GetNew( <row>, <col>, ; {|| IF( <var> ,"[X] ", "[ ] " ) + #<text> }, , , ; IIF( #<color> == "", "W/N,N/W", <(color)> ) ) ) ; ; ATail(GetList):reader := { |o| chkRead( o, @<var> ) } ; ; ATail(GetList):preBlock := <{when}> ; ; ATail(GetList):PostBlock := <{valid}> Medjutim, kompajler mi je uporno prijavljivao gresku "Incomplete statement or ... " iako je bilo ocigledno da u kodu nema niceg sintaksno neispravnog. Na kraju se, posle DOSTA peripetija, ispostavilo da je problem u direktnom "dodeljivanju" markera pretvaranja u blok (naknadno sam utvrdio da je isti slucaj i sa ostalim result markerima IZUZEV glupog - #<...> ) Naime, kada sam, probajuci razne varijante, zadnje dve linije naredbe zamenio sa: ; ATail(GetList):preBlock := IF(LEN(#<when>) != 0,<{when}>,) ; ; ATail(GetList):PostBlock:= IF(LEN(#<valid>)!= 0,<{valid}>,) sve je radilo kako treba. Dugo resenje bilo je: ; ATail(GetList):preBlock := TransMark( <{when}> ) ; ; ATail(GetList):PostBlock := TransMark( <{valid}> ) gde je: FUNC TransMark( block ) RETURN block Pa, posto u NG - u nisam primetio nikakvo upozorenje oko dodeljivanja r. markera odn. rezultujuceg teksta koji mu odgovara a od literature za Clipper imam samo Strejlijevu "bibliju" za S87 voleo bih da mi neko pojasni da li su za ovako neobicno ponasanje Clipperovog pretprocesora krivi gremlini ili sam ja nesto zabrljao u postavci komande. Pozdrav, Jevta.
clipper.427 d.petrovic,
Može li nekako da se izbriše, poništi, MENU TO naredba ? Ako imam negde set key pa i pritisnem inkriminisani key treba da se poništi ta menu to naredba. Evo osakaćenog primera, valjda će biti jasno ... č 24,30 say "Press Esc to exit..." do while .t. do while .t. setcursor(0) mm:=2 bek() č red,21 prompt " In " č red,29 prompt " Out " menu to mm && Šta ako ovde pritisne F-10 ??? do case case mm==0 close databases return case mm==1 vrsta_t:=.t. case mm==2 vrsta_t:=.f. endcase setcursor(1) if vrsta_t č red,42 clear to red,48 č red,21 get qty_t picture "9999999" valid ravno(qty_t) č red,38 get dest_t picture "!XX" valid uscrec(6,dest_t) else č red,29 get qty_t picture "9999999" valid ravno(qty_t) č red,38 get dest_t picture "!XX" valid uscrec(6,dest_t) č red,42 get uc_t picture "!XX" valid uscrec(1,uc_t) č red,46 get rc_t picture "!XX" valid uscrec(2,rc_t) endif č red,54 get wc_t picture "!XX" valid uscrec(4,wc_t) read if lastkey()==27 close databases return endif č 24,27 say "Press F-10 to save / Esc to exit..." setcursor(0) tt:=inkey(0) do case case tt==27 close databases return case tt==-9 do magunossn exit otherwise set key -9 to MagunosSn endcase enddo enddo close databases return ******************* proc magunossn set key -9 to clear gets * ovde dodati nešto što će sa menu to da uradi isto što i clear gets * sa naređanim get-ovima ??? ima li nešto takvo ? append blank replace... replace... return
clipper.428 mandrejevic,
>│ cekaj, morao je jos neki broj da ti da ili nesto slicno ? U >│ svakom slu- caju, pokusaj da se setis ili da ga nateras ponovo >│ na isto, da bar znamo sta pise tacno, a u pitanju je ocito >│ nesto interno do samog Clippera, posto je Pise tacno kako sam prepisao... ; odnosno, Prepisao sam tacno kako je pisalo... ; a i obrisao sam ga ...
clipper.429 mjevta,
>ĆĆ Medjutim, kompajler mi je uporno prijavljivao gresku >ĆĆ "Incomplete statement or ... " iako je bilo ocigledno da u Uh, zatrcao sam se sa pitanjem. U stvari nema tu niceg spornog. U NG-u lepo pise da ukoliko nema ulaznog teksta result markeri nece sadrzati nista ( izuzimajuci dumb r.m. koji ce u tom slucaju biti zamenjen praznim stringom - ""). Tako da ako u gorepomenutoj naredbi klauzule WHEN i/ili VALID nisu upotrebljene rezultat njenog pretprocesiranja bice: Varijabla:= //(nista!=(NIL==sto_sam_ja_ko_zna_zasto_ocekivao)) Nije ni cudo sto se prevodilac bunio. Pardonirajte na neopravdanom opterecivanju PAD - a. Jevta.
clipper.430 mbulat,
Ako neko moze ,bio bi mu veoma zahvalan, da mi napishe kako bi otprilike trebalo da izgleda koriscenje funkcije MEMOEDIT i naravno mogucnost da se podaci osim da se gledaju mogu i da unesu u memo polja ja sam pokusavao ali nesupevam da ih unesem Ě... Unapred hvala .. mb :)
clipper.431 ppekovic,
>> menu to mm && Šta ako ovde pritisne F-10 ??? Ništa. Ako hoćeš da F10 ima nekog efekta onda definiši set key K_F10 to proc_f10 a u proceduri postavi neko fleg kako bi kasnije mogao da ispitaš da li si izašao sa f10 i udari jedno keyboard(27). Paya
clipper.432 pjankovic,
> otprilike trebalo da izgleda koriscenje funkcije MEMOEDIT > i naravno Za pocetak probaj jednostavno: replace memofield with memoedit(memofield) Memofield je naziv memo polja u bazi. Unos zavrsavas sa <Ctrl>+<W>.
clipper.433 nbatocanin,
> Ne znam na šta misliš, možda na sintaksu baza.polje umesto > baza->polje; ili na SQL kursor, koji je nekakva virtuelna > baza (ne postoji, ali radi) Ako te ne mrzi, kaži po nekoliko reči o svemo nabrojanom. > ili... može da ispadne da si mislio na nešto što je uvedeno još u mfox+? Ne preteruj ;)
clipper.434 nbatocanin,
Beše neko pitao šta znači poruka "Rules not found in EXE"? E, to se dobije kada se CLIPPER.EXE obradi sa SCAN /AV.
clipper.435 d.petrovic,
Ă> Ako neko moze ,bio bi mu veoma zahvalan, da mi napishe kako bi Ă> otprilike trebalo da izgleda koriscenje funkcije MEMOEDIT i Ă> naravno memoedit(ime_baze,2,2,23,77,.t.) ========= = prozor .t. <= čitanje i pisanje .f. <= samo čitanje
clipper.436 d.petrovic,
Ă> Ništa. Ako hoćeš da F10 ima nekog efekta onda definiši Ă> Ă> set key K_F10 to proc_f10 Khm, sad će me teraš da pogledam šta sam poslao ;). Pa to treba da radi tek kad prođe jednom kroz petlju i onda se vrti ponovo, tj. neko vrši ispravku onog što je uneo greškom. Ă> a u proceduri postavi neko fleg kako bi kasnije mogao da Ă> ispitaš da li si izašao sa f10 i udari jedno keyboard(27). E, to mi je trebalo, samo mi nije palo na pamet, mada..., već ispitujem: if lastkey==27 && Odustaje od unosa close databases return endif Hvala za ideju, iskombinovaću nešto takvo samo... kako da znam dali sam u proceduru koja snima otišao iz te linije gde je MENU TO ili gde je bio inkey(0) ? Nije mi baš praktično da prenosim broj linije, ne smem da menjam ništa ispred te linije.
clipper.437 dejanr,
"Zanimljiv" problem koji mi večeras uze dva sata vremena :((( Imam program koji radi u mreži, pri čemu su u principu sve datoteke otvorene sa USE ... SHARED, po potrebi se posle zaključavaju slogovi kad se koji menja. Međutim, u jednoj grani programa mora da se obezbedi da korisnik bude sam na mreži, kako bi se izvršilo reindeksiranje i neko regenerisanje podataka (operacija "daBogda_nikad_ne_zatrebala"). žinilo mi se najjednostavnijim da to obezbedim ovako: SELECT(aUsers) USE users EXCLUSIVE IF NetErr() tralala, ne moz to tako RETURN(.f.) END IF indeksiraj šta treba itd SELECT(aUsers) USE users SHARED RETURN(.t.) USERS je fajl koji inače sve kopije programa neprekidno drže otvoren jer im stalno treba. Ideja je bila da, ako ima bar jedan korisnik, neće uspeti USE users EXCLUSIVE i rešena stvar. Dok je bilo na jednom računaru, lepo je radilo ali kad ga stavih na Novell, pustim jednog korisnika, pustim drugog, uđem u ovu opciju kad ono TRAS, kaže Open Error na onoj USE liniji, do IF NetErr() ni ne dođe. MajkuMu. Probam samo program od opisanih 10 linija, radi lepo. U mom "velikom" programu, ne radi. Šetao sam to po raznim modulima, i ispadne da radi samo ako je pri početku, a nigde u radnom delu neće :( Posle silnog lupanja glave, setim se da sam u program instalirao svoj error handler, kao da sve izgleda ozbiljnije i da posle greške ispiše poruku i ostane u programu, a ne da izleti u DOS. Isključim error handler, kad ono radi :) Tu mi već sine da malo pročešljam uputstvo za Clipper, kad ono baš negde na strani 6-3 a oni opisuju moj slučaj, kaže error handler treba da izgleda otprilike ovako: FUNCTION MyError(e) IF e:genCode== EG_OPEN .AND. e:canDefault .AND. NetErr() RETURN(.f.) END IF ... ostalo tretiranje greške RETURN NIL Sreći nigde kraja, stavim ja ovo u program kad ono... ista meta, isto odstojanje :(((( Pogledam debagerom, kad dođe u MyError a ono jeste e:genCode == EG_OPEN i jeste čak i e:canDefault ali NetErr je .F. MajkuMu^2 :( Ništa, 'ajmo da probamo da ga vratimo iz error procedure ako je greška nastupila na liniji broj XXXX a na toj liniji je rečeno USE users EXCLUSIVE (ovo bi bilo mnogo ružno rešenje jer bih posle svake dodate linije morao da menjam i ovu proceduru, ali programirao sam ja na TI-59 sa apsolutnim adresiranjem pa sam i to preživeo ;)) Đavola, zaista se vrati u red iza USE ali je i tamo NetErr()=.f. pa se ne može uočiti greška. Tu sam već u totalnoj komi počeo da pregledam one primere koji idu uz Clipper, reko' možda odnekud nešto iskoči. I voila, u nekakvom direktorijumu .SYS (koji je, naravno, na samom dnu stabla e da bi ga čovek poslednjeg pregledao ;) nađem nešto što se zove ERRORSYS.PRG a ono tamo... kako se tretiraju greške ;) Magija je u tome da se na početak error procedure stavi: if e:genCode == EG_OPEN .and. e:osCode == 32 .and. e:canDefault NetErr(.t.) return (.f.) end if Kad već stavljate to, ćušnite i sledeće, tamo takođe stoji pa je valjda potrebno za sličan fenomen kod append blank: if e:genCode == EG_APPENDLOCK .and. e:canDefault NetErr(.t.) return (.f.) // NOTE end if Posle te "sitne" izmene, program radi baš kao što sam želeo. Sreća što je onaj što je pisao uputstvo negde u Americi, inače bi mu... da ne kažem šta ;>
clipper.438 dr.grba,
>> [WHEN <when>] ; >> [COLOR <color>] ; >> => AAdd( GetList, ; >> GetNew( <row>, <col>, ; >> {|| IF( <var> ,"[X] ", "[ ] " ) + #<text> }, , , ; >> IIF( #<color> == "", "W/N,N/W", <(color)> ) ) ) ; Namerno sam ovako isekao quote. U knjizi Rick-a Spence-a (topla preporuka!) se puno govori o ovakvim i slicnim konstrukcijama. Nisam posebno verziran, ali mi se cini da ti u desnoj strani opisa komande nedostaje promenljiva <when>. Mislim da postojanje promenljivih komande mora biti tacno upareno na obe strane, a da redosled nije bitan (mozda se jave bolji poznavaoci oblasti, izvinjavam se ako gresim). Cinjenica je da opis komande prestaje onim IIF za boju... Nadam se da ces namirisati pravi trag. Pozdrav, dr ÔpŰa
clipper.439 ppekovic,
>> Hvala za ideju, iskombinovaću nešto takvo samo... kako da znam dali >> sam u proceduru koja snima otišao iz te linije gde je MENU TO ili gde >> je bio inkey(0) ? Nije mi baš praktično da prenosim broj linije, ne >> smem da menjam ništa ispred te linije. Uvedi neki flag kojem ćeš da postavljaš različite vrednosti ispred MENU TO i ispred inkey(0). Paya
clipper.440 mbulat,
probacu on-line mrzi me da pishem reply na one poruke u Ęvezi memoedit aliÝ hvala u svakom slucaju :) Problem je u sledecem Kad ocu da zapishem znaci nesto u taj memo koristim se sa CRTL-W ali problem je u tome sto bar meni to nepolazi sa rukom bilo da je oblik Ć-î memoedita memoedit(polje,x1,y1,x2,y2) ili memoedit(polje,x1,y1,x2,y2,.t.) Plasim se da sve to ima veze sa ĐWeonim objektima za tbrowse jerbo mi se i ti unosi nalaze u takvoj jendoj proceduri jerbo kad je u nekom posebnom programu bez toga pokrenem radi a ovako nece :(( Nadam se da sam bio bar malko jasÂAšan mb.
clipper.441 petrovics,
>> u slucaju da .NTX ne postoji, indexiranje se radi dva puta, i ako >> je pri tome .DBF malo veci, clipper pravi neku svoju privremenu >> datoteku i posle toga se javljaju LOST klasteri. Nije pomoglo ni >> postavljanje environment promenljive TEMPPATH ali je zato >> pomoglo: >> >> ferase("gl_knj.ntx") >> use gl_knj >> index on DATUM to gl_knj >> use >> >> Probaj pa javi. Mora da je to. Do duse nisam stigao da probam ali mislim da se i meni problem javlja u istoj situaciji. Hvala na objasnjenju.
clipper.442 d.petrovic,
Ă> Uvedi neki flag kojem ćeš da postavljaš različite vrednosti Ă> ispred MENU TO i ispred inkey(0). Dogovoreno! :)
clipper.443 bulaja,
Evo jedne biblioteke za malo lepse menije u Clipper-u. Pravljena je da bude funkcionalni ekvivalent PROMPT...MENU TO sistemu, ali uz poboljsanje da se moze definisati proizvoljan hot-key unutar prompta (a ne samo da to moze biti prvo slovo) i da se on lepse (istaknuto) prikazuje. Btw ima u NanForLIB slicnih funkcija, ali ove moje su bolje :) (pise u dokumentaciji i zasto). Ovo je tek prva verzija, treba da dodam jos neke stvari, ali ko hoce nek uzme i pogleda. Probajte, besplatno je :), a prilozen je i izvorni kod (source). bumenu10.arj
clipper.444 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- num2str zip 3290 Konverzija brojeva u slovni oblik (Clipper 5 & FoxPro) Num2Str - Numeric To String U arhivi se nalaze dve funkcije za konverziju brojeva u slovni oblik. Funkcije su namenjene programskim jezicima Clipper 5 i FoxPro. Za eventualne komentare se obratite autorima ili u odgovarajucu temu Sezamove konferencije PC.PROG. Evo nekih informacija o funkcijama: Datoteka Jezik Autor Sezam ──────────── ───────── ─────────────── ────────── NTOC.PRG Clipper 5 Nenad Batocanin nbatocanin SLOVIMA.PRG FoxPro MPA Zrenjanin ndragan SEZAM, 03/93
clipper.445 bulaja,
│num2str zip 3290 Konverzija brojeva u slovni oblik (Clipper 5 & FoxPro) └─── Zaboravih da kazem da su u arhivi i NTOC i SLOVIMA najnovije verzije (novije od onih koje su bile okacen ovde) sa ispravljenim bugovima.
clipper.446 nbatocanin,
SET KEY K_F10 TO Break() BEGIN SEQUENCE ... MENU TO ... END SEQUENCE
clipper.447 nbatocanin,
Uočio sam neke loše strane Blinkera: Prvo, desilo mi se na jednom 286 računaru da program linkovan Blinkerom jednostavno zaglavljuje računar. Stvar je sigurno u linkeru, jer isti program linkovan RTLinkom radi bez komplikacija. Drugo, inkrementalno linkovanje rezultuje kodom koji nemilosrdno troši memoriju: znači >>obavezno<< finalnu verziju prevodite sa INCREMENTAL OFF.
clipper.448 dusanp,
=> Probajte, besplatno je :), a prilozen je i izvorni kod => (source). Lepo. Nego... jel si namerno na 2 mesta napisao "kopjuteri"??? Doradi jos onih par stvari pa salji.
clipper.449 dusanp,
=> Drugo, inkrementalno linkovanje rezultuje kodom koji => nemilosrdno troši memoriju: znači >>obavezno<< finalnu => verziju prevodite sa INCREMENTAL OFF. Ili sto je jos bolje, finalnu verziju prevodite RTLinkom.
clipper.450 zkrstic,
> => Drugo, inkrementalno linkovanje rezultuje kodom koji > => nemilosrdno troši memoriju: znači >>obavezno<< finalnu > => verziju prevodite sa INCREMENTAL OFF. > > Ili sto je jos bolje, finalnu verziju prevodite RTLinkom. Ni slučajno! Pa glavna dobit kod Blinkera je u Swapovanjima i upra- vljanju OVL-ova. Nego, daj *.lnk fajl tog programa koji ti pravi haos, tačnije, re- ci mi šta koristiš od "tuđih" .OBJ i .LIB ? Ima nekih libova i čuda koji su u dokumentaciji obeleženi kao ne-overlejabilni (jebote*_koja_reč) ;) Zkr
clipper.451 ndragan,
/ Ako te ne mrzi, kaži po nekoliko reči o svemo nabrojanom. Hm. Duga priča. Svodi se na to da mi se sad bilo kakav izveštaj (tj. prg koji ga pravi) skrati na dva ekrana: pootvaraj - desetak redi pitaj korisnika odakle dokle, kojim redosledom, u kom formatu hoće - još desetak redi Select to_i_to (polja, izrazi tipa sum(), iif(), avg(), max(), cnt() itd) from... baza1, baza2... where uslov1 and uslov2 itd... ... order by polje1, polje2... (ili) ... group by baza1.polje1, baza1.polje2... (grupisanje za sum() itd) into cursor / table (dbf) / šta_ono_beše (Ako postoje strukturni indeksi za (neka) polja koja se spominju u Where opciji, radi stravično brzo. Imao sam 15MHz 286 server u RPTI mreži (486 je bio u kvaru ;( ), i izvadio je bruto bilans iz 80000 stavki za minut ipo, a za to vreme je sa sprata niže knjižilo još dvoje.) Repo form taj_i_taj Pozatvaraj, pozdravi se i javi da si gotov. Programi koji su ranije bili duuugački (čak do 5-8K) sad su se sveli na 1-3K, a i to zato što više volim jedan program koji radi tri srodna izveštaja (uz par parametara radi ovako ili onako), nego tri programa sa po jednim - kad treba nešto čačkati, čačka se samo jednom. Evo jednog primera za Select: select Prom.VD, Prom.KUPAC, Prom.KONTO,; Prom.DATDOK, Prom.DUG, Prom.veza,; sum(IZNOS*IIF(DUG,1,0)) as izndug, sum(IIF(DUG,0,IZNOS)) as iznpot; FROM Prom; WHERE Prom.KONTO = _konto; AND Prom.datdok <= _dn2 ; and Prom.kupac betw _k1 and _k2 ; GROUP BY Prom.KUPAC, Prom.KONTO, Prom.datdok ; into curs pku Ovo je priprema za izveštaj o prometu kupaca i/ili dobavljača od šifre do šifre (_k1 do _k2), na dan _dn2 (posle se razdvaja na pre _dn1 i od _dn1 do _dn2 i to u samom riportu - ima lokalne promenljive), za zadati konto (može i prazan - trimuje se, pa se dobija više konta). Ako je neko raspoložen da pogleda na šta je isti program ličio ranije, pa da se zajedno zgražavamo. Radilo je i ono, ali ovo RADI. /> ili... može da ispadne da si mislio na nešto što je uvedeno još u /> mfox+? / Ne preteruj ;) Svaki Ciga svoga konja... a ove priče o kobolu i foksu (vidi neku od prethodnih tema) me podsećaju na mog drugara iz firme, kad je prešao sa kobola na foks. Kaže 'osećam se kao klinac u poslastičarnici, lepo ne znam šta prvo da probam. I onda ne znam sintaksu, znam neke moguće varijante, probam intuitivno, kako bi bilo kad bih ja pisao sebi interpreter, ... kad ono radi baš to što sam ja smislio'.
clipper.452 dusanp,
=> Ni slučajno! Pa glavna dobit kod Blinkera je u => Swapovanjima i upravljanju OVL-ova. Da li si 100% siguran da je tako? Koliko sam ja nacuo, blinker dosta trapavo pravi overleje, a RTL to radi kako treba. Mislio sam da je glavna prednost blinkera brzina, a kad ono...
clipper.453 zokidr,
Juce sam podigao Nanforum 2.1 i malo ga testirao. Ispostavilo se da neke funkcije ne rade! FT_XBOX(), na primer, nisam mogao da nateram da napravi ram i sl. Dok je u prethodnoj verziji sve bilo o.k. Da li jos neko ima slicna iskustva? Zoran
clipper.454 bulaja,
│Nego... jel si namerno na 2 mesta napisao "kopjuteri"??? └─── Jok :), imam obicaj da pri veoma brzom kucanju (a uputstva kucam vrlo brzo jer me mrzi da ih mnogo smisljam i trosim vreme :) ispustam ili permutujem slova :). Doradicu BuMenu ovih dana (nije neki vremenski zahtevan posao), poslacu kad zavrsim.
clipper.455 nbatocanin,
> Plasim se da sve to ima veze sa ĐWeonim objektima za > tbrowse Nije 100%. Mora da je stvar u nečem drugom.
clipper.456 nbatocanin,
> Nego, daj *.lnk fajl tog programa koji ti pravi haos, > tačnije, re- ci mi šta koristiš od "tuđih" .OBJ i .LIB ? > Ima nekih libova i čuda koji su u dokumentaciji obeleženi > kao ne-overlejabilni (jebote*_koja_reč) ;) Nema ništa tuđe sve sam go Clipper ;) i moj ASM koji radi u svim programima. Zašto bi isti program linkovan RTLinkom radio besprekorno već 2 godine?
clipper.457 zkrstic,
> => Ni slučajno! Pa glavna dobit kod Blinkera je u > => Swapovanjima i upravljanju OVL-ova. > > Da li si 100% siguran da je tako? Koliko sam ja > nacuo, blinker dosta trapavo pravi overleje, a RTL > to radi kako treba. Veruj mi na reč :) žak je najveći deo prateće knjige posvećen OVLovima i radu sa njima. Ja sam prezadovoljan kako mi to sve radi. Uzgred, ni one opci- je tima "DEMO CALLS" ili "DEMO DATE" ili čak "DEMO MINUTES" nisu na bacanje. Zkr
clipper.458 zkrstic,
> Nema ništa tuđe sve sam go Clipper ;) i moj ASM koji radi u svim > programima. Zašto bi isti program linkovan RTLinkom radio > besprekorno već 2 godine? Kratko i jasno: Inat & maler & baksuzluk (čitaj:Marfi) :) Ne, zaista neznam u čemu je onda štos? Na žalost, nisam imao pri- like da probam na 286-ici. Mogu ti reći da si me sada malko poplašio. Zkr
clipper.459 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- pkv4 zip 14841 Clipper source za pregled i raspakivanje ZIP 2.0 arhiva This utility is for: ~~~~~~~~~~~~~~~~~~~~ 1. Searching a ".ZIP" file to see whats inside of it. 2. Viewing files within a PKzip file 3. Extracting files from a PKzip file The utility has been only tested with PKZIP version 2.nn and should work on prior version.
clipper.460 dejanr,
>> The utility has been only tested with PKZIP version 2.nn and should >> work on prior version Ala to brzo ide... još da nabavimo PKZIP za Clipper i rešen problem backup-a. Ja sam sad za jedan program eksperimentalno napravio BACKUP kao SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"\*.DBF", 300, "", "") i za sada lepo radi, jedino moram da pozatvaram sve fajlove u cdir-u jer ih ZIP izgleda otvara ekskluzivno (nemam ideju šta mu to treba) pa pod Novellom puca ako neku i Clipper drži.
clipper.461 dejanr,
========== clipper/tech.questions #2709, from akarna, 371 chars, Sat Mar 13 11:31:48 1993 ---------- I'm thinking about picking up a copy of Clipper 5.2, esp. with the good "competetive upgrade" price. I was just wondering, however: I know that I can call a C fcn from within Clipper, but can I go in the other direction? For example, if I write a Clipper fcn, can I call it from within a C fcn? Also, does the C linking capability support Borland's compilers? Thanks! ========== clipper/tech.questions #2710, from irae, 165 chars, Sat Mar 13 23:52:23 1993 Comment to 2709. ---------- C from Clipper is easy, Clipper from C is possible. The Borland compilers will work within some limits, one of which is no floating point stuff can be used. ========== clipper/tech.questions #2711, from scousins, 622 chars, Wed Mar 17 17:49:20 1993 Comment(s). ---------- TITLE: clipper52 problms I just got the 5.2 upgrade and am having problems with some functions (like indexord() and dbskip() when using an alias in fromt of it. for instance filename->(indexord()) alos when macro evaluating in thi s same way: nTenp := &cFilename->(indexord()) Do you have any clues? Also, in general is there a way to get out of using macros in this way, using code blocks for instance? We use a datadictionary to allow us to make new databases within the program so this is useful but slow (and now with 5.2 it is giving us problems). Any help would be greatly appreaciated. ========== clipper/tech.questions #2712, from irae, 232 chars, Wed Mar 17 23:55:29 1993 Comment to 2711. ---------- Since you don't tell us what the problems I can't help. I will point out that you don't need the macro in one of those spots. nTemp := (cFilename)->(indexord()) ought to work just as well if I remember correctly. ========== clipper/tech.questions #2713, from scousins, 658 chars, Fri Mar 19 18:13:52 1993 Comment(s). ---------- TITLE: Params and locals Thanks for answering my last question , the parenthises worked. Now I am haveing a problem with parameters. When I define the params fo a function as in: FUNCTION MYFUNC(var1, var2) instead of using a PARAMETERS call, var1, and var2 should be LOCAL variables. If I then declare LOCAL var3, sometimes var3 will have the value that var1 should have, and var1 will be NIL Does this make any sense? If I use the PARAMETERS clall, (making var1 and var2 private) this does not happen. I don't recall this happening with 5.01a. Do you think it is a 5.2 bug or am I doing something wrong? Thanks for your help. ========== clipper/tech.questions #2714, from irae, 80 chars, Sat Mar 20 02:30:51 1993 Comment to 2713. ---------- I'm clueless. Can you put up a short example demonstrating the problem?
clipper.462 dr.grba,
Prvi put srecem problem potrebe ispitivanja postojanja poddirektorijuma. Mislio sam da se moze resiti preko file handle funkcija, ali kraci eksperiment je urodio neuspehom. Dakle, treba mi funkcija koja ispituje postojanje direktorijuma ispod tekuceg, pa ako ga nema - da ga kreira. Da sam verziran u asembleru, (kao sto nisam ): ) valjda bih umeo da resim... Mozete li mi pomoci? Pozdrav, dr ÔpŰa
clipper.463 mandrejevic,
Hocu da ugradim sat u jednu aplikaciju, pa mi trebe neka dobra dusa da mi izkompajlira prilozeni .asm kod, koga sam iskopao kod Tangram BBS-a. Nebi bilo na odmet da se izvuku ofseti za red, kolonu i boju sata. sat_asm.arj
clipper.464 d.petrovic,
Ă> Prvi put srecem problem potrebe ispitivanja postojanja Ă> poddirektorijuma. Pogledaj funkciju ft_tree() iz nanfor biblioteke. Vraća u niz SVE direktorijume i subdirektorijume.
clipper.465 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- objectcl arj 175383 Objektno orijentisana biblioteka za Clipper 5.01 (#1/4) objectcl a01 175175 Objektno orijentisana biblioteka za Clipper 5.01 (#2/4) objectcl a02 175321 Objektno orijentisana biblioteka za Clipper 5.01 (#3/4) objectcl a03 173080 Objektno orijentisana biblioteka za Clipper 5.01 (#4/4) OBJECT.LIB high level object oriented library for Clipper v5.01 Basic features: ~~~~~~~~~~~~~~~ - object oriented (classes,heredity,...) - user task swapping - "Windows - like" user interface - multithreading is enabled - event driven programming support through the philosophy of the library - data driven programming capability and design - generated code is true network capable - user defined reports - user defined filters - user defined indexes - unlimited paswords, user privileges individual to every menu item, every database field - automatic generated help system with context help - user defined help system - all graphical cards text mode support (CGA,EGA,VGA,HGC,laptops,monochromVGA,...) - clipper language enhancements - dramatical shortening of a aplication developement time, aplication length in 200 to 2000 (for very large apps.) source code lines - basic functions of a program can be presented to the user in the very first time consulting his problem - simple program maintenance - documentation in a form of "norton guide" in a file OBJECT.NG The library is 420kB of source code with 330kB of documentation, consists of 450 functions, methods or procedures and many new commands.
clipper.466 dr.grba,
Hvala ti na odgovoru. Pomogao je posredno. Naime, dok sam (najzad pazljivo!) prelistao NANFOR.NG, trazeci FT_TREE(), ugledah na istom ekranu i FT_EXIST(), koji radi upravo ono sto trazim. Marfi : Ako ne uspe drugacije, procitaj uputstvo... (: Pozdrav, dr ÔpŰa
clipper.467 dr.grba,
ASM programom CLOCK sam uspeo da resim sat na interfejsu, koji vrlo uspesno resava sva pitanja koja si postavio. PAZNJA : program je malo agresivan, jer zahteva da otkacis interapt pre napustanja glavnog programa. U protivnom - sistem se zakucava... Pozdrav, dr ÔpŰa P.S. E, jos da uspem da zakacim fajl uz poruku, nemam neko iskustvo... clock.arj
clipper.468 dr.grba,
Meni za vezbu attach, a svima koje interesuje, kacim profiler za ugradnju u programe koje prepustate na milost i nemilost korisnicima. Shareware koji sam davno skinuo sa RHINOCEROS BBS-a... HINT : Ako vec budete ugradjivali izlaz u neku datoteku PROFIL.DAT ili slicno, setite se, pa ispitujte duzinu datoteke. Ako prelazi neku unapred odredjenu velicinu, rename u PROFIL.OLD, pa kreirajte novu. Ovo je samo prenosenje iskustva programera koga je Marfi dosada prebio na mrtvo ime ): Nije mi bilo svejedno kad sam obisao prvu aplikaciju kod korisnika koji je imao profiler - PROFIL.DAT 2543098 .... ili tu negde, debelo preko 2 MB ): (((: Press <CTRL>-<ALT>-<DEL> to continue ... profiler.arj
clipper.469 mandrejevic,
>│ ASM programom CLOCK sam uspeo da resim sat na interfejsu, koji >│ vrlo uspesno resava sva pitanja koja si postavio. Resio sve probleme. Mnogo ti hvala !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
clipper.470 dr.grba,
Molim, i drugi put. Pozdrav, dr ÔpŰa
clipper.471 ndragan,
/ direktorijuma ispod tekuceg, pa ako ga nema - da ga kreira. Da znaš. Snalazio sam se tako što sam pokušavao da napravim .tmp fajl u njemu, pa ako ne ide, to je zato što nema ni direktorija.
clipper.472 enter,
Imam´ko problema sa APPEND FROM komandom. Program je koristi za spajanje ┼vise datoteka ist╗┼čvUeí$6Ţ>Ń strukture u jednu zajednicku. ║BeÚĆz ikakvog pravila nekad ih spoji nekad ne. Postoji mogucnost da clipper kada pravi swţbapQ'Ż╔╦1ďžmp╣╔I7Ä.H"š#fajloćŇ>Ç>/m$ĽDNďÝíĆX╗XĐůC ôčŠ4úGÚ ¤ve izgubi informacije o strukturi datoteka i ne prebacuje sva polja ???Đ
clipper.473 nbatocanin,
> PAZNJA : program je malo agresivan, jer zahteva da otkacis > interapt pre napustanja glavnog programa. U protivnom - > sistem se zakucava... Nisam baš siguran da je ovo pravo rešenje - sam si rekao zašto. Ja već dugo koristim čist Clipper sistem koji sam opisao u jednom broju "Računara": jednostavno se napravi nova procedura za skaniranje tastature i eto sata, gašenja ekrana posle N sekundi i sl. Sve u Clipper-u i potpuno bezbedno!
clipper.474 dejanr,
Poruka je dosta uništena đubretom, pa nisam najbolje razumeo pitanje. Za početak, da nije datoteka iz koje radiš APPEND FROM otvorena? Obavezno je zatvori sa CLOSE
clipper.475 snemcev,
>> Ovo je dušu dalo za rutine koje treba da skoknu u drugu bazu da nešto >> urade, pa da se vrate u prvu - rutina uopšte ne mora da zna koja baza >> je bila selektovana na početku. A šta bi sa onim drugi_alias->(radi())?
clipper.476 mbulat,
Zanima me al bilo ovde reci o indexiranju baze kada su u upotrebi i nasa slova tacnije YASCII set i zamena za komande isalpha() valjda │:) i slicne cake kada su u pitanju i nasa slova i + da li su slati ovde neke datoteke sa konkretnim primerima online mb
clipper.477 dejanr,
Danas sam imao problema sa Blinker-om, otprilike problema onog tipa koje pominje nbatocanin. Imam neko čudo od programa koje nisam ja pisao, i koje radi pod Clipper S'87. Imalo je nekih .OBJ fajlova kojih nisam imao source, a pošto danas i to pitanje reših (da ne pričam kako ;) reko' da probam da to sve prebacim na 5.x. Napravim .LNK, make itd, prevedem, malo problema ovde-onde, i najzad sredim da radi. Lepo sve, ali čim uđe u dbedit pukne, ponekad QEMM javi da je izvršena nepostojeća instrukcija pa se zaglupi, a ponekad se zaglupi i bez pomoći QEMM-a. Kada se linkuje sa BLINKER INCREMENTAL OFF, sve u redu. Probao sam da smanjujem ono INCREMENTAL PAD sa 128 na 60, 40, 10, i pojavljuju se izvesne razlike - dbedit ispiše deo ekrana (što manje broj stavim u INCREMENTAL PAD, to više ispiše) ali nikako ne može da stigne do dna ekrana, i uvek se zaglupi :( Ne znam može li tu išta da se pokuša osim da se uvek linkuje sa incremental off?
clipper.478 nbatocanin,
Ja mislim da sam poslao sve što treba za to. Ako nisam, kažite da šaljem :)
clipper.479 nbatocanin,
> Ne znam može li tu išta da se pokuša osim da se uvek > linkuje sa incremental off? Problem je u korišćenju memorije: treba probati da mu se isključi EMS i XMS memorija. Imaju direktive za to.
clipper.480 dejanr,
>> Problem je u korišćenju memorije: treba probati da mu se isključi EMS >> i XMS memorija. Imaju direktive za to. Kome, BLINKER-u ili prevedenom programu?
clipper.481 ndragan,
/ Hocu da ugradim sat u jednu aplikaciju, pa mi trebe neka dobra Za foksovce koji to još nisu probali: SET CLOCK ON SET HOURS TO 24 SET CLOCK TO 24,69 (ili neke druge koordinate)
clipper.482 ndragan,
/ Za početak, da nije datoteka iz koje radiš APPEND FROM otvorena? / Obavezno je zatvori sa CLOSE U FoksPro 2.0 ovo više nije obavezno.
clipper.483 ndragan,
/ A šta bi sa onim drugi_alias->(radi())? Nije mi jasno šta u stvari pitaš. Konstrukcija kakvu navodiš nije baš ona na koju sam navikao; štos je da FP2 obožava imenske izraze (name expression) tako da možeš uvek da strpaš naziv bilo čega (polja, baze, aliasa, prozora, rutine, proceduralnog fajla) u promenljivu, i onda ga navedeš u zagradi. Recimo, za indeks za jednokratnu upotrebu koristim obično ovaj postupak: tmp=sys(3)+'.idx' && ovo .idx je bitno samo za kraj index on &dex to (tmp) for &uslov * indeksni pojam i filter nemaju imena, ide čista makro zamena; da je * indeksni pojam jedno polje, mogao bih da stavim * index on (dex) to (tmp) for &uslov ..... * pozatvaram i brišem indeks if file(tmp) erase (tmp) endif Na sličan način mogu da negde iskonstruišem ovako nešto polje='baza.polje1' .... č red,kolona get (polje) Za konstrukciju tipa baza.(izraz) nisam siguran da će da radi, treba probati.
clipper.484 mbulat,
č> Ja mislim da sam poslao sve što treba za to. Ako nisam, č> kažite da šaljem :) Ma dobro to je ok :) Nego posto nepratim bas redovno ovu temu interesuje me gde si to slao i koje su to otprilike poruke ili datoteke :)
clipper.485 dejanr,
>> Zanima me al bilo ovde reci o indexiranju baze kada su u upotrebi i nasa >> slova tacnije YASCII set i zamena za komande isalpha() valjda :) i >> slicne cake kada su u pitanju i nasa slova Pogledaj "Računare 74", strana 59 - tekst se zove Clipper sa kvačicama i rešava (bar meni ;) sve probleme tog tipa. Autor je NBatocanin.
clipper.486 dejanr,
>> Hocu da ugradim sat u jednu aplikaciju, pa mi trebe neka dobra Ubedljivo najlakši način (nisam znao za njega, ali ga juče nađoh u nekom programu koji prepravljam) je linkovati FUNCKY.LIB (postoji i FUNCKY87 i FUNCKY 50) i onda samo koristiti CLOCK24(y_koordinata, x_koordinata). Jedini problem je što ga ispisuje crno-belo (možda ima i neki način da se setuju boje?) Uzgred, taj FUNCKY.LIB ima lepih stvari, što više na njih nailazim u tom programu to mi se više sviđaju. Šteta jedino što uz taj source i sam FUNCKY.LIB nisam "nasledio" i dokumentaciju, a navodno je kupljena :(( FoxPro to ima "u samom sebi", samo kažeš set clock to y,x (sorry ako sam pogrešio sintaksu, ali u svakom slučaju nešto jako slično tome)
clipper.487 draganf,
> Zanima me al bilo ovde reci o indexiranju baze kada su u > upotrebi i nasa slova tacnije YASCII set i zamena za > komande isalpha() valjda │:) i slicne cake kada su u > pitanju i nasa slova i + da li su slati ovde neke datoteke > sa konkretnim primerima Bilo je toga, a ako ne nađeš , javi se pa ću nešto od toga da ti spakujem. Samo treba da znaš da funkcije koje to rade su dosta spore ako su rađene u clipperu. Dragan
clipper.488 rboskovic,
Da li je neko imao ovakav problem: na tri mesta imam instaliranu mrezicu NovellLite 1.1. Svi programi uglavnom lepo rade, osim programa pisanih u Clipperu i to prilikom stampanja. Unos podataka tece normalno, a kada se predje na stampu obavezno dolazi do brljanja podataka u datoteci koja se stampa. Preko slogova se upisuje neki budibogsnama kakav sadrzaj. Pri tome sam radio probe: kada je stampac ukljucen pojava je slucajna, ali kada je iskljucen (a print job treba da ode u buffer) onda je to pravilo. Nije mi jasno da stampa iz Winworda, Corela i slicnih grafickih programa ide normalno, da isto tako ide normalno i DOS, a da pukne na programima za knjigovodstvo ili bibliotecku evidenciju. Svaka pomoc koja bi mi omogucila da ovo resim je dobrodosla. Pozdrav, Rade
clipper.489 zkrstic,
> Svaka pomoc koja bi mi omogucila da ovo resim je dobrodosla. Novell ne preporučUje upotrebu naredbi PRINT (DOS) ili nekih sličnih za ovo: (u to spada i SET DEVICE TO PRINTER / č SAY ... ) Rešenje: - sva štampa treba prvo da ide u fajl - u prg (Clipper) se samo štampanje izvoditi sa "NET PRINT <ime_fajla> <ime_mrežnog_printera>" To mora da radi :) Zkr
clipper.490 bulaja,
│Pogledaj "Racunare 74", strana 59 - tekst se zove Clipper sa kvacicama │i resava (bar meni ;) sve probleme tog tipa. Autor je NBatocanin. └─── Pogledah i nema toga u RSOFT dir-u. Nenade, moze li upload? :)
clipper.491 dusanp,
Posto snap gresi kada se radi sa vise modula, a i nije mi bila potrebna ona gomila informacija, napisao sam svoju verziju doc programa, koja samo lepo odvoji funkcije i procedure - vecini korisnika je i to dovoljno. Isprobajte programce koje ide uz poruku - extra sto dajem i sors pa kome se ne svidja moze da se igra dalje. doc.arj
clipper.492 rboskovic,
>>NWLITE... Hvala na proptnoj informaciji. Probacu danas-sutra da to napravim, pa ako prodje imas pice. (piche). More i jos ponesto, jer ce to da me spase reinstalacije nekih 550 Mb podataka i programa! Pozdrav, Rade
clipper.493 mpeti,
E narode !!!!! Evo još jednog BUG-a u Clipperu 5.01. Radi se o sledećem: Imam .FRM datoteku u kojoj je opcija PAGE EJECT AFTER GROUP postavljena na yes. U starom (Summer '87) Clipperu i Dbase III+ ovo jako lepo radi. Odštampa subtotal za grupu, predje na novu stranu, odštampa zaglavlje strane, i tabele, pa štampa sledeću grupu. ALI - i tu počinju moji problemi - novi Clipper radi sve samo što ovaj flag ignoriše pa mi štampa ceo izveštaj tako, da ne počinje novu grupu na novoj strani nego jednostavno nastavlja na tekućoj. Da li je neko već primetio ovo, ili još bolje da pitam, da li je neko već ISPRAVIO ovo. Pretpostavljam da je greška u FRMRUN.PRG, i da bi on trebao malo da se pročačka, ali još nisam stigao da ga pogledam. Pa narode ako neko ima neku ideju, javite se.
clipper.494 zkrstic,
>>Imam .FRM datoteku u kojoj je opcija PAGE EJECT AFTER GROUP postavljena >>na yes. U starom (Summer '87) Clipperu i Dbase III+ ovo jako lepo radi. >>Pa narode ako neko ima neku ideju, javite se. Ideja & savet: Batali bre FRM fajlove, koji će ti to andrak' u životu. To je pra- vljeno za tupe Amere koji ne umeju sami da naprave izveštaj za štampu. Pra- vi lepo svoju rutinicu koja će ti raditi štampu i nema greške. Da su oni u Nantucketu normalni, davno bi to izbacili kao što su NDX izbacili, premda, videh sinoć da ga ima na nekom stranjskom BBS-u. Zkr
clipper.495 nbatocanin,
YUpper, YLower, YtoABC i YtoAZB za indeksiranje po azbuci i abecedi. yucl.zip
clipper.496 nbatocanin,
>>> Problem je u korišćenju memorije: treba probati da mu se >>> isključi EMS i XMS memorija. Imaju direktive za to. > > Kome, BLINKER-u ili prevedenom programu? Prevedenom programu (BLINKER CACHE). Mislim da je tu problem, ali nije sigurno. U svakom slučaju, mislim da stvar nije za uzbunu pošto se pri korišćenju EMS-a redovno pojavljuje problem kompatibilnosti. Na primer, ni WP ne radi OK na svim pločama.
clipper.497 d.petrovic,
Odgovor na 10.96 valeksa ------------------------ Ă># Pitanje: Kako bez: Ă># if file("pkzip.exe") ... Ă> evo ti jedan moj batch file, mada je za DR.DOS 6. Sada radim: If .not. file("pkzip.exe") .and. .not. file("ĐutilĐpkzip.exe") DevOut("nece moci, blabla") else *pozovem ga odande gde se nalazi sa parametrima... endif Mene interesuje može li da se jednostavno pozove iz clipper programa pa, ako je završio posao sve je u redu, ako nije bio na stazi (svejedno gde se nalazio, šta me pa to briga ko će gde da drži pomoćne programe i šta će mu biti na stazi) da znam da nije završio posao i da ispišem na ekranu šta_mi_se_ćefne. Za proveru flopija imaš u nanfor.lib funkciju ft_floptst (valjda se tako zove) pomoću koje možeš da napraviš lepe svoje funkcije. Obrati pažnju, povezi računa, za tu funkciju postoji ispravka, funkcija koja se nalazi u biblioteci se uvek obraća flopiju "A", kad je zameniš može da ispituje i "B".
clipper.498 ndragan,
/ Batali bre FRM fajlove, koji će ti to andrak' u životu. FRM su ogavno loši izveštaji. Tek je FRX ono pravo.
clipper.499 tarva,
Í───────────────── ║> SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"Đ*.DBF", 300, "", ║> "") ║> ║> i za sada lepo radi, jedino moram da pozatvaram sve fajlove u ║> cdir-u jer ih ZIP izgleda otvara ekskluzivno (nemam ideju šta mu ║> to treba) pa pod Novellom puca ako neku i Clipper drži. Ë───────────────────────────────────── Probao sam ovo sa SwpRunCmd(...etc...) i ne radi. Mogući uzrok. 1. Nabavljen na probu samo BLINKER.EXE 2. Možda treba setovati neku opciju dodatno? U vezi s tim tri pitanja: 1. Gde sa može kupiti orginal "BLINKER". 2. Da li treba dodati još neki parametar 3. Ili nešto treće? Pozdrav, Tibor.
clipper.500 gari,
Odgovor na 5.223 i 5.226 iz conf. PC.PROG Problem je u tome sto mi ColorRect oboji samo deo linije na kome su ispisana polja, a ostanu crne rupe izmedju dva polja. Sto ne probas sa sledecim MARK-om: SetColor (Invert) @ Row(), Col() SAY Polje1 + " " + Polje1 + ... ili nesto slicno. Evo, ja sam relativno nov na Sezamu, pa dok nisam procitao sve diskusije sada sam tek stigao da malo prilagodim svoju funckiju T_Edit. :) Inace ova funkcija ima tridesetak parametara, ovo je kraci izvod, ;) pa ako ima zainteresovanih, ja cu je poslati celu (oko 1200 linija). ... tbMark(TB,.T.,Polja) && Polja == Niz sa poljima iz datoteka ili f-cijama nKey := INKEY(0) tbMark(TB,.F.,Polja) ... FUNCTION tbMark( TB , Osvetli , KojaPolja ) LOCAL broj_kolona:=0, brojac:=0, efektivna_sirina:=0, sadrzaj:="" LOCAL uk_prazno:=0, levo_prazno:=0, temp2:={} PRIVATE temp, bojica:=setColor() if Osvetli set color to i broj_kolona := TB:rightVisible - TB:leftVisible + 1 efektivna_sirina := broj_kolona - 1 && Broj separatora for brojac := 1 to TB:freeze efektivna_sirina += TB:ColWidth(brojac) temp := KojaPolja[brojac] aadd(temp2,{len(sadrzaj),&temp}) sadrzaj += space( TB:ColWidth(brojac) ) + TB:colSep next for brojac := TB:leftVisible to TB:rightVisible efektivna_sirina += TB:ColWidth(brojac) temp := KojaPolja[brojac] aadd(temp2,{len(sadrzaj),&temp}) sadrzaj += space( TB:ColWidth(brojac) ) + TB:colSep next sadrzaj := left( sadrzaj , len(sadrzaj) - 1 ) uk_prazno := TB:nRight - TB:nLeft + 1 - efektivna_sirina levo_prazno := int( uk_prazno / 2 ) @ TB:nBottom - TB:rowCount + TB:rowPos - 1, TB:nLeft ; say space(levo_prazno) + ; sadrzaj + ; space(uk_prazno-levo_prazno) for brojac := 1 to len(temp2) @ TB:nBottom - TB:rowCount + TB:rowPos - 1, ; TB:nLeft + levo_prazno + temp2[brojac,1] say ; temp2[brojac,2] next set color to &bojica else TB:RefreshCurrent() endif RETURN NIL ********************************************************************** ***** Imam sledeci problem kod iste, a to je kako da sledece redove ubacim u bilo kakvu petlju (sve sam pokusavao, ali nista). Usput dajem i parametre za tu moju funkciju pa ocenite... :) ********************************************************************** ***** * FUNKCIJA T_EDIT * * KojaDatoteka ............. Naz. datoteke (C) difolt=trenutno aktivna * KojaPolja ................ Nazivi Polja (A) difolt=Sva polja * Zaglavlja ................ Naz. zagl. za svako polje (A) dif=Prazno * Koordinate ............... (A) G.red (3), L.kol(10), D.red(18), D.kol(70) * Friziranje ............... Koliko se kolona 'zamrzne' na ekranu (N) dif=0 * Okvir .................... Kakav je okvir (1-single , 2-double) (N) dif=2 * Senka .................... Da li ima senke ( .T. / .F. ) difolt=.T. * Zagl ..................... Sadrzaj zaglavlja T_Edita (C) difolt="" * Futer .................... Niz naz. za sadrz. futera T_Edita (A) dif={""} * MojeFunkcije ............. Niz Funk. koje sam definisao (A) difolt={""} * MojiTasteri .............. Niz defin. tast. za moje funkcije (A) dif={""} * Uslov .................... Uslov prema kome se vrsi preg (C) dif="!EOF()" * Trazi .................... Pozicionir. po ind na slog u bazi (C) dif="" * Dobar .................... Koristi SET FILTER (SPORO !!!) (C) difolt="" * Odakle ................... Skok po ind na prvi zeljeni slog (C) difolt="" * Dokle .................... Skok po ind na zadnji zelj. slog (C) dif="" * Pikture .................. Vrednosti za PICTURE (A) difolt=@X * Validi ................... Vrednosti za VALID (A) difolt=.T. * Venovi ................... Vrednosti za WHEN (A) difolt=.T. * Riplejs .................. 2D niz sa vred. za naknadni REPLACE (A) dif={} * NPR. Riplejs[1] := {"VRED","IZNOS*KOLICINA"} * Zastita .................. Dozvole za rad (C) * E - izmena podataka (K_ENTER), * kada ga nema onda izlazi i vraca rekord * A - dodavanje slogova (K_INS) * AA - automatsko dodavanje slogova (K_INS) * D - brisanje slogova (K_DEL) * N - vraca se na slog gde je i bio kada izlazi * MaleProc ................. Korisnicke funkcije (A=4) * 1 - Prilikom kretanja kroz datoteku * 2 - Posle unosa, menjanja i brisanja * 3 - Pre unosa, menjanja i brisanja * 4 - Na taster ESC * 5 - Posle unosa * 6 - Posle menjanja * 7 - Posle brisanja ********************************************************************** ***** ........ FUNCTION NapuniObjekte(Temp_Browse,KojaPolja,Zaglavlja) LOCAL BrojPolja:=len(KojaPolja) temp_browse:addColumn(TBColumnNew(Zaglavlja[1],{|| &(KojaPolja[1]) })) IF BrojPolja == 1 RETURN NIL ENDIF temp_browse:addColumn(TBColumnNew(Zaglavlja[2],{|| &(KojaPolja[2]) })) IF BrojPolja == 2 RETURN NIL ENDIF temp_browse:addColumn(TBColumnNew(Zaglavlja[3],{|| &(KojaPolja[3]) })) IF BrojPolja == 3 RETURN NIL ENDIF ........ temp_browse:addColumn(TBColumnNew(Zaglavlja[30],{|| &(KojaPolja[30]) })) IF BrojPolja == 30 RETURN NIL ENDIF RETURN NIL ***************************************** The_End() Sorry na zamaranju vaseg PAD-a (142 linije), ali valjda ce vredeti... Pozdrav, gari.
clipper.501 bstevan,
I' ja zahvaljujem na CLOCK.ASM - ali si me malo, namucio sa onim public casovnik. ---POZDRAV--- ---BSTEVAN---
clipper.502 bstevan,
Pa' ako se pravilno upotrebi CLOCK.ASM, nevidim da nije bezbedan.I ja sam imao resenje iz CLP, ali sam se u ovom slucaju opredelio za CLOCK.ASM . I veruj mi u aplikaciji je to jedina procedura, koja nije u CLP.Rekoh aj da probam da je povezem jer do sad to nisam probao, kad ono radi i nije agresivno ako se pravilno postupi. Da se ispravi- pravilno UPOTREBI. ---POZDRAV--- ---BSTEVAN---
clipper.503 d.petrovic,
Ă>│ ako stampam na stampac, a stampac ne koristi beskonacni papir i Ă>│ ne promenim papir za 3-4 sekunde izbaci ono crveno na sred Ă>│ ekrana. Ja normalno strelicu na desno pa kazem da nastavi i Ă>│ nastavi normalno. Gde sam zabrljao ??? Ă> └─── Ă> IsPrinter() Ma to proveravam pre nego što počnem da štampam, neću valjda posle svake strane? To se nije dešavalo na TOM štampaču ranije. Ne znam šta se u međuvremenu promenilo, jedino što su sada baze otvorene shared, ali ne verujem da to može da ima neke veze.
clipper.504 bulaja,
││IsPrinter() │└─── │Ma to proveravam pre nego sto pocnem da stampam, necu valjda posle │svake strane? └─── Posle svake strane? :) Pa treba da proveravas IsPrinter() skoro *posle svakog slova* :), tj. zavisno od toga koliki je bafer stampaca. Nikad se ne zna na kakvim ce krsh stampacima da radi program, meni se desilo da ni kontrola posle svakog reda nije pomogla kad je trebalo da se stampa na nekoj glupoj pisacoj masini sa Centronics interfejsom i baferom od pola reda.
clipper.505 dr.grba,
>> I' ja zahvaljujem na CLOCK.ASM - ali si me malo, >> namucio sa onim public casovnik. UFFFFFFFFFFFF! IZVINI! Izvinjenje dugujem i tebi i svima ostalima koji su probali, pa morali da traze - nisam napomenuo ): Nadam se da vise necu ponoviti slicnu omasku. Najvaznije je da je modul zavrsio posao! Drago mi je ako je pomoglo. Pozdrav, dr ÔpŰa --> Let's leave my employer out of this, OK?
clipper.506 dr.grba,
>> koja nije u CLP.Rekoh aj da probam da je povezem jer do sad to nisam >> probao, kad ono radi i nije agresivno ako se pravilno postupi. E, sad... Nenad ima cvrste argumente za ono sto tvrdi. Ne pada mi na pamet da mu protivurecim (:, a jedan od (po meni) kljucnih argumenata je konzistentnost, zapravo stabilnost aplikacije. Ukoliko postoji razradjena baterija alata uradjenih u Clipper-u i ukoliko ta baterija operise nad osnovnim operacijama u programu, tada postoji verovatnoca da ce program raditi stabilno. Da ne kazem ovako : dok se razvije paket veznih modula, testiranjem u hodu se mogu uciniti brojna poboljsanja i ubrzanja... Na primeru inkriminisanog ASM modula za implementaciju casovnika...I must confess...i ja sam ga izbacio. Najpre sam halapljivo ubacio sat na interfejs. Pa, dok sam razvijao nove module u aplikaciji, najpre sistematski resetovao masinu dvadeset puta dnevno... ja sam sampion promasivanja sintakse, u 90% slucajeva napisem pcount umesto pcount(), pa program zvizne (Nenade, secas li se one rasprave o "valid"?)... Program izleti, interapt i dalje vezan, ako ne uradim soft reset odmah, sledi hard reset posle... Pa sam, radi testa, na vrhu svakog modula u testiranju iskljucivao sat, pa na izlazu ga opet iskljucivao... ovo je bilo vec sumnjivo, da ne kazem da je polako prestalo da lici na strukturno programiranje... al ajd' i to, trpeo sam neko vreme tihi teror sopstvene megalomanije... Pa sam onda morao da iskljucim svaku teoretsku mogucnost bilo kakvog nekontrolisanog izlaska iz programa, tipa Alt-C, Ctrl-Break, da bih prisilio korisnika da prodje kroz regularni izlazni modul da bi se, je li, sat iskljucio. Tu je vec poceo jedan Grrrrrrr@#$##$%@#erinu, sa lakom tendencijom da se prekvalifikujem u postara ili odzacara. Pa sam tek onda dosao na to da mi u par navrata treba ceo cist ekran za tabelu. Sat je tamo stajao kao piletu sise. Uopste mi nije bila globalna ideja da sat iskljucujem u finalnoj varijanti. Tad je doslo do pucanja filma. Zasukao sam rukave, sistematski unistio svaki trag tom satu u razvojnoj semi, i napisao Clipper modul koji na Alt-T izbaci dan, datum i sat u prozoru, pa eto korisniku, i neka gleda koliko mu volja. (Kalkulator Alt-K, screen saver Alt-S i dosta im je.) U nastavku rada, sat nestaje i bonus penis pax in domus. Eto, kad je Nenad napao ovaj modul, upravo je mislio na to kako bi bilo lepo izbeci slicna s**nja. Namera mu je sigurno bila najbolja, posto je on dobro ispekao zanat i zna za ovakve zamke. Vidis, ja sam se naucio na sopstvenom iskustvu, i samo ja znam koliko mi je problema donelo bazanje po mraku... Ala se raspisah, eto to je u znak izvinjenja zbog clock <-> casovnik (; Pozdrav, dr ÔpŰa
clipper.507 dr.grba,
>> Ma to proveravam pre nego sto pocnem da stampam, necu valjda posle >> svake strane? ... Boga mi, hoces! Brini se o integritetu programa, nemoj da se o tome brinu namazane lujke po preduzecima... Bilo je vec negde u "Racunarima", ali ajd'... Primeni stos duple petlje, dozvoli neko vreme oporavka stampacu : ... if !isprinter() inkey(10) // ovo je vreme koje dajes stampacu da se oporavi if !isprinter() // HINT - ponovna provera vristi() spasavaj_stampu() ostale_akcije() ... // i ostale akcije za plasenje guski endif endif ... Sad variraj ovu mustru kako te volja, ne moze da skodi... Pozdrav, dr ÔpŰa
clipper.508 dejanr,
>> Pa treba da proveravas IsPrinter() skoro *posle >> svakog slova* :) Nešto sam zaboravio, jel beše IsPrinter() testira samo LPT1 štampač? Vidim da u programima koristim isključivo neku asemblersku proceduru koja zivka BIOS, mora da sam imao neki razlog za to.
clipper.509 dejanr,
>> ja sam sampion promasivanja sintakse, u 90% >> slucajeva napisem pcount umesto pcount(), pa program zvizne Predlog: prevodi programe sa CLIPPER /W. Jeste da "boli" što moraju da se deklarišu sve promenljive, a naročito "boli" deklarisanje polja iz baze, ali u suštini spase jako mnogo problema - još u fazi prevođenja ukaže na većinu pogrešno otkucanih promenljivih (ja, recimo, ne grešim sa pcount() ali imam običaj da napišem lastkey i recno bez zagrada). Na žalost, izgleda da ni CLIPPER /W ne primećuje sve probleme sa nizovima, recimo desi se da neki niz koristiš kao skalar i to primeti tek tokom izvršavanja programa :( A još kada bi mogla da se kontroliše ispravnost *dodeljivanja* pa da ne dolaze posle one type mismatch greške... eh... pusti snovi.
clipper.510 dusanp,
=> Posto snap gresi kada se radi sa vise modula, a i nije => mi bila potrebna ona gomila informacija, napisao sam => svoju verziju doc programa, koja samo lepo odvoji => funkcije i procedure - vecini korisnika je i to dovoljno. Ovo je verzija 1.2 istog programa. Ubijena je jedna buba, dodat spisak funkcija pri dokumentovanju - isprobajte, mozda je ovaj program bas ono sto vam treba. Opet ide i sors... doc12.arj
clipper.511 d.petrovic,
Ă> Nešto sam zaboravio, jel beše IsPrinter() testira samo LPT1 Ă> štampač? Zaboravio i ja, ali znam da je samo paraleni.
clipper.512 d.petrovic,
Ă> Boga mi, hoces! Brini se o integritetu programa, nemoj da se o Ă> tome brinu Hvala lepo svima, naročito bulaji za krševe od štampača ;)). Izgleda da sam do sada imao sreće sa ukupno 10ak program koji su radili na 15-ak štampača max. pa ni jedan nije bio krš. Ni ovaj mali nije krš, samo zajebava sa zamenom papira.
clipper.513 bulaja,
│Nesto sam zaboravio, jel bese IsPrinter() testira samo LPT1 stampac? └─── Da. Ima u NFLIB funkcija ft_isprinter() (pisana u asembleru) evo sta pise NG za nju: Syntax FT_ISPRINT( [ <cDevice> ] ) -> lResult Arguments <cDevice> is optional and is the device to test (LPT2, COM1, etc.). If omitted, the function will default to the PRN device. The Clipper IsPrinter() function is somewhat limited because it only works with LPT1. Furthermore, it talks directly to the hardware, so if you have redirected LPT1 via the DOS MODE command, the IsPrinter() function will return erroneous results. This function offers a better alternative. Instead of talking to the hardware, it issues a DOS call that checks to see if the device is ready or not. That gives DOS an opportunity to deal with any redirections, and since you pass the device name as a parameter, you can test any device, not just LPT1 (note that the function defaults to PRN if you fail to pass a valid parameter).
clipper.514 bulaja,
**** new file **** R:ĐIBMPCĐCLIPPERĐ*.* ---------------------- bumenu11 arj 8009 BuMenu 1.1, poboljšani sistem menija za Clipper (bulaja) BuMenu je zamena standardni Clipper-ov PROMPT .. MENU TO sistem. Potpuno je kompatibilan sa njim, a sadrzi korisna poboljsanja: - moze se definisati proizvoljni hot-key za aktiviranje svake od opcija u meniju - Clipper prepoznaje samo prvo slovo opcije - moze se definisati i boja hot tastera, tako da on bude prikazan istaknuto - ovo izuzetno poboljsava preglednost menija i daje profesionalni look - nije neophodno "trositi" promenljivu za smestanje rezultata izbora - ovo je zgodno za neke kratke menije tipa Da-Ne Promene u odnosu na prethodnu verziju: - podrska MESSAGE opcije - uzima se u obzir trenutno stanje Clipper promenljivih SET WRAP i SET MESSAGE TO <x> ŠCENTERĆ - poziv funkcije bu_MenuColor() bez argumenata vraca trenutno aktivne boje - poboljsana kontrola ispravnosti parametara prenetih funkcijama
clipper.515 ppekovic,
[reply na baze.podataka/10.125 pjankovic] >> Evo, bas sam sad probao i naravno da sam uspio. Naime, >> zadnji put sam to probao prije godinu dana, ustanovio da radi, ali >> nikada nisam ugradio u svoje programe. Napisao sam C funkciju: Ovih dana sam po ko zna koji put probao clipper + C i evo do čega sam došao: Prvi deo priče, tj. kompajliranje, nikada nije bilo sporno, dakle C program se iskompajlira u large modelu, s tim što ja za svaki slučaj isključim i optimizacije. Drugi deo, linkovanje je uvek bilo problematično i to zbog čuvenih poruka "symbol defined more than once" ili tako nešto. Ovo su javljali i MS Linker i RTLink kad god bi se koristile neke funkcije iz graph.h, stdio.h i još neke. Dakle, najvažnije stvari. Juče sam probao da linkujem sa blinker-om i sve je prošlo bez ikakvih upozorenja, grešaka. Probao sam sve i svašta i sve je radilo osim funkcija iz pgchart lib-a iz msc-a 6.0. Da ne bih izbaksuzirao, neću reći živeo Blinker. Pravi test će biti kada napravim ono što sam počeo, a to je backup sistem. Naime, uzeo sam onaj zip source i pokušavam da ga prepravim da radi iz clipper-a. Treba mu dodati multi-volume opciju i eventualno još par sitnih i eto savršenog sistema za backup. Ako to proradi, ... Paya
clipper.516 nbatocanin,
Tako si lepo obrazložio argumente, da samo mogu da se složim :)) Inače, čisto subjektivno, ne volim strane predmete u programima - zato izbegavam sve biblioteke i sl. Mislim da je čista struktura programa veoma važna (a i lepa). Uvek me je posebno nerviralo kad u nekom jeziku nešto ne može da se izvede, pa onda moraš da ga povezuješ sa nekim drugim. Sećam se FORTRAN programa gde je glavni program u C-u, centralni deo FORTRAN, a koriste se C i ASM potprogrami ;( Kao kalabalak ;) E sad: kad već ponegde mora da se pribegne nečem drugom, neka to bude što čistije. Zato i ne koristim C za Clipper: te fali mu LLIBC, te dupli simboli, te neće Turbo nego MSC i šta ti ja znam. ASM uradiš i zaboraviš. Ali, sat, screen saver i sl. (po meni) nije potrebno raditi u asembleru: ja sve to imam urađeno vrlo jednostavno u Clipper-u. Štos je preusmeriti sva skaniranja tastature na jednu funkcije i onda imaš šta oćeš! U suštini, daleko više od sata! Koga interesuje, evo nove funkcije Inkey: FUNC nInkey (N) LOCAL Start := Seconds (), Ch := 0, lFTast REPEAT lFTast := .F. IF N == NIL Ch := Inkey() ELSEIF N > 0 WHILE Abs (Start - Seconds()) < N .AND. (Ch := Inkey()) == 0 IF TimeStr <> Time() TimeStr := Time() IF TimeVis SayScreen (TimeStr, 0, 0) END IF END IF END DO ELSE WHILE (Ch := Inkey()) == 0 IF TimeStr <> Time() TimeStr := Time() IF TimeVis SayScreen (TimeStr, 0, 0) END IF END IF END DO END IF // Ako je pritisnut F-taster, izvrsi ga IF (bKey := SetKey(Ch)) <> NIL Eval (bKey, "", 0, ReadVar()) Start := Seconds () lFTast := .T. END IF UNTIL !lFTast RETURN Ch Nije nešto, zar ne?
clipper.517 d.petrovic,
Ă> Naime, uzeo sam onaj zip source i pokušavam da ga prepravim Ă> da Deder okači onaj *.asm, ja utamanio sve takve stvari sa diska, a sad ne prikačinjem flopi. Ooops, šta sam napisao :)). Prikači preveden.
clipper.518 dr.grba,
>> ukaze na vecinu pogresno otkucanih promenljivih (ja, recimo, ne gresim >> sa pcount() ali imam obicaj da napisem lastkey i recno bez zagrada). Hvala na savetu, vec usvojeno (((: Nisam ni mislio samo na pcount(), vec i sve ostalo ( inkey(), lastrec(),... ) jedino pravilo je da ga zeznem bas tamo gde najbolje treba da odigra svoju ulogu - bilo zbog kontrole u pitalici ili ne znam ni ja cega ... Bese ono jedan od postulata prvog Marfijevog zakona "...posto ce stvari ionako poci kako ne treba, one ce teziti da pritom naprave najvecu mogucu stetu..." ))):
clipper.519 dr.grba,
>> Ă> Nesto sam zaboravio, jel bese IsPrinter() testira samo LPT1 stampac? >> >> Zaboravio i ja, ali znam da je samo paraleni. ISPRINTER() is a printer function used to determine if the parallel port (LPT1) is on-line and ready to print. ISPRINTER() is hardware dependent and, therefore, only works on IBM-BIOS compatible systems. You can check ISPRINTER() to make sure the printer is ready before you begin a print operation; however, if an error occurs during the print operation, a runtime error is generated. Izvor, naravno, NG fajl... I opet marfologija : "Ako nece da radi, procitaj uputstvo." Pozdrav, dr ÔpŰa
clipper.520 tarva,
Í─────────────────Ě ║ <F1> (HELP) ║ Ë─────────────────Ż Nisam verovao da se ovo može desiti: Postavio sam pitanje i ostao na SEZAMU bez odgovora! Stoga: Sorry što opterećujem konferenciju još jednom ovom porukom, ali ne radi :((((, a niko mi nije odovorio :(((. ZATO -> HELP. >Í───────────────── >║> SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"Đ*.DBF",300,"","") >Ë───────────────────────────────────── > >Probao sam ovo sa SwpRunCmd(...etc...) i ne radi. Mogući uzrok. > >1. Nabavljen na probu samo BLINKER.EXE >2. Možda treba setovati neku opciju dodatno? > >U vezi s tim tri pitanja: > >1. Gde sa može kupiti orginal "BLINKER". >2. Da li treba dodati još neki parametar >3. Ili nešto treće? Probao sam ovo i na proba.prg koji je imao samo 3 reda 2 x SAY i gore pomenutu komandu. Možda je onome ko zna ovo pitanje ispod časti da na njega odgovori, ali meni je to problem. A svaki problem je prilično veliki, naročito ako ne umeš da ga rešiš.
clipper.521 svemic,
Moj mali prilog clipperasima - 132 karaktera u VGA u modu u CLipperu preuzeto sa InterNeta - USA. 132vgacl.arj
clipper.522 zkrstic,
>>>Í───────────────── >>>║> SwpRunCmd("PKZIP -Pr&f A:BACKUP "+AllTrim(cdir)+"Đ*.DBF",300,"","") >>>Ë───────────────────────────────────── >>> >>>Probao sam ovo sa SwpRunCmd(...etc...) i ne radi. Mogući uzrok. >>> >>>1. Nabavljen na probu samo BLINKER.EXE >>>2. Možda treba setovati neku opciju dodatno? Uzmi lepo instaliraj kompletan Blinker. Moguće da Blinker koji kori- stiš je DEMO verzija u kojoj to možda ne radi. >>>U vezi s tim tri pitanja: >>> >>>1. Gde sa može kupiti orginal "BLINKER". Kod nas - nigde. >>>2. Da li treba dodati još neki parametar >>>3. Ili nešto treće? Ma to mora da radi u kombinaciji (0,"<naziv_programa>","",""). Meni je ekstrem kada svapujem iz Clippera u Clipper i to fercera bez ikakvih pro- blema. >>Probao sam ovo i na proba.prg koji je imao samo 3 reda 2 x SAY i >>gore pomenutu komandu. Možda je onome ko zna ovo pitanje ispod >>časti da na njega odgovori, ali meni je to problem. A svaki >>problem je prilično veliki, naročito ako ne umeš da ga rešiš. Uh, al ga zabiberi na kraju! Ja sam jedva malopre ukapirao da imaš samo Blinker.Exe, a ne ceo blinker. A i cela poruka je vrlo konfuzna. Ništa zato, evo ja ti odgovaram, iako mi nije jasno kako ti ne radi. :(
clipper.523 dejanr,
Nisi baš opisao šta to znači "ne radi" tj. šta se tačno desi. Komanda izgleda ok, jedino možda ako koristiš neki stari Blinker koji to još nije ni imao (?). Komanda na Blinker-u 2.0 radi lepo. PS Pretpostavljam da je PKZIP.EXE pri ruci programu, stavi ga u njegov dir mada bi trebalo da radi i bilo gde iz PATH-a.
clipper.524 bstevan,
Imam sledeci problem: Imam datoteku RADNIK.DBF i oko 400 radnika u njoj. Neki od njih su više puta menjali mat.br., tako da sam kod onih koji su dobili novi MB, na stari stavljao oznaku 'D' u polju VRO(Vrsta rad. odnosa), onima koima je isteko rad. odnos oznaku 'I' i onima koji su otišli u penziju 'P'. Sad tu datoteku iskopiram u privremenu RADNIK.IZV, i izbrišem slogove sa DELETE ALL FOR VRO == "D" .OR. VRO == "P"; .OR. VRO == "I" treba da mi ostane aktivan broj radnika u RADNIK.IZV, ali mi neke podatke za neke radnike (U NEKA POLJA) loše dodeli, pa na taj nacin promeni podatak u privremenu bazu. Konkretno primer: Radnik XXXXXXX YYYYYY imao je šifru radnog mesta 14022, posle kopiranja i brisanja kako je gore pomenuto pojavi se neka druga šifra. Šta može biti problem ? NAPOMENA: Indeksiranje izvorne baze nisam vršio ! ---BSTEVAN--- ---POZDRAV---
clipper.525 gari,
BBS: RHINOCEROS Conference: CLIPPER... From: ARPAD SEGI To: MARKO LUCIC [PUBLIC] Subject: memoedit() Date: 04-05-93 10:48 Biblioteke od raznih nezavisnih proizvodjaca mogu se kupiti u Londonu 1) CLText Linkable Word procesor for Summer '87 and 5.01 - Word 5.0 emulatons - Word 5.5 emulatons - WordPerfect emulatons - Brief emulatons - 350 popular printers ..................... 250 funti 2) WPLib() WordPerfect Library ................ 245 funti 3) dBxStore II More than just a .DBT replacer ... ? funti !!!! Ima li neko sa sezama nesto odavde ?
clipper.526 tarva,
Í───────────────────────Ě ║ HVALA i čIVEO SEZAM! ║ Ë───────────────────────Ż Da ne bih odgovarao obojici odjednom: Za zkrstic-a Í────────────────── ║> Uh, al ga zabiberi na kraju! Ja sam jedva malopre ukapirao da imaš ║> samo Blinker.Exe, a ne ceo blinker. A i cela poruka je vrlo ║> konfuzna. Ništa zato, evo ja ti odgovaram, iako mi nije jasno kako ║> ti ne radi. :( Ë─────────────────────────────────────── Ali vidiš, meni je sada jasno zašto mi ne radi. A tome odgovori i služe, zar ne? Sada sam pogledao verziju BLINKER.EXE :)))), kada ga pozovem prijavi da je verzija 1.50 :(((((. Nisam ni gledao broj verzije jer sam ga dobio onako kao "Evo ti, prikazan je u "Računarima", probaj" U svakom slučaju,hvala na trudu, ja sam znao da na SEZAMU neću ostati bez odgovora, jedino sam se malo uplašio da vas mrzi da odgovarate na glupa pitanja. Pozdrav, dok ne nabavim novi blinker. Za dejanr-a Í───────────────── ║> Nisi baš opisao šta to znači "ne radi" tj. šta se tačno desi. ║> Komanda izgleda ok, jedino možda ako koristiš neki stari ║> Blinker koji to još nije ni imao (?). Komanda na Blinker-u ║> 2.0 radi lepo. ║ ═════════════ Ë────────────────────────────────────── Ključni deo je podvučen, a moja glupost obrazložena u delu poruke koja se odnosi na zkrstica. BTW, "ne radi" znači da nije hteo ni da mi linkuje tu funkciju. Prijavi da je nema. Sad znam i zašto. Í────────────────── ║> PS Pretpostavljam da je PKZIP.EXE pri ruci programu, stavi ga ║> u njegov dir mada bi trebalo da radi i bilo gde iz PATH-a. Ë────────────────────────────────────── Na to sam i ja pomislio. Nije. Hvala obojici na trudu. A meni ostaje da probam da nabavim i 2.0 verziju i da vam se izvinim na gnjavaži. Pozdrav, Tibor.
clipper.527 dr.grba,
>> Nije nesto, zar ne? Cuj, valjano je. Verziranom coveku pet minuta, pretpostavljam. Cisto radi reference, mogao si da spomenes da imas .ch za REPEAT-UNTIL strukturu. BTW, hajde da vidimo tvoj screen saver. Jel' to ono sto jako lici na Vasin SKY? Vec sam navikao da od tebe stalno skinem neki fazon, pa bih zbilja voleo da vidim sto pre tu tvoju knjigu. (((: Pozdrav, dr ÔpŰa
clipper.528 bcetina,
>> Nije nešto, zar ne? E, baš jeste.
clipper.529 nbatocanin,
> BTW, hajde da vidimo tvoj screen saver. Jel' to ono sto > jako lici na Vasin SKY? Nisam video Vasin Sky, ali moj Sky je objavljen u "Računarima" u tekstu o demo programima. Ima ga i negde u \RSOFT. > Vec sam navikao da od tebe stalno skinem neki fazon, pa > bih zbilja voleo da vidim sto pre tu tvoju knjigu. (((: Još malo, još malo... :))
clipper.530 svemic,
> Imam sledeci problem: > Imam datoteku RADNIK.DBF i oko 400 radnika u njoj. > Neki od njih su vise puta menjali mat.br., tako da sam kod > onih koji su dobili novi MB, na stari stavljao oznaku 'D' > u polju VRO(Vrsta rad. odnosa), onima koima je isteko rad. > odnos oznaku 'I' i onima koji su otisli u penziju 'P'. > . . . Probaj da izvornu bazu, tj. radnik.dbf prvo indeksiras, ( po svim indeksima koje imas ) a zatim je prekopiras u bazu za obradu sa filterom koji ti filtrira samo radnike koji su u aktivnom radnom odnosu ( ili tako nesto, mislim ono sto ti treba ) !! Ne zaboravi posle SET FILTER TO ... obavezno ide GO TOP !!. I ja sam imao neke slicne probleme, pa mislim da ce i kod tebe ovo da upali. Pozdrav, (SV) mr xByTe
clipper.531 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- nflib_ch arj 3754 Dodatni header (.CH) fajlovi za NFLib 2.1 Ovo je dopuna za NFLib21.Arj arhivu koja se nalazi na Sezamu, a sadrzi tri header fajla - ft_ach2t.ch, ftint86.ch, ftmenuto.ch. Hvala Payi i FFS-u odakle je stigao kompletan nflib.
clipper.532 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- rshpcx10 zip 5624 Prikaz PCX slika iz Clipper-a 5.01 (EGA/VGA) Preuzeto sa FFS-a (FON File Server).
clipper.533 zkrstic,
>>rshpcx10 zip 5624 Prikaz PCX slika iz Clipper-a 5.01 (EGA/VGA) Ovo radi, vrrrrrlo kilavo, ajd, da čujem i tuđa iskustva. Ja ga davno skinuh sa FFS-a i bacih Zkr
clipper.534 nbatocanin,
Vidim da sam zainteresovao narod ;) za ovo pa da kažem još par reči. O svemu je dataljnije bilo u "Računarima" u tekstu o demo programima. Prva faza je centralizacija svih procedura za skaniranje tastature. Problem je trivijalan za TBrowse, GET sistem, dok se za AChoice, MENU TO i sl. za nijansu teže rešava (napišu se nove funkcije). Problem je MemoEdit i za sada nemam dobro rešenje za tu funkciju. Elem, kada sve te funkcije skaniraju tastaturu preko funkcije Inkey(), onda se napiše funkcija koja zamenjuje Inkey. Osnova te nove funkcije je dosta jednostavna: umesto da program čeka na akciju korisnika u naredbi Inkey(0), program u stanju čekanja stalno izvršava jedan ciklus u kome jednostavno ispisuje vreme - i to je sva mudrost što se tiče sata. E sad, ovakva funkcija pruža još more dodatnih mogućnosti. Na primer, mogu se uvesti tri moda rada: NORMAL, LEARN i DEMO. U normalnom modu bi se funkcija xKey ponašala baš kao Inkey. U LEARN modu bi se isto ponašala, samo što bi svaku akciju korisnika beležila u LOG datoteku. U DEMO modu se tasteri čitaju iz tako kreirane datoteke. Koristan dodatak je i gašenje ekrana posle određenog vremena, a to se trivijalno pravi.
clipper.535 nbatocanin,
>> Imam sledeci problem: Ne verujem da je neki bug: situacija ja isuviše čista. Pošalji deo koda koji brlja pa da vidimo.
clipper.536 dr.grba,
>> Ovo radi, vrrrrrlo kilavo, ajd, da cujem i tuda iskustva. Ja ga davno >> skinuh sa FFS-a i bacih Kod mene - zali boze 20 minuta igranja... Nije vise na disku. Pozdrav, dr ÔpŰa
clipper.537 bstevan,
>>I ja sam imao neke slicne probleme, pa mislim da ce i kod tebe >>ovo upaliti. Ovo je kod tebe OK' ako hoceš prikaz podataka sa SET FILTR-om. Posto ja izbegavam SET FILTER, zato pravim pomocnu datoteku sa COPY TO Radnik.izv PRIMER: USE Radnik.dat COPY TO Radnik.izv USE Radnik.izv DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I" PACK Radnici oznaceni sa D,P, i I u polju VRO se obrišu i treba da ostanu samo aktivni u pomocnoj datoteci. Sad takvu datoteku mogu normalno da koristim, s tim sto sam izbegao SET FILTER. E' a u poruci 9.524 sam naveo sta se desava i sta brlja. Odnosno kad jednog do tri radnika obicno zezne neki podatak (kod ove pomocne datoteke). To se dogadja tek posle komande DELETE u sprezi sa PACK. Znaci tu me interesuje gde je problem ? ---POZDRAV--- ---BSTEVAN--- PS:Radi se o Clipper S87'
clipper.538 bstevan,
>>Ne verujem da je neki bug, situacija je isuviše čista. >>Pošalji deo koda koji brlja pa da vidimo. Nenade nije problem kod njega vec kod mene, a on je odgovorio na moju poruku 9.524 . Parce koda imas u odgovoru na poruku 9.530 (to je 9.537), a vidi i poruku 9.524, pa povezi i videces o cemu se radi. NAPOMENA: Radi se o Clipper - u S87' ---POZDRAV--- ---BSTEVAN---
clipper.539 dejanr,
Poslastica za one koji koriste Clipper i Blinker - update za Blinker 2.01. Dodato par funkcija, ispravljeni bug-ovi i tako to. Oba fajla (BLINK201.ZIP je update za Blinker a BLI201NG.ZIP za prateći Norton Guide) su PD, i za njihovo korišćenje je neophodno da imate Blinker 2.0 (ne dolaze u obzir ranije verzije!). Otpakujete, pokrenete i samo se sredi :) Otkrili smo jedan lep BBS sa PD programima za Clipper i raznim drugim "zvaničnim zakrpama", očekujte još priloga na ovu temu :)
clipper.540 enter,
Problem sa APPEND FROM se pojavio nakon sto je taj program radio skoro godinu dana. Sve je po propisu, i greske se javljaju slucajno. Jednom dobro uradi, drugi put ne. Problem se javio, kada su baze i sam program postali veliki, pa dolazi do prebacivanja memorije na disk itd.... Ponovo i ukratko : U otvorenu datoteku appendujem drugu koja je fala bogu CLOSE. Obe imaju istu strukturu i recimo 30 - tak polja. Nakon sto izvrsi APPEND, ne prijavljuje nikakvu gresku, a rezultat je recimo da je on prebacio celu bazu, ali ne ' SVA POJçhPOLJA !!!! ţb
clipper.541 ndragan,
/ COPY TO Radnik.izv Ovo bi trebalo da brlja ako original datoteka ima memo polja. Bolja tehnika je da se za ime fajla uzme slučajno ime (postoje funkcije koje to rade, u foksu je to sys(3), dobiješ nekakav 77895471.dbf), ili da se kopija pravi u poddirektoriju. Takođe bi bilo bolje kopirati nekom funkcijom koja bi to radila u dužim blokovima (možda čak Run Xcopy), da se izbegne muvanje slog po slog. Vidim ja da kliperu i dalje nedostaje Index For. / DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I" Uostalom, i ovo mi liči na zaobilazni posao; kopiraš sve, pa onda brišeš ono što ti je višak, pa iz toga prepisuješ ono što nisi obrisao. Zašto ne iskopiraš samo ono što ti treba: Copy to <ime> for <uslov> Jedno trčanje kroz bazu ti ne gine, a ovako bar nemaš tri (kopiranje, brisanje, pakovanje).
clipper.542 nbatocanin,
> Parce koda imas u odgovoru na poruku 9.530 (to je 9.537), > a vidi i poruku 9.524, pa povezi i videces o cemu se radi. Prosto ne mogu da verujem da se dešava tako očigledna greška. Što se tiče izbegavanja naredbe SET FILTER za prikaz, verovatno će biti nešto u sledećim Računarima.
clipper.543 dr.grba,
Svima vama koji niste nacisto da li da preduzmete onaj silni download celog paketa NANFORUM TOOLKIT 2.1., upucujem ovu poruku. Ovde se nalazi spisak novih funkcija u verziji 2.1, podeljen tematski kao u NG fajlu. Pritom mislim ISKLJUCIVO NA REFERENTNE NOVINE, dok bih za ispitivanje razlika u kodu morao da potrosim vreme koje nemam... Kako god, ovde nema nikakvog mudrovanja; isekao sam slajfne iz NG fajla, a vama bi trebalo da bude dovoljno za odluku... Noviteti u NANFORUM TOOLKIT 2.1 : * Database ---------- FT_DBFHAND() Obtain the handle associated with an open .DBF file. FT_DBTHAND() Obtain the handle associated with an open .DBT file. FT_NTXHAND() Obtain the handle associated with an open .NTX file. * File I/O ---------- FT_FAPPEND() Appends a line to the currently selected text file FT_FDELETE() Deletes a line from the currently selected text file FT_FINSERT() Inserts a line in the currently selected text file FT_FWRITELN() Write a line to the currently selected text file * Keyboard/Menus ---------------- FT_LASTKEY() Force LastKey() to return a programmer-defined value. FT_MCONOFF() Turn mouse cursur off if in specified region FT_MGETCOORD() Get mouse cursor position (text coord.) and button status FT_MGETPAGE() Get the display page for the mouse pointer FT_MGETPOS() Get mouse cursor position and button status FT_MGETSENS() Get the mouse sensitivity parameters FT_MINIT() Initialize the mouse driver, vars and return status of mouse FT_MSETCOORD() Position the mouse cursor using text screen coordinates FT_MSETPAGE() Set the display page for the mouse pointer FT_MSETSENS() Set the mouse sensitivity parameters FT_MVERSION() Get the mouse driver version FT_SETKEYS() Get array of keys redirected via the SetKey() or SET KEY * Menus/Prompts --------------- FT_SLEEP Wait for a specified amount of time * Netware --------- FT_NWSEMUNLOCK() "Unlock" a semaphore locked by FT_NWSEMLOCK() * Video ------- FT_DISPCNT() Return the number of outstanding calls to DispBegin() FT_POPVID() Restore previously saved video states. FT_PUSHVID() Save current video states on internal stack. I na kraju jos napomena da u NG fajlu za Nanforum Toolkit 2.1 ne vidimo vise reference za @...PROMPT i MENU TO u Nanforum interpretaciji... Neki korisnici verzije 2.1 su prijavljivali izvesne nezgode u radu, koje nisu primecene u verziji 2.0, pa bi bilo lepo da ih podele sa ostalima na SEZAM-u, opisujuci sta se dogadjalo. Pozdrav, dr ÔpŰa
clipper.544 kanda,
> Prva faza je centralizacija svih procedura za skaniranje > tastature. Problem je trivijalan za TBrowse, GET sistem, dok se > za AChoice, MENU TO i sl. za nijansu teže rešava (napišu se > nove funkcije). Problem je MemoEdit i za sada nemam dobro > rešenje za tu funkciju. Evo da opisem tehniku kojom se xKey() moze uterati u MemoEdit. Dakle, rec je o specificnoj korisnickoj funkciji za ME - u okviru nje se skanira tastatura, a primljeni tasteri se po potrebi prosledjuju ME-u na obradu. Pritom se u tastaturni bafer 'podvali' i jedan kod koji ME SIGURNO ne razume - kada dodje do njega, vratice kontrolu korisnickoj funkciji. Onda Jovo nanovo... #include "inkey.ch" #include "memoedit.ch" #define K_UN 12 // bilo koji taster koji memoedit ne poznaje ///////////////////////////////////////////////////////////////////////// FUNCTION Main ///////////////////////////////////////////////////////////////////////// LOCAL c := "Kanda majstov" SET CURSOR OFF ; ReadInsert(.T.) ; SET SCOREBOARD OFF c := MemoEdit(c, 5, 5, 15, 65, .T., "MemoFunc") RETURN NIL // korisnicka f-ja za memoedit ///////////////////////////////////////////////////////////////////////// FUNCTION MemoFunc(nMode, nLine, nCol) ///////////////////////////////////////////////////////////////////////// // Ovde navesti sve kontrolne tastere koje memoedit poznaje... // (ima ih jos, al me mrzi da kucam ;) STATIC aKeys := {K_UP, K_DOWN, K_PGUP, K_PGDN, K_CTRL_PGUP, K_CTRL_PGDN, ; K_HOME, K_END, K_CTRL_Y, K_DEL, K_BS, K_ENTER, K_LEFT, K_RIGHT} LOCAL nKey IF nMode == ME_INIT // Smesti taster, koji ME ne poznaje, u tastaturni bafer. // Po inicijalizaciji, ME ce odmah vratiti kontrolu korisnickoj f-ji KEYBOARD Chr(K_UN) ELSE DO WHILE .T. // Cekaj na taster. (po potrebi, moglo bi se dodati i npr. cekanje // na klik misa. Recimo, oko memoedita se nacrtaju 'scroll-bars', // pa ako se klikne na njih, npr. na strelicu dole, to se tretira // kao da je pritisnuto K_DOWN.) nKey := zKey(0) // Valja analizirati taster. IF nKey == K_ESC .OR. nKey == K_CTRL_W // Napusti memoedit ! RETURN nKey ELSEIF (nKey >= 32 .AND. nKey <= 254) .OR. aScan(aKeys, nKey) > 0 // Ovo je taster koji memoedit razume. // Ubaci ga u tastaturni bafer, zajedno sa jos jednim tasterom, // koji memoedit NE razume. ME ce obraditi prvi taster, a kada // procita drugi, vratice kontrolu korisnickoj funkciji, jer mu // je taj drugi taster nepoznat KEYBOARD Chr(nKey) + Chr(K_UN) EXIT ELSE // Taster koji memoedit ne poznaje - necemo mu ga ni prosledjivati. Tone(1100, 0) ENDIF ENDDO ENDIF RETURN ME_DEFAULT // Minimalna verzija cuvene nbatocaninove funkcije xKey. ///////////////////////////////////////////////////////////////////////// FUNCTION zKey(nWait) ///////////////////////////////////////////////////////////////////////// STATIC cTimer := "" LOCAL n := nWait, nKey, nR, nC SET CURSOR ON DO WHILE .T. IF !(Time() == cTimer) cTimer := Time() nR := Row() ; nC := Col() @ 0, 0 SAY Time() SetPos(nR, nC) ENDIF IF nWait == NIL ; nKey := InKey() ; EXIT ; ENDIF nKey := InKey(0.5) IF nWait > 0 .AND. (n -= 0.5) <= 0 ; EXIT ; ENDIF IF nKey != 0 ; EXIT ; ENDIF ENDDO SET CURSOR OFF RETURN nKey
clipper.545 kanda,
> USE Radnik.dat > COPY TO Radnik.izv > USE Radnik.izv > DELETE ALL FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I" > PACK Dobro, a sto ne bi npr. : USE Radnik.dat COPY TO Radnik.izv FOR VRO == "D" .OR. VRO == "P" .OR. VRO == "I" USE Radnik.izv
clipper.546 snemcev,
>> Noviteti u NANFORUM TOOLKIT 2.1 : E pa ovde neko stvarno ume da čita misli. Baš to sam hteo da pitam, download or not, that is the question!
clipper.547 nbatocanin,
U nedostatku boljega, što ne iskoristiš nešto poput: USE To NEW USE From NEW DBeval ( {|| To->DBAppend(), MyCopyRecord(From,To) } )
clipper.548 bcetina,
Jedan stari clipper 87 program, pri pokušaju da u jednom trenutku otvori puno indexnih fajlova (12), pukne negde kod 4. (open error). To se dešava na 386sx sa 1Mb. Napominjem postoji SET CLIPPER=F55 u Autoexec.bat i FILES=55 i BUFFERS=25 u Config.sys. To sve inače lepo radi na raznim 286 sa 1Mb. Zna li tko?
clipper.549 dejanr,
Ako izuzmemo razne trivijalne mogućnosti tipa da u autoexec-u ne piše SET CLIPPER nego SET CLIPER ili tome podobno, činjenica da nešto lepo radi na 286 a ne radi na 386 obično implicira nešto vezano za QEMM ili drugi EMM manager. Za početak, jesi li probao da pokreneš program sa "čistim" DOS-om, eventualno uz HIMEM.SYS?
clipper.550 dr.grba,
>> To se desava na 386sx sa 1Mb. Napominjem postoji SET CLIPPER=F55 u >> Autoexec.bat i FILES=55 i BUFFERS=25 u Config.sys. Izvini, ne umem direktno da ti pomognem da resis svoj problem, ali sam primetio jednu stvar koju bi bilo uputno ispraviti : FILES=55 ... SET CLIPPER=F55 ... Vidis, bilo bi uputno da za bilo koji broj u SET CLIPPER, u FILES klauzuli u CONFIG.SYS datoteci taj broj bude (barem) za 5 veci. Tih 5 razlike rezervise DOS za standardne I/O datoteke sistema. Ovo nije "o glavu", ali predstavlja neki bon-ton i preventivu od glavobolje... Pozdrav, dr ÔpŰa
clipper.551 nbatocanin,
> Evo da opisem tehniku kojom se xKey() moze uterati u > MemoEdit. Super je. Ja sam hteo nešto slično, ali sam odustao u pola posla zato što mislim da je MemoEdit budževina, a i ovo je (na žalost) budževina, pa budža na budžu... I dalje čekamo oMemoEdit ;) U svakom slučaju, ovo je lepa ideja: ako Dejan ne ubaci u Bajtove, ide u Savetnik.
clipper.552 smarco,
Molim Vas da mi predlozite dobar source- generator za menije,maske, za Clipper 5.0
clipper.553 umajstorovic,
Da li neko moze da mi kaze kako da stampam PCX sliku iz CLIPPER-a. Nesto kao LOGO u zaglavlju izvestaja.
clipper.554 pstojanovic,
>> Da li neko moze da mi kaze kako da stampam PCX sliku iz >> CLIPPER-a. Nesto kao LOGO u zaglavlju izvestaja. Udješ u Corel, uvezeš sa Import iz fajl menija, pa na print-to-file. Ili sa GWS-Win uvezeš, središ ditering, pa na print-to-file. Obično, zamenim posle toga iz print fajla sa NU zadnji ASCII-12 () sa " ",da ne bi došlo do premotavanja na novu stranicu. Jeste malo zaj..ancije, ali radi.
clipper.555 snemcev,
>> Jedan stari clipper 87 program, pri pokušaju da u jednom trenutku >> otvori puno indexnih fajlova (12), pukne negde kod 4. (open error). Jesi li siguran da ti taj index koji pokušavaš da otvoriš i imaš na disku? Ova greška mi ponajviše na to ukazuje.
clipper.556 vpetrovic,
>> Da li neko moze da mi kaze kako da stampam PCX sliku iz CLIPPER-a. Nesto >> kao LOGO u zaglavlju izvestaja. Imam ja to urađeno u mašincu i povezano sa Clipperom. Javi mi se mail-om da se dogovorimo. vpetrovic
clipper.557 dr.grba,
>> Molim Vas da mi predlozite dobar source- generator za menije, >> maske, za Clipper 5.0 Evo ja, nisam skup, placanje avansom na ziro racun. Za solarno placanje 20 % popusta (((: Pozdrav, dr ÔpŰa
clipper.558 jpavlov,
Da li bi neko bio voljan da napiše kako se prosleđuju DOS parametri programu napisanom u Clipper-u S-87, tj. kako da iz komandbe linije dobijem podatke koji se nalaze u bazi?
clipper.559 dejanr,
>> Da li bi neko bio voljan da napiše kako se prosleđuju >> DOS parametri programu napisanom u Clipper-u S-87, tj. >> kako da iz komandbe linije dobijem podatke koji se nalaze >> u bazi? Ako sam dobro razumeo šta ti treba, ovako: PARAMETER a,b IF PCOUNT()<>2 ? "Upotreba: CITAJ baza slog" ? QUIT END IF USE a GOTO val(b) ? polje ? QUIT Program pozivas sa CITAJ PERA 123 i on ti ispiše vrednost polja u 123-ćem slogu datoteke PERA.DBF.
clipper.560 bstevan,
> Copy to <ime> for <uslov> Ovo je OK'-j, ali me interesuje zašto se u onakvoj mojoj postavci dešava što sam isao u ranijim porukama. ---POZDRAV--- ---BSTEVAN---
clipper.561 cnenad,
MOLIM ZA POMOC ! KAKO DA NA S'87 KADA GET NAREDBOM UBACIM U POLJE DATUM I PROCITAM SA READ IZVRSIM ZAMENU U BAZI SVIH POLJA KOJA NEMAJU UBACENI DATUM. SA NAREDBOM REPLACE TO NISAM USPEO DA URADIM, INACE NAREDBA REPLACE DATUM WITH CTOD(DATUM) FOR DTOC(DATUM)=" . . " U DBASE4 RADI BEZ PROBLEMA I VRSI ZAMENU ALI U CLIPPER-u NECE !HH KORISTIM I SET DATE GERMAN HVALA I POZDRAV ! CNENAD
clipper.562 dejanr,
>> MOLIM ZA POMOC ! KAKO DA NA S'87 KADA GET NAREDBOM UBACIM U POLJE DATUM >> I PROCITAM SA READ IZVRSIM ZAMENU U BAZI SVIH POLJA KOJA NEMAJU UBACENI >> DATUM. Ne znam da li sam baš dobro razumeo pitanje, ali ja bih to oprilike ovako uradio: set order to 0 goto top do while .not. eof() if .not. deleted() if .not. empty(xdat) replace xdat with datum end if end if skip 1 end do Verovatno može i sa globalnim replace, ali ja ga izbegavam zbog rada u mreži, ovako lakše rešavam zaključavanje slogova.
clipper.563 bstevan,
> Prosto ne mogu da verujem da se dešava tako očigledna greška. Ma greška je naprotiv podmukla, jer se dogodi a neocekuješ je. Doduše može se izbeči, nekim drugim fintama, ali mene muci zašto se dogadja jer je sve čisto, kako si i sam primetio. > Što se tiče izbegavanja SET FILTER za prikaz, verovatno će biti > nešto u sledećim Računarima. Nenade, ćekamo te RAžUNARE. ---POZDRAV--- ---BSTEVAN---
clipper.564 bstevan,
> Dobro, a što ne bi npr. : > USE Radnik.dat > COPY TO Radnik.izv FOR VRO == "D" .OR. VRO == "P" .OR. VRO == > "I" > USE Radnik.izv Ne može jer sad imaš u datoteci Radnik.izv samo pasivne radnike a ja hoću aktivne. Može ta ista tehnika, ali ovako : USE Radnik.dat COPY TO Radnik.izv FOR VRO <> "D" .AND. VRO <> "P" .AND. VRO <> "I" E' vidiš sad bi imao sve aktivne radnike u datoteci Radnik.izv. Ipak ideja je dobra, jer se izbegava brisanja DELETE ALL FOR VRO == ........ itd. i ono PACK, to je isto predložio i ndragan u poruci 9.541. ---POZDRAV--- ---BSTEVAN---
clipper.565 bstevan,
Znaš, javio sam se samo zato što red stvari koje su ti se dogadjale kako si opisao sa CLOCK.ASM, isto je i mene snašlo pa zato definitivno ispada iz mojih aplikacija. ---POZDRAV--- ---BSTEVAN---
clipper.566 jpavlov,
... Ako sam dobro razumeo šta ti treba, ovako: ... ... PARAMETER a,b ... IF PCOUNT()<>2 itd. Zaista TAKO TREBA. Radi, 'fala.
clipper.567 vpekovic,
Imam problema sa drugim delom NanForum biblioteke (NFSRC21.A01). Prilikom testiranja integriteta javlja mi Bad Huffman code (0) a kod opcije l ili v, Bad header. Moze li moderator da mi odgovori da li je greska u datoteci na SEZAM-u ili je nastala prilikom prenosa pa da pokusam ponovo. Koristim ARJ 2.22. Unapred hvala. V. Pekovic
clipper.568 dejanr,
Ja sam sticajem okolnosti baš pre sedam dana skinuo to sa Sezama (nisam imao pri ruci, a doneo mi čovek program koji koristi usluge te biblioteke) i uspešno sam je raspakovao, dakle ako u međuvremenu nije neki gremlin prošetao diskom, sve je u redu. Skini oba dela (arj i a01), stavi ih u isti dir i kaži ARJ e -v nfsrc21. Verujem da će uspeti.
clipper.569 bulaja,
│Da li bi neko bio voljan da napise kako se prosleduju │DOS parametri programu napisanom u Clipper-u S-87, └─── Back to the Past :). Cini mi se da je ovo bili prvo pitanje u prvoj Clipper temi (naravno u prvoj PC.SOFT konferenciji) na prvom Sezamu :). Parametri iz DOS-a se prenose preko PARAMETERS opcije (na pocetku osnovnog modula navedes PARA a,b,c,..), a broj prenetih parametara mozes ispitati funkcijom PCOUNT(). Svi parametri iz komande linije se prenose kao stringovi, ako ti treba broj uradis VAL().
clipper.570 lkudlik,
Da li mi neko moze pomoci ?? Program koji je kompajiran(5.01) i linkovan sa PLL prolikom starta javi gresku ??? error est0001: Illegal format in loadable file Sta da radim ??? Lkudlik :(
clipper.571 dejanr,
Jesi li probao da ponovo instaliraš Clipper? Meni su se poruke poput te javljale kad je CPAV jednom greškom "imunizovao" clipper.
clipper.572 dcolak,
│ error est0001: Illegal format in loadable file Da ne koristiš opciju /pll ? Isključi je pri kompajliranju... Ako je to to.. :) Sledge DAMMIR!
clipper.573 dr.grba,
>> Znas, javio sam se samo zato sto red stvari koje su ti se >> dogadjale kako si opisao sa CLOCK.ASM, isto je i mene snaslo >> pa zato definitivno ispada iz mojih aplikacija. Eto, sad ispade da sam nesto kriv <;< Mozda na grub nacin, ipak si naucio nesto, bas kao i ja... No, ostaje sada da napravis sopstveni sat u Clipper-u. Samo napred! Pozdrav, dr ÔpŰa
clipper.574 bulaja,
│Imam problema sa drugim delom NanForum biblioteke (NFSRC21.A01). │Prilikom testiranja integriteta javlja mi Bad Huffman code (0) a kod │opcije l ili v, Bad header. Moze li moderator da mi odgovori da li je │greska u datoteci na SEZAM-u ili je nastala prilikom prenosa pa da │pokusam ponovo. Koristim ARJ 2.22. └─── Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a, posto se datoteke na Sezamu pakuju sa ARJ v2.30.
clipper.575 mandrejevic,
I meni se isto javljalo kada radim sa /pll i imam mnogo memorije na raspolaganju. Onda moram da lupim LOADFIX prg da bi radilo. Inace kada imam i NG u memoriji i /ili imam duzi progam sve sljaka kako treba. P.S. LOADFIX iz DOS-a 5
clipper.576 petrovics,
>> Program koji je kompajiran(5.01) i linkovan sa PLL >> prolikom starta javi gresku ??? >> >> error est0001: Illegal format in loadable file Ova greska kod PLL linkovanja je odavno primecena. Vecina ljudi koje znam, pa i ja, je resavaju tako sto startuju NG (Norton Guide) i pll linkovani programi se posle bez problema izvrsavaju. Zasto ovo ovako radi neznam, vazno je da radi. pozdrav, Sasa
clipper.577 jpiri,
Imam problem sa Clipperom 5.2 (mislim da se isto desava i sa 5.01) S vremena na vreme program pukne 'iz cista mira' uz poruku: 'Argument error: Method exported'. 'Iz cista mira' znaci da npr. u jednom modulu unosim podatke, 5-10 minuta bez problema i onda 'pukne'. Sa Summer 87 radi ok. Radim sa PLL. Mozda je u tome problem?
clipper.578 ficus,
:) Imam problem sa Clipperom 5.2 (mislim da se isto desava i sa 5.01) Kakav je cliper 5.2 (ima li drasticnih promena u odnosu na 5.01) ?
clipper.579 pavbok,
B> Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka B> ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a, posto B> se datoteke na Sezamu pakuju sa ARJ v2.30. Kad smo već kod toga, kojim se ZIP-om pakuje na SEZAMU. Bojan
clipper.580 dejanr,
>> Kad smo već kod toga, kojim se ZIP-om pakuje na SEZAMU. Sezam pakuje PAD-ove PKZIP-om 1.1. Što se tiče programa u direktorijumu, pakovani su onim čime su ih spakovali autori, mi samo stavimo zaglavlje. Dakle, stari programi su PKZIP-om 1.1, a novi kako koji, sve više ih je pakovanih PKZIP-om 2.04.
clipper.581 lkudlik,
U vezi na odgovore na gresku(PLL): error est0001: Illegal format in loadable file Primetio sam i ja da ima neke veze sa memorijom ali nije mi jasno kako je pre radilo,bez obzira da li je neki program ucitan u memoriju. Probao sam program(kompajliran i linkovan sa PLL) na drugoj masini i sve radi savrseno. Misleci da sam zeznuo clipper,instalirao sam ponovo,medjutim sve po starom. SVARNO SAM ZABRINUT !!! HVALA NA SAVETIMA (nisam jedini koji ima taj problem ) Lkudlik :(
clipper.582 pavbok,
B> Sezam pakuje PAD-ove PKZIP-om 1.1. Što se tiče programa u B> direktorijumu, pakovani su onim čime su ih spakovali autori, B> mi samo stavimo zaglavlje. Dakle, stari programi su PKZIP-om B> 1.1, a novi kako koji, sve više ih je pakovanih PKZIP-om 2.04. Dobro za programe je razumljivo, jer razni korisnci pakuju razne programe raznim archiverima. Mada bih ja savetovao ili preporučio ako je to prava reč, upravi SEZAM-a da se preorjen- tiše makar na PKZIP 2.0 zbog bolje i brže kompresije, da bi nam padovi bili nešto kraći itd. Ja lično smatram da PKZIP 1.1 više niko ne koristi, a i ako koristi treba ga naterati da skine PKZIP 2.04g pa da radi kao čovek. Bojan
clipper.583 dejanr,
>> Mada bih ja savetovao ili preporučio ako je to prava reč, >> upravi SEZAM-a da se preorjentiše makar na PKZIP 2.0 zbog >> bolje i brže kompresije, da bi nam padovi bili nešto kraći itd. Biće. Možda čak novi softver omogući da se pokrene ARJ, za one koji ga preferiraju.
clipper.584 spantic,
> Biće. Možda čak novi softver omogući da se pokrene ARJ, za > one koji ga preferiraju. Lepo neko reče treba biti uporan :) ZZ svaka čast!
clipper.585 snemcev,
Štampate li virmane iz programa? Pa naravno! A na čemu? Na matričnom štampaču, of course. E, tu sam vas čekao! Evo parče koda: ... @ 5, 30 SAY 'trt-mrt' @ 5, 10 SAY 'bla-bla' ... Kao što je za očekivati, ispis bi trebao biti: bla-bla trt-mrt E, pa ako imate Epson LX-400, onda to nećete dobiti! On iz samo njemu znanih razloga posle onog trt-mrt pređe u nov red?!? Sva sreća pa imam i jedan Fujitsu, a na njemu je sve OK. Ako mi ovo neko objasni, svaka mu čast! PS Ne, nije uključen AUTO LF!
clipper.586 bulaja,
│Kad smo vec kod toga, kojim se ZIP-om pakuje na SEZAMU. └─── Sto se tice datoteka po direktorijumima, kako kojim :). U poslednje vreme se vecina ZIP datoteka pakuje novim ZIP-om (2.04), a u nekim slucajevima (npr. ako ima -AV) ostane i u ZIP 1.1 formatu.
clipper.587 bulaja,
│@ 5, 30 SAY 'trt-mrt' │@ 5, 10 SAY 'bla-bla' │... │E, pa ako imate Epson LX-400, onda to necete dobiti! On iz samo │njemu znanih razloga posle onog trt-mrt prede u nov red?!? └─── Pa naravno da ce da ubaci LF kada su koordinate za bla-bla (nCol=10) manje nego za trt-mrt (30), sto znaci da se prelazi na sledecu stranu. To sto ipak prolazi kod Fujitsu moze da znaci da on ima dvostrano stampanje, pa drugi prolaz uradi sa desna na levo u istom redu.
clipper.588 dejanr,
>> @ 5, 30 SAY 'trt-mrt' >> @ 5, 10 SAY 'bla-bla' >> >> Kao što je za očekivati, ispis bi trebao biti: >> >> bla-bla trt-mrt >> >> E, pa ako imate Epson LX-400, onda to nećete dobiti! On iz samo njemu >> znanih razloga posle onog trt-mrt pređe u nov red?!? Prema uputstvu za Clipper, Epson radi baš kako treba - ako je Y koordinata novog ispisa manja od Y koordinate prethodnog prelazi se na sledeću stranu, a ako je X manja, u sledeći red. Moraćeš da preokreneš redosled naradbi. U čitavoj stvari me čudi zašto se Fujitsu ponaša drugačije.
clipper.589 pjankovic,
> @ 5, 30 SAY 'trt-mrt' > @ 5, 10 SAY 'bla-bla' Jos nesto u vezi sa ovim: Dok sam radio sa 9-pinskim stampacima (EPSON FX 1000, FX 1050, Panasonic KX-P1180, ...) navikao sam se da se red odstampa tek kad stampac primi znak za novi red. Tako se desavalo da se posljednji red nekog izvjestaja odstampa tek posto "krene" novi izvjestaj, ili tek kada korisnik pritisne LF na stampacu. Radeci sa stampacem EPSON LQ1070 bio sam iznenadjen videvsi da on stampa karaktere onako kako mu pristizu od racunara. Mozda je neko u stanju da pruzi strucno objasnjenje zasto su neki stampaci "pametniji" od drugih.
clipper.590 nbatocanin,
> error est0001: Illegal format in loadable file Ja sam problem rešio tako što sam izbacio DOS=HIGH.
clipper.592 vpekovic,
█´k│ ║ Skini oba dela (arj i a01), stavi ih u isti dir i kazi ARJ e -v nfsrc21. ║ Verujem da ce uspeti. Ę Nije uspelo. Instalirao sam i ARJ 2.30 i opet isto. Na kraju mi preostalo da ponovo download-ujem drugi deo arhive sto sam i uradio. Sada je sve bilo OK sa bilo kojom verzijom ARJ. Ipak su gremlini ali tokom prenosa. Thanks! V. Pekovic
clipper.593 vpekovic,
║ Datoteka na Sezamu bi trebala da bude Ok :), znaci ili se datoteka ║ ostetila prilikom prenosa, a mozda je i stvar u verziji ARJ-a, posto ║ se datoteke na Sezamu pakuju sa ARJ v2.30. Datoteka je bila ostecena prilikom prenosa. Provereno i sa ARJ 2.30. Thanks! V. Pekovic
clipper.594 dr.grba,
>> Mozda je neko u stanju da pruzi strucno objasnjenje zasto su >> neki stampaci "pametniji" od drugih. Evo ja. Koliko para toliko muzike. Moje je dobro, a tvoje nije. Neka komsiji crkne krava. Kupite nase stampace, sporo rade al' su mnogo lepi. Ima jos, ali da ne preteram.
clipper.595 milanv,
Narode, spašavajte, hitno je! Program koji radi duže od godinu dana na jednoj mašini, od danas počinje da zafrkava. Iz čista mira počinje da prijavljuje grešku o ne mogućnosti da otvori indeksni FILE. Ništa u programu nije menjano, ind. FILE je ispravan (ponovo reindeksiran), CONFIG.SYS nije menjan (FILES=24, BUFFERS=24, a FILE je tek deveti otvoreni po redu). Po izletanju iz programa u DOS (4.01 - ako se dobro sećam), ovaj prijavljuje SYSTEM ALOCATION ERROR. Da li je moguća greška u programu, ili je vrisnuo neki memorijski čip, ili... ? Milan.
clipper.596 dejanr,
>> Da li je moguća greška u programu, ili je vrisnuo neki >> memorijski čip, ili... ? ... ili treba SCAN
clipper.597 jpavlov,
Pitaću možda nešto, što svi znaju, ali ne i ja, budući da u Kliperu nisam do nedavno ništa radio, ali sam zato radio u Foxbase i tu ima mnogo sličnosti. E sad, u fox-u je daleko jednostavnije kontrolisati ERROR-e nego u kliperu jer tamo ON ERROR DO procedura_za_greske rešava sve probleme. Pitanje glasi: - Kako da kontrolišem grešku prilikom štampanja izveštaja, ako neko ** u toku ** štampanja isključi štampač? U fox-u se isti program vrati u glavni meni. PS Pitanje se odnosi na verziju S87.
clipper.598 dr.grba,
>> - Kako da kontrolisem gresku prilikom stampanja >> izvestaja, ako neko ** u toku ** stampanja iskljuci stampac? Zar opet?... Bila je rasprava bas ovde, negde u aprilu. Ima jedna mustra koju sam prepisao u 9.507, procitaj tu poruku. .to nbatocanin Ej, Neso, 'ajde se malo pozabavi baterijama za ispitivanje gresaka u radu programa, ali na nivou projekta aplikacije. Ona prica u Clipper biltenu u "Racunarima" koja je opisala klasu za greske je bila "s neba pa u rebra". Uostalom, bilo bi umesno da se malo vise prica o PROJEKTOVANJU i KONCEPCIJI kao bitnim elementima u fazi radjanja programa. Kakve ideje se tu daju sresti, mogu misliti, tim pre sto poznajem programere koji ne razlikuju selekciju od iteracije... Pozdrav, dr Grba
clipper.599 dejanr,
========== clipper/clipper.code #224, from sentex, 654 chars, Thu Apr 29 14:48:00 1993 Comment(s). ---------- TITLE: Dos 6.0 Not enough memory error message Has anyone run into a problem with an application written in S'87 that fails to run under Dos 6.0 ? This particular application has always been a memory hog but if 550k of conventional memory is available the application runs. Now, under Dos 6.0 with conventional available memory of over 600k the application fails with the error message Not Enough Memory. My first step in trying to determine the problem was to call Nantucket. What a surprise! The supplied telephone number is no longer valid. Has Nantucket gone out of business and has someone else bought Clipper? Any help would be appreciated. W.D. ========== clipper/clipper.code #225, from alexw, 612 chars, Thu Apr 29 20:23:03 1993 Comment to 224. ---------- Mark, I hate to be the one to tell you that you have slept for the last 4 years... nantucket dissappeared long time ago... an arab terrorist put a bomb in the building and all that was left of clipper was a hard disk with fragments of the original code here and there... Somebody picked it up and started a new company with its remnants (a la terminator) and now the families of the deseased are suing them because they say that 5.0 and 5.2 belong to them and the disk was taken illegally from the debris... Anyway, the new company's name is Computer Associates and their phone number is (408) 432-1764 Alex
clipper.600 jpiri,
E, pa posto me vise ljudi pitalo kakvi su noviteti Clippera 5.2 evo ih: - Sredjen je bag koji se javljao kod koriscenja PLL-a. (To je onaj problem koji se javljao kod DOS-a 5.0, kada je Clipper javljao poruku 'Illegal format in loadable file' i nije hteo da radi dok se npr. ne ucita ng -> bilo je ovde takvih poruka) - DBU je promenjen tako da radi u mrezi i to potpuno transparentno. To znaci da kada se menja neki podatak u bazi, Clipper sam radi lock/unlock. Takodje, DBU sada dinamicki osvezava ekran tako da se u browse modu sada vidi svaka promena u bazi u onom momentu kada korisnik sa druge radne stanice izvrsi promenu podataka. Ovo je lepa stvar za one koji rade pod Novellom, a cena je nesto usporen rad. Mali problem je sto se shared pristup podrazumeva, pa ako se radi na single masini, i ako se zada npr. replace all, javi se greska da se to naravno ne moze raditi, vec DBU treba pozvati sa DBU /e (exclusive) kada radi kao i stari. - Ima tu jos gomila sitnica od kojih mi je najdraza to sto se najzad vise ne mora pisati ono grozno i glomazno set softseek on/off vec se samo kaze 'seek izraz softseek'. Svako ko je sa ovim radio zna kakvi se lepi bagovi desavaju ako se u brzini slucajno izostavi set softseek off. Stvar jeste sitna ali lepa. U istu kategoriju spadaju i uslovni indeksi. Sada se sa 'index .. for..' moze kreirati index u kome ce se nalaziti samo kljucevi koji zadovoljavaju zadati uslov. Korisna stvar preuzeta od Fox-a. - U stvari najveci novitet Clippera 5.2 su izmenljivi database driveri (RDD). Sta to znaci? To znaci da vise nismo ograniceni na DBF/NTX kombinaciju o kojoj se i ovde puno pricalo kao o prilicno neefikasnoj. Upotrebom odgovarajuceg RDD mozete npr. zameniti glomazne NTX indekse sa Foxovim CDX indeksima, ili sa MDX indeksima iz DBASE IV. Takodje mozete i DBF strukturu da zamenite sa Paradox-ovim formatom datoteka i indeksa. Treba ocekivati da ce uskoro trziste biti krcato ovim drajverima od kojih ce svaki da tvrdi da je bolji od DBF/NTX para, a i od ostalih, naravno. Da li je ovo dobro, ili ce doci do nepotrebne eksplozije najegzoticnijih formata, videcemo. I na kraju, radi li to, i vredi li menjati toliko nam srcu prirasli DBF/NTX format? Skeptican sam u principu prema novitetima ali mi djavo nije dao mira pa sam se malo poigrao sa prilozenim RDD-om za CDX indekse (Foxov format). Odmah da kazem da postojece programe ne treba menjati vec se samo na pocetak prvog modula stavi par naredbi koji Clipper-u kazu koji drajver da koristi. Stvar je sljakala bez problema, a za 'test' sam koristio knjigovodstvene podatke jedne firme srednje velicine tj. baze su bile od vise MB. Kada sam indeksirao baze da dobijem nove CDX indekse, prilicno sam se iznenadio. CDX indeksi su bili skoro 4 puta manji od istih NTX datoteka! Sta ovo znaci za velike aplikacije kod kojih (obicno) ukupna duzina svih NTX datoteka biva i veca od samih DBF, ne treba posebno naglasavati. Ovolika razlika potice od cinjenice da su CDX indeksi komprimovani, tako da se najbolji rezultati postizu kod indeksa gde ima puno blankova (npr. indeks po prezimenu, po gradu i sl.) a osobito kod indeksa gde se susedni kljucevi razlikuju za po jedno mesto -> dakle svi indeksi tipa 'sifra' (0001, 0002, 0003 itd.). Za prostor na disku dakle cista 10. A performanse? Sto kazu stonsi 'mixed emotions'. Pravo testiranje ostavljam strucnjacima ali evo 2 real-life situacije. a) Prvo sam pustio jedan modul koji kontrolise ispravnost sintetike i analitike kupaca i dobavljaca. Modul sam izabrao zato sto radi na velikim bazama i zato sto ih zestoko 'trese'. Cisto da vidim kako se ponasa pod najvecim 'opterecenjem'. Rezultat = 10% slabije vreme. ('muljanje' inace traje oko 6-7 minuta na 486 masini sa 1MB Hyper kesa.) b) Zatim sam pustio tzv. bruto stanje gl. knjige. Ovo je potpuno razlicita situacija u odnosu na prethodnu, jer dok sam tamo imao 10+ baza ovde ih ima samo 2, a cela 'obrada' se svodi na to da se samo protrci kroz bazu uz usputno sumiranje nekih polja -> duguje, potrazuje stuff. Rezultat = 10% BOLJE vreme. (baza je imala preko 10000 stavki ne secam se vise tacno koliko) Ovde je izgleda do izrazaja dosla kompaktnost CDX indeksa, jer je Clipper zahvaljujuci njihovoj velicini trebao 4 puta manje vremena za pristup disku prilikom njihovog citanja. Laicko objasnjenje ali cini mi se da je to to. Namerno sam ovo 'testiranje' radio sa Hyperom jer ipak on manje vise postaje sveprisutan, da ne kazem obavezan deo DOS-a. Za pravi test bi naravno trebalo pustati programe na 'goloj' masini ali mi se cini da je upotrebna vrednost takvih testova znatno manja od njihove informativne vrednosti. Trebalo bi naravno testirati i ostale drajvere, recimo MDX format indeksa kod koga se svi indeksi za jednu bazu trpaju u 1 MDX fajl, pa nestaje problem sa 'neazuriranim' indeksom jer je negde zaboravljen prilikom otvaranja baze, no to se ionako desava samo pocetnicima. Licno bi me zanimalo da neko testira Paradox RDD, jer su neki ljudi ovde to prilicno hvalili (mislim na PARADOX). Licno mi se on ne dopada jer mu je rad sa indeksima po nekom budibogsnama principu za koga mi se cini da bi bilo potrebno menjati postojece Clipper programe, sto mi se uopste ne radi. Tu je i grupa novih naredbi koje bi to trebalo da olaksaju ali ako su dobici u performansama zanemarljivi, onda bi to definitivno bilo 'ubijanje vola radi kile mesa'. - Ima i nekih sitnih noviteta u vezi objekata. Novih objekata nema, vec su samo postojeci nesto poboljsani (error handling u Tbrowse, neke fn u Get i sl.) Znaci pravi Clipper sa objektima ce biti tek u nekoj sledecoj verziji. Ima tu jos naravno i drugih stvari, ali su ovo nekako najbitnije.
clipper.601 bingo,
Da li neko zna kako iz Nbatocanin programa za pregled pre stampe R 75 da prikacim grficki amblem i da se prikaze na stampacu (navodno je bilo u ranijim brojevima, ali nisam nasao) Unapred zahvalan Bingo
clipper.602 ratman,
Sta je pogresno u sledecem programu: USE enzy NEW USE enz1pat NEW SELECT 1 LIST ck FOR nopat=1010 COPY STRUCTURE TO enz1pat COPY TO enz1pat FOR nopat=1010 SELECT 2 LIST nopat, ck, ldh Naime, program daje izvestaj "Corruption detected: file enz1pat" Zasto je fajl (zaista, proverio sam iz dbu i dbase III) necitljiv! Ub'cu se, nece da radi! :) Pozdrav, Dejan.
clipper.603 dejanr,
>> Sta je pogresno u sledecem programu: Mislim da bi trebalo prvo da uradiš COPY STRUCTURE TO enz1pat pa tek onda da otvaraš enz1pat sa USE.
clipper.604 bulaja,
│Namerno sam ovo 'testiranje' radio sa Hyperom jer ipak on manje vise │postaje sveprisutan, da ne kazem obavezan deo DOS-a. Za pravi test bi │naravno trebalo pustati programe na 'goloj' masini ali mi se cini da je │upotrebna vrednost takvih testova znatno manja od njihove informativne │vrednosti. └─── Thanks na opisu, a ja se bas spremao da pitam za iskustva sa 5.2 :). Ali, da li si ispraznio Huper-ov bafer pre svakog testiranja? Jer ako nisi, onda dobijeni rezultati i nisu previse relevantni :). Ipak ne bi bilo lose da se pusti neki test na goloj masini, pa da vidimo da li je tu ista ubrzano. Takodje ne bi bilo lose ni poredjenje brzine naredbi koje ne koriste indekse (npr. skip, locate, set filter i sl.).
clipper.605 bulaja,
Q: Kako povezati C (MSC 6) sa Clipper-om 5.01 a da sve radi? Naleteo sam na problem kada sam pokusao da povezem C funkcije koje koriste low-level funkcije za rad sa binarnim datotekama (fopen(), fread(), fwrite(),..). Kod linkovanja (i sa RTLink-om i Blinkerom) bez standardne C biblioteke javljaju se poruke o nedefinisanim simbolima za pozvane file i/o funkcije. Kada se poveze sa standarnim C lib-om, onda se javi nekoliko duplih simbola i neki nedefinisani (__abrktb, i to u CLIPPER.LIB), a program se zaglupi. Mozda je problem u tome sto se u uputstvu za Clipper pise da treba linkovati sa Microsoft bibliotekom llibca.lib, a meni je MSC nije instalirao vec samo neki llibcr.lib. Malo mi je glupo to sto se uopste mora povezivati MS C lib, posto bi vecina funkcija vec trebala da bude i u standarnim Clipper bibliotekama (clipper.lib i extend.lib).
clipper.606 milanv,
║║ ... ili treba SCAN Ne bi trebalo da je to - bar korisnik tako kaže. Nemam pristup dotičnom kompjuteru (50 km), osim telefonskim razgovorom sa korisnikom (kompjuterski apsolutno nepismenim)! Važno mi je da mi neko prenese iskustvo: da li je moguće da do navedenog proglema dodje (iznenadna ne mogućnost odvaranja indeksnog fajla) usled greške u programu, a nakon duuugog normalnog korišćenja programa (inkriminisane baze sada imaju par hiljada slogova, a mesta na disku još oho-ho). Voleo bih da mogu, sa sigurnošću, da mu kažem: druškane tvoja mašina je ispustila dušu, program je O.K.
clipper.607 lkudlik,
U vezi na gresku(PLL): error est0001: Illegal format in loadable file Problem sam resio tako sto sam iz NC-a pokrenuo kompajliranje i sve radi kako treba(bar za sada??). HVALA NA SAVETIMA Lkudlik ;)
clipper.608 dejanr,
>> Važno mi je da mi neko prenese iskustvo: da li je moguće da >> do navedenog proglema dodje (iznenadna ne mogućnost odvaranja >> indeksnog fajla) usled greške u programu, a nakon duuugog >> normalnog korišćenja programa (inkriminisane baze sada imaju par >> hiljada slogova, a mesta na disku još oho-ho). >> >> Voleo bih da mogu, sa sigurnošću, da mu kažem: druškane >> tvoja mašina je ispustila dušu, program je O.K. Meni je prilično neverovatno da program koji je do skora normalno radio, i to više meseci, odjednom počne totalno da brlja, i to pogotovu tako sistemski, sa indeksima. Ja tipujem da je korisnik nešto menjao na računaru, ili DOS, ili neke QEMM-ove ili tako nešto. Ali teško je reći "sa sigurnošću", video sam toliko neverovatnih stvari sa kompjuterima (većina se objasni, a neke ostanu "zauvek" nejasne) da sam vrlo oprezan sa "sigurnim" procenama.
clipper.609 snemcev,
>> U čitavoj stvari me čudi zašto se Fujitsu ponaša drugačije. Iskreno rečeno, očekivao pre od Epsona da odradi onako kako ja to hoću. Al' sad, šta je - tu je. Virmani od sad idu na Fujitsu, a Epson čeka neke bolje dane. Mislio sam da će ovakav ispis teksta na štampaču proći jer tako sam uradio pre par godina, al' sad kad malo bolje razmislim, nisam više siguran da li je taj štampač bio Epson.
clipper.610 vcalic,
>> Mozda je problem u tome sto se u uputstvu za Clipper pise da treba >> linkovati sa Microsoft bibliotekom llibca.lib, a meni je MSC nije >> instalirao vec samo neki llibcr.lib. Ne radim sa MSC-om, ali ako se dobro sećam do zadnje slovo u nazivu biblioteke se odnosi na to da li biblioteka podržava koprocesor ili njegovu emulaciju. To "a" dolazi od advanced pa treba prilikom instalacije MSC-a staviti i ovu opciju.
clipper.611 ratman,
Hm, i tada se javlja ista greska, ustvari i kada ne uradim COPY STRUCTURE TO nego samo dopisujem i brisem recorde u enz1pat fajlu. Interesantno, problem nestaje kada ne radim sa SELECT, nego svaki put otvaram i zatvaram fajlove, sto jem naravno, neprakticno. Uopste mi nije jasno o cemu se radi....?
clipper.612 d.petrovic,
Ă> CONFIG.SYS nije menjan (FILES=24, BUFFERS=24, a FILE je tek set clipper=f20 ?
clipper.613 ppekovic,
Kako da u toku rada memoedit-a saznam koliko ukupno ima linija ukucani tekst. Znam za mlcount() ali on radi tek kad izađem iz memoedit-a tj. kad snimim editovani sadržaj u promenljivu. Ovo mi treba zbog scrollbar-a :) A kad smo već kod scrollbar-a, jer rešio neko scrollbar u tbrowse-u. Tu nije problem koliko record-a ima već koji je tekući po redu (ako je uključen index). Znam za recno(), al kad je aktivan index, to slabo pomaže. Paya
clipper.614 ppekovic,
>> emulaciju. To "a" dolazi od advanced pa treba prilikom instalacije MSC-a "a" dolazi od alternate math. Paya
clipper.615 jpiri,
>> Da li si isprazni Hyperov buffer... Naravno, i to najsigurnijom metodom: resetovanjem racunara :)
clipper.616 mrajacic,
Kompletna rutina u Clipperu pa malo u C-eu koja omogucava Qeditu (najbolje sto postoji) da izbaci POP-UP listu baza da je izaberete pa da je onda u editoru vidite (strukturu), vrlo korisna stvar, a mozda i ponuka da neko realizuje ili cak i ima nesto bolje. pozdrav Milan dbs_1.zip
clipper.617 pjankovic,
"SCROLLBAR" SA "TBROWSE" > Ovo mi treba zbog scrollbar-a :) A kad smo vec > kod scrollbar-a, jer resio neko scrollbar u tbrowse-u. Tu > nije problem koliko record-a ima vec koji je tekuci po > redu (ako je ukljucen index). Znam za recno(), al kad je > aktivan index, to slabo pomaze. Zaista si mi dao ideju. Mogao bi i ja to da napravim. A evo koje mi je rjesenje palo na pamet. (Ovo sve pisem iz glave, pa nece biti bas precizno). Naime, prilikom pomjeranja pokazivaca sloga, svaki put se poziva jedna funkcija ("skip"). Ona vraca neke informacije kao sto su BOF, EOF i slicno. Pod pretpostavkom da u TBROWSE ulazis uvijek sa pokazivacem na pocetku ili na kraju baze, lako je izvesti da doticna funkcija azurira jedan brojac koji ce u stvari biti broj sloga (u logickom radosljedu) na kom se trenutno nalazis. Za ilustraciju mozes pogledati izvorni kod funkcije BROWSE.
clipper.618 snemcev,
>> Sta je pogresno u sledecem programu: Pa šta će ti ono USE enz1pat pre COPY TO? Uradi ga posle i biće sve OK.
clipper.619 bipin,
Molim pomoc! Kako da iz GET-a upisem nesto u memo polje, npr. mA := mC = SPACE(5) mB := "Memo" č x , y SAY "mA......" GET mA č x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */ č x+2, y SAY "mC......" GET mC READ REPLACE A WITH mA; ,B WITH mB; ,C WITH mC Ovo ne radi. Pozdrav Bipin
clipper.620 milanv,
I da zaključim, ipak je kompjuter bio kriv! Naime posle dizanja haube i mrdanja čipova, mašina je proradila kao nova, odnosno stara (samo da tako i ostane - čuk, čuk). Hvala svima na pomoći, možda će nekome i ovo iskustvo biti korisno. Milan.
clipper.621 bulaja,
│Kako da u toku rada memoedit-a saznam koliko ukupno ima linija │ukucani tekst. Znam za mlcount() ali on radi tek kad izadem iz │memoedit-a tj. kad snimim editovani sadrzaj u promenljivu. └─── Nazalost nikako :(. Jedino ako ti je MemoEdit potreban samo kao browse (bez izmena), onda bi mogao nekako tako sto preusmeris tastere za pomeranje kurzor (down, up, page,..) tako da azuriraju counter. │A kad smo vec kod scrollbar-a, jer resio neko scrollbar u tbrowse-u. └─── No problem, samo definises svoje blokove za Skip, GoTop i GoBottom tako da pomeraju pointer na trenutni slog, npr. nesto ovako: TB := TBrowseDB(...) GO TOP nRecPointer := 1 TB:skipBlock := ; // ovo je lakse ubaciti u funkciju { | nSkip, i, GoreDole | GoreDole := nSkip / Abs(nSkip) // GoreDole - da li je skip up (-1) ili down (+1) FOR i:=1 TO Abs(nSkip) DBSkip (GoreDole) IF EOF() .OR. BOF() EXIT ENDIF nRecPointer := nRecPointer + GoreDole NEXT Nacrtaj_ScrlBar(nRecPointer) i-- // vraca preko i koliko je preskoceno, valjda je ovako Ok :) } TB:goTopBlock := ; { || DBGoTop() nRecPointer := 1 Nacrtaj_ScrlBar(nRecPointer) } TB:goBottomBlock := ; { || DBGoBottom() nRecPointer := RecCount() Nacrtaj_ScrlBar(nRecPointer) } Napravi jos da ti funkcija Nacrtaj_ScrlBar() crta scroll bar, raspodeli separatore komandi (' i ;) po code blokovima (mene je mrzelo:) i thats'it.
clipper.622 bulaja,
│Kako da iz GET-a upisem nesto u memo polje, npr. │mA := mC = SPACE(5) │mB := "Memo" │@ x , y SAY "mA......" GET mA │@ x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */ │@ x+2, y SAY "mC......" GET mC │READ └─── Ne mozes direktno iz GET-a, ali bi npr. mogao @ y+,x SAY "Memo:" GET BiloSta WHEN ; EVAL ({ || ; cMemo = MemoEdit (...) ,; .F. ; // vraca false da preskoci GET BiloSta })
clipper.623 nbatocanin,
Meni se skoro desilo da je korisnik uradio CHKDSK i pri tom napravio gomilu CHK datoteka na C:\. Zatim je nešto brljao po CONFIG.SYS i kad je trebalo da ga snimi, nije moglo zbog prekoračenja broja datoteka i tako je CONFIG.SYS nestao. Naravno, sa njim i direktiva FILES=35... Možda je nešto tako?
clipper.624 nbatocanin,
> .to nbatocanin Stavio u TREBA.TXT... :) > Uostalom, bilo bi umesno da se malo vise prica o > PROJEKTOVANJU i KONCEPCIJI kao bitnim elementima u fazi > radjanja programa. Slažem se. Ovo jako nedostaje i "Računarima" i šire.
clipper.625 nbatocanin,
> Da li neko zna kako iz Nbatocanin programa za pregled pre > stampe R 75 da prikacim grficki amblem i da se prikaze na > stampacu (navodno je bilo u ranijim brojevima, ali nisam > nasao) Nisam te baš najbolje razumeo, ali ako hoćeš na početku izveštaja da štampaš grafički amblem, samo pošalješ štampaču unapred pripremljenu sliku. Ne bi trebalo da bude većih problem. Objasni malo detaljnije šta ti treba.
clipper.626 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- bumenu12 arj 9339 BuMenu 1.2, poboljsani sistem menija za Clipper (bulaja) 15.05.93 - v1.2 ───────────────── - omoguceno predefinisanje standardne UPPER() funkcije - omoguceno predefinisanje standardne INKEY() funkcije - ispravljena greska u tretiranju tastera predefinisanih sa SET KEY TO (sada je potpuno podrzano redefinisanje)
clipper.627 bcetina,
>> Interesantno, problem nestaje kada ne radim sa SELECT, nego >> svaki put otvaram i zatvaram fajlove, sto jem naravno, neprakticno. Mislim da jednostavno COPY STRU TO ne dozvoljava da TO datoteka bude otvorena u trenutku kopiranja.
clipper.628 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- crc32 zip 5600* Clipper funkcija za racunanje 32-bit CRC (+ASM source) netguide zip 27394* Network Guide za Clipper programere
clipper.629 nbatocanin,
> Kako da iz GET-a upisem nesto u memo polje, npr. Kao što neko reče, može pomoću WHEN, a možeš i pomoću izmene GET reader-a. Kako se to radi, bilo je u jednom od prethodnih savetnika.
clipper.630 ratman,
Izgleda da je tako, u medjuvremenu isprobao sam COPY TO i APPEND FROM sa zatvaranjem i otvaranjem, i izgleda da samo tako radi! Pomalo neprakticno, zbog indexa i tako to... Thanx! Dejan.
clipper.631 ndragan,
/ preporučio ako je to prava reč, upravi SEZAM-a da se preorjen- / tiše makar na PKZIP 2.0 zbog bolje i brže kompresije, da bi Jel' će moći 'set archiver pkzip2' ?
clipper.632 ndragan,
/ č 5, 30 SAY 'trt-mrt' / č 5, 10 SAY 'bla-bla' Ovo po difoltu generiše nov red; kad malo bolje razmislim, još jedan ispis u peti red bi otišao na drugu stranu. Jesi li probao da odštampaš to u fajl, tek da vidiš malo u heksu šta ima između '-mrt' i 'bla-', jel samo CR ili samo LF ili CRLF... Zar u kliperu ne postoji editor za izveštaje? Poslednji put sam ovako pravio izveštaj pre godinu dana; otkako sam prešao na 'Modify report' (FoxPro :), programi za štampe koji su tako pisani sveli su se sa prosečnih 6K na 1,5K.
clipper.633 ppekovic,
>> Nazalost nikako :(. Jedino ako ti je MemoEdit potreban samo kao browse >> (bez izmena), onda bi mogao nekako tako sto preusmeris tastere za >> pomeranje kurzor (down, up, page,..) tako da azuriraju counter. Bez izmena je trivijalno jer pri svakom pozivu UDF-a se prosleđuje trnutna pozicija kursora. >> No problem, samo definises svoje blokove za Skip, GoTop i GoBottom tako >> da pomeraju pointer na trenutni slog, npr. nesto ovako: Mislio sam da postoji nešto elegantnije. Hvala u svakom slučaju. Paya
clipper.634 lkudlik,
Imam dva pitanja ? 1) Pomocu cega da u clipperu napravim slozeni izvestaj (na stampacu). 2) Kako da BLINKER podesim da mi radi inkrementalno linkovanje (kad ubacujem, u dati program neki veci modul iz drugog programa).Javi se poruka da se mora izvrsiti linkovanje(klasicno). Lkudlik ;)
clipper.635 dejanr,
>> Pomocu cega da u clipperu napravim slozeni izvestaj (na stampacu). Pogledaj tekst Nenada Batoćanina u majskim "Računarima", bavi se upravo tim problemom. Sistemski to se radi pomoću REPORT-a, ali ako ozbiljnije radiš na Clipper-u predložio bih da sam napraviš neko rešenje (poput tog koje je opisano u "Računarima") jer ćeš na duži rok lakše praviti izveštaje i imaćeš potpuniju kontrolu nad njihovim izgledom. >> Kako da BLINKER podesim da mi radi inkrementalno linkovanje (kad >> ubacujem, u dati program neki veci modul iz drugog programa).Javi >> se poruka da se mora izvrsiti linkovanje(klasicno). Blinker po default-u radi inkrementalno linkovanje, proveri samo da u .LNK fajlu nisi stavio BLINKER INCREMENTAL OFF. To znači da se iza svakog .OBJ-a ostavi nešto prostora, za male izmene. Ako su izmene veće, nema mu druge nego da nanovo linkuje. Koliko prostora ostavlja, to se reguliše opcijama (pogledaj BLINKER.NG) ali mislim da je podrazumevana vrednost dobra, tj. da bi veliko povećanje učinilo čitav sistem neefikasnim, a malo ne bi ništa naročito promenilo.
clipper.636 pavbok,
B> Jel' će moći 'set archiver pkzip2' ? Tako isto bi moglo i set archiver arj set archiver zoo set archiver arc Pa ko voli nek izvoli.
clipper.637 snemcev,
>> Zar u kliperu ne postoji editor za izveštaje? Poslednji put sam ovako U tome da štampam?!? Pa onda nemam nikakvu kontrolu nad štampanjem.
clipper.638 dejanr,
>> > Jel' će moći 'set archiver pkzip2' ? >> >> Tako isto bi moglo i set archiver arj >> set archiver zoo >> set archiver arc Set srchiver arc valjda već sad može, set archiver arj i pkzip2 bi trebalo da bude moguće na novom softveru kad jednog dana bude instaliran, a set archiver zoo neće biti moguće jer taj arhiver stvarno retko ko koristi.
clipper.639 plus,
Molim da mi se javi neko ko ima Class(y). Unapred hvala! P.S. Svojevremeno ga je bilo moguće skinuti sa HEKOM-a, ali sad sam dobio ovakvu poruku: CLASSY.ARJ 75512 bytes *** Zo'n file-transfer gaat buiten uw limiet. *** **** *** H*** SORRY, DOWNLOAD NIET TOEGESTAAN *** *** *** *** Zie Bulletin 1 voon meer informatie. ***
clipper.640 isimic,
Narode, treba mi za Clipper biblioteka kojom bih na SVGA mogao prikazivati PCX sli~ice u 256 boja. Probao sam sa Clipgraph, dGE, Flipper i Rshowpcx10 (uzeta sa SEZAMA). Samo ova poslednja daje solidne rezultate, ali po{to je demo, ne mogu da izbegnem pozdravnu poruku, i {to je jo{ gore, dozvoljava mi da vidim samo prvu sli~icu koju pozovem iz aplikacije, posle vi{e ne}e da radi. Mo`e li mi nekopomo}i. Pozdrav, Ivan.
clipper.641 dejanr,
Evo spiska fajlova sa Blinker Support BBS-a (804 747 7333). Ako vas nešto odatle zanima, mislim da će se naći mogućnost da se download-uje. allblink.zip
clipper.642 ndragan,
/ nije menjano, ind. FILE je ispravan (ponovo reindeksiran), Reindeksiranje izbegavam. Lakše mi je bilo da napišem program koji generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga skembeči indeksni fajl, na čelu sa zaglavljem mu, reindeks ne radi. Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome što ne moram da zipujem indekse (a od skora ni baze) kad selim aplikaciju; program sam zna šta i kako treba da napravi.
clipper.643 ndragan,
/ U istu kategoriju spadaju i uslovni indeksi. Sada se sa 'index .. / for..' žestitamo kolegama na prinovi. Stvar se u foksu, inače, zove "filtrirani indeks". žime ću sad da vas davim? / da se najbolji rezultati postizu kod indeksa gde ima puno blankova / (npr. indeks po prezimenu, po gradu i sl.) a osobito kod indeksa gde Glavni dobitak kod .cdx indeksa nije samo u tome, nego što ga foks interno žestoko koristi za pretrage; naime, ako postoji strukturni indeks, on se 1. otvara i osvežava automatski, 2. za sve pretrage tipa polje=izraz, polje between izraz1 and izraz2, i raznorazne druge kombinacije u svim naredbama gde postoji For opcija, koristi ga za optimizaciju tako što čita sâm .cdx umesto da čita bazu (ako postoji indeks po tom polju). Ubrzanja su drastična, čak desetostruka u nekim slučajevima. / su samo postojeci nesto poboljsani (error handling u Tbrowse, neke fn Postoje li Valid, Picture i When opcije na celom slogu i pojedinim poljima?
clipper.644 ndragan,
/ Zasto je fajl (zaista, proverio sam iz dbu i dbase III) necitljiv! žemu ono kopiranje strukture ako se već kopiraju slogovi? Drugo, da se ne buni što žvrljaš po otvorenom fajlu?
clipper.645 bipin,
║│Kako da iz GET-a upisem nesto u memo polje, npr. ║│č x+1, y SAY "mB......" GET /* MEMOEDIT( mB, x+1, y+1, x+5, y+20, .T.) */ ║└─── ║Ne mozes direktno iz GET-a, ali bi npr. mogao ║ ║ č y+,x SAY "Memo:" GET BiloSta WHEN ; ║ EVAL (š đđ ; ║ cMemo = MemoEdit (...) ,; ║ .F. ; ║ // vraca false da preskoci GET BiloSta ║ ć) ╚═════════ Radi, hvala. Dodao sam samo PICT "Memo" da ne brlja dalje ekran, jer ako stavim "XXXX" izbacuje prvih 4 karaktera iz memo polja. Bipin
clipper.646 bulaja,
│P.S. Svojevremeno ga je bilo moguce skinuti sa HEKOM-a, ali │sad sam dobio ovakvu poruku: │CLASSY.ARJ 75512 bytes │*** Zo'n file-transfer gaat buiten uw limiet. *** └─── Pretpostavljam da ovo znaci da si presao file transfer limit :). Pokusacemo da nabavimo taj Classy.
clipper.647 snemcev,
>> Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome >> što ne moram da zipujem indekse (a od skora ni baze) kad selim >> aplikaciju; program sam zna šta i kako treba da napravi. Ja ovako radim od početka. Apropo ovoga: može li nešto u stilu DbSetIndex(...) IF nekakva_greška INDEX ON ... ENDIF Ako postoji index, upotrebljava se, a ako ne postoji, kreira se nov. Ono što mene muči je kad van matičnog programa (nemoj da me neko pita zašto) izmenim neke podatke koji učestvuju u ključu nekog indeksa. Onda indeksi (što je i normalno) ništa ne valjaju, i rešenje je jedno DEL *.NTX a zatim startovanje aplikacije koja sama napravi sve indekse. Ovo i nije tako loše kad baze još nisu pune, al' kad je svaka po par mega sa po dva indeksa, brzo ti presedne programiranje. Rešenje bi (možda) bilo da se proverava datum izmene indeksa i datum izmene baze, pa ako je datum izmene baze noviji, ajmo reindex, a ako nije, sledi obično DbSetIndex. Jedini problem koji bi tu (eventualno) iskrsao je šta kad su u bazi menjani podaci koji ne ulaze u ključ indeksa? Došlo bi do bespotrebnog ponovnog kreiranja indeksa što i te kako ume da potraje. Pitanje za ovu poruku je: ima li iko pojma (ili knjigu za Clipper koja zalazi u sitna crevca) da li se datum na indeks fajlu (ako je index otvoren, normalno) ažurira sa svakom promenom baze? Ako je odgovor DA, onda kako najlakše, bez preteranih egzibicija sa FOpen i sličnim funkcijama, pročitati datum sa datoteke? Nešto u stilu DajGa('trt.mrt'). Teoretski, sva ova pitanja su nepotrebna jer zašto bi neko menjao podatke van matičnog programa? Ja to često radim zbog dobitka na brzini. Lakše mi je startovati dbu i izmeniti dva sloga nego startovati alikaciju, sačekati da ona kreira indekse koje ću minut kasnije pobrisati, prošetati se po menijima i maskama... Jednom rečju - brže mi je ovako.
clipper.649 fstevo,
Datoteka SUB_SET2.ZIP (dDBE(DBEDIT with a WHILE clause) je vrlo zanimljiva! Ako ima još zainteresovanih predlažem da se prva download-uje. Pozdrav kliperašima!
clipper.650 dior,
da li neko ima Norton guide za graficku biblioteku FLIPPER za CLIPPER. Pozdrav Slavisa
clipper.651 ladislavs,
> Set srchiver arc valjda već sad može, set archiver arj i > pkzip2 bi trebalo da bude moguće na novom softveru kad Zar ne reče da je već sad moguće staviti PkZip 2.04? ciLa.
clipper.652 mrajacic,
Ovo sto si dobio otprilike znaci da si prekoracio neke limite neznam Nemacki "tecno", saljem ti trazeni fajl mislim da je to sto ti treba. Moze biti interesantno i drugima jer se radi o MENI sistemu objektno reseno. Pozdrav Milan clsymenu.zip
clipper.653 d.petrovic,
Ima, samo mu nisu tu dikstle. Ako ne dobijes taj flipper.ng u skorije vreme podseti me. U stvari... cini mi se da ima :), jer je flipper davno bio na disku pa kako nisam imao vremena da ga protresem utamanio sam ga.
clipper.654 dejanr,
>> Zar ne reče da je već sad moguće staviti PkZip 2.04? Pa, negde je na granici, tj. moguće je ali bi moglo da pravi probleme u nekim podsistemima kada je deo memorije alociran za eksterni program. Zato smo rešili da novi arhiveri sačekaju novi softver.
clipper.655 pusa,
Moj drugar (nije na sezamu) se zanima da li se nekom desilo da sa blinker incremental off linkovan program radi, a kada je incremental on sve radi osim TBROWSE. Kad dodje u TBROWSE prosto se zamrzne. Ima li tu nekog leka?
clipper.656 dr.grba,
>> generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga >> skembeči indeksni fajl, na čelu sa zaglavljem mu, reindeks ne radi. >> Indeksiranje lepo napravi nove indeksne fajlove; dobitak je i na tome U ovome ti potpuno držim stranu. Idem u svojim programima dotle da vezujem ispitivanje integriteta baza i indeksa na nekim karakterističnim mestima u programu, što je vezano sa modulima za kreiranje baza/indeksa. Pa, mislio sam da je tako nešto sasvim normalno u projektovanju zaštite. A krajnja intencija je da XXX.EXE može sam da se distribuira, eventualno da se smlati neki INSTALL program... I da me korisnik ne zove zbog gluposti... Zbog svega ovoga do dana današnjeg nisam načisto da li da upotrebljavam bazu strukture i opisa okruženja. Imam neke defaulte i pripremljen prostor da za sat vremena prešaltam celu aplikaciju na eksterni zapis, ali to ne radim. Šta kažu kolege koje imaju takve programe? Možda if file(struct) ... // pročitaj iz baze, pa uključi te vrednosti else ... // uključi defaulte iz programa i javi da nema // baze strukture endif žini se, na prvu loptu, sasvim jasno i lako, ali mi miriše na zamku, na nešto što tek treba da mi napravi probleme u budućnosti. Sada ne pričam o eksperimentisanju, već o realnim uslovima pod kojim neki program radi kod korisnika... Vidim, pridružuju nam se i drugari iz PLUS-a, oni bi i te kako imali šta da kažu (; Pozdrav, dr Grba
clipper.657 dr.grba,
>> žestitamo kolegama na prinovi. Stvar se u foksu, inače, zove "filtrirani >> indeks". žime ću sad da vas davim? Ne mogu više... Usrdno molim da se za mog zemljaka otvori tema "stari lisac" u kojoj će se pričati o prednostima FOX baterije u odnosu na Clipper i ostalo. (; Šta misliš, zašto se Clipper više koristi nego FoxPro na ovim našim prostorima? Kakvo je poredjenje tamo gde svi (ili skoro svi) kupuju svoje kompajlere i razvojne sisteme? U ovom trenutku na stranu poredjenje, ali postoje (nažalost samo hipotetički ):) uslovi u kojima vidim sebe kao programera u FoxPro okruženju. Možda bih bio spreman i da žrtvujem sve što sam dosada razvio u Clipperu... Ali, priča ide drugim tokom...
clipper.658 pavbok,
B> Set srchiver arc valjda već sad može, set archiver arj i B> pkzip2 bi trebalo da bude moguće na novom softveru kad jednog B> dana bude Kada će taj lep i sunčan dan?
clipper.659 milanv,
║║ Reindeksiranje izbegavam. Lakše mi je bilo da napišem program koji ║║ generiše program za indeksiranje. Razlog: ako se iz bilo kojih razloga Ne znam da li sam bio dovoljno jasan, možda i nisam, ali mi cilji i nije bio da objašnjavam način rada programa (potpuno se slažem sa tobom i tvojom koncepcijom), problem je bio u tome da je i posle DEL *.NTX, a zatim kreiranja novih indeksnih fajlova, program, a zatim i DOS ponavljao poruku (program da fajla nema, a DOS - MEMORY ALOCATION ERROR). Na moje zadovoljstvo problem je rešen ispravkom hardverske greške (o načinu ispravke u poruci 9.620) :). U svakom slučaju, hvala na trudu... Pozdrav, Milan.
clipper.660 snemcev,
>> if file(struct) >> ... // pročitaj iz baze, pa uključi te vrednosti >> else >> ... // uključi defaulte iz programa i javi da nema >> // baze strukture >> endif Ovo je interesantno. Ja sam radio po sistemu da se baze kreiraju direktno iz aplikacije, al' me jedna rečenica u stilu "zašto mislite da je sam .exe sigurniji od .dbf?" objavljena u tekstu "Knjiga u kojoj sve piše" naterala da se prebacim na if file(struct) ... // pročitaj iz baze, pa uključi te vrednosti else ... // javi da nema baze strukture, a po mogućnosti // zaglavi računar endif Ako nema baze strukture, logično je pomisliti da je još nešto za*ebano. Bolje da me tad zovu nego kad oštete i ostale podatke, ako ih nisu već uništili :(
clipper.661 ndragan,
/ onda kako najlakše, bez preteranih egzibicija sa FOpen i sličnim / funkcijama, pročitati datum sa datoteke? Nešto u stilu / DajGa('trt.mrt'). U FP2.0 pa nadalje, postoji funkcija adir() n=adir(niz,filespec,<attr>) gde je n broj fajlova koji pasuju za _filespec_, _attr_ opcioni argument koji sadrži proizvoljnu kombinaciju slova H, S, R, A, D, V (hidden,... , directory, volume label) a _niz_ će biti kreiran i imaće sledeću strukturu: niz(i,1) File names Character niz(i,2) File sizes Numeric niz(i,3) File dates Date niz(i,4) File times Character niz(i,5) File attributes Character Zgodan štos za rad sa gomilom fajlova je programče tipa n=adir(fajlovi,"*.trt") for i=1 to n muljaj_nešto with fajlovi(i,1) endfor Opet, moguće je napraviti slučajeve kada je n obavezno jednak 1 ili 0, što bi moglo da gađa pojedini .ntx (ili .cdx) fajl, pa da se vidi ne samo datum nego i vreme. To koristim, recimo, kad hoću da se nekoj sitnoj datotetci ne obraćam kroz mrežu, nego da je iskopiram na lokalni disk, pa me zanima da li je kopija starija od originala. Sravnjujem upravo pomoću Adir, što mi uštedi dva otvaranja (ono, Use to_i_to, datum=lupdate() i slično).
clipper.662 ndragan,
/ U tome da štampam?!? Pa onda nemam nikakvu kontrolu nad štampanjem. Hteo sam da pitam da li postoji editor i kakav je. Na šta misliš pod 'kontrolom nad štampanjem'? Na ispitivanje statusa štampača pre svake linije? Za to se lepo šalje štampa u fajl, pa se taj fajl ponudi na pregled (koliko to hartije uštedi - mnogo puta samo hoće da vide nešto), pa se eventualno ponudi i bacanje na papir, a tamo već čitaš taj fajl i štampaš ga red po red, i imaš kontrolu do daske.
clipper.663 ndragan,
/ A krajnja intencija je da XXX.EXE može sam da se distribuira, / eventualno da se smlati neki INSTALL program... I da me korisnik ne / zove zbog gluposti... Jedna druga stvar je takođe u igri. Treba da izmenja strukture baza kad donesem novu verziju, ili da izmisli i nove baze ako ih u novoj verziji ima, i da pritom prihvati i postojeće podatke i prebaci ih u novi format. Napisao sam generator rutina koje to rade, a na kraju takvih rutina obavezno se startuje rutina za indeksiranje. Šta se toliko bojite indeksiranja? Ne traje to toliko dugo.
clipper.664 ndragan,
/ Šta misliš, zašto se Clipper više koristi nego FoxPro na ovim Slično sam čuo svojevremeno od šefa u prethodnoj firmi, kad sam ga ubeđivao da pređemo sa kobola na bilo šta drugo, makar da neke stvari uradim u vaks bejziku. Zaključak: svi rade kobol zato što svi rade kobol. / U ovom trenutku na stranu poredjenje, ali postoje (nažalost samo / hipotetički ):) uslovi u kojima vidim sebe kao programera u FoxPro Odluka o napuštanju klipera u korist foksa doneta je još 1988, posle dužih analiza brzine, vremena potrebnog za stvaranje generatora i još nekih stvari. Tada još nisam bio u ekipi, ali sam zadovoljan odlukom. Foks jednostavno bolje leži mojoj prirodi - ponaša se kao kompletan interpreter, sve mogu odmah da probam, linije koje otkucam u komandnom prozoru ladno kopiram u program itd. Jeste postao glomazan, ali kad uđeš imaš sve što ti treba, i ne moraš uopšte da izlaziš u DOS. Ko oni američki turisti u Veneciji: "u kampu smo imali sve, i prodavnice, i bioskope, i restorane, i nijednom nismo morali da idemo u grad".
clipper.665 draganf,
Da li se kome desilo da prilikom APPEND BLANK Clipper javlja "Internal error (19)" i to dva put uzastopce. Kada iz programa izdvojim samo tu proceduru desi se da prođe normalno (90% slučajeva). Ovo se iznenada počelo dešavati iako na programu nisu vršeni nikakvi zahvati. Dragan
clipper.666 dejanr,
>> Da li se kome desilo da prilikom APPEND BLANK Clipper javlja "Internal >> error (19)" i to dva put uzastopce. "Miriše" na problem sa indeksima, probaj da reindeksiraš datoteku. Gadna stvar kod tih internal error-a je što izleće iz programa, izgleda da ne konstatuje error handler kad mu se to desi.
clipper.667 snemcev,
>> U FP2.0 pa nadalje, postoji funkcija adir() >> n=adir(niz,filespec,<attr>) Pa da! Kako se nisam setio onog Directory() iz Clipper-a! Znači, pored "Knjige u kojoj sve piše" netreba mi ništa više. Hip, hip, hurah!
clipper.668 snemcev,
>> Na šta misliš pod 'kontrolom nad štampanjem'? Na ispitivanje statusa >> štampača pre svake linije? Za to se lepo šalje štampa u fajl, pa se >> taj fajl ponudi na pregled (koliko to hartije uštedi - mnogo puta >> samo hoće da vide nešto), pa se eventualno ponudi i bacanje na papir, >> a tamo već čitaš taj fajl i štampaš ga red po red, i imaš kontrolu do >> daske. Jeste. Tako i radim, al' za kreiranje izveštaja na disku koristim sam program a ne one .FRM fajlove Clipper-a. Ako radim preko .FRM kako da mu objasnim da ako je konto sintetički, da ga najavi određenim zaglavljem, zatim ispiše sva njegova analitička konta, to sabere, sabere i klasu i na kraju da Grand total. Pa još po ukusu dodaj bold, italic, underline i slične estetske dodatke. Verovatno se nisam dobro odrazio - pod kontrolom nad štampanjem podrazumevam sve od kreiranja izveštaja, preview-a, pa do otiska na papiru.
clipper.669 draganf,
> "Miriše" na problem sa indeksima, probaj da reindeksiraš > datoteku. > Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu znači pojedini "internal". Dragan
clipper.670 dcolak,
│ Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu │ znači pojedini "internal". U originalnom uputstvu ? ;) Sledge DAMMIR!
clipper.671 dejanr,
>> > Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu >> > znači pojedini "internal". >> >> U originalnom uputstvu ? ;) To je sigurno poslednje mesto gde ga treba tražiti. Što se tiče autora programa (ne samo Clipper-a), interne greške ne postoje ;) One zapravo kažu da program nije dovoljno debagovan Koliko sam video, u uputstvu za Clipper nema spiska internih greški.
clipper.672 ppekovic,
>> Nisu indeksi to sam prvo probao, usput postoji li igdje spisak šta mu >> znači pojedini "internal". Meni se to dešavalo dok sam koristio hyperdisk cache. Od kada sam ga skinuo, čuk, čuk, ... Paya
clipper.673 draganf,
Stvar je završila tako, da kad nije pomoglo ni uklanjanje svega iz config.sys i autoexec.bat (što se može skloniti), urađeno je sve nanovo (ll diska, format, instaliranje programa itd.). Ispostavilo se da je compress kod analize medija našao dosta loših sektora koji nisu bili u FAT-u označeni kao takvi. Kad smo ponovo počeli raditi sve je išlo par sati dobro pa su ponovo počeli problemi sa diskom (loši sektori). Ispada da se nekako dešavalo da se neki datoteke djelom bile na "labavim" sektorima (tj. APPEND BLANK je vjerovatno probao da udari na taj sektor). Neznam pametno objašnjenje ali ovako nekako ispada,jer progam već dve godine radi i ovo mu je prvi put da pravi probleme. Dragan
clipper.674 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- clip52a zip 96584 CA-Clipper 5.2a - update sa verzije 5.2 (USA verzija) CA-CLIPPER 5.2a - MAINTENANCE RELEASE UPDATE NOTES. To address the minor problems found with the initial release of CA-Clipper 5.2 Computer Associates has produced patch files to update version 5.2 to version 5.2a. PROBLEMS ADDRESSED BY CA-Clipper 5.2a o C3049 - String Space exhausted. - Change to CLIPPER.EXE The compiler has been changed to increase the available string space. Developers whose applications compiled with this error in previous versions of Clipper should no longer receive this error message. o Debugger Break Point Handling. - Change to CLD.EXE & CLD.LIB The debugger has been changed to improve Break Point handling. Developers who noticed difficulty in setting break points or noticed that break points were lost upon application restart will no longer have problems. o Memoedit() double spacing problem. - Change to EXTEND.LIB The Memoedit() function has been changed to alleviate a double spacing effect which sometimes occurred. The only developers who noticed this problem had memo field data which had a trailing space at the wrap point. While this problem was uncommon it could be very disconcerting in applications where the format of memo field data is important. o Inkey() setting Lastkey() to 0. - Change to CLIPPER.LIB The Inkey() function has been changed. The Inkey() function in CA-Clipper 5.2a will only set the Lastkey() value when a key is drawn from the keyboard buffer. The Inkey() function in version 5.20 set the Lastkey() value to 0 when there was no key in the keyboard buffer to retrieve and the time value expired. The 5.20 behavior had an adverse effect on several systems which use Inkey(); for example Memoedit() with a custom UDF() where the UDF() had been coded to expect the last navigational key pressed to be available via Lastkey() would receive a value of 0. o OrdSetFocus() tag in lowercase. - Change to DBFNTX.LIB The OrdSetFocus() function will now accept parameters in any case. Developers who changed their applications to use order names rather than order numbers noticed that unless the name was in upper case the order established would be natural (no) order. This problem was unique to the DBFNTX driver. o Tools-II with Clipper 5.2x - CT2PATCH.OBJ Developers using Tools-II noticed unresolved symbols at link time. This file will resolve these problems and should be included as an object on the link line.
clipper.675 bulaja,
│CA-Clipper 5.2a - update sa verzije 5.2 (USA verzija) └─── Da jos jednom napomenem da je ovo update SAMO za USA (americku) verziju Clipper-a 5.2. Potrudicemo se da nabavimo i medjunarodnu (international) verziju. Do you know if you have US or International product? If you are unsure which version of CA-Clipper 5.2 you have installed on your machine you should go to your OBJ directory and look for a file called NAT_OBJ.EXE. EXAMPLE: C:\CLIPPER5\OBJ> DIR NAT_OBJ.EXE If this file is present then you have the International version. If this file is not present then you have the US version.
clipper.676 arazumenic,
Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom /w i kako da ga izbegne? Clipper (R) Version 5.01 Copyright (c) Nantucket Corp 1985-1991. All Rights Reserved. Microsoft C Floating Point Support Routines Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved. 151K available Compiling LISTANJE.PRG LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST' LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST' LISTANJE.PRG(84) Warning C1004 Ambiguous reference, assuming memvar: 'GETLIST ' LISTANJE.PRG(97) Warning C1003 Ambiguous reference: 'GETLIST' LISTANJE.PRG(98) Warning C1003 Ambiguous reference: 'GETLIST' LISTANJE.PRG(98) Warning C1004 Ambiguous reference, assuming memvar: 'GETLIST ' 6 warnings Evo kako izgledaju doticne linije: @ 23,2 say "OPIS:" get Opis <- linija 83 read <- linija 84 Varijabla Opis je deklarsana kao LOCAL. A kako god joj promenio deklaraciju, ne mogu da izbegnem ovu gomilu warnig-sa, sto prilicno smeta kada se ovako prevodi program. Sasa
clipper.677 dejanr,
>> Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom >> /w i kako da ga izbegne? >> LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST' >> LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST' Javlja se zato što Clipper radi prevođenje u više nivoa, zapravo postojeći Clipper jezik je neka vrsta "predprocesora" za Clipper jezik nižeg nivoa, pa je onda to "predprocesor" za nekakav P kod. Ukratko, GET naredba u stvari postoji tek zbog kompatibilnosti, a interno se to drugačije prevodi. GETLIST je jedna struktura na nivou programa, uvedena baš da bi se sačuvala ta kompatibilnost. Lek: na početak procedure stavi LOCAL GETLIST={} i... to je sve! Naravno, ako procedura poziva neku novu proceduru koja treba da "nastavi" GET, onda u njoj ne treba staviti LOCAL GETLIST={} nego GETLIST preneti kao argument. Bitno je da u svakoj proceduri u kojoj se koristi GETLIST bude deklarisan. Inače, podržavam prevođenje sa /W, i meni je mnogo puta pomoglo
clipper.678 pjankovic,
> incremental on sve radi osim TBROWSE. Kad dodje u TBROWSE > prosto se zamrzne. Ima li tu nekog leka? Meni se desava da se jako uspori, ali se nikada nije blokirao. To vazi samo za 286. Na jacim masinama skoro i ne primjecujem razliku u brzini izvrsavanja programa, cak ni kada udje u TBROWSE.
clipper.679 bingo,
Neso KAKO u pgledu pre stampe na stampanom izvestaju da u recimo gornjem desnom uglu otkucam graficki amblem u nekom od grafickih formata (.pcx,.gif....) i kako u mreznom radu omogucim da dvoje otvore dva razlicita izvestaja ??? Otkrio sam bag u prepravljenom CLIPPERU funkcija Aeval() ne radi uvek kako treba 5 do 6 puta uradi dobro a onda 7 put ne uradi dobro. Konkrtno u nizu sam brojao koji je najduzi clan niza (za menije,poruke itd..) . Kod kracih clanova niza je u redu ali kod duzih se cudno ponasa. Proverio sam sa FOR NEXT petljom onda radi normalno IMALI JOS KO TAKAV PROBLEM ???? Pozdrav BINGO
clipper.680 nbatocanin,
> da li neko ima Norton guide za graficku biblioteku FLIPPER > za CLIPPER. Zar se NG ne dobija uz Flipper?
clipper.681 nbatocanin,
To nije ono što čovek traži: potreban mu je Class(y), a ne demo za njegovo korišćenje. Ako neko ovo ima, neka mi se javi, i mene interesuje. Nego, kako se pristupa ovom BBS-u?
clipper.682 nbatocanin,
> Kad dodje u TBROWSE prosto se zamrzne. Očigledno problemi sa memorijom. Ili da isključi INCREMENTAL ili korišćenje EMS memorije.
clipper.683 mrajacic,
Moguce da nije to no mislim da je sasvim moguce i iskoristiti postojecu biblioteku da se ponesto uradi, mozda ima nesto i kompletnije ali nisam nasao iako je spisak fajlova na tom BBS-u fajl od 250 Kb. Pozoves broj koji je naznacen u zaglavlju i odgovaras na pitanja u pitanju je PCboard pa se snadji bez novaca (SAMO PTT) mozes dosta toga da skines, ako hoces da ti dostavim spisak pa da neskidas sto sam ja vec. Pozdrav Milan
clipper.684 mrajacic,
Iteresantno resenjae slanja FAXSA iz Clippera Nova datoteka za razmatranje. Pozdrav Milan fpclip.zip
clipper.685 bora,
Use enzy New Copy To enz1pat Use enz1pat New Select 2 List ... i sve ostalo Bora
clipper.686 arazumenic,
->>> Da li neko zna zasto se ovo javlja kada se pozove komplajer sa opcijom ->>> /w i kako da ga izbegne? ->>> LISTANJE.PRG(83) Warning C1003 Ambiguous reference: 'GETLIST' ->>> LISTANJE.PRG(84) Warning C1003 Ambiguous reference: 'GETLIST' ->Javlja se zato sto Clipper radi prevodenje u vise nivoa, zapravo postojeci ->Clipper jezik je neka vrsta "predprocesora" za Clipper jezik nizeg nivoa, Hvala lepo. Sada dobijam cist ekran, i 0 warning-sa. Sasa
clipper.687 nbatocanin,
> Neso KAKO u pgledu pre stampe na stampanom izvestaju da u > recimo gornjem desnom uglu otkucam graficki amblem u nekom > od grafickih formata (.pcx,.gif....) i kako u mreznom radu > omogucim da dvoje otvore dva razlicita izvestaja ??? Ovo prvo je moguće jedino ako je ekran u grafičkom modu, a Clipper radi u tekst modu, pa izlazi da ne može. Međutim, neke grafičke biblioteke imaju dodatke za Clipper koji omogućavaju da aplikacija bez ikakvih prepravki proradi u grafičkom režimu, a onda je prosto nacrtati simbol. Što se tiče mreže, moraš generisati različite nazive za izveštaj svakog korisnika. Znači, umesto PART1.PRT, USER1_01.PRT ili nešto sl. > Otkrio sam bag u prepravljenom CLIPPERU Ovo je dosta neobično, lično nisam ništa primetio. Pošalji deo programa koji brlja.
clipper.688 snemcev,
>> ali$nisam nasao iako je spisak fajlova na tom BBS-u fajl od 250 Kb. ^ Ovo me već nervira! Jel' neko piše te dolare, il je Sezam pod uticajem depresora centralnog nervnog sistema?!? Tri puta u istom pad-u. Po mom mišljenju, to je dovoljan razlog da neko iz uprave reaguje. Na dve pojave dolara sam reagovao odgovorom, a na jednu poruku (u Vicevima, nesećam se koja) nisam.
clipper.689 snemcev,
>> Use enzy New >> Copy To enz1pat >> Use enz1pat New >> Select 2 >> List ... i sve ostalo A šta će ti ono 'Select 2'?
clipper.690 gari,
U dokumentaciji za Clipper 5.2 ne pise, a nije kompatibilno sa C 5.01: Mora da se na svim mestima u programima promeni Close &ime_dat u Close (ime_dat) Pozdrav svima, Gari
clipper.691 vdarko,
Na molbu dPauna, koji više nije na Sezamu, ali "preko ramena" prati ponešto od Clipper diskusija, postavljam sledeća pitanja: 1) Zna li neko nešto pobliže o alatima dBfee30 i iQery? Ovaj drugi sadrži rutine za brzo indeksiranje, pronalaženje loših slogova i sl. 2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker? 3) Uz sve pohvale naporima nBatoćanina da od MemoEdita učini podnošljiv editor, predlaže usmeravanje diskusije na ispitivanje mogućnosti uključenja spoljnog editora za obradu teksta. DPaun je eksperimentisao sa Q.EXE, ali je problem u tome što se prilikom kasnijeg MemoEdit-ovanja teksta pisaog u Q, vidi "Ź" /CHR(141)/ ... Može li se, nekako, tekst pisan Q-om "pročešljati" i meki markeri usaglasiti sa MemoEdit standardom?
clipper.692 snemcev,
Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u direktorijumu.
clipper.693 smilan,
Nešo, .ch datoteka hitno potrebna. Šifra "Nestrpljivi" :))
clipper.694 smilan,
Prilikom startovanja RMAKE, a ponekad i kod normalni BAT radnji na tu temu, javlja mi se greška: BLINKER : 1173 : Internal error - EMS error code 93H Error RMAKE / R2001 Exit1 : 'blinker @pos' Naravno, u AUTOEXEC.BAT imam red sa EMS drajverom. Imam 2 MB rama i isključen keš. U Blinker LNK fajlu postavio sam i liniju sa FILE ... Draga Saveta, šta da radim. Pomišljam na najgore... :))) P.S. Naravno, kada posle prijave ove greške otkucam samo red sa: blinker @pos sve proradi. Kod većih programa se posle ovoga dobije EXE fajl, ali ponekad kod startovanja opet prijavi EMS error. Pozdrav
clipper.695 dr.grba,
>> Ako nema baze strukture, logično je pomisliti da je još nešto za*ebano. >> Bolje da me tad zovu nego kad oštete i ostale podatke, ako ih nisu već >> uništili :( Da, u pravu ste i ti i Nenad... Ali, ja ću da ubacim "ali". Ipak treba makar kriptovati polja baze strukture, ne bih voleo da mi neko objašnjava kako da hakerišem sopstveni program... ili da mi ne objašnjava, nego tiho i tajno upotrebljava DBU, pa kad nešto zas*re, ode kod direktora i kaže da sam ja kriv. (ovde me zamisliti kako škrgućem zubima) Da ne bi ispalo da skrećem temu, već sam se pozitivno deklarisao u odnosu na ideju korišćenja baza strukture. Ja samo nisam sposoban da smislim išta pametno da zaštitim program od korisnika... *** Uto evo i nove priče iz ličnog iskustva. Zvoni telefon u mojoj kancelariji. - Dragane, ovde XXX iz interne banke. Neće da radi indigo! - ): ? (koji crni indigo je spopao?) - Pa, ne mogu da štampam naloge... Za tamo neke naloge koristi se NCR papir 1+2. Sve je jasno... - O'ma' dolazim. - KLIK. Uletim u inkriminisanu prostoriju, obrušim se na štampač, tamo naopako postavljen NCR papir (sa dvadesetak već potrošenih listova, al' nećemo sad o tome). Izvadim papir, po običaju proverim stranu ključem (nikad napamet), ona osoba viče "šta da radimo, šta da radimo?", ja okrenem papir itd. itd, a ona posle po firmi priča kako ja umem da popravim štampač. EPILOG : Kad je crkao linijski štampač, dok sam čekao servirera i neke duge štampe bile odložene, jedan rukovodilac je pitao "Pa zašto ga ti ne popraviš...". Mamin mali programer... I posle da takvima prodajem neki nazovi koncept baza podataka i mreža i komunikacija i rke-koke, kamoli da im ostavljam programe zbog kojih ću posle plakati...
clipper.696 dr.grba,
>> Šta se toliko bojite indeksiranja? Ne traje to toliko dugo. Ja se uopšte ne plašim indeksiranja. Štaviše, u mojim programima NIGDE ne postoji reindex(), već odgovarajuća funkcija koja kaže if file(indeksni fajl) delete ovaj i onaj indeks, endif // pa onda lepo index on izraz Funkcija je jedinstvena za aplikaciju i šta ima da se mislim jel' dobar keš program, jel' ima 889 nepovezanih klastera, jel' ga boli stomak itd.
clipper.697 dr.grba,
>> uradim u vaks bejziku. Zaključak: svi rade kobol zato što svi rade kobol. O, da.... ))): >> Odluka o napuštanju klipera u korist foksa doneta je još 1988, posle >> dužih analiza brzine, vremena potrebnog za stvaranje generatora i još >> nekih stvari. Tada još nisam bio u ekipi, ali sam zadovoljan odlukom. Analiza? Analiza? Š'a to beše? Plan razvoja? Projekat aplikacije? Snimanje postojećeg stanja? Modularno programiranje? Rasad paradajza? U mom okruženju ima programera(ki) koji su završili višu lavirintsku, bar im se vidi po kodovima... ---> Swans? What swans?
clipper.698 dr.grba,
E, pazi sad. U svoje vreme, kad sam postavljao okruženje za Clipper 5.01, ispitivao sam kako je najbolje postaviti okruženje da bi mi bilo lakše, brže itd. Jedna od stvari koje sam našao za valjane je svakako i ramdrive koji služi kao temp direktorijum za snjap i intermediate fajl. Nakon milion godina, dobijem ti ja DOS 6.0 (znaju oni koji prate ms.dos temu u PC.OS (;). I počnu problemi... Prilikom kompilacije programa : Fatal C3032 : Can't create intermediate file Molim? Kako? Zavirim u NG, kaže "uključi /t svič i nema boli glava". Uključim /t svič, proradi, al' glava boli od pitanja. Prošlo je neko vreme, /t je radio, i danas se uzjogunim da otkrijem kvaku. Prvi trag sam dobio kada se programu MSD na startu nije dopalo set tmp=i:Đ;d:Đtemp I: je ramdrive, veličine 640 K - odrekao sam se keša. Dodao sam i d:Đtemp, jer poštujem bon-ton. Upozoravam da navedene putanje postoje...I tako je stajalo godinu dana. Ali, MSD kaže "Environment string is invalid". Šta tu ima da je neispravno?... I počne kombinovanje tmp varijable. Pa kako, pa zašto,...otkrijem da mu separator ';' smeta, tj. da nema šanse da se prihvatwe dva direktorijuma za tmp!!! Daj, pa ovo nema smisla. Probam da se iživljavam : SET LIB=K:ĐLIB;C:ĐDOS;D:ĐTEMP ( K: je subst drajv, D:ĐCLIP501 ) I radi... Slično sam razbucivao i INCLUDE direktorijum, i radi... Ali dva direktorijuma u tmp ne prihvata. A da, onaj idiotski SET LIB i SET INCLUDE ne smetaju MSD-u. I sad stoji samo SET TMP=i:Đ i radi bez sviča /t. I prolaze sve kombinacije koje u TMP varijabli nemaju ';', tj. samo jedan direktorijum. A ako se desi da temp file prilikom linka preraste sav dodeljen prostor, link će pući, što je empirijski dokazano. To mi se, doduše, još nije desilo u praksi, ali zato ne volim neizvesnost. U MS DOS 5.0 nije bilo frke. Nije mi jasno. Ima li sličnih iskustava? Ima li ideja? P.S. Možda je ipak trebalo ovo u PC.OS, ali me najpre zanima da li je iko baš u sličnim okolnostima doživeo slično.
clipper.699 dr.grba,
>> Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u direktorijumu. Je li bre, koji sam ti andrak pozajmio knjigu od Spence-a ? (;
clipper.700 lkudlik,
>> Pomocu cega da u clipperu napravim slozeni izvestaj (na stampacu). Ja inace kreiram izvestaj u R&R RELATIONAL REPORT WRITER.(ver 3B) To je programce(moze se reci i biblioteka) koje moze da radi sa: -dbase IV -clipper -dBXL -FoxBASE+ -Quicksilver Prvo startujes dati program uzmes dati format(clipper) vidis kako ce izgledati sam izvestaj a zatim ga prevedes u prg.I zatim u programu ga pozoves sa DO (stampa.prg) i kompajliras. Interesuje me dali je ovo verzija za 5.01. Program je inace HAOS za pravljenje izvestaja kako jednostavnih tako i slozenih. Lkudlik
clipper.701 snemcev,
>> 2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker? Probaj na Euklidu, odande sam ga ja skinuo.
clipper.702 snemcev,
>> Je li bre, koji sam ti andrak pozajmio knjigu od Spence-a ? (; Ali zar nije beskrajno lakše tražiti na Sezamu nego listati knjižurinu od preko 500 strana? ;))) Btw, savest mi nalaže da kažem da negde na disketama imam definisano i repeat-until i još par korisnih stvarčica. Nije mi teško da napišem #define REPEAT while .t. #define UNTIL <exp> if !<exp> loop end Znam da Sezam drži do sebe, pa kako onda izgleda da u svojim direktorijumima ima nekompletne arhive. O:) Na konto ove diskusije, pade mi na pamet (uf, al' je bilo teško ;) - da li bih mogao da u STD.CH ubacim neke svoje naredbe, al' da pri prevođenju ne koristim onaj 'alternate command set' tj. da nisam obavezan da mu uz svaku naredbu za prevođenje dodajem nešto poput /trt_mrt:MOJ_STD.CH? Može li i ovo da se utrpa u neku environment promenljivu, CLIPERCMD npr?
clipper.703 snemcev,
>> BLINKER : 1173 : Internal error - EMS error code 93H Blinker.ng kaže: Error 1172-1175 should not occur in normal operation. Please contact...
clipper.704 snemcev,
>> Ipak treba makar kriptovati polja baze strukture, ne bih voleo da mi >> neko objašnjava kako da hakerišem sopstveni program... ili da mi ne >> objašnjava, nego tiho i tajno upotrebljava DBU, pa kad nešto zas*re, >> ode kod direktora i kaže da sam ja kriv. O ovome zaista treba razmisliti. Zasad sve korisnike držim pod budnim okom i čim primetim nešto što odstupa od normalnog, alarm proradi. Al' šta kad prodam program u 20,000,000 primeraka :)) Ko onda da pazi? A treba misliti na budućnost... :))
clipper.705 snemcev,
>> Funkcija je jedinstvena za aplikaciju i šta ima da se mislim jel' >> dobar keš program, jel' ima 889 nepovezanih klastera, jel' ga boli >> stomak itd. Al' ipak ima da se misliš što inicijalizacija traje x (x>>2) minuta... A posle misliš što ima "889 nepovezanih klastera"... Pravo pitanje po sistemu "ko uzme - kajaće se, ko neuzme - kajaće se". :(
clipper.706 nbatocanin,
> Moguce da nije to no mislim da je sasvim moguce i > iskoristiti postojecu biblioteku da se ponesto uradi, Ono je demo vezija, ali nisam siguran kako je ograničena? Inače, u spisku se nalazi i CLASSY.ZIP i čini mi se da je to ono pravo. Ali, pošto je ovo komercijalni proizvod, bojim se da je i ovo neki demo ?? > Pozoves broj koji je naznacen u zaglavlju i odgovaras na pitanja u > pitanju je PCboard pa se snadji bez novaca (SAMO PTT) mozes dosta > toga da skines, ako hoces da ti dostavim spisak pa da neskidas sto > sam ja vec. Znači, ništa preko jupak-a? ;(
clipper.707 neman,
Analizirajuci demo program za Expand 3.0 naisao dam na sledecu komandu INIT FUNCTION ime_funkcije ... RETURN Klauzula INIT kaze da se po pozivanju programa izvrsi prvo ta procedura a ne eventualno MAIN ako postoji. Npr. Program u datoteci P.PRG PROC main ? "*" RETURN INIT FUNC main_2 ? "!" RETURN Kada se P.PRG prevede i pokrene na ekranu ce se ispisati "!" neman
clipper.708 ndragan,
/ program a ne one .FRM fajlove Clipper-a. Ako radim preko .FRM kako da .frm je đubre, ali zato da vidiš na šta liči .frx... eve ga jedan ekran, da vidiš na šta liči editor: PgHead PgHead ZA PERIOD: MPOCDAT DO MZAVDAT PgHead ══════════════════════════════════════════════════════════════════ PgHead Korisnik Naziv PgHead Šifra posla prevoz Sati PgHead ══════════════════════════════════════════════════════════════════ ┌1─eof()Š ┌2─kupac ┌3─broj Š kupac naziv1 Ugovor broj Detail ────────────────────────────────────────────────────────────────── Detail mater naziv pre nazpre Detail sta └3─broj Š └2─kupac ══════════════════════════════════════════════════════════════════ └2─kupac UKUPNO SATI ZA KUPCA : sa └2─kupac ══════════════════════════════════════════════════════════════════ └1─eof()Š UKUPNO SATI ZA PERIOD: sa
clipper.709 dr.grba,
>> Ali zar nije beskrajno lakše tražiti na Sezamu nego listati knjižurinu >> od preko 500 strana? ;))) Btw, savest mi nalaže da kažem da negde na Zlobo, Zlobo (((; 1. Na kraju imaš indeks tema i termina 2. Dobio si i disketu. Izgleda si i ti lenština kao i ja... (;
clipper.710 dr.grba,
Jednu stvar nisam dosada decidirano pročitao, ili mi je promakla : Da li je Clipper 5.2 vertikalno kompatibilan sa Clipperom 5.01? Tj., da li je na nivou source-a Clipper 5.01 prohodan kroz kompajler verzije 5.2 U POTPUNOSTI? A eksterne biblioteke tipa Nanforuma?
clipper.711 dejanr,
>> Da li je Clipper 5.2 vertikalno kompatibilan sa Clipperom 5.01? Koliko sam video, jeste. Pustio sam par najduzih programa koje sam imao, i prevedoše se bez problema. Naravno, može biti da ima nekih suptilnih različica ;)
clipper.712 snemcev,
>> Izgleda si i ti lenština kao i ja... (; Izgleda... Uzgred, u onoj mojoj poruci treba #command, a fali i jedan end i dva-tri puta ;. Nema veze, poslužilo je samo za ilustraciju ;)
clipper.713 snemcev,
>> Tj., da li je na nivou source-a Clipper 5.01 prohodan kroz kompajler >> verzije 5.2 U POTPUNOSTI? A eksterne biblioteke tipa Nanforuma? Sudeći po tome da re verzija ostala 5.* trebalo bi sve da funkcioniše. Vidiš, ovo mi upošte nije palo na pamet kao pitanje već kao nešto što treba po defaultu da važi. Zaista bi im trebao debeli razlog, pa da se odreknu kompatibilnosti, a sudeći po najavama, ništa nije epohalno novo.
clipper.714 nbatocanin,
> 1) Zna li neko nešto pobliže o alatima dBfee30 i iQery? > Ovaj drugi sadrži rutine za brzo indeksiranje, > pronalaženje loših slogova i sl. Ne znam ništa, ali mi bih voleo da vidim. > 2) Gde se i kako može nabaviti ovde mnogohvaljeni Blinker? Zar je to problem ;) Ako je baš, neka se javi. > 3) Uz sve pohvale naporima nBatoćanina da od MemoEdita > učini podnošljiv editor, predlaže usmeravanje diskusije na > ispitivanje mogućnosti uključenja spoljnog editora za > obradu teksta. Taj problem je rešen pojavom Blinker-a. SwapRunCmd i gotovo. > Može li se, nekako, tekst pisan Q-om "pročešljati" i meki markeri > usaglasiti sa MemoEdit standardom? Ako ništa drugo ne upali, može StrTran. Inače, pravo rešenje je objektno orijentisani MemoEdit. Pročitao sam da je to već napravljeno, a neko mi reče da ga ima i kod nas. Clipper 6.0 bi to morao da sadrži.
clipper.715 nbatocanin,
> Nešo, daj bre .ch datoteku za REPEAT-UNTIL uz frm.prg u > direktorijumu. Bre, ljudi, ovo je bilo sto puta: #command REPEAT => WHILE .T. #command UNTIL <Expr> => IF <Expr> ; EXIT ; END ; END
clipper.716 nbatocanin,
> BLINKER : 1173 : Internal error - EMS error code 93H > Error RMAKE / R2001 Exit1 : 'blinker @pos' :(((( Bogami, ovaj Blinker i nije baš previše pouzdan. I meni se juče žalili korisnici na neki Internal Error.
clipper.717 nbatocanin,
> Ima li sličnih iskustava? Ima li ideja? Ja ne koristim SET TMP, jerbo imam dosta RAM-a, pa rTLink i ne kreira one tmpove. A kad baš kreira, neka kreira u tekućem diru. Sad koristim Blinker i njemu to takođe ne treba. A u NG-u lepo stoji da LIB i INCLUDE sadrže *listu* kataloga, a TMP samo jedan. Za LIB i INCLUDE mora tako (ako koristiš C, i njemu treba SET LIB). Za ostatak problema ne znam.
clipper.718 smilan,
>> #define REPEAT while .t. >> #define UNTIL <exp> if !<exp> loop end Može i ovako: #command REPEAT => DO WHILE .T. #command UNTIL <exp> => IF <exp> ; EXIT ; END ; END Pozdrav!
clipper.719 ematic,
Bug or feature ? Iako je stigao i Clipper 5.2, neki inertniji korisnici (npr. ja ;) još koriste 'stari' 5.01 i zadovoljni su i njime (dok se ne ispita novi ;). Međutim, prilikom apdejtovanja (dobar izraz, a ? ;) na CA 5.01a pomoću patcha sa Sezama i ponovnog prevođenja, program koji mi je do tada sasvim lepo radio počeo je da puca. To parče je otprilike ovakvo: > static function swap(b) > > local col1 := b:getColumn(1), col2 := b:getColumn(2), searcher, slican > > set order to if( indexord() == PERA_ORD, MIKA_ORD, PERA_ORD ) > searcher := fieldget(indexord()) > slican := alltrim(searcher) > > // col1:colorBlock := NIL // Ovde CA update daje runtime grešku > col1:colorBlock := {|x| NIL } // zato mora npr. ovako > // col1:colorBlock := {|x| {6,2}} // ili ovako, mada preferiram gornje > > col2:colorBlock := { |x| if( x == searcher, {5,5},; > if( at(slican, x) == 1, {4,4}, {6,2})) } > > b:setColumn(1,col2) > b:setColumn(2,col1) > b:configure() > b:refreshAll() > donebeep() > > return NIL (u programu se b prenosi po referenci, to je ok) Xmmmm ;(. Reko' ajd' da pročitam uputstvo ;). Elem, u gajdama za CA update piše sledeće: > Assigning invalid data to TBrowse and TBColumn > instance variables would not generate an error in > Clipper 5.01. Type checking during instance <- axa ! > variable assignment has been added in Clipper 5.01a > to trap invalid values and produce a recoverable > runtime error. > > The problem commonly occurs when assigning a NIL <- to li je, al' ipak... > value to an instance variable as a result of an > optional parameter: > blablatruć, sledi primer... Dobro, slažem se, nije to loše. Međutim, prilikom prvog poziva swap f-je, colorBlock *ima vrednost NIL* za obe kolone u objektu, a ne kodni blok (što se vidi u dibageru). Prema tome, ne razumem kako bi bilo nedozvoljeno dodeljivati vrednost koja je već inicijalno postavljena (ili nepostavljena, kako hoćete :)), pa prema tome i dozvoljena ? Ako se npr. colorBlock instanci dodeljuje kodni blok, zašto onda nije odmah definisana kao blok, već kao NIL ? Cccc, traljavo. Moj zaključak je da se u CA Clipperu instancama objekta koje trebaju da imaju vrednost NIL, odnosno default vrednost (kao što sam ja radio), ista dodeljuje preko kodnog bloka oblika { |x| NIL }. Stoga, probajte da u starim listinzima, gde se služite sličnom tehnikom kao ja gore, upotrebite to rešenje. Šta kompetentniji od mene (npr. nbatoćanin) misle o ovome ? p.s.izvinjavam se što je poruka konfuzno napisana, al' valjda će neko da shvati šta sam mislio da kažem/pitam :))) p.s.s. da, znam šta je to NIL, al lakše mi je da govorim o istom kao o vrednosti :))
clipper.720 pusa,
> Ocigledno problemi sa memorijom. Ili da iskljuci INCREMENTAL ili > koriscenje EMS memorije Covek stvarno sad radi sa incremental iskljucenim ali onda slaba korist od tog drugog linkera. Kojom opcijom da proba da iskljuci koriscenje EMS? Hvala unapred
clipper.721 ppekovic,
>> odreknu kompatibilnosti, a sudeći po najavama, ništa nije epohalno novo. Što se komaptibilnosti tiče i ne treba da bude ništa epohalno novo, ali je za mene epohalno novo sistem izmenjivih database driver-a. Paya
clipper.722 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- dbuplus arj 66367 DBU Plus, update za Clipper 5.01 (CA) DBU Plus -------- This version of DBU resolves several problems found with the supplied version. More importantly it adds some additional functionality to the utility, including o Network aware - access/modify files already opened share o Import/Export memo fields o Maximize/Minimize memoedit window o Indexing Gauge Bar o Dates in British Format o Delete/Recall records with FOR, WHILE and NEXT criteria o UDF functions within index expression including DESCEND
clipper.723 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- fedo10 arj 26172 FastEdit 1.0ß, objektno orijentisana zamena za MemoEdit() FastEdit is an object oriented editor library for use within Clipper 5.01 applications. Since Clipper 5.01 is not truly object oriented, FastEdit depends on external libraries, such as Class(y) and o:Clip, to provide the OO extensions. FastEdit is a complete replacement for the Clipper MEMOEDIT() function. While MEMOEDIT() gives a small amount of control over your memo editing capabilities, FastEdit gives you total control. FEATURES ──────── Here are a few of the things you can do under FastEdit which are impossible using MEMOEDIT(): - Block operations. Move, copy, delete, & save are just a few of the operations you can do on blocks. - Embedded printer codes. Use these to support operations such as bold and underline. These embedded codes may be displayed as part of the text being editing (ie [BOLD] shown where bold is turned on) or cause a color change of the specified text (ie text to be made bold is displayed hilited). - Rectangular Gets. Using this feature you can edit long character strings in a rectangular area. For example, suppose you have a character field of length 150 characters and you want to edit this across 3 lines of 50-characters each. To do this in Clipper, you would have to break the line into 3 different strings and do a GET on each one. With FastEdit, just define the rectangular area and the user will get full editing capabilities--and you don't have to worry about the resulting string being longer than 150 characters. - Enhanced cursor control. Including word operations, horizontal and vertical panning, and completely configurable key control. Emulating your favorite word-processor within Clipper is not out of the question. - Multiple edit windows. Display multiple edit windows on the screen at the same time, and switch between them at the press of a key. Or, incorporate FastEdit directly into your GET system. - Search & Replace. (Not completely implemented yet) - A completely configurable editor environment. The possibilities are too numerous to mention!
clipper.724 bulaja,
Evo ga Class(Y). Nazalost ovo je verzija samo za Clipper 5.0, tako da je slabo upotrebljiva, ali bar se moze videti cemu to sluzi :). Welcome to Class(y).lib, the object oriented extension to Clipper 5.0. Class(y).lib allows the creation of user-defined object classes (UDOs) in Clipper 5.0 and 5.01. It also provides all the features required to develop fully object oriented programs. Class(y).lib elevates Clipper to the level of languages such as C++ and Smalltalk, making it one of the most attractive choices for software development in today's market. The software associated with this file is being released free of charge for evaluation purposes. It will only work with Clipper 5.0. The version for Clipper 5.01, which is currently under production, will be sold as a regular product. For those who have already deleted 5.0 off their hard disks <g>, a restricted demonstration version for 5.01 is being prepared. classy.arj
clipper.725 nbatocanin,
> INIT FUNCTION ime_funkcije Ovo je postojalo u Clipper-u 5.0, ali nije bilo dokumentovano. U 5.0 postoje INIT PROC i EXIT PROC i dokumentovane su.
clipper.726 nbatocanin,
> Da li je Clipper 5.2 vertikalno kompatibilan sa Clipperom > 5.01? Bilo bi veoma glupo od njih da nije.
clipper.727 ndragan,
/ Al' ipak ima da se misliš što inicijalizacija traje x (x>>2) minuta... E, šta kliperaši podrazumevaju pod inicijalizacijom? Kod nas to čudo ne postoji, ili ne mislimo na istu stvar. A procedura za indeksiranje je dostupna iz menija, a mušterijama u tri rečenice objasnimo u kojim situacijama nije zgoreg da se pusti, što piše i u uputstvu.
clipper.728 dr.grba,
>> Vidiš, ovo mi upošte nije palo na pamet kao pitanje već kao nešto što >> treba po defaultu da važi. E, zbog tog "defaulta" su mnogi sate i sate izgubili ):. Jasno je da najpre STD.CH, a potom i neke druge smicalice postoje da bi se obezbedila kompatibilnost. Uostalom, U NG fajlu lepo piše da se za obsolete komande i funkcije ne garantuje kompatibilnost, a za ... bla-bla. >> Zaista bi im trebao debeli razlog, pa da se >> odreknu kompatibilnosti, a sudeći po najavama, ništa nije epohalno novo. Već spomenu Dejan u replici na moje pitanje, "može biti da ima nekih suptilnih različica", i time je strefio na šta sam mislio pitajući. A što se tiče novina U Cl 5.2, već smo pričali o raznim aspektima noviteta koji postoje...
clipper.729 dr.grba,
>> :(((( Bogami, ovaj Blinker i nije baš previše pouzdan. I meni se juče >> žalili korisnici na neki Internal Error. Znate šta? Nisam siguran, ali ovo mi smrdi na loš odnos sa programom za keširanje diska... ---> "Tvoj kešer smrđi!". "Nje, Blinher smrđi".
clipper.730 dr.grba,
>> Ja ne koristim SET TMP, jerbo imam dosta RAM-a, pa rTLink i ne kreira >> one tmpove. Da li to znači da se rTLink inteligentno ponaša u odnosu na EMS / XMS memoriju? Ovo je vredno eksperimentisanja... >> ...A u NG-u lepo stoji da LIB i >> INCLUDE sadrže *listu* kataloga, a TMP samo jedan. Da, tačno, iako mi je promaklo... Ali opet, prvi put u MS DOS-u 6.0 sam doživeo probleme zbog toga... Sada smo se sasvim spontano dotakli jedne teme, za koju bi možda bilo zanimljivo da je ovde apsolviramo : kako optimalno setovati mašinu za rad / programiranje u Clipper-u 5.xx. Ja već rekoh da sam se odrekao keša nasuprot RAM drajva i ubrzanje je dvostruko... imam 286 mašinu sa žestoka 2 megabajta i zver od diska čije vreme pristupa se meri kretanjem sunca. Izbor nije baš velik, a svaka sugestija je dobrodošla. Dakle?
clipper.731 dr.grba,
>> Što se komaptibilnosti tiče i ne treba da bude ništa epohalno >> novo, ali je za mene epohalno novo sistem izmenjivih database >> driver-a. Sa kojima ću se sigurno dooooooooooobro poigrati pre nego što se rešim na korak definitivne migracije na Cl 5.2.
clipper.732 snemcev,
>> Što se komaptibilnosti tiče i ne treba da bude ništa epohalno >> novo, ali je za mene epohalno novo sistem izmenjivih database >> driver-a. Pa zar to nije moglo i iz Clipper-a 5.01 naredbom USE ... VIA <cDriver>? Da nije novo to što se sad ovo da proveriti i u praksi?
clipper.733 bingo,
Greska takvog tipa da skrati niz u 100 puta 3ga skrati.Aeval pravi gresku jedino u kombinaciji sa Lenom inace dobro radi vidi sta se desava. Probano je na puno masina i uvek se dogadja isto cak je i procenat greske isti. Molio bih te za detaljnija objasnjenja za rad sa pregledom pre stampe u mrezi kako to da uradim. Pozdrav Bingo o7ŐóÍy`▄ÝőĂl)¤áŞ}[y box.prg
clipper.734 bulaja,
││Al' ipak ima da se mislis sto inicijalizacija traje x (x>>2) minuta... │└─── │E, sta kliperasi podrazumevaju pod inicijalizacijom? Kod nas to cudo │ne postoji, ili ne mislimo na istu stvar. └─── Ili si propustio pocetak diskusije :). Pod "inicijalizacijom" se podrazumevalo vreme da se svaki put uradi ponovni INDEX ON, sto je neko predlozio kao resenje za probleme sa corrupted indeksima.
clipper.735 bulaja,
│Da li to znaci da se rTLink inteligentno ponasa u odnosu na EMS / XMS │memoriju? Ovo je vredno eksperimentisanja... └─── Znaci, ali to i nije neka inteligencija :). RTLink uzima EMS memoriju dok je ima, kad mu nestane memorije pravi swap file na disku. Koliko memorije memorije mu treba zavisi od aplikacije, ali cini mi se da to nikako nije ispod 500-600 Kb.
clipper.736 ppekovic,
>> Pa zar to nije moglo i iz Clipper-a 5.01 naredbom USE ... VIA <cDriver>? >> Da nije novo to što se sad ovo da proveriti i u praksi? Moglo je, ali od drajver-a ni traga, a struktura je bila poznata samo nantucket-u (CA-u). Paya
clipper.737 snemcev,
>> E, šta kliperaši podrazumevaju pod inicijalizacijom? Kod nas to čudo >> ne postoji, ili ne mislimo na istu stvar. Podrazumevam sve ono što treba uraditi od momenta startovanja aplikacije pa dok korisnik ne dobije meni na ekranu. To znači provera i po potrebi kreiranje baza podataka, provera integriteta podataka, provera i (po potrebi) kreiranje indekasa (jel' tako, koji to padež beše...;) a ovo poslednje je jedino što ume da potraje nerazumno dugo vremena.
clipper.738 ematic,
U vezi Internal error-a, dal' neko može da dobavi ovo ?: > INTERNAL ERRORS No documentation. See User-upload, CL5IEn.ZIP > ══════════ > Clipper Version 1.29 dtd 04/15/91. > > Problem Statement > > Nantucket(r) has not supplied Internal Error documentation. > > Work Around > > None; however, CL5IEn.ZIP in the NanForum library may be of some help. ══════════════════════════════════
clipper.739 nbatocanin,
> slaba korist od tog drugog linkera. Kojom opcijom da proba > da iskljuci koriscenje EMS? BLINKER CACHE EMS
clipper.740 nbatocanin,
> Bug or feature ? Očigledno je da CA pokušava da završi posao započet prelazom S'87 -> 5.0, a to je strožija sintaksa. Mislim da je ovaj prelaz odlično (tj. bezbolno) napravljen. E sad, ove poslednje izmene nisu tako krupne, ali vidim da prave probleme u programima. Nadam se da će se to kasnije isplatiti: bolje da sad da sintaksnu grešku, a da posle imamo OK objekte ;) I dalje mislim da ako se 5.2 pokaže pouzdanim (testiranje je u toku) da se isplati preći na njega!
clipper.741 dusanp,
Imam problema sa koriscenjem SWPRUNCMD-a. Bilo kako ga pozvao (da, sve sam lepo podesio) on swapuje na disk. Ima 4 mega slobodno gore, sto xms-a sto ems-a, a on nikako da ih konstatuje. Jel sam bio jasan? Kako svima vama radi ok, nisam primetio da se jos neko zali?
clipper.742 ematic,
> kasnije isplatiti: bolje da sad da sintaksnu grešku, a da posle > imamo OK objekte ;) I dalje mislim da ako se 5.2 pokaže > pouzdanim (testiranje je u toku) da se isplati preći na njega! Bilo bi predivno da CA 5.01a daje *sintaksnu* grešku, al' naprotiv :(, sůmo prevođenje ide normalno, što će reći da kompajler *prihvata* stvari tipa c:colorBlock := NIL koje su po 'novom' nelegalne. Zato program radi naizgled normalno, sve dok ne naleti na ovakvo dodeljivanje, a onda... TBROW xxxx greška ili nešto slično, ne sećam se tačno. Ako je nešto 'na površini' onda nije strašno, ali ako se nalazi u nekoj retko pozivanoj f-ji, onda Marfi radi prekovremeno ;). Ovako se javlja nekompatibilnost sa Nantucket-ovim 5.01 koja se ispoljava na najgori mogući način, prilikom rada programa. Druga stvar je što, bar ja tako mislim, ako stvarno hoćemo da imamo OK objekte oni trebalo i da se OK inicijalizuju, dakle, nedopustivo je da neka instanca prilikom inicijalizacije preuzme vrednost koja je ilegalnog tipa, što se upravo i dešava. Kompajler bi ipak trebao da bude dovoljno pametan da primeti takve stvari, bar tamo gde se ilegalna vrednost, tj. neodgovarajućeg tipa, eksplicitno dodeljuje, što se u stvari i desilo. CA je započeo fin posao, ali ga nije realizovao na najkorektniji način. Zanima me kako se Clipper 5.2 nosi sa ovim problemima ? Btw, koliko vidim 5.2 donosi puno lepih stvari, tako da se potpuno slažem s tim da nakon provere treba preći na njega.
clipper.743 ndragan,
/ Ili si propustio pocetak diskusije :). Pod "inicijalizacijom" se / podrazumevalo vreme da se svaki put uradi ponovni INDEX ON, sto je Nisam propustio, nego sam hteo da čujem naglas. Video sam dovoljan broj kliper aplikacija koje počinju sa totalnim indeksiranjem svega i svačega, što je na kilavijim makinama zaista trajalo, pa me zanimalo zašto se to radi. Ja baš nikad ne radim tako (tj. cela mi firma). Procedura za indeksiranje postoji, dostupna je iz menija, a korisniku se kaže kad bi trebalo da indeksira - jednom nedeljno, ili ako primeti neki od simptoma, ili ako mu telefonom poručimo da to uradi. Vredelo bi, takođe, da napravimo test brzine indeksiranja (sve verzije klipera, i tri verzije foksa u opticaju) sa istim .dbf i istim ključevima. Sve mi se čini da je S87 imao dosta sporu rutinu za indeksiranje.
clipper.744 ndragan,
E, našao sam jedan bugi u funkciji Adir() (u FP2.0), a pošto čujem da slična postoji i u kliperu, žajde da vidimo u čemu je štos. Rutine za izradu štampe puštam iz jedne generalne rutine - nekakvog menija sa promptovima "izrada - pregled - štampa - delimična štampa - podešavanje štampača". Iz te rutine usput i popunjavam neku bazu za statistiku štampe. Kad već to radim, ubacim i da popamti vremena, i to ovako: t1=time() do (_rutina) t2=time() Posle toga, proverim da li je _rutina napravila nešto, dakle n=adir(_c,_stampa) _stampa naravno može da već postoji na disku, pa zato sravnim datum i vreme, i tu je zbunj. Vreme nastanka (u stvari, zatvaranja) fajla na disku je ažurno u rezoluciji od dve sekunde, dok je u t1 i t2 ažurno u sekundu; odatle dobijam ovako nešto: Dosovi podaci u direktorijumu, kako ih vidi adir() _C Priv A ( 1, 1) C "KARTROB.TXT" ime fajla ( 1, 2) N 1832 ( 1832.00000000) dužina ( 1, 3) D 27.05.93 datum ( 1, 4) C "19:06:28" vreme ( 1, 5) C ".A..." atributi Prema FoksProovom časovniku, rutina koja je napravila fajl, startovana je u 19:06:38 a završila u 19:06:57. Zašto je dos zapisao ranije vreme? Nije, nego _adir() ne vodi računa o tome da je ono po dve sekunde, ne pomnoži sa dva i napiše "19:06:28" umesto "19:06:56" ili "19:06:57". Ukapiram to i skratim test na sate i minute... i opet nađem situaciju kad se dosov časovnik ne slaže sa funkcijom time() za par minuta; ispada da je fajl za toliko stariji (na disku). E, sad se i babo češka po glavi... Testiraću ovo malo podrobnije.
clipper.745 bulaja,
│Vreme nastanka (u stvari, zatvaranja) fajla na disku je azurno │u rezoluciji od dve sekunde, └─── Nije stvar ni u Foxu (a ni u Clipperu), vec DOS za sekunde u file date/time koristi 5 bita, pa zato vreme ide u rezoluciji od dve sekunde.
clipper.746 nbatocanin,
Bre ljudi, što se danas razočarah! Isprobavao sam Clipper 5.2 i ima zaista lepih stvari. Taman sam se naoštrio da pređem na DBFCDX drajver, kad, ne čuči vraže: performanse su mu po mojim merenjima katastrofalno gore od DBFNTX drajvera! Jedinu malu prednost sam uočio kod veoma malih datoteka (do 1000 slogova), ali i to je za dlaku. Probao sam sve: i različite podatke, i različit broj različitih podataka, i sa kešom i bez keša i ništa: CDX indeksi ispadoše sporiji za oko 30% u svim operacijama. Na stranu što sam našao da ovaj drajver pri indeksiranju menja jedan bajt u DBF datoteci, pa drugi drajveri posle prave probleme. Dal' je greška il' namera, pitanje je sad ;)
clipper.747 nbatocanin,
> Molio bih te za detaljnija objasnjenja za rad sa pregledom > pre stampe u mrezi kako to da uradim. Pa evo ovako. Ako tvoj program ima korisnike, uvedi neki identifikator za svakog. Na primer, neki broj. Sada funkciju za pregled izmeni tako da ne radi sa datotekama PART1.PRT i PART2.PRT, već sa PART1_XX.PRT i PART2_XX.PRT, gde je XX taj identifikator. Tako ćeš postići da svaki korisnik ima svoje datoteke za preview. Naravno, ako imaš neki drugi sistem, možeš ovo izvesti na neki drugi način, ali se sve svodi na to da svaki korisnik ima svoju datoteku za preview pre štampanja. Nadam se da sam sad bio jasniji.
clipper.748 nbatocanin,
> ---> "Tvoj kešer smrđi!". "Nje, Blinher smrđi". Kamo sreće :( Oba računara su imala klot DOS. Uzgred, danas mi se žali drug koji nije na Sezamu da je dobio neki internal error na programu koji radi već nekoliko godina. Naravno upravo kada je sa Tlinka prešao na Blinker!
clipper.749 nbatocanin,
> Da li to znači da se rTLink inteligentno ponaša u odnosu > na EMS / XMS memoriju? Ovo je vredno eksperimentisanja... Krkne dosta privremenih podataka u EMS, koliko mi je poznato. Kad mu oduzmeš EMS, obavezno bude "creating temporary file 21312312" > kako optimalno setovati mašinu za rad / programiranje u Clipper-u > 5.xx. Ja imam 386/33 sa 4MB. Od toga 1-1.5MB drži HyperDisk, 1.5MB je prazan EMS, a ostatak razne nevažne trice i kučine ;) I ne koristim MBOOT i slične programe. > Ja već rekoh da sam se odrekao keša nasuprot RAM drajva i ubrzanje je > dvostruko... A za šta koristiš RAM disk?
clipper.750 nbatocanin,
> Glavni dobitak kod .cdx indeksa nije samo u tome, nego što > ga foks interno žestoko koristi za pretrage; žuj, ovo mi ne izgleda baš tako moćno na drugi pogled. Ne verujem da je FoxPro pametniji od programera koji će (valjda) uvek prvo izvršiti SEEK (ako može), pa onda LOCATE. Neka složenija analiza uslova za pretragu mi je malo komplikovana za on-line analizu. Interesuje me kakva su ti praktična iskustva sa ovim pretraživanjem? Al' da budeš objektivan ;) > Postoje li Valid, Picture i When opcije na celom slogu i > pojedinim poljima? Šta to znači? Uzgred, da li bi mogao neko ko radi sa FoxPro-om da objasni kako tačno rade SCATER i GATHER naredbe.
clipper.751 pusa,
> BLINKER CACHE EMS Hvala ti prenecu coveku a psole cu preneti tebi da li mu je uspelo!
clipper.752 ppekovic,
Clipper verzija 5.2 postoji u dve verzije: američkoj i onoj za ostatak sveta. Američka verzija odbija da se instalira na računarima van USA i Kanade :)). To utvrđuje tako što proveri koja je kodna strana aktivna. Paya
clipper.753 ndragan,
Al' si mnogo naređao odjedared. žAjd jedno po jedno. / SEEK (ako može), pa onda LOCATE. Neka složenija analiza uslova za / pretragu mi je malo komplikovana za on-line analizu. Interesuje me Kod strukturnog indeksa je zaista nebitno da li je urađen SEEK ili LOCATE For <uslov_po_indeksu>, jer i jedno i drugo podleže Rašmor optimizaciji. Caka je u tome da se .dbf ni ne čita, ako se skup traženih slogova može naći iz uslova koji uključuju samo (ili pretežno) polja po kojima postoje strukturni indeksi. žita se samo .cdx, a on je uz to komprimovan (nikakav zip ili tako nešto, jedino je ukinuto ponavljanje delova ključa koji su isti kao u prethodnom ključu; ista tehnika kao na VMS/RMS od File Prolog V3 pa nadalje). Objektivno, to znači da je brzina pretraga mnoogo veća. Ranije je filtriranje baze išlo tehnikom 'index on trt+mrt for <uslov1> .and. <uslov2> .and. ... ', ili 'Seek... do .. while..'. Brzina u odnosu na tehniku selektivnog indeksiranja je veća oko 10 puta, a u odnosu na pretragu po postojećem indeksu nema neke veće razlike, osim što se jedan deo kodiranja izbegava, što će reći da je program kraći, radi sve u manje naredbi, najčešće ima bar jednu petlju manje, i tu onda opet postoji dobitak. O čemu se radi. Kad napravi SQL kursor, on može da sadrži ne samo proizvoljne kombinacije polja iz baze (ili više baza), nego može da sadrži i nekakve zbirne slogove, kao i kombinaciju toga. Naprimer sele fpromet.konto, fpromet.datnal, fpromet.brnal, ; fpromet.opis, ; fpromet.duguje, fpromet.potraz, fpromet.kod; from fpromet,spisak ; where fpromet.konto = spisak.konto ; and DATNAL betw _mpoc and _mZAV; union (sele fpromet.konto, _mpoc-1 as datnal, fpromet.brnal, ; 'početno stanje ' as opis, ; sum(fpromet.duguje) as duguje, ; sum(fpromet.potraz) as potraz, fpromet.kod; from fpromet,spisak ; where fpromet.konto = spisak.konto ; and DATNAL < _mpoc and kod=1 ; group by fpromet.konto); union (sele fpromet.konto, _mpoc-1 as datnal, fpromet.brnal, ; 'promet pre '+dtoc(_mpoc) as opis, ; sum(fpromet.duguje) as duguje, ; sum(fpromet.potraz) as potraz, fpromet.kod; from fpromet,spisak ; where fpromet.konto = spisak.konto ; and DATNAL < _mpoc and kod#1 ; group by fpromet.konto); order by 1,2,3 ; into cursor nesa 'Spisak' je jedan mali lažni .dbf (u stvari kursor, briše se čim se zatvori) u kojem su konta za koja se traže kartice. E, ovo radi stravično brže u odnosu na 'seek konto... do.. sabiraj.. while' pa tako za svaki konto. /> Postoje li Valid, Picture i When opcije na celom slogu i / Šta to znači? Browse valid g_f1() when g_f2() ; fields polje1 :v=f1() :p='999.99', ; polje 2 : w=f2(); for <uslov> ; key <klj1>,<klj2> F*() i g*() su nekakve funkcije koje vraćaju .t. ili .f. (ako se navede uz polje valid može da vraća i numerik, koji je u stvari ofset do sledećeg polja: ako vrati 0, ostaje na istom polju, 1 sledeće, -2 pretprošlo itd). g_f1 ne dozvoljava prelazak na sledeći slog dok ne vrati .t.; g_f2 preskače slogove za koje vraća .f. / tačno rade SCATER i GATHER naredbe. Ima par varijanti, ali ukratko: select prva scat to t kreira se niz sele druga appe blank gath from t popunjava se slog iz niza Ovde Scat naredba stvara niz t() koji ima dimenziju jednaku broju polja baze 'prva'. Popunjava ga sadržajem polja iz tekućeg sloga - prvo polje u t(1) itd. Gather onda to iz t() upisuje u slog. Ovo fino šljaka ako imaju istu strukturu; lepši štos je Scat Memvar - prepiše polja u memorijske promenljive. Druga baza ne mora da ima istu strukturu, ne moraju čak ni sva polja da se popune (dobro, uvek može Fields lista). E, da, Scat/Gath preskače memo polja. Al' sam odužio...
clipper.754 ndragan,
/ date/time koristi 5 bita, pa zato vreme ide u rezoluciji od dve / sekunde. Da, ali zašto Foks ne pomnoži to čudo sa dva? Bilo bi dobro da im neko šapne, ko ima pristup gore.
clipper.755 jpiri,
>> ...spori DBFCDX drajver. Da li si prilikom linkovanja izbacio DBFNTX biblioteku? Ako nisi, ona ti nepotrebno jede Clipperovu radnu memoriju a to itekako utice na performanse. Pozdrav.
clipper.756 balinda,
Instalirao sam novi Clipper 5.2. Kako sam u jednom programu koristio Nanfor biblioteku (takodje "najnoviju"), prijavljuje se nakon linkovanja sa RTLINKOM i sa BLINKEROM poruka: unsolve external 'CLIPPER501' NANFOR.LIB Ovo mi nije jasno (bar što se smera tiče) :( Program posle RTLINK-a radi bez problema iako je ova greška prijavljena! Naravno BLINKER pravi problem zato što čak i zbog jedne prijave greške ne formira EXE fajl (bar ja neznam kako da ga odviknem od toga). P.S. Velike probleme imam i sa prijavama raznih EMS grešaka sa BLINKEROM (npr.93H). Kako da potpuno isključim detekciju EMS i napravim možda (za utehu) neki RAMDRIVE...
clipper.757 cnenad,
Zdravo svim Kliperasima. Nazalost jos nisam presao sa S87 na 5.* ali molim za pomoc Prvo, gde mogu da nadjem (mislim) da se zove FUNCKY.LIB iz koje postoji mogucnost da se napravi sat u kliperu (bilo je u bajtovima u r90 i neki broj) Drugo (ovo izgleda moze da resi samo Deja caskao sam u chat-u sa mbulatom o ovome) radi se o sledecem, moj EXE fajl ima 320 Kb, memorije na racunaru imam slobodno kad ucitam drajvere i ostale rezidente programe (vshield, mouse, doskey, smartdrive i sl.) oko 580 KB, Koristim DOS 6. ali racunar nikako nece da startuje program i prijavljuje Not enough Memory ili posto sam preveo dos NEMA MEMORIJE !!! Racunar je 386DX40hz 4Mb RAM-a. Ima li leka ovome, napominjem da ni drugi EXE fajl koji ima 220 i jedan cak 180 nece da startuje. Medjutim onaj prvi od 320 Kb se sastoji od preko 40 modula odnosno glavni program poziva oko 45 potprograma ali su svi kompalirani u jedan obj fajl. Trece, Dejanr mi odgovori u poruci ▀broj 562 na moje pitanje za replace datuma ali Dejane ne ljuti se nisam zadovoljan time, odnosno iskreno priznajem komplikovano je to za mene jos uvek jel moze neko da mi napise liniju sa normalnim REPLACE. Hvala i pozdrav Svima koji procitaju ovo. Nenad Canic
clipper.758 dejanr,
>> Trece, Dejanr mi odgovori u poruci ▀broj 562 na moje pitanje za replace >> datuma ali Dejane ne ljuti se nisam zadovoljan time, odnosno iskreno >> priznajem komplikovano je to za mene jos uvek jel moze neko da mi napise >> liniju sa normalnim REPLACE. REPLACE ALL datum WITH date() FOR empty(datum). Nisam probao, kucam on-line, ali valjda je tako nešto.
clipper.759 dr.grba,
>> unsolve external 'CLIPPER501' NANFOR.LIB >> >> Ovo mi nije jasno (bar što se smera tiče) :( >> Program posle RTLINK-a radi bez problema iako je ova greška >> prijavljena! Aha, tu smo. A lepo sam pitao... >> Naravno BLINKER pravi problem zato što čak i zbog jedne prijave >> greške ne formira EXE fajl (bar ja neznam kako da ga odviknem od >> toga). Pokušaj da upotrebiš switch NODELETE.
clipper.760 dejanr,
>> Aha, tu smo. A lepo sam pitao... Nije stvar u nekompatibilnosti, nego je NANFOR za svaki slučaj definisao ovaj simbol. Dakle, i RTLINK javlja istu grešku samo što čovek nije pročitao uputstvo za Blinker pa nije znao da ga "natera" da čuva .EXE fajl iako ima grešaka u povezivanju. Inače, greška bi se konačno ispravila nabavkom nove verzije NANFOR.LIB-a, a verovatno bi i postojeći mogao da se "popravi" iz Nortona.
clipper.761 snemcev,
>> Naravno BLINKER pravi problem zato što čak i zbog jedne prijave >> greške ne formira EXE fajl (bar ja neznam kako da ga odviknem od >> toga). Imaš BLINKER EXECUTABLE NODELETE. Stavi to negde u .lnk datoteku i više ti neće brisati .exe ako ima grešaka.
clipper.762 arazumenic,
Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA karticu u neki drugi mod (na primer 132 x XX)? Sasa
clipper.763 nbatocanin,
> kompajler *prihvata* stvari tipa c:colorBlock := NIL Na ćalost, mislim da neäemo skoro doćiveti da Clipper prijavi ovu greëku, jer promenljiva jednog objekta *moće* imati vrednost NIL, pa to zavisi od autora objekta/klase. > dakle, nedopustivo je da neka instanca prilikom > inicijalizacije preuzme vrednost koja je ilegalnog tipa, > ëto se upravo i deëava. Kao ëto rekoh: prevodilac ne moće znati ëta je nelegalna vrednost jedne promenljive, osim ako mu se ne kaće. > Kompajler bi ipak trebao da bude > dovoljno pametan da primeti takve stvari, bar tamo gde se > ilegalna vrednost, tj. neodgovarajuäeg tipa, eksplicitno > dodeljuje, ëto se u stvari i desilo. To bi znaüilo da u definiciji klase promenljive ne budu ravnopravne sa normalnim promenljivim, jer njima moćeë dodeljivati ëta hoäeë. > Zanima me kako se Clipper 5.2 nosi sa > ovim problemima ? Isto kao i 5.01, iz prethodnih razloga.
clipper.764 d.petrovic,
Ă>> dodeljuje, ëto se u stvari i desilo. set code..
clipper.765 cnenad,
Izvinjavam ti se Dejane. U vezi zamene datuma u polju moja je greska jer sam ispustio naredbu for. I to sto je najcrnje pre naredbe za zamenjivanje datuma imao sam nekoliko linija u kojima sam isto vrsio zamenu nekih drugih polja i nikako da primetim da mi bas tu fali jos FOR. Ipak, hvala. Nenad / Mr.Virus "X" / BMPS
clipper.766 cnenad,
U vezi poruke 9.9577 u kojoj sam napomeno da sam sa Mbulatom u chat-u razgovarao o probelmu gde kad se zavrsi program ostaje mi zarobljeno memorije od oko 240 Kb, covek me lepo pitao da li negde u programu koristim naredbu run / ! a ja kategoricki odgovaram NE moram da se ispravim i da kazem da sam koristio posto nemam biblioteku za sat u clipper-u mali COM program CLO od svega 432 bajta ali koji je rezidentan i ne moze da skine a posto se ucitavao iz glavnog programa koji je pre njega ucitan on zaglavi memoriju koju je zauzeo glavni program i iz njega se izadje ali memorija ostaje zauzeta a slobodno samo 237 Kb. Medjutim jos jedno pitanje za onoga ko zna: zasto onda nije DOS-ova naredba MEM/C prijavila u listi i moj izvrsni program nego samo CLO. Da to nije neki bag DOS-a odnosno MEM-a ? Molim jos jednom za odgovor, gde mogu da nadjem FUNCKY.LIB i zasto ne mogu da startujem program od 320 KB kad imam slobodno 589 Kb. Pozdrav. Nenad./Mr.Virus "X"/BMPS
clipper.767 bulaja,
│koristio posto nemam biblioteku za sat u clipper-u mali COM program CLO od │svega 432 bajta ali koji je rezidentan i ne moze da skine a posto se ucitavao │iz glavnog programa koji je pre njega ucitan on zaglavi memoriju koju je zauzeo │glavni program i iz njega se izadje ali memorija ostaje zauzeta a slobodno │samo 237 Kb. └─── Malo konfuzno :), ali shvatio sam sta je po sredi. NEMOJ ni slucajno da iz Clipper-a startujes neki externi program koji ce ostati rezidentan. Sigurno je da ce ti pojesti memoriju, a mozes i jos goru zbrku da napravis :). Ako vec hoces taj rezidentni sat, onda ga startuj PRE Clipper programa (npr. iz .BAT fajla). │zasto ne mogu da startujem program od 320 KB kad imam slobodno 589 Kb. └─── Velicina EXE file-a nema mnogo veze sa time koliko program trazi memorije. Uzsam kod (koji je tih 320 Kb), memoriju trose i razne promenljive, nizovi, baferi za baze podataka & indekse,... Ako zelis da ostanes na Summer 87 verziji moraces da se petljas sa ovrlejovima, zato najbolje predji na 5.x gde nema petljanja sa ovrlejovima, a memorije imas koliko hoces :).
clipper.768 dusanp,
=> Imam problema sa koriscenjem SWPRUNCMD-a. Bilo kako ga pozvao => (da, sve sam lepo podesio) on swapuje na disk. Ima 4 mega => slobodno gore, sto xms-a sto ems-a, a on nikako da ih => konstatuje. Jel sam bio jasan? Kako svima vama radi ok, nisam => primetio da se jos neko zali? Nisam ocekivao da mi se bas niko ne javi. Znaci da bas svima radi ok? Mozda sam ipak ja nesto z*? Ajde koga ne mrzi da mi posalje jedan kratak primer + .rmk + .lnk. Hvala :)
clipper.769 nbatocanin,
> Kod strukturnog indeksa je zaista nebitno da li je urađen > SEEK ili LOCATE For <uslov_po_indeksu>, jer i jedno i > drugo podleže Rašmor optimizaciji. Ovo ne razumem: kako se optimizuje SEEK? Zar se optimizacija ne odnosi samo na LOCATE? > .dbf ni ne čita, ako se skup traženih slogova može naći iz > uslova koji uključuju samo (ili pretežno) polja po kojima > postoje strukturni indeksi. E, ovo me interesuje: do koje mere je FoxPro inteligentan da upotrebi indeks? Na primer, imaš indekse po X i Y, a tražiš LOCATE FOR Left(x,2) == Right(y,2)
clipper.770 nbatocanin,
> Da li si prilikom linkovanja izbacio DBFNTX biblioteku? Ne, ovo mi nije palo na pamet, ali uvek je bio prisutan i DBFNTX i DBFCDX, tako da su oba podjednako smetala onom drugom ;)
clipper.771 nbatocanin,
> unsolve external 'CLIPPER501' Ovo se javlja kad linkuješ biblioteke od 5.2 sa programima prevedim prevodiocem od 5.01 (ili beše obrnuto?).
clipper.772 dejanr,
>> Izvinjavam ti se Dejane. U vezi zamene datuma u polju moja je greska >> jer sam ispustio naredbu for. Nema mesta izvinjenjima, zato baš Sezam i služi, da zajednički rešavamo probleme.
clipper.773 bulaja,
Bilo je vec price o tome da je Clipper Debuger (v5.01) glup :), pa da kad iz programa koji se debaguje promenite aktivni dir, on ne uspeva da pronadje vise izvorni kod programa (a trebao bi da gleda tamo odakle je startovan exe). E ovo moze da se resi :). Gluplje resenje je da svaki put izmenite stazu do source fileova u "Options / path for Files", a najbolje je da napravite script file za CLD gde ce stojati npr.: Options path d:\prg Najbolje da se script file zove INIT.CLD posto njega CLD automatski ucitava pa ga ne morate posebno navoditi (cld @script exe).
clipper.774 ematic,
> Na ćalost, mislim da nešemo skoro doćiveti da Clipper prijavi > ovu greëku, jer promenljiva jednog objekta *moće* imati > vrednost NIL, pa to zavisi od autora objekta/klase. To je u principu tačno, ali opet ne vidim razlog zašto nije bilo moguće ugraditi ovu proveru u kompajler, jer se tu ipak radi o klasama ugrađenim u jezik koje su jasno definisane i deklarisane, a ne o korisnički definisanim klasama (Clipper 6.0, tj. Clipper++ :)) za koje ovo tvrđenje stoji. > Kao ëto rekoh: prevodilac ne moće znati ëta je nelegalna > vrednost jedne promenljive, osim ako mu se ne kaće. Opet tačno, ali u ovom slučaju su mogli da mu kažu... :) > To bi značilo da u definiciji klase promenljive ne budu > ravnopravne sa normalnim promenljivim, jer njima moćeë > dodeljivati ëta hošeë. Ove promenljive imaju rezervisana imena (jer su i klase o kojima govorimo ravnopravni deo osnovnog jezika), stoga pretpostavljam da je bilo moguće uvesti proveru tipa.
clipper.775 d.petrovic,
Ă> Nisam ocekivao da mi se bas niko ne javi. Znaci da bas svima Ă> radi ok? Mozda sam ipak ja nesto z*? Ajde koga ne mrzi da mi Ă> posalje jedan kratak primer + .rmk + .lnk. Hvala :) 1. Mani ga se, hoće da zeza pomalo, koristi za konačnu verziju rtlink 2. Imaš primer uz blinker 3. ako već nemaš... swap.arj
clipper.776 bulaja,
Moze li se u MEMODEDIT() ikako preusmeriti neki od non-configurable tastera? Oni se kroz user funkciju propustaju tek posle izvrsene default operacije (npr. ako je pritisnut DEL, prvo se obrise char, a tek onda ME javi user func "e obrisao sam..."). Potrebno mi je da se pre izvrenja default operacije (recimo DEL) prvo urade neke stvari, a zatim default operacija ipak izvrsi. SetKey() ne pomaze mnogo jer sa ME (tj. user func) moze da komunicira jedino preko globalnih parametara, posto bi KEYBOARD Chr(K_DEL) opet rekurzivno pozvao SetKey() proc.
clipper.777 cnenad,
Zdravo, vidim da se nesto mnogo prica o BLINKER-u. Kad je tako da Vas pitam gde nadjoste taj linker ? Koliko kosta ako nije Shareware ? Cekam odgovor. Pozdrav. Nenad/Mr.Virus "X"/PS
clipper.778 dejanr,
>> Koliko kosta ako nije Shareware ? Nije shareware, prodaje ga firma Assembler Softvare Manufacturers. Bio je prikaz sa dosta detalja u "Računarima 90", 32. strana.
clipper.779 ematic,
> KEYBOARD Chr(K_DEL) opet rekurzivno pozvao SetKey() proc. Neka ide sa setkey(), samo što u funkciji koja će se pozivati pritiskom na DEL (nek' se zove del_func() ) uradiš prvo setkey(K_DEL, NIL), pa onda te neke stvari :) i keyboard chr(K_DEL). E, kad onda memoedit() javi user_funkciji "obrisah šta treba..", kaži dobro, setkey( K_DEL, { |...| del_func(...) } ). Nadam se da je jasno, ako nije onda da napišem i listing :)
clipper.780 d.petrovic,
Ă> Kad je tako da Vas pitam gde nadjoste taj linker ? Probaj: Snake Dance 686-737 18:00 - 05:00
clipper.781 bulaja,
│Neka ide sa setkey(), samo sto u funkciji koja ce se pozivati │pritiskom na DEL (nek' se zove del_func() ) uradis prvo setkey(K_DEL, │NIL), pa onda te neke stvari :) i keyboard chr(K_DEL). E, kad onda │memoedit() javi user_funkciji "obrisah sta treba..", kazi dobro, │setkey( K_DEL, { |...| del_func(...) } ). Nadam se da je jasno, ako │nije onda da napisem i listing :) └─── Ma jasno je, to sam bas i koristio kao privremeno resenje :), ali ima manu da se ipak ne moze prepustiti MemoEditu da komunicira sa user func. U slucaju kad SetKey() proc naidje na nesto sto se ne bi smelo obrisati (zato mi i treba da preusmerim DEL), onda ona mora da vrati ME jedno nista, a onda user func ne zna da je bio pritisnut DEL. U stvari upravo sam se setio :) da moze i ovako - ako SetKey() u tom slucaju vraca nista, onda nema potrebe za SetKey (K_DEL, NIL). User func i ne mora da zna da se nista nije obrisalo, a ne mora da vraca SetKey().
clipper.782 dr.grba,
>> Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA karticu u neki >> drugi mod (na primer 132 x XX)? Mislim da bi FT_SETMODE funkcija iz NANFORUM TOOLKIT biblioteke mogla da završi posao.
clipper.783 snemcev,
>> Na ćalost, mislim da nešemo skoro doćiveti da Clipper prijavi ovu >> greëku, jer promenljiva jednog objekta *moće* imati vrednost NIL, pa >> to zavisi od autora objekta/klase. Aman koji je ovo kodni raspored?!? Probah sve što imam na disku, i ništa nije uspelo. Daj Nenade, napravi taj set code. Ili se bar javljaj samo sa onog računara sa kojeg si i dosad zvao ;) Sve mi se čini da je ovaj račun platio neko drugi ;)
clipper.784 snemcev,
>> Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA karticu u neki >> drugi mod (na primer 132 x XX)? Za to nisam siguran, ali kad startuješ program u tom modu, radi OK. Funkcije MaxRow() i MaxCol() rade korektno.
clipper.785 dr.grba,
>> Molim jos jednom za odgovor, gde mogu da nadjem FUNCKY.LIB i zasto >> ne mogu da startujem program od 320 KB kad imam slobodno 589 Kb. Dopusti da ti odgovorim ovako : proc main() ..... // nešto private niz := šć .... for i = 1 to 1000 nizŠiĆ := space(512) next .... Koliko nam sad ceo niz uzima memorije? ...Nije samo kod programa ono što nam uzima memoriju. Postoje tu još tabele, stekovi, razna egzotična područja... Ispitaj takve tačke u inicijalizaciji svog programa.
clipper.786 dr.grba,
>> Ne, ovo mi nije palo na pamet, ali uvek je bio prisutan i DBFNTX i >> DBFCDX, tako da su oba podjednako smetala onom drugom ;) Da li to znači da DBFNTX više ne pripada default spisku biblioteka, već se decidirano mora navesti?
clipper.787 nbatocanin,
> To je u principu tačno, ali opet ne vidim razlog zašto > nije bilo moguće ugraditi ovu proveru u kompajler, jer se > tu ipak radi o klasama ugrađenim u jezik koje su jasno > definisane i deklarisane, a ne o korisnički definisanim > klasama Da, mogli su da naprave tu proveru, ali mislim da bi to bilo glupo: tako bi napravili jednu zavisnost viška, koja bi sigurno kasnije zasmetala kod novih verzija. Zašto od nečega praviti izuzetak uz sumnjiv dobitak?
clipper.788 nbatocanin,
> Options path d:\prg Samo da dodam da ovde može da se pojavi spisak. Na primer: d:\prg;c:\clipper;
clipper.789 ematic,
> U slucaju kad SetKey() proc naidje na nesto sto se ne bi smelo > obrisati (zato mi i treba da preusmerim DEL), onda ona mora da > vrati ME jedno nista, a onda user func ne zna da je bio > pritisnut DEL. U stvari upravo sam se setio :) da moze i ovako... A, to :). Ovo je bilo ovako jer si, kako vidim, tražio da: > ME javi user func "e obrisao sam..."). Potrebno mi je da se pre > izvrenja default operacije (recimo DEL) prvo urade neke stvari, > a zatim default operacija ipak izvrsi. Uglavnom, došlo se do pravog rešenja :). Ima li nešto bolje ?
clipper.790 smilan,
U jednom numerik polju zelim da se dolaskim kursora (preko WHEN funkcije) pojavi neka osnova za godinu gradnje neke zgrade, npr. 1900 i da kursor dodje na prvu nulu od 1900 i tako omoguci korisniku da otkuca samo zadnje dve cifre "prave" godine. Naravno, kada se strelicom prelazi preko tog polja na gore (chr(5)) ili na dole (chr(24)) uneta cifra ne bi trebalo da se menja. Posto u nekoliko maski imam slicnu potrebu, resio sam da napravim univerzalnu funkciju. Ovo sto se vidi funkcionise po gornjem opisu ali nakon REPLACE FILE->GOD with MEM->GOD prijavljuje gresku DBFNTX /1020 Data type error @ 9,70 GET GOD pict "@Z 9999" when gradilw("GOD") valid gradilv("GOD") ^^^ ovo je promenjiva a ne polje baze FUNC gradilw(gra_whe) ******* (za WHEN funkciju) LOCAL staro staro:=&gra_whe && U staro smesta ono sto nadje u polju &gra_whe:=1900 && promenjivoj iz GET-a dodeljuje 1900 if lastkey()=5 .or. lastkey()=24 &gra_whe:=staro && ako se ide strelicama gore-dole vrati staru vrednost return .t. endif keyboard chr(4)+chr(4) && pomeri kursor dva mesta udesno RETURN .t. FUNC gradilv(gra_val) ******* (za VALID funkciju) if (&gra_val > val(god[1])) .or. (&gra_val < 1800) && uneta godina ne sme biti veca od tekuce niti manja od 1800 return .f. endif RETURN .t.
clipper.791 ematic,
> Da, mogli su da naprave tu proveru, ali mislim da bi to bilo > glupo: tako bi napravili jednu zavisnost viška, koja bi sigurno > kasnije zasmetala kod novih verzija. Zašto od nečega praviti > izuzetak uz sumnjiv dobitak? Nadajmo se da oni znaju šta rade :), a meni ostaje da napravim programče koje će da traži pogrešna dodeljivanja (naravno, ukoliko me ne bude mrzelo :)).
clipper.792 bulaja,
│ @ 9,70 GET GOD pict "@Z 9999" when gradilw("GOD") valid gradilv("GOD") │ ^^^ │ ovo je promenjiva a ne polje baze └─── A kako je deklarisana ta promenljiva? Ako je LOCAL ili STATIC, onda je ne mozes koristiti preko macroa. Ako zelis da je menjas iz WHEN procedure, onda je mnogo zgodnije (ako koristis LOCAL var) da je preneses po imenu gradilw(@god). A ako je private/public ne moras da prenosis ime promenljive kao parametar, vec to ime mozes da saznas sa ReadVar().
clipper.793 arazumenic,
--------------------------------------------------------- ->>> Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA karticu u neki ->>> drugi mod (na primer 132 x XX)? ->Za to nisam siguran, ali kad startuješ program u tom modu, radi OK. ->Funkcije MaxRow() i MaxCol() rade korektno. Sledi još jedan odgovor u sledećoj poruci. U svakom slučaju, hvala. Sasa
clipper.794 arazumenic,
->>> Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA karticu u neki ->>> drugi mod (na primer 132 x XX)? ->Mislim da bi FT_SETMODE funkcija iz NANFORUM TOOLKIT biblioteke mogla ->da završi posao. Ne moče. Doduše, ona stvarno prebaci računar u željeni mod (132x30), ali i dalje ne dobijam željeni rezultat. Naime, ako se startuje sledeci test: ft_setmode(84) ? maxcol() ? maxrow() kao rezulta se i dalje dobija 79 i 24 i to ispisani u jednom redu (sa raz- makom izmedju njih od 78 slovana mesta). Ideja je bila sledeća: Ako je ra- čunar opremljen sa SVGA/VGA kartom, onda da se iskoristi taj mod za prikaz raznih tabela koje su dosta sire i od mogucih 132 slova u redu, a ako nije onda da se ostane pri standardnih 80 kolona. Dakle, ne prolazi sledece: if ft_adapter() == 3 PrebaciUMod(132x30) mod = 84 endif PrikazTabele() if mod == 84 VratiNormalniMod() endif Izgleda da prilikom startovanja programa, interno se postavljaju neki para- metri programa izmedju kojih je su i mod u kome radi video karta, tako da funkcije maxcol() i maxrow() samo procitaju te parametre i njih vracaju bez obzira sto je mod kartice promenjem. Inače, SNEMCEV je u poruci 9.784 pot- puno u pravu, samo to nije ono što sam želeo. Saša
clipper.795 nbatocanin,
> Aman koji je ovo kodni raspored?!? Ne pitaj ;)) Imam neki svoj privatni raspored, a joë nisam automatizovao konverziju u Raüunari raspored koji sam prijavio na Sezamu. Zato kad zaboravim da izvrëim konverziju nastane haos... > Sve mi se čini da je ovaj račun platio neko drugi ;) Jock, varaš se ;)
clipper.796 nbatocanin,
> Da li to znači da DBFNTX više ne pripada default spisku > biblioteka, već se decidirano mora navesti? Ne, ne mora.
clipper.797 neman,
> ->>> Da li neko zna kako da iz CLIPPER-a nateram SVGA/VGA > karticu u neki ->>> drugi mod (na primer 132 x XX)? Mislim da Flipper ima neku funkciju BIOSMODE( ) koja radi to. neman
clipper.798 ndragan,
/>> ...spori DBFCDX drajver. / Da li si prilikom linkovanja izbacio DBFNTX biblioteku? Pitam se, pitam se, da li je dbfcdx drajver kompletan? Da li on radi samo do nivoa čitanja-pisanja .cdx indeksa, tek poradi kompatibilnosti sa FP2, ili ume i ostale stvari koje ovaj radi?
clipper.799 dr.grba,
>> ...Inače, SNEMCEV je u poruci 9.784 potpuno u pravu, >> samo to nije ono što sam želeo. Znam, želiš da presvičuješ mod unutar programa. Opisano ponašanje funkcije koju sam ti preporučio smatram bugom ): Lično se time nisam bavio, nego se samo prisetih da sam je video u NG fajlu, pa sam ga i konsultovao da bih ti odgovorio...
clipper.800 snemcev,
>> Zato kad zaboravim da izvrëim konverziju nastane haos... Opet si zaboravio ;))) Napravi bre batch ili još bolje, uradi konverziju u Clipper-u! :))
clipper.801 solajac,
ERROR.DOC (CLIPPER 87) stoji : INTERNAL ERROR najčešće nastaju zbog pokvarenih indeksa. Moja napomena i podsćanje: Reindeks radite isključivo sa: instrukcijom INDEX nikako sa REINDEX (ova instrukcija ne popravlja HEADER datoteke) To je sve što sam našao o INTERNAL ERRORčr. Meni se inače pojavljuje INTERNAL ERROR 19 na jednoj konfiguraciji i ponovno indeksiranje do sada je uvek pomagalo. Isti program na drugoj konfiguraciji radi bez probblema.
clipper.802 skerl,
RShowPCX 1.2 - 16 March 1993 (c) 1993 Rolf van Gelder ======================================================================= RSHOWPCX LIBRARY - RShowPCX is a shareware Clipper 5.01a library which contains a function to display a .PCX graphics file. - Because the library is written using the ASSEMBLER language the function works VERY FAST !! - Some SUPER VGA adaptors are supported. - RShowPCX is perfect to display Company logo's, graphs, wallpapers... Pozdrav, Skerl. p.s. sve spremno da ide u dir :)
clipper.803 skerl,
ž Clipper "Fast" EGA/VGA PCX Display Library Ć For Clipper Summer '87 & Clipper 5.0x This is the documentation for two libraries: CLFPCX87.LIB and CLFPCX50.LIB. The first for Clipper Summer '87, the latter for Clipper 5.0x (5.0 and 5.01). These libraries provides a function that display's some PCX files, in an efficient, fast and easy manner. The memory overhead by CLFPCX is very little, as the core has been programmed directly in Assembly, and there are also very few options for extra displays etc... CLFPCX is ideal for your application just to display the Logo of your Company/Organisation. The display of the PCX is quite fast, as the decoding and writing of the actual picture is completely handled by Assembly routines. For each library, the source code to the FastPCX() function has been supplied, would you want to add some more robust error checking, or display more pictures in a row, or whatever.. Files: Comment: -------------------------------------------------------- CLFPCX87.LIB The library for Clipper Summer '87 CLFPCX50.LIB The library for Clipper 5.0 or 5.01 CLFPCX87.PRG Clipper '87 code to FastPCX(), also in .LIB CLFPCX87.PRG Clipper 5.0[1] code to FastPCX(), also in .LIB PCX87.PRG Simple Clipper '87 demo of the FastPCX() function. PCX50.PRG Simple Clipper 5.0[1] demo of the FastPCX() function. BART.PCX EGA 640x350x16 picture: Bart Simpson MJTITLE.PCX VGA 640x480x16 picture: Title screen of Mah-Jonng VGA. MINDSCAP.PCX VGA 320x200x256 picture: Mindscape (?) Logo. Pozdrav, Skerl. p.s. I ovo moze u dir :) clipfpcx.zip
clipper.804 dejanr,
>> p.s. sve spremno da ide u dir :) U dir-u je, hvala. Pogledao sam na brzaka i lepo radi. Bulaji ostavljam da pogleda "konkurentski" program uz 9.803.
clipper.805 seovic,
> Ima li neki nacin da se za logicke promenljive u raznim > @say...get maskama pojavljuju i kucaju vrednosti D i N > (ili recimo J i N) umesto onoga T i F? Ideja je, naravno, > da se to nekako doda u postojeci program, a da se po > mogucnosti u njemu sto manje mora menjati. > > U bazama itd moze slobodno da ostane .t. i .f., samo da se > promeni na ekranu Mozda odgovor na ovo pitanje stize malo prekasno, ali na SEZAM-u sam od nedavno tako da nisam bio ranije u mogucnosti da ponudim svoje resenje: LOCAL cVar := "N" // ili "D" FIELD xxx IN yyy // logicko polje u fajlu . . @ nRow, nCol GET cVar PICT "!" VALID (cVar $ "DN") READ . . REPLACE xxx WITH (cVar == "D") Hteo bih i da pitam kako resavate problem podrske razlicitim tipovima stampaca, kao i stampanje pod mrezom. A.Seovic
clipper.806 smilan,
Ima li ko iskustva sa Flipperom i ima li traga bilo kakvom uputstvu. žini mi se da za neke hitne potrebe NG nije dovoljan.
clipper.807 ndragan,
/ Ovo ne razumem: kako se optimizuje SEEK? Zar se optimizacija ne / odnosi samo na LOCATE? Frljoka u izražavanju - Locate po pojmu koji sadrži samo strukturni indeks je podjednako optimizovan kao da je urađen Seek. Po tom principu se u stvari optimizuje sve što ima for opciju. / E, ovo me interesuje: do koje mere je FoxPro inteligentan da upotrebi / LOCATE FOR Left(x,2) == Right(y,2) Ovo bi verovatno proglasio za 'partially optimizable'. Pod jedan, ne treba ti left(), jer po difoltu radi poređenje do dužine desnog stringa. A onda zavisi da li je y drugo polje iz baze (ne može) ili drugi indeksni pojam (možda, nisam probao) ili polje iz druge baze koja nije pod relacijom, ili varijabla (može da optimizuje). Operacije nad ključevima strukturnih indek(a)sa koje podržavaju totalnu optimizaciju su uglavnom elementarna poređenja, funkcija Empty()... uostalom, evo iz helpa: Potentially Optimizable Commands With FOR Clauses AVERAGE EXPORT BROWSE LABEL CALCULATE LIST CHANGE LOCATE COUNT RECALL COPY TO REPLACE COPY TO ARRAY REPORT COUNT SCAN DELETE SORT DISPLAY SUM EDIT TOTAL ... A basic optimizable expression: <index expression> <relational operator> <constant expression> <index expression> must exactly match the expression on which an index is constructed and <index expression> must not contain aliases. <relational operator> must be one of the following: <, >, =, < =, > =, < >, #, !=. <constant expression> may be any expression, including memory variables and fields from other unrelated databases. E sad, šta spada u 'fully optimizable' - sve spomenute relacije i funkcija empty(), not <basic expr>, te da se u desnoj strani mogu nalaziti kojekakvi izrazi, uključujući funkcije, ali da im se argument ne menja tokom šetnje kroz bazu. Not optimizable je ako se manipuliše stringom, recimo "for ime=upper(ime)", $ operator, ili izrazi tipa x+2=y (moralo bi da se baci 2 desno i da y ne bude iz iste baze nego iz neke druge i ne pod relacijom, ili memorijska promenljivva, ili da 2 ostane levo a x da je iz druge baze itd). Veoma je bitno da se polje po kojem se traži pojavljuje kao indeksni pojam u strukturnom indeksu. Jednom sam, verovatno zbog zamora, ukucao "...where upper(kupac) between k1 and k2" i čudio se zašto čita celu bazu. Kasnije sam slučajno primetio da onaj Upper ne služi ničemu ('kupac' je šifra :), pa sam ga skinuo, i umesto "3500 records read" počeo je da javlja "132 records read" i da uradi za 3 sekunde umesto 24.
clipper.808 ndragan,
/ Funkcije MaxRow() i MaxCol() rade korektno. U FoxProu postoji Set Display to Vga50 itd, međutim ako se potera (iz aplikacije) eksterni program koji promeni dimenzije ekrana, srows() i scols() daju ispravne vrednosti.
clipper.809 arazumenic,
->U FoxProu postoji Set Display to Vga50 itd, međutim ako se potera (iz ->aplikacije) eksterni program koji promeni dimenzije ekrana, srows() i ->scols() daju ispravne vrednosti. O.K. za FoxPro, ali meni treba za Clipper. Saša
clipper.810 cnenad,
Hvala na odgovoru probacu da ga skinem kad ostanem ovde na poslu duze od 15 casova. Pozdrav. NENAD/Mr.Virus "X"/BMPS/CNENAD
clipper.811 cnenad,
Hvala za odgovor ali ipak po savetu moram da predjem sa S87 na 5.01 i da resim taj problem sa memorijom. Cekam tipa da mi posalje diskete sa C5.01. Pozdrav. NENAD/Mr.Virus "X"/BMPS/CNENAD
clipper.812 d.petrovic,
Ă> Cekam tipa da mi posalje diskete sa C5.01. Na vreme..., jel to nešto taze izašlo? ;)
clipper.813 mackb,
Da li neko zna kako je moguce pokrenuti iz clippera DOS-ovu naredbu MODE za podesavanje parametara stampaca ili se parametri mogu podesiti na drugi nacin(nekom funkcijom ili tome slicno).Kod pokretanja MODE-a bitno je da poruka o uspesnosti njenog izvrsenja ne ide na ekran jer to narusava koncepciju Hvala.KKKKKKK. Hvala.
clipper.814 martin,
Probaj sa run("MODE ..... > SMECE.TXT") pozdrav martin
clipper.815 bulaja,
│Da li neko zna kako je moguce pokrenuti iz clippera DOS-ovu │naredbu MODE za podesavanje parametara stampaca ili se parametri │mogu podesiti na drugi nacin(nekom funkcijom ili tome slicno). └─── Ma kakav mode, dovoljno je da posaljes stampacu odgovarajucu kontrolnu (ESC) sekvencu, u ovom slucaju za promenu sirine karaktera (pitch) i line spacing. Pogledaj u uputstvu za stampac koje su tacno sekvence, cini mi se da je npr. za Epson za compressed pitch (132 char u redu) dovoljno poslati jedan SI (chr(15)).
clipper.816 ratman,
Imam AT 286/12 sa HD Seagate 44Mb, 640K osnovne + cca.300 extended RAM. Ako bih hteo da ubrzam kompajliranje i linkovanje sa Clipper-om (5.01), koliko ima smisla dodavanje RAM i koliko bi bilo najbolje dodati? Moze li se za Clipper iskoristiti nesto od ovih cca.300K? ­█ş█şĚ█Pozdrav, Dejan
clipper.817 martin,
Sa 2 Mb se može sasvim lepo raditi! (ako nisi video brže). Što se tiče onih 300Kb Clipper ih već koristi!
clipper.818 d.petrovic,
Ă> Probaj sa run("MODE ..... > SMECE.TXT") NUL
clipper.819 jtitov,
Da li neko mogao da mi preporuci neku dobru knjigu (ali koja moze da se kupi/kopira/nabavi ovde) u vezi Clipper-a 5.xx. Treba mi hitnoooo!
clipper.820 d.petrovic,
Ă> Imam AT 286/12 sa HD Seagate 44Mb, 640K osnovne + cca.300 Ă> extended RAM. Ako bih hteo da ubrzam kompajliranje i linkovanje Ă> sa Clipper-om (5.01), koliko ima smisla dodavanje RAM i koliko bi Ă> bilo najbolje dodati? Ă> Ă> Moze li se za Clipper iskoristiti nesto od ovih cca.300K? Za radne verzije (subjektivno mišljenje) preporučujem BLinker. Uz još cca 1 MB (mislim da je najbolje keširati biće sigurno brže. Za poslednje linkovanje koristim RtLink i njega pusti da koristi xms memoriju kako mu se sviđa bilo da imaš 320 K ili 1348 K...
clipper.821 dr.grba,
>> line spacing. Pogledaj u uputstvu za stampac koje su tacno >> sekvence, cini mi se da je npr. za Epson za compressed pitch (132 >> char u redu) dovoljno poslati jedan SI (chr(15)). Svima koji su zainteresovani : uvek postoji način... Prilažem svoju INCLUDE datoteku, koju koristim odavno. Neke od relevantnih escape sekvenci sa Epson - kompatibilne štampače. Radi lakšeg rada i manjeg razmišljanja (((:, uveo sam i neke OFF sekvence, a da nisam morao, jer bi jedna sekvenca možda mogla isključiti drugu... nikad se na zna. Ovo možete iskoristiti za razvoj INCLUDE datoteka za druge štampače, osim toga postoje i mnogi drugi načini (((: printeps.ch
clipper.822 dr.grba,
>> Da li neko mogao da mi preporuci neku dobru knjigu (ali koja moze >> da se kupi/kopira/nabavi ovde) u vezi Clipper-a 5.xx. Treba mi >> hitnoooo! Isključivo knjiga koju je napisao Rick Spence; bavi se Clipperom 5.0, i to sa stanovišta problematike programiranja (što je i čini vrednom), a kome treba referentna lista, ima NG bateriju... Može se naručiti kod Mikro knjige. Nadam se da ovo nije odveć reklama za distributera. Treba ljudima reći šta valja, pre nego što kupe ono smeće domaćeg autora...
clipper.823 bulaja,
│Da li neko mogao da mi preporuci neku dobru knjigu (ali koja moze da se │kupi/kopira/nabavi ovde) u vezi Clipper-a 5.xx. Treba mi hitnoooo! └─── Od onoga sto se moze naci ovde, jedino vredi Rick Spence-ov "Clipper 5 - Vodic za programere", izadala je ŠKnjiga.
clipper.824 dejanr,
>> Da li neko mogao da mi preporuci neku dobru knjigu (ali koja moze da se >> kupi/kopira/nabavi ovde) u vezi Clipper-a 5.xx. Treba mi hitnoooo! Rik Spens, Clipper 5. Sjajna knjiga.
clipper.825 ndragan,
/│ naredbu MODE za podesavanje parametara stampaca ili se parametri / Ma kakav mode, dovoljno je da posaljes stampacu odgovarajucu kontrolnu / (ESC) sekvencu, u ovom slucaju za promenu sirine karaktera (pitch) i Pretpostavljam da se radi o štampaču sa serijskim interfejsom, pa se mora prvo podesiti brzina, parnost itd (ono mode com1 9600,8,1,n ili kako već beše) i još preusmeriti lpt1 na com1. Na instalacijama gde sam morao to da radim, gurao sam obe mode naredbe bilo u autoexec bilo u beč kojim se poziva aplikacija; uglavnom, bitno je da se pozove pre nego što se u aplikaciju uopšte uđe. Tako mi je radilo bez problema.
clipper.826 snemcev,
>> Da li neko mogao da mi preporuci neku dobru knjigu (ali koja moze da >> se kupi/kopira/nabavi ovde) u vezi Clipper-a 5.xx. Treba mi hitnoooo! Rik Spens: Clipper 5, Mikro knjiga, Beograd
clipper.827 bulaja,
Da li je neko resio probleme sa linkovanjem biblioteka pravljenih sa Clipper 5.01 i programa pisanih u 5.2? RTlink prijavi nedefinisan simbol CLIPPER501, Blinker ne javi nikakvu gresku (!), ali se zato program obicno zaglavi.
clipper.828 snemcev,
>> Ovo možete iskoristiti za razvoj INCLUDE datoteka za druge štampače, >> osim toga postoje i mnogi drugi načini (((: Mogao si onu datoteku bar zipovati ;) Elem, odavno se zanosim mišlju da napravim program kojem bi se jednostavno reklo "imam A3 Epson kompatibilca" ili "imam HP LJ III" i da on savršeno odštampa izveštaj i na jednom i na drugom, ali da pri tom iskoristi do maksimuma mogućnosti i jednog i drugog. Npr. želim da mi izveštaj od širine 160 kolona na Epsonu odštampa na A4 kondenzovano, a na laseru u lendskejpu normal fontom. Primer 2: izveštaj za koji je na Epsonu potreban A3 format (zbog preglednosti) isto tako treba na laseru odštampati u lendskejpu, ali ovaj put koristeći neka "gušća" slova. Jedina ideja koja mi je pala na pamet je nešto kao ono što je uradio Nenad u R 9? tj. procedura koja bi analizirala izveštaj i na osnovu toga odlučivala kako će se šta štampati. Pitanje koje u stvari želim da postavim je ovo: jel' neko probao nešto slično da uradi i kakva su iskustva?
clipper.829 bulaja,
│Clipper "Fast" EGA/VGA PCX Display Library └─── Radi :) (i to dobro), prebacneo u Clipper dir.
clipper.830 toma,
■■>> ... Pitanje koje u stvari želim da ■■>> postavim je ovo: jel' neko probao nešto slično da uradi i kakva su ■■>> iskustva? Obrati pažnju! (cit. Radovan III:) Ja sam uradio nesto sto je mozda početak toga u smislu da program sam odredi u kom modu će stampati dokument. E sad, moguće je imati promenljivu pmax_col koja će zavisiti od štampača i od koje će zavisiti mogućnost štampe. Problem je dokument od recimo 300 kolona na A4 printeru. Rešenje problema sam ukrao od ćaleta (knjigovođe("kad je raster kratak, uzmeš dva pa produžiš")). Znači, štampanje ide u fajl, onda prvih 160 kolona ide na prvu stranu, drugih 140 na drugu, pa se onda to zalepi selotejpom. Verujte mi knjigovođe to vole! Napravio sam i to da ako je kolona (na dokumentu) sa brojevima "prazna" da uopšte i ne ide u štampu, tako da se samim tim i ukupan broj kolona (printerskih:) smanjuje. Al sam ti pomogo, svaka mi čast, a? Sve ti je jasno. ps. Dok sam rešavao gore pomenute probleme, nisam ni pomišljao na laser, pa eto, uradi i te nešto, ne mogu sve ja! :)))
clipper.831 cnenad,
Zdravo, svima. Jedna radosna vest. Upravo sam malopre instalirao clipper 5.01 i nadao se da je moj problem sa startovanjem programa resen. Kad ono ne lezi vraze evo jos problema. Prvo zasto cliper 5.0 odbija naredbu SET COLOR javlja da Úfali Úboja na kraju a u stvari to je reset prethodnih setovanja (barem je bilo u kliperu s87) Drugo kad sam linkovao obj fajl(ove) linker prijavljuje sledecu gresku: NIV NIV_FUNC Ú Input parsing error ^ Caret (^) shows portion od line read when error discovered Sta je to ? Napominjem da mi je niv glavni program a niv_func UDF funkcija i to je sve radilo kad se linkovalo u S87. Jel mozda nije dobra sintaksa za linkovanje. Ako nije , napisite sta treba da stavim. Cao. Nesa
clipper.832 dr.grba,
>> Mogao si onu datoteku bar zipovati ;) Znate li šta je to bronzani pogled? To je ono kad gurneš kristalnu čašu sa stola, ona se sruši, skotrlja lagano niz sto, pada, pada, paaaaada, razbija se u paramparčad, a vi ništa niste preuzeli za sve to vreme, mada se sve odvijalo lagano, samo ste bespomoćno posmatrali zbivanje. Taj pogled se zove "bronzani pogled", po rečima Danila Harmsa... Upload PRINTEPS.CH sam pratio bronzanim pogledom ):
clipper.833 dr.grba,
>> mogućnost štampe. Problem je dokument od recimo 300 kolona na A4 >> printeru. Rešenje problema sam ukrao od ćaleta (knjigovođe("kad je >> raster kratak, uzmeš dva pa produžiš")). Znači, štampanje ide u >> fajl, onda prvih 160 kolona ide na prvu stranu, drugih 140 na >> drugu, pa se onda to zalepi selotejpom. Verujte mi knjigovođe to vole! ...ne samo da vole, nego ti skaču u oči objašnjavajući kako će im firma propasti ako ne bude baš tako. Stvarno, zar mislite da je neophodno praviti tako široke izveštaje??? Da, da. Za izveštaj "korelacija između kvarta stanovanja i školske spreme radnika, ponderisano sa radnim stažom i prethodnim radnim mestom, a sve u punom imenu, omenu oca, prezimenu, adr... .... ...fri, nazivu i opisu radnog mesta... Molim vas! Da li je to upotrebljivo?
clipper.834 neman,
Jao .... Prevodio sam jedan stari program ( C501 ) sa novim C52a, ( C52 patch-ovan sa ovim ovdasnjim patch-om ) i .... Naime, imam svoju funkciju NET_USE, koja otvara datoteku pod mrezom, sa parametrima koji se navode itd. Ide otprilike ovako FUNC NET_USE( dbf, alias,... ) IF !EMPTY( NETNAME() ) . . ELSE USE (dbf) ALIAS (alias) NEW RETURN(.T) ENDIF E sad, pozivaju ci funkciju iz jednog dela programa u liniji u kojo sam naveo USE prijavljuje gresku DBCMD 1015 Argument erro DBUSEAREA Ista ova funkcija radi ( za C501 ) na milion mesta, kada sam izdvajao iz programa zasebno pozivanje radi, analizirao sam .PPO i nista. U NG nema greske 1015, nisam koristio nazive za promenljive DBF i ALIAS to sam samo uradio u ovom primeru, ... Izgleda da cu da se vratim na C 501 ? neman
clipper.835 snemcev,
>> Molim vas! Da li je to upotrebljivo? Zar si to dosad živeo bez toga?!? ;))
clipper.836 dr.grba,
>> >> Molim vas! Da li je to upotrebljivo? >> >> Zar si to dosad živeo bez toga?!? ;)) Za mnogo godina, u AOP-u u kom radim su ispunjene razne muzičke želje. Ali, kada bi mi neko tražio nešto slično, leteo bi glavačke napolje.
clipper.837 snemcev,
>> Napravio sam i to da ako je kolona (na dokumentu) sa brojevima >> "prazna" da uopšte i ne ide u štampu, tako da se samim tim i ukupan >> broj kolona (printerskih:) smanjuje. Inetersantna ideja. Može malo detaljnije?
clipper.838 snemcev,
>> Ali, kada bi mi neko tražio nešto slično, leteo bi glavačke napolje. Ispričah ti u petak priču o platnoj listi u 450 kolona.
clipper.839 nbatocanin,
> Da li je neko resio probleme sa linkovanjem biblioteka > pravljenih sa Clipper 5.01 i programa pisanih u 5.2? > RTlink prijavi nedefinisan simbol CLIPPER501, Blinker ne > javi nikakvu gresku (!), ali se zato program obicno > zaglavi. Legalno rešenje teško da postoji: ako je deo biblioteke pisan u Clipper-u, onda će uvek tražiti simbol CLIPPER501. Blinker ne javlja nikakvu grešku kad inkrementalno linkuje, a prethodno je bilo uključeno EXE NODELETE.
clipper.840 toma,
■■>>>> Napravio sam i to da ako je kolona (na dokumentu) sa brojevima ■■>>>> "prazna" da uopšte i ne ide u štampu, tako da se samim tim i ukupan ■■>>>> broj kolona (printerskih:) smanjuje. ■■>> ■■>> Inetersantna ideja. Može malo detaljnije? Konkretan slučaj za ovu stvar kod mene je bila tabela tarifnih brojeva po dokumentima. Na primer Dokument T-1(44%) T-3.4(43%) T-8.1(3%) -------------------------------------------------- Kalkul. 1 20,000 Kalkul. 2 30,000 Kalkul. 3 40,000 Prvo sam sabrao sve tarife, odredio koje ne treba da se štampaju, naslovi se kreiraju automatski iz naziva i stope tarife a ja sam jednostavno kreirao array koji sadrži šifre tarifa koje se štampaju i to je to. Kasnije sam nešto još razmišljao da napravim nešto u stilu dBrowse-a, tako da svaka kolona ima naziv (zaglavlje), picture, sadržaj (CENA) i zbir kolone (može i .T. ili .F. za kolone koje ne mogu da se saberu) i onda program sam odredi koje su kolone "pune" a koje "prazne". Sa svim tim podacima prevazilazi se i problem naših velikih brojeva jer i picture može automatski da se odredi prema veličini zbira, a ako širina pređe 160 slovceta ide na dve strane pa selotejp :) Ideja u principu nije loša samim tim što je moja ;) ali treba sesti i napisati, a bliži se šestomesečni, a i ja moram na more ;). BTW Kako ste rešili "Data width error" koji je sve češći, a? Kod mene je situacija da sve kontroliše posebna funkcija (nešto kao rečnik baza Batoćanina) s tim da kad primeti da je širina veća od širine u bazi, zatvori bazu, kreira tmp sa istom strukturom samo širim potrebnim poljem, sve appenduje iz baze u tmp, preimenuje šta je potrebno i ponovo je otvori. Ponekad potraje ali ne prijavi grešku i ne uznemiravaju programera O:) (normalno nema APPEND BLANK, REPLACE nego dodaj(prom_a, prom_b...) )
clipper.841 bulaja,
││Da li je neko resio probleme sa linkovanjem biblioteka ││pravljenih sa Clipper 5.01 i programa pisanih u 5.2? │└─── │Legalno resenje tesko da postoji: ako je deo biblioteke pisan │u Clipper-u, onda ce uvek traziti simbol CLIPPER501. └─── Neverovatna glupost od strane CA! Kao trude se da ocuvaju vertikalnu kompatibilnost i sl., a ovamo ni obicni stari LIB-ovi ne mogu da se povezu sa Clipper-om 5.2. Pokupili su najgoru osobinu od TP-a. :(
clipper.842 bulaja,
Moze li se nekako naterati MemoEdit() da ne ubacuje Soft CR (Ź) u string koji vraca (a da to ne bude pomocu StrTran() ili Memotran()).
clipper.843 ematic,
> Moze li se nekako naterati MemoEdit() da ne ubacuje Soft CR (Ź) > u string koji vraca (a da to ne bude pomocu StrTran() ili > Memotran()). Na žalost to ne može da se uradi tako da memoedit vrati 'pročišćeni' string (ili možda može nekom petljavinom, al' ja to ne znam :), međutim može jedan hardcr(string), i to bi bilo ono što je tebi potrebno :)
clipper.844 bulaja,
**** new file **** R:\IBMPC\CLIPPER\*.* ---------------------- ft_doc arj 29257 Kreiranje NG iz izvornog koda formatiranog kao NanFor FT_DOC is a program which will extract routine documentation out of source code which is documented using the Nanforum Toolkit documentation header (FTHDR.PRG or FTHDR.ASM). It is capable of creating the necessary input files for the Norton Guide compiler (NGC) or a series of ASCII files which can be browsed or printed.
clipper.845 ppekovic,
>> Neverovatna glupost od strane CA! Kao trude se da ocuvaju vertikalnu >> kompatibilnost i sl., a ovamo ni obicni stari LIB-ovi ne mogu da se >> povezu sa Clipper-om 5.2. Pokupili su najgoru osobinu od TP-a. :( Nemoj tako Bulaja, ispljuva ti naše ljude. Naime, iz pouzdanih izvora sam čuo da je prvi čovek za baze u CA-u naš čovek (završio FON). Još jedan naš čovek u CA-u (isto sa FON-a :)) je šef predstavništva CA u Moskvi. Paya
clipper.847 bulaja,
│medutim moze jedan hardcr(string), i to bi bilo ono sto je tebi potrebno :) └─── Ne treba mi to :), necu da imam nikakve sort CR-ove i gluposti :), vec samo da mi ostanu CRLF parovi kao terminatori paragrafa.
clipper.848 bulaja,
│Nemoj tako Bulaja, ispljuva ti nase ljude. Naime, iz pouzdanih izvora sam │cuo da je prvi covek za baze u CA-u nas covek (zavrsio FON). Jos jedan │nas covek u CA-u (isto sa FON-a :)) je sef predstavnistva CA u Moskvi. └─── Onda povlacim rec :). FON rules! Ali ipak su mogli da pripaze i na ovakvu sitnicu kao sto je ocuvanje kompatibilnosti LIB-ova.
clipper.849 dr.grba,
>> >> Ali, kada bi mi neko tražio nešto slično, leteo bi glavačke napolje. >> >> Ispričah ti u petak priču o platnoj listi u 450 kolona. I nisi leteo glavačke napolje, pa ti sad nešto nije jasno?
clipper.850 ematic,
> Ne treba mi to :), necu da imam nikakve sort CR-ove i gluposti > :), vec samo da mi ostanu CRLF parovi kao terminatori > paragrafa. Ups, pogrešno sam razumeo pitanje :) Koliko ja shvatam mehanizam koji koristi memoedit to što želiš nije moguće u toku memoedita, nego tek naknadno :(. Nego, kad smo već kod memoedita, da li neko zna način, ma koliko da je prljav :)), da se direktno pristupi tekst baferu u toku memoedita. Valjda postoji neka interna f-ja u kliperu koja se brine za to, pa onda sa malo C-a... ? p.s. kad će već jednom 'službena' objektna zamena za memoedit, ovaj ovakav mi pojede dušu do sad :))
clipper.851 ndragan,
/ Ne treba mi to :), necu da imam nikakve sort CR-ove i gluposti :), vec / samo da mi ostanu CRLF parovi kao terminatori paragrafa. Ne bih da se mešam, ali to je upravo ono kako radi FoxPro :)
clipper.852 snemcev,
>> BTW Kako ste rešili "Data width error" koji je sve češći, a? Tako što čupam kosu. Imam program za finansijsko knjigovodstvo, pravljen još za vreme Ante Markovića i kao maximum mu je postavljeno 10,000,000,000.00 dinara, ili u ono vreme, više nego velikodušnih 1,500,000,000.00 DEM (da, milijardu i petsto hiljada maraka). Program je preživeo sve denominacije i sve do skora je radio OK. E, sad treba proširiti sva polja za bar 50% (kako se piše ta inflacija, 10^x?), a source je, dok sam bio na ratištu, misteriozno nestao. I sad, ajmo Jovo nanovo. Nov program. Što bi rekli mi, Lale, "ko zna zašto je to dobro..."
clipper.853 snemcev,
>> i onda program sam odredi koje su kolone "pune" a koje "prazne". Nismo se razumeli. Mislio sam da si uradio ovo: KREIRAN IZVEŠTAJ: Datum Broj Broj Suma ------------------------------------------------ 01.01.01 2 2 4 08.12.54 4 1 5 ------------------------------------------------ 6 3 9 ODŠTAMPAN IZVEŠTAJ: Datum Broj Broj Suma -------------------------- 01.01.01 2 2 4 08.12.54 4 1 5 -------------------------- 6 3 9 Znači, izbačene su one kolone koje su nepopunjene tj. izbačen je prazan prostor koji ničemu ne služi, osim za izveštaje od ??? kolona.
clipper.854 toma,
ja: ■■>> Sa svim tim podacima prevazilazi se i problem naših velikih brojeva ■■>> jer i picture može automatski da se odredi prema veličini zbira, a ako on:) ■■>> Znači, izbačene su one kolone koje su nepopunjene tj. izbačen je ■■>> prazan prostor koji ničemu ne služi, osim za izveštaje od ??? kolona. opet ja. Eto propustio si par redova u mojoj poruci. Na žalost to je tek u mojoj glavi a ne u .prg fajlu, ali biće :)). Ideja je da se ide stavka po stavka i određuje najveća širina. Kad se obrade svi podaci na kraju imaš širinu "najšireg" broja. Uporediš to sa širinom zaglavlja i pičiš. Eto.
clipper.855 jtitov,
> source je, dok sam bio na ratistu, misteriozno nestao. I sad, ajmo Jovo Tako ti i treba kad branis 'goloruki narod'! ;) > nanovo. Nov program. Sto bi rekli mi, Lale, "ko zna zasto je to dobro..." Jadnice :((((
clipper.856 snemcev,
>> Eto propustio si par redova u mojoj poruci. Na žalost to je tek u >> mojoj glavi a ne u .prg fajlu, ali biće :)). Da, tako sam i shvatio. Nije u .prg, a ono što si opisao u nekoj od prethodnih poruka je u .prg. >> Ideja je da se ide stavka po stavka i određuje najveća širina. Kad se >> obrade svi podaci na kraju imaš širinu "najšireg" broja. Uporediš to >> sa širinom zaglavlja i pičiš. Eto. Da, dva prolaza kroz bazu. A šta ako je računanje na osnovu kojeg praviš izveštaj komplikovano, pa dugo traje? Meni je prvo palo na pamet da se izveštaj (sa najvećim mogućim kolonama) prvo kreira na disku (zbog preview-a), pa da se pre štampanja protrči kroz fajl i da se za svaku kolonu u izveštaju uvede element niza i da taj element bude .t. ako nešto u toj koloni ima, a .f. ako nema. Možda zvuči nerazumljivo, al' evo "algoritma": dimenzioniši i inicijalizuj niz, otvori datoteku itd. while !eof() pročitaj red for i=1 to len(red) if red[i] == ima_nešto then niz[i] := .t. next i end do Posle ovoga, možeš mirne duše da neštampaš one kolone za koje je niz[broj_kolone] == .f. Možda bi još trebalo uvesti proveru za ono podvlačenje ispod zaglavlja, jer to se pojavljuje u svakoj koloni, bez obzira da li je "prazna" ili "puna" tj. uslov bi trebao biti nešto kao if red[i] == ima_nešto .and. red[i] != "-" then ...
clipper.857 dr.grba,
>> > source je, dok sam bio na ratistu, misteriozno nestao. I sad, >> ajmo Jovo >> >> Tako ti i treba kad branis 'goloruki narod'! ;) Nemoj tako, imao je ne samo opravdanje, već i koordinate Jelačića placa. >> > nanovo. Nov program. Sto bi rekli mi, Lale, "ko zna zasto je to dobro..." >> >> Jadnice :(((( Ma jok, nemo' da ga žališ, pisao je u Pascalu, a sad radi u Clipperu. ---> Crkla disketla, al' ne marim.
clipper.858 dr.grba,
>> Možda bi još trebalo uvesti proveru za ono podvlačenje ispod >> zaglavlja, jer to se pojavljuje u svakoj koloni, bez obzira da li... Zanimljivo. Ako već uvodiš niz koji kontroliše odluku, neka to bude n-dimenzioni niz, pri čemu se već ispita broj dimenzija. I sad možeš čuvati logičko stanje, širinu kolone, opcionu širinu... ...a u modulu za štampu formirati zaglavlje shodno log. stanju i oznaci širine kolone. Da ovo napišem, samo sam malo škrabao po papiru. Računam da bi model u ovom smeru mogao da se napravi uspešno... ...al' šta vredi kad ja i dalje nemam nameru da pravim šlajfne formata direktorovog stola. Moj direktor bi i tako taj izveštaj upotrebio da zaštiti Ktitor nameštaj od masnog bureka.
clipper.859 ndragan,
/ 10,000,000,000.00 dinara, ili u ono vreme, više nego velikodušnih Paz' cicije, samo 11 celih. Jesi nekad pisao kamate za banku? Za takva čudesa imam funkciju koja prepakuje bazu u novi format; piše je generator opisa baza (jaka stvar, programče od 2K), pa je malo izeditujem i pustim. Za pikčere u maskama imam dve-tri globalne promenljive, naprimer g_pc='999,999,999,999', a tamo u masci već stoji č 4,3 get tralala pict g_pc. Mož' da se desi da malo prekrije sledeće polje, al' zato izmena programa traje 15 minuta po aplikaciji. Teža stvar su izveštaji koje sam radio iz riporta (.frx); tamo obično sredim jedno polje, a snimim operaciju u makro i onda krenem serijski. Za pešački rađene štampe (č r,c say) nema problema, jer i tamo stoji nešto ovako k1=0 ... k5=k4+1+len(g_pc2) ... č _red, k5 say to_i_to i naravno, negde ima crta=replicate('=',k9+len(g_pc1)), pa se i te štampe automatski šire i skupljaju. Razmišljam o tome da automatizujem čačkanje .frx izveštaja, čime dobijamo antiinflatornu i antidemonizacionu vakcinu :).
clipper.860 solajac,
Komandu SET COLOR zameni funkcijom SETCOLOR().─ů║ Sve PRG-ove treba da prekompiliras sa C5.1, i tek tako dobijeneĘ OBJ▀-oů_nůve│ÚĆĘ────▀(linija me zezačr pa ne znam sta sam stvarno nap´kisao) Tako dobiene OBJ-ove linkuj. Ne znam da li znas. Bez uvrede. U upot│rebiÚĆ│Ę su RTLINK ▀ili BLINKER═´█. Nikako TLINK ili PLINK. Inace ne znam koji format koristis za linkovanje. On je uglavnom jednostavan. Kod kompiliranja je isto tako vazno (mozda i vaznije)│ koje opcije koristis. Ja kompiliram svaki PRG posebno, na primer: CLIPPER GLAVNI /A /M /N stim sto u svakom Ę▀─PRG-u im─am ůvise PROEÚ─ w3 U jednom PRG-u imam vise procedura. posle linkujem sa RTLINK FILE GLAVNI,PRG1,PRG2. │ů ů Linija me strasno zezala ali se nadam da cu biti od pomoci. Pozdrav SOLAJAC.
clipper.861 snemcev,
>> Ma jok, nemo' da ga žališ, pisao je u Pascalu, a sad radi u Clipperu. čalim što moram da te ispravim, bio je to ipak Clipper program. Za onaj u Pascalu više ne znam ni gde je ;)
clipper.862 dr.grba,
>> Linija me strasno zezala ali se nadam da cu biti od pomoci. >> Pozdrav SOLAJAC. Jel' imaš uputstvo za Sezam? Tamo se nešto priča o redirekciji ulaza, exec datotekama, uploadu poruka i tako to, a i manji tlf. račun. Da ne pričam kako možeš i drugima da omogućiš da pročitaju tvoje poruke...
clipper.863 bstevan,
Imam jedno pitanje u vezi S 87'. Interesuje me dali neko zna kako najbolje iz aplikacije, može da promeni sistemski datum računara a da ne izlazi iz aplikacije. pozdrav, BSTEVAN
clipper.864 neman,
Ja sam problem koriscenja biblioteka za Clipper 5.01 resio tako sto sam sam definisao PROC CLIPPER501 RETURN i zavrsio pos'o. neman
clipper.865 d.petrovic,
Ă> Imam jedno pitanje u vezi S 87'. A zašto ne pređeš na 5.01 ili 5.2 ? Imaš gomilu bublioteka, a u nanform.lib se valjda nalazi funkcija koja radi to što tebi treba... Ă> Interesuje me dali neko zna kako najbolje iz aplikacije, zaboravio sam već šta S87 ima..., probaj: datum=date() get datum read string="date "+dtoc(datum) run &string
clipper.866 cnenad,
ŁŁŁ Sve PRG-ove treba da prekompiliras sa C5.1, i tek tako ŁŁŁ dobijeneĘ OBJ▀-oů_nůve│ÚCĘ────▀(linija me zezacr pa ne znam ŁŁŁ sta sam stvarno nap´kisao) ŁŁŁ ŁŁŁ Tako dobiene OBJ-ove linkuj. Ne znam da li znas. Bez uvrede. ŁŁŁ U upot│rebiÚC│Ę su RTLINK ▀ili BLINKER═´█. Nikako TLINK ili ŁŁŁ PLINK. ŁŁŁ ŁŁŁ Inace ne znam koji format koristis za linkovanje. On je ŁŁŁ uglavnom jednostavan. Kod kompiliranja je isto tako vazno ŁŁŁ (mozda i vaznije)│ koje opcije koristis. Ma nema problema i nema uvrede. Programe sam i preveo sa novim C5.01 i trebalo je da RTLINK linkuje NIV.OBJ i NIV_FUNC.OBJ sto je radilo u S87 (sa TLINK) ali ovde nece. Onda sam jedno 30 puta menjao sintaksu za linkovanje i nije uspelo. Onda rekoh, ajd da probam da taj NIV_FUNC.PRG stavim na kraj NIV.PRG-a i lepo prevedem i linkujem samo NIV.OBJ i sve proradi kako treba. Meni ovo bas cudno deluje. Kad smo vec kod te funkcije SETCOLOR() na koji nacin ona resetuje prethodno postavljene boje ?
clipper.867 cnenad,
Interesuje me jedna stvar. Koliko sam razumeo u CLIPPER-u 5.01 je uvedeno dodeljivanje vrednosti promenljivima na sledeci nacin xxxxx := 42 A uporedjivanje promenljivih se vrsi normalno sa potrebnim matematickim znakovima, jel tako ? Znaci bilo bi pozeljno da u svim svojim programima izvrsim zamene i dodam umesto ( = ) znak ( := ) (normalno bez zagrada) ? Ako je pozeljno, ima li neki programcic koji bi to mogao automatski da uradi da ne jurcam po sorsu i trazim ?
clipper.868 bstevan,
>> A zašto ne pređeš na 5.01 ili 5.2 ? To nije sporno ali aplikacija koja proverena i radi 2 godine kod korisnika, samo zbog jedne izmene da celu prilagodjavam na 5.01 ili 5.2, a hvala ja ne bih. >> datum=date() >> get datum >> read >> string = "date "+dtoc(datum) >> run &string === Ovo run mnogo smeta jer traži mnogo od programa i jako je neprijatno. No' ipak hvala smislio sam način kako da rešim problem, ali ne preko menjanja sistemskog datuma u računaru. Ali bih pitanje ostavio otvoreno, kako bez korišcenja RUN naredbe promeniti sistemski datum u računaru iz aplikacije pisane u S87'. pozdrav, BSTEVAN
clipper.869 dr.grba,
>> Kad smo vec kod te funkcije SETCOLOR() na koji nacin ona resetuje >> prethodno postavljene boje ? Postavi zastareli oblik, komandu SET COLOR TO , bez argumenata. Ovo će da vrati na crno-beli ispis, onaj default oblik. A ako te interesuje doslovni oblik funkcije, zaviri u STD.CH, baš mi se nešto sad ne da... Ali oblik je nešto poput : #define SET COLOR TO (<c>) SetColor(<c>) Izvini ako sam pogrešio, malo sam lenj da proverim, toplo mi je... A ako hoćeš da vratiš neke tvoje egzotične boje nakon nekih drugih, takođe egzotičnih, napravi stek za boje. Lepo je u Spence-ovoj knjizi opisano kako se to radi...
clipper.870 dr.grba,
>> Ako je pozeljno, ima li neki programcic koji bi to mogao automatski >> da uradi da ne jurcam po sorsu i trazim ? Jurcaj i traži, da ne bi posle mislio "pa gde je greška?", jer kako nekom programu ili editoru objasniti razliku između operatora dodele i operatora logičkog poređenja?
clipper.871 d.petrovic,
Ă> Programe sam i preveo sa novim C5.01 i trebalo je da RTLINK Ă> linkuje NIV.OBJ i NIV_FUNC.OBJ sto je radilo u S87 (sa TLINK) ali Ă> ovde nece. Ă> Onda sam jedno 30 puta menjao sintaksu za linkovanje i nije Ă> uspelo. Onda rekoh, ajd da probam da taj NIV_FUNC.PRG stavim na Ă> kraj NIV.PRG-a i lepo prevedem i linkujem samo NIV.OBJ i sve Ă> proradi kako treba. Može biti da si koristio static promenljive pa nisi niv_func preveo sa opcijom "/n".
clipper.872 d.petrovic,
Ă> To nije sporno ali aplikacija koja proverena i radi 2 godine Ă> kod korisnika, samo zbog jedne izmene da celu prilagodjavam na Ă> 5.01 ili 5.2, a hvala ja ne bih. Ne treba ništa da menjaš, jedino sve prevedeš njime. Zadržao je kompatibilnost osim (možda, ni ja više nisam siguran) oko dodeljivanja. Ne mogu sebe da ubedim da mi nije u jednom delu bio problem da sve "=" zamenim sa ":=" i to samo u jednoj proceduri. Ipak pokušaj sve da prevedeš sa 5.01, trebalo bi da proradi. Ă> Ali bih pitanje ostavio otvoreno, kako bez korišcenja RUN naredbe Ă> promeniti sistemski datum u računaru iz aplikacije pisane u S87'. Mislim da iz samog S87 ne može, jedino dodati funkciju u assembleru (ili C-u)
clipper.873 d.petrovic,
Ă> Ako je pozeljno, ima li neki programcic koji bi to mogao Ă> automatski da uradi da ne jurcam po sorsu i trazim ? Moraš da tražiš, zbog poređenja...
clipper.874 balinda,
Ima li ko iskustva sa Flipperom ili poseduje neku dokumentaciju?
clipper.875 nbatocanin,
Primetih jedan nedostatak dibagera u Clipper-u 5.2: ako imate programe u nekoliko dirova, pa hoćete da otvorite neku datoteku koja nije u tekućem, ranije je bilo dovoljno da otkucate njen naziv, a dibager bi sam dodao pun naziv. Na primer, vi otkucate PRINT, a on doda D:\BASE\SYS5\PRINT.PRG. Naravno, mora se postaviti odgovarajući "Path for Files". E, novi i bitno šareniji dibager ne prihvata čak ni samo PRINT, (mora ekstenzija) a o produženju naziva da i ne govorim ;(( Doduše, ima nekih drugih dobrih osobina.
clipper.876 cnenad,
ŁŁŁ>> Kad smo vec kod te funkcije SETCOLOR() na koji nacin ona ŁŁŁ>> resetuje prethodno postavljene boje ? ŁŁŁ Postavi zastareli oblik, komandu SET COLOR TO , bez ŁŁŁ argumenata. Kad sam prevodio sa C5.01 nisam ni menjao naredbu SET COLOR TO ali je on prijavio gresku i kad sam izbacio tu naredbu sve je preveo bez problema. Dakle, pitanje i dalje ostaje otvoreno.
clipper.877 cnenad,
ŁŁŁ Moze biti da si koristio static promenljive pa nisi niv_func ŁŁŁ preveo sa opcijom "/n". Nigde nisam stavio STATIC niti sam preveo programe sa opcijom "/n" !?!
clipper.878 cnenad,
Kako mogu da napravim sledecu stvar: da kad se vrsi poziv exe fajla iz dos-a prenese odredjeni argument ili parametar programu koji treba da znaci da ne treba da izvrsi deo programa gde se startuje uvodni deo ekrana. Dajem primer source koda: glavni.prg ide ovako do while .t. clear all close all public datum public naslovna, p public w, n, zut, b, g, bg, r, rb, gr, inverzno, prazno, siv, form, srm // setovanja programa do parametr do provera // poziva program koji proverava da li je uradjena naslovna iz=0 do while iz<9 clea do while .t. do ram set message to 17 center set wrap on set delimiters to "[]" set delimiters off m_izbor=1 // komande za ispis menija clear typeahead menu to m_izbor do case case lastkey()=27 do nista exit case m_izbor=1 do prozor1 exit ... // itd. endcase enddo iz=0 if iz<9 loop else exit endif enddo enddo return provera.prg naslovna="uradjeno" <--- e ovaj parametar (kako to izvesti) if .not. iscolor() // setovanja boja endif if naslovna="uradjeno" return else do ekran endif set color to w/n return Nadam se da mi necete zameriti sto sam Vam poslao malo mog izvornog koda. Posto vec stoji taj parametar naslovna="uradjeno" nece se vrsiti startovanje glavnog ekrana ali bih to u zavrsnoj verziji izbacio tako da se uvek startuje naslovni ekran osim ako se iz dos linije za poziv ne ubaci neki parametar koji ce staviti do znanja programu da ne prikazuje naslovni ekran. To mi je strasno potrebno, pa ako mozete da pomognete...
clipper.879 snemcev,
>> Ako je pozeljno, ima li neki programcic koji bi to mogao automatski >> da uradi da ne jurcam po sorsu i trazim ? Uzmi bilo koji editor i uradi Search&Replace. Alternativa (za >> xx .prg) je program SNR iz Sezamovih direktorijuma.
clipper.880 dejanr,
>> da kad se vrsi poziv exe fajla iz dos-a prenese odredjeni argument ili >> parametar programu koji treba da znaci da ne treba da izvrsi deo >> programa gde se startuje uvodni deo ekrana. Parameter a If PCount()=1 x:=a Else x:=123 End If ...
clipper.881 nikac,
>■ To nije sporno ali aplikacija koja proverena i radi 2 godine >■ kod korisnika, samo zbog jedne izmene da celu prilagodjavam na >■ 5.01 ili 5.2, a hvala ja ne bih. Neznam zbog sta to moras da prilagodjavas... Mislim, moj cale je VEOMA lako presao sa summer 87 na 5.01 i to sa nekim minimalnim ili nikakvim(sad se bas nesecam najbolje) prepravkama. Samo ces da dobijes brzi kod kad ga kompajliras sa 5.01. -=Nikac=-
clipper.882 nikac,
>■ Interesuje me jedna stvar. Koliko sam razumeo u CLIPPER-u 5.01 >■ je uvedeno dodeljivanje vrednosti promenljivima na sledeci >■ nacin Koliko ja znam ne postoji takva izmena. 5.01 je nadskup s87 tj. skoro u potpunosti su kompatibilni. -=Nikac=-
clipper.883 d.petrovic,
Ă> Nigde nisam stavio STATIC niti sam preveo programe sa opcijom Ă> "/n" !?! Brži su mi prsti od pameti :). Sada sam se setio da je pojenta u tome što su programi bili pisani u S87. Opcijom "/n" treba prevoditi kada koristiš eksterne static promenljive, tada su promenljive vidljive na nivou modula. Sad žurim, pogledaj nenadov umetak u nekim starijiim računarima...
clipper.885 d.petrovic,
Ă> da kad se vrsi poziv exe fajla iz dos-a prenese odredjeni Ă> argument ili parametar programu koji treba da znaci da ne treba Ă> da izvrsi deo programa gde se startuje uvodni deo ekrana. čurim i mrzi me da pregledam ceo source koji si ostavio, valjda ti treba sledeće: glavni_prog parameters a,b,c d:=pcount() // vraca broj prenetih parametara // svi parametri preneti iz dos-a su "C" tip, ako ti treba brojni // izvrsis konverziju do case case d==0 // nije prenet parametar // sve tri promenljive postaviti na default case d==1 // a je prenet // b:= default // c:= default case d==2 // c:= default case d==3 // sva 3 su preneti otherwise // beep, preneto previse parametara endcase
clipper.886 snemcev,
>> Posto vec stoji taj parametar naslovna="uradjeno" nece se vrsiti >> startovanje glavnog ekrana ali bih to u zavrsnoj verziji izbacio tako >> da se uvek startuje naslovni ekran osim ako se iz dos linije za poziv >> ne ubaci neki parametar koji ce staviti do znanja programu da ne >> prikazuje naslovni ekran. Pri dekleraciji glavne procedure, navedi i neki parametar i u njemu ćeš dobiti prvi parametar iz komandne linije, u drugom drugi itd. Alternativa (za Clipper '87) je da posle zaglavlja (procedure bla_bla) navedeš PARAMETERS p1, p2...
clipper.887 snemcev,
Jedno interesantno pitanje: kako saznati ime datoteke koja je otvorena u trenutno aktivnoj radnoj oblasti? Ne, neću alias, već pravo ime datoteke. Izgleda mi da Clipper to nema, a nema ni NanFor v2.1
clipper.888 nbatocanin,
> Ali bih pitanje ostavio otvoreno, kako bez korišcenja RUN > naredbe promeniti sistemski datum u računaru iz aplikacije > pisane u S87'. Najprostije i najčistije preko DOS funkcije Set System Date iz C-a ili ASM-a.
clipper.889 nbatocanin,
> xxxxx := 42 Ovo je on-line dodeljivanje (može se koristiti i u okviru izraza), ali ostao je i stari metod sa xxx = 42. > A uporedjivanje promenljivih se vrsi normalno sa potrebnim > matematickim znakovima, jel tako ? Da. > Znaci bilo bi pozeljno da u svim svojim programima izvrsim > zamene i dodam umesto ( = ) znak ( := ) (normalno bez > zagrada) ? Da, ali NIJE obavezno: radiće i sa "=". > Ako je pozeljno, ima li neki programcic koji bi to mogao > automatski da uradi da ne jurcam po sorsu i trazim ? Nije problem napraviti takav program. Morao bi od linija da prepoznaje samo ovo na početku reda: <Promenljiva> = <nevazno> i da ga transformiše u: <Promenljiva> := <nevazno> al kao što rekoh, ne treba ti :)
clipper.890 nbatocanin,
Clipper 5.2 NE ispisuje promenljivu koja se učitava pomoću GET-a dok se odgovarajućem objektu ne pošalje poruka DISPLAY(). U vezi diskusije za učitavanje logičke vrednosti, to znači da se sada može veoma prosto napraviti BEZ izmene programa da sva učitavanja logičkih vrednosti umesto .T./.F. rade sa DA/NE.
clipper.891 bstevan,
>>> pokušaj sve da prevedeš sa 5.01, trebalo bi da proradi. Hocu jer ima još njih koji na tome insistiraju. Navodno dobija se brži kod.Dali je to tako i koliko je brži ? >>> assembleru (ili C-u) Izgleda da je to ipak jedino rešenje. pozdrav, BSTEVAN
clipper.892 bstevan,
>>> Samo ces da dobijes brzi kod kad ga kompajliras >>> sa 5.01. Koliko je to brze, pitaj caleta.Ako je to za 5% i vise vredi to probati. Nego sumnjam da samo kompajliranjem dobijaš brzi kod ali ko zna, moze biti. pozdrav, BSTEVAN
clipper.893 bstevan,
>>> Najprostije i najčistije preko DOS funkcije Set System Date iz >>> C-a ili ASM-a. Izgleda da je to pravo rešenje, nešto slično je predložio i d.petrovic u poruci 9.872. Nenade imam pitanje, dali programe pisane u S87' kad se prevedu (kompajliraju) sa 5.01, njihov kod bude brži, bez nekih izmena naravno, sem oni rutinskih što se spominju kod dodeljivanja ? pozdrav, BSTEVAN
clipper.894 dejanr,
>> Nenade imam pitanje, dali programe pisane u S87' kad se prevedu >> (kompajliraju) sa 5.01, njihov kod bude brži Koliko sam ja primetio (bez nekog naročito opsežnog testiranja), ne bude. Brzina rada je približna, a ako ima promene ona je na gore tj. program postane za žilet sporiji.
clipper.895 bstevan,
>>> postane za žilet sporije. Upravo sam preveo aplikaciju za obradu ličnih zarada u 5.01 i testirao i verovali ili ne sporije je za nekoliko žileta. Dejane tvoj odgovor je i potvrdjen ovim testiranjem. Znaci ipak treba izvršiti radikalne promene da bi dobio brži kod. pozdrav, BSTEVAN
clipper.896 bstevan,
Ipak ima i nešto što dobijaš prevodjenjem u 5.01, a to je da sad aplikacija može biti glomaznija bez straha da ce program pasti. Ali o tome je vec bilo ovde reci ne bih da ponavljam potvrdjene cinjenice.
clipper.897 bstevan,
>>> Samo ces da dobijes brzi kod kad ga kompajliras >>> sa 5.01. Više nema sumnje u to jer sam upravo iskompajlirao sa 5.01 i izvršio testiranje. Rezultaprogram je sporiji. Za brži kod mora se izvršiti i radikalne izmene u samom programu. Inacslažem se da neke vece izmene da bi ga preveo nisam imao, ali sam izgubio malo u brzini. pozdrav, BSTEVAN
clipper.898 ndragan,
/>> string = "date "+dtoc(datum) />> run &string / ali ne preko menjanja sistemskog datuma u računaru. Sad sam se setio nečeg. Neke kolege programeri su, iz ne znam kojih razloga, insistirali na upisivanju sistemskog datuma kao datuma knjiženja. Ovo je skriveni zajeb, jer evo šta se događa: - dokumentacija u firmi kasni - operateri hoće da ispadnu ažurni ili da bar izgleda da je proknjiženo istog meseca - operateri će podesiti sistemski datum na 31.12 ili 31.01 - dođeš nešto da uradiš, uradiš Pkzip -u (ili -f), i ne pokupi ti baš ništa što je tog dana rađeno (Ardž isto nema ugrađenu veštačku inteligenciju da prepozna vraćene datume) - odneseš to na drugo mesto, znaš da na toj_i_toj disketi imaš bolju verziju rutine - raspakuješ i vidiš da imaš neku staaaru verziju - ne možeš sam sebi da se načudiš šta si kog đavola radio tamo 31.12? Sistemski datum, ako se beleži, nek se beleži da operater ni ne zna. Datum knjiženja, nek' kuca šta hoće. Ako ukuca nešto bez veze, opomenem ga (recimo <date()-100 ili >date()+5 ), i onda pustim da ispravi ili ostanje pri svom.
clipper.899 cnenad,
ŁŁŁ nivou modula. Sad zurim, pogledaj nenadov umetak u nekim ŁŁŁ starijiim racunarima... Kad smo vec kod tog umetka bas sam razmisljao da posaljem poruku u MALE.OGLASE da mi treba taj umetak pa ako ga neko ima neka salje MAIL da mi pozajmi da ga fotokopiram.
clipper.900 nikac,
>■>>> postane za žilet sporije. >■ >■ Upravo sam preveo aplikaciju za obradu ličnih zarada >■ u 5.01 i testirao i verovali ili ne sporije je za >■ nekoliko žileta. >■ Dejane tvoj odgovor je i potvrdjen ovim testiranjem. >■ Znaci ipak treba izvršiti radikalne promene da bi dobio >■ brži kod. Neznam na koju semu, ali video sam svojim ocima. Program pisan na summer87-ici prvi put prekompajliran sa novim 5.01. Posle par sitnih izmena (cisto sintaksne razlike nekih specificnih funkcija) program je proradio i razlika u radu sa bazama je vidna i ogromna... radi bar dva puta brze. Mozda ima neke veze jer je program ogroman? Stvarno neznam?! -=Nikac=-
clipper.901 dr.grba,
>> prepravkama. Samo ces da dobijes brzi kod kad ga kompajliras >> sa 5.01. Zaboga! Ovo si rekao kao da je to jedina prednost Clippera 5.xx. Molim te, reci da nisi onako mislio!
clipper.902 dr.grba,
>> Navodno dobija se brži kod.Dali je to tako i koliko je brži ? Slušaj, u jednim malo starijim Računarima ima tekst Nenada Batoćanina pod naslovom "Kralj je stigao", u kome Nenad detaljno i studiozno priča o (tada) novim konceptima projektovanja Clippera, kao i alatima okoline. Za prvi susret sa Clipperom 5.xx veoma upotrebljiv i koristan tekst. U rind bazi možeš uz malo truda pronaći referencu na taj tekst.
clipper.903 bstevan,
>>> Sistemski datum, ako se beleži, nek se beleži da operater ni >>> ne zna. Znaš imao sam neku ideju da promenim sistemski datum i ponovo vratim, ali sam to prevazišo novom idejom kao što si i sam spomenuo da on i ne zna. Ali me kasnije zagolicala ta prva ideja, a ispade da u samom kliperu to nemožemo rešiti, vec samiz C-a ili asemblera. Znači to je više bilo znatiželj dali je neko to rešio iz klipera, no mislim da su ovake diskusije dobro došle za sve. pozdrav, BSTEVAN
clipper.904 bstevan,
>>> u radu sa bazama je vidna i ogromna... radi bar dva puta >>> brze. Mozda ima neke veze jer je program ogroman? >>> Stvarno neznam?! Da zaključimo, samo čistim prevodjenjem aplikacije pisane na S87' (odnosno kompajliranjem) iste sa 5.01 nedobijamo brži kod. Odnosno nešto sporiji, a izmenama u ključnim delovima dobijamo na brzini, odnosno što bolje iskoritimo mogucnosti novog kliper dobijamo brži kod. To koliki je program ne utice mnogo na brzinu.Jer ja imam aplikaciju negde oko 610.000,00 Kb i slobodne memorije pri njenom radu oko 230 Kb, znaci sasvim dovoljno za bilo kakav rad pa cak i za RUN iz iste, inace ta aplikacija je kompajlirana sa 5.01. pozdrav, BSTEVAN
clipper.905 bstevan,
>>> U rind bazi možeš uz malo truda pronaći refrencu na taj tekst. Ma to je ok, sve njegove tekstove o clipperu sam pratio jasne su mi prednosti u odnosu na S87' i to nije sporno. Ovde je konkretno bilo govora da se samo suvim kompajliranjem programa pisanog na S87' sa Clipperom 5.01 nedobija na brzini. Vec se moraju kriticni momenti u programu malo srediti. pozdrav, BSTEVAN
clipper.906 d.petrovic,
Ă> Zaboga! Ovo si rekao kao da je to jedina prednost Clippera 5.xx. Ă> Molim te, reci da nisi onako mislio! Pa reč je o programu koji je pisan za S87, kod je za S87, ne može pretprocesor da uradi sve umesto tebe. Ako si pisao i=i+1 neće ga prebaciti u i++. žoveka smo ubeđivali da prevede program sa 5.01 da bi mogao da doda nekoliko funkcija iz drugih biblioteka, a ne da ga ubrza. S druge strane niko mu ne brani kad je to već uradio da malo prošeta kroz source i eventualno nekoliko kritičnih funkcija ubrza, samo mislim da je to ubrzanje zanemarljivo.
clipper.907 d.petrovic,
Ă>> ■ Upravo sam preveo aplikaciju za obradu ličnih zarada Ă>> ■ u 5.01 i testirao i verovali ili ne sporije je za Ă>> ■ nekoliko žileta. Ă> Neznam na koju semu, ali video sam svojim ocima. Ă> Program pisan na summer87-ici prvi put prekompajliran sa Ă> novim 5.01. Posle par sitnih izmena (cisto sintaksne razlike Kanda ta dva programa nije pisao isti čovek ? ;)))
clipper.908 jtitov,
> aplikaciju negde oko 610.000,00 Kb i slobodne memorije ------------- Jel to novih ili starih Kb??? :))) A na cemu drzis tu aplikaciju? Na CD ROM-u?
clipper.909 bstevan,
>>> Jel to novih ili starih Kb??? :))) A na cemu drzis tu aplikaciju? >>> Na CD ROM-u? Ne to je trenutno žiralna vrednosDržim ga u ......(citaj kako hoceš). pozdrav, BSTEVAN
clipper.910 solajac,
>> To koliki je program ne utice mnogo na brzinu.Jer ja imam >> aplikaciju negde oko 610.000,00 Kb i slobodne memorije >> pri njenom radu oko 230 Kb, znaci sasvim dovoljno za >> bilo kakav rad pa cak i za RUN iz iste, inace ta aplikacija >> je kompajlirana sa 5.01. Malo o brzini C5.01: - Program pisan u C5.01 radi sa VIRTUELNOM memorijom, SWAP-uje na disk pa zato je (u nekim situacijama) nesto sporiji. Ako imate EXPAND memoriju SWAP-ovace u nju pa ce raditi brze. Ali zato programi od 600K i vise K-ova za njega nisu nikakav problem. - Ako ne zelite da program (ili neki njegovi delovi) SWAP-uje i tako ga ubrzate, za to postoje odgovarajuce opcije prili- kom linkovanja. - Ako se PRIVATE i PUBLIC promenljive zamene sa LOCAL, program ce raditi brze. Ovo nije uvek moguce, a nije ni preporucljivo u programima koji rade. Moze biti izvor novih gresaka. Kratko podsecanje: Formalni parametri u procedurama ili fu- nkcijama, ako se deklarisu iza PARAMETERS tretiraju se kao PRIVATE, a ako se navedu uz ime procedure, izmedju zagrada, tretiraju se kao LOCAL. - Program ce raditi brze ako se MACRO-i zamene sa CODE-BLOCK. - Verovali ili ne: SEEK radi brze od SKIP (ovo sam procitao u NGUIDE.ART -skino sa SEZAMA-, ali nisam proverio) When one can make SEEK instead of skipping through database, it's much faster ... - Program cete najvise ubrzati ako podatke koje obradjujete, organizujete na PRAVI nacin. Ako ste tu omanuli, nece vam pomoci ni C5.01 ni C ni ASEMBLER. ----------------------------------------------------------- C87 -> C5.01 - Moje programe pisane u C87 samo sam prekompilirao sa C5.01 i sve je funkcionisalo bez greske. Vidjao sam programe kod kojih su morale biti uradjene minimalne izmene (greske se pojave vec u kompilaciji, najkasnije u linkovanju). Posedujem i primerak programa koji nisam uspeo, a ni njegov slavni autor, da prevedem sa C87 na C5.01. U C87 radi, a sa C5.01, kako naleti na neki READ padne sa Error BASE/1066 Argument error: conditional Called from (b)__GET(0) Called from obj: SETFOCUS(0) Called from GETREADER(0) Called from READMODAL(0) Called from UNOS_ORG(2645) .... ----------------------------------------------------------- Znak = ili := - Clipperu je svejedno da li koristite (u komandama koje rade) = ili :=. Znak := je uveden zbog nekih novih komandi. - Da malo prosirimo. Uveden je novi znak za poredjenje ==. On nije prosta zamena za =. Znak == radi kao da je setovan EXACT ON, a = kao EXACT OFF. (Ovo moze uticati da program pod C87 ne radi isto kao pod C5.01) - Da jos malo prosirimo: Uveden je i operator += (-=, *=...). Opasan je i ja ga uglavnom (zbog licnog iskustva) izbegavam. Primer: br1 := 5.23 br2 := 3.345 Napisali ste brzopleto: br1 += ROUND(br2,0) zeleci da skraceno napisete: br1 := ROUND(br1 + br2) Ako brzopleto zakljucite, mozda cete pomisliti da je rezultat br1=8 Ako se ova instrukcija razvije: br1 := br1 + ABS(br2) odmah se vidi da to nije ono sto smo zeleli, a cak ako i brzopleto zakljucite videcete da je rezultat br1=8.23 Probajte i sa drugim funkcijama. Veselje je isto. (Izvinjavam se onima koji ovakve brzoplete greske ne prave). ----------------------------------------------------------- Zavrsne odredbe - Izvinjavam se autoru pitanja na koje odgovaram sto sam isko- ristio njegovo pitanje da odgovorim i na jos neka koja su bila aktuelna u poslednje vreme. - Zahvaljujem Dr.Grbi na korisnim i dobronamernim sugestijama. kao sto se iz prilozenog vidi. (I ubuduce su dobrodosle, malo sam taze na SEZAMU). Pozdrav, Solajac.
clipper.911 nikac,
>■ Zaboga! Ovo si rekao kao da je to jedina prednost Clippera >■ 5.xx. Molim te, reci da nisi onako mislio! Dobro, dobro nemoj da se ljutis... ;) Ja sam to reko samo onako usput. Inace nisam bas maher za clipper, ali sam bio prisutan kada je cale prebacivao program sa s87 na 5.01 pa nisam mogao da odolim a da ne kazem moja (tj. njegova) iskustva u vezi toga... Pozdrav, -=Nikac=-
clipper.912 d.petrovic,
Samo da dopunim... Ă> - Program pisan u C5.01 radi sa VIRTUELNOM memorijom, SWAP-uje Ă> na disk pa zato je (u nekim situacijama) nesto sporiji. Ako Pri startovanju program ucitava overleje jedan po jedan, zavisno od ucestalosti poziva i raspolozive memorije (to se regulise i u enveroimentu). Zbog toga je nesto sporiji u startu, ali se kasnije izjednaci (posle nekoliko akcija u programu) pa mozda i ubrza u odnosu na S87 (opet zavisi od raspolozive memorije). Ako iskljucite keser i na sporom disku sa dosta memorije to je itekako primetno (sporost pa ubrzanje). Ă> - Izvinjavam se autoru pitanja na koje odgovaram sto sam isko- Ă> ristio njegovo pitanje da odgovorim i na jos neka koja su Ă> bila aktuelna u poslednje vreme. Samo izvoli :)
clipper.913 bstevan,
>>> Malo o brzini C5.01: Stvarno mi je drago što si se potrudio i detaljnije da objasniš neke stvari oko brzine 5.01.Znači ostajemo na tome da se cistim prevodjenjem sa S87' -> 5.01 ne dobija u brzini sem u delu koji si objasnio.To potvrdjuje da se ipak mora izvršiti neka izmena. >>> -Ako se PRIVATE i PUBLIC promenljive zamene sa LOCAL, program ce raditi brze. Ovo nije uvek moguce, a nije ni preporucljivo u programima koji rade. Moze biti izvor novih gresaka. U ovom se slažem sa tobom, nemam šta da dodam. >>> -Program cete najvise ubrzati ako podatke koje obradjujete, organizujete na PRAVI nacin. Ako ste tu omanuli, nece vam pomoci ni C5.01 ni C ni AMBLER. Ovo odavno cekam da neko primeti, ovde se jako malo govorilo o organizaciji podataka za kasnije obradjivanje, to smatram da je kljuc mnogih diskusija o brzini programa i ako moramo priznati da su programi na C,MODUL-2,PASCAL i ASEMBLER brži od Clipper programa ali su zato teški za kasnije održavanje.Ovo mi je reko jedan iskusni C - programer, inace sad u Južnu Afriku. Inace postaje glupo i monotono kad se govori o brzini C-a u odnosu na Clipper (uglavnom se vrši to uporedjivanje), stvarno nema smisla.Dejan je jednom dobro razgranicio kad se pocene pisati program treba imati u vidu šta on treba da radi za koje vreme i u kojim prilikama i konacno se odluciti na kom jeziku ga napisati. >>> C87' -> C5.01 Tvrdio sam uporno da se baš svaki program nemože prevesti ladno bez ipak nekih izmena. Evo kod mene je bilo sledecih problema: 1. proc = VAL(PROCENAT) proce = SUBSTR(proc,15,2) proc i proce nije vario i smatrao je da je upitanju nova PROCEDURA. 2.Zatim u vezi SetColor(<ime>) 3.I konacno u vezi DBEDIT Ovu poruku nastavljam u sledecoj. pozdrav, BSTEVAN
clipper.914 bstevan,
a nastavim oko problema u vezi EDIT(). KodBEDIT() sa korisnickom funkcijom za unos podataka imam problem tako kad želim novi slog i izadjem iz nega a nisam otkucao ništa on mi zadnji slog duplira samo na ekran a baza ostaje neizmenjena, ali zato na ekranu imam navodno dva sloga ista (mislim na zadnji slog). Ako to ponovim više puta za toliko puta na ekranu prikaže zadnji slog, pa po broju prikazanih slogova na ranu ispada da ima u bazi npr. 10 sloga a u bazi je ustvari ostalo 5 sloga jer nisam ništa otkucao u novom slogu. Ne shvatam šta je problem ali moguce je da je oko GET-a problem on izgleda ovako: č ROW(),COL() GET get_data PICTURE get_pic(m->e_field) READ Medjutim to se nije dogadjalo u S87', sve je radilo kako treba. Na kraju hvala ti na poruku koju si poslao ono objašnjava mnogo toga(poruka 9.910), a takodje hvala i ostalima ku se ukljucivali , ipak smo neke stvari razjasnili. pozdrav, BSTEVAN
clipper.915 dr.grba,
>> - Zahvaljujem Dr.Grbi na korisnim i dobronamernim sugestijama. >> kao sto se iz prilozenog vidi. (I ubuduce su dobrodosle, malo >> sam taze na SEZAMU). Hvala tebi na toplim rečima, a sad svi na posao (; Dopao mi se tvoj problemski pristup odgovaranju na sopstveno pitanje. Mislim da bi ti u ovom trenutku knjiga koju je napisao Rick Spence mogla dosta pomoći, u njoj postoji goooomila sitnica koje mogu jako da pomognu, problemski je orijentisana i iskustvom potkrepljena.
clipper.916 goranr,
Evo nešto za sve Clipperaše: Menjanje sistemskoůg datuma bez RUN komande! ÔOPAH setdate.zip
clipper.917 nbatocanin,
> Izgleda mi da Clipper to nema, a nema ni NanFor v2.1 Možda i postoji negde interno. Ako ti to treba, zašto ne zameniš USE naredbu svojom koja pravi tabelu gde je šta otvoreno?
clipper.918 nbatocanin,
> Hocu jer ima još njih koji na tome insistiraju. > Navodno dobija se brži kod.Dali je to tako i koliko je > brži ? Kod dobijen Clipper-om 5.xx je u principu sporiji od koda dobijenog sa Summer'87. Međutim, tu ima jedna kvaka. Brzina se gubi u dinamičkim operacijama sa overlejima i tu se usporenje oseća kada se, na primer, šetaš kroz menije. Tada se traži učitavanje novih blokova programa, pa ako računar ima malo memorije, a program je veliki, to može da potraje toliko da se oseti usporenje. Međutim, najvažnije operacije (pretraživanje, indeksiranje, ...) je u većini slučajeva brže sa 5.0, jer postoji interni sistem keširanja podataka. Sledi, programi u Summer'87 verziji su podjednako brzi u svim delovima, dok 5.0 ima neke delove (zaista prihvatljivo) usporene, ali su zato najvažniji delovi ubrzani, osim ako se ne radi sa nekom specifičnom konfiguracijom.
clipper.919 nbatocanin,
> Nenade imam pitanje, dali programe pisane u S87' kad se > prevedu (kompajliraju) sa 5.01, njihov kod bude brži, bez > nekih izmena naravno, sem oni rutinskih što se spominju > kod dodeljivanja ? Već sam odgovorio - moguće, mada u opštem slučaju - ne. Ako praviš izmene, obavezno pređi na LOCAL i STATIC promenljive, kodne blokove i program će ti svakako biti brži.
clipper.920 d.petrovic,
Ă> Kod dobijen Clipper-om 5.xx je u principu sporiji od koda Ă> dobijenog sa Summer'87. Međutim, tu ima jedna kvaka. Brzina se Ă> gubi u dinamičkim operacijama sa overlejima i tu se usporenje Ă> oseća kada se, na primer, šetaš kroz menije. Tada se traži Ă> učitavanje novih blokova A MENU.OBJ je dovoljno mali i često pozivan da zaslužuje da bude resident :)
clipper.921 bstevan,
>>> Evo nešto za sve Clipperaše: Menjanje sistemskog datuma bez RUN >>> komande! Gorane to je što sam hteo, hvala na prilogu. pozdrav, BSTEVAN
clipper.922 bstevan,
>>> Već sam odgovorio - moguće, mada u opštem slučaju - ne. Ako >>> praviš izmene, obavezno pređi na LOCAL i STATIC promenljive, >>> kodne blokove i program će ti svakako biti brži. Nenade hvala na odgovoru, i svima koji su ucestvovali u raspravi o pitanjima koji su pokrenuti u vezi promene sitemskog datuma i o brzini prilikom prevodjenja sa S87' -> 5.01. pozdrav, BSTEVAN
clipper.923 gaston,
Zdravo ! Skoro sam nabavio CA Clipper 5.2, evropsku verziju i skinuo sa Sezam-a zakrpu za verziju 5.2A, ali je ona samo za americku verziju Clipper-a. Naravno, ne mogu da zakrpim Clipper 5.2. Da li je nekko resio problem i kako ? Moze i slanje zakrpe americke verzije...
clipper.924 goranr,
OK, javi kako radi, i javi ako ti treba ASM sors.
clipper.925 dr.grba,
>> > Izgleda mi da Clipper to nema, a nema ni NanFor v2.1 >> >> Možda i postoji negde interno. Ako ti to treba, zašto ne zameniš >> USE naredbu svojom koja pravi tabelu gde je šta otvoreno? Zlobo, lepo sam ti rekao... P.S. Izvinjavam se ostalima, reč je o jednoj privatnoj poruci, koja sadrži sugestiju sličnu Nenadovoj.
clipper.926 dr.grba,
>> A MENU.OBJ je dovoljno mali i često pozivan da zaslužuje da bude >> resident :) MENU.OBJ je u redu, nego je reč o procedurama/funkcijama pozivanim iz menija. Verovatno mali broj programera vodi računa o ovakvim stvarima. Ima jedna zanimljiva rasprava o linkovanju, doduše u Cl S'87, ali principijelno zanimljiva, u knjizi S. Straley-a.
clipper.927 d.petrovic,
Ă> MENU.OBJ je u redu, nego je reč o procedurama/funkcijama Ă> pozivanim iz menija. Verovatno mali broj programera vodi računa o Ă> ovakvim stvarima. Šio mu ga Džordž. Pa kad izabereš stavku u meniju najčešće se otvori po neka baza? E, ako se prvo učita overlej pa onda otvara dalje bazu(e) ko će ga znati šta kad radi. Uostalom vrlo brzo nauči šta da zadržava u memoriji od overleja. Zanimljive stvari su mi se dešavale kad sam samo šetao kroz menije, a menu.obj linkovao sa resident. Startujem prvo recorder.com, pa jedan program, pa resetujem recorder, pa drugi program. Samo dok uđeš u menije i izađeš 40-ak puta otvori sjebe samoga.
clipper.928 bstevan,
>>> OK, javi kako radi, i javi ako ti treba ASM sors. Radi ok, baš ono što sam i mislio. Takodje bi ti bio zahvalan da pošalješ i ASM sors. pozdrav, BSTEVAN
clipper.929 snemcev,
>> - Verovali ili ne: SEEK radi brze od SKIP (ovo sam procitao u >> NGUIDE.ART -skino sa SEZAMA-, ali nisam proverio) >> >> When one can make SEEK instead of skipping through database, >> it's much faster ... Ne, ne, ne i po sto puta ne! Gore naveden citat u slobodnom prevodu znači: indexiraj datoteke i traži onaj slog koji ti treba sa SEEK, a ne da se od početka baze pa do sloga koji ti treba šetaš sa SKIP, slog po slog.
clipper.930 ialeksic,
IA> zdravo svima! IA> Ja sam novi korsnik i imam jednu molbu. IA> IA> Evo kratkog (!?) uvoda: IA> Trenutno pravim funkcijsku biblioteku rutina za Clipper kojom bi IA> se komuniciralo sa hostom korscenjem razlicitih adaptera. Pri tom IA> koristim neke gotove API-je, a za neke pisem sam drajvere u C-u. IA> IA> Svojevremeno sam imao u rukama knjigu, koju mislim da s pravom IA> mnogi hvale u ovoj temi: Rick Spence... Tamo je koliko se secam IA> bila jedna zgodna mala rutina (u poglavlju za Extend sistem) koja IA> preusmerava pozive standardnih C funkcija _MALLOC() i _FREE() u IA> Clipper funkcije _XGRAB() i _XFREE() tako da se ne moraju menjati IA> funkcije originalnih servisa (na primer iz gotovog APIa) a i IA> bazne rutine se onda mogu pozivati i iz C-a i iz Clippera, IA> Foxa(?) itd. IA> IA> Elem, ne zelim da izmisljam toplu vodu, a knjigu - je li - nemam, IA> niti sam je nasao u prodaji (trazio!). Zato molim neku dobru dusu IA> :) da to stavi na mail ili bilo gde na SEZAMU (kako cu to posle IA> da nadjem?). IA> IA> Pozdrav svima uz odlican utisak o ovoj konferenciji. IA> IA> Ivan A.
clipper.931 goranr,
OK, evo ga. setdate.asm
clipper.932 bstevan,
>>> Verovali ili ne: SEEK radi brze od SKIP (ovo sam procitao u >>> NGUID.ART -Skinuo sa SEZAMA,ali nisam proverio) Ali to nije za verovali ili ne.VERUJEM stim da sam to i probao. pozdrav, BSTEVAN
clipper.933 bstevan,
>>> OK, evo ga. HVALA ! pozdrav, BSTEVAN
clipper.934 dr.grba,
>> IA> Elem, ne zelim da izmisljam toplu vodu, a knjigu - je li - nemam, >> IA> niti sam je nasao u prodaji (trazio!). Zato molim neku dobru dusu Ako te interesuje Spenceova knjiga, bilo je već reči ovde, nazovi "Mikro knjigu", 542-516, oni kjnige distribuiraju uglavnom pouzećem. Ovo zbog cene ): P.S. Molim te, izbaci ono "IA>" sa početka svojih redova, tako liči na quote nečije tuđe poruke, pa malo zbunjuješ nas koji čitamo.
clipper.935 gaston,
3 pitanja: 1. Je li neko uspeo da americkom verzijom zakrpe (PATCH) zakrpi CA Clipper v5.2 i ako jeste kako???? 2. Ima li neko iskustva sa o:Clip (P.M.Freese, CyberSoft) i Object (JHK-Software, Piestany) objektnim bibliotekama? Zvuce vrlo privlacnoa pitam se da li su u praksi upotrebljive... 3. Posedije li neko objektnu lib Class(y) koja se spominje kao alternativa biblioteci o:Clip u dokumentaciji lib Object ?? Gaston- Nesa
clipper.936 snemcev,
>> Možda i postoji negde interno. Ako ti to treba, zašto ne zameniš USE >> naredbu svojom koja pravi tabelu gde je šta otvoreno? He, he, pa zar nemam "knjigu u kojoj sve piše" ;)) Još samo ubacim jedan niz i voila! Dr.Grba mi je baš to u mail-u predložio. Predlog je jednoglasno usvojen.
clipper.937 dejanr,
>> 2. Ima li neko iskustva sa o:Clip (P.M.Freese, CyberSoft) i Object >> (JHK-Software, Piestany) objektnim bibliotekama? Zvuce vrlo privlacnoa >> pitam se da li su u praksi upotrebljive... Bio je prikaz o:Clip-a u "Računarima 82", strana 30
clipper.938 nbatocanin,
> 1. Je li neko uspeo da americkom verzijom zakrpe (PATCH) > zakrpi CA Clipper v5.2 i ako jeste kako???? Baš kao što piše u uputstvu zakrpe, više se ne sećam tačno, ali znam da je bilo prosto. > 2. Ima li neko iskustva sa o:Clip (P.M.Freese, CyberSoft) > i Object (JHK-Software, Piestany) objektnim bibliotekama? > Zvuce vrlo privlacnoa pitam se da li su u praksi > upotrebljive... Probao sam o:Clip i Class(y). Nesumnjivo bolja je Class(y), a kako kažu stranci, bolja je i od ostalih. Što se tiče upotrebljivosti, ogromna je ;) Ali: svaka sledeća verzija Clipper-a zahteva *novu* verziju biblioteke, što obično nije tehnički problem nego želja autora biblioteke. Tako smo ovde videli Class(y) koji radi sa 5.0 ali ne radi sa 5.01! Nabavka novih verzija može biti ogroman problem, pa je zato totalno nepreporučljivo njihovo korišćenje. Još jedna stvar ovome u prilog je i što će Clipper 6.0 sasvim sigurno imati objekti koji nisu kompatibilni sa ovim bibliotekama. Kao prelazno rešenje preporučujem pseudo-objekte (objekte realizovane u čistom Clipper-u). > 3. Posedije li neko objektnu lib Class(y) koja se spominje > kao alternativa biblioteci o:Clip u dokumentaciji lib > Object ?? Nemam neku verziju koja normalno radi: sve su na neki način osakaćene :(
clipper.939 aquarius,
>-> Kako mogu da napravim sledecu stvar: >-> >-> da kad se vrsi poziv exe fajla iz dos-a prenese odredjeni >-> argument ili parametar programu koji treba da znaci da ne >-> treba da izvrsi deo programa gde se startuje uvodni deo >-> ekrana. Ne znam da li to radis u Clipper-u 5.xx, ali ako radis evo... Otvoris novi fajl, npr. MyInc.ch ili u neki postojeci stavis sledece MyInc.ch /bof/ #command FIRSTDEF <xpar> TO <xval> [, <xparn> TO <xvaln> ] => ; <xpar> := IF( <xpar> = NIL, <xval>, <xpar> ) ; [; <xparn> := IF( <xparn> = NIL, <xvaln>, <xparn> ) ] /eof/ >-> Dajem primer source koda: >-> glavni.prg ide ovako #include "MyInc.ch" para MyParam FIRSTDEF MyParam TO Nil E sad MyParam ima vrednost Nil, osim ako na komandnoj liniji ne stavis C:\Glavni uradjeno naslovna := MyParam etc ... IZBACIS !!! => naslovna="uradjeno" i onda if Upper( naslovna ) == "URADJENO" etc ... To bi bilo to... :) ~Aquarius~
clipper.940 aquarius,
>->3. Posedije li neko objektnu lib Class(y) koja se spominje kao alternativa >-> biblioteci o:Clip u dokumentaciji lib Object ?? Poseduje... :) ~Aquarius~
clipper.941 aquarius,
>-> Kako mogu da napravim sledecu stvar: >-> >-> da kad se vrsi poziv exe fajla iz dos-a prenese odredjeni >-> argument ili parametar programu koji treba da znaci da ne >-> treba da izvrsi deo programa gde se startuje uvodni deo >-> ekrana. Ne znam da li to radis u Clipper-u 5.xx, ali ako radis evo... Otvoris novi fajl, npr. MyInc.ch ili u neki postojeci stavis sledece MyInc.ch //////// /bof/ #command FIRSTDEF <xpar> TO <xval> [, <xparn> TO <xvaln> ] => ; <xpar> := IF( <xpar> = NIL, <xval>, <xpar> ) ; [; <xparn> := IF( <xparn> = NIL, <xvaln>, <xparn> ) ] /eof/ //////// >-> Dajem primer source koda: >-> glavni.prg ide ovako #include "MyInc.ch" para MyParam FIRSTDEF MyParam TO Nil E sad MyParam ima vrednost Nil, osim ako na komandnoj liniji ne stavis C:\Glavni uradjeno naslovna := MyParam etc ... Izbacis !!! => naslovna="uradjeno" i onda if Upper( naslovna ) == "URADJENO" etc ... To bi bilo to... :) ~Aquarius~
clipper.942 aquarius,
>->3. Posedije li neko objektnu lib Class(y) koja se spominje kao alternativa >-> biblioteci o:Clip u dokumentaciji lib Object ?? Poseduje... :) ~Aquarius~
clipper.943 cnenad,
Interesuje me da li je moguce da se TBROWSE klasom napravi BROWSE slican paketu DBASE IV gde mogu da se i menjaju podaci u poljima baze a ne samo pregledaju jer primer koji imam u knjizi o kliperu daje istu stvar kao i funkcija DBEDIT() ? Probao sam da napravim sledecu stvar iz clipper-a sto je delimicno uspelo a to je izlaz u DOS i to sa obicnim RUN COMMAND ali kad sam trebao da se vratim u clipper sa exit iz DOS-a racunar se zaglavio. Ima li resenja za ovo ?
clipper.944 cnenad,
Molim jos jednom, ako neko ima umetak iz racunara od Nenada Batocanina da mi ga pozajmi da ga isfotokopiram. Dogovor preko mail-a na CNENAD. Hvala.
clipper.945 ialeksic,
20 DEM SEZAM 30 DEM RS -------------- 50 DEM O-LA-LA!, sta bi bilo da sam se raspitivao za 5.2, dal' bi dobio telefon Computer Associates-a ;>
clipper.946 v.nesic,
> Interesuje me da li je moguce da se TBROWSE klasom napravi BROWSE > slican paketu DBASE IV gde mogu da se i menjaju podaci u poljima baze a > ne samo pregledaju jer primer koji imam u knjizi o kliperu daje > istu stvar kao i funkcija DBEDIT() ? Recimo da uz tbcolumn:cargo stavis kodni blok koji menja polje. Sam Clipper ti postavi kursor gde treba tako da bi izgledalo otprilike ovako: tb:=TBNew(...) col:=TColumnNew(...) col:cargo:={||edit()} tb:AddColumn(col) .... func edit @ row(),col() get .... <- ovo mozes i mnogo elegantnije, read <- al' nikad nisam imo vremena da doteram return > Probao sam da napravim sledecu stvar iz clipper-a sto je delimicno uspelo > a to je izlaz u DOS i to sa obicnim RUN COMMAND ali kad sam trebao da se > vratim u clipper sa exit iz DOS-a racunar se zaglavio. Ima li resenja za > ovo ? Reci jos, meni je sljakalo bez problema. Jedino kad promenim dir zna da se izgubi jer ne ume da nadje overleje.
clipper.947 ppekovic,
>> Interesuje me da li je moguce da se TBROWSE klasom napravi BROWSE >> slican paketu DBASE IV gde mogu da se i menjaju podaci u poljima baze a >> ne samo pregledaju jer primer koji imam u knjizi o kliperu daje >> istu stvar kao i funkcija DBEDIT() ? U clipper-u već imaš funkciju browse. Pored toga, u primerima koje si dobio uz clipper postoji i browse.prg koji radi upravo ono što tražiš. >> Probao sam da napravim sledecu stvar iz clipper-a sto je delimicno uspelo >> a to je izlaz u DOS i to sa obicnim RUN COMMAND ali kad sam trebao da se >> vratim u clipper sa exit iz DOS-a racunar se zaglavio. Ima li resenja za >> ovo ? Da li ti je ispravno postavljena env. promenljiva COMSPEC? Paya
clipper.948 d.petrovic,
Ă>> Probao sam da napravim sledecu stvar iz clipper-a sto je Ă>> delimicno uspelo a to je izlaz u DOS i to sa obicnim RUN COMMAND Ă>> ali kad sam trebao da se vratim u clipper sa exit iz DOS-a Ă>> racunar se zaglavio. Ima li resenja za ovo ? Ă> Ă> Reci jos, meni je sljakalo bez problema. Jedino kad promenim dir Ă> zna da se izgubi jer ne ume da nadje overleje. Posle "run command" proveris u kom si direktorijumu pa se vratis. Valjda je jasno da funkcija kojom to radis ne sme da bude u overleju :)
clipper.949 ialeksic,
Zna li neko zasto zasto ne mozemo da se smeskamo? # include "inkey.ch" cls @10,40 say ":(" @24,0 say "Pritisni Ctrl-ScrollLock dirku da dobijes smile..." do while !(i:=INKEY()=K_CTRL_C) enddo @10,40 say ":)" @24,0 say "Hvala... " quit
clipper.950 cnenad,
ŁŁŁ Posle "run command" proveris u kom si direktorijumu pa se ŁŁŁ vratis. Valjda je jasno da funkcija kojom to radis ne sme da ŁŁŁ bude u overleju Nisam menjao direktorijume niti mi je ta funkcija u .OVL cisto sam probao da napisem taj mali program i da vidim kako radi ! cls wait "idemo u DOS !" !command cls wait "vratili smo se !" cls Sta ne valja !
clipper.951 cnenad,
ŁŁŁ Da li ti je ispravno postavljena env. promenljiva COMSPEC? Uopste nemam namesteno COMSPEC !?! Cemu to sluzi a i inace ne radi ? :)
clipper.952 dr.grba,
>> 50 DEM O-LA-LA!, sta bi bilo da sam se raspitivao za 5.2, dal' bi >> dobio telefon Computer Associates-a ;> Moja sugestija je bila krajnje dobronamerna. Mislio sam da znaš da je bavljenje računarima skup sport i u današnje vreme teško isplativ.
clipper.953 bstevan,
Molim svi koji imaju iskutva sa programiranjem odnosno prilagodjavanjem clipper program na rad sa matematickim procesorom, nek prenesu svoje iskustvo u ovoj konferenciji. Ja nažalost nemam nikakvog iskustva a to me interesuje. pozdrav, BSTEVAN
clipper.954 ialeksic,
Ovo radi: #include "inkey.ch" cls keyboard chr(K_ENTER) // Dodaj jedan Enter ! wait "idemo u DOS !" !command.com cls wait "vratili smo se !" cls
clipper.955 ialeksic,
Dobro de, salio sam se. :)
clipper.956 d.petrovic,
Ă> cls Ă> wait "idemo u DOS !" Ă> !command Ă> cls Ă> wait "vratili smo se !" Ă> cls Ă> Sta ne valja ! Nisam probao, ali kao sugestija na mogućnost zaglupljivanja ako promeniš direktorijum: cls !command if <direktorijum promenjen> <vrati se u radni dir> <= ovo da nije u overleju endif
clipper.957 bulaja,
│Kad smo vec kod te funkcije SETCOLOR() na koji nacin ona resetuje │prethodno postavljene boje ? └─── SetColor( "" )
clipper.958 bulaja,
Zna li neko zasto zasto ne mozemo da se smeskamo? > @24,0 say "Pritisni Ctrl-ScrollLock dirku da dobijes smile..." > do while !(i:=INKEY()=K_CTRL_C) > enddo > @10,40 say ":)" :) K_CTRL_C je Ctrl-Pause (Break) a ne Ctrl-ScrollLock! :)
clipper.959 paki,
­> @24,0 say "Pritisni Ctrl-ScrollLock dirku da dobijes smile..." ­> do while !(i:=INKEY()=K_CTRL_C) Možda zato što se natpis Break (bar kod mene) nalazi na tasteru Pause :) Jesi li probao Ctrl-C umesto Ctrl-ScrollLock?
clipper.960 ialeksic,
ŠŠ> :) K_CTRL_C je Ctrl-Pause (Break) a ne Ctrl-ScrollLock! :) Jeste! Kao i 'PgDn', kao i 'Ctrl-C'. To je lepo..., ali: (NG:The Guide To Clipper:Tables:Inkey Codes) kao i Clipper Refference app.C kaze sledece: Ctrl-ScrollLock 3 K_CTRL_C OK, neka to tako i treba, koji je onda scan-code za "Ctrl-ScrollLock" ? Ivan A. ps. Ovo nije iz...ivljavanje, bas mi taj 'Ctrl-ScrollLock' treba ;)
clipper.961 zsavic,
Radim na sistemu sledećih karakteristika: - Mreža sa 35 radnih stanica - File server DTK 386DX/33 sa SCSI diskom Maxtor 1.7GB i Adaptec 1542b kontrolerom i dve mrežne karte NE2000 - Operativni sistem Novell 3.11 100 users, DOS 5.0 - Aplikacije su pisane na Clipperu 5.01. Već drugi put u zadnja 4 meseca se javlja isti problem: DBF fajl dužine oko 60 MB (prvi put je imao dužinu od par MB) iz neobjašnjivih razloga je promenio dužinu na oko 4GB. Otkucam CHKVOL, a on daje korektan rezultat: 150MB slobodno, koliko je bilo i ranije. Obrišem fajl sa DEL, ovog puta CHKVOL daje 210MB slobodno. Vratim fajl sa SALVAGE i CHKVOL daje opet 150MB slobodno, a DBF fajl se vrati na 4GB. Kad sa DBV /W pregledam fajl, javi mi umesto 180,000 neki abnormalno veliki broj slogova a izgled fajla je bio prilično "rupičast" tj. sa velikim brojem praznih polja. Problem sam rešio vraćanjem fajla sa strimera, ali me zanima da li je neko imao sličan problem i kako ga je rešio.
clipper.962 bulaja,
Treba li vam u Clipper-u nesto nalik na LIST, za pregled dugackih tekstualnih datoteka. Nista lakse :), uz koriscenje TBrowse i NanFor funkcija za File I/O (FT_F*). Radi sa neograniceno dugackim datotekama (ako koristite MemoEdit() mozete samo 64K), ni megabajti nisu problem :). Evo je ovde cela LIST funkcija, poziva se sa LIST (<file name>) (npr. list("READ.ME). #include "Inkey.ch" #include "FileIO.ch" **** ---------------------------------------- **** PROC List (cFileName) LOCAL FB LOCAL bCol, nKey, cScr IF FT_FUse (cFileName, FO_READ) == -1 RETURN ENDIF cScr := SaveScreen (0, 0, MaxRow(), MaxCol()) Scroll (0, 0, MaxRow(), MaxCol()) @ 0,0 TO MaxRow(), MaxCol() FB := TBrowseNew (1, 1, MaxRow()-1, MaxCol()-1) bCol := TBColumnNew ("", { || FT_FReadLn() } ) bCol:width := MaxCol()-2 // =78 FB:AddColumn (bCol) // ovde je uglavnom sva mudrost :) FB:skipBlock := { |n| FT_FSkip (n) } FB:goTopBlock := { || FT_FGoTop () } FB:goBottomBlock := { || FT_FGoBot () } WHILE .T. WHILE ( ! FB:Stabilize() .and. (nKey := Inkey() == 0)) ; END DO IF FB:Stable ; nKey:=inkey(0) ; ELSE ; nKey:=0 ; END IF DO CASE CASE nKey == K_UP ; FB:up() CASE nKey == K_DOWN ; FB:down() CASE nKey == K_PGDN ; FB:PageDown() CASE nKey == K_PGUP ; FB:PageUp() CASE nKey == K_CTRL_PGUP ; FB:goTop() CASE nKey == K_CTRL_PGDN ; FB:goBottom() CASE nKey == K_ESC ; EXIT CASE nKey == 32 ; FB:refreshAll() END CASE END DO FT_FUse() RestScreen (0, 0, MaxRow(), MaxCol, cScr) RETURN Problem je samo sto FT_F* funkcije imaju malo bugova :) pa vam se moze desiti da ponekad prikaze i neki LF (chr(10) karakter tamo gde ne treba. Dok ne izadje novi NFLib (ili ja ne napisem iste funkcije :), ovo se moze resiti jednostavnim filtriranjem svakog reda, pa bi trebalo umesto bCol := TBColumnNew ("", { || FT_FReadLn() } ) staviti bCol := TBColumnNew ("", { || StrTran (FT_FReadLn(), Chr(10), "") } ) That's it, Bulaja
clipper.963 ivan.s,
Cini mi se da nema jednostavnog nacina da resis svoj problem, ako ga uopste ima; naime nisam siguran da li tastatura salje bilo sta racunaru po pritisku na ctrl-ScrollLock. U svakom slucaju BIOSov int 9 handler ne stavlja nista u keyboard buffer, pa ti inkey() ne moze pomoci. Pozdrav, Ivan.
clipper.964 bulaja,
│OK, neka to tako i treba, koji je onda scan-code za "Ctrl-ScrollLock" ? └─── ScrollLock, ostali lock-ovi, Shift, Alt i Ctrl tasteri nemaju svoje scan kodove, znaci njihovo stanje ne mozes ispitati preko inkey() vec npr. preko funkcija koje imas u NanForum lib-u.
clipper.965 d.petrovic,
Ă> ps. Ovo nije iz...ivljavanje, bas mi taj 'Ctrl-ScrollLock' treba Ă> ;) Zaviri u Nanfor, mozda tamo nesto ima, mislim da inkey() tu ne moze nista :(
clipper.966 ppekovic,
>> ŁŁŁ Da li ti je ispravno postavljena env. promenljiva COMSPEC? >> >> Uopste nemam namesteno COMSPEC !?! Cemu to sluzi a i inace ne radi ? :) To je environment promenljiva koja pokazuje gde se nalazi komandni iterpreter tj. command.com ili 4dos.com. Paya
clipper.967 ialeksic,
>>>ScrollLock, ostali lock-ovi, Shift, Alt i Ctrl tasteri nemaju svoje scan >>>kodove, znaci njihovo stanje ne mozes ispitati preko inkey() vec npr. >>>preko funkcija koje imas u NanForum lib-u. Da u NanForum lib-u postoji nesto slicno, FT_NUMLOCK() na primer, ali ne i FT_SCRLOCK(). No izgleda da je 'Ctl-ScrllLock' jedina kombinacija koja ne funkcionise. Kada je pritisnut, 'Ctl' kao da blokira registrovanje pritiskanja 'ScrllLock' dirke. To nije slucaj za kombinaciju 'Shift-ScrllLock' ili 'Alt-ScrllLock' koje inace mogu da se registruju. Posto sam sa time eksperimentisao evo osnove za za sada nepostojecu funkciju FT_SCRLOCK() ako nekoga zanima: #include "extend.h" #define status_byte (*(char *)(0x00000418)) CLIPPER FT_SCRLOCK(void) { _retl( (int) (status_byte & 0x10) ); status_byte = (status_byte & 0xEF); return; } Ivan A.
clipper.969 rpausic,
Da li sam nešto propustio pretražujući SEZAMove conf ili zaista nema posebnih tema i diskusija o najčešćim problemima programera koji rade sa bazama podataka: finansijsko knjigovodstvo, robno-materijalno, pogonsko, plate, fakturisanje, ... Verujem da je ovo prava stvar za mnoge programere, jer svi verovatno imamo slične probleme: knjigovođe ne mogu ili neće da objasne problematiku (zamislite poraza: naučiti njihov posao za par dana i omogućiti jednom običnom magacioneru da obavi pola knjigovodstvenog posla!!!). Nekad je samo problem što ljudi koji znaju, nemaju živaca da se malo napregnu i udube se u problematiku. Nekad ni njima samima nije sve baš sasvim jasno, pa kako će onda drugom preneti? Nekada se zakon menja svaki čas. Nekada se napravi zbrka (kao sada sa otkupom žita: 4 puta sam menjao program za obračun otkupa i ovog momenta ne mogu da garantujem da je poslednji put). Sve u svemu, mislim da su ova pitanja vredna pažnje. Ja sam spreman da podelim sa drugima ideje oko organizovanja podataka, podeli poslova i svaga što ja znam. Trenutno sam dosta razradio materijalno poslovanje u mojoj zem. zadruzi sa nekoliko isturenih radnih jedinica i vodjenje kooperativne proizvodnje, obračunu kamata i slično. Predstoji mi rad na finansijskom knjigovodstvu, pogonskom, personalna evidencija, obračun plata itd. Ako imam istomišljenika, neka se jave. Ako nas bude malo, možemo i neku grupu da osnujemo! Pozdrav, Robert. P.S. Jedini sam programer u firmi i očajnički želim da razmenjujem iskustva i smanjim vreme provedeno sa ljudima koje mrzi da žive!
clipper.970 dr.grba,
>> se moze resiti jednostavnim filtriranjem svakog reda, pa bi trebalo >> umesto >> bCol := TBColumnNew ("", š đđ FT_FReadLn() ć ) >> staviti >> bCol := TBColumnNew ("", š đđ StrTran (FT_FReadLn(), Chr(10), "") ć ) Nisam testirao, ali koliko filtriranje smeća usporava rad?
clipper.971 snemcev,
>> Uopste nemam namesteno COMSPEC !?! Cemu to sluzi a i inace ne radi ? >> :) Najkraće rečeno, tu piše ime komandnog interpretera koji će biti pozvan da bi izvšio ono što mu ti iz svoje aplikacije narediš. Stavi u autoexec SET COMSPEC=C:\DOS\COMMAND.COM (ili gde ti je već ;) i sve bi trebalo da proradi.
clipper.972 snemcev,
>> do while !(i:=INKEY()=K_CTRL_C) Varovatno ga ovde buni dodela vrednosti. Probaj do while !((i:=INKEY())==K_CTRL_C)
clipper.973 pjankovic,
> posla!!!). Nekad je samo problem što ljudi koji znaju, > nemaju živaca da se malo napregnu i udube se u > problematiku. Nekad ni njima samima nije sve baš sasvim > jasno, pa kako će onda drugom preneti? Nekada se zakon Nekada žele da od svoga posla naprave bauk, da mu što više podignu cijenu. Šta bi značilo da "neki tamo programer" prvi put dođe u firmu i za desetak minuta provali kako se radi cijeli njihov posao. To bi značilo da je njihov posao strašno jednostavan. Zato oni objašnjavaju ali boga mole da ne shvatiš. Pa još ako nešto zabrljaš pa izađe pogrešan rezultat, njihovom likovanju nema kraja: "Eto, i mašina je pogriješila, ništa ne može da zamijeni čovjeka".
clipper.974 paki,
­> Da li sam nešto propustio pretražujući SEZAMove conf ili ­> zaista nema posebnih tema i diskusija o najčešćim problemima ­> programera koji rade sa bazama podataka: finansijsko ­> knjigovodstvo, robno-materijalno, pogonsko, plate, ­> fakturisanje, ... Mislim da posebne teme tu i nisu potrebne, o svemu tome se može raspravljati u okviru teme baze.podataka.
clipper.975 mickeyl,
Nabavio sam program DISCLIPPER ver 1.09. I to ne iz razloga da bih krao, nego da bih isprobao kako šljaka i kako da se eventualno zaštitim. Zasad sam otkrio da je dovoljno napraviti EXE program sa overlejima i disclipper mu ne može ništa. Mislim da je to način da se zaštiti od ovog programa. Jesam li u pravu i kakva su iskustva drugih? Radi se o CLIPPER '87 verziji. Samo mi ne recite pređi na Clipper 5.x i disclipper ti ne može ništa, jer prelazim na FOXPRO koji mi se više sviđa. Dok ne preradim na Fox, treba da mi šljaka na clipperu, a da pri tom neko ne dođe u iskušenje da mi mazne source. p.s. nadam se da ne postoji neka novija verzija disclipper-a kojoj ne smetaju overlay-i.
clipper.976 bulaja,
││bCol := TBColumnNew ("", s dd StrTran (FT_FReadLn(), Chr(10), "") c ) │└─── │Nisam testirao, ali koliko filtriranje smeca usporava rad? └─── Neprimetno. Ne bi ni trebalo nesto da usporava, posto filtrira samo red koji se trenutno prikazuje.
clipper.977 bulaja,
│Nekada zele da od svoga posla naprave bauk, da mu sto vise podignu │cijenu. Sta bi znacilo da "neki tamo programer" prvi put dode u firmu │i za desetak minuta provali kako se radi cijeli njihov posao. └─── Ne znam koliko je teska ta njihova "velika" nauka, al znam da je debela :). Slucajno me ceka najesen spremanje ispita Racunovodstvo & Finansije (500+ strana:), pa cu imati prilike da vidim o cemu uci i druga strana :).
clipper.978 bulaja,
│Zasad sam otkrio da je dovoljno napraviti EXE program sa overlejima │i disclipper mu ne moze nista. └─── Takodje ako je linkovano sa starim Blinkerom, ne moze mu nista.
clipper.979 cnenad,
ŁŁŁ disclipper ti ne moze nista, jer prelazim na FOXPRO koji mi ŁŁŁ se vise svida. Ovo nije sabotaza unutar teme za kliper. Ali moram da vam kazem da sam od dosta ljudi cuo da prelaze na FOX. Inace ja sam dosta radio na DBASE-u u okviru DBASE IV ali znate sta sve on nema. Medjutim ni kliper nema mnogo stvari koje ima DBASE IV. Izgleda da uvek postoji neka zlatna sredina. Kad li ce da se napravi neki dobar kompajler ili program u kome covek ima sve sto mu treba. Da li je odgovor mozda DBASE IV 2.0. kompajler ?
clipper.980 v.nesic,
> Da bi bilo jasnije, to je isto kao kad bi naucio da zapisujes > rezultate u preferansu i rekao kako si isti naucio :). Poenta preferansa je u igri, poenta knjigovodstva je u pisanju :))
clipper.981 draganf,
> > P.S. Jedini sam programer u firmi i očajnički želim da > razmenjujem iskustva i smanjim vreme provedeno sa ljudima > koje mrzi da žive! Nisi samo, ja sam čak jedini u krugu od 50 -tak kilometara. Dragan
clipper.982 snemcev,
>> Treba li vam u Clipper-u nesto nalik na LIST, za pregled dugackih >> tekstualnih datoteka. Nista lakse :) Da, ništa lakše, postoji funkcija u NanFor!
clipper.983 snemcev,
>> Ako imam istomišljenika, neka se jave. Ako nas bude malo, možemo i >> neku grupu da osnujemo! Eto, da ne kažeš da si sam, jedan član grupe sam ja. >> P.S. Jedini sam programer u firmi i očajnički želim da razmenjujem >> iskustva i smanjim vreme provedeno sa ljudima koje mrzi da žive! Nemoj tako pesimistički!
clipper.984 ialeksic,
Imam pitanje za nekog objektasa: prilozio sam kod koji ne radi kako ja ocekujem :( A hteo sam sledece: Da mi TBrowseDB prikaze kombinovan sadrzaj DBFa i rezultat neke funkcije. U praksi to izgleda ovako: Kada krene u stabilizaciju, i stigne na liniju *** i:=browse:colPos *** unutar UDFa to shvata kao rekurzivan poziv tog kodnog bloka (tj. UDF funkcije) i izvvodi ga dok na kraju ne iscrpi stack i padne sa: (b)DEMO (0) Unrecoverable error 650: Processor stack fault Ja ipak ocekujem kao sto pise u dokumentaciji da je browse:colPos "Exported Instance VARIABLE" a ne metod. Gde gresim? Evo koda: /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include "Inkey.ch" #define MY_HEADSEP "═Đ═" #define MY_COLSEP " │ " FUNCTION demo( dbf, index ) LOCAL nKey LOCAL browse := TBROWSEDB( 1, 5, 24, 75 ) local w CLS USE (dbf) INDEX (index) browse:headSep := MY_HEADSEP browse:colSep := MY_COLSEP browse:addColumn(TBColumnNew( ; Field(1), ; {|| FIELDGET(1)} ; )) w:=TBColumnNew( ; "xxxxx", ; {|| udf(browse)} ; ) w:width=5 browse:addColumn(w) w:=TBColumnNew( ; "yyyyy", ; {|| udf(browse)} ; ) w:width=5 browse:addColumn(w) DO WHILE nKey != K_ESC DO WHILE ! browse:STABILIZE() ENDDO nKey := INKEY( 0 ) DO CASE CASE nKey == K_DOWN browse:DOWN() CASE nKey == K_UP browse:UP() CASE nKey == K_LEFT browse:LEFT() CASE nKey == K_RIGHT browse:RIGHT() ENDCASE ENDDO RETURN Nil FUNCTION UDF(browse) LOCAL a LOCAL i:=0 i:=browse:colPos IF (i=2) a:="XXXYX" ELSE a:="YYYYY" endIF (b:colPos=2) RETURN a
clipper.985 dr.grba,
>> Ako imam istomišljenika, neka se jave. Ako nas bude malo, možemo i >> neku grupu da osnujemo! Fala ti, Bože, da se neko najzad javio i glasno i jasno rekao ono što nam leži na duši. Imaš moju podršku i izraze spremnosti da dam doprinos u radu konferencije/grupe. Iz saradnje se uvek može izvući nešto korisno.
clipper.986 ficus,
> Zdravo ! > Skoro sam nabavio CA Clipper 5.2, evropsku verziju i skinuo sa > Sezam-a zakrpu za verziju 5.2A, ali je ona samo za americku > verziju Clipper-a. Naravno, ne mogu da zakrpim Clipper 5.2. Da > li je nekko resio problem i kako ? Moze i slanje zakrpe > americke verzije... Ako ti nešto znači ja imam američko-kanadsku verziju... Pozdrav, Deki
clipper.987 ficus,
> IA> Elem, ne zelim da izmisljam toplu vodu, a knjigu - je li - > nemam, IA> niti sam je nasao u prodaji (trazio!). Zato molim > neku dobru dusu IA> :) da to stavi na mail ili bilo gde na > SEZAMU (kako cu to posle IA> da nadjem?). Zovni Mikro Knjigu, ako ti je neophodan Clipper5 od Spence-a, ali ja mislim da ti je najbolje da odeš do Jugoslovenske knjige, jer tamo nešto kasnije rade update cena... :))) Pozdrav, Deki
clipper.988 ficus,
> Ovo radi: > ># include "inkey.ch" > cls > keyboard chr(K_ENTER) // Dodaj jedan Enter ! > wait "idemo u DOS !" >! command.com > cls > wait "vratili smo se !" > cls Izvini, ali nije mi jasno čemu ono Enter? Pozdrav, Deki
clipper.989 ficus,
> Molim jos jednom, ako neko ima umetak iz racunara od Nenada > Batocanina da mi ga pozajmi da ga isfotokopiram. > > Dogovor preko mail-a na CNENAD. > Hvala. Ja mogu da ti pozajmim... Samo mi se obrati na mail... Pozdrav, Deki
clipper.990 ficus,
> Problem sam rešio vraćanjem fajla sa strimera, ali me zanima da > li je neko imao sličan problem i kako ga je rešio. Priznajem da ti je problem PPRRIILLIIžžNNOO zajeban. Ja nisam na sreću imao iskustava sa ovim, ali kod mog ćaleta imaju sličnu (ali veću) mrežu, i svi rade u 5.01, pa ću ih pitati... Pozdrav, Deki
clipper.991 ficus,
> Ovo nije sabotaza unutar teme za kliper. Ali moram da vam kazem > da sam od dosta ljudi cuo da prelaze na FOX. Inace ja sam dosta > radio na DBASE-u u okviru DBASE IV ali znate sta sve on nema. > Medjutim ni kliper nema mnogo stvari koje ima DBASE IV. Izgleda > da uvek postoji neka zlatna sredina. Kad li ce da se napravi > neki dobar kompajler ili program u kome covek ima sve sto mu > treba. Da li je odgovor mozda DBASE IV 2.0. kompajler ? I meni se FoxPro mnogo više sviđa, a i mnogo je lakši za rad... Ja sam ga instalirao i počeo da radim i ide mi super... Ali, ne može sve da bude idealno... :( NEMA DBEDIT!!! a ni adekvatnu zamenu... Ima samo BROWSE, ali od toga nema mnogo vajde! Ima li ko ideju, kako realizovati nešto slično DBEDIT-u ali za FoxPro? Pozdrav, Deki
clipper.992 nbatocanin,
> Molim svi koji imaju iskutva sa programiranjem odnosno > prilagodjavanjem clipper program na rad sa matematickim > procesorom, nek prenesu svoje iskustvo u ovoj > konferenciji. Nikakvo posebno prilagođavanje ti nije potrebno. Bojim se da ti koprocesor neće doneti neko primetno poboljšanje performansi, jer je ono što se u Clipper-u daleko najčešće radi je čitanje/pisanje po disku, a tu ti koprocesor slabo pomaže.
clipper.993 ematic,
> {|| udf(browse)} ; probaj {|| udf(@browse)}
clipper.994 v.nesic,
> Gde gresim? Evo koda: Kolko ja vidim, nigde. Izgleda da clipp ne radi ono sto mu pise. Ako ti je nesto onakvo bas potrebno iskoristi polje cargo u koloni, recimo : ... w:cargo:=1 browse:addcolumn(w) ... w:cargo:=2 browse:addcolumn(w) ... func udf(browse) ... i:=browse:cargo ... return a
clipper.995 terza,
> Ako imam istomisljenika, neka se jave. Ako nas bude malo, > mozemo i neku grupu da osnujemo! Racunaj i na mene za grupu, sve sto se tice programa za plate, tu sam. Terza
clipper.996 toma,
■■>> Da li sam nešto propustio pretražujući SEZAMove conf ili zaista ■■>> nema posebnih tema i diskusija o najčešćim problemima programera ■■>> koji rade sa bazama podataka: finansijsko knjigovodstvo, ■■>> robno-materijalno, pogonsko, plate, fakturisanje, ... E ovo nam je baš trebalo! Računajte na mene. ps. Ćale mi je knjigovođa, a ja radim u njegovoj knjigovodstvenoj firmi, pa izvolte...
clipper.997 v.nesic,
>> Ako imam istomisljenika, neka se jave. Ako nas bude malo, >> mozemo i neku grupu da osnujemo! > > Racunaj i na mene za grupu, sve sto se tice programa za plate, > tu sam. Ako se pravi grupa, count me in !)
clipper.999 ialeksic,
>>> Izvini, ali nije mi jasno cemu ono Enter? To je crnogorska varijanta [bez ruku ;)]. Zapravo ja sam prevideo da je komanda u pitanju bila WAIT (koja i ocekuje stisak dirke), nju inace ne koristim. Verovatno je problem da command.com nije u PATKI,COMSPEC,4DOS,...
clipper.1000 ialeksic,
>>> probaj {|| udf(@browse)} Ne verujem, jer je prenos Objekta i ovako preko reference... A i nije me mrzelo da proverim - ista stvar :(
clipper.1001 ialeksic,
>>> Ako ti je nesto onakvo bas potrebno iskoristi polje cargo u koloni,... Ovo je bilo principijelno pitanje. Primer sam uprostio do kraja samo da bih opisao anomaliju (ako je anomalija uopste, a ne pogresna upotreba). Inace u aplikaciji cargo nameravam da koristim za druge svrhe. Samo sam mislio da ovo ne bi smelo ovako da se ponasa, prilicno je trivijalno da bi bio bug,... pa sam naravno mislio da ja negde gresim, i jos uvek mislim ...,ali gde? Ajde objektovci.
clipper.1002 milanv,
║║ debela :). Slucajno me ceka najesen spremanje ispita Racunovodstvo & ║║ Finansije (500+ strana:), pa cu imati prilike da vidim o cemu uci i ║║ druga strana :). Učićeš šta se beleži na kojoj klasi, pa kontu, pa... Stvarno, velika mudrost, samo, voleo bih da vidim i knjigovodju koji zna sve što piše u tih 500-tinak stranica. Pa, ipak, misli da bi zemlja bez njega stala!
clipper.1003 gaston,
->Gde gresim? Evo koda: Prijatelju, verovatno u programu nigde i ne gresis, ali ... 1) Ja NIKADA ne dajem promenljivoj ime koje makar malo asocira na ime neke procedure ili funkcije. Cak izbegavam da dajem imena koja lepo zvuce na engleskom. Razlog: pa neko od americkih ili engleskih programera se verovatno vec setio da nesto tako nazove. Lepo to brate nazoves po srpski, pa da te ceo svet razume ;| <--- kiseo osmeh na sopstveni racun ... 2) Takodje izbegavam da kao parametre prenosim objekte - zgodni su, ali su komplikovani, posebno u jeziku koji prakticno jos nema jasno definisana pravila igre sa njima. Bolje prenesi kao parametar ColPos. 3) Ako je stvarno u pitanju onako jednostavan posao kao u primeru, lepo brate napisi tako da ti kodni blok zavrsava posao... Ne smatram sebe bogznakakvim strucnjakom, sve sto ti kazem potice iz sopstvenog loseg iskustva. Bice mi drago ako sam ti makar malo pomogao... Nesa
clipper.1004 gaston,
▀▀┌Pa ja bas i nemam neka mnogo negativna iskustva, sto se tice saradnje oko izrade knjigovodstvenih programa, imam samo kasnije, oko placanja ... Pored toga, matori su mi u toj bransi, tako da imam eksperte kod kuce skoro za sve, osim plata (ali su tu pravila igre uglavnom poznata). Ako osnivas grupu, evo i mene (sviram samo u drombulje, ali zato jako lepo pevam i ,kao sto se vidi skromnost mi je vrlina ... B))) Nesa
clipper.1005 nbatocanin,
> Mislim da je to način da se zaštiti od ovog programa. Jesam li u > pravu i kakva su iskustva drugih? Prvo, nije mi jasno šta ti znači to "zaštiti se". Da li misliš da će neko uzeti tvoj program, generisati tekst programa, pa onda prodavati malo izmenjen? žini mi se da je verovatnoća takvog događaja ravna nuli. Ko normalan će da analizira kilometarski sors bez reda komentara, da bi ga shvatio i izmenio? Uostalom, ako to može, sigurno može i da napiše isti takav program, uz manje komplikacije.
clipper.1006 nbatocanin,
> Medjutim ni kliper nema mnogo stvari koje ima DBASE IV. Šta, na primer?
clipper.1007 nbatocanin,
> Imam pitanje za nekog objektasa: > > prilozio sam kod koji ne radi kako ja ocekujem :( Problem je u tome što se pri definisanju TBrowse objekta referišeš opet na njega rekurzivno, ali bez izlaza. Tj. nije problem u varijabli TB:colPos, već u definiciji kolone. Moraš promeniti koncepciju i kao kolonu definisati nešto drugo. Slučaj je sličan kao u a:= {1, 2, 3} a[3] := a
clipper.1008 ematic,
>>>> probaj {|| udf(@browse)} > > Ne verujem, jer je prenos Objekta i ovako preko reference... > > A i nije me mrzelo da proverim - ista stvar :( Izvini što sam ovako lupio napamet, tvoju poruku sam samo letimice pogledao pre nego što sam odgovorio. Elem, koliko vidim, ti želiš da za ove tvoje dodatne kolone imaš neku konstantnu vrednost koja zavisi od pozicije iste. Tu ti nije potrebno nikakvo muljanje s korisničkim funkcijama, dovoljno je da umesto ovoga što si napisao: > w:=TBColumnNew( ; > "xxxxx", ; > {|| udf(browse)} ; > ) staviš npr.: w := tbcolumnnew ("xxxxx", { || "XXXXX" }) Ukoliko naknadno želiš da menjaš takvu kolonu, odnosno da je napuniš nekom drugom vrednošću, dovoljno je da uradiš nešto kao: pozicija := browse:colpos kolona := browse:getcolumn(pozicija) do case case pozicija == TRT kolona:block := { || "TRTRT" } // i tako dalje (i tako bliže :) end // sledeća linija je vrlo važna browse:configure() // naredna je novitet (5.2) browse:forcestable() Vratimo se sad na ono zbog čega ti puca program, dakle na zlo i pokvareno :) { || udf(browse) }. Kada se objektu dodaje kolona, blok pomoću koga ista dobija svoju tekuću vrednost se evaluira tek prilikom stabilizacije objekta. U ovom slučaju blok poziva korisničku funkciju koja opet pokreće novu stabilizaciju, jer referencira na isti objekat iz koga je krenula stabilizacija ( i := browse:colpos ), dok prethodna stabilizacija u stvari još nije izvršena. Rezultati prethodne stabilizacije se stavljaju na stek, kreće nova i tako ide rekurzivno dok se stek ne iscrpi i dođe do famozne fatalne greške. p.s izvini zbog konfuzne poruke, objašnjavanje mi nikad nije bilo jača strana :)
clipper.1009 dejanr,
>> Prvo, nije mi jasno šta ti znači to "zaštiti se". Da li misliš da će >> neko uzeti tvoj program, generisati tekst programa, pa onda prodavati >> malo izmenjen? žini mi se da je verovatnoća takvog događaja ravna >> nuli. Pa, ne znam baš. Meni je glavna zaštita programa u tome što se na ekranu, na formularima i izveštajima ispisuje ime firme, adresa, telefon, fax itd. Na taj način je dosta teško da to iko drugi koristi (mada sam čuo da je bilo nekih koji su koreksom brisali ime samo da ne plate program ;)). To ime je oduvek malo "zamumuljeno", čisto da se ne može iz Nortona promeniti. Međutim, otkad su "izmišljeni" ti de-clipper-i, morao sam da pišem neku straobalnu programčinu na asembleru koja se brine o tekstovima tog tipa, sve u nadi da declipper neće umeti tek tako da je izdvoji ili da je neće biti baš lako analizirati. "Lopov" ne mora ništa da menja u programu - samo promeni ime firme i proda ga upola cene "izvadivši" tako štetu što je platio program. Ne bi bilo prvi put.
clipper.1010 ndragan,
/ P.S. Jedini sam programer u firmi i očajnički želim da razmenjujem Kućni programer? Kolega, saučešće. Bićeš kriv za sve, i što zajebeš ti i što zajebu oni, a onda će te hvaliti na sva usta za nešto što si uradio malim prstom za pet minuta, pa će te posle psovati što trodnevni posao nije bio gotov za minus pola dana... Drž' se i pitaj ovde šta ti treba.
clipper.1011 ndragan,
/ debela :). Slucajno me ceka najesen spremanje ispita Racunovodstvo & / Finansije (500+ strana:), pa cu imati prilike da vidim o cemu uci i Upoznaj neprijatelja da bi ga više voleo poraženog.
clipper.1012 ndragan,
/ Ima samo BROWSE, ali od toga nema mnogo vajde! Ajd baš da vidimo šta ima DbEdit() a šta nema Browse i obratno. Browse ima toliko opcija da se razmišljam da napišem generator za tih nekoliko linija, da mi bar prvu verziju napiše sintaksno tačnu i štogod ulepšanu. žisto me zanima šta su posebne cake u DbEdit(), tek da vidim da li mi nešto od toga nedostaje.
clipper.1013 d.petrovic,
Ă> Browse ima toliko opcija da se razmišljam da napišem generator za Ă> tih nekoliko linija, da mi bar prvu verziju napiše sintaksno Ă> tačnu i štogod ulepšanu. žisto me zanima šta su posebne cake u Ă> DbEdit(), tek da vidim da li mi nešto od toga nedostaje. Meni izgleda nije jasno o čemu vi ovde... :)) Zar postoji nešto što DbEdit() može, a ne može da se uradi u TBrowse() ??
clipper.1014 goranr,
Na primer, ladno pravljenje POP-UP menija
clipper.1015 goranr,
Po bulajinom izrazicitom narednjenju :) u dolenavedenom fajlu se nalaze opisi funkcija (kratki!) biblioteke Clipper Tools, koja je novopristigla na SEZAM. Navali na Download! :) cliptool.txt
clipper.1016 ialeksic,
>>> Elem, koliko vidim, ti zelis da za ove tvoje dodatne kolone imas neku >>> konstantnu vrednost koja zavisi... Hvala na ideji za konstne vrednosti kolona, no to mi nije bila zelja. Primer sam samo uprostio pa je zbog toga tako izgledalo. Naime, nisam hteo da zamaram celu ekipu sa svojom aplikacijom, ali izgleda je ipak neophodna mala eksplikacija :) Pravim aplikaciju u kojoj kooperativno ucestvuje i 'remote' aplikacija (na hostu), tako da neke od TBcolumn treba vrednostima da popunjava lokalna aplikacija a neke, 'remote' aplikacija (pozivima funkcija). Zato sam mislio da se to moze resiti tako da kodni blokovi budu posebne funkcije koje izmedju ostalog koriste 'remote' servise. Kada sam to smislio jednostavno sam zeleo da imam samo JEDNU (glavnu) funkciju za kodni blok koja bi na osnovu browse:colpos trebala da pozove odgovarajucu servisnu funkciju. Nista vise. Onda su nastali opisani problemi, pa sam kasapljenjem i uproscavanjem tog dela programa stigao do ilustracije koju sam poslao u conf. Problem sam prevazisao tako sto svaki remote-zavian TBcolumn korist kodni blok sa zasebnom funkcijom,... i to lepo radi. Inace ja sam stari kliperas (A'86,S'87) ali sam se u zadnje vreme zapustio [mrzelo me je da migriram aplikacije sa S'87 ;)] tako da nemam nekog zesceg iskustva sa 5.0, pa cu biti slobodan da priupitam kad-kad (a mozda i cesce!) neku glupost. Koliko vidim objekti su velika (i jako korisna) novost (dobro ja sam malo zadocnio :( ). Da li se na 5.2 objekti mogu i definisati? >>> // sledeca linija je vrlo vazna >>> browse:configure() Kao sto rekoh, ne mogu bas da se pohvalim preteranim poznavanjem 5.0 objekata a citajuci u reference-u nije mi sasvim jasno sta radi browse:configure() metod. Moze malo objasnjnja? >>> Vratimo se sad na ono zbog cega ti puca program, dakle na zlo i >>> pokvareno :) { || udf(browse) }. Kada se objektu dodaje kolona, blok... >>> .... >>> p.s izvini zbog konfuzne poruke,... Begaj, Poruka i objasnjenje su OK. Objasnjenje sta se desava i zasto dolazi de prepunjenja steka mi je ubedljivo i prihvatljivo. Medjutim, principijelno govoreci, i dalje mi nije jasno zasto se radi dobijanja koja je kolona u pitanju (browse:colpos), mora evaluirati kodni blok TBcolumn objekta! Zar to nije podatak iz strukture podataka TBrowse objekta koji bi trebalo da mu bude poznat kada tretira pojedinacni TBcolumn objekat. Ajd' dobro, kako je - tako je. >>> // naredna je novitet (5.2) >>> browse:forcestable() I na kraju ovog napada blagoglagoljivosti, da izrazim i svoj obol u vezi ovog pitanja. Znam da je to nepristojno pitanje, ali kako ... 5.2? Video sam instalacionu verziju na jednom BBS-u ali je to golemo do bola :( to je sve. cestitam onima koji su izdrzali do kraja! pozdrav Ivan A.
clipper.1017 ialeksic,
>>> 1)... >>> 2)... >>> 3)... Prijatelju: 1) Bezrezervno podrzavam tvoj patriotizam, ali u ovoj stvari sam ovako navikao, amator da se po stare dane odvikavam. 2) Meni se bas cini da su objekti dusu dali da se vozaju tamo-vamo. 3) Bojim se da je u pitanju robija od posla... :((( Pozdravlja te prijatelj :)
clipper.1018 ialeksic,
>>> Slucaj je slican kao u >>> a:= {1, 2, 3} >>> a[3] := a Sta je tu cemo slicno? Ovo je rekurzivno definisana struktura, a tamo je rekurzivna ... macka (TBcolumn) u dzaku (TBrowse)! ;)
clipper.1019 bulaja,
-> Medjutim ni kliper nema mnogo stvari koje ima DBASE IV. => Sta, na primer? ­> Na primer, ladno pravljenje POP-UP menija Zar je to problem izvesti iz Clipper-a? Btw ako ti nije tesko opisi taj sistem menija iz dB IV, mozda ubacim nesto slicno u sledecu verziju BuMenu-ja :).
clipper.1020 mjevta,
>Ć Da li sam nesto propustio pretrazujuci SEZAMove conf ili Potpuno te razumem i pitanje je stvarno na mestu. I ja sam u pocetku bio u prilicnoj nedoumici glede toga pa sam, nakon nekoliko MB starih i novih poruka tipa 'Kako da uradim ovo i ono u kliperu', 'zasto kliper radi ovo a nece ono', 'kako da povezem kliper sa ovim i onim', 'kliper vs. Godzila' digao ruke. Mislim, od klipera definitivno a zamalo i od Sezama. >Ć zaista nema posebnih tema i diskusija o najcescim problemima >Ć programera koji rade sa bazama podataka: finansijsko >Ć knjigovodstvo, robno-materijalno, pogonsko, plate, >Ć fakturisanje, ... Upravo ovih dana 'udaram zavrsni glanc' aplikaciji za finansijsko knjigovodsvo i znam koliko bih nerava sacuvao da sam, umesto da se natezem sa frustriranim i nadobudnim knjigovodjama, neke cake mogao da kupim sa Sezama - onako, fino dajdzestirane za instant primenu. Zato se pridruzujem tvom 'apelu' i kandidujem za jedno od mesta u eventualnoj grupi ( izuzev ako ne diskriminisete prebege u protivnicki FoxPro tabor :) Pozdrav Jevta.
clipper.1021 mickeyl,
=> nuli. Ko normalan će da analizira kilometarski sors bez reda => komentara, da bi ga shvatio i izmenio? Uostalom, ako to može, sigurno => može i da napiše isti takav program, uz manje komplikacije. Neka hvala, ali ja mirnije spavam kad sam siguran da niko nema source mog programa. Jest da ovaj disclipper ne razbija i exe bez ovl-ova 100%, ali se dosta toga može
clipper.1023 d.petrovic,
Ă> Btw ako ti nije tesko opisi taj sistem menija iz dB IV, mozda Ă> ubacim nesto slicno u sledecu verziju BuMenu-ja :). Ix, kako je lepo bumenu poslužio da ih napravim :)). Samo što nisu univerzalni nego prilagođeni mojim potrebama, nabudžio sam nešto i to lepo radi :))
clipper.1024 ratman,
Je li tacno da postoji neka vrsta sintaksnog checkera za Clipper koji radi u editoru, i.e. svaki put kada se otkuca linija i CR, proverava sintaksu. To mi izgleda zgodno, pogotovo za ljude kao ja koji jos pate od BASIC-a. Ako to postoji, i nije preveliko, bas bih voleo da mi neko uploadu-uje. Pozdrav, Dejan
clipper.1025 mickeyl,
H E L P !!!!!!!!!!!!! Kako da rješim ovo? BLINKER : overlay opsize set to 40kb - minimum is 32kb (DB_TEXT) swapping to temporary file .Đ$T100002 BLINKER : 1115 : bliovlmgr(S8OVLMGR) : '__DOS_HOLD' : unresolved external BLINKER : 0 Warning error(s), 1 Fatal error(s) SAFIR.EXE (not created) (11.0 seconds)
clipper.1026 ndragan,
/ verovatno vec setio da nesto tako nazove. Lepo to brate nazoves po / srpski, pa da te ceo svet razume ;đ Upravo to. žak i ako funkcija kojoj si dao lepo ime ne postoji, nije sigurno da neće u sledećoj verziji. Banalan primer: koristili smo promenljivu _text. Sve je bilo ok do FP2.0, koji odjednom _ima_ tu promenljivu, i ona mu čak nešto i znači.
clipper.1027 ndragan,
/ Prvo, nije mi jasno šta ti znači to "zaštiti se". Ništa. "Zaštititi se" bi još i značilo :) / malo izmenjen? žini mi se da je verovatnoća takvog događaja ravna / nuli. Ko normalan će da analizira kilometarski sors bez reda Šta da radiš sa takvim čovekom? Jednom sam i ja napravio takvu zaštitu (ona jedna aplikacija u kliperu koja je pre neki mesec stigla da se spomene ovde), izmenjavši sva imena unakrst. Funkcija CEKAJ je indeksirala, VIDI je ispisivala okvire itd, a sve promenljive su se zvale zx81, atari, ferari, gejts, audi, trt, mrt i slično. Zaključio sam da sam ga dovoljno zakomplikovao, a ko razbije tu zaštitu, dobrodošao da radimo zajedno. Sad već ne mislim tako. Ako on ima pristup aplikaciji koju hoće da ukrade, i ne može za pola sata igranja sa njom (i šetanja kroz .dbfove) da zaključi u čemu su cake, kako su organizovani podaci, i da smisli kako bi to sam bolje napravio... nego mora da disasemblira (reč shvatiti bukvalno: rastavi) program, onda džaba ga bilo. Ne treba mi takav za saradnika. Još je gore po njega ako samo traži način da skine zaštitu da bi prepelcovao drugo ime korisnika - negde u programu se stavi kontrola na čeksum od toga, i pusti da program radi par nedelja tako, pa onda reklama za original. Dovoljno je, jer ionako ne postoji bilo koja aplikacija (osim ako ima neka da ne barata sa parama) koja može da izdrži bez izmena više od par meseci (inflacija, demonizacija, propisi). U tom slučaju možeš da ga častiš što ti je doveo mušteriju.