Hallo yt_winky (*g*)
Gut danke ich werde dich natürlich meist möglich unterstützen!
So!! Hab mir jetzt auch mal den Explorer angeguckt.. der ist ja noch ziemlich beta *g* Naja guck mal was sich daraus machen lest!
Mfg Spider
Hallo yt_winky (*g*)
Gut danke ich werde dich natürlich meist möglich unterstützen!
So!! Hab mir jetzt auch mal den Explorer angeguckt.. der ist ja noch ziemlich beta *g* Naja guck mal was sich daraus machen lest!
Mfg Spider
Hallo!
Ich nochmal: ich habe diese frage ja ins Engl Forum gestellt: http://www.autoitscript.com/forum/index.php?showtopic=26267&st=0&gopid=185250&#entry185250
aber ich kapier das einfach nicht [Blockierte Grafik: http://www.helden-forum.com/phpBB2/images/smiles/icon_wall.gif]
hab mal so ein bisschen rumprobiert und da kahm das raus:
#include <GUIConstants.au3>
#include <file.au3>
$file = "MAX-01(192.168.0.2).ini"
$Form1 = GUICreate(FileReadLine($file,1), 387, 397, 193, 126)
$List1 = GUICtrlCreateTreeView(10, 10, 331, 356, BitOR($LBS_SORT,$LBS_STANDARD,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER), 0)
$Button1 = GUICtrlCreateButton("&Take", 20, 370, 75, 25, 0)
$Button2 = GUICtrlCreateButton("&Refresh", 100, 370, 75, 25, 0)
$Button3 = GUICtrlCreateButton("GoTo Start", 180, 370, 75, 25, 0)
$Button4 = GUICtrlCreateButton("Exit", 260, 370, 75, 25, 0)
$Progress1 = GUICtrlCreateProgress(350, 10, 30, 377, BitOR($PBS_SMOOTH,$PBS_VERTICAL), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Read($line = 2)
$fcl = _FileCountLines($file)-1
$fo = FileOpen($file,0)
$drive = StringLeft(FileReadLine($fo,$line),2)
GUICtrlCreateTreeViewItem($drive,$List1)
For $i = 2 To $fcl
$fr = FileReadLine($fo,$i)
$ss = StringSplit($fr,"\")
$dir = $ss[$dirdir]
If StringLeft($fr,2) <> $drive Then
Read($i)
Return
EndIf
Alles anzeigen
Dem geschulten Auge sollte auffallen das ich mitendrin aufgehört hab *g* Vlt hilft ja jmd diese vorlage oder die "vorlage" im Engl Forum(Siehe Link) weiter
würd mich freunen
Hallo
Ok danke Ich hab die frage auch mal ans Englische forum gestellt, aber mein englisch müsst ich noch etwas verbessern [Blockierte Grafik: http://forum.sgh.ru/images/smiles/rotwerd.png]
Hallo!
Genau Denn du musst ja $a immer wider neu definieren! wenn du dies nicht tuts checkt er nur am anfang ob das fenster aktiv ist oder nicht, Doktore's lösung checkt immer wider ob das fenster Aktiv ist!
Mfg Spider
Hallo!
dann hat sich das hier ja erledigt
mfg Spider
Hallo
Er hat kein Rang!
Mfg Spider (mit Rang ;))
Hallo!
welche bilder? Meinst du Initalzing.jpg? Und die Wave? mach ich..
MFg Spider
edit: kann mir wirklich nimand helfen? Schnief?!
Hallo!
Also, ich habe im Englischen Forum eine Browse Demo gefunden! So ca sollte es auch aussehen nur halt mit dateien und von einer datei gelesen, villeicht hilft es jemanden weiter mir zu helfen?!
;~ #cs
#Include <GUIConstants.au3>
#include <GuiTreeView.au3>
SplashImageOn("","D:\skripts\Autoit\bilder\Initalizing.JPG","200","50","-1","-1",1)
SoundPlay("D:\skripts\Autoit\Windowsunattend\skirpts\winsetup\Setup\Button_Sound\winSpaceSysStart.wav")
Global $Tree
Global $SubTree
$Form1 = GUICreate("Browse", 243, 319, 463, 281)
$TreeView = GUICtrlCreateTreeView(8, 8, 225, 273, BitOR($WS_BORDER,$TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
GUICtrlSetImage(-1, "shell32.dll", 3, 4)
GUICtrlSetImage(-1, "shell32.dll", 4, 2)
$ok = GUICtrlCreateButton(">>>>>>>>>>>> &Weiter >>>>>>>>>>>>", 8, 288, 227, 25)
;~ GUISetState(@SW_SHOW)
$HDDrives = DriveGetDrive("FIXED")
For $i = 1 To $HDDrives[0]
Search($HDDrives[$i] , "*.*")
$var = IniReadSection("Files.ini", $HDDrives[$i] & "\")
For $h = 1 To $var[0][0]
$IniRead = IniRead("Files.ini", $HDDrives[$i] & "\", $h, "NotFound")
_Next($IniRead, "*.*", $h)
Next
Next
SplashOff()
GUISetState()
While 1;Main Loop
$msg = GUIGetMsg()
If $msg = $ok Then
Run("explorer.exe "& _GUICtrlTreeViewGetTree($TreeView,"\"))
EndIf
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
;Functions
;///////////////////////////////////////////
Func Search($SearchPath, $FileType)
$Item1 = GUICtrlCreateTreeViewItem(StringUpper($SearchPath), $TreeView)
GUICtrlSetImage(-1, "shell32.dll", 8)
$SearchPath &= "\"
$Search = FileFindFirstFile($SearchPath & $FileType)
If $Search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
$Count = 1
Dim $Tree[99999]
While 1
$File = FileFindNextFile($Search)
If @error Then ExitLoop
$Attrib = FileGetAttrib($SearchPath & $File)
If StringInStr($Attrib, "D") Then
$Tree[$Count] = GUICtrlCreateTreeViewItem($File, $Item1)
IniWrite("Files.ini", $SearchPath, $Count, $SearchPath & $File & "\")
$Count = $Count + 1
EndIf
WEnd
FileClose($Search)
EndFunc ;==>Search
Func _Next($SearchPath, $FileType, $Number)
$Search1 = FileFindFirstFile($SearchPath & $FileType)
If $Search1 = -1 Then
Else
$Count = 1
Dim $SubTree[99999]
While 1
$NextFile = FileFindNextFile($Search1)
If @error Then ExitLoop
$Attrib = FileGetAttrib($SearchPath & $NextFile)
If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
If $NextFile = "." Or $NextFile = ".." Then
Else
$FBuffer = $SearchPath & $NextFile & "\"
$SubTree[$Count] = GUICtrlCreateTreeViewItem($NextFile, $Tree[$Number])
$Search2 = FileFindFirstFile($FBuffer & "*.*")
If $Search2 = -1 Then
;~ msgbox(0,"","Ingen mapper")
Else
$Count1 = 1
While 1
$NextFile2 = FileFindNextFile($Search2)
If @error Then ExitLoop
$Attrib = FileGetAttrib($FBuffer & $NextFile2)
If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
If $NextFile2 = "." Or $NextFile2 = ".." Then
Else
GUICtrlCreateTreeViewItem($NextFile2, $SubTree[$Count])
$Count1 = $Count1 + 1
EndIf
EndIf
WEnd
FileClose($Search2)
EndIf
;msgbox(0,"","Stop " & $Count)
$Count = $Count + 1
EndIf
EndIf
WEnd
FileClose($Search1)
EndIf
EndFunc ;==>_Next
;~ #ce
Alles anzeigen
Hallo @all!
ich hab eine frage: ich möchte so eine Art commander bauen der alle Dateien die in einer Datei geschrieben sind darstellt, so wie der Windows(Total)Commander!
Die Datei sieht ca so aus:
d:\video\von anderen\Fun\Berni und Ert\zu Hause\aufraeumen.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\aussprache.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\binichschoen.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\der-schuss.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\drogen.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\einkaufen.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\freitag-13.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\geiselnahme.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\heiratsantrag.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\karate.wmv
d:\video\von anderen\Fun\Berni und Ert\zu Hause\knutschen.wmv
Alles anzeigen
Jetzt möchte ich die Dateien in einer Listbox oder in einem treeview haben, aber so das die einzelnen Ordner angezeigt werden und ich immer weiter runter kann, also ca so wie auf dem Bild unten, oder halt als Listbox!
Wie ist das möglich, wenn es überhaupt möglich ist?!
Mfg GtaSpider
I Was only by the second, and i can speak english as peethebee
Hallo!
peethebee : find ich so schöner *g*
@SeThO Bitte Hoffe auf weitere fragen aber vorallem skripte von dir
mfg GtAsPiDeR *g*
Hallo,
Angeber
Stimmt fürs erste Hab nur nochmal nachgemacht damit man das auch im skirpt besser nachvollziehen kann
Mfg Spider
Hallo
peethebee : Die hilfsvariable ist aus dem grund drinnen damit er nicht ununterbrochen die SoundVolume ändern muss und somit die CPU last unötig erhöt
@Setho: Habe jetzt einfach mal komentare eingefügt, Villeicht auch mal die Deutsche Hilfe von peethebee durchlesen die du unten in meiner Sig findest unter Erste Hilfe
#include <GUIConstants.au3> ;Schließt die GuiConstants ein
Global $VolLevel = 100; Definiert die Variable VolLevel( ist für unten Wichtig)
GUICreate("Slidertest", 166, 62, 193, 126) ;Erstellt die Gui
$Volume = GUICtrlCreateSlider(10, 10, 150, 45) ;Erstellt den Slider
GUICtrlSetData($Volume, 100);Setzt den Slider auf 100
GUISetState(@SW_SHOW); zeigt die GUI
While 1 ;Startet die Endlosschleife
$msg = GUIGetMsg();Holt die daten von der Gui, Wenn z.b. ein Button gedrückt wird oder wie in dem Fall der slider sich verändert
Select;Startet Select
Case $msg = $GUI_EVENT_CLOSE ;Wenn du oben auf das rote x drückst wird die GUI so geschlossen
ExitLoop;Die Endlosschleife wird beendet
Case Else ; Wenn etwas anderes passiert, also die GUI nicht geschlossen wird
If GUICtrlRead($Volume) <> $VolLevel Then;Wenn der Alte VolLevel größer oder kleiner ist als der Slider...
SoundSetWaveVolume(GUICtrlRead($Volume));...Soll er die Lautstäre regulieren
$VolLevel = GUICtrlRead($Volume);Jeztt wird die momentane Lautstärke als $VolLevel definiert
EndIf
EndSelect;Endet Select
WEnd;Startet die Schleife wider von vorne
;Mfg Spider ;)
Alles anzeigen
Hallo und :willkommen: im forum
Das könnte ungefähr so aussehen:
#include <GUIConstants.au3>
Global $VolLevel = 100
GUICreate("Slidertest", 166, 62, 193, 126)
$Volume = GUICtrlCreateSlider(10, 10, 150, 45)
GUICtrlSetData($Volume, 100)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case Else
If GUICtrlRead($Volume) <> $VolLevel Then
SoundSetWaveVolume(GUICtrlRead($Volume))
$VolLevel = GUICtrlRead($Volume)
EndIf
EndSelect
WEnd
Alles anzeigen
Hoffe konnte dir helfen
Mfg Spider
Hallo
Ja hab ich... Eben! was sagt denn der Profi? (Du :comp1:?) Wie würdest du es machen?
Hallo!
Das mit Dem FilefindfirstFile kann eigentlich nicht passieren da die datei nur einmal geöffnet wird und nach der schleife wider Beendet wird! Dass mein bei FileFindNextFile auch FileClose hintersezten muss wäre mir neu..
Hier mal die überarbeitete
;~ $dgd = DriveGetDrive("FIXED")
;~ $dat = ""
;~ For $i = 1 To $dgd[0]
;~ $dat&=FileSearch($dgd[$i],"*.id")
;~ Next; So machst du es wenn er alle Festplatten durchsuchen soll!
$dat = FileSearch("c:","*.id")
$file = "id_of_c .log"
if FileExists($file) Then FileDelete($file)
FileWrite($file,$dat)
Func FileSearch($search_dir, $s_ext = '*.*', $sep_char = @CRLF, $last_line = 0)
$allfiles = ''
$z = 0
$search_dir = StringReplace($search_dir & '\', '\\', '\')
$search = FileFindFirstFile($search_dir & '*.*')
While 1
$z = $z + 1
$file = FileFindNextFile($search)
If $file = '' Then ExitLoop
$full_file = $search_dir & $file
$check_file = StringInStr(FileGetAttrib($full_file), 'D')
If $check_file <> 0 Then $allfiles = $allfiles & FileSearch($full_file, $s_ext, $sep_char, 1)
If $check_file = 0 Then
If $s_ext = '*.*' Then $allfiles = $allfiles & $full_file & $sep_char
If $s_ext <> '*.*' And StringTrimLeft($s_ext, 1) = StringRight($full_file, StringLen(StringTrimLeft($s_ext, 1))) Then $allfiles = $allfiles & $full_file & $sep_char
EndIf
WEnd
FileClose($search)
If Not $last_line Then $allfiles = StringTrimRight($allfiles, StringLen($sep_char))
Return $allfiles
EndFunc ;==>FileSearch
Alles anzeigen
Hallo
So sollte es ungefähr gehen:
$lauf = FileSelectFolder("Ordner","")
If @error Then Exit ;Wenn Abbrechen gedrückt wird
$lauf2 = FileSelectFolder("Ordner wo dateien hinkopiert werden sollen!","",1)
If @error Then Exit ;Wenn Abbrechen gedrückt wird
If MsgBox(4,"","Warnung! Wenn Sie jetzt auf ja klicken werden alle daten von "&$lauf&" nach "&$lauf2&" Überschrieben d.h.: Alle momentanexistierenden Dateien werde Überschrieben!!"&@CR&"Wollen Sie wirklich Alle daten Überschreiben?") = 6 Then
;Wenn auf ja Geklickt wird:
DirCopy($lauf,$lauf2,1)
Else
;Wenn auf nein oder auf Schließen Geklickt wird
Exit
EndIf
Alles anzeigen
Zu DirCopy:
ZitatAlles anzeigenOriginal aus der Deutschen Hilfe
DirCopy
--------------------------------------------------------------------------------Kopiert ein Verzeichnis mit allen Unterverzeichnissen und Dateien (ähnlich zu "xcopy").
DirCopy ( "source dir", "dest dir" [, flag] )
Parameter
source dir Pfad des Quellverzeichnisses (ohne abschließenden Backslash). Beispiel: "C:\Pfad"
dest dir Pfad des Zeilverzeichnisses (ohne abschließenden Backslash). Beispiel: "C:\Pfad_Kopie"
flag [optional] Dieses Flag bestimmt, ob existierende Dateien überschrieben werden sollen:
0 = (Standard) Überschreibe existierende Dateien nicht
1 = Überschreibe existierende DateienRückgabewert
Erfolg: Gibt 1 zurück.
Misserfolg: Gibt 0 zurück, wenn ein Fehler beim Kopieren aufgetreten ist.Bemerkungen
Wenn das Zeilverzeichnis nicht existert, wird versucht, es zu erstellen.
Hallo und :willkommen: im Forum!
Probiere Es mal mit FileCopy()! Hier Ein bsp, aber warnung!!! Er wird wenn du auf ja klickst alle daten überschreiben!!!!
$lauf = InputBox("","Laufwersbuchstabe:","F:")
$lauf = InputBox("","Laufwersbuchstabe Zum überschreiben:","D:")
If MsgBox(4,"","Warnung! Wenn Sie jetzt auf ja klicken werden alle daten von "&$lauf&" nach "&$lauf2&" Überschrieben d.h.: Alle momentanexistierenden Dateien werde Überschrieben!!"&@CR&"Wollen Sie wirklich Alle daten Überschreiben?") = 6 Then
;Wenn auf ja Geklickt wird:
DirCopy($lauf,"D:",1)
Else
;Wenn auf nein oder auf Schließen Geklickt wird
Exit
EndIf
Hallo
StringInStr gibt nur zurück wo z.b. | liegt also musst du noch eine ZusatzFunktion einbauen StringTrimLeft! So sieht es denn aus:
$clip = "123|hallo";Bzw ClipGet()
$text = StringTrimLeft($clip,StringInStr($clip,"|"))
MsgBox(0,"",$text)
Mfg Spider
P.S.: der Code wird momentan von Gun-Food überarbeitet
Edit: Du kannst auch statt ClipGet/ClipPut EnvGet/EnvSet nehmen. dann musst du die Zwischenablage nicht verwenden!