You are on page 1of 123

_

CLARION FOR WINDOWS PRIRUNIK ZA POETNIKE

SADRAJ:
UVOD...............................................................Error: Reference source not found
Dobrodoli na brzi put do razvoja windows aplikacija..................................5
to moete pronai u ovoj knjizi.......Error: Reference source not found
Dokumentacijske konvencije..................................................................................7
Vrste slova:....................................................Error: Reference source not found
Konvencije oznaavanja tastature........Error: Reference source not found
Registracija ovog proizvoda................................................................................8
Tehnika podrka...............................................................................................8
Sustav topspeed fax retrieval..............................................................................8
Setup.................................................................Error: Reference source not found
Sustav zahtjeva.................................................Error: Reference source not found
Setup program....................................................................................................8
Instaliranje (Starting Setup)...........................Error: Reference source not found
Instalacijske opcije.........................................Error: Reference source not found
Startanje Clariona za windowse.....................Error: Reference source not found
QUICK START TUTORIAL.............................Error: Reference source not found
Upotreba quick start wizard-a..............................................................................10
Modificiranje vaeg rjenika..................Error: Reference source not found
Auriranje aplikacije.......................................Error: Reference source not found
Dodavanje datoteka s brzim uitavanjemError: Reference source not found
Dodavanje veze.............................................Error: Reference source not found
Procedure wizards............................................Error: Reference source not found
Upotreba browse wizard-a.............................Error: Reference source not found
Application wizard.............................................Error: Reference source not found
Upotreba application wizard-a.......................Error: Reference source not found
to dolazi slijedee................................Error: Reference source not found
RAZVOJNI TOK..............................................Error: Reference source not found
Template driven programming..........................Error: Reference source not found
Korak kroz razvojno okruenje..........................Error: Reference source not found
The Dictionary Editor......................................Error: Reference source not found
Generator aplikacija.......................................Error: Reference source not found
Formatiranje prozora (the window formatter).Error: Reference source not found
Formatiranje izvjea............................Error: Reference source not found
Editiranje teksta..............................................Error: Reference source not found
Editor formula.................................................Error: Reference source not found
Projekt sistem.................................................Error: Reference source not found
Debager..........................................................Error: Reference source not found
PLANIRANJE APLIKACIJE...........................Error: Reference source not found
Zadaci aplikacije...................................................................................................28
Podaci i datoteke podataka..................................................................................29
Klijent fajl (Kupac)..........................................Error: Reference source not found
Telefonski fajl.................................................Error: Reference source not found
Fajl narudbi...................................................Error: Reference source not found
Fajl detalja......................................................Error: Reference source not found
Fajl proizvoda.................................................Error: Reference source not found
Referencijalni integritet..................................Error: Reference source not found
Kompletna shematska baza...........................Error: Reference source not found
Aplikacijski interfejs (meusklop)............Error: Reference source not found
2

STVARANJE RIJENIKA PODATAKA...Error: Reference source not found


Fajlovi tutorial-a..............................................Error: Reference source not found
Stvaranje rijenika...............................................................................33
Kopiranje datoteka iz jednog rijenika u drugi.....................................35
Kopiranje definicija telefonskog file-a............Error: Reference source not found
Povezivanje datoteka i postavljanje referencijalno integriranih opcija................35
Setiranje referencijalno integriranih veza.......Error: Reference source not found
Spremite svoj rad...........................................Error: Reference source not found
Predefiniranje window kontrolnih formata............................................................37
DODAVANJE DATOTEKA I POLJA..............Error: Reference source not found
Definiranje novih datoteka podataka...................................................................40
Imenovanje datoteka Proizvodi i Stavke:.......Error: Reference source not found
Definiranje polja...................................................................................................41
Definiranje polja za datoteku NARUDZBA.......................................................41
Definiranje polja za datoteku STAVKE..........Error: Reference source not found
Definiranje polja za datoteku PROIZVODI.....Error: Reference source not found
DODAVANJE KLJUEVA...................Error: Reference source not found
Definiranje kljueva za datoteku Narudzba......Error: Reference source not
found
Kreiranje primarnog kljua....................Error: Reference source not found
Definiranje vanjskog kljua...................Error: Reference source not found
Definiranje kljua za datoteku Stavke........Error: Reference source not found
Definiranje prvog vanjskog kljua.........Error: Reference source not found
Definiranje drugog vanjskog kljua.......Error: Reference source not found
Definiranje kljua za datoteku Proizvod...Error: Reference source not found
Kreiranje primarnog kljua....................Error: Reference source not found
DODAVANJE RELACIJA...............................Error: Reference source not found
Definiranje relacija za orders file (datoteku narudbi)....Error: Reference source
not found
Definiranje veza za detail datoteku (stavke). .Error: Reference source not found
Definiranje validacije zavisne o vezi.................Error: Reference source not found
Definiranje validacije za novi order zapis.......Error: Reference source not found
Definiranje validacije za novi detail zapis......Error: Reference source not found
KREIRANJE APLIKACIJE.............................Error: Reference source not found
Kreiranje .App Datoteke....................................Error: Reference source not found
Kreiranje Main Procedure..............................Error: Reference source not found
Ureivanje Izbornika................................Error: Reference source not found
Dodavanje Aplikacijskih Alata...........................Error: Reference source not found
Testiranje aplikacije.........................................................................................65
KREIRANJE BROWSE..................................Error: Reference source not found
Kreiranje Popisa Korisnika...................................................................................66
Popunjavanje i formiranje List Box Control-a...................................................67
Dodavanje tabova.............................................................................................69
Testiranje korisnikog browse (izgleda prozora)...............................70
Postavljanje sortiranih redova...........................................................................71
Zatvaranje Customer Browse...........................................................................72
BROWSE UPDATE PROCEDURA...............Error: Reference source not found
Kreiranje Update Procedure................................................................................73
Dodavanje procedure ToDo.........................................................................73
Kreiranje Update Procedure.............................................................................73
3

Popunjavanje polja............................................................................................74
Pomicanje i svrstavanje polja............................................................................75
Dodavanje BrowseBox Control Template-a.....................................................77
Dodavanje BrowseUpdateButtons Control Template.......................................79
Kraa Phones Update Form-e.....................................................................80
KREIRANJE PROCEDURE ZA PREGLED PROIZVODA...........Error: Reference
source not found
Kopiranje procedure.............................................................................................82
Rad s embed points-ima...................................................................................83
Promjena kopirane procedure..............................................................................84
Kreiranje Forme Procedure...............................................................................86
KREIRANJE PREGLED NARUDBI PROCEDURE.....Error: Reference source
not found
Kreiranje procedure.............................................................................................88
Smjetanje prvog kontrolnog obrasca..............................................................89
Dodavanje Browse Update Buttons Template..................................................90
Smjetanje drugog Browse List Box-a..............................................................91
Dodavanje Close Button Control Template......................................................92
KREIRANJE FORME UPDATE-NARUDBA Error: Reference source not found
Ureivanje Basic Form.......................................................................94
Smjetanje Control Templatesa datoteke Detail..............................................96
Pokretanje..........................................................................................................100
Dodavanje UpdateDetail Form Procedure......................................................101
KREIRANJE IZVJETAJA.............................Error: Reference source not found
Jednostavna korisnika lista...............................................................106
Promjena Izbornika.........................................................................................106
Kreiranje Izvjetaja.........................................Error: Reference source not found
Popunjavanje 'Detalja'.....................................................................................108
Narudzba Report................................................................................................110
Kreiranje reporta.............................................................................................110
Popunjavanje Page Form reda.......................................................................111
Popunjavanje Detail reda................................................................................112
Dodavanje Group Breaks................................................................................113
Nastanjivanje Group Header Band.................................................................115
Nastanjivanje Invoice Group Footer Band......................................................118
Ispunjavanje Korisnikog Group Footer Band.....Error: Reference source not
found
Dodavanje formule..........................................................................................120
Ogranieno izvjee (Range Limited Report)..................................122
Kreiranje izvjea.............................................................................122
to Dalje?.......................................................Error: Reference source not found

UVOD
Poglavlje sadri:
Uvod u Clarion za Windowse.
Pogled na ono to moemo nai u knjizi Getting Started.
Vodi za nalaenje informacija sadranih u drugim knjigama koje
ukljuuje Clarion za
Windowse.
Obiljeja i druge dokumentacijske konvencije.
Podsjetnik o stvorenim protokolima.
Kratak pregled programa za tehniku podrku.
Informacije o Clarions fax-back sistemu za brzu tehniku podrku.
Dobrodoli na brzi put do razvoja windows aplikacija
Dobro doli u Clarion za Windowse. Upravo ste dobili ono to TopSpeed
korporacija smatra da je najmoniji Windows alat za razvoj aplikacija na
tritu!
Sada moete izgraivati sofisticirane Windows aplikacije bre nego to
ste ikad mislili da je mogue.
Revolucionarna e razvojna okolina dramatino poveati vau
produktivnost. Izvrni programi, koje ete stvoriti, pokretati e se brzo
kao i oni u jezicima poput C-a.
Moete se lako povezivati sa praktiki svakom postojeom bazom
podataka.
Da li to zvui predobro da bi bilo istinito? Ako pogledate Quick Start
Tutorial u treem poglavlju ove knjige, sigurni smo da ete se uvjeriti za
manje od jednog sata.
Clarion za Windowse je stvarno potpun i razumljiv proizvod; ipak, treba
ii korak po korak. Prije nego to ete biti svijesni, razvijaete Windows
aplikacije brzinom svijetlosti .
Sada imate oba fleksibilna Rapid Application Development (RAD)
programa i mo Clarion jezika za kreiranje kompleksnih Windows
aplikacija. Njegov Point and Click razvojni proces oslobaa vas od
sloenosti i sporosti tipinih Windows programiranja.
Clarion za Windows generator aplikacija gradi Windows programe u vremenu koje
ostala programirajua okolina zahtijeva, ak pravei ifrirane opcije.
Clarion jezik je moan, ak lak za razumijevanje, poslovno orijentirani
jezik etvrte generacije (4GL). Kombiniran sa driverima za visoku
izvedbu bazi podataka, Clarion za Windows vam prua najkrai razvojni
ciklus i bre izvravanje vaeg projekta.
Template Driven Rapid Application Development
Postojee standardne procedure - templates - omoguuju podrku
velikom broju funkcija kao to su izgledi, forme i izvjetaji. Izaberite
template iz liste i stavite ga u prompt.
Templates su kompletno prilagoeni nainu na koji elite da vaa
5

aplikacija bude. Moete jednostavno dodavati vae templates.


WYSIWYG (What You See Is What You Get) Formatters
Upotrijebite na ekranu formatters za editiranje ili dodavanje prozora i
kontrolu pogreaka templatea. Lako se uvaju liste boxeva, automatski
asociraju polja bazi podataka sa ulaznom kontrolom i izabiru akcije za
standardne menije podataka, dok ih integrirate u aplikaciju.
Osnovne procedure kao to su data validation i referential integrity checks - time consuming tasks na drugim su mjestima kodirane za vas automatski. Windows
razvojni projekti, normalno, trebaju mjesece upotrebe ostalih alata za to.

Immediate Results - Build Your Application in 1 Hour

Clarion za Windowse QuickStart Wizard, QuickLoad i sve Wizard


procedure grade rijenik, izabiru templates i kreiraju aplikaciju za unos,
odravanje i izvjetavanje podataka u 60 minuta. Moete kreirati dvoje Quick
Start Tutorial aplikacija u poglavlju tri bez da napiete i liniju koda.
4GL Development - C Performance
Za razliku od drugih runtime - interpreted RAD platformi, izvravajue koje
gradite sa Clarionom za Windowse su brze. TopSpeed kompajler
tehnologija proizvodi izvravajue koji lete.
Clarion jazik ima snagu i fleksibilnost da podri svaki projekt razvoja aplikacije.
Strukturiran je, kompaktan, rastezljiv jezik koji podrava najbolje komponente
orijentiranog razvoja. Upotrijebite Visual Basic Custom Controls (.VBX) u
vaoj aplikaciji. Kreirajte dinamine biblioteke (DDL) ije aplikacije mogu
biti pozvane i ako su napisane u drugom jeziku.
Za hand - coders razvojno okruenje prua mnogobrojne alate. Window
i Report formatters omoguuju vam klizanje izmeu grafiki editiranih
prozora i izvjetaja, ili editiranje njihovih deklaracija strukture podataka
u obliku teksta. Text Editor omoguuje visokosvijetlosnu boju sintakse.
Project Editor kompajlira i sastavlja na TopSpeed i Clarion Debugger vam
pomae da va projekt dostigne perfekciju.
Database Independence
Novi visoko izvodei driveri bazi podataka podravaju popularne pakete
bazi podataka i obrauna; ukljuujui Xbase formats, Paradox, Btrieve i
dr. Lokalno, bri su od ekstra ODBC (Open DataBase Connectivity) na
kojem se baziraju mnoge Windows aplikacije bazi podataka (koje Clarion
za Windowse takoer podrava).
Pohranite vae podatke (ili konvertirajte postojee) u TopSpeed file
format za nevjerovatno brzu izvedbu. Takoer je efikasan; moete
pohraniti viestruke fileove unutar jednog fizikog DOS filea.
Clarionovo razvojno okruenje takoer vodi brigu o Windows help sistemu.
Help se pojavljuje pritiskom na funkcijsku tipku F1 ili odabirom jedne od komandi u
6

Help meniju.
Help je ureen u obliku dialog boxa, radi pruanja preciznog help teksta
kada vam je on potreban.
Kompletan tekst Language Reference je na liniji. Kada radite sa Text
Editorom, postavite mjesto za umetanje na izvjetaj ili funkciju
Clarionovog jezika, nakon ega pritisnite tipku F1 za pogled na pomo o
podatku.
Template Language Reference
je kompletan vodi za Clarionov
Template jezik. Osigurava opise svih izvjetaja i funkcija sa primjerima
za svaki. Kompletan tekst Template Language Reference je takoer na
liniji. Dokumentira Clarionov Template jezik, jasno demonstrirajui kako
napisati na vlastiti template. Ovaj dokument vam je dostupan kroz
main tabelu sadraja za help sistem. Ako se odluite za printanu kopiju
Template Language Reference, pogledajte proizvodnu snimljenu kartu.
Vano: ako se bilo koji dio help teksta kosi sa printanom dokumentacijom,
on screen help ima prednost. TopSpeed korporacija ulae napore da osigurava
vrijeme printanu dokumentaciju. Ipak, vrijeme potrebno
printeru moe proizvesti zaostajanje; dok moemo uitati help fileove
koji koegzistiraju sa revizijom proizvoda, printani materijal se mora
uhvatiti
kasnije.
Dokumentacijske konvencije
Dokumentacija koristi vrstu slova i oznaavanja tipki kao to slijedi.
Vrste slova:
Kosa slova

VELIKA SLOVA

Masna slova
menija

Oznaavaju ta treba upisati sa tastature kao


npr. Utipkaj ovo.
Oznaavaju pritiske tipki koje treba unjeti sa
tastature kao npr. ENTER ili ESCAPE.
Oznaavaju komandu ili opciju iz padajueg
ili teksta u dijalekt prozoru.

Opaska: ova vrsta slova takoer koriste kao razliite vrste da bi


pristajalo masnim helvetica slovima koje Windovsi koriste kao sistemski
font.
GOTIKO PISMO

Upotrebljava se za dijagrame, listing izvornog


koda za biljeenje primjere kao i za primjere upotrebe
izvornih komandi.

Konvencije oznaavanja tastature


F1

Oznaava pritisak tipke. Pritisni i otpusti tipku F1.

ALT+X

Oznaava kombinaciju pritiska tipke. Drite stisnutu tipku alt


i pritisnite tipku X. Zatim otpustite obje tipke.
7

Registracija ovog proizvoda


Prije nego ponete koristiti Clarion za Windovse ispunite i poaljite
registracijsku karticu koja je dola u paketu. Ova Business Reply Card
ini vas pogodnim da primite nekoliko vanih povlastica. Jednom
registrirane, moete koristiti Top Speed Tehnical Support usluge, i
automatski primate nove produkte najave i suvremene opreze.
Tehnika podrka
Moete primiti neograniene slobodne tehnike podrke za Clarion za
Windovse na CompuServe Information Service. Jedne su povezane sa
CompuServe, utipkava se GO TOPSPEED. Djelatnici TopSpeed-a, isto kao
i TopSpeed Certified Support Partners (poznati kao Teem TopSpeed), e
odgovoritina vaa pitanja u kratkom vremenu. Dodatno ete dobiti
savjet i odgovore od drugih korisnika Clariona za Windovse. Mi snano
preporuujemo da nae muterije uzimaju prednosti ovog servisa.
Plaanje telefonske tehnike podrke je isto tako omogueno od strane
TopSpeed organizacije.Moete imati pristup naoj podrci plati-za-poziv
tako da nazovete (900)8840444.Mogue su brojne programske podrke
plaanja.Zovite TopSpeed Organizaciju servis za muterije na broj (800)
354-5444 ili (305)785-4555 za jo informacija.
Sustav topspeed fax retrieval
TopSpeed Organizacija takoer nudi muterijama pristup telefaxu za
vrlo este tehnike zahtjeve i marketing dokumente. Dokumenti na liniji
ukljuuju produkt broura, tehnike dokumente,ispisane artikle,liste
cijena, pa ak i suvremeni "Whats Hot" na produktima TopSpeed-a.
Za zahtijevanje specifinih dokumenata, biraj (305)785-4555, pritisni 53
i sluaj instrukcije FAX Retrieval Sustava. Menu je interaktivan i korisnoprijateljski.Prvi put onaj tko nazove moe zahtijevati listu dostupnih
dokumenata da pregledaju prije nego naprave selekciju.Tada moete ui
u ifru dokumenta i materijal e biti odmah uruen vama. Moete imati
pristup u sistem direktno preko vae FAX maine ili iz bilo kojeg izabranog
telefonskog broja.

Setup program
Instalacijski program, na disku jedne od vaih instalacijskih disketa, proiruje i
kopira Clarion za Windowse podatke na vau hard jedinicu.
Za sve mete operacijskih sustava, osigurava vam sa opcijama za instaliranje
brojnih komponenta, kao to su na primjer datoteke.
U Windowsima 3.x, pita se prije suvremenih PATH iskaza u vaoj
AUTOEXEC.BAT datoteci ukljuujui i direktorij Clarion za Windowse.
U Windowsima 3.x, su instalacijske Program Menager ikone za Clarion-ovu
razvojnu okolinu, DEBUGGER, Help files, i readMe datoteke.
U Windowsima 95, je instalirana Clarion razvojna okolina, Debugger,
Pomone datoteke i ReadMe datoteke ikone za Start Menu Program.
8

Instaliranje (Starting Setup)


Startanje Clariona za windowse
Za ukljuivanje Clariona za Windowse, locirajte Clarion for Windows ikonu
u Clarion for Windows programsku grupu i DVA PUTA KLIKNITE na nju.
Clarion za Windowse razvojne okoline pretpostavimo da je spreman da ponete
sa radom.
Nai ete brzog vodia u razvojne dijelove okoline - kao to su diJagram
alatne
reetke ikone u poglavlju etri.
Idite sada na poglavlje tri ove knjige da kreirate dvije impresivne aplikacije od rijenika podataka do povrnih prozora, do formiranih prozora, do
kombinacija povrnih i formiranih prozora - sve za manje od jednog sata.

QUICK START TUTORIAL


U Clarionu za Wimdows-e moete kreirati rjenik podataka i radnu
aplikaciju - bez kodiranja. Sve to trebate uiniti je definirati polja unutar
svoje datoteke i Quick Start Wizard e stvoriti kompletnu Windows aplikaciju za otprilike pet minuta ako znate dobro i brzo tipkati!
Vaa aplikacija ima proceduru auriranje (update) kojom se odrava
datoteka, pregled svih kljueva z sortiranje i onoliko izvjetaja koliko ima
kljueva.
Koritenjem Quick Start Wizard-a, za svako polje u datoteci treba samo
definirati ime, display format picture i kljune informacije, default-ne
vrijednosti su ukljuene za sve ostalo. Quick Start Wizard ini sve ostalo
umjesto vas.
U ovom poglavlju:
Koristit ete Quick Start Wizard za stvaranje korisnike datoteke i
aplikacije
za odravanje datoteke, zatim kompajlirati i pokrenuti program.
Koristit ete Quick Load - to je krai put kojim vam Clarion omoguava
brzo dodavanje datoteke rjeniku podataka.
Definirat ete veze izmeu dviju datoteka u editoru rjenika,
upotpunjene s
pravilima referencijalnog integriteta.
Koristit ete generator aplikacija da bi dodali funkcije aplikaciji
koristei jedan od Clarionovih Wizard-a.
Konano, koristit ete Application Wizard da stvorite drugu kompletnu
relacijsku aplikaciju iz istog rjenika podataka.
Sve ovo bi trebalo biti gotovo za 30 - 40 minuta - bez kodiranja s vae strane.
Do kraja ovog poglavlja imat ete dvije kompletne aplikacije za bazu
podataka, koje sadre dvije povezane datoteke.
Ako sve ovo moete uiniti sa najnunijim alatima, zamislite to sve
moete postii s ostalim alatima koje vam Clarion prua.
Ostala poglavlja e vas poduiti kako stvoriti aplikaciju iz nacrta
9

koristei editor rjenika, generator aplikacija i sve ostale alate nune za


stvaranje aplikacije.
Dobro doli!
Upotreba quick start wizard-a
Za poetak, kreirajte poddirektorij za svoju aplikaciju i nazovite ga
C:\ CW15\TUTORIAL To podrazumijeva da ste instalirali Clarion za Windows u
C:\CW15.
Ako ste koristili drugi direktorij, morat ete promijeniti instrukcije u
skladu s tim.
o ZAPONIMO RAD NA APLIKACIJI:
1. Iz Windows 3.1 File Manager-a, oznaite podditektorij CW15 i odaberite
File Create Directory. U polju Name utipkajte TUTORIAL, tada pritisnite
dugme OK. Vratite se u Clarion za Windows.
ILI
Iz Windows95 Explorer-a, odaberite File - New - Folder. U ulaznom polju
koje se pojavi utipkajte TUTORIAL, zatim stisnite ENTER.
Vratite se u Clarion za Windows.
2. Odaberite File - New. Pojavljuje se dijalog kutija New. To je standardna Open
File dijalog kutija za Windows-e, koja vam doputa da promijenite direktorij i
utipkate ime datoteke.
(SLIKA New)
3. Selektirajte tabom Application.
4. Selektirajte \CW15\TUTORIAL direktorij iz liste Directories.
5. Utipkajte QWKTUTOR u polje File Name. Quick Start Wizard koristi ovo
ime i za ime aplikacije i za ime rjenika. Ovo stvara QWKTUTOR.DCT
(datoteku rjenika podataka) i QWKTUTOR.APP (aplikacijsku
datoteku).
6. Ukljuite opciju Use Quick Start Wizard, tada stisnite dugme Create.
Pojavljuje se dijalog kutija Clarion Quick Start Wizard.
(SLIKA Clarion Quick Start)
o DEFINIRAJTE PODATKOVNU DATOTEKU
1. U polju Data File Name utipkajte COSTUMER i pritisnite tab. Quick Start
Wizard koristi ovo ime kao ime podatkovne datoteke. Moete primijetiti da
uzima prva tri slova, CUS, i smjeta ih u polje Prefix. Prefix stvara jedinstvena
imena polja u viestrukim datotekama koje dijele ista uobiajena imena
polja.
2. Pritisnite tab da prihvatite CUS kao Prefix. Zatim, izaberite File Driver. Ovo
10

polje je default-om postavljeno na TOPSPEED (jedna od dvije Clarion.ove


sistemske datoteke).
3. Pritisnite tab da prihvatite TOPSPEED kao File Driver. Ovo vas vodi u list box
(dijalog kutiju) za upis gdje definirate polja. Upozorenje: Pod Windows-ima 3.1
morate imati SHARE.EXE ili Windows VSHARE.386 driver spreman za
koritenje TopSpeed file driver-a.
4. Utipkajte CustNumber u prvi red stupca Field i pritisnite tab. Ovo stvara
ime polja CustNumber. Quick Start Wizard takoer koristi ovo ime za
default-ni prompt i zaglavlje stupca. Prompt se koristi kada smjestite
polje u prozor. Zaglavlja stupca se koriste u izvjetajima.
5. Utipkajte N4 u stupcu Picture, i stisnite tab. Ovo odreuje default display
picture za prozor i kontrolira izvjetaje koji implicitno deklariraju tip
podataka za Quick Start Wizard. U ovom sluaju tip podataka je
DECIMAL, polje koje se sastoji od 4 brojke.
(SLIKA Clarion Quick Start)
6. U stupcu Key stisnite DOWN-ARROW da biste dobili uvid u mogunosti.
Oznaite Unique, tada stisnite tab. To znai da e sa ovim poljem kao
komponentom biti stvoren jedinstven klju. Oznaivi Unique, vaa
aplikacija
e osigurati da svaki korisnik ima poseban broj. Quick Start Witard stvara
preglede i izvjetaje na osnovu svakog stvorenog kljua. Ovaj klju e se
provlaiti kroz sve dokumente sortirane po CustNumber-u. Kursor se
automatski pozicionira na idui red doputajui vam da definirate idue
polje.
7. Utipkajte Company u stupcu Field i pritisnite tab. Ovo stvara polje pod
imenom Company koje e biti koriteno kao ime poduzea korisnika.
8. Utipkajte S20 u stupac Picture i stisnite tab. Ovo odreuje default-ni
display
picture z akontrolu prozora i izvjetaja. U ovom sluaju tip podataka je
STRING polje od 20 znakova.
9. U stupcu Key stisnite DOWN-ARROW da biste vidjeli mogunosti,
Oznaite
Duplicate i stisnite tab. Ovo odreuje da e biti stvoren klju koji e
doputati dupliciranje ulaznih podataka. To vam doputa da imate dva
korisnika sa istim imenom poduzea.
10.Zavrite definiranje datoteke kreiranjem preostalih polja u skladu s ovom
tablicom:
FIELD
FirstName
LastName
Address
City
State
ZipCode

PICTURE
S20
S20
S20
S20
S2
P#####P

KEY
(no key)
(no key)
(no key)
(no key)
(no key)
Duplicate

