Utveckling av PAM dialogen i Visual Basic 5.0. Samt en jämförelse av
VB 5.0, Delhi 3.0, Symantec Visual Café 1.0.

Arvidsson Thomas

Magnusson Håkan

 

Developing of PAM-dialogue in Visual Basic 5.0
together with a comparison of
Visual Basic 5.0, Delphi 3.0, Symantec Visual Café

Arvidsson Thomas

Magnusson Håkan

Detta examensarbete är utfört vid Ingenjörshögskolan i Jönköping inom ämnesområdet datateknik. Arbetet är ett led i den treåriga högskoleingenjörsutbildningen. Författarna svarar själva för framförda åsikter, slutsatser och resultat.

Handledare: Gustavsson Thomas

Omfattning: 10 p (C-nivå)

Datum: 1999-09-07

Arkiveringsnummer:

Abstract

This report will show how we have put together and described what conclusion we have come to in our examination report.

You can say that this examination report consists of two different parts. One part considers the development of PAM-dialogue that is a text based order system. By leads of the text based system we have take out a model for the PAM-dialogue. The developing have had been made in Visual Basic 5.0.

The other part consists of a comparison of three developing tools, Visual Basic 5.0, Delphi 3.0 and Symantec Visual Café 1.0.

When we did the comparison we developed a small application in Visual Basic for a start and when we have had progressed, we tried to do the same application in the two other tools. When we developed the applications we used the Wizards to create the applications for us. These Wizards are very helpful what ever you would like to create.

The conclusion that we have come to in the comparison part is that Visual Basic and Delphi are tools of very high standard, when it comes to user friendliness and effectivity. If we had to choose one of these tools, we would prefer the Delphi tool. That makes Delphi a winner is that we have experienced that Delphi is more powerful than the others are.

Symantec Visual Café 1.0 is not the same generation as the other two, so the comparison feels a bit wrong to do. But we have discovered that this tool is a bit tricky to build big applications in. For small applications and applets it is a very nice tool to work with.

Sammanfattning

Denna rapport visar hur vi sammanställt och redovisat vad vi kommit fram till med vårt examensarbete.

Man kan säga att examensarbetet omfattar två delar. En del behandlar utvecklingen av PAM dialogen vilken är ett textbaserat ordersystem. Det vi gjort är att med ledning av det textbaserade systemet tagit fram en grafisk modell. Utvecklingen har skett i Visual Basic 5.0.

Den andra delen handlar om en jämförelse av tre grafiska utvecklingsverktyg, Visual Basic 5.0, Delphi 3.0 och Symantec Visual Café 1.0.

I jämförelsen har vi gjort små applikationer i vart och ett av de tre verktygen, detta för att se hur pass mycket hjälp man får av de wizarder som finns.

Det vi kommit fram till rörande jämförelsen är att både VB 5.0 och Delphi håller mycket hög klass beträffande användarvänlighet och kraftfullhet. Man kan säga att om man skulle utse ett av dessa två skulle nog Delphi vara det vi skulle satsa på. Det som gör Delphi till vinnare är att vi upplever det som något mer kraftfullare samt att det är något lättare att komma igång med, eftersom man känner igen sig från tidigare versioner.

Vad beträffar Symantec Visual Café 1.0 så är inte det samma generation som de båda andra verktygen, därför känns det inte riktigt rätt att jämföra detta med de andra två. Men det vi kommit fram till är att det är ett ganska svårbemästrat verktyg när det kommer till att skapa större applikationer. Men för små applikationer eller applets är det ett utmärkt verktyg.

Innehållsförteckning

1. Mål *

2. Planering och genomförande *

2.1. Introduktion *

2.2. Inledning *

2.2.1. Analysfas *

2.3. Under tidens gång *

2.4. Avslutningsfas *

3. Resultat *

3.1. Pam *

3.2. Skrivbordet *

3.2.1. Multiple-Document Interface (MDI) *

3.2.2. Formulär *

3.2.3. Inloggning *

3.3. Jämförelse *

3.3.1. Visual Basic 5.0 *

3.3.2. Delphi 3.0 *

3.3.3. Symantec Visual Café *

3.4. Sammanfattning av resultatet *

4. Diskussion *

4.1. Diskussion om PAM *

4.2. Diskussion om Jämförelsen *

5. Referenser *

6. Sökord *

7. Bilagor *

Bilaga 1 Visual Basic 5.0 *

Bilaga 2 Symantec visual café *

Bilaga 3 Delphi 3.0 *

Bilaga 4 Källkod PAM *

7.1.1. Form login *

7.1.2. Form Main *

7.1.3. Form Treelist *

7.1.4. Form Specifikation *

7.1.5. Form Registrering *

7.1.6. Form Kund *

  1. Mål
  2. Detta arbete tas fram i samarbete med ABB infosystems.

    Målet är att skapa en grafisk användarmiljö utifrån ett befintligt textbaserat gränssnitt. Verktyget för att utveckla applikationen skulle vara Visual Basic 5.0. Målet har också varit att närmare studera och utröna vad som går att göra för att öka användarvänligheten, med tanke på att utvecklingen har utgått från ett befintligt system. Ett delmål med arbetet har varit att ta fram en ny dialog till ett befintligt order och ekonomistyrningssystem hos ABB infosystems. Kravet från ABB's sida har inte varit att ta fram en version av dialogen i vart och ett av de ovan nämnda verktygen, utan endast en modell i verktyget VB 5.0.

    Ett annat mål har varit att göra en utvärdering av VB 5.0 och dess möjligheter mot de möjligheter som står att få hos konkurrerande verktyg som Delphi 3.0 och Symantec Visual Café 1.0.

  3. Planering och genomförande
    1. Introduktion
    2. När det var dags att börja se sig om efter examensarbete så kontaktades en del intressanta företag för att höra om det fanns något intressant att erbjuda. Det fanns också en del egna idéer som kunde tänkas utvecklas. Efter att ha varit runt bland företagen i regionen så visade det sig att en av dessa idéer stämde ganska väl överens med de förslag som ABB infosystems kunde erbjuda. Deras idé var att ta fram en ny modell till sitt befintliga system "PAM dialogen".

      ABB infosystems önskade också en jämförelse av Visual Basic, Delphi och Visual Café.

    3. Inledning
    4. Då det bestämts att erbjudandet från ABB skulle antas, kontaktades företaget för vidare upplysningar om vad arbetet skulle innebära mer exakt.

      Det upprättades en muntlig kravspecifikation från ABB och handledaren Lars Einarsson.

      Då bekantskap med handledaren hade instiftats över en kopp kaffe och wienerbröd så drogs de riktlinjer upp utifrån vilka, utvecklingen av PAM dialogen skulle utföras. Det bestämdes även att en utvärdering av tre grafiska verktyg, Visual Basic5.0, Delphi3.0 och Visual Café 1.0. Denna utvärdering vara en bekräftelse på deras beslut om att anta VB 5.0, som deras nya plattform, var riktigt beslut. Eftersom bekantskap med VB 5.0 från vår sida saknades, var det nödgat att införskaffa denna kunskap om detta programspråk.

      I den utvärdering som skulle göras mellan de ovan nämnda verktygen så blev det nödvändigt att skaffa fram dessa programvaror samt då också litteratur om vart och ett av de tre verktygen. För att få en uppfattning av vad de olika verktygen kunde prestera så gjordes en ganska omfattande litteratursökning dels på bibliotek och via Internet. Här visade det sig att litteraturen till de verktyg som valts var omöjlig att uppbringa hos både företaget och biblioteket. Den enda möjlighet hade varit att köpa dessa hos någon bokhandel men eftersom en students kassa är starkt begränsad valdes att läsa några äldre böcker till valda verktyg. Den mesta informationen om verktygen blev överkomlig via Internet.

      1. Analysfas

      För att komma igång studerades ett äldre Pam-system. Utifrån detta gamla PAM system skulle en ny applikation utvecklas i Visual Basic 5.0.

      För att få en förståelse för hur det gamla systemet var uppbyggt, så tillhandahölls en äldre användarmanual och kod till den grafiska applikationen som låg ovanpå det textbaserade systemet vilket utgör själva Pam-systemet.

      Av handledaren ficks tydliga instruktioner för hur ABB hade tänkt sig att systemet skulle se ut för att det skulle fungera ute hos sina kunder.

      Bland annat så hade man önskemål om att det skulle vara ett MDI-baserat program och en trädstruktur för att åskådliggöra de dokument som är kopplade till Pam. För att få en klar uppfattning om hur programmet skulle byggas utformades en Objektmodell (Figur 1) i verktyget Rose Modeller. Utifrån denna modell har sedan programmet skapats.

      Figur 1 Objektmodellen som vi arbetat efter

      Objektmodellen som arbetet har utgått ifrån är en grov modell och är ej komplett. Den PAM dialog som utvecklats endast är ett förslag till hur den nya dialogen skulle kunna se ut, fanns ingen anledning till att förfina objektmodellen. Eftersom dialogen är ett utvärderingsförslag så finns inte alla formulär med, då detta endast skulle innebära ett repetitivt arbete.

      Man önskade vidare att den layout som fanns i den tidigare versionen skulle bibehållas i så stor utsträckning som möjligt. Detta för att de vana användarna inte skulle behöva någon speciell inkörningstid. Man ville också förenkla dokumenthanteringen vid registreringar och ändringar.

      Då VB 5.0 fanns tillgängligt föll det sig naturligt att utvecklingen av dialogen skedde vid hemmets härd.

       

    5. Under tidens gång
    6. Under tiden det tagit att färdigställa produkten så har det hela tiden hållits en god kontakt med handledaren på ABB. Detta för att på så vis få ytterligare information om hur det befintliga systemet är uppbyggt och samt få feedback på det arbete som gjorts och för att se om det varit några andra idéer som kommit fram under tiden som projektet löpt. Och i så fall vad och hur det ska se ut och hur det ska appliceras.

      Det har framkommit en del önskemål under tiden om hur programmet bör vara utformat för att det ska bli en produkt som är användarvänlig och lätt tillgänglig.

      För att göra en rättvis bedömning av dessa tre verktyg så har det tagits fram små modeller för vad man kan göra i ett verktyg, och sedan testat om det varit lika enkelt eller svårare i de två andra verktygen. Den första lilla modellen gjordes med VB 5.0 (se Bilaga 1) och sedan gjordes samma databaskoppling i de andra två verktygen(se Bilaga 2 -3). Modellerna togs fram med hjälp av de befintliga wizarderna för databaskoppling..

    7. Avslutningsfas

    När programmeringen avslutats så överlämnades programmet till ABB för att de skulle kunna göra en utvärdering av det framkomna resultatet.

    Då slutet närmade sig så var det ju dags att ta tag i rapporten som skulle färdigställas. rapporten har skrivit på under hela arbetets gång, det som skrivits har i princip bara varit stödanteckningar, dessa anteckningar har sedan legat till grund för rapporten.

  4. Resultat
    1. Pam
    2. Det program som vi utvecklat för ABB's räkning är en vidareutveckling av ett befintligt ekonomistyrningssystem. Det befintliga systemet är ett textbaserat client/server system, för att hantera fakturor order mm. Man har tidigare gjort en grafisk applikation av systemet vilket var en direktkonvertering av textsystemet.

      I och med att vi inte har haft tillgång till den databas som programmet ska jobba mot så har vi inte kunnat genomföra alla de finesser som VB 5.0 möjliggör. Man hade då kunnat använda sig av de olika "wizarder" som finns för att t.ex. koppla en databas till programmet.

    3. Skrivbordet
    4. ABB ville att programmet skulle ha en egen arbetsyta som kunde appliceras på hela skärmytan.

      Skrivbordet är huvudformulär och är ett SDI (Singel Document Interface) formulär, i detta formulär ryms sedan de MDI formulär som skapas allt efter behov.

      Figur 2 Skrivbordsyta i Pam dialogen

      1. Multiple-Document Interface (MDI)
      2. När man använder sig av MDI så tillåts man att skapa en applikation som innehåller multiplar av ett eller flera olika formulär i ett och samma huvudformulär. Det är då viktigt att alla fönster som är skapade i ett och samma huvudfönster hänger samman, så att när man minimerar huvudfönstret så minimeras alla fönster som är skapade inom huvudformuläret, detta är en fördel om man använder sig av flera program samtidigt

        I och med att programmet är MDI baserat så kan ett flertal olika fönster vara öppna samtidigt, detta för att underlätta fönsterhanteringen. MDI gör att det finns möjlighet att ha flera fönster av samma typ öppna samtidigt. När användaren klickar på knappen för nytt dokument så skapas ett nytt fönster ett så kallat barnfönster av t.ex. projektregistrering. Varje förekommande dokument får på detta sätt ett eget fönster, vilket gör att användaren kan arbeta med flera dokument samtidigt. Varje nytt fönster får ett eget namn, i detta fallet får fönstret samma nummer som det ordernummer som dokumentet har. Om man känner till ett visst ordernummer så kan man fylla i det och på sätt få fram det dokumentet som har just det ordernummret, detta är bra om man vill ändra på något. En annan fördel med MDI i detta fallet är att man kan göra flera registreringar efter varandra utan att behöva uppdatera databasen, om det skulle visa sig att man behöver ändra något innan man uppdaterar databasen. Genom att klicka på databasknappen så sparas dokumentet i databasen

        Figur 3 MDI exempel

      3. Formulär

