Hmm. Eigentlich wollte ich es so machen, das man selber Ordner erstellen kann UND irgendwelche Dateien reinziehen kann.
Ich habs mir schon überlegt ob man einmal eine Sektion in einer Ini namens "Index" alegen sollte und die Namen der Ordner führen auf eine neue Sektion. Also evtl so:
Beiträge von DeepRed92
-
-
Klingt etwas kompliziert^^. Wäre es nicht besser evtl. echte Ordner in einem bestimmten Pfad zu erstellen, und alles + Unterordner mit FileFindFirtsFile herauszufinden?
-
Ok hab ich. Und wie könnte man auch Unterordner erstellen ? Hab gerade keine Idee dazu

-
Hallo,
ich hab gerade einen Script angefertigt (Siehe Anhang). Man soll da die Möglichkeit haben eigene Ordner zu erstellen und zu löschen. Das klappt bis jetzt außer das löschen... desweiteren besteht das Problem, das cih nicht weiß, wie man die erstellten Ordner samt Unterordner speichern soll. Evtl. als Ini- Datei?
Ich hoffe mir kann jemand helfen

-
Benutze doch einfach StringToBinary und BinaryToString

-
Ja, das war bei meinem Desktop Radio auch am Anfang. Ich hab das so gelöst:
[autoit]$PlayerX = IniRead(@ScriptDir & "\settings.ini", "settings", "Miniplayer x", "-1")
[/autoit][autoit][/autoit][autoit]
$PlayerY = IniRead(@ScriptDir & "\settings.ini", "settings", "Miniplayer y", "-1")If $PlayerX > @DesktopWidth Or $PlayerX < 0 Then $PlayerX = -1
[/autoit][autoit][/autoit][autoit]
If $PlayerY > @DesktopHeight Or $PlayerY < 0 Then $PlayerY = -1$miniplayer = GUICreate("Mini Player", 121, $inireadforhight, $PlayerX, $PlayerY)
[/autoit] -
Ja steht doch alles in der UDF ;). Um ein eigenes Icon auszuwählen musst du diesen Eintrag hier ändern:
[autoit]RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\DefaultIcon", "", "REG_SZ", $sAppName & ",0")
[/autoit]$sAppName ist dann die Datei, was die Icons beinhaltet und die ",0" ist dann der Index.
-
Danke an euch beiden. Das hat mir sehr viel weitergeholfen. Weiter so

-
Wer kommt überhaupt auf die Idee einen Decompiler für AutoIt zu schreiben ?
@bandido1:
Reverse engineering. You may not reverse engineer or disassemble the SOFTWARE PRODUCT or compiled scripts that were created with the SOFTWARE PRODUCT. -
Aber immer eins beachten:
Zitat von AutoIt-LizenzReverse engineering. You may not reverse engineer or disassemble the SOFTWARE PRODUCT or compiled scripts that were created with the SOFTWARE PRODUCT.
-
Zitat
Der Fehler kommt von deinem Icon , frag mich nicht wieso , ist aber so
Wie soll das denn gehen^^. Wenn ich das exit-Befehl nach $GUI_Event_Close entferne, wird es nicht beendet.
ZitatAusserdem solltest du die beiden WM_NOTIFY BEFEHLE zusammenfassen, sonst wird nur der letzte den du mit GUIRegisterMsg gesetzt hast ausgeführt .
Und wie soll man das zusammenfassen? Kenn mich mit den ganzen DllStruct...nicht aus

-
Zitat
Willst du das erst nach Loslassen der Maus die Message gestartet wird ?
Ja. Man klickt auf einen Button ===> Nichts passiert. Man lässt los ===> Und schon erscheint z.b eine MsgBox.
__________________________________
Jetzt hab ich mal deinen Beispiel benutzt, doch es funktioniert immer noch nicht (Script siehe Anhang). Wenn man auf den blauen Kreuzbutton klickt beendet sich das Script...verstehe ich nicht... .und das letzte Button funktioniert nicht.
Wieso funktioniert das nicht???? -
Ach bitte, so schwer kann es doch nicht sein

