Saturday, April 11, 2009
Til orientering holder jeg en serie af foredrag om VSTO for SAMDATA. Her er et uddrag af beskrivelsen:

Er du klar over hvor nemt det er at ændre og udvide Microsoft Office med din egen funktionalitet ved hjælp af C# eller VB.NET? Hvis ikke så er dette foredrag noget for dig.

Foredrag:
Flere og flere udviklere har de seneste år fået øjnene op for Office udvikling med .NET, og mange forskellige typer løsninger bliver skabt i øjeblikket. Alle løsninger har det til fælles at de udvider en eller flere af applikationerne i Office pakken med en specifik funktionalitet der i sidste ende sparer tid for brugeren. Udvikling til Office-platformen har tidligere ikke været så nemt at gå til, men det er der lavet om på især efter frigivelsen af dels Office 2007, Visual Studio 2008, VSTO 3.0 og .NET 3.5. Nu er det pludseligt blevet en overskuelig opgave at skabe og distribuere eksempelvis en add-in til Excel 2007.

Udbytte:
I løbet af foredraget vil du få et indblik i hvad der skal til at skabe forskellige typer af løsninger til applikationerne i Office 2007. Du vil gennem en masse demoer blandt andet se hvordan man udvikler en add-in til Excel og Outlook, en skabelonbaseret løsning til Word.

Indhold:
Når du har været til foredraget vil du vide noget om betydningen af VSTO runtime og Office Primary Interop Assemblies (PIA), vide hvilke værktøjer du skal bruge, hvordan man udvikler dokument- og skabelon baserede løsninger i Word og Excel, hvordan man udvikler add-ins til Word, Excel og Outlook, hvilke brugerflader i Office  der er tilgængelige – herunder Ribbon, Action Pane, Custom Task Pane, SmartTags, menuer og form regions (Outlook), samt hvordan VSTO løsninger kan distribueres.

Der bliver holdt foredrag i Aalborg, Århus, Odense og København/Lyngby - alle fra kl. 17.00. Hertil kommer foredrag på uddannelsesinstitutioner men de er ikke "åbne". Hvis du er medlem af SAMDATA er det et gratis arrangement - for ikke medlemmer koster det kr. 500 + moms.

Se denne side for yderligere information og tilmelding.

posted on Saturday, April 11, 2009 2:02:35 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, March 03, 2009
Den sidste uges tid har jeg kørt rundt i Danmark og holdt foredrag for SAM-DATA på diverse uddannelsesinstitutioner. Det er et 3-4 timers foredrag om .NET udvikling anno 2009 (fra 3.0 til 4.0 + divrese) og 90% af tiden mosler jeg rundt i Visual Studio for at vise forskellige teknologier. Vi får således blandt andet talt og kigget på:
  • Windows Workflow
  • Windows Presentation Foundation
  • Windows Communication Foundation
  • LINQ
  • ASP.NET AJAX
  • ADO.NET Entity Framework
  • ADO.NET Data Services
  • ASP.NET Dynamic Data
  • Visual Studio Tools for Office
  • Silverlight 2.0
  • ASP.NET MVC
Jeg bruger som nævnt meget tid i VS hvilket jo ikke efterlader meget tid til at gennemgå slides (hvilket passer mig fint ;), men der er dog nogle stykker med lidt om hver enkelt teknologi. Dem kan du findes nederst i dette indlæg.

Hvis du har spørgsmål eller gerne vil se foredraget så giv mig et prej.

DotNet udvikling primo 2009 - samdata.pdf (291,36 KB)
posted on Tuesday, March 03, 2009 6:39:47 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, September 16, 2008

Holder et VSTO foredrag på et par timer i morgen hos Microsoft i Hellerup, og kan ligeså godt allerede nu lægge slides til download og smide en liste med diverse links. Dette indlæg vil blive opdateret efter foredraget, men jeg skal nok markere ændringer og tilføjelser med rødt.

Du kan finde slides her:

VSTO intro MS TechTalk Cronberg.pdf (684,05 KB)

Og følgende links bliver omtalt under foredraget:

Opdateret 18.09:

Under foredraget endte samtlige eksempler i et stort projekt som du kan hente her:

TTKbh.zip (531,16 KB)

Du skal lige være opmærksom på, at koden nogen steder kan være lidt rå (for dem der ikke var til foredraget er det hele skrevet live) og der er et par småfejl rundt omkring. Koden er afhængig af en Northwind database i en SQL Database (express evt) - se evt hvordan du installerer databasen her. Connectionsstring er hardkodet i NorthwindDataHelper-klassen i kernen.

Jeg vender retur senere i separate indlæg med koden til UDF, SmartTag mv

posted on Tuesday, September 16, 2008 9:11:56 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Saturday, August 09, 2008

Hvis du er en af de mange .NET udviklere som har hørt om Visual Studio Tools for Office (VSTO) men ikke lige har fod på hvad det konkret kan bruges til, og hvordan man kommer i gang - så er der et foredrag som muligvis er interessant for dig. Jeg er taler på en Microsoft TechTalk i september med følgende beskrivelse:

"VSTO (Visual Studio Tools For Office) er nu I version 3.0, og er efterhånden blevet en rigtig interessant og spændende applikationstype for mange .NET udviklere. Med VSTO er det muligt at skabe såvel dokument- som applikationsrelaterede (også kaldet Add-In) løsninger til Office applikationer som Word, Excel, Outlook med videre. Men hvad gemmer sig bag VSTO?  hvad kan man konkret bruge det til? og hvordan kommer man i gang med VSTO-udvikling? Det er nogle af emnerne for denne TechTalk, og du kan forvente 75 minutter med grundlæggende VSTO information krydret med en masse demoer i Visual Studio 2008. Denne TechTalk er rettet mod udviklere som ikke kender meget til VSTO-udvikling og gerne vil i gang (level 200). Taler er Michell Cronberg som du kan læse mere om på http://blog.cronberg.dk/om."

Foredraget afholdes 17. september hos Microsoft i Hellerup. Du kan læse om foredraget her og tilmelde dig her. Indtil videre afholdes denne TechTalk kun i København, men hvis du er interesseret i at jeg kommer en tur til Århus så smid en mail til Rie. Hun kan orientere dig om planerne i Århus.

Jeg lukker ikke agenda før i September så hvis du har nogle forslag eller ønsker til indhold er du velkommen til at smide mig en mail.

posted on Saturday, August 09, 2008 12:49:08 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, April 30, 2007

Jeg er ved at lande efter en omgang foredrag rundt i landet omkring udvikling med ASP.NET2 (samt en del andet), og lovede at vende retur med svar på et par spørgsmål. Jeg har undervist på Teknologisk den sidste uges tid, og har derfor ikke lige kunne finde tiden.

Lidt overraskende så er det jeg har fået flest spørgsmål omkring min brug af PowerShell til at teste kode, og i den forbindelse min dynamiske leg med Microsoft Agent (de små skønne og idag komplet oversete animerede figurer der kan tilgås gemme COM) gennem Microsoft PowerShell. Som en i Aalborg tørt spurgte efter foredraget; ”Er du ikke lige lidt for nørdet en gang i mellem?” J Det kan han jo have lidt ret i – men jeg vil nu tage det som et kompliment.

Til alle dem der har spurgt hvordan de kan lege med Merlin, Ginie, Max, Peedy og alle de andre karakterer fra Microsoft Agent gennem PowerShell - here we go:

1)      Download og installer PowerShell

2)      Download og installer Microsoft Agent – herunder også de karakterer du ønsker (der findes også et hav på nettet). Det er muligt du allerede har Agent installeret. Prøv evt. nedenstående kode først.

3)      Åben PowerShell (Kør -> PowerShell)

4)      Skriv følgende:

$agent = new-object -comobject agent.control.2
$agent.connected = 1
$agent.characters.load("merlin","c:\windows\msagent\chars\merlin.acs")
$merlin = $agent.characters.character("Merlin")

Så skulle Merlin være klar til brug gennem $merlin. Prøv

$merlin.show()
$merlin.moveto(400,500)
$merlin.Play("DoMagic1")
$merlin.think("Jeg tænker.....")
$merlin.play("congratulate")
$merlin.play("pleased")
$merlin.play("Wave")
$merlin.hide()

Det giver en ide om hvad Merlin kan – men læs dokumentationen. Det er ikke småting Merlin kan udsættes for – selv talegenkendelse er muligt.

En sidegevinst ved at lege med Merlin gennem PowerShell var i øvrigt at se min snart 4 årige søn lyse op over at se far ”styre” troldmanden ved at skrive kode ;) Ikke at han forstod en bønne af hvad jeg lavede, men han fattede tydeligvis at jeg ved at skrive kode kunne få noget til at ske. Jeg kunne sågar forklare ham hvad er en løkke er ved at få Merlin til at løbe i ring. Det burde give en del interessante ansigtsudtryk hos pædagogerne i børnehaven når de under rundskreds har ”hvad laver far og mor” tema, og Mikkel fortæller at far sidder på kontoret og fortæller en troldmand hvad han skal lave ;)

I den mere alvorlige ende kan man måske undre sig over at jeg ”leger” med PowerShell i forbindelse med udvikling (det er jo ellers primært til administratorer), men jeg kan godt lide at tingene kan testes dynamisk ind i mellem uden hele tiden at skulle kompilere. PowerShell er jo bygget ovenpå .NET og det er derfor nemt at teste og bruge både indbyggede og egne klasser. Her testes eksempelvis et datalag i en DLL-fil:

[reflection.assembly]::loadfile("c:\temp\odense.tinglysning.datalag.dll")
[odense.tinglysning.datalag.ejerlavshelper] | get-member -static
[odense.tinglysning.datalag.ejerlavshelper]::antalejerlav()
[odense.tinglysning.datalag.ejerlavshelper]::FindIndleveringsstedEfterSøgning("Aalb","").Rows.Count
$res = [odense.tinglysning.datalag.ejerlavshelper]::FindIndleveringsstedEfterSøgning("Aalb","").Rows
$res | foreach-object {$_.item("ejerlavsbetegnelse") }

Det ser lidt nørdet ud (skyldes mest at der her kaldes statiske metoder) men man fanger hurtigt syntaksen, og det er en fed fornemmelse at loade en DLL dynamisk, og så fyre et par metodekald af for at se om den nu gør hvad man regnede med.

(Ok - sidste afsnit gjorde måske det hele lidt lidt for nørdet alligevel)

 

posted on Monday, April 30, 2007 10:06:54 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, April 15, 2007

Som før nævnt er jeg hos IBM i Århus på tirsdag og KMD i København på Torsdag til "Et anderledes foredrag om ASP.NET". Det kan du læse om her. Der skulle være godt fyldt op, men der er vel altid plads til en til.

