Avatar billede cuac Nybegynder
10. oktober 2007 - 11:50 Der er 4 kommentarer og
1 løsning

Inputbox til indtastning af tal, feks 243.

Jeg arbejder med et laboratorieinstrument som arbejder med VB-scripts. Jeg har nu brug for at kunne indtaste og gemme min analysevægt som består af 3 cifre (eks. 243) i en inputbox, så den bliver gemt i halen på analysenavnet(DataName) kunne foreksempel se sådan ud (testanalyse243). Analysen bliver gemt i følgende linie: NMR.Execute("WR " & DataName & "." & Ext & " Y")


Mit script ser ud som følger:

Option Explicit



Dim ListName       
Dim DataName       

Sub Main()
   
Dim r
Dim Ext
Dim Current
Dim Size

If NoHardware Then
  ShowError("Der er ikke forbindelse til NMR instrumentet")
  Exit Sub
End If
   
ListName="fersklaks"           
         
If ListName="" Then               
  Exit Sub
End If

If LoadList1(ListName)=FALSE Then 
     
    Exit Sub
End If

    DataName=GetDataName(2)           

    If DataName=""  Then   
Exit Sub                           
End If

'***Her vil jeg gerne promtes for min analysevægt***       
   
Current=NMR.GetParameter("%DATADIR")   
DeleteFile (Current & DataName & "*.*")
NMR.Execute("~PMODE")               
NMR.Execute("XY QUIT")           
NMR.Execute("XY")

NMR.Execute("~AMODE")               
NMR.Execute("LOAD CPMG")           
   
NMR.Execute("RAP testuco")
   
Ext=1                             
Do While NextList1(r)             
  NMR.Execute("~AMODE")             
  NMR.Execute("TAU " & r)           
  NMR.StatusMessage("Tau = " & r )
  NMR.Go                           
 
  NMR.Execute("Even")
   
                                               
  NMR.Execute("WR " & DataName & "." & Ext & " Y") ' Gemmer data i fil
  Ext=Ext+1                         

  NMR.Execute("SIZE 20")           
  Size=NMR.ReturnValue
  NMR.Execute("XY DATA " & r & Size)
Loop

NMR.Execute("XY QUIT")

      Exit Sub

End Sub
Avatar billede sherlock Nybegynder
10. oktober 2007 - 12:38 #1
AbortInput = 0
AnalyseVaegt = ""
Do Until (Result > "") or (AbortInput = 1)

  AnalyseVaegt=InputBox("Indtast analysevægt", "Analysevægt")
  if Vartype(AnalyseVaegt) = 0 then
      AbortInput = 1
  Else
    If not IsNumeric(AnalyseVaegt ) Then
        MsgBox("Der skal indtastes et tal");
        AnalyseVaegt = ""
    End If
  End If
Loop
Avatar billede cuac Nybegynder
10. oktober 2007 - 13:13 #2
Hej sherlock

Du er inde på det helt rigtige, har lige copy pastet og lavet en kørsel efter jeg selvfølgelig har defineret de nye variable AnalyseVaegt, AbortInput, Result. Når jeg har skrevet et tal i inputboxen, f.eks 234 og trykket OK, kommer der bare en ny inputbox op ? Hvad skal rettes til?

Hilsen
cuac
Avatar billede sherlock Nybegynder
10. oktober 2007 - 13:26 #3
Ahh.

Do Until (Result....  ->  Do Until (AnalyseVaegt....

Og ; efter "MsgBox("Der skal indtastes et tal");", skal slettes
Avatar billede cuac Nybegynder
10. oktober 2007 - 14:08 #4
Så kører det perfekt, opret et svar og så er der point på vej

cuac
Avatar billede sherlock Nybegynder
10. oktober 2007 - 14:25 #5
:)
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