Varje formulärhuvud ges det specifika ordernummer som ges till varje ny order för att man enkelt ska hitta det fönster som avses.

Det finns tre olika typer av formulär:

Figur 4 Formuläret för Projektregistrering

Figur 5 Materialspecifikation

Figur 6 Kundformulär

Figur 7 Trädstruktur

Figur 8 Splashscreen

      1. Inloggning

Vid uppstartsförfarandet ges man en möjlighet att logga in sig till databasen, denna möjlighet kan man även komma åt inifrån programmet. Användarens identitet hämtas från systemet och användaren får ange sitt lösenord som finns lagrat i databasen. Programmet jämför sedan de ID-uppgifter och det lösenord som finns lagrade i databasen. ID't som finns i databasen bestämmer då vilka rättigheter den specifika användaren har. Detta för att ge rätt rättigheter till rätt användare.

Figur 9 Login formulär

    1. Jämförelsen
      1. Visual Basic 5.0
      2. Micha‘l Le Duc,. skriver i sin artikel Delphi 3.0 och Visual Basic 5.0 Versioner värda en uppgradering (Datateknik 97-12) att "Den nya integrerade utvecklingsmiljön med många hjälpfunktioner, möjligheten att kompilera tillämpningar och skapa egna ActiveX-objekt gör att Visual Basic flyttar fram sina positioner ordentligt.". Möjligheten att skapa egna mer avancerade lösningar än tidigare kommer VB´s prestanda i närheten av C++ och Delphi. Eftersom stödet för utveckling av 16-bitars tillämpningar har utgått så kan man bara utveckla 32-bitars versioner.

        När man öppnar VB 5.0 visas dess nya Gallery-fönster som ger dig som användare möjligheten att utgå från ett antal mallar/guider. I VB 5.0 är numera alla fönster i ett projekt inneslutna i ett huvudfönster, enligt Windowsstandarden Multiple Document Interface (MDI), vilket är positivt.

        Som utvecklare behöver man inte längre hålla reda på vilka egenskaper varje objekt har. Visual Basic känner av detta och visar en lista med alla egenskaper, konstanter och funktioner som finns tillgängliga för varje objekt. Om man som utvecklare känner sig osäker på vilken syntax ett visst kommando har behöver inte hjälpen startas. Om man väntar någon sekund kommer det upp en ruta där syntaxen visas.

        De här två funktionerna är till stor glädje för utvecklaren. Dessutom finns det mängder av småförbättringar och finesser i utvecklingsmiljön. De kontroller som finns kan till exempel sorteras under olika flikar, och det finns ett speciellt fönster som visar var det aktuella fönstret hamnar på skärmen vid olika upplösningar.

        En stor nyhet i Visual Basic 5.0 är kompilatorn i den går det att generera den gamla typen av P-kod. Kompilatorn ger snabbare kod men med P-kod blir programmet å andra sidan upp till 30 procent mindre.

        Microsoft säger att programmen blir 20 gånger snabbare, eller i vissa fall till och med ännu snabbare, jämfört med Visual Basic 4.0.

        De guider/wizarder, se bilaga 1, som vi nämnde inledningsvis underlättar skapandet av nya program. Som programutvecklare svarar man på ett antal frågor om hur programmet ska se ut och om det ska finnas en informationsruta om programmet, vilka menyer som ska finnas med och om det ska dyka upp en så kallad splash-screen när programmet startar eller ej. En splash-screen är det lilla fönster som dyker upp medan programmet laddas in, och där information om programmet visas.

        Man kan även ange att alla textsträngar ska läggas i en resursfil så att de enkelt kan ändras i efterhand, till exempel om programmet ska översättas till ett annat språk. Om man väljer detta alternativ så ska man vara medveten om att menyraden består av sifferkombinationer i stället för ord. En nackdel är att det inte finns någon editor för att redigera de resursfiler som skapats, detta får då göras i någon annan texteditor t.ex. Notepad. Om så önskas kan även en web-läsare läggas in i programmet, till exempel för att komma åt företagets informationssida.

        Visual Basic 5.0 skapar sedan alla filer och formulär som behövs, och utan att ha skrivit en enda rad kod har utvecklaren ett komplett skåp att lägga in sina funktioner i. Programmet är komplett med menyer, statusrad och verktygsrad.

        Figur 10 Visual Basic 5.0 gränssnitt

        1. Visual Basic finesser
        2. VB 5.0 innehåller numera funktioner som fanns i Delphi 2.0 för att automatiskt omplacera objekt i förhållande till varandra som i ett ritprogram. Det var annars ibland tidskrävande att få rätt storlek på objekt och mellanrum mellan objekt inom ett formulär tidigare.

          Både Visual Basic 5.0 och Delphi 3.0 kan skapa ActiveX-komponenter och Active Documents som kan bäddas in i HTML-dokument. Det innebär att browser's med stöd för ActiveX kan köra nämnda tillämpningar i nedladdade HTML-dokument. I Microsoft Internet Explorer finns detta stöd inbyggt medan Netscape kräver en tilläggsmodul. För dokument med ActiveX-teknologi skapade i Visual Basic krävs dock, i motsats till Delphi, ett körbibliotek omfattande 1,5 Mbyte. Körbiblioteket installeras i och för sig automatiskt i samband med installationen av Office 97. Allt detta visar på ökad dominans av Microsoft teknologi, även Borland har fått anpassa sig.

          Visual Component Library-objekt kan ändras antingen genom objektorienterad teknik (arv) eller genom att källkoden ändras. De komponenter som levereras i Visual Basic är kompilerade i andra språk, företrädesvis C++. Endast deras publika egenskaper kan ändras. Det innebär dessutom att alla ActiveX-komponenter som anropas i ett Visual Basic projekt måste distribueras till och registreras i klientmaskinerna.

        3. Fakta

        Tillverkare: Microsoft, USA

        Leverantör: Microsoft AB, tel. 08-752 56 00, fax. 08-750 51 58

        Det finns tre versioner att välja mellan. Learning Edition, Professional Edition och Enterprise Edition. Den senare versionen innehåller bland annat SQL-tillägg, Visual SourceSafe 5.0, SQL Server 6.5 och Transaction Server.

        Kräver: Windows 95 eller Windows NT Workstation 4.0 eller senare eller Windows 3.1, 486DX/66 MHz processor eller bättre rekommenderas, 16 Mbyte internminne i Windows 95, minst 35 Mbyte skivminne och som mest 345 Mbyte för Enterprise Edition inkl. Books Online.

      3. Delphi 3.0
      4. Delphi håller ställningarna gentemot Visual Basic prestandamässigt samt genom att det både ger tillgång till kraftfulla högnivåfunktioner som Visual Basic och möjlighet att gå på djupet till exempel i Windows API:er (Application Programming Interface), Delphis objekt och till och med assemblerkod. Det går dessutom att utveckla 16-bitars och 32-bitars tillämpningar med samma källkod inom vissa gränser.

        När man öppnar Delphi 3.0 så får man inte några wizarder utan man får ett tomt formulär. Detta formulär kan man använda till att bygga sin applikation på, antingen att plocka in komponenter direkt på eller att använda wizarder för smidigare uppbyggnad för den som önskar. Annars kan man bygga applikationen från början med hjälp av en wizard, se bilaga 3. Det finns ett antal mallar/guider. I Delphi 3.0 är alla fönster i ett projekt inneslutna i ett huvudfönster, enligt Windowsstandarden Multiple Document Interface (MDI), vilket är mycket bra om man vill jobba med flera program samtidigt.

        För att underlätta för utvecklaren har Delphi 3.0 en funktion som heter kodmallar (Code Templates).Dessa kan lätt plockas in i koden, man ställer markören där man vill infoga kodmallen och ger ett speciellt kommando så får man en popup-meny där man kan välja det man vill ha. Som standard ingår 22 mallar, till exempel för klassdeklaration och if-satser men det går även att lägga in egna mallar.

        Enligt Torun Lidfeldt's artikel Delphi 3.0 skriver koden själv (Datateknik 97-08) " Delphi 3.0 stödjer nu Microsofts objektmodeller COM och DCOM fullt ut..."", detta innebär att ActiveX komponenter som är utvecklade i Delphi 3.0 också kan köras i Visual Basic 5.0 och tvärtom (eller andra verktyg med stöd för ActiveX). Allt som utvecklats i Delphi kan automatiskt omvandlas till ActiveX-komponenter eller COM-objekt. Därmed blir återanvändbarheten stor, enligt Borland bygger 60 procent av Delphi-utvecklarna sina egna återanvändbara komponenter idag. Object Pascal är ett annat tillägg som finns i Delphi 3.0 för att skapa objektgränssnitt i detta avseende. Det innebär att alla objekt skapade i Delphi 3.0 kan kompileras och registeras som ActiveX COM objekt.

        Delphi 3.0 har inbyggt stöd för pekare. Det ger till exempel effekt i högre prestanda vid stränghantering men även andra fördelar som pekare till komplexa strukturer och objekt. Delphi stödjer callback-funktioner, vilket används flitigt vid Windowsprogrammering.

        De kodningswizarder som finns i Delphi 3.0 påminner mycket om de som finns i Microsofts Visual Basic 5.0. I varje moment i kodningen hjälper Delphi till med syntaxen genom att föreslå olika alternativ, och visa vilka typer av parametrar som kan användas.

        Figur 11 Delphi 3.0 Gränssnitt

        1. Delphis finesser
        2. När man för första gången kör Delphi så upplever man att det är ett kraftfullt verktyg. Delphi är det bästa av de tre verktygen, för att hantera skalbarheten på de fönster som utvecklas.

          I både Delphi 3.0 och VB 5.0 finns guider som stöd i utvecklingen av ActiveX-objekt. Delphi skiljer sig dock från Visual Basic bland annat genom att även erbjuda objekt för serverdelen av en Internet lösning, till exempel webserver tillämpningar samt klasser som hanterar HTTP, CGI, ISAPI och HTML.

          I dagens komplexa (objektorienterade) utvecklingssystem går en hel del tid åt att leta fram objektnamn, -egenskaper och parametrar samt till att använda dessa rätt. Därför är det välkommet att både Delphi 3.0 och VB 5.0 erbjuder extra hjälp med detta: om man skriver in ett objektnamn följt av punkt poppar en lista med objektets egenskaper upp på skärmen, och för ett funktionsanrop får man istället se parametrarna.

          Delphi förblir det tekniskt överlägsna verktyget om man behöver gå djupare i Windowsprogrammering.

           

        3. Fakta

        Tillverkare: Borland, USA

        Leverantör: Borland International, http://www.borland.com

        Det finns ett flertal versioner att välja mellan. Desktop, Developer och Client/server versionen. Den senare versionen innehåller bland annat Interbase Server för NT (två användare). 16-bitars Delphi1.0 ingår i alla versioner.

        Kräver: Windows 95 eller Windows NT Workstation 4.0 eller senare, 486DX/66 MHz processor eller bättre, 16 Mbyte internminne eller mer rekommenderas, cirka 60 Mbyte skivminne krävs för en kompakt installation. Man bör ha ett ledigt skivminne omkring 110 Mbyte för en normal installation.

      5. Symantec Visual Café
      6. Utvecklingsmiljön i Symantecs Visual Café är ganska lik Visual Basic och Delphi. Bland annat hjälper en Interaction Wizard programmeraren att skriva kod av typen "om användaren klickar på denna knapp ska textfältet bredvid tömmas". Alla komponenter har också sina egenskaper listade i ett fönster vid sidan om, precis som i Visual Basic. Man kan importera eget skrivna visuella komponenter.

        Visual Café gör det väldigt enkelt att utveckla databas kopplade web-sidor, där man använder Rapid Application Development (RAD), plus alla de verktyg som behövs för att utveckla en databasapplet eller databasapplikation dynamiskt.

        Figur 12 Visual Café Pro gränssnitt

        1. Symantec Visual Café Pro's finesser
        2. Det finns ett bra hjälpmedel för vanligt förekommande händelser Interaction Wizard, denna kommer man även åt med knappen, som har två kontakter på sig, längst ner till vänster i figur 12.

        3. Fakta

      Visual Café 1.0

      Tillverkare: Symantec  

      Leverantör: LinSoft, tel 013-11588 kan köpas som uppgradering från Café

      Internetadress: http://www.symantec.com/product/index_devtools.html

      Krav: Windows 95 eller Windows NT 486DX/66 MHz processor eller bättre, 16 Mbyte internminne eller mer rekommenderas

    2. Sammanfattning av resultatet
      1. Resultat PAM
      2. Under tiden som arbetet med att ta fram det förslag till dialog som presenterats ovan så har det visat sig att det inte är så lätt att göra om något som redan existerar. Dels ska man tänka på nya användare som ska komma in i användandet så fort som möjligt. Och behöver då kanske lite extra information om de olika funktionerna som finns i systemet då de dyker upp. Detta ska då vägas emot den vana användaren som upplever all onödig information som besvärande.

      3. Resultat Jämförelse