Jeg har lovet deltagerne i Aalborg at skrive et indlæg omkring foredraget, men for at spare lidt tid vil jeg gøre det efter København.

Håber vi ses!

posted on Sunday, April 15, 2007 2:15:48 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Tuesday, April 10, 2007

Så holder jeg et lidt specielt foredrag hos KMD kl. 16:15. Se her for yderligere information.

posted on Tuesday, April 10, 2007 10:24:45 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, March 25, 2007

I næste måned har jeg igen et par af de for mig (og forhåbentlig også for dem der ser på) sjove foredrag om .NET-udvikling - denne gang med fokus lagt på ASP.NET.

Du kan læse en længere beskrivelse af foredraget her, men i bund og grund handler det om at starte med så lidt som muligt (en database med lidt demo data og en specifikaiton), og så opbygge en applikation over tre timer. Vi skulle gerne i løbet af foredraget berører emner som databasedesign, arkitektur, versionsstyring af kode, test (unit- og consoletest), kerneudvikling, dokumentation, .NET 3, og se på flere forskellige applikationstyper som brugerflade. Ideen er, at se så meget (improviseret og efter forholdene tilpasset) .NET-udvikling som muligt med det formål at inspirere deltageren. Samtidigt plejer det at være meget sjovt.

Som det fremgår af overnnævnte link til SAM-DATA er jeg hos KMD i Aalborg og København, og hos IBM i Århus. Hvis du vil være med så kan tilmelding ske her.

posted on Sunday, March 25, 2007 12:14:31 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Saturday, December 16, 2006

Som aftalt er her VB-koden til synkronisering af ribbon. Denne kode er til en PowerPoint add-in som indsætter en dato i det aktuelle slide. Se de tidligere indlæg for en nærmere forklaring på koden.

Først ThisAddIn.vb:

Public Class ThisAddIn

  
Public WithEvents ctp As
Microsoft.Office.Tools.CustomTaskPane
  
Private cal As
MonthCalendar
  
Private WithEvents btn As
Button

  
Private Sub ThisAddIn_Startup(ByVal sender As Object,
 
ByVal e As System.EventArgs) Handles Me
.Startup

    cal =
New
MonthCalendar()
    cal.Left = 10
    cal.Top = 10

    btn =
New
Button()
    btn.Text =
"Klik på mig"
    btn.Left = 10
    btn.Top = cal.Height + 20

    
Dim ctrl As UserControl = New
UserControl
    ctrl.Controls.Add(cal)
    ctrl.Controls.Add(btn)
    ctp =
Me.CustomTaskPanes.Add(ctrl, "min test"
)
    ctp.Visible =
False

  End
Sub

  Private Sub ThisAddIn_Shutdown(ByVal sender As Object,
 
ByVal e As System.EventArgs) Handles Me
.Shutdown
    
Me
.CustomTaskPanes.Remove(ctp)
  
End
Sub

  Private Sub btn_Click(ByVal sender As Object,
 
ByVal e As System.EventArgs) Handles
btn.Click
    
Dim textbox As
Microsoft.Office.Interop.PowerPoint.Shape = _
    Globals.ThisAddIn.Application.ActiveWindow.Selection.ShapeRange(1)
    Globals.ThisAddIn.Application.ActiveWindow.Selection.TextRange.Text _
    = cal.SelectionStart.ToLongDateString
  
End
Sub

  Private Sub ctp_VisibleChanged(ByVal sender As Object,
 
ByVal e As System.EventArgs) Handles
ctp.VisibleChanged
    ribbon.IsVisible =
Not
ribbon.IsVisible
  
End
Sub

End
Class

Så Ribbon.xml

<customUI xmlns="http://schemas.microsoft.com/
office/2006/01/customui
" onLoad="OnLoad">
  <
ribbon>
    <
tabs>
      <
tab idMso="TabAddIns">
        <
group id="MyGroup"
               label="My Group">
          <
toggleButton id="toggleButton1"
                        
size="large"
                        label="My Button"
                        screentip="My Button Screentip"
                        onAction="OnToggleButton1"
                        
imageMso="HappyFace"
                        
getPressed="getpressed" />
        </
group>
      </
tab>
    </
tabs>
  </
ribbon>
</
customUI>

Slutteligt den del af ribbon1.vb som er tilføjet/rettet:


  
Private _isVisible As Boolean
  Public Property IsVisible() As Boolean
    Get
      Return _isVisible
    
End Get
    Set(ByVal value As Boolean)
      _isVisible = value
      ribbon.InvalidateControl(
"toggleButton1")
    
End Set
  End Property

  Public Function getpressed(ByVal control As
 
 Office.IRibbonControl) As Boolean
    Return IsVisible
  
End Function

  Public Sub OnToggleButton1(ByVal control As Office.IRibbonControl,
  
ByVal isPressed As Boolean)
    Globals.ThisAddIn.ctp.Visible = isPressed
  
End Sub

posted on Saturday, December 16, 2006 5:46:44 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]

I tidligere indlæg har vi set på brugen af custom task pane og ribbon, men mangler at sørge for automatisk synkronisering af den oprettede ribbon knap således, at når brugeren lukker custon task pane-vinduet ved at klikke på krydset så er dette afspejlet af knappen. Gør som følger:

  • Tilret ribbon1.xml således, at der oprettes en call back metode kaldet getpressed. Denne metode kaldes af Office enten når der er behov for det eller vi konkret beder om det (ved at bruge Invalidate jf. senere)

<customUI xmlns="http://schemas.microsoft.com/office/
2006/01/customui
" onLoad="OnLoad">
  <
ribbon>
    <
tabs>
      <
tab idMso="TabAddIns">
        <
group id="MyGroup"
               label="My Group">
          <
toggleButton id="toggleButton1"
                        
size="large"
                        label="My Button"
                        screentip="My Button Screentip"
                        onAction="OnToggleButton1"
                        
imageMso="HappyFace"
                        
getPressed="getpressed" />
        </
group>
      </
tab>
    </
tabs>
  </
ribbon>
</
customUI>

  • Opret nu et felt med tilhørende egenskab i Ribbon1-klassen. Når feltet tildeles en værdi kaldes samtidigt invalidate som vil gennemtvinge et kald til den føromtalte getpressed

    private bool isVisible;

    
public bool IsVisible
    {
      
get { return isVisible; }
      
set {
        ribbon.InvalidateControl(
"toggleButton1");
        isVisible =
value; }
    }

  • Opret getpressed-metoden i Ribbon1-klassen og returner IsVisible

public bool getpressed(Office.IRibbonControl control)
{
  
return IsVisible;
}

  • Nu mangler vi blot at fange den hændelse som custom task pane-vinduet smider når det bliver lukket. Tilføj en eventhandler til ThisAddIn_StartUp i ThisAddIn-klassen

ctp.VisibleChanged += new EventHandler(ctp_VisibleChanged);

  • Og tilføj følgende metode der ændre værdien af isVisible (som igen sørger for at kalde InvalidateControl)

void ctp_VisibleChanged(object sender, EventArgs e)
{
  ribbon.IsVisible = !ribbon.IsVisible;
}

Nu vil ToggleButton-kontrollen blive synkroniseret når custom task pane-vinduet lukker.

Du kan læse mere om ribbon callback metoder her:

 

posted on Saturday, December 16, 2006 5:13:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, December 12, 2006

Jeg lovede på Mød Microsoft at publisere noget af demokoden. Vi starter lidt blidt med at vise meget simpel brug af Custom Task Pane i en Excel add-in.

Gør som følger:

  • Sørg for at have Office 2007, VS (pro eller højere) og VSTO 2005 SE installeret
  • Lav et C# 2007 Excel Add-in Projekt (skal nok skifte lidt mellem sprogene - næste gang bliver det i VB)
  • Definer tre variabler private for ThisAddIn-klassen (eksempelvis lige over ThisAddIn_Startup-metoden)


Microsoft.Office.Tools.CustomTaskPane ctp;
MonthCalendar cal;
Button btn;

  • Tilføj følgende kode til ThisAddIn_Startup

// Kalender
cal = new MonthCalendar();
cal.Left = 10;
cal.Top = 10;
// Knap
btn = new Button();
btn.Text =
"Klik på mig";
btn.Left = 10;
btn.Top = cal.Height + 20;
btn.Click +=
new EventHandler(btn_Click);
// Brugerkontrol med kalender og knap
UserControl ctrl = new UserControl();
ctrl.Controls.Add(cal);
ctrl.Controls.Add(btn);
// Tilføj kontrol til Custom Task Pane og vis den
ctp = this.CustomTaskPanes.Add(ctrl, "min test");
ctp.Visible =
true;

  • Tilføj følgende eventhandler

void btn_Click(object sender, EventArgs e)
{
  
this.Application.ActiveCell.Value2 =
      cal.SelectionStart.ToShortDateString();
}

  • Tilføj følgende til ThisAddIn_ShutDown

this.CustomTaskPanes.Remove(ctp);

  • Klik på F5

Nu vil add-in'en blive installeret og en kalender og en knap vil være tilgængelig i en custom task pane. Når der klikkes på knappen indsættes den i kalenderen valgte dato.

exceladdin1.jpg

Add-in'en er ikke særlig praktisk fordi der blandt andet oprettes en custom task pane i Addin_Startup, og den eneste måde brugeren kan styre om vinduet skal være tilgængeligt eller ej er ved at starte og stoppe add-in'en og det er naturligvis ikke så godt. Bedre var det hvis vinduet kunne styres af brugeren gennem en knap på ribbon - og det handler næste indlæg om.

I øvrigt: Hvis du gerne vil slette en installeret add-in så klik på Office-knappen og vælg Excel options. Herefter klikker du på Add-ins-fanen og vælger COM add-ins i Manage-listen (nederst) og klikker på Go... Nu kan den ønskede add-in fjernes.

Ovennævnte kode er i øvrigt fra en artikel til det Alt om DATA som kommer primo januar.

 

posted on Tuesday, December 12, 2006 11:15:48 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, December 07, 2006

I dag blev Mød Microsoft afholdt i København, og jeg talte endnu engang på to sessioner om VSTO-udvikling (samt en del andet). Syntes igen det gik fint - mange mennesker, god stemning, alle demoer kørte, og jeg vrøvlede ikke for meget (syntes jeg da selv).

Jeg vil som aftalt over de næste dage uploade noget af demokoden.

Husk, at slide og links kan findes her, og slides fra de andre præsentationer kan findes gennem Dorthes blog.

posted on Thursday, December 07, 2006 8:53:17 PM (Romance Standard Time, UTC+01:00)  #    Comments [2]
 Tuesday, December 05, 2006

Jeg er retur i Odense fra den første Mød Microsoft om Office 2007-udvikling som blev afholdt i Århus i dag, og jeg syntes virkelig det har været en god dag. Der var både gode sessioner og mange mange mennesker.

