MapBasic Workshop. Peter Horsbøll Møller Systems Engineer Pitney Bowes Business Insight

Relaterede dokumenter
Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Nyheder i MapBasic 10.5 og 11.0

MapBasic brugergruppe. SQL i MapBasic. Peter Horsbøll Møller Senior Systems Engineer Marts Slå mute fra hvis I vil sige eller spørge om noget

Vilkår for brug GIS-Byggesag 1 af 48

Opsætningsfiler, menuer og menupaletter workshop

MapBasic hvad kan det bruges til? Insights Danmark 2011

MapBasic brugergruppe. Geografiske objekter. Peter Horsbøll Møller Senior Systems Engineer April 2013

Hent filoplysninger fra billeder og filer

Dagens program 10:00 10:30 10:45 11:30 12:00 13:00 13:20 13:50 14:30 15:00 16:00. Nyt i MapBasic 11.5 og MapBasic IDE - kom i gang

MAPINFO PROFESSIONAL V11.5

Vejledning i brug af WFS fra Kortforsyningen i MapInfo

Easy Guide i GallupPC

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

"# $%$ " # $ % $ $ " & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1.

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

! " # $% &'!& & ' '" & # ' "&()(*& + + +,-' "&( # &(! (! " )(!# &!! (!&!! * (! +& (!!! & " " & & / & & (!

MapBasic brugergruppe. Introduktion til MapBasic. Peter Horsbøll Møller Senior Systems Engineer Januar 2013

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

PUT og INPUT funktionerne

' #$*# ' # #) * #& #& ' # #* #, #$--

Spil Master Mind. Indledning.

Adobe Acrobat Connect brugergrænsefladen

Rigtig SQL Programmering

! #!! $ % $! & " &'"! & *+ "! " $ $ ""!,-! $!.! $! " # 1!! &' "

MapInfo Professional 11.0 Hvordan man tilgår en database

Import af rekursivt (parent-child) hierarki i Palo

User Guide AK-SM 720 Boolean logic

! "# $$ &'()*"* +*, & &"*0* & "# % %- %

Tagwall med Php & MySQL

Installationsvejledning til Virk Tæller

Databaseadgang fra Java

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.

StarWars-videointro. Start din video på den nørdede måde! Version: August 2012

Import / Eksport. Vejledning

vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0

OPC ACCESS HEARTBEAT 1

PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved.

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

Introduktion til programmering

I tabellen vises en liste med værdier for den uafhængige variabel, og desuden den tilsvarende værdi for den afhængige variabel.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni jun 2011 MapBasic &.

Oprettelse af Titelblok i Capture og Capture CIS

En Kort Introduktion til Oracle

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net

Opret en Powerpoint præsentation automatisk med VBA

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

Introduktion til OPC Access

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%

Installation af Point Yomani terminal

% &$ # '$ ## () %! #! & # &, # / # 0&. ) / & #& #

Region Syddanmark Guide til oprettelse og udsendelse af nyhedsbreve i Peytz Mail

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0

PICTURE formater. Klog på SAS 15. marts 2012

Python 3 kursus lektion 1:

Vejledning til Teknisk opsætning

Brugermanual til MICRO LOOP

W6 - Model- og Tegningskomposition

VEJLEDNING I OPSÆTNING I MICROSTATION, MAPINFO, QGIS OG ARCGIS

Bogfunktionen eller Slægtsbogen i FTM

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net

Programmering i C Intro og grundlæggende C 5. marts 2007

Setup Guide Do It Now Work Smarter

Hvordan du opretter, bruger og tildeler kategorier til arrangementer og nyheder

LCD Character display Intro

Help / Hjælp

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

Glance Del din skærm med op til 200 deltagere

Kapitel 4 Løkker i C#

Tilpasning af din tastaturgenveje

VEJLEDNING I OPSÆTNING I MICROSTATION, MAPINFO, QGIS OG ARCGIS

$ %' ) * %' +,! - Myarray %' /0 / /0 /0

BRUGER KURSUS RAMBØLL HJEMMESIDE

Video obligatorisk øvelse

Programmering C RTG

Visual Basic for begyndere

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET

Parameterisering af databasekald med ASP og ADO

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

Klasse 1.4 Michael Jokil

Tutorial: Annotationsliste

Tips og Tricks. Erik Wendelboe Nielsen Christian Woergaard. econocap. PTC/USER Fredericia

Nolde Museet. I gang med Dreamweaver. Opgave. Opgavebeskrivelse. Layout. Mål og CSS

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

Sådan opretter du en elektronisk aflevering

Python programmering. Per Tøfting. MacFest

1. Opbygning af et regneark

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

MS Visual Studio Basic En kort vejledning

Sproget Rascal (v. 2)

#AlleKanKode. Lektion 2 - Konstanter og Variabler

PHP guide af Daniel Pedersen

Workshop G8 Tasks og Templates

Transkript:

MapBasic Workshop Peter Horsbøll Møller Systems Engineer Pitney Bowes Business Insight

Har du: Installeret MapBasic? Installeret MapInfo Pro? Medbragt filerne jeg sendte i fredags?

Målet er at lave denne dialogboks

Grundlæggende opbygning af programmer Sub Main Procedurer og funktioner Menuer Declare Dim Define MapBasic.def Forgrening: If End If

Vise værdier til brugeren Man kan nemt vise brugeren nogle værdier Dette er meget anvendeligt f.eks. til at kontrollere om programmet virker, som det skal Note kommandoen viser en dialogboks på skærmen, som brugeren skal trykke OK på for at programmet fortsætter Note Tabellen er ikke åben! Print kommandoen skriver en tekst i Meddelelsesvinduet uden at programmet stopper. Print Anvender nu den valgte tabel

Sub Main Det er denne procedure, som kaldes når MapBasic-programmet startes Her vil man ofte initiere programmet og f.eks. oprette menuer og læse opsætningsfiler Sub Main skal erklæres med Declare øverst i koden Declare Sub Main Sub Main Note Nu kører programmet! End Sub

Procedurer og funktioner Procedurer indeholder kode, som kan kaldes fra andre steder i programmet. Man kan med fordel gruppere sin kode i mindre bidder, så er den nemmere at overskue og nemmere at genbruge Funktioner er procedurer der kan returnere en værdi. Procedurer returnerer ikke direkte en værdi, men kan returnere værdier via parametrene Procedure og funktioner skal erklæres for at kunne blive anvendt. Man erklærer dem enten øverst i filen eller i en separat definitionsfil Declare Function GetPI() As Float Function GetPI() As Float GetPI = 3.14 End Function

Menuer Menuer anvendes ofte for at lade brugeren bestemme hvornår han ønsker at specifikke anvende dele af MapBasic-programmet Menuer skabes ofte i Sub Main eller i en procedure kaldt fra Sub Main Ved et klik på et menupunkt, kaldes den procedure, der er tilknyttet menupunktet Du adskiller menuer med komma (,) Hjælpeteksten, der er frivillig, vises i nederste venstre hjørne Sub Main Create Menu Mit program As Udfør handling HelpMsg Når du trykker på menuen udføres handlingen Calling DoSomething, Afslut program Calling EndProgram End Sub

Declare, Dim, Define Declare anvendes til at erklære procedurer og funktioner. Anvendes udenfor procedurer/funktioner Define anvendes til at definere konstante værdier. Anvendes udenfor procedurer/funktioner Dim anvendes til at dimensionere variable, som kan tildeles nye værdier i programmets levetid. Kan anvendes både udenfor og indeni procedurer/funktioner afhængig af hvor de skal anvendes. Declare Sub Main Define FILE_INI C:\Temp\Config.ini Dim i As Integer

