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. johny1099

Beiträge von johny1099

  • CMD Ausgabe einlesen und weiter verarbeiten

    • johny1099
    • 15. Dezember 2009 um 10:04

    also ich habe folgendes versucht:

    [autoit]

    #include <Constants.au3>
    Local $foo = Run(@ComSpec &" /c bcdedit.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line
    While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    ;MsgBox(0, "STDOUT gelesen:", $line)
    If StringInStr ($line, "systemroot") Then
    MsgBox (0,"",$line)
    EndIf
    WEnd

    [/autoit]


    Trotdem wird der komplette Inhalt von bcdedit ausgegeben und nicht die einzelne Zeile wo systemroot enthält
    Was mache ich falsch?

  • CMD Ausgabe einlesen und weiter verarbeiten

    • johny1099
    • 15. Dezember 2009 um 09:40

    doch in der MsgBox wird die gesamte Ausgabe angezeigt.


    [autoit]

    #include <Constants.au3>
    Local $foo = Run(@ComSpec &" /c bcdedit.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $line
    While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT gelesen:", $line)
    WEnd

    [/autoit]


    Aber wie kann ich nun die einzelnen Zeilen nach einem bestimmten String abfragen aus der MsgBox?

  • CMD Ausgabe einlesen und weiter verarbeiten

    • johny1099
    • 15. Dezember 2009 um 09:26

    Guten Morgen

    ich möchte den Befehl bcedit.exe mit folgendem Aufruf starten :

    Run(@ComSpec &" /c bcdedit.exe")


    Danach möchte ich die Ausgabe vom CMD Fenster auswerten können. (jede einzelne Zeile sollte nach einem bestimmten String durchsucht werden können. Ich habe bereits in der Hilfe nachgelesen und schon verschiedenes versucht mit STDOUTRead und STDERRRead. Aber leider funktioniert es nicht so wie ich das gerne hätte.

  • AutoIt Fehlermeldung: Error: Subscript used with non-Array variable

    • johny1099
    • 8. Dezember 2009 um 16:44
    Zitat von SEuBo
    [autoit]


    #include <file.au3>
    Dim $arr
    _FileReadToArray("C:\AutoIt\Adressen.txt", $arr)
    If IsArray($arr) Then ; <---------- :)
    If $arr[1] <> "" Then
    ;... blabalbalaba
    EndIf
    EndIf

    [/autoit]

    Vielen Dank allen zusammen für die Unterstützung. SEuBo, soetwas habe ich gesucht.

    Alles anzeigen
  • AutoIt Fehlermeldung: Error: Subscript used with non-Array variable

    • johny1099
    • 8. Dezember 2009 um 16:38

    Jetzt funktioniert es. Warum ging Dim $arr[1] nicht?


    #include <file.au3>
    Dim $arr
    Dim $arr[2]

    _FileReadToArray("C:\AutoIt\Adressen.txt",$arr)

    If $arr[1] <> "" Then ; hier soll geprüft werden ob überhaupt Adressen in der Datei stehen
    ;hier sollen weitere Aktionen ausgeführt werden .....

    EndIf

  • AutoIt Fehlermeldung: Error: Subscript used with non-Array variable

    • johny1099
    • 8. Dezember 2009 um 16:35

    Jetzt bekomme ich ne andere Fehlermeldung:

    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:


    #include <file.au3>
    Dim $arr
    Dim $arr[1]

    _FileReadToArray("C:\AutoIt\Adressen.txt",$arr)

    If $arr[1] <> "" Then ; hier soll geprüft werden ob überhaupt Adressen in der Datei stehen
    ;hier sollen weitere Aktionen ausgeführt werden .....

    EndIf

  • AutoIt Fehlermeldung: Error: Subscript used with non-Array variable

    • johny1099
    • 8. Dezember 2009 um 16:27

    Hallo zusammen

    ich bekomme folgende Fehlermeldung (MsgBox) wenn ich das Script ausführe:

    Line -1:

    Error: Subscript used with non-Array variable


    #include <file.au3>
    Dim $arr
    _FileReadToArray("C:\AutoIt\Adressen.txt",$arr)

    If $arr[1] <> "" Then ; hier soll geprüft werden ob überhaupt Adressen in der Datei stehen
    ;hier sollen weitere Aktionen ausgeführt werden .....
    EndIf


    In diesem Beispiel ist die Datei leer. Ich vermute deswegen kommt die Fehlermeldung. Kann ich mit einem anderen Befehl prüfen ob die Datei leer ist oder ob Adressen drin stehen?

  • Vierter Geburtstag

    • johny1099
    • 8. Dezember 2009 um 08:58

    Hallo zusammen

    ich bin zwar noch nicht lange hier im Forum aktiv, aber die Unterstützung ist wirklich genial. Ich bin wirklich begeistert von dieser Community. Bei dieser Gelegenheit möchte ich mich bei allen bedanken die hier tatkräftig die Userfragen im Forum kompetent,schnell und geduldig beantworten.

  • Spaltenbreite in Funkion _ArrayDisplay selber definieren

    • johny1099
    • 7. Dezember 2009 um 22:03

    Hallo BugFix

    danke für die Erweiterung der Funktion _ArrayDisplay. Kann ich nun die neue Funktion einfach in der Datei array.au3 ersetzen im Include Verzeichnis, oder ist das eine Beta-Version?

  • Adress Daten in Array einlesen und formatieren

    • johny1099
    • 7. Dezember 2009 um 12:59

    Hallo Andy

    ich habe Dein Script auch getestet. Vielen Dank für die detailierte Erklärungen der einzelnen Programmzeilen.

    Es funktioniert perfekt. Ich werde deine Variante benutzen und hoffe die anderen sind mir nicht böse.


    Vielen Dank an alle die so zahlreich Unterstützung gegeben haben.

  • Adress Daten in Array einlesen und formatieren

    • johny1099
    • 7. Dezember 2009 um 11:52

    Vielen Dank allen für die Beiträge. Ich werde alle Vorschläge testen und dann entsprechend Feedback geben.

  • Adress Daten in Array einlesen und formatieren

    • johny1099
    • 7. Dezember 2009 um 11:17

    Hallo zusammen

    ich stehe vor folgender Herausforderung:

    Ich habe eine Adressdatei die folgendes Format hat:


    1;"müller";"Michael Müller";"Hauptstrasse 49";"80000";"München";
    2;"meier";"Thomas Meier";"Rheinweg 5";"60057";"Frankfurt";
    3;"schmidt";"Sabine Schmidt;"Fortranstrass 28";"10000";"Berlin";


    Nun habe ich mit der Funtion _FileReadtoArray die Daten in ein Array importiert und mit _ArrayDisplay anzeigen lassen.

    Mit welchem Befehl kann ich nun die Daten so formatieren das für jeweils eine Spalte für jeden Wert (Kd-Nr.,suchname,Vorname Name,Strasse,PlZ,Ort im Array Display angezeigt wird?

    Row Col0 (Kd-Nr) Col1 (suchname) Col2 (Vorname u. Name) usw.

    0 3

    1 1 müller Michael Müller

    2 2 meier Thomas Meier

    3 3 schmidt Sabine Schmidt


    Wenn ich momentan die Funktion _FileReadtoArray verwende wird es mit _ArrayDisplay folgendermassen angezeigt:

    [0]|3
    [1]|1;"müller";"Michael Müller";"Hauptstrasse 49";"80000";"München";
    [2]|2;"meier";"Thomas Meier";"Rheinweg 5";"60057";"Frankfurt";
    [3]|3;"schmidt";"Sabine Schmidt;"Fortranstrass 28";"10000";"Berlin";


    Ich hätte gerne für jeden Wert (Nr. suchname, Vorname Nam, Strasse usw) eine eigene Spalte. Ist das möglich?


    #include <array.au3>
    #include <file.au3>

    Dim $path_adressen = "C:\AutoIt\Adressen.txt"
    Dim $arr_adressen

    If not _FileReadToArray($path_adressen,$arr_adressen) Then
    MsgBox(0,"","Error opening specified file")
    EndIf
    _ArrayDisplay($arr_adressen,"Titel von Arraydisplay")

  • Spaltenbreite in Funkion _ArrayDisplay selber definieren

    • johny1099
    • 7. Dezember 2009 um 10:59

    danke für das Angebot ;) , aber ich sehe vor lauter Bäumen den Wald nicht mehr. Das zum Thema "Arrays". Aber irgendwann werde ich das hoffentlich auch mal verstehen.

  • Spaltenbreite in Funkion _ArrayDisplay selber definieren

    • johny1099
    • 7. Dezember 2009 um 10:44

    Guten Morgen zusammen

    ich versuche im Moment das schwierige Thema "Arrays" zu verstehen. Ich habe hierbei eine nützliche Funktion ==>_ArrayDisplay entdeckt. Kann man in dieser Funktion die Spaltenbreite als Parameter angeben, damit der ganze Text der Spalte (Col0) sofort beim Öffnen des Fensters angezeigt wird?

  • Geburtstag von peethebee und funkey

    • johny1099
    • 4. Dezember 2009 um 18:01

    Auch von mir die besten Wünsche zum Geburtstag wünsche ich Euch beiden.

  • Aktion ausführen beim Anklicken von Listeintrag in einem Listfeld

    • johny1099
    • 3. Dezember 2009 um 09:11

    Hallo Xenobiologist


    danke für die schnelle Beantwortung meiner Frage. Funktioniert einwandfrei.

  • Aktion ausführen beim Anklicken von Listeintrag in einem Listfeld

    • johny1099
    • 3. Dezember 2009 um 08:34

    Hallo zusammen

    ich habe ein Formular erstellt indem ich meine Adressen in einem Listfeld (GUICtrlCreateList) anzeige.

    Ist es möglich wenn ich einen Eintrag in dem Listfeld markiere, dass automatisch eine Aktion ausgeführt wird, ohne dass ich zuerst auf einen Button klicken muss, welcher diese Aktion ausführt.

    Spoiler anzeigen

    #include <GuiListBox.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Dim $array_1,$suche_adressen,$string_logfile
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 543, 350, 50)
    $lbl_top = GUICtrlCreateLabel("",-1,-1,625,100)
    GUICtrlSetBkColor(-1,0x000084)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\autoit_240x100.jpg", 200, -1, 240, 100, BitOR($SS_NOTIFY,$WS_GROUP))
    $grp_group1 = GUICtrlCreateGroup("Adresse:",5,110,500,50)
    $input_input1 = GUICtrlCreateInput("",10,130,490,20)
    $grp_group2 = GUICtrlCreateGroup("Liste der Adressen",5,160,500,200)
    $list_list1 = GUICtrlCreateList("",10,180,490,175)
    $grp_group3 = GUICtrlCreateGroup("Log Information",5,365,500,150)
    $edit_edit1 = GUICtrlCreateEdit("",10,380,490,130)
    $button_suche = GUICtrlCreateButton("Adresse suchen",520,120,100,30)
    $button_listadressen = GUICtrlCreateButton("Adressen anzeigen",520,170,100,30)

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button_suche
    GUICtrlSetData($list_list1,"")
    GUICtrlSetData($edit_edit1,"")
    $suche_adressen = GUICtrlRead($input_input1)
    _FileReadToArray(@ScriptDir & "\Adressen.txt",$array_1)
    For $i = 1 to UBound($array_1) -1
    If StringInStr($array_1[$i],$suche_adressen) Then
    GUICtrlSetData($list_list1,$array_1[$i])
    $string_logfile &= @HOUR & ":" & @MIN & ":" & @SEC & " " & $array_1[$i] & @CRLF
    GUICtrlSetData($edit_edit1,$string_logfile)
    EndIf
    Next
    Case $button_listadressen
    GUICtrlSetData($list_list1,"")
    _FileReadToArray(@ScriptDir & "\Adressen.txt",$array_1)
    For $i = 1 To UBound ($array_1) - 1
    _GUICtrlListBox_AddString ($list_list1, $array_1 [$i])
    Next
    EndSwitch
    WEnd

  • AutoIt Logo in Vordergrund bringen

    • johny1099
    • 2. Dezember 2009 um 19:24

    so langsam dürfte auch ich es begriffen haben. Danke SEuBo

  • Kompletter Inhalt aus einer Listbox löschen

    • johny1099
    • 2. Dezember 2009 um 18:35

    ich habe soeeben mein Script angepasst und beide Varianten ausprobiert.

    Variante 1: GUICtrlSetData($liste,"")

    Variante 2: _GUICtrlListBox_ResetContent ($list_list1)

    Beide Varianten funktionieren perfekt.

    Besten Dank.

  • AutoIt Logo in Vordergrund bringen

    • johny1099
    • 2. Dezember 2009 um 18:24

    Hallo SEuBo, hallo AutoIt Hilfe ^^

    danke für die Erklärung. Ich habe mit dem Koda(Formdesigner) das Bild eingefügt. Hierbei wurde automatisch der Stylewert $WS_CLIPSIBLINGS ebenfalls hinzugefügt und schon war das Problem da. Aber zum Glück gibt es ja noch hilfsbereite Leute die einem helfen. Super Service von euch hier im AutoIt Forum.


    http://www.autoit.de/dokumentation_…tions/BitOR.htm

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™