You are on page 1of 119

CLARION FOR WINDOWS PRIRUNIK ZA POETNIKE

SADRAJ:
UVOD .................................................................................................................................... 5
Dobrodoli na brzi put do razvoja windows aplikacija ............................................. 5
to moete pronai u ovoj knjizi................................................................................. 6
Gdje moete pronai vie informacija......................................................................... 7
Dokumentacijske konvencije.............................................................................................. 8
Vrste slova:...................................................................................................................... 8
Konvencije oznaavanja tastature ................................................................................... 8
Registracija ovog proizvoda............................................................................................ 8
Tehnika podrka ............................................................................................................ 8
Sustav topspeed fax retrieval .......................................................................................... 9
Setup ................................................................................................................................... 9
Sustav zahtjeva ................................................................................................................... 9
Setup program ................................................................................................................. 9
Instaliranje (Starting Setup) .......................................................................................... 10
Instalacijske opcije ........................................................................................................ 10
Startanje Clariona za windowse .................................................................................... 10
QUICK START TUTORIAL ........................................................................................... 11
Upotreba quick start wizard-a .......................................................................................... 11
Modificiranje vaeg rjenika ......................................................................................... 14
Auriranje aplikacije ..................................................................................................... 15
Dodavanje datoteka s brzim uitavanjem ......................................................................... 15
Dodavanje veze ............................................................................................................. 17
Procedure wizards ............................................................................................................ 18
Upotreba browse wizard-a ............................................................................................ 19
Application wizard ........................................................................................................... 20
Upotreba application wizard-a ...................................................................................... 21
to dolazi slijedee........................................................................................................ 22
RAZVOJNI TOK ............................................................................................................... 22
Template driven programming ......................................................................................... 23
Korak kroz razvojno okruenje ........................................................................................ 24
The Dictionary Editor ................................................................................................... 24
Generator aplikacija ...................................................................................................... 25
Formatiranje prozora (the window formatter)............................................................... 26
Formatiranje izvjea .................................................................................................... 27
Editiranje teksta............................................................................................................. 27
Editor formula ............................................................................................................... 27
Projekt sistem ................................................................................................................ 27
Debager ......................................................................................................................... 28
PLANIRANJE APLIKACIJE .......................................................................................... 28
Zadaci aplikacije............................................................................................................... 28
Podaci i datoteke podataka ............................................................................................... 29
Klijent fajl (Kupac) ....................................................................................................... 29
Telefonski fajl ............................................................................................................... 30
Fajl narudbi.................................................................................................................. 30
Fajl detalja ..................................................................................................................... 30
Fajl proizvoda................................................................................................................ 31
Referencijalni integritet................................................................................................. 31
2

Kompletna shematska baza ........................................................................................... 31