I den jämförelse som gjorts så kan det påpekas att val av verktyg kan vara en fråga om att ha ett helt koncept från samma leverantör för att få enhetlighet. Då det visat sig att både Visual Basic och Delphi håller likvärdig klass, kan det vara svårt att avgöra vad som är bäst för det ena eller andra utvecklingsföretaget. Det är också en fråga om vad för slags verktyg man använt tidigare.

 

  1. Diskussion
    1. Diskussion om PAM
    2. När det gäller användarvänligheten, så har vi kommit fram till att det bästa sättet att få en programprodukt användarvänlig är att skapa två varianter en för den vana användaren och en för den mer oerfarna. Om man gör en version som vi gjort och i denna version ska ta hänsyn till båda användartyperna, kan det ge upphov till många och heta diskussioner om och huruvida man skall gå tillväga för att få en produkt som alla trivs med. Vidare kan man ju tänka sig att det skulle kunna finnas någon parameter som man kunde ställa om, för de två olika användartyperna. Men denna parameter kommer att innebära ett intensivt programmerande för extremt lite nytta.

    3. Diskussion om Jämförelsen

För att avgöra vilket verktyg som är bäst för att utveckla applikationer i, så kunde man ha gjort en PAM-dialog i vart och ett av de tre verktygen. Om den befintliga databasen hade varit tillgänglig hos ABB kunde en mer omfattande test av verktygen utförts, t.ex. kunde man ha testat olika söktider, utvecklingshastighet mm.

