Clarion knjiga

Embed Size (px)

Citation preview

_

CLARION FOR WINDOWS PRIRUNIK ZA POETNIKE

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

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

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

4

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

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

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

Help meniju. Help je ureen u obliku dialog boxa, radi pruanja preciznog help teksta kada vam je on potreban. Kompletan tekst Language Reference je na liniji. Kada radite sa Text Editorom, postavite mjesto za umetanje na izvjetaj ili funkciju Clarionovog jezika, nakon ega pritisnite tipku F1 za pogled na pomo o podatku. Template Language Reference je kompletan vodi za Clarionov Template jezik. Osigurava opise svih izvjetaja i funkcija sa primjerima za svaki. Kompletan tekst Template Language Reference je takoer na liniji. Dokumentira Clarionov Template jezik, jasno demonstrirajui kako napisati na vlastiti template. Ovaj dokument vam je dostupan kroz main tabelu sadraja za help sistem. Ako se odluite za printanu kopiju Template Language Reference, pogledajte proizvodnu snimljenu kartu. Vano: ako se bilo koji dio help teksta kosi sa printanom dokumentacijom, on screen help ima prednost. TopSpeed korporacija ulae napore da osigurava vrijeme printanu dokumentaciju. Ipak, vrijeme potrebno printeru moe proizvesti zaostajanje; dok moemo uitati help fileove koji koegzistiraju sa revizijom proizvoda, printani materijal se mora uhvatiti kasnije. Dokumentacijske konvencije Dokumentacija koristi vrstu slova i oznaavanja tipki kao to slijedi. Vrste slova: Kosa slova Oznaavaju ta treba upisati sa tastature kao npr. Utipkaj ovo. Oznaavaju pritiske tipki koje treba unjeti sa tastature kao npr. ENTER ili ESCAPE. Oznaavaju komandu ili opciju iz padajueg ili teksta u dijalekt prozoru. Opaska: ova vrsta slova takoer koriste kao razliite vrste da bi pristajalo masnim helvetica slovima koje Windovsi koriste kao sistemski font. GOTIKO PISMO Upotrebljava se za dijagrame, listing izvornog koda za biljeenje primjere kao i za primjere upotrebe izvornih komandi. Oznaava pritisak tipke. Pritisni i otpusti tipku F1. Oznaava kombinaciju pritiska tipke. Drite stisnutu tipku alt i pritisnite tipku X. Zatim otpustite obje tipke. 7

VELIKA SLOVA

Masna slova menija

Konvencije oznaavanja tastature F1 ALT+X

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

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

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

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

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

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

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

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

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

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

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

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

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

16

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

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

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

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

o Upotreba Dictionary Editor-a za postavljanje Wizard opcija1. 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. 3. Oznaite datoteku Costumer i pritisnite Field/Keys button. 4. Selektirajte Keys tab, kliknite na KeyCostNumber da bi ga oznaili i tada pritisnite Properties button. Pojavljuje se Edit Key Properties dialog. 19 qwtutor.dct, i

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

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

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

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

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

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

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

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

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

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

vrijednost varijabli. To e vam olakati pronalaenje greaka kako bi vaa aplikacija bila savrena!

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

28