Dim - datatyper Dim var_name [, var_name...] As var_type [, var_name [, var_name...] As var_type...] Dim stab, skolonne As String, nantal As Integer SmallInt Whole numbers from -32768 to 32767 (inclusive); stored in 2 bytes. Integer Whole numbers from -2,147,483,648 to +2,147,483,647 (inclusive); stored in 4 bytes. Float Floating point value; stored in eight-byte IEEE format. String Variable-length character string, up to 32768 bytes long. String * length Fixed-length character string (where length dictates the length of the string, in bytes, up to 32768 bytes); fixed-length strings are padded with trailing blanks. Logical TRUE or FALSE, stored in 1 byte: zero=false, non-zero=true. Date Date, stored in four bytes: two bytes for the year, one byte for the month, one byte for the day. DateTime DateTime is stored in nine bytes: 4 bytes for date, 5 bytes for time. 5 bytes for time include: 2 for millisec, 1 for sec, 1 for min, 1 for hour. Object Graphical object (Point, Region, Line, Polyline, Arc, Rectangle, Rounded Rectangle, Ellipse, Text, or Frame). Alias Column name. Pen Pen (line) style setting. Brush Brush (fill) style setting. Font Font (text) style setting. Symbol Symbol (point-marker) style setting.

MapBasic.def Man bør altid inkludere MapBasic.def i sit MapBasic-program. MapBasic.def indeholder en lang række konstanter, som man kan anvende i stedet for uigenkendelige numre. F.eks. konstanter for attributter til alle MapBasic funktioner, så som TableInfo(), ColumnInfo() m.fl. Øverst i dit MapBasic-program skriver du følgende for at inkludere filen: Include MapBasic.def Over tid vil du måske få brug for at inkludere flere og flere filer i dit program, andre relevante filer kunne være Menu.def og Icons.def. Derudover kan man lave sine egne filer

Forgrening: If Forgrening bruges til at styre hvilken retning programmet skal køre, afhængig af en eller flere betingelser. Man kan f.eks. bruge dette til at undersøge om der er tabeller åbne, hvis ikke bede brugeren starte med at åbne en eller flere tabeller If NumTables() = 0 Then Note Åbn først en eller flere tabeller! Exit Sub End If Kan også indeholde flere muligheder/forgreninger: If NumTables() = 0 Then Note Åbn først en eller flere tabeller! Exit Sub ElseIf NumTables() = 1 Then Note Der er kun én tabel åben! Else Note Der er & NumTables() & tabeller åbne! End If

MapBasic dialogbokse Dialog kommando Kontroller/elementer på dialogboksen Handlere til dialogbokse/kontroller Læse fra en kontrol

Dialog og Control kommandoer Dialog kommandoen starter opbygningen af en dialogboks. Dialog kommandoen efterfølgende altid af en eller flere kommandoer for Kontroller/elementer (Control) Såvel Dialog som Control kan tage en position. For Dialog er det ift. øverste venstre hjørne af skærmen. For Control er det ift. øverste venstre hjørne af dialogboksen Dialog Title Min dialogboks Control StaticText Position 5,5 Title Min tekst Control ListBox Position 5,15 Width 100 Height 100 Control OKButton

Handler Mange af kontrollerne på en MapBasic dialogboks kan have tilknyttet en handler En handler er en procedure, som kaldes når brugeren gør noget med kontrollen. Det er meget anvendelig, når man ønsker at lave en dynamisk dialogboks, som reagerer på brugerens valg, f.eks. skal listen med kolonner opdateres når brugeren vælger en anden tabel eller lignende. Dialog Title Min dialogboks Control StaticText Position 5,5 Title Min tekst Control ListBox Position 5,15 Width 100 Height 100 ID 1 Calling Handler_Listbox1 Control OKButton