Aplikacijski interfejs (meusklop) ................................................................................... 32
STVARANJE RIJENIKA PODATAKA ...................................................................... 33
Fajlovi tutorial-a ............................................................................................................ 33
Stvaranje rijenika ............................................................................................................ 33
Kopiranje datoteka iz jednog rijenika u drugi ................................................................ 34
Kopiranje definicija telefonskog file-a ......................................................................... 35
Povezivanje datoteka i postavljanje referencijalno integriranih opcija ............................ 35
Setiranje referencijalno integriranih veza ..................................................................... 36
Spremite svoj rad........................................................................................................... 37
Predefiniranje window kontrolnih formata ...................................................................... 37
DODAVANJE DATOTEKA I POLJA ............................................................................ 39
Definiranje novih datoteka podataka ................................................................................ 39
Imenovanje datoteka Proizvodi i Stavke:...................................................................... 40
Definiranje polja ............................................................................................................... 40
Definiranje polja za datoteku NARUDZBA ................................................................. 40
Definiranje polja za datoteku STAVKE ....................................................................... 42
Definiranje polja za datoteku PROIZVODI .................................................................. 44
DODAVANJE KLJUEVA ............................................................................................. 46
Definiranje kljueva za datoteku Narudzba ..................................................................... 46
Kreiranje primarnog kljua ........................................................................................... 46
Definiranje vanjskog kljua .......................................................................................... 47
Definiranje kljua za datoteku Stavke .............................................................................. 48
Definiranje prvog vanjskog kljua ................................................................................ 48
Definiranje drugog vanjskog kljua .............................................................................. 49
Definiranje kljua za datoteku Proizvod .......................................................................... 49
Kreiranje primarnog kljua ........................................................................................... 50
DODAVANJE RELACIJA ............................................................................................... 51
Definiranje relacija za orders file (datoteku narudbi) ................................................. 51
Definiranje veza za detail datoteku (stavke) ................................................................. 52
Definiranje validacije zavisne o vezi................................................................................ 53
Definiranje validacije za novi order zapis..................................................................... 53
Definiranje validacije za novi detail zapis .................................................................... 54
KREIRANJE APLIKACIJE ............................................................................................ 55
Kreiranje .App Datoteke................................................................................................... 55
Kreiranje Main Procedure ............................................................................................. 55
Ureivanje Izbornika ........................................................................................................ 56
Dodavanje Aplikacijskih Alata ........................................................................................ 59
Testiranje aplikacije ..................................................................................................... 62
KREIRANJE BROWSE .................................................................................................. 64
Kreiranje Popisa Korisnika .............................................................................................. 64
Popunjavanje i formiranje List Box Control-a .............................................................. 65
Dodavanje tabova .......................................................................................................... 67
Testiranje korisnikog browse (izgleda prozora) .......................................................... 68
Postavljanje sortiranih redova ....................................................................................... 68
Zatvaranje Customer Browse ........................................................................................ 69
BROWSE UPDATE PROCEDURA ............................................................................... 71
Kreiranje Update Procedure ............................................................................................. 71
Dodavanje procedure ToDo..................................................................................... 71
Kreiranje Update Procedure.......................................................................................... 71
3

Popunjavanje polja ........................................................................................................ 72


Pomicanje i svrstavanje polja ........................................................................................ 73
Dodavanje BrowseBox Control Template-a ................................................................. 75
Dodavanje BrowseUpdateButtons Control Template ................................................... 77
Kraa Phones Update Form-e ................................................................................... 77
KREIRANJE PROCEDURE ZA PREGLED PROIZVODA ....................................... 79
Kopiranje procedure ......................................................................................................... 79
Rad s embed points-ima ................................................................................................ 80
Promjena kopirane procedure ........................................................................................... 81
Kreiranje Forme Procedure ........................................................................................... 83
KREIRANJE PREGLED NARUDBI PROCEDURE ............................................... 85
Kreiranje procedure .......................................................................................................... 85
Smjetanje prvog kontrolnog obrasca ........................................................................... 86
Dodavanje Browse Update Buttons Template .............................................................. 87
Smjetanje drugog Browse List Box-a .......................................................................... 88
Dodavanje Close Button Control Template .................................................................. 89
KREIRANJE FORME UPDATE-NARUDBA ............................................................. 90
Ureivanje Basic Form ................................................................................................. 90
Smjetanje Control Templatesa datoteke Detail ........................................................... 92
Pokretanje ......................................................................................................................... 95
Dodavanje UpdateDetail Form Procedure .................................................................... 97
KREIRANJE IZVJETAJA........................................................................................... 102
Jednostavna korisnika lista ........................................................................................... 102
Promjena Izbornika ..................................................................................................... 102
Kreiranje Izvjetaja ..................................................................................................... 103
Popunjavanje 'Detalja' ................................................................................................. 104
Narudzba Report ............................................................................................................. 106
Kreiranje reporta ......................................................................................................... 106
Popunjavanje Page Form reda ..................................................................................... 107
Popunjavanje Detail reda ............................................................................................ 108
Dodavanje Group Breaks ............................................................................................ 109
Nastanjivanje Group Header Band.............................................................................. 111
Nastanjivanje Invoice Group Footer Band.................................................................. 113
Ispunjavanje Korisnikog Group Footer Band ........................................................... 114
Dodavanje formule ...................................................................................................... 116
Ogranieno izvjee (Range Limited Report) ............................................................ 117
Kreiranje izvjea ........................................................................................................ 117
to Dalje? .................................................................................................................... 118
LITERATURA ................................................................................................................. 119

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

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.
to moete pronai u ovoj knjizi
Knjiga Getting Started je vae prvo uvoenje u Clarion okruenje. U nastavku su navedeni
dijelovi knjige i kratko prikazan njen sadraj:
Uvod
Prvo poglavlje: poglavlje koje upravo itate. Neki od materijala ovoga poglavlja se takoer
pojavljuje u istoimenom poglavlju Users Guide.
Setup
Drugo poglavlje: prvi od koraka jest kako instalirati Clarion.
6

