Einmal werden wir noch wach...dann gibt's die Version 2.0 ![]()
Einige nette Funktionen dazugekommen. Ihr könnt euch schonmal freuen. Muss aber noch ein wenig testen...
Einmal werden wir noch wach...dann gibt's die Version 2.0 ![]()
Einige nette Funktionen dazugekommen. Ihr könnt euch schonmal freuen. Muss aber noch ein wenig testen...
@satinez: diese Zeichen ? : / \ * werden bereits ausgefiltert. Mit dem negativen Zählerwert hast Du recht. Bug beseitigt!
Raupi : Das mit dern manuell eingegebenen Dateiendung nehme ich mal in Angriff. Speicherpfad auswählen? Auch nicht schlecht. ![]()
@prizma: Deinen Vorschlag fand ich ganz gut. Hab ihn allerdings etwas abgeändert (statt des aktuellen Datums, was man ja auch von Hand eintragen kann, habe ich das jeweilige Erstellungsdatum der Datei genommen). %s für den alten Dateinamen habe ich aber benutzt und der Platzhalter für den Zähler ist jetzt "#".
@satinez: Du musst das ZIP-Archiv downloaden, denn dort befindet sich das Icon. Das mit dem anderen Icon in der Titelleiste habe ich geändert (war noch bevor das Programm-Icon dazukam). Aber was meinst Du mit "billigen Sonderzeichen"?
Neue Version (siehe Post#1).
Es gibt eine neue Version (siehe Post#1).
Da steht aber schon überall "<a href=" davor?
Dann geht das:
#include <array.au3>
$str = FileRead('test.txt')
$aURL = StringRegExp($str, "[\x22|\x27](http://.+?)[\x22|\x27]", 3)
For $i = UBound($aURL)-1 To 0 Step -1
If StringLen($aURL[$i]) < 45 Then _ArrayDelete($aURL, $i)
Next
_ArrayDisplay($aURL)
$hFile = FileOpen('URLs.txt', 2)
If $hFile <> -1 Then
For $i = 0 To UBound($aURL)-1
FileWriteLine($hFile, $aURL[$i])
Next
FileClose($hFile)
EndIf
Wenn Du mal genau erklärst, was Du damit meinst (Beispiel), dann kann man das bestimmt. ![]()
Der eigentliche Link steht ja nach "<a href=" und den kann man hiermit auslesen:
[autoit]
#include <array.au3>
$str = FileRead('test.txt')
$aURL = StringRegExp($str, "[\x22|\x27](http://.+)[\x22|\x27]", 3)
_ArrayDisplay($aURL)
$hFile = FileOpen('URLs.txt', 2)
If $hFile <> -1 Then
For $i = 0 To UBound($aURL)-1
FileWriteLine($hFile, $aURL[$i])
Next
FileClose($hFile)
EndIf
Wenn man davon ausgeht, dass die URLs alle mit "http://" beginnen, würde das hier funktionieren:
[autoit]
#include <array.au3>
$str = "bla http://www.blabla.de gtzig http://www.gtzig.com bmgntj ork http://login.ork.org bla blub"
$a = StringRegExp($str, "(http://\H+)", 3)
_ArrayDisplay($a)
Edit: mit "S" ist es besser, weil dann auch URL am Zeilenende erkannt werden:
[autoit]
#include <array.au3>
$str = "bla http://www.blabla.de" & @CRLF & "gtzig http://www.gtzig.com bmgntj ork http://login.ork.org bla blub"
$a = StringRegExp($str, "(http://\S+)", 3)
_ArrayDisplay($a)
Hast Du das Script noch erweitert?
Weil, bei mir wird da nichts angehängt.
Das mit der Null als Parameter habe ich gemacht, damit das Script eben nicht evtl. vorhandene Dateien mit diesem Namen überschreibt.
Könnte ja fatal sein.
Solltest lieber eine Routine zum testen einfügen und ggf. umbenennen (siehe meinen FileRenamer).
Wir unterstützen hier sowas trotzdem nicht! ![]()
[Thread closed]
blubbstar, war doch schon ganz gut. Drei Zeichen mehr und es passt:
[autoit]
#include <array.au3>
$str = "Halloichheißeblubbstar"
$a = StringRegExp($str, "(.{5}|.+)", 3)
_ArrayDisplay($a)
Du suchst:
[autoit]VarGetType($variable)
[/autoit]oder für die If-Abfrage:
[autoit]IsNumber($variable)
[/autoit]Mit einem normalen Edit-Control wirst Du da kein Erfolg haben.
Versuch mal das:
[autoit]
ControlListView("LANDesk Management", "", "SysListView321", "SelectAll")
MsgBox(0, "", ControlListView("LANDesk Management", "", "SysListView321", "GetSelected", 1))
Erst das Programm ("LANDesk Management") starten und dann das Script, ok?
Bekommst Du hiermit eine Ausgabe:
[autoit]MsgBox(0, "", ControlListView("LANDesk Management", "", "SysListView321", "GetText", 1, 0))
[/autoit]Ich habe Dein Script mal etwas zusammengefasst:
;~ #RequireAdmin
#include <Array.au3>
#include <file.au3>
HotKeySet("{F9}", "Rename_")
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func Rename_()
$dir = ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1')
If StringRight($dir, 1) <> '\' Then $dir &= '\'
$array = _FileListToArray($dir)
$target = $array
; ===============================================================================
; Um die Daten in einem Listview anzuzeigen
;
_ArrayDisplay($array, "")
; ===============================================================================
For $i = 1 To UBound($array) - 1
$target[$i] = StringLower($array[$i])
$target[$i] = StringRegExpReplace($target[$i], '\h+', '_')
$target[$i] = StringRegExpReplace($target[$i], '\_+', '_')
$target[$i] = StringRegExpReplace($target[$i], '\(+', '(')
$target[$i] = StringRegExpReplace($target[$i], '\)+', ')')
$target[$i] = StringRegExpReplace($target[$i], '\[+', '[')
$target[$i] = StringRegExpReplace($target[$i], '\]+', ']')
$target[$i] = StringRegExpReplace($target[$i], '\{+', '{')
$target[$i] = StringRegExpReplace($target[$i], '\}+', '}')
$target[$i] = StringRegExpReplace($target[$i], '\.+', '.')
$target[$i] = StringRegExpReplace($target[$i], '\%+', '')
$target[$i] = StringRegExpReplace($target[$i], '\,+', '')
$target[$i] = StringRegExpReplace($target[$i], "\'+", '')
$target[$i] = $dir & $target[$i]
$array[$i] = $dir & $array[$i]
If StringInStr(FileGetAttrib($array[$i]), 'D') Then
ConsoleWrite('DirMove ' & $array[$i] & ' -> ' & $target[$i] & @CRLF)
;~ DirMove($array[$i], $target[$i], 0)
Else
ConsoleWrite('FileMove ' & $array[$i] & ' -> ' & $target[$i] & @CRLF)
;~ FileMove($array[$i], $target[$i], 0)
EndIf
Next
MsgBox(64, "SATINEZ.NET - FileRenamer", "Vorgang erfolgreich abgeschlossen!")
EndFunc ;==>Rename_
Kannst Dir in der Console erstmal die Ergebnisse ansehen. Wenn alles passt, dann die auskommentierten Zeilen aktivieren.
Für den Desktop-Hintergrund brauchst Du bmp.
Aber dafür gibt es ja das hier: [ gelöst ] Wallpaper im laufenden Betrieb ändern
Das Problem ist, wie sollen wir Dir helfen können, wenn wir keinerlei Informationen über das Programm haben?
Starte doch mal Au3Info.exe und poste die Informationen, die bei dem Listview erscheinen.
Zitat aus der Hilfedatei:
Zitat
Wird ein Bild als Hintergrundbild genutzt, während die anderen Steuerelemente dieses quasi überlappen, so ist es wichtig, das Bild-Steuerelement zu deaktivieren: GuiCtrlSetState(-1,$GUI_DISABLE). Dies funktioniert aber nicht mit Tab Steuerelementen, die anders arbeiten. In dem Fall muss man das Bild mit dem Stil $WS_CLIPSIBLINGS erstellen, wobei immer noch einige $GUI_ONTOP für die Tab Steuerelemente notwendig sein können.