Ich habe das hier gefunden, aber es funktioniert nicht richtig...
Spoiler anzeigen
[autoit]Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
[/autoit]
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$idFrom = DllStructGetData($tNMHDR, "IDFrom")
$code = DllStructGetData($tNMHDR, "Code")
Switch $hwndFrom
Case $hToolbar
Switch $code
Case $NM_CLICK
;----------------------------------------------------------------------------------------------
MsgBox(0,"", _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem))
;----------------------------------------------------------------------------------------------
Case $TBN_HOTITEMCHANGE
$tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam)
$i_idOld = DllStructGetData($tNMTBHOTITEM, "idOld")
$i_idNew = DllStructGetData($tNMTBHOTITEM, "idNew")
$iItem = $i_idNew
$dwFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags")
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY -
Die Beispiele sind zwar gut, aber es wird ein Event schon ausgelöst, obwohl der Mauszeiger nach gedrückt wird... Kann man das nicht so machen wie bei Scite die Buttons?
-
Ne das hatte ich mir schon vorher angeschaut. Muss ich das per GuiRegisterMsg machen oder kann ich das auch irgendwie in die While schleife einbauen?
-
Danke. Und wie kann man feststellen, ob ein Toolbar Buttons in einem Rebar angeklickt wurde? Mit GuiGetMsg gehts ja nicht...
-
Hallo,
ich habe gerade angefangen mit Rebars zu arbeiten. Dabei ist mir aufgefallen das man die Items per Mauszeiger verschieben kann. Wie kann man die Rebar fixieren, damit man die Position der items nicht verändern kann?
-
Zitat
Eine Möglichkeit mehrere Files gleichzeitig per Drag and Drop in den Player einfügen ,
Das geht doch nur einzeln oder?
Weitere Vorschläge:
Die aktuelle Wiedergabeposition speichern lassen und beim nächsten Start wieder abspielen,
Mehr Einstellungsmöglichkeiten,
Festplatte nach MP3s durchsuchen lassen. -
Hallo Oscar,
dein Player ist wirklich sehr gut gelungen. Hier mal ein verbesserungsvorschlag: Du könntest eine Funktion einbauen, mit der man den Player in den Tray minimieren kann.

-
Sowas?:
Spoiler anzeigen
[autoit]MsgBox(0,"", _TranslateSystem("54485485856"))
[/autoit] [autoit][/autoit] [autoit];===============================================================================
[/autoit]
;
; Function Name: _TranslateSystem
; Description:: Wandelt eine Zahl zwischen verschiedenen Zahlensystemen um.
; Parameter(s): $zahl - Die Zahl zum Umwandeln
; $OldSystem - [Optional] Das alte System (Default: 10)
; $NewSystem - [Optional] Das neue System (Default: 2)
; Requirement(s):
; Return Value(s): Success: Number in new format and @extended set to SystemBase
; Error: -1.#NAN or -1.#IND
; @error set to:
; 1 - Zahl nicht richtig formatiert
; 2 - neues System nicht im darstellbaren Bereich
; 3 - altes System nicht im darstellbaren Bereich
; 4 - Zahl enthält Zeichen, die nicht im System vorkommen
; Author(s): Prog@ndy; sd (VB-Code)
; VB source used from http://www.vbarchiv.net/tipps/details.php?id=1590
;
;===============================================================================
;
Func _TranslateSystem($zahl, $OldSystem=10, $NewSystem = 2)
Local $out ;' Ausgabevariable
Local $temp ;' Temporäre Variable
$OldSystem = Int($OldSystem)
$NewSystem = Int($NewSystem)
Select
Case Not StringRegExp($zahl,"\A[0-9a-zA-Z]+\Z")
Return SetError(2,0,"-1.#NAN")
Case $NewSystem < 2 Or $NewSystem > 62
Return SetError(2,0,"-1.#IND")
Case $OldSystem < 2 Or $OldSystem > 62
Return SetError(3,0,"-1.#IND")
EndSelect
;' Zeichen der Zahlensysteme ( bis Hexadezimalsystem )
Local $chrsys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
If $OldSystem <> 10 Then
Local $CaseSense = ($OldSystem > 36)
Local $ziffern = StringSplit($zahl,""), $nummer
$zahl = 0
For $i = 1 To $ziffern[0]
$nummer = StringInStr($chrsys,$ziffern[$i],$CaseSense,1)
If $nummer > 0 Then $zahl += ($nummer-1)*($OldSystem^($ziffern[0]-$i))
If $nummer > $OldSystem Then Return SetError(4,0,"1.#NAN")
Next
EndIf
;' Solange bis Zahl = 0
While $zahl <> 0
;' Stelle der Zahl ermitteln
$temp = Mod($zahl, $NewSystem )
;' Zahl anhängen
$out = StringMid($chrsys, $temp + 1, 1) & $out
;' Integerdivision
$zahl = Int($zahl / $NewSystem)
Wend
SetExtended($NewSystem)
Return $out
EndFunc