Læse fra og ændre på kontroller I handleren til en kontrol kan man læse værdier fra alle kontroller på dialogboksen. Til dette formål anvendes kontrollens ID og funktionen ReadControlValue() Sub Handler_Listbox1 Note Brugeren har valgt element & ReadControlValue(1) & i listboksen End Sub I Handleren til en kontrol, kan man også ændre på kontroller på dialogboksen vælge fra ders liste eller tildele dem nye værdier/titler Igen anvendes kontrollens ID og kommandoen Alter Control Sub Handler_Listbox1 Note Brugeren har valgt element & ReadControlValue(1) & i listboksen Alter Control 1 Value 2 End Sub

Opgaver 2 OPGAVE A: Lad denne Listbox kalde proceduren MENUDialog_TabelKlik, når brugeren vælger noget i den OPGAVE B: Tilføje en text kontrol i position 115,5 med titlen "Tableinformation" TIP: Control StaticText TIP: Brug evt. en kopi af ovenstående control OPGAVE C: Tilføj en kontrol med en liste af værdier i position 115,15, lav den 300 bred og 240 høj Tildel den ID CTRL_LST_TABELINFORMATION TIP: Control Listbox TIP: Brug evt. en kopi af ovenstående control OPGAVE D: Tilføje en text kontrol i position 430,5 med titlen "Kolonneinformation" TIP: Control StaticText TIP: Brug evt. en kopi af ovenstående control

Opgaver 2 fortsat OPGAVE E: Tilføj en kontrol med en liste af værdier i position 430,15, lav den 150 bred og 110 høj Tildel den ID CTRL_LST_KOLONNEINFORMATION TIP: Control Listbox TIP: Brug evt. en kopi af ovenstående control OPGAVE F: Vis en dialogboks med en tekst, så man kan se at denne procedure kaldes ved opstart af dialogboksen TIP: Note OPGAVE G: Vis en dialogboks med en tekst, så man kan se når brugeren klikker i listboksen med ID CTRL_LST_TABELLER TIP: Note

Spørge på tabeller Antal åbne tabeller TableInfo funktionen Tabeltyper Lister med værdier (arrays) Brugerdefinerede funktioner Forgrening: Do Case End Case

Tabeller Man kan spørge på antal åbne tabeller med funktionen NumTables() Print Antal åbne tabeller: & NumTables() Man kan spørge på detaljer om en specifik tabel med TableInfo funktionen Funktionen tager følgende parametre en tabel, enten et nummer eller et navn En attribut, hvad ønsker du at vide om tabellen? Print Tabellens navn: & TableInfo(1, TAB_INFO_NAME) Print Antal poster i tabellen: & TableInfo(1, TAB_INFO_NROWS) Print Antal kolonner i tabellen: & TableInfo(1, TAB_INFO_NCOLS)

Tabeltyper Funktionen TableInfo bruges også til at finde ud af hvilken type tabel, en given tabel er. Man skal anvende flere attributter for at undersøge tabellen type. TAB_INFO_TYPE returnerer én af følgende typer: TAB_TYPE_BASE TAB_TYPE_RESULT TAB_TYPE_VIEW TAB_TYPE_IMAGE TAB_TYPE_LINKED TAB_TYPE_WMS TAB_TYPE_WFS TAB_TYPE_FME TAB_TYPE_TILESERVER TAB_INFO_TEMP: er tabellen midlertidig? TAB_INFO_SEAMLESS: Er tabellen sømløs?

Lister med værdier - arrays En variable indeholder normalt kun =en værdi. Man kan dog definere en variabel, som kan indeholde flere værdier det kaldes et array Variablen dimenioneres i såvel enten med en tom () eller med en angiven størrelse (10): Dim arrtabelnavne() As String Man læser de enkelt elementer i arrayet via deres indeksnr: Print Table 1 er: & arrtabelnavne(1) Man kan ændre størrelsen på arrayet med ReDim kommandoen ReDim arrtabelnavne(numtables())

