Avatar billede Kentoi Seniormester
06. december 2016 - 13:31 Der er 8 kommentarer

SELECT...CASE

Jeg har lavet dette:

    EOLmodels = Array("Latitude D630","Latitude E4300","Latitude E4310","Latitude E6320","Latitude E6500","Latitude E6510","Latitude E6520","Latitude E7440","OptiPlex 745","OptiPlex 755","OptiPlex 760","OptiPlex 780","OptiPlex GX620",_
    "Precision M4400","Precision M4500","Precision M4600","Precision M4700","Precision M6600","Precision WorkStation 380","Precision WorkStation 390","Precision WorkStation T3400","Precision WorkStation T3500","Precision WorkStation T5500")
    For Each lobjitem in lcolmodel
        lstrModel = lobjitem.model
    Next
    for each x in EOLmodels
        select Case lstrModel
            Case "OptiPlex 780"
                WScript.Echo "We found it"
                lstrValue = "28-02-2013"
        end select
    next

Er det ikke muligt at lave en Select Case på denne måde - altså med et mellemrum? "OptiPlex 780" Jeg får ihvertfald ikke nogen melding om at det er fundet.
Avatar billede Kentoi Seniormester
06. december 2016 - 13:36 #1
Bare en lille ændring.


    EOLmodels = Array("Latitude D630","Latitude E4300","Latitude E4310","Latitude E6320","Latitude E6500","Latitude E6510","Latitude E6520","Latitude E7440","OptiPlex 745","OptiPlex 755","OptiPlex 760","OptiPlex 780","OptiPlex GX620","Precision M4400","Precision M4500","Precision M4600","Precision M4700","Precision M6600","Precision WorkStation 380","Precision WorkStation 390","Precision WorkStation T3400","Precision WorkStation T3500","Precision WorkStation T5500")
    For Each lobjitem in lcolmodel
        lstrModel = lobjitem.model
    Next
    for each x in EOLmodels
        if InStr(lstrModel,x) <> 0 then
            select Case lstrModel
                Case "OptiPlex 780"
                    WScript.Echo "We found it"
                    lstrValue = "28-02-2013"
            end select
        end if   
    next
Avatar billede supertekst Ekspert
06. december 2016 - 13:53 #2
For Each lobjitem In lcolmodel
        lstrModel = lobjitem.model
    Next

Mangler der ikke "noget" vedr. ovenstående
Avatar billede Kentoi Seniormester
06. december 2016 - 14:06 #3
Dette skal med:
        Set objWMIServiceComputerSystem = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set lcolmodel = objWMIServiceComputerSystem.ExecQuery("SELECT * FROM Win32_ComputerSystem")

Jeg er ikke så skrap til VBscript, men hvis jeg laver dette:

For Each lobjitem in lcolmodel
    lstrModel = lobjitem.model
Next
WScript.Echo lstrModel

Så får jeg fat i det rigtige.
Avatar billede supertekst Ekspert
06. december 2016 - 14:08 #4
Status?
Avatar billede Kentoi Seniormester
06. december 2016 - 14:09 #5
Min select case giver mig ikke det jeg ønsker.
Avatar billede supertekst Ekspert
06. december 2016 - 14:19 #6
Prøv at vise den samlede VB-kode
Avatar billede Slettet bruger
06. december 2016 - 15:19 #7
Jeg tror at du vil hænge disse 2 for-next's sammen:
For Each lobjitem in lcolmodel
        lstrModel = lobjitem.model
   
    for each x in EOLmodels
        select Case lstrModel
            Case "OptiPlex 780"
                WScript.Echo "We found it"
                lstrValue = "28-02-2013"
        end select
    next
Next

kan det tænkes?
Avatar billede Kentoi Seniormester
07. december 2016 - 09:31 #8
Det har ikke voldt mig nogen problemer at bruge den. Dette er for at finde min computermodel.

dim lcolmodel
Set objWMIServiceComputerSystem = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set lcolmodel = objWMIServiceComputerSystem.ExecQuery("SELECT * FROM Win32_ComputerSystem")
For Each lobjitem in lcolmodel
    lstrModel = lobjitem.model
Next
WScript.Echo lstrModel
Set lcolmodel = Nothing

Tror egentlig også at jeg bare kunne læse registreringsdatabasen:
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS\SystemProductName
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

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