Was ist an einem #include unübersichtlich?
Wenn dir damit die Datei zu groß wird, kopier dir doch nur die Funktion raus, die du brauchst.
Brauchst du die Funktion nur einmal im code, kannst du dir das schenken. Aber bei mehrfachem Aufruf ist es schon sinnvoll.
Beiträge von BugFix
-
-
Ich fand immer am Besten zum Üben das Umsetzen mathematischer Aufgaben.
Selbst wenn diese math. Funktionen schon in AutoIt enthalten sind, kann man sie zu Testzwecken auch mal selber neu erfinden.
Sehr schön zum Anfang finde ich z.B.: "n!" oder "Quersumme von n"
Wenn du es dann etwas härter magst: Primzahlen bis "n"
Als schöne Übung für eine GUI: Lotto 6 aus 49Viel Spaß!
-
Hi basler,
ich hab dir mal ne Lösung gebastelt. Brauchst dazu die Beta. Ist getestet und funztSpoiler anzeigen
[autoit]#Include <File.au3>
[/autoit]
#Include <Array.au3>
$source_path = "C:\BENUTZER\"
$target_path = "C:\CHECK\" ; Speicherzielordner
$searchstring = "crash" ; z.B. "crash20060905.txt"
$n = 0 ; Anzahl der kopierten Dateien
$FolderList=_FileListToArray($source_path, "*",2) ; Flag 2 = nur Ordner
If (Not IsArray($FolderList)) and (@Error=1) Then
MsgBox (0,"","Keine Ordner gefunden.")
Exit
EndIf
For $i = 1 To $FolderList[0]
$FileList = _FileListToArray($source_path & $FolderList[$i])
If IsArray($FileList) Then
For $j = 1 To $FileList[0]
If $FileList[$j] = "Data" Then ; dein gesuchter Unterordner - falls vorhanden
$DataFileList = _FileListToArray($source_path & $FolderList[$i] & "Data")
If IsArray($DataFileList) Then
For $k = 1 to $DataFileList[0]
If StringInStr($DataFileList[$k], $searchstring) <> 0 Then ; in Dateiname ist $searchstring enthalten
FileCopy($source_path & $FolderList[$i] & "\" & $FileList[$j] & "\" & $DataFileList[$k], _
$target_path & $FolderList[$i] & "\" & $DataFileList[$k], ; Flag 8 = Ordner erstellen, falls nicht vorhanden
$n = $n 1
EndIf
Next
EndIf
EndIf
Next
EndIf
Next
If $n > 0 Then
MsgBox(0,"", "Es wurde(n) " & $n & "Datei(en) kopiert.")
Else
MsgBox(0,"", "Es wurden keine Dateien kopiert.")
EndIfEDIT - wichtig
Hier klappt was mit der Darstellung nicht. Meine Backslashes sind alle gelöscht! auch mit editieren werden sie wieder gelöscht!
Also bei $source_path und $target_path gehören vor und hinter den Ordnernamen Backslash.
In der Codezeile: " $DataFileList = _FileListToArray($source_path & $FolderList[$i] & "Data") " ist vor dem Ordnernamen "Data" ein Backslash zu setzen.
In der Codezeile: "FileCopy...." sind jeweils zwischen den: & "" & auch Backslash einzufügen.EDIT 2
Nach viel Bastelei sollte die Darstellung jetzt stimmen. (6 Edits - persönl. Rekord )
Sicherheitshalber lösche ich das vorige Edit aber nicht.Nachsatz: Mit Version 3.2.0.1 brauchst du nicht die Beta hierfür.
bernd670 : Backslashes wieder reingeschrieben
letztes (?) ! Edit - #9 :LOL:
Da durch die Darstellung jetzt einiges von der Funktionalität verloren gegangen ist, hänge ich die Datei mal an. -
Also rein vom Ablauf her würde ich es so machen:
- LogFile einlesen
- jetzt Zeile für Zeile bis Dateiende
wenn Datum noch nicht 10 Tage alt -> Zeileninhalt kopieren - an Array übergeben
- LogFile schließen und löschen
- LogFile neu erstellen
- Zeilenweise Arrayeinträge einfügen
- LogFile schließen -
-
-
Da muß ich echt passen, hab grad seit 15 min versucht die Syntax zu verstehen - erfolglos.
Aber dafür haben wir ja zum Glück unsren Pee -
Also ich verstehe eins nicht, warum willst du unbedingt die Funktion StringRegExp() verwenden?
ich she auch nicht zwingend den Ansatz dafür. Bei Auswahl der Zahl aus der WEB-Adresse weiß ich nicht ob es überhaupt damit geht.Meine Lösung, funktioniert:
Code$text = "Gästebuch (123)" $pos1 = StringInStr($text, "(") $pos2 = StringInStr($text, ")") $zahl = StringMid($text, $pos1+1, $pos2 - $pos1-1) MsgBox(0, "Zahl selektiert", $zahl)
und
-
Äh, wenn du dich hier auf 'nen anderen Thread beziehst, sag mal welchen.
So versteh ich das ganze nicht. -
-
Schau mal hier rein: http://autoit.aufwaerts.de/thread.php?threadid=384
Dort habe ich eine GUI mit den wesentlichen GUICtrlList-Funktionen hinterlegt.Habe das Beispiel von oben mal so geändert, dass die Ausgabe in einer MsgBox erfolgt:
Spoiler anzeigen
C
Alles anzeigen#include <GUIConstants.au3> #include <GuiList.au3> Opt ('MustDeclareVars', 1) Dim $msg, $ret, $INHALT = "" Dim $listbox, $button, $label, $i GUICreate("ListBox Selected Items Text Demo", 400, 250, -1, -1) $listbox = GUICtrlCreateList("", 125, 40, 180, 120, BitOR($LBS_SORT, $WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY, $LBS_MULTIPLESEL)) GUICtrlSetData($listbox, "test1|more testing|even more testing|demo|") $button = GUICtrlCreateButton("Get Selected", 150, 160, 120, 40) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $button $ret = _GUICtrlListGetSelItemsText ($listbox) If (Not IsArray($ret)) Then MsgBox(16, "Error", "Unknown error from _GUICtrlListGetSelItemsText") Else For $i = 1 To $ret[0] If $INHALT = "" Then $INHALT = $ret[$i] Else $INHALT = $INHALT & @LF & $ret[$i] EndIf Next MsgBox(0, "Gesamte Liste", $INHALT) EndIf EndSelect WEnd
-
-
-
Für das Festlegen der Spaltenbreite: _GUICtrlListViewSetColumnWidth (Beta)
Und du willst als Ergebnis nicht: "a|b|c" haben sondern z.B. "b". Das Ergebnis mit "$stringarray = StringSplit($liste, "|") " aufsplitten. "$stringarray[0]" enthält die Anzahl der Elemente. "$stringarray[2]" enthält entsprechend "b".
-
Zitat
144 (Dec) 90 (Hex) Hinweis: Wird in dieser kompilierten HTML-Datei nicht angezeigt.
Das sagt die Hilfe zu deinem Quadrat (darum siehst du es jetzt hier auch nicht ).
Wenn du also deinen String nach diesem Zeichen abfragst und es abschneidest sollte alles in Butter sein. -
$value - steht hier als Platzhalter für den zu übergebenden Wert. Übergeben kannst du irgendeine Variable aus deinem Code ($a, $b, $c .....). Innerhalb der Funktion wird mit der Variablen $value gerechnet.
z.B. -
Vieles läuft ohne Variablen zu deklarieren.
Manchmal ist es aber sinnvoll (wg. gutem Stil sowieso ) zu deklarieren.Bsp.:
Du willst in einer Funktion mehrere Variablen deines lfd. Proggis mit Werten bestücken. ($a, $b, $c)
Entweder rufst du die Funktion mit Parametern auf und verarbeitest den Rückgabewert:Code
Alles anzeigen..... _MyFunc($a, $b, $c) .... Func _MyFunc($var1, $var2, $var3) .... $var1 = "x" $var2 = "y" $var3 = "z" Return ($var1, $var2, $var3) EndFunc
oder du deklarierst die Variablen Global und greifst direkt darauf zu:Code
Alles anzeigenGlobal $a, $b, $c ..... _MyFunc() .... Func _MyFunc() .... $a = "x" $b = "y" $b = "z" EndFunc
Ist mir persönlich lieber als ellenlang Parameter zu übergeben. -
Zitat
Die muster sind nicht schön. und sehr Pixelig
Ist eh viel Geschmackssache.
Das pixelige ist Absicht. Die Darstellung ist etwa doppelt so groß, wie die Zielgröße. Und bei kleiner Darstellung mit Texten ist es günstiger die Kantenglättung zu minimieren, damit der Text auch lesbar bleibt.Aber das waren eh nur "Geschmacksmuster". Wollte wissen ob irgendetwas davon gefällig ist - das kann man dann ja weiterentwickeln.
-
Hi,
kann mich erinnern, dass vor ein paar Tagen in der Shoutbox über ein Foren Logo diskutiert wurde.
Hab mich auch mal dran versucht.
Geht recht gut mit GIMP. Falls es gefällt - gut. Wenn nicht - verwerfen. -
.... Da werden Sie geholfen!