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

Beiträge von Masterciw

  • Learning to Script with AutoIt V3

    • Masterciw
    • 20. Oktober 2014 um 10:13

    Hi Alina,

    erst mal vielen Dank. Es ist schon okay das Urheberrecht zu wahren.
    Vielen Dank nochmals und einen schönen Tag.

    Michael

  • Learning to Script with AutoIt V3

    • Masterciw
    • 20. Oktober 2014 um 08:36

    Hallo Alina,

    Hört sich interessant an. Hast du den geheimnissvollen Gönner schon gefunden. Hast Du diese Datei noch und könntest Du Sie mir zur Verfügung stellen. Suche gerade alles an Informationen über Autoit zusammen was sich finden läßt.

    Vielen Dank.

    Michael

  • Array - Probleme mit der Suche

    • Masterciw
    • 14. Oktober 2014 um 09:57

    Hallo Andy,
    genau so wie Du es oben beschrieben hast. Habe es soweit auch lauffähig bekommen. Es gibt zwar sicher noch einiges an Verbeserungspotential und mein Code gleicht auch eher einem Sphaghetti als einem Programm, aber dafür lerne ich ja auch noch. Im nächsten Schritt möchte ich das Ganze noch ein wenig hübsch machen und vielleicht eine GUI implementieren.

    Dank Blubbstar habe ich das Ganze zum Laufen bekommen. Vielen Dank nochmals. Die anderen Hinweise waren auch recht hilfreich für mich.
    Ich sehe ein das ich noch viel lernen muss. Auch finde ich es recht mühseelig den Code zu debuggen.

    P.S Wie kann ich mich hier im Forum nützlich machen. Würde gerne irgendwie dazu beitragen.

    Meine ursprüngliche Frage ist vollumfassend beantwortet. Wie setzte ich das Ganze nun auf gelöst.

    Gruß Michael

  • Array - Probleme mit der Suche

    • Masterciw
    • 12. Oktober 2014 um 13:32

    Hallo zusammen,

    erst einmal vielen Dank für die vielen Antworten und anschaulichen Beispiele. Bisher habe ich es noch nicht geschafft das Ganze umzusetzen.

    Auf dem ersten Blick sieht aber der Beitrag von Blubbstar wie für mich gemacht aus.
    Auch die Geschichte mit der ausgelagerten Funktion finde ich toll auch wenn ich mich momentan noch nicht so sicher im Umgang mit Funktionen bin.

    Auch an Alina recht herzlichen Dank. In der Tat tue ich mich recht schwer in der Bestimmung der korrekten Column im Array. Hoffe ich werde das bald begreifen und dann sicher einsetzten.
    Wie gesagt bin ich noch ganz am Anfang mitt Autoit. Habe in der Vergangenheit viel mit Batch, VBS und VBA gemacht, aber Autoit und dessen Einsatzmöglichkeiten haben mich schier umgehauen.
    Wenn man erst einmal das Potential von Autoit erfasst hat, scheint es kaum noch Beschränkungen der Möglichkeiten zu geben.

    Andy, danke auch für Deine Antwort. Die Dateien, die ich für XBMC benötige sind eigentlich recht einfach gestrickt.
    Wichtig ist dazu das der Serienordner einen aussagekräftigen Namen hat. z.B Monk.
    Dann sollten die Unterordner z.B Staffel 01 bzw Season 01 heißen.
    Die Dateien in den Unterordner heißen dann meist: S01E01.mp4.
    Um ein wenig mehr Übersicht zu haben, habe ich an mich aber den Anspruch diese z.B Monk-S01-E01-Mr Monk und das Attentat Teil 1.mp4 zu nennen um diese auch mal gezielt z.B an meiner WD Box abzuspielen, die nicht über Scrapper verfügt, die sich anhand der Dateinamen die Informationen aus dem Internet ziehen.

    Auch Danke für den Tip mit der SQL-Lite Datenbank Andy. War mir gar nicht bewußt das es so einfach sein kann eine Datenbank unter Autoit zu erstellen und mein Respekt gegenüber Autoit ist gerade ein wenig mehr
    gewachsen.

    Also Euch allen erst einmal vielen Dank. Werde nachher mal schauen ob ich das umgesetzt bekomme und Euch auf dem Laufendem halten.

  • Array - Probleme mit der Suche

    • Masterciw
    • 11. Oktober 2014 um 22:59

    Hallo,

    kann mich gar nicht mehr daran erinnern wann ich mich hier angemeldet habe, aber seit einiger Zeit bin ich wieder mit Autoit unterwegs und schlage mich so durch.

    Nun habe ich begonnen mich mit Array zu beschäftigen und mir auch die Hilfe und diverse Tutorials dazu angeschaut und ich denke mir auch recht gut verstanden.

    Folgendes Projekt habe ich mir derzeit vorgenommen:

    Ich habe sehr viele Serien, die sich im Lauf der Jahre angesammelt haben. Diese möchte ich nun vernünftig benamen und in Staffel Ordner sortieren, so dass ich diese vernünftigt mit XBMC nutzen kann.

    Fertige Lösungen kann ich dazu nicht finden, also dachte ich mir ich versuche es mal mit AutoIT.

    Als Grundlage habe ich z.B einen Ordner mit allen Folgen einer Serie.
    Des Weiteren ein Textfile mit dem folgendem Aufbau:
    Monk/1/1/Mr Monk und das Attentat Teil 1
    Monk/1/2/Ist in Episode 1 enthalten
    Monk/1/3/Mr Monk und die Hellseherin
    Monk/1/4/Mr Monk gegen die Qualle
    Monk/1/5/Mr Monk auf dem Rummelplatz
    Monk/1/6/Mr Monk in der Anstalt
    Monk/1/7/Mr Monk und ein Milliardaer auf Abwegen
    Monk/1/8/Mr Monk und Monica
    Monk/1/9/Mr Monk und der Marathon Mann
    Monk/1/10/Mr Monk macht Urlaub
    Monk/1/11/Mr Monk und das Erdbeben
    Monk/1/12/Mr Monk und Willie Nelson
    Monk/1/13/Mr Monk im Flugzeug
    Monk/2/1/Mr Monk geht wieder zur Schule
    Monk/2/2/Mr Monk faehrt nach Mexiko
    usw.

    Dieses Textfile lese ich in ein Array ein als Delimiter verwende ich "/" und mit ArrayDisplay bekomme ich folgendes Ergebnis

    Nun möchte ich das Array durchsuchen um die Dateien im Ordner der Festplatte umzubennen.
    Als Ergebnis möchte ich z.b den Namen der 12. Folge der ersten Staffel bekommen.
    "Mr Monk und Willie Nelson"

    Irgendwie verstehe ich die Suche aber nicht so recht.

    Hier mal der Part mit der Suche des Quelltextes

    [autoit]

    $aResult = _ArrayFindAll($aText,$Staffel,0,0,1,0,1)
    ; hier durchsuche ich das Array nach der Staffel
    _ArrayDisplay($aResult,"Ergebnis der Suche in $aText")
    ; hier durchsuche ich das Array nach der Folge 12
    $aResult2 = _ArrayFindAll($aResult,"12",0,0,1,0,2)
    _ArrayDisplay($aResult2,"Ergebnis der Suche in $aResult2")

    [/autoit]

    Das erste _ArrayDisplay liefert mir folgendes zurück:

    Das 2. dann

    Letzendlich bleiben von allen Folgen nur eine über, aber wie komme ich nun an den Namen der Folge und wie schreibe ich diese an in eine Stringvariable, so dass ich diese für das folgende Umbenennen der Datei nutzen kann.

    Müsste dazu ja ermitteln welche Zeile im ursprünglichen Array den Namen der gewünschten Folge beinhaltet und im Anschluss
    dann den Namen aus dem Feld auslesen oder?

    Hoffe ich habe mein Problem verständlich geschildert und ihr könnt mir in irgendeiner Form Tips geben.

    Vielen Dank bereits im Voraus.

  • ComboBox wieder einen Default String angeben ohne den Inhalt zu löschen

    • Masterciw
    • 19. September 2009 um 22:40

    Hallo,

    würde mich freuen wenn ich vielleicht als Newbie in der Scene auch mal helfen kann:

    Spoiler anzeigen

    ; Hier wird die Mailserver.ini in die ComboBox ausgelesen
    $mailserver = "mailserver.ini"
    _FileReadToArray($mailserver, $Eingabe)

    ; Diese Schleife wird durchlaufen bis die letze Zeile in der Combobox eingelesen wurde
    For $i = 1 To $Eingabe[0]
    _GUICtrlComboBoxEx_AddString($Combo1, $Eingabe[$i])
    Next

    ; Hiermit wird die Vorgabe der Combobox auf den ersten Eintrag festgelegt
    _GUICtrlComboBoxEx_SetCurSel($Combo1, 0)

    Hoffe das hilft Dir weiter und führt zum gewünschten Erfolg. Bei mir funktioniert es einwandfrei.

  • Gui nach Änderung an Combobox updaten

    • Masterciw
    • 19. September 2009 um 22:32

    Hallo Community,

    erst mal vielen Dank für Euren zahlreichen Tips. Habe das ein oder andere bereits erfolgreich umgesetzt und nun wieder neue Probleme mit dem ganzen. Dies ist mein erstes Mal das ich mich Arrays arbeite und vielleicht denke ich nur ein wenig zu kompliziert oder ich versuche was unmögliches.

    Hier mal mein bisheriger Code.

    Spoiler anzeigen

    #cs Aufbau der Datei template_notes.ini im templates
    [Notes]
    KitType=1
    KeyFilename
    CertificateExpChecked
    MailFile
    Location
    MailServer
    #ce

    #cs Aufbau der ViewServerPath.csv im templates Ordner
    Dummyserver1/Test/DE - Mail;Dummyserver1;test/mail
    Dummyserver1/Test/DE - Mail1;Dummyserver1;test/mail1
    Dummyserver1/Test/DE - Mail2;Dummyserver1;test/mail2
    Dummyserver1/Test/DE - Mail3;Dummyserver1;test/mail3
    Dummyserver1/Test/DE - Mail4;Dummyserver1;test/mail4
    Dummyserver1/Test/DE - Mail5;Dummyserver1;test/mail5
    Dummyserver2/Test/DE - Mail;Dummyserver2;test/mail
    Dummyserver2/Test/DE - Mail1;Dummyserver2;test/mail1
    Dummyserver2/Test/DE - Mail2;Dummyserver2;test/mail2
    Dummyserver2/Test/DE - Mail3;Dummyserver2;test/mail3
    Dummyserver2/Test/DE - Mail4;Dummyserver2;test/mail4
    Dummyserver2/Test/DE - Mail5;Dummyserver2;test/mail5
    Dummyserver3/Test/DE;Dummyserver3;prod/mail1
    Dummyserver4/Test/DE;Dummyserver4;prod/mail2
    Dummyserver5/Test/DE;Dummyserver5;prod/mail3
    Dummyserver6/Test/DE;Dummyserver6;prod/mail4
    Dummyserver7/Test/DE;Dummyserver7;prod/mail5
    Dummyserver8/Test/DE;Dummyserver8;prod/mail6
    Dummyserver9/Test/DE;Dummyserver9;prod/mail7
    Dummyserver10/Test/DE;Dummyserver10;prod/mail8
    #ce

    ; Includes definieren
    #include <File.au3>
    #include <GuiComboBoxEx.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>

    ; Hauptprogramm aufrufen
    _Main()

    ; Hier beginnt das Hauptprogramm
    Func _Main()

    ; Variablen deklarieren
    Dim $answer
    Dim $answer1
    Dim $Eingabe
    Dim $file
    Dim $fileNew
    Dim $i
    Dim $line
    Dim $iMailServerPath
    Dim $arMailServerPath[50][3]
    Dim $MailServerPath
    Dim $MailView
    Dim $MailServer
    Dim $MailPath
    Dim $Combo1
    Dim $mailanswer
    Dim $a
    Dim $MailServer
    Dim $mailserveranswer

    ; Hier beginnt die Definition der Gui des Programmes
    $Form1 = GUICreate("", 630, 370, 192, 114)
    $Label1 = GUICtrlCreateLabel("Geben Sie hier die Notes UserID ein", 8, 110, 175, 17)
    $Input1 = GUICtrlCreateInput("emustermann", 8, 125, 617, 21)
    $Label2 = GUICtrlCreateLabel("Geben Sie den kompletten Vor- und Zunamen des Anwenders ein", 8, 155, 314, 17)
    $Input2 = GUICtrlCreateInput("Elke Mustermann", 8, 170, 617, 21)
    $Label3 = GUICtrlCreateLabel("Wählen Sie hier den Mailserver aus", 8, 200, 171, 17)
    $Combo1 = GUICtrlCreateCombo("Dummyserver", 8, 215, 617, 325)
    $Label4 = GUICtrlCreateLabel("Hier wird der Pfad zum Mailfile angezeigt !", 8, 245, 252, 17)
    $Input3 = GUICtrlCreateInput("", 8, 260, 617, 21)
    $Button1 = GUICtrlCreateButton("INI erstellen", 8, 290, 289, 73, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Programm beenden", 336, 290, 289, 73, $WS_GROUP)
    GUISetState(@SW_SHOW)

    ; Hier wird die Mailserver.ini in die ComboBox ausgelesen
    $iMailServerPath = "templates\ViewServerPath.csv"

    If (Not IsArray($iMailServerPath)) And (@error = 1) Then
    MsgBox(0, "", "ViewServerPath.csv wurde nicht gefunden.")
    Exit
    EndIf

    _FileReadToArray($iMailServerPath, $arMailServerPath)

    ; Diese Schleife wird durchlaufen bis die letze Zeile in der Combobox eingelesen wurde
    For $i = 1 To UBound($arMailServerPath) - 1
    $arMailServer = StringSplit($arMailServerPath[$i], ";", 1)
    GUICtrlSetData($Combo1, $arMailServer[1])
    ; Hiermit wird die Vorgabe der Combobox auf den ersten Eintrag festgelegt
    ; GUICtrlSetData($Combo1, "Dummyserver")
    $arMailPath = StringSplit($arMailServerPath[$i], ";", 1)
    GUICtrlSetData($Input3, $arMailPath[3])
    Next

    Do
    $msg = GUIGetMsg()
    Switch $msg
    Case $Combo1
    GUICtrlSetData($Input3, GUICtrlRead($Combo1))
    Case $Button1
    _Button1()
    Case $Button2
    _Button2()
    EndSwitch
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc ;==>_Main

    Func _Button1()
    MsgBox(0, "Button1", "Button 1 wurde gedrückt", 2)
    ; Noch nicht weiter definiert
    EndFunc ;==>_Button1

    Func _Button2()
    ; MsgBox(0, "Button2", "Button 2 wurde gedrückt", 2)
    Exit
    EndFunc ;==>_Button2

    Die notwendigen Dateien, die in dem Skriptunterordner templates liegen soll habe ich in das Script eingebunden.Als erstes ist dies mein erster Versuch eine CSV Datei in ein Array und dann weiter in eine Combobox einzulesen. Muss die CSV Datei irgendeinen bestimmten Separator haben. In ihr wurden jeweils die Ansicht, der hinterlegte Server und der Pfad zum Mailfile hinterlegt und mit Semikolons getrennt.

    Das Programm soll die CSV Datei in ein mehrdimensionelles Array lesen und dann soll der jeweils erste Eintrag (Ansicht) in die Combobox geladen werden. Als Standardeintrag soll in der Combobox dann der erste Eintrag hinterlegt sein. Desweiteren soll in der Inputbox $Input3 dann der richte Mailpaf aus der CSV Datei hinterlegt werden. Das funktioniert aber noch nicht. Desweiteren soll die Möglichkeit bestehen bei Änderung der Comboboxauswahl die Inputbox Input3 zu ändern und diese soll auch evtl händisch änderbar sein.

    Bei Druck auf Button1 (INI erstellen) soll dann überprüft werden was in der Combobox (Ansicht)ausgewählt wurde und der entsprechende Server im Array in eine Variablen hinterlegt werden. Desweitern soll der Mailpfad aus $Input3 in einer weiteren Variablen zugewiesen werden (hierbei ist wichtig das dieser evtl händisch geändert werden kann.)

    Die Frage ist nun was ich falsch mache. Bin für positive Kritik gerne zu haben. Blicke es derzeit noch nicht besser, habe auch schon viel dazu gelernt und erfreue mich jeden Tag aufs neue über diese tolle Möglichkeiten der Programmierung.

    Danke für Eurer Feedback

  • Gui nach Änderung an Combobox updaten

    • Masterciw
    • 17. September 2009 um 21:20

    Hallo danke erstmals,

    kann dazu noch kein Script posten, weil es noch nicht wirklich existiert. Das letzte Beispiel kommt aber schon nahe an das gewünschte ran.

    Ich möchte quasi abfangen wenn ich in der Combobox eine Änderung gemacht (z.B. durch runterklappen des Dropdowns und selektieren eines Eintrages) habe und diesen Wert dann in der Inputbox anzeigen.

    Hoffe das bringt ein wenig mehr Klarheit in die Angelegenheit. Vielen Dank bereits im Voraus für Eure Hilfe

  • Gui nach Änderung an Combobox updaten

    • Masterciw
    • 17. September 2009 um 20:48

    Hallo zusammen,

    nachdem die SuFu versagt hat, hier nun mein Problem.

    Ich habe ein Gui, in der sich eine ComboBox befindet. Wenn sich der Inhalt dieser durch Auswahl ändernt möchte ich die Gui bzw eine Inputbox aktualisieren.

    Wie fange ich dieses Ereignis der ComboBox Änderung ab?

  • Eintrag aus einer Combobox richtig auslesen - Vielen Dank für Eure Untersützung

    • Masterciw
    • 23. August 2009 um 22:42

    Hallo Community,

    erst mal vielen Dank an Raupi und Andy. Durch Eure Tips und Tricks habt ihr mir sehr weitergeholfen. Danke auch dafür das es dieses Forum gibt und danke auch an die Entwickler von AutoIt, die bewiesen haben, das auch mit einer nur ein paar MB großen Programmiersprache großes zu Bewegen ist. Bin fasziniert was alles mit Autoit möglich ist und habe als erstes mal meine VB.NET Express Umgebung deinstalliert und meine Festplatte somit um einige GB erleichtert. Werde in Zukunft noch weitere Projekte mit AutoIT in Angriff nehmen und freue mich auf die Zusammenarbeit mit Euch.

    Super, weiter so. Es lebe AutoIT

    P.S. Das Thema kann als gelöst betrachtet werden oder kann ich das selber irgendwie als gelöst markieren. Danke

  • Eintrag aus einer Combobox richtig auslesen - Vielen Dank für Eure Untersützung

    • Masterciw
    • 23. August 2009 um 12:46

    Hallo Raupi,

    hier mal der komplette Source. Ist mein erstes Gui Projekt und ich denke mir manches geht sicherlich wesentlich einfacher. Für konstruktive Kritik bin ich gerne zu haben, denn nur so kann man was lernen.

    Mußte vorher aus Grund von Datenschutz die Template Dateien ein wenig ändern. Source im Anhang. Bild der Gui habe ich weggelassen da für das Problem nicht relevant.

    Danke für Deine Hilfe

    P.S. Wie füge ich den Source hier direkt in das Posting ein?

  • Eintrag aus einer Combobox richtig auslesen - Vielen Dank für Eure Untersützung

    • Masterciw
    • 23. August 2009 um 12:12

    Hallo erstmal vielen Dank. Habe es erneut probiert und mit folgenden Zeilen landet nun das richtige Ergebnis in meiner Ausgabedatei:

    ; Ermittelt den Itemtext
    _GUICtrlComboBoxEx_GetItemText($Combo1, 0, $answer)
    $line = ("Server=" & $answer)
    FileWriteLine($fileNew, $line)

    Versuche ich das nun aber folgendermaßen zu vereinfachen so erhalte ich in meiner Ausgabedatei nicht wie gewünscht den Servernamen, sondern nur die Zahl 36. Was ist da verkehrt?

    $line = ("Server=" & _GUICtrlComboBoxEx_GetItemText($Combo1, 1, $answer))
    FileWriteLine($fileNew, $line)

    Danke für Eure Hilfe

  • Eintrag aus einer Combobox richtig auslesen - Vielen Dank für Eure Untersützung

    • Masterciw
    • 22. August 2009 um 23:31

    Hallo Community,

    nachdem ich den letzen Eintrag erstellt habe, kam dann letztendlich doch eine Lösung. Finde die geht aber irgendwie von hinten durch die Brust. Kann man das nicht noch irgendwie vereinfachen?

    Case $line = ("Server")
    $x = _GUICtrlComboBoxEx_GetCurSel($Combo1)
    $answer = _GUICtrlComboBoxEx_GetItem ($Combo1, $x)
    msgbox(0,"",$answer[0])

    Denke mir das das auch über einen Einzeiler funktionieren sollte oder irre ich mich da?

    Danke für Eure Hilfe

  • Eintrag aus einer Combobox richtig auslesen - Vielen Dank für Eure Untersützung

    • Masterciw
    • 22. August 2009 um 23:14

    Hallo Community,

    habe erst vor kurzen Zeit die Macht von Autoit endeckt und mittlerweile einige kleinere Projekte umgesetzt. Unter anderem die Sicherung und Wiederherstelllung von Outlock, Outlock Express und Mozilla Firefox. Mir war dabei wichtig mehr über die Registry und Filebefehle zu lernen.

    Nun arbeite ich derzeit an meinem ersten Gui Projekt und bin an meine Grenzen gestoßen obwohl das Programm bereits lief und ich mir leider mit Tidy irgendwie den Source versaut habe.

    Hier nun der relevante Sourcecode für das Problem:

    In meiner Gui erstelle ich mit

    $Combo1 = _GUICtrlComboBoxEx_Create ($Form1,"", 8, 256, 617, 325,BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))

    ; Hier wird die Server.ini in die ComboBox ausgelesen
    $mailserver = @ScriptDir & "\Server.ini"
    _FileReadToArray ($Server, $Eingabe)

    ; Diese Schleife wird durchlaufen bis die letze Zeile in der Combobox eingelesen wurde
    For $i = 1 To $Eingabe [0]
    _GUICtrlComboBoxEx_AddString($Combo1, $Eingabe[$i])
    Next

    ; Hiermit wird die Vorgabe der Combobox auf den ersten Eintrag festgelegt
    _GUICtrlComboBoxEx_SetCurSel($Combo1, 0)

    Bis hierhin funktioniert alles bestens. Die Gui wird aufgebaut und die Server aus der Ini Datei komplett eingelesen und danach in der Gui der erste Eintrag aktiv in der Combobox angezeigt. Das Problem was sich nun zeigt ist es den ausgewählten Eintrag aus der ComboBox auszulesen. Es ist mir zwar gelungen den Index des Elementes auszulesen aber womit lese ich den Eintrag der hinter dem Index hinterlegt ist aus.

    Hier mal der Rest des Sourcecodes:

    Case $line = ("Server")
    $x = _GUICtrlComboBoxEx_GetCurSel($Combo1)
    msgbox (0,"Ihre Auswahl",$x)

    Hier bekomme ich nun den Index als Zahl zurückgeliefert aber jegliche Versuche den Eintrag mit

    Nun zu meiner Frage: Wie lese ich den Eintrag zum Index korrekt aus.

    Danke für Eure Hilfe

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™