Moete primijetiti da je picture (P#####P) odreen za polje potanskog


11

broja. To je uzorak picture koji formira mjesta za peteroznamenkasti


U.S. potanski broj.
o ZAVRITE QUICK START WIZARD I STVORITE APLIKACIJU
1. Kada ste definirali sva polja pritisnite OK dugme. Quick Start Wizard da prvo
pita da li ste definirali sva polja. Kada stisnete OK dugme, on tada stvara vau
aplikaciju i prikazuje Application Tree dijalog kutiju.
(SLIKA Application Tree)
Obratite panju na strukturu aplikacije. Na vrhu stabla je glavna (Main(Frame))
procedura koja stvara MDI (viestruki interface dokumenta) okvir aplikacije. Ova
procedura sadri menu koji poziva druge procedure.
Ispod glavne procedure stoji procedura PregledKorisnika (Browse) i s
njom povezana procedura AuriranjeKorisnika (Form). Browse pokazuje
podatke bazirane na sva tri kljua koje ste odredili pri definiranju polja.
Isto tako moete vidjeti izvjetaje bazirane na ovim kljuevima.
Aplikacija je kompletna i ne trai vie nikakve informacije od vas.
(SLIKA Clarion for Windows ikone toolbar-a)
2. Odaberite Project - Run (ili stisnite dugme za pokretanje (Run) na liniji alata).
Generator aplikacija stvara izvorni kod za vau aplikaciju, zatim je kompajlira,
povezuje, te ju izvrava.
estitamo vam, vaa aplikacija radi. Sada je moete pregledati. Unesite
nekoliko zapisa. Da biste to uinili odaberite Browse Files - Browse the
Costumer file i pritisnite dugme Insert. Utipkajte podatke o korisniku i
zatvorite formirani prozor. Pogledajte drugaije naine sortiranja u
Browse proceduri, izmijenite veliinu prikazanih stupaca i koristite
vodoravnu scroll bar liniju da biste pregledali podatke o poljima koja
se u listi ne pojavljuju inicijalno. Moete tampati izvjetaje ako elite.
Kad ste zavrili izaite iz aplikacije. Moete pokuati pokrenuti
program iz File Manager-a ili Explorer-a, jer ne zahtijeva Clarion
okruenje za pokretanje.
3. Odaberite File - Exit za izlazak iz aplikacije.
(SLIKA Application)
Sada emo snimiti va rad i izii iz generatora aplikacija da bismo
promijenili rjenik podataka koji smo stvorili.
4. Odaberite File - Close i zatvorite generator aplikacija.
Modificiranje vaeg rjenika
U ovom dijelu napravit emo jednostavne modifikacije rjenika da bismo
dodali neke dodatne funkcije aplikaciji. Onemoguit emo poveanje
korisnikova broja svaki put kad dodamo neki zapis.
12

o KORISTITE EDITOR RJENIKA


1. Odaberite File - Open (ili stisnite File Open dugme na liniji alata). Pojavljuje se
Open dijalog kutija.
2. Odaberite Dictionary tab, oznaite QWKTOTOR.DCT datoteku i tada
stisnite Open dugme. Ovo e otvoriti rjenik podataka u editoru
rjenika.
(SLIKA Dictionary - QWKTUTOR.DCT 1.0)
3. Kada je oznaena datoteka Korisnik, stisnite Field/Keys dugme.
Field/Key Definition kutija se pojavi prikazujui sva polja i sve kljueve u
datoteci u dva tab-a.
(SLIKA Field/Key Definition Costumer (QWKTUTOR.DCT)
4. Selektirajte Keys tab, kliknite na KeyCustNumber da ga oznaite i tada
stisnite dugme Properties. Pojavljuje se Edit Key Properties dijalog kutija.
(SLIKA Edit Key Properties)
5. Selektirajte Attributes tab, ukljuite Auto Number kutiju, i zatim stisnite OK
dugme. Auto Numer upuuje generator aplikacije na dodavanje koda
vaoj aplikaciji, da automatski povea vrijednost zadnje komponente
kljua polja, osiguravajui njegovu jedinstvenu vrijednost za svaki
zapis.
6. U Field / Key Definition dijalog kutiji stisnite dugme Close.
7. Stisnite dugme Close u Dictionary dijalog kutiji. Kada bude spreman pritisnite
Yes dugme da snimite datoteku rjenik.
To je sve to trebate uiniti. Slijedee to emo napraviti je ponovno
generiranje aplikacije da unesemo nae izmjene.
Auriranje aplikacije
Promjena koju smo napravili u rjeniku automatski se unosi u program
kada ponovo generirate izvorni kod.
Otvorit emo aplikaciju; ovaj put upotrebljavajui Pick List.
o Upotrijebite Application Generator.
1. Izaberi File - Pick (ili pritisni dugme na toolbar).
Pick ispisuje listu nedavno upotrebljenih datoteka. To nam otvara
mogunosti za ponovno otvaranje datoteka.
SLIKA Pick
13

2. Selektirajte Application tab, highlight c:\cw 15\tutorial\qwktutor.app, zatim


pritisnite Select tipku. Vaa aplikacija je otvorena.
3. Izaberite Project - Run (ili pritisnite Run tipku u toolbaru).
Application Generator stvara preinaeni kod za vau aplikaciju zatim
kompajlira veze i ishode. Dok se vaa aplikacija uitava uzmite par
minuta za unoenje testa podataka.Zapazite da svaki put kad dodate
novog kupca, CustNumber polje automatski se poveava. Kad ste
zavrili, moete spremiti program i izai iz Application Generator.
4. Izaberite File - Exit za izai iz aplikacije.
5. Izaberite File - Close za zatvoriti Application Generator.
Slijedee, dodat emo drugu srodnu datoteku rjenika podataka.
Dodavanje datoteka s brzim uitavanjem
Moete dodati datoteku rjeniku podataka brzo upotrebljavajui Quick
Load u Dictionary Editor. Brzo uitavanje je slino Quick Start Wizard definirajte polje (imena, slike i kljueve) - definicija datoteke je
predoena u rjeniku. Ova opcija je dostupna svaki put kad dodate novu
datoteku rjeniku. Ovoj sekciji dodat emo datoteku da bi sauvali
telefonske brojeve za kupce. To e nam dopustiti da nam stane to vie
telefonskih brojeva za svakog kupca.
o Upotrijebite brzo uitavanje u kombinaciji s Dictionary Editorom.
1. Izaberite File - Pick (ili pritisnite Pick tipku na toolbaru).
2. Selektirajte Dictionary tab, highlight c:\cw 15\tutorial\qwktutor.dct, zatim
pritisnite Select tipku. Dictionary Editor dijalog se ispisuje.
3. Pritisnite tipku Add File. Dijalog se ispisuje, Do you want to use Quick Load?
slika ADD FILE
4. Pritisnite tipku Yes. Dijalog za Quick Load se pojavljuje. Zapazite da je
vrlo slino Quick Start Wizard dijalogu.
slika CLARION QUICK LOAD
5. Selektirajte Data File Name polje, upiite telefon i pritisnite tab.
6. Pritisnite tab za prihvatiti PHO kao Prefix. Zatim morate izabrati File driver.
7. Pritisnite tab za prihvatiti TOPSPEED kao File Driver. To e vam otvoriti
listu gdje definirate polja.
8. Upiite CustNumber u prvi red polja Field i pritisnite tab. To stvara polje
14

zvano CustNumber. To polje je veza za CustNumber polje u datoteci


kupac. Upotrebljavajui isto ime olakavamo vezu dvaju polja . U
stvorenom kodu dodavajui prefiks ili ime datoteke polju stvara
jedinstveno ime za polja istog imena u odvojenim datotekama.
9. Napiite N4 u Picture stupac i pritisnite tab.
10.U Key stupcu pritisnite strelicu dolje za ispisivanje mogunosti. Ovo
ispisuje klju koji doputa dupliciranje ulaza ne doputajui da imate
vie od jedne snimke za svakog kupca.To vam doputa da stvorite
vie veza izmeu dvije datoteke. Kursor je smjeten u slijedei stupac
doputajui vam da definirate slijedee polje.
11.U Field stupcu u slijedeem redu upiite Area i pritisnite tab.
12.U Picture stupcu upiite P(# # #)P pritisnite tab dva puta, za prijei na
slijedee polje. To formira polje tri digitalna polja okruena
zagradama.
13.Zavrite datoteku kreiranjem preostalog polja pratei ovu tablicu:
FIELD
Phone
Description

PICTURE
P### - ###P
S 20

KEY
(no key)
(no key)

14.Nakon to ste definirali sva polja pritisnite OK. tipku . Quick Load ispisuje da li
ste zavrili s ispisivanjem. Kad pritisnete OK tipku zatim kreira vau
datoteku i dodaje ju rjeniku.
Dodavanje veze
Oito elimo da datoteku telefona sainjavaju brojevi kupaca. To znai
da mora biti veza izmeu dvije datoteke. U ovom sluaju kupac moe
imati puno telefona pravei One to Many vezu. Da bi definirali vezu
moramo povezati datoteke zajedno u rjeniku da bi obezbjedili
Application Generator informacijama potrebnim za ulaz vezanih
snimaka.
o Postavite vezu za dvije datoteke.
1. Highlight kupac u File listi, zatim pritisnite Add Relation tipku. New
Relationship Properties dijalog se pojavljuje. To je mjesto gdje definirate vezu.
SLIKA New Relationship Properties
2. Provjerite da Type polje je namjeteno na 1: MANY.
3. U Primary Key polju pritisnite strelicu dalje za ispisivanje izbora KeyCustNumber zatim pritisnite tab.
15

4. U Related File polju pritisnite strelicu dolje za ispisivanje izbora, izaberite


Phones zatim pritisnite tab.
5. U Foreing Key polju pritisnite strelicu dolje za ispisivanje izbora
KeyCustNumber i pritisnite tab.To je klju na datoteci telefona koja e
biti upotrebljena za povezivanje dviju datoteka, zatim, povezanost
polja u kljuevima mora biti planirana da bi Application Generator
mogao znati tono koje polje u dvije datoteke su povezane. Poto smo
uzeli identina imena polja, to je lako.
6. Pritisnimo Map by Name tipku. Povezana polja izmeu dvije datoteke
ispisuju se na dvije Field Mapping liste.
SLIKA New Relationship Properties
o Postavite referencijalni integritet
1. Izaberite Cascade iz On Update liste u Referential Integrity Constraints
grupi.
2. Izaberite Restrict iz On Delete liste u Referential Integrity Constraints grupi.
Generirani izvor kodova e automatski sadravati potpunost datoteka.
Peto poglavlje objanjava daljnji rad.
3. Pritisnite OK za zatvoriti New Relationship Properties dijalog.
4. Izaberite File - Save, ili stisnite Save tipku na toolbaru za snimiti rijenik
podataka.
5. Izaberite File - Close, ili stisnite Close tipku u Dictionary dijalogu za
zatvoriti rjenik.
Procedure wizards
U prilog Quick Start Wizard Clarion for Windows ima proceduru Wizards
koja kreira Browse, Form ili Report procedure za as tako lako kao to
Quick Start Wizard kreira cjelokupan rjenik i aplikacije. Browse, Form i
Report Wizards su dostupni svaki put kad kreirate novu proceduru u
postojeoj aplikaciji.Sad emo upotrijebiti Browse Wizard da kreiramo
proceduru za telefonske datoteke.
o Uitavanje Application Generator.
1. Izaberite File - Pick (ili pritisnite Pick tipku na toolbaru).
2. Izaberite Application tab highlight c:\cw 15\tutorial\qwktutor.app, zatim
pritisnite Select tipku, Application tree dijalog se pojavljuje.
o Izmjena Browse procedure.

16

1. Pozicioniraj se na Browse kupac u Application tree zatim pritisnite desnu


strelicu za ispisivanje podmenija. Ovaj meni nam doputa direktan ulaz u
Application Generator bez da morate stvarati Procedure Properties dijalog.
SLIKA Application Tree
2. Kliknite na Window. Window Formatter se pojavljuje. Ovdje moete vizualni
izbrisati prozor i njegove kontrole.
3. Izaberite Control - Push Button ili kliknite OK tipku
4. Kliknite blizu donjeg lijevog kuta prozora da bi uvrstili novi Button Control ispod
kockica.
5. Sa novim selektiranim Buttonom pritisnite desnu strelicu za podmeni, a zatim
izaberite Properties da bi ste pozvali Button Properties dijalog.
6. Upiite Phones u Parameter polje. To mjenja tekst koji se pojavljuje na
Buttonima.
7. Selektirajte Action tab. Ovaj tab je mjesto gdje specifirate ono to
kontrola radi. U ovom sluaju elimo pozvati Browse proceduru da
ispie telefonski direktorij u ve prethodno snimljenu datoteku kupac.
8. Izaberite Call a Procedure iz When Pressed liste. Procedure definicije grupe
pojavljuje se na tablici.
9. Upiite BrowsePhones u polje Procedure Name i pritisnite OK. Time
imenujemo proceduru koja se poziva kada korisnik pritisne button.
10.Izaberite Exit! iz izbornika da bi se vratili u Application Tree i odgovorite sa
Yes na pitanje da li elite spremiti promjene u prozoru.
BrowsePhones procedura prikazana je u stablu (tree) kao To Do.
Upotreba browse wizard-a
Procedura Wizard generira cijelu proceduru na osnovu minimum informacija koje
vi unosite kao odgovore na seriju Wizard-ovih pitanja koja trae jednu po jednu
informaciju.

q Poloaj Control Template-a


1. DOUBLE-CLICK na proceduru BrowsePhones (ToDo). Pojavljuje se prozor
Select Procedure Type. Time se dozvoljava izbor predloka (template)
procedure, koji koristi Application Generator da bi kreirao izvorni kod.
2. Pozicionirajte se na Browse procedure Template, ukljuite opciju Use
Procedure Wizard box i pritisnite Select button. Ukljuivanje opcije Use
Procedure Wizard je klju za upotrebu procedure Wizards.
17

(SLIKA PROZORA SELECT PROCEDURE TYPE)


3. Nakon to proitate prvu informaciju iz Wizard dialog-a, pritisnite Next
za poetak kreiranja procedure.
(SLIKA PROZORA BROWSE WIZARD - FILE ACCESS)
4. Upiite Phones u prostor za unos (ili pritisnite button i izaberite iz liste) kao
odgovor na pitanje Koju datoteku elite pretraiti? i pritisnite Next button.
(SLIKA BROWSE WIZARD - KEY SEQUENCE)
5. Iskljuite opciju Browse using all record keys, pritisnite button, izaberite
PHO:KeyCustNumber iz liste i pritisnite Next. Time se odreuje klju
upotrijebljen za sortiranje izvjetaja za prikaz u list box-u.
6. Upiite UpdatePhones u polje za upis u prozoru Update Procedure i pritisnite
Next. Time se imenuje procedura koju e Browse Wizard kreirati da bi
se aurirali zapisi iz datoteke Phones.
(SLIKA BROWSE WIZARD - UPDATE PROCEDURE)
7. Ukljuite opciju Call update using popup menu i pritisnite Next. To daje
korisnicima opciju koritenja popup menija (pojavljuje se kada kliknemo desnom
tipkom mia u list box-u) za pozivanje procedure za auriranje.
(SLIKA BROWSE WIZARD - CALL UPDATE PROCEDURE)
8. Iskljuite opciju Provide buttons for child files i pritisnite Next.
(SLIKA BROWSE WIZARD - PARENT FILE HANDLING)
9. Odaberite radio button Assume that the parent record is active i pritisnite
Next. Time se osigurava da je procedura ureena tako da prikazuje
samo one zapise iz datoteke Phones koji su povezani sa zapisima iz datoteke
Costumer upravo u vrijeme poziva procedure.
(SLIKA BROWSE WIZARD - SELECT BUTTON)
10.Iskljuite opciju Provide a Select button i izaberite Next. Kako se ova
procedura nee koristiti za pregled zapisa na ulaznom polju, Select
button je nepotreban.
11.Izaberite Finish button da bi prihvatili kao default opciju Overwrite existing
procedures. Browse Wizard sada kreira Browse proceduru za datoteku
Phones i s njom povezanu prijavljenu (Form) proceduru za odravanje zapisa iz
datoteke Phones. Kada zavri, pojavljuje se prozor nove Browse procedure
Procedure Properties.
(SLIKA PROCEDURE BROWSEPHONES PROPERTIES)
18

12.Pritisnite OK button za povratak u Application Tree.


(SLIKA APPLICATION TREE)
Opaamo dvije nove kreirane procedure u Application Tree.
13.Izaberite Project Run (ili pritisnite Run button na toolbar-u). Sada imamo
aplikaciju s kompletnom relacijskom bazom podataka, ija obiljeja su
viestruk, browse raspored na datoteci parent (roditelj), browsing na
datoteci child (potomak) koji je ogranien na raspon slogova
povezanih sa slogom parent i kodom referencijalnog integriteta, da bi
osigurao da vaa baza podataka ne moe nikada biti izmijenjena sa
nekim slogom child, odnosno siroetom (orphan).
Pritisnite novi button Phones i dodajte ne koliko slogova u datoteku Phones.
14.Kada ste zavrili sa pregledavanjem vae nove aplikacije, izaberite File Exit
za povratak u Clarion for Windows.
15.Izaberite File Close za zatvaranje Application Generator-a.
Application wizard
Quick Start Wizard i Browse, Form i Report Wizards su moni alati.
Meutim, Clarion for Windows ima i druge, ak i monije, Wizarde u
svojoj ponudi super - produktivnih alata.
Application Wizard stvara kompletnu aplikaciju na temelju postojanja rjenika
podataka. Rjenik podataka moe sadravati onoliko datoteka koliko
elite. Datoteke trebaju biti potpuno definirane, sa svim vezama meu
datotekama, referencijalnim integritetom i integritetom podataka,
pravilima koje vi definirate putem Dictionary Editora.
Da bi se olakala upotreba Application Wizard-a, Dictionary Editor ima
deklarirane opcije za svaku datoteku, polje, i klju koje su izriito
kreirane za uzajamno djelovanje sa Application Wizard-om (i svim
Wizard procedurama) da bi vam omoguile.

o Upotreba Dictionary Editor-a za postavljanje Wizard opcija


1. Izaberite File Pick (ili pritisnite Pick button na toolbaru).
2. Selektirajte Dictionary tab, pozicionirajte se na c:\cw15\tutorial\
pritisnite Select button. Pojavljuje se Dictionary Editor dialog.

qwtutor.dct, i

3. Oznaite datoteku Costumer i pritisnite Field/Keys button.


4. Selektirajte Keys tab, kliknite na KeyCostNumber da bi ga oznaili i tada
pritisnite Properties button. Pojavljuje se Edit Key Properties dialog.
19

5. Selektirajte Options tab. Postavljanje na ovaj tab se uvijek koristi da bi se


specificiralo ponaanje Wizarda. Opcije u gornjoj polovici prozora koriste se sa
standardnim postavljanjem Template-a koje podrava Clarion. User Options
ulazno dijalog polje se koristi za dodavanje predloaka (template-a), pa vam
moe omoguiti da oblie odredite ogranienja ili opcije Wizards koje
nisu obuhvaene standardnim opcijama.
6. Ukljuite opciju Do not Auto-Populate This Key. Ukljuivanjem ove
opcije Application Wizard nee koristiti ovaj nain za kreiranje Browse
procedure za datoteku. Time se eliminira tab CUS:KeyCustNumber na Browse
proceduri datoteke Costumer.
(SLIKA EDIT KEY PROPERTIES)
7. Pritisnite OK button.
8. U dijalogu Field / Key Definition pritisnite Close Button.
9. Pritisnite Close Button u dijalogu Dictionary. Zatim pritisnite Yes button da bi
spremili datoteke rjanika.
To je sve to je potrebno. Sada e Application Wizard generirati
cjelokupnu aplikaciju.
Upotreba application wizard-a
1. Izaberite File New. Pojavljuje se New dialog.
2. Selektirajte Application tab.
3. Selektirajte \CW\TUTORIAL direktorij iz liste direktorija.
4. Upiite APPWIZ.APP u polje File Name.
5. Iskljuite opciju Use Quick Start Wizard i pritisnite Create button. Pojavljuje
se Application Properties dialog.
(SLIKA APPLICATION PROPERTIES)
6. Pritisnite button desno od ulaznog polja Dictionary File. Pojavljuje se Select
Dictionary dialog.
7. Oznaite datoteku c:\cw15\tutorial\qwktutor.dct i pritisnite OK.
8. Ukljuite opciju Application Wizard i pritisnite OK.
(SLIKA APPLICATION WIZARD)
9. Pritisnite Next button.
20

(SLIKA APPLICATION WIZARD - FILE USAGE)


10.Pritisnite Next button.
11.Pritisni Finish dugme. Aplikacijski Wizard kreira aplikaciju.
12.Izaberi Project Run (ili pritisni run dugme na toolbaru). estitamo!
Tvoja sljedea zavrna aplikacija radi. Sada je moe istraivati i
usporediti sa aplikacijom koju si ve kreirao.
to dolazi slijedee
Osim svih Wizard-a, Clarion za Windows-e stavlja vam na raspolaganje mnotvo
drugih produktivnih alata koje moete koristiti u Application Generator,
poevi od Control, Extension i Code Templates koji moe funkcionirati u
svakoj proceduri. Ovi alati rade modifikaciju i privikavanje procedure
isto tako jednostavno kao i koritenjem Wizards - i niti jedan od njih ne
zahtijeva od vas da piete bilo koji kod!
Podsjetnik u knjizi Getting Started vodi vas kroz kreiranje uobiajenog
ulaznog sistema od "eprkanja" bez upotrebe Wizarda. Ono vam nee
samo demonstrirati sve ostale alate, ve e vam pokazati koliko snage
imate kad napokon napiete va mali dio koda za prikaz neke "ne standardne"
funkcije.
Nastavite. Tek ste povrinski obradili Clarion za Windows-e, a ima toga puno vie!

RAZVOJNI TOK
Clarion za Windows-e je posve nov nain za kreiranje Windows aplikacija
- kao aplikacija koju ste upravo kreirali u kraem vremenu
demonstriranja! Svejedno Clarion je puno vie od Wizarda.
Zaklada Clariona je etvrta generacija, poslovno orijentiranog
programskog jezika. Kao pribor u Clarion za Windows-e, jezik automatski
rukuje ekstra "kuanskim", kao to je provjera aplikaciske poruke niza.
Mnogi drugi Windows programski jezici zahtjevaju mnogo linija i kodova
i kompliciraju sluajeve izjava za rukovanjem s toliko izbora. Evidentirani
drive nezavisan je i ugraen u jezik; Clarion za Windowse sadrava
dinamino povezani driver biblioteke za popularni PC database formate.
Na vrhu Clarion jezika je razvijeni ambijent - komplet alata koji je specijalno
dizajniran za Rapid Application Development (RAD). Application
Development Flow karta na prijanjoj stranici grafiki ocrtava kako radni
djelovi razvoja okolinski se povezuju sa svakim kada koristite
Application Generator za razvoj svoje aplikacije.
Sada kada ste kreirali Quick Start Wizard aplikaciju i isprobali neke druge
Wizarde, ovo poglavlje pokazuje vam kako kreirati aplikaciju bez koritenja
Wizarda. Dokumentira kako Application Generator ties sve - Clarion jezike i sve
21

djelove razvojnog ambijenta.


Template driven programming
Clarionov Application Generator je "template driven". To znai da postoji
alat za promjenu osnovne potrebe template koji koristite za generiranje
koda. Clarion procedure, Control, Extension i Code Templates sve piu
izvor koda za vas, davajui vam bezgranino produktivnu stimulaciju.
Templates takoer pruaju mnogo benificija za objektivno orijentirano
programiranje, posebno odgovornog, bez puno uenja objektivno
orijentiranog jezika.
Clarion za Windows, template nije "jednovremenski" alat, ve je
kontinuirano interaktivni alat koji zahtijeva specijalnu informaciju
potrebnu za generiranje vaeg izvora koda. Promjenom informacije
uvjetujete template rezultat u razliitim izvorima koda koji e se
generirati kada sljedei put napravite aplikaciju.
Svi templates pohranjeni su u registriranom failu (REGISTRY.TRF). Ovaj fail
sadrava pisani izlazni kod i obradu strukture koju vi pohranjujete i
pretraujete. Moete promijeniti Clarion templates. Moete takoer
dodati treinu template, ili napisati va vlastiti, i koristiti ih kao dodatak i
zajedno sa defaults. Ovo radi Application Generator kao beskrajno rastezljiv
alat.
Za koritenje templates, kada ste kreirali novu proceduru identificirajte
Procedure template koja generira kod blizak zadai koju elite da se
izvri, zatim ga spremite sa razvojnim alatom. Ova Procedure template
sadri elemente kao to su u "browse windows" za editiranje jedne po
jedne snimke. Ako procedura za prozor sa menijem, meni akcije se
automatski dodaju stablu aplikaciske procedure i obiljeavaju "To Do",
kao to e biti svaki drugi poziv procedure.
Uobiajeni nain za poetak spremanja procedure je pozivanje jednog
od formatters Windiww i Report Formatters su vizualno dizajnirani alati
koji vam omoguuju "point i click" za dizajn prozora i izvjetaja. Samo
odaberite opciju iz toolbox-a, kliknite na mjesto zatim desna tipka mia za
modificiranje karakteristika.
Extension templates dodaju izvrne kodove koji poveavaju
funkcionalnost procedure. Svaki vam tipino daje instrukcije na ekranu o
informacijama koje treba utjeloviti radi funkcionalnosti aplikacije.
Drugi nain spremanja procedure je dodavanjem koda. Application
Generator raspolae sa tri "embed points": prije, za i nakon procedure i
za sve dogaaje prozor ili kontrole u proceduri se brinu da se generiraju.
Moete odabrati precizno logiku toku na kojoj elite izvrni kod, zatim
ju runo kodirati ili upotrijebiti Code templates da napie kod za vas.
22

Application Generator generira sve vae aplikaciske izvorne kodove iz


template-a i svih vaih snimanja.
Clarion za Windowse vam prua bogat izbor standardnih template-a sa
kojima moete brzo razviti aplikacije. Kao to vas poglavlje Quick Start
Tutorial uvodi u Wizards, ostatak prirunika Getting Started uvodi u
upotrebu Clarion's Templates u Application Generator za proizvodnju
bilo koje Windows aplikacije koja vam je porebna.
Korak kroz razvojno okruenje
Clarionovo razvojno okruenje sadri sedam glavnih djelova svaki od njih je
dostupan drugima. Kada upotrebljavate Application Generator, dugmad u
razliitim dialog boksevima - vodi u druge djelove. Application
Development Flow chart na poetku ovog poglavlja pokazuje kako
djelovi stupaju u interakciju jedan sa drugim i sa template registrom, sa
Application Generator u centru itavog procesa.
Ovaj odlomak osigurava opis svakog djela, po redu tako da tipian
programer koristei Application Generator moe se susresti. Svaki dio
dialog boksa koji programer popunjava za "opis" aplikaciske
funkcionalnosti za opis Application Generator.
Programiranje Clariona za Windowse jednostavno je "prolaz kroz" dialog
bokseve. Tu nema ovlatenih sekvenca u koje vi morate popuniti dialog,
ali morate kreirati neke fajlove prije drugih. Ako znate koji dialog ta
radi, to e vam pomoi raditi vau aplikaciju puno bre.
The Dictionary Editor
Podaci rijenika, podravani od rijenikog editora, sadre opis o
podatkovnim osnovama, ukljuujui njegove failove, polja, relacije i dr.
To je prvi fail koji kreirate kada odluite dizajnirati vau aplikaciju. Drugi
dio razvojne okoline koristi opciju koju ste postavili u rijeniku da vam
olaka obradu polja u dialog boksu i izvjetava vas o dizajnu. Application
Generator kreira kod, podrava obradu podataka temeljenu na tome
kako ste konstruirali Data rijenik.
Pokrenite novi rijenik sa File New komandom, tada selektirajte
rijeniki tab. To vas vodi do Dictionary dialoga. Definirajte svoju
aplikacijsku obradu podataka i imenuj u ovom dialogu. Pokazati e ti se i
relacija izmeu failova. Dugmad vas vodi do New File Properties, New File
Alias i New Relationship dialog.
Definira ime i file driver, za svaki data fail, jedan po jedan, u New File Properties
dialog. Takoer vam doputa da podesite opcije kao to je Threaded,
koji specificira svako provoenje povezanosti pristupa failu dobiva svoj
23

vlastiti record buffer. To je obino za MDI aplikacije.


U Field/Keys Definition dialogu, pritisnite Insert dugme za specificiranje
field-a, kljua i indeksa field-a.
Definirajte polje, njegov data tip i duinu u New Field Properties dialog. Moete
ak i predefinirati kontrol izbor kao to je provjera teksta.
Specificirajte komponente kljua u Filds tab u Edit Key Properties dialogu.
Clarion za Windows automatski gradi klju tono ak i ako je
specifikacija multifajlovskog tipa.
Generator aplikacija
Generator aplikacije generira "source" ili izvorni kod vae aplikacije koji
se bazira na proceduralnim templatima koje korisitite. Dozvoljava vam
da dodate globalne ili lokalne memorijske varijable i da uobliite control
i extension procedure te kodne template zajedno sa poloenim source
kodom. Generator aplikacije takoer omoguava pristup ostalim
dijelovima IDE-a kako bi se uobliio izgled i funkcionalanost prozora,
menia, izvjea i drugih elemenata korisnikog suelja.
(slika application properties)
Startajte novu aplikaciju sa naredbom new iz file menia (File New). Selektirajte
Application: ovo vam omoguava da postavite temelje ime aplikacije,
ime rijenika podataka, pomonu datoteku i aplikacijski template - sve u
Application Properties prozoru gdje se kreira .app direktorij te se prikazuje stablo
aplikacije.
(slika application tree)
Pogledajte i zadrite dijelove vae aplikacije u Application Tree (aplikacijsko
stablo) prozoru. Ovdje su hijerarhijski prikazane procedure vae aplikacije te
su naznaene one koje tek trebamo definirati sa "to do" tj. za napraviti.
Pritiskom na dugme dolazimo do prozora za selektiranje procedure
(Select Procedure Type).
(slika select procedure type)
Selektirajte proceduralni template za "to do" proceduru u prozoru izbora tipa
procedure. Na listi se pojavljuju proceduralni templati poput Browse (pregled) i
Form (formiranje). Sa select gumbom pristupamo prozoru generalnih obiljeja
procedure.
(slika procedure properties)
Prozor osnovnih obiljeja procedure od sredinje je vanosti prema svim
24

ostalim prozorima koji vam omoguuju da uobliite procedure tako da


vaa aplikacija radi posao koji od nje i oekujete. Pritiskom na data
gumb odredit ete varijable lokalne memorije.
(slika local data)
Definirajte i odredite poredak kojim program inicijalizira varijable lokalne memorije
prozoru podataka (data). Pritiskom na Insert gumb moemo definirati ime, tip
ili veliinu varijable u prozoru za nove generalije polja (New Field
Properties).
(slika select fields)
Odaberite datoteke, kljueve, usvojena imena i polja procedure te
kontrolni template pa e kontrole pristupiti u prozor sa selektiranim
poljima (Select Fields).
(slika embedded source)
Pritisnite Embeds gumb kako biste dobili Embedded Source prozor gdje
moete uvrstiti uobiajeni kod ili kodne template na prijanjim
lokacijama, prije i poslije procedure ili u prozoru za odreene dogaaje
polja. Odredite poloenu lokaciju i pritisnite Add gumb.
(slika tutoral.app)
Nakon to ste uopili proceduru koristei formater prozora, formater
izvjea i/ili tekst editor moete se vratiti u stablo aplikacije da
generirate i kompajlirate kod.
Formatiranje prozora (the window formatter)
Obino dizajniramo prozore i kontrole vae aplikacije, sve to korisnik
koristi, upravo u formatiranju prozora. On automatski generira izvorni
kod za elemente koje vi vizualno kreirate na zaslonu ekrana.
Vrlo je vjerojatno da ete prilikom koritenja generatora aplikacije pozvati
formatiranje prozora pritiskom Window gumba u prozoru generalija
procedure kako biste uobliili prozor ili prozor za komunikaciju (dialog
box).
(slika window formatter)
Prilikom formatiranja prozora vidimo prozor dok se ureuje. Kliknite u kutiju s
alatima (toolbox) a zatim klknite u prozor kako biste tamo smjestili novu
kontrolu.
Moete koristiti Preview gumb (pregled), kako biste vidjeli prozor onako
kako ega vidjeti korisnici.
25

(slika Window properties)


Svaki prozor i svaka kontrola u njemu ima odreeni dijalog koji
kontrolira njegov izgled i funkciju. Selektirajte prozor ili bilo to u njemu i
kliknite desnom tipkom mia da bi izabrali Properties (generalni podaci)
iz ponuenog menia. Taj dialog odreuje osnovne elementa kao to su
sistemski meni ili zaglavlje prozora.
(slika entry properties)
Tipian kontrolni dialog odreuje opcije kao to su labela, njenu poljnu
ekvivalentnu labelu kako bi se povezale u egzekutivnom kodu ili bilo
koji ulazni dijalog sa poljem ili imenom varijable tako da se odnose prema
sadraju.
(slika menu editor)
Odaberite Menu Menu Editor kako biste pozvali editor menia, ukoliko prozor
ima meni. Editirajte tekst menia i nove dijelove menia sa Item gumbom te
specificirajte funkciju odreene naredbe iz menia koristei Actions tab.
(slika menu editor 2)
Action tab prikazuje preduvjete za izvrne opcije. Za opciju iz menija potrebno je
imenovati proceduru koja se poziva tako da kad korisnik odabere komandu iz
menia da izvrava onu proceduru koju ste vi imenovali.

Formatiranje izvjea
(slika report formatter)
Formatiranje izvjea radi sa generatorom aplikacije na slian nain kao
i sa formatiranjem prozora. Vi postavlajte kontrole u pregrade tako da
prilikom startanja sklop za printanje procesira znakove koje ste vi
definirali tampajui polja onako kako ste ih, do detalja, definirali.
Editiranje teksta
Tekst editor je programerski editor sa svim funkcijama tako da je u
njemu mogue "runo" napisati izvorni kod. Vrlo je vjerojatno da e te
prilikom koritenja generatora aplikacije, pozvati tekst editor da bi
kreirali poloeni izvrni izvorni kod da bi odredili nain operiranja
procedure.
(slika text editor)
U editor su ukljuene i raznim bojama oznaene sintakse da bi se
26

olakalo identificiranje razliitih dijelova jezika Clariona, a za potrebe


editiranja. Tu ujedno postoji opcija pretraivanja teksta i mogunost
zamjenjivanja zajedno sa svim standardnim alatima za editiranje.
Editor formula
(slika formula editor)
Editor formula pomae vam da brzo generirate izraze koji rezultiraju
vrijednou dodjeljenoj varijabli. Editor se moe koristiti za kreiranje
udruenih polja (jednostavna dodjeljivanja) i
uvjetovana polja
(viestruka, meusobno iskljuiva dodjeljivanja bazirana na nekom uvijetu).
Projekt sistem
Generator aplikacije automatski kreira projekt za aplikaciju. Projekt
sadri kompajler i opcije za povezivanje, kao to je mogunost
ukljuivanja debug koda, optimiziranje izbora,datoteke sa eksternih nosioca
podataka itd.
(slika project editor)
Stablo projekta prikazuje datoteke izvornog koda, biblioteke i druge vanjske
datoteke vezane uz projekt. Pritiskom na Properties gumb moete odrediti
posebne opcije. Obino, prilikom kreiranja aplikacije korisrtei generator
aplikacije, pritisnut ete Make gumb da bi kompajlirali i povezali
aplikaciju. Jedini prozor za komunikaciju projektnog sistema s kojim ete
se susresti je Compile results prozor, koji dozvoljava pristup debageru.
Debager
Debagiranje programa obino podrazumjeva startanje programa i
ponavljanje njegova zaustavljanja kako bi se pregledale vrijednosti
razliitih varijabli. Debager sadri odreen broj prozora koji prikazuju
izvorni kod, sadraj varijabli, aktivne procedure i drugo.
(slika debugger)
Da biste vidjeli prozor izvornog koda, zatraite od projektnog sistema da
ukljui informaciju o debagingu u izvrnu datoteku (.exe), zatim startajte
debager pritiskom na Debug dugme u prozoru rezultata kompajliranja, ili u meniu
Project izaberete Debug. Najjednostavniji nain da debagirate vau
aplikaciju je da identificirate dio programa koji, po vaem miljenju, nosi
pogreku, uredite mjesto loma (breakpoint), koristei odgovarajui
prozor za dijalog, na odreenom mjestu koda. Onda moete startati
program i debager e stati na tom mjestu kako biste mogli pregledati
27

vrijednost varijabli. To e vam olakati pronalaenje greaka kako bi vaa


aplikacija bila savrena!

PLANIRANJE APLIKACIJE
Openito je pravilo: svaka minuta potroena na planiranje vae
aplikacije utedi vam deset kasnije. Ovo poglavlje informativno opisuje
planiranje procesa za aplikaciju koju kreirate. U stvarnosti, vjerojatno
ete kreirati, do sri funkcionalno, specifikacije za vau vanu aplikaciju.
ovaj neformalni opis definira:
Zadatke koje izvrava aplikacija.
Podatke koje aplikacija sadri i kako ih pohranjuje.
Kako korisnik rukuje sa aplikacijom, njegovo korisniko suelje.
Kao bazu za aplikaciju upuuju nas na tutorial aplikaciju koja koristi
rijenik podataka od upravo kreirane aplikacije putem Quick Start
Wizarda.Tako se itavi sistem suzuje na jednostavan naruba/unos
sistem, dok se rijenik podataka koristi za voenje rauna o klijenteli.
Zadaci aplikacije
Ova aplikacija sadri datoteke klijenatai rauna za Wibblz Wobbly
Widget kompaniju. Prvi je zadatak planiranja odreivanje jednostavno
onog to bi aplikacija trebala izvravati i predvianje onoga to je
kompanija zamislila da bi trebala izvravati.
Za potrebe tutoriala aplikacija je jednostavan naruba/unos sistem.
Klijenti obino telefonski dojave narube za jedan ili dva razliita tipa
proizvoda. Narubu prima prodava. Odsjek za razvoj izbacuje narubu
jo iste noi. Kada klijent poalje novac, raunovodstveni odsjek poalje
ek. Stoga aplikacija mora sadravati:
Ulazne dijaloge za uzimanje narube ili kasnije modificiranje podataka.
Pristup listi klijantele i s tim u vezi ulazni prozor za komunikaciju. Lista klijantele
se kreira sa Quick Start Wizardom, te se pohranjuje u datoteku klijenata.
Pristup listi OF WIDGET PART brojeva (elemenata) koje WIBBLY WOBBLY
proizvodi, iz ulaznog narudbenog dijaloga
Pretraivati WINDOWSE u potrazi za listama prodajnih transakcija
Ulazni dijalozi za odravanje liste elemenata
Printani izvjetaji

28

Podaci i datoteke podataka


Prvi zadatak u planiranju strukture datoteke je procjena koje podatke
aplikacija potrebuje i kako ih memorirati s minimalnom koliinom
dupliciranja.
Dobro upravljanje bazom podataka ukljuuje odravanje posebnih
zasebnih podatkovnih fajlova (datoteka) za svaki "ENTITET" ili grupu
diskretnih podatkovnih elemenata.
Podatkovni entiteti koje ova aplikacija sadri su:
KLIJENT
se
(CUSTOMER)
seli).Stvoreni

klijentovo ime i adresa, odnosno podaci o imenu i adresi, koji


mijenjaju samo u sluaju kada se klijent (mie,
su u QUICK START MENIJU. Zajedno s odnosnim telefon

fajlom.
NARUDBA
neophodnih pri
(ORDER)
informacije iz

osnovne informacije potrebne za sakupljanje podataka


printanju fakture (raun s popisom robe). Ona "trai"
drugih fajlova kao to su klijentovo ime i adresa. Kada
prodava uzima novu narudbu, dodaje zapis ovom
fajlu.

DETALJ
fakturi:
(DETAIL)

proizvod, cijena i koliina narueni za stavku na datoj

PROIZVODI
ukljuujui broj
(PRODUCTS)
promjena

informacije o proizvodima prodanim od kompanije,

varijabilna informacija za svaku narudbu. Iako ovo duplicira


podatak o cijeni u proizvod fajlu, mora se odravati
cijena u vremenu prodaje ovdje. Inae kad se povisi
cijena u proizvod fajlu bi to prouzroilo da se
ravnotea u detalj fajlu poremeti.

proizvoda, opisa cijena. Ovi se podaci mijenjaju samo kod


cijena ili kad se dodaje novi proizvod.

Klijent fajl (Kupac)


Ovaj fajl memorira (uskladituje) "konstante" podatke kao to su klijentovo ime i
adresa. Puno je efikasnije uskladiti ove podatke na jednom mjestu,
doputajui jednostavnu izmjenu pri promjeni informacija. Ovo isto tako
tedi prostor eliminirajui redudantne informacije o klijentu u narudbi
fajla; inae, ako bi postojalo tisuu naredbi za kompaniju xyz,
informacija o adresi bi se ponovila tisuu puta. Reduciranje zahtjeva
29

uskladitenja pomou memoriranja podataka samo jednim se naziva


NORMALIZACIJA. Podaci o klijentu zahtjevaju polje da se razlicito
identificiraju klijenti. Ime kompanije je neprikladno jer bi moglo doi do
dupliciranja. Moglo bi biti npr. viestruki zapis za klijenta nazvanog
"WIDGET DEPOT", ako ima viestruke lokacije.
QUICK START (brzi start) aplikacija vec unaprijed specificira da CUSTNUMBER
(broj klijenata) polje je AUTO-NUMBER (samo brojei) klju koji
automatski stvara i posprema jedinstvene brojeve klijenat.CUSTNUMBER
polje kao strani klju. I primarni klju je polje ili koombinacija polja koje
jednostavno identificira svaki zapis u fajlu podataka.Strani klju je polje
ili kombinacija polja u jednom fajlu ciji klju podaci moraju usporediti sa
primarnim kljuem zapisom u drugom fajlu. Zato to moe biti puno
narudbi za svaki klijentov broj, odnos izmeu fajla klijenata i fajla
narudbi mora biti jedan prema puno (1: many). Govorimo da je klijentov fajl
podataka roditeljski fajl, a da je narudba dijete fajl.
Telefonski fajl
Telefonski fajl memorira brojeve telefona - svaki klijent ih moe imati nekoliko.
Svaki zapis ukljuuje CUSTNUMBER polje koje ga povezuje sa fajlom
klijenta. Telefonski fajl isto tako ukljuuje polje teksta u kojem moemo
naznaiti dali je telefonski broj broj ureda, faksa, mobilni ili kuni broj.
Koristei se rijenikom podataka, mi emo specificirati da kontrola za
unoenje podataka za ova polja treba biti padajua lista sa izborima ve
unesenim.
Fajl narudbi
Fajl s podacima s narudbama skuplja informacije za svaku prodajnu
transakciju iz svih ostalih fajlova (kao sto je fajl klijenta). Zato to mnogo
osnovnog podataka u ovm fajlu biva printano "u zaglavnom" podruju
fakture, on se ponekad naziva ORDER HEADER (narudbeno zaglavlje).
Svaka prodajna transakcija zahtijeva jedan zapis u fajlu narudbe. Zapis
se odnosi na informaciju o klijentu pozivajui se na jedinstveni broj
klijenta. Zato to neki zapisi mogu se odnositi na jedan proizvod, a drugi
mogu se odnositi na 10, treba stvoriti posebni fajl detalja koji se poziva
na jedinstveni brij narudbe. Ovo stvara odnos jedan prema mnogo, se
fajlom narudbe kao roditeljskim, a fejlon detalja kao dijeten fajla.
Stvarno narueni proizvodi su identificirani pomou kodova proizvoda,
fajla detalja. Tako narudbeni zapis sadri broj klijenta koji ukazuje
natrag na podatke o klijentu (strani klju). I jedinstveni narudbeni broj
koji ukazuje na detalje. Treba se stvoriti vie - komponentski primarni
kju na dva polja. Tako da se jednostavno moze stvoriti pretrazivanje
sortirano pod brojem klijenta i faktora.

30

Fajl detalja
Fajl detalj memorira proizvode naruene putem njihovih proizvodnih
kodova (strani klju u fajl proizvoda). Njihovih individualnih cijena,
koliina svakog i porezne rate. Dodatno polje sadri broj fakture koje se
poziva na fajl narudbi u odnosu many to one. Fajl petlja duplicira
informacije o cijenama sa poljem sa fajl proizvoda, to je zbog toga to
se cijene mogu mijenjati.
Vano je da se polje sa cijenama spremi u polje fajl detalja odnosno
zapis zato jer ako se cijena povea 6 mjeseci dananje plaanje u
potpunoj fakturi bi moglo reflektirati na ravnoteu otplate.
Fajl proizvoda
Fajl proizvoda sprema jedinstvene brojeve proizvoda, opise i
Kada prodava pogleda proizvod poimenu, pozove ga po
aplikacija umee broj proizvoda u zapis detalja. Proizvodni
primarni klju bilo koja dva proizvoda ne mogu imati isti kod,
proizvod mora imati svoj kod. Dodatno polje mora sadravati poreznu
proizvode.

cijene.
imenu
kod je
a svaki
ratu za

Referencijalni integritet
Referencijalni integritet se odnosi na proces provjeravanja svih
ponuda kljueva u datom fajlu, da se procijeni da li se napobitnost
odnosa roditelj - dijete pravilno odrava. Isto se tako odnosi na mjerenje
toga da li svi zapisi fajlova djece uvijek odnose pridruene zapisu
roditelje tako da se u bazi ne nau zapisi "siroadi". Zato to se podaci
za datu transakciju nalaze u
nekoliko fajlova, ova aplikacija mora forsirati referencionalni integritet.
Ovo je kritino, ipak mnogi razvojni alati za aplikacije baze podataka
zahtjevaju od korisnika da sam kodira procedure koje e o forsirati.
Uzorci generatora aplikacija implementiraju ovo automatski u
korisnikovu generiranom izvornom kodu kada se izaberu nekoliko opcija
u DATA DICTIONARY.
Posebno je vazno da aplikacija ne dozvoljava mjenjanje zapisa koji bi ostavilo
praznu ili dupliciranu vrijednost u polju primarnog kljua. Npr.mora se
ograniiti mogunost krajnjeg korisnika da mjenja zapis na nain koji bi
mogao prouzroiti duplicirani broj klijenta. Ako dvije razliite kompanije
dijele duplicirani broj klijenta moe se poslati raun krivoj kompaniji.
Kompletna shematska baza
Shema koja se nalazi ispod osigurava pregled cijele baze. Ako se to sagleda sa
31

stanovita prodajnog agenta koji prima telefonske narudbe, fajl narudbi


memorira tko naruuje, detalj fajl memorira to se naruuje, a fajlovi
klijenata i proizvoda memoriraju konstantne informacije o klijentima i
proizvodima.
SHEMA
Kod proizvoda se nalazi u opisu cijene. Kod klijenata se nalazi u imenu klijenata i
adresi. Drugi podaci, kao to su datum transakcije se pune automatski (koristi se
sistemski datum npr.).
Konano TUTORIAL e stvoriti potpuno novi rijenik podataka i kopirat
e se i lijepiti fajlove koje QUICK START definira za korisnika u novi
rjenik. Kao to to radi za stvaranje aplikacije koje korisnik stvara zato
to TUTORIAL je alat za uenje koji vie brine o tome kako pokazati to
CLARION za WINDOWS moe uiniti za korisnika. On nee stvoriti
potpuni sistem za unos. Ipak, korisnik e otkriti da neki dijelovi aplikacije
mogu biti vrlo pouni, tako da e brzo nauiti kako uiniti ekvivalentne
procedure u novoj aplikaciji.
Aplikacijski interfejs (meusklop)
Sljedei veliki zadatak prije kodiranja je planiranje korisnikog suelja.
Za poslovne aplikacije poput ove, jako je vano da prodava brzo locira
podatke koje treba hitno, tako da moe zabiljeiti prodaju i krenuti na
sljedei telefonski poziv. Tako, aplikacija treba postaviti sve vaznije
podatke "sprijeda" po standardu, i nijedan ulaz ili odravanje dijalokog
okvira ne bi trebalo biti udaljeni gumb ili meni komande vie. Dodatno
kompanije koriste mnoge druge WINDOWS aplikacije; pa bi bilo
neobino vano da sve aplikacije imaju standardni "izgled i osjeaj"
WINDOWS-a. Krajni korisnici ue poznato suelje puno bre. Da se
implementiraju zadaci koje aplikacija treba izvriti u konzistentnom
nainu s naim uputama moe se planirati u skladu s uputama dolje
navedenim. Iako sljedee nije nikakav nadomjestak pravim
programskim specifikacijama, koristit e za uvodne ciljeve.
Zato e se rukovati sa odravanjem za klijenta, proizvode i raunskim
fajlovima u razliitim formama, viestruko suelje dokumenta je
neophodno (MDI).
Aplikacija bi trebala imati TOOLBAR (lista sa alatima ), sa dugmadima
za uitavanje formi i za pretraivanje prozora (WINDOWS- a).
Da se odri konstantan "izgled i osjeaj", glavne izbornike e biti
FILE,
EDIT, INSERT, VIEW, HELP.FILE izbornik pristupa procedurama printanja i
izlaza.
EDIT izbornik poziva forme dijaloke koje se koriste pri editiranju
trenutnog zapisa (ako je osvjetljen). Ovo duplicira dugmad u
standardnim pretraivakim procedurama, ali su oni nezaobilazni
32

jer su standardni aplikacijski izbornici u WINDOWS-ima.


INSERT izbornik dodaje ili ubacuje novi zapis u fajl s podacima.
VIEW izbornok sadri procedure za traenje fajlova.
WINDOW i HELP izvravaju standardne zadatke.
Kada se dodaju nove narudbe, prodavai bi trebali moi odabrati
klijenta i
proizvod iz te liste. Primjereni podaci u adrese, opisa
proizvoda i cijene bi se trebali automatski upisivati.
Sada kada je opisivanje aplikacije gotovo, korisnik je spreman zapoeti
rad. Prvi korak je stvaranje rijenika podataka.

STVARANJE RIJENIKA PODATAKA


Ovo poglavlje pokazuje kako :
Stvoriti novi rijenik podataka
Kopirati i prilagoditi definicije fajlova putem QUICK START rijenika
podataka na nove fajlove / u nove fajlove
Povezati fajlove (staviti ih u meusobnu ovisnost) te specificirati
strogi referencijalni integritet.
Preformatirati kontrole WINDOWS-a za polja
Ovaj TUTORIAL pretpostavlja da su se obradila prethodna tri poglavlja QUICK
START TUTORIAL-a.
Fajlovi tutorial-a
Autori predlau da korisnik proradi cijeli TUTORIAL, pogotovo ako mu je Clarion
razvojno okruje putpuno novo iskustvo. Pristup Clarionovog aplikacijskog
generatora programiranja je dosta razliit od ostalih pristupa
programiranju za koje se nadamo da je korisnik detaljno obradio,
odnosno razjasnio sam sebi da se izvue to je mogue vie iz ovog
novog alata. Ako je korisnik ve iskusan Clarion programer, moda e
vie preferirati da jednostavno proui kompletne fajlove TUTORIAL-a
nego da prati korak po korak tutoriala. Kompletni fajlovi TUTORIAL-a se
nalaze u \CW 15\EXAMPLES\TUTOR direktoriju.
Stvaranje rijenika
Bilo kad stvarate aplikaciju, novu, prvo se formira rjenik podataka
(.DCT fajl). Iz rjenika podataka, aplikacijski generator nabavlja sve
potrebne informacije o podatkovnim fajlovima koje aplikacija koristi,
odnose i veze koje imaju jedni sa drugima, plus dodatne informacije kao to
su predefinirano formatiranje za kontrole.
33

Kada startate Quick Start, iako niste stvarno koristili Dictionary Editor,
prvo ste definirali rijenik podataka. To predstavlja Dictionary Editor.
o Unesite ime novog rijenika podataka.
1. Izaberite File New iz menija.
2. Selektirajte Dictionary tab i pretisnite Create dugme.
SLIKA
Pojavljuje se Dictionary dijalog. Caption bar pokazuje da je njegovo ime
UNNAMED.DCT.
o Imenujte i spremite novi file rijenik.
1. Izaberite File Save As iz menija. Pojavljuje se Save Dictionary dijalog.
2. Selektrirajte poddirektorij (npr., TUTORIAL, ispod Clarion for Windows
direktorija) u listi Directories.
3. Utipkajte TUTORIAL u File Name polju. Clarion for Windows dodaje
nastavak; TUTORIAL.DCT je puno ime file rijenika.
4. Pritisnite OK dugme da spremite file. Tako se sprema samo prazan file
rijenika. Caption bar sada pokazuje ime file-a.
SLIKA
o Specificiranje opisa rijenika:
1. Pritisnite Dictionary Properties dugme. Pojavljuje se Dictionary Properties
dijalog.
2. Selektirajte Comments tab i utipkajte Tutoral Dictionary u tekstualno polje.
Comments tab vam dozvoljava da slobodno upiete zabiljeke
(komentare) u vezi s rijenikom. To je opcionalno, ali vrlo korisno za
programere koji bi se morali vratiti u projekt radi odravanja nakon intervala od
mjesec dana.
Ovaj dijalog takoer osigurava i Password dugme, koji vam omoguava
da sprijeite druge da koriste taj rijenik. Nema potrebe da ga
unosite za tutorial, ali je to koristan detalj koji bi ste trebali upamtiti.
SLIKA
3. Zatvorite Dictionary Properties dijalog pritiskom na OK dugme.

34

Kopiranje datoteka iz jednog rijenika u drugi


Moete koristiti copy i paste komande za kopiranje file definicija iz jednog u
drugi rijenik.
o Otvorite drugi rijenik podataka, selektirajte file, i kopirajte (copy):
1. Izaberite File Pick iz menija i zatim selektirajte Dictionary tab.
2. Selektirajte QWKTUTOR.DCT file iz file liste, i pretisnite Select dugme.
Otvara se jo jedan Dictionary dijalog, koji sadri sve file definicije iz Quick
Start aplikacije.
SLIKA
3. Selektirajte Customer file iz Files liste.
4. Izaberite Edit Copy.
5. Pritisnite CTRL + F6, ili CLICK na TURORIAL.DCT Dictionary dijalog. To ini
Tutorial dictionary aktivnim rijenikom.
6. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog. Ova
operacija ne kopira samo file definicije; kopira i kljueve.
7. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog.
Kopiranje definicija telefonskog file-a
Sada koristei copy i paste komande kopirajte ostale file definicije.
o Selektirajte file i kopirajte:
1.
2.
3.
4.

Pritisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog.


Selektirajte Phones file iz Files liste.
Izaberite Edit Copy.
Pretisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog. To
ini Tutorial dictionary aktivnim rijenikom.
5. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog.
6. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog.
o Zatvorite Quick Start rijenik podataka.
1. Pritisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog.
2. Pritisnite Close dugme, ili izaberite File Close.
Povezivanje datoteka i postavljanje referencijalno integriranih opcija
Definicije file-a moete kopirati (ukljuujui njihove kljueve), ali Clarion
for Windows ne dozvoljava da kopirate relacije iz drugih direktorija.
35

Stoga, morate definirati veze izmeu ta dva file-a.


o Definiranje prve strane veze.
1. Oznaite (highlight) file Phones i pretisnite Add Relation dugme.
Pojavljuje se New Relationship Properties
dijalog. S obzirom da je
posljednje selektiran file bio Phones, postaviti emo vezu iz njegove
perspektive. Svaki korisnik (Customer) moe imati vie od jednog telefona.
Korisnik
(Customer) je roditelj (parent), u roditelj - dijete (parent - child)
relaciji. Stoga, je to MANY:1 veza, iz telefona (Phones) u korisnika (Customer).
2. Izaberite MANY:1 iz Type padajue liste u Relationship for Phones group
box-u.
3. Izaberite KeyCustNumber iz Foregin Key padajue liste.
SLIKA
To je klju koji odgovara primarnom kljuu u korisnikom (Customer)
file-u;
stoga, to je vanjski klju.
o Definiranje druge strane veze.
1. Izaberite korisnika (Customer) iz Related File padajue liste u Parent group
box-u.
2. Izaberite KeyCustNumber iz Primary Key padajue liste. U vezi roditeljdijete vanjski klju u djetetu (child) mora povezivati primarni klju s
roditeljem. Vidi poglavlje Using the Data Dictionary u User's Guide za
kratak pregled teorije o database vezi.
3. Pritisnite Map by Name dugme kako biste povezali polja.
Setiranje referencijalno integriranih veza
Setiranjem Referential Integrity constraints, moete specificirati kako
Application Generator upisuje izvorni kod koji e upravljati onim to e
se dogoditi ako krajnji korisnik bude htjeo modificirati vrijednost u
primarnom kljuu, ili u pokuaju da pobrie roditelja (parent) koji ima
djecu (children). Ukoliko ne setirate veze, krajnji korisnik moe ugroziti
integraciju database kreiranjem "orphan" zapisa na jedan od dva
naina: brisanjem roditelja s djecom, ili mirenjanjem vrijednosti povezanog
polja.
Za tutorial, treba specificirati da aplikacija treba uzeti posljednji zapis
vanjskog kljua, ukoliko je promijenjena vrijednost polja primarnog
kljua. Takoer, treba specificirati da se ne smije dozvoliti korisniku da
obrie roditelja koji ima djecu.
1. Izaberite Cascade iz On Update padajue liste u Referential Integrity
36

Constraints group box-u. Cascadiranje promjene znai da se aplikacija


proiruje na promjenu i posljednji zapis polja vanjskog kljua (child
file), za sve child file zapise povezane sa tim parent file zapisom.
2. Izaberite Restrict iz On Delete padajue liste. Restriktiranje brisanja
znai da aplikacija ne dozvoljava brisanje roditelja sa djecom.
SLIKA
3. Pritisnite OK i zatvorite New Relationship Properties dijalog. U ovom trenutku,
vrh vaeg Dictionary dijaloga izgreda ovako:
SLIKA
Pogledajte na male strelice lijevo od povezanog file imena u Related Files listi.
To pokazuje vrstu veze izmeu dva file-a. Dvostruke zagrade (>> ili <<)
pokazuju vie strana od jedne strane. Jednostruke zagrade (> ili <) pokazuju
jednu stranu s vie strana.
Stoga, Phones <<-> Customers oznaava da vie (Many) telefonskih file
zapisa mogu biti povezana s jednim (One) korisnikim file zapisom.
Spremite svoj rad
To je dobra navika da esto spremate svoj rad dok stvarate svoju
aplikaciju. Da biste to uinili, izaberite File Save, ili pretisnite Save dugme
na tool baru. To upisuje dictionary file na disk.
Predefiniranje window kontrolnih formata
Unutar rijenika podataka, moete specificirati default properties
window kontrola koje se odnose na polja koja definirate. Takoer,
moete specificirati odreena Data Integrity pravila setiranjem Validity
Checks i poetne vrijednosti polja.
o Pristup Field Properties:
1. Oznaite (highlight) korisniki (Customer) file u Files listi.
2. Pritisnite Fields/Keys dugme. Field/Key Definition dijalog vam dozvoljava
da editirate svojstva (properties) za bilo koje polje ili klju u file-u.
SLIKA
3. Selektirajte State (drava) polje, i pritisnite Properties dugme. Pojavljuje se
Edit Field Properties dijalog, koji pokazuje da su opcije Quick Starta
popunjene za to polje.
o Setirajte Validity Checks kako biste kreirali padajuu box listu za State
37

polje:
1. Selektirajte Validity Checks tab. Validity Checks tab vam omoguuje da
setirate brojane rangove za numerika polja, specificirajte da
vrijednost polja mora odgovarati drugom polju u povezanoj
vrijednosti, mora biti true ili false, i u ovom sluaju, da vrijednost polja
mora biti u listi koju ete specificirati u ovom dijalogu.
2. Selektrirajte Must be in List dugme.
3. Utipkajte sljedee u Choices box:
AL/MS/FL/GA/LA/SC
Vertikalni bar ( ) mora odvajati svaki izbor. Ovo definira stvarnu listu od
moguih izbora. U ovom sluaju, rijenik specificira da su za state
(dravu) mogue samo est sjevernih drava. Specificirajte da default
control za ovo polje bude padajua lista.
SLIKA
o Postaviti osnovne vrijednosti za opis polja:
1. Selektirati TAB Attributes.
2. Utipkati ,FL, u polje Initial Value (ukljuujui jednostruke navodnike).
Ovo specificira da svaki put kada se pojavi kontrola, njezina osnovna
vrijednost e biti ,FL,. Inicijalne vrijednosti mogu biti Time-savers za
krajnjeg korisnika; u tom sluaju, ako se veina korisnika locira na ,FL,,
on e snimati sakupljajui je sa liste svaki put kada se prikljui novi
korisnik. Jednostruki navodnici su nuni jer vi moete takoer imenovati
varijablu ili funkciju kao inicijalnu vrijednost. U tom sluaju, inicijalna
vrijednost je STRING konstanta.
o Specificiranje da osnovni prozor kontrole za opis polja treba biti
padajua lista:
1. Selektirati TAB Window.
Kada oznaite Must be in List opciju, osnovni prozor kontrole za polje je
OPTION struktura sa RADIO dugmima. To se pojavljuje pomou
praznine u Window Controls listi.
2. Selektirati Drop List sa Control Type liste.
Window Controls lista trenutno je spremna pokazati samo PROMPT i
LIST (kontrolnu) sa DROP atributima.
3. Pritisnite OK dugme za zatvoriti Edit Field Proporties okruje.
38

4. Pritisnite Close dugme za zatvoriti Field/Key Definition okruje.


5. Odaberite File Save, ili pritisnite Save button na izbirniku.
U slijedeem poglavlju, nauit ete kako dodavati datoteke u rijenik
podataka, poinjui od "totalne nule".

39

DODAVANJE DATOTEKA I POLJA


Nakon kopiranja i modificiranja dvije datoteke definirane u Qick Start
aplikaciji, spremni ste za dodavanje novih datoteka. U ovom momentu
samo Data Dictionary okruje za Tutorial rjenik treba biti otvoren.
Definiranje novih datoteka podataka
Specificiranje nivoa, prefiksa i opisa za datoteku podataka:
1. Pritisnite Add File dugme u Dictionary okruenju.
2. Kada se Add File okruenje pojavi sa pitanjem o koritenju Qick Load,
odaberite No dugme.
Pojavljuje se New File Proporties okruenje. Clarion koristi informacije koje ste
ostavili ovdje za strukturnu deklkaraciju FILE podataka.
3. Utipkajte Orders u Name polja, i zatim pritisnite TAB.
Polje Name prihvaa samo vaei Clarion nivo, koji identificira strukturu
podatka. Nivo moe ukljuivati samo slova, brojeve, i podcrtane ili u
koloni poredane znakove, i mora poinjeti sa slovom ili crtom za
podvlaenje ( _ ). Nakon pritiskanja TAB, "ORD" se automatski
pojavljuje u Prefix polju. Prefix je jedan nain da identificiranje polja
istog imena u razliitim datotekama podataka.
4. Utipkajte Order header file u Description polja. Opis se pojavljuje pored nivoa
datoteke podataka u Dictionary okruenju. Ako pritisnete Comments, moete
utipkati dugaak tekst opisa. Opis za to je datoteka kreirana, i zato
ste je kreirali, moe biti od velike pomoi kada se vraate u datoteku
za daljnje programiranje.
Izbor driver-a za datoteku:
1. Odaberite TOPSPEED sa File Driver padajue liste.
Ovo deklarira format datoteke kao TopSpeed format datoteke. Database
Drivers je dodatak u Users Guide koji ukljuuje informacije o tome koji
driver podrava koji tip podataka, uz ostale korisne informacije kao
to su osnovne ekstenzije datoteka podataka i/ili index datoteka.
Takoer ukljuuje tip i nain biranja ispravnog driver-a za posao, kao
npr. koji driver je najbolji kada aplikacija mora sadravati veliki broj
baza podataka ili koji driver je najbolji kada je brzina jedan od glavnih
uvjeta.
2. Pritisnite OK dugme.
Moete prihvatiti vrijednosti za sve druge opcije u okruenju. Okruenje se
zatvara, i Dictionary okruenje izlistava Orders datoteku sa "Order header file"
40

izlistanu pored njega.


Imenovanje datoteka Proizvodi i Stavke:
1. Pritisnite Add File dugme u Dictionary okruenju. Odaberite No kada vas pita
o koritenju Qick Load.
2. Utipkajte Detail u Name polje.
3. Utipkajte Order Detail file u Description polje.
4. Utipkajte DTL u Prefix polje. Mijenjajui postojei prefiks (od "DET" u
"DTL") moete svoj kod uiniti mnogo prihvatljivijim. Tri znaka su
odreena za prefiks, ali time niste limitirani.
5. Odaberite TOPSPEED sa File Driver padajue liste. Prihvatite vrijednosti
za sve druge opcije u okruenju.
6. Pritisnite OK dugme.
7. Pritisnite Add File dugme (ne koristite Qick Load).
8. Utipkajte Products u Name polje.
9. Utipkajte Products for sale u Description polje.
10.Utipkajte PRD u Prefix polje.
11.Odaberite TOPSPEED sa File Driver padajue liste.
12.Pritisnite OK dugme.
13.Odaberite File Save, ili pritisnite Save button na izborniku.
U ovom trenutku vae Dictionary okruenje izgleda ovako:
-slikaDefiniranje polja
Definiranje polja za datoteku NARUDZBA
Sada se vratite u datoteku podataka Orders i pripremite se za definiranje njenog
polja.
Otvaranje New Field Proporties okruenja.
1. Odaberite Orders datoteku na Files listi.
2. Pritisnite Fields/Keys... dugme.
3. Pritisnite Insert dugme da bi otvorili New Field Proporties okruenje.
Kada jednom zaponete sa definiranjem novog polja, prayno New
Proporties okruenje automatski se pojavljuje nakon to ste dodali svako
pojedino polje. To ubrzava proces dodavanja umnoenih polja. Nakon dodavanja
vaeg posljednjeg polja, samo trebate pritisnuti Cancel dugme na zaslonu
okruenja da bi se vratili u Field/Key Definition okruenje.
-slika-

41

Definirajte polje BrojKupca tako da odgovara polju u datoteci Kupci.


To vam omoguava da kasnije poveete datoteke.
1. Utipkaj BrojKupca u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
To odgovara standarnom tipu podataka koritenom u Quick Start Wizardu.
3. Utipkaj 4 u polje Characters.
4. Pritisni OK opciju.
Definirajte polje RedniBroj.
To vam omoguava jedinstvenu identifikaciju za svaki poredak.
1. Utipkaj RedniBroj u polje Name.
2. Odaberi SHORT od Tipova u padajuoj listi.
Time se odreuje short integer.
3. Pritisni OK opciju.
Definirajte polje IznosNarudzbe.
Tu se uva ukupan iznos poredaka.
1. Utipkaj IznosNarudzbe u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
SLIKA New field properties
3. Utipkaj 7 u polje Chars.
Ovo odreuje ukupan broj znamenki broja (na obje strane decimalne
toke).
4. Utipkaj 2 u polje Places.
5. Pritisni OK opciju.
Definirajte polje NarudzbaDatum.
Ovo uva datum kada je Narudzba uneen.
1. Utipkaj NarudzbaDatum u polje Name.
2. Odaberi LONG od Tipova u padajuoj listi.
Ovo je preferirana pohrana datuma kao tipa podataka za Top Speed driver.
3. Utipkaj d1 u polje ScreenPicture.
Screen picure odreuje standardni character format polja. U ovom
42

sluaju d1 oznaava MM/DD/YY format. Prostor za dijalog prenosi


reprezentaciju formatiranja dalje polju.
4. Odaberi Attributes tab i zatim utipkaj TODAY( ) u polje InitialValue.
Generirani izvor koda smjeta dananji datum u bilo koji control koji
doputa ulaz novog sloga, koristei ugraenu TODAY( ) funkciju.
5. Pritisni OK opciju.
Definirajte polje NarudzbaOznaka.
To

vam

omoguava

da

kratke

oznake

za

posebne

upute

postupcima.
1.Utipkaj NarudzbaOznaka u polje Name.
2.Odaberi STRING od Tipova u padajuoj listi.
3.Utipkaj 80 u polje Chars.
4.Pritisni OK opciju.
Zatvori New Field Properties izbornik i spremi svoj rad.
Sva su polja definirana i prozori izbornika New Field Properties trebao
bi biti aktivan.
1. Pritisni Cancel opciju da zatvori izbornik New Field Properties.
2. Pritisni Close opciju da zatvori izbornik Field/Key Definition.
3. Odaberi FileSave ili pritisni opciju Save na prostoru za alate.
Definiranje polja za datoteku STAVKE
Kod ove toke, vrati se na datoteku podataka Detalj i pripremi se da
definira njezina polja.
Otvori izbornik New Field Properties
1. Osvijetli Detalj u listi Files.
2. Pritisni Fields/ Keys... opciju.
3. Pritisni Insert opciju da otvori izbornik New Field Properties.
Definirajte polje RedniBroj.
To vam omoguava da poveete ovu datoteku s datotekom Narudzba.
1. Utipkaj RedniBroj u polje Name.
43

2. Odaberi SHORT od Tipova u padajuoj listi.


3. Pritisni OK opciju.
Definirajte polje BrojProi.
To vam omoguava da poveete ovu datoteku s datotekom Proizvodi.
1. Utipkaj BrojProi u polje Name.
2. Odaberi SHORT od Tipova u padajuoj listi.
3. Pritisni OK opciju.
Definirajte polje Koliina.
To uva broj proizvoda u poretku.
1. Utipkaj Koliina u polje Name.
2. Odaberi SHORT od Tipova u padajuoj listi.
3. Pritisni OK opciju.
Definirajte polje IznosProi.
Tu se uva jedinstvena cijena proizvoda u vrijeme svrstavanja.
1. Utipkaj IznosProi u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
3. Utipkaj 5 u polje Chars.
4. Utipkaj 2 u polje Places.
5. Pritisni OK opciju.
Definirajte polje Porezni Izdaci.
1. Utipkaj PorezniIzdaci u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
3. Utipkaj 2 u polje Chars.
4. Utipkaj 2 u polje Places.
5. Pritisni OK opciju.
Zatvori New Field Properties izbornik i spremi svoj rad.
1. Sva su polja definirana i prozori izbornika New Field Properties
trebao bi biti aktivan.
44

2. Pritisni Cancel opciju da zatvori izbornik New Field Properties.


3. Pritisni Close opciju da zatvori izbornik Field/Key Definition.
4. Odaberi FileSave ili pritisni opciju Save na prostoru za alate.
Definiranje polja za datoteku PROIZVODI
Kod ove toke, vrati se na datoteku podataka Proizvodi i pripremi se da
definira njezina polja. Ovo je poslijednja datoteka.
Otvori izbornik New Field Properties
1. Osvijetli Proizvodi u listi Files.
2. Pritisni Fields/ Keys... opciju.
3. Pritisni Insert opciju da otvori izbornik New Field Properties.
Definirajte polje BrojProi.
To vam omoguava da poveete ovu datoteku s datotekom Detalj.
1. Utipkaj BrojProi u polje Name.
2. Odaberi SHORT od Tipova u padajuoj listi.
3. Pritisni OK opciju.
Definirajte polje OpisProi.
To omoguava opis proizvoda .
1. Utipkaj OpisProi u polje Name.
2. Odaberi STRING od Tipova u padajuoj listi.
3. Utipkaj 25 u polje Chars.
4. Pritisni OK opciju.
Definirajte polje IznosProi.
Tu se uva jedinstvena cijena proizvoda .
1. Utipkaj IznosProi u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
3. Utipkaj 5 u polje Chars.
4. Utipkaj 2 u polje Places.
5. Pritisni OK opciju.

45

Definirajte polje Porezni Izdaci.


1. Utipkaj PorezniIzdaci u polje Name.
2. Odaberi DECIMAL od Tipova u padajuoj listi.
3. Utipkaj 2 u polje Chars.
4. Utipkaj 2 u polje Places.
5. Pritisni OK opciju.
Zatvori New Field Properties izbornik i spremi svoj rad.
Sva su polja definirana i prozori izbornika New Field Properties trebao
bi biti aktivan.
1. Pritisni Cancel opciju da zatvori izbornik New Field Properties.
2. Pritisni Close opciju da zatvori izbornik Field/Key Definition.
3. Odaberi FileSave ili pritisni opciju Save na prostoru za alate.

46

DODAVANJE KLJUEVA
Sada kada su sve datoteke definirane, moemo dodati kljueve. Quick
Start Wizard je ve defirao kljueve za dvije datoteke koje ste kreirali za
QwkTutor aplikaciju. U ovom poglavlju, definirat emo kljueve za
preostale datoteke.
Definiranje kljueva za datoteku Narudzba
Polja u datoteci Narudzba, koja su povezana s ostalim datotakama u bazi
podataka, su polja RedniBroj i BrojKupca.
SLIKA

Kupci Narudzba Detalj

Polje NarudzbaBroja povezano je s datotekom Detalj.


Ne bi trebalo biti duplih ili nultih rednih brojeva u datoteci Narudzba; to je
primarni klju.
Moe biti vie od jednog Detalj sloga koji odgovara pojedinom rednom broju.
Dakle, ovo je One to Many veza, sa datotekom Narudzba, roditeljem datoteke
Detalj.
Polje BrojKupca je povezano s datotekom Kupci.
Biti e duplih vrijednosti u polju BrojKupca, koje je povezano sa
slogovima u datoteci Kupci. Klju koji smo definirali u datoteci
Narudzba je sporedni klju. Klju datoteke Kupci ne doputa duplikate
i nule i definiran je kao primarni klju za datoteku.
Vie od jednog sloga moe postojati za svakog kupca, inei tada
Many to One vezu, sa datotekom Narudzba, djetetom datoteke Kupci.
Kreiranje primarnog kljua
Osigurajte da Dictionary dialog za Tutorial data dictionary bude aktivan.
Ime kljua
1. Osvjetlite Orders datoteku u Files listi.
2. Pritisnite Field/Keys.
3. Izaberite Keys opciju.
4. Pritisnite Insert.
Otvara se New Key Properties dialog.
5. Unesite KeyOrderNumber u polje KeyName.
47

Kao jednostavno pravilo imenovanja predlaemo povezivanje rijei


key i imena polja u imenu kljua (kao to je uinjeno u Quick Start
Wizardu).
6. Izaberite Attributes opciju, oznaite Require Unique Value i Primary
Key.
Ovim se klju specificira u primarni klju. Generirani poetni kod
automatski titi krajnjeg korisnika od umetanja ve postojeih
vrijednosti ili nula vrijednosti.
7. Oznaite Auto Number.
Generirani poetni kod poveava klju polja sa svakim novim zapisom.
SLIKA: New Key Properties
8. Izaberite Fields opciju.
Specificiranje polja kljua
1. Pritisnite Insert.
Otvara se Insert Key Component dialog, spreman da se specificira jedno
ili vie polja za klju.
2. Dvaput pritisnite na OrderNumber.
Ovim se dodaje polje na listu komponenti polja za ovaj klju.
SLIKA: New Key Properties
3. Pritisnite OK.
4. Otvara se prazan New Key Properties, spreman za specifikaciju drugog
kljua.
Definiranje vanjskog kljua
Sad se moe definirati CustNumber klju. U toj datoteci mogu biti
dvostruki podaci. To povezuje primarni klju u Customers datoteci i zbog
toga je vanjski klju.
1. Unesite KeyCustNumber u Name polje.
2. Izaberite Attributes opciju.
Klju dozvoljava dvostruke podatke pa ostavite sve u default okviru.
SLIKA: New Key Properties
3. Izaberite Fields opciju.
4. Pritisnite Insert.
48

Otvara se Insert Key Component dialog, spreman za specificiranje jednog


ili vie polja za klju.
5. Izaberite CustNumber i pritisnite Select.
6. Pritisnite OK.
Svaki put, kad zavrite novi klju, pojavi se prazan New Key Properties
dialog spreman za slijedei upis.
7. Pritisnite Cancel za zatvaranje praznog New Key Properties.
Field/Keys Definition za Orders datoteke sada izgleda ovako:
SLIKA: Field/Key Definition-Orders (TUTORIAL.DCT)
8. Pritisnite Close za zatvaranje Field/Key Definition.
9. Izaberite FileSave ili pritisnite Save button na tool baru.
Definiranje kljua za datoteku Stavke
Polja koja Detail datoteku povezuju s drugim datotekama u bazi podataka su
ProdNumber i OrderNumber.
Orders
CustNumber
OrderNumber

Detail
OrderNumber

Product

InvAmount

ProdNumber

ProdNumber

OrderDate

Quantity

ProdDesc

OrderNote

ProdAmount

ProdAmount

TaxRate

TaxRate

Polje OrderNumber povezano je s Orders datotekom.


U polju OrderNumber postojat e dvostruke vrijednosti, koje se odnose
na zapise u Orders datoteci. Klju koji definiramo u Detail datoteci je
drugi vanjski klju. Klju Orders datoteke ne dozvoljava dvostruke
vrijednosti i nula vrijednosti te ne dozvoljava onaj klju, koji je
definiran kao primarni klju.
Moe postojati vie Detail zapisa za pojedino ujedinjavanje OrderNumber. Zato je
veza sa. Detail datotekom, koja je dijete Orders datoteke Many to One.
Polje ProdNumber povezano je s Product datotekom.
Postojat e dvostruke vrijednosti u ProdNumber polju za zapise u
Detail datoteci. Moe postojati vie Detail zapisa, koji sadre pojedini
49

ProductNumber. Zbog toga je veza sa Detail datotekom, koja je


dijete Product datoteke Many to One.
Definiranje prvog vanjskog kljua
KeyProdNumber definira se tako da mogu postojati dvostruke ProdNumber
vrijednosti u ovoj datoteci.
1. Osvjetlite Detail datoteku u Files listi.
2. Pritisnite Field/Keys.
3. Izaberite Keys opciju.
4. Pritisnite Insert.
5. Unesite KeyProdNumber u polje Name.
6. Izaberite Attributes opciju.
Klju dozvoljava dvostruke vrijednosti pa ostavite sve u default
okviru.
SLIKA: New Key Properties
7. Izaberite Fields opciju.
8. Pritisnite Insert.
9. Izaberite ProdNumber i tada pritisnite Select.
10.Pritisnite OK.
Otvara se Key Properties dialog, spreman za specifikaciju drugog
kljua.
Definiranje drugog vanjskog kljua
1. Unesite KeyOrderNumber u polje Name.
2. Izaberite Fields opciju.
3. Pritisnite Insert.
4. Izaberite OrderNumber i tada pritisnite Select.
5. Pritisnite OK.
6. Pritisnite Cancel za zatvaranje New Key Properties dialoga.
Field/Key Definition dialog za Detail datoteku sada izgleda ovako:
SLIKA: Field/Key Definition - Detail (TUTORIAL.DCT)
7. Pritisnite Close za zatvaranje Field/Key Definition dialoga.
8. Izaberite FileSave ili pritisnite Save button na tool baru.

50

Definiranje kljua za datoteku Proizvod


Samo jedno polje u Product datoteci povezano je s drugom datotekom u bazi
podataka: polje ProdNumber.
ProdNumber polje povezano je sa Detail datotekom.
Detail
OrderNumber

Product

ProdNumber ProdNumber
Quantity

ProdDesc

ProdAmount

ProdAmount

TaxRate

TaxRate

U Product datotekama ne smiju biti dvostruke vrijednosti ili nula vrijednosti:


to je primarni klju.
Za svaki ProdNumber u zapisu moe biti vie Detail zapisa. To je veza
One to Many Product datoteke, koja je roditelj Detail datoteke.
Kreiranje primarnog kljua
Ime kljua
1. Osvjetlite Product datoteku u Files listi.
2. Pritisnite Fields/Keys.
3. Izaberite Keys opciju.
4. Pritisnite Insert.
5. Unesite KeyProdNumber u polje Name.
6. Izaberite Attributes opciju.
7. Oznaite Require Unique Value i Primary Key.
8. Oznaite Auto Number.
SLIKA: New Key Properties
9. Izaberite Fields opciju.
10.Pritisnite Insert.
11.Izaberite ProdNumber i tada pritisnite Select.
12.Pritisnite OK.
Otvara se prazan Key Properties dialog, spreman za specificiranje
drugog kljua.
51

13.Pritisnite Cancel za zatvaranje praznog Key Properties dialoga.


Field/Key Definition dialog za Product datoteku sada izgleda ovako:
SLIKA: Field/Key Definition- Products (TUTORIAL.DCT)
14.Pritisnite Close za zatvaranje Field/Key Definition dialoga.
15.Izaberite FileSave ili pritisnite Save na tool baru.

52

DODAVANJE RELACIJA
Sad kad su svi kljuevi definirani, moemo dodavati relacije. Kad
ste jednom definirali veze, moete dodati Validity Checks (validacije) za
polja koja mogu sadravati samo vrijednosti koje postoje u drugoj
datoteci.
To su posljednji koraci u kompletiranju rjenika.
Definiranje relacija za orders file (datoteku narudbi)
KeyOrderNumber (klju po rednom broju) povezuje Orders file sa
Detail file (datotekom stavke) u vezi One to Many
KeyCustNumber (klju po broju kupca) povezuje Orders file sa
Customers file (datotekom kupaca) u vezi Many to One
Definiranje prve veze.
1. Osvijetliti Orders datoteku u Files listi.
2. Pritisnuti Add Relation button.
Ponueni tip veze je 1:MANY, koji treba prihvatiti.
3. Izabrati KeyOrderNumber iz padajue liste Primary Key.
4. Izabrati Detail iz padajue liste Related File.
5. Izabrati KeyOrder Number iz padajue liste Foreign Key.
6. Pritisnuti Map by Name button.
Ovo uspostavlja vezu povezivanjem svih polja u dva kljua koji imaju
isto ime.
Formiranje ogranienja Referential Integrity (referencijalnog
integriteta).
1. Izabrati Cascade iz padajue liste On Update.
To upuuje template da generira kod da automatski aurira sve
povezane 'Child' (djecu) zapise kad se promijeni 'Parent' (roditelj)
vrijednost kljua.
2. Izdabrati Restrict iz padajue liste On Delete.
Ovo ne dozvoljava korisniku brisanje 'Parent' zapisa koji ima povezane 'Child'
zapise.
53

SLIKA.
3. Pritisnuti OK button.
Definiranje druge veze.
1. Osvijetliti datoteku Orders u listi Files.
2. Pritisnuti Add Relation button.
3. Izabrati MANY:1 iz padajue liste Type.
Primijetite da promptovi za Primary Key i Foreign key zamijenjuju mjesta.
To se deava zato jer definiramo veze sa sa gledita 'Child' datoteke.
4. Izabrati KeyCustNumber iz padajue liste Foreign key.
5. Izabrati Customer iz padajue liste Related File.
Ovo uspostavlja datoteku Customer (kupac) kao 'Parent' u danoj vezi.
6. Izabrati KeyCustNumber iz padajue liste Primary key.
7. Pritisnuti Map by Name button.
Formiranje

ogranienja

Referential

integrity

(referencijalnog

integriteta).
1. Izabrati Cascade iz padajue liste On Update.
Iako ne priznajemo ovu vezu sa stajalita 'Child' datoteke,
ogranienja

referencijalnog

integriteta

dalje

su

jo

uvijek

postavljena na akcije 'Parent' datoteke.


2. Izabrati Restrict iz padajue liste On Delete.
3. Pritisnuti OK button.
Sad bi Va Dictionary dijalog trebao izgledati ovako:
SLIKA.
4. Izabrati FileSave ili pritisnuti Save button na tool baru.
Definiranje veza za detail datoteku (stavke)
Svaki puta kada definirate vezu u Dictionary Editoru, definirate je za
obje datoteke istovremeno. Zato, nakon to definirate sve veze za
Orders datoteku, ostaje samo jedna veza koju treba definirati u tom
podatkovnom rjeniku.
Posljednja veza je za Detail daoteku.
KeyOrderNumber povezuje Orders datoteku sa Detail datotekom u vezi One to
54

Many. To ste ve definirali.


KeyProdNumber povezuje Detail datoteku sa Product datotekom u vezi Many
to One.
Definiranje veze.
1. Osvijetliti Detail datoteku u listi Files.
2. Pritisnuti Add Relation button.
3. Izabrati MANY:1 iz padajue liste Type.
4. Izabrati KeyProdNumber iz padajue liste Foreign Key.
5. Izabrati Products iz padajue liste Related File.
6. Izabrati KeyProdNumber iz padajue liste Primary Key.
7. Pritisnuti Map by Name button.
Formiranje ogranienja referencijanog integriteta.
1. Izabrati Restrict iz padajue liste On Update.
Neemo dozvoliti nikakve promjene broja proizvoda.
2. Izabrati Restrict iz padajue liste On Delete.
3. Pritisnuti OK button.
Va Dictionary dijalog sad bi trebao izgledati ovako:
SLIKA.
4. Izabrati FileSave, ili pritisnuti Save button na tool baru.
Definiranje validacije zavisne o vezi
Nakon to su definirane sve veze meu datotekama, moemo
formirati Validity Checks (validacije) za dva polja koja namjeravamo
staviti na formu za auriranje.
Kod unosa novog zapisa Order datoteke, moemo specificirati da
CustNumber mora odgovarati postojeem zapisu u Customer datoteci.
Kod unosa novog zapisa Detail datoteke, moemo specificirati da
ProdNumber mora odgovarati postojeem zapisu u Products datoteci.

Definiranje validacije za novi order zapis


1. Osvijetliti Order datoteku u listi Files.
55

2. Pritisnuti Field/Keys... button.


3. Osvijetliti CustNumber i pritisnuti Properties button.
4. Oznaiti Validity Checks tab.
5. Oznaiti Must be In File radio button.
6. Izabrati Customer iz padajue liste File Label.
Ovo

zahtijeva

da

polje

moe

sadravati

jedino

vrijednosti

provjerene itanjem odgovarajueg zapisa iz Customer datoteke. To


je validirano koristei informacije o vezama izmeu datoteka, zbog
ega se ovaj Validity Check ne moe formirati prije nego se
definiraju veze.
7. Pritisnuti OK button.
8. Pritisnuti Close button za zatvaranje dijaloga Field/Key Definition.
Definiranje validacije za novi detail zapis
1. Osvijetliti Detail datoteku u listi Files.
2. Pritisnuti Field/Keys... button.
3. Osvijetliti ProdNumber i pritsnuti Properties button.
4. Izabrati Validity Checks tab.
5. Izabrati Must Be In File radio button.
6. Izabrati Products iz padajue liste File Label.
SLIKA.
7. Pritisnuti OK button.
8. Pritisnuti Close button za zatvaranje dijaloga Field/Key Definition.
9. Pritisnuti Close button za zatvaranje Dictionary Editor.
Rjenik podataka je sad kompletan. U slijedeem poglavlju, zapoet
emo graditi aplikaciju koristei Application Generator (generator
aplikacija).

56

KREIRANJE APLIKACIJE
Kada je rijenik podataka potpun, sada

moete upotrijebiti aplikacijski

generator za kreiranje aplikacije.


Ovo poglavlje:
Pokazuje vam kako kreirati .APP datoteku, koja pohranjuje svaki va rad u
projektu.
Kako definirati prvu (Main) proceduru upotrebom Frame privremene procedure
za kreiranje MDI aplikacijskog okvira.
Kako dodati naredbe u aplikacijski okvirni izbornik.
Kreiranje .App Datoteke
Poet ete s unoenjem imena vae aplikacije u aplikacijski
generator te to rijenik podataka koristi.
1. Birajte FileNew iz izbornika.
2. Izaberite Aplication tab, iskljuite Use Quick Start Wizard, zatim pritisnite
tipku Create. Pojavi se Application Properties okvir.
3. Pritisnite ellipsis (...) tipku desno od Aplication File polja.
4. Izberite \CW15\TUTORIAL direktorij u Open File okviru, zatim tipkajte
TUTORIAL.APP u File Name polju.
5. Pritisnite OK tipku koja zatvara Open File okvir.
6. Utipkajte TUTORIAL.DCT u Dictionary polje.
7. Iskljuite Application Wizard.
8. Ovo poglavlje ne koristi ni jedan Wizard ve demonstrira kako
upotrijebiti sve druge alate koje nudi Clarion za Windows-e.
(Slika: Application Properties)
9. Pritisnite OK tipku koja zatvara Application Properties okvir.
Kreiranje Main Procedure
Pojavi se Application Tree okvir. Okvir izlistava sve procedure za vau
aplikaciju ulogikoj proceduri, pozivajui stablo koje nudi vizualnog
vodia pokazujui redosljed kojim jedna procedura poziva drugu. To ste
ve vidjeli u Quick Start poglavlju.
57

Poinjemo sa Main procedurom. Aplikacija e biti MDI (Multiple


Document Interface) procedura. Prirodni poetak za definiranje Main
procedure je upotreba Frame privremene procedure za kreiranje aplikacijskog
okvira.
Odabir tipa procedure za Main:
1. S osvjetljenim Main-om u Application tree okviru, pritisnite Properties tipku.
2. Osvjetlite Frame u Select Procedure Type okviru, iskljuite Use
Procedure Wizard i pritisnite Select tipku.
(Slika: Select Procedure Type)
Pojavi se Procedure Properties okvir, koji definira funkcionalnost i strukturu
podataka za procedure.
(Slika: Procedure Main Properties)
Uobiajeno je prvi zadatak kad kreirate proceduru ureivanje
glavnog prozora. Tu moete smjestiti naredbe ili ako one ve postoje u
privremenoj proceduri, moete ih prilagoditi.
Aplikacijski okvir nikad nema naredbe. Windows ih ne doputa. Mi
emo, ipak, prilagoditi window poglavlje (tekst koji se pojavljuje na
naslovnoj crti). Dodat emo item-e za redefiniranje izbornika, koji je i
napravljen u Frame privremenoj proceduri.
Ureivanje Main prozora.
1. Pritisnite Window tipku. Pojavi se Window Formatter. Tu moete vizualno
urediti prozor i njegove naredbe.
2. Izaberite OptionsShow Propertybox (ako ve nije izabran).
3. KLIKNITE na prozorski naslov i uvjerite se da je fokusiran
4. Utipkajte Tutorial Application u Caption polju tekueg Propertybox alata,
zatim pritisnite TAB.
(Slika: Tutorial Application)
Tekstualno poglavlje se nadopunjuje u probnom prozoru. Uvjerite
se da drai postoje unutar aplikacijskog okvira prozora kada
izvravate ovaj korak.

58

Ureivanje Izbornika
Iz Window Formatter izbornika, moete pozvati Menu Editor, koji
vam dozvoljava dodavanje ili ureivanje izbornika za aplikacijski okvir
prozora. Ako dodate izbornike item-e, moete izabrati Action tab kako bi
imenovali proceduru koja je pozvana, kada korisnik izabere izborniki item.
Svaku novu proceduru imenujete, kako bi se iz izbornika mogla pozvati,
Aplikacijski Generator automatski dodaje ToDo proceduru u Aplikacijsko Stablo.
Zatim moete definirati funkcionalnost procedure, kao to ste sada definirali
funkcionalnost okvira.
Kad Aplikacijski Generator generira izvorne kodove za vau
aplikaciju, on automatski zapoinje novi izvrni postupak za svaku
proceduru koju ste pozvali u glavnom izborniku

(to zahtjeva MDI

aplikaciju).
Dodavanje izbornika
1. Iz izbornika Window Formatter, izaberite MenuMenu Editor.
Pojavi se Menu Editor, koji prikazuje izbornik u hijerarhijskom obliku u
listi lijevo. Polja na desno dozvoljavaju imenovanje i prilagoavanje
sputenih izbornika i izbornikih item-a.
Ovo vam privremeno osigurava standard izbornik. On sadri osnovne
komandne prozore kao sto su Exit naredba u File izborniku, te
standardno ureivanje Cut,Copy i Paste naredbe, standardni prozor
upravlja naredbama koje se obino nalaze u MDI aplikaciji.
(Slika: Menu Editor)
2. Osvjetlite drugu END izjavu (vidite sliku).
Menu Editor odmah unosi nove item-e ispod trenutno osvjetljenog odabira.
Izbornik koji ete dodati, nazvat e se View. On sadri tri item-a:
Products, Customers i Orders. To e se pojaviti u izbornikoj crti prije
Window izbornika.
3. Pritisnite Menu tipku.
Tako se unosi nova MENU izjava i korespondencijska END izjava.
4. Tipkajte &View u Menu Text polju.
(Slika: Menu Editor)
59

To definira tekst koji se pojavljuje u izborniku krajnjeg korisnika.


Specijalni znak (&) indicira slijedei znak (V) podcrtan, osiguravajui
pristup tipkovnicom.
Dodavanje prvog izbornikog item-a.
1. Pritisnite Item tipku.
Time se aurira lista na lijevoj strani okvira, mijenjajui tekst izbornka
koji ste upravo dodali u &View. To dodaje novom izbornikom
item-u naredbe u sputenom izborniku-ispod &View, prije END
izjave koja ide sa &View izbornikom.
2. Utipkajte &Customers u Text polje i pritisnite TAB.
Pojavljuje se ?ViewCustomers u Use polju. To osigurava jednakost za
izborniki item, tako kodirana izjava moe upuivati na to. Poetni
znak pitanja (?) indicira da je to polje jednako oznaeno.
3. Izaberite Action tab.
Prompt vam dozvoljava imenovanje izvrnih procedura, kad korisnik izvrava
ViewCustomers naredbu.
4. Izaberite Call a Procedure iz Whwn Pressed sputenog okvira.
Pojavljuju se novi promptovi koji vam dozvoljavaju imenovanje procedura za
pozivanje i zatvaranje opcije.
5. Utipkajte ViewCustomers u Procedure Name polju.
Tako ste imenovali proceduru.
6. Ukljuite Initate Thread okvir.
Procedura ViewCustomers prikazuje MDI dijete prozor i uvijek morate
poeti novi izvrni postupak za neki MDI prozor pozvan direktno iz
aplikacijskog okvira. Polje Thread Stack e ponuditi minimalnu
valjanu vrijednost.
(Slika: Menu Editor)
Dodavanje drugog izbornikog item-a
1. Pritisni Item tipku.
Tako auriramo listu na ljevoj strani okvira, mijenjajui tekst item-a
kojeg ste upravo dodali u &Customers.
60

2. Utipkaj &Products u Text polje i pritisnite TAB.


?ViewOrders se pojavljuje u polju Use.
Normalno, slijedei korak je definiranje akcija za izborniki item - to
se dogaa kad ih krajnji korisnik poziva iz izbornika.
Za sad ete preskoiti ovaj korak, samo za ovaj izborniki item.
Kasnije ete kreirati procedure kopirajui ih, a zatim ih dodajte u
ovaj izbornik. Sve to jer ne elite imati ToDo izbornike s istim imenom.
Dodavanje treeg izbornikog item-a
1. Pritisnite Item tipku.
2. Utipkajte &Orders u Text polje i pritisnite TAB.
Pojavi se ?ViewOrders u Use polju.
3. Odaberite Action tab.
4. Izaberite Call a Procedure iz When Pressed sputenog okvira.
5. Utipkajte ViewOrders u Procedure Name polju.
6. Ukljui Initate Thread okvir.
Zatvaranje Menu Editor-a i Window Formatter-a, a zatim spremanje vaeg rada
1. Pritisnite Close tipku koja zatvara Menu Editor.
Tako se vraate u Window Formatter.
2. Izaberite Exit izbornik i odgovorite s Yes kad vas pita da li elite spremiti
vae promjene.
To vas vraa u Procedure Properties okvir.
3. Pritisnite OK tipku koja zatvara Procedure Properties okvir.
To vas vraa u Application Tree okvir i dodaje dvije nove procedure
oznaene

sa (ToDo):

ViewCustpmers

ViewOrders.

To

su

procedure koje ste imenovali u Prompt okviru.


(Slika: TUTORIAL.APP-Application Tree)
4. Izaberite FileSave, ili pritisnite Save tipku u alatima.
Dodavanje Aplikacijskih Alata
Moete jednostavno dodati tipku za alate u prozoru. Kako bi to demonstrirali,
smjestite alate koji sadre tri tipke, svaka poziva istu proceduru koju ste upravo
61

imenovali.
Zbog jednostavnosti, tipke e biti tekstualno planirane. Molim vas
pogledajte Users Giude za instrukcije o dodavanju icon-skih tipki.
Pozivanje Window Formatter-a i kreiranje crte za alate
1. Osvjetlite Main proceduru.
2. DESNI-KLIK mia e prikazati popup izbornik.
(Slika: TUTORIAL.APP-Application Tree)
3. Izaberite Window izborniki item.
4. U Window Formatter meniu izaberi ToolbarNewToolbar.
To e dodati podruje za crtu s alatima - koji e skicirati pojedine
toke u prozoru za primjere. U isto vrijeme pojavljuje se Controls
kutija za alate. Moemo dodati bilo koji tip kontrole u crti za alate tako da
klikne na crtu s alatima.
Slika : Uiteljske aplikacije
Smjetanje prvog dugmeta
1. KLIKNI na alat gdje su dugmadi.
2. KLIKNI na prozor za primjere u podruju gdje je crta za alate,
odmah ispod gornjeg ljevog kuta.
3. KLIKNI DESNOM TIPKOM mia na dugme koje si izabrao pa onda izaberi
Properties iz otvorenog menia.
Slika : Uiteljske aplikacije
Pojavit e se Button Properties.
4. Utipkaj Customers u polju Parameter.
5. Utipkaj ?CustomerButton u polju Use.
To omuguuje jednako oznaavanje polja za kreiranje dugmadi. Tu
smo ukljuili rije dugme - button za kodiranje itljivosti.
Slika : Button Properties
6. Izaberi Action.
7. Izaberi Call a Procedure iz When Pressed sputenih opcija.
8. Izaberi ViewCustomers iz Procedure Name sputenih opcija.
9. To je ime procedure koju smo utipkali ViewCustomers predmetnom
62

meniu.

Kada pritisnemo dugme pozvat e se ista procedura.

Obino, komandno dugme

na crti za alate slui za bri nain

izvravanja naredbi iz menia.


10.Provjeri Initiate Thread kutiju.
11.Pritisni dugme OK.
Smjestanje drugog dugmeta
1. KLIKNI na alat gdje su dugmadi.
2. KLIKNI na prozor za primjere u podruju gdje je crta za alate, odmah do
prvog

dugmeta.

Pojavit e se dugme obiljeeno kao Button2.


3. KLIKNI DESNOM TIPKOM mia na dugme koje si upravo smjestio i onda
izaberi
Properties iz otvorenog menia.
4. Utipkaj Products u polje ButtonText.
5. Utipkaj ?ProductsButton u polje Use.
6. Pritisni dugme OK kako bi zatvorio prozor ButtonProperties.
Uobiajeno je u ovakvoj situaciji da priljepimo ovo dugme. Za sada
emo preskoiti ovaj korak , ali

samo za ovo dugme. Kasnije emo

kopirati proceduru i pozvati ju u situaciji kad se proizvodi kodirani cilj koji


rjeava to se treba raditi kada krajnji korisnik pritisne dugme.
Smjetanje treeg dugmeta
1. KLIKNI na alat gdje su dugmadi.
2. KLIKNI na prozor za primjere u podruju gdje je crta za alate, odmah
pokraj drugog dugmeta.
3. KLIKNI DESNOM TIPKOM mia na dugme koje si upravo smjestio pa onda
izaberi Properties iz otvorenog menia.
4. Utipkaj Orders u polju Button Text.
5. Utipkaj ?OrdersButton u polju Use.
6. Izaberi Actions.
7. Izaberi Call a Procedure iz When Pressed sputenih lista.
8. Izaberi ViewOrders iz Procedure Name sputenih lista.
63

Ovo je ime procedure koju smo utipkali za ViewOrders predmetni meni.


9. Provjeri Initiate Thread kutiju.
10.Pritisni dugme OK.
Mijenjanje veliine i poravnjavanje dugmadi
Window Foramatter ima cijeli niz alata za poravnjavanje kojima se
lako izravnanvaju i mijenjaju veliine vaeg kontrolnog prozora.
1. S odabranim Orders dugmetom stisni CTRL + KLIKNI na dugme Products.
To daje dugmadima mogunost rukovanja s njima i Products dugme
ima crveni

okvir to nas upuuje na to da ima fokus.

CTRL + KLIKNI je viestruki izbor pritiska koji nam omoguuje izvoenje


akcija na nekoliko kontrola istovremeno. Kad je jednom izabrana
viestruka kontrola maknuti je moemo povlaei na bilo koju
izabranu kontrolu, ili moemo koristiti bilo koji od alata Alignment
menia na cijeloj grupi.
2. S oba odabrana dugmeta CTRL + KLIKNI na Customers dugme.
Sada sva tri dugmeta imaju mogunost rukovanja i Customers dugme
ima crveni okvir to nas upuuje da ima fokus.
3. Izaberi AlignmentMake Same Size.
Time e sva tri dugmeta postati iste veliine kao i ono dugme s
crvenim okvirom

( Customers dugme ).

4. Izaberi AlignmentAlign Top.


Time poravnavamo sva tri dugmeta po vrhu Customers dugmeta.
5. Izaberi AlignmentSpread Horizontally.
6. Time e sva tri dugmeta biti jednako dugaka.
Slika : Uiteljska aplikacija
Zatvaranje Window Formatter i spremanje radova
1. Izaberi

Exit!

promjene u

meni i odgovori s Yes

kad vas pita da li elite spremiti

prozoru.

Ovo vas vraa direktno u Application Tree prozor. Jo uvijek sadri


iste dvije procedure oznaene s (To Do) :

ViewCustumers

ViewOrders .
64

2. Izaberi FileSave , ili pritisni Save dugme u liniji s alatima.


Testiranje aplikacije
1. Otvorite Application Tree, izaberite ProjectRun, ili pritisni Run dugme na
crti s alaltima.
Application Generator generira kod cilja pokazujui razvoj u prozoru za
poruke,

proceduru po proceduru.

Onda se pojavi Make window, pokazujui razvoj izgradnje, odnosno kako


kompajler i poveziva rade svoj posao.
Slika: C:\CW15\TUTORIAL\TUTORIAL.APP
Tada se pojavi Applikation Window. On izgleda ovako nekako:
Slika: Tutorial Application
2. Izaberi jedan od dugmadi na crti za alate , ili jedan od predmeta u View meniu.
Pojavit e se sljedea poruka:
Slika: Procedura nije definirana
Ova sposobnost omoguuje nam poboljanje testiranja aplikacija i ako smo
dizajnirali i ako nismo.
Mi emo ga popuniti u njegovoj funkcionalnosti, to emo zapoeti u
ovom poglavlju.
3. Pritisni OK dugme kako bi zatvorili kutiju s porukom.
4. Izaberi FileExit kako bi zatvorili Tutorial Application.
Kroz ostali dio uenja slobodno Make and Run odnosno kreiraj i startaj
razvoj

aplikacija u bilo kojem dijelu u kojem u kojem nam tutorial savjetuje

da spremimo

datoteku.

65

KREIRANJE BROWSE
U ovom emo poglavlju kreirat browse prozor na isti nain kao to
smo kreirali uz pomo Qick Start Wizarda. Application Generator koristi
iste template , koji generiraju iste osnovne kodove - ali radei ih na ovaj
nain imat emo anse da to napravimo od poetka.
Zapoet emo s Customer Browse Window

- ali najprije emo

kompilirati aplikacije kojesmo kreirali u posljednjem poglavlju.


Kreiranje Popisa Korisnika
Ako se vratimo u poglavlje Quick Start Tutorial prisjetit emo se da
Quick Start Wizard kreira prozor za Customer file Browse proceduru koja
izgleda ovako nekako:
Slika: Browse the Customer File
Sada emo kreirati slino tome Browse Procedure template:
Izbor tipa procedure za ViewCustomers procedure:
1. Osvijetli ViewCustomers u Application Tree i onda pritisni Properties
dugme.
2. Izaberi
iskljui

Browse Procedure

template u Select Procedure Type okviru,

Use Procedure Wizard kutiju i onda pritisni Select dugme.

Pojavit e se Procedure Properties okvir.


Ureenje Browse procedure.
1. U Procedure Properties okviru pritisni Window dugme.
2. KLIKNI na liniju prozora gdje se nalazi naslov kako bi dobili fokus.
3. Utipkaj Browse Customers u polju Caption u tekuem Propertybox
toolboxa

i onda pritisni TAB.

Priprema za formatiranje spiska kutija


4. KLIKNI DESNOM TIPKOM mia u spisak kutija u prozoru i izaberi List Box
Format ... iz otvorenog menia.
Slika : Browse Customers
Ovim smo otvorili List Box Formatter.
66

Popunjavanje i formiranje List Box Control-a


Koristei List Box Formatter, moemo populate (popuniti) i format
(formirati) polja rjenika podataka koja se pojavljuju u stupcima.
Koristei Select Field (prozor za odabiranje polja), odaberemo polje iz
rjenika podataka, koje se onda u List Box Formatter-u prikae kao
stupac.
SLIKA

List Box Formatter

1. Odaberi opciju Populate.


Pojavljuje se prozor Select Field. To omoguuje pristup poljima
definiranim u rjeniku podataka. Popis datoteka (Files) prikazuje sve
datoteke koje moemo koristiti u ovom postupku, hijerarhijski poredane (the
File Schematic), to ukljuuje i itanje List Box Control-a.
Odaberi datoteku i polja koja e smjestiti u browse list box control.
1. Osvijetli ToDo ispred File-Browsing List Box i odaberi opciju Insert.
SLIKA

Select Field

2. Osvijetli datoteku Customer u prozoru za dijalog Insert File, a zatim odaberi


opciju Select. Tako odaberemo datoteku u File Schematic prozoru. Select
Field prozor za dijalog sada prikazuje datoteku i njena polja.
3. Odaberi opciju Key.
4. Osvijetli KeyCustNumber u prozoru za dijalog Change Access Key i odaberi
opciju Select.
SLIKA

Select Field

5. Osvijetli CUS:Company u popisu Fields, a zatim odaberi opciju Select. Tako


se vraa u List Box Formatter, gdje je sada dodana i odabrana
datoteka.
Primjena specijalnog formiranja na prvo polje:
1. Odaberi opciju Properties. Pojavljuje se prozor List Field Properties, koji
omoguuje formiranje izgleda odabranog polja.
2. Odaberi opciju Field i ukljui mogunost Right Border i Resizeable.
67

SLIKA

List Field Properties

3. Odaberi opciju OK. Tako dodaje desnu vertikalnu granicu polju.


Popunjavanje drugog polja.
1. Odaberi opciju Populate.
2. Osvijetli CUS:FirstName u Field List i odaberi opciju Select.
3. Odaberi opciju Properties.
4. Odaberi tab Field i zatim ukljui mogunosti Right Border i Resizeable.
List Box Formatter automatski prenosi te opcije sa zadnjeg
dodanog polja, pojednostavljujui dodavanje viestrukih polja sa
istim opcijama. U ovom sluaju, briu se granice izmeu ovog i
sljedeeg stupca, a to e biti polje LastName.
5. Odaberi opciju OK.
Popunjavanje treeg polja.
1. Odaberi opciju Populate.
2. Osvijetli CUS:LastName u listi Fields, a zatim odaberi opciju Select.
3. Odaberi opciju Properties.
4. Odaberi tab Field i ukljui mogunosti Right Border i Resizeable. Tako
ponovno dodajemo pominu granicu izmeu ovog i sljedeeg
stupca.
5. Odaberi opciju OK.
Popunjavanje etvrtog polja.
1. Odaberi opciju Populate.
2. Osvijetli CUS:Address u listi Fields, a zatim odaberi opciju Select.
3. Odaberi opciju Properties.
4. Odaberi tab Group.
5. Odaberi opciju OK kada se postavi pitanje da li eli kreirati grupu.
SLIKA

List Box Formatter

Kreirajui novu grupu, u koju e smjestiti podatke o adresama,


moe dodati i zaglavlje. Ono se pojavljuje iznad zaglavlja polja i
vizualno povezuje podatke u stupcima.
68

6. Utipkaj Address Info u polje Heading Text.


SLIKA

List Field Properties

To omoguuje unoenje teksta za zaglavlje. Sva polja koja se


pojavljuju u nastavku desno bit e ukljuena u grupu, dok ne
definiramo novu grupu.
7. Odaberi opciju OK za zatvoriti prozor za dijalog List Field Properties.
Popunjavanje petog polja.
1. Odaberi opciju Populate.
2. Osvijetli CUS:City u listi Fields i odaberi opciju Select.

Sada, List Box

Formatter daje uzorak prozora i omoguuje grubi prikaz kako e


izgledati na list box:
SLIKA

List Box Formatter

Popunjavanje estog polja.


1. Odaberi opciju Populate.
2. Osvijetli CUS:State u listi Fields i odaberi opciju Select.
Popunjavanje sedmog polja i izlaz iz List Box Formatter-a.
1. Odaberi opciju Populate.
2. Osvijetli CUS:ZipCode u listi Fields i odaberi opciju Select.
3. Odaberi opciju OK za zatvaranje List Box Formatter-a.
Dodavanje tabova
Kada je Quick Start Wizard formirao ovu proceduru ona je imala
tabove koji su mijenjali nain sortiranja ovisno o tome koji smo tab
odabrali. Zato emo sada dodati tu funkciju da pokaemo kako je to
jednostavno postii!
Dodavanje Property Sheet i prvog taba.
1. KLIKNI u prostor za naslov u svom prozoru kako bi se pojavili crveni rubovi.
2. Postavi mia tono na srednji crveni kvadrati na vrhu i povuci ga
gore kako bi se stvorio potreban prostor.
3. KLIKNI na Property Sheet koji se nalazi u Controls (Property Sheet izgleda
69

kao neki savijeni oblik i nalazi se desno od kruga).


SLIKA

Controls

4. KLIKNI Property Sheet gore lijevo od List box-a kako bi pozicionirao jedan
tab.
5. Povuci crveni kvadrati na dnu, u lijevom uglu tako da doe ispod i
lijevo od opcije Insert.
6. Povuci crveni kvadrati na dnu, u desnom kutu , tako da doe tono
ispod i desno od opcije Close. To omoguuje oblikovanje tako da se
property sheet pojavi u list boxu i da se opcije nau na tabovima.
Zapravo, one to nisu pa mi elimo da sve opcije budu vidljive, bez
obzira koji tab odabrao korisnik.
7. KLIKNI na tab Tab 1.
8. Utipkaj KeyCustNumber u polje Caption u Propertybox-u, zatim stisni TAB.
Tako mijenjamo tekst na tabu. Taj tekst moe biti bilo kakav, ali
imenujui klju imenujemo nain sortiranja koji e biti prikazan.
Dodavanje ostalih tabova.
1. KLIKNI na Tab control u Controls-u (u posljednjem redu prvi).
SLIKA

Controls

2. KLIKNI odmah desno od taba KeyCustNumber kako bi smjestio sljedei


tab.
3. Utipkaj KeyCompany u polju Caption u Propertybox-u, zatim stisni TAB.
4. KLIKNI na Tab control u Controls-u (u posljednjem redu prvi).
5. KLIKNI odmah desno od taba KeyCompany kako bi smjestio sljedei
tab.
6. Utipkaj KeyZipCode u polju Caption u Propertybox-u, zatim stisni TAB.
7. KLIKNI na opciju Close, zatim SHIFT+CLICK i povuci opciju prema
dolje, ispod taba. Povlaenje uz stisnuti SHIFT omoguuje nam da
pomiemo u samo jednom smjeru; ako ponemo pomicati prema
dolje moi emo micati samo dolje-gore, ali ako ponemo micati u
jednu stranu, moi emo pomicati samo lijevo-desno.
Testiranje korisnikog browse (izgleda prozora)
Windows Formatter omoguuje nam da vidimo kako e na prozor
70

izgledati na ekranu. Ako je to MDI prozor, pojavit e se unutar Window


Formatter-a.
1. Odaberi Preview! u meniju Window Formatter-a.
SLIKA Browse Customers
2. Odaberi opciju Close unutar testnog prozora da bi se vratio u Window
Formatter.

Postavljanje sortiranih redova


Sada kada su tu tabele, trebamo napomenuti list box (list kutija) to
zamjenjuje red sortiranja za upotrebu i kada da upotrijebi.
1. DESNIM KLIKOM na list box odaberemo Actions iz izdignutog menua.
List box je ustvari BrowseBox Control ablona koja je smjetena u Browse
Procedure

ablonskom izostavljenom prozoru napravljenog u Template

Registry (pogledaj UserGuide za vie informacija o Template Registry). To


znai da je ona udruila promptove koji govore kako da popunimo listu i
koje aktivnosti da izvrimo.
Promptovi koje se ukazuju u Actions tabu dolaze direktno iz ablona (u
ovom sluaju, BrowseBox Control ablona). To je upravo ovo kako vi
komunicirate sa ablonama, tono koji kod trebate za generiranje da
dobijete nain rada koji ste traili (i nita vie). Ovi promptovi,
njihovo znaenje i upotreba, su svi pokriveni u Users Guide
(korisnikov vodi) i na on-line pomoi za svaki prozor u kojem se oni
ukazuju.
2. Odaberite Conditional Behavior tab.
3. Pritisnite Insert dugme.
4. Utipkajte CHOICE(?Sheet1)=2 u Condition polje.
Ovi skupovi uvjeta pod kojima e zamjenjenim redom sortiranja biti
upotrebljeni. Ovaj izraz upotrebljava iz Clarion jezika funkciju
CHOICE (vidi Language Reference) da otkrije kada je korisnik odabrao
drugi tab na stranici. Generirani kod e mijenjati sortirajui red u
vremenu izvravanja.
5. Pritisnite eliptiko dugme () Key to Use polje.
6. Osvjetlite CUS:KeyCompany

onda pritisnite Select dugme u Select Key


71

dijalogu.
SLIKA SA 102. STRANICE
Sad, kada korisnik odabere drugi tab, BrowseBox Control ablona e
generirati kod da ukljui klju na Company polje. To ne treba znaiti
to raditi za prvi tab, jer uvijek upotrebljava Access Key kojeg smo
spomenuli u shemi datoteka.
7. Pritisnite OK dugme.
8. Pritisnite Insert dugme.
9. Utipkajte CHOICE(?Sheet1)=3 u Condition polju.
1. Pritisnite eliptiko dugme () do Key to Use polja.
1. Osvjetlite CUS:KeyZipCode onda pritisnite Select dugme na Select Key
dijalog.
1. Pritisnite OK dugme.
SLIKA SA 103. STRANICE
1. Pritisnite OK dugme za zatvaranje List Properties dijalog.

Zatvaranje Customer Browse


1. Odaberite Exit! na Window Formatters menu i snimite promjene u prozoru
kada smo ga promptirali.
2. Pritisnite OK dugme u Procedure Properties dijalog da ga zatvorimo.
3. Odaberite FileSave, ili pritisnite Save dugme na traci s alatima za snimanje
svog posla.

72

BROWSE UPDATE PROCEDURA


Kreiranje Update Procedure
U prethodnom poglavlju, formatirali smo list box procedure Customer Browse
i dodali tab kontrole za promjenu redosljeda sortiranja. Za zavretak osnovne
procedure imenovali smo Update proceduru. To je procedura koja dri radnju za
Insert, Change i Delete dugme.

Dodavanje procedure ToDo.


1. Osvjetlite ViewCustomers u Application Tree dijalog te pritisnite Properties
dugme.
2. Utipkajte

UpdateCustomer

Update

Procedure

ulazni

box

kao

zajedniki Procedure Properties dijalog.


Ova imena nove procedure, koja se ukazuju u Application Tree.
3. Provjerite Allow Edit via Popup box. Ovo omoguuje korisniku da
DESNO KLIKNE na list box i odabere Insert, Change ili Delete iz izdignutog
menua u dodavanju za uporabu komandnih dugmadi.
4. Pritisnite OK dugme da zatvorite Procedure Properties dijalog. Nova
procedura se ukazuje ispod procedure ViewCustomers.
SLIKA SA 105. STRANICE
Zabiljeite da niste startali novo izvrenje kroz proceduru. elite ga
pokrenuti kroz istu vezu kao proitano, tako da krajnji korisnik ne moe
otvoriti ve formirani prozor da izmjeni zapis, onda aktiviraj proitani
prozor ponovno i otvara drugu formu na istom zapisu. Drugim rijeima,
vi ne elite da jedan krajnji korisnik pokuava promijeniti isti zapis
dvaput u isto vrijeme!
Kreiranje Update Procedure
Update procedura trebala bi koristiti Form proceduru da kreira proceduru da
krajnji korisnik moe koristiti za podravanje zapisa. Treba osigurati prompt i
ulaznu kontrolu za svako polje u zapisu.
Odaberite tip procedure za UpdateCostumer.
1. Osvjetlite UpdateCostumer u Application Tree dijalog, te pritisnite
73

Properties dugme.
2. Osvjetlite obrazac Form Procedure, preispitajte Use Procedure Wizard box,
te pritisnite Select dugme.
Ukazuje se prozor Procedure Properties. Prihvatit ete propuste za
obrazac Form procedura. Users Guide i

on-line pomo opisuju

uobiajene opcije sposobne za sve Procedure Properties dijalog (varijacije


za svaki obrazac procedure).
SLIKA SA 106. STRANICE
3. Pritisnite Files dugme za imenovanje datoteke koju e Form
modernizirati. Ukazuje se File Schematic Definition dijalog.
4. Osvjetlite ToDo item ispod Update Record on Disk i pritisnite dugme
Insert.
5. Osvjetlite Customer file u Insert File dijalog, te pritisnite Select dugme.
SLIKA SA 107. STRANICE (gornja slika)
6. Pritisnite OK dugme za povratak u prozor Procedure Properties.
7. Pritisnite Window dugme za kreiranje vlastite forme.
Proputeni prozorski dizajn se sastoji od tri polja spremna za vas.
OK dugme e zatvoriti dijalog, prihvaajui korisniki unos i
zapisuje Costomer file na disk. Cancel dugme zatvara formu bez updating.
Polje stringova osigurava radnu poruku za informiranje krajnjeg korisnika
koje se radnje uzimaju za zapis.
Popunjavanje polja
Premjetanje polja u prozor zove se popunjavanje.
1. Odaberite Options pa Show Fieldbox.
SLIKA SA 107. STRANICE (donja slika)
Ovo pokazuje

sadraj padajuih

toolbox-ova svih polja

od svih

specifinih datoteka u vaoj proceduralnoj File Schematick. Ova polja


su spremna za popunjavanje u va dizajnirani prozor.
2. KLIKNITE na CustNumber u padajuem Fieldbox te maknite kursor preko
dizajniranog prozora.
Kursor mijenja i malu knjigu koja pokazuje polja to dolaze iz rjenika
podataka.
3. KLIKNITE na gornji lijevi kut vaeg dizajniranog prozora.
74

Ovo premjeta oba polja i njihove promptove. To izostavlja bilo to ste


specificirali u rjeniku podataka.
4. KLIKNITE na Company u padajuem Fieldbox.
5. KLIKNITE odmah ispod prompt namjeten na prvom polju.
6. KLIKNITE na FirstName u padajuem Fieldbox.
7. KLIKNITE odmah ispod prompt namjeten na zadnjem polju.
Ovo namjeta oba polja i njegov prompt.
8. KLIKNITE na LastName u padajuem Fieldbox.
9. KLIKNITE odmah ispod prompt namjeten za ime.
1. KLIKNITE na Address u padajuem Fieldbox.
1. KLIKNITE odmah ispod prompt namjeten za prezime.
1. KLIKNITE na City u padajuem Fieldbox.
1. KLIKNITE odmah ispod prompt namjeten za polje adresa.
1. KLIKNITE na State u padajuem Fieldbox.
1. KLIKNITE odmah ispod prompt namjeten za grad.
Ovo namjeta prompt i padajuu listu. Mi smo predefinirali ovo polje kao LIST
control

sa

DROP

atributom

rjenik

podataka.

Otkako

ima

predefiniran skup vrijednosnih ulaza, ne trebamo ga formatirati.


1. KLIKNITE na ZipCode u padajuem Fieldbox.
1. KLIKNITE odmah ispod prompt namjeten za dravu.
Formirani prozor sada izgleda poput:
SLIKA SA 108. STRANICE
Pomicanje i svrstavanje polja
Za profesionalan izgled, trebamo maknuti ova polja naokolo i svrstati strane i
od svih polja izgraditi ekran.
Pomaknite polja ka njihovim priblinim pozicijama.
1. KLIKNITE na State padajuu listu.
Njezin izbornik se treba pojaviti kad KLIKNETE na to.
2. SHIFT + DRAG(pomak) na State padajuu listu ulijevo da bude to
blie svom promptu.
3. CTRL + CLICK na State prompt.
Kad CTRL kliknete na kontrolu, privremeno odabrani kontrolni izbornik postavlja
75

na plavo, dok ranije odabrani kontrolni izbornik je crveno. Sad imate


odabrane dvije kontrole.
4. Pomaknite State padajuu listu i prompt (KLIKNI i POMAKNI na drugi od
dvije odabrane kontrole) gore i nadesno od City kontrola.
Jednom odabrane viestruke kontrole moete pomaknuti kao grupu,
na isti nain na koji ste pomaknuli jednu individualnu kontrolu.
5. KLIKNITE na ZipCode ulazni box.
6. SHIFT + DRAG (pomak) ZipCode ulazni box ulijevo i tako da je zatvoren za
njegov prompt.
7. KLIKNITE na ulazni box prompt ZipCode.
8. Pomaknite ZipCode ulazni box i prompt gore i u desno na City i State
kontrole.
Trebali biste napraviti prozor malo vei da se to izvri.
9. KLIKNITE na ulazni box LastName.
1. SHIFT + DRAG (pomak) LastName ulazni box ulijevo to blie promptu.
1. CTRL + KLIKNITE na prompt LastName.
1. Pomaknite LastName ulazni box i prompt gore i u desno na FirstName
kontrol.
Sada bi va prozor trebao izgledati poput:
SLIKA SA 109. STRANICE
Poravnavanje polja k njihovim krajnjim pozicijama .
1. Odaberite Options pa Show Alignbox.
Window Formatter ima padajui Alignbox toolbox koji sadri iste skupove
poravnavajuih alata koji su takoer dostupni preko Alignment
menua.
SLIKA SA 110. STRANICE (gornja slika)
2. KLIKNITE na prvi prompt u gornjem lijevom uglu.
Ovo bi trebao biti CustNumber prompt. Njegov okvir trebao bi se pokazati kada
kliknete na njega.
3. CTRL + CLICK na etiri prompta odmah ispod prvoga.
Kako ste CTRL + CLICK na svaki promijenjiv kontrol, odabrani kontrolni okviri
mijenjaju se u plavo dok najnoviji odabrani kontrolni okviri su crveni. Kontrol s
76

crvenim okvirom osigurava base point za operaciju za promjenu. Svi drugi


odabrani kontroli su poravnati u ravnini s kontrolom koji ima crveni okvir.
Sa svih pet odabranih promptova, trebalo bi izgledati ovako:
SLIKA SA 110. STRANICE (donja slika)
4. Pritisnite Align Left dugme (gornje lijevo dugme) u padajuem
Alignbox toolbox-u.
Sve poravnate kontrole du njihovih lijevih rubova, baziranih na poziciji prvog
odabranog itema (onaj s crvenim okvirom).
5. Pritisnite Spread Vertically dugme na padajuem Alignbox toolbox-u.
Sve kontrole poravnatih irina izmeu gornjeg i donjeg odabranog
kontrola.
6. KLIKNITE na prvi ulazni kontrol (to bi trebao biti CustNumber ulazno polje).
7. CTRL + CLICK na ulazni kontrol odmah ispod njega.
8. Pritisnite Align Left dugme na padajuem Alignbox toolbox-u.
9. KLIKNITE na LastName ulazni box.
10.CTRL + CLICK na tri kontrole ulijevo (njegov prompt, FirstName ulazno polje
i prompt).
11.Pritisnite Align Horizontally dugme na padajuem Alignbox toolbox-u.
Ovo poravnava kontrole u tekuem redu.
12.KLIKNITE na zadnji kontrol u donjem redu (to bi trebao biti ZipCode ulazni
box).
13.CTRL + CLICK na pet kontrola ulijevo (njegov prompt, i promptove te
kontrole za State i City).
14.Pritisnite Align Horizontally dugme u padajuem Alignbox toolbox-u.
15.Na isti nain, upotrijebi Align Horizontally alat za poravnavanje
CustNumber, Company i Address ulazne boxove sa njihovim danim
promptovima.
Prozor bi trebao izgledati nekako poput ovoga:
SLIKA SA 111. STRANICE
Formirani prozor je skoro napravljen. Sada bi trebali dodati browse list box
za ureene telefonske zapise.
Dodavanje BrowseBox Control Template-a
Kontrol template-i

generiraju sve zahtjevane izvorne kodove za


77

kreiranje i voenje kontrola po vaem prozoru. Ovdje, postavite BrowseBox


kontrol template koji pokazuje zapise iz datoteke Phones to su ureeni u
tekuem Customer zapisu.
Namjestite Kontrol template
1. Odaberite Populate pa Control Template, ili KLIKNITE na Kontrol
template alat u padajuem Controls toolbox-u (zadnja ikona alata
udesno, zadnji red).
2. U Select Control Template dijalogu, osvjetlite Browse box Kontrol template,
onda pritisnite Select dugme. Kursor se mijenja u crosshair i little man.
3. KLIKNITE odmah ispod na City ulazni box da namjestite kontrol.
Pojavljuje se List Box Formatter, spreman za biranje polja.
Namjestite Phones datoteku polja u List Box Formatter.
1. Pritisnite Populate dugme.
2. Odaberite To Do item ispod File-Browsing List Box i pritisnite Insert
dugme.
3. Osvjetlite Phones datoteku u Insert File dijalogu, onda pritisnite Select
dugme.
4. Osvjetlite Phones datoteku u Files listi, onda pritisnite Key dugme.
5. Osvjetlite KeyCustNumber u Change Access Key dijalogu, onda pritisnite
Select dugme.
6. Osvjetlite PHO: CustNumber u Fields listi, onda pritisnite Select dugme.
SLIKA SA 112. STRANICE
7. Pritisnite Populate dugme.
8. Osvjetlite PHO: Area u Fields listi, onda pritisnite Select dugme.
9. Pritisnite Populate dugme.
10.Osvjetlite PHO: Phone u Fields listi, onda pritisnite Select dugme.
11.Pritisnite Populate dugme.
Osvjetlite PHO: Descrption u Fields list, onda pritisnite Select dugme. Kao
opcionalni korak, promijenite veliinu stupca u List Box Formatter
prozoru da ga uinite dovoljno prostranim za naslov stupca. Da
promijenimo veliinu stupca, samo ga DRAG (POMAK) sa miem.
78

12.Pritisnite OK dugme da bi zatvorili List Box Formatter.


Ovo namjeta formatirani List Box na prozor na poziciji koju smo odredili.
Ovo moe proiriti prozor. Ako je ipak, promijenjena veliina Lidt Box-a
s povlaenjem njegovog okvira, tada pomaknite OK, Cancel i poruka
kontrola stringa ide dolje do kraja prozora.
Namjetanje kontrol template zapisa za ureivanja granica
1. DESNI CLICK na list box koji smo upravo namjestili, i odaberite Actions iz
padajueg menua.
2. Pritisnite eliptino () dugme odmah do Range Limit Field.
3. Osvjetlite PHO: CustNumber polje u Key Components listi, zatim pritisnite
Select dugme.
4. Odaberite File Relationship iz Range Limit Type padajue liste.
5. Prititisnite eliptino () dugme odmah do Related File polja te onda
izaberite Customer iz Select File dijaloga.
Ovo prepoznaje datoteku Kupac kao relacijsku datoteku. Ovi koraci
ograniavaju zapise prikazane u list box-u ka samo onim relacijskim
zapisima u tekuem prikazanom zapisu datoteke Kupac.
SLIKA SA 113. STRANICE
6. Pritisnite OK za zatvoriti List Properties dijalog.
Dodavanje BrowseUpdateButtons Control Template
Slijedee dodavanje standardnog Insert, Change i Delete dugmeta za list
box kontrola. elimo li poslije dodati oblik procedure za dodavanje i oblikovanje
telefona.
Postavljanje drugaijeg tipa Control Template.
1. Odaberite Populate pa Control Template, ili kliknite na Control Template
alate u Controls toolbox-u (posljednja alat ikona na desno, zadnji red).
2. Osvjetlite BrowseUpdateButtons Control Template, zatim pritisnite Select
dugme. Kursor se mijenja u krii i "malu knjigu".
3. KLIKNITE dolje lijevo i na list box.
Pojavljuju se Insert, Change i Delete dugmadi. Prozor bi trebao izgledati
nekako poput ovoga:
79

SLIKA SA 114. STRANICE


Imenovanje Update Procedure.
1. DESNI CLICK na Delete dugme i izaberite Actions oblik padajueg
menua.
2. Utipkaj Update Phones u Update Procedure box-u na Prompts dijalog.
Imenovanjem Update Procedure za

dugme imenuju se sva tri dugmeta u

skupu.
3. Pritisnite OK dugme.
4. Odaberite Exit! da bi zatvorili Window Formatter.
5. Pritisnite OK dugme da bi zatvorili Procedure Properties dijalog.
6. Odaberite FileSave, ili Save dugme na tool bar-u.
Kraa Phones Update Form-e
Sada moete vidjeti Phones listu u Customer formi. Kako bilo, vi jo trebate
put za update Phones zapis. Moete dodati drugu Form proceduru u tu svrhu.
Kako god, to je jedan od lakih puteva. Otkako aplikacija koju smo kreirali u Quick
Start Tutorial poglavlju takoer koristi Phones datoteku, mi moemo ukrasti
proceduru odatle!
1. Odaberite File pa Import from Application
2. Osvjetlite QWKTUTOR.APP u Select application to import from dijalogu, te
pritisnite OK dugme.
Pojavljuje se sljedee upozorenje. Otkako znamo da jedina procedura
koju elimo je ona ija je definicija datoteke bila prenesena iz rjenika
aplikacija, sigurni smo u nastavak prenoenja.
SLIKA SA 115. STRANICE (gornja slika)
3. Pritisnite OK dugme.
Prikazuje se Select Items to Import dijalog.
4. Osvjetlite Update Phones proceduru te pritisnite Select dugme.
Ovo namjeta obiljeje u ikoni tik do ukazanog imena procedure koji je bio
odabran za prijenos. Moete prenijeti viestruke procedure odjednom, ako
odaberete.
SLIKA SA 115. STRANICE (donja slika)
5. Pritisnite OK dugme.
80

Sada se upotrebljava, slijedee upozorenje koje smo prenijeli u


proceduru s imenom nae aplikacije.
Slika: Procedure name clash
6. Odabere se opcija Replace All
1. Ova implementacija procedure daje aplikaciju u obliku:
Slika: Application Tree
2. Odabere se FileSave ili Save opcija u glavnom izborniku.
Da bi se vidjelo da li sve funkcionira pokrene se aplikacija.

81

KREIRANJE PROCEDURE ZA PREGLED PROIZVODA


Sada kad smo kreirali aplikaciju Customer iskoriste se njene komponente za
kreiranje nove procedure kopiranjem djela procedure Customer te mijenjanjem
imena polja. U ovom poglavlju kopiranjem ViewCustomers procedure kreiramo
proceduru ViewProducts.
Koriste se Embed points za upis ifre korisnika koja

poziva datoteku

Viewproducts iz aplikacijskog menija. Analogno dodajemo jednu ili vie izbornih


informacija te tako poboljavamo funkcionalnost procedure.
Kopiranje procedure
Nakon kreiranja ViewProducts meni, te izbornik koji smo nazvali
Products nismo specificirali proceduru koju pozivamo kada se taj izbornik koristi.
Najprije kreiramo proceduru:
1. Odaberemo View Customers proceduru u Application Tree dijalogu. Ovu
proceduru kopiramo.
2. Odaberemo ProcedureCopy.... Otvori se izbornik New Procedure.
3. Utipka se ViewProducts unutar prostora za dijalog, te se stisne OK.
Slika: New Procedure
Procedura UpdateCustomer je podprocedura procedure ViewCustomers (one koju
kopiramo) pa se pojavljuje izbornik Procedure name clash, daje opcije za rad
s podprocedurama.
Slika: Procedure name clash
4. Odabere se opcija Prompt.
Odabirom opcije Prompt javljamo Application Generator-u da promjeni imena svih
podprocedura. Pojavljuje se poruka da kreirana procedura postoji.
5. Odabere se opcija Rename.
Slika: Procedure name clash
Pojavljuje se izbornik Alternate Procedure.
6. Utipka se UpdateProduct unutar prostora za dijalog, te se pritisne OK.
Slika: Alternative Procedure
Procedure ViewProducts i UpdateProduct pojavljuju se u stablu aplikacije. One
nisu povezane s drugim procedurama, jer ih ne pozivamo iz nijedne druge
82

procedure.
Slika: Application Tree
Rad s embed points-ima
S Clarion-om for Windows korisnik dodaje svoj kod unutar standardnog
koda. Tako se dobiva fleksibilnost u radu. Opcije koje imaju ifru korisnika
nazivamo Embed Points. To su standardne opcije koje kontroliraju veze unutar
generalnog koda. U ovom primjeru korisnik dodaje svoj kod, koristi Code Template
u opcijama koje sam izabere, imenuje procedure koje

poziva, koristi

ViewProducts opciju.
Imenovanje procedure s ViewProducts opcijom.
1. Klikne se desnom tipkom mia na Main proceduru iz Application Tree.
2. Odabere se Embeds iz menija.
Pojavljuje se Embedded Source dijalog koji daje pristup embed points-u.
Analogno se dobije ako se iskoristi opcija Embeds iz Procedure Properties
menija.
3. Pritisne se Contract All opcija.
Daje laki pristup embed points-u.
4. Prije nego li kreiramo kodirani direktorij ide se na Control Event Handling, te
se stisne znak + koji proiruje menije.
5. Proiri se ?ViewProducts direktorij.
6. Odabere se Accepted, te opcija Insert.
Accepted u ovom meniu daje opcije koda koji se aktiviraju kada korisnik odabere
bilo koji meni.
Slika: Embedded Source
Dijalog Select embed type daje listu opcija koda. Poziva se procedura, treba se
napisati na izvor u tekst editoru.
7. Odabere se opcija Initiate Thread unutar Code izbornika, te se stisne Select
gumb.
Code izbornik daje korisniku nekoliko uputa o sebi, koliko je potrebno za upisati
validan kod, koji se unese unutar generalnog koda procedurom Procedure
Template.
Code izbornik je strukturiran tako da se aplikacije aktiviraju pozivom imena START
funkcije.
83

Slika: Select Embed type


8. Odabere se ViewProducts iz liste Procedure Called. Tu se imenuje procedura,
koja je prije kopirana.
Slika: Prompts for Initiate Thread
9. Stisne se OK.
Sada se imenuje procedura koju aktiviramo iz opcije Products. Kada korisnik
odabere opciju Product unutar programa Initiated Thread code aktivira
ViewProduct proceduru. Kada se jednom kreira kod dovoljno ga je nakon toga
kopirati u embed point koji selektiramo.
1. Odabere se Copy.
Kodni izbornik koji se nadodaje je osvijetljen, te se kopira u clipboard.
2. Odabere se ?ProductsButton direktorij te ga se proiri.
3. Osvjetli se Accepted i stisne se Paste.
Izbornik Procedure name clash se pojavljuje, te javlja da je procedura pozvana.
Slika: Procedure name clash
4. Stisne se Same opcija.
5. Stisne se Close.
Slika: Application Tree
Promjena kopirane procedure
Mijenja se ime datoteke:
1. Odabere se ViewProducts procedura, te se odabere Window.
2. Odabere se List Box Format.
3. U List Box Formatter, odaberite Delete tipku ponavljajui dok sva polja ne
budu

uklonjena.

4. Odaberite Populate tipku.


5. Istaknite datoteku Kupci u Files listi, i tada odaberite tipku Delete.
6. Istaknite " ToDo" koja zamjenjuje datoteku Kupci, i tada odaberite tipku Insert.
7. Istaknite datoteku Proizvodi i nakon toga odaberite tipku Select.
8. Select Field dijalog sada lista tone datoteke i polja za ovu proceduru.
9. Odaberite Key tipku, i tada odaberite KljuBrProizvoda iz Change Access
Key dijaloga.
Select Field dijalog sada lista ispravne datoteke i polja za ovu proceduru.
84

Ponovno "naseljavanje" polja


1. Istaknite PRD:BrProizvoda u listi polja i odaberite Select tipku.
2. Odaberite Properties tipku i izaberite umetnuti Field.
3. Provjerite Right Border i Resizeable odjeljke.
4. Odaberi OK tipku.
5. Odaberite Populate tipku.
6. Istaknite PRD: OpisProizvoda u Fields listi, i tada odaberite Select tipku.
7. Odaberite Populate tipku.
8. Istaknite PRD:JedCijena u Fields listi, i tada odaberite Select tipku.
9. Odaberite Populate tipku.
10.Istaknite PRD:Porez u Fields listi, i tada odaberite Select tipku.
Odaberi tipku OK za zatvaranje List Box Formatter-a.
Promjena imena prozora
1. Klikni na uzorak prozora.
2. Utipkaj Browse Products u Caption polje aktivnog Propertybox "toolbox", i
tada pritisni TAB.
Uklanjanje svih tabova
1. Odmah kliknite na desno od

KeyZipCode tabom da izaberete cijeli

odgovarajui "sheet".
Da bi bili sigurni da ste kliknuli na pravo mjesto, pogledajte na aktivni
Propertybox i osigurajte da njegovo Use polje ispisuje ?Sheet1. Ako ne,
pokuajte ponovo.
SLIKA1: Browse Products
2. Na tastaturi odaberite Delete.
Svi tabovi nestaju.
3. Odaberite Exit! na meniju da zatvorite Window Formatter (spremite svoje
promjene).
Brisanje moguih "sort" poredaka
1. Kliknite desno na ViewProducts proceduru i odaberite Extensions iz popup
menija.
Pojavljuje se Extension and Control Templates dijalog. Ova lista dijaloga sve
85

Actions "prompts" za sve Kontrolne obrasce koje procedura


upotrebljava. Takoer dozvoljava dodavanje i "odrava" dodatne
obrasce proceduri.
Dodatni obrasci su vrlo slini Kontrolnim obrascima, u tome, oni
dodaju specifinu funkciju proceduri, ali dodatnim obrascima funkcioniranje
nije direktno povezano sa kontrolom u prozoru.
2. Istaknite Browse on Products i tada odaberite Conditional Behavior
tab=umetak.
Slika2. Extension and Control Templates
3. Pritisnite Delete tipku dva puta.
Ovo uklanja dva uvjetna izraza koje smo umetnuli za ViewCustomers
proceduru.
4. Pritisnite OK tipku.
5. Odaberite u FileSave, ili pritisnite tipku Save na tastaturi.
Kreiranje Forme Procedure
Kada promjenite ime poziva u UpdateCustomer

proceduri, dok kopira

ViewCustomer u ViewProducts, mijenja se UpdateProduct procedura u "ToDo"


proceduru. Zbog toga trebamo kreirati formu za moderniziranje Products datoteke.
Brisanje tipa procedure za UpdateProduct
1. Istaknite UpdateProduct i zatim stisnite Properties button.
2. Istaknite Form, ne provjeravajui Use Procedure Wizard dijalog, i zatim
odaberite Select button.
3. Stisnite Files button u Procedure Properties dijalogu.
4. Istaknite "ToDo" datoteku i zatim stisnite Insert button.
5. Istaknite Products datoteku i zatim odaberite Select button.
6. Stisnite OK button za vraanje u Procedure Properties dijaloga.
7. Stisnite Window button da dizajnirate formu.
Naseljavanje polja
1. Odaberite OptionsShow Fieldbox za prikazivanje kretanja Fieldbox u
kutiji za alat.
2. Dva puta kliknite na ProdNumber u Fieldbox u kutiji sa alatom.
86

Automatski postavlja oba prompta i ulaznu kutiju za polja blizu gornjeg lijevog
kuta na prozoru.
3. Dva puta kliknite na ProdDesc u Fieldbox kutiji za alat.
Automatski postavlja oba prompta i ulaznu kutiju za polja odmah ispod zadnjeg
polja koje je bilo stavljeno.
4. Dva puta kliknite na ProdAmount u Fieldbox kutiji za alat.
5. Dva puta kliknite na TaxRate u Fieldbox kutiji za alat.
Oblik prozora izgleda otprilike ovako:
Slika : Update Records
Promjena izgleda prozorskog opisa slike, izlaza Window Formatter i
uvanje vaeg rada.
1. Kliknite na uvodnu liniju iz probnog prozora.
2. Utipkajte Product Form u Caption polje za kretanje Propertybox u kutiji za
alat, i tada pritisnite TAB.
3. Izaberite Exit! na meniju za zatvaranje Window Formatter (spremite svoje
promjene).
4. Stisnite OK button u Procedure Properties dijalogu za zatvaranje.
5. Izaberite FileSave, ili stisnite Save button na tastaturi za spremanje vaeg
rada.
Forma je napravljena.

87

KREIRANJE PREGLED NARUDBI PROCEDURE


Za ViewOrders proceduru kreirat ete prozor sa dvije sinkronizirane
tabelirane kutije tabela. Jedna predstavlja sadraj datoteke Orders, a
druga predstavlja srodne zapise u datoteci Detail.
Koristit ete osnovnu window proceduru, i " popunit" ete je
koristei Kontrolne obrasce. Kontrolni obrasci generiraju sve izvorne
kodove za kreiranje i odravanje kontrole. U tom sluaju, stavljamo
BrowseBox kontrolne obrasce dozvoljavajui Aplikacijski generator za
produkciju koda koji otvara datoteke i stavlja neophodan podatak u QUEUE
strukture (pogledaj Jezinu referencu) koje sadre podatak za predstavljanje
kutije podataka.
Kreiranje procedure
Izaberite tip procedure za ViewOrders proceduru:
1. Istaknite ViewOrders i tada stisnite Properties button.
2. Istaknite Prozor u Select Procedure Type dijalogu i stisnite Select button.
Ureivanje prozorske procedure.
1. U Procedure Properties dijalogu, stisnite Window button.
New Structure dijalog se pojavljuje. Osnovni prozor procedure je kao
prazna ploa u kojoj definirate svoj prozor. Zbog tog to procedura
nema predefiniran prozor, izabirete tip prozora koji e osigurati
vau poetnu toku. U tom sluaju, trebate MDI "child" prozor.
Slika 1. New Structure
2. Istaknite MDI "child" prozor i zatim stisnite OK button.
Pojavljuje se prozorski formater.
3. "Resize" prozor, inei ga dva puta veim od originalne veliine.
4. Utipkajte Orders u Caption polje od plovee Propertybox kutije sa
alatom, i zatim stisnite TAB.

88

Smjetanje prvog kontrolnog obrasca


1. Izaberite PopulateControl Template, ili KLIKNI na Control Template alat u
ploveoj Controls kutiji sa alatom (zadnja alatna ikona desno, u zadnjem
redu).
Nastaje Select Control Template dijalog.
2. KLIKNI u blizini gornjeg lijevog kuta prozora za primjer.
List Box Formatter nastaje, spreman za va izbor polja.
Smjetanje Orders polja datoteke u List Box Formatter.
1. Stisnite Populate button.
2. Istaknite "ToDo" pojedinost nie File-Browsing List Box i stisnite Insert
button.
3. Istaknite Orders datoteku u Insert File dijalogu, i zatim stisnite Select button.
4. Stisnite Key button i selektirajte KeyOrderNumber iz Change Access Key
dijaloga.
5. Istaknite ORD: CustNumber u Fields listi, zatim stisnite Select button.
6. Stisnite Populate button.
7. Istaknite ORD: OrderNumber u Fields listi, i zatim stisnite Select button.
8. Stisnite Populate button.
9. Istaknite ORD: InvoiceAmount u Fields listi, i zatim stisnite Select button.
10.Stisnite Populate button.
11.Istaknite ORD:OrderDate iz Fields liste i zatim stisnite Select button.
12.Stisnite Populate button.
13.Istaknite ORD:OrderNote u Fields listi, i zatim stisnite Select button.
14.Stisnite OK button da zatvorite List Box Formatter.
"Resize Browse List Box Control" vucite ruicu u sredinu desne strane
inei ih openito prostranijim (skoro prostranim kao prozor).
Nastajanje Format List Box.
1. KLIKNI DESNO na List Box, i izaberite Properties iz popup menija.
2. Izaberite Extra tab i provjerite Vertical i Horizontal kutije u List Properties
dijalogu.
Ovi horizontalni i vertikalni dodaci se zadravaju u listi.
89

3. Stisnite Font button.


Zato to je jedno polje (opisno polje) dugo, moete specificirati tu List
Box trebali bi koristiti manji font, pokazujui vie informacija bez
zahtjeva krajnjeg korisnika tabele.
4. Izaberite font (va izbor) i postavite veliinu na 8 toaka.
Vidite User's Guide za tipove na temu kao izabiranje desnih fontova za kontrole.
U principu, elite se drati fontova koje elite postaviti sa prozorima; ne
moete biti sigurni da va krajnji korisnik ima isti font na svom sistemu.
Ilustracija ispod postavlja font na Arial, koji je font tog postavljanja sa prozorima.
Slika Select Font.
5. Stisnite OK da zatvorite Select Font dijalog.
6. Stisnite OK da zatvorite List Properties dijalog.
Dodavanje Browse Update Buttons Template
Zatim, dodaj standardne tipke Insert, Change i Delete na vrh browse list
kontrolne kutije. Kasnije emo dodati formalnu proceduru za dodavanje
ili ureivanje rasporeda.
1. Izaberi PopulateControl Template, ili klikni na Control Template u Controls
toolbox (posljednja desna ikona, tipka row).
2. U Select Control Template dijalogu, istakni BrowseUpdateButtons Control
Template, a zatim pritisni tipku Select.
3. Klikni ispod lijevog ruba ovih opcija. Pojavljuju se Insert, Change i Delete
tipke.
U ovom trenutku prozor bi trebao izgledati ovako:
SLIKA1:ORDERS
Imenuj Update proceduru
1. Desnim klik na tipku Delete, zatim izaberi Actions iz popup menija.
2. Upii UpdateOrder u Update Procedure opciji.
Ovo imenuje proceduru na isti nain kao to smo imenovali Update
proceduru za Customer browse u njenom Procedure Properties dijalogu.
Imenovanjem Update Procedure za jednu tipku u Control obrascu, izvreno je
imenovanje za sve tri.
3. Pritisni tipku OK.
90

Smjetanje drugog Browse List Box-a


Zatim, smjesti list box sa sadrajem Detail datoteke. Ovo se pojavljuje
automatski kada zadnji korisnik mijenja selekciju na vrhu list box-a.
1. Izaberi PopulateControl Template, ili klikni na Control obrazac u Controls
toolbox (posljednja desna ikona, tipka row).
2. Osvijetli BrowseBox Control obrazac, a zatim stisni tipku Select.
3. Klikni direktno ispod tipke Insert koju smo ve prije smjestili na ekranu.
Smjesti polja Detail datoteke u List Box Formatter
1. Pritisni tipku Populate.
2. Osvjetli ToDo ispod druge File-Browsing List Box i pritisni tipku Insert.
3. Osvjetli Detail datoteku u Insert File dijalogu, zatim pritisni tipku Select.
4. Pritisni tipku Key.
5. Osvjetli KeyOrderNumber u Change Access Key dijalogu, zatim stisni tipku
Select.
6. Osvjetli DTL:OrderNumber u listi Fields, zatim stisni tipku Select.
7. Pritisni tipku Populate.
8. Osvjetli DTL: ProdNumber u listi Fields, zatim stisni tipku Select.
9. Pritisni tipku Populate.
10.Osvjetli DTL: Quantitiy u listi Fields, zatim stisni tipku Select.
11.Pritisni tipku Populate.
12.Osvjetli DTL: ProdAmount u listi Fields, zatim stisni tipku Select.
13.Pritisni tipku Populate.
14.Osvjetli DTL: TaxRate u listi Fields, zatim stisni tipku Select.
15. Pritisni tipku OK da zatvori List Box Formatter.
16.Presortiraj browse list kontrolnu kutiju vukui dralo sa sredine
desne strane na desno, inei je irom (otprilike da bude iroka kao
polovina prozora).
Postavi Control template djelovanje specificirajui Range Limits.
1. Desni klik u list box koju ste upravo smjestili i izaberi Actions iz popup
menija.
2. Pritisni elipsastu (...) tipku u Range Limit Field.
91

3. Osvjetli DTL: OrderNumber polje u listi Components, a zatim tipku Select.


4. Izaberi File Relationship iz Range Limit Type dolje ostavljene liste.
5. Pritisni elipsastu (...) tipku u Related File.
6. Osvjetli datoteku Orders u listi Select File, zatim stisni tipku Select.
Ova posljednja etiri koraka ograniavaju rang zapisa ispisanih u
drugoj list box na samo one Detail zapise povezane sa trenutno
osvjetljenim zapisom u datoteci Orders u list box. To govori drugom
control obrascu da koristi datoteku povezanu definiranjem u data
rjeniku da uskladi zadnju listu sa prvom.
Oblik pojavljene list kutije.
1. Izaberi Extra tab.
2. Provjeri Vertical i Horizontal kutije. Ovo dodaje horizontalne i vertikalne
linije u tool box.
3. Pritisni tipku Font.
Iako nema long polja u ovoj list box, bolje e izgledati ako
izjednaimo font sa onim koji je koriten na vrhu list box.
4. Izaberi neki font po izboru, i postavi veliinu na 8 toaka.
5. Pritisni OK za zatvaranje Select Font dijaloga.
6. Pritisni OK za zatvaranje List Properties dijaloga.

Dodavanje Close Button Control Template


Konano, moemo dodati tipku Close koja zatvara prozor.
1. Izaberi PopulateControl Template, ili klikni na Control Template u Controls
toolbox (posljednja ikona desno, tipka row).
2. Izaberi CloseButton Control template, a zatim stisni tipku Select.
3. Klikni u donjem desnom kutu prozora.
U ovom trenutku, va prozor trebao bi izgledati kao na ovoj slici.
Moe biti i vei nego podruje primjera u Window Formatter, ali ne smije
biti velik kao desktop:
SLIKA2: Orders
Zatvori Window Formatter i spremi aplikaciju.
92

1. Izaberi Exit! u Window Formatter meniju da zatvori Window Formatter.


2. Pritisni tipku OK u Procedure Properties dijalogu da ga zatvori.
3. Izaberi FileSave ili pritisni Save tipku da spremi svoj rad.

93

KREIRANJE FORME UPDATE-NARUDBA


Za OrderUpdate formu, mi emo smjestiti polja iz datoteke Order
na update formu, osiguravajui automatsko poboljanje u datoteci
Customer, dodaj BrowseBox Control template pokazujui povezane
detalje

itema,

procjenjujui

svaku

liniju

item

detalja,

zatim

procjenjujui konani poredak.


Ureivanje Basic Form
Izaberi tip procedure za UpdateOrder proceduru:
1. Osvjetli UpdateOrder u Application Tree dijalogu, zatim pritisni tipku
Properties.
2. Osvjetli Form u Select Procedure Type dijalogu, provjeri Use Procedure
Wizard kutiju, zatim stisni tipku Select.
Ureivanje Window procedure.
Pritisni tipku Window pa napravi prozor viim vukui njegov gornji srednji
kvadrati (koristi WindowFormatter vertikalne linije za pomicanje
podruja za promatranje ako je potrebno).
SLIKA: Window Formatter
Smjesti unosne kontrole za datoteku Orders.
1. Izaberi PopulateMultiple Fields, ili selektiraj DictionaryField iz Controls
toolbox.
2. U Select Field dijalogu, osvjetli item ToDo unutar Update Record on Disk,
zatim stisni tipku Insert.
3. Izaberi Orders datoteku iz liste Insert File.
4. Osvjetli ORD:OrderDate, zatim stisni tipku Select.
5. Klikni blizu gornjeg lijevog kuta u prozoru.
Time se smjetaju i polja i njihov prompt. Select Field dijalog se odmah
ponovo otvara, spreman za slijedee polje.
6. Osvjetli ORD: OrderNote, zatim stisni tipku Select.
94

7. Klikni desno od unutarnje kutije koja je tu za datum.


8. Osvjetli ORD: CustNumber, zatim stisni tipku Select.
9. Klikni ispod prompta za polje datum.
10.Pritisni tipku Cancel u Select Field dijalogu za izlaz iz multipopulate moda.
Form prozor sada izgleda slino kao ova ilustracija.
SLIKA: Update Records
Dodavanje lookup procedure u korisniku listu.
1. Desni klik na ORD: CustNumber Control i izaberi Actions iz popup menija.
Standardne akcije za bilo koju unutarnju kontrolu dozvoljava nam izvravanje
unutarnjih vrijednosti podataka iz zapisa u drugoj datoteci, bilo da je control
Selected (prije nego to je korisnik unio podatke) ili je control Accepted
(nakon to je korisnik unio podatke).
2. U When the Control is Accepted grupi kutija, pritisni elipsastu tipku (...) za
unutarnju kutiju Lookup Key.
3. Osvjetli Orders datoteku u Select Key dijalogu, zatim stisni tipku Insert.
4. Osvjetli Customer datoteku u Files listi i stisni tipku Select.
Ova zadnja dva koraka dodavaju datoteku Customer u procedure File
Schematic sa automatskim izgledom kao u datoteci Orders. Ovo je
bazirano na ureenoj vezi izmeu datoteka u rjeniku podataka.
5. Osvjetli CUS: KeyCustNumber u Select Key

dijalogu, zatim stisni tipku

Select.
Na taj nain stvoren je klju CUS: KeyCustNumber koji e biti koriten u
pokuaju dobivanja odgovarajueg osnovnog zapisa iz datoteke
Customer za vrijednost koju korisnik unese u ovaj Controls.
6. Pritisni elipsastu tipku (...) za Lookup Field unutarnju kutiju.
7. Osvjetli CUS:CustNumber polje koje mora sadravati vrijednost vrijednosti
koju je korisnik unio u ovaj Control.
8. Izaberi proceduru ViewCustomers iz Lookup procedure dolje dobivene
liste.
Ovako se poziva ViewCustomers

procedura kada korisnik unese krivu

vrijednost za broj kupca, dozvoljavajui zadnjem korisniku da vri


izbor (selektira) iz liste kupaca.
95

Provjeri Perform Lookup during Non-Stop Select i Force Window Refresh


when Accepted kutije.
Ovo osigurava da su podaci ispisani na ekranu uvijek valjani i tekui.
SLIKA: Entry Properties
9. Pritisni button Embeds u izborniku Prompts.
10.Osvijetli Selected pod Control Event Handling, after generated code i
zatim pritisni button Insert.
11.Osvijetli SOURCE, zatim pritisni Select button da bi bio pozvan Text Editor.
12.Utipkaj slijedei kod:
?ORD: CustNumber PROP: Touched=TRUE
Ovaj prikaz koristi sintaksu Clarionovog jezika Zadana svojstva (vidi
dodatak C u Jezinim preporukama) da bi se osiguralo da je dogaaj
Accepted uvijek generiran

za nadzor (bez obzira da li je korisnik unio

podatke ili ne) koji prisiljava korisnika da unese valjane podatke.


13. Izaberi Exit! (i snimi) da bi se vratili u izbornik Embedded Source.
14. Pritisni Close button da bi se vratio u izbornik Entry Properties, i zatim
pritisni OK button.
Dodaj kontrolu "samo prikaz".
1. Izaberi ControlString, ili klikni na String alat u plutajuoj Controls
toolbox (ikona koja se nalazi odmah desno od "velike strelice" na vrhu
ekrana).
2. Klikni desno od ulaznog boxa za broj kupca, kojeg si prije smjestio.
3. Klikni desnom tipkom mia na kontrolu koju si upravo smjestio, i izaberi
Properties iz popup menia.
4. Provjeri Variable String box.
Ovom specifikacijom kontrola e prikazati podatke iz varijabli, a ne
samo string konstante. Izbornik Select Field se automatski pojavljuje.
5. Osvijetli datoteku Customer na listi datoteka, zatim izaberi CUS:Company
iz liste polja i pritisni Select button.
6. Pritisni OK button da bi se zatvorio izbornik String Properties.
Smjetanje Control Templatesa datoteke Detail
Slijedei kljuni element u ovom prozoru je kontrola browse list box,
96

sinkronizirana s rednim brojem ove forme, koja prikazuje povezane zapise u


datoteci Detail.
Dodaj Detail listu.
1. Izaberi PopulateControl Template, ili klikni na alat Control Template
u plutajuoj Controls toolbox (posljednja ikona alata s desna, zadnji
red).
2. Osvijetli BrowseBox, zatim pritisni Select button.
1. Klikni ispod ulaznog boxa kupca, kojeg si prije smjestio.
2. Pritisni Populate button.
3. Osvijetli "ToDo" stavku ispod File-Browsing List Box i pritisni Insert button.
4. Izaberi datoteku Detail iz izbornika Insert File, i zatim pritisni Select button.
5. Pritisni Key button.
6. Osvijetli KeyOrderNumber u Change Acces Key izborniku, zatim pritisni
Select button.
7. Osvijetli DTL: ProdNumber u Fields listi, i zatim pritisni Select button.
8. Pritisni Populate button.
9. Osvijetli DTL:Quantity u Fields listi, zatim pritisni Select button.
10.Pritisni Populate button.
11.Osvijetli DTL:ProdAmount u Fields listi, zatim pritisni Select button.
12.Pritisni Populate button.
13.Osvijetli LOCAL DATA UpdateOrder u Fields listi, zatim pritisni New button.
Ovo vam doputa da dodate lokalne varijable bez vraanja u prozor
Procedure properties i pritiskanja tipke Data. Ova varijabla e biti
upotrebljena za prikazivanje ukupne cijene za svaku stavku.
16.Utipkaj ItemTotal u polje Name.
17.Izaberi DECIMAL iz Type liste.
18.Utipkaj 7 u polje Characters.
19.Utipkaj 2 u polje Places i pritisni OK button.
****SLIKA****
20.Pritisni Populate button.
21.Osvijetli stavku datoteke Detail ispod File-Browsing List Box i pritisni
Insert button.
97

22.Odaberi datoteku Products iz izbornika Insert file, zatim pritisni Select


button.
Ovim dodajemo datoteku Products control template's datoteci shematski kao
"lookup" datoteku. Povezani zapisi iz datoteke Products su automatski
ponovo dobiveni da bi ti sada mogao prikazati opis produkata u list boxu.
23.Osvijetli PRD:ProdDesc u Fields listi, zatim pritisni Select button.
24.Promijeni dimenziju stupaca, zatim pritisni OK button da bi zatvorio List Box
Formatter.
****SLIKA****
Sinkroniziranje browse list boxa sa rednim brojem tekueg zapisa.
1. Klikni desnom tipkom mia na list box kojeg si upravo smjestio, i izaberi
Actions iz popup menia.
2. Pritisni eliptini button za Range Limit Field.
3. Osvijetli polje DTL:orderNumber u Components listi, zatim pritisni Select
button.
4. Izaberi File Relationship iz padajue liste pod Range Limit Type.
5. Utipkaj Orders u polje Related File.
Dodaj totalni proraun u browse list box za redoslijed fakturnih
iznosa.
1. Izaberi Totaling tab.
2. Pritisni Insert button.
3. Pritisni eliptini button za Total Target Field.
4. Osvijetli datoteku Orders u Fiels listi, izaberi ORD:InvoiceAmount iz Fiels
liste, i zatim pritisni Select button.
Ovo je polje koje e primiti rezultat totalnog prorauna.
5. Izaberi Sum iz liste pod Total Type.
6. Pritisni eliptini button za Field to Total.
7. Osvijetli LOCAL DATA UpdateOrder u Files listi, izaberi ItemTotal iz Fiels
liste, zatim pritisni Select button.
8. Izaberi Each Record Read iz liste pod Total Based On.
****SLIKA****
98

9. Pritisni OK da bi zatvorio izbornik Browse Totaling.


Dodaj horizontalne i vertikalne scroll bars (strelice na rubovima okvira).
1. Izaberi Extra tab.
2. Provjeri Horizontal i Vertical box.
3. Pritisni OK da bi zatvorio izbornik List Properties.
Dodaj standardne tipke Insert, Change i Delete.
1. Izaberi PopulateControl Template ili klikni na Control Template alat u
Controls toolbox (poslijednja ikona s desna, poslijednji red).
2. U izborniku Select Control Template, izaberi BrowseUpdateButtons control
template, zatim pritisni Select button.
Kursor se premjeta u krii i u knjiicu.
3. Klikni ispod list box. Buttoni Insert, Change i Delete se svi zajedno
pojavljuju.
4. Klikni desnom tipkom mia na tipku Delete, zatim izaberi Actions iz popup
menia.
5. Utipkaj UpdateDetail u ulazni box Update Procedure.
Imenovanjem procedure auriranja za jedan button u Control template,
imenuje se za sve tri.
6. Pritisni OK button.
Dodaj "samo prikaz" kontrolu za totalnu fakturu.
1. Izaberi ControlString, ili klikni na String alat u Controls toolbox.
2. Klikni ispod donjeg desnog ugla list boxa.
3. Klikni desnom tipkom mia na kontrolu koju si upravo smjestio, i izaberi
Properties iz popup menia.
4. Provjeri Variable String box.
Ovom specifikacijom kontrola e prikazati podatke iz varijabli, a ne
samo string konstante. Automatski se pojavljuje izbornik Select
Field.
5. Osvijetli datoteku Orders u Files listi, zatim izaberi ORD:InvoiceAmount iz
Fiels liste i pritisni Select button.
99

6. Izmijeni polje Picture sa @N9.2, i zatim pritisni OK button.


Izmijeni oblik natpisa za prozor ili izai iz Window Formattera.
1. Klikni na red koji sadri natpis na primjernom prozoru.
2. Utipkaj OrderForm u polje Caption u plutajuoj Propertybox toolbox,
zatim pritisni TAB.
****SLIKA****
3. Izaberi Exit! da bi zatvorio Window Formatter.
Pokretanje
Da bi se napravio ItemTotal proraun, korektnog iznosa za svaki
Detail zapis u brows list boxu, treba dodati formulu u proceduru. Ovim
e biti doputen browse totaling za ispravan poloaj totalne fakture u
polju ORD:InvoiceAmout.
Dodavanje formulu.
1. Pritisni Formulas button u izborniku Procedure Propertys.
Pojavljuje se izbornik Formula Editor.
2. Utipkaj Item Total Formula u polje Name.
3. Pritisni eliptini button na polje Class.
4. Osvijetli Format Browse u Template Classes listi, zatim pritisni OK button.
Polje Class definira logiku poziciju zajedno sa generiranim izvornim
kodom na kojem je formula proraunata. Format Browse klasa govori
BrowseBox Control templateu da se izvri proraun svaki put kada
se oblikuje zapis za ispis u list boxu.
5. Pritisni eliptini button na polju Result.
6. Osvijetli LOCAL DATA UpdateOrder u Files listi, zatim pritisni Select button.
Ovim imenujemo polje koje e primiti rezultat prorauna. Ovo je
polje koje smo ranije definirali kroz List Box Formatter.
7. Pritisni Data button u Operands grupi.
8. Osvijetli datoteku Detail u Files listi, izaberi DTL:Quantity iz Fields liste,
zatim pritisni Select button.
Ovim smo za tebe smjestili polje DTL:Quantity u polje Statement. Polje
100

Statement sadri izraz izgrauje se, a i ti moe takoer direktno


utipkati izraz, ako eli.
9. Pritisni button * u Operators grupi.
10.Pritisni Data button u Operands grupi.
11.Osvijetli datoteku Detail u Files listi, izaberi DTL:ProdAmount iz Fields liste,
zatim pritisni Select button.
12.Pritisni Check button da bi provjerio sintaksu izraza.
Slika Formula Editor
13.Pritisnite OK tipku da se zatvori Formula Editor.
Pojavljuje se Formulas dijalog. Dok nije bilo definiranih formula, niste vidjeli ovaj
prozor kada ste najprije pritisnuli Formulas tipku na Procedure Properties
prozoru. Sada kada postoje, slijedei put kada pritisnete Formulas
tipku, prvo ete vidjeti taj dijalog.
14.Pritisnite OK tipku da se zatvori Formulas dijalog.
15.Pritisnite OK tipku u Procedure Properties dijalogu da ga zatvorite.
16.Izaberite FileSave ili pritisnite Save tipku na toolbaru (linija sa
programskim alatima) da spremite svoj rad.

Dodavanje UpdateDetail Form Procedure


Sada moemo kreirati Update Detail Form procedure koja sadri detalje o
slogovima datoteke.
Odaberite tip procedure za UpdateDetail procedure:
1. Osvijetlite UpdateDetail u Application Tree dijalogu, zatim pritisnite
Properties tipku.
2. Osvijetlite Form u Select Procedure Type dijalogu, maknite oznaku u Use
Procedure Wizard box (pravokutnik, kutija, okvir), zatim pritisnite Select
tipku.
Unesite entry controls (ulazna kontrolna jedinica) za Detail file (datoteka).
1. Pritisnite Window tipku.
2. Izaberite PopulateMultiple Fields ili Dictionary Field tool (programski alati)
iz Controls toolbox (okvir sa programskim alatima).
101

3. U Select Field dijalogu, odaberite "ToDo" jedinicu unutar Update Record on


Disk u Files listi, zatim pritisnite Insert tipku.
4. Odaberite Detail listu iz Insert File liste.
5. Osvijetlite DTL:ProdNumber, zatim pritisnite Select tipku. Select Field
dijalog se zatvara i kursor se mijenja u krii i "malu knjigu".
6. CLICK (pritisak i otputanje dugmeta na miu) blizu vrha oglednog prozora,
na lijevoj strani. Select Field dijalog se odmah ponovno pojavljuje, spreman
da unesete novo polje.
7. Osvijetlite DTL: Quantity, zatim pritisnite Select tipku.
8. CLICK ispod posljednjeg polja koje ste unijeli.
9. Pritisnite Cancel tipku u Select a Field dijalogu da napustite multipopulate
model.
To su jedina ulazna polja koja su potrebna, dok sva ostala polja u Detail file mogu
biti unesena automatski. Naravno, vrijednost za DTL: OrderNumber polje dolazi iz
Orders datoteke, a sva ostala polja dolaze iz Products datoteke.
Pogled na konanu listu
1. RIGHT-CLICK (pritisak na desno dugme na miu) na DTL: ProdNumber
control i izaberite Actions iz popup menu.
2. U When the Control is Accepted group box (grupa okvira), pritisnite
elipsastu tipku (...) za Lookup Key entry box (ulazni okvir).
3. Izaberite Detail file iz Select Key dijaloga, zatim pritisnite Insert tipku.
4. Izaberite Products file u Files listi i pritisnite Select tipku.
Ova dva koraka dodaju Products file proceduri automatski iz Detail file,
bazirano na vezi datoteka odreenoj u rjeniku podataka.
5. Osvijetlite PRD: KeyProdNumber u Select Key dijalogu, zatim pritisnite
Select tipku.
6. Pritisnite elipsastu tipku (...) za Lookup Field entry box.
7. Osvijetlite PRD: ProdNumber u Select Component listi, zatim pritisnite
Select tipku.
8. Izaberite View Products proceduru iz Lookup Procedure dropdown list.
Slika Entry Properties
9. Pritisnite Embeds tipku u Prompts dijalogu.
102

10.Osvijetlite Select unutar Control Event Handling, after generated code,


zatim pritisnite Insert tipku.
11.Osvijetlite SOURCE, zatim pritisnite Select tipku da pozovete Text editor.
12.Utipkajte slijedeu naredbu:
?DTL:ProdNumber {PROP:Touched} = TRUE
Ova naredba ini isto ono to smo inili kod gledanja polja u
UpdateOrder proceduri.
13.Izaberite Exit! da se vratite u Embedded Source dijalog.
14.Osvijetlite Accepted unutar Control Event Handling, after generated
code, zatim pritisnite Insert tipku.
15.Osvijetlite SOURCE, zatim pritisnite Select tipku.
16.Utipkajte slijedeu naredbu:
DTL:Record :=: PRD:Record

! pridruivanje varijabli slinog

imena
DISPLAY

! zatim ih prikai na ekranu

Ovo koristi Clarionov operator pridruivanja (:=:, vidi Language Reference) da


se automatski pridrue sva polja u Products file poljima u Detail file koja
imaju ista imena (dok izostavlja sva ostala polja). To znai da su sa
tom

jednom

naredbom,

PRD:ProdNumber,

PRD:ProdAmount,

PRD:TaxRate vrijednosti u Products file record (slogovi datoteke) kopirani u


DTL:ProdNumber, DTL:ProdAmount, i DTL:TaxRate polja.
17.Izaberite Exit! da se vratite u Embedded Source dijalog.
18.Pritisnite Close tipku da se vratite u Entry Properties dijalog, zatim pritisnite
OK tipku da ga zatvorite.
Dodavanje string konstanti
1. Odaberite ControlString, ili CLICK na String tool u Controls toolbox.
2. CLICK desno od prve entry box koju ste smjestili, blizu desnog ugla.
3. RIGHT-CLICK control u koji ste upravo smjestili i odaberite Properties iz
popup menu.
4. Utipkajte Order Number: u Parameter polje, zatim pritisnite OK tipku.
5. Izaberite ControlString, ili CLICK na String tool u Controls toolbox.
6. CLICK tono ispod Quantity prompt (znak koji poziva korisnika da upie
103

neku od naredbi) koji ste smjestili.


7. RIGHT-CLICK kontrolu koju ste upravo smjestili i odaberite Properties iz
popup menu.
8. Utipkajte Amount: u Parameter polju, zatim pritisnite OK tipku.
9. Izaberite ControlString, ili CLICK na String tool u Controls toolbox.
10.CLICK tono ispod posljednjeg stringa koji ste smjestili.
11.RIGHT-CLICK kontrolu koju ste upravo smjestili i odaberite Properties iz
popup menu.
12.Utipkajte Tax Rate: u Parameter polju, zatim pritisnite OK tipku.
Dodavanje "display-only" controls (upravljaaka jedinica za prikazivanje
podataka na ekranu)
1. Izaberite ControlString, ili CLICK na String tool u Controls toolbox.
2. CLICK na desno od Order Number: string koji ste smjestili.
3. RIGHT-CLICK kontrolu koju ste upravo smjestili i odaberite Properties iz
popup menu.
4. Provjerite Variable String box.
To odreuje da kontrola ispisuje podatke iz varijable, ne samo string
konstante. Select Field dijalog se automatski pojavljuje.
5. Osvijetlite Detail file u Files listi, zatim odaberite DTL:OrderNumber iz Fields
liste i pritisnite Select tipku.
6. Promijenite Picture polje na N4, zatim pritisnite OK tipku da zatvorite
String Properties dijalog.
7. Izaberite ControlString , ili CLICK na String tool u Controls toolbox.
8. CLICK desno od Product Amount: string koji ste smjestili.
9. RIGHT-CLICK kontrolu koju ste upravo smjestili i izaberite Properties iz
popup menu.
10.Stavite znak u Variable String box.
11.Odaberite DTL:ProdAmount iz Fields liste i pritisnite Select tipku.
12.Promijenite Picture polje u N9.2, zatim pritisnite OK tipku da zatvorite
String Properties dijalog.
13.Odaberite ControlString , ili CLICK na String tool u Controls toolbox.
14.CLICK desno od Tax Rate: string koji ste smjestili.
104

15.RIGHT-CLICK kontrolu koju ste upravo smjestili i izdvojite Properties iz


popup menu.
16.Provjerite Variable String check box (okvir za oznaku).
17.Izdvojite DTL:TaxRate iz Fields liste i pritisnite Select tipku.
18.Promijenite Picture polje u N3.2, zatim pritisnite OK tipku da zatvorite
String Properties dijalog.
19.Izaberite ControlString ili CLICK na String tool u Controls toolbox.
20.CLICK desno od DTL:ProdNumber entry box koju ste smjestili.
21.RIGHT-CLICK kontrolu koju ste upravo smjestili i izdvojite Properties iz
popup menu.
22.Provjerite Variable String check box.
23.Osvijetlite Products file u Files listi, zatim izdvojite PRD:ProdDesc iz Fields
liste i pritisnite Select tipku.
24.Pritisnite OK tipku da zatvorite String Properties dijalog.
25.Izaberite Exit! da zatvorite Window Formatter.
26.Pritisnite OK tipku da zatvorite Procedure Properties dijalog.
27.Izaberite FileSave ili pritisnite Save tipku na toolbaru da spremite svoj rad.
Slika Update Records

105

KREIRANJE IZVJETAJA
Jednostavna korisnika lista
Posljednji korak koji treba obraditi u ovom priruniku je pravljenje
izvjetaja. Najprije emo kreirati jednostavnu korisniku listu da vas
upoznamo

sa

Report

Formatter

(program

za

oblikovanje

ispisa

(izvjetaja)). Zatim emo kreirati Invoice Report da pokaemo kako


moete

lako

kreirati

Relational

vierazinskim odvojenim

reports

(relacijski

izvjetaji)

sa

grupama, sumama grupa i formatiranjem

stranica.

Promjena Izbornika
Dodavanje elementa iz menia
1. RIGHT-CLICK na Main proceduru u Application Tree dijalogu i izaberite
Window iz popup menu.
2. Izaberite MenuMenu Editor iz Window Formatter's menu (izbornik).
3. Osvijetlite P&rint Setup lan u Menu Editor listi.
4. Pritisnite Item tipku.
5. Utipkajte Print &Customer List u Text polju, zatim pritisnite TAB.
Odreivanje akcije za novi element
1. Izdvojite Actions tab.
2. Izaberite Call a Procedure iz When Pressed drop down liste.
3. Utipkajte CustReport u Procedure Name polju.
4. Provjerite Initiate Thread box.
Dodavanje drugog elementa iz menia
1. Pritisnite Item tipku.
2. Utipkajte Print &Invoices u Text polju.
3. Izdvojite Actions tab.
4. Izaberite Call a Procedure iz When Pressed drop down list.
5. Utipkajte InvoiceReport u Procedure Name polju.
106

6. Oznaite Initiate Thread box.


7. Pritisnite Close tipku da zatvorite Menu Editor.
8. Izaberite Exit! da zatvorite Window Formatter (spremite svoj rad).
Kreiranje Izvjetaja
Sada moete kreirati prvi izvjetaj, koristei Report Formatter.
1. Osvijetlite CustReport proceduru u Application Tree.
2. Pritisnite Properties tipku.
3. Osvijetlite Report u Select Procedure Type dijalogu, skinite oznaku u Use
Procedure Wizard box, zatim pritisnite Select tipku.
Slika Select Procedure Type
4. Pritisnite Report tipku u Procedure Properties dijalogu.
Slika Report Formatter
Report Formatter se pojavljuje. Ovdje moete vidjeti izvjetaj i njegove
upravljake jedinice. Report Formatter prezentira etiri osnovna dijela
strukture podataka izvjetaja (REPORT), pokazujui Page Header
(zaglavlje stranice), Detail, Footer (donje zaglavlje) i Form (oblik
izlaznih podataka poslije obrade) kao etiri "bands". Svaki "band" je
zasebni entitet. Vidite User's Guide (vodi za korisnika) poglavlje Using
the Report Formatter (Upotreba Report Formattera) da dobijete vie informacija
o dijelovima izvjetaja i kako se generiraju.
Za ovaj izvjetaj, stavit ete broj stranice u zaglavlje, zatim smjestite
polja iz Customer file (Korisnika datoteka) u Detail band.
Smjetanje string konstante
1. Izaberite ControlsString ili String tool iz Controls toolbox.
2. CLICK na vrh Page Header band.
3. RIGHT-CLICK na kontrolu, zatim izaberite Properties iz popup menu.
String Properties dijalog se pojavljuje.
4. Utipkajte Page Number: u Parameter polje, zatim pritisnite OK tipku.
5. Promijenite veliinu upravljake jedinice tako da bude dovoljno
iroka da sadri tekst DRAGGING (povlaenje - postupak pomicanja
mia po nekoj povrini dok je istodobno pritisnuta tipka na gornjoj
povrini mia) njen desni crveni kvadrati.
107

Postaviti kontrolu da printa Page Number (broj stranice)


1. Izaberite ControlsString ili String tool iz Controls toolbox.
2. CLICK na desno od prethodno smjetenog stringa.
3. RIGHT-CLICK na kontrolu, zatim izaberite Properties iz popup menu.
4. Oznaite Variable String box.
5. Type n2 u Picture polju.
Type ?PageNumber u Use polje.
To ini kontrolnu varijablu USE poljem jednake naljepnice. Printanje
broja stranice na izvjetaj ne zahtijeva varijablu.
6. Izaberite Page No iz Total Type liste.
7. To kazuje izvjetaju da stavi broj stranice u upravljaku jedinicu.
8. Pritisnite OK tipku da zatvorite String Properties dijalog.
Popunjavanje 'Detalja'
Detalj red se ispie jednom za svaki slog u reportu. Za tu proceduru, postaviti
ete polja vodoravno, to kreira 'columnar' report za printanje.
1. Izaberi PopulateMultiple Fields, ili klikni na Dictionary Field alat u Controls
kutiji alata.
2. U File Schematic Definition dialogu, oznaite "ToDo" 'folder', zatim stisnite
Insert tipku.
3. Izaberi Customer file iz Insert File dialoga, i stisni Select tipku.
4. Stisni Key tipku.
5. Oznai CUS:KeyCustNumber u Change Access Key dialogu, i pritisni Select
tipku.
6. Oznai CUS:Company u Fields listi i pritisni Select tipku.
7. Klikni unutar Detail reda, blizu gornjeg lijevog kuta.
8. Oznai CUS:FirstName u Field listi i pritisni Select tipku.
9. Klikni unutar Detail reda, ispod prvog kontrola.
10.Oznai CUS:LastName u Field listi i pritisni Select tipku.
11.Klikni unutar Detail reda desno od kontrola koji ste postavili.
12.Oznai CUS:Address u Field listi i pritisni Select tipku.
13.Klikni unutar Detail reda, ispod drugog kontrola koji ste postavili.

108

Promjena veliine Detial reda.


1. Pritisni Cancel tipku da se zatvori Select Field dialog i da se izae iz
multi-populate moda.
2. Klikni unutar Detail reda, ali ne na string kontrol.
Pojave se ruke Detail podruja.
3. Promijeni veliinu Detail reda premjetanjem srednje donje ruke
prema dolje, pusti prostora za otprilike jo dvije linije.
Postavljanje ostatka polja.
1. Izaberi PopulateMultiple Fields, ili klikni na Dictionary Field alat u
Controls kutiji alata.
2. Oznai CUS:City u Fields listi, i pritisni Select tipku.
3. Klikni unutar Detail reda, ispod zadnjeg kontrola koji ste postavili.
4. Oznai CUS: State u Fields listi, i pritisni Select tipku.
5. Klikni unutar Detail reda, desno od prije postavljenog kontrola.
6. Oznai CUS:Zipcode u Fields listi, i pritisni Select tipku.
7. Klikni unutar Detail reda, desno od prije postavljenog kontrola.
8. Pritisni Cancel tipku da se zatvori Select Field dialog i da se izae iz
multi-populate moda.
Report Formatter bi trebao izgledati otprilike ovako:
SLIKA Report formatter
Primjetite da imate isti skup alata za poravnavanje koji ste ve
upotrebljavali u Window Formatteru.
Izbor baznog fonta za report.
1. Izaberi EditReport Properties za postavljanje atributa.
2. Pritisni Font tipku.
3. Izaberi font, stil i veliinu baznog fonta za report.
Ako ne izaberete font za report, printati e upotrebljavajui font
printera. Trebali biste izabrati font za koji znate da korisnik ima
(fontovi iz Windowsa su obino sigurni).
4. Pritisni OK tipku za zatvaranje Select Font dialoga.
5. Pritisni OK tipku za zatvaranje Report Properties dialoga.
109

Prikazivanje reporta.
1. Izaberi Preview! da se vidi kako e printana stranica izgledati.
2. Oznai Detail u listi Details i pritisni Add tipku nekoliko puta.
To popunjava preview sa nekim redovima za pregled. Zbog toga to
se moe imati nekoliko redova razliitih vrsta za jedan report,
morate odabrati koje vidjeti prije printanja previewa. Tako, report
formatter zna to ukomponirati na ekran.
SLIKA Preview Print Details
3. Pritisni OK tipku.
SLIKA Report Formatter
4. Kada smo vidjeli, izaberi Band view!.
5. Izaberi Exit! za povratak u Procedure Properties dialog.
6. Izaberi OK tipku za zatvaranje Procedure Properties dialoga.
7. Izaberi FileSave ili pritisni Save tipku na tool baru za spremanje svog rada.

Narudzba Report
Sljedee emo kreirati jedan od najeih vrsta reporta. Raun
upotrebljava veinu datoteka u rjeniku, pokazujui kako kreirati grupe i
cjeline. Takoer emo pokazati

kako kontrolirati kreiranje stranica

bazirano na grupama.
Kreiranje reporta
1. Oznaite Invoice Report proceduru.
2. Pritisni Properties tipku.
3. Oznaite Report u Select Procedure Type okviru, iskljui Use Procedure
Wizard

opciju, pritisni Select tipku.

Procedure Properties okvir e se pojaviti.


Specifikacija datoteka za Report
1. Pritisni Files tipku u Procedure Properties okviru.
File Schematic Definition okvir se pojavi.
110

2. Oznai ToDo oznaku, pritisni Insert tipku.


3. Izaberi Customer datoteku iz Insert File i pritisni Select tipku.
4. Izaberi Key tipku.
5. Oznai CUS: KeyCustNumber u Change Access Key okviru i pritisni
Select tipku.
Report

obraditi

sve

slogove

Customer

datoteci

po

CustomerNumber redu.
6. Oznai Customer datoteku, pritisni Insert tipku.
7. Izaberi Orders datoteku, iz Insert File, pritisni Select tipku.
Obradit e sve Orders za svaki Customer.
8. Oznai Orders datoteku, pritisni Insert tipku.
9. Izaberi Detail datoteku iz Insert File, pritisni Select tipku.
Svaki Order e ispisati sve povezane slogove Detail.
10.Oznai Detail datoteku, pritisni Insert tipku.
11.Izaberi Products datoteku iz Insert File, pritisni Select.
Svaki Detail slog e biti povezan sa slogom u Products datoteci.
Sada File Schematic bi trebao ovako izgledati:
SLIKA File Schematic Definition
12.Pritisni OK tipku, za povratak u Procedure Properties okvir.
Postavljanje Report defaulta
1. Pritisni Report tipku.
2. Izaberi EditReport Properties za postavljanje default atributa.
3. Pritisni Font tipku.
4. Izaberi font stil i veliinu za upotrebu kao bazni font za report.
SLIKA Select Font
Ako ne izaberete font za report printat e koristei fontove printera.
Treba izabrati font koji znate da korisnik ima (fontovi iz Windowsa
su obino sigurni).
5. Pritisni OK tipku za zatvoriti Select Font.
6. Pritisni OK tipku za zatvoriti Report Properties.
Popunjavanje Page Form reda
Page form red se ispisuje jednom na svakoj stranici reporta. Sadraj se
111

komponira jednom kada je report otvoren. To je korisno za konstantne


informacije koje e biti na svakoj stranici reporta.
Postavljanje stringa
1. Izaberi ControlsString, ili izaberi String alat iz Controls kutije za alate.
2. Klikni na vrhu, na sredini Page Form reda.
3. Dvaput klikni na control.
String Properties se pojavljuje.
4. Upii Invoice u polje Parametar.
5. Pritisni Font tipku.
6. Izaberi font, stil i veliinu za upotrebu teksta (neto veliko i jasno bi
bilo poeljno).
7. Pritisni OK tipku za zatvoriti Select Font.
8. Pritisni OK tipku za zatvoriti String Properties.
9. Promijenite veliinu kontrola da bude dovoljno velik da stane tekst
vuen za ruke.
Postavljanje sljedeeg stringa
1. Izaberi ControlsString ili izaberi String alate iz Controls kutije alata.
2. Klikni na vrhu Page Form redu, ispod zadnjeg postavljenog stringa.
3. Klikni desno na control, pa izaberi Properties iz popup menia.
4. Upii ime kompanije u polje Parameter.
5. Pritisni Font tipku i izaberi font, stil i veliinu za upotrebu teksta
(neto malo manje nego prethodno polje bi odgovaralo).
6. Pritisni OK tipku za zatvaranje Select Font.
7. Pritisni OK tipku za zatvaranje String Properties.
8. Promijeni veliinu controla tako da stane tekst, vuen za ruke.
SLIKA Report Formatter
Popunjavanje Detail reda
Detail red se ispisuje svaki put

kad se nova informacija ita iz

najnieg nivoa dijete datoteke u File Schematic. Za ovaj Invoice report


najnii nivo dijete datoteka je Detail file (Products je u relaciji Many to one sa
Detail File).
112

1. Izaberi PopulateMultiple Fields, ili klikni DictionaryField alat u Controls


kutiji alata.
2. Oznaiti Detail u Files listi i izaberi DTL : Quantity u Fields listi i stisni
Select tipku.
3. Klikni unutar Detail reda, blizu gornjeg lijevog kuta.
4. Oznai DTL: ProdNumber u Fields listi i pritisni Select tipku.
5. Klikni unutar Detail reda desno od prvog controla.
6. Oznai Products u Files listi i izaberi PRD: ProdDesc iz Fields liste i pritisni
Select tipku.
7. Klikni unutar Detail reda, desno od controla koji je upravo postavljen.
8. Oznai Detail u Files listi i izaberi DTL : ProdAmount u Fields listi i pritisni
Select tipku.
9. Klikni unutar Detail reda, desno od zadnjeg kontrola.
10.Oznai LOCAL DATA InvoiceReport u Files listi pritisni New tipku.
Ovo

omoguava

dodavanje

lokalne

varijable

bez

vraanja

Procedure Properties prozor i odabiru Data tipke. Ove varijable e se


koristiti za ispis cijene za svaku liniju.
11.Upii ItemTotal u polju Field Name.
12.Izaberi DECIMAL iz Type liste.
13.Upii 7 u polje Chars.
14.Upii 2 u polje Places i pritisni OK tipku.
15.Klikni unutar Detail reda, desno od zadnjeg kontrola.
16.Pritisni Cancel tipku za izlaz iz multi-populate moda.
17.Pomakni sve controlse na vrh Detail reda, poravnaj ih okomito, promijeni
veliinu reda tako da je malo vei od controlsa.
Dodavanje Group Breaks
Trebamo ispisati razliite informacije na stranici za svaki raun.
Zbog toga, treba kreirati BREAK strukturu koja omoguuje da se neto
ispie svaki put kad se informacije iz Orders datoteka promjene i svaki
put kad se promijene informacije iz Customer datoteke.
1. Izaberi BandsSurrounding Break, i klikni na Detail red.
Pojavit e se Break Properties okvir.
2. Pritisni ellipsis (....) tipku za polje Variable.
113

3. Oznai Orders u Files listi i izaberi ORD: CustNumber u Fields listi i pritisni
Select tipku.
4. Upii ORD: CustNumberBreak u polje Label i pritisni OK tipku.
SLIKA Break properties
Break (ORD: CustNumber) traka pojavljuje se iznad Detail trake, koja se
pojavljuje utisnuta u namjeri da je zajedno sa Break strukturom.
5. Odabrati BandsSurrounding Break, zatim CLICK na Detail traku.
Pojavio se Break Properties dijalog.
6. Pritisnuti elipsa (...) gumb za polje Variable.
7. Istaknuti Detail u Files listi zatim selektirati DTL: OrderNumber u Fields listi i
pritisnuti Select gumb.
8. Identificirati DTL: OrderNumberBreak u polju Label, zatim pritisnuti OK gumb.
Sada skica izvjetaja izgleda otprilike ovako:
SLIKA: Report Formatter.
Kreirati grupu Headers (voe) i Footers (pjeaci).
1. Izabrati

BandsGroup

Header,

zatim

CLICK

na

Break

(DTL:

OrderNumber) traku.
Group Header (DTL: OrderNumber) traka pojavljuje se iznad Detail trake. Ta
traka e stalno tampati vrijednost u DTL: OrderNumber polju
promjena, na poetku svake nove grupe uvjeta. Mi emo to
iskoristiti za tampanje imena kompanije, adrese, zajedno sa
fakturiranim brojevima i datumima.
2. Izabrati

BandsGroup

Footer,

zatim

CLICK

na

Break

(DTL:

OrderNumber) traku.
3. RIGHT-CLICK, zatim izaberite Properties iz popup menija.
Pojavio se Page/Group Footer Properties.
4. Pohraniti kutiju Page after.
Ovo uzrokuje aktiviranje printera za printanje ove trake, zatim
pokree Page Overflow. Ovo e urediti traku Page Footer, rezultat
forme ubacivanja podataka na printer, zatim ureuje traku Page
Header za sljedeu stranu.
5. Pritisnuti OK gumb.
Ispod Detail gumba se pojavljuje Group Footer (DTL: OrderNumber) gumb.
114

Ovaj gumb e stalno printati vrijednost u polju promjena DTL:


OrderNumber, na kraju svake grupe uvjeta. Mi emo to upotrijebiti
za printanje cijele fakture.
6. Odabrati BandsGroup Footer, zatim CLICK na traku Break (ORD:
CustNumber).
7. RIGHT-CLICK, zatim iz popup menija odabrati Properties.
8. Pohraniti kutiju Page after.
9. Pritisnuti gumb OK.
Ispod trake Group Footer (ORD: CustNumber) pojavljuje se traka Group
Footer (DTL: CustNumber). Ta traka e stalno printati vrijednost u
polju promjena ORD: CustNumber, na kraju svake grupe uvjeta. Mi
emo upotrijebiti to za printanje saetih informacija faktura za
svaku kompaniju.
SLIKA: Report Formatter.
Nastanjivanje Group Header Band
Namjestiti polja datoteke Customer.
1. Izabrati PopulateMultiple Fields ili CLICK na kreaturu Dictionary Field u
Controls kutiji sa alatima.
2. Istaknuti Customer u listi Files zatim selektirati CUS: Company u listi Fields i
pritisnuti Select gumb.
3. CLICK unutar trake Group Header (DTL: OrderNumber), u blizini gornjeg
lijevog kuta.
4. Istaknuti CUS: FirstName u Fields listi i pritisnuti Select gumb.
5. CLICK unutar trake Group Header (DTL: OrderNumber) ispod prve
kontrole.
6. Istaknuti CUS: LastName u Fields listi i pritisnuti Select gumb.
7. CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
kontrole koju ste upravo namjestili.
8. Istaknuti CUS: Address u listi Polja i pritisnuti Select gumb.
9. CLICK unutar trake Group Header (DTL: OrderNumber), ispod druge
kontrole koju ste namjestili.
10.Istaknuti CUS: City u listi Fields, zatim pritisnuti Select gumb.
115

11.CLICK unutar trake Group Header (DTL: OrderNumber), ispod posljednje


kontrole koju ste namjestili.
12.Istaknuti CUS: State u listi Fields, zatim pritisnuti Select gumb.
13.CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
prethodno namjetene kontrole.
14.Istaknuti CUS: ZipCode u listi Fields, zatim pritisnuti Select gumb.
15.CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
prethodno namjetene kontrole.
Namjetanje polja datoteke Orders.
1. Istaknuti Orders u listi Files, a zatim selektirati ORD: OrderNumber u listi
Fields i pritisnuti gumb Select.
2. CLICK unutar trake Group Header (DTL: OrderNumber), u blizini desnog
kuta na vrhu.
3. Istaknuti ORD: OrderDate u listi Fields, zatim pritisnuti gumb Select.
4. CLICK unutar trake Group Header (DTL: OrderNumber), ispod posljednje
kontrole koju ste namjestili.
5. Pritisnuti Cancel gumb za zatvoriti Select Field dijalog i izai iz multipopulate naina.
Namjetanje stalnog teksta i naslovne kolone.
1. Izabrati ControlsString, ili odabrati String kreaturu iz Controls kutije sa
alatima.
2. CLICK unutar liste Group Header (DTL: OrderNumber), lijevo od ORD:
OrderNumber kontrole koju ste namjestili.
3. Identificirati OrderNumber: u polju Caption u PropertyBox kutiji sa alatima,
zatim pritisnuti TAB.
4. Izabrati ControlsString ili odabrati String kreaturu iz kutije sa alatima
Controls.
5. CLICK unutar liste Group Header (DTL: OrderNumber), lijevo od ORD:
OrderDate kontrole koju ste namjestili.
6. Identificirati Order Date: u polju Caption iz kutije sa alatima PropertyBox,
zatim pritisnuti TAB.
116

7. Izabrati ControlsString ili odabrati String kreaturu iz kutije sa alatima


Controls.
8. CLICK unutar trake Group Header (DTL: OrderNumber), na lijevom kraju
ispod Customer datoteke koju ste namijestili.
9. Identificirati Quantity u polju Caption u kutiji s alatima PropertyBox, zatim
pritisnuti TAB.
10.Izabrati ControlsString ili odabrati kreaturu String iz kutije s alatima
Controls.
11.CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
posljednjeg stringa kojeg ste namijestili.
12.Identificirati Product u Caption polju iz kutije s alatima PropertyBox, zatim
pritisnuti TAB.
13.Izabrati ControlsString ili odabrati kreaturu String iz kutije s alatima
Controls.
14.CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
posljednjeg stringa kojeg ste namijestili, direktno iznad DTL: ProdAmount
kontrole u traci Detail.
15.Identificirati At: u polju Caption iz kutije s alatima PropertyBox, zatim
pritisnuti TAB.
16.Izabrati ControlsString ili odabrati kreaturu String iz kutije s alatima
Controls.
17.CLICK unutar trake Group Header (DTL: OrderNumber), na desno od
posljednjeg stringa kojeg ste namijestili, direktno iznad ItemTotal kontrole u
traci Detail.
18.Identificirati Item Total u polju Caption iz kutije s alatima PropertyBox,
zatim pritisnuti TAB.
Namjetanje debele linije ispod naslovne kolone.
1. Izabrati ControlsBox ili odabrati Box kreaturu iz Controls kutije s alatima.
2. CLICK unutar trake Group Header (DTL: OrderNumber), ispod Quantity
stringa kojeg ste namijestili.
3. Ponovno sortirati kutiju sa DRAGGING njezinih nespretnosti nakon to se
pojavljuje kao debela linija preko izvjetaja ispod kolone naslova.
117

4. Selektirati Extra tab, zatim pritisnuti Fill Color gumb.


5. Odabrati boju za kutiju iz Fill Color dijaloga (crna je u donjem lijevom uglu),
zatim pritisnuti OK gumb.
6. Pritisnuti OK gumb za zatvoriti Box Properties dijalog.
Vaa skica izvjetaja sada izgleda ovako:
SLIKA: Report Formatter.
Nastanjivanje Invoice Group Footer Band
Namjetanje stalnog teksta i cjelokupnog polja.
1. Izabrati ControlsString ili odabrati String kreaturu iz Controls kutije s
alatima.
2. CLICK unutar trake Group Footer (DTL: OrderNumber) u sredini trake.
3. Identificirati Order Total: U Caption polju u kutiji s alatima PropertyBox,
zatim pritisnuti TAB.
4. Izabrati ControlsString ili odabrati String kreaturu iz Controls kutije s
alatima.
5. CLICK unutar trake Group Footer (DTL: OrderNumber), na desno od
stringa kojeg ste upravo namijestili.
6. RIGHT-CLICK i izabrati Properties iz popup menija.
7. Pohraniti Variable String kutiju.
8. Pritisnuti elipsa (...) gumb za Use polje.
9. Istaknuti LOCAL DATA InvoiceReport u listi Files, selektirati ItemTotal iz
polja Fields, zatim pritisnuti Select gumb.
10.Identificirati N9.2 u polju Picture.
11.Selektirati Sum iz Total type padajue liste.
12.Selektirati DTL: OrderNimberBreak iz Reset on padajue liste.
SLIKA: String Properties.
13.Pritisnuti OK gumb.
Ovo e dodati sve ItemTotal sadraje za Invoice i ponovno e ih sloiti od
nule do vrijednosti u DTL: OrderNumber polju promjena.
Namjetanje linije iznad cjeline.
1. Izabrati ControlsLine ili odabrati Line kreaturu iz Controls kutije s alatima.
118

2. CLICK unutar Group Footer (DTL:OrderNumber) band, iznad


kontrola upravo smjetenih
3. Preoblikuj liniju sa DRAGGING sve dok se ne pojavi iznad obje
kontrole upravo smjetene.
4. DESNI-CLICK i izaberi Properties iz menia.
Ako imate problema u dobivanju horizontalne linije upotrebom mia,
samo namjesti Height polje na nulu (0) na kontrolnoj Position.
5. Izaberi Extra tab, zatim pritisni Fill Collor tipku.
6. Izaberi boju za kutiju iz Fill Collor dijaloga (crna je na dnu lijevog
kuta), zatim pritisni OK tipku.
7. Pritisni OK tipku za zatvoriti Line Properties dijalog.
Slika Report Formatter
Ispunjavanje Korisnikog Group Footer Band
1. Izaberi Controls > String, ili String alat iz Controls toolbox.
2. CLICK unutar Group Footer (ORD:CustNumber) grupe, u sredini
grupe.
3. Oznaka Invoice Summary for: u Caption polju od PropertyBox
toolbox, zatim pritisni TAB.
4. Izaberi Controls >String, ili String tool iz Controls toolbox.
5. CLICK unutar Group Footer (ORD:CustNumber) grupe, ispod niza
koji ste upravo smjestili.
6. Oznaka Total Orders: u Caption polju od PropertyBox toolbox, zatim
pritisni TAB.
7. Izaberi Controls > String ili String tool iz Controls toolbox.
8. Pritisni unutar Group Footer (ORD:CustNumber) grupe, tono u
desno od niza koji ste upravo smjestili.
9. DESNI-CLICK i izaberi Properties iz menia.
10.Provjeri Variable String box.
11.Pritisni eliptinu tipku (...) za Use polje.
12.Osvijetli LOCAL DATA InvoiceReport u Files listi, zatim pritisni New
tipku.
13.Oznaka InvoiceCount u Name polju.
119

To je polje koje e ispisati broj rauna ispisanih za odreenu


kompaniju. Mi emo napisati mali izvorni kod za brojati raun.
14.Izdvoji LONG od Type dropdown list, zatim pritisni OK tipku.
Slika New Field Properties
15.Oznaka N3 u Picture polju, zatim pritisni OK tipku.
16.Izaberi Controls >String, ili String tool iz Controls toolbox.
17.Pritisni unutar Group Footer (ORD:CustNumber) grupe, tono u
desno od niza koji ste upravo smjestili.
18.DESNI-CLICK i izaberi Properties iz menia.
19.Provjeri Variable String box.
20.Pritisni eliptinu tipku (...) za Use polje.
21.Osvijetli LOCAL DATA InvoiceReport u Files listi, zatim pritisni New
tipku.
22.Izdvoji LONG od Type dropdown list, zatim pritisni OK tipku.
23.Izdvoji ORD:CustNumberBreak iz Reset on dropdown list.
To je ista vrsta polja koje smo smjestili u DTL:OrderNumber group
footer, ali e se resetirati samo kada se ORD:CustNumber
promijeni.
24.Pritisni OK tipku.
25.Izaberi Populate > Multiple Fields ili CLICK na Dictionary Field u
Controls tool box.
26.Osvijetli Customer u Files listi,zatim izaberi CUS:Company u Fields
listi i pritisni Select tipku.
27.CLICK unutar Group Footer (ORD:CustNumber) grupe, tono u
desno od Invoice Summary for: niza koji ste upravo smjestili.
28.Pritisni Cancel tipku za izlaz.
Va dizajn izvjetaja je sada kompletan.
Slika
29.Izaberi Exit! za povratak u Procedure Properties dijalog (uvjeri se
da si sauvao dizajn izvjetaja).
Dodavanje formule
Da bi ItemTotal polje sadravalo toan iznos za svaki Detail record
u raunu, potrebno je dodati formulu u postupak.
120

Dodati formulu
1. Pritisni Formulas tipku u Procedure Properties dijalog.
Pojavi se Formula Editor.
2. Oznaka Item Total Formula u Name polju.
3. Pritisni eliptinu tipku (...) za Class polje.
4. Osvijetli Before Print Detail u Template Classes listi, zatim pritisni
OK tipku.
Before Print Detail govori obrascu izvjetaja da obavi obraun
svaki put kada je spreman za ispis Detail.
5. Pritisni eliptinu tipku (...) u Result polju.
6. Osvijetli LOCAL DATA InvoiceReport u Files listi,izaberi ItemTotal iz
Fields liste, zatim pritisni Select tipku.
7. Pritisni Data tipku u Operands grupi.
8. Osvijetli Detail file u Files listi,izaberi DTL:Quantity iz Fields liste,
zatim pritisni Select tipku.
Ovo smjeta DTL:Quantity polje u Statement polje za vas. Statement
polje sadri iznesene (izgraene) izraze i vi moete direktno
tipkati u njega da iznesete izraz, ako elite.
9. Pritisni * tipku u Operators grupi.
10.Pritisni Data tipku u Operands grupi.
11.Osvijetli Detail file u Files listi, izaberi DTL:ProdAmount iz Fields
liste, zatim pritisni Select tipku.
12.Pritisni Check tipku za provjeru izraza.
13.Pritisni OK tipku za zatvaranje Formula Editor.
14.Pritisni OK tipku za zatvaranje Formulas dijaloga i vrati se u
Procedure Properties dijalog.
Izlaz i spremanje
1. Pritisnite OK button u Procedure Properties prozoru da bi ga
zatvorili
2. Izaberite File Save, ili pritisnite ikonicu Save na toolbaru da bi
spremili svoj rad

121

Ogranieno izvjee (Range Limited Report)


Ograniit emo izvjee za printanje narudbi samo jednog korisnika.
Kreiranje izvjea
1. Oznaite proceduru InvoiceReport
2. Izaberite Procedure Copy
3. Upiite CustInvoiceReport u ulazno polje i pritisnite OK.
Kopirana procedura se pojavljuje u stablu aplikacije, umjesto ToDo
Modificiranje izvjea
1.
2.
3.
4.

Oznaite CustInvoiceReport proceduru


Desna tipka mia i izaberite Properties
Pritisnite button Embeds
Oznaite Beginning of Procedure, After Opening Files i pritisnite Insert

Ovo mjesto koda je na poetku procedure, prije nego se poinje


obraivati izvjee. Bitno je da su datoteke ve otvorene, jer emo
pozivati drugu proceduru za odabir korisnika. Kad datoteke ne bi bile
otvorene, procedura koju emo pozvati bi za sebe otvorila datoteku
Korisnik i zatim ju i zatvorila, a izgubili bi podatke koje elimo u izvjeu.
5. Oznaite SOURCE i pritisnite Select
6. Upiite slijedei kod:
GlobalRequest = SelectRecord
Ovo aktivira button Select u Browse proceduri.
7. Izaberite Exit!
8. Oznaite kod koji ste upravo dodali i pritisnite button Insert
9. Oznaite Call a procedure i pritisnite Select
10. Izaberite proceduru ViewCustomer i pritisnite OK.
Iz ove procedure e se izabirati korisnik za izvjee.
11. Pritisnite Close za povratak u Procedure Properties.
Postavljanje Range Limit-a
1.
2.
3.
4.
5.

Pritisnite button Report Properties.


Selektirajte tab Range Limits.
Pritisnite button () pored Range Limit Field
Oznaite CUS:CustNumber i pritisnite Select.
Za Range Limit Type ostavite Current Value i pritisnite OK.

Time odreujemo da e izvjee biti za trenutno odabranu vrijednost


broja korisnika.
Izlaz i spremanje
1. Pritisnite OK button u Procedure Properties prozoru da bi ga
zatvorili.

122

2. Izaberite File Save, ili pritisnite ikonicu Save na toolbaru da bi


spremili svoj rad.
to Dalje?
estitke, doli ste do kraja poduke! Dobro doli u rastuu zajednicu
razvoja Clariona.

123

You might also like