Udvikling af DOTNET applikationer til MicroStation i C#
|
|
|
- Alexander Klausen
- 10 år siden
- Visninger:
Transkript
1 Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi
2 Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt i forhold til MicroStation (ikke som vba) Det er objektorienteret. En meget udbredt platform. Mange nye features. En videreudvikling af Studio produkterne Der kan hentes en (gratis) express version på msdn.microsoft.com/vstudio/express/visualcsharp/
3 1. trin MicroStation tilføjes som reference. Fra ud udviklingsmiljøet bruges menu Project, add references COM fanen:
4 Trin 2. Application objekt skal skabes. namespace test { public partial class Form1 : Form { MicroStationDGN.Application m_app; public Form1() { InitializeComponent(); m_app = new MicroStationDGN.Application(); private void Form1_Load(object sender, EventArgs e) { Så er man i gang. Variablen m_app er applicationsobjektet som bruges implicit i VBA.
5 Så er man i gang. Intellisense
6 Smartere compiler Fanger logiske programmeringsfejl. Et par simple eksempler
7 Region. Orden i koden og overblik.
8 Dataset En database i memory En af mange forbedringer. Avacerede datamodeller uden database. Tabeller, kolonner relationer med defineres grafisk.
9 Hastighed EXE og COM Meget vigtig at skelne. Sammenligning mellem mdl, vba og almindelige dotnet program (exe fil). Scan stor design fil og tæl antallet af punkter i linestrings. MDL: 5 sekunder. VBA : 5 sekunder. C# exe: 2 minutter! C# COM : 10 sekunder. Et Exe program ligger i en selvstændig process! Et Com modul ligger i samme process.
10 Hastighed EXE og COM Andre opgaver som database operationer og skriv/læs store filer er C# mindst lige så hurtig som MDL og VBA. Min erfaring : en lille ulempe. Dotnet verdenen har mange fordele. Når en C# aplikation skal behandle større datamængder skal det gøres til et COM objekt.
11 En dot net applikation som COM objekt. Trin 1. Projekt typen ændres fra Exe til class Modul. Compilering skriver en.dll fil i stedet for en.exe fil. Gøres fra menu : project, properties. Trin 2. Tilføj namespace InteropServises og et COMVisble object. using System.Runtime.InteropServices; namespace CowiMap.DGN { [ComVisible(true)] public class StartValidate { CowiMap.DGN.frmMainValidate m_form = null; public StartValidate() { if (m_form == null){ m_form = new CowiMap.DGN.frmMainValidate(); m_form.show();
12 En dot net applikation som COM objekt. Trin 3. Initialiseres fra VBA. I dette eksempel med: Sub Validate() On Error GoTo errhandler Dim f As Object Set f = CreateObject("CowiMap.DGN.StartValidate") errhandler: If Err.Number <> 0 Then MsgBox Err.Description End If End Sub Ulempen er at com objekter ikke kan debugges. Derfor udvikle som exe og bruges som COM.
13 Eksempel på Objekt orienteret kode. Generelt problem. Recordset skal lukkes. Dim objrs As ADODB.Recordset Set objrs = New ADODB.Recordset strsql = "select " objrs.open strsql, objconn Do While Not objrs.eof. Loop objrs.close Set objrs = Nothing Glemmer man close metoden, får man et memory leak Det skal man også huske i DOT NET verdenen, men det kan pakkes ind i et objekt, som står for oprydningen og udefører det databehandlingen med en delegate. (En funktion som argument til en funktion)
14 Brug af delegate Funktion erklæres som delegate i en klasse: private delegate void processdatarow(system.data.datarow row); En metode i samme klasse bruger en delegate som argument private void processsql(string sqltxt, processdatarow process) { OleDbCommand selectcommand = new OleDbCommand(); OleDbDataAdapter dataadapter = new OleDbDataAdapter(); DataTable table = new DataTable(); selectcommand.connection = this.m_connection; selectcommand.commandtext = sqltxt; dataadapter.selectcommand = selectcommand; dataadapter.fill(table); foreach (System.Data.DataRow row in table.rows) { process(row); selectcommand.dispose(); table.dispose(); m_connection.close(); return antal; En bruger af klassen skal nu aldrig mere bekymre sig om at huske at kalde close og dispose.
15
Opret en Powerpoint præsentation automatisk med VBA
Opret en Powerpoint præsentation automatisk med VBA I denne vejledning bliver det gennemgået, hvordan man via VBA kan oprette en powerpoint med diagrammer og kommentarer fra Excel automatisk. Gør som følgende:
vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:
Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan
Kapitel 1 I gang med C#
Kapitel 1 I gang med C# Vi skal starte med at oprette et meget simpelt program, så du kan se hvad der ligger bag et C# projekt. Når du er færdig med dette kapitel vil du have lært: Hvordan du opretter
Hent filoplysninger fra billeder og filer
Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:
MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.
MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig
Programmering I Java/C#
Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren
SQL Server Express og C#
SQL Server Express og C# I denne sektion skal du lære at oprette en database med SQL Server Express. Du kan gøre det med det software, der følger med Visual Studio. Når du har oprettet en database lærer
PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
Undtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13
1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker
Software Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune
Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune [email protected] 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt
vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0
vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0 Indholdsfortegnelse 1 Indledning... 3 2 WMS generelt... 3 3 WFS generelt... 4 4 WMS/WFS eksterne kald i forskellige formater... 4 5
Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
SWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
MS Visual Studio Basic 2010. En kort vejledning
Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse
Testservice med anvendelse af Microsoft software.
Testservice med anvendelse af Microsoft software. Få offentlig nøgle fra installeret signeringscertifikat 1. Klik Start Kør på den pc eller server hvor signeringscertifikatet er installeret. 2. Skriv MMC
VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING
VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING Copyr i g ht 2013, SAS Ins titut e Inc. All rights res er ve d. Livet som SAS-programmør er blevet lettere med SAS Enterprise
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Eksempel: et ordresystem note 5 Lagdeling s. 1
Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Datatekniker med programmering som speciale
Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.
8 3. Nedtælling Nu skal du lave en nedtæller. Det er en god måde at lære variabler på og hvordan du skal kode micro:bit til at gøre dét, du vil have, at den skal vise. Du skal bruge: 1 x BBC micro:bit
OrCAD Capture TCL IDE med Eclipse
OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL er et script sprog til at lave applikationer til OrCAD Capture. Eclipse er et gratis udviklingsmiljø med debug muligheder. Denne guide hjælper med at
RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Fang Prikkerne. Introduktion. Scratch
Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Dynamiske Billeder, Image Map & XY coordinater. ASP.NET og Access Databasen.
Dynamiske Billeder, Image Map & XY coordinater. ASP.NET og Access Databasen. Tutorial lavet af Jákup W. Hansen TSU 2006 22. april 2008 Hvorfor denne tutorial: Denne tutorial er ikke direkte pensum på datamatikkerskolen,
Databaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
SAX Simple API for XML.
SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller
Kursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Tildel fast IP adresse til BC9xx0 via System Manageren
APP-NOTE 600011 Beckhoff Application Note Date: 2/11/2009 Document Status: 1.1 Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Tildel fast IP adresse til
Kursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3
DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget
$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0
!"#!"# "# %&') * #" % && %' Dim MyArray2) As Integer ) * %' +,! - Myarray MyArray0). %' /0 /0 122 + /0 /0 +4 / 0) Dim MyArray1 to 2) As Integer 5MyarrayMyArray1)" +6 Option Base 1 Option Explicit %' 76
Lær Python - Dag 4, modul 2 Objektorienteret programmering
Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.
Arduino Programmering
Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået
EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø
EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...
Microcontroller, Arduino
Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen
FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)
FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) INDHOLD 1. FORMÅL OG SCOPE... 1 1.1. TEKNOLOGIER OG RAMMEVÆRKER... 1 2. ARKITEKTUR... 2 2.1. KOMBIT.FLIS.PORTAL... 3 2.2. SCRIPTS... 3 2.3. SHAREPOINT
Micro-pixel Neopixel til micro:bit
Micro-pixel Neopixel til micro:bit Link mellem tablet og micro:bit: Denne kode er lavet til at du kan programmere din micro:bit fra en tablet, ved hjælp af editoren Touch development. For at begynde med
DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Hvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Om binære søgetræer i Java
Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret
A Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Håndbog Til CPR services. Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper
Håndbog Til CPR services Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper CPR-kontoret Datavej 20, Postboks 269, 3460 Birkerød E-post: [email protected]. Telefax 45 82 51
Delphi og Databaser for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med
Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON
Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server
Database for udviklere. Jan Lund Madsen PBS10107
Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated
Tredjepart webservices
Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output
PHP 3 UGERS FORLØB PHP, MYSQL & SQL
PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at
! #!! $ % $! & " &'"! & *+ "! " $ $ ""!,-! $!.! $! " # 1!! &' "
""# "" # $ % $ & " &'" & " "()" *+ " " $ $ *+" $ %"&'" "( "",- $. + /"&'"-0 $ " # 1 &' " +"% $ %'('" 2 ' ) )030 )030) * )033 " )033 // " " 1 1 41 ")035)036 5- " " " *+773,8 *+ % " " )035& " )036& " 1 %"
Mænd, Mus og Metadata
Mænd, Mus og Metadata Henrik Dorf SAS Institute A/S Intet er jo hvad det gir sig ud for Mus er en computermus Mænd er personer af begge køn der tager backup og ikke vil have en musearm Metadata er data
Tildel fast IP adresse til BC9xxx med ARP og oprettelse kommunikation fra TwinCat
APP-NOTE 600001 Beckhoff Application Note Date: 6/20/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Tildel fast IP adresse
//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Lær Python - Dag 4, modul 1 Objektorienteret programmering
Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi
Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.
Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19
PID2000 Archive Service
PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren
METODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Datatekniker med programmering som speciale H5
Datatekniker med programmering som speciale H5 H5 består af et selvstændigt projekt som du definerer. Styringen af projektet er i centrum her, og ikke selve softwaren. H5 varer ti uger bestående af ni
Opsætning af udviklerversion af Microsofts open source XDS.b fra Codeplex Projekt: Net4Care Version: V0.1, 2012-06-12
XDS Konfigurationsvejledning Opsætning af udviklerversion af Microsofts open source XDS.b fra Codeplex Projekt: Net4Care Version: V0.1, 2012-06-12 Indholdsfortegnelse Indledning... 2 Miljø... 2 Opsætning
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Objektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
Singleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