Jeppe Rørbæk indledte og Pau Larsen lagde herefter ud med en introduktion til 2007 Microsoft Office System, og Rene Løhde fulgte efter med en kort session om Office Open XML. Herefter startede de to spor hvor Erik Westermann fra Teknologisk Institut og Henrik Sørensen fra Option delte server (WSS 3.0 og MOSS) og jeg tog mig af klientdelen. Der var nogenlunde lige mange personer på de to spor. Nikolaj Winnes lukkede og slukkede med en OBA-session (Office Business Application) for alle.

Hos mig på klient-sporet syntes jeg vi kom godt rundt om det hele – jeg kunne allerede efter første session dog se at jeg ville løbe ind i et problem med tiden – så jeg skar pause med 15 min. Men så passede det også fint. Alle demoerne kørte som forventet, og jeg tror at dispositionen var ok. Nu må vi se hvad evalueringerne siger (hvis du var med så husk endelig at lave en evaluering – det er den eneste måde vi bliver bedre på).

Jeg lovede at blogge et enkelt link – nemlig The Office 2007 UI Bible. Det er en god Ribbon-ressource som jeg havde glemt at tage med på mine slides (som du i øvrigt kan finde her).

Slutteligt lovede jeg at smide noget af demokoden op, og så snart vi har været i København (torsdag) "gør jeg noget".

Husk – hvis du endnu ikke er meldt til Mød Microsoft i København torsdag – så kan du nå det endnu.

posted on Tuesday, December 05, 2006 8:23:49 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Monday, December 04, 2006

I morgen går det løs med Mød Microsoft i Århus. Som før nævnt har jeg to sessioner omkring Office 2007 klient udvikling. Vi har denne gang valgt at samle links til slides med videre på Dorthes blog

http://blogs.msdn.com/msdneventsdk/default.aspx

Her burde dukke et indlæg op i løbet af kort tid med oplysninger om hvor på MSDN.dk slides kan findes. Indtil dette sker kan du finde slides i PDF her:

VSTO_moedms_dec2006_cronberg.pdf (2,37 MB)

Der findes en del links i mine slides, men jeg vil alligevel gentage dem i dette indlæg. Vender retur hvis der er spørgsmål eller kommentarer i Århus.

posted on Monday, December 04, 2006 3:48:44 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, November 30, 2006

Så er det i næste uge det går løs i både Århus (tirsdag) og København (torsdag). Der er allerede mange tilmeldte - men der er fortsat plads har jeg hørt. Hvis du ikke allerede er tilmeldt så kan du altså nå det endnu.

http://www.microsoft.com/danmark/msdn/events/moed_microsoft.mspx

Hele dagen kommer til at handle om udvikling til den nye Office 2007-platform - såvel klient som server - og hvis du ikke kender til Office som en udviklingsplatform så bør du sætte tiden af til at komme og høre hvad man kan med såvel Visual Studio Tools for Office (VSTO) som SharePoint.

Det er mig der står for klientsporet så kom endelig forbi og hils på når du dukker op.

posted on Thursday, November 30, 2006 2:30:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, November 17, 2006

Til orientering er der en "Mød Microsoft" konference i starten af december omkring Office 2007-udvikling - både klient og server. Klientdelen kommer især til at handle om VSTO men jeg (det er mig der taler på begge sessioner) har også lidt andre ting at vise - herunder content controls i Word og mon ikke vi kan snige lidt VBA ind også. Serverdelen handler om SharePoint og er du ASP.NET-udvikler må du ikke snyde dig selv for at se hvad man kan på WSS-platformen.

Læs mere og tilmeld dig her

http://www.microsoft.com/danmark/msdn/events/moed_microsoft.mspx

Håber vi ses!

posted on Friday, November 17, 2006 2:10:32 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, November 01, 2006

Jeg er igennem dennes uges foredrag efter en dag i Ballerup. Den startede noget træls med en lukket storebæltsbro og et efterfølgende meget forsinket IC3-tog - men det hele flaskede sig og alle (håber jeg) havde en god eftermiddag med O2007-udvikling.

word2007dok.jpg

Flere spurgte om koden bag applikationen som danner et Word-dokument fra bunden, og efterfølgende indsætter et billede i dokumentet. Den er her - men husk at den kræver på .NET 3 (sidste beta) for at spille (windowsbase.dll følger dog med i zip), og at nogen namespaces kan ændres i den endelige version. Projektet kan findes her

dokviakode.zip (384,03 KB)

posted on Wednesday, November 01, 2006 9:36:28 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, October 31, 2006

Under foredraget i Lyngby lovede jeg at give links til den flash app som gør det nemt at konvertere et menupunkt fra Office 2003 til en placering på det nye Ribbon.

Se her:

posted on Tuesday, October 31, 2006 3:25:32 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, October 27, 2006

Vi er kommet rigtig godt i gang med SAM-DATA foredraget om udvikling på Office 2007-platformen. I løbet af ugen har vi været i Aalborg, Århus og Esbjerg, og der har været en rigtig god stemning alle steder. Såvel demolaptop (det er lidt en udfordring at få en Windows 2003 op og stå med IIS, WSS/MOSS beta, VS, VSTO beta og Office 2007 beta) som alle demoerne har fungeret. Folk har også taget rigtig godt i mod materialet som består af slides med en hel del kommentarer og links til ressourcer på nettet. Du kan eventuelt hente materialet her.

Vi har tre timer (+ det løse) til at se på Office 2007 med udviklerbriller – både klient og server – og jeg har omkring 12 slides ialt. Det indikerer naturligvis at der er en del demoer istedet, og jeg har tænkt mig at lave de betydende demoer som screencast og lægge dem op her. Især demoer af avanceret brug af content controls i Word, dannelse af Office-dokumenter uden behov for Office, tilretning af Ribbon-brugerfladen samt udvikling af web parts til WSS/MOSS har været populære, så dem vil jeg se om jeg ikke kan få lavet.

Iøvrigt må jeg indrømme at jeg er en smule forbløffet over hvor få deltagere der reelt kender noget til SharePoint (både den eksisterende version og den kommende v3), og det er lidt synd. WSS (Windows SharePoint Server) er en GRATIS (med streg under) platform der kan bruges til at skabe såvel interne som eksterne sites med en hel masse funktioner relateret til samarbejde mellem få eller mange brugere. Som udgangspunkt kræves der ikke nogen form for udvikling for at få et site op og køre med meget avancerede funktioner som eksempelvis document management (god brugerflade, upload af dokumenter, versionering, nem håndtering af metadata, sikkerhed, automatisk arkivering med videre) – det er blot nogle klik med musen. Hvis man ønsker at udvide et SharePoint site kan dette nemt gøres med Visual Studio – eksempelvis med web parts eller kode der afvikles når en konkret hændelse indtræffer (eksempelvis at der uploades et dokument til en mappe).

WSS kan sammenlignes med ASP.NET på den måde at de begge er en platform for at skabe en applikation til afvikling på nettet. I ASP.NET starter man blot med et tomt site og en stor underlæggende platform som gør det nemt at fylde indhold på sitet. I WSS har man sitet oprettet med avancerede funktioner uden at skrive en linjes kode og kan arbejde videre derfra. Yderligere er der eksempler på løsninger som bruger begge platforme samtidigt – enten ved at et WSS site indeholder en eller flere ”rene” ASP.NET-sider eller en ASP.NET-applikation som benytter SharePoints API til eksempelvis document management men i øvrigt ”gemmer” SharePoints brugerflade.
Jeg tror jeg vil overveje om jeg ikke i et eller andet medie (eller måske her) skulle gå lidt i dybden med hvad man faktisk kan med WSS uden at det koster andet end en Windows 2003-licens og (afhængig af antal brugere) en SQL Server.

posted on Friday, October 27, 2006 12:07:44 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, October 22, 2006

I morgen starter jeg en ny foredragsturné for SAM-DATA omkring udvikling på den kommende Office 2007-platform. Under foredraget kommer vi ind på mange aspekter inden for Office 2007-løsninger – herunder

 

  • Det nye filformat som åbner en masse muligheder for udviklere
  • Mulighederne med Visual Studio Tools For Office
  • Hvordan man som udvikler kan tilrette den nye brugerflade (Ribbon) som er tilgængelig i flere af klientapplikationerne
  • Hvad er nyhederne i den nye WSS-platform (Windows SharePoint Services), og hvilke muligheder har vi som udviklere med WSS
  • Hvad er MOSS (Microsoft Office SharePoint Server) og hvilke muligheder åbner der sig for udviklere med denne serverapplikation

Jeg er sikker på at det bliver et interessant foredrag som vil være meget demobaseret, og jeg håber at der kommer mange mennesker. Indtil videre er der planlagt seks foredrag rundt i Danmark, og du kan fortsat nå at komme med. Se mere hos SAM-DATA, hvor du også kan finde et par små ”teaser” videoer. Hvis du gerne vil høre om mulighederne for at vi kommer forbi din by som send endelig en mail.

 

Som nævnt er foredraget meget demobaseret, og jeg har derfor ikke så mange slides med. Til gengæld har jeg gjort en del ud af at skrive notater til de slides som er der, og især brugt en del tid på at referere til eksisterende ressourcer på nettet. Derfor er materialet en vigtig bestanddel af foredraget. Du kan finde hele materialet her

 

samdata_materiale_office.pdf (1,72 MB)

 

Hvis du ikke kommer til foredraget vil du alligevel kunne få en del ud af materialet grundet de mange links.

 

Hvis du har nogen spørgsmål eller kommentarer er du velkommen til at sende en mail til mig.

posted on Sunday, October 22, 2006 10:06:11 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, October 05, 2006

Jeg er ved at forberede et foredrag om udvikling på Office 2007-platformen - denne gang er det SAM-DATA der står bag. Du kan læse mere om foredraget her og eventuelt melde dig til hvis vi kommer forbi din by (kommer endda forbi Rønne kan jeg se). Foredraget på ca 3 timer + det løse både dække klient- og serverdelen, og vi komme således til at snakke både filformat, VSTO, Ribbon og SharePoint (WSS og MOSS).

I forbindelse med planlægning af serverdelen indsamlede jeg lidt links som man har nemmere ved at komme videre, og var en smut forbi Mark Kruger. Jeg kendte ham i forvejen, og havde faktisk også set en linksamling omhandlende MOSS, men listen er godt nok vokset betragteligt. Prøv selv at se på

http://www.sharepointblogs.com/mkruger/archive/2006/05/25/7570.aspx

Hvis du nogensinde står og mangle ressourcer omkring MOSS så start der - den liste er guld værd. I dag har jeg faktisk haft brug for links til oplysninger omkring installation af MOSS Beta 2 TR (det er noget noget rod).

