Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Script i applikationer den lätta vägen

Postad 2002-01-16 av Ivar Torstensson i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 3139, Betyg: 0%

Förord

Många är väl de som ibland har önskat att kunna låta användare lägga in skript för vissa funktioner i sina program. Det finns ett enkelt och kraftfullt sätt istället för att ägna dagar åt att skapa ett eget skriptspråk.
Innehåll
  » Microsoft ScriptControl
  » Egna procedurer, funktioner och egenskaper


Microsoft ScriptControl

Det som skall göra jobbet är ScriptControl från Microsoft som gratis kan hämtas från Microsofts sida om man inte redan har den. Länk finns längre ner på sidan.
Det fina med ScriptControl är att den stödjer alla installerade, kompatibla språk, t ex VBScript, JScript och Perl.

För att använda en ScriptControl, startar du ett nytt projekt i Visual Basic. Tryck sedan Project, Components (eller tangentkombinationen ctrl+t). Bläddra fram till Microsoft Script Control 1.0 i listan, markera och tryck ok. Lägg till en ScriptControl, en CommandButton med texten "Kör" och en TextBox på form1. Sätt textrutans egenskapen MultiLine till true. Det är i textboxen skriptkällkoden kommer att hamna. Det enda som behöver kodas är när man trycker på Command1. Lägg därför till följande kod i form1:


Private Sub Command1_Click()
Form1.Caption = "Kör skript"
ScriptControl1.Language = "VBScript" 'Skriptspråket som används
ScriptControl1.AddCode Text1.Text 'Lägger in skriptets källkod i ScriptControl
ScriptControl1.Run "main" 'Kör proceduren main i vårt skript
Form1.Caption = "Skript färdigt"
End Sub

Kör programmet. I textrutan skall skriptet skrivas. Enligt koden ovan exekveras proceduren main på skriptet. Skriv då


Sub main()
MsgBox "Det här är mitt skript!"
End Sub

Tryck sedan på knappen för att exekvera skriptet. Ser det bra ut? Det är något som saknas.


Egna procedurer, funktioner och egenskaper

Nu vet du hur man anropar ett skripts procedurer, men trevligt vore det ändå om skriptet kunde ändra något i ditt program. För att göra detta skapar du en tom Class Module från Project-menyn. Lägg sedan till följande kod:


Property Let knapptext(text As String)
Form1.Command1.Caption = text
End Property

Property Get knapptext() As String
knapptext = Form1.Command1.Caption
End Property

Koden lägger till en egenskap som heter knapptext. Property Let skriver egenskapen och Get hämtar den. I detta fallet är det texten på Command1 egenskapen gäller för. Men detta räcker inte, klassmodulen måste läggas in i vår ScriptControl. Därför får du modifiera koden på form1 lite.


Private Sub Command1_Click()
Dim minklass As New class1
Form1.Caption = "Kör skript"
ScriptControl1.Language = "VBScript" 'Skriptspråket som används
ScriptControl1.AddObject "programmet", minklass 'Lägg in Class1
ScriptControl1.AddCode Text1.Text 'Lägger in skriptets källkod i ScriptControl
ScriptControl1.Run "main" 'Kör proceduren main i vårt skript
Form1.Caption = "Skript färdigt"
End Sub

Nu skall skriptet kunna komma åt knappens text med objektet "programmet" som vi valde att den skulle heta vid AddObject och "knapptext" som står i klassmodulen. Kör programmet och prova med skriptet:


Sub main()
programmet.knapptext = programmet.knapptext & " skript"
End Sub

Varje gång "programmet.knapptext" står anropar den vår klass. Resultatet blir att knappen får texten "Kör skript". Snyggt.

Nu kan du förmodligen lägga in skriptfunktioner i dina program. Behöver du hjälp kan du skicka ett imail.
/Ivar Torstensson
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 158
27 952
271 704
871
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies