CLARION FOR WINDOWS – PRIRU ČNIK ZA POČETNIKE
SADRŽAJ: UVOD......................................... .............................................................. ........................................... ............................................ .............................................. ............................ 5 Dobrodošli na brzi put do razvoja windows aplikacija ............................................. ............................................. 5 Što možete pronaći u ovoj knjizi.............................................. ...................................................................... ................................... ........... 6 Gdje možete pronaći više informacija............................................. ..................................................................... ............................ .... 7 Dokumentacijske konvencije............................. konvencije.................................................... .............................................. .......................................... ................... 8 Vrste slova:.................................... slova:........................................................... ............................................... ............................................... ................................... ............ 8 Konvencije označavanja tastature ...................................................... .............................................................................. ............................. ..... 8 Registracija ovog proizvoda................................................ ........................................................................ ............................................ .................... 8 Tehnička podrška ........................................... .................................................................. .............................................. .......................................... ................... 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 vašeg rječnika............................................ .................................................................. ............................................ ........................ 14 Ažuriranje aplikacije ............................................ ................................................................... .............................................. .................................. ........... 15 Dodavanje datoteka s brzim u čitavanjem.............................................. ..................................................................... ........................... .... 15 Dodavanje veze .............................................. ..................................................................... .............................................. ........................................ .................17 Procedure wizards ........................................... .................................................................. ............................................... .......................................... .................. 18 Upotreba browse wizard-a .............................................. ..................................................................... .............................................. ....................... 19 Application wizard .............................................. ..................................................................... .............................................. ...................................... ............... 20 Upotreba application wizard-a ................................................... ........................................................................... ................................... ........... 21 Što dolazi slijede će............................................ ................................................................... ............................................. ..................................... ............... 22 RAZVOJNI TOK.................................. ......................................................... ............................................. ............................................ ................................ .......... 22 Template driven programming ............................................ .................................................................... ............................................. ..................... 23 Korak kroz razvojno okruženje ........................................... .................................................................. ............................................. ...................... 24 The Dictionary Editor ............................................. .................................................................... .............................................. ............................... ........ 24 Generator aplikacija ............................................. .................................................................... .............................................. .................................. ........... 25 Formatiranje prozora (the window formatter)........................................... formatter)............................................................... .................... 26 Formatiranje izvješća ............................................ .................................................................. ............................................. .................................. ........... 27 Editiranje teksta............................................. ..................................................................... ............................................... ........................................ .................27 Editor formula ............................................ ................................................................... .............................................. ............................................ ..................... 27 Projekt sistem ........................................... .................................................................. .............................................. .............................................. .......................27 Debager .......................................... ................................................................ ............................................. ............................................. .................................. ............ 28 PLANIRANJE APLIKACIJE........................................................... ................................................................................ ............................... ..........28 Zadaci aplikacije......................................... ................................................................ .............................................. ............................................... ........................28 Podaci i datoteke podataka .................................. .......................................................... ................................................ ..................................... ............. 29 29 Klijent fajl (Kupac) ............................................................. .................................................................................... .......................................... ................... 29 29 Telefonski fajl ............................................. .................................................................... .............................................. ........................................... .................... 30 Fajl narudžbi.................................. narudžbi......................................................... ............................................... ............................................... ................................. .......... 30 Fajl detalja........................................................... ................................................................................... ............................................... .................................. ...........30 Fajl proizvoda................................ proizvoda....................................................... ............................................... ............................................... ................................. .......... 31 Referencijalni integritet............................................. ..................................................................... ................................................ ............................ .... 31 2
Kompletna shematska baza ...................................................... .............................................................................. ..................................... ............. 31 Aplikacijski interfejs (međusklop) .............................................. ..................................................................... ..................................... .............. 32 STVARANJE RIJE ČNIKA PODATAKA ......................................... ............................................................... ............................. ....... 33 Fajlovi tutorial-a ............................ ................................................... .............................................. .............................................. .................................. ...........33 Stvaranje riječnika ........................................... .................................................................. ............................................. .......................................... .................... 33 Kopiranje datoteka iz jednog rije čnika u drugi ..................................................... ................................................................ ........... 34 Kopiranje definicija telefonskog file-a fil e-a ............................................. ..................................................................... ............................ .... 35 Povezivanje datoteka i postavljanje referencijalno integriranih opcija............................ ............................ 35 Setiranje referencijalno integriranih veza ............................................. ..................................................................... ........................ 36 Spremite svoj rad...................... 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 KLJUČEVA .......................................... ............................................................... ........................................... .............................. ........ 46 Definiranje ključeva za datoteku Narudzba ....................................................... ..................................................................... .............. 46 Kreiranje primarnog ključa ........................................... ................................................................. ............................................ .......................... .... 46 Definiranje vanjskog klju ča .......................................... ................................................................ ............................................ .......................... .... 47 Definiranje ključa za datoteku Stavke ............................................. ..................................................................... ................................. ......... 48 Definiranje prvog vanjskog klju ča ........................................... ................................................................. ..................................... ............... 48 Definiranje drugog vanjskog klju ča ............................................ ................................................................... .................................. ........... 49 Definiranje ključa za datoteku Proizvod ................................................ ........................................................................ ............................ 49 Kreiranje primarnog ključa ........................................... ................................................................. ............................................ .......................... .... 50 DODAVANJE RELACIJA......................................................... .............................................................................. ...................................... .................51 Definiranje relacija za orders file (datoteku narudžbi) ................................................. ................................................. 51 Definiranje veza za detail datoteku (stavke) ........................................... ................................................................. ...................... 52 Definiranje validacije zavisne o vezi............................................. .................................................................... ................................... ............ 53 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 Uređivanje 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 korisničkog browse (izgleda prozora) ............................................. .......................................................... ............. 68 68 Postavljanje sortiranih redova ...................................... .............................................................. ................................................ .......................... 68 Zatvaranje Customer Browse ......................................... ................................................................. ............................................... ....................... 69 BROWSE UPDATE PROCEDURA ........................................ ............................................................ ....................................... ................... 71 Kreiranje Update Procedure ........................................................ ................................................................................ ..................................... ............. 71 Dodavanje procedure “ToDo”........................ “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 “Krađa” 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 NARUDŽBI PROCEDURE ............................................... 85 Kreiranje procedure..........................................................................................................85 Smještanje prvog kontrolnog obrasca ........................................................................... 86 Dodavanje Browse Update Buttons Template .............................................................. 87 Smještanje drugog Browse List Box-a.......................................................................... 88 Dodavanje Close Button Control Template .................................................................. 89 KREIRANJE FORME UPDATE-NARUDŽBA............................................................. 90 Uređivanje Basic Form ................................................................................................. 90 Smještanje Control Templatesa datoteke Detail ........................................................... 92 Pokretanje ......................................................................................................................... 95 Dodavanje UpdateDetail Form Procedure .................................................................... 97 KREIRANJE IZVJEŠTAJA........................................................................................... 102 Jednostavna korisni čka lista ........................................................................................... 102 Promjena Izbornika .....................................................................................................102 Kreiranje Izvještaja ..................................................................................................... 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 Korisničkog Group Footer Band ........................................................... 114 Dodavanje formule......................................................................................................116 “Ograničeno” izvješće (Range Limited Report) ............................................................ 117 Kreiranje izvješća ........................................................................................................ 117 Što Dalje? .................................................................................................................... 118 LITERATURA ................................................................................................................. 119
4
UVOD Poglavlje sadrži: • Uvod u Clarion za Windowse. • Pogled na ono što možemo na ći u knjizi Getting Started. • Vodič za nalaženje informacija sadržanih u drugim knjigama koje uklju čuje Clarion za • • • •
Windowse. Obilježja i druge dokumentacijske konvencije. Podsjetnik o stvorenim protokolima. Kratak pregled programa za tehni čku podršku. Informacije o Clarion’s fax-back sistemu za brzu tehni čku podršku.
Dobrodošli na brzi put do razvoja windows aplikacija Dobro došli u Clarion za Windowse. Upravo ste dobili ono što TopSpeed korporacija smatra da je najmo ćniji Windows alat za razvoj aplikacija na tržištu! Sada možete izgrađivati sofisticirane Windows aplikacije brže nego što ste ikad mislili da je moguće. Revolucionarna će razvojna okolina dramati čno povećati vašu produktivnost. Izvršni programi, koje ćete stvoriti, pokretati će se brzo kao i oni u jezicima poput C-a. Možete se lako povezivati sa prakti čki svakom postoje ćom bazom podataka. Da li to zvuči predobro da bi bilo istinito? Ako pogledate Quick Start Tutorial u tre ćem 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 i ći korak po korak. Prije nego što ćete biti svijesni, razvijaćete 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 osloba đa vas od složenosti i sporosti tipi čnih Windows programiranja. Clarion za Windows generator aplikacija gradi Windows programe u vremenu koje ostala programirajuća okolina zahtijeva, čak praveći šifrirane opcije. Clarion jezik je moćan, čak lak za razumijevanje, poslovno orijentirani jezik četvrte generacije (4GL). Kombiniran sa driverima za visoku izvedbu bazi podataka, Clarion za Windows vam pruža najkra ći razvojni ciklus i brže izvršavanje vašeg projekta. • Template Driven Rapid Application Development
Postojeće standardne procedure - templates - omogu ćuju podršku velikom broju funkcija kao što su izgledi, forme i izvještaji. Izaberite template iz liste i stavite ga u prompt. Templates su kompletno prilago đeni načinu na koji želite da vaša aplikacija bude. Možete jednostavno dodavati vaše templates. • WYSIWYG (What You See Is What You Get) Formatters
Upotrijebite na ekranu formatters za editiranje ili dodavanje prozora i kontrolu pogrešaka 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 riječnik, izabiru templates i kreiraju aplikaciju za unos, održavanje i izvještavanje podataka u 60 minuta. Možete kreirati dvoje Quick Start Tutorial aplikacija u poglavlju tri bez da napišete i liniju koda. • 4GL Development - C Performance
Za razliku od drugih runtime - interpreted RAD platformi, izvršavaju će koje gradite sa Clarionom za Windowse su brze. TopSpeed kompajler tehnologija proizvodi izvršavaju će koji lete. Clarion jazik ima snagu i fleksibilnost da podrži svaki projekt razvoja aplikacije. Strukturiran je, kompaktan, rastezljiv jezik koji podržava najbolje komponente orijentiranog razvoja. Upotrijebite Visual Basic Custom Controls (.VBX) u vašoj aplikaciji. Kreirajte dinamične biblioteke (DDL) čije aplikacije mogu biti pozvane i ako su napisane u drugom jeziku. Za “ hand - coders “ razvojno okruženje pruža mnogobrojne alate. Window i Report formatters omogućuju vam klizanje izme đu grafički editiranih prozora i izvještaja, ili editiranje njihovih deklaracija strukture podataka u obliku teksta. Text Editor omogu ćuje visokosvijetlosnu boju sintakse. Project Editor kompajlira i sastavlja na TopSpeed i Clarion Debugger vam pomaže da vaš projekt dostigne perfekciju. • Database Independence
Novi visoko izvodeći driveri bazi podataka podržavaju popularne pakete bazi podataka i obračuna; uključujući Xbase formats, Paradox, Btrieve i dr. Lokalno, brži su od ekstra ODBC (Open DataBase Connectivity) na kojem se baziraju mnoge Windows aplikacije bazi podataka (koje Clarion za Windowse tako đer podržava). Pohranite vaše podatke (ili konvertirajte postoje će) u TopSpeed file format za nevjerovatno brzu izvedbu. Tako đer je efikasan; možete pohraniti višestruke fileove unutar jednog fizičkog DOS filea.
Što možete pronaći u ovoj knjizi Knjiga Getting Started je vaše prvo uvođenje u Clarion okruženje. U nastavku su navedeni dijelovi knjige i kratko prikazan njen sadržaj: Uvod Prvo poglavlje: poglavlje koje upravo čitate. Neki od materijala ovoga poglavlja se tako đer pojavljuje u istoimenom poglavlju User’s Guide.
Setup Drugo poglavlje: prvi od koraka jest kako instalirati Clarion. 6
Neki od materijala ovoga poglavlja se nalazi u istoimenom poglavlju User’s Guide. Ukoliko ne možete čekati da isprobate Clarion za Windowse prije đite na drugo poglavlje.
Quick Start Tutorial Treće poglavlje: nekoliko brzih koraka sa Quick Start Wizard omogu ćuje vam da kreirate kompletnu aplikaciju u pet minuta. Uložite manje od sata i ovo poglavlje će vam pokazati kako upotrijebiti Application Generator i Wizards za kreirati jednostavnu aplikaciju, nakon čega proširiti njenu funkcionalnost na sofisticirani program koji u potpunosti rukovodi sa dvoje povezanih filea. Postići ćete to bez da napišete ijednu liniju koda.
Development Flow Četvrto poglavlje: uvod u
programiranje Clariona za Windowse. Sadrži opise funkcionalnih dijelova razvojnog okruženja i pogled na korake koje morate poduzeti za kreiranje vaše aplikacije. Neki od materijala ovoga poglavlja se tako đer pojavljuju u istoimenom poglavlju User’s Guide.
Hands On Tutorial Peto poglavlje: Uvodi ve ćinu alata razvojnog okruženja. Zapo činje sa etapama planiranja, zatim prolazi kroz kreiranje riječnika podataka pomo ću Dictionary Editora. Naći ćete Application Generator i raditi sa Procedure, Control i Code templateima za produciranje Order Entry aplikacije. Raditi ćete sa Window Formatter-om za dizajniranje izvještaja. Upotrebljavati ćete Text Editor za ugra đivanje izvornog koda Clarion jezika u kod generiran od strane templatea.
Gdje možete pronaći više informacija Dostupne su četiri knjige i znatna pomo ć za Clarion za Windowse. Ova sadrži vodi č gdje pogledati za dodatne informacije. Priručnik 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 prošireno razvojno okruženje, kreiraju ći Order Entry sistem. User’s Guide osigurava radno - orijentirani opis razvojnog okruženja, ure đenog po glavnim komponentama. Opisuje template koji postavljaju produkte na odre đeno 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 izvještaja i funkcija sa primjerima za sve. Language Reference je organiziran po funkcijskim predmetima. Clarionovo razvojno okruženje tako đer vodi brigu o Windows help sistemu. Help se pojavljuje pritiskom na funkcijsku tipku F1 ili odabirom jedne od komandi u Help meniju. Help je uređen u obliku dialog boxa, radi pružanja 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 izvještaj ili funkciju Clarionovog jezika, nakon čega pritisnite tipku F1 za pogled na pomo ć o podatku.
7
Template Language Reference je kompletan vodi č za Clarionov Template jezik. Osigurava opise svih izvještaja i funkcija sa primjerima za svaki. Kompletan tekst Template Language Reference je također na liniji. Dokumentira Clarionov Template jezik, jasno demonstriraju ći kako napisati naš vlastiti template. Ovaj dokument vam je dostupan kroz main tabelu sadržaja za help sistem. Ako se odlu čite za printanu kopiju Template Language Reference, pogledajte proizvodnu snimljenu kartu. Važno: ako se bilo koji dio help teksta kosi sa printanom dokumentacijom, on screen help ima prednost. TopSpeed korporacija ulaže napore da osigurava vrijeme printanu dokumentaciju. Ipak, vrijeme potrebno printeru može proizvesti zaostajanje; dok možemo u čitati help fileove koji koegzistiraju sa revizijom proizvoda, printani materijal se mora “ uhvatiti kasnije. Dokumentacijske konvencije
Dokumentacija koristi vrstu slova i ozna čavanja tipki kao što slijedi.
Vrste slova: Kosa slova
Označavaju šta treba upisati sa tastature kao npr. Utipkaj ovo.
VELIKA SLOVA
Označavaju pritiske tipki koje treba unjeti sa tastature kao npr. ENTER ili ESCAPE.
Masna slova
Označavaju komandu ili opciju iz padaju ćeg menija ili teksta u dijalekt prozoru.
Opaska: ova vrsta slova tako đer koriste kao različite vrste da bi pristajalo masnim helvetica slovima koje Windovsi koriste kao sistemski font. GOTIČKO PISMO
Upotrebljava se za dijagrame, listing izvornog koda za bilježenje primjere kao i za primjere upotrebe izvornih komandi.
Konvencije označavanja tastature F1
Označava pritisak tipke. Pritisni i otpusti tipku F1.
ALT+X
Označava kombinaciju pritiska tipke. Držite stisnutu tipku alt i pritisnite tipku X. Zatim otpustite obje tipke.
Registracija ovog proizvoda Prije nego počnete koristiti Clarion za Windovse ispunite i pošaljite registracijsku karticu koja je došla u paketu. Ova Business Reply Card čini vas pogodnim da primite nekoliko važnih povlastica. Jednom registrirane, možete koristiti Top Speed Tehnical Support usluge, i automatski primate nove produkte najave i suvremene opreze.
Tehnička podrška Možete primiti neograničene slobodne tehni čke podrške 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 vaša pitanja u kratkom vremenu. Dodatno ćete dobiti savjet i odgovore od drugih korisnika Clariona za Windovse. Mi snažno preporučujemo da naše mušterije uzimaju prednosti ovog servisa. Plaćanje telefonske tehni čke podrške je isto tako omogu ćeno od strane TopSpeed organizacije.Možete imati pristup našoj podršci plati-za-poziv tako da nazovete (900)8840444.Moguće su brojne programske podrške pla ćanja.Zovite TopSpeed Organizaciju servis za mušterije na broj (800) 354-5444 ili (305)785-4555 za još informacija.
Sustav topspeed fax retrieval TopSpeed Organizacija tako đer nudi mušterijama pristup telefaxu za vrlo česte tehničke zahtjeve i marketing dokumente. Dokumenti na liniji uklju čuju produkt brošura, tehni čke dokumente,ispisane artikle,liste cijena, pa čak i suvremeni "Whats Hot" na produktima TopSpeed-a. Za zahtijevanje specifi čnih dokumenata, biraj (305)785-4555, pritisni 53 i slušaj instrukcije FAX Retrieval Sustava. Menu je interaktivan i korisno-prijateljski.Prvi put onaj tko nazove može zahtijevati listu dostupnih dokumenata da pregledaju prije nego naprave selekciju.Tada možete u ći u šifru dokumenta i materijal će biti odmah uručen vama. Možete imati pristup u sistem direktno preko vaše FAX mašine ili iz bilo kojeg izabranog telefonskog broja. Setup
Ovo poglavlje objašnjava Clarion za Windovse, zahtjeve sustava, instalacijske procese i opcije. Sustav zahtjeva
Možete preletiti po razvojnoj okolini Clariona po bilo kojem sustavu u kojem susre ćemo minimum sustavskih zahtjeva za Microsoft Windows 3.x, Windows 95, ili Windows NT 3.51. • • • •
Windows 3.x, 8 Megabajta od RAM-a preporučeno. Windows 95, 12 Megabajta od RAM-a preporučeno. Windows NT 3.51, 16 Megabajta od RAM-a preporučeno. 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 izvršiti na kompjuterima koji sreću samo minimum zahtjeva za ovaj operativni sustav.
Setup program Instalacijski program, na disku jedne od vaših instalacijskih disketa, proširuje i kopira Clarion za Windowse podatke na vašu 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 vašoj AUTOEXEC.BAT datoteci uključujući 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, Pomo ćne 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 vašu disketnu jedinicu. 2. Iz Program Menagera, File Menagera, ili drugog programa sposobnog da lansira program, izaberi File- Run. 3. Upiši A:\SETUP (ili B:\SETUP) u run dialog i pritisni OK tipku. Instalacijski program osigurava uvodni ekran i drugi tekst informacija. Ubrzava vas za vašu željenu Setup opciju. Za startanje Clariona za Windowse instalacijskog programa u Windows 95: 1. Umetni disk jedan in instalacijskih diskova u vašu disketnu jedinicu. 2. Iz početnog 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 počnete instalirati,vidjet ćete razotkriveni ekran s mnogobrojnim opcijama. 1. Izaberi Instalacijske opcije provjeravaju ći 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 niže. Za vrijeme instaliranja progresne rešetke ć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 ručno. Jedina druga promjena iz bilo kojeg vašeg 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,naći ćete ikonu za to u Program Menageru ili u Start menu-u koje Setup kreira za vas. Mi preporu čujemo čitanje čim Setup kopira sve dosijee. 5. Pritisni OK tipku kada je Setup gotov.
Startanje Clariona za windowse Za uključivanje 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 po čnete sa radom. Naći ćete brzog vodiča u razvojne dijelove okoline - kao što su diJagram alatne rešetke ikone u poglavlju četri. Idite sada na poglavlje tri ove knjige da kreirate dvije impresivne aplikacije od riječnika podataka do površnih prozora, do formiranih prozora, do kombinacija površnih i formiranih prozora - sve za manje od jednog sata.
QUICK START TUTORIAL U Clarionu za Wimdows-e možete kreirati rječnik podataka i radnu aplikaciju - bez kodiranja. Sve što trebate u činiti 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! Vaša aplikacija ima proceduru ažuriranje (update) kojom se održava datoteka, pregled svih ključeva z sortiranje i onoliko izvještaja koliko ima klju čeva. Korištenjem Quick Start Wizard-a, za svako polje u datoteci treba samo definirati ime, display format picture i ključne informacije, default-ne vrijednosti su uklju čene za sve ostalo. Quick Start Wizard čini sve ostalo umjesto vas. U ovom poglavlju: • Koristit ćete Quick Start Wizard za stvaranje korisni čke datoteke i aplikacije
za održavanje datoteke, zatim kompajlirati i pokrenuti program. • Koristit ćete Quick Load - to je kra ći put kojim vam Clarion omogućava brzo dodavanje datoteke rječniku podataka. • Definirat ćete veze izme đu dviju datoteka u editoru rječnika, upotpunjene s pravilima referencijalnog integriteta. • Koristit ćete generator aplikacija da bi dodali funkcije aplikaciji koriste ći jedan od Clarionovih Wizard-a. • Konačno, koristit ćete Application Wizard da stvorite drugu kompletnu relacijsku aplikaciju iz istog rječnika podataka. Sve ovo bi trebalo biti gotovo za 30 - 40 minuta - bez kodiranja s vaše strane. Do kraja ovog poglavlja imat ćete dvije kompletne aplikacije za bazu podataka, koje sadrže dvije povezane datoteke. Ako sve ovo možete u činiti sa najnužnijim alatima, zamislite što sve možete posti ći s ostalim alatima koje vam Clarion pruža. Ostala poglavlja će vas podu čiti kako stvoriti aplikaciju “iz nacrta” koriste ći editor rječnika, generator aplikacija i sve ostale alate nužne za stvaranje aplikacije. Dobro došli! Upotreba quick start wizard-a
Za početak, 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
ZAPOČ NIMO RAD NA APLIKACIJI: 1. Iz Windows 3.1 File Manager-a, označite 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 dopušta 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 rje čnika. Ovo stvara QWKTUTOR.DCT (datoteku rje čnika podataka) i QWKTUTOR.APP (aplikacijsku datoteku). 6. Uključite 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. Možete primijetiti da uzima prva tri slova, CUS, i smješta ih u polje Prefix. Prefix stvara jedinstvena imena polja u višestrukim datotekama koje dijele ista uobičajena 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 korištenje TopSpeed file driver-a. 4. Utipkajte CustNumber u prvi red stupca Field i pritisnite tab. Ovo stvara ime polja CustNumber. Quick Start Wizard tako đer koristi ovo ime za default-ni prompt i zaglavlje stupca. Prompt se koristi kada smjestite polje u prozor. Zaglavlja stupca se koriste u izvještajima. 5. Utipkajte N4 u stupcu Picture, i stisnite tab. Ovo odre đuje default display picture za prozor i kontrolira izvještaje koji implicitno deklariraju tip podataka za Quick Start Wizard. U ovom slučaju 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 mogu ćnosti. Označite Unique, tada stisnite tab. To zna či da će sa ovim poljem kao komponentom biti stvoren jedinstven klju č. Označivši Unique, vaša aplikacija će osigurati da svaki korisnik ima poseban broj. Quick Start Witard stvara preglede i izvještaje na osnovu svakog stvorenog klju ča. Ovaj ključ će se provlačiti kroz sve dokumente sortirane po CustNumber-u. Kursor se automatski pozicionira na idu ći red dopuštajući vam da definirate idu će polje. 7. Utipkajte Company u stupcu Field i pritisnite tab. Ovo stvara polje pod imenom Company koje će biti korišteno kao ime poduze ća korisnika. 8. Utipkajte S20 u stupac Picture i stisnite tab. Ovo određuje default-ni display picture z akontrolu prozora i izvještaja. U ovom slučaju tip podataka je STRING polje od 20 znakova. 9. U stupcu Key stisnite DOWN-ARROW da biste vidjeli mogućnosti, Označite Duplicate i stisnite tab. Ovo odre đuje da će biti stvoren klju č koji će dopuštati dupliciranje ulaznih podataka. To vam dopušta da imate dva korisnika sa istim imenom poduze ća. 10.Završite 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
Možete primijetiti da je picture (P#####P) određen za polje poštanskog broja. To je uzorak picture koji formira mjesta za peteroznamenkasti U.S. poštanski broj. ZAVRŠITE 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 vašu aplikaciju i prikazuje Application Tree dijalog kutiju. (SLIKA Application Tree) Obratite pažnju na strukturu aplikacije. Na vrhu stabla je glavna (Main(Frame)) procedura koja stvara MDI (višestruki interface dokumenta) okvir aplikacije. Ova procedura sadrži menu koji poziva druge procedure. Ispod glavne procedure stoji procedura PregledKorisnika (Browse) i s njom povezana procedura AžuriranjeKorisnika (Form). Browse pokazuje podatke bazirane na sva tri ključa koje ste odredili pri definiranju polja. Isto tako možete vidjeti izvještaje bazirane na ovim ključevima. Aplikacija je kompletna i ne traži više 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 vašu aplikaciju, zatim je kompajlira, povezuje, te ju izvršava. Čestitamo
vam, vaša aplikacija radi. Sada je možete pregledati. Unesite nekoliko zapisa. Da biste to učinili odaberite Browse Files - Browse the Costumer file i pritisnite dugme Insert. Utipkajte podatke o korisniku i zatvorite formirani prozor. Pogledajte drugačije načine sortiranja u Browse proceduri, izmijenite veli činu prikazanih stupaca i koristite vodoravnu scroll bar liniju da biste pregledali podatke o poljima koja se u listi ne pojavljuju inicijalno. Možete štampati izvještaje ako želite. Kad ste završili iza đite iz aplikacije. Možete pokušati pokrenuti program iz File Manager-a ili Explorer-a, jer ne zahtijeva Clarion okruženje za pokretanje.
3. Odaberite File - Exit za izlazak iz aplikacije. (SLIKA Application) Sada ćemo snimiti vaš rad i izi ći iz generatora aplikacija da bismo promijenili rje čnik podataka koji smo stvorili. 4. Odaberite File - Close i zatvorite generator aplikacija.
Modificiranje vašeg rječnika U ovom dijelu napravit ćemo jednostavne modifikacije rje čnika da bismo dodali neke dodatne funkcije aplikaciji. Onemogu ćit ćemo povećanje korisnikova broja svaki put kad dodamo neki zapis. KORISTITE EDITOR RJEČ NIKA 1. Odaberite File - Open (ili stisnite File Open dugme na liniji alata). Pojavljuje se Open dijalog kutija. 2. Odaberite Dictionary tab, označite QWKTOTOR.DCT datoteku i tada stisnite Open dugme. Ovo će otvoriti rječnik podataka u editoru rje čnika. (SLIKA Dictionary - QWKTUTOR.DCT 1.0) 3. Kada je ozna čena datoteka Korisnik, stisnite Field/Keys dugme. Field/Key Definition kutija se pojavi prikazuju ći sva polja i sve ključeve u datoteci u dva tab-a. (SLIKA Field/Key Definition Costumer (QWKTUTOR.DCT) 4. Selektirajte Keys tab, kliknite na KeyCustNumber da ga ozna čite i tada stisnite dugme Properties. Pojavljuje se Edit Key Properties dijalog kutija. (SLIKA Edit Key Properties)
14
5. Selektirajte Attributes tab, uključite Auto Number kutiju, i zatim stisnite OK dugme. Auto Numer upućuje generator aplikacije na dodavanje koda vašoj aplikaciji, da automatski poveća vrijednost zadnje komponente klju ča polja, osiguravajući 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 rje čnik. To je sve što trebate u činiti. Slijedeće što ćemo napraviti je ponovno generiranje aplikacije da unesemo naše izmjene.
Ažuriranje aplikacije Promjena koju smo napravili u rječniku automatski se unosi u program kada ponovo generirate izvorni kod. Otvorit ćemo aplikaciju; ovaj put upotrebljavaju ći Pick List. Upotrijebite Application Generator. 1. Izaberi File - Pick (ili pritisni dugme na toolbar). Pick ispisuje listu nedavno upotrebljenih datoteka. To nam otvara mogu ćnosti za ponovno otvaranje datoteka. SLIKA Pick 2. Selektirajte Application tab, highlight c: \cw 15\tutorial\qwktutor.app, zatim pritisnite Select tipku. Vaša aplikacija je otvorena. 3. Izaberite Project - Run (ili pritisnite Run tipku u toolbaru). Application Generator stvara preina čeni kod za vašu aplikaciju zatim kompajlira veze i ishode. Dok se vaša aplikacija u čitava uzmite par minuta za unošenje testa podataka.Zapazite da svaki put kad dodate novog kupca, CustNumber polje automatski se povećava. Kad ste završili, možete spremiti program i iza ći iz Application Generator. 4. Izaberite File - Exit za izaći iz aplikacije. 5. Izaberite File - Close za zatvoriti Application Generator. Slijedeće, dodat ćemo drugu srodnu datoteku rje čnika podataka. Dodavanje datoteka s brzim uč itavanjem
Možete dodati datoteku rječniku podataka brzo upotrebljavaju ći Quick Load u Dictionary Editor. Brzo učitavanje je slično Quick Start Wizard - definirajte polje (imena, slike i ključeve) - definicija datoteke je predo čena u rječniku. Ova opcija je dostupna svaki put kad dodate novu datoteku rje čniku. Ovoj sekciji dodat ćemo datoteku da bi sa čuvali 15
telefonske brojeve za kupce. To će nam dopustiti da nam stane što više telefonskih brojeva za svakog kupca. Upotrijebite brzo učitavanje 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 sli čno Quick Start Wizard dijalogu. slika CLARION QUICK LOAD 5. Selektirajte Data File Name polje, upišite 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. Upišite CustNumber u prvi red polja Field i pritisnite tab. To stvara polje zvano CustNumber. To polje je veza za CustNumber polje u datoteci kupac. Upotrebljavaju ći isto ime olakšavamo vezu dvaju polja . U stvorenom kodu dodavaju ći prefiks ili ime datoteke polju stvara jedinstveno ime za polja istog imena u odvojenim datotekama. 9. Napišite N4 u Picture stupac i pritisnite tab. 10.U Key stupcu pritisnite strelicu dolje za ispisivanje mogu ćnosti. Ovo ispisuje ključ koji dopušta dupliciranje ulaza ne dopuštaju ći da imate više od jedne snimke za svakog kupca.To vam dopušta da stvorite više veza izme đu dvije datoteke. Kursor je smješten u slijedeći stupac dopuštaju ći vam da definirate slijedeće polje. 11.U Field stupcu u slijedećem redu upišite Area i pritisnite tab. 12.U Picture stupcu upišite P(# # #)P pritisnite tab dva puta, za priječi na slijedeće polje. To formira polje tri digitalna polja okružena zagradama. 13.Završite datoteku kreiranjem preostalog polja prate ći 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 završili s ispisivanjem. Kad pritisnete OK tipku zatim kreira vašu datoteku i dodaje ju rječniku.
Dodavanje veze Očito želimo da datoteku telefona sa činjavaju brojevi kupaca. To zna či da mora biti veza između dvije datoteke. U ovom slu čaju kupac može imati puno telefona prave ći “One to Many” vezu. Da bi definirali vezu moramo povezati datoteke zajedno u rje čniku 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 namješteno 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 klju čevima mora biti planirana da bi Application Generator mogao znati to čno koje polje u dvije datoteke su povezane. Pošto smo uzeli identična imena polja, to je lako. 6. Pritisnimo Map by Name tipku. Povezana polja izme đu 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 sadržavati potpunost datoteka. Peto poglavlje objašnjava daljnji rad. 3. Pritisnite OK za zatvoriti New Relationship Properties dijalog. 4. Izaberite File - Save, ili stisnite Save tipku na toolbaru za snimiti riječnik podataka. 5. Izaberite File - Close, ili stisnite Close tipku u Dictionary dijalogu za zatvoriti rječnik. 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 rječnik i aplikacije. Browse, Form i Report Wizards su dostupni svaki put kad kreirate novu proceduru u postoje ćoj aplikaciji.Sad ćemo upotrijebiti Browse Wizard da kreiramo proceduru za telefonske datoteke. Učitavanje 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 dopušta direktan ulaz u Application Generator bez da morate stvarati Procedure Properties dijalog. SLIKA Application Tree 2. Kliknite na Window. Window Formatter se pojavljuje. Ovdje možete 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. Upišite 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 slučaju želimo pozvati Browse proceduru da ispiše 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. Upišite 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 traže jednu po jednu informaciju. Položaj Control Template-a 1. DOUBLE-CLICK na proceduru BrowsePhones (ToDo). Pojavljuje se prozor Select Procedure Type. Time se dozvoljava izbor predloška (template) procedure, koji koristi Application Generator da bi kreirao izvorni kod. 2. Pozicionirajte se na Browse procedure Template, uklju čite opciju Use Procedure Wizard box i pritisnite Select button. Uključivanje opcije Use Procedure Wizard je ključ za upotrebu procedure Wizards. (SLIKA PROZORA SELECT PROCEDURE TYPE) 3. Nakon što pročitate prvu informaciju iz Wizard dialog-a, pritisnite Next za početak kreiranja procedure. (SLIKA PROZORA BROWSE WIZARD - FILE ACCESS) 4. Upišite Phones u prostor za unos (ili pritisnite … button i izaberite iz liste) odgovor na pitanje “Koju datoteku želite pretražiti?” i pritisnite Next button.
kao
(SLIKA BROWSE WIZARD - KEY SEQUENCE) 5. Isključite opciju Browse using all record keys , pritisnite … button, izaberite PHO:KeyCustNumber iz liste i pritisnite Next. Time se odre đuje ključ upotrijebljen za sortiranje izvještaja za prikaz u list box-u. 6. Upišite UpdatePhones u polje za upis u prozoru Update Procedure i pritisnite Next. Time se imenuje procedura koju će Browse Wizard kreirati da bi se ažurirali zapisi iz datoteke Phones. (SLIKA BROWSE WIZARD - UPDATE PROCEDURE) 7. Uključite opciju Call update using popup menu i pritisnite Next. To daje korisnicima opciju korištenja popup menija (pojavljuje se kada kliknemo desnom tipkom miša u list box-u) za pozivanje procedure za ažuriranje. (SLIKA BROWSE WIZARD - CALL UPDATE PROCEDURE) 8. Isključite 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 ure đena 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.Isključite opciju Provide a “Select” button i izaberite Next. Kako se ova procedura neće 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 održavanje zapisa iz datoteke Phones. Kada završi, pojavljuje se prozor nove Browse procedure Procedure Properties. (SLIKA PROCEDURE BROWSEPHONES PROPERTIES) 12.Pritisnite OK button za povratak u Application Tree. (SLIKA APPLICATION TREE) Opažamo 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 obilježja su višestruk, browse raspored na datoteci parent (roditelj), browsing na datoteci child (potomak) koji je ograni čen na raspon slogova povezanih sa slogom parent i kodom referencijalnog integriteta, da bi osigurao da vaša baza podataka ne može nikada biti izmijenjena sa nekim slogom child, odnosno “siročetom” (orphan). Pritisnite novi button Phones i dodajte ne koliko slogova u datoteku Phones. 14.Kada ste završili sa pregledavanjem vaše 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 mo ćni alati. Međutim, Clarion for Windows ima i druge, čak i močnije, Wizarde u svojoj ponudi super - produktivnih alata. Application Wizard stvara kompletnu aplikaciju na temelju postojanja rje čnika podataka. Rječnik podataka može sadr čavati onoliko datoteka koliko želite. Datoteke trebaju biti potpuno definirane, sa svim vezama me đu datotekama, referencijalnim integritetom i integritetom podataka, pravilima koje vi definirate putem Dictionary Editora. Da bi se olakšala upotreba Application Wizard-a, Dictionary Editor ima deklarirane opcije za svaku datoteku, polje, i klju č koje su izričito kreirane za uzajamno djelovanje sa Application Wizard-om (i svim Wizard procedurama) da bi vam omogu ćile. 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. Označite datoteku Costumer i pritisnite Field/Keys button. 4. Selektirajte Keys tab, kliknite na KeyCostNumber da bi ga ozna čili 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 ponašanje Wizarda. Opcije u gornjoj polovici prozora koriste se sa standardnim postavljanjem Template-a koje podržava Clarion. User Options ulazno dijalog polje se koristi za dodavanje predložaka (template-a), pa vam može omogu ćiti da obliže odredite ograničenja ili opcije Wizards koje nisu obuhva čene standardnim opcijama. 6. Uključite opciju Do not Auto-Populate This Key. Uključivanjem ove opcije Application Wizard neće koristiti ovaj način 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 rjačnika. 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. Upišite APPWIZ.APP u polje File Name. 5. Isključite 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. Označite datoteku c:\cw15\tutorial\qwktutor.dct i pritisnite OK . 21
8. Uključite 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 sljedeća završna aplikacija radi. Sada je možeš istraživati i usporediti sa aplikacijom koju si ve ć kreirao.
Što dolazi slijedeće Osim svih Wizard-a, Clarion za Windows-e stavlja vam na raspolaganje mnoštvo drugih produktivnih alata koje možete koristiti u Application Generator, počevši od Control, Extension i Code Templates koji može funkcionirati u svakoj proceduri. Ovi alati rade modifikaciju i privikavanje procedure isto tako jednostavno kao i korištenjem Wizards - i niti jedan od njih ne zahtijeva od vas da pišete bilo koji kod! Podsjetnik u knjizi Getting Started vodi vas kroz kreiranje uobi čajenog ulaznog sistema od "čeprkanja" bez upotrebe Wizarda. Ono vam ne će samo demonstrirati sve ostale alate, ve ć će vam pokazati koliko snage imate kad napokon napišete vaš mali dio koda za prikaz neke "ne standardne" funkcije. Nastavite. Tek ste površinski obradili Clarion za Windows-e, a ima toga puno više!
RAZVOJNI TOK Clarion za Windows-e je posve nov na čin za kreiranje Windows aplikacija - kao aplikacija koju ste upravo kreirali u kra ćem vremenu demonstriranja! Svejedno Clarion je puno više od Wizarda. Zaklada Clariona je četvrta generacija, poslovno orijentiranog programskog jezika. Kao pribor u Clarion za Windows-e, jezik automatski rukuje ekstra "ku ćanskim", kao što je provjera aplikaciske poruke niza. Mnogi drugi Windows programski jezici zahtjevaju mnogo linija i kodova i kompliciraju slu čajeve izjava za rukovanjem s toliko izbora. Evidentirani drive nezavisan je i ugra đen u jezik; Clarion za Windowse sadržava dinamično 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 prijašnjoj stranici grafički 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 korištenja Wizarda. Dokumentira kako Application Generator ties sve - Clarion jezike i sve djelove razvojnog ambijenta. Template driven programming
Clarionov Application Generator je "template driven". To zna či da postoji alat za promjenu osnovne potrebe template koji koristite za generiranje koda. Clarion procedure, Control, Extension i Code Templates sve pišu izvor koda za vas, davaju ći vam bezgrani čno produktivnu stimulaciju. Templates također pružaju mnogo benificija za objektivno orijentirano programiranje, posebno odgovornog, bez puno u čenja objektivno orijentiranog jezika. Clarion za Windows, template nije "jednovremenski" alat, ve ć je kontinuirano interaktivni alat koji zahtijeva specijalnu informaciju potrebnu za generiranje vašeg izvora koda. Promjenom informacije uvjetujete template rezultat u razli čitim izvorima koda koji će se generirati kada sljede ći put napravite aplikaciju. Svi templates pohranjeni su u registriranom failu (REGISTRY.TRF). Ovaj fail sadržava pisani izlazni kod i obradu strukture koju vi pohranjujete i pretražujete. Možete promijeniti Clarion templates. Možete tako đer dodati trećinu template, ili napisati vaš vlastiti, i koristiti ih kao dodatak i zajedno sa defaults. Ovo radi Application Generator kao beskrajno rastezljiv alat. Za korištenje templates, kada ste kreirali novu proceduru identificirajte Procedure template koja generira kod blizak zada ći koju želite da se izvrši, zatim ga spremite sa razvojnim alatom. Ova Procedure template sadrži 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 obilježavaju "To Do", kao što će biti svaki drugi poziv procedure. Uobičajeni način za početak spremanja procedure je pozivanje jednog od formatters Windiww i Report Formatters su vizualno dizajnirani alati koji vam omogu ćuju "point i click" za dizajn prozora i izvještaja. Samo odaberite opciju iz toolbox-a, kliknite na mjesto zatim desna tipka miša za modificiranje karakteristika. Extension templates dodaju izvršne kodove koji pove ćavaju funkcionalnost procedure. Svaki vam tipično daje instrukcije na ekranu o informacijama koje treba utjeloviti radi funkcionalnosti aplikacije. Drugi način spremanja procedure je dodavanjem koda. Application Generator raspolaže sa tri "embed points": prije, za i nakon procedure i za sve doga đaje prozor ili kontrole u proceduri se brinu da se generiraju. Možete odabrati precizno logi čku točku na kojoj želite izvršni kod, zatim ju ručno kodirati ili upotrijebiti Code templates da napiše kod za vas. Application Generator generira sve vaše aplikaciske izvorne kodove iz template-a i svih vaših snimanja.
23
Clarion za Windowse vam pruža bogat izbor standardnih template-a sa kojima možete brzo razviti aplikacije. Kao što vas poglavlje Quick Start Tutorial uvodi u Wizards, ostatak priručnika Getting Started uvodi u upotrebu Clarion's Templates u Application Generator za proizvodnju bilo koje Windows aplikacije koja vam je porebna. Korak kroz razvojno okruženje
Clarionovo razvojno okruženje sadrži sedam glavnih djelova svaki od njih je dostupan drugima. Kada upotrebljavate Application Generator, dugmad u razli čitim dialog boksevima - vodi u druge djelove. Application Development Flow chart na po četku 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 tipi čan programer koristeći Application Generator može 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 ovlaštenih sekvenca u koje vi morate popuniti dialog, ali morate kreirati neke fajlove prije drugih. Ako znate koji dialog šta radi, to će vam pomoći raditi vašu aplikaciju puno brže.
The Dictionary Editor Podaci riječnika, podržavani od rije čničkog editora, sadrže opis o podatkovnim osnovama, uključujući njegove failove, polja, relacije i dr. To je prvi fail koji kreirate kada odlu čite dizajnirati vašu aplikaciju. Drugi dio razvojne okoline koristi opciju koju ste postavili u riječniku da vam olakša obradu polja u dialog boksu i izvještava vas o dizajnu. Application Generator kreira kod, podržava obradu podataka temeljenu na tome kako ste konstruirali Data riječnik. Pokrenite novi riječnik sa File New komandom, tada selektirajte rije čnički tab. To vas vodi do Dictionary dialoga. Definirajte svoju aplikacijsku obradu podataka i imenuj u ovom dialogu. Pokazati će ti se i relacija izme đu 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. Također vam dopušta da podesite opcije kao što je Threaded, koji specificira svako provođenje povezanosti pristupa failu dobiva svoj vlastiti record buffer. To je obi čno za MDI aplikacije. U Field/Keys Definition dialogu, pritisnite Insert dugme za specificiranje field-a, klju ča i indeksa field-a. Definirajte polje, njegov data tip i dužinu u New Field Properties dialog. Možete čak i predefinirati kontrol izbor kao što je provjera teksta. 24
Specificirajte komponente klju ča u Filds tab u Edit Key Properties dialogu. Clarion za Windows automatski gradi ključ točno čak i ako je specifikacija multifajlovskog tipa.
Generator aplikacija Generator aplikacije generira "source" ili izvorni kod vaše aplikacije koji se bazira na proceduralnim templatima koje korisitite. Dozvoljava vam da dodate globalne ili lokalne memorijske varijable i da uobli čite control i extension procedure te kodne template zajedno sa položenim source kodom. Generator aplikacije tako đer omogučava pristup ostalim dijelovima IDE-a kako bi se uobli čio izgled i funkcionalanost prozora, menia, izvješća i drugih elemenata korisni čkog sučelja. (slika application properties)
New). Selektirajte Startajte novu aplikaciju sa naredbom new iz file menia (File Application: ovo vam omogu čava da postavite temelje ime aplikacije, ime rije čnika podataka, pomoćnu datoteku i aplikacijski template - sve u Application Properties prozoru gdje se kreira .app direktorij te se prikazuje stablo aplikacije. (slika application tree) Pogledajte i zadržite dijelove vaše aplikacije u Application Tree (aplikacijsko stablo) prozoru. Ovdje su hijerarhijski prikazane procedure vaše aplikacije te su nazna čene 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 obilježja procedure. (slika procedure properties) Prozor osnovnih obilježja procedure od središnje je važnosti prema svim ostalim prozorima koji vam omogučuju da uobličite procedure tako da vaša aplikacija radi posao koji od nje i očekujete. 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 možemo definirati ime, tip ili veli činu varijable u prozoru za nove generalije polja ( New Field Properties). (slika select fields) Odaberite datoteke, ključeve, 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 možete uvrstiti uobičajeni kod ili kodne template na prijašnjim lokacijama, prije i poslije procedure ili u prozoru za određene događaje polja. Odredite položenu lokaciju i pritisnite Add gumb. (slika tutoral.app) Nakon što ste uopćili proceduru koristeći formater prozora, formater izvješća i/ili tekst editor možete se vratiti u stablo aplikacije da generirate i kompajlirate kod.
Formatiranje prozora (the window formatter) Obično dizajniramo prozore i kontrole vaše 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 korištenja generatora aplikacije pozvati formatiranje prozora pritiskom Window gumba u prozoru generalija procedure kako biste uobli čili prozor ili prozor za komunikaciju (dialog box). (slika window formatter) Prilikom formatiranja prozora vidimo prozor dok se ure đuje. Kliknite u kutiju s alatima (toolbox) a zatim klknite u prozor kako biste tamo smjestili novu kontrolu. Možete koristiti Preview gumb (pregled), kako biste vidjeli prozor onako kako ćega vidjeti korisnici. (slika Window properties) Svaki prozor i svaka kontrola u njemu ima odre đeni dijalog koji kontrolira njegov izgled i funkciju. Selektirajte prozor ili bilo što u njemu i kliknite desnom tipkom miša da bi izabrali Properties (generalni podaci) iz ponu đenog menia. Taj dialog odre đuje osnovne elementa kao što su sistemski meni ili zaglavlje prozora. (slika entry properties) Tipičan kontrolni dialog odre đuje 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 sadržaju. (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 određene naredbe iz menia koriste ći Actions tab. 26
(slika menu editor 2)
Action tab prikazuje preduvjete za izvršne opcije. Za opciju iz menija potrebno je imenovati proceduru koja se poziva tako da kad korisnik odabere komandu iz menia da izvršava onu proceduru koju ste vi imenovali.
Formatiranje izvješća (slika report formatter) Formatiranje izvješća radi sa generatorom aplikacije na sli čan način kao i sa formatiranjem prozora. Vi postavlajte kontrole u pregrade tako da prilikom startanja sklop za printanje procesira znakove koje ste vi definirali štampajući polja onako kako ste ih, do detalja, definirali.
Editiranje teksta Tekst editor je programerski editor sa svim funkcijama tako da je u njemu mogu će "ručno" napisati izvorni kod. Vrlo je vjerojatno da će te prilikom korištenja generatora aplikacije, pozvati tekst editor da bi kreirali položeni izvršni izvorni kod da bi odredili na ćin operiranja procedure. (slika text editor) U editor su ukljućene i raznim bojama ozna čene sintakse da bi se olakšalo identificiranje različitih dijelova jezika Clariona, a za potrebe editiranja. Tu ujedno postoji opcija pretraživanja teksta i mogučnost zamjenjivanja zajedno sa svim standardnim alatima za editiranje.
Editor formula (slika formula editor) Editor formula pomaže vam da brzo generirate izraze koji rezultiraju vrijednoš ću dodjeljenoj varijabli. Editor se može koristiti za kreiranje udruženih polja (jednostavna dodjeljivanja) i uvjetovana polja (višestruka, međusobno iskljućiva dodjeljivanja bazirana na nekom uvijetu).
Projekt sistem Generator aplikacije automatski kreira projekt za aplikaciju. Projekt sadrži kompajler i opcije za povezivanje, kao što je mogu ćnost uključivanja 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 možete odrediti posebne opcije. Obi čno, prilikom kreiranja aplikacije korisrteći 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 obi čno podrazumjeva startanje programa i ponavljanje njegova zaustavljanja kako bi se pregledale vrijednosti razli čitih varijabli. Debager sadrži odre đen broj prozora koji prikazuju izvorni kod, sadržaj varijabli, aktivne procedure i drugo. (slika debugger) Da biste vidjeli prozor izvornog koda, zatražite od projektnog sistema da uklju či informaciju o debagingu u izvršnu datoteku (.exe), zatim startajte debager pritiskom na Debug dugme u prozoru rezultata kompajliranja, ili u meniu Project izaberete Debug. Najjednostavniji na čin da debagirate vašu aplikaciju je da identificirate dio programa koji, po vašem mišljenju, nosi pogrešku, uredite mjesto loma (breakpoint), koriste ći odgovarajući prozor za dijalog, na odre đenom mjestu koda. Onda možete startati program i debager će stati na tom mjestu kako biste mogli pregledati vrijednost varijabli. To će vam olakšati pronalaženje grešaka kako bi vaša aplikacija bila savršena!
PLANIRANJE APLIKACIJE Općenito je pravilo: svaka minuta potrošena na planiranje vaše aplikacije uštedi vam deset kasnije. Ovo poglavlje informativno opisuje planiranje procesa za aplikaciju koju kreirate. U stvarnosti, vjerojatno ćete kreirati, do srži funkcionalno, specifikacije za vašu važnu aplikaciju. ovaj neformalni opis definira: • Zadatke koje izvršava aplikacija. • Podatke koje aplikacija sadrži i kako ih pohranjuje. • Kako korisnik rukuje sa aplikacijom, njegovo korisni čko sučelje.
Kao bazu za aplikaciju upu ćuju nas na tutorial aplikaciju koja koristi rije čnik podataka od upravo kreirane aplikacije putem Quick Start Wizarda.Tako se čitavi sistem suzuje na jednostavan naruđ ba/unos sistem, dok se rije čnik podataka koristi za vo đenje računa o klijenteli. Zadaci aplikacije
Ova aplikacija sadrži datoteke klijenatai ra čuna za Wibblz Wobbly Widget kompaniju. Prvi je zadatak planiranja odre đivanje jednostavno onog što bi aplikacija trebala izvršavati i predviđanje onoga što je kompanija zamislila da bi trebala izvršavati. 28
Za potrebe tutoriala aplikacija je jednostavan naru đ ba/unos sistem. Klijenti obično telefonski dojave naru đ be za jedan ili dva razli čita tipa proizvoda. Naru đ bu prima prodavač. Odsjek za razvoj izbacuje naru đ bu još iste noći. Kada klijent pošalje novac, računovodstveni odsjek pošalje ček. Stoga aplikacija mora sadržavati: • Ulazne dijaloge za uzimanje naru đ be 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 narudžbenog dijaloga Pretraživati WINDOWSE u potrazi za listama prodajnih transakcija Ulazni dijalozi za održavanje liste elemenata Printani izvještaji
Podaci i datoteke podataka
Prvi zadatak u planiranju strukture datoteke je procjena koje podatke aplikacija potrebuje i kako ih memorirati s minimalnom koli činom dupliciranja. Dobro upravljanje bazom podataka uklju čuje održavanje posebnih zasebnih podatkovnih fajlova (datoteka) za svaki "ENTITET" ili grupu diskretnih podatkovnih elemenata. Podatkovni entiteti koje ova aplikacija sadrži su:
KLIJENT (CUSTOMER )
klijentovo ime i adresa, odnosno podaci o imenu i adresi, koji se mijenjaju samo u slučaju kada se klijent (mi če, seli).Stvoreni su u QUICK START MENIJU. Zajedno s odnosnim telefon fajlom.
NARUDŽBA pri (ORDER )
osnovne informacije potrebne za sakupljanje podataka neophodnih printanju fakture (račun s popisom robe). Ona "traži" informacije iz drugih fajlova kao što su klijentovo ime i adresa. Kada prodava č uzima novu narudžbu, dodaje zapis ovom fajlu.
DETALJ (DETAIL )
proizvod, cijena i količina naručeni za stavku na datoj fakturi: varijabilna informacija za svaku narudžbu. Iako ovo duplicira podatak o cijeni u proizvod fajlu, mora se održavati cijena u vremenu prodaje ovdje. Ina če kad se povisi cijena u proizvod fajlu bi to prouzročilo da se ravnoteža u detalj fajlu poremeti.
PROIZVODI (PRODUCTS)
informacije o proizvodima prodanim od kompanije, uključujući 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 (uskladištuje) "konstante" podatke kao što su klijentovo ime i adresa. Puno je efikasnije uskladišti ove podatke na jednom mjestu, dopuštaju ći jednostavnu izmjenu pri promjeni informacija. Ovo isto tako štedi prostor eliminiraju ći redudantne informacije o klijentu u narudžbi fajla; ina če, ako bi postojalo tisu ću naredbi za kompaniju xyz, informacija o adresi bi se ponovila tisu ću puta. Reduciranje zahtjeva uskladištenja pomoću memoriranja podataka samo jednim se naziva NORMALIZACIJA. Podaci o klijentu zahtjevaju polje da se razlicito identificiraju klijenti. Ime kompanije je neprikladno jer bi moglo do ći do dupliciranja. Moglo bi biti npr. višestruki zapis za klijenta nazvanog "WIDGET DEPOT", ako ima višestruke lokacije. QUICK START (brzi start) aplikacija vec unaprijed specificira da CUSTNUMBER (broj klijenata) polje je AUTO-NUMBER (samo brojeći) 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 ključem zapisom u drugom fajlu. Zato što može biti puno narudžbi za svaki klijentov broj, odnos izme đu fajla klijenata i fajla narudžbi mora biti jedan prema puno (1: many). Govorimo da je klijentov fajl podataka roditeljski fajl, a da je narudžba dijete fajl.
Telefonski fajl Telefonski fajl memorira brojeve telefona - svaki klijent ih može imati nekoliko. Svaki zapis uključuje CUSTNUMBER polje koje ga povezuje sa fajlom klijenta. Telefonski fajl isto tako uključuje polje teksta u kojem možemo nazna čiti dali je telefonski broj broj ureda, faksa, mobilni ili ku čni broj. Koristeći se riječnikom podataka, mi ćemo specificirati da kontrola za unošenje podataka za ova polja treba biti padaju ća lista sa izborima već unesenim.
Fajl narudžbi Fajl s podacima s narudžbama 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" područ ju fakture, on se ponekad naziva ORDER HEADER (narudžbeno zaglavlje). Svaka prodajna transakcija zahtijeva jedan zapis u fajlu narudžbe. Zapis se odnosi na informaciju o klijentu pozivaju ći 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 narudžbe. Ovo stvara odnos jedan prema mnogo, se fajlom narudžbe kao roditeljskim, a fejlon detalja kao dijeten fajla. Stvarno naručeni proizvodi su identificirani pomo ću kodova proizvoda, fajla detalja. Tako narudžbeni zapis sadrži broj klijenta koji ukazuje natrag na podatke o klijentu (strani ključ). I jedinstveni narudžbeni broj koji ukazuje na detalje. Treba se stvoriti više 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 naru čene putem njihovih proizvodnih kodova (strani klju č u fajl proizvoda). Njihovih individualnih cijena, koli čina svakog i porezne rate. Dodatno polje sadrži broj fakture koje se poziva na fajl narudžbi 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. Važno je da se polje sa cijenama spremi u polje fajl detalja odnosno zapis zato jer ako se cijena poveća 6 mjeseci današnje pla ćanje u potpunoj fakturi bi moglo reflektirati na ravnotežu otplate.
Fajl proizvoda Fajl proizvoda sprema jedinstvene brojeve proizvoda, opise i cijene. Kada prodava č pogleda proizvod poimenu, pozove ga po imenu aplikacija ume će 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 sadržavati poreznu ratu za proizvode.
Referencijalni integritet Referencijalni integritet se odnosi na proces provjeravanja svih ponuda klju čeva u datom fajlu, da se procijeni da li se napobitnost odnosa roditelj - dijete pravilno održava. Isto se tako odnosi na mjerenje toga da li svi zapisi fajlova djece uvijek odnose pridružene zapisu roditelje tako da se u bazi ne na đu zapisi "siročadi". Zato što se podaci za datu transakciju nalaze u nekoliko fajlova, ova aplikacija mora forsirati referencionalni integritet. Ovo je kriti čno, 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 klju ča. Npr.mora se ograni čiti mogućnost krajnjeg korisnika da mjenja zapis na na čin koji bi mogao prouzro čiti duplicirani broj klijenta. Ako dvije razli čite kompanije dijele duplicirani broj klijenta može se poslati ra čun krivoj kompaniji.
Kompletna shematska baza Shema koja se nalazi ispod osigurava pregled cijele baze. Ako se to sagleda sa stanovišta prodajnog agenta koji prima telefonske narudžbe, fajl narudžbi memorira tko naru čuje, detalj fajl memorira što se naručuje, 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.). Konačno TUTORIAL će stvoriti potpuno novi riječnik podataka i kopirat će se i lijepiti fajlove koje QUICK START definira za korisnika u novi rje čnik. Kao što to radi za stvaranje aplikacije koje korisnik stvara zato što TUTORIAL je alat za u čenje koji više brine o tome kako pokazati što CLARION za WINDOWS može u činiti za korisnika. On neće stvoriti potpuni sistem za unos. Ipak, korisnik će otkriti da neki dijelovi aplikacije mogu biti vrlo poučni, tako da će brzo naučiti kako učiniti ekvivalentne procedure u novoj aplikaciji. Aplikacijski interfejs (međ usklop)
Sljedeći veliki zadatak prije kodiranja je planiranje korisni čkog sučelja. Za poslovne aplikacije poput ove, jako je važno da prodava č brzo locira podatke koje treba hitno, tako da može zabilježiti prodaju i krenuti na sljede ći telefonski poziv. Tako, aplikacija treba postaviti sve vaznije podatke "sprijeda" po standardu, i nijedan ulaz ili održavanje dijaloškog okvira ne bi trebalo biti udaljeni gumb ili meni komande više. Dodatno kompanije koriste mnoge druge WINDOWS aplikacije; pa bi bilo neobi čno važno da sve aplikacije imaju standardni "izgled i osje ćaj" WINDOWS-a. Krajni korisnici uče poznato sučelje puno brže. Da se implementiraju zadaci koje aplikacija treba izvršiti u konzistentnom na činu s našim uputama može se planirati u skladu s uputama dolje navedenim. Iako sljede će nije nikakav nadomjestak pravim programskim specifikacijama, koristit će za uvodne ciljeve. • Zato će se rukovati sa održavanjem za klijenta, proizvode i ra čunskim fajlovima u
različitim formama, višestruko sučelje dokumenta je neophodno (MDI). • Aplikacija bi trebala imati TOOLBAR (lista sa alatima ), sa dugmadima za u čitavanje
formi i za pretraživanje prozora (WINDOWS- a). • Da se održi konstantan "izgled i osje ćaj", glavne izborni čke će biti FILE,
EDIT, INSERT, VIEW, HELP.FILE izbornik pristupa procedurama printanja i izlaza. EDIT izbornik poziva forme dijaloške koje se koriste pri editiranju trenutnog zapisa (ako je osvjetljen). Ovo duplicira dugmad u standardnim pretraživa čkim 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 sadrži procedure za traženje fajlova. WINDOW i HELP izvršavaju standardne zadatke. • Kada se dodaju nove narudžbe, prodava či bi trebali moći 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 zapo četi rad. Prvi korak je stvaranje riječnika podataka.
32
STVARANJE RIJEČNIKA PODATAKA Ovo poglavlje pokazuje kako : • Stvoriti novi riječnik podataka • Kopirati i prilagoditi definicije fajlova putem QUICK START riječnika podataka na
nove fajlove / u nove fajlove • Povezati fajlove (staviti ih u me đusobnu 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 predlažu da korisnik proradi cijeli TUTORIAL, pogotovo ako mu je Clarion razvojno okružje putpuno novo iskustvo. Pristup Clarionovog aplikacijskog generatora programiranja je dosta različit od ostalih pristupa programiranju za koje se nadamo da je korisnik detaljno obradio, odnosno razjasnio sam sebi da se izvu če što je moguće više iz ovog novog alata. Ako je korisnik ve ć iskusan Clarion programer, možda će više preferirati da jednostavno prou ći kompletne fajlove TUTORIAL-a nego da prati korak po korak tutoriala. Kompletni fajlovi TUTORIAL-a se nalaze u \CW 15\EXAMPLES\TUTOR direktoriju. Stvaranje riječ nika
Bilo kad stvarate aplikaciju, novu, prvo se formira rje čnik podataka (.DCT fajl). Iz rječnika 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 riječnik podataka. To predstavlja Dictionary Editor. Unesite ime novog rije čnika 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 riječnik. 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 riječnika. 4. Pritisnite OK dugme da spremite file. Tako se sprema samo prazan file rije čnika. Caption bar sada pokazuje ime file-a. SLIKA Specificiranje opisa riječnika: 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 upišete zabilješke (komentare) u vezi s riječnikom. To je opcionalno, ali vrlo korisno za programere koji bi se morali vratiti u projekt radi održavanja nakon intervala od mjesec dana. Ovaj dijalog također osigurava i Password dugme, koji vam omogućava da spriječite druge da koriste taj riječnik. 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 riječ nika u drugi
Možete koristiti copy i paste komande za kopiranje file definicija iz jednog u drugi riječnik. Otvorite drugi riječnik 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 sadrži 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 riječnikom. 6. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog. Ova operacija ne kopira samo file definicije; kopira i ključeve. 7. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog.
Kopiranje definicija telefonskog file-a Sada koristeći copy i paste komande kopirajte ostale file definicije. Selektirajte file i kopirajte: 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 riječnikom. 5. Izaberite Edit Paste. Pojavljuje se Edit File Properties dijalog. 6. Pritisnite OK dugme kako biste zatvorili Edit File Properties dijalog. 1. 2. 3. 4.
Zatvorite Quick Start riječnik 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 možete kopirati (uklju čujući njihove ključeve), ali Clarion for Windows ne dozvoljava da kopirate relacije iz drugih direktorija. Stoga, morate definirati veze izme đu ta dva file-a. Definiranje prve strane veze. 1. Označite (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) može imati više 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 padaju će liste u Relationship for Phones group box-u. 3. Izaberite KeyCustNumber iz Foregin Key padajuće liste. SLIKA 35
To je ključ koji odgovara primarnom klju ču u korisni čkom (Customer) file-u; stoga, to je vanjski ključ. Definiranje druge strane veze. 1. Izaberite korisnika (Customer) iz Related File padajuće liste u Parent group box-u. 2. Izaberite KeyCustNumber iz Primary Key padajuće 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, možete specificirati kako Application Generator upisuje izvorni kod koji će upravljati onim što će se dogoditi ako krajnji korisnik bude htjeo modificirati vrijednost u primarnom klju ču, ili u pokušaju da pobriše roditelja (parent) koji ima djecu (children). Ukoliko ne setirate veze, krajnji korisnik može ugroziti integraciju database kreiranjem "orphan" zapisa na jedan od dva na čina: brisanjem roditelja s djecom, ili mirenjanjem vrijednosti povezanog polja. Za tutorial, treba specificirati da aplikacija treba uzeti posljednji zapis vanjskog klju ča, ukoliko je promijenjena vrijednost polja primarnog klju ča. Tak đođer, treba specificirati da se ne smije dozvoliti korisniku da obriše roditelja koji ima djecu. 1. Izaberite Cascade iz On Update padajuće liste u Referential Integrity Constraints group box-u. Cascadiranje promjene zna či da se aplikacija proširuje na promjenu i posljednji zapis polja vanjskog klju ča (child file), za sve child file zapise povezane sa tim parent file zapisom. 2. Izaberite Restrict iz On Delete padajuće liste. Restriktiranje brisanja zna či da aplikacija ne dozvoljava brisanje roditelja sa djecom. SLIKA 3. Pritisnite OK i zatvorite New Relationship Properties dijalog. U ovom trenutku, vrh vašeg Dictionary dijaloga izgreda ovako: SLIKA Pogledajte na male strelice lijevo od povezanog file imena u Related Files listi. To pokazuje vrstu veze između dva file-a. Dvostruke zagrade (>> ili <<) pokazuju više strana od jedne strane. Jednostruke zagrade (> ili <) pokazuju jednu stranu s više strana. Stoga, Phones <<-> Customers označava da više ( Many) telefonskih file zapisa mogu biti povezana s jednim ( One) korisničkim file zapisom.
36
Spremite svoj rad To je dobra navika da često spremate svoj rad dok stvarate svoju aplikaciju. Da biste to učinili, izaberite File Save, ili pretisnite Save dugme na tool baru. To upisuje dictionary file na disk. Predefiniranje window kontrolnih formata
Unutar riječnika podataka, možete specificirati default properties window kontrola koje se odnose na polja koja definirate. Tako đer, možete specificirati određena Data Integrity pravila setiranjem Validity Checks i početne vrijednosti polja. Pristup Field Properties: 1. Označite (highlight) korisnički (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 (država) 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 padaju ću box listu za State polje: 1. Selektirajte Validity Checks tab. Validity Checks tab vam omogu ćuje da setirate brojčane rangove za numeri čka polja, specificirajte da vrijednost polja mora odgovarati drugom polju u povezanoj vrijednosti, mora biti true ili false, i u ovom slu čaju, da vrijednost polja mora biti u listi koju ćete specificirati u ovom dijalogu. 2. Selektrirajte Must be in List dugme. 3. Utipkajte sljedeće u Choices box: AL/MS/FL/GA/LA/SC Vertikalni bar ( ⎟ ) mora odvajati svaki izbor. Ovo definira stvarnu listu od mogu ćih izbora. U ovom slu čaju, riječnik specificira da su za state (državu) mogu će samo šest sjevernih država. Specificirajte da default control za ovo polje bude padaju ća lista. SLIKA Postaviti osnovne vrijednosti za opis polja: 1. Selektirati TAB Attributes. 2. Utipkati ,FL, u polje Initial Value (uključujući 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 slu čaju, ako se većina korisnika locira na ,FL,, on će snimati sakupljajući je sa liste svaki put kada se priključi novi korisnik. Jednostruki navodnici su nužni jer vi možete tako đer imenovati varijablu ili funkciju kao inicijalnu vrijednost. U tom slu čaju, inicijalna vrijednost je STRING konstanta. Specificiranje da osnovni prozor kontrole za opis polja treba biti padaju ća lista: 1. Selektirati TAB Window. Kada označite Must be in List opciju, osnovni prozor kontrole za polje je OPTION struktura sa RADIO dugmima. To se pojavljuje pomo ću 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 okružje. 4. Pritisnite Close dugme za zatvoriti Field/Key Definition okružje. 5. Odaberite File
Save, ili pritisnite Save button na izbirniku.
U slijedećem poglavlju, nau čit ćete kako dodavati datoteke u rije čnik podataka, po činjući od "totalne nule".
38
DODAV DODAVANJE DATOTEK DATOTEKA A I POLJA P OLJA Nakon kopiranja i modificiranja modificiranja dvije datoteke definirane u Qick Start aplikaciji, spremni ste za dodavanje novih datoteka. U ovom momentu samo Data Dictionary okružje za Tutorial rječnik treba biti otvoren. Definiranje novih datoteka datoteka podataka
♦ Specificiranje nivoa, prefiksa i opisa za datoteku podataka:
1. Pritisnite Add File dugme u Dictionary okruženju. 2. Kada se Add File okruženje pojavi sa pitanjem o korištenju Qick Load, odaberite No dugme. Pojavljuje se New File Proporties okruženje. Clarion koristi informacije koje ste ostavili ovdje za strukturnu deklkaraciju FILE podataka. 3. Utipkajte Orders u Name polja, i zatim pritisnite TAB. Polje Name prihvaća samo važe ći Clarion nivo, koji identificira i dentificira strukturu podatka. Nivo može uključivati samo slova, brojeve, i podcrtane ili u koloni poredane znakove, i mora počinjeti sa slovom ili crtom za podvlačenje ( _ ). Nakon pritiskanja priti skanja TAB, "ORD" se automatski pojavljuje u Prefix polju. Prefix je jedan na čin da identificiranje polja istog imena u različitim datotekama podataka. 4. Utipkajte Order header file u Description polja. Opis se pojavljuje pored nivoa datoteke podataka u Dictionary Dictionary okruženju. Ako pritisnete pritisnete Comments, možete utipkati duga čak tekst opisa. Opis za što je datoteka kreirana, i zašto ste je kreirali, može biti od velike pomoći kada se vra ćate u datoteku za daljnje programiranje. ♦ Izbor driver-a za datoteku:
1. Odaberite TOPSPEED sa File Driver padajuće liste. Ovo deklarira format datoteke kao TopSpeed format datoteke. Database Drivers je dodatak u Users Guide koji uklju čuje informacije o tome koji driver podržava koji tip podataka, uz ostale korisne informacije kao što su osnovne ekstenzije datoteka podataka i/ili index datoteka. Tako đer uključuje tip i način biranja ispravnog driver-a za posao, kao npr. koji driver je najbolji kada aplikacija mora sadržavati veliki broj baza podataka ili koji driver je najbolji kada je brzina jedan od glavnih uvjeta. 2. Pritisnite OK dugme. Možete prihvatiti vrijednosti za sve druge opcije u okruženju. Okruženje se zatvara, i Dictionary okruženje izlistava Orders datoteku sa "Order header file" izlistanu pored njega.
39
Imenovanje datoteka Proizvodi i Stavke: 1. Pritisnite Add File dugme u Dictionary okruženju. Odaberite No kada vas pita o korištenju Qick Load. 2. Utipkajte Detail u Name polje. file u Description polje. 3. Utipkajte Order Detail file 4. Utipkajte DTL u Prefix polje. Mijenjajući postojeći prefiks (od "DET" u "DTL") možete svoj kod u činiti mnogo prihvatljivijim. Tri znaka su određena za prefiks, ali time niste limitirani. 5. Odaberite TOPSPEED sa File Driver padajuće liste. Prihvatite vrijednosti za sve druge opcije u okruženju. 6. Pritisnite OK dugme. 7. Pritisnite Add File dugme (ne koristite Qick Load). 8. Utipkajte Products u Name polje. 9. Utipkajte Products for sale sale u Description polje. 10.Utipkajte PRD u Prefix polje. 11.Odaberite TOPSPEED sa File Driver padajuće liste. 12.Pritisnite OK dugme. 13.Odaberite File Save, ili pritisnite Save button na izborniku. U ovom trenutku vaše Dictionary okruženje izgleda ovako: -slika Definiranje polja
Definiranje polja za datoteku NARUDZBA Sada se vratite u datoteku podataka Orders i pripremite se za definiranje njenog polja. ♦ Otvaranje New Field Proporties okruženja.
1. Odaberite Orders datoteku na Files listi. 2. Pritisnite Fields/Keys... dugme. 3. Pritisnite Insert dugme da bi otvorili New Field Proporties okruženje. Kada jednom zapo čnete sa definiranjem novog polja, prayno New Proporties okruženje automatski se pojavljuje nakon što ste dodali svako pojedino polje. To ubrzava proces dodavanja umnoženih polja. Nakon dodavanja vašeg posljednjeg polja, samo trebate pritisnuti Cancel dugme na zaslonu okruženja da bi se vratili u Field/Key Definition okruženje. -slika♦ Definirajte polje BrojKupca tako da odgovara polju u datoteci Kupci.
To vam omogućava da kasnije povežete datoteke. 40
1. Utipkaj BrojKupca u polje Name. 2. Odaberi DECIMAL od Tipova u padajućoj listi. To odgovara standarnom tipu podataka korištenom u Quick Start Wizardu. 3. Utipkaj 4 u polje Characters. 4. Pritisni OK opciju. ♦ Definirajte polje RedniBroj.
To vam omogućava jedinstvenu identifikaciju za svaki poredak. 1. Utipkaj RedniBroj u polje Name. 2. Odaberi SHORT od Tipova u padajućoj listi. Time se određuje 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 padajućoj listi. SLIKA New field properties 3. Utipkaj 7 u polje Chars. Ovo određuje ukupan broj znamenki broja (na obje strane decimalne to čke). 4. Utipkaj 2 u polje Places. 5. Pritisni OK opciju. ♦ Definirajte polje NarudzbaDatum.
Ovo čuva datum kada je Narudzba unešen. 1. Utipkaj NarudzbaDatum u polje Name. 2. Odaberi LONG od Tipova u padajućoj listi. Ovo je preferirana pohrana datuma kao tipa podataka za Top Speed driver. 3. Utipkaj Žd1 u polje ScreenPicture. Screen picure određuje standardni ’character’ format polja. U ovom slu čaju Žd1 označava 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 smješta današnji datum u bilo koji control koji dopušta ulaz novog sloga, koristeći ugrađenu TODAY( ) funkciju. 5. Pritisni OK opciju. ♦ Definirajte polje NarudzbaOznaka.
To vam omogućava da kratke oznake za posebne upute o postupcima. Utipkaj NarudzbaOznaka u polje Name. Odaberi STRING od Tipova u padajućoj listi. Utipkaj 80 u polje Chars. Pritisni OK opciju. ♦ Zatvori New Field Properties izbornik i spremi svoj rad.
Sva su polja definirana i prozor čić 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 File Save ili pritisni opciju Save na prostoru za alate.
Definiranje polja za datoteku STAVKE Kod ove točke, 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 omogućava da povežete ovu datoteku s datotekom Narudzba. 1. Utipkaj RedniBroj u polje Name. 2. Odaberi SHORT od Tipova u padajućoj listi. 3. Pritisni OK opciju. 42
♦ Definirajte polje BrojProi.
To vam omogućava da povežete ovu datoteku s datotekom Proizvodi. 1. Utipkaj BrojProi u polje Name. 2. Odaberi SHORT od Tipova u padajućoj listi. 3. Pritisni OK opciju. ♦ Definirajte polje Količina.
To čuva broj proizvoda u poretku. 1. Utipkaj Količ ina u polje Name. 2. Odaberi SHORT od Tipova u padajućoj 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 padajućoj 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 padajućoj 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 prozor čić 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 File Save ili pritisni opciju Save na prostoru za alate.
Definiranje polja za datoteku PROIZVODI Kod ove točke, 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 omogućava da povežete ovu datoteku s datotekom Detalj. 1. Utipkaj BrojProi u polje Name. 2. Odaberi SHORT od Tipova u padajućoj listi. 3. Pritisni OK opciju. ♦ Definirajte polje OpisProi.
To omogućava opis proizvoda . 1. Utipkaj OpisProi u polje Name. 2. Odaberi STRING od Tipova u padajućoj 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 padajućoj 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 padajućoj 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 prozor čić 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 File Save ili pritisni opciju Save na prostoru za alate.
45
DODAVANJE KLJUČEVA Sada kada su sve datoteke definirane, možemo dodati klju čeve. Quick Start Wizard je ve ć defirao ključeve za dvije datoteke koje ste kreirali za QwkTutor aplikaciju. U ovom poglavlju, definirat ćemo ključeve za preostale datoteke. Definiranje ključ eva 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č . Može biti više 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 dopušta duplikate i nule i definiran je kao primarni ključ za datoteku. Više od jednog sloga može postojati za svakog kupca, čineći tada Many to One vezu, sa datotekom Narudzba, “djetetom” datoteke Kupci.
Kreiranje primarnog ključa Osigurajte da Dictionary dialog za Tutorial data dictionary bude aktivan. ♦ Ime ključa
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 predlažemo povezivanje rije či ‘key’ i imena polja u imenu ključa (kao što je učinjeno u Quick Start Wizardu). 6. Izaberite Attributes opciju, označite Require Unique Value i Primary Key.
46
Ovim se ključ specificira u primarni ključ. Generirani početni kod automatski štiti krajnjeg korisnika od umetanja ve ć postojećih vrijednosti ili nula vrijednosti. 7. Označite Auto Number. Generirani početni kod povećava ključ polja sa svakim novim zapisom. SLIKA: New Key Properties 8. Izaberite Fields opciju. ♦ Specificiranje polja ključa
1. Pritisnite Insert. Otvara se Insert Key Component dialog, spreman da se specificira jedno ili više 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 klju ča.
Definiranje vanjskog ključa Sad se može 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 više polja za ključ. 5. Izaberite CustNumber i pritisnite Select. 6. Pritisnite OK . Svaki put, kad završite novi klju č, pojavi se prazan New Key Properties dialog spreman za slijedeći 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 File Save ili pritisnite Save button na tool baru. Definiranje ključ a za datoteku Stavke
Polja koja Detail datoteku povezuju s drugim datotekama u bazi podataka su ProdNumber i OrderNumber. Orders CustNumber
Detail
OrderNumber ⎯⎯ OrderNumber
Product
InvAmount
ProdNumber ⎯⎯ ProdNumber
OrderDate
Quantity
ProdDesc
OrderNote
ProdAmount
ProdAmount
TaxRate
TaxRate
∗ Polje OrderNumber povezano je s Orders datotekom.
U polju OrderNumber postojat će dvostruke vrijednosti, koje se odnose na zapise u Orders datoteci. Ključ koji definiramo u Detail datoteci je drugi vanjski klju č. Ključ Orders datoteke ne dozvoljava dvostruke vrijednosti i nula vrijednosti te ne dozvoljava onaj ključ, koji je definiran kao primarni ključ. Može postojati više 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. Može postojati više Detail zapisa, koji sadrže pojedini ProductNumber. Zbog toga je veza sa Detail datotekom, koja je “dijete” Product datoteke Many to One.
Definiranje prvog vanjskog klju ča 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 klju ča.
Definiranje drugog vanjskog klju ča 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 File Save ili pritisnite Save button na tool baru. Definiranje ključ a 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 može biti više Detail zapisa. To je veza One to Many Product datoteke, koja je “roditelj” Detail datoteke.
Kreiranje primarnog ključa ♦ Ime ključa
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. Označite Require Unique Value i Primary Key. 8. Označite 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 klju ča. 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 File Save ili pritisnite Save na tool baru.
50
DODAVANJE RELACIJA Sad kad su svi ključevi definirani, možemo dodavati relacije. Kad ste jednom definirali veze, možete dodati Validity Checks (validacije) za polja koja mogu sadržavati samo vrijednosti koje postoje u drugoj datoteci. To su posljednji koraci u kompletiranju rje čnika.
Definiranje relacija za orders file (datoteku narudžbi) ∗ 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. Ponuđeni tip veze je 1:MANY, koji treba prihvatiti . 3. Izabrati KeyOrderNumber iz padajuće liste Primary Key. 4. Izabrati Detail iz padajuće liste Related File. 5. Izabrati KeyOrder Number iz padajuće liste Foreign Key. 6. Pritisnuti Map by Name button. Ovo uspostavlja vezu povezivanjem svih polja u dva klju ča koji imaju isto ime. ♦ Formiranje ograničenja Referential Integrity (referencijalnog integriteta).
1. Izabrati Cascade iz padajuće liste On Update. To upućuje template da generira kod da automatski ažurira sve povezane 'Child' (djecu) zapise kad se promijeni 'Parent' (roditelj) vrijednost klju ča. 2. Izdabrati Restrict iz padajuće 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 padajuće liste Type. Primijetite da promptovi za Primary Key i Foreign key zamijenjuju mjesta. To se dešava zato jer definiramo veze sa sa gledišta 'Child' datoteke. 4. Izabrati KeyCustNumber iz padajuće liste Foreign key. 5. Izabrati Customer iz padajuće liste Related File. Ovo uspostavlja datoteku Customer (kupac) kao 'Parent' u danoj vezi. 6. Izabrati KeyCustNumber iz padajuće liste Primary key. 7. Pritisnuti Map by Name button. ♦ Formiranje ograničenja Referential integrity (referencijalnog integriteta).
1. Izabrati Cascade iz padajuće liste On Update. Iako ne priznajemo ovu vezu sa stajališta 'Child' datoteke, ograni čenja referencijalnog integriteta i dalje su još uvijek postavljena na akcije 'Parent' datoteke. 2. Izabrati Restrict iz padajuće liste On Delete. 3. Pritisnuti OK button. Sad bi Vaš Dictionary dijalog trebao izgledati ovako: SLIKA. 4. Izabrati File Save 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 rje čniku. 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 padajuće liste Type. 4. Izabrati KeyProdNumber iz padajuće liste Foreign Key. 5. Izabrati Products iz padajuće liste Related File. 6. Izabrati KeyProdNumber iz padajuće liste Primary Key. 7. Pritisnuti Map by Name button. ♦ Formiranje ograničenja referencijanog integriteta.
1. Izabrati Restrict iz padajuće liste On Update. Nećemo dozvoliti nikakve promjene broja proizvoda. 2. Izabrati Restrict iz padajuće liste On Delete. 3. Pritisnuti OK button. Vaš Dictionary dijalog sad bi trebao izgledati ovako: SLIKA. 4. Izabrati File Save, ili pritisnuti Save button na tool baru . Definiranje validacije zavisne o vezi
Nakon što su definirane sve veze me đu datotekama, možemo formirati Validity Checks (validacije) za dva polja koja namjeravamo staviti na formu za ažuriranje. ∗ Kod unosa novog zapisa Order datoteke, možemo specificirati da CustNumber mora
odgovarati postojećem zapisu u Customer datoteci. ∗ Kod unosa novog zapisa Detail datoteke, možemo specificirati da ProdNumber mora
odgovarati postojećem 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. Označiti Validity Checks tab. 5. Označiti Must be In File radio button. 6. Izabrati Customer iz padajuće liste File Label. Ovo zahtijeva da polje može sadržavati jedino vrijednosti provjerene čitanjem odgovarajućeg zapisa iz Customer datoteke. To je validirano koriste ći informacije o
53
vezama između datoteka, zbog čega se ovaj Validity Check ne može 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 padajuće 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. Rječnik podataka je sad kompletan. U slijede ćem poglavlju, započet ćemo graditi aplikaciju koristeći Application Generator (generator aplikacija).
54
KREIRANJE APLIKACIJE Kada je riječnik podataka potpun, sada možete 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
Počet ćete s unošenjem imena vaše aplikacije u aplikacijski generator te što rije čnik podataka koristi. 1. Birajte File New iz izbornika. 2. Izaberite Aplication tab, isključite Use Quick Start Wizard, zatim pritisnite tipku
Create. Pojavi se Application Properties okvir. 3. Pritisnite ellipsis (...) tipku desno od Aplication File polja. 4. Izberite \CW15\TUTORIAL direktorij u Open File okviru, zatim tipkajte TUTORIAL.APP u File Name polju.
5. Pritisnite OK tipku koja zatvara Open File okvir. 6. Utipkajte TUTORIAL.DCT u Dictionary polje. 7. Isključite 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 vašu aplikaciju ulogičkoj proceduri, pozivajući stablo koje nudi vizualnog vodi ća pokazujući redosljed kojim jedna procedura poziva drugu. To ste ve ć vidjeli u Quick Start poglavlju.
55
Počinjemo sa Main procedurom. Aplikacija će biti MDI (Multiple Document Interface) procedura. Prirodni po četak 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, isključite 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) Uobičajeno je prvi zadatak kad kreirate proceduru ure đivanje glavnog prozora. Tu možete smjestiti naredbe ili ako one ve ć postoje u privremenoj proceduri, možete ih prilagoditi. Aplikacijski okvir nikad nema naredbe. Windows ih ne dopušta. 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. ♦ Uređivanje Main prozora.
1. Pritisnite Window tipku. Pojavi se Window Formatter. Tu možete vizualno urediti prozor i njegove naredbe. 2. Izaberite Options Show Propertybox (ako već nije izabran). 3. KLIKNITE na prozorski naslov i uvjerite se da je fokusiran 4. Utipkajte Tutorial Application u Caption polju tekućeg Propertybox alata, zatim pritisnite TAB. (Slika: Tutorial Application) Tekstualno poglavlje se nadopunjuje u probnom prozoru. Uvjerite se da drža či postoje unutar aplikacijskog okvira prozora kada izvršavate ovaj korak. Uređ ivanje Izbornika
Iz Window Formatter izbornika, možete pozvati Menu Editor, koji vam dozvoljava dodavanje ili uređivanje izbornika za aplikacijski okvir prozora. Ako dodate izborni čke 56
item-e, možete izabrati Action tab kako bi imenovali proceduru koja je pozvana, kada korisnik izabere izbornički item. Svaku novu proceduru imenujete, kako bi se iz izbornika mogla pozvati, Aplikacijski Generator automatski dodaje “ToDo” proceduru u Aplikacijsko Stablo. Zatim možete definirati funkcionalnost procedure, kao što ste sada definirali funkcionalnost okvira. Kad Aplikacijski Generator generira izvorne kodove za vašu aplikaciju, on automatski započinje novi izvršni postupak za svaku proceduru koju ste pozvali u glavnom izborniku (to zahtjeva MDI aplikaciju). ♦ Dodavanje izbornika
1. Iz izbornika Window Formatter, izaberite Menu Menu Editor. Pojavi se Menu Editor, koji prikazuje izbornik u hijerarhijskom obliku u listi lijevo. Polja na desno dozvoljavaju imenovanje i prilago đavanje spuštenih izbornika i izborničkih item-a. Ovo vam privremeno osigurava “standard” izbornik. On sadrži osnovne komandne prozore kao sto su Exit naredba u File izborniku, te standardno ure đivanje Cut,Copy i Paste naredbe, standardni prozor upravlja naredbama koje se obi čno 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 sadrži tri item-a: Products, Customers i
Orders. To će se pojaviti u izborničkoj 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 slijedeći znak (V) podcrtan, osiguravaju ći pristup tipkovnicom. ♦ Dodavanje prvog izborni čkog item-a.
1. Pritisnite Item tipku.
57
Time se ažurira lista na lijevoj strani okvira, mijenjaju ći tekst izbornka koji ste upravo dodali u “&View”. To dodaje novom izborni čkom item-u naredbe u spuštenom 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 izborni čki item, tako kodirana izjava može upu ćivati na to. Početni znak pitanja (?) indicira da je to polje jednako označeno. 3. Izaberite Action tab. Prompt vam dozvoljava imenovanje izvršnih procedura, kad korisnik izvršava
View Customers naredbu. 4. Izaberite Call a Procedure iz Whwn Pressed spuštenog 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. Uključite Initate Thread okvir. Procedura ViewCustomers prikazuje MDI “dijete” prozor i uvijek morate po četi novi izvršni postupak za neki MDI prozor pozvan direktno iz aplikacijskog okvira. Polje
Thread Stack će ponuditi minimalnu valjanu vrijednost. (Slika: Menu Editor) ♦ Dodavanje drugog izborni čkog item-a
1. Pritisni Item tipku. Tako ažuriramo listu na ljevoj strani okvira, mijenjaju ći 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, slijedeći korak je definiranje akcija za izborni čki item - što se doga đa kad ih krajnji korisnik poziva iz izbornika. Za sad ćete preskočiti ovaj korak, samo za ovaj izborni čki item. Kasnije ćete kreirati procedure kopirajući ih, a zatim ih dodajte u ovaj izbornik. Sve to jer ne želite imati “ToDo” izbornike s istim imenom.
58
♦ Dodavanje trećeg izborničkog 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 spuštenog okvira. 5. Utipkajte ViewOrders u Procedure Name polju. 6. Uključi Initate Thread okvir. ♦ Zatvaranje Menu Editor-a i Window Formatter-a, a zatim spremanje vašeg rada
1. Pritisnite Close tipku koja zatvara Menu Editor. Tako se vraćate u Window Formatter. 2. Izaberite Exit izbornik i odgovorite s Yes kad vas pita da li želite spremiti vaše promjene. To vas vraća u Procedure Properties okvir. 3. Pritisnite OK tipku koja zatvara Procedure Properties okvir. To vas vra ća u Application Tree okvir i dodaje dvije nove procedure ozna čene sa “(ToDo)”: ViewCustpmers i ViewOrders. To su procedure koje ste imenovali u Prompt okviru. (Slika: TUTORIAL.APP-Application Tree) 4. Izaberite File Save, ili pritisnite Save tipku u alatima. Dodavanje Aplikacijskih Alata
Možete jednostavno dodati tipku za alate u prozoru. Kako bi to demonstrirali, smjestite alate koji sadrže tri tipke, svaka poziva istu proceduru koju ste upravo imenovali. Zbog jednostavnosti, tipke će biti tekstualno planirane. Molim vas pogledajte User’s Giude za instrukcije o dodavanju icon-skih tipki. ♦ Pozivanje Window Formatter-a i kreiranje crte za alate
1. Osvjetlite Main proceduru. 2. DESNI-KLIK miša će prikazati popup izbornik. (Slika: TUTORIAL.APP-Application Tree) 3 . Izaberite Window izbornički item. 59
4. U Window Formatter meniu izaberi Toolbar NewToolbar. To će dodati područ je za crtu s alatima - koji će skicirati pojedine točke u prozoru za primjere. U isto vrijeme pojavljuje se Controls kutija za alate. Možemo dodati bilo koji tip kontrole u crti za alate tako da klikneš na crtu s alatima. Slika : Učiteljske aplikacije ♦ Smještanje prvog dugmeta
1. KLIKNI na alat gdje su dugmadi. 2. KLIKNI na prozor za primjere u podru č ju gdje je crta za alate, odmah ispod gornjeg ljevog kuta. 3. KLIKNI DESNOM TIPKOM miša na dugme koje si izabrao pa onda izaberi
Properties iz otvorenog menia. Slika : Učiteljske aplikacije Pojavit će se Button Properties. 4. Utipkaj Customers u polju Parameter. 5. Utipkaj ?CustomerButton u polju Use. To omugućuje jednako ozna čavanje polja za kreiranje dugmadi. Tu smo uklju čili riječ “dugme - button” za kodiranje čitljivosti. Slika : Button Properties 7. Izaberi Action. 8. Izaberi Call a Procedure iz When Pressed spuštenih opcija. 9. Izaberi ViewCustomers iz Procedure Name spuštenih opcija. 10.To je ime procedure koju smo utipkali View Customers predmetnom meniu. Kada pritisnemo dugme pozvat će se ista procedura. Obi čno, komandno dugme na crti za alate služi za brži na čin izvršavanja 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 područ ju gdje je crta za alate, odmah do prvog dugmeta. Pojavit će se dugme obilježeno kao Button2. 60
3. KLIKNI DESNOM TIPKOM miša 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. Uobičajeno je u ovakvoj situaciji da priljepimo ovo dugme. Za sada ćemo preskočiti ovaj korak , ali samo za ovo dugme. Kasnije ćemo kopirati proceduru i pozvati ju u situaciji kad se proizvodi kodirani cilj koji rješava što se treba raditi kada krajnji korisnik pritisne dugme. ♦ Smještanje trećeg dugmeta
1. KLIKNI na alat gdje su dugmadi. 2. KLIKNI na prozor za primjere u područ ju gdje je crta za alate, odmah pokraj drugog dugmeta. 3. KLIKNI DESNOM TIPKOM miša 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 spuštenih lista. 8. Izaberi ViewOrders iz Procedure Name spuštenih lista. Ovo je ime procedure koju smo utipkali za View Orders predmetni meni. 9. Provjeri Initiate Thread kutiju. 10. Pritisni dugme OK. ♦ Mijenjanje veličine i poravnjavanje dugmadi
Window Foramatter ima cijeli niz alata za poravnjavanje kojima se lako izravnanvaju i mijenjaju veličine vašeg kontrolnog prozora. 1. S odabranim Orders dugmetom stisni CTRL + KLIKNI na dugme Products. To daje dugmadima mogu ćnost rukovanja s njima i Products dugme ima crveni okvir što nas upu ćuje na to da ima fokus. CTRL + KLIKNI je višestruki izbor pritiska koji nam omogu ćuje izvođenje akcija na nekoliko kontrola istovremeno. Kad je jednom izabrana višestruka kontrola maknuti 61
je možemo povlačeći na bilo koju izabranu kontrolu, ili možemo 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 mogu ćnost rukovanja i Customers dugme ima crveni okvir što nas upućuje da ima fokus. 3. Izaberi Alignment Make Same Size. Time će sva tri dugmeta postati iste veli čine kao i ono dugme s crvenim okvirom
(
Customers dugme ).
4. Izaberi Alignment Align Top. Time poravnavamo sva tri dugmeta po vrhu Customers dugmeta. 5. Izaberi Alignment Spread Horizontally. 6. Time će sva tri dugmeta biti jednako dugačka. Slika : Učiteljska 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 vra ća direktno u Application Tree prozor. Još uvijek sadrži iste dvije procedure označene s “(To Do)” : ViewCustumers i ViewOrders . 2. Izaberi File Save , ili pritisni Save dugme u liniji s alatima.
Testiranje aplikacije 1. Otvorite Application Tree, izaberite Project Run, ili pritisni Run dugme na crti s alaltima. Application Generator generira kod cilja pokazuju ći razvoj u prozoru za poruke, proceduru po proceduru. Onda se pojavi Make window, pokazuju ći 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 sljedeća poruka: 62
Slika: Procedura nije definirana Ova sposobnost omogu ćuje nam poboljšanje testiranja aplikacija i ako smo dizajnirali i ako nismo. Mi ćemo ga popuniti u njegovoj funkcionalnosti, što ćemo započeti u ovom poglavlju. 3. Pritisni OK dugme kako bi zatvorili kutiju s porukom. 4. Izaberi File Exit kako bi zatvorili Tutorial Application. Kroz ostali dio u čenja 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 na čin kao što smo kreirali uz pomoć Qick Start Wizarda. Application Generator koristi iste template , koji generiraju iste osnovne kodove - ali rade ći ih na ovaj način imat ćemo šanse da to napravimo od po četka. Započet ć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 slično 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, isključi
Use Procedure Wizard kutiju i onda pritisni Select dugme. Pojavit će se Procedure Properties okvir. ♦ Uređenje 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 tekućem Propertybox toolboxa i onda pritisni TAB. ♦ Priprema za formatiranje spiska kutija
4. KLIKNI DESNOM TIPKOM miša 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 Koristeći List Box Formatter, možemo populate (popuniti) i format (formirati) polja rječnika podataka koja se pojavljuju u stupcima. ♦ Koristeći Select Field (prozor za odabiranje polja), odaberemo polje iz rje čnika
podataka, koje se onda u List Box Formatter-u prikaže kao stupac. SLIKA
List Box Formatter
1. Odaberi opciju Populate. Pojavljuje se prozor Select Field. To omogućuje pristup poljima definiranim u rječniku podataka. Popis datoteka ( Files) prikazuje sve datoteke koje možemo koristiti u ovom postupku, hijerarhijski poredane (the File Schematic), što uključuje 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 vraćaš 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 omogućuje formiranje izgleda odabranog polja. 2. Odaberi opciju Field i uključi mogućnost 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 uključi mogućnosti Right Border i Resizeable. List Box Formatter automatski “prenosi” te opcije sa zadnjeg dodanog polja, pojednostavljujući dodavanje višestrukih polja sa istim opcijama. U ovom slu čaju, brišu se granice između ovog i sljede ćeg stupca, a to će biti polje LastName. 5. Odaberi opciju OK. ♦ Popunjavanje trećeg 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 uključi mogućnosti Right Border i Resizeable. Tako ponovno dodajemo pomičnu granicu između ovog i sljede ćeg 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
Kreirajući novu grupu, u koju ćeš smjestiti podatke o adresama, možeš 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 omogućuje unošenje teksta za zaglavlje. Sva polja koja se pojavljuju u nastavku desno bit će uključena 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 omogu ćuje 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 način sortiranja ovisno o tome koji smo tab odabrali. Zato ćemo sada dodati tu funkciju da pokažemo kako je to jednostavno posti ći! ♦ Dodavanje Property Sheet i prvog taba.
1. KLIKNI u prostor za naslov u svom prozoru kako bi se pojavili crveni “rubovi”. 2. Postavi ”miša” to čno 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 do đe ispod i lijevo od opcije Insert. 6. Povuci crveni kvadrati ć na dnu, u desnom kutu , tako da do đe točno ispod i desno od opcije Close. To omogućuje oblikovanje tako da se property sheet pojavi u list boxu 67
i da se opcije na đu 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 može biti bilo kakav, ali imenuju ći ključ imenujemo način 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 sljede ći 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 sljede ći 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. “Povlačenje” uz stisnuti SHIFT omogu ćuje nam da pomi čemo u samo jednom smjeru; ako počnemo pomicati prema dolje mo ći ćemo micati samo dolje-gore, ali ako počnemo micati u jednu stranu, mo ći ćemo pomicati samo lijevo-desno.
Testiranje korisničkog browse (izgleda prozora) Windows Formatter omogućuje 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 smještena u Browse Procedure
šablonskom izostavljenom prozoru napravljenog u Template Registry (pogledaj 68
User’Guide za više informacija o Template Registry). To znači da je ona udružila
promptove koji govore kako da popunimo listu i koje aktivnosti da izvršimo. Promptovi koje se ukazuju u Actions tabu dolaze direktno iz šablona (u ovom slu čaju, BrowseBox Control šablona). To je upravo ovo kako vi komunicirate sa šablonama,
točno koji kod trebate za generiranje da dobijete na čin rada koji ste tražili (i ništa više). Ovi promptovi, njihovo zna čenje i upotreba, su svi pokriveni u User’s Guide (korisnikov vodič) i na on-line pomoći 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 sortirajući red u vremenu izvršavanja. 5. Pritisnite eliptičko 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 uključi ključ na Company polje. To ne treba značiti š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 eliptičko 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 Formatter’s menu i snimite promjene u prozoru kada smo ga promptirali. 2. Pritisnite OK dugme u Procedure Properties dijalog da ga zatvorimo. 69
3. Odaberite File Save, 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 završetak osnovne procedure imenovali smo Update proceduru. To je procedura koja drži 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 zajedni čki
Procedure Properties dijalog. Ova imena nove procedure, koja se ukazuju u Application Tree. 3. Provjerite Allow Edit via Popup box. Ovo omogućuje 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 Zabilježite da niste startali novo izvršenje kroz proceduru. Želite ga pokrenuti kroz istu vezu kao pročitano, tako da krajnji korisnik ne može otvoriti ve ć formirani prozor da izmjeni zapis, onda aktiviraj pro čitani prozor ponovno i otvara drugu formu na istom zapisu. Drugim riječima, vi ne želite da jedan krajnji korisnik pokušava promijeniti isti zapis dvaput u isto vrijeme!
Kreiranje Update Procedure Update procedura trebala bi koristiti Form proceduru da kreira proceduru da krajnji
korisnik može koristiti za podržavanje 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. User’s Guide i on-line pomoć opisuju uobičajene 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. Propušteni prozorski dizajn se sastoji od tri polja spremna za vas. OK dugme će zatvoriti dijalog, prihvaćajući korisnički 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 Premještanje polja u prozor zove se popunjavanje. 1. Odaberite Options pa Show Fieldbox . SLIKA SA 107. STRANICE (donja slika) Ovo pokazuje sadržaj padaju ćih toolbox-ova svih polja od svih specifi čnih datoteka u vašoj proceduralnoj File Schematick . Ova polja su spremna za popunjavanje u vaš dizajnirani prozor. 2. KLIKNITE na CustNumber u padajućem Fieldbox te maknite kursor preko dizajniranog prozora. Kursor mijenja i “malu knjigu” koja pokazuje polja što dolaze iz rje r je čnika podataka. 3. KLIKNITE na gornji lijevi kut vašeg dizajniranog prozora. Ovo premješta oba polja i njihove promptove. To izostavlja bilo što ste specificirali u rječniku podataka. 4. KLIKNITE na Company u padajućem Fieldbox. 72
5. KLIKNITE odmah ispod prompt namješten na prvom polju. 6. KLIKNITE na FirstName u padajućem Fieldbox. 7. KLIKNITE odmah ispod prompt namješten na zadnjem polju. Ovo namješta oba polja i njegov prompt. 8. KLIKNITE na LastName u padajućem Fieldbox. 9. KLIKNITE odmah ispod prompt namješten za ime. 10. KLIKNITE na Address u padajućem Fieldbox. 11. KLIKNITE odmah ispod prompt namješten za prezime. 12. KLIKNITE na City u padajućem Fieldbox. 13. KLIKNITE odmah ispod prompt namješten za polje adresa. 14. KLIKNITE na State u padajućem Fieldbox. 15. KLIKNITE odmah ispod prompt namješten za grad. Ovo namješta prompt i padaju ću listu. Mi smo predefinirali ovo polje kao LIST control sa DROP atributom u rječnik podataka. Otkako ima predefiniran skup vrijednosnih ulaza,
ne trebamo ga formatirati. 16. KLIKNITE na ZipCode u padajućem Fieldbox. 17. KLIKNITE odmah ispod prompt namješten za državu. 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 približnim pozicijama.
1. KLIKNITE na State padajuću listu. Njezin izbornik se treba pojaviti kad KLIKNETE na to. 2. SHIFT + DRAG(pomak) na State padajuću listu ulijevo da bude što bliže 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 padajuću listu i prompt (KLIKNI i POMAKNI na drugi od dvije odabrane kontrole) gore i nadesno od City kontrola. Jednom odabrane višestruke kontrole možete pomaknuti kao grupu, na isti na čin 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 ve ći da se to izvrši. 9. KLIKNITE na ulazni box LastName. 10. SHIFT + DRAG (pomak) LastName ulazni box ulijevo što bliže 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 padajući Alignbox toolbox koji sadrži iste skupove
poravnavajućih alata koji su tako đer 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 padaju ćem 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 padaju ćem Alignbox toolbox-u. Sve kontrole poravnatih širina izme đu 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 padajućem 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 padajućem Alignbox toolbox-u. Ovo poravnava kontrole u teku ćem 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 padaju ćem Alignbox toolbox-u. 15. Na isti način, 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 uređene telefonske zapise.
Dodavanje BrowseBox Control Template-a Kontrol template-i generiraju sve zahtjevane izvorne kodove za kreiranje i vo đenje kontrola po vašem prozoru. Ovdje, postavite BrowseBox kontrol template koji pokazuje zapise iz datoteke Phones što su uređeni u tekućem Customer zapisu. ♦ Namjestite Kontrol template
1. Odaberite Populate pa Control Template, ili KLIKNITE na Kontrol template alat u padajućem 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 veličinu stupca u List Box Formatter prozoru da ga u činite dovoljno prostranim za naslov stupca. Da promijenimo veli činu stupca, samo ga DRAG (POMAK) sa mišem.
12. Pritisnite OK dugme da bi zatvorili List Box Formatter . Ovo namješta formatirani List Box na prozor na poziciji koju smo odredili. Ovo može proširiti prozor. Ako je ipak, promijenjena veli čina Lidt Box-a s povlačenjem njegovog okvira, tada pomaknite OK , Cancel i poruka kontrola stringa ide dolje do kraja prozora. ♦ Namještanje kontrol template zapisa za uređivanja granica
1. DESNI CLICK na list box koji smo upravo namjestili, i odaberite Actions iz padajućeg menua. 2. Pritisnite eliptično (…) 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 padajuće liste. 76
5. Prititisnite eliptično (…) dugme odmah do Related File polja te onda izaberite Customer iz Select File dijaloga.
Ovo prepoznaje datoteku Kupac kao relacijsku datoteku. Ovi koraci ograni čavaju zapise prikazane u list box-u ka samo onim relacijskim zapisima u teku ćem prikazanom zapisu datoteke Kupac. SLIKA SA 113. STRANICE 6. Pritisnite OK za zatvoriti List Properties dijalog.
Dodavanje BrowseUpdateButtons Control Template Slijedeće dodavanje standardnog Insert , Change i Delete dugmeta za list box kontrola. Želimo li poslije dodati oblik procedure za dodavanje i oblikovanje telefona. ♦ Postavljanje drugačijeg 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 križi ć 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 padajućeg 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 File→Save, ili Save dugme na tool bar -u. “ Krađa” Phones Update Form-e
Sada možete vidjeti Phones listu u Customer formi. Kako bilo, vi još trebate put za “update” Phones zapis. Možete dodati drugu Form proceduru u tu svrhu. Kako god, to je 77
jedan od lakših puteva. Otkako aplikacija koju smo kreirali u Quick Start Tutorial poglavlju također koristi Phones datoteku, mi možemo “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 sljedeće upozorenje. Otkako znamo da jedina procedura koju želimo je ona čija
je definicija datoteke bila prenesena iz rje čnika aplikacija, sigurni smo u nastavak
prenošenja. 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 namješta obilježje u ikoni tik do ukazanog imena procedure koji je bio odabran za prijenos. Možete prenijeti višestruke procedure odjednom, ako odaberete. SLIKA SA 115. STRANICE (donja slika) 5. Pritisnite OK dugme. Sada se upotrebljava, slijede će upozorenje koje smo prenijeli u proceduru s imenom naše 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 File Save 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 više izbornih
informacija te tako poboljšavamo funkcionalnost procedure. Kopiranje procedure
Nakon kreiranja View Products 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 Procedure Copy.... 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 View Products opciju. Imenovanje procedure s View Products opcijom. 1. Klikne se desnom tipkom miša 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 lakši pristup embed points-u. 4. Prije nego li kreiramo kodirani direktorij ide se na Control Event Handling , te se stisne znak + koji proširuje menije. 5. Proširi 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 proširi. 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 ponavljajući 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 točne datoteke i polja za ovu proceduru. 9. Odaberite Key tipku, i tada odaberite Ključ BrProizvoda 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 odgovaraju ći "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, pokušajte 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 mogućih "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. Tako đer dozvoljava dodavanje i "održava" dodatne obrasce proceduri. Dodatni obrasci su vrlo sli čni Kontrolnim obrascima, u tome, oni dodaju specifi čnu 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 File Save, 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 provjeravajući 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 vraćanje u Procedure Properties dijaloga. 7. Stisnite Window button da dizajnirate formu. ♦ Naseljavanje polja
1. Odaberite Options Show 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 vašeg
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 File Save, ili stisnite Save button na tastaturi za spremanje vašeg rada. Forma je napravljena.
84
KREIRANJE PREGLED NARUDŽBI PROCEDURE Za ViewOrders proceduru kreirat ćete prozor sa dvije sinkronizirane tabelirane kutije tabela. Jedna predstavlja sadržaj datoteke Orders, a druga predstavlja srodne zapise u datoteci Detail. Koristit ćete osnovnu window proceduru, i " popunit" ćete je koristeći Kontrolne obrasce. Kontrolni obrasci generiraju sve izvorne kodove za kreiranje i održavanje kontrole. U tom slučaju, stavljamo BrowseBox kontrolne obrasce dozvoljavaju ći Aplikacijski generator za produkciju koda koji otvara datoteke i stavlja neophodan podatak u QUEUE strukture (pogledaj Jezič nu referencu) koje sadrže 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. ♦ Uređivanje prozorske procedure.
1. U Procedure Properties dijalogu, stisnite Window button.
New Structure dijalog se pojavljuje. Osnovni prozor procedure je kao prazna plo ča u kojoj definirate svoj prozor. Zbog tog što procedura nema predefiniran prozor, izabirete tip prozora koji će osigurati vašu po četnu točku. U tom slučaju, 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, čineći ga dva puta ve ćim od originalne veli čine. 4. Utipkajte Orders u Caption polje od ploveće Propertybox kutije sa alatom, i zatim stisnite TAB.
85
Smještanje prvog kontrolnog obrasca 1. Izaberite Populate Control Template, ili KLIKNI na Control Template alat u plovećoj 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. ♦ Smještanje Orders polja datoteke u List Box Formatter.
1. Stisnite Populate button. 2. Istaknite "ToDo" pojedinost niže 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 ru čicu u sredinu desne strane čineći ih općenito 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 zadržavaju u listi. 3. Stisnite Font button.
86
Zato što je jedno polje (opisno polje) dugo, možete specificirati tu List Box trebali bi koristiti manji font, pokazujući više informacija bez zahtjeva krajnjeg korisnika tabele. 4. Izaberite font (vaš izbor) i postavite veličinu na 8 točaka. Vidite User's Guide za tipove na temu kao izabiranje desnih fontova za kontrole. U principu, želite se držati fontova koje želite postaviti sa prozorima; ne možete 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 ure đivanje rasporeda. 1. Izaberi Populate Control 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. Upiši UpdateOrder u Update Procedure opciji. Ovo imenuje proceduru na isti na čin kao što smo imenovali Update proceduru za Customer browse u njenom Procedure Properties dijalogu. Imenovanjem Update Procedure za jednu tipku u Control obrascu, izvršeno je imenovanje za sve tri. 3. Pritisni tipku OK.
87
Smještanje drugog Browse List Box-a Zatim, smjesti list box sa sadržajem Detail datoteke. Ovo se pojavljuje automatski kada zadnji korisnik mijenja selekciju na vrhu list box-a. 1. Izaberi Populate Control 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 vuku ći držalo sa sredine desne strane na desno, čineći je širom (otprilike da bude široka kao polovina prozora). ♦ Postavi Control template djelovanje specificirajući 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 ograničavaju 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 rječniku 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 izjedna čimo font sa onim koji je korišten na vrhu list box. 4. Izaberi neki font po izboru, i postavi veli činu na 8 točaka. 5. Pritisni OK za zatvaranje Select Font dijaloga. 6. Pritisni OK za zatvaranje List Properties dijaloga.
Dodavanje Close Button Control Template Konačno, možemo dodati tipku Close koja zatvara prozor. 1. Izaberi Populate Control 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. Može biti i veći nego područ je 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 File Save ili pritisni Save tipku da spremiš svoj rad. 89
KREIRANJE FORME UPDATE-NARUDŽBA Za OrderUpdate formu, mi ćemo smjestiti polja iz datoteke Order na update formu, osiguravajući automatsko poboljšanje u datoteci Customer, dodaj BrowseBox Control template pokazujući povezane detalje itema, procjenjuju ći svaku liniju item detalja, a zatim procjenjujući konačni poredak.
Uređivanje 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. ♦ Uređivanje Window procedure.
Pritisni tipku Window pa napravi prozor višim vuku ći njegov gornji srednji kvadrati ć (koristi WindowFormatter vertikalne linije za pomicanje podru č ja za promatranje ako je potrebno). SLIKA: Window Formatter ♦ Smjesti unosne kontrole za datoteku Orders.
1. Izaberi Populate Multiple 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 smještaju i polja i njihov prompt. Select Field dijalog se odmah ponovo otvara, spreman za slijede će 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 sli čno kao ova ilustracija. SLIKA: Update Records ♦ Dodavanje lookup procedure u korisni čku listu.
1. Desni klik na ORD: CustNumber Control i izaberi Actions iz popup menija. Standardne akcije za bilo koju unutarnju kontrolu dozvoljava nam izvršavanje 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 ure đenoj vezi između datoteka u rječniku podataka. 5. Osvjetli CUS: KeyCustNumber u Select Key dijalogu, zatim stisni tipku Select. Na taj način stvoren je klju č CUS: KeyCustNumber koji će biti korišten u pokušaju dobivanja odgovaraju ćeg 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 sadržavati 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, dozvoljavajući zadnjem korisniku da vrši 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 teku ći. 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 slijedeći kod: ?ORD: CustNumber šPROP: Touched ć=TRUE Ovaj prikaz koristi sintaksu Clarionovog jezika Zadana svojstva (vidi dodatak C u Jezičnim preporukama) da bi se osiguralo da je doga đaj 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 Control String, ili klikni na String alat u plutajućoj 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 miša 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.
Smještanje Control Templatesa datoteke Detail Slijedeći ključni 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 Populate®Control Template, ili klikni na alat Control Template u plutajućoj 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 dopušta da dodate lokalne varijable bez vra ćanja 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 teku ćeg zapisa.
1. Klikni desnom tipkom miša na list box kojeg si upravo smjestio, i izaberi Actions iz popup menia. 2. Pritisni eliptični button za Range Limit Field. 3. Osvijetli polje DTL:orderNumber u Components listi, zatim pritisni Select button. 4. Izaberi File Relationship iz padajuće liste pod Range Limit Type. 5. Utipkaj Orders u polje Related File. ♦ Dodaj totalni proračun u browse list box za redoslijed fakturnih iznosa.
1. Izaberi Totaling tab. 2. Pritisni Insert button. 3. Pritisni eliptični 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 proračuna. 5. Izaberi Sum iz liste pod Total Type. 6. Pritisni eliptični 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 Populate®Control 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 premješta u križi ć i u knjižicu. 3. Klikni ispod list box. Buttoni Insert, Change i Delete se svi zajedno pojavljuju. 4. Klikni desnom tipkom miša na tipku Delete, zatim izaberi Actions iz popup menia. 5. Utipkaj UpdateDetail u ulazni box Update Procedure. Imenovanjem procedure ažuriranja za jedan button u Control template, imenuje se za sve tri. 6. Pritisni OK button. ♦ Dodaj "samo prikaz" kontrolu za totalnu fakturu.
1. Izaberi Control®String, ili klikni na String alat u Controls toolbox. 2. Klikni ispod donjeg desnog ugla list boxa. 3. Klikni desnom tipkom miša 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 izađi iz Window Formattera.
1. Klikni na red koji sadrži natpis na primjernom prozoru. 2. Utipkaj OrderForm u polje Caption u plutajućoj Propertybox toolbox, zatim pritisni TAB. ****SLIKA**** 3. Izaberi Exit! da bi zatvorio Window Formatter. Pokretanje
Da bi se napravio ItemTotal prora čun, korektnog iznosa za svaki Detail zapis u brows list boxu, trebaš dodati formulu u proceduru. Ovim će biti dopušten browse totaling za ispravan položaj 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 eliptični button na polje Class. 4. Osvijetli Format Browse u Template Classes listi, zatim pritisni OK button. Polje Class definira logičku poziciju zajedno sa generiranim izvornim kodom na kojem je formula proračunata. Format Browse klasa govori BrowseBox Control templateu da se izvrši prora čun svaki put kada se oblikuje zapis za ispis u list boxu. 5. Pritisni eliptični button na polju Result. 6. Osvijetli LOCAL DATA UpdateOrder u Files listi, zatim pritisni Select button. Ovim imenujemo polje koje će primiti rezultat proračuna. 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 sadrži izraz izgrađuje se, a i ti možeš također 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, slijede ći 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 File Save ili pritisnite Save tipku na toolbaru (linija sa programskim alatima) da spremite svoj rad.
Dodavanje UpdateDetail Form Procedure Sada možemo kreirati Update Detail Form procedure koja sadrži 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 Populate Multiple 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 križić i "malu knjigu". 6. CLICK (pritisak i otpuštanje dugmeta na mišu) 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 kona čnu listu
1. RIGHT-CLICK (pritisak na desno dugme na mišu) 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 određenoj u rječniku 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 slijedeću 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 slijedeću naredbu: DTL:Record :=: PRD:Record DISPLAY
! pridruživanje varijabli sličnog imena ! zatim ih prikaži na ekranu
Ovo koristi Clarionov operator pridruživanja (:=:, vidi Language Reference) da se automatski pridruže sva polja u Products file poljima u Detail file koja imaju ista imena (dok izostavlja sva ostala polja). To zna či 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 Control String, 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 Control String, ili CLICK na String tool u Controls toolbox. 6. CLICK točno ispod Quantity prompt (znak koji poziva korisnika da upiše 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 Control String, ili CLICK na String tool u Controls toolbox. 10. CLICK točno 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 (upravlja čaka jedinica za prikazivanje podataka na
ekranu) 1. Izaberite Control String, 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 određuje 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 Control String , 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 Control String , 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 Control String 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 File Save ili pritisnite Save tipku na toolbaru da spremite svoj rad. 100
Slika Update Records
101
KREIRANJE IZVJEŠTAJA Jednostavna korisni č ka lista
Posljednji korak koji treba obraditi u ovom priru čniku je pravljenje izvještaja. Najprije ćemo kreirati jednostavnu korisni čku listu da vas upoznamo sa Report Formatter (program za oblikovanje ispisa (izvještaja)). Zatim ćemo kreirati Invoice Report da pokažemo kako možete lako kreirati Relational reports (relacijski izvještaji) sa višerazinskim 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 Menu Menu 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. ♦ Određivanje 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. Označite Initiate Thread box. 7. Pritisnite Close tipku da zatvorite Menu Editor. 102
8. Izaberite Exit! da zatvorite Window Formatter (spremite svoj rad).
Kreiranje Izvještaja Sada možete kreirati prvi izvještaj, koriste ći 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 možete vidjeti izvještaj i njegove upravlja čke jedinice. Report Formatter prezentira četiri osnovna dijela strukture podataka izvještaja (REPORT), pokazujući 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 više informacija o
dijelovima izvještaja i kako se generiraju. Za ovaj izvještaj, stavit ćete broj stranice u zaglavlje, zatim smjestite polja iz Customer file (Korisnička datoteka) u Detail band. ♦ Smještanje string konstante
1. Izaberite Controls String 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 veličinu upravljačke jedinice tako da bude dovoljno široka da sadrži tekst DRAGGING (povlačenje - postupak pomicanja miša po nekoj površini dok je istodobno pritisnuta tipka na gornjoj površini miša) njen desni crveni kvadrati ć. ♦ Postaviti kontrolu da printa Page Number (broj stranice)
1. Izaberite Controls String ili String tool iz Controls toolbox. 2. CLICK na desno od prethodno smještenog stringa. 103
3. RIGHT-CLICK na kontrolu, zatim izaberite Properties iz popup menu. 4. Označite 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 izvještaj ne zahtijeva varijablu. 6. Izaberite Page No iz Total Type liste. 7. To kazuje izvještaju da stavi broj stranice u upravlja čku jedinicu. 8. Pritisnite OK tipku da zatvorite String Properties dijalog.
Popunjavanje 'Detalja' Detalj red se ispiše jednom za svaki slog u reportu. Za tu proceduru, postaviti ćete polja vodoravno, što kreira 'columnar' report za printanje. 1. Izaberi Populate Multiple Fields, ili klikni na Dictionary Field alat u Controls kutiji alata. 2. U File Schematic Definition dialogu, označite "ToDo" 'folder', zatim stisnite Insert tipku. 3. Izaberi Customer file iz Insert File dialoga, i stisni Select tipku. 4. Stisni Key tipku. 5. Označi CUS: KeyCustNumber u Change Access Key dialogu, i pritisni Select tipku. 6. Označi CUS:Company u Fields listi i pritisni Select tipku. 7. Klikni unutar Detail reda, blizu gornjeg lijevog kuta. 8. Označi CUS: FirstName u Field listi i pritisni Select tipku. 9. Klikni unutar Detail reda, ispod prvog kontrola. 10. Označi CUS: LastName u Field listi i pritisni Select tipku. 11. Klikni unutar Detail reda desno od kontrola koji ste postavili. 12. Označi CUS: Address u Field listi i pritisni Select tipku. 13. Klikni unutar Detail reda, ispod drugog kontrola koji ste postavili. ♦ Promjena veličine Detial reda.
1. Pritisni Cancel tipku da se zatvori Select Field dialog i da se iza đe iz multi-populate moda. 2. Klikni unutar Detail reda, ali ne na string kontrol. Pojave se ru čke Detail područ ja. 104
3. Promijeni veličinu Detail reda premještanjem srednje donje ru čke prema dolje, pusti prostora za otprilike još dvije linije. ♦ Postavljanje ostatka polja.
1. Izaberi Populate Multiple Fields, ili klikni na Dictionary Field alat u Controls kutiji alata. 2. Označi CUS:City u Fields listi, i pritisni Select tipku. 3. Klikni unutar Detail reda, ispod zadnjeg kontrola koji ste postavili. 4. Označi CUS: State u Fields listi, i pritisni Select tipku. 5. Klikni unutar Detail reda, desno od prije postavljenog kontrola. 6. Označi 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 iza đe 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 Edit Report Properties za postavljanje atributa. 2. Pritisni Font tipku. 3. Izaberi font, stil i veli činu baznog fonta za report. Ako ne izaberete font za report, printati će upotrebljavajući font printera. Trebali biste izabrati font za koji znate da korisnik ima (fontovi iz Windowsa su obi čno 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. Označi Detail u listi Details i pritisni Add tipku nekoliko puta.
105
To popunjava preview sa nekim redovima za pregled. Zbog toga što se može imati nekoliko redova razli čitih 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 File Save ili pritisni Save tipku na tool baru za spremanje svog rada.
Narudzba Report
Sljedeće ćemo kreirati jedan od naj češćih vrsta reporta. Račun upotrebljava ve ćinu datoteka u rje čniku, pokazujući kako kreirati grupe i cjeline. Tako đer ćemo pokazati kako kontrolirati kreiranje stranica bazirano na grupama.
Kreiranje reporta 1. Označite Invoice Report proceduru. 2. Pritisni Properties tipku. 3. Označite Report u Select Procedure Type okviru, isključi 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. Označi “ToDo” oznaku, pritisni Insert tipku. 3. Izaberi Customer datoteku iz Insert File i pritisni Select tipku. 4. Izaberi Key tipku. 5. Označi CUS: KeyCustNumber u Change Access Key okviru i pritisni Select tipku. Report će obraditi sve slogove u Customer datoteci po CustomerNumber redu. 6. Označi Customer datoteku, pritisni Insert tipku. 106
7. Izaberi Orders datoteku, iz Insert File, pritisni Select tipku. Obradit će sve Orders za svaki Customer. 8. Označi Orders datoteku, pritisni Insert tipku. 9. Izaberi Detail datoteku iz Insert File, pritisni Select tipku. Svaki Order će ispisati sve povezane slogove Detail. 10. Označi 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 Edit Report Properties za postavljanje default atributa. 3. Pritisni Font tipku. 4. Izaberi font stil i veli činu za upotrebu kao bazni font za report. SLIKA Select Font Ako ne izaberete font za report printat će koristeći fontove printera. Treba izabrati font koji znate da korisnik ima (fontovi iz Windowsa su obi čno 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. Sadržaj se komponira jednom kada je report otvoren. To je korisno za konstantne informacije koje će biti na svakoj stranici reporta. ♦ Postavljanje stringa
1. Izaberi Controls String, 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. Upiši Invoice u polje Parametar. 107
5. Pritisni Font tipku. 6. Izaberi font, stil i veli činu za upotrebu teksta (nešto veliko i jasno bi bilo poželjno). 7. Pritisni OK tipku za zatvoriti Select Font. 8. Pritisni OK tipku za zatvoriti String Properties. 9. Promijenite veličinu kontrola da bude dovoljno velik da stane tekst vu čen za ručke. ♦ Postavljanje sljede ćeg stringa
1. Izaberi Controls String 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. Upiši ime kompanije u polje Parameter. 5. Pritisni Font tipku i izaberi font, stil i veli činu za upotrebu teksta (nešto 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 veličinu controla tako da stane tekst, vu čen za ručke. SLIKA Report Formatter
Popunjavanje Detail reda Detail red se ispisuje svaki put kad se nova informacija čita iz najnižeg nivoa “dijete” datoteke u File Schematic. Za ovaj Invoice report najniži nivo “dijete” datoteka je Detail file (Products je u relaciji Many to one sa Detail File). 1. Izaberi Populate Multiple Fields, ili klikni DictionaryField alat u Controls kutiji alata. 2. Označiti 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. Označi DTL: ProdNumber u Fields listi i pritisni Select tipku. 5. Klikni unutar Detail reda desno od prvog controla. 6. Označi 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. Označi 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. Označi LOCAL DATA InvoiceReport u Files listi pritisni New tipku. Ovo omogućava dodavanje lokalne varijable bez vra ćanja u Procedure Properties prozor i odabiru Data tipke. Ove varijable će se koristiti za ispis cijene za svaku liniju. 11. Upiši ItemTotal u polju Field Name. 12. Izaberi DECIMAL iz Type liste. 13. Upiši 7 u polje Chars. 14. Upiši 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 veli činu reda tako da je malo ve ći od controlsa.
Dodavanje Group Breaks Trebamo ispisati različite informacije na stranici za svaki ra čun. Zbog toga, treba kreirati BREAK strukturu koja omogućuje da se nešto ispiše svaki put kad se informacije iz Orders datoteka promjene i svaki put kad se promijene informacije iz Customer datoteke. 1. Izaberi Bands Surrounding Break, i klikni na Detail red. Pojavit će se Break Properties okvir. 2. Pritisni ellipsis (....) tipku za polje Variable. 3. Označi Orders u Files listi i izaberi ORD: CustNumber u Fields listi i pritisni Select tipku. 4. Upiši 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 Bands Surrounding 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 izvještaja izgleda otprilike ovako: SLIKA: Report Formatter. ♦ Kreirati grupu Headers (vo đe) i Footers (pješaci).
1. Izabrati Bands Group 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 po četku svake
nove grupe uvjeta. Mi ćemo to iskoristiti za štampanje imena kompanije, adrese, zajedno sa fakturiranim brojevima i datumima. 2. Izabrati Bands Group 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 pokre će Page Overflow. Ovo će urediti traku Page Footer, rezultat forme ubacivanja podataka na printer, zatim uređuje traku Page Header za sljedeću 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 Bands Group 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 sažetih informacija faktura za svaku kompaniju. SLIKA: Report Formatter.
110
Nastanjivanje Group Header Band ♦ Namjestiti polja datoteke Customer .
1. Izabrati Populate Multiple 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 namještene kontrole. 14. Istaknuti CUS: ZipCode u listi Fields, zatim pritisnuti Select gumb. 15. CLICK unutar trake Group Header (DTL: OrderNumber) , na desno od prethodno namještene kontrole. ♦ Namještanje 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 izaći iz multi-populate načina. ♦ Namještanje stalnog teksta i naslovne kolone.
1. Izabrati Controls String, 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 Controls String 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 Controls String 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 Controls String 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 Controls String 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 Controls String 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. ♦ Namještanje debele linije ispod naslovne kolone.
1. Izabrati Controls Box 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 izvještaja 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. Vaša skica izvještaja sada izgleda ovako: SLIKA: Report Formatter.
Nastanjivanje Invoice Group Footer Band ♦ Namještanje stalnog teksta i cjelokupnog polja.
1. Izabrati Controls String 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 Controls String 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 padajuće liste. 12. Selektirati DTL: OrderNimberBreak iz Reset on padajuće liste. SLIKA: String Properties. 13. Pritisnuti OK gumb. Ovo će dodati sve ItemTotal sadržaje za Invoice i ponovno će ih složiti od nule do vrijednosti u DTL: OrderNumber polju promjena. ♦ Namještanje linije iznad cjeline.
1. Izabrati Controls Line ili odabrati Line kreaturu iz Controls kutije s alatima. 2. CLICK unutar Group Footer (DTL:OrderNumber) band, iznad kontrola upravo smještenih 3. Preoblikuj liniju sa DRAGGING sve dok se ne pojavi iznad obje kontrole upravo smještene. 4. DESNI-CLICK i izaberi Properties iz menia. Ako imate problema u dobivanju horizontalne linije upotrebom miša, 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 Korisni čkog 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, točno u desno od niza koji ste upravo smjestili. 9. DESNI-CLICK i izaberi Properties iz menia. 10.Provjeri Variable String box. 11.Pritisni eliptičnu 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 računa ispisanih za odre đenu kompaniju. Mi ćemo napisati mali izvorni kod za brojati
račun.
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, točno u desno od niza koji ste upravo smjestili. 18.DESNI-CLICK i izaberi Properties iz menia. 19.Provjeri Variable String box. 20.Pritisni eliptičnu 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, točno u desno od Invoice Summary for: niza koji ste upravo smjestili.
28.Pritisni Cancel tipku za izlaz. Vaš dizajn izvještaja je sada kompletan. 115
Slika 29.Izaberi Exit! za povratak u Procedure Properties dijalog (uvjeri se da si sačuvao dizajn izvještaja).
Dodavanje formule Da bi ItemTotal polje sadržavalo točan iznos za svaki Detail record u računu, 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 eliptičnu tipku (...) za Class polje. 4. Osvijetli Before Print Detail u Template Classes listi, zatim pritisni OK tipku. Before Print Detail govori obrascu izvještaja da obavi obra čun svaki put kada
je spreman za ispis Detail. 5. Pritisni eliptičnu 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 smješta DTL:Quantity polje u Statement polje za vas. Statement polje sadrži iznesene (izgrađene) izraze i vi možete 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 “Ograni če no” izvješ ć e (Range Limited Report)
Ograničit ćemo izvješće za printanje narudžbi samo jednog korisnika.
Kreiranje izvješća 1. Označite proceduru InvoiceReport 2. Izaberite Procedure – Copy … 3. Upišite CustInvoiceReport u ulazno polje i pritisnite OK . Kopirana procedura se pojavljuje u stablu aplikacije, umjesto ToDo Modificiranje izvješća 1. 2. 3. 4.
Označite CustInvoiceReport proceduru Desna tipka miša i izaberite Properties Pritisnite button Embeds Označite Beginning of Procedure, After Opening Files i pritisnite Insert
Ovo mjesto koda je na po četku procedure, prije nego se po činje obrađivati izvješće. 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 izvješ ću. 5. Označite SOURCE i pritisnite Select 6. Upišite slijedeći kod: GlobalRequest = SelectRecord Ovo aktivira button Select u Browse proceduri. 7. Izaberite Exit! 8. Označite kod koji ste upravo dodali i pritisnite button Insert 9. Označite Call a procedure i pritisnite Select 10. Izaberite proceduru ViewCustomer i pritisnite OK . Iz ove procedure će se izabirati korisnik za izvješ će. 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 Označite CUS:CustNumber i pritisnite Select. Za Range Limit Type ostavite Current Value i pritisnite OK.
Time određujemo da će izvješće 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,
došli ste do kraja poduke! Dobro došli u rastu ću zajednicu razvoja
Clariona. Ovaj program je namijenjen normalnom procesu upotrebe Clarion's Application Generator i svi njegovi udruženi "alati" su usmjereni ka kreiranju Windows aplikacije koje trenutno poslužuju moderne zadatke. Vi ste upotrijebili ve ćinu od seta najviše razine i vidjeli koliko rada može biti u činjeno za vas bez pisanja izvornog koda. Vidjeli ste koliko malo dodatnih izvora treba ugraditi. Dakle, gdje morate i ći odavde da bi nau čili više? Najbolje mjesto za slijedeći korak (osim stvaranja aplikacija sa vašim dizajnom) su poglavlja iz User's Guide koji opisuje standardni Clarion obrazac (set): upotreba proceduralnog obrasca i upotreba kontrolnog, kodnog i proširenog obrasca. Ova dva poglavlja detaljno objašnjavaju sve mogu ćnosti obrazaca dostupnim u Application Generator. Postoji mnogo primjera programa na vašem disku koji demonstriraju neke trikove koje možete primijeniti u vašem Clarion programiranju. Također vam predlažemo da pogledate u generated code za te programe upotrebljavajući Text Editor da vidite da Clarion jezi čni kod Application Generator piše za vas. To ćete naći u TUTOR*.CLW files u \CW 15\ TUTORIAL direktoriju. Language Reference je vaša biblija za sva pitanja i vaš izlaz za u čenje više mogućnosti nižeg nivoa
Clariona za Windowse. Također, visoko preporu čujemo pridruživanju zajednici korisnika koji redovno posje ćuju naš forum na CompuServe (GO TOPSPEED). Nivo savjeta i pomo ći koji ti korisnici provode je nedostignut u industriji. Forum uvijek posjeduje najnovije informacije o novim proizvodima, sa neprocjenjivom pomoći ostalih upućenih korisnika, pa ih je uputno i korisno kontaktirati.
118