Hallo veronesi,
vielleicht findest du ja hier die richtige Idee: [Ideen-Sammlung] Computerfernsteuerung
mfg (Auto)Bert
Hallo veronesi,
vielleicht findest du ja hier die richtige Idee: [Ideen-Sammlung] Computerfernsteuerung
mfg (Auto)Bert
Hallo Nighty,
da du über VPN verbunden bist, sollte doch der NetSend eigentlich funktionieren.
mfg (Auto)Bert
Hallo Barris,
der Author des Programmes, dessen Ini-Datei du ändern willst hat die Datei zwar INI benannt. Es ist aber keine Windows konforme INI-Datei sondern eine ganz normale Textdatei nur Endung INI anstelle TXT.
Sandardkonform würde sie z.B. so aussehen:
Schau dir daher in der Hilfe die Funktionen _FileReadToArray, FileWriteFromArray _ArrayDisplay an oder hänge sie (umbenannt in Hallo.txt) als Dateianhang an,
mfg (Auto)Bert
Hallo Barris,
Hier kannst du dir die Hilfe herunterladen.
Zitat von HilfeIniWrite ( "filename", "section", "key", "value" )
Parameter
filename Der Dateiname der .ini-Datei.
section Der Sektionsname in der .ini-Datei.
key Der Name des Schlüssels in der .ini-Datei.
value Der zu schreibende/ändernde Wert.
oder poste einfach deine INI Datei,
mfg (Auto)Bert
Das Registrierungsdatum wäre mir wichtiger
mfg (Auto)Bert
Genau, das wars. Aber der gibt mir nur 4 oder 1 zurück, halt gechecked oder nicht gechecked, aber nicht ob show oder hide oder enable oder disable, weil dann müsste er ja den summenwert ausgeben.
Das soll er ja auch.
Wenn du den Summenwert willst musst du natürlich nur
GUICtrlRead($check)
[/autoit]nehmen
mfg (Auto)Bert
Hallo Data,
Skript stürzt ab, Ausgabe der Scite-Console
>"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\User_DATA\FileEncryptor\Hauptmodul.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams
+>21:13:10 Starting AutoIt3Wrapper v.2.0.1.24 Environment(Language:0407 Keyboard:00000407 OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86)
>Running AU3Check (1.54.19.0) from:C:\Programme\AutoIt3
+>21:13:10 AU3Check ended.rc:0
>Running:(3.3.6.1):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\User_DATA\FileEncryptor\Hauptmodul.au3"
C:\Programme\AutoIt3\Examples\Tests\User_DATA\FileEncryptor\Hauptmodul.au3 (231) : ==> Variable used without being declared.:
_Crypt_EncryptFile ($OpenedFile, $DestinationPath, $Pass1, $iALG_ID)
_Crypt_EncryptFile ($OpenedFile, $DestinationPath, $Pass1, ^ ERROR
->21:14:59 AutoIT3.exe ended.rc:1
>Exit code: 1 Time: 111.062
hast du es selbst auch schon einmal getestet ![]()
mfg (Auto)Bert
Hallo hier ein Skript, das funktioniert:
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
;#include <_pop3.au3>
#include "_INetSmtpMailCom.au3"
;##################################
; Variables
;##################################
$SmtpServer = "smtp.live.com" ; address for the smtp-server to use - REQUIRED
$FromName = "MyName" ; name from who the email was sent
$FromAddress = "MyName@hotmail.de" ; address from where the mail should come
$ToAddress = "YourName@web.de" ; destination address of the email - REQUIRED
$Subject = "Userinfo" ; subject from the email - can be anything you want it to be
$Body = "Test" ; the messagebody from the mail - can be left blank but then you get a blank mail
$AttachFiles = "" ; the file you want to attach- leave blank if not needed
$CcAddress = "" ; address for cc - leave blank if not needed
$BccAddress = "" ; address for bcc - leave blank if not needed
$Importance = "Normal" ; Send message priority: "High", "Normal", "Low"
$Username = "MyName@hotmail.de" ; username for the account used from where the mail gets sent - REQUIRED
$Password = "********" ; password for the account used from where the mail gets sent - REQUIRED
$IPPort = 25 ; port used for sending the mail normaly 25
$ssl = 1 ; enables/disables secure socket layer sending - put to 1 if using httpS
;~ $IPPort=465 ; GMAIL port used for sending the mail
;~ $ssl=1 ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS
;##################################
; Script
;##################################
;_pop3Connect("pop3.live.com", $Username, $Password) ;wird nicht benötigt
$rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
If @error Then
MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
EndIf
PS.: falls deine EMailadresse in Post #1 echt ist hast du Mail
mfg (Auto)Bert
Die Antwort ist ganz einfach: es gibt kein HotItem mehr. Zum Verständnis:
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_LV = False ; Prüft den Klassennamen (ClassName), der an die ListView-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $exStyles = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES), $hListView, $nMsg, $idInfo
GUICreate("ListView: Setzt das 'hot' Item", 400, 300)
[/autoit] [autoit][/autoit] [autoit]$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
$hListView = GUICtrlGetHandle($hListView)
_GUICtrlListView_SetExtendedListViewStyle($hListView, $exStyles)
$idInfo = GUICtrlCreateButton("&Info",5,275,50,25)
GUISetState()
; Fügt die Spalten hinzu
_GUICtrlListView_AddColumn($hListView, "Spalte 1", 100)
_GUICtrlListView_AddColumn($hListView, "Spalte 2", 100)
_GUICtrlListView_AddColumn($hListView, "Spalte 3", 100)
; Fügt die Items hinzu
_GUICtrlListView_AddItem($hListView, "Zeile 1: Spalte 1")
_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 2", 1)
_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 3", 2)
_GUICtrlListView_AddItem($hListView, "Zeile 2: Spalte 1")
_GUICtrlListView_AddSubItem($hListView, 1, "Zeile 2: Spalte 2", 1)
_GUICtrlListView_AddItem($hListView, "Zeile 3: Spalte 1")
; Setzt das 'hot' Item
_GUICtrlListView_SetHotItem($hListView, 1)
MsgBox(4160, "Das HotItem hat den Index" & _GUICtrlListView_GetHotItem($hListView) &" ( 1 ist richtig)", _GUICtrlListView_GetItemTextString($hListView,_GUICtrlListView_GetHotItem($hListView)))
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete()
Exit
case $idInfo
MsgBox(4160, "Das HotItem hat den Index" & _GUICtrlListView_GetHotItem($hListView) &" ( 1 wäre richtig)", _GUICtrlListView_GetItemTextString($hListView,_GUICtrlListView_GetHotItem($hListView)))
EndSwitch
WEnd
EndFunc ;==>_Main
Direkt nach dem Erstellen ist es noch da, mit Verlust des Focus (Klick auf Button) geht es verloren. Nimm stattdessen doch _GUICtrlListView_GetSelectedIndices:
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_LV = False ; Prüft den Klassennamen (ClassName), der an die ListView-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $exStyles = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES), $hListView, $nMsg, $idInfo
GUICreate("ListView: Setzt das 'hot' Item", 400, 300)
[/autoit] [autoit][/autoit] [autoit]$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
$hListView = GUICtrlGetHandle($hListView)
_GUICtrlListView_SetExtendedListViewStyle($hListView, $exStyles)
$idInfo = GUICtrlCreateButton("&Info",5,275,50,25)
GUISetState()
; Fügt die Spalten hinzu
_GUICtrlListView_AddColumn($hListView, "Spalte 1", 100)
_GUICtrlListView_AddColumn($hListView, "Spalte 2", 100)
_GUICtrlListView_AddColumn($hListView, "Spalte 3", 100)
; Fügt die Items hinzu
_GUICtrlListView_AddItem($hListView, "Zeile 1: Spalte 1")
_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 2", 1)
_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 3", 2)
_GUICtrlListView_AddItem($hListView, "Zeile 2: Spalte 1")
_GUICtrlListView_AddSubItem($hListView, 1, "Zeile 2: Spalte 2", 1)
_GUICtrlListView_AddItem($hListView, "Zeile 3: Spalte 1")
; Setzt das 'hot' Item
_GUICtrlListView_SetItemSelected($hListView, 1)
Local $aSelected =_GUICtrlListView_GetSelectedIndices($hListView,True)
MsgBox(4160, "Das selektierte Item hat den Index" & $aSelected[1], _GUICtrlListView_GetItemTextString($hListView,$aSelected[1]))
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete()
Exit
case $idInfo
$aSelected =_GUICtrlListView_GetSelectedIndices($hListView,True)
MsgBox(4160, "Das selktierte Item hat den Index" & $aSelected[1], _GUICtrlListView_GetItemTextString($hListView,$aSelected[1]))
EndSwitch
WEnd
EndFunc ;==>_Main
mfg (Auto)Bert
Hallo JuraX,
evtl. war ja das "HOT"-Item in der Selektion dabei, die du gelöscht hast. Lösche also erst in der Listview, nachdem du dir das Item gemerkt hast. Die meisten Funktionen der ListView.au3 benötigen das Handle und nicht die ID (manche nehmen beides). Mache es also so (ungetestet hier im Forum erstellt) :
[autoit]Case $SenderDel
$SenderDelText = _GUICtrlListView_GetItemTextString($SenderListView, _GUICtrlListView_GetHotItem(GUICtrlGetHandle($SenderListView))
MsgBox(0, "", $SenderDelText)
IniDelete($INR_INI, "Sender", $SenderDelText)
_GUICtrlListView_DeleteItemsSelected(GuiCtrlGetHandle($SenderListView)) ;hier wird zwingend das Handle benötigt, beim Rest ??
mfg (Auto)Bert
Hallo Button421,
ZitatWenn ich bei Musik auf Hinzufügen klicke, erscheinen die Lieder in der Werbungsliste
kann es sein, dass du die Beschriftungen vertauscht hast? Die Rechte Liste ist die Werbungsliste, die linke die Musikliste.
ZitatEr spielt nicht ab,
hier ist es genau umgedreht, die Linke Play-Taste ist für die Werbung, die rechte für die Musik. Oder hast du den Ton am Slider zu niedrig eingestellt
Bei mir läuft das Skript, aber wie gesagt eigentlich brauchst du nur 1 mal Pause, Stop, da immer nur 1 Lied laufen kann. Wass willst du den auf der(n) CUE-Tasten haben?
ZitatTut mir leid, aber ich kann das nicht beheben,
habe ich zuwenig Bemerkungen eingefügt, oder an was liegt es? Wobei wie gesagt, dass Skript bei mir läuft,
mfg (Auto)Bert
Hallo Button421,
ich habe das Skript aus deinem Eröffnungspost genommen und so abgändert, dass man
Schau es dir einfach einmal an:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIListBox.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Sound.au3>
#include <EditConstants.au3>
#include <Array.au3>
IniDelete(@ScriptDir & "\RadioID Logbericht.txt", "actions")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "=", "+>Starting A&C Autologger[OK]")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "==", "+>Wait on Name and Password[...]")
Global $musik
Global $werbung
#region ### START Koda GUI section Hauptprog ### Form=C:\Users\Jonathan Verbeek\Desktop\Arschens & Co TerminalForm.kxf
$TerminalForm1 = GUICreate("RadioID v1.0 - Eingeloggt als JoNi - Frequenz : 600,4 MHz", 573, 488, 215, 130)
$MenuItem1b = GUICtrlCreateMenu("Datei")
$SubMenuItem1b = GUICtrlCreateMenu("Modus", $MenuItem1b)
$Sub2MenuItem1b = GUICtrlCreateMenuItem("Musik + Werbung + Stimme", $SubMenuItem1b)
$SubMenuItem3b = GUICtrlCreateMenuItem("Beenden", $MenuItem1b)
$MenuItem2b = GUICtrlCreateMenu("Show")
$SubMenuItem11b = GUICtrlCreateMenuItem("Morgenshow", $MenuItem2b)
$SubMenuItem21b = GUICtrlCreateMenuItem("Mittagstisch", $MenuItem2b)
$SubMenuItem31b = GUICtrlCreateMenuItem("Weltweit", $MenuItem2b)
$SubMenuItem41b = GUICtrlCreateMenuItem("Gute Nacht!", $MenuItem2b)
$SubMenuItem51b = GUICtrlCreateMenuItem("Fußballreportage", $MenuItem2b)
$SubMenuItem61b = GUICtrlCreateMenuItem("Formel 1 Reportage", $MenuItem2b)
$MenuItem3b = GUICtrlCreateMenu("?")
$SubMenuItem12b = GUICtrlCreateMenuItem("Hilfe / Info", $MenuItem3b)
$MenuItem4b = GUICtrlCreateMenuItem("Ausloggen", -1)
$MusikList1 = GUICtrlCreateList("", 48, 56, 169, 279)
$Label1b = GUICtrlCreateLabel("Musik:", 48, 32, 35, 17)
$Label2b = GUICtrlCreateLabel("Werbung:", 240, 32, 51, 17)
$WerbungList2 = GUICtrlCreateList("", 240, 56, 169, 279)
$Slider1 = GUICtrlCreateSlider(520, 368, 30, 77, BitOR($TBS_VERT, $TBS_AUTOTICKS))
GUICtrlSetLimit(-1, 100, 0)
$Label3b = GUICtrlCreateLabel("Lautstärke:", 464, 360, 57, 17)
$Label4b = GUICtrlCreateLabel("--0", 544, 376, 16, 17)
$Label5b = GUICtrlCreateLabel("--100", 544, 424, 22, 17)
$Group1b = GUICtrlCreateGroup("Werbung", 136, 376, 185, 73)
$ButtonWPlay = GUICtrlCreateButton("Play", 144, 400, 35, 25, $WS_GROUP)
$ButtonWPause = GUICtrlCreateButton("Pause", 184, 400, 35, 25, $WS_GROUP)
$ButtonWStop = GUICtrlCreateButton("Stop", 224, 400, 35, 25, $WS_GROUP)
$Button4b = GUICtrlCreateButton("CUE A", 264, 400, 51, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2b = GUICtrlCreateGroup("Musik", 320, 376, 193, 73)
$ButtonMPlay = GUICtrlCreateButton("Play", 328, 400, 35, 25, $WS_GROUP)
$ButtonMPause = GUICtrlCreateButton("Pause", 368, 400, 35, 25, $WS_GROUP)
$ButtonMStop = GUICtrlCreateButton("Stop", 408, 400, 35, 25, $WS_GROUP)
$Button8b = GUICtrlCreateButton("CUE B", 448, 400, 59, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label6b = GUICtrlCreateLabel("Sounds:", 472, 64, 43, 17)
$SndButton1b = GUICtrlCreateButton("Werbung START", 472, 88, 91, 25, $WS_GROUP)
$SndButton2b = GUICtrlCreateButton("Werbung ENDE", 472, 112, 91, 25, $WS_GROUP)
$SndButton3b = GUICtrlCreateButton("Nachrichten", 472, 136, 91, 25, $WS_GROUP)
$SndButton5b = GUICtrlCreateButton("Wetter", 472, 160, 91, 25, $WS_GROUP)
$SndButton6b = GUICtrlCreateButton("Allgeimsound", 472, 184, 91, 25, $WS_GROUP)
$AddButton1b = GUICtrlCreateButton("Hinzufügen", 144, 336, 75, 25, $WS_GROUP)
$AddButton2b = GUICtrlCreateButton("Hinzufügen", 336, 336, 75, 25, $WS_GROUP)
$Pic1 = GUICtrlCreatePic("C:\Users\Jonathan Verbeek\Desktop\A&C icon.jpg", 32, 376, 89, 73, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_HIDE)
Dim $TerminalForm1_AccelTable[4][2] = [["^d", $MenuItem1b],["^s", $MenuItem2b],["^h", $MenuItem3b],["^l", $MenuItem4b]]
GUISetAccelerators($TerminalForm1_AccelTable)
Global $sIni = @ScriptDir & "\RadioID.ini"
Global $sWPfad, $sMPfad
$sWPfad = IniRead($sIni, "Werbung", "Pfad", @DesktopDir);zum Merken des Pfades in der Listbox für Werbung
$sMPfad = IniRead($sIni, "Musik", "Pfad", @DesktopDir) ;zum Merken des Pfades in der Listbox für Musik
;bei beiden wenn nichts ausgewählt ist es @DesktopDir
GUICtrlSetData($Slider1, IniRead($sIni, "Volume", "Prozent", 50)) ;Lautstärke vom letzten Mal wieder einlesen
Global $sItem, $aPlay
#endregion ### END Koda GUI section Hauptprog ###
;_Stop()
;------------------------------------------------
#region ### START Koda GUI section Loginscreen### Form=C:\Users\Jonathan Verbeek\Desktop\Aschens & Co Loginscreen.kxf
$Form1 = GUICreate("Einloggen", 311, 108, 192, 124)
$Label1 = GUICtrlCreateLabel("Moderator/en:", 8, 16, 72, 17)
$Label2 = GUICtrlCreateLabel("Passwort:", 8, 40, 50, 17)
$Input1 = GUICtrlCreateInput("", 88, 16, 217, 21)
$Input2 = GUICtrlCreateInput("", 88, 40, 217, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Einloggen", 224, 64, 81, 25, $BS_DEFPUSHBUTTON); $WS_GROUP)
$Progress1 = GUICtrlCreateProgress(0, 88, 310, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section Loginscreen###
While 1
SoundSetWaveVolume(GUICtrlRead($Slider1)) ;damit sofort auf jede Änderung reagiert wird
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
$message1 = MsgBox(36, "Sicher?", "Sind sie sicher, das Terminal zu schliessen?" & @CRLF & "" & @CRLF & "Nur mal so:" & @CRLF & "Die Frequenz wird geblockt, also hören die Zuhörer nur rauschen...")
If $message1 = 6 Then
Exit
EndIf
IniWrite($sIni, "Volume", "Prozent", GUICtrlRead($Slider1)) ;Lautstärke für das nächste Mal merken
Case $Button1
_logon()
Case $Sub2MenuItem1b
MsgBox(64, "Info!", "Dieser Modus ist schon aktiviert!" & @CRLF & "" & @CRLF & "Aber nur weil sie das Terminal als ""One-Mode-Edition"" erworben haben!")
Case $SubMenuItem3b
$message1 = MsgBox(36, "Sicher?", "Sind sie sicher, das Terminal zu schliessen?" & @CRLF & "" & @CRLF & "Nur mal so:" & @CRLF & "Die Frequenz wird geblockt, also hören die Zuhörer nur rauschen...")
If $message1 = 6 Then
Exit
EndIf
Case $SubMenuItem11b
MsgBox(64, "Info!", "Morgenshow ist aktiviert!")
Case $SubMenuItem21b
MsgBox(64, "Info!", "Mittagstisch ist aktiviert!")
Case $SubMenuItem31b
MsgBox(64, "Info!", "Weltweit ist aktiviert!")
Case $SubMenuItem41b
MsgBox(64, "Info!", "Gute Nacht! ist aktiviert!")
Case $SubMenuItem51b
MsgBox(64, "Info!", "Fußballrepotage ist aktiviert!")
Case $SubMenuItem61b
MsgBox(64, "Info!", "Formel 1 Reportage ist aktiviert!")
Case $SubMenuItem12b
MsgBox(64, "Hilfe / Info", "Also:" & @CRLF & "" & @CRLF & "Lade einfach mit ""Hinzufügen"" Musik oder Werbung in die entsprechenden Listen rein." & @CRLF & "" & @CRLF & "Das Terminal besitzt die gleichen Funktionen wie ein Medien-Player (Play, Stop, Pause) Neu ist CUE A und CUE B zum umschalten von Musik -> Werbung oder andersrum" & @CRLF & "" & @CRLF & "An der rechten Seite sieht man die sogenannten ""Sounds""." & @CRLF & "" & @CRLF & "" & @CRLF & "INFO: Idee und Umsetzung: Jonathan Verbeek (c) 2010. All Rights reserved")
Case $MenuItem4b
$message2 = MsgBox(36, "Ausloggen?", "Du wirst ausgeloggt!")
If $message2 = 6 Then
GUISetState(@SW_HIDE, $TerminalForm1)
GUISetState(@SW_SHOW, $Form1)
MsgBox(64, "Ausgeloggt!", "Du bist ausgeloggt!")
EndIf
Case $AddButton1b
_Add($sMPfad, $MusikList1)
Case $AddButton2b
_Add($sWPfad, $WerbungList2)
Case $ButtonWPlay
_Play($sWPfad, $WerbungList2,$aPlay)
Case $ButtonMPlay
_Play($sMPfad, $MusikList1,$aPlay)
Case $ButtonWPause
_Pause($ButtonWPause,$aPlay)
Case $ButtonMPause
_Pause($ButtonMPause,$aPlay)
Case $ButtonWStop
_Stop($aPlay)
Case $ButtonMStop
_Stop($aPlay)
EndSwitch
WEnd
Func _Add(ByRef $sPfad, ByRef $idListBox)
;durch ByRef werden die übergebenen Variablen direkt verändert wenn man die func-internen Namen benutzt
Local $szDrive, $szDir, $szFName, $szExt, $var, $sDialogTitel
Switch $idListBox
Case $WerbungList2
$sDialogTitel = "Werbung auswählen!"
Case $MusikList1
$sDialogTitel = "Musik auswählen!"
EndSwitch
$var = FileOpenDialog($sDialogTitel, $sPfad, "Musikdateien (*.wma;*.mp3;*.cda)", 15, ".mp3", $Form1)
If @error Then
MsgBox(4096, "", "Keine Datei(en) ausgewählt")
Else
$aFiles = StringSplit($var, "|")
If $aFiles[0] > 1 Then ;trifft nur bei Mehrfachauwal zu
;$aFiles[0] enthält Anzahl der Strings
;$aFiles[1] enthält den Pfad für alle ausgewählten Lieder
;$aFiles[2] enthält 1. Lieder
;$aFiles[n+1] enthält n. Lieder
;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren
If $aFiles[1] <> $sPfad Then GUICtrlSetData($idListBox, "", "") ;alle bisherigen Inhalte löschen
;nur nötig wenn nur der Titel in die ListBox kommt und nicht zusätzlich Titel und Pfad in einem Array zum nachschlagen gespeichert werden
For $i = 2 To $aFiles[0]
;_GUICtrlListBox_AddString($idListBox,$aFiles[1] & "\" & $aFiles[$i]) ;mit kompletten Pfad
_GUICtrlListBox_AddString($idListBox, $aFiles[$i]) ;nur der DateiName
Next
$sPfad = $aFiles[1] ;Pfad merken wird später fürs abspielen benötigt
Switch $idListBox
Case $WerbungList2
IniWrite($sIni, "Werbung", "Pfad", $sPfad)
Case $MusikList1
IniWrite($sIni, "Musik", "Pfad", $sPfad)
EndSwitch
ConsoleWrite($sPfad & @CRLF)
Else
_PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
$sItem = $szFName & $szExt
ConsoleWrite($sIni & @CRLF)
_GUICtrlListBox_AddString($WerbungList2, $sItem)
EndIf
EndIf
EndFunc ;==>_Add
Func _play($sPfad, $idListBox, ByRef $aPlay)
Local $sItem = $sPfad & "\" & _GUICtrlListBox_GetText($idListBox, _GUICtrlListBox_GetCurSel($idListBox))
;ConsoleWrite($sItem & @CRLF)
If IsArray($aPlay) Then _SoundStop($aPlay) ; damit das evtl. gerade gespielte Lied abgebrochen wird
$aPlay = _SoundOpen($sItem)
_SoundPlay($aPlay)
EndFunc ;==>_play
Func _Pause(ByRef $idPause,$aPlay)
if not IsArray($aPlay) Then Return ;es wird keine Musik/Werbung abgespielt
if GUICtrlRead($idPause) ="Pause" Then
_SoundPause($aPlay)
GUICtrlSetData($idPause,"Weiter")
Else
_SoundResume($aPlay)
GUICtrlSetData($idPause,"Pause")
EndIf
EndFunc
Func _Stop(ByRef $aPlay)
if IsArray($aPlay) Then _SoundStop($aPlay)
$aPlay=""
EndFunc
Func _logon()
#cs
If GUICtrlRead($Input1) = "JoNi" Then
GUICtrlSetData($Progress1, 50)
Else
MsgBox(16,"Fehler!","Benutzername falsch!")
EndIf
If GUICtrlRead($Input2) = "passwd" Then
#ce
GUICtrlSetData($Progress1, 100)
MsgBox(64, "Eingeloggt", "ON AIR!" & @CRLF & "" & @CRLF & "Du bist im Terminal eingeloggt!")
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $TerminalForm1)
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "===", "+>LOGGED ON:")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "====", "+>JoNi| Time: " & @HOUR & ":" & @MIN & ":" & @SEC & " Date: " & @MDAY & "." & @MON & "." & @YEAR)
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "=====", "+>Starting A&C Terminal v2.0[OK]")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "======", "+>This is a automatically IniWrite-System! Please not edit this .txt File! Thanks!")
Global $musik
Global $werbung
#cs
Else
MsgBox(16,"Fehler!","Passwort falsch!")
EndIf
#ce
EndFunc ;==>_logon
Cartan12, hast du es in der 4. Grundschulklasse schon gewusst ![]()
mfg (Auto)Bert
Update auf Version 0.8.4.2 siehe Post #1
Mit Version 0.8.4.1 habe ich eine (Auto) - Updatefunktion eingefügt, diese war leider etwas buggy, deshalb diese neue Version. Falls in Einstellungen Updates zulassen ausgewählt ist prüft JaYT-DwiMP3-P beim Starten, ob an diesem Tag schon nach einem Update gesucht wurde und läd diese bei Bedarf herunter (EXE-Datei die in Post #1 angehängt ist). Falls man kein Fan von Automatischen Updates ist, kann man über Update verfügbar? im Hilfe-Menü das prüfen und herunterladen (falls eine neuere Version gepostet) manuell einleiten. Beim nächsten Start von JaYT-DwiMP3-P stehen die dann neu hinzugefügten Features zur Verfügung. Während des Prüfens kann keine Funktion von JaYT-DwiMP3-P benutzt werden. Während des anschliessenden Downloads sollten alle Funktionen (auch im Playerbereich) zur Verfügung stehen.
mfg (Auto)Bert
Hallo Button421,
du hast dich also gegen Listviews entschieden. Im Moment bin ich mit meinem Downloader am testen, danach schau ich nach einer Lösung für dich auf Basis von Post #6,
Edit: kommst du mit Arrays zurecht
mfg (Auto)Bert
Update auf Version 0.8.4.1 siehe Post #1
ab dieser Version ist eine AutoUpdate-Version in die EXE eingebaut. Zusätzlich sind jetzt auch WAV-Dateien zum Abspielen zugelassen.
nuts,
Gleich konsequent den Player auf bass.dll Basis umstellen.
Ansonsten - gute Arbeit.
kann ich denn mit der bass.dll auch so einfach die Videos in einem Fenster darstellen?
mfg (Auto)Bert
Hallo Button421,
hier mal dein Skript abgeändert:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIListBox.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Sound.au3>
#include <EditConstants.au3>
IniDelete(@ScriptDir & "\RadioID Logbericht.txt", "actions")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "=", "+>Starting A&C Autologger[OK]")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "==", "+>Wait on Name and Password[...]")
Global $musik
Global $werbung
Global $aFiles
Global $aPlay
#region ### START Koda GUI section Hauptprog ### Form=C:\Users\Jonathan Verbeek\Desktop\Arschens & Co TerminalForm.kxf
$TerminalForm1 = GUICreate("RadioID v1.0 - Eingeloggt als JoNi - Frequenz : 600,4 MHz", 573, 488, 215, 130)
$MenuItem1b = GUICtrlCreateMenu("Datei")
$SubMenuItem1b = GUICtrlCreateMenu("Modus", $MenuItem1b)
$Sub2MenuItem1b = GUICtrlCreateMenuItem("Musik + Werbung + Stimme", $SubMenuItem1b)
$SubMenuItem3b = GUICtrlCreateMenuItem("Beenden", $MenuItem1b)
$MenuItem2b = GUICtrlCreateMenu("Show")
$SubMenuItem11b = GUICtrlCreateMenuItem("Morgenshow", $MenuItem2b)
$SubMenuItem21b = GUICtrlCreateMenuItem("Mittagstisch", $MenuItem2b)
$SubMenuItem31b = GUICtrlCreateMenuItem("Weltweit", $MenuItem2b)
$SubMenuItem41b = GUICtrlCreateMenuItem("Gute Nacht!", $MenuItem2b)
$SubMenuItem51b = GUICtrlCreateMenuItem("Fußballreportage", $MenuItem2b)
$SubMenuItem61b = GUICtrlCreateMenuItem("Formel 1 Reportage", $MenuItem2b)
$MenuItem3b = GUICtrlCreateMenu("?")
$SubMenuItem12b = GUICtrlCreateMenuItem("Hilfe / Info", $MenuItem3b)
$MenuItem4b = GUICtrlCreateMenuItem("Ausloggen", -1)
$MusikList1 = GUICtrlCreateList("", 48, 56, 169, 279)
$Label1b = GUICtrlCreateLabel("Musik:", 48, 32, 35, 17)
$Label2b = GUICtrlCreateLabel("Werbung:", 240, 32, 51, 17)
$WerbungList2 = GUICtrlCreateList("", 240, 56, 169, 279)
$Slider1 = GUICtrlCreateSlider(520, 368, 30, 77, BitOR($TBS_VERT, $TBS_AUTOTICKS))
GUICtrlSetLimit(-1, 100, 0)
$Label3b = GUICtrlCreateLabel("Lautstärke:", 464, 360, 57, 17)
$Label4b = GUICtrlCreateLabel("--0", 544, 376, 16, 17)
$Label5b = GUICtrlCreateLabel("--100", 544, 424, 22, 17)
$Group1b = GUICtrlCreateGroup("Werbung", 136, 376, 185, 73)
$Button1b = GUICtrlCreateButton("Play", 144, 400, 35, 25, $WS_GROUP)
$Button2b = GUICtrlCreateButton("Pause", 184, 400, 35, 25, $WS_GROUP)
$Button3b = GUICtrlCreateButton("Stop", 224, 400, 35, 25, $WS_GROUP)
$Button4b = GUICtrlCreateButton("CUE A", 264, 400, 51, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2b = GUICtrlCreateGroup("Musik", 320, 376, 193, 73)
$Button5b = GUICtrlCreateButton("Play", 328, 400, 35, 25, $WS_GROUP)
$Button6b = GUICtrlCreateButton("Pause", 368, 400, 35, 25, $WS_GROUP)
$Button7b = GUICtrlCreateButton("Stop", 408, 400, 35, 25, $WS_GROUP)
$Button8b = GUICtrlCreateButton("CUE B", 448, 400, 59, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label6b = GUICtrlCreateLabel("Sounds:", 472, 64, 43, 17)
$SndButton1b = GUICtrlCreateButton("Werbung START", 472, 88, 91, 25, $WS_GROUP)
$SndButton2b = GUICtrlCreateButton("Werbung ENDE", 472, 112, 91, 25, $WS_GROUP)
$SndButton3b = GUICtrlCreateButton("Nachrichten", 472, 136, 91, 25, $WS_GROUP)
$SndButton5b = GUICtrlCreateButton("Wetter", 472, 160, 91, 25, $WS_GROUP)
$SndButton6b = GUICtrlCreateButton("Allgeimsound", 472, 184, 91, 25, $WS_GROUP)
$AddButton1b = GUICtrlCreateButton("Hinzufügen", 144, 336, 75, 25, $WS_GROUP)
$AddButton2b = GUICtrlCreateButton("Hinzufügen", 336, 336, 75, 25, $WS_GROUP)
$Pic1 = GUICtrlCreatePic("C:\Users\Jonathan Verbeek\Desktop\A&C icon.jpg", 32, 376, 89, 73, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_HIDE)
Dim $TerminalForm1_AccelTable[4][2] = [["^d", $MenuItem1b],["^s", $MenuItem2b],["^h", $MenuItem3b],["^l", $MenuItem4b]]
GUISetAccelerators($TerminalForm1_AccelTable)
#endregion ### END Koda GUI section Hauptprog ###
SoundSetWaveVolume(GUICtrlRead($Slider1))
;------------------------------------------------
#region ### START Koda GUI section Loginscreen### Form=C:\Users\Jonathan Verbeek\Desktop\Aschens & Co Loginscreen.kxf
$Form1 = GUICreate("Einloggen", 311, 108, 192, 124)
$Label1 = GUICtrlCreateLabel("Moderator/en:", 8, 16, 72, 17)
$Label2 = GUICtrlCreateLabel("Passwort:", 8, 40, 50, 17)
$Input1 = GUICtrlCreateInput("", 88, 16, 217, 21)
$Input2 = GUICtrlCreateInput("", 88, 40, 217, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Einloggen", 224, 64, 81, 25, $WS_GROUP)
$Progress1 = GUICtrlCreateProgress(0, 88, 310, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section Loginscreen###
While 1
SoundSetWaveVolume(GUICtrlRead($Slider1)) ;verschoben damit der Slider reagiert
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
$message1 = MsgBox(36, "Sicher?", "Sind sie sicher, das Terminal zu schliessen?" & @CRLF & "" & @CRLF & "Nur mal so:" & @CRLF & "Die Frequenz wird geblockt, also hören die Zuhörer nur rauschen...")
If $message1 = 6 Then
Exit
EndIf
Case $Button1
_logon()
Case $Sub2MenuItem1b
MsgBox(64, "Info!", "Dieser Modus ist schon aktiviert!" & @CRLF & "" & @CRLF & "Aber nur weil sie das Terminal als ""One-Mode-Edition"" erworben haben!")
Case $SubMenuItem3b
$message1 = MsgBox(36, "Sicher?", "Sind sie sicher, das Terminal zu schliessen?" & @CRLF & "" & @CRLF & "Nur mal so:" & @CRLF & "Die Frequenz wird geblockt, also hören die Zuhörer nur rauschen...")
If $message1 = 6 Then
Exit
EndIf
Case $SubMenuItem11b
MsgBox(64, "Info!", "Morgenshow ist aktiviert!")
Case $SubMenuItem21b
MsgBox(64, "Info!", "Mittagstisch ist aktiviert!")
Case $SubMenuItem31b
MsgBox(64, "Info!", "Weltweit ist aktiviert!")
Case $SubMenuItem41b
MsgBox(64, "Info!", "Gute Nacht! ist aktiviert!")
Case $SubMenuItem51b
MsgBox(64, "Info!", "Fußballrepotage ist aktiviert!")
Case $SubMenuItem61b
MsgBox(64, "Info!", "Formel 1 Reportage ist aktiviert!")
Case $SubMenuItem12b
MsgBox(64, "Hilfe / Info", "Also:" & @CRLF & "" & @CRLF & "Lade einfach mit ""Hinzufügen"" Musik oder Werbung in die entsprechenden Listen rein." & @CRLF & "" & @CRLF & "Das Terminal besitzt die gleichen Funktionen wie ein Medien-Player (Play, Stop, Pause) Neu ist CUE A und CUE B zum umschalten von Musik -> Werbung oder andersrum" & @CRLF & "" & @CRLF & "An der rechten Seite sieht man die sogenannten ""Sounds""." & @CRLF & "" & @CRLF & "" & @CRLF & "INFO: Idee und Umsetzung: Jonathan Verbeek (c) 2010. All Rights reserved")
Case $MenuItem4b
$message2 = MsgBox(36, "Ausloggen?", "Du wirst ausgeloggt!")
If $message2 = 6 Then
GUISetState(@SW_HIDE, $TerminalForm1)
GUISetState(@SW_SHOW, $Form1)
MsgBox(64, "Ausgeloggt!", "Du bist ausgeloggt!")
EndIf
Case $AddButton1b
$musik = FileOpenDialog("Musik auswählen!", @DesktopDir, "Musikdateien (*.wma;*.mp3;*.cda)", 15)
If @error Then
MsgBox(16, "Fehler!", "Keine Datei ausgewählt")
Else
$aFiles = StringSplit($musik,"|")
if $aFiles[0] > 1 then ;trifft nur bei Mehrfachauwal zu
;$aFiles[0] enthält Anzahl der Strings
;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
;$aFiles[2] enthält 1. Lied
;$aFiles[n+1] enthält n. Lied
;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren
For $i = 2 to $aFiles[0]
_GUICtrlListBox_AddString($MusikList1,$aFiles[1] & "\" & $aFiles[$i])
Next
Else
ConsoleWrite($aFiles[1] & @crlf)
_GUICtrlListBox_AddString($MusikList1,$aFiles[1])
EndIf
EndIf
Case $AddButton2b
Local $werbung
$werbung = FileOpenDialog("Werbung auswählen!", @DesktopDir, "Musikdateien (*.wma;*.mp3;*.cda)", 15)
If @error Then
MsgBox(16, "Fehler!", "Keine Datei ausgewählt")
$aFiles = StringSplit($musik,"|")
if $aFiles[0] > 1 then ;trifft nur bei Mehrfachauwal zu
;$aFiles[0] enthält Anzahl der Strings
;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
;$aFiles[2] enthält 1. Lied
;$aFiles[n+1] enthält n. Lied
;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren
For $i = 2 to $aFiles[0]
_GUICtrlListBox_AddString($WerbungList2,$aFiles[1] & "\" & $aFiles[$i])
Next
Else
ConsoleWrite($aFiles[1] & @crlf)
_GUICtrlListBox_AddString($WerbungList2,$aFiles[1])
EndIf
EndIf
Case $Button1b
Local $sItem = _GUICtrlListBox_GetText($MusikList1,_GUICtrlListBox_GetCurSel($MusikList1))
consoleWrite($sItem & @CRLF)
if IsArray($aPlay) Then _SoundStop($aPlay) ; damit das evtl. gerade gespielte Lied abgebrochen wird
$aPlay = _SoundOpen($sItem)
_SoundPlay($aPlay)
Case $Button1b
;_SoundPlay($werbung) Das geht nicht
EndSwitch
WEnd
Func _logon()
If GUICtrlRead($Input1) = "JoNi" Then
GUICtrlSetData($Progress1, 50)
Else
MsgBox(16, "Fehler!", "Benutzername falsch!")
EndIf
If GUICtrlRead($Input2) = "passwd" Then
GUICtrlSetData($Progress1, 100)
MsgBox(64, "Eingeloggt", "ON AIR!" & @CRLF & "" & @CRLF & "Du bist im Terminal eingeloggt!")
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $TerminalForm1)
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "===", "+>LOGGED ON:")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "====", "+>JoNi| Time: " & @HOUR & ":" & @MIN & ":" & @SEC & " Date: " & @MDAY & "." & @MON & "." & @YEAR)
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "=====", "+>Starting A&C Terminal v2.0[OK]")
IniWrite(@ScriptDir & "\RadioID Logbericht.txt", "actions", "======", "+>This is a automatically IniWrite-System! Please not edit this .txt File! Thanks!")
Global $musik
Global $werbung
Else
MsgBox(16, "Fehler!", "Passwort falsch!")
EndIf
EndFunc ;==>_logon
ich habe:
Wie du aber selbst siehst, ist die Idee ListBoxen zu nehmen nicht besonders glücklich, deswegen habe ich auch die anderen Buttons noch nicht zu Leben erweckt.
Listviews sind hierfür [da mehrere (auch unsichtbare) Spalten möglich sind] besser einzusetzen. Schau dir NeMP3-P (Link in der Signatur) an, bzw. vergleiche die beiden Versionen des JPG-Viewers zwecks des optischen Unterschieds. Danach entscheidest du ob du mit ListBoxen oder mit Listview weitermachen möchtest. Wenn du damit leben kannst, dass man immer nur Lieder aus einem Ordner anhören kann, gibt es auch andere Wege, den ewig lanhen Eintrag in der Liste auf den Dateinamen und die Dateierweiterung zu reduzieren
mfg (Auto)Bert
_SoundPlay wird mit dem von _SoundOpen("DerPfadZurMP3Datei") aufgerufen. Schau dir NeMP3-P (siehe Signatur) an, ich habe gestern einen FileOpendialog eingebaut, da ich bisher Dateien nur über Drag and Drop in die Listview aufgenommen habe.
Edit: poste bitte dein aktuelles Skript
mfg (Auuto)Bert
Hallo kev,
das Beispiel von clezZ funktioniert einwandfrei. Ich habe es so getestet:
Dim $language[40]
$language[36] = "FileOpen"
$language[37] = "MsgBox"
$language[38] = "Installer"
$path = FileOpenDialog($language[36], @ProgramFilesDir, "(Avguard.exe)")
If @error Then
MsgBox(4096, "", $language[37])
Else
$path = StringTrimRight($path, 7)
TrayTip("Installer", $language[38], 5, 1)
;logfile("path read: " & $path & " -" & @HOUR & ":" & @MIN & ":" & @SEC & " am " & @MDAY & "." & @MON & "." & @YEAR)
EndIf
bei deinem Ursprungsskript hast du mit @Error StringTrimRight auf Fehler untersucht, deswegen hat clezZ diese ja Zeile gesplittet und StringTrimRight wird erst bei Erfolg ausgeführt. Müsstes du aber nicht 11 anstatt 7 Zeichen abschneiden ".EXE" ist doch ach enthalten
mfg (Auto)Bert
Achso ok
Tipp, ich würde es so machen, dass man mit Hilfe der ProgressBar auf eine beliebige Stelle vor bzw. zurückspulen kann. Ich glaub Oscar hatte dafür mal eine passende Funktion geschrieben. An sonsten ganz gut gemacht. Funktioniert auch unter Windows 7 64 Bit
danke für die Rückmeldung, ich habe selbst WinXP Prof SP3. Zum spulen werde ich warscheins einen Slider nehmen.
@all Bin am Überlegen, ob ich
, was haltet ihr davon?
mfg (Auto)Bert
Klappt bei mir auf Anhieb,
mfg (Auto)Bert