I øvrigt - når nu vi taler om MOSS - så har Martin Kearn lige skrevet et kort blogindlæg om BDC (Business Data Catalog) som er en af de features jeg syntes er rigtig genial. Han kommer godt rundt omkring BDC men glemmer at nævne at vi som udviklere har et API til BDC. Det giver blandt andet mulighed for at hente data gennem MOSS/BDC til interne applikationer (WinForm, Console, ASP.NET, Mobile ...) uden at skulle bøvle med connections til eksempelvis SAP, Seibel, Navision eller bare en "almindelig" database. Se eventuelt også her.

posted on Thursday, October 05, 2006 4:58:21 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, September 26, 2006

Talte i dag på Microsofts ISV Innovation Day i Århus (i morgen i København) om udvikling på den kommende Office 2007 (client og server). Her er et par links fra præsentationerne:

Det var vist det- men opdaterer listen hvis jeg kommer på flere ting jeg nævnte.

posted on Tuesday, September 26, 2006 9:39:27 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, May 30, 2006

Så kom vi igennem den sidste aften med ”Live” programmering (se evt her) og ligesom sidste gang syntes jeg det gik fint. Der var en del deltagere og der var mange gengangere fra sidste gang hvilket jeg tager som et godt tegn.

Vi kom faktisk de planlagte punkter igennem med 5 minutters margin og nåede derfor at tale om/se

  • Versionsstyring (fortsat fra sidste gang – SourceSafe)
  • Gennemgang af kernen (se også her)
  • Unit test (med NUnit og til en vis grad også VS)
  • Udvikling af en web brugerflade – herunder brug af ObjectDataSource
  • Udvikling af en web service grænseflade
  • Udvikling af en WinForm brugerflade (mod web service)
  • Udvikling af en Word (VSTO) brugerflade (mod web service)
  • Lidt info om mobile applikationer

I modsætning til sidste indlæg er der ikke noget kode til dette indlæg, idet der bortset fra UnitTest i realiteten ikke blev skrevet så meget kode (brugerfladeudvikling ovenpå en effektiv kerne er sjældent særlig kompliceret). Hvis du var med og gerne vil se noget konkret kode så giv mig endelig et prej – så lægger jeg det op.

Husk, at du kan finde links her - har opdateret med de ekstra links vi talte om igår (herunder XMethods).

Det var første gang jeg for alvor brugte denne form for foredrag (ingen slides - kun demo med tilhørende teori i 2 x 3 timer) og jeg kan egentlig meget godt lide den. Den er noget mere udfordrene end almindelig undervisning eller foredrag men også meget sjovere for mig. Samtidigt er det også en måde at forsøge at løse det klassiske problem som findes i alle foredrag (udover talerens evner ;-)) at folk næsten altid har meget forskelligt niveau – nogen kan eksempelvis rigtig meget .NET og nogen kender kun til JAVA og er derfor på bar bund få så vidt angår .NET. Man kommer dermed meget nemt til at kede nogen og tale hen over hovedet på andre. Med denne form for foredrag løser man lidt op for denne knude fordi vi kom rundt om rigtig mange emner på relativt kort tid så der burde være noget for alle. Til gengæld var teorien ikke så dybdegående i de konkrete emner.

Hvis du var i København her til aften må du meget gerne svare på den evalueringsmail som skulle blive sendt ud. Det giver mig en chance for at gøre lære lidt om hvad der var godt og skidt. Du er også velkommen til at smide en kommentar her eller sende mig en mail.

posted on Tuesday, May 30, 2006 7:44:12 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, May 22, 2006

Jeg er i Århus i morgen eftermiddag med en Microsoft TechTalk omkring Visual Studio Tools for Office (samt anden Office-udvikling - herunder COM addins).

Slides kan findes her og mon ikke flere af nedenstående links bliver omtalt. Håber vi ses i morgen til et par spændende timer - tilmeldning kan ske her.

OPDATERING: Følgende tre links er tilføjet efter foredraget i dag:

posted on Monday, May 22, 2006 9:21:27 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, May 18, 2006

I går afviklede vi første del af foredraget som er omtalt i forrige indlæg. I betraktning af at der både var demonstration i København samt CL fodbold var der en del fremmødte, og jeg syntes det gik fint (det viser evalueringerne heldigvis også).

I går nåede vi indlede med en overordnet intro til .NET og VS (der var en del Java-folk) og designe en database (SQL Server 2005 Express) til vores linksystem med et par tabeller med tilhørende stores procedues og views (find databasen sammen med projektet).

Ovenpå tabeller, views og stores procedures fik vi lagt en kerne til (gennem Enterprise Library for at have en providerbaseret datalag) at tale med databasen. Der var som nævnt en del med Java-erfaring så kernen blev kodet i C#:

Der var jo ikke ubegænset tid så der mangler en del vigtige elementer i kernen - så som fejlkontrol, log, caching, sikkerhed/brugerstyring med videre. Mange af disse ting kan i iøvrigt med fordel implementeres gennem Enterprise Library.

Vi nåede dog at omtale og se versionstyring gennem SourceSafe samt dokumentation gennem NDOC/GhostDoc, ligesom vi fik banket en consolapp sammen til at teste kernen (den endte i vb). Du kan hente hele projektet nedenfor - men her er den vigtige del:

' Hent en enkelt kategori
Dim kat As Kategori = KategoriDataProvider.HentEfterId(1)
System.Console.WriteLine(kat.ToString)
System.Console.WriteLine()

' Løb alle kategorier igennem
For Each kat In KategoriDataProvider.HentAlle()
  System.Console.WriteLine(kat.ToString)
Next

' Ret en kategori
kat = KategoriDataProvider.HentEfterId(2)
kat.Navn = "Sport"
kat.Opdater()
'(eller)
KategoriDataProvider.Opdater(2, "Sport")

' Vis alle links i kategorier
For Each kat In KategoriDataProvider.HentAlle()
  System.Console.WriteLine(kat.ToString)
  For Each lnk As Link In kat.Links
    System.Console.WriteLine(vbTab & lnk.ToString)
  Next
Next

Console.ReadLine()

Du kan selv lege videre med kernen som du kan finde her

Firma.LinkSystem.zip (1,09 MB)

Den er pillet ud af source control og burde være klar til brug (inkl. database). Du skal dog muligvis tilrette referencer til Enterprise Library (filerne er med - ligger i /bin) og huske at tilrette referencen til databasen i app.config-filen i consol-applikationen.

Næste gang vil vi arbejde videre på systemet og se og implementere 

  • Unit test
  • En Web-brugerflade
  • En Web Service grænseflade
  • En WinForm-brugerflade

Afhængig af tiden kan vi muligvis forbedre kernen lidt med nogle af de overfor nævnte punkter.

Jeg har opdateret listen med links med noget af det vi snakkede om i går (fandt blandt ud af hvordan man omdøber en tabel i VS - længe leve Google. Se link). Vi ses i slutningen måneden til del 2.

LINKS

posted on Thursday, May 18, 2006 9:03:52 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, May 16, 2006

Sidder og forbereder mig lidt til i morgen hvor jeg skal tale for medlemmer af SAM-DATA og HK i København. Det er et lidt specielt arrangement fordi der i realiteten ikke er noget emne bortset fra .NET-udvikling hvilket jo må siges at være et stort emne, og der er heller ikke nogen slides - kun snak og kode. Der skal tales over to aftener af hver tre timer - den første i morgen og den anden d. 29.

Du kan læse om arrangementet her, men for fremtidig reference er den officielle beskrivelse som følger:

Live programmering i .NET med Michell Cronberg
Kun i København

Programmeringsteori på en sjov måde.

Kunne du tænke dig at se hvordan en professionel .NET applikation designes, kodes og testes - fra bunden? Så er dette arrangement lige noget for dig. Over to aftener er du i selskab med Michell Cronberg som udvikler en .NET applikation. Det eneste som ligger fast er en idé samt testdata - resten laves på stedet. Der vil blive benyttet forskellige .NET sprog og udviklet forskellige brugerflader.

På de to aftener vil du se en masse eksempler på forskellige aspekter af .NET-udvikling, og du vil blive præsenteret for en masse programmeringsteori på en sjov måde.

Der er ingen forudsætninger for deltagelse andet end en interesse i moderne applikationsudvikling. Hvad enten du er ny inden for programmering eller en erfaren programmør vil du få udbytte af arrangementet og samtidigt have et par sjove og interessante aftener.

Michell Cronberg er kendt for mange interessante og højt ratede foredrag gennem flere år for eksempelvis SAM-DATA og Microsoft, Han er Microsoft MVP og MCAD og har udgivet mange bøger og hæfter omkring programmering ligesom han er fagredaktør på månedsbladet Alt om DATA hvor han blandt andet styrer Kodekassen (www.kodekassen.dk). Du kan læse mere på www.cronberg.dk.

Kom og vær med til et par inspirerende timer med Michell Cronberg, men skynd dig at melde dig til - der bliver rift om "billetterne".

17/5 – kl. 18.00 – 21.00
29/5 – kl. 18.00 – 21.00