Brugerdefinerede funktioner Man kan definere såvel egne procedurer som egne funktioner En funktion adskiller sig fra en procedure ved at returnere en værdi det gør den meget anvendelig Funktionen skal erklæres før den kan anvendes: Declare Function GetJaNejFromLogical(ByVal bvalue As Logical) As String Derefter skal den skabes, så den gør hvad den skal: Function GetJaNejFromLogical(ByVal bvalue As Logical) As String If bvalue = true Then GetJaNejFromLogical = ja Else GetJaNejFromLogical = nej End If End Function Når man sætter funktionsnavnet lig med en værdi indeni i funktionen, er det denne værdi, funktionen vil returnere

Forgrening: Do Case En anden form for forgrening er Do Case. Den er god til at sammenligne en værdi med flere mulige værdier. Do Case TableInfo(sTab, TAB_INFO_TYPE) Case TAB_TYPE_BASE MENUTabelTypeSomTekst = "Oprindelig" Case TAB_TYPE_RESULT MENUTabelTypeSomTekst = "Forespørgsel" Case TAB_TYPE_VIEW MENUTabelTypeSomTekst = "View" Case TAB_TYPE_IMAGE MENUTabelTypeSomTekst = "Raster" Case TAB_TYPE_LINKED MENUTabelTypeSomTekst = "Sammenkædet, DBMS" Case TAB_TYPE_WMS MENUTabelTypeSomTekst = "Web Map Service, WMS" Case TAB_TYPE_WFS MENUTabelTypeSomTekst = "Web Feature Service, WFS" End Case

Opgaver 3 OPGAVE A: Lav et gennemløb over antal åbne tabeller (nantaltabeller) Brug variablen ntab til at pege på den aktuelle tabel TIP: For Next OPGAVE B: Hvordan finder man ud af hvilken tab-fil en given tabel anvender? TIP: TableInfo Erstat xxx med funktionen, der returnerer navnet på tab-filen for tabellen stab OPGAVE C: Hvordan finder man ud af hvor mange kolonner en tabel har? TIP: TableInfo Erstat xxx med funktionen, der returnerer antal kolonner i tabellen stab OPGAVE D: Hvordan finder man ud af om en tabel er kortlægningsklar (mappable)? Erstat xxx med funktionen, der returnerer om tabellen stab er kortlægningsklar TIP: TableInfo

Opgaver 3 - fortsat OPGAVE E: Hvordan finder man ud af hvor mange poster/rækker der er i en tabel? Erstat xxx med funktionen, der returnerer antal rækker/poster i tabellen stab TIP: TableInfo OPGAVE F: Hvordan tilpasser man størrelsen på et array? Erstat xxx med udtrykket, der ændrer størrelsen på arrayet marrtabelinformationer til ninformation elementer TIP: Redim

Spørge på kolonner Antal kolonner i en tabel ColumnInfo funktionen Kolonnetyper

Spørge på kolonner Man kan også spørge på antal kolonner i en tabel Print Antal kolonner: & TableInfo(1, TAB_INFO_NCOLS) Print Antal kolonner: & NumCols(1) Med ColumnInfo funktionen kan man spørge på detaljer om en given kolonne Funktionen tager følgende parametre: Tabelm, enten tabelnr eller tabelnavn Kolonne, enten kolonnenavn eller COL + kolonnenr Print Navn: & ColumnInfo(sTab, "COL" & i, COL_INFO_NAME) Print Type: & ColumnInfo(sTab, "COL" & i, COL_INFO_TYPE) Print Indekseret: & ColumnInfo(sTab, "COL" & i, COL_INFO_INDEXED)

Kolonnetyper Når man forespørger på kolonnens type med COL_INFO_TYPE, returneres én af nedenstående typer: COL_TYPE_CHAR COL_TYPE_DECIMAL COL_TYPE_INTEGER COL_TYPE_SMALLINT COL_TYPE_DATE COL_TYPE_LOGICAL COL_TYPE_GRAPHIC COL_TYPE_FLOAT COL_TYPE_TIME COL_TYPE_DATETIME Nogle af typerne kræver en nærmere undersøgelse, for f.eks. at undersøge deres bredde (tekst og decimal) og antal decimaler (decimal).

