fox.104ndragan,
-> #101, sbrk/ Ne mogu da nađem u helpu FOXa koji fajlovi predstavljaju EXE support
/ library, valjda ih ima 5? Jel' zna neko?
To bi trebalo da su ona tri .ES? fajla (par .ESO i .ESL za preklapačku
verziju, i samo jedan .ESL velik kao ta dva zajedno za produženu), s tim
da bi trebalo nositi i
foxr.exe (da startuje .app - .exe se inače pravi tako što se on
linkuje na .app)
config.fp (da sadrži makar liniju Resource=off ili ćeš morati da
nosiš i)
foxuser.dbf, .fpt (ako vidiš .idx, obriši odmah - to je zaostalo od
poslednjeg reseta pa ga foks nije obrisao sam)
foxpro.int - tabele za kodne strane. Za naš 852 raspored može da se
stavi Set Collate to "Slovak", lepo slaže Š između S i T, jedino što
sortira č ravnopravno sa c, a ć dođe posle kao posebno slovo.
/ A ovaj Stand-Alone-Extended verovatno NE radi na toj istoj 286-ici sa
/ 1 MB.
Bilo šta u proširenoj verziji zahteva minimum mega ipo produžene (na
286) a može isto i proširene (386+), mada... 286? To bi trebalo zakonom
zabraniti. Uspeo sam jednom da pokrenem preklapačku verziju (2.6) na
286, mogao sam korak po korak da pratim kako iscrtava ekran. Ono što na
386 uradi ko je reko keks, na 286 se primetno vuče ceo minut. Ne
preporučujem.
fox.105gcurcic,
-> #101, sbrk¨˙> Ne mogu da nađem u helpu FOXa koji fajlovi predstavljaju EXE support
¨˙> library, valjda ih ima 5? Jel' zna neko?
¨˙> I, da li Stand-Alone EXE kompajliran sa Extended FOXom na 486-ici radi
¨˙> na 286-ici? Pretposta sa 1 MB rama. Trebalo bi da radi, al' ne znam
¨˙> provereno.
Za 2.0: osim učitavača (jel to prevod za loader? ;> - FOX.EXE, FOXR.EXE,
FOXL.EXE), FOXPRO.ESL, FOXPRO.ESO, FOXPROX.ESL, FOXPROL.OVL; ako
koristiš foxove drajvere za štampače još GENPD.APP i PROAPI16.EXE
A za 2.6 (ako se ne varam) još FOXDX260.ESL, FOXPRO.INT, FOXSTART.APP i
valjda DRIVER2.PLB.
Za drugo pitanje: na 486tici možeš da formiraš Simple executable koji će raditi
na 286tici. Extended verzija je rezervisana za 386tice (SX) i više.
Hintić: kada loaderom startuješ .APP-likaciju, možeš ga naterati da ti se
Extended verzija startuje i na 386tici sa manje od 2MB slobodne memorije:
FOX -M1000 XYZ.APP
fox.106dulev,
Da li je neko probao Fox 2.6 za Win i ODBC sa Oracle-om?
Sta imam:
- Oracle 6 na Unix-u
- Fox 2.6 na Win 3.11
- Odogovarajuce verzije TCP...
Sta se desava:
Access vidi Oracle, V.Basic, CA Visual Objects... svi vide Oracle
i sljaka bez problema. (Na ISTOJ masini, isti WIN, isti TCP, isti
Oracle, SVE isto.)
Medjutim, Fox se UBIJE (Module Foxprow .... GENERAL ERROR ..... )?
(Karadza)
(dv)
fox.107gcurcic,
-> #102, ndragan¨˙> Malo sam proradio ovo sa svojim projektantom (on radi globalni deo,
¨˙> moje je da to pretočim u baze i aplikaciju), i on tvrdi da je situacija
¨˙> kad neko ima 800 stavki za jedno radno vreme stvar loše organizacije,
¨˙> zašto se sve to sliva u centralu i zašto nema računara tamo gde se
¨˙> stvarno događa. Tu jeste u pravu, ali zamisli velik magacin koji treba
¨˙> da se izinventariše preko vikenda.
Dal' je tvoj projektant nekad obučavao magacionere? Tuga božija. Prvo,
nikad nemaju vremena. Drugo: muka im je da uče bilo šta novo. Treće:
kod nas je osnovni kriterijum kod zapošljavanja magacionera da je jak
i zdrav (masan i debo) kako bi mogao da pripomogne pri utovaru/istovaru.
Samo sam jednom video da je direktor, kad je ubacio comp u magacin,
zajedno sa mašinom ubacio i ženu koja je dotad radila pozadinski nanos
za taj magacin. Svi su se smejali ("taj kompjuter im samo napravi gužvu
u magacinu"), ali se njih dvoje lepo organizovalo - on prima i predaje
robu, utovaruje i istovaruje, dok mu ona sređuje svu dokumentaciju. Sa
njima nikad greške, a nije da nemaju posla...
fox.108gcurcic,
-> #103, ndragan¨˙> I pazi sad, oni su mušterije, dakle u pravu su i treba im dati to što
¨˙> su tražili i što hoće da plate. Video sam nekoliko dobrih rešenja, i
Samo mi ovo nije jasno: moduli oko kojih sam se namučio ko žuti mušterije
ostavljaju mrtvim-ladnim, a nešto što sam ubacio za mož' nekad da zatreba...
Recimo, 132-kolonski prikaz ih oduševljava, kao i Print Preview izveštaja
(prosto odštampano u fajl i MODI COMM trt-mrt NOMODIFY) umesto browse-a
(TAB, gde to beše?), pa foxov calculator i diary. A ja se zamajavao oko
prepravljanja GENPDa da šaljem štampu u RipeFAX-ove *.LET fajlove sa sve
skenjiranim potpisom i džidžamidžama!
Definitivno, najbolji potrošači usluga su sekretarice u raznim Vele Komerc
Internacional Xolding Trade Export-Import Company Promet corp ltd firmama.
Brate, nabaciš joj Winword i neki Bitfax, uradiš 3-4 templejta sa logotipom,
instaliraš faxmodem, dolaziš 5-6 dana... Plus pićence, žensko društvo i
friendly environment. Možda se nađe i neki budući poslić... A i vlasnici
tih malih firmi nikad ne cepidlače oko honorara.
fox.109madamov,
-> #103, ndragan
> E, nek proba neko da ubedi knjigovođu koji je navikao na ovako lagan
> unos, da treba da odvoza miša do alatnice, klikne na ikonicu praznog
> papira, pa unese stavku, pa klikne na ikonicu diskete da mu se to i
> zapiše, pa onda ispočetka. E da, ako hoće da preskoči neko polje, ne sme
> da pritisne Enter, nego Tab.
Zavisi od alata i od toga koliko je programer želeo da utroši vremena
(viđao sam ja žešće nebuloze u Fox i Clipper DOS programima tipa da čovek mora
da prođe celu masku udaranjem 30 puta na enter da bi došao do "dugmeta" za
odustajanje, nemoj mi reći da je to brže od kliktanja mišem na Cancel dugme),
ovi moji se i nisu baš preterano bunili kad su iz Clipper programa prelazili na
moje čedo na Meku. Stvar navike i umešnosti programera, tj. manje umešnosti
koliko želje da se stvari naprave onako kako treba, a ne kako svi rade. Doduše,
ja sam malo subjektivan, tj. u specifičnoj sam situaciji jer razvijam program
za firmu u kojoj radim, kod mene (potrudio sam se da tako napravim
organizaciju) knjigovođe unose prilično malo podataka, više od 50% stvari im je
već uneseno od strane komercijalista, sekretarica, osoba koje vode blagajne i
bankovne račune i slično, knjigovođa i računovođa to odobravaju za knjiženje
ili im odbijaju, kliktanjem i shift-kliktanjem smeštaju grupe dokumenata u
odgovarajuće naloge za knjiženje itd. Alat u kome radim mi omogućava da ovakve
stvari relativno brzo uradim (uskoro će se, nadam se, pojaviti i za Windows pa
ćete moći da vidite o čemu pričam), a da sam se opredelio za Fox za Meka ne bi
mi na pamet palo da implementiram takve stvari u aplikaciju.
fox.110sbrk,
Ne mogu nikako da pronađem šta znači poruka o grešci:
kada se startuje Stand-Alone EXE, javlja FILE NOT FOUND, a ispod tog prozora o
grešci, na ekran napiše
13
0.5
[Enter]
Fox mi se nalazi u pathu, kada se startuje APP iz FOXa, ne prijavljuje se
nikakva greška.
Ako odgovorim sa Ignore, dalje sve lepo radi; na Cancel izbaci u DOS.
Verzija Fox-a je FP4Dos 2.6, startovanje je iz DOS-a.
Zna li neko?
fox.111majstor,
Dodje i MS Visual FoxPro na 13 disketa. Proba li neko ovo ????
fox.112spantic,
-> #111, majstor> Dodje i MS Visual FoxPro na 13 disketa. Proba li neko ovo ????
Ja imam neku verziju na 10 ED disketa, ali izgleda da je to
ipak bila beta. Dosta je lepo radila, mada osim prevođenja
starih programa iz Fox 2.6 for Win ništa nisam ni probao.
fox.113sbrk,
-> #110, sbrk>> kada se startuje Stand-Alone EXE, javlja FILE NOT FOUND, a ispod tog
>> prozora o
>> grešci, na ekran napiše
>>
>> 13
>> 0.5
>> [Enter]
Niko? OK, onda jedno drugo (lakše?) pitanje:
da li nekako može da se izvede u FOX-u nešto kao IDLETIME HOOK? To bi bila neka
stalno aktivna (znači i onda kada user ništa ne kuca, a nalazi se bilo gde: u
READ-u, READ CYCLE-u, MENIju...) a mogla bi konkretnije da se iskoristi za
recimo neko brojanje vremena od zadnjeg pritisnutog tastera, da bi mogla da se
aktivira neka poruka (autorska reklama ili kontextni help ili bilo šta).
Pošto je u FOX-u skoro svaka akcija usera EVENT a za svaki EVENT je moguće
aktivirati UDF, da li postoji nekakva rezidentna funkcija koju ne aktivira
ni jedan EVENT nego je stalno aktivna (naravno, ako je programer aktivira).
Pritom nisam mislio na READ TIMEOUT (šta ako user nije u READ-u i šta ako bi
programer hteo da aktivira neku UDF posle nekog vremena).
fox.114max.headroom,
-> #100, gcurcic> Jašta! Pošto sam video kako to kod konjkurencije izgleda,
> ja seo i napravio pgmče u kojem se unos naloga najviše
> dopada mom ćaletu. Kakvi butončići, kakvi bakrači!
> Knjigovođe to vole prosto (a da imaju sve pred nosom):
Jasno. Nebulozno je praviti bilo kakav button bar, jerbo na
korišćenje istog odleti 50% vremena pri unosu naloga. Nekako
sam zaključio da je najbezbolnije APPEND u bazu raditi preko
nekog od F-tastera (F5 ili F9), a prikaz prepuštam BROWSEr-u.
Ne znam da li si implementirao :) sledeće - pri startovanju
programa obavezno pita "Odaberite firmu sa kojom ćete raditi",
u slučaju da čovek knjigovodstveno servisira više od jedne
firme. Potom program do daljnjeg ostaje na izabranoj firmi -
tako operatera spašavaš unošenja tog jednog (u praksi često
jednog te istog) podatka. Think about it.
I još nešto - obavezno na ekran gurni DUGUJE, POTRAčUJE i SALDO,
najbolje u dnu BROWSE prozora (da ne bude zabune, to su SUM
vrednosti). Tako se olakšava vizuelna kontrola.
Special tip: po unosu naloga ne dozvoliti izlazak (ili ga dozvoliti
opciono) ako je nalog u neravnoteži (SALDO<>0). U svakom slučaju -
stavi knjigovođi do znanja da's može zeznuti propusti li tekući
nalog u bazu.
fox.115gcurcic,
-> #114, max.headroom¨˙> Jasno. Nebulozno je praviti bilo kakav button bar, jerbo na
¨˙> korišćenje istog odleti 50% vremena pri unosu naloga. Nekako
¨˙> sam zaključio da je najbezbolnije APPEND u bazu raditi preko
¨˙> nekog od F-tastera (F5 ili F9), a prikaz prepuštam BROWSEr-u.
Ja ne koristim F-tastere. Nekako nisu pri ruci (od XT-ove pa naovamo:))
Umesto toga, slog u tabelu dodajem po unosu zadnjeg polja u read-ciklusu
(potvrdim sa enterom, što kaže moja koleginica)
¨˙> Ne znam da li si implementirao :) sledeće - pri startovanju
¨˙> programa obavezno pita "Odaberite firmu sa kojom ćete raditi",
¨˙-
¨˙> I još nešto - obavezno na ekran gurni DUGUJE, POTRAčUJE i SALDO,
¨˙> najbolje u dnu BROWSE prozora (da ne bude zabune, to su SUM
¨˙> vrednosti). Tako se olakšava vizuelna kontrola.
Dabome, sve to i još puno lipi' stvari... Tipična je situacija ako su radili
na programu koji im je samo prikazivao tekući stav i kumule za dug. i pot.
Kada vide moje ekranče sa browserom, uslede primedbe da je 'maska pretrpana'
i da im se više sviđao 'prazan ekran'. Posle tri dana reakcije su obično
upravo suprotne.
¨˙> Special tip: po unosu naloga ne dozvoliti izlazak (ili ga dozvoliti
¨˙> opciono) ako je nalog u neravnoteži (SALDO<>0). U svakom slučaju -
¨˙> stavi knjigovođi do znanja da's može zeznuti propusti li tekući
¨˙> nalog u bazu.
I ovo mora. U svakoj prilici radim ovakve kontrole. Malo produžava posao,
ali me posle manje boli glava.
fox.116omega,
Da li može da se izbegne da pritisak na ESC terminiše READ?
fox.117oki.,
-> #116, omega:: Da li može da se izbegne da pritisak na ESC terminiše READ?
Što da ne, pre READ staviš
ON KEY LABEL Esc KEYBOARD "{neki drugi}" ili
do neka_procedura ili
wait window "Ne može ESC !" :)
fox.118vgenije,
HI
Mom ortaku je potrebna jednoa verzija fox-a za windows.Pa ako ima neka
dobra dusa koja je slobodna da mi to prekopira naka se javne na mail
hvala unapred i izvinjavam se zbog poruke koja manje vise i nije u
skladu sa temom
fox.119ndragan,
-> #107, gcurcic/ Dal' je tvoj projektant nekad obučavao magacionere? Tuga božija.
Da citiram dr Stjepana Hana:
"Sad se svi oni, naravno, boje, jer misle da, kad dođu računari, više
neće moći da kradu. I neće, bar ne oni, nego će moći neki drugi, koji to
budu umeli."
To je osnovni razlog otpora. Inače, imali smo iskustva i sa neverovatno
nepismenim osobljem, ama se sve to naučilo redu kad ih je šef pritegao,
čak su naučili, verovao ili ne, da rasporede navodnike u nazivima firmi,
a većinom su do kraja naučili čak i da sami odrede gde dođu velika slova.
Pošto smo stalno nešto doterivali, navikli smo ih na večite promene, i
mogu da kažem da su ukupno dva-tri puta tražili da vratimo nešto iz
prethodne verzije. Opet, to znači da su nove verzije pravljene prema
njihovim potrebama (ponekad i prema željama).
fox.121ndragan,
-> #109, madamov/ da prođe celu masku udaranjem 30 puta na enter da bi došao do
/ "dugmeta" za odustajanje, nemoj mi reći da je to brže od kliktanja
/ mišem na Cancel dugme),
Svi (svi, svi :) moji korisnici u prvih pola sata nauče gde je ESC, a u
prvih nedelju dana naviknu da ga nabodu žmurećki. Dugmići? Kakvi
dugmići?
fox.120ndragan,
-> #108, gcurcic/ ostavljaju mrtvim-ladnim, a nešto što sam ubacio za mož' nekad da
/ zatreba...
...zato ja ubacujem pre svega ono što im treba :)
fox.122gcurcic,
-> #119, ndragan¨˙> čak su naučili, verovao ili ne, da rasporede navodnike u nazivima
¨˙> firmi,
Auuu, krećemo se u različitim krugovima :)
To plješte apostrofe (i leve i desne), tarabe, zvezdice, procente, kose
crte, po afinitetima, a desi se da nabodu i pokoji navodnik ;)
Uf, što južnije to tužnije!
fox.123gcurcic,
-> #120, ndragan¨˙> ...zato ja ubacujem pre svega ono što im treba :)
Pa i ja, samo što oni definišu potrebe tek kada im plasiraš prvu verziju.
Ima veze i u nastupu: ako im se pojaviš i kažeš 'ovo radi ovako tu-i-tu,
ovo mora ovako' oni neće mnogo da namišljaju. A ako im razvučeš žvaku
'pa hm kupac je uvek u pravu - o'ma počnu da bistre politiku'.
fox.124madamov,
-> #121, ndragan
> Dugmići? Kakvi dugmići?
Oni za koje je ESC tastaturna skraćenica. B)
fox.125ndragan,
-> #113, sbrk/ da li nekako može da se izvede u FOX-u nešto kao IDLETIME HOOK? To bi
Ne, bar ne zaključno sa 2.6 (u 3.0 još nisam našao, ali postoji objekat
tipa tajmer koji bi mogao da se aktivira makar u sakrivenom prozoru ili
kao sakriven objekat, pa bi to radilo posao).
Ja sam stvar rešio onoliko koliko mi je trebala: u READ naredbama (ima
ih ukupno tri do pet u bilo kojoj mojoj aplikaciji) stoji TIMEOUT, na 5
do 20 minuta (kako gde), sa reakcijom na isteklo vreme - zatvara se
maska i vraća se u prethodni nivo.
Druga situacija u kojoj mi se aplikacije često nalaze su rutine za
postepeno približavanje (ztv incremental search) koje koristim za sve i
svašta (što rekao kolega, ne znam da li je catal6.prg programerska
okolina ili ceo jezik), tamo ima jedan inkey(180). Posle tri minuta
reaguje kao da je pritisnut ESC i izlazi.
Ostaje problem što meniji nemaju vremensko ograničenje, pre svega zato
što se foks još od prve Pro verzije polako približava prozorskoj
filozofiji (zato je sistemski meni takav kakav je), a gde ste videli
aplikaciju za prozore koja reaguje na to što već pola sata niste
aktivirali ništa u meniju? Skrin šejver nije reakcija aplikacije, nego
šire okoline.
Najbliže "rutini koja okida redovno" što sam napravio je "rutina koja
okida dovoljno često", a štos je u tome da njeno ime predajem svom
drajveru menija (ne generišem programe za menije - čitam ih direktno
iz baze u memoriju) koji je poziva svaki put kad se uđe ili izađe iz
neke tačke menija.
Što se tiče tog nedostatka reakcije na časovnik u samom foksu, to je
ušlo u neki papir sa spiskom bagova i primedbi, što sam prosledio do
čoveka u Majkrosoftu, ali mislim da od toga ionako neće biti ništa -
FP za DOS će živeti koliko i DOS. Nema daljeg razvoja, moraćemo živeti
sa ovom verzijom do daljnjeg ili preći na VFP 3.0 itd. Možda će neka
firma otkupiti pravo na dalji razvoj pod dosom, ali mi se čini da i
Japanci kubure sa nestašicom kamikaza.
fox.126ndragan,
-> #111, majstor/ Dodje i MS Visual FoxPro na 13 disketa. Proba li neko ovo ????
Probao, ama od posla ne postižem da ozbiljnije pročačkam. Nemam pojma
koliko disketa, iskopirali smo CD na servera pa odande instaliramo, a
instalacija je tako glatka da sam klisno kod sekretarice na kafu dok
bude gotovo. Jedino (isti zajeb ko i fpw2.6), treba isključiti skrin
šejver, jer instal pauzira dok on žvrlja.
Imam beta verziju, zasad su jedini ozbiljni primećeni bagovi na
dokumentatoru (na svakoj rutini je ispisao u zaglavlju da poziva sve
ostale rutine iz fajla), i opet ono što me dovelo do ludila sa fpw2.6,
ne mogu da promenim font u (dbf-style) help prozoru. Menjao sam sve
moguće fontove koje W95 dozvoljava da se promene, a ovo je izgleda font
za svece (potpisi ispod ikona), tako da sam jedva pročitao neke novosti,
sve buljeći u monitor do ujutro.
Elem:
- READ je mrtav, emulira se.
- BROWSE je mrtav, emulira se.
- meniji su ostali kakvi su bili - tj, kako u ostalim prozorima, tako
i u foksu
- API funkcije su redom nabrojane u helpu, ko voli nek izvoli
- sve je skroz objektno, sa sve nasleđivanjem, potklasiranjem
- uvedene su zbirne baze (.DBC - database containers), u kojima stoje
kompletne okoline - koje su baze otvorene (i gde, pošto je moguće
praviti klijent aplikacije koje pišu/čitaju sa SQL servera), sa kojim
relacijama, koja su pravila koja treba da potvrde upis / ispravku /
brisanje.
- uvedeni su imenovani pogledi (view) gde se pamte neke stvari iz SQL
pretraga, SQL transakcija itd.
- baferisanje baza (optimističko i pesimističko), sa transakcionom
obradom (naredbe Begin Transaction & End Tr.) žesto će trebati funkcija
TableUpdate() i TableRevert()
- smeštene procedure
- .scx sadrži samo snipete i to za delove koji se razlikuju od koda u
roditeljskoj klasi. Kompajlirane verzije su takođe unutra. Nema
generatora - maska trči direktno iz .scx, otvarajući po potrebi .vcx
(class libraries) uzvodno, dok ne dođe do samog foksa.
Aj dosta za ovaj put.
fox.127ndragan,
-> #116, omega/ Da li može da se izbegne da pritisak na ESC terminiše READ?
Moglo bi sa Read Save, pa ako je ReadKey() bio 12 (valjda, proveri),
onda ponovo Read Save. Ne zaboravi da uradiš Clear Gets na kraju, inače
getovi ostaju zapamćeni za sledeći Read.
fox.128sbrk,
Hteo sam da pri kreiranju menija (FP 2.6 DOS) u Menu Builderu zadam i MESSAGE -
onu centriranu liniju u poslednjoj liniji ekrana i vidim da takve opcije
(zadavanje MESSAGE klauzule) nema nigde ?! Ima Skip for, # Bar, Hot Key itd. a
MESSAGE - nema. Znači trebalo bi generisati MPR pa onda ručno ubacivati. A šta
kad se meni promeni? Opet ići u MPR?
Da nisam ja nešto propustio? Možda MESSAGE ipak negde može da se zada?
fox.129mishas,
Zdravo,
ja dosta koristim FOX-ov sistemski meni tako sto ga prevedem na srpski.
To lepo radi ali ne znam kako to da uradim za BROWSE MENU. Nigde nemam nazive
bar-ova i td. Ocekivao sam to da nadje u HELP-u itd ali nista! Ima li neko
id3ejeju?
fox.130max.headroom,
Pozdrav svima. 'Vako...
1. Ima li neko ideju kako napraviti brz parser .INI fajlova, nešto u
stilu Windows-ovih kreacija, a koji će raditi po principu:
ŠtemaĆ
var1=vrednost1
var2=vrednost2
...
2. Da li ste zainteresovani za, nazovi optimajzer, Fox-ovog koda (da
budem precizniji, .PRG fajlova)? Šta bi tu sve moglo da prođe?...
Hmmh, nešto poput parsera linije (nije tako teško izvesti), na šta
se nabudži par promenljivih koje prate IF...ENDIF i ostale sitne
uslove, potom promenljive koje čuvaju podatke o petljama, zatim
jedan SQL-da-sve-izgleda-lijepo, i, kao poslastica, vremenska
upoređivanja vašeg i novokreiranog koda. :) Al' bi to bilo lepo...
fox.131bambi,
Znam da je ovo najstarije i verovatno najdosadnije pitanje za iskusne
korisnike fox-a ,ali moram da ga postavim.
Mozete li mi preporuciti literaturu za Fox for Win na nasem i eng.
jeziku.
Hvala
fox.132bambi,
A, da zaboravih da dodam ,po mogucstvu FOX 2.6 for win.
fox.133gcurcic,
-> #131, bambi¨> Mozete li mi preporuciti literaturu za Fox for Win na nasem i eng. jeziku.
Dovoljna je ona koja se dobija u paketu. Teška je otprilike kao giter blok!
Par 'iljada strana, pis of kejk ;) A i štampana je na nekom anti-moljac papiru
čiji me opori miris podseća na FLIT ili FONAR insekticide!
žitava mi polica smrdi na Fox!
Mani se literature, u help fajlu imaš sve što ti treba.
fox.134smarkov,
-> #130, max.headroom> ŠtemaĆ
> var1=vrednost1
> var2=vrednost2
Valjda je zzivotic svojevremeno u Računarima opisao skeleton takvog sistema
u Računarima - u formi C-a. Ako se iz Fox-a zovu C funkcije - eto rešenja.
fox.135max.headroom,
-> #134, smarkov> u Računarima - u formi C-a. Ako se iz Fox-a zovu C
> funkcije - eto rešenja.
Pa, i nije baš neko rešenje :) U svakom slučaju, hvala za tip -
probaću da nađem tekst i ev. ga prevedem u Fox formu.
BTW, Kroz Fox nije moguće (posebno onu DOS ver.) terati C source.
fox.136max.headroom,
-> #131, bambi> Mozete li mi preporuciti literaturu za Fox for Win na
> nasem i eng. jeziku.
Možda bi ti pomoglo da pročitaš neke tekstove koje sam svojevremeno
ostavio u temi baze.podataka - inspirisani su knjigama izvesnog George
F. Goley-a, čija su mi se izlaganja učinila manje suvoparnim i nekako
efektnijim u odnosu na konkurentna izdanja. U slučaju da neznaš kako
da počneš, ili rešiš neki od problema, slobodno ostavi poruku - po-
stoje ljudi koji će ti rado pomoći.
fox.137mishas,
-> #129, mishasNiko!?
Pa mozda nisam bio dovoljno jasan? Pokusacu blize da objasnim. Kada zelim da u
svoju aplikaciju pozovem neke Foxove rutine napr. kalkulator ja u meni
stavim:BAR # _MST_CALCU ili za HELP stavim BAR # _mst_MST_HELP ili kad zelim da
omogucim pomeranje prozora ja u meni stavim: BAR # _MWL_MOVE itd.
E sad kako da primeni isto i na rutine is BROWSE menija? Npr. kako da
omogucim prelaz izBRiz BROWSE u CHANGE mode i sl. ali tako da ponudip
programski kontrolisan BROWSE meni a ne da korisniku dam engleske nazive?
fox.138mishas,
Evo me opet nagovorili su me da jednu DOS aplikaciju prenesem na Mac-a,
a sada posto je korisnik zadovoljan radi dalje prodaje vratio sam je u Fox4win
sve je u redu ali mi nesto ne dostaje K. Naime na MACu sam sva GET polja
KKKKKKKKKKKKpolja postaviou bilderu tako da se vide u tri dimenzije. Na MACu
kad definises polje on te lepo pita 2dim ili 3dim. Transporter mi je sva takva
polja preveo u 2dim. Nisam se uzbudio i usao sam u bilder u Fox4win da promenim
u generatoru, ali gle cuda takve opcije nema u Foxu za windows. Da li je moguce
da to ne mogu da setujem automatski vec moram posebno da "crtam" polje po
polje. Znate ono box pa gore i levo belo dole i desno tamno i sl!?
Izvinjavam se zbog "rukopisa" - ja sam novi ovde - pa se nisam jos svikao.
Uzgred zna li neko taj stari vic?
fox.139ndragan,
-> #128, sbrk/ Da nisam ja nešto propustio? Možda MESSAGE ipak negde može da se zada?
More, uvati GenMenu i dodaj opciju, tamo gde generiše "Prompt <trtmrt>"
dodaj i jedno
if !empty(message)
\\;
\ Message "<message>"
endif
Za unos poruke se snađi iz brauza ili tako nečeg.
fox.140ndragan,
-> #129, mishas/ bar-ova i td. Ocekivao sam to da nadje u HELP-u itd ali nista! Ima li
/ neko id3ejeju?
Id1ejeja je da pogledaš onu funkciju (sys(2013)) koja daje nazive svih
opcija u sistemskom meniju i to snimiš u nešto _za vreme brauza_,
najbolje iz neke globalne When funkcije. Tamo bi trebalo (proveri) da se
nalaze i trenutne opcije za Brauz meni, pa možeš da pohvataš i njihova
imena. Onda primeniš postupak kao i dosad, s tim da bi, ukoliko to ne
radiš heks editorom nego u trku, mogao da napišeš standardnu funkciju
koja bi menjala promptove jednom na početku brauza. BTW, stvarno, kako
to radiš?
Pajz šta kaže u helpu:
<system option name>
... For example, to provide access to the FoxPro Calendar/Diary
from a popup named Other, you could create the option with the following
command:
DEFINE BAR _MST_DIARY OF OTHER PROMPT 'Enter Appointments'
Whenever this option is chosen from the popup, the Calendar/Diary is
opened.
Not all system menu popups are available for user-defined menus.
Options on conditional menu pads (Browse, Screen, Project, etc.) are not
available.
For a list of system menu names, use SYS(2013).
fox.141ndragan,
-> #130, max.headroomA propao čitanja ini fajlova, probao sam na brzinu da napravim nešto:
/ ŠtemaĆ
_sele=sele()
Create Cursor Trtmrt (txt m)
Appe Blank
appe memo txt from "koji_ono.ini"
oldmm=set("memo")
set memo to 254
ml=atcline("[tema]",txt)
if ml>0
_mline=ml+2 && malo da odmaknemo
red=mline(txt,1,_mline)
do while ltrim(red)#"[" and _mline<len(txt)
je=at("=",red)
if je>0
* eventualno bi legla Public deklaracija za promenljivu...
* recimo Public (left(red,je-1))
* a mogla bi pre toga proba da li promenljiva već postoji...;
o tom potom, zasad da joj turimo vrednost:
store eval(subs(red,je+1)) to (left(red,je-1))
endif
red=mline(txt,1,_mline)
endd
endif
set memo to oldmm
use
sele (_sele)
Ovo sam napisao onako, iz glave, ama mislim da bi za pola sata moralo da
proradi. Rutina za pisanje .ini fajlova, međutim... pa, morala bi da ima
bar ove parametre: ime fajla, ime sekcije, ime promenljive, vrednost.
Xm, moraću ovo i da isprobam.
(pet minuta kasnije:)
Poslao sam kroz mrežu kolegi na drugu mašinu - kompajlira se bez greške
(izuzev naredbe "ovo sam napisao onako...", javlja grešku u sintaksi -
on meni da kaže da ne znam srpski, nanu li mu naninu), a problem je u
samoj sadržini: .ini fajl treba da ima format naredbe za dodeljivanje,
tj da izgleda ovako:
[sekcija]
cPromenljiva1="nekakav string"
nPromenljiva2=87897803254.32
lPromenljiva3=.f.
dPromenljiva4={01.01.95}
...samo zato da se funkcija Eval() ne zabunjuje. Probali smo sa
numerikom, radi. Probali smo sa system.ini, zbunjuju ga tačke levo od =,
kaže "Alias SYSTEM not found" (našao je system.drv=). žudno, nije javio
"must be a memory variable" kao što javlja kad se to uradi iz komandnog
prozora.
Uzgred, analizu linije bi trebalo obogatiti i preskakanjem komentara.
/ 2. Da li ste zainteresovani za, nazovi optimajzer, Fox-ovog koda (da
/ budem precizniji, .PRG fajlova)? Šta bi tu sve moglo da prođe?...
Naprimer,
da nađe makro zamene i predloži imenske izraze gde ima
smisla (gomila stvari u programima iz ranijih verzija nije radila bez &
operatora, a od 2.0 nadalje više ne mora),
da nađe stringove koji se pojavljuju više puta u programu i uradi
#define i ispozamenjuje
da nađe "do while !eof() ... skip ... enddo" i zameni sa "scan ...
endscan"
da nađe "select druga ... seek... if found()... endif... select prva"
i zameni sa "if seek(...,'druga') ... endif"
da nađe "select baza ... append blank ... replace ovo with ono..." i
ubaci "insert into baza (<polja>) value (vrednosti)"
da zameni "do while i<20 ... i=i+1 ... enddo" sa "For i=1 to 20...
EndFor"
Ovo su stvari koje sam često morao da čačkam na starim programima, a
mislim da bi ih valjalo automatizovati.
fox.142nbatocanin,
-> #135, max.headroom>> u Računarima - u formi C-a. Ako se iz Fox-a zovu C
>> funkcije - eto rešenja.
>
> Pa, i nije baš neko rešenje :) U svakom slučaju,
> hvala za tip - probaću da nađem tekst i ev. ga prevedem
> u Fox formu.
Pisao sam i ja za Clipper. Možda vam bude lakše da prevedete u Fox :)
fox.143cnenad,
Da li neko radi sa FoxPRO 4 Win 2.6 & DK ?
Interesuje me kako da počnem sa pravljenjem PRAVE Windows aplikacije (dakle,
prozori, button, i sve ostalo) i da to povežem. Do sad sam provalio foru
za FILE NEW MEN/NEW/MENU i tu kreiram menije koje mogu da probam sa TRY IT i to
je
sve.
fox.144cnenad,
-> #143, cnenad=> Interesuje me kako da počnem sa pravljenjem PRAVE Windows aplikacije
=> (dakle, prozori, button, i sve ostalo) i da to povežem. Do sad sam
Donekle sam provalio da treba ići preko PROJECT-a tj. sve što se pravi
strpati u PROJECT, a onda pustiti FOKS da promeša, zabiberi i to je to.
Ono što mi nikako ne ide u glavu je princip po kojem sve to radi.
Ako bih se zadržao na sintaksi xBase jezika (kao i Clipper) i išao po
principu:
PROCEDURE glavna
* tralala, pišem ja kod
RETURN
sigurno daleko neću stići ; međutim FOX me iznenađuje brdom ekstenzija
MPR, SCX, MNX i ostale da ih sad sve ne nabrajam, dok je pod Clipper-om bilo
PRG, kompajliraj, linkuj i vozi. Iznenađuje jer ne znam šta sve treba strpati
u PROJECT. A većinu onoga što strpam kad otvorim vidim SORS u čijem
zaglavlju nema PROCEDURE ili nešto slično pa me sve to zbunjuje.
S toga mi trebaju što preciznije smernice najbitnijih stvari u FOX-u...
Kad smo već kod MENIJA, napravim ja iz zezanja jedan u kojem stoji DATOTEKE
i POMOĆ. Pod pomoć definišem KOMANDU ? 'ovo je probni program' a pod DATOTEKE
opciju KRAJ i u njoj RETURN / CANCEL
Kada aktiviram program i odem na KRAJ ne dogodi se ništa tj. ne vrati mi
FOX-ove menije...samo na ekranu ostane COMMAND window i to je to.
Onda moram napolje iz FOX-a pa ponovno učitavanje FOX-a... :(((
Naravno, dokumentacije za sad nemam :(((( i nemojte mi preporučivati HELP
(koji jeste dobar i ima puno informacija, ali samo za komande i funkcije)
a nikako smernice kako POžETI od nečeg.
fox.145sbrk,
Iz onog teksta koji je ovde ostavio MDrazic vidim da je za najbolju biblioteku
za FoxPro (Add-On) proglašen FIRE FOX. Da li je neko video ovo čudo, kako
izgleda, čemu služi (đe izlazi, ša radi), gde može da se nabavi...
Možda je neko čuo za neki CD Rom iz Singapura na kome se nalazi ovo?
fox.146sbrk,
-> #144, cnenad>> => Interesuje me kako da počnem sa pravljenjem PRAVE Windows aplikacije
>> => (dakle, prozori, button, i sve ostalo) i da to povežem. Do sad sam
>>
>> Donekle sam provalio da treba ići preko PROJECT-a tj. sve što se pravi
>> strpati u PROJECT, a onda pustiti FOKS da promeša, zabiberi i to je to.
Ja mogu da ti preporučim ono šta sam ja uradio:
skini SVE poruke iz SVIH PC.UTIL i PC.PROG, teme baze.podataka i fox. Uđi
editorom, obriši šum i pročitaj SVE bar dva puta (ja sam tri puta :)
Srećno! :)
fox.147cnenad,
-> #146, sbrk=> skini SVE poruke iz SVIH PC.UTIL i PC.PROG, teme baze.podataka i fox. Uđi
=> editorom, obriši šum i pročitaj SVE bar dva puta (ja sam tri puta :)
HVALA ! Zaista se nisam mogao setiti ovako dobrog i pametnog rešenja ;)
BTW, PC.Util nema temu BP već je u konf. USER ;)
Sledeći put kad budeš hteo nekom da pomogneš uzmi pištolj pa ga ubi a
nemoj ga mučiti da se ko 'kuče' raduje kad vidi da ima poruka u temi FOX,
pošto vidim iz RES-a da ti je to zanimanje.
Naravno, od mene nećeš dobiti ni filera ;) jer sam švorc :(
fox.148ndragan,
-> #137, mishas/ stavim:BAR # _MST_CALCU ili za HELP stavim BAR # _mst_MST_HELP ili kad
/ zelim da
Već sam ti objasnio zašto neće ići, ne da foks. Međutim, niko te ne
sprečava da napraviš svoju granu menija (ako može još da se napravi da
se brauz meni ne vidi, al' sumnjam) u kojoj ćeš putem tastaturnih makroa
(Keyb "{alt+b}c" za "Change", naprimer) aktivirati stvari iz brauz
grane. Jeste budževina, al' na tako neki štos sam uspeo da aktiviram
Program/Compile iz editora pozvanog iz programa (Compile opcija je po
difoltu neaktivna dok neki program trči).
fox.149ndragan,
-> #138, mishas/ u generatoru, ali gle cuda takve opcije nema u Foxu za windows. Da li
/ je moguce
Ima u Foksu 3.0 ;), čak četiri varijante za izgled polja - ravno sa i
bez okvira, ispupčeno i udubljeno. U FPW2.6 smo, blago meni, prilikom
generisanja maski ubacili opciju da izgeneriše čak četiri naredbe za
crtanje linije (oko polja) da bismo postigli taj efekat.
/ Uzgred zna li neko taj stari vic?
Svi, svi, svi. To je ovde deo folklora.
fox.151willow,
Ponekad mi se desavaju nejasne stvari sa Fox-om (2.6 za Dos ).K).
Uzmem lepo kreiram XYZ.DBF , prikacim mu TAG 'ZYX' i to je to.
Zatvorim , otvorim , dam "DISP STAT" , sve je u redu ( XYZ.CDX prisutan ).
JA : USE XYZ ORDER ZYX , ili USE XYZ , SET ORDER TO ZYX
i
i onda : = seek( "Willow" ) .
FOX : Database not ordered.
HHH-------------------------------------------------------------------------
JA : CLOS ALL , USE XYZ , DISP STAT , kad ono nema mi XYZ.CDX-a.
JA K: INDEX ON polje TAG ZYX , KKK.
FOX : Kao , index tag vec postoji , pa da li da ga overwrite.
Bilo da kazem Yes ili No , situacija je ista posle zatvaranja i otvaranja.
Ovo mi se desava sa fajlovima u koje vrsim APPE FROM xxx TYPE SDF.
Ajde , ljudi , pomozite malo.
fox.152sbrk,
-> #147, cnenad>> => skini SVE poruke iz SVIH PC.UTIL i PC.PROG, teme baze.podataka i fox. Uđ
>> => editorom, obriši šum i pročitaj SVE bar dva puta (ja sam tri puta :)
>>
>> HVALA ! Zaista se nisam mogao setiti ovako dobrog i pametnog rešenja ;)
Eto ti, ne voli narod da čita pa to ti je.
Pa dobro, ako nećeš da čitaš ono što je džabe (i dobro i pametno), evo ti drugi
predlog:
otiđi u CET i naruči knjigu Creating FoxPro Applications od Golija, mislim da
je Ričard, btw, knjiga košta 105 DEM. Pogrešiti nećeš jer je knjiga
fenomenalna a posle nje ćeš verovatno izbaciti iz upotrebe izraze: donekle, iz
zezanja sam napisao program, tralala pišem ja program itd. NFH.
fox.153cnenad,
-> #152, sbrk=> Eto ti, ne voli narod da čita pa to ti je.
Pazi, sve poruke iz tema koje si naveo imam odavno u SDW-u i tamo nisam našao
ono što mi treba i zbog čega sam postavio pitanje...
=> fenomenalna a posle nje ćeš verovatno izbaciti iz upotrebe izraze:
=> donekle, iz zezanja sam napisao program, tralala pišem ja program itd.
Zar očekuješ da ODMAH čim sam uzeo neki nov razvojni alat napišem iz prve
PROGRAM ?
BTW, mogao bi da prestaneš da trošiš svoju energiju na ova moja bezvezna
pitanja BEZVEZNIM odgovorima (za info o knjizi ne mislim da je bezvezan već
sasvim koristan, tnx) i kad već ne želiš (ili ne znaš) da mi odgovoriš na
postavljeno pitanje i nemoj...
Pošto je već nekoliko dana bilo dosta zezanja sa FOX-om, interesuje me
zašto kada se napravi neki SCREEN i pokrene u njemu nema MAXIMIZE dugmeta i
u Control dugmetu opcije CLOSE ?
I molio bih još jednom za odgovor u vezi menija koji napravih i kad zatvorim
ne dobijam nazad meni od FOX-a...
fox.155ndragan,
-> #153, cnenad/ zašto kada se napravi neki SCREEN i pokrene u njemu nema MAXIMIZE
/ dugmeta i u Control dugmetu opcije CLOSE ?
To bi trebalo da su opcije koje se čuvaju uz .scx, ali ne u njemu samom,
nego u .pjx, dakle kad napraviš projekat. GenScrn u stvari i traži da
imaš projekat, a ako nemaš, on napravi prazan onako iz glave, i uredno
ga obriše kad završi, tako da sve opcije koje si izabrao on lepo
zaboravi.
U stvari, ni ne znam baš da li GenScrn uopšte ima te opcije, koristio
sam ga jednom pre skoro godinu dana da mi napravi par stvari koje sam
posle isekao uzduž i popreko... ali Define Window naredba ih ima. Ili
negde sam napiši proceduru za definisanje prozora i ostali setap maske
(mislim da i imaš SetUp snippet, kao i CleanUp), ili dohvati GenScrn i
dodaj mu tih par opcija da ti ih ubuduće generiše.
/ I molio bih još jednom za odgovor u vezi menija koji napravih i kad
/ zatvorim ne dobijam nazad meni od FOX-a...
U CleanUp proceduri menija treba da ti stoji
Set Sysmenu Auto && ovo još i nije obavezno, ali ostalo jeste:
Set Sysmenu On
Set Sysmenu to Default
fox.154ndragan,
-> #151, willow/ JA : USE XYZ ORDER ZYX , ili USE XYZ , SET ORDER TO ZYX
Da nemaš slučajno polje koje se zove Zyx? Probaj sa Set Orde to 1
(moglo bi da upali), ili "set orde to tag zyx", za svaki slučaj.
/ Ovo mi se desava sa fajlovima u koje vrsim APPE FROM xxx TYPE SDF.
Bilo bi dobro da okačiš primer. Inače, preporučuje se da se indeksi
prave tek nakon masovnog naseljavanja baze (gde spada i Appe... from).
Odnosno, sećam se da sam imao neki sličan problem jednom, al' se ne
sećam kako sam ga rešio. Moguće je da je baza na jednom direktoriju a
.cdx na drugom itd. Problem mi se nije vraćao, tako da u stvari ne znam
u čemu je.
fox.156cnenad,
-> #155, ndragan=> To bi trebalo da su opcije koje se čuvaju uz .scx, ali ne u njemu samom,
=> nego u .pjx, dakle kad napraviš projekat. GenScrn u stvari i traži da
Videh da ako se koristi Screen Wizard on odmah radi izgled po datoj mu bazi
podataka.
Za slučaj probe sam koristio opciju NEW / SCREEN pa sam se zbog toga začudio.
Dakle tek kad sam napravio Screen ubacio sam ga u projekat kao jednu
jedinu stavku i kompajlirao, pokrenuo i začudio.
=> negde sam napiši proceduru za definisanje prozora i ostali setap maske
Ukratko, pročitao sam tvoje mišljenje u temi Baze.podataka o FPW-u ali me
ovde interesuje da li pod njim raditi kao i do sada tj. sve pisati i ne
koristiti njegove (nedovršene) vizuelne osobine ili ih koristiti kombinovano,
to je ono što me zbunjuje ?
=> U CleanUp proceduri menija treba da ti stoji
žini mi se da nije ni dolazilo do pozivanja te procedura koja je vezana za
opciju menija kada se izabere. Probaću i javiti.
fox.157willow,
-> #154, ndraganZnas , nikada do sada nisam imao problema ako kreiram Tag koji ima
isti naziv kao neko polje.
Meni je cudno ustvari to sto kada otvorim .DBF i dam DISP STAT nema
.CDX fajla.
APPE vrsim iz OGROMNIH!! .SEQ fajlova ( 1-60 MB ).
Evo primera :
==============================
USE XYZ
APPE FROM OGROMAN.SEQ TYPE SDF
CLOS ALL
==============================
OGROMAN.SEQ se APPEND-uje O.K.
Posle nekog vremena :
USE XYZ
SET ORDER TO ZYX ( ili 1 )
IF ( seek( "ndragan" ) )
&& ... radi nesto
ENDIF
Onda Fox kaze : Database not ordered.
==============================
U ocajanju , probao sam : USE XYZ INDEX XYZ
Sa DISP STAT vidi se da Fox prijavi 2 puta .CDX .
( 1 - Kao structural index fajl , 2 - Kao obican CDX fajl ),i onda ide
SET ORDER TO ZYX i seek bez problema.
Znaci ovo kao resi problem.Medjutim ovakav nacin otvaranja .CDX fajla,
koji bi trebao da se otvori zajedno sa .DBF-om , mi se uopste ne svidja.
fox.158willow,
Za one koji rade u Fox-u 2.6 za DOS i pritom hoce da se umreze
preko NetWare-Lite v 1.1.
Ne koristite Fox funkciju SYS( 0 ) koja vraca Id i Naziv radne stanice,
ako zelite da ustanovite sa koje stanice je pokrenuta aplikacija,
jer se te vrednosti mogu podesiti preko DOS servisa 05Eh fn. 01h .
fox.159prado,
Pocetnik sam o fox-u. Napravio sam aplikaciju ( .app) koja radi pod fox-om.Na
koji nacin da napravim exe verziju koja bi radila sama pod win-om .Imam
instalisan i distribution kit.
fox.161willow,
Molim dobre ljude da me upute ( posto sam ja novi na Sezamu ),
gde mogu da nadjem format .CDX fajla.
Takodje , zanima me ima li smisla proucavati .FXP fajl.
Ja sam tu nesto gledo, vidim u njemu pobrojane simbole iz mog .PRG-a,
pun naziv .PRG i .FXP-a, ali ostalo mi nije nista jasno.
Gledam nesto i .FRX medjutim tu tek nista da provalim.
Ako znate nesto o svemu tome , molim vas , recite to.
Pozdrav from Willow Valley.
fox.162nesan,
Da li je neko imao prilike da radi na 3-jci kombinaciju izmedju lokalne baze,
eksternih ( free tables) iz starog fox-a ( 2.5 ) i neku drugu kombinaciju (
npr. ORACLE ili sl. ) u okviru istog QUERY-ja. Takodjer da li je imao problema
da mu se prilikom dodavanja tabele u query-ja, ponekad izgube podaci, tj. iako
postoje u projektu, da se ne omogucava da se pozovu u samom izboru tabele (
polje project- database), jer te free tables vrlo cesto nestanu i ne pojavljuju
se iako se nalaze i vidljive su u masci projekat.
Da li je neko slao query na graph i da li je imao nekuh problema. Ja cesto
dobijem na dve razlicite masine ( ista baza i sl ) ali na jednog 386 i win 95,
a na drugoj 486 i win 3.11 razlicite rezultate u grafickom smislu ili uopste ne
prikazuje graphik, jednostavno zaglavi isl.
nesa
fox.163max.headroom,
-> #157, willow> USE XYZ
> APPE FROM OGROMAN.SEQ TYPE SDF
> CLOS ALL
Nisam siguran da ce da upali, ali probaj sa:
USE xyz ORDER abc
APPEND .....
CLOSE ALL
fox.164max.headroom,
Nešto se ovih dana zlopatim sa Delphi-jem, pa sam ustanovio
da ne podržava .CDX (Fox-alike) indeksne zapise. Mislim,
znam da Borland prosto voli da udari po ušima, ali je ovo
bas bez veze. Zna li ko kako udomiti omiljene mi .CDX-e u
Delphi projekat?
fox.169ndragan,
-> #161, willow/ Gledam nesto i .FRX medjutim tu tek nista da provalim.
Razvijačke gajde (FPW2.5 Developer's guide; za 2.6 ide ista knjiga; u
FPD2.5 i 2.6 nema tog dela), pred kraj knjige su sve stvari koje te
zanimaju, osim formata .fxp fajla. žitao sam u Data Based Advisoru da
neka firma reklamira dekompajler za foks pro... živi bili pa videli,
ionako su sve verzije foksa međusobno nekompatibilne po pitanju formata
.fxp fajla. Još reklamiraju da raščitava i kriptovane...
fox.168ndragan,
-> #159, prado/ koji nacin da napravim exe verziju koja bi radila sama pod win-om
/ .Imam
Build exe <ime>, ali preporučuju da ide u poseban direktorij, gde će se
naći i svi ostali fajlovi potrebni za trčanje aplikacije (.ini,
foxpro.int, eventualni .dll, fontovi i slično). Onda pokreneš nekog tamo
čarobnjaka (uradio sam to samo jednom, ne sećam se kako beše, al' neki
distribution kit wizard), i on ti ispod toga napravi poddirektorije sa
sadržajima instalacionih disketa. Tamo će se naći i rantajm, pošto
fpw2.6 ne pravi samostalni .exe, nego praktično sastavi neki mali
program (koji učitava rantajm) sa .app fajlom. Razlika između .app i
.exe je minimalna.
fox.167ndragan,
-> #158, willow/ Ne koristite Fox funkciju SYS( 0 ) koja vraca Id i Naziv radne
/ stanice,
Vidi poruku u pc.prog:mreže, treba podesiti ime mašine u login skriptu.
fox.166ndragan,
-> #156, cnenad/ koristiti njegove (nedovršene) vizuelne osobine ili ih koristiti
/ kombinovano, to je ono što me zbunjuje ?
Ono staro se emulira (ima neki bajt u novom .scx gde veli da je način
rada 0,1,2 ili 3, gde su 0 i 1 emulacije Read naredbe sa ili bez
modalnog rada). U načelu, preporučuje se da se nove stvari rade po
novom, a stare mogu da ostanu kako jesu dok ne pređeš na nove. žini mi
se, međutim, da je konverzija iz starih u nove ekrane malo zabunjena,
jer negde veli da ako je .scx jednom obeležen kao Read-type (modalan ili
ne) onda ne može da se pređe u novi, ili bar vrač to ne ume (form wiz,
tj). Eventualno da se napravi novi .scx pa da se objekat po objekat
prebaci iz starog u novi.
Za stare ekrane čak izgeneriše i .spr, ali samo poradi dokumentacije.
Nešto baš ne preporučuje da se potera.
fox.165ndragan,
-> #157, willow/ IF ( seek( "ndragan" ) )
Otkud ja kod tebe :)
/ ( 1 - Kao structural index fajl , 2 - Kao obican CDX fajl ),i onda ide
Pogledaj 28. bajt zaglavlja baze, treba da ima 1 upisano ako postoji
.cdx.
Opet, moguće je da ga skenja upravo masovan priliv podataka. Obriši .cdx
(delete tag all) pre Append... Sdf, pa ga kreiraj nakon toga. Biće
kompaktniji i pouzdaniji, a i cela priča bi morala daleko brže da radi.
Naravno, use xyz excl.
fox.170max.headroom,
Sve mi se cini da ovaj Delphi i nije tako losa alatka za rad
sa relacionim bazama podataka - sve sto su do sada ponudili za
Win, a sto radi sa bazama, nije ni priblizno interesantno ovom
paketu. Radi brzo, konacni .EXE je mali, potpuno je O-O, ima
ugradjen transaction-tracking sys. Poseduje Database Desktop
kojim se mogu kreirati rel. baze raznoraznih formata (Fox-ov je
preskocen - nikada im necu zaboraviti), i uopste, dobro osmisljen
DB mngmnt sistem.
Ali... :) Kako koristiti sve zanimljive potencijale, pa da
podseca na neki od alata na koji smo navikli (Fox, preciznije)?
Ja sam u svom kopanju dosao do jedne interesantne zackoljice:
ekvivalenta ON ERROR rutini. Hmh, da ne bih dalje gusio, jerbo
neznam koliko vas ima koji nikada necete oprostiti Microsoftu
onakav fuseraj sa Fox-om vs. Access, nastavicu pisanije po
PC.PROG:database temi. A ima li zainteresovanih?
fox.171djelovic,
-> #170, max.headroom> A ima li zainteresovanih?
Naravno. Kakav je to problem sa ekvivalentom (?) ON ERROR naredbe?
fox.172willow,
-> #167, ndragan>> Vidi poruku u pc.prog:mreze, treba podesiti ime masine u login skriptu.
Zar to ( login skript ) postoji za NWLite ?. Nego , znas sta je tu.
Pravim tu aplikaciju ( u Fox-u, naravno :) ) i treba mi nesto da utvrdim
sa koje je stanice podignuta aplikacija.Od serijskog broja Diska sam digo
ruke jer okolne stanice nece imati diskove vec ce se dizati sa diskete.
I tako, rece mi neko da za to moje utvrdjivanje upotrebim SYS( 0 ).
Ja probao, i sve je O.K., i bio sam dosta zadovoljan svim tim razvojem
dogadjaja.:))
Znaci , ulogujem se kao Willow, i SYS( 0 ) vrati Willow i #1.
Onda sam u potrazi za Dos-ovim servisima koji se mogu koristiti pod
NWLite-om , naleteo na taj 05eh.
I onda sam probao ovako :
1 - Dignem mrezu, ulogujem se kao Willow, udjem u Fox, dam SYS( 0 ).
FOX: WILLOW #1.
2 - Izadjem iz Fox-a, udjem u Debug , postavim ime PERICA i broj stanice 5,
udjem nazad u Fox, dam mu SYS( 0 ), kad ono ...
FOX: PERICA #5.
I tu je kraj price.Ovo isto ( 2 ) sam probao i bez dignute mreze i opet
je Fox dao isti odgovor ( 2 ).
To je, bre, neka teska prevara u pitanju. ;>
Eto i pomagajte, jer ovo moje 'na odredjeno vreme zbog povecanja .....'
uskoro istice.
Znaci, treba mi nesto ( serijski broj FD-a ? ) da ustanovim sa koje
masine je dignuta aplikacija, u stvari nesto sto je jedinstveno za masinu.
Probao sam da dospem do broja Node-a masine ali to ( kao ni vecina mreznih
servisa 02Fh, 021h ) pod NWLite-om ne radi.( Onaj ludi MSD prijavljuje
totalne besmislice , a NC 5.0 kaze da nema mreze ).
Kada sam vec ovoliko gusio,zanima me ovo.Ja tu aplikaciju planiram da
ostavim u RunTime obliku.Znaci , napravicu mali Compact .EXE tek da moze
da se digne iz DOS-a, gurnucu mu onaj .ESL, i svi programi ce ostati kao
.FXP .Za sada sve odlicno radi ovako ( u mrezi i bez nje ) i kada
menjam neki program ( .FXP, .PLB ), samo njega posle zamenim i sve radi O.K.
Cini mi se da je ovaj nacin fleksibilniji.
Moze se pokrenuti bilo koji .FXP sa strane, cak i bilo koji .PLB
( ako ima funkciju CALLONLOAD ), i mogu se izvrsavati sve komande sa
komandne linije.
Definitivno sam odustao od Stand Alone EXE-a od 3MB.
Zanima me, ljudi, sta vi mislite o ovome i da li sam ja nesto tu prevideo.
AND LAST BUT !LEAST : Hvala "ndragan"-u za odgovore na moja prosla pitanja.
Pozdrav iz Willow Valley.
fox.174willow,
-> #170, max.headroom
>>koliko vas ima koji nikada necete oprostiti Microsoftu
>>onakav fuseraj sa Fox-om vs. Access, nastavicu pisanije po
Meni je on ( Fox ) bio prva stvar na PC-ju koja me je STVARNO odusevila,
i od verzije 1.04 ( mislim ), to je moj alat.
Posle sam naleteo na C, i dobro, nema veze, ipak je mnogo lakse u Fox-u.
Jest da nema '#include ' ( ili ima, valjda nesto u vezi generisanja ekrana ),
nema unarnih operatora, ima operator dodele koji sluzi i za poredjenje,
nema tipizirane promenljive, preprocesor nesto brlja ( probaj : #if ...
#define ...
#endif ),
u redu, zrtvovano je zbog povecanja brzine interpretiranja koda ,
i to je sve samo pitanje sintakse.( Cestitke Clipper-u ).
Brzina je O.K. , pouzdanost je O.K. ali sa nastankom Windowsa to je ionako
preslo u drugi ( treci, cetvrti ... ) plan, i pitanje je dokle ce FOX i
po tom pitanju biti gazda.
Izgleda da sve trci okolo , samo FOX stoji i ceka Bill @!@#! Gates-a
da ga malo pokrene.
Necu vise da gusim, samo, plasim se da FOX ( uskoro ? ) ne postane
dinosaurus tipa COBOL-a i krivo mi je zbog toga , ali ako se nesto ne
promeni na bolje , cini mi se, uskoro ce fajront.
>>PC.PROG:database temi. A ima li zainteresovanih?
Ima, ima.
Pozdrav iz Willow Valley.
fox.175max.headroom,
-> #172, willow> Zar to ( login skript ) postoji za NWLite ?. Nego , znas sta je tu.
> Pravim tu aplikaciju ( u Fox-u, naravno :) ) i treba mi nesto da utvrdim
> sa koje je stanice podignuta aplikacija.Od serijskog broja Diska sam digo
Will, kazi zasto ti je potreban ID stanice? Mozda problem moze i drugacije
da se resi (ako je u pitanju slanje poruka sa stanice na stanicu, ili vec
sta ti je na pameti :)
fox.176max.headroom,
-> #171, djelovic> Naravno. Kakav je to problem sa ekvivalentom (?) ON ERROR naredbe?
Heh - stvar nije jednostavna (bar meni). Daklem, cim se dogodi nesto
nepredvidjeno, a sam Bog zna sta sve nepredvidjeno moze da se dogodi,
Delphi podize tzv. Exception. Kod Fox-a su 'iznimke' naslagane po
brojevima, i ima ih, razume se, daleko manje nego kod Delphi-ja.
Jos uvek nisam u stanju da predefinisem neki exception da prikazuje
moj dijalog (ili da nista ne prikazuje, okejžnli) - nikako ne bih
dozvolio korisniku da cita nekakve 'Couldn't find' i sl. dijaloge
sifrirane nazivom & brojem exception-a.
Primera radi, otvorio sam DBEdit polje "Datum" (baza sadrzi, dakle,
date field). U njega unesem nesto nedozvoljeno. Kako da podignem
moj exception na zadatu temu? :)
fox.177max.headroom,
-> #174, willow> Brzina je O.K. , pouzdanost je O.K. ali sa nastankom Windowsa to je ionako
> preslo u drugi ( treci, cetvrti ... ) plan, i pitanje je dokle ce FOX i
> po tom pitanju biti gazda.
Vise nije, naravno, a uz zestok Bill-ov negativno usmereni trud. Umesto da,
kupivsi Fox, zadrze Rushmore i osnovne jezicke elemente, prebace ga u
objektno okruzenje i svima olaksaju zivot, Microsoftovi ljudi se trude da
citavu stvar zaguse do kraja izbacujuci more polufabrikata koji ama bas
nicemu ne sluze (Access, primera radi). Jeste profitabilnije, ali meni
zeludac zaista ne vari sve i svasta.
Jedina nada je Borland, sa svojim "adaptirajmo jezik do besvesti" sistemom.
Delphi je jedan od rezultata, a videcemo sta nas jos ceka. Nema veze, dobro
mi dodje da se vezbam na objektima ;)
P.S.
GROZOMORNA steta za Rushmore, princip index-handling-a jos nevidjen do sada.
Tehnika je, naravno, zasticena; ali ;) mislim da postoji jos par interesantnih
nacina da se postignu cak i vece brzine. Primera radi - neuronska mreza koja
nazoviinteligentno prati promene indeksa i vrsi pretrazivanja. Neko ce, vec,
doakati i Microsoftu :)
fox.178willow,
-> #175, max.headroom>> Will, kazi zasto ti je potreban ID stanice? Mozda problem moze i drugacije
>> da se resi (ako je u pitanju slanje poruka sa stanice na stanicu, ili vec
>> sta ti je na pameti :)
E, Max ovako stoje stvari.
Jedna stanica je server na kojoj se nalaze svi podaci i sama aplikacija.
Okolo su stanice bez HD, koje se dizu sa diskete, loguju se na mrezu pod
utvrdjenim imenom, mapiraju se na serverov disk i odatle pokrecu aplikaciju
( znaci, jedan program za sve ).
Sve bi to pokrio jedan .BAT program , znaci korisnici nemaju nikakve veze sa
DOS-om ili NWLite-om.
Ja sam informacije o radnim stanicama smestio u jednu tabelu ,
( da li imaju stampac, koji je to stampac, da li imaju Modem , itd. )
I sada , na primer, sa jedne stanice treba da se stampa neki izvestaj.
Program treba da utvrdi koja je to stanica u pitanju ( ne korisnik ) i onda,
ako stanica nema stampac da se preduzme neka akcija ( dobro , to i nije bas
neki problem, mislim na PrintStatus() ), ali ako stanica ima stampac, mora se
videti koji je tip da bi mu se slale odgovarajuce ESC sekvence.
Slicno vazi i za Modem .Ako ga ima , pokreni Telix, ako nema , posalji
izvinjavajucu poruku.
To je osnovno zbog cega mi je potreban ID.
Verovatno si procitao moje utiske o SYS( 0 ) funkciji i u nju se ne moze
pouzdati.Razmisljao sam i o postaljanju SET WORKSTAT=<broj>.
Oba ova metoda pucaju kada korisnik uzme svoju disketu, i podigne program sa
neke druge stanice. SYS( 0 ) ce prijaviti Ime koje je korisceno pri
login-ovanju, a SET ce prijaviti ono sto uvek i prijavljuje.
Mozda mi sve ovo i nece trebati u realnom okruzenju, ali, moje je misljenje, da
ako covek sedne da radi nesto , onda to mora da uradi najbolje sto moze.
Eto, pa pomagaj.!
Slanje i primanje poruka i ostalih signala ( medjusobno upucivanje
korisnika na funkcije koje te signale obradjuju ) sam resio u programu i to ,
za sada ( da kucnem u drvo ), funkcionise.
Ajde , molim te , baci pogled na onu moju poruku u vezi 'RunTime vs .EXE' pa
daj svoje misljenje.
Unapred hvala Max-u i svima koji odvoje vreme za ovu poruku.
Hello from Willow Valley.
fox.179gcurcic,
-> #172, willow> Zanima me, ljudi, sta vi mislite o ovome i da li sam ja nesto
> tu prevideo.
Jesi li probao da mu proturiš neku environment promenljivu u autoexecu
i posle sa getenv() pročitaš?
Što se tiče 'kompajliranja', moja najbolja iskustva su sa običnim
Compact EXE. U slučaju da ipak koristiš .fxp module, preporučujem da
povećaš broj filesa u config.sys.
Baj d vej, kada sam aplikacije kompajlirao na Stand-alone EXE, primetio sam
izvesne probleme sa čitanjem environment promenljivih... :(
fox.180dvesic,
-> #178, willow>> Mozda mi sve ovo i nece trebati u realnom okruzenju, ali, moje
>> je misljenje, da ako covek sedne da radi nesto , onda to mora
>> da uradi najbolje sto moze.
Zašto ne pokušaš sa ID-om Ethernet karte ? On je jedinstven za svaku
kartu, a teško da će korisnik da čupa Ethernet kada se loguje sa
druge stanice :))
Mora da postoji funkcija koja to radi u nekoj od nezavisnih biblioteka
(za Clipper ima na tone). Ako ne postoji ... uvek imamo C :))
Pozdrav,
Dejan.
fox.182max.headroom,
-> #179, gcurcic> Baj d vej, kada sam aplikacije kompajlirao na Stand-alone EXE, primetio sam
> izvesne probleme sa čitanjem environment promenljivih... :(
Primetio si SAMO te probleme? Meni su aplikacije padale k'o zrele kruške, i za
to sam dao okriviti mem. manager koji traljavo obavlja postavljeni mu zadatak.
Pročitao sam jednom prilikom na CIS-u neke rasprave povodom tog fenomena, ali
se više ne sećam detalja.
fox.181max.headroom,
-> #178, willow> Ja sam informacije o radnim stanicama smestio u jednu tabelu ,
> ( da li imaju stampac, koji je to stampac, da li imaju Modem , itd. )
> I sada , na primer, sa jedne stanice treba da se stampa neki izvestaj.
> Program treba da utvrdi koja je to stanica u pitanju ( ne korisnik ) i
Vidi, ja sam pomenuti problem sa indentifikacijom radne stanice uvek rešavao na
sledeći način: na disketu sa koje ti se diže sistem uguraj neki indetifikacioni
tekst-fajl, koji će Fox pri startovanju pročitati i ustanoviti koje su sve
komponente prikačene na njega. Sada te informacije smesti u onu zajedničku
users-tabelu. Ona ima polja (praktično - flegove) koja signaliziraju šta se od
hardvera na njima nalazi. Svaku disketu, ako treba, zalepi za drajv - šta ima
da je vade, koj' moj, ako nemaju hard-diskove? Prema korisniku budi strog,
pravilo nalaže, da te ne bi udarao po ušima.
Postoji i druga, organizacijski malo čupavija metoda - nateraj korisnike da se
na tuđim kompjuteriam ne loguju pod svojim imenom (znaš već šta hoću da kažem,
ali vidim da unapred odustaješ od tog sistema).
P.S.
Gotovo nikada ne dozvoljavam Fox-u da opšti sa Novell-om, osim ako to nije
preko potrebno. Do skoro sam se igrao sa Bindery-jem k'o lud, ali onda počeše
da izlaze neke svemirske verzije Fox-a koje ne podržavaju stari PLB format (pa
Jovo-nanovo - juri biblioteke), te mi se, sve u svemu, posle okretanja želuca
naopačke, učinilo najpraktičnije rastaviti Fox i Novell.
P.P.S.
> Ajde , molim te , baci pogled na onu moju poruku u vezi 'RunTime vs .EXE'
> pa daj svoje misljenje.
Lično, uvek koristim .APP fajl kada korisniku prosleđujem aplikaciju. Dođe mu
isto što i onaj APP-oliki kompakt EXE. APP fajl je, razume se, daleko
kompaktiniji od gomile .FXP-ova. BUT, nemoj zaboraviti - Fox VOLI da se zaglavi
pri "Rebuild Application" operaciji, kada koristi onaj svoj mem. manager.
fox.183pedjak,
-> #180, dvesic> Zašto ne pokušaš sa ID-om Ethernet karte ? On je jedinstven za svaku
> kartu, a teško da će korisnik da čupa Ethernet kada se loguje sa
> druge stanice :))
Voleo bih da vidim rutinu koja vraća ID broj kartice, ako može
asembler.
fox.184willow,
-> #183, pedjak>> Voleo bih da vidim rutinu koja vraca ID broj kartice, ako moze
Imam knjigu u kojoj je dat API za Nowellvell NetWare Ki ima sve zive f-je,
pa i dobijanje ID broj-a kartice. Sve ide preko Int 021h ili 02fh.
Problem je sto ja koristim NetWare Lite v 1.1 koji izgleda nista ne
podrzava od svega toga.
Ako koristis Novell Netware , probaj ovako :
mov ah, 0EEh
int 02Fh
Vraca -> CX:BX:AX adresa., fizicki ID.
P.S. Ova moja poruka nema bas mnogo veze sa Fox-om. Izvinjavam se.
KKKKKKKKKKKKKKKKKKKKKKKKKKH
fox.185gcurcic,
-> #182, max.headroom¨˙> Primetio si SAMO te probleme? Meni su aplikacije padale k'o zrele
¨˙> kruške, i za to sam dao okriviti mem. manager koji traljavo obavlja
¨˙> postavljeni mu zadatak.
Jakako, ono volšebno Using of tra(n)sgressed file handle me je dobro
namučilo. A da ne pominjem bugiće koje fox 2.0 nije imao, a pojavljuju
se na 2.6! Na kraju sam se vratio na dobri, stari 2.0 :(
Sem toga, sporost 2.6-tice na slabijim mašinama je upravo glavobolna -
toliko da sam ubedio (skoro) sve svoje korisnike da bace 286 ploče i
opreme mašine sa 4MB RAMa.
Takođe, svečano objavljujem da više nemam diskless radne stanice, što
preporučujem i willowu da učini. Jednostavno reci korisniku da se:
a) ili disciplinuje pri korišćenju disketa
b) ili kupi hard
c) ili neka se pomiri sa posledicama
Uzgred, imam običaj da kod korisnika koji koriste samo poslovne aplikacije
onemogućim pristup disketama (osim ako im BAŠ nisu neophodne). Igre niks
(osim ako odobri šef - u kom slučaju proveravam te igrice od virusa).
Sve ove 'mere' možda izgledaju drastično, ali me štede onoga:
"Halo Gorane juče u 5 popodne mi je kompjuter propevao - mislim da je bila
ona pesmica Jenki Dudl..."
fox.186max.headroom,
-> #184, willow> Problem je sto ja koristim NetWare Lite v 1.1 koji izgleda nista ne
E, baš me podseti :) Relativno skoro sam radio sa Fox-om v2.0 DOS i NW Lite-om,
i ustanovio par sitnih (gnjah) nelogičnosti. Neki paketi su odlazili ravno u k.
:) iz meni nepojmljivih razloga, tako da je svaka shared baza često bivala
izložena bombardovanju nekim budibogsnama podacima, te se zaglavljivala (te ode
ovo, te ono, te reindeksiraj, itd.)... Ima li auditorijum slična iskustva?
fox.187max.headroom,
-> #185, gcurcic> Sem toga, sporost 2.6-tice na slabijim mašinama je upravo glavobolna -
> toliko da sam ubedio (skoro) sve svoje korisnike da bace 286 ploče i
> opreme mašine sa 4MB RAMa.
:(( Nažalost, mene je traljavost 2.6 verzije prosto odbila od Fox-a kao
razvojne sredine pod Windows-ima, pa sam se preorjentisao na Delphi. Ndragane,
kako deluje (i da li uopšte deluje, nemam info. da li je izašao) Visual Fox
v3.0 for Win? Mislim, da me onaj ogavni MS natera da se sada bavim izučavanjem
OOP-a... Grozobno.
P.S.
Hehe, koji shit onaj VO (čitaj - Clipper for Win)... Bulaja se kune u njega,
ali nisam primetio da se ljudi razbijaju programirajući :)
P.P.S.
Sve u svemu, ta RUPETINA nastala ekspanzijom Windows-a još je daleko od
krpljenja, posebno po pitanju DB razvojne sredine. Za sada, po meni, stvari
stoje ovako:
- Delphi ima predivno razvijen korisnički interfejs, koji bi (da su pametni)
mogli dalje iskoristiti. FormEditor je kao iz snova.
- Delphi ima rogobatan sistem reporta, jerbo sve ide preko eksterne
aplikacije. Sve to _traje_. Fox-ov se da dalje koristiti.
- Query-ji su svuda podjednako slični, i, najzad, standardizovani.
- Gotovo ista situacija sa DBEngine-om (ODBC radi svoj posao, ali nije
rešenje).
- Etc,etc.
- Rushmore još nije prevaziđen.
- Krajnji EXE nesme prelaziti 1 Mb, jer je to bezobrazno.
- Sve to, na kraju, mora biti brzo poput Delphi-jeve aplikacije.
- Obavezan TTS (automatski ili ručni, svejedno).
- I tek tada čovek može da sedne, sklapa modul po modul, i ne brine brigu.
+ Muzička želja ;)
fox.188max.headroom,
Heh, primetio sam zanimljivu nelogičnost pri radu sa Fox-om v2.0 DOS koji trči
kao windowed DOS-task pod W4WG. Evo pomenute nelogičnosti: ako se aktivira
popup dok traje čisti READ, Windows-i završavaju task sa "This application
violated system integrity". Probao sam razne budže, ali... slaba vajda. Zna li
neko uzrok ovakvog prljavog ponašanja?
fox.189pyramid,
-> #187, max.headroom>> kako deluje (i da li uopste deluje, nemam info. da li je izasao) Visual
>> Fox v3.0 for Win? Mislim, da me onaj ogavni MS natera da se sada bavim
>> izucavanjem OOP-a... Grozobno.
Ako Visual Fox postoji, ili se ikada pojavi, racunam da ce biti OOP... Nisam
cuo da je neki jezik (osim Fox-a) ostao ne-OOP (sama cinjenica da postoje
Basic, Cobol i Fortran implementacije koje su OOP je dovoljna)....
fox.190pyramid,
-> #189, pyramid>> >> kako deluje (i da li uopste deluje, nemam info. da li je izasao) Visua
>> >> Fox v3.0 for Win? Mislim, da me onaj ogavni MS natera da se sada bavi
>> >> izucavanjem OOP-a... Grozobno.
>>
>> Ako Visual Fox postoji, ili se ikada pojavi, racunam da ce biti OOP...
>> Nisam cuo da je neki jezik (osim Fox-a) ostao ne-OOP (sama cinjenica da
>> postoje Basic, Cobol i Fortran implementacije koje su OOP je
>> dovoljna)....
Danas mi pod ruke pade avgustovski byte sa opisom doticnog programa. Potpuno je
objektno orjentisan i koliko sam shvatio, vise lici na Access nego na Fox 2.x
fox.194ndragan,
-> #185, gcurcic/ opreme mašine sa 4MB RAMa.
A onda počinje trijezdvobitni posao, i iste stare usrane triosamšestice
lepo polete. Divota jedna. Sam sam se čudio kako brzo vozi.
Al' gledao sam jednom kako iscrtava ekran sa cirka 25 objekata - lepo
može da se gleda kako crta okvire, kako farba polja. 286/16. Usporeni
crtać.
fox.197ndragan,
-> #174, willow/ Izgleda da sve trci okolo , samo FOX stoji i ceka Bill @!@#! Gates-a
/ da ga malo pokrene.
Izašao je Visual Fox Pro 3.0, i ja ću se truditi da bacim ovamo kad
nešto naiđe. Imam beta verziju, koja je još uvek sklona padu tu i tamo.
Mogućnosti su straobalne, ali treba vreeeeeeemena da se sve to prođe (i
proba).
Inače, ono #if #define #endif je među stvarima koje sam probao u prvih
pola sata nakon instalacije. Radi. Ima i #include, ali se iz njega
čitaju samo #direktive.
fox.196ndragan,
-> #170, max.headroom/ kojim se mogu kreirati rel. baze raznoraznih formata (Fox-ov je
/ preskocen - nikada im necu zaboraviti), i uopste, dobro osmisljen
Ako u ODBC nađe drajvere za foks, upotrebiće ih (čak sam našao i neke
njegove prevode, ali u stvari nisu Delfijevi, nego ih je posejao Report
Smith, koji mi inače glavi uzduž i popreko), ali nisam našao način da
iz Delfija uvučem foksova memo polja - samo ispiše <BLOB> i nema načina
da ga otvorim (dobro, nisam se previše ni trudio). CDX - 'production
index not found' i onda, kako se kad snađe, napravi ili ne napravi .MDX
(dBašić 4, naravno, Borlandovo čedo iz usputnog braka, dobio u miraz).
Kod mene je problem što nemam kad da preinstaliram ODBC (ostao mi još od
pendžera 3.1), a pun đavo aplikacija se u međuvremenu upisalo u njega.
Sva je prilika da ne bi prošlo bez ponovne instalacije W95, što je
celopopodnevni posao (čak i kad su fajlovi na serveru). Uostalom, do
daljnjeg me ne zanima uporedno korišćenje istih baza iz foksa i delfija,
nego da vidim kako rade svaki za sebe.
Obimni su i jedan i drugi, većina objekata ima previše osobina koje
bi trebalo poznavati, svi događaji imaju svoje redoslede okidanja...
gomila stvari koje treba naučiti pre nego što se počne sa ozbiljnim
radom.
Naravno, vremena nikad dosta, a svi očekuju da sa novim alatom bude brže
gotovo. Strava.
/ ekvivalenta ON ERROR rutini. Hmh, da ne bih dalje gusio, jerbo
VFox ima za svaki objekat Error događaj i može mu se ugraditi Error
metod, na nivou njegove klase ili neke predačke klase. Na taj način
rutina za obradu greške vozi računa samo o ograničenom skupu mogućih
grešaka koje mogu da se dese tom objektu. Mislim da je tako lakše.
Nisam iščačkao šta Delfi radi sa tim.
fox.195ndragan,
-> #187, max.headroom/ kako deluje (i da li uopšte deluje, nemam info. da li je izašao)
/ Visual Fox v3.0 for Win? Mislim, da me onaj ogavni MS natera da se
/ sada bavim izučavanjem OOP-a... Grozobno.
OOP u suštini omogućava da se odlepimo od tatasture i 60% vremena
provedemo planirajući aplikaciju (gde se stari majstori i razlikuju od
cut&paste klinaca (ili beše click&point)).
Da radi, radi, al' kilavo. Spor je do proliva, bar što se tiče
iscrtavanja/osvežavanja prozora. Neke stvari me dovode do ludila:
definišem prazan form, dodelim mu Times Roman CE, napravim poneki
objekat i - svi dodati objekti imaju difolt Ms Sans Serif (naravno, nema
CE). Nasleđuje, nije da ne nasleđuje, al' je stvar izgleda još na sudu,
pa kad se završi ostavinska. Tj, trebalo bi da za svaki tip objekta
napravim klasu, pa kad ga ubacim, da turim ime svoje klase kao ime
roditelja, pa onda da uvaži font definisan u mojoj klasi - inače,
verovatno su osnovne klase definisane sa "Ms sans serif", pa je to
difolt to daljnjeg. Ili je neko probao da nešto pročačka u vfp.ini (ili
foxprow.ini, ne znam koji važi).
Glavi tu i tamo, pretpostavljam zato što sam opet ostao bez prostora na
disku (obrisao sam posle PowerPoint, a ako zagusti, leteće i Korel) i
zato što imam beta verziju i njega i w95 (via MSDN).
/ - Delphi ima predivno razvijen korisnički interfejs, koji bi (da su
/ pametni) mogli dalje iskoristiti. FormEditor je kao iz snova.
...
/ - I tek tada čovek može da sedne, sklapa modul po modul, i ne brine
/ brigu.
Saglasan od a do žnj.
+ Muzička želja ;)
Index While, tuga neprebolna :)
fox.193ndragan,
-> #181, max.headroom/ kompaktiniji od gomile .FXP-ova. BUT, nemoj zaboraviti - Fox VOLI da
/ se zaglavi pri "Rebuild Application" operaciji, kada koristi onaj svoj
/ mem. manager.
Ume, bogami, naročito ako je .pjx poveći, a dobije da osveži malo više
fajlova. Po pravilu skenja memo polja u .pjt fajlu. Verovatno bi lek bio
da se neka polja skroz isprazne (obj ili kako se već zovu). Pokušavao
sam da otvorim .pjx kao .dbf i da uradim Pack Memo, da napunim timestamp
nulama, da praznim onaj revision number ili kako se već zove - i dalje
mi je najpouzdanije da u takvim slučajevima napravim .pjx ispočetka.
Morao sam da napravim i programčeto koje će da ga puni. Naravno, nije
savršen, pa završna kontrola mora na ruke.
fox.192ndragan,
-> #178, willow/ pouzdati.Razmisljao sam i o postaljanju SET WORKSTAT=<broj>.
Pademinaum: ako svaka stanica ima svoj autoegzek na serveru, ubaci tako
neki Set trtmrt= tamo i pozdravi ih ako se ne slaže.
Imam tu sreću da sam samo dva meseca imao stanice bez diska, a onda je
mušterija negde na rasprodaji našla poslednje kvantume od 40M, verovatno
po pet dolara kilo.
fox.191ndragan,
-> #172, willow/ To je, bre, neka teska prevara u pitanju. ;>
Lagani Novel nisam probao, moja poruka se odnosila na NWare 3.x i 4.0x.
Pretpostavljam da sve rame-u-rame mreže dodeljuju imena stanicama na
manje više isti regularan način, i da sys(0) to lepo hvata (RPTI je čak
davao i broj čvora, istina uvećan za 256).
Kod NWare je uvek # 0, osim ako u loginu ubaciš ime mašine. Za broj
nisam uspeo da ukačim štos, al' i ime mi je bilo dovoljno za ono što sam
hteo.
Sys(0) je napravljen da ti da tvoje mrežno _ime_. Nevolja je kod Novela
(laganoga), što onaj broj nije fizički broj stanice, nego broj veze,
koji se ponovo uspostavlja kod svake prijave. Prema tome, tu nema vajde
za tebe. Bilo bi dobro da nađeš neku funkciju koja bi ti vraćala broj
kartice ili tako nešto. Kružio je tu neki nwlib (vidi ono što je Maks
slao pre neki mesec), možda tamo ima nešto.
/ .FXP .Za sada sve odlicno radi ovako ( u mrezi i bez nje ) i kada
/ menjam neki program ( .FXP, .PLB ), samo njega posle zamenim i sve
/ radi O.K.
Preporučio bih (brzine radi) da napraviš .app ili mali .exe, ali da
uključiš u njega sve što ti treba, i ostatak da pobrišeš sa diska, i
uradiš jedno komprimovanje diska, jer em to onda bude jedini fajl koji
foks drži otvoren preko mreže (ajd, ne računajući silne .dbf, .fpt,
.cdx), em i direktoriji budu kraći. Eventualno bi mogao da se iz
projekta isključi poneki .fxp i da ostane na direktoriju, i to onaj koji
bi sadržavao lokalne parametre i trebalo bi ga možda češće menjati.
Takođe, preporučujem da se .exe i .fxp stave da budu read_only, mreža im
onda brže pristupa i ima manje posla oko njih (ne mora da proverava da
neko ne želi da piše preko njih, da li je neko nešto zaključao itd).
Za svoje potrebe sam napisao chkpjx.prg koji traži sve bitne fajlove
koji se nalaze u tekućem (razvojnom) direktoriju a nema ih u .pjx; ne
znam da li ima smisla da ga bacam ovde jer je moja definicija "bitnih
fajlova" osobena, a pozivam i nekoliko drugih rutina iz svoje
biblioteke, koja je vlasništvo firme... da ne upetljavamo lovu, ovo može
svako da napiše, a zgodno dođe.
fox.199willow,
-> #197, ndragan>> Inace, ono #if #define #endif je medu stvarima koje sam probao u prvih
>> pola sata nakon instalacije. Radi. Ima i #include, ali se iz njega
>> citaju samo #direktive.
Kod mene, nema teorije da #if #define #endif prodje.
Evo bas sam malopre opet isprobao da ne bi ispalo da lupetam :
#if srows() = 25
#define _LASTROW 25
#endif
Nece, Fox prijavljuje gresku.
Ono #include nisam nasao , sem #insert u vezi generisanja ekrana.
>> Za svoje potrebe sam napisao chkpjx.prg koji trazi sve bitne fajlove
>> koji se nalaze u tekucem (razvojnom) direktoriju a nema ih u .pjx; ne
Ja sam sve programe koji su vezani za tekuci projekt , gurnuo u
jedan .DBF . Svaki program ima svoj slog gde je dat opis, naziv ,
a sam kod je gurnut u memo polje .
Tako su mi svi pri ruci, a kad treba da se vade,
ima tu jedno programce koje ih malo sredi, pa ih fljusne napolje.
Hello from Willow Valley
fox.200goxx,
-> #199, willow■ Kod mene, nema teorije da #if #define #endif prodje.
■ Evo bas sam malopre opet isprobao da ne bi ispalo da lupetam :
■ #if srows() = 25
■ #define _LASTROW 25
■ #endif
■ Nece, Fox prijavljuje gresku.
Razumljivo da neće. #if #else #endif nisu komande već kompajlerske direktive
koje se izvršavaju u toku kompajliranja. To znači da ne možeš da pozoveš
ništa iz samog fox-a (važi i za clipper). C kompajleri mogu malo da "zavire"
i u run-time sa svojim direktivama, ali clipper ima ubedljivo najbolji
predprocesor što fox neće nikad imati (sem ako ga ne ukrade :).
Ono što si, verovatno, hteo je:
#define _LASTROW srow()
Možeš svuda da pišeš _LASTROW umesto srow() što i nije nešto jer je izraz
koji zamenjuješ prost za pisanje.
Pozdrav
Goran
fox.202willow,
-> #200, goxx
>>Razumljivo da nece. #if #else #endif nisu komande vec kompajlerske direktive
>>koje se izvrsavaju u toku kompajliranja. To znaci da ne mozes da pozoves
To sto sam mislio sam i napisao ( i obrnuto ).
Ono 'srow()' i '_LASTROW' sam dao samo da popunim liniju ,jer bi onda
verovatno prigovorio da je u pitanju sintaksna greska.
Meni je veoma jasno sta su to preprocesorske direktive, cemu sluze itd.
Ako bacis pogled na programski jezik C i bilo koji od njegovih .H fajlova,
videces sta sam hteo da kazem.
>> To znaci da ne mozes da pozoves nista iz samog fox-a (vazi i za clipper).
Mislim da je obrnuto. Fox *DOZVOLJAVA* upotrebu funkcija ( srows(), itd. )
da se koriste u preprocesorskim direktivama ( za Clipper ne znam ), dok
preprocesor C-a prihvata *SAMO* u vreme kompajliranja poznate konstante.
Evo ti primer :
#if srows() = 25
@0, 1 SAY 'Fox ovo dozvoljava, a za Clipper bas i ne znam.'
#endif
Ovo ima da prodje iz momenta.
Mozda nisi bas obratio paznju na ono sto mene tu muci.Ovde nije problem
'#if' linija vec konstrukcija #if ....
#define ....
P.S. Clipper IMA dosta bolji preprocesor od Fox-a, i to niko ni ne dovodi
u pitanje.
Hello from Willow Valley
fox.203max.headroom,
-> #193, ndragan> Ume, bogami, naročito ako je .pjx poveći, a dobije da osveži malo više
> fajlova. Po pravilu skenja memo polja u .pjt fajlu. Verovatno bi lek bio
Statistike radi, svaki projekat veći od 20-ak stavki zaglavi bar jednom pri
Rebuild Project ili Build Application opciji :) I još nešto - primetio sam da
mi zaglavljuje isključivo kod osvežavanja reporta... Hmh... Pokušavao sam i sam
sa tim osvežavačkim principom koji si naveo, ali mi nekako najlakše legne da
učinim jedno !DEL *.pj* i ponovo podignem projekat.
fox.204max.headroom,
-> #195, ndragan> OOP u suštini omogućava da se odlepimo od tatasture i 60% vremena
> provedemo planirajući aplikaciju (gde se stari majstori i razlikuju od
> cut&paste klinaca (ili beše click&point)).
Mislim, znam da je OOP neophodno zlo :), samo sam se pogrešno izrazio u
prethodnoj poruci. Istina, teško mi pada navikavanje na jedan svemirski sistem
programiranja koji sa ovim, od Boga datim ;), nije ni na puškomet po
jednostavnosti. No, da se spasem kucanja do besvesti, zaista je poželjan. Mene
brine samo jedna stvar - OO programiranje nije objašnjeno onako kako bi
trebalo... još uvek samo malobrojni znaju da se bez greške snađu u ovom čudu, a
nas ('bazne') su držali u mraku bezobrazno dugo. Nisam pipao paskal od srednje
škole, C sam gledao da izbegnem kako znam i umem (C++ je imenica tipa misaona),
i sada mi preostaje samo da gledam belo u one konstruktore, ančestore i ostale
psovke.
> Da radi, radi, al' kilavo. Spor je do proliva, bar što se tiče
> iscrtavanja/osvežavanja prozora. Neke stvari me dovode do ludila:
> definišem prazan form, dodelim mu Times Roman CE, napravim poneki
Tu zaista nemam šta da dodam - od Fox-a (onog 2.5 za Win), pa preko Access-a i
ko zna čega sve ne, sve gledam hoće li se ko zajebati pa napraviti nešto što će
kao krajnji rezultat dati vizuelno BRZU aplikaciju. Pa to k'o da izmišlja
prozore... Sve sam na muci, i pitam se - imam li ja presporu mašinu, ili je
stvar testirana na P6 i K7, ili... Bre, vuku nas za nos. Em što moram da se
polomim učeći neke nove sisteme, em se na kraju sve izjalovi jerbo mi korisnik
ostario dok ovaj udari prozorče od pola ekrana.
I još nešto - svaki novi programčić donosi po jedan novi standard. Eno ga
Access sa njegovim megafajlom - eto, hajde da obezbedimo podršku za njega, eno
ga DBase 5 for Win... ide i on. Dobro, ono za Paradox sam do sada i gutao, ali
kada bi se uradila podrška za svaku bogovetnu bazu, pa samo bi ona uzela 10-ak
Mb. Do sada bih mogao da ih nabrojim bar dvadesetak :) (ODBC drajveri će da
'idu' kao Scan, ako ne i bolje - dvaput nedeljno ;) Šta bi im falilo da su se
zadržali na jednom, glupom :) DBase standardu, i samo dodavali Blob-ove i
ostale nepotrepštine po potrebi?
fox.205max.headroom,
-> #196, ndragan> VFox ima za svaki objekat Error događaj i može mu se ugraditi Error
> metod, na nivou njegove klase ili neke predačke klase. Na taj način
> rutina za obradu greške vozi računa samo o ograničenom skupu mogućih
> grešaka koje mogu da se dese tom objektu. Mislim da je tako lakše.
Ma, nama je takav metod i najlogičniji, jerbo se tačno zna šta može da zakolje
jedno GET polje (ma kako se ono u praksi zvalo - u Delfiju je DBEdit). Delfiju
fali ovakav pristup problemu, jer on nema Error event za, npr. DBEdit, već
moraš da podižeš Exception (exception class). Taj 'izuzetak' je, primetio sam,
zdravo zajebano podići i, uopšte, definisati (to može da bude pogrešna vrednost
- npr. max. dozvoljena vrednost je 5, a ti kucaš 6, ali i neka 'apsolutno
pogrešna vrednost' - npr. umećeš char tip u num polje). U međuvremenu je baza,
zamislimo sranja, prestala da se odaziva - ko će da sredi ovaj Exception? :) I
tako dalje, sve se to gadno zakomplikuje na kraju.
Drugo, ima dosta neobično MaskEdit polje, a to mu je onaj PICTURE atribut GET
polja što ga koristim svakodnevno, u velikim dozama. Jedva se navikoh na te
nove function kodove, kad ispade da maska MORA da bude popunjena po priloženoj
funkciji, inače se diže exception (npr. ako je 999-9999, onda mora biti
123-4567, a ne 123-456). Shit. Postoje nekakva polurešenja, ali je sve to do
mošnica komplikovano.
Enivej, prihvatiću VFox-a kao brata jerbo sam se navikao na sintaksu, ali samo
zbog toga. Mogu si misliti koje bube idu uz njega, kao poklon MS-a (ali mu
kilavost, hebiga, ne praštam).
fox.207max.headroom,
Jedno interesantno pitanje:
Potrebno mi je da odštampam jedan report, i to preko REPORT FORM-a,
koji koristi neki moj custom PDSETUP. Report ide na beskonačni papir, i
najčešće ne prelazi veličinu jedne strane. Međutim, pošto mi je Page Length
namešteno na 66, šta se događa -
elem, kada se odštampa tih 5-6 redova reporta, štampač otera papir na
kraj definisane strane (dakle, 66. red). Zašto jednostavno ne zakuca tu
gde je završio, jer mu nisam rekao "Page Eject after printing"? Zašto
koj moj cima celu stranu na kraj? Help, jer nemam iskustva sa matričnim
štampačima :)
fox.208mamba,
Jedno pitanje za iskusnije korisnike Fox (2.6 DOS).
Ako se pri generisanju EXE fajla iskljuci opcija LOGO, nakon startovanja
i izlaska iz programa ostaje ona boja na ekranu koja je bila u background-u
menija.Da li to moze da se nekako izbegne.
fox.209atech,
Za potrebe testiranja programa za zastitu potreban mi je jedan
iskompajliran fox EXE program tipa 'Hello World' (verzija za DOS).
Ukoliko neko zeli da pomogne molim da mi se javi na mail radi
dogovora...
Uzgred, da li postoji vise razlicitih kompajlera za fox ili se
to radi samo uz pomoc onoga sto se zove Fox stand alone kit (ili
kako vec?)