clipper.1237mbiresev,
-> #1232, stanicHvala !
clipper.1238arazumenic,
-> #1232, stanic-> Prevedes sve programe sa switch-em /n/m.
Ovde bih dodao još prekidače: /w /l.
clipper.1239bstevan,
-> #1236, ikordic Jel, mož ovde da baciš taj TLIB ?
---POZDARAV---
---BSTEVAN----
clipper.1240djelovic,
-> #1239, bstevan> Jel, mož ovde da baciš taj TLIB ?
Na zalost, TLIB je deo komercijalnog paketa i njegovo ostavljanje na Sezamu
nije dozvoljeno.
clipper.1241zkrstic,
-> #1179, eotek>> > Verzija 1.1 bez Updatea koga ima na sezamu (L11U... tako
>> > nekako se zove, nije problem naci, ako zagusti - imam ga ja) je
>>
>> zagustilo je ;), a nema ga na sezamu, moze li ??
Sorry, bio sam na Kipru, tako da se nisam javljao
desetak dana. Evo ga update :)
Pozdrav, Zkr
l11u4.zipclipper.1242eotek,
-> #1241, zkrstic> Sorry, bio sam na Kipru, tako da se nisam javljao
puno hvala. a razlog je (opravdano) lep ;)
│ bulajo : new file ??
└─────────────────────────────────────────────────
clipper.1243bpekic,
-> #1223, aseovicSto se tice "skalirane" stampe, kratka sekvenca programa pre iscrtavanja
na ekran bi bila otprilike (bolje da se cujemo telefonom):
PRT_SCALE(1) // Zbog mera u CM
PRT_OPTS(0,0,0,0,0) // orijent., shadow, b/w, eject, reset)
PRT_SCREEN(x_sei*100, y_size*100, left*100, top*100)
varijable u poslednjoj liniji sam odredi ■˛pre stampe ros neki
mali meni ili slicno...)
Sto se tice stampe bez iscrtavanja na ekran, nisam jer korisnici to
zele najpre videti.
Pozdrav Boris
clipper.1244dpredovic,
-> #1235, cnenad> Sada je stvar mnogo ozbiljnija, konkretno, pozvana je procedura
> za DOS SHELL. Kao direktiva LINKER-u je data i DEMONSTRATION
> MINUTES nn. Pošto uglavnom svo vreme bude provedeno u DOS
> Shell-u, nakon povratka isteklo je vreme i formirana je Blinker
> greška 1209 koja poziva moju proceduru za obradu greške.
Da li si na početku error-handlera dodao blidemmin(0), da ne bi došlo
do rekurzije?
clipper.1245cnenad,
Kako je najzgodnije rešiti CFG datoteke i parametre koji se tamo upisuju ?
Da li postoji elegantnije (čitaj BRčE) rešenje za CFG (INI) datoteke od
FOPEN, FREAD, FCLOSE, SUBSTR... ?
clipper.1246dvesic,
BLINKER 3.01/3.10
Izgleda da je VMIF našao svog parnjaka :(
U poslednje vreme relativno često (1 - 2 puta dnevno) mi se u programima
javlja :
BLX286 : 1313 : exception error 0E : page fault, code = 0000h
i to bez obzira da li je linkovano sa 3.01/3.10. Problem se javlja samo
kod DUAL programa, dok kod REAL/EXTEND nema takvih (ili bar nisu primećeni)
problema.
Komentari ?
clipper.1247toma,
Problem!!!
4dos 5.5b, Clipper 5.2c, Blinker 3.0 i neće da radi. Sve sam probao
i ništa. Konkretno, ne radi swapovanje, daje grešku br.9, što će reći
da nešto ne valja sa SHELL-om. U nortonovim gajdama kaže da proverim
COMSPEC, ali tu je sve u redu. Jel imao neko sličnih problema.
Kad kažem command /Cmojprog.exe sve radi kako treba.
Šta li mu je?
clipper.1248lucas,
Pre neki dan sam počeo da se interesujem za Clipper
i rek'o da probam da vidim šta je to čudo ....
prekucao sam neki programčić iz knjige o kliperu
(svira neku melodiju) da probam.
E sada to sve radi ali me nervira što nemože da se
prekine svirka kada jednom počne.
Da li može da se nekako prepravi program da bi bilo kada
u toku sviranja program mogao da se okonča.
Prilažem program za one koji su zainteresovani da mi pomognu.
unapred hvalaKH
muzika.prgclipper.1249dvesic,
-> #1248, lucas> Da li može da se nekako prepravi program da bi bilo kada
> u toku sviranja program mogao da se okonča.
Za početak, dodaj jedno SetCancel( .T. ) što bi trebalo da ti omogući
da ga prekineš sa Alt-C ili Ctrl-Break.
Bolje je rešenje da uradiš sledeće :
Prva linija programa neka ti glasi #include "Inkey.Ch"
Zatim :
Set Key K_F2 To BreakProgram()
A na kraju programa dodaj :
Procedure BreakProgram()
RestNote( 1 )
QUIT
Return
Nadam se da sam ti pomogao :)))
clipper.1250nbatocanin,
-> #1245, cnenad> Da li postoji elegantnije (čitaj BRčE) rešenje za CFG
> (INI) datoteke od FOPEN, FREAD, FCLOSE, SUBSTR... ?
Biće u novim Računarima :) Doduše, sa ovim funkcijama.
clipper.1251jolicm,
-> #1250, nbatocaninZašto ne koristite linKKKKKONFIG.DBF u kojem stavite polja koja vas interesuju.
Mislim da je to daleko jednostavnije od ANSI datoteke.
U Konfig.dbf stavite samo jedan zapis sa brojem polja koliko vam treba,
i sa:
USE KONFIG
printer=konfig->printer
boja=konfig->boja
firma=konfig->firma
....
....
close konfig
rešavate vrlo lako problem.
:) Zdravo.
clipper.1252pstevo,
S O S S O S S O S
Memo polja sa SIXNSX 2.0, znaci .SMT extenzija me uporno za*ebavaju.
DBF ima npr 100 slogova. Pišem u MEMO polje u slogu 10 i nakon toga
u slog 20. Kada se vratim na 10, tamo nalazim dijelove teksta koje sam
upisao u slog 20. Zna li neko za nekakav bag u SIXNSX koji ima veze sa tim ?
DBF sam kreirao sa:
DBCreate( 'DBFFajl',š š'Bilo_Sta','C',5,0ć , š'Memo','M',10,0ć ć
Šaljite mi odgovore čak i ako ih ne znate :) , vrlo mi je važno.
Pozdrav svima, Stevan
clipper.1253spantic,
-> #1251, jolicm> Zašto ne koristite linKKKKKONFIG.DBF u kojem stavite polja koja vas
> interesuju. Mislim da je to daleko jednostavnije od ANSI datoteke.
Odgovor je prost. žesto je pogodno da se INI datoteka može menjati
i ručno, takoje najlakše dodati opise. A to je sve dosta bitno kako
sa stanovišta korisnika, tako i sa stanovišta onoga ko održava takav
softver.
clipper.1254dvesic,
-> #1252, pstevo>> DBF ima npr 100 slogova. Pišem u MEMO polje u slogu 10 i nakon
>> toga u slog 20. Kada se vratim na 10, tamo nalazim dijelove
>> teksta koje sam upisao u slog 20. Zna li neko za nekakav bag u
>> SIXNSX koji ima veze sa tim ?
Baci u konf deo koda za koji si siguran da ti pravi probleme,
da ga seciramo :)))
clipper.1255cnenad,
-> #1250, nbatocaninŁŁŁ> (INI) datoteke od FOPEN, FREAD, FCLOSE, SUBSTR... ?
ŁŁŁ Biće u novim Računarima :) Doduše, sa ovim funkcijama.
Januarskim ? O:)
Ono što se meni nikako ne sviđa i što pokušavam da izbegnem je sledeći izgled
CFG datoteke, npr.:
8 // oznaka kodnog rasporeda
1 // koristiti boje
1 // izvršiti uvodni ekran
P // pulsno / tonsko biranje
Sad recimo program mora za svaku vrednost da pročita pored nje i komentar (?!)
u neki string, pa da odatle čupa potrebne stvari. Šta ako neka linija nije
dobra, ako parametar nije dobar, ako... Ufff.
Ovo je zgodno rešenje zbog objašnjenja sa strane koja daju informaciju
korisniku šta treba i može menjati i koju vrednost treba da stavi. Ali zbog
tih objašnjenja, string koji se čita i sa kojim se operiše je mnogo veći,
a opet tu su oni problemi sa položajem linije, parametrima...
Sa druge strane, rešenje:
8 1 1 P
! ! ! !
! ! ! +===== pulsno / tonsko biranje (Dozvoljene vrednosti: P ili T)
! ! !
! ! +======= izvršiti uvodni ekran (...
...
je mnogo zgodnije jer se odmah zna koliko bajtova iz datoteke treba da se
pročita. Naravno, i ovde svaki parametar mora biti na svom mestu.
Jedino je nezgodno što će opis svakog parametra malo ružniji biti ali se
barem oni ne učitavaju.
U svakom slučaju korisnik BI TREBAO, odnosno MORA staviti prave vrednosti
na pravo mesto.
clipper.1256pstevo,
-> #1254, dvesic
/*
Opet naglasavam, u pitanju je SIXNSX V2.0
Isprobajte ovaj program kod sebe i javite mi rezultate.
Uradite ovako:
-Startajte program;
-sa tasterom 'A' (append) dodajte recimo 10 slogova;
-pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od recimo 10-15
znakova u memo polje. Svaki put zavrsavate editovanje sa CTRL+W;
-izadjite iz programa sa ESC;
- ponovo startajte program;
-unesite u polje 5 (opet prvo pritisnete 'E') neki tekst duzine barem 4-5
redova;
-strelicama gore-dole ;) prelistajte predhodne slogove i tako pregledajte
sadrzaj memo polja;
-pozovite 011/648-422 :) i napisite sta se desilo, zeljno vas cekam :)
Napomena: ne zaboravite iz .LNK fajla izbaciti NOMEMO ako ga tamo ima !
Pozdrav, Stevan
*/
*******************************************************************************
/* Demo program problema sa SIXNSX i SIXCDX MEMO poljima */
*******************************************************************************
#include "SIXNSX2.CH" // ili "SIXCDX2"
#include "InKey.CH"
FUNC Test()
FIELD Memo_P,;
Bezveze
LOCAL nLKey
CLEAR SCREEN
IF !File('Memo.dbf')
Sx_SetMemoBlock(32)
DBCreate('Memo',šš'bezveze','C',5,0ć,š'Memo_P','M',10,0ćć)
ENDIF
USE Memo
Sx_MemoPack(32)
č 1,0 TO MaxRow(), MaxCol() DOUBLE
DO WHILE !(LastKey()==K_ESC) // ESC == kraj rada
č 0,0 CLEAR TO 0,79
č 0,0 SAY 'SLOG:'+Str(RecNo(),5,0)+'/'+AllTrim(Str(LastRec()))
MemoEdit( Memo_P, 2,1,MaxRow()-1,MaxCol()-1,.F.,.F.)
nLKey:=Inkey(0)
IF nLKey==K_DOWN // listanje sadrzaja baze
DBSkip(1)
ELSEIF nLKey==K_UP
DBSkip(-1)
ELSEIF Upper(Chr(nLKey))=='A' // dodaj novi slog
DBAppend()
REPLACE bezveze WITH Str(RecNo(),5,0)
ELSEIF Upper(Chr(nLKey))=='E' // editovanje memo polja
č 0,35 SAY 'EDITOVANJE MEMO POLJA'
REPLACE Memo_P WITH MemoEdit( Memo_P,2,1,MaxRow()-1,MaxCol()-1 )
ENDIF
ENDDO
COMMIT
CLOSE ALL
QUIT
RETURN (NIL)
****************************************
clipper.1257lucas,
-> #1249, dvesic>> Nadam se da sam ti pomogao :)))
Nažalost, nisi.
Prva ideja da se stavi setcancel(.T.) zaustavlja rad programa tek kada
se zaustavi svirka .... znači kasno.
Druga ideja ne važi uopšte, najverovatnije, jer koristim clipper summper 87
a on nije hteo da primi ono štosi mi preporučio.
Ako se neko još nečega seti ....
clipper.1258dejanr,
Već godinama primećujem jednu čudnu stvar sa Clipper-om, naime kad god počnem
da radim neki program, desi mi se da mi ne radi Clipper Debugger. Jednostavno
ja CLD imeprograma, a ono krene da ga izvršava bez debagera. Resetujem računar,
i od tada sve u redu, kroz dane i dane rada na tom programu. žim krenem da
pišem neki novi, odjednom opet CLD prvi put ne radi.
Ovo mi je izgledalo kao neka crna magija ;) i najzad danas shvatih šta je -
kada počnem da radim program, obično startujem LPTX jer mi je sa njim lakše da
spisak polja u bazi prebacim u ASCII oblik da bi ga ubacio u razne deklaracije
itd. E, kad je LPTX učitan (makar bio i neaktivan), CLD ne radi.
žovek se uči dok je živ :)
clipper.1259pstevo,
-> #1254, dvesic
/*
Puno, puno, puno se izvinjavam dvesic-u i drugima koji su vec
isprobali primjer iz poruke 10.1256 .
Ima malu gresku - treba liniju u kojoj pise :
Sx_MemoPack(32)
izbaciti iz programa, naime sa njom na pocetku programa
bag se ne prikazuje, ali to je naravno neprihvatljivo jer
ne mogu prilikom svakog pokretanja programa da pakujem bazu !
Ponovo se izvinjavam i ne znam kako se to dogodilo. Jednostavno u
poslednjem trenutku sam zaboravio da kod te linije stavim komentar
i da je tako izdvojim iz programa.
Onima koji su to vec kompajlirali nece biti tesko da samo tu liniju izbace
pa ponovo pokusaju ( nadam se :) ).
Opet naglasavam, u pitanju je SIXNSX V2.0
Isprobajte ovaj program kod sebe i javite mi rezultate.
Uradite ovako:
-Startajte program;
-sa tasterom 'A' (append) dodajte recimo 10 slogova;
-pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od recimo 10-15
znakova u memo polje. Svaki put zavrsavate editovanje sa CTRL+W;
-izadjite iz programa sa ESC;
- ponovo startajte program;
-unesite u polje 5 (opet prvo pritisnete 'E') neki tekst duzine barem 4-5
redova;
-strelicama gore-dole ;) prelistajte predhodne slogove i tako pregledajte
sadrzaj memo polja;
-pozovite 011/648-422 :) i napisite sta se desilo, zeljno vas cekam :)
Napomena: ne zaboravite iz .LNK fajla izbaciti NOMEMO ako ga tamo ima !
Pozdrav, Stevan
*/
*******************************************************************************
/* Demo program problema sa SIXNSX i SIXCDX MEMO poljima */
*******************************************************************************
#include "SIXNSX2.CH" // ili "SIXCDX2"
#include "InKey.CH"
FUNC Test()
FIELD Memo_P,;
Bezveze
LOCAL nLKey
CLEAR SCREEN
IF !File('Memo.dbf')
Sx_SetMemoBlock(32)
DBCreate('Memo',šš'bezveze','C',5,0ć,š'Memo_P','M',10,0ćć)
ENDIF
USE Memo
/////////////
///////////// Sx_MemoPack(32) - ovo molim vas izbacite ( Sorry )
č 1,0 TO MaxRow(), MaxCol() DOUBLE
DO WHILE !(LastKey()==K_ESC) // ESC == kraj rada
č 0,0 CLEAR TO 0,79
č 0,0 SAY 'SLOG:'+Str(RecNo(),5,0)+'/'+AllTrim(Str(LastRec()))
MemoEdit( Memo_P, 2,1,MaxRow()-1,MaxCol()-1,.F.,.F.)
nLKey:=Inkey(0)
IF nLKey==K_DOWN // listanje sadrzaja baze
DBSkip(1)
ELSEIF nLKey==K_UP
DBSkip(-1)
ELSEIF Upper(Chr(nLKey))=='A' // dodaj novi slog
DBAppend()
REPLACE bezveze WITH Str(RecNo(),5,0)
ELSEIF Upper(Chr(nLKey))=='E' // editovanje memo polja
č 0,35 SAY 'EDITOVANJE MEMO POLJA'
REPLACE Memo_P WITH MemoEdit( Memo_P,2,1,MaxRow()-1,MaxCol()-1 )
ENDIF
ENDDO
COMMIT
CLOSE ALL
QUIT
RETURN (NIL)
****************************************
clipper.1260nbatocanin,
-> #1251, jolicm> Zašto ne koristite KONFIG.DBF u kojem stavite polja
> koja vas interesuju.
Iz dosta razloga. Na primer, na ovaj način se moraju ograničiti
dužine svih parametara. Doduše, može se stvar dosta uspešno srediti i
sa DBF datotekom.
clipper.1261spantic,
-> #1255, cnenad Dakle, šta je razumljivije korisniku? Prva inicijalizacija ili druga?
Za korisnika je definitivno lakša, manje podložna greškama, lakša za
nalaženje greški etc. prva. Što se programera tiče, pre svega on piše
za korisnika i dužan je njemu da se prilagodi, a drugo i njemu je lakše.
Uostalom, posao se odradi jednom i posle se samo koristi.
KodRas = 8 // oznaka kodnog rasporeda
IniCol = 1 // koristiti boje
IniScr = 1 // izvršiti uvodni ekran
P_Tb = P // pulsno / tonsko biranje
ili
> 8 1 1 P
>! ! ! !
>! ! ! +===== pulsno / tonsko biranje (Dozvoljene vrednosti: P ili T)
>! ! !
>! ! +======= izvršiti uvodni ekran (...
clipper.1262velicko,
Nigde nije dokumentovano, ali Clipper ima f-ju dbTableExt() koja
za sada poznate RDD-ove vraća ekstenziju.
Ekstenzija ne zavisi od ekstenzije datoteke na disku već je definisana
za svaki RDD.
na primer:
proc main()
request dbpx
use proba.xyz alias proba via "DBFNTX" exclusive new
? dbTableExt() // vraca ".DBF"
copy to proba2 via "DBPX"
close proba
use proba2 alias proba2 via "DBPX" exclusive new
? dbTableExt() // vraca ".DB"
close proba2
return
by moj prijatelj mmarkovic
kome je uzgred istekla pretplata
a i ostao je bez modema
clipper.1263dvesic,
-> #1259, pstevo>> Uradite ovako:
>> -Startajte program;
>> -sa tasterom 'A' (append) dodajte recimo 10 slogova;
>> -pritisnite taster 'E' i unesite u slog 1,3 i 4 neki tekst od
>> recimo 10-15
Uradio tako :)
Jedina razlika je što sam koristio SIXCDX.CH zaglavlje (bez extended
izraza) i nikakvih problema nisam imao (a igrao sam se dobrih pola
sata :)
clipper.1264velicko,
Zanimljiv BUG Clipper-a 5.2d
proc main()
local a
a := ""
? "" $ "AAA" // rezultat .T.
? a $ "AAA" // rezultat .F.
return
Na svoju sramotu :) , proverio sam ovo
i u multy fox-u , tamo oba izraza daju .f.
Nekako mi se čini da bi obavezno
"" $ "non empty string"
moralo da daje .t.
velicko
clipper.1265pstevo,
-> #1263, dvesic> Jedina razlika je što sam koristio SIXCDX.CH zaglavlje (bez
> extended
Probao sam i ja pa se ništa nije promijenilo. Jesi li siguran da si
memo polja trpao u *.SMT ili *.FPT fajl a ne *.DBT od SIX 2.0 ?
Sa *.DBT radi normalno samo što to nije to :)
Isto tako sa SIXCDX 1.5 i njegovim *.FPT fajlom dobro radi.
Mislim da je problem u označavanju zauzetog i slobodnog prostora u
*.SMT ili *.FPT datoteci jer SIX pokušava da napravi "REUSE" obrisanih
dijelova da bi smanjio "BLOAT".
Pošto se ovaj bag pojavljuje samo nakon ponovnog startovanja
programa predpostavljam da je sve u redu dok SIX drži u memoriji
flegove koji mu označavaju slobodan prostor u fajlu ali nevolja
nastaje kad ih treba zapisati u fajl (header *.FPT-a). Možda ne isprazni
nekakve bafere.
Ali zašto onda kod tebe radi a kod mene ne?
Hm, možda zato što ja imam
SIX2.LIB 2.01.00 pre-release, datum: 08-01-94 , vrijeme: 05:30 ?
Šta ti imaš od SIX-a?
clipper.1266nbatocanin,
-> #1255, cnenad> Ono što se meni nikako ne sviđa i što pokušavam da
> izbegnem je sledeći izgled CFG datoteke, npr.:
>
> 8 // oznaka kodnog rasporeda
> 1 // koristiti boje
Evo izvoda iz moje konfiguracije:
[PUBLIC]
_LogUser := TRUE
_ShowUser := TRUE
_ZipComm := "pkzip a:save "
_Mem := 300
> Ovo je zgodno rešenje zbog objašnjenja sa strane koja daju
> informaciju korisniku šta treba i može menjati i koju
> vrednost treba da stavi.
Izmena konfiguracione datoteke prelazi mogućnosti 99% korisnika mojih
programa. Podešavanje svih parametara radi program, preko pogodnih
maski i menija.
clipper.1267vlador,
Da li je moguce pomocu Blinkera (3.0) izvrsiti linkovanje preko PLL fajla?
---
■ VLADOR ■ Pomozite miliciji - batinajte sami sebe.