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. $var

Beiträge von $var

  • Bestimmte Werte aus Textdatei auslesen

    • $var
    • 12. Juli 2012 um 17:31
    [autoit]

    #include <Array.au3>
    Global $s_Path = 'test.txt'
    _ArrayDisplay (StringRegExp (FileRead ($s_Path), 'Autor (.+)', 3))

    [/autoit]


    Oder...

    [autoit]

    Global $s_Path = 'test.txt'
    Global $s_Read, $i_Error, $i_Line = 0

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

    Do
    $i_Line += 1
    $s_Read = FileReadLine ($s_Path, $i_Line)
    $i_Error = @error
    If StringInStr ($s_Read, 'Autor') Then MsgBox (0, '', $s_Read)
    Until $i_Error = -1

    [/autoit]
  • Error bei Letzter Zeile der For Schleife

    • $var
    • 11. Juli 2012 um 16:50
    [autoit]

    $count = UBound($blue)

    [/autoit]

    $count entspricht hier UBound. Du musst bis UBound - 1 gehen, was also $count - 1 entspricht.
    Da liegt Cheater Dieter schon richtig.

    Wenn du bis UBound zählen würdest, würdest du ein Feld außerhalb des Arrays ansprechen, was einen Fehler hervorrufen würde.
    Hättest du die Fehlermeldung gelesen, würdest du auch genau wissen, was nicht stimmt...

    In Zukunft solltest du übrigens auch die Fehlermeldung posten... :rolleyes:

    (Die Sätze sind ja mal mehr als monoton... :thumbdown: )

  • RegEx und Arrays

    • $var
    • 9. Juli 2012 um 16:41

    Versuch es mal mit dem Pattern \d\d\d6228(.+)

  • Wert aus Funktion übergeben

    • $var
    • 9. Juli 2012 um 16:05

    Ah, jetzt habe ich auch mal einen Blick in den Code geworfen...
    In der vierten Zeile der Funktion _KCLWochentag überschreibst du $var_inifile_lesen mit dem Rückgabewert von _KCLIniLesen.
    Nur dummerweise hat die Funktion _KCLIniLesen keinen Rückgabewert und deshalb bekommst du nichts, also 0.

    In der Func _KCLIniLesen musst du einfach den Wert returnen.

    [autoit]

    Func _KCLIniLesen($var_inifile, $var_Benutzername, $var_inifile_key)
    $var_inifile_lesen = IniRead($var_inifile, $var_Benutzername, $var_inifile_key, "(NULL)")
    ConsoleWrite("Wert in der Funktion von " & $var_inifile_key & " ist: " & $var_inifile_lesen & @CRLF)

    Return $var_inifile_lesen
    EndFunc ;==>_KCLIniLesen

    [/autoit]
    Zitat

    Wert in der Funktion von Zeit ist: 15:11
    Wert außerhalb der Funktion von Zeit ($var_inifile_lesen) ist: 15:11
    Wert außerhalb der Funktion von Zeit ($var_inifile_Zeit) ist: 15:11

  • Wert aus Funktion übergeben

    • $var
    • 9. Juli 2012 um 15:33

    Deklariere die Variablen global... Oder übergib sie als Parameter (was natürlich besser ist).

  • Alle Dateien öffnen

    • $var
    • 9. Juli 2012 um 13:19
    Spoiler anzeigen
    [autoit]

    #include <File.au3>

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

    Global Const $s_Path = @MyDocumentsDir
    ; Ordner, in dem sich die XML-Dateien befinden (ohne Backslash)

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

    Global Const $a_List = _FileListToArray ($s_Path, '*', 1)
    ; Hier wird ein Array mit allen Dateinamen erstellt

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

    Global $a_Line

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

    For $j = 0 To $a_List[0]
    If StringRight ($a_List[$j], 4) <> ".xml" Then ContinueLoop

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

    $a_Split = StringSplit (FileRead ($s_Path & "\" & $a_List[$j]), @CRLF, 1)
    ; Es ist besser den Inhalt der Datei an den Zeilenumbrüchen zu splitten,
    ; weil man dann die Datei nicht immer wieder auslesen muss. +Geschwindigkeit

    For $i = 1 To $a_Line[0]
    If StringInStr ($a_Line[$i], "<Land><![CDATA[F]]></Land>") Then
    _FileWriteToLine ($s_Path & "\" & $a_List[$j], $i, "<Land><![CDATA[FR]]></Land>", 1)
    ElseIf StringInStr ($a_Line[$i], "<LLand><![CDATA[F]]></LLand>") Then
    _FileWriteToLine ($s_Path & "\" & $a_List[$j], $i, "<LLand><![CDATA[FR]]></LLand>", 1)
    EndIf
    Next
    Next

    [/autoit]

    €: Und wieder bin ich so spät... :pinch:

  • String Split

    • $var
    • 9. Juli 2012 um 12:34

    Versuch es mal damit.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    $Text = ("Das ist Text 1. Das ist Text2. Das ist Text 3.")

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

    _ArrayDisplay (StringSplit ($Text, '.'))
    _ArrayDisplay (_StringSplit ($Text, '.'))

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

    Func _StringSplit ($s_String, $s_Delimiters, $i_Flag = 0)
    If (Not IsInt ($i_Flag)) Or ($i_Flag > 2) Or ($i_Flag < 0) Then
    Local $a_Ret[2] = [1, $s_String]
    Return SetError (1, 0, $a_Ret)
    EndIf

    Local $a_Split = StringSplit ($s_String, $s_Delimiters, $i_Flag)
    Local $a_Ret[1]

    For $i = 1 To $a_Split[0]
    If $a_Split[$i] <> "" Then
    ReDim $a_Ret[UBound ($a_Ret) + 1]
    $a_Ret[UBound ($a_Ret) - 1] = $a_Split[$i]
    EndIf
    Next

    $a_Ret[0] = UBound ($a_Ret) - 1
    Return $a_Ret
    EndFunc ;==> _StringSplit

    [/autoit]

    Leere Strings werden einfach gekickt...

  • Syntax Problem

    • $var
    • 8. Juli 2012 um 19:58

    Also ich bekomme dabei keinen Syntax-Fehler... Solange die Variablen deklariert sind, ist das kein Problem.
    Da scheint wohl etwas anderes nicht zu stimmen.

  • Syntax Problem

    • $var
    • 8. Juli 2012 um 19:46
    [autoit]

    InetGet("http://test.test.de/abc_tts?ie=UTF-8&q=" & $meinText & "&tl=" & $var & "&total=1&idx=0&textlen=3", @ScriptDir & "\test.jpg")

    [/autoit]
  • Syntax Problem

    • $var
    • 8. Juli 2012 um 19:03

    Wenn ich es richtig verstehe, fehlen ganz am Anfang Anführungszeichen...

    [autoit]

    "UTF-8&q=" & $MeinText & "&tl="&$var&"&total=1&idx=0&textlen=3"

    [/autoit]
  • Führende nullen hinzufügen

    • $var
    • 7. Juli 2012 um 21:17
    [autoit]

    MsgBox (0, "", StringFormat ("%03d", 9))

    [/autoit]
  • [gelöst] Rechnen mit For to step

    • $var
    • 7. Juli 2012 um 18:29

    Da deine Erklärung nicht sehr eindeutig ist und dein Code allgemein schwer verständlich ist, habe ich ziemlich sicher nicht das, was du wolltest...
    Aber vielleicht ist es ja ein Ansatz. Mal schauen.

    Spoiler anzeigen
    [autoit]

    MsgBox (0, 'Gehalt', _Gehalt ('list.txt'))

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

    Func _Gehalt ($s_Path)
    Local $a_Line = StringSplit (FileRead ($s_Path), @CRLF, 1) ; Liest die Datei aus
    If @error Then Return SetError (1, 0, '') ; und splittet sie an den Zeilenumbrüchen

    Local $a_Val, $i_Val, $s_Ret

    For $i = 1 To $a_Line[0] ; Checkt jede Zeile ab
    $a_Val = StringSplit ($a_Line[$i], ' ') ; und Splittet die Zeilen an den Leerzeichen

    $i_Val = 1
    For $j = 1 To $a_Val[0] ; Multipliziert die einzelnen Splits
    $i_Val *= $a_Val[$j] ; in einer Schleife miteinander
    Next ; (führt zu einem Fehler, falls eines der Splits keine Zahl ist)

    $s_Ret &= $i_Val &@CRLF ; Verknüpft die einzelnen Ergebnisse untereinander
    ConsoleWrite ($i_Val &@CRLF) ; Debug...
    Next

    Return $s_Ret ; Gibt die ganzen Ergebnisse zurück
    EndFunc

    [/autoit]

    €: Ai ai, Christoph war schneller... .__.

  • PDF Datei nach Wort durchsuchen und dieses dann als Dateiname verwenden und die Datei umbenennen.

    • $var
    • 7. Juli 2012 um 10:44
    Zitat von BugFix

    $var: Er will die Datei-Inhalte nach dem Wort durchsuchen, nicht die Datei-Namen.

    Ja, stimmt doch so. Schau mal in Zeile 13 - da ist es leicht verschachtelt... ;)

  • PDF Datei nach Wort durchsuchen und dieses dann als Dateiname verwenden und die Datei umbenennen.

    • $var
    • 7. Juli 2012 um 02:00

    Auf die Schnelle konnte ich das hier machen... Sollte klappen - rein theoretisch.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Global Const $s_Path = @DesktopDir ; Verzeichnis, in dem gesucht werden soll (ohne Backslash)
    Global Const $s_Ext = '.pdf' ; Dateiendung, nach der gesucht werden soll... :P
    Global Const $s_Search = 'photo' ; Das zu suchende Wort

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

    Global $a_Reg, $a_List = _FileListToArray ($s_Path, '*', 1) ; Ein Array aller Dateien im Ordner wird erstellt

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

    For $i = 1 To $a_List[0]
    If StringRight ($s_Path & '\' & $a_List[$i], StringLen ($s_Ext)) = $s_Ext Then
    ; (-1) Falls die Dateiendung stimmt...
    $a_Reg = StringRegExp (FileRead ($s_Path & '\' & $a_List[$i]), $s_Search & '(...)', 1)
    ; (-1) ... wird nach dem Wort und drei nachfolgenden Zeichen gesucht
    If IsArray ($a_Reg) Then
    ; (-1) Falls das Wort gefunden wurde...
    FileMove ($s_Path & '\' & $a_List[$i], $s_Path & '\' & $a_Reg[0] & $s_Ext, 1)
    ; (-1) ... wird die Datei umbenannt
    EndIf
    EndIf
    Next

    [/autoit]

    Geht aber sicher einfacher (vorallem das mit der Dateiendung). :P

  • AD: Gruppen eines Benutzers in GUI darstellen

    • $var
    • 5. Juli 2012 um 09:38
    [autoit]

    Global $aUser = _AD_GetUserGroups(@UserName, 1)
    If @error > 0 Then
    MsgBox(64, "User: " & @UserName & "' has not been assigned to any group")
    EndIf

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

    $text = ""
    $ubound = Ubound($aUser) - 1
    ;Hier müsstest du trotzdem -1 angeben,
    ;da du sonst nur zum vorletzten Element gelangst.

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

    For $i = 1 To $ubound
    $text &= $aUser[$i] & @CRLF
    ; Mit &= verknüpfst du die beiden Strings
    ; So, wie du es vorher gemacht hast, hast du den alten Inhalt immer überschrieben.
    Next
    GUICtrlSetData($group, $text)

    [/autoit]


    Was die Formatierung des Codes angeht... Benutz dafür den Reiter "Quellcode" anstatt "Editor". Dann sollte das auch klappen.

  • Klein zu Großbuchstaben umwandeln

    • $var
    • 4. Juli 2012 um 17:28
    [autoit]

    StringUpper

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

    ; und wieder zurück...
    StringLower

    [/autoit]
  • Icons für EXE Files definieren / vergeben

    • $var
    • 4. Juli 2012 um 15:13

    Ein Icon kannst du entweder beim Kompilieren reinmachen...

    Spoiler anzeigen

    [Blockierte Grafik: http://img6.imagebanana.com/img/tvn2puuf/image.png]

    ... oder du schreibst am Anfang deines Codes folgende Zeile rein:

    [autoit]

    #AutoIt3Wrapper_Icon=dein_icon.bmp

    [/autoit]
  • Autorun

    • $var
    • 3. Juli 2012 um 21:11

    Folge dem Pfad...

    [autoit]

    MsgBox (0, '', @StartupDir)

    [/autoit]
  • Buchstabe in Variable hinzufügen

    • $var
    • 3. Juli 2012 um 14:52

    In meinem Code werden die Zeichen 48 bis 90 überprüft. Dabei sind 48 bis 57 die Ziffern 0-9 und 65 bis 90 die Großbuchstaben.
    97 bis 122 wären die Kleinbuchstaben.

    Würdest du also auf Kleinbuchstaben prüfen, würdest du immer Kleinbuchstaben bekommen - unabhängig davon, ob du gerade groß oder klein schreibst.
    Mit dieser Methode kannst du einfach nicht beides prüfen (jedenfalls fällt mir nicht wirklich etwas ein).
    Einzige Möglichkeit wäre, wenn du noch abcheckst, ob Shift/Caps gedrückt ist...

    Da diese Exaktheit aber einen fast perfekten Keylogger darstellen würde, bin ich dagegen, in diesem Forum Hilfe dazu anzubieten.

  • Wie bau ich am besten die Schleife ein

    • $var
    • 3. Juli 2012 um 13:51

    Beim Code blicke ich gerade nicht wirklich durch... Du könntest aber die komplette Abfrage in eine Funktion packen und bei Erfolg dann 1 returnen; bei Misserfolg 0.
    Dann geht es nach dieser Struktur:

    [autoit]

    For $i = 0 To 2
    $i_Ret = foo () ; Deine Funktion...
    If $i_Ret = 1 Then ExitLoop
    Next

    If $i_Ret = 1 Then
    MsgBox (0, '', 'Erfolg')
    Else
    MsgBox (0, '', 'Misserfolg')
    EndIf

    [/autoit]

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™