stringsplit -> einen array,den es nicht gibt, erstellen.

  • hey leute
    hier mein script und meine frage/problem weiter unten.

    [autoit]


    #include <Array.au3>
    #include <String.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    do
    $anzahl = InputBox("Info","Geben sie die anzahl ein:","")
    Until Not @error

    [/autoit][autoit][/autoit][autoit]

    $zeit = (($anzahl*7.2)/60)/60

    [/autoit][autoit][/autoit][autoit]

    $teile = StringSplit($zeit,".")

    [/autoit][autoit][/autoit][autoit]

    If $teile[2] = "" Then
    $nb24h = ($teile[1] + @HOUR)
    Else
    $bruch = (100/$teile[2])
    $min = Int(60/$bruch)*10
    $nb24h = ($teile[1] + @HOUR)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If $nb24h > "24:00" Then
    $24h = ($nb24h - 24.00)
    $hfertig = ($24h + "0:00")
    MsgBox(64,"","" & $hfertig,10)

    [/autoit][autoit][/autoit][autoit]

    Else
    MsgBox(64,"","" & $nb24h,10)
    EndIf

    [/autoit]

    nun habe ich das problem, das wenn ich bei der inputbox z.b 1000 eingebe, dass dann ein error kommt, da sich im array die variable $teile[2] nicht befindet.
    $teile[2] will ich aber, weil ich will etwas (nicht) machen lassen (if...then) wenn sich in der variable $teile[2] nichts befindet. sonst muss ich bei der inputbox immernoch eine eins hineinschreiben (also 1001) und das will ich nunmal nicht :P
    hoffentlich könt ihr mir helfen ;)
    mfg

    Einmal editiert, zuletzt von pestomitketchup (7. September 2011 um 21:28)

  • Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <String.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    do
    $anzahl = InputBox("Info","Geben sie die anzahl ein:","")
    Until Not @error

    [/autoit] [autoit][/autoit] [autoit]

    $zeit = (($anzahl*7.2)/60)/60

    [/autoit] [autoit][/autoit] [autoit]

    $teile = StringSplit($zeit,".")
    Redim $teile[3]

    [/autoit] [autoit][/autoit] [autoit]

    If $teile[2] = "" Then
    $nb24h = ($teile[1] + @HOUR)
    Else
    $bruch = (100/$teile[2])
    $min = Int(60/$bruch)*10
    $nb24h = ($teile[1] + @HOUR)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $nb24h > "24:00" Then
    $24h = ($nb24h - 24.00)
    $hfertig = ($24h + "0:00")
    MsgBox(64,"","" & $hfertig,10)

    [/autoit] [autoit][/autoit] [autoit]

    Else
    MsgBox(64,"","" & $nb24h,10)
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • wow das ist ja super :rock:
    schon wieder einen neuen befehl gelernt.
    funktioniert super
    tausend dank !!!