Neki od materijala ovoga poglavlja se nalazi u istoimenom poglavlju Users Guide.


Ukoliko ne moete ekati da isprobate Clarion za Windowse prijeite na drugo poglavlje.
Quick Start Tutorial
Tree poglavlje: nekoliko brzih koraka sa Quick Start Wizard omoguuje vam da kreirate
kompletnu aplikaciju u pet minuta.
Uloite manje od sata i ovo poglavlje e vam pokazati kako upotrijebiti Application
Generator i Wizards za kreirati jednostavnu aplikaciju, nakon ega proiriti njenu
funkcionalnost na sofisticirani program koji u potpunosti rukovodi sa dvoje povezanih
filea. Postii ete to bez da napiete ijednu liniju koda.
Development Flow
etvrto poglavlje: uvod u programiranje Clariona za Windowse.
Sadri opise funkcionalnih dijelova razvojnog okruenja i pogled na korake koje morate
poduzeti za kreiranje vae aplikacije. Neki od materijala ovoga poglavlja se takoer
pojavljuju u istoimenom poglavlju Users Guide.
Hands On Tutorial
Peto poglavlje: Uvodi veinu alata razvojnog okruenja. Zapoinje sa etapama planiranja,
zatim prolazi kroz kreiranje rijenika podataka pomou Dictionary Editora. Nai ete
Application Generator i raditi sa Procedure, Control i Code templateima za produciranje
Order Entry aplikacije. Raditi ete sa Window Formatter-om za dizajniranje izvjetaja.
Upotrebljavati ete Text Editor za ugraivanje izvornog koda Clarion jezika u kod
generiran od strane templatea.
Gdje moete pronai vie informacija
Dostupne su etiri knjige i znatna pomo za Clarion za Windowse. Ova sadri vodi gdje
pogledati za dodatne informacije.
Prirunik Getting Started je knjiga koju upravo itate. Osigurava dva korak po korak
tutoriala . Prvi upotrebljava Clarion za Windowse Quick Start Wizard i procedure Wizard
za brzo kreiranje aplikacija. Drugi osigurava proireno razvojno okruenje, kreirajui
Order Entry sistem.
Users Guide osigurava radno - orijentirani opis razvojnog okruenja, ureenog po
glavnim komponentama. Opisuje template koji postavljaju produkte na odreeno mjesto i
brinu o dodatnim informacijama kao to su Clarion za Windowse file driveri.
Language Reference je kompletan vodi za Clarion jezik. Osigurava opise svih izvjetaja i
funkcija sa primjerima za sve. Language Reference je organiziran po funkcijskim
predmetima.
Clarionovo razvojno okruenje takoer vodi brigu o Windows help sistemu. Help se
pojavljuje pritiskom na funkcijsku tipku F1 ili odabirom jedne od komandi u 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

Oznaavaju ta treba upisati sa tastature kao


npr. Utipkaj ovo.

VELIKA SLOVA

Oznaavaju pritiske tipki koje treba unjeti sa


tastature kao npr. ENTER ili ESCAPE.

Masna slova

Oznaavaju komandu ili opciju iz padajueg menija


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.

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
8

