PROGRAMIRANJE

FREE SOURCE CODE

 


 
www.alaska-software.com

 

www.donnay-software.com

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.


 

NEW
COBA Systems Alat za Xbase++ environment



Programski alat Softver: Alaska Xbase++ i svi programski alati koji pripadaju Alaska Xbase++ programskom jeziku, posle instalacije u računar zahtevaju podešavanje sistemskog okruženja na posebno zadate parametre kako bi mogli da rade. Podešavanje ovog okruženja (set environment variable) kao i podešavanje projektnih fajlova aplikacije na programe koji ih otvaraju i edituju i dodavanje novih ikona tim fajlovima vrši se automatski iz programa XPJCONFIG.EXE koji ove parametre upisuje u Windows registry.
04.05.2011

DOWNLOAD Program XPJCONFIG je besplatan i možete ga ovde preuzeti



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.

DOWNLOAD Tekst o tome, od tvoraca Xbase++ i eXpress++ preuzmite ovde, kao uvod u novi način programiranja pod windowsom.


 
DOWNLOAD 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.


 
DOWNLOAD 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.


 
DOWNLOAD 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
 


 
DOWNLOAD 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.


 
DOWNLOAD 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.
 


 
DOWNLOAD 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.

 


 
DOWNLOAD 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.

 


 
DOWNLOAD 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


 
DOWNLOAD 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


 
DOWNLOAD 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


 
DOWNLOAD 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

 


 
DOWNLOAD 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.


Coba 26.10.2008



DOWNLOAD 013.PRG Xbase++ i eXpress++ GUI mod
                    Prekid, tasterom sa tastature, izvršenja DO WHILE - ENDDO
                    masovne obrade podataka upotrebom AppEvent() i PostAppEvent() 

U toku izvršenja masovne obrade podataka sa bazom podataka, koja se najčešće izvodi u
DO WHILE .NOT. EOF() - ENDDO petlji, potrebno je često puta prekinuti proces obrade pre nego što se on sam završi. U Clipper programima se to izvodilo, na primer, sa:

DO WHILE .NOT. EOF()

     INKEY()
     IF LASTKEY()=27
         EXIT
     ENDIF

SKIP
ENDDO


U Alaska Xbase++ aplikaciji umesto toga treba primeniti Evente.
Jedan od načina primene Eventa dat je u priloženim PRG modulima za eXpress++ (EXPRESS.PRG) i za čist Xbase++ kod (XBASE.PRG).

Coba 18.09.2009


 
DOWNLOAD 014.PRG Xbase++ GUI mod

Alaska Xbase++ BROWSER tabela po sistemu rada Clipper DBEDIT tabele (tasteri-tastatura + miš-komandna dugmad) sa mogućnošću promene veličine tabele i okoline (resize) minimizovanja i maximizovanja u Windows desktopu.

Alaska Xbase GUI browseri:

XbpBrowse(), i
XbpQuickBrowse()

mogu prihvatiti staru Clipper DBedit ili DBbrowse CRT aplikaciju uz relativno male izmene koda te aplikacije. U tu svrhu alaskine GUI browsere treba isprogramirati sa korisničkim interfejsom koji vizualno liči na Clipper interfejs i koji ima što sličniju, ako ne i istu, logiku upotrebe kao i taj stari Clipper interfejs.

Pored toga, u radu sa ova dva GUI browsera dobija se mnogo bolja i raznovrsnija kontrola obrade i prezentacije podataka u browseru, od obrade i prezentacije koje pružaju ostale funkcije iz Xbase, kao što su:

DBEDIT
BROWSE
APPBROWSE

Opisani način programiranja GUI browsera dao sam u dva PRG primera BROWSER1.PRG i BROWSER2.PRG.

Coba 25.09.2009


DOWNLOAD 015.PRG eXPress++ GUI mod TRANSPARENTNE BITMAPE

paket 015: Kako u aplikaciji koristiti transparentne bitmape učitane iz EXE fajla, iz DLL fajla, ili iz BMP, JPG, GIF, PNG fajla upotrebom eXPress++ komandi. Coba 09.05.2011


DOWNLOAD 016.PRG eXPress++ GUI mod TREE MENI APLIKACIJE

paket 016: Tree menu verzija 1. Kako napraviti aplikacioni Tree meni koristeći komande eXPress++ 09.05.2011


DOWNLOAD 017.PRG eXPress++ GUI mod TREE MENI SA IKONAMA