Beskrivelsen siger jo ikke meget, men ideen er at udvikle en applikation fra bunden i flere sprog (C# og VB) og med flere grænseflader (assembly, web services) og flere afsluttende brugerflader (console, WinForm, Web og måske Mobile). Jeg vil forsøge at udvikle applikationen så ”professionelt” som muligt ved at fortælle og vise mere end bare koden. Her er lidt om hvad jeg forestiller mig vi skal tale om og se demo af i de i alt seks timer (+/-):

posted on Tuesday, May 16, 2006 8:32:48 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, May 08, 2006

Holder en TechTalk i morgen hos Microsoft i Hellerup omkring VSTO.

Slides kan findes her

slidestechtalkvsto.zip (209,07 KB)

OPDATERET (jeg lovede at opdatere indlæg med disse):

Følgende links bliver sikkert nævnt:

posted on Monday, May 08, 2006 10:22:53 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Tuesday, April 25, 2006

Er i Århus til migreringsdag hvor jeg skal tale om ASP3 til ASP.NET2-migrering. Slides kan findes gennem et tidligere indlæg.

Opdateret: Her er lidt links der blev omtalt i går samt et par andre interessante:

Jeg omtalte en god jeg mener er rigtig god til .NET-udvikling som hedder "Practical Guidelines and Best Practices for Microsoft Visual Basic and Visual C# Developers". Du kan findes mere info her og her.. Jeg ved ikke om den er kommet i en 2.0-udgave.

posted on Tuesday, April 25, 2006 7:16:49 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, April 19, 2006

Jeg er så heldig at holde to x tre timers præsentation i morgen om ASP.NET2 i Vejle (formiddag) og Odense (aften). Slides, links med videre kan findes gennem et tidligere indlæg, og eventuelle spørgsmål som ikke kan besvares "live" vil blive besvaret her.

Providere kan findes her og Northwind Starterkit kan findes her og DasBlog her.

Mysql provider kan findes her.

posted on Wednesday, April 19, 2006 9:51:32 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, April 10, 2006

Jeg holder en del MS-præsentationer omkring VSTO, og der er en stigende interesse for at lave add-ins til Outlook. Jeg så lige at der er frigivet en del snippets til Outlook/VSTO (Create Mail Item, Create Contact Item, Create Contact Item og så videre). Det gør det i den grad nemmere at arbejde med Outlooks COM-model.

posted on Monday, April 10, 2006 8:59:38 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, April 06, 2006

Jeg er i Århus til et SAM-DATA foredrag om ASP.NET2. Slides og links med videre til ASP.NET2-præsentationen kan findes gennem et tidligere indlæg.

Dette indlæg opdateres muligvis.

posted on Thursday, April 06, 2006 12:16:38 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, April 05, 2006

Jeg er i Esbjerg i morgen tidlig med en workshop omkring undervisning med .NET2 for lærere og en ASP.NET2-præsentation for elever/SAM-DATA-medlemmer om eftermiddagen.

Slides og links med videre til ASP.NET2-præsentationen kan findes gennem et tidligere indlæg.

Link til workshop er indtil videre følgende (opdateres):

posted on Tuesday, April 04, 2006 11:31:14 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Saturday, April 01, 2006

Så lige hos Scott Haselmann en reference til et nyt (for mig) zoom tool - Zoomit. Det er nemmere for dig at prøve det end det er for mig at forklare om det - men det er ret fikst. Hent programmet, kør det, tryk Alt+1, brug musens scrollhjul til at zoome og musen til at navigere.

Jeg vil ihvertfald have det installeret til næste præsentation.

posted on Saturday, April 01, 2006 2:48:27 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, March 30, 2006

Så lige at ScottGu har lavet en 18 minutters video der viser hvordan man fra et tomt projekt bygger et ASP.NET2-site der benytter den seneste version af ATLAS. Kender du ikke til ATLAS/AJAX - lav en kop kaffe, benene op på bordet og klik her.

posted on Thursday, March 30, 2006 9:36:30 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, March 28, 2006

I morgen kl. 13:30 er jeg på IT Universitetet (Rued Langgaards Vej 7) i København med en 3 timers ASP.NET2-præsentation for SAM-DATA. Jeg har ikke fået oplysninger om hvor mange tilmeldte der er - men jeg håber på mange mennesker.

Slides, links med videre kan findes på et tidligere indlæg:

22. marts 2006 SAM-DATA foredrag i Aalborg om ASP.NET 2

Jeg tror jeg i morgen vil bruge et Northwind-framework (DAL/BLL) som jeg ikke brugte i Aalborg. Det er et SourceForge-projekt som jeg har omtalt tidligere

8. marts 2006 Northwind - lagopdelt applikation

Hvis der dukker spørgsmål op som kræver en uddybning eller jeg kommer på andre links eller lignende så opdaterer jeg dette indlæg.

OPDATERING:

Følgende links lovede jeg at smide op:

posted on Tuesday, March 28, 2006 10:10:31 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, March 24, 2006

Et af de spørgsmål som altid dukker op når jeg er ude og tale om VSTO er "Hvordan kan jeg lave mine egne funktioner i .NET som kan tilgås i Excel på samme måde som almindelige Excel-funktioner".

Der er flere måder at løse problemet på i VSTO, men der er faktisk en anden og meget simpel måde - nemlig udvikling af en Automation Add-In. Det er så simpelt at man næste får tårer i øjnene. Se blogindlæg fra Eric Carter på

http://blogs.msdn.com/eric_carter/archive/2004/12/01/273127.aspx

Det er lige ud af landevejen.

Hans indlæg bruger C# - hvis du er VB.NET-udvikler har jeg oversat koden:

Imports System
Imports System.Runtime.InteropServices
Imports Microsoft.Win32

<ClassInterface(ClassInterfaceType.AutoDual), ComVisible(True)> Public Class MyFunctions

Public Sub New()
End Sub

Public Function Mintest1(ByVal x As Object, ByVal y As Object) As Double
Return CDbl(x) + CDbl(y)
End Function

<ComRegisterFunctionAttribute()> Public Shared Sub RegisterFunction(ByVal type As System.Type)
Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type))
End Sub

<ComUnregisterFunctionAttribute()> Public Shared Sub UnregisterFunction(ByVal type As System.Type)
Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type), False)
End Sub

Private Shared Function GetSubKeyName(ByVal type As System.Type) As String
Return "CLSID\{" & type.GUID.ToString().ToUpper() & "}\Programmable"
End Function

End Class

posted on Friday, March 24, 2006 3:07:25 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Wednesday, March 22, 2006

I morgen er jeg i Aalborg med SAM-DATA for at holde en længere (3 timers) ASP.NET2-præsentation. Du kan læse mere om præsentationen hos SAM-DATA.

Der bliver en masse mere eller mindre improviserede demoer i morgen, men de slides der er (13) kan findes her

samdataasp.net2mar2006.zip (169,14 KB)

Mere vigtigt er nogle af de ressource vi kommer ind på i morgen. Her er en liste over "must see" links:

Hvis der dukker noget op i morgen jeg ikke har nævnt på listen så opdaterer jeg dette indlæg.

Nu er der jo ikke første gang jeg holder en ASP.NET2-præsentation, så der findes en del indlæg her som også kan indeholde interessant information. Her er link til nogle af dem:

posted on Wednesday, March 22, 2006 11:29:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, March 20, 2006

Jeg kører en TechTalk i morgen hos Microsoft / Hellerup omkring VSTO. Jeg har lavet slides en smule om så de kan findes her. Yderligere henvises til tidligere indlæg hvor links til ressourcer på nettet er nævnt:

Især den sidste består af en del interessante links.

Yderligere kan jeg tilføje et par ekstra links:

 

posted on Monday, March 20, 2006 9:52:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, March 15, 2006

Når jeg holder foredrag eller underviser på skoler og universiteter bliver jeg næsten altid spurgt hvad MSDN Academic Alliance Program (MSDN AA) er og hvem der har adgang og glæde af programmet. Jeg har derfor en gang for alle bedt Henrik Westergaard Hansen fra Microsoft om at besvare et par få spørgsmål:

Hvad er MSDN AA kort fortalt?

MSDN AA er en aftale som de enkelte uddannelsesinstitutioner indgår med Microsoft. Når aftalen er indgået, kan de studerende der, af institutionen, er blevet tildelt adgang downloade softwaren. MSDN AA koster 800$. Softwaren må installeres på private PC’er og skal ikke afinstalleres efter endt uddannelse.

Hvem har glæde af MSDN AA?

Studerende og undervisere kan downloade softwaren fra MSDN AA. Softwaren må ikke bruges kommercielt og må ikke indgå i den daglige drift.

Hvilken glæde har man af MSDN AA

Følgende produkter er meget populære på MSDN AA: Windows XP, Windows Server 2003, SQL Server 2005, Visual Studio 2005 Professionel, OneNote 2003, MS Project 2003, Project Server, Infopath, Visual Studio Tools for Office og MapPoint 2003. Applikationer som Office, Media Center og MBS produkterne ikke tilgængelige på MSDN AA.

Hvad skal man gøre for at få MSDN AA?

Det gøres online på

https://registermsdn.one.microsoft.com/msdnaa/aa/newstep1.aspx 

eller ved at kontakte Henrik Westergaard Hansen på henrikwh@microsoft.com eller 44 89 07 73.

Hvor kan jeg finde yderligere informationer om MSDN AA?

Se eksempelvis

 

 

posted on Wednesday, March 15, 2006 10:40:04 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, March 14, 2006

I morgen holder jeg et par TechTalks i Odense.

Jeg har min "sædvanlige" præsentation om Visual Studio Tools For Office (VSTO). Du kan finde links og andre ressourcer her og her.

Yderligere har jeg (kun i morgen) overtaget ASP.NET2-præsentationen som Niels ellers plejer at holde idet han er blevet forhindret. Slides og demo er vedhæftet. Der er nogle links som er "must see":

Opdaterer dette indlæg med svar på spørgsmål eller hvis jeg kommer på flere væsentlige links.

Demo skal blot pakkes ud og åbnes i VS gennem "Open Web Site..." på File-menuen. Højreklik på filen Forside.aspx i Solution Explorer-vinduet og angiv at filen skal være "Start up", og klik herefter F5. Demo forudsætter at SQL Express er installeret.

posted on Tuesday, March 14, 2006 12:00:42 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, March 01, 2006

På vores "Fra ASP3 til ASP.NET2-migreringsdage" taler jeg en smule om Atlas/AJAX. Har lige fundet en god video hvor en af de tunge drenge giver en del infomationer og demo. 

Se Nikhil Kothari give 25 minutters intro til Atlas på MSDN TV.

posted on Wednesday, March 01, 2006 12:21:38 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, February 21, 2006

Jeg har i dag holdt en VSTO TechTalk hos Microsoft i Hellerup. De omtalte links, slides med videre kan findes i et tidligere indlæg her, ligesom denne screencast kan være interessant.

Yderligere kan jeg nævne, at man som vi kort snakkede om ikke (hvad enten man bruge VSTO eller ren COM) skal arbejde med Office-applikationer på en web server. Der findes flere eksterne komponenter som kan hjælpe - eksempelvis er Aspose er en mulighed.

Den omtalte video om Excel 2007 kan findes hos Channel 9 hvor der er rigtig mange guldkorn at finde.

Slutteligt er her eksempelkoden til at udvikle smarttags (husk at der kræves en reference til Microsoft Smarttag library - findes på COM fanebladet):

Imports System.Text.RegularExpressions
Imports Microsoft.Office.Tools.Word
Imports Microsoft.Office.Interop.SmartTag

Public Class MySmartTag
   Inherits SmartTag

WithEvents OpenMessageBox As Action

Sub New()
   MyBase.New("www.microsoft.com/VSTO#SmartTag", "SmartTag demo")

   OpenMessageBox = New Action("Vis meddelelsesboks")
   Actions = New Action() {OpenMessageBox}

   ' Led efter ID xxx (xxx=tal)
   Expressions.Add(New Regex("ID\s\d{3}"))

   ' Led efter fast udtryk
   ' Terms.Add(udtryk der skal ledes efter)

End Sub

Private Sub OpenMessageBox_Click(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) Handles OpenMessageBox.Click
   MessageBox.Show("Kunde " & FindID(e.Text))
End Sub

Private Function FindID(ByVal tekst As String) As Integer
   Return CInt(tekst.Substring(3, 3))
End Function

End Class

' Placeres i StartUp-hændelse:

Me.VstoSmartTags.Add(New MySmartTag())

