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. msp-holzwurm

Beiträge von msp-holzwurm

  • NTFS-Rechte auslesen

    • msp-holzwurm
    • 16. Januar 2008 um 21:46

    Hallo!

    will nur Rechte auslesen, ein Programm verpasst dem Verzeichnis eine bestimmte Sicherheitsstruktur und ich soll üerwachen, ob der "faule" Admin einfach wieder die Rechte auf Vollzugriff/Jeder aufgerissen hat.
    Optimal wäre eine Liste:
    Schreibzugriff für Gruppe: XYZ
    Liste: Mitglieder der Gruppe XYZ

    aber Lösung a wäre wahrsch. schon ausreichend, evtl auch nur ne Warnmeldung, wenn die Rechte wieder "aufgerissen" sind.

    Danke & Gruss

    German

  • NTFS-Rechte auslesen

    • msp-holzwurm
    • 16. Januar 2008 um 20:30

    Hallo All!

    muß ein hochsensibles Verzeichnis überwachen, welche NFTS-Rechte drauf sind und welcher Benutzer zu den "Zugriffsgruppen" gehört. (einmal am Tag, also nicht als Dienst oder so)
    mit dem CACLS Kommando hab ich mich heute mal etwas beschäftigt, hat jemand sowas schonmal in Autoit realisiert, gibts da bessere-überlegene Freewaretools ?????

    Für kleine Tips wär ich dankbar.

    Es grüßt Euch

    German

  • Erfolg bei FileMove

    • msp-holzwurm
    • 3. Januar 2008 um 20:11

    warum soll ich da mit ner CMD-Umgebung Arbeiten, die Meldungen aus Autoit (=funktionsmeldungen von FileCopy oder FileMove) sind schon OK. Auf Terminalservern kann folgendes Geisterprobem auftreten:
    die Datei ist schon von Funktion a geschrieben, wenn ich aber ohne Pause von Funktion b drauf zugreifen will, dann hustet der mir was (der Cache schreibt das anscheinend noch runter) da hab ich immer ne Pause von 5 Sekunden drin.

    Kann mir 2 Sachen vorstellen:
    sind im Quellverzeichnis viele Dateien, dann dauert das Abarbeiten (Viele sind für mich hier sagen wir mal > 15000 Stück, das bremst tierisch)

    wenn da noch (von irgendeinem anderen Prozess Daten reingeschrieben werden und ich will die schon weggkoperen oder -moven dann hab ich auch ein Problem, hier kann man aber einfach mit Autoit abfragen, ob der letzte Zugriff auf die Datei > 20 Sekunden war (das ist mein Richtwert in Multiserverumgebungen für Dateien zwischen 3kb und 20kb, wenn ich nur 1kb große Dateien habe, dann stell ich das auf 5 Sekunden.
    (Mustercode gibts bei Interesse).

    Schaufe den ganze Tag wirklich unmengen von Zeugs von A nach B (allerdings so immer unter 500kByte) zwischen NetOp-Systemen, Samba, div. MS-Kisten).

    Brauch da jetzt mal etwas mehr Futter:
    a, wieviele Dateien stehen im Quellverzeichnis
    b, werden da von einem anderen Prozess Daten noch reingeschrieben, während ich kopieren will
    c, wie stark ist die Kiste ausgelastet (kann man mit glint=Freeware und erste Sahne dafür -funktioniert ohne Installation sehr gut und sehr detailliert abfragen)
    d, hat Taucher (war doch der Ursprungsfrager) schonmal meinen Code ausprobiert
    e, ist die Kiste evtl. tierische fragmentiert (kenn da so einen der hat seinen Server noch nie Defragmentiert, nach 5 jahren war seine 5GB große Datenbank auf 87000 Fragmente verteilt), dadurch hatte ich 2 sehr ruhige Tage (wo nix mehr geht, geht nix mehr äh absolut nix mehr)

    Also raus mit der Sprache, Autoit läuft im Serverumfeld einwandfrei, sonst hätten mich heute wieder 150 Kunden gefressen --)))

    Grüße

    German

  • Erfolg bei FileMove

    • msp-holzwurm
    • 2. Januar 2008 um 21:42

    Hallo!

    wie läuft das Script?? mir ist nämlich schleierhaft, wie Dein Laufwerk verbunden werden soll, wenn das nicht da ist. Läuft das als geplanter Task oder als Dienst, dann kann ich mir das Problem schon denken. (nach Deiner Machart muß das ein aufgeschalteter User mit verbundenem T: benutzen, hab mir Dein $FTP versucht nachzubauen).


    Hab so ca. 20 Kopiertools mit autoit bei uns im Rechenzentrum laufen und die laufen echt gut, aber immer ne saubere Schleife drum rum (als FileFindFirstFile) oder wie unten im Beispiel.
    Meine _protoutput ist sicher nicht die Lösung um die Endgeschwindigkeit des Kopierens zu messen, nützt mir in der Praxis auch nichts, da entscheidend ist, wann ist die Datei A vom Server1 auf den Server2 gewandert.


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; test_57.au3
    ; kopieren Muster für Usergroup

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

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

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

    $PROTFILE="F:\hilf\test_57.prot"

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

    $FTP="\\gddp1\cd"
    $source_path="F:\quelle"
    $dest_path="T:\nix"

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

    If Not FileExists($FTP) Then
    DriveMapAdd("T:", "\\GDDP1\CD")
    MsgBox(64, "Laufwerk", "Es wurde " & $FTP & " verbunden", 10)
    EndIf
    ;

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

    $FolderList=_FileListToArray($source_path & "\", "*.fbk",1) ; Flag 2 = nur Ordner

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

    If (Not IsArray($FolderList)) OR @ERROR > 0 Then
    _protoutput($PROTFILE," keine Dateien zum kopieren vorhanden")
    ; MsgBox (0,"","Keine Dateien gefunden gefunden.")
    else

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

    For $i = 1 To $FolderList[0]

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

    $Befehl=FileMove($source_path & "\" & $FolderList[$i],$dest_path & "\" & $FolderList[$i],2)
    if $Befehl=1 then
    _protoutput($PROTFILE, "Datei " & $FolderList[$i] & " erfolgreich kopiert")
    else
    _protoutput($PROTFILE, "FEHLER bei Datei " & $FolderList[$i])
    EndIf
    sleep (250) ; mit dem Wert spielen, mindestens auf 30 lassen, sonst ist die CPU-Last auf 100%

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

    Next

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

    EndIf

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

    Func _protoutput($PROTFILE,$TEXT)

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

    $datelong = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC

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

    $pfile=Fileopen($Protfile,1)
    ; Check if file opened for reading OK
    If $pfile = -1 Then
    MsgBox(64, "PROTOKOLLDATEI" & " " & $PROTFILE, "kann nicht geöffenet werden",10)
    Exit
    EndIf

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

    FileWrite($pfile, $datelong & " " & $TEXT & @CRLF)

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

    FileClose($pfile)

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

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Ftp Upload!

    • msp-holzwurm
    • 13. Dezember 2007 um 20:27

    Hallo Lenny!

    Virenscanner, Firewall auf der anderen Kiste??

    wenn ja, einfach mal dekativieren.

    Gleiches Betriebssystem, Internet-Explorer.

    Lass mal den Total-(früher) Windows-Commander dort laufen und versuch damit eine FTP-Verbindung oder mit Betriebsystemmitteln.

    Gruss

    German

  • ProcessExists

    • msp-holzwurm
    • 12. Dezember 2007 um 21:51

    Hallo!

    hier meine Lösung:


    im Programm:

    $laufich=_countrunningprocess("meinprogrammname.exe")
    if $laufich > 1 then
    ; mehrfachstart
    exit
    EndIf


    Func _countrunningprocess($Process)

    ; funktion:
    ; Wie oft läuft das Programm im Hauptspeicher des Systems
    ; Version 1.00 20070601 GD

    $Anzahl=0
    ; List all processes

    $list = ProcessList()

    ; List just notepad.exe processes
    $list = ProcessList()
    for $i = 1 to $list[0][0]
    ; msgbox(0, "es läuft" ,$list[$i][0],1)
    $Pname=$list[$i][0]
    if StringInStr($list[$i][0],$Process) then
    $anzahl=$anzahl+1
    EndIf
    next

    Return $anzahl

    EndFunc

    ; ###################################

  • Frage bez. StringInStr

    • msp-holzwurm
    • 11. Dezember 2007 um 21:38

    Hallo!

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

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

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

    $text="+ 200 Leben"
    $cleantext=StringToNum($text)

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

    Dim $changetext[1]
    _changetext()

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

    $Praemie=_changeit($cleantext)

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

    msgbox(0,"die Vermittlungsprämie ist", $Praemie)

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

    Func _changeit($text)

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

    If IsArray($changetext) Then

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

    For $i = 0 To UBound($changetext) - 1

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

    $teil=StringSplit($changetext[$i],";")
    if $teil[0]=2 then
    $alttext=$teil[1]
    $neutext=$teil[2]

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

    if $text=$alttext then
    Return $neutext
    exitloop

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

    EndIf
    EndIf

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

    Next
    Return($text)
    EndIf

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

    EndFunc

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

    Func _changetext()

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

    Dim $changetext[3] ; Anzahl der zeilen unten null mitzählen

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

    $changetext[0]="100;Vermittlungsprämie 50,-- Euro"
    $changetext[1]="200;Vermittlungsprämie 75,-- Euro"
    $changetext[2]="300;Vermittlungsprämie 135,--Euro"
    EndFunc

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

    Func StringToNum($stringtoconv)

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

    Local $Hilf, $i, $convString
    $aryChar = StringSplit($stringtoconv, "")
    ; jetzt hab ich das Teil im array

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

    For $i = 1 To $aryChar[0]
    ; nur Ausgabe wenn Integer Wert
    $checkstring=StringIsInt($aryChar[$i])
    if $checkstring=1 then
    $convString = $convString & $aryChar[$i]
    EndIf

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

    Next

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

    Return $convString

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

    EndFunc

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


    ansonsten kannst Du mit

    Select
    case $leben > 49 AND $Leben < 101
    msgbox(0,"huhu","zwischen 50 und 100")
    case $leben > 100 and $leben < 500
    msgbox(0,"huhu", "zwischen 100 und kleiner 500")
    case else
    msgbox(0,"huhu", "irgend was anders")

    EndSelect

    Arbeiten - sorry habs jetzt 3 mal gelesen, ich verstehs nicht

    Schau mal meine neue Funktion StringtoNum an (das geht technisch besser, aber vielleicht einfacher zu verstehen!!)

  • Frage bez. StringInStr

    • msp-holzwurm
    • 11. Dezember 2007 um 20:46

    Hallo!

    Ändere oben mal den Text Supermann gegen Vollflasche und probier das Teil.
    Hab Deine Frage allerdings nicht bis ins allerletzte gelesen (geb ich zu)
    (die übichen Lizenzkosten: KAAAFFFFEEEEE)


    Grüße

    German

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

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

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

    $text="Supermann"

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

    Dim $changetext[1]
    _changetext()
    $newtext=_changeit($text)

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

    msgbox(0,"der neue text ist", $newtext)

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

    Func _changeit($text)

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

    If IsArray($changetext) Then

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

    For $i = 0 To UBound($changetext) - 1

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

    $teil=StringSplit($changetext[$i],";")
    if $teil[0]=2 then
    $alttext=$teil[1]
    $neutext=$teil[2]

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

    if StringInStr($alttext,$text) then
    Return $neutext
    exitloop

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

    EndIf
    EndIf

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

    Next
    Return($text)
    EndIf

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

    EndFunc

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

    Func _changetext()

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

    Dim $changetext[3] ; Anzahl der zeilen unten null mitzählen

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

    $changetext[0]="nixnutz;Kompetenzträger"
    $changetext[1]="Schlafmütze;Leitungsträger"
    $changetext[2]="Vollflasche;Abteilungsleiterniveau"
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • suche dll zum komprimieren von exen und Bildern

    • msp-holzwurm
    • 11. Dezember 2007 um 20:23

    Hallo!

    sorry, falls ich das nicht oder falsch geschrieben habe:

    https://autoit.de/www.info-zip.org

    auf der Startseite weiter unten ist dann downloads

    Gruss

    German

  • suche dll zum komprimieren von exen und Bildern

    • msp-holzwurm
    • 10. Dezember 2007 um 21:21

    Hallo Derda!

    nicht komplett durchgetestet, war heute 12h auf der Maloche, mein Akku ist jetzt leer:
    zip.exe ist im Pfad bei mir, ansonsten mit FileInstall aus dem include nehmen und nach %tempDir% schieben.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; test_54.au3
    ; zippen Muster für Usergroup

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

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

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

    ; Achtung zip.exe ist schon im Suchpfad!!

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

    $PROTEXTMON = @YEAR & @MON
    $datelong = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC
    $zipfile= "F:\hilf\derda" & @YEAR & @MON & @MDAY & @HOUR & @MIN
    $PROTFILE= "f:\hilf\derda.log"
    $source_path="f:\autoit"
    $searchstring=".*\.[Aa]+[Uu]+[3]+$"
    ; $searchstring="[Ss].*"

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

    $FolderList=_FileListToArray($source_path & "\", "*.*",1) ; Flag 2 = nur Ordner

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

    If (Not IsArray($FolderList)) OR @ERROR > 0 Then
    ; MsgBox (0,"","Keine Dateien gefunden gefunden.")
    else
    EndIf

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

    For $i = 1 To $FolderList[0]
    $testit= StringRegExp($FolderList[$i], $searchstring)
    if $testit=1 then ; Datei passend zu Suchumster gefunden
    ; msgbox(0,"DEBUGG", $FolderList[$i])
    $Befehl="zip -j " & $zipfile & " " & $source_path & "\" & $FolderList[$i]
    $zipit=runwait($Befehl, @TempDir, @SW_HIDE)
    ; msgbox(0,"Ergebnis vom zippen ist", $zipit)
    if $zipit=0 then
    _protoutput($PROTFILE, $source_path & "\" & $FolderList[$i] & " --> " & $zipfile & " OK")
    else
    _protoutput($PROTFILE, "ZIP-FEHLER " & $zipit & " BEIM PACKEN VON " & $source_path & "\" & $FolderList[$i])
    EndIf
    sleep (250) ; mit dem Wert spielen, mindestens auf 30 lassen, sonst ist die CPU-Last auf 100%
    EndIf
    Next

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

    Func _protoutput($PROTFILE,$TEXT)

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

    $datelong = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC

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

    $pfile=Fileopen($Protfile,1)
    ; Check if file opened for reading OK
    If $pfile = -1 Then
    MsgBox(64, "PROTOKOLLDATEI" & " " & $PROTFILE, "kann nicht geöffenet werden",10)
    Exit
    EndIf

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

    FileWrite($pfile, $datelong & " " & $TEXT & @CRLF)

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

    FileClose($pfile)

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

    EndFunc

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

    Gruss aus dem Spessart

    German

  • suche dll zum komprimieren von exen und Bildern

    • msp-holzwurm
    • 9. Dezember 2007 um 16:53

    Hallo!

    soll das Teil mehr zum Archivieren da sein, also
    a, z.B. alle Bilder die älter als 30 Tage sind in ein Archiv verschieben

    oder mehr
    "on-the-Fly" während des Programmstartes (-laufes) eine Datei aus einem Archiv holen.

    Soll das nur auf Deinem Rechner oder auf x-Rechnern laufen????

    arbeite äußerst zufrieden mit dem zip.exe und unzip.exe von info-zip

    hab seit 2 Wochen ein neues Programm gebaut, daß aus einer Sicherung (ca. 700 gezippte Log-Files eines Kundentesttools) die gewünschte Einzeldatei entzippt und in einer List-Box darstellt.
    Funktioniert zufriedenstellend.
    (da das jetzt auf x-Rechnern laufen muß, hab ich den unzip.exe Code mit eingepackt und lass den bei Programmstart nach %temp% entpacken.

    Grüße

    German

  • Programm zeitgesteuert öffnen

    • msp-holzwurm
    • 7. Dezember 2007 um 21:39

    Hallo!

    hab ja auch solche Probleme:

    Dienst Programmieren (das ist unterm Strich ne Endlosschleife), der ne INI-Datei auslist und dadrin steht, wann das programm ausgeführt werden soll. (in der Registry kannst Du dann vermerken, ob das z.B. heute schon ausgeführt wurde, dann wird halt nicht zum zwoten mal ausgeführt).

    Mit geplanten Tasks gibts sehr of Probleme (hab ja nur ca. 800 Kunden zu betreuen).

    Was soll das Teil tun (damit mein ich, wie wichtig ist das 20:00:00 oder darfs auch 20:00:35 Uhr sein, was ist auf der Kiste um diese Zeit los, in welcher Zeit muß das aufgerufene Programm durchlaufen, sollen da hunderte von Dateien kopiert werden)????

    Gib uns mal mehr Futter, dann wird die Antwort besser.

    Grüße

    German

  • Dateioperationen mit AutoIT

    • msp-holzwurm
    • 7. Dezember 2007 um 19:09

    Hallo!

    hab da ne professionelle Lösung dazu, ich klappere 120 Ordner ab, in denen ne Applikation Dateien ablegt, ist die Datei dort, wird ne weitere Aktion gestartet.

    Für Deine Frage gibts jetzt mehrere Ansätze:
    a, hat die Datei, wenn der FTP-Server noch aktiv ist (wird vom FTP-Client noch "beschrieben" wirklich schon den fertigen Namen??
    b, mit autoit kann ich nach ne bestimmten Datei suchen und sagen: du darfst erst weitermachen, wenn die letzte Zugriffszeit > 20 Sekunden ist (ist auf Terminalserverfarmen dringends anzuraten)
    c, mit unzip -l (und Fehlercode abfragen) kannst Du feststellen, ob die Datei enzippbar ist (wenn ja, nochmals 5 Sekunden warten und dann weiterverarbeiten

    Version b ist bei mir und div. Multiserverkunden (=Applikation auf mehreren Servern verteilt) im Einsatz und es
    läuft richtig gut.

    Schau Dir aber auch mal Version a in der Praxis an.

    Bei Interesse an B, helf ich Dir mit nem kleinen Beispiel

    Gruss

    German

  • GUI-Anfängerfrage

    • msp-holzwurm
    • 6. Dezember 2007 um 21:24

    Hallo!

    wie schaff ich es, daß der Button "löschen" aktiv ist, wenn ich das Programm starte, würde gerne meinen ersten Gehversuchen mit GUI auch den Button auf aktiv Setzen, der am meisten benötigt wird, damit man mit der RETURN-Taste arbeiten kann.

    (natürlich was sinnvolleres wie der Kram)

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; test_52.au3

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

    #include <GUIConstants.au3>

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

    GUICreate("Dice Roller", 265, 150, -1, -1)

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

    $button1= GUICtrlCreateButton("anzeigen", 5, 80, 50, 30)
    $button2= GUICtrlCreateButton("löschen", 65, 80, 50, 30)

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

    GuiSetState ()

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

    ; Run the GUI until the dialog is closed

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

    $eingabefeld=GUICtrlCreateInput ("", 10, 35, 300, 20)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $button1
    msgbox(0,"eingegeben wurde: ", GUICtrlRead($eingabefeld))

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

    Case $msg = $button2
    GuiCtrlSetData($eingabefeld,"")

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

    EndSelect
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

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

    Danke & Gruss

    German

  • String trennen

    • msp-holzwurm
    • 6. Dezember 2007 um 20:55

    Hallo!

    aus früheren autoi-Zeiten

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; basename
    ; gibt den Dateinamen einzeln zurück oder im Fehlerfalle ".."

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

    Func _basename($FileLongPath)

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

    if FileExists($FileLongPath) then
    $pruef1=_checkdirectory($FileLongPath)
    if $pruef1=1 then
    Return ".."
    exit
    EndIf

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

    $teile=StringSplit($FileLongPath,"\")
    $anz=$teile[0]
    Return $teile[$anz]

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

    Else
    Return ".."

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

    Endif

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

    EndFunc

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

    ; Test ob Datei
    ; Return 0 ist kein Verzeichnis oder Fehler
    ; Return 1 ist ein Verzeichnis

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

    Func _checkdirectory($File)

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

    $attrib=FileGetAttrib($File)
    If @error Then
    ; MsgBox(4096,"Error", "Could not obtain attributes.")
    Return 0
    Else
    If StringInStr($attrib, "D") Then
    Return 1
    Else
    Return 0
    EndIf
    EndIf

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

    EndFunc

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

    Gruss

    German

  • Variablen in FileWriteLine mitgeben?

    • msp-holzwurm
    • 6. Dezember 2007 um 20:48

    Hallo Davor!

    hier meinen Lösung, täglich einige "kilo-Male" im Einsatz:

    kleine Funktion namens _protoutput
    (sehr praktisch, wenn man größere Protokolle schreiben muß, bei Interesse, ich hab auch noch ein loggrep dazu, daß dann Zeilen nach einem oder mehreren Suchbegriffen "rausfiltern" und z.B. in die zwischenablage schreiben kann)
    Bevor hier irgendwelche Kritiker kommen:
    klar dauert das immer ne Datei öffnen und schließen, aber bei mir muß das 100% sicher (und nachweisbar) funktionieren, mal schnell in ein Array ballern und die Kiste fährt in blue-Screen geht halt nicht bei jeder Anwendung oder jeden Daten)


    Gruss

    German


    Func _protoutput($PROTFILE,$TEXT)

    $datelong = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC

    $pfile=Fileopen($Protfile,1)
    ; Check if file opened for reading OK
    If $pfile = -1 Then
    MsgBox(64, "PROTOKOLLDATEI" & " " & $PROTFILE, "kann nicht geöffenet werden",10)
    Exit
    EndIf

    FileWrite($pfile, $datelong & " " & $TEXT & @CRLF)


    FileClose($pfile)

    EndFunc

  • Datum ausgeben

    • msp-holzwurm
    • 5. Dezember 2007 um 20:29

    Hallo!

    das Rad braucht Ihr nicht neu zu erfinden:
    in der include-Datei mal die Doku anschauen.


    #include <date.au3>

    $heute = @YEAR & "/" & @MON & "/" & @MDAY
    ; Tag errechennen$errTag=_DateAdd("D",-$days,$heute)

    $letzter_Monat=_DateAdd("M","-1",$heute)
    msgbox(0,"der letzte Monat ist", $letzter_Monat)

    dann entsprechend Formatieren, hab nämlich ein vergleichbares Problem schon hinter mir --)))

    Grüße

    German

  • Wie kann ich ein TryIcon schließen

    • msp-holzwurm
    • 5. Dezember 2007 um 20:08

    Hallo!

    was da läuft und ein TryIcon hineterläst, ist das ein Programm oder ein Dienst????
    Wenn Du in der cmd-Shell
    net start

    eingibst, wird dann ein Dienst gelistet??

    Gruss

    German

  • Alles Gute peethebee

    • msp-holzwurm
    • 4. Dezember 2007 um 20:07

    Hallo pee!

    nachdem jetzt die ganzen Auswärdichen dro warn.
    Hier auch der Gruss aus der fränggischen Heimad

    vom msp-Holzwurm

    German

  • mehrere Änderungen in einem StringReplace

    • msp-holzwurm
    • 3. Dezember 2007 um 21:34

    Hallo!
    hier ohne größeres Prüfgezerre, sowas muß vor professionellem Einsatz unbedingt rein.

    Kostnen Kaffee!!

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; test_51.au3
    ; Multi-StringReplace

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

    $oldstring="Dick ist doof"
    $Old_newstring="Dick;Dünn,ist;war,doof;sexy"
    $neu=_multistringreplace($oldstring,$old_newstring)
    msgbox(0,"das kommt raus", $neu)

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

    Func _multistringreplace($oldstring,$Old_Newstring)

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

    $wechsel=StringSplit($Old_newstring,",")

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

    $anzahl_wechsel=$wechsel[0]

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

    $newstring=''

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

    for $i=1 to $anzahl_wechsel
    $change=StringSplit($wechsel[$i],";")
    msgbox(0," Suchbegriff", $change[1])
    msgbox(0," Ersatzbegriff", $change[2])

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

    $newstring=StringReplace($oldstring, $change[1],$change[2])
    $oldstring=$newstring
    Next

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

    Return $newstring
    EndFunc

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


    Gruss aus Mainfranken

    German
    PS: hab das jetzt schnell gezaubert und versucht so zu machen, daß Du als Anfänger auch durchblickst, wenn Du was nicht verstehst, dann sag das
    (hatte da auch so einen superg... Code bekommen, das war OK, bis mir am 30.06. mein Produktionsrechner den Ablug gemacht hat und meine Pumpe kurz davor war nachzuhüpfen...)
    Was nicht in die eigene Rübe geht ist schlecht (das mein ich nicht abwertend, aber manchen Code kapiert man halt nicht nach 2 Wochen 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™