Opgaver 4 OPGAVE A: Hvilken attribut skal du angive for at få navnet på kolonnen? Indtast attributten i stedet for??? OPGAVE B: Hvilken attribut skal du angive for at få typen på kolonnen? Indtast attributten i stedet for??? OPGAVE C: Hvilken attribut skal du angive for at få bredden på en tekst-kolonne? Indtast attributten i stedet for??? OPGAVE D: Hvilken konstant vil ntype svare til hvis der er tale om en kolonne af typen Dato? Indtast konstanten i stedet for???

SQL og gennemløbe tabeller SQL og aggregationer Run Command Gennemløbe en tabel, Fetch, Do Until(), EOT

SQL Vi vil i denne eksempel bruge SQL til at lave lidt statistik på en kolonnes data. Til dette anvender vi aggregationer beregninger. Aggregationer: Count(*) tæller antal poster i en gruppering Min(kolonne) beregner den mindste værdi i en kolonne i en gruppering Max(kolonne) beregner den største værdi i en kolonne i en gruppering Select Count(*) ANTAL, Min(DATA) MIN, Max(DATA) MAX From MINTABLE Into GROUPED VALUES NoSelect

Run Command Run Command kan anvendes til at køre en streng indeholdende en MapBasic kommando. Dette kan anvendes, når man skal sammensætte sin streng når programmet kører og derfor ikke kender alle tabel- og kolonnenavne Det svarer til at køre kommandoen via MapBasic-vinduet Run Command "Select Min(" & skol & ") ""MIN"", MAX(" & skol & ") ""MAKS"" From " & stab & " Into GROUPED VALUES NoSelect" Bemærk de to anførselstegn ( ) inde i tekststrengen det oversættes til en enkelt, når kommandoen køres

Gennemløbe tabeller Når man ønsker at gennemløbe og læse poster fra en tabel, er der flere måder at gøre det. Jeg anbefaler dog at man anvender nedenstående: Fetch First From GROUPED VALUES Do Until EOT(GROUPED VALUES) Print Mindste værdien er: & GROUPED VALUES.MIN Fetch Next From GROUPED VALUES Loop Fetch First og Fetch Next anvendes til at sætte cursoren på den ønskede post Do Until EOT() Loop sørger for at man gennemløber tabellen indtil cursoren ikke længere peger på en post i tabellen Inde i gennemløbet kan man læse de nødvendige værdier og behandle dem Denne fremgangsmåde hopper automatisk over slettede poster i tabellen

Opgaver 5 OPGAVE A: Tilpas nedenstående streng, så den tæller hvor mange gange hver værdi optræder Hvilken aggregation skal du indsætte i stedet for??? Tip: Kig evt. længere nede under de numeriske kolonner OPGAVE B: Lav et gennemløb af tabellen, så de første hundrede værdier tilføjes til listen marrkolonnedatainformationer Brug ntaeller til at sikre dig at du kun indlæser 100 værdier i listen/arrayet Brug ninformation til at holde styr på hvilken plads, du skal indsætte hvilken værdi i Tip: Kig evt. længere nede under de numeriske kolonner OPGAVE C: Hvordan vil du sørge for at den logiske værdi præsenteres som Ja eller Nej i stedet for T eller F?? Hvad skal der stå i stedet for??? TIP: Se hvordan værdien for TableInfo(sTab, TAB_INFO_READONLY) præsenteres længere oppe

Opgaver 6 OPGAVE A: Flyt al håndtering af kolonnetype til funktionen MENUKolonneTypeSomTekst Funktionen er defineret og findes nederst, men du skal selv fylde indhold i funktionen Funktionerne skal kaldes her fra og returværdien skal sættes sammen med teksten i marrkolonneinformationer(i)

Spørgsmål? The Power of Insight MapInfo Professional Peter Horsbøll Møller, Systems Engineer peter.moller@pb.com