I jämförelse med de största traditionella visuella verktygen, Visual Basic och Delphi så befinner sig dock inte Café 1.0 verktyget i samma klass. Eftersom Symantec har kommit med en nyare version av Café så är det inte riktigt relevant att jämföra detta verktyg med de andra två. Vi kan förmoda att det nyare verktyget från Symantec har betydligt högre klass än det tidigare verktyget. Att vi inte testat den nyare versionen beror på att vi inte haft tillgång till det.

När man utvecklar i Café 1.0 verktyget så fick vi erfara i ett tidigare projekt, där vi försökte utveckla en dynamisk databas applikation, att det kan bli problem när man är två eller flera som programmerar på olika maskiner. För när man ska länka ihop projektet så visade det sig att programmet inte godtog att man förde in bitar av projektet från annat håll. Vi misstänker att det här verktyget är mer avsett för applets än för databasapplikationer, då applikationerna tenderar att bli så stora att det rekommenderade minnesbehovet blir fullt långt innan man är klar med en liten applikation.

Java är annars ett mycket trevligt och enkelt språk att utveckla applikationer i. Vi kan förmoda att tillverkarna av de traditionell verktygen kommer att få se upp i framtiden, då vi anser att Java är ett mycket lätt programmeringsspråk att utveckla applikationer i.

Vi anser efter denna utvärdering att Delphi höjer sig över mängden i många avseenden.

Vi tycker att Delphi har bäst stöd för:

Visual Basic 5.0 är en mycket stark konkurrent till Delphi och ABB har förmodligen inte gjort något dåligt val, vi kan inte klart utsäga detta då vi inte har tillgång till ABB's alla parametrar, som spelar in vid val av en ny plattform.

  1. Referenser
  1. S.Arvidsson, J.Ek, R.Ekman. Viual Basic 4 tips och tillämpningarna. Pagina AB, 1996
  2. Torun Lidfeldt, Delphi 3.0 skriver koden själv. Datateknik 97-08.
  3. Micha‘l Le Duc, Delphi 3.0 och Visual Basic 5.0 Versioner värda en uppgradering. Datateknik 97-12
  4. Martin Jerresand, Väckelsemöte för Java. Datateknik 97-09
  5. Lars Karlander, Nu finns verktygen för databaskopplingar till Internet. Datateknik 96-15
  6. Internetreferenser:
    ADB-Arkitektur AB, http://www.adbark.se/vb5/profed

    Symantec Corporation, Visual Café Pro for Windows 95/NT Fact Sheet, http://www.symantec.com/vcafeprowin/fs_vcafeprowin.html

    The Delphi advantage Delphi 3.0 DATA SHEET http://www.borita.it/de3data.htm

Figurförteckning

Figur 1 Objektmodellen som vi arbetat efter *

Figur 2 Skrivbordsyta i Pam dialogen *

Figur 3 MDI exempel *

Figur 4 Formuläret för Projektregistrering *

Figur 5 Materialspecifikation *

Figur 6 Kundformulär *

Figur 7 Trädstruktur *

Figur 8 Splashscreen *

Figur 9 Login formulär *

Figur 10 Visual Basic 5.0 gränssnitt *

Figur 11 Delphi 3.0 Gränssnitt *

Figur 12 Visual Café Pro gränssnitt *

Figur 13 New Project *

Figur 14 Introduction *

Figur 15 Interface type *

Figur 16 Menus *

Figur 17 Standard forms *

Figur 18 Internet Connectivity *

Figur 19 Data Access Forms *

Figur 20 Select tables *

Figur 21 Application name *

Figur 22 Application *

Figur 23 Run Application *

Figur 24 New Project *

Figur 25 Project Wizard *

Figur 26 Project type *

Figur 27 dbANYWHERE server *

Figur 28 Data Source *

Figur 29 User Authentication *

Figur 30 Database Table *

Figur 31 Database Columns *

Figur 32 Components and Labels *

Figur 33 Database Operations *

Figur 34 Finish *

Figur 35 Form Designer *

Figur 36 Application *

Figur 37 New Item *

Figur 38 Database Form Options *

Figur 39 Table Name *

Figur 40 Database Fields *

Figur 41 Field Arrange *

Figur 42 Label Arrange *

Figur 43 Finish *

Figur 44 Edit Application *

