Avatar billede myplacedk Nybegynder
12. august 2002 - 12:17 Der er 7 kommentarer og
3 løsninger

Et simpelt script...

Jeg har brug for et script, som gør følgende:

Der kommer en dialog-boks med et tekst-felt og tre knapper.
Tekst-feltet er til et kodeord, så det man skriver skal meget gerne være skjult.
Tastatur-cursoren skal være i tekst-feltet.

Skriver man det det korrekte kodeord og trykker på knap1, så skal der udføres en doskommando.
Trykker man i stedet på knap2, skal en anden kommando køres, her er kodeord unødvendigt.
Knap3 afslutter bare programmet.

Jeg aner ikke hvordan jeg skal brygge dialogboksen op, og om det overhovedet kan lade sig gøre.
Jeg ved heller ikke hvordan man kører dos-kommandoer fra et vb-script.

Får jeg først løsningen på de to ting, vil jeg tro jeg kan resten selv. Jeg har altså ikke behov for et færdigt script, selv om det ville være herligt. ;-)
Avatar billede kedde65 Praktikant
12. august 2002 - 12:21 #1
Boxen du skal bruge er msgbox "tekst", VBYESNO og for at køre en dos kommando bruges

shell "kommando"

VH CK
Avatar billede medions Nybegynder
12. august 2002 - 15:37 #2
Prøv med dette:
Private Sub Form_Load()
    strLogin = InputBox("Indtast dit kodeord her:", "Kodeord tjek")
    If strLogin = "test" Then
        MsgBox ("Kodeordet var rigtigt!")
    Else
        MsgBox ("Kodeordet var forkert!")
    End If
End Sub

//>Rune
Avatar billede martin_moth Mester
12. august 2002 - 16:11 #3
Helt fra bunden:

Lav en form, hvorpå du laver 3 knapper (command1, command2 og command3) og et text-felt (Text1)

Smid følgende kode ind:


Private Sub Form_Load()
  'Følgende afvikles, når formen loades
  'Disse 3 linier kunne slettes, hvis du i stedet
  'sætter værdierne i properties-vinduet for Text1.
 
  Text1.TabIndex = 0
  Text1.Text = ""
  Text1.PasswordChar = "*"
End Sub

Private Sub Command1_Click()
  'Tjekker password. Er det OK, Køres kommando med "Shell kommando"
  If Text1.Text = "test" Then
    Shell "explorer", vbMaximizedFocus
  Else
    MsgBox ("Kodeordet var forkert!")
  End If
End Sub

Private Sub Command2_Click()
  'Kører kommando med "Shell kommando"
  Shell "explorer", vbMaximizedFocus
End Sub

Private Sub Command3_Click()
  'Afslutter program
  End
End Sub

I stedet for
Shell "explorer", vbMaximizedFocus
skal du skrive Shell efterfulgt af dit kommandonavn - at starte stifinderen er blot et eksempel ;o)
Avatar billede martin_moth Mester
12. august 2002 - 16:17 #4
Ovenstående skal forstås på den måde, at du tilføjer en ekstra form til dit project (Project -> Add form)

Lad os sige, at dit program har en form der hedder form1. Du tilføjer en ny form, der hedder form2. På form2 smider du komponenter og kode som vist i mit svar overfor.

På form1 kalder du form2 frem ved at skrive

Form2.Show 1

Ettallet betyder, at focus er låst på form2 indtil den lukkes. Mvh. martin
Avatar billede myplacedk Nybegynder
12. august 2002 - 16:58 #5
Indtil videre, mange tak for hjælpen. :)
Jeg kan dog ikke komme en byte videre, da i tilsyneladende forudsætter at jeg har et program til at udvikle det i. Jeg kunne også have skrevet det tydeligere, men ...

Jeg skal bare lave et script, og jeg laver det i notepad. :)

Kan det stadig lade sig gøre at lave en form, eller er jeg så begrænset til MsgBox og InputBox?
Avatar billede kedde65 Praktikant
12. august 2002 - 17:02 #6
Som jeg startede med at skrive så er du henlagt til msgbox eller inputbox. Dog har du selvfølgelig mulighed for at få nogle til at lave et com komponent til dig, hvor der er en formular i, men det er squ nok lige at gå over stregen :-)

VH CK
Avatar billede myplacedk Nybegynder
12. august 2002 - 17:47 #7
Jeg kan komme uden om det med at lave en form, ved at splitte det op i flere scripts. Så må jeg bare lave to menu-punkter.

Men man kan se kodeordet, og det er ikke så godt. Jeg må faktisk ændre beskrivelsen, det er et krav.
Jeg prøvede at slå op på msdn.microsoft.com, for at se om der var en parameter til InputBox eller sådan noget, men jeg kunne ikke finde noget som helst.

Og så virker "shell" vist ikke i vbs? Den siger bare "typerne passer ikke sammen", hvilket vist ikke giver den store mening. Selvfølgelig skal "shell" have en streng...
Jeg prøvede msdn.microsoft.com, men fandt igen ikke noget som helst.

Jeg kan fornemme at jeg skal ofre flere hundrede kroner (tusinde?) på et eller andet udviklingsværktøj. Hvis det er tilfællet, så må jeg finde på noget andet.
Avatar billede martin_moth Mester
12. august 2002 - 20:51 #8
Hvis du ikke føler at du har løst til at bidrage til Bill Gates formue, er der jo andre muligheder. Og her skal jeg naturligvis ikke opfordrer til ulovligheder ;o)

/Martin
Avatar billede myplacedk Nybegynder
13. august 2002 - 09:38 #9
Næh, det skal du ikke.

Well, jeg finder på noget helt andet. En bekendt har været så flink at tilbyde at lave et program til det. Det vil sikkert virke fint nu og her, men når der så skal laves om på det senere, så er det bare ærgeligt. Et script ville være nemt at redigere, selv for en semi-nørd.

Vi får at se, enten bruger jeg det program, eller også finder jeg et helt andet script-sprog.

I får lidt point for jeres tid.
Avatar billede medions Nybegynder
13. august 2002 - 15:35 #10
Fair nok...
Thx 4 Poinz

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester