HI progandy, danke für die schnelle und schöne Lösung. Leider fackert das Label bei jeder Umstellung kurz auf - ähnlich wie das Problem in der Hilfe bei SplashTextOn - geht das ganze nicht etwas smoother zu gestalten ohne dieses Flackern - ansonsten 1a Arbeit. Gruss J.
Beiträge von janrenzlow
-
-
Hi, damit der Bildschirmschoner funktioniert, muss er ja irgendwie in Bewegung bleiben. Ich wollte die Schriftgrösse oder - die Farbe ändern. Aber es wird nichts angezeigt. Was mache ich flasch ? Gruss Johannes
[autoit]#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <File.au3>;first edition of an screen saver
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
$ininame='bschoner.ini'$font=IniRead($ininame, 'Configuration', 'Schrift', 'Arial')
[/autoit][autoit][/autoit][autoit]
$textcolor=IniRead($ininame, 'Configuration', 'Textfarbe', 0xff0000)
$fontsize=IniRead($ininame, 'Configuration', 'Schriftgrösse', 24)
$txtdatei=IniRead($ininame, 'Configuration', 'Textdatei', 'bschoner.txt')
$nachKTag=IniRead($ininame, 'Configuration', 'NachKalenderTag', 'nein')
$letzteBildnr=IniRead($ininame, 'Configuration', 'letzteBildnr', 1)
$LastCall=IniRead($ininame, 'Configuration', 'letzterAufruf', 1)$fontsizeNow = $fontsize
[/autoit][autoit][/autoit][autoit]
If FileExists($txtdatei) then
$ZeilenAnzahl=_FileCountLines ( $txtdatei)
$h=FileOpen($txtdatei,0)
MsgBox(4096,'','SELECT',1)
Select
Case $nachKTag='ja' and $ZeilenAnzahl >= 365
$txt=FileReadLine($h, @YDAY)
Case $nachKTag='ja' and $ZeilenAnzahl < 365 and @YDAY <= $ZeilenAnzahl
If $LastCall = @YDAY Then
$txt=FileReadLine($h, @YDAY)
Else
$txt=FileReadLine($h, @YDAY)
IniWrite($ininame, 'Configuration', 'letzterAufruf', @YDAY)
EndIf
Case Else
$i=@YDAY
Do
$i=$i-$ZeilenAnzahl
Until $i <= $Zeilenanzahl
$txt=FileReadLine($h, $i)
EndSelect
FileClose ($h)
Else
$txt='Dies ist nur ein Beispieltext für den Bildschirmschoner'
EndIfGUICreate('', -1, -1, 0, 0, BitOr($WS_POPUP, $WS_MAXIMIZE))
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
; paradies.jpg exists under W2K, XP has other filenames, the directory is the same
$Bild1 = GUICtrlCreatePic(@WindowsDir & '\Web\Wallpaper\paradies.jpg', 0, 0, @DesktopWidth, @DesktopHeight)
$Bez=GUICtrlCreateLabel ($txt, 30, 80, @DesktopWidth -60, @DesktopHeight-180, BitOr($SS_CENTERIMAGE, $SS_CENTER) )
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor ( -1, $textcolor)GUICtrlSetFont (-1, $fontsize, 400, 1, $font)
[/autoit][autoit][/autoit][autoit]
GUISetState (@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()If $fontsizeNow = $fontsize then
[/autoit]
GUICtrlSetColor ($Bez, $textcolor)
;GUICtrlSetFont ($Bez, $fontsize + 10, 400, 1, $font)
$fontsizeNow = $fontsize + 1
EndIf
If $fontsize = $fontsizeNow then
GUICtrlSetColor ($Bez, 0x00FF00)
;GUICtrlSetFont ($Bez, $fontsize, 400, 1, $font)
$fontsize = $fontsize
EndIf
Sleep (1000)
$a=MsgBox(4096,'','Jetzt sollte sich am Textformat etwas ändern. Beenden mit OK',2)
If $a=1 then Exit
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend -
Hi
pethebee - das hab ich auch gefunden. Aber wie bekomme ich ein Fenster hin, dass sich über die Taskleiste legt? Gruss Jan -
Hi,
ich habe zwar schon etliches in autoit hingebracht, aber sagt hat jemand schon einen Bildschirmschoner in Autoit gescriptet?. Meine Suche ergab nichts. Gruss Jan -
Aufgabe des Skriptes: Im Dateisuche im temporären Internetordner nach .flv -Dateien , Ergebnisse abspeichern als c:\flv.tmp, lesen der in dieser Datei enthaltenen Dateipfade und verschieben dieser Dateien in den Zielordner.Optional öffnen des Zielordners und mit dem Realplayer. Problem erstellen der flv.tmp und Auslesen in das Array $aArray. Hat vielleicht einer ne Idee? Gruss Jan
[autoit]Ire#include <file.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstants.au3>
#include <Array.au3>$ziel='"D:\Ordner Gottes\Filme\"'
[/autoit][autoit][/autoit][autoit]
GUICreate ( '.flv verschieben' , 300, 160, 0, 0)
$c01= GUICtrlCreateInput($ziel, 10, 10, 260, 20)
$c02= GUICtrlCreateButton ('', 275, 10, 20, 20, $BS_Icon)
$c03= GUICtrlSetImage (-1, 'shell32.dll', -5, 0)
$c04= GUICtrlCreateCheckbox('Ordner anschliessend öffnen', 10, 35, 280, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
$c05= GUICtrlCreateCheckbox('Filme anschliessend öffnen', 10, 60, 280, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup ('Ergebnis:', 10, 80, 220, 60)
$c06= GUICtrlCreateLabel('', 15, 95, 210, 42)
$c09= GUICtrlCreateButton ('Starten', 240, 110, 50, 25)
GUICtrlCreateLabel('', 0, 141, 300, 22, $SS_ETCHEDFRAME)
$c07= GUICtrlCreateLabel('Bereit...', 5, 143, 100, 16)
$c08= GUICtrlCreateProgress (141, 142, 198, 20)
GUICtrlSetState(-1,$GUI_CHECKED)GUICtrlSetState(-1,$GUI_CHECKED)
[/autoit][autoit][/autoit][autoit]
GUISetState (@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $c09
Starte()
EndSelect
WendFunc Starte()
[/autoit][autoit][/autoit][autoit]
$sVerschoben=''
GUICtrlSetData($c08, 5)
$quelle =StringTrimRight(FileGetShortName(RegRead('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\', 'Cache') & '\desktop.ini'), 12) & '\*.flv'
GUICtrlSetData($c07, 'Suche .flv-Dateien...')
ClipPut('dir ' & $quelle & ' /s /B /W > c:\flv.tmp')
RunWait(@ComSpec & ' /c ' & ' dir ' & $quelle & ' /s /B /W > c:\flv.tmp', '', @SW_HIDE); /s =rekursiv /B=Kurzdarstellung /W=8.3 Format
Sleep (2000)
GUICtrlSetData($c08, 50)
GUICtrlSetData($c07, ' Werte Suche aus...')
$hflvtmp = FileOpen ('c:\flv.tmp', 0)
$iZaehleZeilen = _FileCountLines('c:\flv.tmp')
Dim $aArray[Int($iZaehleZeilen) + 1]
Dim $aFehler[Int($iZaehleZeilen) + 1]
For $i = 1 to $iZaehleZeilen
;$sPfad = FileGetShortName(FileReadline($hflvtmp, $i))
$sPfad = FileReadline($hflvtmp, $i)
If $sPfad ='Datei nicht gefunden' Or StringLen($aArray[$i]) < 3 Then
Else
$iRueckgabewert = FileMove ($sPfad), $Ziel,
$aArray[$i]=$sPfad
If $iRueckgabewert = 0 then $aFehler[$i]=$sPfad
EndIf
Next
_ArrayDisplay($aArray)
FileClose ($hflvtmp)
GUICtrlSetData($c08, 75)
GUICtrlSetData($c07, 'Liefere Ergebnis...')
For $i = 1 to $iZaehleZeilen
$sVerschoben = $sVerschoben & @CRLF & $aArray[$i]
Next
GUICtrlSetData($c06, $sVerschoben)
GUICtrlSetData($c08, 90)
If GUICtrlGetState($c04) = 80 then
GUICtrlSetData($c07, 'Öffne Explorer...')
Run('explorer ' & $ziel)
EndIfIf GUICtrlGetState($c05) = 80 then
[/autoit][autoit][/autoit][autoit]
$sRealplayer=StringTrimRight(RegRead('HKEY_CLASSES_ROOT\Applications\RealPlay.exe\shell\open\command',''), 4)
GUICtrlSetData($c07, 'Öffne Realplayer...')
For $i = 1 to $iZaehleZeilen
If $aArray[$i]='Keine Datei gefunden' Or StringLen($aArray[$i]) < 3 then ExitLoop
Run ($sRealplayer & $aArray[$i])
Next
EndIf
GUICtrlSetData($c08, 100)GUICtrlSetData($c07, 'Bereit f. neue Suche.')
[/autoit]
EndFunc -
-
Hallo JanSchmidt,
FileGetLongName ist insofern irrelevant, da der Pfad sehr viele Leerzeichen enthält, die durchaus Fallstricke bedeuten können. Deshalb war es meine Absicht diese mögliche Fehlerquelle mit FileGetShortName auszuschliessen.Batch Datei copy /v /-y C:\Dokume~1\Kurt\Lokale~1\Tempor~1\*.flv D:\Ordner~1\Filme\*.*
geht auch nicht.
Noch etwas seltsames: Öffne ich im Explorer das Verzeichnis, bekomme ich unzählige Dateien angezeigt. Gehe ich in den Dos-Modus und gebe ich dort
dir C:\Dokume~1\Kurt\Lokale~1\Tempor~1\*.*
ein, bekomme ich keine Dateien angezeigt, auch nicht mit
dir C:\Dokume~1\Kurt\Lokale~1\Tempor~1\*.* /A RASH
(na gut, bei letzerem kriege ich noch zusätzlich desktop.ini angezeigt - aber das wars auch!)
. SELTSAM!!. Gruss Jan -
Hallo Oscar,
auch das habe ich probiert ohne Erfolg.Gruss Jan

Auch diese Variante geht nicht. Bitte einfache und doppelte Anführungszeichen berücksichtigen (der Pfad hat viele Leerzeichen)
[autoit]
[/autoit]
; Flashfilme http://www.ced24.com/video/blitz.html 2:36 legt .flv Datei an
$quelle= RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Cache") & "\*.flv"
;$quelle="'C:\Dokumente und Einstellungen\'" & @UserName & "'\Lokale Einstellungen\Temporary Internet Files\*.flv'"
$ziel="'D:\Ordner Gottes\Filme\'"
$a=FileCopy( $quelle, $ziel,
If $a= 0 then $a = "0 >>> Fehler"
MsgBox(4096,"", "Rückgabewert: " & $a & @CRLF & $quelle & @CRLF & $ziel & @CRLF & @AppDataDir ,10) -
Hi community,
FileCopy, FileMove sind in der Regel einer der einfachsten Befehle, die es gibt, dennoch bekomme ich ständig wie auch immer ich es anpacke einen Rückgabefehler.
Scriptaufgabe: Geht auf die Webseite, startet den 2:36Minuten-Flash (superchristlich, Script ist auch nicht für mich), der legt in Eurem Internet-Temp-Verz. eine *.flv-Datei ab, die woanders hin verschoben werden soll, da das Internet-Temp-Verz. regelmässig gelöscht wird Gruss Jan
[autoit]; Flashfilme http://www.ced24.com/video/blitz.html 2:36 legt .flv Datei an $quelle=FileGetShortName("C:\Dokumente und Einstellungen\" & @UserName & "\Lokale Einstellungen\Temporary Internet Files\") $ziel=FileGetShortName ("D:\Ordner Gottes\Filme\") $a=FileCopy( $quelle & "*.*", $ziel,
[/autoit]
If $a= 0 then $a = "0 >>> Fehler" MsgBox(4096,"", "Rückgabewert: " & $a & @CRLF & $quelle & "*.*" & @CRLF & $ziel ,10) -
Probier es doch mal mit Do ... und Until $i <= $cvolor statt While WEnd
-
Hi Pethebee,
das Problem ist, dass die Ausdrücke nicht regulär sind. Konkret es sind Übersetzungslisten, die ich in dt und engl. unterteilen muss.Hauptproblem ist in WORD: Wenn ich in das Suchfeld * und fettkursiv als Suichformat und * # in das Ersetzenfeld eingebe, dass Word mir das Wort mit einem nachfolgenden Delimiter nicht wiederholt, sonden lediglich durch den Delimiter ersetzt und das formatierte Wort dabei unterschlägt. Egal was ich mache. Es ist zum Verzweifeln. Selbst mit oder ohne Platzhalterzeichen aktivieren. Gruss
-
Hallo,
ich muss einen Text so bearbeiten, dass hinter fettkursiv formatierten Textteile ein Begrenzer in Form eines '#'-Zeichens gesetzt werden.Beispiel : "Franz jagt dem Taxi hinterher" sollte
"Franz #jagt dem Taxi# hinterher" ergeben.In Microsoft Office Word kann ich zwar durch Suchen & Ersetzen einzelne fettkursiv formatierte Zeichen ersetzen und einen Begrenzer anhängen
z.B. "Franz j#a#g#t# d#e#m# T#a#x#i| hinterher",
aber das ist nicht meine Absicht - siehe erstes Beispiel. Desweiteren kann ich fettkursiv formatierte Wörter durch einen Begrenzer ersetzen, ich möchte aber das Wort wiederholen und einen Begrenzer daranhängen.
Gibt es eine Funktion in AutoIt mit der ich die Formatierung eines Textes auslesen kann? Im Ascii-Wert der Zeichen ist die Formatierung nicht enthalten, Stringformat dient nur der Ausgabe von Text & Zahlen und in der Hilfe unter Variables and Conversions habe ich nichts finden können. Für eine Hilfestellung wäre ich echt dankbar. Merci im voraus Johannes
-
Hi
das Problem hatte ich auch mal und ist irgendwo im englischen Forum beantwortet. Das war so um 3.1 Versionszeit. Damals half mir die neueste Version weiter. Jan -
Hi,
ich hab mal eine saublöde Frage, die mich blöderweise bis zur "Besinnlosigkeit" beschäftigt: Es sind gemischte Bedingungsanweisungen
$A=1
$B=4
$C=3
$D =4
If $A =1 OR $B=2 AND $C =3 OR $D=5 Then MsgBox(4096, '', 'Es geht weiter',2)Diese Bedingung kann unterschiedlich interpretiert werden
A | B + C |D
A | C
B | D
Wie kann ich z.B. A | B + C |D sicherstellen. Bei einer reinen OR OR OR oder einer AND AND AND Anweisungen ist das alles kein Problem, aber bei einer gemischten Anweisung? Liebe Grüsse Jan -
Hi
[autoit]
mitOpt("RunErrorsFatal", 0)
[/autoit]kannst Du das Skript veranlassen bei Fehler weiterzulaufen Siehe Hilfe AutoItSetOption
Jan -
Hi,
dachte auch sowas zu programmieren - aber es ist besser auf den opensource NULLSOFT-Installer bzw. NSIS zurückzugreifen, den u.a. auch AutoIt verwendet. Die Hilfedatei habe ich auch in das Deutsche übersetzt. Die Syntax ist zwar eine ganz andere als AutoIt, dafür gibt es zahlreiche Beispiele. Außerdem zeichnet NSIS sich durch eine gute Komprimierungsrate, einen schmalen Overhead und eine hohe Zuverlässigkeit aus. Jan
-
Hi, das erstere geht mit nur über Klassen, da das Explorerfenster immer wechselnde Titel nämlich die der Ordner anzeigt - einzig & allein die Klasse bleibt unveränderlich. Wechsel im Anklicken eines Ordners kann man über die Statusanzeige nachvollziehen darum also
[autoit]
[/autoit][autoit][/autoit][autoit]
Opt("WinTitleMatchMode", 4)
Dim $sSTGalt='', $iZaehler =0
WinWaitActive('[CLASS:ExploreWClass]')
$sSGT = StatusbarGetText ( '[CLASS:ExploreWClass]','', 1)Do
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
$sSGT = StatusbarGetText ( '[CLASS:ExploreWClass]','', 1)
If $sSGT <> $sSTGalt then
MsgBox(4096, 'Status',$sSGT & @CRLF & ControlGetText ( '[CLASS:ExploreWClass]','', 41477) & @CRLF & '', 5)
$sSGTalt=$sSGT
$iZaehler= $iZaehler + 1
EndIf
Until $iZaehler = 5Das ist zumindest ein Ansatz der einen Klickwechsel und den aktuellen Pfad verrät, Wie eine blaumarkierte Datei oder Ordner zu identifizieren ist, weiß ich nicht selbst ControlCommand()funktioniert nur in Listen und Comboboxen
Gruss Jan -
Hi,
[autoit]
letzteres geht mit$var = DriveGetDrive( "network" )
[/autoit]
If NOT @error Then
MsgBox(4096,"", "Found " & $var[0] & " drives")
For $i = 1 to $var[0]
MsgBox(4096,"Drive " & $i, $var[$i])
MsgBox(0, "Drive : is mapped to", DriveMapGet($i)
Next
EndIfGruss Jan
-
Danke Holger alka VX....
es hat gefunzt und ich bin endlich weitergekommen. Jan
edit:
Danke Holger alka VX....
es hat gefunzt und ich bin endlich weitergekommen. Jan
Edit GtaSpider: [24.08.2007 22:05]
Bitte Beiträge editieren anstatt doppelpost's zu erstellen. -
Hi Bernd670,
danke für Deinen TIp. Obwohl die Hilfe ständig bei mir in Gebrauch ist, hab ich beide Befehle nicht wahrgenommen - wahrscheinlich weil sie unter Variablen und Konvertierungen "versteckt" waren. Ich hätte sie mehr in STring-Managment vermutet. Danke Jan