(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 korisno-prijateljski.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
Ovo poglavlje objanjava Clarion za Windovse, zahtjeve sustava, instalacijske procese i
opcije.
Sustav zahtjeva
Moete preletiti po razvojnoj okolini Clariona po bilo kojem sustavu u kojem susreemo
minimum sustavskih zahtjeva za Microsoft Windows 3.x, Windows 95, ili Windows NT
3.51.

Windows 3.x, 8 Megabajta od RAM-a preporueno.


Windows 95, 12 Megabajta od RAM-a preporueno.
Windows NT 3.51, 16 Megabajta od RAM-a preporueno.
Minimum od 8 do 20 Megabajta slobodnog prostora tvrdog diska, ovisi o instalacijskim
opcijama koje ste izabrali.

Aplikacije koje ste razvili sa Clarion-om za Windowse e ugodno izvriti na kompjuterima


koji sreu samo minimum zahtjeva za ovaj operativni sustav.
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.
9

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.
Instaliranje (Starting Setup)
Za startanje Clarion instalacijske programe u Windows 3,x:
1. Umetni disk iz instalacijskih disketa u vau disketnu jedinicu.
2. Iz Program Menagera, File Menagera, ili drugog programa sposobnog da lansira
program, izaberi File- Run.
3. Upii A:\SETUP (ili B:\SETUP) u run dialog i pritisni OK tipku.
Instalacijski program osigurava uvodni ekran i drugi tekst informacija.
Ubrzava vas za vau eljenu Setup opciju.
Za startanje Clariona za Windowse instalacijskog programa u Windows 95:
1. Umetni disk jedan in instalacijskih diskova u vau disketnu jedinicu.
2. Iz poetnog menu-a, izaberi Settings - Control Panel.
3. Izaberi Add/Remove Programs zatim pritisni Install tipku.
Windows 95 Wizard e utjecati preko instalacijskog procesa.
Instalacijske opcije
Prije nego ponete instalirati,vidjet ete razotkriveni ekran s mnogobrojnim opcijama.
1. Izaberi Instalacijske opcije provjeravajui kutije koje eli instalirati zatim pritisni OK
tipku.
2. Navedi eljenu jedinicu i direktorij zatim pritisnite OK tipku.
Setup e instalirati poslatue komponente Clarion razvojnue okoline u BIN poddirektorij
jednu razinu ispod eljenog direktorija kojeg ste naveli u dialogu. Clario za Windowse
Instalacijskog programa instalirat e sve dosjeje u eljenj direktorij i poddirektorij nie.
Za vrijeme instaliranja progresne reetke e otkriti Instalacijske kopije fajlova
(dosijea).
3. Izaberi Yes ili No kada Setup upita vrijeme modificiranja PATH za vas. Za Windows
3.x, Clarion za Windowse razvojne okoline zahtjeva da BIN poddirektorij bude izlistan
u PATH okolnoj varijabli. Ako izaberete No, morate urediti AUTOEXE.BAT dosije
runo. Jedina druga promjena iz bilo kojeg vaeg sistemskog dosijea je ta to Clarion za
Windowse dodaje svoju vlastitu sekciju WIN.INI kad ju ispisujete prvi put.
4. Izaberite Yes ili No kada Setup pita vrijeme otkrivanja ReadMe fajla.
Ako ne elite
itati odmah,nai ete ikonu za to u Program Menageru ili u Start menu-u koje Setup
kreira za vas. Mi preporuujemo itanje im Setup kopira sve dosijee.
5. Pritisni OK tipku kada je Setup gotov.
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.
10

Clarion za Windowse razvojne okoline pretpostavimo da je spreman za va 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 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.
11

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

12

(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 broja. To je uzorak


picture koji formira mjesta za peteroznamenkasti U.S. potanski broj.
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)
13

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

14

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

telefonske brojeve za kupce. To e nam dopustiti da nam stane to vie telefonskih brojeva
za svakog kupca.
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 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)

16

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

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.
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.
Izmjena Browse procedure.
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.
18

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.
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.
(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)
odgovor na pitanje Koju datoteku elite pretraiti? i pritisnite Next button.

kao