Figur 45 Run Application *

  1. Sökord
  2. Bilagor
  1. Visual Basic 5.0
  2. Symantec Visual Café 1.0
  3. Delphi 3.0
  4. Källkod PAM
  1. 1 Visual Basic 5.0
  2. Visual Basic 5.0

    Denna bilaga visar hur man på ett enkelt vis kan göra en databaskoppling med hjälp av de wizarder som finns att tillgå i Visual Basic 5.0.

    Författare: Arvidsson Thomas
    Magnusson Håkan

    Handledare: Gustavsson Thomas

    Välj <File> <New Project>

    Figur 13 New Project

    Här ges möjlighet att välja vilken typ av wizard man vill ha för att skapa en tillämpning.

    Figur 14 Introduction

     

    Figur 15 Interface type

    I detta fallet har vi valt singeldokument. Om man väljer MDI så innebär det att programmet blir likt ett skrivbord, där ett flertal fönster kan vara öppna samtidigt.

    Figur 16 Menus

    På denna sida väljer du vilka standard menyer som skall ingå.

     

    Figur 17 Standard forms

    Välj här vilka typer av formulär du vill ha med i ditt program.

    Figur 18 Internet Connectivity

    Här kan du lägga till en enkel webbrowser.

     

    Figur 19 Data Access Forms

    Här kan du välja om du vill koppla mot en databas.

    Vilken databastyp som skall kopplas och vilken databas man vill använda.

    Figur 20 Select tables

    Välj vilka tabeller eller frågor vill du använda.

     

    Figur 21 Finished

    Här namnger du din applikation, du kan även här ange om du vill ha en sammanfattande rapport om vad som behöver göras efter det att wizarden är slutförd.

    Figur 22 Application

    Det skapade projektet i redigeringsläge.

     

    Figur 23 Run Application

    Det skapade projektet körd mot databasen.

  3. 2 Symantec visual café
  4. Symantec visual café

    Denna bilaga visar hur man på ett enkelt vis kan göra en databaskoppling med hjälp av de wizarder som finns att tillgå i Symantec Visual Café

    Författare: Arvidsson Thomas
    Magnusson Håkan

    Handledare: Gustavsson Thomas

    Välj <File> <New Project>

    Figur 24 New Project

    Här ges möjlighet att välja vilken typ av wizard man vill ha för att skapa en tillämpning.

    Figur 25 Project Wizard

     

     

    Figur 26 Project type

    Här kan du välja om du vill göra en applikation eller en applet.

    Figur 27 dbANYWHERE server

    På denna sida väljer du dbAnyWhere Server

    Figur 28 Data Source

    Välj här vilken databas som du vill använda i applikationen. Denna databas måste vara kopplad i ODBC för att kunna fungera.

    Figur 29 User Authentication

    Här kan du skapa en användare och ge denne ett lösenord.

     

    Figur 30 Database Table

    Här väljer du vilken tabell du vill koppla till din applikation.

    Figur 31 Database Columns

    Välj vilka kolumner som du vill använda i din databas.

     

    Figur 32 Components and Labels

    Här kan du välja de komponenter som du vill ha med du kan även skapa aliasnamn på kolumnerna.

    Figur 33 Database Operations

    Här väljer man vilka databasoperationer man vill ha med i applikationen. För varje alternativ som du väljer till kommer det att visas en knapp i det skapade fönstret.

    Figur 34 Finish

    Nu har du kommit till slutförandet av den grundapplikation som du skapat med hjälp av wizarden.

    Figur 35 Form Designer

    Här visas det färdiga resultatet av wizarden. Du kan nu börja använda den färdiga applikationen, du kan också göra förändringar eller göra tillägg för att göra din applikation mera komplett.

    Figur 36 Application

    Här ses nu det databasformulär som vi skapat med hjälp av wizarden. Vi kan nu gå vidare och göra ytterligare fler finesser.

  5. 3 Delphi 3.0
  6. Delphi 3.0

    Denna bilaga visar hur man på ett enkelt vis kan göra en databaskoppling med hjälp från en av alla de wizarder som finns att tillgå i Delphi 3.0

    Författare: Arvidsson Thomas
    Magnusson Håkan

    Handledare: Gustavsson Thomas

    Välj <File> <New >

    Figur 37 New Item

    Här ges möjlighet att välja vilken typ av wizard man vill ha för att skapa en tillämpning.

    Figur 38 Database Form Options

    Här väljer du hur vilken typ av databasformulär som du vill ha.

     

     

    Figur 39 Table Name

    På den här sidan väljer man tabell som skall användas.

    Figur 40 Database Fields

    På denna sida väljer du vilka fält som ska vara med från den tabell du valt på föregående sida, man behöver inte välja att ta med alla fält.

     

    Figur 41 Field Arrange

    Välj här den typ av presentation som du vill ha på din tabell.

    Figur 42 Label Arrange

    Här väljer du hur den beskrivande texten som tillhör varje fält ska placeras.

     

     

    Figur 43 Finish

    Är man belåten med det man gjort i wizarden så klickar man på finish och då kompileras den kod som utgör applikationen.

    Figur 44 Edit Application

    Vi har nu kommit så lång med applikationen att det går köra den som den är, men för den som inte är nöjd kan ju utöka eller förbättra applikationen.

     

     

    Figur 45 Run Application

    Vi har nu skapat en liten enkel databastabell väldigt smidigt.

  7. 4 Källkod PAM

Källkod pam

Denna bilaga visar källkoden till de händelser som finns i PAM dialogen.

Författare: Arvidsson Thomas
Magnusson Håkan

