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

Beiträge von BigRox

  • SciTE - Variablen- und Funktions- Tipp (CallTipp oder Konsolenausgabe) per HotKey od. Kontextmenü, Suche nach Variable [v0.11]

    • BigRox
    • 26. Juli 2014 um 18:38

    Hallo BugFix,
    ich wollte das etwa so haben, dass ich zu jedem Element des Arrays, einen Tipp bekomme.

    Also:
    Global $Dateinamen[3]

    #region - Variablen-Tipp
    $Dateinamen[0] Enthält den ganzen Dateinamen.
    $Dateinamen[1] Enthält den gekürzten Dateinamen.
    $Dateinamen[2] Enthält den neuen Dateinamen.
    #endregion

    Zitat von BugFix


    Markierst du die Variable inkl. der Klammern oder setzt du nur den Cursor auf den Variablenkörper (wäre der korrekte Weg)?


    Ich habe eben beide Varianten ausprobiert und es hat nie funktioniert.

    Zitat von BugFix


    Und woran hakt es, dass du v0.11 nicht zum Laufen bekommst? Kann ich evtl. Hilfestellung geben?


    Wenn ich den Hotkey benutze oder den Menüeintrag auswähle, so geschieht einfach nichts.
    (der Hotkey usw. ist frei).
    Morgen habe ich Zeit um es nochmal ausgiebig zu probieren.

    MfG:
    BigRox

  • SciTE - Variablen- und Funktions- Tipp (CallTipp oder Konsolenausgabe) per HotKey od. Kontextmenü, Suche nach Variable [v0.11]

    • BigRox
    • 26. Juli 2014 um 17:16

    Hallo BugFix,
    ich habe da eine Frage.
    Ich verwende noch die Version 0.9 des LUA-Scriptes, da ich die nachfolgenden Versionen irgendwie nicht zum funktionieren bekomme (irgendetwas mache ich da wohl was falsch).

    Die 0.9 macht auch fast alles, was ich will.
    Nur eine Kleinigkeit gibt es da.
    Wenn ich die Variablentipps für eine ganz normale Variable (z.B $Test) hinterlege, so funktioniert alles, wie gewünscht.
    Wen ich aber einen Tipp für eine Array-Variable (z.B. $Test[1)] hinterlege, so kommt immer: "Keine Tipps hinterlegt !".
    Wenn der Variablenname die Zeichen [ ] enthält, so findet das Script den Tipp nicht.

    Meine Frage ist daher:
    Kann man das LUA-Script 0.9 so verändern, dass man auch einen Tipp für eine Array-Variable hinterlegen kann ?

    MfG:
    BigRox

  • Probleme mit @OSVERSION

    • BigRox
    • 5. Juni 2014 um 13:35

    Hallo,
    ich habe da ein etwas sonderbares Problem mit dem @OSVERSION-Makro.

    Ich verwende Windows 7 Ultinate 64-Bit (deutsche Version) als Betriebssystem.
    Ich wollte mir ein Installationsscript für das Program "RegShot" schreiben. Da dieses Script auch unter Windows XP 32-Bit laufen soll, habe ich da eine Funktion zum erkennen des verwendeten Betriebssystem eingebaut.
    Darin wird u.a. das Makros @OSVERSION ausgewertet.

    Im Laufwerk C: befindet sich ein Ordner, mit dem Namen "RegShot". darin befinden sich die erforderlichen Dateien und die Installationsdatei "RegShot Install.exe".
    Wenn ich diese Installationsdatei aufrufe, so meldet die Datei mir immer "Kein unterstütztes Betriebssystem vorhanden".
    Zum ermitteln des Fehlers, habe ich das Installationsscript (und die Installationsdatei) bis auf:

    Spoiler anzeigen
    [autoit]


    ; #SCRIPT# ----------------------------------------------------------------------------------------------------------------------------------------------
    ; Script Funktion : Testdatei für AutoIt
    ; AutoIt Version : 3.3.8.1
    ; Script Autor : BigRox
    ; -------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Sonstiges für dieses Script fest legen.
    #RequireAdmin

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

    MsgBox(0, "", @OSVersion)

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

    Exit

    [/autoit]


    reduziert und siehe da, es wird immer "WIN_VISTA" ausgegeben.

    Sobald ich aber die Installationsdatei umbenenne, in z.B. "RegShot1 Install.exe", so wird auch wieder "WIN_7" ausgegeben.

    Wenn ich das Programm installiere, so erscheint auch immer das Fenster des Programmkompatibilitätsassistenten. Dieses Fenster erscheint eigentlich nur, wenn beim Installieren etwas schief gelaufen ist.
    (das Programm funktioniert aber einwandfrei und ist auch für Windows 7 64-Bit geeignet).

    Anscheinend passt Windows 7 irgendetwas an dem Namen nicht.

    Kennt einer dieses Problem und hat eine Lösung dafür ?
    Mir würde nur, den Dienst des Programmkompatibilitätsassistenten beenden und den richtigen Schlüssel aus der Registry auswerten einfallen.
    Nur mich würde die genaue Fehlerursache interessieren, gibt es da vielleicht eine Datei o.ä.bei Windows 7 die den selben Namen hat ?
    (Doppelt verwendete Tastenkombies stören sich ja auch gegenseitig).

    MfG
    BigRox

    Dateien

    RegShot Install.au3 518 Byte – 216 Downloads
  • Fehler in der detschen Hilfe ?

    • BigRox
    • 4. Mai 2014 um 13:31

    Hallo autoiter,
    deinen Post habe ich auch nie als lustig machen o.ä. empfunden.

    Es sieht wirklich schon etwas lustig aus, wenn da einer von einen Fehler in der Hilfe schreibt und dann selber so einen Fehler macht :)
    Aber, wir sind ja alle nur Menschen und Menschen machen nun mal Fehler ;) .

    Da habe ich schon viel schlimmeres in Foren erlebt.
    (bei einigen Usern muss man sich wirklich schon fragen: "Von welchem Planeten kommt der den eigentlich, auf der Erde schreibt doch keiner so ?")


    MfG
    BigRox

  • Fehler in der detschen Hilfe ?

    • BigRox
    • 3. Mai 2014 um 19:09

    Hallo autoiter.

    Da hatte ich wohl ein leichtes zittern o.ä. im Finger :)
    Kann ja schon mal vorkommen.

    Sieh dir mal deinen Post genau an.
    Da steh auch:
    "...Parameter asl Erklärung ..."
    Ich vermute da hat bei dir auch etwas ein wenig gezittert :rofl:

    Naja, was solls: Lachen ist gesund.

    MfG
    BigRox

  • Fehler in der detschen Hilfe ?

    • BigRox
    • 3. Mai 2014 um 15:02

    Hallo,
    ich habe da wieder etwas in der deutschen Hilfe entdeckt.
    Es handelt sich um die neuste Version der Hilfe 3.3.8.1 vom 23.12.2013 (das steht aber auch so in der Onlinehilfe).

    In der Funkktionsreferenz zu Strings, Befehl: StringIsInt
    steht bei Bemerkungen:

    "...String angegeben wird auch 1 zurück; Bei hexadezimalen..."

    Ist das Semikolon da korrekt oder müsste da nicht ein Punkt stehen ?

    MfG
    BigRox

  • Berufsunfähigkeitsversicherung als Selbständiger Informatiker, geht das ?

    • BigRox
    • 16. April 2014 um 13:33

    Hallo Marky12,
    dazu musst du - wie auch schon andere hier geraten haben - deine Versicherungsgesellschaft fragen.
    Das ist - wie BugFix schrieb - an eine Bedingung gekoppelt.

    Ich kann daher jedem nur eindringlichst raten, wenn sich da an der Bedingung irgendetwas ändert, so sollte man die Versicherung deswegen umgehenst informieren und diese anderen Bedingungen sollten möglichst auch irgendwo SCHRIFTLICH stehen (am besten in einer neuen Police !).
    Und ganz wichtig VORM Versicherungsfall, nachher ist immer etwas schwierig.

    Hintergrund:
    Ich hatte früher einmal mit dem Drachenfliegen angefangen. Mein Fluglehrer riet damals jedem Schüler zu einer Unfallversicherung und betonte deutlichst, dass man darauf bestehen solle, dass das Risiko Drachenfliegen auf jeden Fall in der Police steht müsse. Der kannte das Problem wohl schon.
    Mein damaliger Versicherungsvertreter meinte jedoch, dass dies absolut unnötig sei, da die Versicherung auch dann
    immer bezahlen würde.

    Das war eine glatte Falschberatung ?(
    Nur ob der Penner das sogar wusste, dass kann man nicht so einfach beweisen.

    Ich bestand aber darauf und wollte den Vertrag nur unter dieser Bedingung abschließen und der Vertreter war etwas sauer, aber das war mir soetwas von egal.

    Zwei Jahre später kam es dann zu einem Unfall und die Versicherung musste bezahlen.
    Nachdem ich denen von dem Unfall berichtet habe, bekam ich nur als Antwort nur so einen bornierten Schrieb von denen mit einer Ablehnung und einer Kopie der Versicherungsbedingungen (dem besch... Kleingedruckten).
    Da war eine Bedingung in den Ausschlüssen (dem garantiert größten Teil) ganz groß gelb markiert, so als wenn man damit sagen wollte: "Sieh doch mal genau hin, oder bist du zu blöde zum lesen".
    Da stand ganz deutlich "Schäden durch Unfälle mit Fluggeräten ohne Motor sind immer ausgeschlossen".

    Da habe ich mit meinem Fluglehrer zusammen, denen einen Brief zurückgesendet. Anbei eine Kopie der Versicherungspolice mit dem Satz: "Risiko Drachenfliegen" und das habe ich denen auch ganz groß gelb markiert.
    Dazu habe ich denen auch noch einen gepfefferten Brief mit einer Klagedrohung gesendet.
    (Und was bedeutet dann dieses Wort in der Police, die liegt Ihnen doch auch vor, sollten Sie die Schadenregulierung dennoch verweigern, werde ich umgehend eine Klage einreichen..."
    Zwei Wochen später hatte ich mein Geld.
    Ohne diese Zusatz, währe ich garantiert leer ausgegangen, ein dreifach Hurra auf den Fluglehrer :rock: und ein dreifach Buhh auf den Versicherungsvertreter :thumbdown: .

    Da gibt es noch einen anderen Fall:
    Ich bin behindert und hatte noch diese Unfallvericherung (der Vertrag war auf 10 Jahre abgeschlossen), aber da ich die ja vor meiner Behinderung abgeschlossen habe, stand da nichts von.
    In der Selbsthilfegruppe, gab es mal eine Diskussion dazu und da meinen fast alle, die Behinderung MUSS in der Police aufgeführt sein, sonst könnte die Versicherung sich immer ums bezahlen drücken (da kommt wieder das besch... Kleingedruckte ins Spiel, da wird das nämlich meistens irgendwie ausgeschlossen).

    Da habe ich nur mal bei meiner Versicherung nachgefragt, ob sie im Fall einer Behinderung auch zahlen.
    Und was bekam ich als Antwort ?
    "Aufgrund Ihres Anrufs vom XX.XX kündigen wir Ihren Vertrag hiermit zum..." :thumbdown::thumbdown:
    Mein neuer Versicherungsvertreter ist vor lachen fast vom Stuhl gekippt, so einen bornierten Sch... hatte der eigentlich für unmöglich gehalten (einen Versicherungvertrag kann man ja nur schriftlich kündigen und im Zweifelsfall muss die Versicherung dies auch schriftlich beweisen können).
    Daher hat der mir geraten, den alten Vertrag einfach auslaufen zu lassen und die Versicherung zu wechseln, da er ganz sicher war, die alte Versicherung muss mich zwar weiter versichern, aber bei einem Unfall machen die garantiert nur Ärger.
    Daher habe ich eine neuen Vertrag, bei einer Versicherung abgeschlossen und da steht das in der Police (genaue Art der Behinderung, dass ist auch ganz wichtig !!!).
    Diese Gesellschaft hat anscheinend keinerlei Probleme mit solchen Risiken.
    (da gibt es aber nur wenige Gesellschaften, die keinerlei Probleme damit haben).

    Daher kann ich jedem immer nur raten, achte bei einer Versicherung immer genau auf das besch... Kleingedruckte und Änderungen beim Risiko o.ä. MÜSSEN irgendwo SCHRIFTLICH fest gehalten sein, die Versicherungen sind nämlich ganz groß, wenn es ums Drücken vorm bezahlen geht.

    Das ist bei allen Versicherungen so und garantiert auch bei Berufsunfähigkeitsversicherungen.
    Gerade wenn man von einem Angestelltenverhältnis in die Selbständigkeit wechselt, könnte das ein Problem werden.
    Normalerweise sollte das zwar kein Problem sein, aber Versicherungen "tikken" da halt ganz anders.
    Bei Versicherungen kann man einfach nur fragen und hoffen das die auch bezahlen.
    Vorm Vertragsabschluss, erzählen die einem alles mögliche, aber nachher kommt dann die Realität... :whistling:


    MfG
    BigRox

  • Nächster Fehler in der Hilfe

    • BigRox
    • 27. Februar 2014 um 18:41

    Hallo NewVersionTester,
    genau die meine ich (Deutsche Hilfe für v3.3.8.1, Stand: 28.12.2012).

    Es steht aber auch noch in der Onlinehilfe.

    MfG:
    BigRox

  • Nächster Fehler in der Hilfe

    • BigRox
    • 27. Februar 2014 um 13:32

    Hallo,
    ich habe soeben wieder einen Fehler in der neusten deutschen Hilfe gefunden.

    In der Funktionsbeschreibung zu "FileFindFirstFile" steht:
    "Gibt einen den angegebenen Suchkriterien entsprechenden Dateinamen zurück."

    Da kommt doch ein Handle und kein Dateinamen zurück, oder warum steht dann unter "Rückgabewert":
    "Erfolg: Gibt ein Such-"Handle" zurück, das für folgende Funktionen FileFindNextFile benutzt werden kann."

    MfG:
    BigRox

  • Tipps für ein Programm

    • BigRox
    • 14. Februar 2014 um 15:38

    Hallo,
    jetzt ist das Programm fast (etwas verschönern fehlt noch) fertig und somit poste ich das Script mal hier.
    (Das Programm soll mir helfen die geänderten und neu kompilierten Script, in zuvor fest gelegte Ordner zu kopieren).

    Gerade der Hinweis von BugFix hat mir wirklich viel Arbeit erspart.

    Das Programm besteht aus zwei Teilen.
    Der erste Teil dient nur zum einrichten des Kontextmenüs, damit man das eigentliche Programm einfacher aufrufen kann.

    Spoiler anzeigen
    [autoit]


    ; #SCRIPT# ----------------------------------------------------------------------------------------------------------------------------------------------
    ; Script Name : AutoIt Synchronisation einrichten.au3
    ; Beschreibung : Programm, um die AutoIt-Synchronisaton auf dem Rechner einzurichten.
    ;
    ; Includes : Keine
    ; AutoIt Version : 3.3.8.1
    ; Script Autor : BigRox
    ; -------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Local $Alter_Standardwert
    ; Abfragen, ob sich die neuen Einträge schon in der Registry befinden.
    If RegRead("HKCR\Folder\shell\","") <> "Synchronize" Then
    ; Den alten Standardwert (Standardvorgang) aus der Registry auslesen und in einer Variable abspeichern abspeichern.
    $Alter_Standardwert = RegRead("HKCR\Folder\shell\","")
    ; Den alten Standardwert in die Registry schreiben (sichern)).
    RegWrite("HKCR\Folder\shell\","AlterStandard", "REG_SZ", $Alter_Standardwert)
    ; Den neuen Standardwert (Standardvorgang) in die Registry schreiben (damit der neue Eintrag fett und ganz oben im Menü erscheint).
    RegWrite("HKCR\Folder\shell\","", "REG_SZ", "Synchronize")
    ; Die neuen Schlüssel und Werte, für das Synchronisations-Programm, erstellen/erzeugen.
    RegWrite("HKCR\Folder\shell\Synchronize\","", "REG_SZ", "! ! ! AutoIt-Script usw. synchronisieren ! ! !")
    ; Mit diesem Eintrag, können sich auch Leerzeichen im Pfad befinden und es werden auch Pfade mit Leerzeichen richtig zurückgegeben.
    RegWrite("HKCR\Folder\shell\Synchronize\command","", "REG_SZ", '"C:\AutoIt Synchronisation"' & ' "%1"')
    ; Datei für die AutoIt-Synchronisierung kopieren.
    FileCopy(@ScriptDir & "\AutoIt Synchronisation.exe", @HomeDrive & "\", 1)

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

    MsgBox(262208, "! ! ! E R F O L G ! ! !", "Die AutoIt-Synchronisation wurde erfolgreich eingerichtet !", 3) ; Flag: 1, 5, 1, 1, 2.
    Else ; Befehle, falls die AutoIt-Synchronisierung schon eingerichtet ist.
    ; Alle neuerstellten Schlüssel usw. wieder aus der Registry entfernen.
    RegDelete("HKCR\Folder\shell\Synchronize")
    ; Abfragen, ob ein überhaupt ein alter Standardvorgang in der Registry eingetragen war.
    If RegRead("HKCR\Folder\shell\", "AlterStandard") = "" Then
    RegDelete("HKCR\Folder\shell\", "") ; Den neuen Standardwert einfach löschen.
    Else
    ; Den alten Standardwert (Standardvorgang) aus der Registry auslesen und in einer Variable abspeichern abspeichern.
    $Alter_Standardwert = RegRead("HKCR\Folder\shell\","AlterStandard")
    ; Den alten Standardwert wieder als Standardvorgang in die Registry schreiben.
    RegWrite("HKCR\Folder\shell\","", "REG_SZ", RegRead("HKCR\Folder\shell\", $Alter_Standardwert))
    EndIf
    ; Den Eintrag, der nur zur Sicherung des alten Standardwertes diente, wieder aus der Registry löschen.
    RegDelete("HKCR\Folder\shell\", "AlterStandard")
    ; Datei für die AutoIt-Synchronisierung löschen.
    FileDelete(@HomeDrive & "\AutoIt Synchronisation.exe")

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

    MsgBox(262208, "! ! ! E R F O L G ! ! !", "Die AutoIt-Synchronisation wurde erfolgreich entfernt !", 3) ; Flag: 1, 5, 1, 1, 2.
    EndIf

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

    Exit

    [/autoit]

    Der zweite Teil erledigt die eigentliche Arbeit.

    Spoiler anzeigen
    [autoit]


    ; #SCRIPT# ----------------------------------------------------------------------------------------------------------------------------------------------
    ; Script Name : AutoIt Synchronisation.au3
    ; Beschreibung : Programm, um geänderte AutoIt-Scripte usw. automatisch zu sichern.
    ;
    ; Includes : <File.au3> wird für den _PathSplit()-Befehl gebraucht.
    ; AutoIt Version : 3.3.8.1
    ; Script Autor : BigRox
    ; Anmerkung(en) : Es werden aber NUR die Scripte und die kompilierten exe-Dateien gesichert !
    ; -------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ; Sonstiges für dieses Script festlegen.
    #RequireAdmin

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

    ; Dateien einbinden.
    #include-once
    #include <File.au3>

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

    ; Festlegen das alle verwendeten Variablen auch deklariert werden müssen.
    Opt("MustDeclareVars", 1)

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

    Local $Dateiliste_Quelle[15], $Dateiname_Ziel, $LV, $Ordner_Name_Quelle, $Programme_Ziel_Pfad, $Scripte_Ziel_Pfad, $Ziel_Pfad
    Local $Fehler = 0, $Dateizeit_Quelle, $Dateizeit_Ziel

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

    $Scripte_Ziel_Pfad = "E:\USB_Blau\AutoIt\Eigene Install Scripte"
    $Programme_Ziel_Pfad = "E:\USB_Blau\Neuer Install mit AutoIt"

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

    ; Testen, ob überhaupt .au3-Dateien in dem Quellordner existieren (wenn Nein, ist es der falsche Ordner !)
    If FileExists($CMDLine[1] & "\*.au3") = 0 Then
    MsgBox(262192, "! ! ! F E H L E R ! ! !", "Dieser Ordner enthält keine AutoIt-Scripte," & @LF & " daher wird das Programm abgebrochen !") ; Flag: 1, 4, 1, 1, 2.
    Exit
    EndIf

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

    ; Feststellen, ob mehrere Parameter zurückgegeben wurden.
    If $CMDLine[0] = 1 Then
    ; Die Funktion zum ermitteln des Ordnernamen aus dem zurückgegebenen Parameter (enthält den ganzen Pfad ohne Backslash am Ende) aufrufen.
    $Ordner_Name_Quelle = OrdnerDateiName($CMDLine[1])
    #region .au3-Dateien kopieren.
    $Dateiliste_Quelle = DateienAuflisten($CMDLine[1], "*.au3")
    For $LV = 1 To UBound($Dateiliste_Quelle) - 1
    ; Die "geändert" Dateizeit der Quell-.au3-Datei auslesen.
    $Dateizeit_Quelle = FileGetTime($Dateiliste_Quelle[$LV], 0, 1)
    $Dateiname_Ziel = OrdnerDateiName($Dateiliste_Quelle[$LV]) & ".au3"
    ; Die Attribute der Zieldatei ändern (damit die Datei auch sicher überschrieben werden kann).
    FileSetAttrib($Scripte_Ziel_Pfad & "\" & $Ordner_Name_Quelle & "\" & $Dateiname_Ziel, "-RSH")
    ; Die neue .au3-Datei aus der Quelle, ans Ziel kopieren.
    FileCopy($CMDLine[1] & "\" & $Dateiname_Ziel, $Scripte_Ziel_Pfad & "\" & $Ordner_Name_Quelle & "\", 1)
    ; Die "geändert" Dateizeit der Ziel-.au3-Datei auslesen.
    $Dateizeit_Ziel = FileGetTime($Scripte_Ziel_Pfad & "\" & $Ordner_Name_Quelle & "\" & $Dateiname_Ziel, 0, 1)
    ; Die "geändert"-Dateizeit der Quelle mit der des Ziels vergleichen, um festzustellen, ob die Datei auch wirklich kopiert wurde.
    If $Dateizeit_Quelle <> $Dateizeit_Ziel Then
    ; Den Wert der Variable $Fehler um eins erhöhen, falls die Zeiten nicht identisch sind.
    $Fehler = $Fehler + 1
    EndIf
    Next
    ;MsgBox(0, "", $Fehler & " Fehler beim Kopieren der .au3-Dateien !")
    #endregion .au3-Dateien kopieren.

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

    #region exe-Dateien kopieren.
    Local $Dateiliste_Quelle[15] ; dadurch werden alle Werte im Array gelöscht.
    $Dateiliste_Quelle = DateienAuflisten($CMDLine[1], "*.exe")
    For $LV = 1 To UBound($Dateiliste_Quelle) - 1
    ; Die "geändert" Dateizeit der Quell-.exe-Datei auslesen.
    $Dateizeit_Quelle = FileGetTime($Dateiliste_Quelle[$LV], 0, 1)
    ; Die Funktion zum ermitteln des Dateinamens aus dem Array-Element (enthält den ganzen Pfad, mit Erweiterung) aufrufen.
    $Dateiname_Ziel = OrdnerDateiName($Dateiliste_Quelle[$LV])
    ; Den passenden Pfad zum Ziel ermitteln.
    $Ziel_Pfad = _PfadErmitteln($Programme_Ziel_Pfad, $Dateiname_Ziel & ".exe")
    ; Die Attribute der Zieldateien ändern (damit die Datei auch sicher überschrieben werden kann.
    FileSetAttrib($Ziel_Pfad, "-RSH")
    ; Die neue .exe-Datei aus der Quelle, ans Ziel kopieren.
    FileCopy($Dateiliste_Quelle[$LV], $Ziel_Pfad, 1)
    ; Die "geändert" Dateizeit der Ziel-.exe-Datei auslesen.
    $Dateizeit_Ziel = FileGetTime($Ziel_Pfad, 0, 1)
    ; Die "geändert"-Dateizeit der Quelle mit der des Ziels vergleichen, um festzustellen, ob die Datei auch wirklich kopiert wurde.
    If $Dateizeit_Quelle <> $Dateizeit_Ziel Then
    ; Den Wert der Variable $Fehler um eins erhöhen, falls die Zeiten nicht identisch sind.
    $Fehler = $Fehler + 1
    EndIf
    Next
    ;MsgBox(0, "", $Fehler & " Fehler beim Kopieren der .exe-Dateien !")
    #endregion .exe-Dateien kopieren.

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

    Else
    ; Fehlermeldung ausgeben, falls mehrere Parameter zurückgegeben wurden.
    MsgBox(0, "! ! ! F E H L E R ! ! !", "Es wurden zu viele Parameter zurückgegeben !")
    EndIf

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

    ; Feststellen, ob beim Kopieren der Dateien ein Fehler aufgetreten ist.
    If $Fehler = 0 Then
    ; Erfolgsmeldung ausgeben und den Quellordner löschen.
    MsgBox(262208, "! ! ! E R F O L G ! ! !", "Alle Dateien wurden erfolgreich kopiert.") ; Flag: 1, 5, 1, 1, 2.
    DirRemove($CMDLine{0})
    Else
    ; Fehlermeldung ausgeben und nichts löschen.
    MsgBox(262192, "! ! ! F E H L E R ! ! !", "! ! ! Beim kopieren ist ein Fehler aufgetreten ! ! !") ; Flag: 1, 4, 1, 1, 2.
    EndIf

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

    Exit

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

    Func OrdnerDateiName($_Whole_Path)
    Local $_Drive, $_Path, $_Name, $_Extension

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

    _PathSplit($_Whole_Path, $_Drive, $_Path, $_Name, $_Extension)
    Return $_Name
    EndFunc

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

    ; Die folgende Funktion stammt von http://www.autoit.de.
    Func DateienAuflisten($_recdir, $_Fsrch = "*.*", $_rcend = 1)
    Local $_rcstrt, $_rcffnf, $_rectmpdrs, $_rci, $_recdirobj, $_recdirpth, $_recdirsmlng, $_recdirec

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

    $_recdir = StringRegExpReplace($_recdir, "\\ *$", "")

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

    If $_rcend Then
    Global $_rcfls[200000]
    $_rcfls[0] = 0
    EndIf
    If Not FileExists($_recdir) Then
    SetError(1)
    Dim $_rcfls[1]
    Return $_rcfls
    EndIf

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

    $_rcstrt = FileFindFirstFile($_recdir & "\" & $_Fsrch)

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

    If $_rcstrt <> -1 Then
    While 1
    $_rcffnf = FileFindNextFile($_rcstrt)
    If @error Then
    ExitLoop
    EndIf
    $_rcfls[0] += 1
    $_rcfls[$_rcfls[0]] = $_recdir & "\" & $_rcffnf
    WEnd
    EndIf
    FileClose($_rcstrt)
    $_recdirobj = ObjCreate("Scripting.FileSystemObject")
    If Not @error Then
    $_recdirpth = $_recdirobj.GetFolder($_recdir & "\")
    $_recdirsmlng = $_recdirpth.SubFolders
    For $_recdirec In $_recdirsmlng
    DateienAuflisten($_recdir & "\" & $_recdirec.Name, $_Fsrch, 0)
    Next
    EndIf
    If $_rcend Then
    ReDim $_rcfls[$_rcfls[0] + 1]
    EndIf
    If $_rcfls[0] = 0 Then
    SetError(1)
    EndIf

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

    Return $_rcfls ; Das Array mit allen gefundenen Dateipfaden übergeben.
    EndFunc ; DateienAuflisten()

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

    ; Die folgende Funktion stammt teilweise von http://www.autoit.de.
    Func PfadErmitteln($_Start_Folder, $_Filename, $_W_Path = True, $_Message = True, $_Finish = False)
    Global $_Found_Path = "" ; Die Variable muss global sein, damit sie in allen Funktionen abgefragt werden kann, aber sie ist dann auch, nach dem Aufruf der Funktion, im ganzen Script gültig !
    Local $_Chk_1 = 0, $_Chk_2 = 0, $_FSO

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

    $_Start_Folder = $_Start_Folder & "\" ; Einen Backslash an den Pfad anhängen (damit der Pfad immer mit Backslash zurückgegeben wird).

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

    ; Testen ob überhaupt ein Start-Ordner und/oder Dateiname übergeben wurde.
    If $_Filename = "" Or $_Start_Folder = "" Then

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

    If $_Message Then
    MsgBox(262192, "! ! ! F E H L E R ! ! !", '"leerer" Pfad- oder/und Datei-Namen !') ; Flag = 1, 4, 1, 1, 2.
    EndIf
    If $_Finish Then
    Exit (1)
    Else
    Return SetError(1, 0, 0)
    EndIf
    EndIf

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

    ; Testen ob der Start-Ordner auch existiert.
    If Not FileExists($_Start_Folder) Then
    MsgBox(0, "", $_Start_Folder)
    If $_Message Then
    MsgBox(262192, "! ! ! F E H L E R ! ! !", 'Der "Start-Ordner" existiert nicht !') ; Flag = 1, 4, 1, 1, 2.
    EndIf
    If $_Finish Then
    Exit (1)
    Else
    Return SetError(2, 0, 0)
    EndIf
    EndIf

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

    If FileExists($_Start_Folder & $_Filename) Then ; Wird gebraucht wenn die Datei nicht in einem Unterverzeichnis. sonder direkt im angegeben Suchpfad liegt.
    Return $_Start_Folder & $_Filename
    EndIf

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

    ; Ein neues Objekt erstellen.
    $_FSO = ObjCreate("Scripting.FileSystemObject")
    UnterordnerAnzeigen($_FSO.GetFolder($_Start_Folder), $_Filename, $_W_Path)

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

    ; Testen ob ein "leerer" Pfad zurückgegeben wurde (wird ein "leerer" Pfad zurückgegeben, so wurde keine Datei gefunden).
    If $_Found_Path = "" Then
    If $_Message Then
    MsgBox(262192, "! ! ! F E H L E R ! ! !", "Die Datei wurde nicht gefunden !") ; Flag = 1, 4, 1, 1, 2.
    EndIf
    If $_Finish Then
    Exit (1)
    Else
    Return SetError(3, 0, 0)
    EndIf
    Else
    Return $_Found_Path
    EndIf
    EndFunc ; PfadErmitteln()

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

    ; Die folgende Funktion stammt teilweise von http://www.autoit.de.
    Func UnterordnerAnzeigen($_Folder, $_File, $_W_Path)
    For $_Subfolder In $_Folder.SubFolders
    If FileExists($_Subfolder.Path & "\" & $_File) Then
    If $_W_Path Then ; Den gefundenen Pfad mit- oder ohne Dateinamen zurückgeben.
    $_Found_Path = $_Subfolder.Path & "\" & $_File
    Else
    $_Found_Path = $_Subfolder.Path & "\"
    EndIf
    ExitLoop
    EndIf
    UnterordnerAnzeigen($_Subfolder, $_File, $_W_Path) ; Da es sich um eine rekursive Suche handelt, ruft die Funktion sich selber wieder auf.
    Next
    EndFunc ; UnterordnerAnzeigen()

    [/autoit]

    Eventuell kann ja der eine oder der andere etwas davon brauchen.
    Verbesserungsvorschläge, sind natürlich auch willkommen.

    MfG:
    BigRox

  • Kleine Unschönheit in der Hilfe

    • BigRox
    • 14. Februar 2014 um 15:15

    Hallo minx,
    das mit den relativen Pfadangaben, ist so etwas, was man bei "Bemerkungen" schreiben sollte.

    Eben nicht jeder kennt das und gerade ein Anfänger "stolpert" schnell darüber.

    MfG:
    BigRox

  • Kleine Unschönheit in der Hilfe

    • BigRox
    • 14. Februar 2014 um 13:26

    Hallo,
    soeben ist mir eine kleine "Unschönheit" in der deutschen Hilfe vom 23.12.2013 aufgefallen.

    In der Funktions Referenz zu "FileGetTime", steht bei Parameter:

    "filename Dateiname der zu überprüfenden Datei.

    Sollte man da nicht dazuschreiben, dass man da den ganzen Pfad angeben muss und nicht nur den Namen ?

    Ich meine, die Hilfe ist doch gerade für Anfänger wichtig und daher sollte man sie auch so schreiben.
    (das trifft auch auf einige Beispiele zu, da werden öfters irgendwelche Variablen verwendet oder Sachen ausgelassen die ein Profi für selbstverständlich hält, aber ein Anfänger verwirrt es nur z.B. Funktions Referenz "StringInString" Parameter "occurence" das mit negativen Werten und von rechts suchen, steht da nirgends und ich habe es bis heute auch nicht hinbekommen.)

    MfG.
    BigRox

  • Doppeltes Wort

    • BigRox
    • 13. Februar 2014 um 18:30

    Hallo,
    soeben ist mir ein kleiner Fehler in der deutschen Hilfe vom 23.12.2013 aufgefallen.

    In der Schlüsselwortreferenz zu "Dim", steht:

    "Deklariert man den den Variablennamen erneut,..."

    Da ist wohl ein "den" zuviel :) .

    MfG:
    BigRox

  • Tipps für ein Programm

    • BigRox
    • 10. Februar 2014 um 14:14

    Hallo,
    ich habe soeben mal einen neuen Schlüssel in der Registry erstellt und zwar:

    In HKEY_CLASSES_ROOT\Folder\shell
    den Schlüssel "AutoIt Test"

    und sofort wird mir dieser Eintrag auch im Kontextmenü der Ordner angezeigt.
    Wenn ich diesen Schlüssel wieder lösche, so ist der Eintrag auch sofort wieder weg.

    Es geht also ohne Neustart und Schlüssel erstellen und löschen, dass geht einfach mit AutoIt.

    Nur erscheint da der Eintrag ja irgendwo im Kontextmenü.
    Kann man im Kontextmenü eigentlich auch Trennlinien o.ä. erstellen, sodass der Eintrag besonders hervorgehoben wird und kann man deren Position im Kontextmenü festlegen ?

    MfG:
    BigRox

  • Tipps für ein Programm

    • BigRox
    • 10. Februar 2014 um 13:00

    Hallo,
    ich brauche da mal eine paar Tipps für ein Programm.

    Ich will mir ein Programm in AutoIt basteln, dass mir hilft Ordner und deren Inhalt zu synchronisieren.
    Das Programm soll, wenn ich es starte, sich in die Taskleiste minimieren, sodass sein Fenster nicht stört.
    Aber dieses Programm soll mir einen zusätzlichen Eintrag im Kontextmenü der Ordner erstellen (z.B. einfach "Ordner synchronisieren" o.ä.)
    Dann bräuchte ich ja nur den zu synchronisierenden Ordner mit der rechten Maustaste anzuklicken und bekomme dann im Kontextmenü diesen Eintrag zum anklicken angeboten.

    Nur wie bekomme ich dann diesen, mit rechts angeklickten, Ordnernamen usw. in das Synchronisations-Programm, damit ich damit etwas "anstellen" kann ?

    Und als letztes soll der Kontextmenü-Eintrag auch wieder entfernt werden, wenn ich das Synchronisations-Programm beende.

    Das müsste eigentlich auch mit AutoIt zu machen sein. Nur wie kann man soetwas machen ? Da ich soetwas noch nie gemacht habe, habe ich auch keine Idee, wie man das machen kann.
    Das mit dem synchronisieren usw. bekomme ich dagegen selber hin.

    MfG:
    BigRox

  • Variable used without being declared

    • BigRox
    • 27. Januar 2014 um 12:24

    Hallo DOheim,
    schau dir mal den Thread an, da geht es auch darum.

    "Dekompilieren für Eigenbedarf nicht mehr möglich? Alternative?"

    MfG
    BigRox

  • Dekompilieren für Eigenbedarf nicht mehr möglich? Alternative?

    • BigRox
    • 23. Januar 2014 um 12:40

    Hallo,
    zuerst einmal, ich will nichts dekompilieren.

    Aber da ich auch öfters Probleme mit irgendwelchen Fehlermeldungen habe, die seltsamerweise erst beim Ausführen der exe auftreten, habe ich da mal eine Frage.

    Wenn beim Auführen der exe, so eine Fehlermeldung auftaucht, wie kann ich daraus die Fehlerquelle erkennen ?

    Leider steht da ja nichts von Zeilennummer, include ö.ä.

    Ich weiß mittlerweile nur eins, wenn da eine höhere Zeilennummer erscheint als mein Script überhaupt Zeilen hat, so liegt das Problem meistens in einer der verwendeten Include-Datei.
    Nur wenn die viele Funktionen beinhaltet, ist suchen angesagt.

    Irgendwann, meistens nur durch Glück findet man dann eventuell auch die richtige Stelle.
    Und dann ist das meisten so, dass da irgend so ein ... eine Variable nicht deklariert hat.

    Gibt es da irgendeine legale Möglichkeit mehr aus so einer Fehlermeldung zu ersehen ?
    Z.B. Fehler in Zeilennummer 128 in Datei File.au3 o.ä.

    Und vor allem, warum erscheint so ein Fehler erst beim Ausführen der exe und nicht schon beim Ausführen des Scripts in z.B. SciTE ?

    MfG
    BigRox

    Dateien

    Aufnahme1.jpg 19,87 kB – 0 Downloads
  • Frage zu Inputbox

    • BigRox
    • 22. Januar 2014 um 17:41

    Hallo,
    ich habe da mal ein Frage zu der Inputbox.

    in der Box, werden einem ja zwei Buttons angezeigt.
    Die sind Standardmäßig ja mit "OK" und "Cancel" beschriftet.

    Kann man diese beiden Buttons auch mit einem eigenen Text belegen ?
    Irgendwie gabs doch da mal eine Möglichkeit.

    MfG
    BigRox

  • Nutzt ihr die Deutsche Hilfe von AutoIt?

    • BigRox
    • 15. Dezember 2013 um 18:27

    Hallo,

    Zitat von Mars

    Für die Beta muss man ggf die englische Hilfe zur Rate ziehen, sonst nutze ich immer die Deutsche.
    Ich kann relativ gut englisch, von daher könnte es mir egal sein, aber als Deutscher lese ich lieber Deutsch ! :D
    M


    So sehe ich das auch.
    Wenn ein Engländer englisch schreibt, gut das ist nun mal seine Muttersrache.
    Und wen einer aus z.B. Japan Englisch schreibt, auch gut, Japanisch können eben so viele, und mit Englisch bietet der schon mal ein gute Grundlage, um auch überall verstanden zu werden.

    Aber ich bin halt Deutscher, und in Deutschland spricht man nun mal Deutsch.
    Wenn man in Deutschland alles nur noch in englisch macht, könnte man eigentlich hier auch die Amtssprache in Englisch ändern.
    Wenn einer meine Scripte mit Deutschen Beschreibungen usw. nicht gut findet und er sie lieber in Englisch haben will, kann er sie sich gerne übersetzen, ich übersetze eben seine (oder die Hilfe von AutoIt).

    MfG
    BigRox

  • Nutzt ihr die Deutsche Hilfe von AutoIt?

    • BigRox
    • 15. Dezember 2013 um 13:31

    Hallo,
    ich habe eben auch mal mit abgestimmt.

    Zuerst sehe ich immer in der deutschen Hilfe nach, und wenn es da nicht so richtig steht, kommt auch mal die englische dran.
    Da ich selber einiges mit übersetzt habe, habe ich auch so manche Funktionen kennengelernt.
    Und auch heute denke ich bei Problemen mit AutoIt immer wieder "Dazu habe ich doch mal etwas in der Hilfe gesehen".

    Wenn es dann immer noch nicht so richtig will, suche ich hier im Forum nach dem Problem, und erst ganz zum Schluss, frage ich nach.

    Also, ich finde es gut, dass es so etwas wie eine deutsche Hilfe gibt.
    Schade ist nur, dass die Überstzungsseite nicht mehr will.

    MfG
    BigRox

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™