(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
19

Phones koji su povezani sa zapisima iz datoteke


procedure.

Costumer upravo u vrijeme poziva

(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)
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
povratak u Clarion for Windows.
15.Izaberite File

Exit za

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.
Upotreba Dictionary Editor-a za postavljanje Wizard opcija
20

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
Properties button. Pojavljuje se Edit Key Properties dialog.

pritisnite

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

8. Ukljuite opciju Application Wizard i pritisnite OK.


(SLIKA APPLICATION WIZARD)
9. Pritisnite Next button.
(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.

22

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 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.
Application Generator generira sve vae aplikaciske izvorne kodove iz template-a i svih
vaih snimanja.

23

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

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 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).
25

(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.
(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)
Menu Editor kako biste pozvali editor menia, ukoliko prozor ima
Odaberite Menu
meni. Editirajte tekst menia i nove dijelove menia sa Item gumbom te specificirajte
funkciju odreene naredbe iz menia koristei Actions tab.

26

(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 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)
27

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

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
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
(CUSTOMER)

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


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

NARUDBA
pri
(ORDER)

osnovne informacije potrebne za sakupljanje podataka neophodnih


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

DETALJ
(DETAIL)

proizvod, cijena i koliina narueni za stavku na datoj fakturi:


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.

PROIZVODI
(PRODUCTS)

informacije o proizvodima prodanim od kompanije, ukljuujui broj


proizvoda, opisa cijena. Ovi se podaci mijenjaju samo kod promjena
cijena ili kad se dodaje novi proizvod.

Klijent fajl (Kupac)

29

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 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.
Fajl detalja

30

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 cijene. Kada prodava
pogleda proizvod poimenu, pozove ga po imenu aplikacija umee broj proizvoda u zapis
detalja. Proizvodni kod je primarni klju bilo koja dva proizvoda ne mogu imati isti kod, a
svaki proizvod mora imati svoj kod. Dodatno polje mora sadravati poreznu ratu za
proizvode.

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

31

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

32

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.
Kada startate Quick Start, iako niste stvarno koristili Dictionary Editor, prvo ste definirali
rijenik podataka. To predstavlja Dictionary Editor.
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.
Imenujte i spremite novi file rijenik.
33

1. Izaberite File

Save As iz menija. Pojavljuje se Save Dictionary dijalog.

2. Selektrirajte poddirektorij (npr., TUTORIAL, ispod Clarion for Windows


u listi Directories.

direktorija)

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
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.
Kopiranje datoteka iz jednog rijenika u drugi
Moete koristiti copy i paste komande za kopiranje file definicija iz jednog u drugi
rijenik.
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.
34

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.
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.
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.
Stoga, morate definirati veze izmeu ta dva file-a.
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

35

To je klju koji odgovara primarnom kljuu u korisnikom (Customer) file-u;


stoga, to je vanjski klju.
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 roditelj-dijete 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 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.

36

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.
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.
Setirajte Validity Checks kako biste kreirali padajuu box listu za State 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
Postaviti osnovne vrijednosti za opis polja:
1. Selektirati TAB Attributes.
2. Utipkati ,FL, u polje Initial Value (ukljuujui jednostruke navodnike).

37

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.
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
(kontrolnu) sa DROP atributima.

LIST

3. Pritisnite OK dugme za zatvoriti Edit Field Proporties okruje.


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

38

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" izlistanu pored
njega.

39

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 Definirajte polje BrojKupca tako da odgovara polju u datoteci Kupci.
To vam omoguava da kasnije poveete datoteke.
40

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 sluaju d1
oznaava MM/DD/YY format. Prostor za dijalog prenosi reprezentaciju formatiranja
dalje polju.

41

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 o postupcima.
Utipkaj NarudzbaOznaka u polje Name.
Odaberi STRING od Tipova u padajuoj listi.
Utipkaj 80 u polje Chars.
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.
2. Odaberi SHORT od Tipova u padajuoj listi.
3. Pritisni OK opciju.
42

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.
2. Pritisni Cancel opciju da zatvori izbornik New Field Properties.
3. Pritisni Close opciju da zatvori izbornik Field/Key Definition.
43

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.
Definirajte polje Porezni Izdaci.
44

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.

45

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

46

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.
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:
47

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

InvAmount

ProdNumber

Product

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

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

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

50

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.
SLIKA.
3. Pritisnuti OK button.
Definiranje druge veze.
51

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 i 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 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.
52

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

53

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

54

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

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.

55

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 iteme 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.
Ureivanje Izbornika
Iz Window Formatter izbornika, moete pozvati Menu Editor, koji vam dozvoljava
dodavanje ili ureivanje izbornika za aplikacijski okvir prozora. Ako dodate izbornike
56

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

57

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

58

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 i 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 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.
59

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
7. Izaberi Action.
8. Izaberi Call a Procedure iz When Pressed sputenih opcija.
9. Izaberi ViewCustomers iz Procedure Name sputenih opcija.
10.To je ime procedure koju smo utipkali ViewCustomers predmetnom meniu.
Kada pritisnemo dugme pozvat e se ista procedura. Obino, komandno dugme
na crti za alate slui za bri nain izvravanja naredbi iz menia.
11. Provjeri Initiate Thread kutiju.
12. 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.
60

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

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! meni i odgovori s Yes kad vas pita da li elite spremiti promjene u
prozoru.
Ovo vas vraa direktno u Application Tree prozor. Jo uvijek sadri iste dvije
procedure oznaene s (To Do) : ViewCustumers i ViewOrders .
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:
62

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.

63

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 Browse Procedure template u Select Procedure Type okviru, iskljui
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.

64

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

List Field Properties

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

65

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

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

67

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 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
68

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 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.
10. Pritisnite eliptiko dugme () do Key to Use polja.
11. Osvjetlite CUS:KeyZipCode onda pritisnite Select dugme na Select Key dijalog.
12. Pritisnite OK dugme.
SLIKA SA 103. STRANICE
13. 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.
69

3. Odaberite FileSave, ili pritisnite Save dugme na traci s alatima za snimanje svog
posla.

70

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

71

1. Osvjetlite UpdateCostumer u Application Tree dijalog, te pritisnite 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.
Ovo premjeta oba polja i njihove promptove. To izostavlja bilo to ste specificirali u
rjeniku podataka.
4. KLIKNITE na Company u padajuem Fieldbox.
72

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.
10. KLIKNITE na Address u padajuem Fieldbox.
11. KLIKNITE odmah ispod prompt namjeten za prezime.
12. KLIKNITE na City u padajuem Fieldbox.
13. KLIKNITE odmah ispod prompt namjeten za polje adresa.
14. KLIKNITE na State u padajuem Fieldbox.
15. KLIKNITE odmah ispod prompt namjeten za grad.
Ovo namjeta prompt i padajuu listu. Mi smo predefinirali ovo polje kao LIST control sa
DROP atributom u rjenik podataka. Otkako ima predefiniran skup vrijednosnih ulaza,
ne trebamo ga formatirati.
16. KLIKNITE na ZipCode u padajuem Fieldbox.
17. 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 na
plavo, dok ranije odabrani kontrolni izbornik je crveno. Sad imate odabrane dvije
kontrole.

73

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.
10. SHIFT + DRAG (pomak) LastName ulazni box ulijevo to blie promptu.
11. CTRL + KLIKNITE na prompt LastName.
12. 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
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.
74

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

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

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:
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
77

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.
Sada se upotrebljava, slijedee upozorenje koje smo prenijeli u proceduru s imenom
nae aplikacije.
Slika: Procedure name clash
6. Odabere se opcija Replace All
7. Ova implementacija procedure daje aplikaciju u obliku:
Slika: Application Tree
8. Odabere se FileSave ili Save opcija u glavnom izborniku.
Da bi se vidjelo da li sve funkcionira pokrene se aplikacija.

78

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 procedure.
79

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

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

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

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.
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:
83

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.

84

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.

85

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.
3. Stisnite Font button.

86

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.

87

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

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

89

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, a
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.
7. Klikni desno od unutarnje kutije koja je tu za datum.
8. Osvjetli ORD: CustNumber, zatim stisni tipku Select.
90

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

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, 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.
92

3. Klikni ispod ulaznog boxa kupca, kojeg si prije smjestio.


4. Pritisni Populate button.
5. Osvijetli "ToDo" stavku ispod File-Browsing List Box i pritisni Insert button.
6. Izaberi datoteku Detail iz izbornika Insert File, i zatim pritisni Select button.
7. Pritisni Key button.
8. Osvijetli KeyOrderNumber u Change Acces Key izborniku, zatim pritisni Select
button.
9. Osvijetli DTL: ProdNumber u Fields listi, i zatim pritisni Select button.
10. Pritisni Populate button.
11. Osvijetli DTL:Quantity u Fields listi, zatim pritisni Select button.
12. Pritisni Populate button.
13. Osvijetli DTL:ProdAmount u Fields listi, zatim pritisni Select button.
14. Pritisni Populate button.
15. 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.
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****
93

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****
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).

94

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

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

96

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

97

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

! pridruivanje varijabli slinog imena


! 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,
98

PRD:ProdNumber, PRD:ProdAmount, i 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 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.

99

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

Slika Update Records

101

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 reports (relacijski izvjetaji) sa
vierazinskim odvojenim 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.
6. Oznaite Initiate Thread box.
7. Pritisnite Close tipku da zatvorite Menu Editor.
102

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

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

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

105

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.
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 e obraditi sve slogove u Customer datoteci po CustomerNumber redu.
6. Oznai Customer datoteku, pritisni Insert tipku.
106

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

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).
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.
108

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 u 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.
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.
109

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