Podaci i datoteke podataka Prvi zadatak u planiranju strukture datoteke je procjena koje podatke aplikacija potrebuje i kako ih memorirati s minimalnom koliinom dupliciranja. Dobro upravljanje bazom podataka ukljuuje odravanje posebnih zasebnih podatkovnih fajlova (datoteka) za svaki "ENTITET" ili grupu diskretnih podatkovnih elemenata. Podatkovni entiteti koje ova aplikacija sadri su: KLIJENT se (CUSTOMER) seli).Stvoreni fajlom. NARUDBA neophodnih pri (ORDER) informacije iz osnovne informacije potrebne za sakupljanje podataka printanju fakture (raun s popisom robe). Ona "trai" drugih fajlova kao to su klijentovo ime i adresa. Kada prodava uzima novu narudbu, dodaje zapis ovom fajlu. DETALJ fakturi: (DETAIL) proizvod, cijena i koliina narueni za stavku na datoj 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. informacije o proizvodima prodanim od kompanije, proizvoda, opisa cijena. Ovi se podaci mijenjaju samo kod cijena ili kad se dodaje novi proizvod. Klijent fajl (Kupac) Ovaj fajl memorira (uskladituje) "konstante" podatke kao to su klijentovo ime i adresa. Puno je efikasnije uskladiti ove podatke na jednom mjestu, doputajui jednostavnu izmjenu pri promjeni informacija. Ovo isto tako tedi prostor eliminirajui redudantne informacije o klijentu u narudbi fajla; inae, ako bi postojalo tisuu naredbi za kompaniju xyz, informacija o adresi bi se ponovila tisuu puta. Reduciranje zahtjeva 29 klijentovo ime i adresa, odnosno podaci o imenu i adresi, koji mijenjaju samo u sluaju kada se klijent (mie, su u QUICK START MENIJU. Zajedno s odnosnim telefon

PROIZVODI ukljuujui broj (PRODUCTS) promjena

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

30

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

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

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

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

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

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

34

Kopiranje datoteka iz jednog rijenika u drugi Moete koristiti copy i paste komande za kopiranje file definicija iz jednog u drugi rijenik. o Otvorite drugi rijenik podataka, selektirajte file, i kopirajte (copy): 1. Izaberite File Pick iz menija i zatim selektirajte Dictionary tab. 2. Selektirajte QWKTUTOR.DCT file iz file liste, i pretisnite Select dugme. Otvara se jo jedan Dictionary dijalog, koji sadri sve file definicije iz Quick Start aplikacije. SLIKA 3. Selektirajte Customer file iz Files liste. 4. Izaberite Edit Copy. 5. Pritisnite CTRL + F6, ili CLICK na TURORIAL.DCT Dictionary dijalog. To ini Tutorial dictionary aktivnim rijenikom. 6. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog. Ova operacija ne kopira samo file definicije; kopira i kljueve. 7. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog. Kopiranje definicija telefonskog file-a Sada koristei copy i paste komande kopirajte ostale file definicije. o Selektirajte file i kopirajte: 1. 2. 3. 4. Pritisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog. Selektirajte Phones file iz Files liste. Izaberite Edit Copy. Pretisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog. To ini Tutorial dictionary aktivnim rijenikom. 5. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog. 6. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog. o Zatvorite Quick Start rijenik podataka. 1. Pritisnite CTRL + F6, ili CLICK na QWKTUTOR.DCT Dictionary dijalog. 2. Pritisnite Close dugme, ili izaberite File Close. Povezivanje datoteka i postavljanje referencijalno integriranih opcija Definicije file-a moete kopirati (ukljuujui njihove kljueve), ali Clarion for Windows ne dozvoljava da kopirate relacije iz drugih direktorija. 35

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

Constraints group box-u. Cascadiranje promjene znai da se aplikacija proiruje na promjenu i posljednji zapis polja vanjskog kljua (child file), za sve child file zapise povezane sa tim parent file zapisom. 2. Izaberite Restrict iz On Delete padajue liste. Restriktiranje brisanja znai da aplikacija ne dozvoljava brisanje roditelja sa djecom. SLIKA 3. Pritisnite OK i zatvorite New Relationship Properties dijalog. U ovom trenutku, vrh vaeg Dictionary dijaloga izgreda ovako: SLIKA Pogledajte na male strelice lijevo od povezanog file imena u Related Files listi. To pokazuje vrstu veze izmeu dva file-a. Dvostruke zagrade (>> ili String ili String tool iz Controls toolbox. 8. Pritisni unutar Group Footer (ORD:CustNumber) grupe, tono u desno od niza koji ste upravo smjestili. 9. DESNI-CLICK i izaberi Properties iz menia. 10.Provjeri Variable String box. 11.Pritisni eliptinu tipku (...) za Use polje. 12.Osvijetli LOCAL DATA InvoiceReport u Files listi, zatim pritisni New tipku. 13.Oznaka InvoiceCount u Name polju. 119

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

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

121

Ogranieno izvjee (Range Limited Report) Ograniit emo izvjee za printanje narudbi samo jednog korisnika. Kreiranje izvjea 1. Oznaite proceduru InvoiceReport 2. Izaberite Procedure Copy 3. Upiite CustInvoiceReport u ulazno polje i pritisnite OK. Kopirana procedura se pojavljuje u stablu aplikacije, umjesto ToDo Modificiranje izvjea 1. 2. 3. 4. Oznaite CustInvoiceReport proceduru Desna tipka mia i izaberite Properties Pritisnite button Embeds Oznaite Beginning of Procedure, After Opening Files i pritisnite Insert

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

Time odreujemo da e izvjee biti za trenutno odabranu vrijednost broja korisnika. Izlaz i spremanje 1. Pritisnite OK button u Procedure Properties prozoru da bi ga zatvorili.

122

2. Izaberite File Save, ili pritisnite ikonicu Save na toolbaru da bi spremili svoj rad. to Dalje? estitke, doli ste do kraja poduke! Dobro doli u rastuu zajednicu razvoja Clariona.

123