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

Beiträge von autoBert

  • neue HotKey UDF benötigt oder nicht?

    • autoBert
    • 28. Juli 2012 um 14:23

    Hallo FalsifyTheWorld,

    herzlich willkommen im Forum und viel Spass bei AutoIt.

    Zu deiner Frage: ich bin der Meinung, dass so etwas nicht benötigt wird. Du siehst den Einsatzzweck genauso wie ich bei der Automatisierung von Spielen:

    Zitat von FalsifyTheWorld

    Die funktion durch einen HotKey ist insofern benötigt als dass man damit zb in einem chat oder einem Spiel einen vorgefertigten text schreiben lässt der sehr oft benötigt wird.


    Die Automatisierung solcher verstösst aber meist gegen die Forenregeln das heist selbst wenn es diese UDF dann dürfte sie meist nicht Supportet werden da der (in jedem Einzelfall zu prüfende) Einsatzzweck dies nicht zulässt. Eine ähnliche Antwort habe ich erst vor kurzem auf eine zu 100% identische Anfrage geschrieben. Wenn du also noch nicht einmal deinen Wunsch mit eigenen Worten formulieren kannst sehe ich für den Erfolg "deiner" UDF schwarz, denn mit Copy und Paste wirst du dabei nicht weit kommen,

    mfg autoBert

    mfg autoBert

  • Mehrere Fenster arbeiten Zusammen

    • autoBert
    • 28. Juli 2012 um 05:44

    Hallo Rantanplan,

    wie wäre es wenn du dir die Grundlagen von AutoIt anhand der Hilfe, der Boardsuche und evtl. noch etwas Google selbst erarbeiten würdest. Da du ja ein Tutorial schreiben willst solltest du zumindest die Grundlagen beherschen. Im übrigen gibt es für solche Zwecke:

    Zitat von Rantanplan

    Des weiteren würde ich gerne ein Toturial einbinden, welches mit Coord Mode Koordinaten der einzelnen Fenster arbeitet einbinden. Hilfreich wäre das z.b. um Updates bzw Brushsets ect. Automatisch zu instalieren.

    bessere Möglichkeiten als Bildchen suchen um dann darauf klicken zu lassen. Schau dir dazu am besten die Control...-Funktionen in der Hilfe an. Auch die Kapitel:

    • AutoIt Fenster-Informations-Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -Text (erweitert)

    gehören für dich bei deinem Ziel zur Pflichtlektüre.
    Wenn du dann, in einem an sich lauffähigen Skript, an einigen Stellen Probleme hast findet sich sicher der ein oder andere User, der die Programme die du automatisieren willst, auch hat und dir hilft. Du kannst natürlich auch in Programmieranfragen mit Gegenleistung deine Wünsche äussern, aber ich finde es steht einem Autor eines Tutorials besser zu Gesicht wenn er auch weiss von was er schreibt, ansonsten wird es meist nur ein Werk das unnötig Festplattenplatz zumüllt. Also mach die an die Arbeit du hast viel zu tun,

    mfg autoBert

  • Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen.

    • autoBert
    • 27. Juli 2012 um 21:41
    Zitat von AspirinJunkie

    Hast du dich noch nich mit regulären Ausdrücken auseinander gesetzt?
    Da staune ich doch ein bisschen - wenn das einer schnell kapieren wird dann du.


    Danke für die hohe Meinung, aber ich bin in einem Alter angekommen indem neu gelerntes schneller vergessen ist als man es in den Kopf hinein bekommen kann. Zudem bin ich bisher ohne ausgekommen (mit deutlich mehr Programmzeilen als mit RegEx, dafür aber sicher schneller als wenn ich Stundenlang den Tippfehler in einem Pattern suche (Augen sind leider auch nicht mehr die besten))

    mfg autoBert

  • Menü per Code

    • autoBert
    • 27. Juli 2012 um 18:38

    Hallo Ilse,

    dann tausche die Func _Auswahl gegen diese:

    [autoit]

    Func _Auswahl($sRasse) Local Static $iCount = 0
    $iCount += 1
    if $iCount > 5 Then
    MsgBox(64,"Auswahl vollständig","Du hast bereits Stück ausgewählt")
    Return
    EndIf
    IniWrite(@ScriptDir & "\test.ini", "Hunde", "Rasse"&$iCount, $sRasse)
    ConsoleWrite($iCount & ": " & $sRasse & @CRLF)
    EndFunc ;==>_Auswahl

    [/autoit]


    die INI-Dartei sieht danach so aus:

    Code
    [Hunde]
    Rasse1=Beagle
    Rasse2=Neufundländer
    Rasse3=Hovawart
    Rasse4=Eurasier
    Rasse5=Malteser

    mfg autoBert

  • Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen.

    • autoBert
    • 27. Juli 2012 um 18:09
    Zitat von autoBert

    Lass einmal mein Skript aus [ offen ] Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen. unverädnert laufen

    sollte unverändert heissen.
    Um es mit denen Daten zu testen musst du auch

    Zitat von autoBert

    die Func _GetDocNo anpassen bzw. vielleicht ist ja einer der RegEx-Mächtigen so nett und filtert die Nr. aus dem Dateinamen heraus.

    mfg autoBert

  • _ListView2File

    • autoBert
    • 27. Juli 2012 um 18:03

    Ich speichere und lade meine LV's auf andere Art:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Opt('MustDeclareVars', 1)

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

    Global $listview, $buttonSave, $buttonLoad, $msg

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

    GUICreate("listview items", 220, 550, 20, 40)
    GUISetBkColor(0x00E0FFFF) ; will change background color

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

    $listview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 500)
    $buttonSave = GUICtrlCreateButton("&Speichern", 15, 520, 70, 20)
    $buttonLoad = GUICtrlCreateButton("&Laden", 115, 520, 70, 20)
    For $i = 1 To Random(10, 33, 1)
    GUICtrlCreateListViewItem("Eintrag" & $i & "|Spalte 2" & $i & "|Spalte " & $i & "3", $listview)
    Next
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $buttonSave
    _saveLV($listview, @ScriptDir & "\TestLV.dat")
    Case $buttonLoad
    _LoadLV($listview, @ScriptDir & "\TestLV.dat", True)
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Func _saveLV($idLV, $sFileName)
    #cs
    ;autor autoBert
    $idLV = Controlid der zu speichernden Listview
    $sFileName = Name der zu erstellenden Datei
    #ce
    Local $aItem, $hFileOut
    $hFileOut = FileOpen($sFileName, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($idLV) - 1
    $aItem = _GUICtrlListView_GetItemTextString($idLV, $j)
    FileWriteLine($hFileOut, $aItem)
    Next
    FileClose($hFileOut)
    EndFunc ;==>_saveLV

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

    Func _LoadLV($idLV, $sFileName, $bClear = False)
    #cs
    ;autor autoBert
    $idLV = Controlid der Listview welche die Items aufnehmen soll
    $sFileName = Name der Datei welche die LV-Items enthält
    $Clear = bestehende Items löschen True/False
    #ce
    Local $aItems
    If FileExists($sFileName) Then
    $aItems = ""
    _FileReadToArray($sFileName, $aItems)
    If IsArray($aItems) Then
    If $bClear Then _GUICtrlListView_DeleteAllItems($idLV) ;bereits betehende Utems löschem
    _ArrayDisplay($aItems, "Array-Inhalt")
    _GUICtrlListView_BeginUpdate($idLV)
    For $j = 1 To $aItems[0]
    GUICtrlCreateListViewItem($aItems[$j], $idLV)
    Next
    #cs Möglichkeit 2 ;bringt seltsamerweise Fehler in der UDF
    _ArrayDelete($aItems, 0)
    _GUICtrlListView_AddArray($idLV, $aItems)
    #ce
    _GUICtrlListView_EndUpdate($idLV)
    EndIf
    EndIf
    EndFunc ;==>_LoadLV

    [/autoit]
  • Menü per Code

    • autoBert
    • 27. Juli 2012 um 16:53
    Zitat von Ilse

    Hallo Autobert,

    das ganze wird ja per Gui aufgerufen
    wenn die Gui geöffnet ist,
    dann werden die Einträge im Menü ausgewählt, die ini wird dann geschrieben

    und wenn man fertig ist, wird die Gui geschlossen.


    ;) Grüße Ilse

    stimmt genau bei jeder Auswahl eines Menüpunktes wird die ausgewählte Rasse in die Ini geschrieben, diese bleobt auch nach dem schlessen der GUI erhalten.

    Vielleicht erklärst du genau was du wirklich möchtest? Sollen alle Rassen in die Ini oder alle ausgewählten Menüpunkte darin in Reihenfolhe gespeichedrt werden?

    mfg autoBert

  • InetGet Originaldateinamen beibehalten

    • autoBert
    • 27. Juli 2012 um 16:26
    Zitat von Luke4321

    Das dumme ist nun das man bei InetGet den Dateipfad, wo die Datei gespeichert werden soll, ja komplett angeben muss und ich den Dateinamen nicht weiß. ;(

    Ich weiß ihn auch nicht. Du müsstest also vorher mit Inetgetsource den Source der Seite herunterladen und den dazugehörigen Dateinamen darin suchen,

    mfg autoBert

  • Menü per Code

    • autoBert
    • 27. Juli 2012 um 16:20
    Zitat von Ilse

    In der Ini kommen die Einträge leider nicht an.


    In der Ini kommt der zuletzt ausgewählte Menüpunkt an, das heisst dieser wird immer wieder überschrieben. Die Ini sieh bei mir so aus:

    Code
    [Hunde]
    Rasse=Dobermann

    Ich dachte das wäre so beabsichtigt dass "Rasse=" immer die gerade gewählte Rasse enthält.

    mfg autoBert

  • Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen.

    • autoBert
    • 27. Juli 2012 um 16:11
    Zitat von congomonster

    Ich habe daran gedacht ArraySearch zu benutzen. Wäre das den richtig ? Das ist jetzt erstmal der letzte Punkt an dem ich hänge.


    Lass einmal mein Skript aus [ offen ] Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen. unverädnert laufen, daran siehst du dass ArraySearch eine gute Wahl ist. Ob sich das Schema 1:1 übertragen lässt wage ich zu bezweifeln, da ich nur von einem Ordner ausgegangen bin. Falls du beim übertragen durch die Unterordner Probleme haben solltest, dann stelle die gezipte Textdatei hier im Forum ein. Ich schaue es mir dann an. Sorry bin zu beguem Testdaten zu erzeugen.

    mfg autoBert

  • Menü per Code

    • autoBert
    • 27. Juli 2012 um 13:44

    Hallo Ilse,

    hier die bereinigte Version:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>

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

    $Form1 = GUICreate("Form1", 500, 400)
    $MenuItem1 = GUICtrlCreateMenu("Texte")

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

    $Text = "Beagle;Neufundländer;Dobermann;Malteser;Rottweiler;Eurasier;Tibet Terrier;Hovawart"
    $aSplit = StringSplit($Text, ";")
    Global $idmNames[$aSplit[0] + 1]

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

    For $i = 1 To $aSplit[0]
    $idmNames[$i] = GUICtrlCreateMenuItem($aSplit[$i], $MenuItem1); das geht nicht
    ConsoleWrite($idmNames[$i] & @TAB & $aSplit[$i] & @CRLF)
    Next
    $idmNames[0] = $aSplit[0]
    ;_ArrayDisplay($idmNames)
    GUISetState()

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

    ConsoleWrite($idmNames[1] & " To " & $idmNames[$idmNames[0]] & @CRLF)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE

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

    GUIDelete()
    Exit
    Case $idmNames[1] To $idmNames[$idmNames[0]]
    ConsoleWrite($nMsg - $idmNames[1]+1 & @TAB)
    _Auswahl($aSplit[$nMsg - $idmNames[1]+1]) ; wenn im Menü geklickt wird, wird der Eintrag in die Ini geschrieben

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

    EndSwitch

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

    WEnd

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

    Func _Auswahl($sRasse)
    IniWrite(@ScriptDir & "\test.ini", "Hunde", "Rasse", $sRasse)
    ConsoleWrite($sRasse & @CRLF)
    EndFunc ;==>_Auswahl

    [/autoit]

    mfg autoBert

  • Dateien in Unterordner zählen und in Text schreiben wenn eine oder mehrere fehlen.

    • autoBert
    • 27. Juli 2012 um 04:23
    Zitat von congomonster

    Suchen nach Dateien zählen bringt nichts. Ich will ja wissen wenn eine oder mehrere fehelen.


    Dann suchst du so etwas?

    Spoiler anzeigen
    [autoit]

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

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

    Global $aMissing[1]
    Global $aMoved = _FileListToArray(@ScriptDir,"*.pdf") ;Verzeichnis anpassen

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

    #region ;diesen Block löschen nur für mich zum testen
    Global $aMoved[100]
    for $i = 1 to 99
    $aMoved[$i] = StringFormat(@ScriptDir & "\Test30%04s" & ".pdf",$i)
    Next
    for $i = 99 to 1 Step -1
    if Random(1,5,1) = 1 Then _ArrayDelete($aMoved,$i)
    Next
    #endregion

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

    _ArrayDelete($aMoved,0)
    _ArraySort($aMoved)
    _ArrayDisplay($aMoved)

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

    $iFirst = _GetDocNo($aMoved[0])
    $iLast = _GetDocNo($aMoved[UBound($aMoved)-1])

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

    ConsoleWrite("erstes Dokument: " & $iFirst & "letztes Dokument " & @TAB & $iLast &@CRLF)

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

    for $i = $iFirst to $iLast
    if _ArraySearch($aMoved,$i,0,0,0,1) = -1 Then _ArrayAdd($aMissing,$i)
    Next
    $aMissing[0] = UBound($aMissing) -1
    _ArrayDisplay($aMissing,"Fehlende Nr.'n")

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

    Func _GetDocNo($sNo) ; ;das Ergebnis dieser Func sollte über RegEx ermittelt werden ansonsten anpassen
    Local $iNo = "", $char
    $sNo = StringReplace($sNo,".pdf","") ; .pdf abschneiten
    $sNo = StringReplace($sNo,@ScriptDir & "\Test","") ;Anfang wegschneiten <========= anpassen
    ConsoleWrite($sNo & @CRLF) ;jetzt haben wir eine Zahl
    Return Int($sNo)
    EndFunc

    [/autoit]

    Leider kann ich kein RegEx deshalb musst du die Func _GetDocNo anpassen bzw. vielleicht ist ja einer der RegEx-Mächtigen so nett und filtert die Nr. aus dem Dateinamen heraus.

    mfg autoBert

  • Problem bei Funktion Encrypt

    • autoBert
    • 26. Juli 2012 um 15:12

    Hallo Basti2022,

    nimm die beiden Funktionen: _HashPassword und CheckPassword von M3d1c5. Er verwendet SHA512, welches MD5 vorzuziehen ist. Aber wie schon erwähnt sind AutoIt-EXEn nicht vor bösen Buben sicher.

    mfg autoBert

  • GUI und co.

    • autoBert
    • 26. Juli 2012 um 14:39

    Hallo svart,

    ein Listview eignet sich meines erachtens nach besser für so etwas. Schau dir dazu einmal Oscar 's Listview-Datenbank-Beispiel an,

    mfg autoBert

  • Problem bei Funktion Encrypt

    • autoBert
    • 26. Juli 2012 um 14:18
    Zitat von M3d1c5

    Sicherer ist es aber, wenn Kennwörter gesalzen werden und für jedes gehashte Kennwort immer wieder ein anderer Salz verwendet wird.
    Dadurch gleicht kein Hash dem anderen, auch wenn dasselbe Kennwort verwendet wurde.


    Grundsätzlich hast du recht, da aber die bösen Buben sich nicht an Gesetze halten, werden sie jawohl zuvor das Skript deompilieren und dann ist auch dein Salz unnötig. Sogar die ganze Passwortabfrage ist dann ein Witz, die entsprechende Abgrage wird entfernt und die dadurch gesicherte Funktion direkt aufgerufen.
    Die braven und auch die unwissenden Buben scheitern aber schon an dem normalem MD-Hash.

    Trotzdem ein Lob: sauber umgesetzt.

    mfg autoBert

  • Klich auf Icons abfragen

    • autoBert
    • 25. Juli 2012 um 23:00

    Poste bite dein bsiheriges Skript.Du solltest dir auch

    [autoit]

    IniWrite

    [/autoit]

    und

    [autoit]

    IniRead

    [/autoit]

    anschauen,

    mfg autoBert

  • Stringwert auf 2 Nachkommastellen runden

    • autoBert
    • 25. Juli 2012 um 22:56
    Zitat von glowhollow

    habs hinbekommen, vielen dank !


    Schön, dann ist dein Problem ja gelöst. Schön wäre es allerdings auch wenn du das Thema auf gelöst stellst. Dazu einfach deinen Eröffnungsbeitrag bearbeiten und den Präfix (Nähe Überschrift) auf gelöst stellen,

    danke autoBert

  • GuiCtrlSetImage fehler

    • autoBert
    • 25. Juli 2012 um 22:45

    Hallo Lottich,

    in solchen Fällen wendet man sich an den Autor der benutzten UDF. Ich erinnere mich aber dunkel in einem Thema von Oscar gelesen zu haben, das dies das Standard-Verhalten eines Treeviews ist. Sprich das zuerst gesezte Icon wird standardmässig für alle übernommen. Du solltest also einmal austesten als erstes ein "Leeres" Icon zuzuweosen Da dies standardmässig übernommen wird (falls mich meine Erinnerung nicht täuscht) bekommst du nur die danach für die Ausnahmen gesetzten Icons zu sehen,

    mfg autoBert

  • CD rippen mit BASS UDF

    • autoBert
    • 25. Juli 2012 um 16:31

    Das es funktioniert hat eukalyptus mit Mp3-Recording via bass.dll bewiesen,

    mfg autoBert

  • FileCopy abbrechen wenn Bedingung erfüllt

    • autoBert
    • 25. Juli 2012 um 15:59
    Zitat von jobi05

    Kannst du dich zufällig noch an den Namen der UDF erinnern? Bin für jedes Detail dankbar.


    Nein aber die in Frage kommenden Autoren sind: funkey, progandy, bugfix

    Zitat von jobi05

    Dieser Vorwurf ist einfach nur dreist!
    Es handelt sich lediglich um ein Backup einer Configdatei, das dazu beiträgt, dass der Anwender an jedem PC die selben Settings in einer Anwendung hat.


    Diese Dateien sind nicht so gross, das man es hinter dem Rücken des Benutzers machen muss. Ich denke einmal da will ein Admin (auf Anordnung des Chefs?) seinen Mitarbetern hinter her spionieren.

    mfg autoBert

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™