110

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

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 multi-populate
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.
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.
112

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

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

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

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

116

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


117

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.
to Dalje?
estitke, doli ste do kraja poduke! Dobro doli u rastuu zajednicu razvoja
Clariona.
Ovaj program je namijenjen normalnom procesu upotrebe Clarion's Application
Generator i svi njegovi udrueni "alati" su usmjereni ka kreiranju Windows aplikacije koje
trenutno posluuju moderne zadatke. Vi ste upotrijebili veinu od seta najvie razine i
vidjeli koliko rada moe biti uinjeno za vas bez pisanja izvornog koda. Vidjeli ste koliko
malo dodatnih izvora treba ugraditi.
Dakle, gdje morate ii odavde da bi nauili vie?
Najbolje mjesto za slijedei korak (osim stvaranja aplikacija sa vaim dizajnom) su
poglavlja iz User's Guide koji opisuje standardni Clarion obrazac (set): upotreba
proceduralnog obrasca i upotreba kontrolnog, kodnog i proirenog obrasca. Ova dva
poglavlja detaljno objanjavaju sve mogunosti obrazaca dostupnim u Application
Generator. Postoji mnogo primjera programa na vaem disku koji demonstriraju neke
trikove koje moete primijeniti u vaem Clarion programiranju.
Takoer vam predlaemo da pogledate u generated code za te programe
upotrebljavajui Text Editor da vidite da Clarion jezini kod Application Generator pie za
vas. To ete nai u TUTOR*.CLW files u \CW 15\ TUTORIAL direktoriju. Language
Reference je vaa biblija za sva pitanja i va izlaz za uenje vie mogunosti nieg nivoa
Clariona za Windowse.
Takoer, visoko preporuujemo pridruivanju zajednici korisnika koji redovno posjeuju
na forum na CompuServe (GO TOPSPEED). Nivo savjeta i pomoi koji ti korisnici
provode je nedostignut u industriji. Forum uvijek posjeduje najnovije informacije o novim
proizvodima, sa neprocjenjivom pomoi ostalih upuenih korisnika, pa ih je uputno i
korisno kontaktirati.

118

LITERATURA

CLARION FOR WINDOWSTM, Getting Started, TopSpeed Corporation, Pompano


Beach, Florida, a996.

Pavli M., Razvoj informacijskih sustava, Znak, Zagreb, 1996.

119

You might also like