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

Beiträge von Oscar

  • Listview auslesen

    • Oscar
    • 27. Februar 2009 um 14:49

    Meine Kristallkugel meint: 42 :D

  • hintergrund ändern

    • Oscar
    • 27. Februar 2009 um 14:46

    Kleine Starthilfe:

    [autoit]


    #include <File.au3>
    $sPath = @WindowsDir & '\'
    $aFileList = _FileListToArray($sPath, '*.bmp', 1)
    If Not @error Then
    For $i = 1 To $aFileList[0]
    RegWrite('HKEY_CURRENT_USER\Control Panel\Desktop', 'Wallpaper', 'REG_SZ', $sPath & $aFileList[$i])
    DllCall('user32', 'int', 'SystemParametersInfo', 'int', 20, 'int', 0, 'str', $sPath & $aFileList[$i], 'int', 0)
    Sleep(5000)
    Next
    EndIf

    [/autoit]
  • GUI an Desktopgrösse anpassen

    • Oscar
    • 27. Februar 2009 um 14:10

    Es gibt doch die Makros @DesktopWidth und @DesktopHeight.
    Damit bekommst Du die momentane Auflösung. Musst dann nur alle GUI-Controls entsprechend anpassen.

  • hintergrund ändern

    • Oscar
    • 27. Februar 2009 um 14:07

    Den Hintergrund wovon?

  • Verständnissproblem mit Run(@ComSpec & " /c "

    • Oscar
    • 27. Februar 2009 um 12:43

    Warum nicht komplett mit AutoIt?

    [autoit]


    #include <File.au3>
    $sPath = 'd:\test\'
    $aFolderList = _FileListToArray($sPath, 'jh0100*', 2)
    If Not @error Then
    For $i = 1 To $aFolderList[0]
    DirRemove($sPath & $aFolderList[$i], 1)
    ConsoleWrite('"' & $sPath & $aFolderList[$i] & '" gelöscht!' & @CRLF)
    Next
    EndIf

    [/autoit]
  • Wir suchen beta tester

    • Oscar
    • 27. Februar 2009 um 12:06

    Dieser ganze Thread hier ist irgendwie ziemlich sinnlos.
    Könnten wir das nicht so handhaben, dass ihr ihm eine PN schreibt, wenn ihr am Test teilnehmen wollt?

  • FileRenamer

    • Oscar
    • 27. Februar 2009 um 12:03

    Ja, das ist eine Einschränkung von _FileListToArray() bzw. FileFindFirstFile().
    Aus der Hilfe:

    Zitat

    When using a 3-char extension any extension starting with those 3 chars will match

    Ich müsste eine eigene Routine schreiben, um das zu umgehen. Ich weiß noch nicht, ob das so zwingend nötig ist... ^^

  • FileRenamer

    • Oscar
    • 27. Februar 2009 um 11:52

    Ich war noch nicht ganz zufrieden. Es musste noch eine Vorschau geben. :D
    Neue Version siehe: Post#1.

  • FileRenamer

    • Oscar
    • 27. Februar 2009 um 09:11

    Ok, habe das mit den Sternchen geändert. Jetzt bestimmt die Anzahl der Sternchen wieviele Stellen für den Zähler zur Verfügung stehen.

    Habe den Fehler jetzt gefunden. Blöder Bug! :rolleyes:

    Danke, für's testen! :)

  • FileRenamer

    • Oscar
    • 27. Februar 2009 um 07:29

    Ich mache hier immer Tests mit 181 Dateien. Mit verschiedenen Startwerten und unterschiedlichen Dateiendungen, aber bei mir klappt das.
    Kannst Du das mal mit der neuen Version (v1.2) testen?

  • FileRenamer

    • Oscar
    • 27. Februar 2009 um 06:52

    Wie hast Du das mit der fehlenden Null geschafft?
    Ich kann das nicht nachvollziehen. Bei mir funktioniert das alles. :huh:

    Das mit dem Platzhalter ist eine gute Idee. Ich werde aber wohl lieber das Sternchen "*" nehmen, weil das im Dateinamen eh nicht vorkommen darf.

  • FileRenamer

    • Oscar
    • 26. Februar 2009 um 23:47

    In "Hilfe & Unterstützung" geht es ja gerade um ein Programm zum Umbenennen von Dateien. Das hat mich auf die Idee gebracht, dass man sowas gut für die eigene Bildersammlung gebrauchen könnte.
    Also habe ich mich mal rangesetzt und einen FileRenamer programmiert.

    Version 2.1 ( 06.03.09 )

    Noch kurz etwas zur Bedienung:

    Nach Auswahl eines Quellverzeichnisses werden alle Dateien mit der eingestellten Dateiendung in das Listview aufgenommen. Dort können dann die Dateien, die bearbeitet werden sollen, mit einem Haken versehen werden.

    Danach gibt man im Feld "Eingabe des neuen Dateinamen" den neuen Dateinamen ein, wobei einige Platzhalter (siehe ToolTip) zur Verfügung stehen. Dann kann man noch den Zählerstartwert sowie die Zieldateiendung festlegen.

    Im grünen Feld am unteren Fensterrand erscheint eine Vorschau auf den neuen Dateinamen. Diese Vorschau wird dynamisch den Eingaben entsprechend angepasst.

    Nun gibt es drei verschiedene Modi:
    1. Quell- und Zielverzeichnis sind gleich = dann werden die ausgewählten Dateien im Quellverzeichnis umbenannt.

    2. Quell- und Zielverzeichnis sind unterschiedlich, dann entscheidet der Menüeintrag "Verschieben statt Kopieren" im Menü "Einstellungen" über die weitere Vorgehensweise:

    2 a) Der Haken bei "Verschieben statt Kopieren" ist nicht gesetzt = die ausgewählten Dateien werden unter dem neuen Dateinamen ins Zielverzeichnis kopiert.

    2 b) Der Haken bei "Verschieben statt Kopieren" ist gesetzt = die ausgewählten Dateien werden unter dem neuen Dateinamen ins Zielverzeichnis verschoben.


    Die umbenannten Dateien bekommen als neuen Dateinamen den Namen, der bei "Eingabe des neuen Dateinamen" eingetragen ist. Hierbei stehen einige Platzhalter (siehe History) zur Verfügung. Wird kein Platzhalter für den Zähler eingetragen, so wird der Zähler automatisch ans Ende des neuen Dateinamens gesetzt. Das Programm überschreibt dabei eine evtl. vorhandene Datei mit diesem neuen Namen nicht, sondern erhöht stattdessen den "Zähler" um eins .

    Weitere Besonderheit ist, dass das Programm den Zähler automatisch mit führenden Nullen auffüllt, sodass die richtige Sortierung im Explorer gewährleistet ist. Das funktioniert auch dann, wenn man z.B. 3 Dateien ausgewählt hat und den Startwert des Zählers auf 998 stellt. Das Programm erkennt dann, dass der Zähler vierstellig wird und passt ihn entsprechend an.

    Edit (03.03.2020): Screenshot und ZIP-Archiv neu hochgeladen (aufgrund von einem Forem-Update waren die Anhänge weg).


    Screenshot:
    FileRenamer.png

    History
    Code
    Version 2.1 ( 06.03.09 )
    =========================
    - Rahmen um Listview hinzugefügt.
    - Den Bug beim eingeben einer neuen Dateiendung in der Ziel-Dateiendung-Combobox beseitigt.
    - Die Begrenzung (auf 32767) des Up-/Down-Controls für den Zähler beseitigt.
    
    
    
    
    Version 2.0 ( 02.03.09 )
    =========================
    - Listview jetzt mit Checkboxen zur gezielten Auswahl.
    - Kontextmenü für das Listview hinzugefügt (Alle/Keine auswählen, Datei öffnen (extern))
    - [Start]-Button zeigt jetzt den Modus (Umbenennen/Kopieren/Verschieben) an.
    - Beschriftung und Sprechblasentext angepasst.
    - Man kann nun im Einstellungsmenü auswählen, ob die Dateien kopiert oder verschoben werden sollen, wenn das Quellverzeichnis ein anderes als das Zielverzeichnis ist.
    - Eingabe einer Dateierweiterung auf max. 4 Zeichen begrenzt.
    
    
    
    
    Version 1.9 ( 01.03.09 )
    =========================
    - Der Button zum Speichern der Dateiendung blieb nach dem Speichern noch aktiviert, bis man irgendwohin geklickt hat.
    - Zeichen, die im Dateinamen unzulässig sind, werden jetzt bereits bei der Eingabe blockiert.
    - Hinweis-Sound, wenn Bearbeitung/Kopiervorgang abgeschlossen ist.
    - Abfrage, um Mehrfach-Start zu verhindern.
    
    
    
    
    Version 1.8 ( 01.03.09 )
    =========================
    - Bug mit negativem Zählerwert beseitigt
    - Wenn man eine Dateiendung eingibt, die es bisher nicht gab, so wird ein Button zum speichern dieser Dateiendung aktiviert.
    - Zielverzeichnis hinzugefügt. Ist das Zielverzeichnis <> Quellverzeichnis, werden die Dateien nicht umbenannt, sondern ins Zielverzeichnis kopiert.
    
    
    
    
    Version 1.7 ( 01.03.09 )
    =========================
    - Es gibt nur noch ein Programm-Icon
    - Trennzeichen entfernt. Ist durch die Platzhalter überflüssig geworden.
    - Platzhalter hinzugefügt:
        ###...    = Position und Anzahl der Stellen des Zählers
        %s      = Alter Dateiname
        %yyyy    = Erstellungsdatum der Datei (Jahr, 4stellig)
        %mm     = Erstellungsdatum der Datei (Monat, 2stellig)
        %dd     = Erstellungsdatum der Datei (Tag, 2stellig)
        %HH     = Erstellungsuhrzeit der Datei (Stunden, 2stellig)
        %MM     = Erstellungsuhrzeit der Datei (Minuten, 2stellig)
        %SS     = Erstellungsuhrzeit der Datei (Sekunden, 2stellig)
    
    
    
    
    Version 1.6 ( 01.03.09 )
    =========================
    - Menü erstellt (Datei, Einstellungen und Hilfe)
    - Unter "Einstellungen" kann man nun die Erklärungs-Sprechblasen ein-/ausschalten
    - Das zuletzt ausgewählte Verzeichnis wird in einer Inidatei gespeichert
    - In der Inidatei können außerdem die auswählbaren Dateierweiterungen angepasst werden
    
    
    
    
    Version 1.5 ( 27.02.09 )
    =========================
    - Umbenennungs-Vorschau hinzugefügt.
    
    
    
    
    Version 1.4 ( 27.02.09 )
    =========================
    - Bug beseitigt.
    
    
    
    
    Version 1.3 ( 27.02.09 )
    =========================
    - Man kann die Anzahl der Stellen des Zählers bestimmen, indem man für jede Stelle ein Sternchen setzt. Sind es weniger Sternchen als vorhandene Dateien wird die Stellenzahl automatisch angepasst.
    
    
    
    
    Version 1.2 ( 27.02.09 )
    =========================
    - Man kann die Position, an der der Zähler stehen soll, selbst bestimmen, indem man beim neuen Dateinamen einen * an die Stelle setzt, wo der Zähler eingefügt werden soll.
    
    
    
    
    Version 1.1 ( 27.02.09 )
    =========================
    - zwei AuswahlCombos für die Dateiendung. Eine für das Quellverzeichnis und eine für die Zieldateien. Ich denke, das ist so verständlicher. :)
    
    
    
    
    Version 1.0 ( 26.02.09 )
    =========================
    - Erste veröffentlichte Version.
    Alles anzeigen

    Dateien

    FileRenamer.zip 673,52 kB – 751 Downloads
  • Websiten-Aktualisierer

    • Oscar
    • 26. Februar 2009 um 17:56

    Um mal auf die ursprüngliche Frage zurückzukommen. Ich würde das Aktualisierungsdatum einfach per Javascript anzeigen lassen:

    Spoiler anzeigen
    HTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    	<head>
    		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    		<title>test</title>
    		<script language="JavaScript" type="text/javascript">
    		<!--
    		function datum()
    		{
    			var datum = document.lastModified;
    			var arr_datum = datum.split("/");
    			datum = String(arr_datum[1]) + "." + String(arr_datum[0]) + "." + String(arr_datum[2]);
    			document.getElementById("aktDatum").firstChild.data = datum;
    		}
    		//-->
    		</script>
    	</head>
    	<body onLoad="datum()">
    		<script language="JavaScript" type="text/javascript">
    		<!--
    			document.write("letztes Aktualisierungsdatum: <span id='aktDatum'>.<\/span>");
    		//-->
    		</script>
    	</body>
    </html>
    Alles anzeigen
  • Problem Mit Ini auslesen

    • Oscar
    • 26. Februar 2009 um 17:33

    Das heißt doch eigentlich, dass Du immer die letzte Zeile der Datei haben willst, oder?

    Das ginge dann so:

    [autoit]


    $aFile = StringSplit(FileRead('datei.log'), @CRLF, 1)
    MsgBox(0,0,$aFile[$aFile[0]])

    [/autoit]
  • SVG Vektor Grafik - Wer kann mir weiterhelfen?

    • Oscar
    • 25. Februar 2009 um 21:27

    Hast Du die Wikipedia-Seite schon gelesen?

  • Pizzatimer

    • Oscar
    • 25. Februar 2009 um 20:22

    Dieses Script ist ein kleiner Timer. Gut geeignet zum Tee kochen oder Pizza backen. :)

    Es gibt noch einen kleinen Fehler: Wenn man den Timer stoppt, erscheint der TrayTip "Timer gestoppt!" nicht und ich weiß nicht, warum...
    Aber ansonsten funktioniert's.

    Edit: Wenn der Timer abgelaufen war, waren die TrayMenüItems noch deaktiviert. :whistling:

    Spoiler anzeigen
    [autoit]


    #include <Constants.au3>

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

    Opt('TrayAutoPause', 0)
    Opt('TrayMenuMode', 1)
    Opt('TrayOnEventMode', 1)

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

    Global $aTime[7] = [1, 2, 3, 5, 10, 20, 30]
    Global $ahItem[7], $iTimerInit = 10, $iCounter = 0
    Global $sAlarmSound = @WindowsDir & '\Media\ringin.wav'
    Global $sTitle = 'Pizzatimer v1.1'

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

    $hInit = TrayCreateMenu('Zeitvorgabe...')
    For $i = 0 To 6
    $ahItem[$i] = TrayCreateItem($aTime[$i] & ' Minute' & StringMid(' n', 1 + ($aTime[$i] > 1), 1), $hInit, -1, 1)
    TrayItemSetOnEvent(-1, '_Timer')
    Next
    TrayItemSetState($ahItem[4], $TRAY_CHECKED)

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

    $hStart = TrayCreateItem('Timer starten')
    TrayItemSetOnEvent(-1, '_Start')

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

    $hStop = TrayCreateItem('Timer stoppen')
    TrayItemSetOnEvent(-1, '_Stop')
    TrayItemSetState(-1, $TRAY_DISABLE)

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

    TrayCreateItem('')

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

    TrayCreateItem('Programm beenden')
    TrayItemSetOnEvent(-1, '_End')

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

    TraySetIcon('Shell32.dll', -44)
    TraySetToolTip($sTitle)
    TraySetClick(16)
    TraySetState()

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

    While True
    Sleep(50)
    WEnd

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

    Func _End()
    Exit
    EndFunc ;==>_End

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

    Func _Start()
    TrayItemSetState($hStart, $TRAY_DISABLE)
    TrayItemSetState($hStop, $TRAY_ENABLE)
    TrayItemSetState($hInit, $TRAY_DISABLE)
    $iCounter = $iTimerInit * 60 + 1
    _Countdown()
    AdlibEnable('_Countdown', 1000)
    EndFunc ;==>_Start

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

    Func _Stop()
    AdlibDisable()
    TrayTip($sTitle, 'Timer gestoppt!', 5, 17)
    TrayItemSetState($hStop, $TRAY_DISABLE)
    TrayItemSetState($hStart, $TRAY_ENABLE)
    TrayItemSetState($hInit, $TRAY_ENABLE)
    EndFunc ;==>_Stop

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

    Func _Timer()
    $iTimerInit = $aTime[@TRAY_ID - $ahItem[0]]
    EndFunc ;==>_Timer

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

    Func _Countdown()
    $iCounter -= 1
    TrayTip($sTitle, 'Restzeit: ' & _MinSec($iCounter), 5, 17)
    If $iCounter = 0 Then
    AdlibDisable()
    TrayTip($sTitle, 'Zeit um!', 5, 17)
    SoundPlay($sAlarmSound)
    TrayItemSetState($hStop, $TRAY_DISABLE)
    TrayItemSetState($hStart, $TRAY_ENABLE)
    TrayItemSetState($hInit, $TRAY_ENABLE)
    EndIf
    EndFunc ;==>_Countdown

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

    Func _MinSec($iCounter)
    Local $sOut = ''
    If $iCounter > 59 Then
    $sOut = Int($iCounter / 60) & ' min. und '
    $sOut &= Mod($iCounter, 60) & ' sek.'
    Else
    $sOut = $iCounter & ' sek.'
    EndIf
    Return $sOut
    EndFunc ;==>_MinSec

    [/autoit]
  • String suchen verändern

    • Oscar
    • 25. Februar 2009 um 15:00
    Zitat von MaZy

    Ehm geht auch mehrere Zeichen.. ich hab mit \was? getestet.. da kommt mal s? in array raus

    Wie bitte?
    Gibt's die Frage auch auf deutsch? ;)

  • String suchen verändern

    • Oscar
    • 25. Februar 2009 um 14:45

    Das ist doch aber ein klassisches Beispiel für StringRegExp:

    [autoit]


    #include <Array.au3>
    $sText = "hierstehtirgendwas?undhierauchnochmalwas?123blaeortrijtij?123Jojomennfj"
    $aResult = StringRegExp($sText, '\?.{3}(.{4})', 3)
    #cs
    \? = das Fragezeichen selbst
    .{3} = drei beliebige Zeichen (werden nicht ins Array übernommen)
    (.{4}) = vier beliebige Zeichen, in Klammern gesetzt heißt: diese werden ins Array übernommen
    #ce
    _ArrayDisplay($aResult)

    [/autoit]
  • Zahlen aus txt einlesen und vervollständigen

    • Oscar
    • 24. Februar 2009 um 20:55

    Ok, es gab doch noch einen Bug und zwar, wenn mehrere gleiche Zahlen vorhanden waren, dann wurden alle ausgetauscht (StringReplace mit Standard-Einstellung).
    So geht es jetzt aber mit Deiner Testdatei:

    [autoit]


    $sFile = FileRead(@ScriptDir & '\test.csv')
    If Not @error Then
    $aNumber = StringRegExp($sFile, '(\d+,\d{0,2})', 3)
    For $i = 0 To UBound($aNumber)-1
    $sFile = StringReplace($sFile, $aNumber[$i], StringFormat('%.2f', Number(StringReplace($aNumber[$i], ',', '.'))), 1)
    Next
    EndIf
    $hFile = FileOpen(@ScriptDir & '\test2.csv', 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sFile)
    FileClose($hFile)
    EndIf

    [/autoit]
  • Zahlen aus txt einlesen und vervollständigen

    • Oscar
    • 24. Februar 2009 um 20:12

    Mit dem Script, was ich um 12:58 Uhr gepostet habe, funktioniert es bei mir einwandfrei.
    Kannst Du mir mal eine Testdatei per PN schicken?

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™