| |
|
|
PROGRAMIRANJE FREE SOURCE CODE |
|
|
|
|

|
 |
|
Alaska
Xbase++
1.7/1.8/1.9 |
eXPress++
1.7/1.8/1.9
|
|
Na ovom mestu od sada pa na
dalje objavljivaću izvorni kod, primere i rešenja za
izradu poslovnog i softvera i softvera za knjigovodstvo u Xbase, eXpress,
Clipper, Visual basic, Delphiu i Javi.
Coba
20.09.2007. |
|
Clipper pod
Windowsom
Clipper pod Windowsom je rođen. To je
danas činjenica. Zahvaljujući izvrsnim programerskim alatima,
"Clipper način pisanja programa",
kao i stari Clipper izvorni kod nisu otišli na groblje programerske
istorije. Takođe "Novi Clipper način pisanja programa" pokazao je
sve svoje prednosti u brzom i efektnom pisanju aplikacija.
Tekst o tome, od tvoraca Xbase++ i eXpress++
preuzmite ovde, kao uvod u novi način programiranja pod windowsom. |
|
001.PRG Xbase++ GUI GLAVNI APLIKACIONI PROZOR
Glavni GUI Aplikacioni prozor Full Screen mod,
AppDesktop():CurrentSize(), AppDesktop():CurrentPos()
MenuBar meni, Command Buttons Ispis YU ćirilice i latinice u
prozoru, meniju i komandama
Primer izrade FULL SCREEN glavnog aplikacionog prozora
koji uvek zauzima pun ekran bez obzira na trenutnu rezoluciju
monitora (desktopa), sa primerom MenuBar menija,
komandnim dugmadima i sa primerom dobijanja YU slova latinice
i cirilice u aplikacionom prozoru, u meniju, i na komandnim
dugmadima. |
|
002.PRG Xbase++ CRT hibridni mod
CRT PROGRESS BAR
Glavni CRT Aplikacioni prozor i promena naslova u Title Baru
prozora CRT PROMPT meni, i CRT PROGRESS BAR u dve varijante,
odnosno dve različite procedure. |
|
003.PRG Xbase++ GUI i CRT mod
GUI PROGRESS BAR
Progress Bar u GUI modu koji radi sa aplikaciojom u GUI modu i
sa aplikacijom u CRT modu
|
|
004.PRG Xbase++ GUI i CRT mod
ŠTAMPA NA WINDOWS PRINTERIMA
Štampanje u GUI modu i u CRT modu, uz upotrebu svih
raspoloživih Windows fontova (pa i YU fontova), štampanje
bitmapa (slika) na dokumentu, promena veličine i boje
fontova na štampanom dokumentu. Štampanje liste artikala
preuzete iz baze podataka. |
|
005.PRG Xbase++ GUI mod + eXpress++ biblioteke GUI NALOG ZA PRENOS (VIRMAN)
Popunjavanje naloga za prenos (virmana) iz BMP maske i trajno
čuvanje podataka virmana u fajlu PLATA_RACUNI.DBF
demonstrira jednostavnu upotrebu eXpress++ funkcija za
simulaciju starog Clipper koda i za strukturno programiranje
Windows GUI interfejsa.
|
|
006.PRG Xbase++ hibridni CRT mod + GUI mod
GLAVNI PROZOR I MENI
HIBRIDNE CRT-GUI APLIKACIJE
1.1. Šta sadrži ovaj program i šta mu
je funkcija
Ovde su u osnovnom obliku date i prikazane bazne tehnike
potrebne za brzo pisanje bilo koje poslovne aplikacije u
Alaska Xbase++ 32-bitnom programskom jeziku, koja koristi
DBF (Data Base Files) bazu podataka odnosno XBASE tip baze
podataka.
Ovaj program rađen je u čistom Xbase++ kodu odnosno u
Clipper-u, tako što je malo dopunjen stari kod iz Clipper
87' samo tamo gde je trebalo dobiti GUI (Grafički Korisnički
Interfejs) dijalog. Ostali stari (najstariji) Clipper 87'
kod nije diran.
Ova aplikacija predstavlja jednostavan primer prevodjenja
starog 16 bitnog Clipper-a na 32 bitni Windows kod, sa
dodatkom GUI dialoga, odnosno Windowsovog grafickog
interfejsa, odnosno dobar primer brze direktne migracije sa
Clippera 87' na Xbase++ 1.7.
Korišćeni su samo Xbase++ 1.7 i XbTools++ 1.7 alati i
biblioteke. Nisu korišćene DLL i LIB biblioteke drugih
proizvodjača softvera.
1.2. Source cod (izvorni kod) ovog programa
Tehnike su napisane i demonstrirane u Source Code
(izvornom kodu) u priloženim PRG modulima. Svaki PRG modul,
odnosno izvorni kod, može se menjati i modifikovati. PRG
moduli sa izvornim kodom su sastavni deo ovog programa i oni
su materijal koji služi za obuku u programiranju.
1.3. Prenos Clipper 16-bitne aplikacije u 32-bitnu Alaska
aplikaciju
Ako već imate napisanu Clipper aplikaciju (Clipper
87'/5.1/5.2) ovde su u najosnovnijem obliku date bazne
tehnike potrebne za brzo prebacivanje (migraciju) te
aplikacije u 32-bitnu Alaska Xbase++ Hibridnu ( Windows CRT
i GUI ) aplikaciju.
1.4. Pisanje novih poslovnih aplikacija u Alaska/Clipper
kodu
Za novu aplikaciju ili dopunu i doradu postojeće Clipper
aplikacije pisanje koda je isto kao u Clipper-u, osim ako
nećete da pravite GUI interfejs. U tom slučaju kod mora da
sadrži dodatne komande i procedure sa sintaksom Alaska
Xbase++ i često mora da bude objektno orjentisan.
|
|
007.PRG Xbase++ GUI mod
RAD SA TASTATUROM U
XBASE APLIKACIJAMA
Ovde su date sve postojeće
bazne tehnike (specijalne smislite sami) kako u standardnom
Windows GUI okruženju (interfejsu) raditi sa tastaturom kao
u DOS-u. Na primer, umesto da sa tasterom TAB skačete sa
dugmeta na dugme, to radite sa strelica gore, strelica dole.
Umesto da sa tasterom Space aktivirate dugme, to radite sa
tasterom Enter. Umesto da sa klikom miša na Cancel [x] u
gornjem desnom uglu prozora zatvorite prozor, to radite sa
Esc. Umesto da sa Alt+U aktivirate dugme na kome piše
"Uputstvo", to radite samo sa U. I ostalo u vezi svakog
tastera na tastaturi, a posebno kako sa tastature
komandovati Browserom (DBGrid, DBedit, TBrowse i ostalo)
odnosno tabelom baze podataka u browse modu.
Motiv:
DOS aplikacija pa takođe i stara knjigovodstvena Clipper
aplikacija imala je posebnu logiku i posebne tehnike rada sa
tastaturom. Miš tada nije postojao ili nije bio korišćen.
Največi deo Clipper aplikacija baziran je isključivo na radu
sa tastaturom, a njihovi korisnici dugogodišnjim radom su
stekli naviku i prihvatili sve udobnosti rada sa tastaturom.
Odbojnost prema mišu polako bledi, ali je još uvek ima, a u
knjigovodstvenim aplikacijama se traži i zahteva očuvanje
lagodnog rada sa tastaturom. Nove generacije knjigovođa,
odrasle sa mišem i pentijumima 4, možda će na sve ovo
gledati sa osmehom, ali moji sadašnji klijenti se najblaže
rečeno lukavo klone miša kad god mogu. Zbog toga sam morao
da u knjigovodstvenim programima urađenim u GUI modu Xbase++
(sa Windows prozorima i ostalim Windows dugmićima,
listboksovima, browserima i slično) sačuvam način rada
tastature koji je postojao u mojim Clipper programima. Sa
Alaska Xbase++ to nije težak posao, pod uslovom da znate šta
radite. E, ali to, "da znate šta radite" ispadne jako težak
posao. Ja sam morao da ga odradim, a vi treba samo da
pročitate i gurate dalje, što je mnogo lakše nego ići od
početka. Obavezno pročitajte priloženi ALASKA XBASE RAD SA
TASTATUROM.PDF
Coba, 29.04.2008.
|
|
008.PRG - Xbase++ i eXpres++ GUI mod Demonstracija rada sa eXpress++
bibliotekom
GUI PROMPT MENI
Pravljenje GUI menija po ugledu na Clipper Prompt meni.
Upotreba starih clipper komandi @ x,y SAY i @ x,y GET.
Demonstracija pisanja programa kao običnog Clipper programa
koji posle kompajlovanja i linkovanja daje GUI (Grafički
Korisnički Interfejs) odnosno proizvodi punu 32 bitnu
Windows grafičku aplikaciju.
U paketu je EXE aplikacija koja demonstrira izgled i rad
programa,
Za start i rad aplikacije je potrebno instalirati RunTime
biblioteku koju sa Download skidate sa sajta
www.cobasystems.com
a u samoj aplikaciji pod naslovom [Library] dat je i izvorni
kod aplikacije. Coba, 26.10.2008 |
|
009.PRG Xbase++ i eXpres++ GUI mod Demonstracija rada sa Xbase++ i eXpress++ bibliotekom
PAMETNI GLAVNI PROZOR APLIKACIJE
Pravljenje "pametnog" GUI glavnog prozora aplikacije koji
uvek zauzme ceo Desktop (ceo ekran) ali ostavi nepokriven
ToolBar/TaskBar bez obzira da li se ovaj nalazi u dnu, u
vrhu, ili levo, ili desno na ekranu, i bez ozira koje je
širine ToolBar/TaskBar.
Demonstracija upotrebe Windows API-ja i User32.dll
biblioteke u Alaska Xbase++ programima.
U paketu je EXE aplikacija koja demonstrira izgled i rad
programa, Za start i rad aplikacije je potrebno instalirati
RunTime biblioteku koju sa Download skidate sa sajta
www.cobasystems.com
a u samoj aplikaciji pod naslovom [Library] dat je i izvorni
kod aplikacije.
Coba, 26.10.2008 |
|
010.PRG Xbase++ i eXpres++ GUI mod
Demonstracija rada sa Xbase++ i eXpress++ bibliotekom
APLIKACIJA KOJA NE DOZVOLJAVA DRUGU
INSTANCU
Ako se EXE aplikacija A startuje i ostavi podignuta, pa se
ista EXE aplikacija A ponovo startuje, ona će se takođe
podići i biti aktivna. Tog momenta imamo u memoriji računara
istovremeno podignute i aktivne dve iste aplikacije:
aplikaciju A i njenu DRUGU INSTANCU. Na ovaj način pod
Windowsom se može podići neograničen broj instanci jedne
aplikacije.
Međutim, kod knjigovodstvenih programa i programa koji rade
sa bazama podataka često se zabranjuje podizanje druge
instance programa iz raznih opravdanih ili neopravdanih
razloga.
Ovaj program demonstrira pisanje Xbase++ aplikacije u GUI
ili CRT modu, koja ne dozvoljava svoju drugu instancu.
Ujedno je ovo puna demonstracija upotrebe Windows API-ja i
User32.dll biblioteke u Alaska Xbase++ programima.
U paketu je EXE aplikacija koja demonstrira izgled i rad
programa, Za start i rad aplikacije je potrebno instalirati
RunTime biblioteku koju sa Download skidate sa sajta
www.cobasystems.com
a u samoj aplikaciji pod naslovom [Library] dat je i izvorni
kod aplikacije.
Coba, 26.10.2008 |
|
011.PRG Xbase++ i eXpres++ GUI mod
GLAVNI PROZOR APLIKACIJE I
SEKUNDARNI PROZORI APLIKACIJE
Upravljanje prozorima u Alaska Xbase++ preko User32.dll
Windows API-ja (Testirano pod
WINDOWS-om XP i VISTA radi ugradnje u VISTA aplikacije)
Kada se startuje EXE aplikacija A startuje se prvo njen
glavni prozor
(Win Main) koji je najčešće i glavni meni (glavni izbor
rada) aplikacije.
Posle toga, aktiviranjem stavki iz glavnog menija
aplikacije, startuju se sekundarni prozori aplikacije prvo
(win 1) a zatim i (win 2).
(1)
Ako sada želimo da završimo aplikaciju to se može učiniti na
dva načina:
prvi način:
- prvo se terminira win 2 prozor
- zatim se terminira win 2 prozor
- sada se može terminirati win main prozor odnosno
aplikacija
drugi način:
- terminira se aplikacija i pri tom se automatski zatvore
svi
otvoreni prozori win 2, win 1 i win main.
U ovom programu demonstrira se i prvi i drugi način. Za
drugi način koristi se funkcija iz User32.dll Windows API
biblioteke. Prvi način obezbeđuje Alaska Xbase++ svojim
postojećim komandama.
(2)
Ako u aplikaciji istovremeno držimo otvorene sve prozore:
Win main, Win 1 i Win 2, a potrebno je da komandama zadatim
iz jednog aktivnog prozora izvršimo nad drugim prozorom
operacije:
- minimizovanja drugog prozora
- maksimizovanja drugog prozora
- normalizovanja drugog prozora
- postavljanje drugog prozora u poziciju "Z Top" (povrh svih
prozora)
- terminiranje drugog prozora (gašenje i zatvaranje)
deo ovih operacija može se uraditi iz Alaska Xbase++ komandi
a deo direktnim pristupom i korišćenjem funkcija iz
User32.dll Windows API biblioteke.
U ovom programu demonstrira se rad sa opisanim operacijama
gde se za neke operacije koriste funkcije iz User32.dll
Windows API biblioteke.
(3)
Ako je aplikacija startovana i otvorena su sva tri prozora
Win main, Win 1 i Win 2, pa se pokuša ponovni start druge
instance aplikacije, tada će se stopirati start druge
instance aplikacije, a aktiviraće se zadnji prozor
aplikacije odnosno Win 2 tako što će se, ako je minimizovan,
postaviti u normalnu veličinu i u Z Top poziciju na desktopu
(povrh svih prozora pred oči korisniku - da vidi da je
aplikacija već startovana).
U ovom programu demonstrira se rad sa opisanim operacijama
gde se za neke operacije koriste funkcije iz User32.dll
Windows API biblioteke.
Coba 26.10.2008
|
|
012.PRG Xbase++ hibridni CRT mod + GUI mod
( vezano za: 006.PRG - Xbase++ hibridni CRT mod + GUI mod )
CRT MENI 8 BigButtons
1.1. Šta sadrži ovaj
program i šta mu je funkcija
Demo primer GUI menija u CRT prozoru i rada sa dodatnim CRT
prozorima u jednoj CRT-GUI baziranoj aplikaciji (Alaska
hibridnoj aplikaciji)
Ova tehnika programiranja meija aplikacije u CRT prozoru,
izvedena je
za aplikacije čija izrada (prelazak sa Clipper koda na
Alaska Xbase++)
je detaljno demonstrirana i dokumenovana u 006.PRG paketu.
Tako, da u ovom uputstvu važi sve što je napisano pod
tačkama 1.1. do 1.4.
Ovde je postojeća tehnika proširena uvođenjem GUI dugmadi sa
bitmap slikama umesto standardnog Clipper PROMPT menija
datog u paketu 006. Takođe, ovde se demonstrira tehnika rada
sa više istovremeno otvorenih CRT prozora u kojima se
odvijaju pojedine operacije aplikacije.
Ovde su u osnovnom obliku date i prikazane bazne tehnike
potrebne
za brzo pisanje bilo koje poslovne aplikacije u Alaska
Xbase++
32-bitnom programskom jeziku, koja koristi DBF (Data Base
Files)
bazu podataka odnosno XBASE tip baze podataka.
Ovaj program rađen je u čistom Xbase++ kodu odnosno u
Clipper-u,
tako što je malo dopunjen stari kod iz Clipper 87' samo tamo
gde je trebalo dobiti GUI (Grafički Korisnički Interfejs)
dijalog. Ostali stari (najstariji) Clipper 87' kod nije
diran.
Ova aplikacija predstavlja jednostavan primer prevodjenja
starog 16 bitnog Clipper-a na 32 bitni Windows kod, sa
dodatkom GUI dialoga,
odnosno Windowsovog grafickog interfejsa, odnosno dobar
primer brze
direktne migracije sa Clippera 87' na Xbase++ 1.7
Korišćeni su samo Xbase++ 1.7 i XbTools++ 1.7 alati i
biblioteke.
Nisu korišćene DLL i LIB biblioteke drugih proizvodjača
softvera.
1.2. Source cod (izvorni kod) ovog programa
Tehnike su napisane i demonstrirane u Source Code (izvornom
kodu)
u priloženim PRG modulima. Svaki PRG modul, odnosno izvorni
kod,
može se menjati i modifikovati. PRG moduli sa izvornim kodom
su
sastavni deo ovog programa i oni su materijal koji služi za
obuku
u programiranju.
Coba 26.10.2008 |
|