Handledare: Gustavsson Thomas

      1. Form login
      2. Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long

        Public OK As Boolean

        Private Sub Form_Load()

        Dim sBuffer As String

        Dim lSize As Long

        sBuffer = Space$(255)

        lSize = Len(sBuffer)

        Call GetUserName(sBuffer, lSize)

        If lSize > 0 Then

        txtUserName.Text = Left$(sBuffer, lSize)

        Else

        txtUserName.Text = vbNullString

        End If

        End Sub

        Private Sub cmdCancel_Click()

        OK = False

        Me.Hide

        End Sub

        Private Sub cmdOK_Click()

        'To Do - create test for correct password

        'check for correct password

        If txtPassword.Text = "" Then

        OK = True

        Me.Hide

        Else

        MsgBox "Invalid Password, try again!", , "Login"

        txtPassword.SetFocus

        txtPassword.SelStart = 0

        txtPassword.SelLength = Len(txtPassword.Text)

        End If

        End Sub

         

      3. Form Main
      4. Option Explicit

        Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)

        Function LoadNewSpecifikation() 'MaterialSpecifikation

        Dim frmM As frmSpecifikation

        Set frmM = New frmSpecifikation

        frmM.Caption = "Materialspecifikation "

        frmM.Show

        End Function

        Private Sub LoadNewProjektregistrering()

        Dim frmP As frmProjektregistrering

        Set frmP = New frmProjektregistrering

        frmP.Caption = "Projektregistrering "

        frmP.Show

        End Sub

        Private Sub MDIForm_Load()

        Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)

        Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)

        Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)

        Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)

        End Sub

         

         

        Private Sub MDIForm_Unload(Cancel As Integer)

        If Me.WindowState <> vbMinimized Then

        SaveSetting App.Title, "Settings", "MainLeft", Me.Left

        SaveSetting App.Title, "Settings", "MainTop", Me.Top

        SaveSetting App.Title, "Settings", "MainWidth", Me.Width

        SaveSetting App.Title, "Settings", "MainHeight", Me.Height

        End If

        End Sub

        Private Sub mnuKund_Click()

        frmKund.Show

        End Sub

        Private Sub tbToolBar_ButtonClick(ByVal Button As ComctlLib.Button)

        Select Case Button.Key

        Case "Login"

        mnuLogin_Click

        Case "Öppna"

        mnuTreelist_Click

        Case "Sök"

        mnuKund_Click

        End Select

        End Sub

        Private Sub mnuLogin_Click()

        frmLogin.Show
        End Sub

        Private Sub mnuFileExit_Click()

        Unload Me

        End Sub

         

        Private Sub mnuMaterialspecifikation_Click()

        LoadNewSpecifikation

        End Sub

        Private Sub mnuProjektregistrering_Click()

        LoadNewProjektregistrering

        End Sub

        Private Sub mnuTreelist_Click()

        frmTreeList.Show

        End Sub

        Private Sub mnuViewOptions_Click()

        frmOptions.Show

        End Sub

         

        Private Sub mnuViewStatusBar_Click()

        If mnuViewStatusBar.Checked Then

        sbStatusBar.Visible = False

        mnuViewStatusBar.Checked = False

        Else

        sbStatusBar.Visible = True

        mnuViewStatusBar.Checked = True

        End If

        End Sub

        Private Sub mnuViewToolbar_Click()

        If mnuViewToolbar.Checked Then

        tbToolBar.Visible = False

        mnuViewToolbar.Checked = False

        Else

        tbToolBar.Visible = True

        mnuViewToolbar.Checked = True

        End If

        End Sub

        Private Sub mnuHelpContents_Click()

        Dim nRet As Integer

        'if there is no helpfile for this project display a message to the user

        'you can set the HelpFile for your application in the

        'Project Properties dialog

        If Len(App.HelpFile) = 0 Then

        MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption

        Else

        On Error Resume Next

        nRet = OSWinHelp(Me.hwnd, App.HelpFile, 3, 0)

        If Err Then

        MsgBox Err.Description

        End If

        End If

        End Sub

        Private Sub mnuHelpSearch_Click()

        Dim nRet As Integer

        'if there is no helpfile for this project display a message to the user

        'you can set the HelpFile for your application in the

        'Project Properties dialog

        If Len(App.HelpFile) = 0 Then

        MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption

        Else

        On Error Resume Next

        nRet = OSWinHelp(Me.hwnd, App.HelpFile, 261, 0)

        If Err Then

        MsgBox Err.Description

        End If

        End If

        End Sub

         

        Private Sub mnuWindowArrangeIcons_Click()

        Me.Arrange vbArrangeIcons

        End Sub

        Private Sub mnuWindowCascade_Click()

        Me.Arrange vbCascade

        End Sub

        Private Sub mnuWindowTileHorizontal_Click()

        Me.Arrange vbTileHorizontal

        End Sub

        Private Sub mnuWindowTileVertical_Click()

        Me.Arrange vbTileVertical

        End Sub

        Private Sub mnuViewRefresh_Click()

        'To Do

        MsgBox "Refresh Code goes here!"

        End Sub

        Private Sub mnuFileOpen_Click()

        frmTreeList.Show

        End Sub

        Private Sub mnuHelpAbout_Click()

        frmAbout.Show

        End Sub

         

      5. Form Treelist
      6. Private Sub Form_Load()

        Me.Left = 0

        Me.Top = 0

        Me.Width = 3800

        Me.Height = 2700

        Dim nodX As Node ' Create a 4 root nodes.

        TreeView1.ImageList = ImageList1 ' Specify ImageList

        frmTreeList.Caption = "Trädstruktur"

        ' Mapp Nivå 1 Orderhantering

        '------------------------------------------------------------------------

        Set nodX = TreeView1.Nodes.Add(, , "O", "Orderhantering", 1, 2)

        nodX.Expanded = False

        nodX.ExpandedImage = 2

        ' Mapp Nivå 2 Orderregistrering

        Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Orderregistrering", 1, 2)

        nodX.Expanded = False

        nodX.ExpandedImage = 2

        ' Formulär Orderregistrering

        Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Materialspecifikation", 3)

        Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Projektregistrering", 3)

        ' Mapp Nivå 1 Ekonomi

        '------------------------------------------------------------------------

        Set nodX = TreeView1.Nodes.Add(, , "E", "Ekonomi", 1, 2)

        nodX.Expanded = False

        nodX.ExpandedImage = 2

        ' Mapp Nivå 1 Management

        '------------------------------------------------------------------------

        Set nodX = TreeView1.Nodes.Add(, , "M", "Management", 1, 2)

        nodX.Expanded = False

        nodX.ExpandedImage = 2

        ' Mapp Nivå 1 Systemadmin

        '------------------------------------------------------------------------

        Set nodX = TreeView1.Nodes.Add(, , "S", "Systemadmin", 1, 2)

        nodX.Expanded = False

        nodX.ExpandedImage = 2

        End Sub

      7. Form Specifikation
      8. Option Explicit

        Private Sub LoadNewSpecifikation()

        ProgressBar1.Visible = False

        Dim frmM As frmSpecifikation

        Set frmM = New frmSpecifikation

        frmM.Show

        End Sub

        Private Sub DBGridSecifikation_GotFocus()

        Dim Col1, Col2 As Column

        Set Col1 = DBGridSecifikation.Columns(0)

        Set Col2 = DBGridSecifikation.Columns(1)

        Col1.Caption = "Antal "

        Col2.Caption = "Specifikation"

        Col2.Value = "Dator PII 2000"

        'sbStatusBar.Panels(1).Text = ""

        End Sub

        Private Sub Form_Load()

        ProgressBar1.Visible = False

        Me.Left = 0

        Me.Top = 0

        Me.Width = 7875

        Me.Height = 5220

        End Sub

         

        Private Sub Ordernummer_KeyDown(KeyCode As Integer, Shift As Integer)

        Select Case KeyCode

        Case vbKeyReturn:

        Ordernummer_KeyReturn

        SQL_Get_Ordernummer

        Ordernummer_LostFocus

        DBGridSecifikation.SetFocus

        Case vbKeyTab:

        End Select

        End Sub

        Private Sub SQL_Get_Ordernummer()

        ' to do statuslist "skriv en SQL-sats för att söka reda på ordernummret i Databasen på server"

        Dim Counter As Integer

        Dim Workarea(250) As String

        ProgressBar1.Min = LBound(Workarea)

        ProgressBar1.Max = UBound(Workarea)

        ProgressBar1.Visible = True

        ProgressBar1.Value = ProgressBar1.Min 'Set the Progress's Value to Min.

        For Counter = LBound(Workarea) To UBound(Workarea) 'Loop through the array.

        Workarea(Counter) = "Initial value" & Counter 'Set initial values for each item in the array.

        ProgressBar1.Value = Counter

        sbStatusBar.Panels(1).Text = "Söker efter ordernummret i Databasen. Vänta "

        Next Counter

        ProgressBar1.Visible = False

        ProgressBar1.Value = ProgressBar1.Min

        End Sub

        Private Sub Ordernummer_KeyReturn()

        Me.Caption = ""

        Me.Caption = "Materialspecifikation Ordernummer:" & Ordernummer

        End Sub

        Private Sub Ordernummer_LostFocus()

        'sbStatusBar.Panels(1).Text = ""

        'DBComboProjektLedare.SetFocus

        End Sub

         

        Private Sub tbToolBar_ButtonClick(ByVal Button As ComctlLib.Button)

        Select Case Button.Key

        Case "Nytt Blad"

        mnuNyttBlad_Click

        Case "Skriv ut"

        mnuFilePageSetup_Click

        ' mnuFilePrint_Click

        Case "Uppdatera"

        mnuUppdateraDatabas_Click

        End Select

        End Sub

        Private Sub mnuNyttBlad_Click()

        LoadNewSpecifikation

        End Sub

        Private Sub mnuFilePageSetup_Click()

        'MSComDlg.ShowPrinter

        'CommonDialog.PrinterDefault

        End Sub

        Private Sub mnuFilePrint_Click()

        'To Do

        MsgBox "Print Code goes here!"

        End Sub

        Private Sub mnuUppdateraDatabas_Click()

        'sbStatusBar1.Panels(1).Text = " Uppdaterar Databasen på serveren. Vänta...."

        ' "to do: skriv en SQL-sats"

        End Sub

      9. Form Registrering
      10. Private Sub LoadNewProjektregistrering()

        ProgressBar1.Visible = False

        Dim frmP As frmProjektregistrering

        Set frmP = New frmProjektregistrering

        frmP.Show

        End Sub

        Private Sub cmd_Allmlevbest_btn_Click()

        sbStatusBar.Panels(1).Text = "Söker efter Allmänna leveransbestämmelser i databasen för aktuell kod"

        frmAllmlevbest.Show

        End Sub

        Private Sub cmdExelChart_Click(Index As Integer)

        frmExelChart.Show

        End Sub

        Private Sub cmdExelSheet_Click(Index As Integer)

        frmExelSheet.Show

        End Sub

        Private Sub cmdMSChart_Click(Index As Integer)

        With frmMSChart.MSChart1

        .chartType = VtChChartType3dBar ' Displays a 3d chart with 8 columns and 8 rows data.

        .ColumnCount = 8

        .RowCount = 8

        For Column = 1 To 8

        For Row = 1 To 8

        .Column = Column

        .Row = Row

        .Data = Row * 10

        Next Row

        Next Column

        ' Use the chart as the backdrop of the legend.

        .ShowLegend = True

        .SelectPart VtChPartTypePlot, index1, index2, index3, index4

        .EditCopy

        .SelectPart VtChPartTypeLegend, index1, index2, index3, index4

        .EditPaste

        End With

        frmMSChart.Show

        End Sub

        Private Sub DBComboProjektLedare_GotFocus()

        ' sbStatusBar.Panels(1).Text = ""

        End Sub

        Private Sub Form_Load()

        ProgressBar1.Visible = False

        Me.Left = 0

        Me.Top = 0

        Me.Width = 9330

        Me.Height = 7200

        End Sub

        Private Sub Ordernummer_KeyDown(KeyCode As Integer, Shift As Integer)

        Select Case KeyCode

        Case vbKeyReturn:

        Ordernummer_KeyReturn

        SQL_Get_Ordernummer

        Ordernummer_LostFocus

        End Select

        End Sub

        Private Sub SQL_Get_Ordernummer()

        ' to do statuslist "skriv en SQL-sats för att söka reda på ordernummret i Databasen på server"

        Dim Counter As Integer

        Dim Workarea(250) As String

        ProgressBar1.Min = LBound(Workarea)

        ProgressBar1.Max = UBound(Workarea)

        ProgressBar1.Visible = True

        ProgressBar1.Value = ProgressBar1.Min 'Set the Progress's Value to Min.

        For Counter = LBound(Workarea) To UBound(Workarea) 'Loop through the array.

        Workarea(Counter) = "Initial value" & Counter 'Set initial values for each item in the array.

        ProgressBar1.Value = Counter

        sbStatusBar.Panels(1).Text = "söker efter ordernummret i Databasen. Vänta "

        Next Counter

        ProgressBar1.Visible = False

        ProgressBar1.Value = ProgressBar1.Min

        DBComboProjektLedare = "Lars Einarsson"

        End Sub

        Private Sub Ordernummer_KeyReturn()

        Me.Caption = ""

        Me.Caption = "Projektregistrering Ordernummer:" & Ordernummer

        End Sub

        Private Sub Ordernummer_LostFocus()

        DBComboProjektLedare.SetFocus

        End Sub

         

        Private Sub tbToolBar_ButtonClick(ByVal Button As ComctlLib.Button)

        Select Case Button.Key

        Case "Nytt Blad"

        mnuNyttBlad_Click

        Case "Skriv ut"

        mnuFilePageSetup_Click

        ' mnuFilePrint_Click

        Case "Uppdatera"

        mnuUppdateraDatabas_Click

        End Select

        End Sub

        Private Sub mnuNyttBlad_Click()

        LoadNewProjektregistrering

        End Sub

        Private Sub mnuFilePageSetup_Click()

        mnuFilePrint_Click

        End Sub

        Private Sub mnuFilePrint_Click()

        MsgBox "Print Code goes here!"

        End Sub

        Private Sub mnuUppdateraDatabas_Click()

        sbStatusBar.Panels(1).Text = " Uppdaterar Databasen på serveren. Vänta...."

        ' "to do: skriv en SQL-sats"

        End Sub

      11. Form Kund

Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)

Private Sub Choice_Click(Index As Integer)

MsgBox "SQL sats efter Val"

End Sub

Private Sub Exit_Click(Index As Integer)

Unload Me

End Sub

Private Sub Form_Load()

Me.Left = 0

Me.Top = 0

Me.Width = 9285

Me.Height = 4575

End Sub

Private Sub Help_Click(Index As Integer)

Dim nRet As Integer

'if there is no helpfile for this project display a message to the user

'you can set the HelpFile for your application in the

'Project Properties dialog

If Len(App.HelpFile) = 0 Then

MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption

Else

On Error Resume Next

nRet = OSWinHelp(Me.hwnd, App.HelpFile, 3, 0)

If Err Then

MsgBox Err.Description

End If

End If

End Sub

Private Sub Seak_Click(Index As Integer)

MsgBox "Sök efter valda data i databasen ", vbInformation, Me.Caption

End Sub