posted on Tuesday, February 21, 2006 6:55:29 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, February 19, 2006

Når jeg underviser eller holder foredrag for "gamle" ASP3-udviklere som gerne vil høre om ASP.NET2 bruger jeg tit et eksempel som viser overgangen fra ASP3 til ASP.NET2 set over fem sider med hver sin måde at hente og vise data på. Til "Fra ASP3 til ASP.NET2"-foredraget i både Århus og Vedbæk var der flere der gerne ville se eksemplet igen, og foreslog at jeg lavede en screencast ud af det. Det gjorde jeg så her til aften og det blev en WMV-fil på godt 14 mb som på omkring 15 minutter viser eksemplet. Det er udvidet en smule med tre yderligere sider som viser hvordan man kan benytte data fra egne objekter.

Selve videoen kan findes her:

Screencast: Fra ASP3 til ASP.NET2 - Data fra databaser 

og som det gælder for de andre videoer: "Du er velkommen til at se og eventuelt downloade videoen til privat brug, men hvis den skal bruges i forbindelse med undervisning så send lige en mail først."

Du kan også downloade eksemplet der vises i videoen:

DataMigreringWebSite.zip (1,15 MB)

Det forudsættes at du (mindst) har Visual Web Developer Express samt SQL Server 2005 Express installeret. Databasen der benyttes (Northwind) følger med eksemplet. Se i øvrigt starten af videoen for yderligere oplysninger.

For god ordens skyld bør jeg nævne, at eksemplerne kunne være lavet mere "fikst" ved brug af eksempelvis master pages eller brugerkontroller, men af pædagogiske grunde har jeg valgt at gentage kode/opmærkninger på hver side (hvilket ellers normalt er fyringsgrund :) ). Yderligere er de sidste tre sider omhandlende data fra egne objekter et sørgeligt eksempel på et kernelag - men det er ikke koden i "kernen" det drejer sig om men om hvordan et ekstra lag kan binde brugerfladen og databasen sammen. De store fordele ved denne form for arkitektur kan vi eventuelt kigge på i en senere screencast eller blogindlæg (hvis du er medlem af SAMDATA kunnne dette foredrag måske være interessant - der vil jeg vise eksempler på udvikling af en lagopdelt applikation).

posted on Sunday, February 19, 2006 9:17:04 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Friday, February 17, 2006

Til ASP.NET2-foredrag er der næsten altid nogen som har PHP-erfaring, og jeg er faldet over et link til en større artikelserie på MSDN om PHP til ASP.NET2-migrering. Se her.

posted on Friday, February 17, 2006 12:49:11 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, February 16, 2006

Lige kommet hjem fra ASP3->ASP.NET2-præsentation i Vedbæk. Det var en blandet fornøjelse - var godt snottet og kørte på Otrivin og hovedpinepiller - men jeg tror det overordnet gik ok. I morgen vil jeg sørge for at opdatere indlægget fra samme præsentation i Århus (tirsdag - hvor jeg var lige så syg) med nye links, svar på ekstra spørgsmål mv. Se derfor

http://blog.cronberg.dk/PermaLink,guid,0390d805-ed12-450a-972f-fd7b918ea242.aspx

posted on Thursday, February 16, 2006 9:29:28 PM (Romance Standard Time, UTC+01:00)  #    Comments [1]

Hvis du ikke allerede har modtaget en indbydelse så er der "Mød Microsoft" i hhv Århus og København d. 7 og 9 marts. Der er to spor - udviklerspor (om WinFX) og arkitektspor (Anvendt arkitektur med Enterprise Library). Se mere på

http://www.microsoft.com/danmark/msdn/events/moedms_marts_2006.asp

hvor du også kan tilmelde dig.

Jeg syntes begge spor ser rigtig spændende ud, så det er jo godt man kan tilmelde sig både Århus og København ;) Jeg har selv "fået fri" som taler denne gang (har en del andre præsentationer pt, en del udviklingsprojekter, og en ny lille søn) men hvis jeg kan finde tiden dukker jeg op i Århus.

 

posted on Thursday, February 16, 2006 9:08:12 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, February 13, 2006
posted on Monday, February 13, 2006 9:43:22 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Saturday, February 11, 2006

Så går det løs igen med "Fra ASP3 til ASP.NET2"-dage. På tirsdag er jeg i Århus og torsdag i København. Jeg er lidt usikker på om der fortsat er plads - men se på

http://www.microsoft.com/danmark/msdn/events/migreringsdage.asp

for yderligere information. Hvis der er plads skal du være velkommen.

 

posted on Saturday, February 11, 2006 1:54:09 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, February 08, 2006

Jeg har som aftalt på VSTO-foredraget hos Microsoft i Hellerup lavet en lille (ca 10 min) screencast som viser hvordan man kan benytte brugerkontroller i VSTO-applikationer. Der er et par småfejl i den som måske burde redigeres (den er taget i et hug uden manus eller lign) - men jeg syntes det var vigtigere at få den ud. Den fylder omkring 9 mb.

Du er velkommen til at downloade den til eget brug, men hvis den skal bruges i undervisningssammenhæng eller lignende så giv mig lige et prej.

Hvis du har problemer med at se den, kommentarer til indholdet, ris/ros eller lignende smider du blot en kommentar.

Find den her: Screencast: Brugerkontroller i VSTO

 

posted on Wednesday, February 08, 2006 12:44:54 AM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Tuesday, February 07, 2006

Lidt opfølgning på foredraget i dag i Hellerup.

Der var en der spurgte om informationer om hvordan man via VSTO kunne oprette menupunkter/commandbars, og det skal jeg nok finde info om og opdatere dette indlæg.

Opdateret: Denne blogpost viser hvordan man kan oprette en command bar, og fra denne burde man kunne tilknytte en genvejstast. En Google søgning efter "VSTO Command Bar" giver også et par eksempler.

Yderligere gik den allersidste demo galt af en eller anden grund som jeg ikke lige kan overskue - så den har jeg valgt at lave som screen cast lige så snart jeg har et ledigt øjeblik. Hold øje med denne blog. Opdateret: Se her.

posted on Tuesday, February 07, 2006 3:39:05 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, February 06, 2006

I morgen hos Microsoft i Hellerup holder jeg første af flere foredrag omkring Visual Studio Tools for Office (VSTO). Foredraget er en del af Microsofts TechTalks som du kan læse mere om her. Samme sted kan du tilmelde dig et af de resterende foredrag rundt i landet.

Foredraget er på 75 minutter og de slides som benyttes kan findes her

techtalk vsto feb 06.zip (201,89 KB)

Der er ikke så mange slides idet foredraget i høj grad er baseret på "live" demoer af de forskellige muligheder, men det giver et billede af indhold og disposition.

Under foredraget bliver der henvist til en ressourcer på nettet, og for at gøre det hele lidt nemmere nævner jeg dem her. Den første gruppe af links er "must read" artikler og sites for den nye VSTO programmør:

Disse links er interessante når man er kommet igang med VSTO:

Med hensyn til at downloade eksempler er det lidt teknisk fordi demoer er forskellige fra gang til gang afhængig af stemning, spørgsmål og tid (sagt på en anden måde - det er meget "live"). Jeg har dog overvejet at lave et par af dem som en screencast (video af skærmen), men nu vil jeg lige i gang først - så må vi se.

 

posted on Monday, February 06, 2006 8:29:51 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Saturday, January 28, 2006

Jeg har en rimelig booket kalender de kommende tre måneder. Jeg holder lige lidt barsel og starter herefter 7. februar med TechTalks hos Microsoft omkring VSTO. Hvis du ikke kender VSTO eller gerne vil igang med at lave spændende .NET applikationer i Office så mød endelig op (København, Odense og Aalborg). Læs mere her hvor du også kan læse lidt mere om foredraget. Deltagelse er gratis.

Ligeledes for Microsoft har jeg et par migreringsdage hvor jeg en dag fra 9 til 16 taler om hvordan man bedst flytter fra ASP3 til ASP.NET2. Næste gang er 14. februar (Århus) og 16. februar (København), og igen 25. april (Århus) og 27. april (København). Læs meget mere her. Deltagelse er gratis.

For SAM-DATA har jeg en del ASP.NET2-foredrag rundt omkring i landet med start 22. marts i Aalborg og sidste foredrag 20. april i Odense. Læs mere her hvor tilmeldning også kan ske. Deltagelse kræver medlemsskab af SAM-DATA eller en mindre betaling.

Jeg håber du finder nogle af foredragene interessante og møder op.

posted on Saturday, January 28, 2006 2:27:38 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]

Efter foredrag er der næsten altid spørgsmål omkring C# Code Snippets og hvorfor de snippets der er tilgængelige i VB ikke kan findes i C#. Kort svar: det kan de også - se her.

posted on Saturday, January 28, 2006 2:12:51 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, January 06, 2006

PracticalGuidelines_Cover.gifPå diverse foredrag nævner jeg næsten altid en bog jeg syntes alle .NET-udviklere burde kende til kaldet "Practical Guidelines and Best Practices for Microsoft Visual Basic and Visual C# Developers". Jeg plejer at give et link til bogen på det afsluttende slide eller under spørgsmål - men jeg bliver tit spurgt om "hvad det lige var den hed den der bog du nævnte".

Bogen er skrevet af Francesco Balena og Giuseppe Dimauro for Microsoft Press (ISBN 0-7359-2172-1) og indeholder en masse forslag til hvordan man bør skrive sin kode. Du kan læse om bogen her hvor der også kan hentes eksempelkapitler med videre. Den er skrevet mod 1.1 og jeg har ikke hørt om der er en 2.0 udgave på vej, men den kan sagtens bruges til 2.0-udvikling.

 

 

posted on Friday, January 06, 2006 11:23:30 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, December 16, 2005

Opdateret 20.12 (sorry - weekend blev til tirsdag)

Diverse eksempler fra migreringsdage (se evt readme i zip) 

Bemærk: Nogle eksempler kræver en Northwind installeret på en lokal SQL Server Express. Se eventuelt her.

 

posted on Friday, December 16, 2005 8:53:57 AM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Wednesday, December 14, 2005
  • Som lovet er her materiale og andre oplysninger fra vores "Migreringsdag" i hhv. Århus (i går) og København (i morgen).

Slides kan findes i denne zip

MS - fra asp3 til aspnet2.zip (406,02 KB)

Yderligere kan følgende links nævnes:

Opdateret 18.12

Opdateret 20.12

Hvis jeg falder over flere relateret til foredraget opdaterer jeg dette indlæg.

posted on Wednesday, December 14, 2005 8:49:31 PM (Romance Standard Time, UTC+01:00)  #    Comments [6]
 Monday, December 12, 2005

I både undervisning og præsentationer plejer jeg at bruge enten Microsofts demodatabase Northwind eller Pubs.

