1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. i2c

Beiträge von i2c

  • Line: 9737. Error: Subscript used with non-Aray variable

    • i2c
    • 3. März 2011 um 14:05
    Zitat von Pitter

    global hab ich die definiert, weil ich $pfad noch mehrfach brauche in den weiteren au3...


    Und trotzdem definierst du unmittelbar nacheinander 2 verschiedene Werte ohne den ersten jemals genutzt zu haben :)

    Zitat

    zu:$hardware1 = FileRead($pfad & 'hardware.txt')"
    Gut, das kannst Du nicht wissen, was da zwischendrin passiert. Aber das ist schon so in Ordnung, da ich:
    a: die Existenz der Datei abprüfe
    b: dort definitiv ein Eintrag vorhanden ist, weil ich diese hardware.txt über ein externes Programm auf dem PNA erstellen lasse... und diese liesst die REG des Gerätes aus und trägt in jedem Fall dort was ein.... und wenn es ein "-" ist.


    Entschuldige den Ausdruck aber da beginnt die Schlamperei zur Methode zu werden. Bei einem Skript diesen Umfangs ist jede noch so kleine Abfrage bei der Fehlersuche hilfreich. Das du die Existenz prüfst ist ja gut und schön aber du verlässt dich blind darauf, das dort auch etwas drinsteht.

    Zitat

    Klar... sauberer wäre das mit IsArray() zu arbeiten... stimmt! Kann aber hier doch eigentlich nicht zu dem benannten Fehler führen...


    Der Fehler wird aber durch einen fehlerhaften Zugriff auf ein Array ausgelöst. Den kompletten Code kannst du nicht zeigen also sag ich dir nochmal - @error auswerten wo es nur geht, Rückgabewerte prüfen, isArray() verwenden ...

    Wir können das Skript ja leider nicht testen. Wenn du den Fehler durch intensives debugen nicht findest, musst du als Entwickler wohl in den sauren Apfel beissen und dir ein System mit den selben Bedingungen aufsetzen. Spätestens dann solltest du das Problem finden.

  • Line: 9737. Error: Subscript used with non-Aray variable

    • i2c
    • 3. März 2011 um 12:59
    Zitat von Pitter

    Naja...

    [autoit]

    $pfad = @TempDir & '\' & $SerialNumber & '\'

    [/autoit]


    Ja ok, hab ich nicht gesehen. Frag ich mich dann aber warum du ein paar Zeilen vorher dieselbe Variable mit einem anderen Wert global definierst. Im 2ten Skript in Zeile3 machst du dann aber sowas "TraySetIcon($pfad & "\car.ani")". In Zeile 30 dann " $hardware1 = FileRead($pfad & 'hardware.txt')". Da soll dann z.B. das Array $hardware draus erstellt werden und schon eine Zeile später setzt du voraus, das dieses Array auch wirklcih existiert: " if $hardware[10] = 6 Then".

    Da sollte man vlt. mal ein wenig mit IsArray() arbeiten.

  • Line: 9737. Error: Subscript used with non-Aray variable

    • i2c
    • 3. März 2011 um 12:30

    Bis hierhin würde ich sagen alles ok. Fehlen noch ca. 1350 Zeilen.
    Mal abgesehen davon das deine Variable $pfad keinen abschliessenden \ enthält, du aber z.B. nach $pfad & "7za.exe" installieren möchtest.


    edit: Umschliesst du deinen AutoIt Code bitte mit Spoilern.

    Code
    [spoiler][autoit]Dein COde[/autoit][/spoiler]
  • UnixTimeStamps in Webanwendungen in lesbares Datum umwandeln

    • i2c
    • 3. März 2011 um 12:11

    Erster Treffer bei Google: http://code.google.com/p/harshmage-au…MouseSetOnEvent

  • Line: 9737. Error: Subscript used with non-Aray variable

    • i2c
    • 3. März 2011 um 12:08
    Zitat von Pitter

    Line: 9737. Error: Subscript used with non-Aray variable

    Der Fehler entsteht offensichtlich in einem Include. Es wird ein Arrayelement erwartet wo keines ist.
    Also entweder debugst du selber oder zeigst den Code. Alles andere wäre Hellseherei.

  • Hilfe bei einem Entscheidungsbot

    • i2c
    • 2. März 2011 um 19:52
    [autoit]

    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then

    [/autoit]
  • eukalyptus ist 32

    • i2c
    • 2. März 2011 um 14:48

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • StringRegExpReplace und Whitespaces

    • i2c
    • 2. März 2011 um 13:48

    Dann poste uns einmal die komplette XML Struktur. Hier kann keiner hellsehen.

    Tip: http://www.autoitscript.com/forum/topic/19…om-wrapper-com/

    edit: Scheint sich ja schon erledigt zu haben. Immer diese Editiererei :rolleyes:

  • StringRegExpReplace und Whitespaces

    • i2c
    • 2. März 2011 um 12:37

    Wozu der Aufwand mit den Zeilenumbrüchen und Leerstellen? Einfach </name> ersetzen reicht doch aus.

    [autoit]

    $chars= @CRLF _
    & '<name>Vorname_1</name>' & @CR & '<desc>Nachname_1</desc>' & @CRLF _
    & '<name>Vorname_2</name>' & @LF & '<desc>Nachname_2</desc>' & @CRLF _
    & '<name>Vorname_3</name>' & @CRLF & '<desc>Nachname_3</desc>' & @CRLF _
    & ' <name>Vorname_4</name>'& @LF & ' <desc>Nachname_4</desc>' & @CRLF _
    & @TAB & '<name>Vorname_5</name>'& @CR & @TAB & '<desc>Nachname_5</desc>'

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

    MsgBox(0,'',$chars)
    $chars=StringRegExpReplace($chars,'</name>','</name>' & @CRLF & '<cmt></cmt>')
    MsgBox(0,'',$chars)

    [/autoit]
  • Editfeld mehrmals mit Infos füllen

    • i2c
    • 1. März 2011 um 23:17
    [autoit]

    _GUICtrlEdit_AppendText()

    [/autoit]
  • Parameter in Scripts

    • i2c
    • 1. März 2011 um 22:10

    http://translation.autoit.de/onlinehilfe/in…htm#CommandLine

  • Problem mit DirMove

    • i2c
    • 1. März 2011 um 13:00

    https://autoit.de/index.php?page…0949#post210949

    Post#42 bis 45

  • Wiedergabelieste erstellen

    • i2c
    • 26. Februar 2011 um 12:33

    Du gehst falsch mit der Variablen $Path um. Das ist die ID deines Input Controls.
    Um an den Inhalt des Inputs zu kommen: GUICtrlRead($Path) - z.B. in Zeile 132 und 139

  • aus JPG durch Umformung ein PNG erstellen

    • i2c
    • 26. Februar 2011 um 05:06

    Ich würde auf die Schnelle so eine Art Limousine hinbekommen.
    Zum sauberen montieren eines Buses fällt mir im Moment nicht viel ein. Vlt. wenn man's in ein paar Teile zerlegt und dann mit einer Matrix verzerrt ...

    Entwurf: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    edit: Wenn man die "Nahtstellen" etwas bereinigt und das Ganze noch etwas streckt ...
    Näher würde ich an die Busoptik nicht rankommen. Da liessen sich jetzt die Türen evtl. noch etwas höher ziehen und Fenster niedriger.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    b.png 161,91 kB – 0 Downloads b2.png 141,18 kB – 0 Downloads
  • Wiedergabelieste erstellen

    • i2c
    • 25. Februar 2011 um 17:49
    [autoit]

    If BitAND(GUICtrlRead($CheckBox), $GUI_CHECKED) = $GUI_CHECKED Then

    [/autoit]
  • If Frage bei GUI

    • i2c
    • 25. Februar 2011 um 14:49
    Spoiler anzeigen
    [autoit]

    #include <Zip.au3>
    #include <GUIConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("LoL Patcher Installer", 510, 311, 193, 125)
    $Progress1 = GUICtrlCreateProgress(40, 8, 433, 25)
    $Button1 = GUICtrlCreateButton("Installieren", 376, 56, 105, 25, 0)
    $Radio1 = GUICtrlCreateRadio("Standart Installation", 48, 56, 113, 17)
    GUICtrlSetState($Radio1, $GUI_CHECKED)
    $Label1 = GUICtrlCreateLabel("Alle Normalen Einstellungen", 64, 72, 135, 17)
    $Radio2 = GUICtrlCreateRadio("Benutzerdefinierte Installation", 48, 112, 169, 17)
    $Group1 = GUICtrlCreateGroup("Installationspfad:", 56, 136, 337, 65)
    $Input1 = GUICtrlCreateInput("", 72, 160, 201, 21)
    $Button2 = GUICtrlCreateButton("Durchsuchen...", 288, 160, 91, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("League of Legends Installationspfad:", 56, 208, 337, 65)
    $Input2 = GUICtrlCreateInput("", 72, 232, 201, 21)
    $Button3 = GUICtrlCreateButton("Durchsuchen...", 288, 232, 91, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Copy()
    ;Progress ()
    Case $Button2
    $dialog2 = FileSelectFolder("Installationspfad auswählen", @HomeDrive)
    If Not @error Then GUICtrlSetData($Input1, $dialog2)
    EndSwitch
    WEnd
    Func Progress()
    GUICtrlSetData($Button1, " Stop")
    For $1 = 1 To 100
    GUICtrlSetData($Progress1, $1)
    Sleep(60)
    Next
    EndFunc ;==>Progress
    Func Copy()
    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "", "Radio1")
    ElseIf BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "", "Radio2")
    EndIf
    EndFunc ;==>Copy

    [/autoit]
  • Wiedergabelieste erstellen

    • i2c
    • 24. Februar 2011 um 13:15

    Keine Ahnung was das im OffTopic zu suchen hat ...

    einfaches Beispiel
    [autoit]

    #include <File.au3>

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

    $sPlaylist = @ScriptDir & "\playlist.txt"
    $sTitle = "irgendwas"
    $sFolder = FileSelectFolder("", "", 2)
    If @error Then Exit

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

    $aFIles = _FileListToArray($sFolder, "*.mp3", 1)
    If @error Then Exit

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

    $hFile = FileOpen($sPlaylist, 1)
    FileWrite($hFile, '<?wpl version="1.0"?>' & @CRLF)
    FileWrite($hFile, '<smil>' & @CRLF)
    FileWrite($hFile, '<head>' & @CRLF)
    FileWrite($hFile, '<meta name="Generator" content="Microsoft Windows Media Player -- 12.0.7600.16415"/>' & @CRLF)
    FileWrite($hFile, '<meta name="ItemCount" content="0"/>' & @CRLF)
    FileWrite($hFile, '<meta name="IsFavorite"/>' & @CRLF)
    FileWrite($hFile, '<meta name="ContentPartnerListID"/>' & @CRLF)
    FileWrite($hFile, '<meta name="ContentPartnerNameType"/>' & @CRLF)
    FileWrite($hFile, '<meta name="ContentPartnerName"/>' & @CRLF)
    FileWrite($hFile, '<meta name="Subtitle"/>')
    FileWrite($hFile, '<author/>' & @CRLF)
    FileWrite($hFile, '<title>"' & $sTitle & '"</title>' & @CRLF)
    FileWrite($hFile, '<body>' & @CRLF)
    FileWrite($hFile, '<seq>' & @CRLF)
    For $i = 1 To $aFIles[0]
    FileWrite($hFile, '<media src="' & $sFolder & "\" & $aFIles[$i] & '"/>' & @CRLF)
    Next
    FileWrite($hFile, '</seq>' & @CRLF)
    FileWrite($hFile, '</body>' & @CRLF)
    FileWrite($hFile, '</smil>' & @CRLF)

    [/autoit]


    Bei mehreren Playlistformaten würden sich vlt. Templates anbieten.

  • Edit und Inputbox Change event

    • i2c
    • 23. Februar 2011 um 15:15
    noch eine Möglichkeit
    [autoit]

    #include <GUIConstants.au3>
    #include<GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #region - GUI Create
    Global $timer = 0
    GUICreate('',100,100)
    $hInput = GUICtrlCreateInput('',4,4,40)
    $hButton = GUICtrlCreateButton('bla', 50,4)
    GUISetState()
    #endregion
    GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
    AdlibRegister("_enableControl")
    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd
    #endregion

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

    Func MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    Local $nNotifyCode = BitShift($wParam, 16)
    Local $hCtrl = $lParam
    Local $hInputCtrl = $hInput
    If Not IsHWnd($hInputCtrl) Then $hInputCtrl = GUICtrlGetHandle($hInput)
    ConsoleWrite($nNotifyCode & @CRLF)
    If ($nNotifyCode = 1024 Or $nNotifyCode = 786) And $hCtrl = $hInputCtrl Then
    $timer = TimerInit()
    GUICtrlSetState($hButton, $GUI_DISABLE)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

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

    Func _enableControl()
    If TimerDiff($timer) >= 3000 Then
    GUICtrlSetState($hButton, $GUI_ENABLE)
    $timer = 0
    EndIf
    EndFunc

    [/autoit]
  • Notepad++ und AutoIt

    • i2c
    • 23. Februar 2011 um 06:18

    Ich hab jetzt nochmal ein wenig mit der Function List gespielt.
    Bis auf die nicht nachvollziehbaren, völlig willkürlich auftretenden Abstürze im Regeldialog läuft's rund. Die XML hab ich händisch angepasst.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    C:\Users\&lt;username&gt;\AppData\Roaming\Notepad++\plugins\config\FunctionListRules.xml -bestehenden Block ersetzen
    XML
    <Language name="AutoIt" imagelistpath="">
            <CommList param1=";" param2="" />
            <CommList param1=";~" param2="" />
            <CommList param1="#cs" param2="#ce" />
            <CommList param1="#comments-start" param2="#comments-end" />
            <Group name="INCLUDES" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
                <Rules regexbeg="" regexfunc="#include[.\W\w]+" regexend="" bodybegin="" bodyend="" sep="" />
            </Group>
            <Group name="FUNCTION" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
                <Rules regexbeg="func" regexfunc="[.\W\w]+" regexend="\([^(]*\)" bodybegin="" bodyend="" sep="," />
            </Group>
    </Language>
    Alles anzeigen


    *Notepad++ sollte während der Änderung geschlossen bleiben

    Was ich ja ziemlich interessant finde - http://npppythonscript.sourceforge.net/

    Dateien

    screen23.PNG 740,51 kB – 0 Downloads
  • Notepad++ und AutoIt

    • i2c
    • 22. Februar 2011 um 22:29

    Der Pfad $(SYS.ProgramFiles)\NppRunAut2exe.exe verweist auf DIE_SKRIPT2EXE.EXE.
    Mit anderen Worten DIE_SKRIPT2EXE.EXE ist NppRunAut2exe.exe.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™