paket 017: Tree menu verzija 2. Kako napraviti aplikacioni Tree meni koristeći komande eXPress++. Tree Menu sa ikonama sa MemoEdit kontrolom sa DCMULTILINE kontrolom, sa DIRS i FILES kontrolama, odnosno sa tree folder dialogom i sa tree file dialogom. 09.06.2011


DOWNLOAD 018.PRG eXPress++ GUI mod TREE MENI APLIKACIJA - DEO1

DOWNLOAD 018_source.PRG
- GRATIS

 

paket 018:

PRIRUČNIK ZA PROGRAMERE sa gotovim i testiranim programima i Source kodom programa od kojih se sastoji ova aplikacija. Kako u Alaska Xbase++ programu uz pomoć dodatnih eXpress++ DLL biblioteka brzo napraviti Windows GUI 32 bitnu poslovnu aplikaciju sa Tree interfejsom za glavni meni aplikacije.

Sva uputstva i objašnjenja za izradu ove aplikacije nalaze se u source kodu u PRG fajlovima kao tekst i komentari određenih tehnika i komandi. Kupovinom source koda i njegovom doradom i izmenom prema vašim zahtevima, dobijate tehnologiju za razvoj bilo koje vaše aplikacije, (stare clipper aplikaciju ili nove Xbase++ aplikacije, bez gubljenja vremena na učenje svih tehnika i znanja za izradu takve aplikacije. Ovde je sve urađeno, testirano i dato na tanjiru.

Tree interfejs se postavlja u glavnom prozoru aplikacije (AppWindow) i pruža mogućnost rada sa više istovremeno otvorenih i aktivnih sekundarnih prozora aplikacije, odnosno GUI Dialoga aplikacije, od kojih svaki GUI dialog predstavlja poseban program. Nadgradnja ovog sistema je putem uvođenja Thread tehnika tako da svaki od pojedinih GUI dialoga (programa) radi u svojoj posebnoj niti.
GUI dialozi su urađeni posebno u Alaska Xbase++ funkcijama i posebno u eXpress++ funkcijama radi prikaza razlike u programiranju u jednoj i u drugoj tehnologiji rada. U aplikaciji su primenjene tehnike za sprečavanje starta druge instance prozora, za restart aplikacije u toku rada, za postavljanje Windows XP manifesta u toku rada, za postavljanje pozadinske bitmape i boje i za izgradnju GUI Dialoga sa svim njegovim osobinama i sa drugim objektima na njemu, tehnika pisanja Helpa u MsgBox dialogu, tehnika izrade panela u GUI dialogu i mnoge druge.

U principu, kod izrade aplikacija u Alaska Xbase++ može se paralelno koristiti Xbase++ kod i eXpress++ kod, osim kod Xbase Parts (XbpDialog, XbpPushButton, Xbpbrowse...) gde ne treba u istom programu koristiti Xbase Parts i eXpress predefinisane Xbase Parts (DCREAD GUI, DCPUSHBUTTON, DCBROWSE...). U ovoj aplikaciji prva tri GUI dialoga su Xbase Parts a ostali GUI dialozi su predefinisani eXpress Parts.
Međutim treba to izbegavati, i ne treba mešati ove dve tehnike rada, osim ako niste majstor za Xbase++ i eXpress++ tehnike rada. Coba 26.05.2011


 

 

  DOWNLOAD RESOURCE.PRG

Complete project: with accompanying source code and instructions for working
Testing the operation of Alaska Xbase++ 1.9.355 and eXpress++ 1.9 to load resources: ICO, BMP, PNG, GIF, JPG and view those pictures on the command button. ICO,BMP,PNG,GIF,JPG resources are taken from ICO,BMP,PNG,GIF,JPG files on the disk, or EXE file, or DLL file

COBA Systems Software 2014 Slobodan Stanojevic Coba 30.05.2014


             

DOWNLOAD MAIL.PRG
Paket MAIL.zip
Slanje eMaila iz Alaska Xbase++ na jednu ili više adresa sa jednim ili više priloga
eMail se šalje preko aktivnog (set default) mail klijenta. Program je testiran sa aktivnim besplatnim mail klijentom:
    Mozila Thunderbird
i radio je ispravno i bez problema
Ovde se nalazi kompletan projekat programa mail.exe sa bibliotekom ot4xb.dll/lib za Alaska Xbase++ 1.9.355