Jeg er blevet spurgt en del gange om jeg ikke kan forklare hvordan man installerer disse databaser på en SQL Server 2005 Express, men hvorfor gøre hvad før er gjort :) Dette blog-indlæg fra Steve Stain forklarer alt.

Han har dog vendt en skråstreg forkert i sit osql-kald. Det skal være

osql -E -S computerName\SqlExpress -i instnwnd.sql

 

posted on Monday, December 12, 2005 3:39:06 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, December 07, 2005

I næste uge bliver der afholdt "Migreringsdage hos Microsoft" i hhv. Århus og København, og jeg er på begge steder hele dagen. I skrivende stund er der fortsat ledige pladser så hvis du har ASP3-erfaring og gerne vil igang med ASP.NET2 var det måske en mulighed? Det koster en dag ud af kalenderen fra kl. 9 til kl. 16, men så er resten til gengæld også gratis.

Her er nogle af de emner vi kommer til at kigge på:

Intro til .NET
Intro til VS 2005
Konvertering fra ASP3
Applikation og tilstand
Kontrolbaseret udvikling, webform, server kontroller og user kontroller
Master Pages
Themes og skins
Data i ASP.NET 2 (databindning, data tilgang mv)
Sikkerhed (membership, provider)
Web Parts
Diverse overblik,  herunder konfiguration, installation, sprogstyring
Komponent baseret udvikling

For yderligere oplysninger og tilmeldning - se :

http://www.microsoft.com/danmark/msdn/events/migreringsdage.asp

 

posted on Wednesday, December 07, 2005 11:09:24 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, November 17, 2005

Lovede at uploade de få slides jeg benytter til .NET2-foredrag. De kan findes i vedlagte zip.

samdatadotnet2.zip (164,61 KB)
posted on Thursday, November 17, 2005 2:15:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, November 14, 2005

S blev der frigivet en ny CTP af Microsoft SQL Server Management Studio Express til adminstration af SQL Server 2005 Express. Det gr nu tingene noget nemmere ;)

http://www.microsoft.com/downloads/details.aspx?familyid=82afbd59-57a4-455e-a2d6-1d4c98d40f6e&displaylang=en

 

posted on Monday, November 14, 2005 9:34:48 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, November 09, 2005

Scott Mitchell har banket en udemærket artikel sammen kaldet "Working with Databases in ASP.NET 2.0 and Visual Studio 2005". Den er rigtig god til at komme i gang med de mange database muligheder i VS/ASP.NET. Find artiklen her

http://aspnet.4guysfromrolla.com/articles/110905-1.aspx

posted on Wednesday, November 09, 2005 9:52:04 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, October 03, 2005

Slides, kode med videre er klar til i morgen (Århus) og torsdag (København), og jeg er ved at pakke tasken ;)

Slides kan i løbet af et par dage findes hos Microsoft på

http://www.microsoft.com/danmark/msdn/events/archive/

Den i foredraget viste demo er baseret på en custom control (server kontrol) og en user control (bruger kontrol). De kan begge findes i vedhæftede zip sammen med diverse skabeloner.

Kode_mødms_okt05.zip (61,15 KB)

Bemærk venligst readme-filen i C# 2.0 projektet (server kontrollen). For god ordens skyld (og til fremtidig reference) skal det nævnes, at projektet er udviklet med Visual C# Express 2005 beta 2.

Til sidst i foredraget henvises til tre gode ressourcer - her er de direkte link:

ASP.NET 2.0 Quick Start
http://beta.asp.net/QuickStartv20/aspnet/

Personalize Your Portal with User Controls and Custom Web Parts
http://msdn.microsoft.com/msdnmag/issues/05/09/WebParts/default.aspx

Introducing the ASP.NET 2.0 Web Parts Framework:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/webparts.asp

posted on Monday, October 03, 2005 9:54:03 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, September 07, 2005

Efter anmodning vedlægges kernen bag "Palle Plader". Det er et VB-projekt til Visual Studio 2003, men klasserne kan også ses med Notesblok eller lignende.

Yderligere skal følgende links nævnes:

Hvis du ønsker yderligere information om MSDNAA eller .NET i undervisningen kan du kontakte Henrik Westergaard Hansen på henrikwh@microsoft.com.

pallepladerkerne.zip (5,58 KB)
posted on Wednesday, September 07, 2005 9:18:48 AM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Monday, September 05, 2005

I dag starter jeg på første del af en foredragsturné om .NET rundt omkring på landets uddannelsesinstitutioner. I eftermiddag er jeg i Århus, i morgen i Aalborg, onsdag i Vejle og Odense og så videre.

Første del handler om grundlæggende .NET (1.x) og anden del som starter november handler om .NET 2.0.

Slides til del 1 kan findes vedhæftet dette indlæg, og jeg vil bruge denne blog hvis der er spørgsmål der kræver opfølgning, yderligere eksempler, links og så videre.

Har du spørgsmål omkring foredragene er du velkommen til at kontakte mig på michell@cronberg.dk.

 

ppintrodotnet.pdf (65,42 KB)
posted on Monday, September 05, 2005 8:37:51 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, April 10, 2005

Et andet spørgmål gik på hvor mange (og hvilke) sprog der efterhånden kan bruges under .NET. Svar: se her.

posted on Sunday, April 10, 2005 8:45:48 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]

Et af de spørgsmål fra Mød Microsoft jeg lovede at vende tilbage til var hvordan man bedst håndterer mail i .NET.

I stedet for at komme med en lang forklaring vil jeg blot henvise til dette site som gør det ganske godt (tak til Dennis).

posted on Sunday, April 10, 2005 8:34:28 PM (Romance Standard Time, UTC+01:00)  #    Comments [14]
 Friday, April 08, 2005

Så kom vi godt igennem en Mød Microsoft igen.

Generelt syntes at mine to lange sessioner om ASP3 til ASP.NET i både Århus og København gik godt, og jeg syntes at kunne fornemme at folk var meget positive. Nu må vi se hvad evalueringerne siger (de burde komme som en mail i løbet af kort tid).

Der var lidt forskel på de to sessioner. Jeg syntes jeg nåede at skrive/vise mere kode i Århus end i København, men det hænger nok sammen med antallet af spørgsmål i København. Der var nogle få spørgsmål som jeg ikke på stående fod kunne besvare, men dem skal jeg nok få kigget på og give et svar her.

Jeg har zippet eksemplerne fra København og de kan findes her. Deltagere i København kunne måske have glæde af eksempler fra Århus (eller omvendt). Århus-eksemplerne kan findes her.

De benyttede slides (samme i både Århus og København) kan findes her.

Som nævnt under sessionerne kan man også finde det clip library fra TextPad som jeg benyttede. Det kan findes her. Efter installation af Textpad kan tcl-filen placering i /samples-mappen under Textpad (hos mig C:\Programmer\TextPad 4\Samples). Så vil koden være tilgængelig ved at trykke ctrl+F3 og vælge "Mød Microsoft" på menuen.

Der var overraskende mange som under og efter sessionerne spurgte om der i fremtiden ville komme en "Avanceret ASP.NET-dag" som opfølgning på "Fra ASP3 til ASP.NET". Ønsket har jeg sendt videre til Niels Hilmar Madsen som har ansvaret for Mød Microsoft, og vil snakke med ham om det ved lejlighed. Det hænger lidt på hvad de næste Mød Microsoft har som tema, og hvad evalueringer fra i går og tirsdag siger. Hvis du har andre konkrete ønsker eller kommentarer er jeg sikker på at han gerne vil høre om dem på nielshm@microsoft.com.

posted on Friday, April 08, 2005 7:50:19 AM (Romance Standard Time, UTC+01:00)  #    Comments [1]
 Wednesday, April 06, 2005

Som nævnt på ASP3->ASP.NET seminaret bør man som "ny" i .NET ikke koncentrere sig særlig meget om .NET2 endnu (den kommer sidst på året). Jeg har dog alligevel fået en del spørgsmål om hvad der er på vej - herunder hvilke værktøjer der er tilgængelige og hvilke standarder som understøttes.

Hvis du er nysgerrig er denne video noget for dig. Det er et interview med Scott Guthrie som er en af "fædrene" til ASP.NET og Product Unit Manager på Web Platform and Tools team.

Se iøvrigt også andre videoer med ham frigivet tidligere på året.

posted on Wednesday, April 06, 2005 5:32:54 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, April 05, 2005

Så er eksemplerne fra Århus zippet og klar til download - find dem her.

posted on Tuesday, April 05, 2005 10:20:10 PM (Romance Standard Time, UTC+01:00)  #    Comments [3]

Flere har stillet spørgsmål om XMLTV.

Det er et open source-projekt der har til formål at indsamle kommende TV-program data i en XML-fil, som man så efterfølgende kan bruge i egne applikationer.

Find selve projektet her.

Flere open source-projekter benytter XMLTV - eksempelvis GBPVR som bruger data fra XMLTV til en TV-guide.

posted on Tuesday, April 05, 2005 8:31:14 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, April 04, 2005

Så er slides færdige og jeg er ved at være klar til i morgen i Århus og Torsdag i København.

Du kan finde slides her, Clip library fra TextPad her og XMLTV-databasen her.

Onsdag vil jeg zippe de eksempler som bliver lavet under sessionerne i morgen og lægge dem op også.

posted on Monday, April 04, 2005 10:54:59 PM (Romance Standard Time, UTC+01:00)  #    Comments [3]
 Sunday, March 20, 2005

Til orientering kan jeg nævne, at den næste Mød Microsoft finder sted den 5. (Århus) og 7. (København) april og handler om SQL Server 2005 samt ASP3 til ASP.NET-migrering.

Sidst nævnte er som noget nyt en hel dag (fire sammenhængende præsentationer) der handler om ASP.NET (version 1.1).

Læs mere og tilmeld dig på:

http://www.microsoft.com/danmark/msdn/events/MoedMS_april.asp

 

posted on Sunday, March 20, 2005 10:49:55 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, February 07, 2005

Faldt her til morgen over dette indlæg fra Mike Stall. Hvis man har nogen interesse i at se hvordan en kompiler kan skrives i managed kode kan koden hentes ned og studeres.

På min sidste præsentation snakkede jeg med et par studerende fra Københavns Universitet som fiflede lidt med tanken om at skrive en kompiler som hovedopgave. Måske kan Mike Stalls kode give lidt inspiration.

posted on Monday, February 07, 2005 8:42:42 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, December 01, 2004
 Monday, November 22, 2004

Faldt lige over denne sag fra Scott Hanselman som fortæller lidt om hvad man bør være opmærksom på i forbindelse med en præsentation. Især hans tip omkring fonte/farver til kommandoprompt kan anbefales.

Se iøvrigt også hans liste over værktøjer.

