Sieh dir mal RegExp an, oder du nutzt
_stringbetween / stringsplit, etc.
Beiträge von Kanashius
-
-
Ansonsten sieh dir das mal an:
[autoit]local $Timer[3]=[TimerInit(),TimerInit(),TimerInit()]
[/autoit]
while sleep(10)
if TimerDiff($Timer[0])>5000 then
;...
$Timer[0]=TimerInit()
elseif TimerDiff($Timer[1])>7000 then
;...
$Timer[1]=TimerInit()
elseif TimerDiff($Timer[2])>9000 then
;...
$Timer[2]=TimerInit()
endif
WEndGeht natürlich nur, wenn das in den If-zweigen nicht länger als 2000ms dauert
-
Oscars Zeile schreibst du, bevor du deine GUI erstellst. Wenn in der Msgbox Nein geklickt wird, wird der Befehl hinter dem then ausgeführt (exit). Das Programm wird also beendet. Andernfalls läuft das Programm einfach weiter.
Auf der Seite steht unter der Tabelle, wo du die Parameter herbekommst ein Eintrag: Return Value. Dort ist eine Tabelle, welche dir sagt, was die Funktion zurückgibt. Unter Remarks steht dann sogar noch, was für Boxen du alles wählen kannst. (flag)
Wenn du noch weiter nach unten scrollst findest du auch noch Beispiele, welche dir zeigen, was du mit der Funktion machen kannst, bzw. wie du sie verwendest.
-
Sieh dir mal arrays an:
[autoit]
[/autoit]
local $array[1][1]=["Karotten",$Karotten]
_arraysearch(;... -
Es wäre nett, wenn du sagen könntest, welche dll bzw. udf du genau meinst, bzw. noch besser, wenn du sie einmal mit hochladen könntest. so kann ich dir leider nur schlecht helfen
-
-
[autoit]
TcpRecv($socket)
[/autoit]
in einer schleife sollte die antwort abfragen können. in der schleife muss geprüft werden, ob TcpRecv kein leeres ergebnis liefert und dann kannst du das weiterverarbeiten. -
Ich vermute mal, dass bei den genannte Bibliotheken dlls bei sind. Daher solltest du dich einmal genauer mit
[autoit]DllOpen
[/autoit]
DllCall
DllClose
und den anderen Dll-Befehlen auseinander setzen :). Sollte, sofern eine Dokumentation vorhanden ist möglich sein :). -
Ich benutz auch Netzclub und bin sehr zufrieden
Telefon (und SMS (benutzt ich nie)) sind recht billig (ich meine 9ctmin/sms) und dazu 100mb fullspeed internet im Monat (reicht für mich vollkommen um whatsapp zu nutzen :)). Hinzu kommt ja, dass das Internet kostenlos ist (die 2-3 e-mails und 2-3 sms im monat stören mich jetzt eher wenig :D)
Ich denke, Netzclub ist nur weiter zu empfehlen
(gerade als Student :D) -
Ich hab dir mal das umgesetzt. Jetzt kannst du dich daran setzen, das noch zu optimieren
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.8.0
[/autoit] [autoit][/autoit] [autoit]
Author: NightmarePhoenixScript Function:
[/autoit] [autoit][/autoit] [autoit]
Desktop aufräumen.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>$Deskren = GUICreate("Deskren", 250, 155)
[/autoit] [autoit][/autoit] [autoit]
$Pics = GuiCtrlCreateButton ("Clear Pictures", 5, 5, 100, 25)
$Vids = GuiCtrlCreateButton ("Clear Videos", 5, 35, 100, 25)
$PDF = GuiCtrlCreateButton ("Clear PDF's", 5, 65, 100, 25)
$HTML = GuiCtrlCreateButton ("Clear HTML's", 5, 95, 100, 25)
$All = GuiCtrlCreateButton ("Clear All", 5, 125, 100, 25)
$Info = GUICtrlCreateLabel ("Info-Box für Info's :P", 110, 5, 135, 145)
GUISetState ()
$ImageTypes=".jpeg .jpg .png .bmp .gif .pdn"
$VideoTypes=".mp4 .flv"
$PdfTypes=".pdf .html"
$HtmlTypes=".html"
_main ()Func _main()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Select
Case $msg = $Pics
_MovePics()
Case $msg = $Vids
_MoveVids()
Case $msg = $PDF
_MovePDF()
Case $msg = $HTML
_MoveHTML()
Case $msg = $All
_MoveAll()
EndSelect
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
EndFuncFunc _moveFile($source,$dest)
[/autoit] [autoit][/autoit] [autoit]
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
$destpath=$dest&$path[2]&$path[3]
$i=0
while FileExists($destpath)
$destpath=$dest&$path[2]&" ("&$i&")"&$path[3]
$i+=1
endif
FileMove($source,$destpath,BitOR(0,8))
EndFunc
;##############################################################################Func _MovePics()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Info,"Bilder werden verschoben.")
$search=FileFindFirstFile(@ScriptDir&"\*.*")
While @error<>1
$path=FileFindNextFile($search)
if Not @extended then
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if StringInStr($ImageTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Bilder\\")
endif
endif
WEnd
GUICtrlSetData($Info,"Bilder wurden verschoben.")
EndFunc;##############################################################################
[/autoit] [autoit][/autoit] [autoit]Func _MoveVids()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Info,"Videos werden verschoben.")
$search=FileFindFirstFile(@ScriptDir&"\*.*")
While @error<>1
$path=FileFindNextFile($search)
if Not @extended then
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if StringInStr($VideoTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Videos\\")
endif
endif
WEnd
GUICtrlSetData($Info,"Videos wurden verschoben.")
EndFunc;##############################################################################
[/autoit] [autoit][/autoit] [autoit]Func _MovePDF()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Info,"PDF-Dateien werden verschoben.")
$search=FileFindFirstFile(@ScriptDir&"\*.*")
While @error<>1
$path=FileFindNextFile($search)
if Not @extended then
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if StringInStr($PdfTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\PDF\\")
endif
endif
WEnd
GUICtrlSetData($Info,"PDF-Dateien wurden verschoben.")
EndFunc;##############################################################################
[/autoit] [autoit][/autoit] [autoit]Func _MoveHTML()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Info,"HTML-Dateien werden verschoben.")
$search=FileFindFirstFile(@ScriptDir&"\*.*")
While @error<>1
$path=FileFindNextFile($search)
if Not @extended then
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if StringInStr($HtmlTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Links\\")
endif
endif
WEnd
GUICtrlSetData($Info,"HTML-Dateien wurden verschoben.")
EndFunc;##############################################################################
[/autoit] [autoit][/autoit] [autoit]Func _MoveAll()
[/autoit]
GUICtrlSetData($Info,"Dateien werden verschoben.")
$search=FileFindFirstFile(@ScriptDir&"\*.*")
While @error<>1
$path=FileFindNextFile($search)
if Not @extended then
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if StringInStr($HtmlTypes&" "&$PdfTypes&" "&$VideoTypes&" "&$ImageTypes,$path[3]) then
if StringInStr($HtmlTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Links\\")
elseif StringInStr($PdfTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\PDF\\")
elseif StringInStr($VideoTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Videos\\")
elseif StringInStr($ImageTypes,$path[3]) then
_moveFile($path,@Scriptdir&"\Sortieren\Bilder\\")
endif
endif
endif
WEnd
GUICtrlSetData($Info,"Dateien wurden verschoben.")
EndFunc -
Da von dir kein Script geliefert wird hab ich mal ein Beispiel gemacht, wie man es machen könnte:
Spoiler anzeigen
[autoit]Func _moveFile($source)
[/autoit]
local $path[4]
_PathSplit($source,$path[0],$path[1],$path[2],$path[3])
if $path[3]=".png" then
$dest=@DesktopDir&"\Alle\Bilder\\"
ElseIf $path[3]=".mp3" then
$dest=@DesktopDir&"\Alle\Musik\\"
endif
$destpath=$dest&$path[2]&$path[3]
$i=0
while FileExists($destpath)
$destpath=$dest&$path[2]&" ("&$i&")"&$path[3]
$i+=1
endif
FileMove($source,$destpath,BitOR(0,8))
EndFunc -
Es wäre sinnvoll, nicht nur
[autoit]$MG + 1
[/autoit]
[autoit]
zu schreiben... Du weist der Variable nie einen Wert zu. Du sagst einfach nur $MG+1 und lässt das verfallen.
So wäre es richtig:$MG=$MG+1 ;oder
[/autoit]
$MG+=1 -
[autoit]
$file=FileOpenDialog('..',@MyDocumentsDir,'..(*.*)',$FD_FILEMUSTEXIST+$FD_MULTISELECT)
[/autoit]
$string=""
$arFile=StringSplit($file,"|")
local $drive,$dir,$name,$extension
for $i=1 to UBound($arFile)-1 step 1
_PathSplit($arFile[$i],$drive,$dir,$name,$extension)
$string&=$name&$extension&@crlf
next
FileWrite($hfile,$string)RegExp war der Befehl
[autoit]StringRegExpReplace($mitPfad, '.+\\(.+)', '$1')
[/autoit]
RegExp dient zum durchsuchen von Text nach bestimmten Ausdrücken (und gegebenenfalls ersetzen/auslesen, etc.). (Aber lass dir das besser von ein paar andern aus dem Forum erklären. Ich bin nicht so bewandert in RegExp -
Ich würds so machen:
[autoit]$file=FileOpenDialog('..',@MyDocumentsDir,'..(*.*)',$FD_FILEMUSTEXIST+$FD_MULTISELECT)
[/autoit]
$string=""
$arFile=StringSplit($file,"|")
for $i=1 to UBound($arFile)-1 step 1
$string&=StringRegExpReplace($mitPfad, '.+\\(.+)', '$1')
next
FileWrite($hfile,$string)Mit RegExp gehts sicher auch.
-
Man könnte in der Schleife abfragen, ob
Code{ErrorPrintf(): LoadString failed, Error 15105, (0x00003B01)} Fehler [15105]:Im Cache des Ressourcenladeprogramms ist kein MUI-Eintrag geladen. Fehler [1722]er RPC-Server ist nicht verfgbar.
in der Abfrage steht.Ich hab mal ein paar (Ich behaupte mal Einzigartige Textstellen genutzt):
[autoit]While 1
[/autoit]
$string=StdoutRead($PID) & StderrRead($PID)
If @error Then ExitLoop
if NOT (stringinstr($string,"Error 15105") or stringinstr($string,"Fehler [15105]") or stringinstr($string,"Fehler [1722]")) then
$Ret &=$string
endif
WEnd -
Also... Ich bin durch Spiele dazu gekommen mich mit dem Pc zu beschäftigen (vorher eher selten). Mittlerweile ist es von Spielen zu Programmieren übergegangen. Also: Ein hoch auf die Spiele
(Ich denke man muss aber auch die Motivation und das Verständnis für Informatik haben :))Wobei ich durch "Englisch lernen mit Ritter Rost" son paar Grundkenntnisse in Englisch bekommen habe (wobei man ein solches Spiel nicht ganz so toll fand wie das sinnlose Puschi :D:D)
-
So kannst du unterordner mitdurchsuchen:
[autoit]_searchForFiles("C:\Ordner")
[/autoit]
Func _searchForFiles($folder)
$search=FileFindFirstFile($folder&"\\"&"*.*")
while 1
$file=FileFindNextFile($search)
if @extended=1 then
_searchForFiles($file)
ElseIf @error=1 then
ExitLoop
else
If NOT $file= "download.html" or NOT $file="makehtml.exe" then
$size = ByteSuffix(FileGetSize($file))
$suffix=StringRight ( $file, 3 )
$datei=StringTrimRight ( $file, 4 )
$dateipfad=StringReplace(StringReplace(@ScriptDir,$localpath,""),"","/") & '/' & $file
FileWriteLine($filew, $datei & ': <img src="/pix/download.gif" alt="Download"/> <a href="' & $dateipfad & '" target="_blank">Herunterladen</a> [' & $suffix & '][' & $size & ']'&'<br>')
$i=$i +1
$F=$F+1
EndIf
endif
WEnd
EndFunc
In @extended steht, wenn ein Ordner gefunden wurde. -
Ich denke Schnitzel meinte stringtrimleft in zusammenhang mit stringinstr, welches ja die position zurückgibt
-
Zum Beispiel so:
[autoit]Func _GetDSCPath($sPath)
[/autoit]
if StringInStr($sPath,"\DSC\\") then
$ar=StringSplit($sPath,"\DSC\\")
return "DSC\\"&$ar[$ar[0]]
else
SetError(1)
endif
EndFuncIst aber ohne StringRegExpReplace
-
treFFnix:
Dann sind die anderen Fenster dahinter und er kann sie nicht schließen,minimieren,... ohne das andere Fenster zu verschieben. Von daher dürfte das auch nur suboptimal sein