posted on Monday, November 22, 2004 10:59:52 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, November 17, 2004

Flere har spurgt om jeg ikke vil lægge kode til brug af MapPoints web service op:

Koden kræver at der er skabt en web reference til eksempelvis denne WSDL:

http://staging.mappoint.net/standard-30/mappoint.wsdl

og at reference er navngivet "mappoint". Yderligere forudsættes import af dette mappoint-namespacet som eksempelvis:

Imports WindowsApplication1.mappoint

Det forudsætter at selve applikationen er kaldt WindowsApplication1. Slutteligt kræves en Picturebox kaldet PictureBox1

Herefter er koden som følger - idet du skal huske at tilføje brugernavn og password i den sidste metode:

Public Sub DemoMappoint_BeregnogVisRute( _

ByVal Adresse1 As String, ByVal Adresse2 As String)

 

  ' Render

  Dim renderService As New RenderServiceSoap

  renderService.Credentials = _

  DemoMappoint_FindAdresseFindCredentials()

  renderService.PreAuthenticate = True

 

  ' Route

  Dim routeService As New mappoint.RouteServiceSoap

  routeService.Credentials = _

  DemoMappoint_FindAdresseFindCredentials()

  routeService.PreAuthenticate = True

 

  'Route between two locations

  Dim startLocation As New Location

  Dim endLocation As New Location

  startLocation.LatLong = DemoMappoint_FindAdresse(Adresse1). _

  FoundLocation.LatLong

  endLocation.LatLong = DemoMappoint_FindAdresse(Adresse2). _

  FoundLocation.LatLong

 

  Dim routeSegmentsSpec(1) As SegmentSpecification

  routeSegmentsSpec(0) = New SegmentSpecification

  routeSegmentsSpec(0).Waypoint = New Waypoint

  routeSegmentsSpec(0).Waypoint.Name = "Start"

  routeSegmentsSpec(0).Waypoint.Location = startLocation

  routeSegmentsSpec(1) = New SegmentSpecification

  routeSegmentsSpec(1).Waypoint = New Waypoint

  routeSegmentsSpec(1).Waypoint.Name = "End"

  routeSegmentsSpec(1).Waypoint.Location = endLocation

 

  Dim routeSpec As New RouteSpecification

  routeSpec.DataSourceName = "MapPoint.EU"

  routeSpec.Segments = routeSegmentsSpec

 

  Dim myRoute As Route = _

  routeService.CalculateRoute(routeSpec)

  routeSpec = myRoute.Specification

 

  MsgBox("Rute beregnet - km " & _

  myRoute.Itinerary.Segments(0).Distance)

  MsgBox("Forventet tid " & _

  myRoute.Itinerary.Segments(0).DrivingTime \ 60 & " minutter")

 

  ' Find kort

  Dim myRouteView(0) As ViewByHeightWidth

  myRouteView(0) = myRoute.Itinerary.View.ByHeightWidth

  Dim mapSpec As New MapSpecification

  mapSpec.DataSourceName = "MapPoint.EU"

  mapSpec.Route = myRoute

  mapSpec.Views = myRouteView

 

  Dim myMaps() As MapImage

  myMaps = renderService.GetMap(mapSpec)

 

  ' Vis kort

  PictureBox1.Image = _

  New Bitmap(New System.IO.MemoryStream( _

  myMaps(0).MimeData.Bits))

 

End Sub

 

Public Sub DemoMappoint_VisKort(ByVal FindAdresse As String)

 

  ' Find adresse

  Dim Resultat As FindResult = _

  DemoMappoint_FindAdresse(FindAdresse)

 

  ' Render

  Dim renderService As New RenderServiceSoap

  renderService.Credentials = _

  DemoMappoint_FindAdresseFindCredentials()

  renderService.PreAuthenticate = True

 

  ' MapView og spec

  Dim myViews(0) As ViewByHeightWidth

  myViews(0) = _

  Resultat.FoundLocation.BestMapView.ByHeightWidth

  Dim mapSpec As New MapSpecification

  mapSpec.DataSourceName = "MapPoint.EU"

  mapSpec.Views = myViews

 

  ' Hent kort

  Dim mapImages() As MapImage

  mapImages = renderService.GetMap(mapSpec)

 

  ' Vis kort

  PictureBox1.Image = _

  New Bitmap(New System.IO.MemoryStream( _

  mapImages(0).MimeData.Bits))

 

End Sub

 

 

Public Function DemoMappoint_FindAdresse( _

ByVal FindAdresse As String) As FindResult

 

  ' Opret Find-objekt

  Dim findService As New FindServiceSoap

  findService.Credentials = _

  DemoMappoint_FindAdresseFindCredentials()

  findService.PreAuthenticate = True

 

  ' Find en konkret adresse i EU

  Dim Adresse As Address

  Adresse = findService.ParseAddress(FindAdresse, "Denmark")

  Dim FindAddresseSpec As New FindAddressSpecification

  FindAddresseSpec.InputAddress = Adresse

  FindAddresseSpec.DataSourceName = "MapPoint.EU"

  Dim Resultater As FindResults

  Resultater = findService.FindAddress(FindAddresseSpec)

 

  Return Resultater.Results(0)

 

End Function

 

 

Public Function DemoMappoint_FindAdresseFindCredentials() _

As Net.NetworkCredential

  Return New System.Net.NetworkCredential("brugernavn", "password")

End Function

posted on Wednesday, November 17, 2004 11:38:28 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, November 08, 2004

Det tyder desværre på, at et link i materialet ikke er korrekt. Det er linket til Office 2003 Web Service Toolkit. Det korrekt link er her.

posted on Monday, November 08, 2004 10:52:32 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, November 05, 2004

Flere har skrevet og spurgt om jeg ikke vil lægge koden som oversætter sætninger gennem BableFish op, og det vil jeg naturligvis gerne. Koden er dog ikke ens i hvert foredrag (ellers bliver det for kedeligt [for mig]) men her er noget der kan bruges:

Imports System, System.Console
Namespace cronberg.demo
  Public Class Test
    Public Shared Sub Main(Args() As String)
      Dim sprog() As String = {"en_de", "en_fr", "en_es"}
      Dim Tekst As String = Args(0)
      Dim BabelFish As New Service.BabelFishService
      For Each sp As String In sprog
        WriteLine(sp & ": " & BabelFish.BabelFish(sp, Tekst))
      Next
    End Sub
  End Class
End Namespace

Koden kræver følgende WSDL:http://www.xmethods.net/sd/2001/BabelFishService.wsdl

posted on Friday, November 05, 2004 6:45:41 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, November 04, 2004

Flere har spurgt hvilke program jeg bruger under foredraget til at se HTTP kommunikation. Det er et uoff. program fra Microsoft som hedder Fiddler. Det kan findes her.

posted on Thursday, November 04, 2004 10:57:20 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Monday, October 25, 2004

Holdt et par præsentationer her i eftermiddags og aften.

Lovede at give link til en komponent der kan bruges tíl at benytte SOAP under COM. Find Microsofts toolkit her.

Koden bag Word-klienter er her:

Public Sub Oversæt()
    Dim obj As New clsws_BabelFishService
    resultat = obj.wsm_BabelFish("en_fr", InputBox("Tekst"))
    Selection.TypeText resultat
    
End Sub

Adressen til WSDL-strukturen er her:

http://www.xmethods.net/sd/2001/BabelFishService.wsdl

Kigger efter et par gode Java-eksempler.

posted on Monday, October 25, 2004 7:52:14 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, October 13, 2004

Slides fra mine egne og Niels's præsentationer er nu officelt tilgængelige her.

posted on Wednesday, October 13, 2004 8:34:07 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Sunday, October 10, 2004

Der bliver ved med at dukke ting op som jeg mener kan have interesse for dem der hørte Mød MS-præsentationerne.

Faldt i dag over lidt mere omkring Rotor (kort: .NET på FreeBSD og Mac). Se blandt andet en artikel her, og source her.

 

posted on Saturday, October 09, 2004 11:22:35 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, October 08, 2004

Lige en enkelt tilføjelse. Der var en del spørgsmål i både Århus og København om muligheden for at beskytte sin kode mod reverse engineering, og jeg nævnte brugen af "obfuscatere", men kunne ikke huske hvem der lavede den der følger med VS.

Nu fandt jeg det - se her.

posted on Friday, October 08, 2004 11:03:46 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Thursday, October 07, 2004

Under dagens præsentationer blev der bla. spurgt til avanceret brug af DataGrid-kontrollen. Se denne artikelserie.

Med hensyn til kombination af javascript og ASP.NET - se feks denne artikel.

Se i øvrigt denne blog fra præsentationerne i Århus.

Hvordan højrestiller man tekst i tekstbokse?

  for each ctr as control in me.controls
      If TypeOf (ctr) Is TextBox Then            
        dim txt as textbox = ctype(ctr,textbox)
        txt.Style.Add("text-align","right")            
      end if        
    next 

Sådan (feks).

posted on Thursday, October 07, 2004 2:48:48 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Wednesday, October 06, 2004

Link og yderligere info som nævnt på præsentationer i morges:

Præsentationen om .NET fra kl. 9:00 til 10:15

Følgende links blev nævnt:

Flere spurgte bagefter efter skabelonen til en VB/C# konsol app.:

Imports System
public class test
 public shared sub Main()
  Console.WriteLine()
  Console.ReadLine()
 end sub
end class

Kompiler med vbc.exe (se evt. her).

using System;
public class test{
 public static void Main()
 {
  {
  }
 }
 }

Kompiler med csc.exe (se evt. her)

Der var en der spurgte om hvordan man kan benytte GPS-data i en .NET applikation. Har fundet denne.

Præsentationen om ASP.NET fra 10:45 til 12:00

Der blev henvist til en del af de samme links som nævnt ovenfor samt disse:

Det var vist det hele – kontakt mig hvis jeg har glemt noget.

posted on Wednesday, October 06, 2004 2:42:33 PM (Romance Standard Time, UTC+01:00)  #    Comments [4]
 Monday, September 27, 2004

Har set at præsentationerne fra DevDays 2004 nu er tilgængelige:

http://msdn.microsoft.com/events/devdays/sessions/default.aspx

Der er flere interessante sessioner omkring sikkerhed man kan kaste sig over

  • Overview: ASP.NET Web Application Security Fundamentals
  • Threats and Threat Modeling: Understanding Web Application Threats and Vulnerabilities
  • Defenses and Countermeasures:Secure Your ASP.NET Applications from Hackers
posted on Monday, September 27, 2004 9:05:09 AM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, September 21, 2004
Skulle der være nogle læsere som skal til Løsningsforum på torsdag taler jeg om "Outsourcing og brugerbetalt IT" kl. 15:00 hvis det skulle have interesse.
posted on Tuesday, September 21, 2004 9:30:17 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]