Hallo JuraX,
kleiner Tipp um was es geht wäre nicht schlecht. Funktioniert das von mir gepostete Skript (Progress)?
mfg (Auto)Bert
Hallo JuraX,
kleiner Tipp um was es geht wäre nicht schlecht. Funktioniert das von mir gepostete Skript (Progress)?
mfg (Auto)Bert
Hallo FichteFoll,
bin aus Zufall über deinen Beitrag gestolpert, bei _FTP_ProgressDownload sind die Parameter in einer anderen Reihenfolge als bei _FTP_FileGet(). Hier das Skript:
#include <FTPEx.au3>
#include <Misc.au3>
$server = 'ftp.csx.cam.ac.uk'
$username = ''
$pass = ''
$Open = _FTP_Open('Mein FTP-Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
ProgressOn("Download", "Status:")
$aFile = _FTP_ProgressDownload($Conn, @ScriptDir & "\tmp.tmp", "README", "_UpdateProgress") ; pub/software/programming/pcre/pcre-7.9.zip
if @error Then MsgBox(64,"Fehler: ", @error)
;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $aFile = ' & $aFile & @CRLF & '>Error code: ' & @error & 'Extended code: ' & @extended & 'SystemTime: ' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF) ;### Debug Console
;FileDelete(@TempDir & "\tmp.tmp")
_FTP_Close($Open)
ProgressOff()
Func _UpdateProgress($Prozent)
ProgressSet($Prozent, $Prozent & "%")
If _IsPressed("77") Then Return 0 ; Abbruch bei F8
Return 1 ; bei 1 Fortsetzten
EndFunc ;==>_UpdateProgress
mfg (Auto)Bert
Hallo JuraX,
nicht wenn du eine Playliste abspielst, hier von mir eingefügt:
#include <Bass.au3>
#include <GuiListView.au3>
#include <GDIPlus.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <BassConstants.au3>
#include <GUIConstantsEx.au3>
#include <StructureConstants.au3>
#include <_GetFilesFolder_Rekursiv.au3>
#NoTrayIcon
;===================================================================================================
; INRadio-Localtuner by JuraX
;===================================================================================================
Global Const $WM_DROPFILESplay = 0x0233
Global Const $WM_DROPFILES = 0x0233
Global $gaDropFiles[1]
Global $aItem[2]
Global $playing_state = -1
Global $MusicHandle
Global $titelnummer=-1
Global $progress_slider, $slots, $hwnd
Global $fftstruct = DllStructCreate("float[128]")
#Region StartUp
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region OPT
Opt("TrayMenuMode", 1)
Opt("MouseCoordMode", 0)
#EndRegion OPT
#Region Tray
$uottray = TrayCreateItem("Anzeigen")
$totray = TrayCreateItem("Verstecken")
$deleate = TrayCreateItem("Schließen")
TraySetState()
#EndRegion Tray
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_Field=INR|Jurax-Multimedia
#AutoIt3Wrapper_Res_Field=ProductVersion|1.3
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;Bass StartUp
_BASS_STARTUP(@ScriptDir & "\BASS.dll")
_BASS_Init(0, -1, 44100, 0, "")
If @error Then
MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
Exit
EndIf
#Region Register
AdlibRegister("Aktualisieren", 100)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
#EndRegion
#EndRegion StartUp
[/autoit] [autoit][/autoit] [autoit]#Region GUI
$width = 380
$height = 650
$hwnd = GUICreate("INRadio-Localtuner", $width, $height, -1, -1, Default, $WS_EX_ACCEPTFILES)
$Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
$Play = GUICtrlCreateButton("Play", 216, 160, 75, 25, 0)
$Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
$newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
$progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
$slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
$ordner = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
$Volume_slider = GUICtrlCreateSlider(8, 250, 366, 80)
$hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)
$Playliste = GUICtrlCreateButton("Playliste abspielen",20,330)
#Region BIB Füllen
$return = IniRead(@ScriptDir &"\INRadio.ini","Load","BIB","")
If $return = "" Then
$return = 'C:\Users\' & @UserName & '\Desktop'
Endif
$return = "C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded"
$returnputin = _GetFilesFolder_Rekursiv($return, "mp3", 0)
For $i = 1 To $returnputin[0]
$dateiname = StringSplit($returnputin[$i], "\")
GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
Next
#EndRegion
$rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
$LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)
GUISetState()
#EndRegion GUI
#Region GDIstartup
_GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
_GDIPlus_Startup()
$iX = 120
$iY = 145
$graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$bitmap = _GDIPlus_BitmapCreateFromGraphics($iX, $iY, $graphics)
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
_GDIPlus_GraphicsClear($backbuffer)
$pen1_size = 4
$pen1 = _GDIPlus_PenCreate(0, $pen1_size)
$pen2_size = 4
$pen2 = _GDIPlus_PenCreate(0, $pen2_size)
$pen3_size = 3
$pen3 = _GDIPlus_PenCreate(0, $pen3_size)
$fall_speed_l_threshold = 0
$fall_speed_r_threshold = 0
$equalizer_width = 24
$max_l = 0
$max_r = 0
$fall_speed = 5
$fire_up = 15
$fft_start = 7
$fft_end = 127
$fft_boost = 750
$dy = Int($iY / ($fft_end - $fft_start)) + $pen3_size
$dyy = Int($iY / $dy / 2)
$eq = 1
Dim $mpos[2]
#EndRegion
#Region Loop
[/autoit] [autoit][/autoit] [autoit]While (True)
If $playing_state = 1 Then
$song_length = _BASS_ChannelGetLength($MusicHandle,$BASS_POS_BYTE)
$current = _BASS_ChannelGetPosition($MusicHandle, $BASS_POS_BYTE)
$percent = Round(($current / $song_length) * 100, 0)
ConsoleWrite("MH: " & $MusicHandle & " Current: " & $current & " song_length: " & $song_length & @CRLF) ;<=========== zum Fehler finden eingefügt kann gelösct werden
GUICtrlSetData($progress_slider, $percent)
$levels = _BASS_ChannelGetLevel($MusicHandle)
$rightChLvl = _LoWord($levels)
$rightChLvlper = Round(($rightChLvl / 32768) * 100, 0)
$LeftChLvl = _HiWord($levels)
$leftChLvlper = Round(($LeftChLvl / 32768) * 100, 0)
Else
$rightChLvlper = 0
$leftChLvlper = 0
EndIf
GUICtrlSetData($rightVol, $rightChLvlper)
GUICtrlSetData($LeftVol, $leftChLvlper)
Display_Vis($eq)
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $uottray
GUISetState(@SW_SHOW)
Case $totray
GUISetState(@sw_hide)
Case $deleate
EXITF()
EndSwitch
Switch $Msg
Case $close ,$GUI_EVENT_CLOSE
EXITF()
Case $play
Case $Stop
If $playing_state = 1 Then
_BASS_ChannelStop($MusicHandle)
$playing_state = -1
EndIf
Case $newfile
If $playing_state = 1 Then
_BASS_ChannelStop($MusicHandle)
EndIf
$file = FileOpenDialog("Open...", "", "MP3 Files (*.mp3)")
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 0)
$playing_state = 1
Case $Volume_slider
SoundSetWaveVolume(GUICtrlRead($Volume_slider))
Case $ordner
$var = FileSelectFolder("Ordner wählen", "")
IniWrite(@ScriptDir &"\INRadio.ini","Load","BIB",$var)
Case $Playliste
$ARRPLAY = _ListViewToArray($hListView)
If $Playing_State = 1 Then
_BASS_ChannelStop($MusicHandle)
EndIf
$titelnummer+=1
if $titelnummer=ubound($ARRPLAY) -1 then $titelnummer=0
$playing_state = 1 ;<===================================
$MusicHandle = _BASS_StreamCreateFile(False,$ARRPLAY[$titelnummer][1],0,0,0)
_BASS_ChannelPlay($MusicHandle, 0)
EndSwitch
WEnd
#EndRegion Loop
$mpos = MouseGetPos()
If $mpos[0]>= $width - $iX - 10 And $mpos[0] <= $width - 10 And $mpos[1] > 8 And $mpos[1] <= $iY + 8 And _IsPressed("01", "user32.dll") And WinActive($hwnd) Then
$eq *= -1
EndIf
#Region Func's
Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam);Um mehrere Dateien gleichzeitig droppen zu könen
Local $nSize, $pFileName
Local $nAmt = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', 0xFFFFFFFF, 'ptr', 0, 'int', 255)
For $i = 0 To $nAmt[0]
$nSize = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', 0, 'int', 0)
$nSize = $nSize[0] + 1
$pFileName = DllStructCreate('wchar[' & $nSize & ']')
DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', DllStructGetPtr($pFileName), 'int', $nSize)
$filename = DllStructGetData($pFileName, 1) ;Dateinamen holen
ConsoleWrite($filename & @CRLF)
ReDim $gaDropFiles[$i + 1]
$gaDropFiles[$i] = $filename
$pFileName = 0
Next
;_ArrayDisplay($gaDropFiles)
For $i = 0 To UBound($gaDropFiles) - 2 ;kommt derzeit immer noch ein leerer Eintrag am schluss
GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1')& "|" & $gaDropFiles[$i], $hListView)
Next
_GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE) ;erst wenn alle eigefügt sind
EndFunc ;==>WM_DROPFILES_FUNC
Func Aktualisieren()
EndFunc ;==>Aktualisieren
Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam);Für Doppelcklick Erkennung
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return 0
$code = DllStructGetData($tagNMHDR, 3)
If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
IF _GUICtrlListView_GetItemSelected($hListView, $i) Then
$aItem = _GUICtrlListView_GetItemTextArray($hlistview, $i)
;~ In aItem[1] steht der Dateiname und in $aItem[2] der Pfad zincl. Dateinamen
_LeftDblClick()
EndIf
Next
Endif
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIF
Func _LeftDblClick()
If $Playing_State = 1 Then
_BASS_ChannelStop($MusicHandle)
EndIf
$titelnummer = -1
$File = $aItem[2]
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
_BASS_ChannelPlay($musicHandle, 0)
$playing_State =1
EndFunc ;==>_LeftDblClick
Func Display_Vis($eq = 1)
_GDIPlus_GraphicsClear($backbuffer, 0x80F0F0F0)
If $eq > 0 Then
$levels = _BASS_ChannelGetLevel($MusicHandle)
$LeftChLvl = $leftChLvlper ;Round(_HiWord($levels) / $iY, 0)
$RightChLvl = $rightChLvlper ;Round(_LoWord($levels) / $iY, 0)
If $max_l <= $LeftChLvl Then ;fire up higest line
$max_l = $LeftChLvl + $fire_up
$fall_speed_l_threshold = 20
Else
If $fall_speed_l_threshold <= 0 Then ;increase fall speed of highest line faster until threshold is <= 0 (second fall part)
If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed
Else
$fall_speed_l_threshold -= 1 ;increase fall speed of highest line by slower until threshold is <= 0 (first fall part)
If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed / 3
EndIf
EndIf
If $max_r <= $RightChLvl Then
$max_r = $RightChLvl + $fire_up
$fall_speed_r_threshold = 20
Else
If $fall_speed_r_threshold <= 0 Then
If $max_r > $RightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed
Else
$fall_speed_r_threshold -= 1
If $max_r > $RightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed / 3
EndIf
EndIf
_BASS_ChannelGetData($MusicHandle, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
For $i = $fft_start To $fft_end Step $dy
$fft = Round(DllStructGetData($fftstruct, 1, $i + 1) * $fft_boost)
$r = (-(Cos(1.7 * $fft / 256) + 1) * 0.5) * 256
$g = ((Cos(4 * $fft / 256) + 1) * 0.5) * 256
$b = 0
_GDIPlus_PenSetColor($pen3, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsDrawLine($backbuffer, $iX / 5, $i + $dyy, $iX / 5 + $fft, $i + $dyy, $pen3)
Next
EndIf
_GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, $width - $iX - 10, 8, $iX, $iY)
EndFunc ;==>Display_Vis
Func _SoundGetWaveVolume()
Local $WaveVol = -1, $p, $ret
Const $MMSYSERR_NOERROR = 0
$p = DllStructCreate ("dword")
If @error Then
SetError(2)
Return -2
EndIf
$ret = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr ($p))
If ($ret[0] == $MMSYSERR_NOERROR) Then
$WaveVol = Round(Dec(StringRight(Hex(DllStructGetData ($p, 1), 8), 4)) / 0xFFFF * 100)
Else
SetError(1)
EndIf
$p=""
Return $WaveVol
EndFunc ;==>_SoundGetWaveVolume
Func EXITF()
_BASS_Stop()
_BASS_Free()
_GDIPlus_PenDispose($pen1)
_GDIPlus_PenDispose($pen2)
_GDIPlus_PenDispose($pen3)
_GDIPlus_BitmapDispose($bitmap)
_GDIPlus_GraphicsDispose($graphics)
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_Shutdown()
$fftstruct = 0
ProcessClose("Radiotuner.exe")
AdlibUnRegister("Aktualisieren")
Exit
EndFunc ;==>EXITF
Func _ListViewToArray($hListView)
If Not IsHWnd($hListView) Then $hListView = GUICtrlGetHandle($hListView)
Local $sString = ""
For $i = 0 To _GUICtrlListView_GetItemCount($hListView)-1
$sString &= _GUICtrlListView_GetItemTextString($hListView, $i)
$sString &= ";"
Next
$aSplit = StringSplit(StringTrimRight($sString,1), ";", 2)
$iUB1 = UBound($aSplit)
Dim $aRet[$iUB1][1]
For $i = 0 To $iUB1 - 1
$aSplit2 = StringSplit($aSplit[$i], "|", 2)
$iUB2 = UBound($aSplit2)
If $iUB2 > UBound($aRet,2) Then ReDim $aRet[$iUB1][$iUB2]
For $j = 0 To $iUB2 - 1
$aRet[$i][$j] = $aSplit2[$j]
Next
Next
Return $aRet
EndFunc ;==>_ListViewToArray
#EndRegion
mfg (auto)Bert
Hallo MeisterDerZeit,
Alles anzeigenHallo,
[autoit]
ich habe eine GUI mit einem Startbutton und 2 Checkboxen.
Wenn ich auf Start klicke, sollen sich die Schleifen von den Checkboxen auslösen.#include
[/autoit] [autoit][/autoit] [autoit]
#include
#include
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 179, 128, 192, 124)
$Button1 = GUICtrlCreateButton("Start", 48, 80, 75, 25, $WS_GROUP)
$Checkbox1 = GUICtrlCreateCheckbox("Funktion 1", 48, 8, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Funktion 2", 48, 32, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit]
WEnd
Wenn die Checkbox makiert ist, soll in Checkbox 1 die ganze zeit "°" gesendet werden, und gleichzeitig in CB 2 die ganze Zeit "test".
einmal ganz davon abgesehen, dass ich nicht verstehe warum ein Programm die ganze Zeit TEST spamen soll, schau doch einfach in die Hilfe zu GuiCtrlGetState,
mfg (Auto)Bert
Hallo JuraX,
so wie du die Zeile gepostet hast funktioniert sie, bei der von mir downgeloadeten Version stand da aber
[autoit]$song_length = _BASS_ChannelGetLength($MusicHandle,1)
[/autoit]
das eigentliche Problem ist aber schon vorher deine Schleife wird nie angesprungen, da $playing_state nicht den Wert 1 hat, du must diese Variable also auch bei >Playlist abspielen< setzen, dann funktioniert es auch wieder,
mfg (Auto)Bert
Hallo JuraX,
schau dir in der Hilfe die Erläuterungen zu _InetGetSource und StringBetwen an,
mfg (Auto)Bert
Hallo JuraX,
$playing_state ist nicht gesetzt und _BASS_ChannelGetLength liefert bei mir 0 als $song_length,
mfg (Auto)Bert
Aber!
Wenn ich vor _GUICtrlCreateCheckbox GUICtrlCreatePic(@MyDocumentsDir & "\Eigene Bilder\avatar1.jpg", 0, 0, 700, 700) schreibe,
kann man die Checkbox nicht mehr klicken
Du must das Bild disablen,
mfg (Auto)Bert
Hallo yxyx,
schöönes brauchbares Tool
Besonders gut finde ih die Möglichkeit, Datum bzw. anderer Text mit abzuspeichern.
mfg (Auto)Bert
Hallo darksider3,
obwohl ich dich gestern (10.02.2010) bereits auf die Möglichkeit des editierens hingewiesen habe, nutzt du diese nicht
Sondern Push 'st deinen Thread wegen jeder kleinen Änderung die du immer noch separt postest, obwohl in der Zwischenzeit keine anderen Beiträge gepostet wurden Beiträge in Folge:
warum schliesst du diesen Thread nicht und verlagerst diesen ganzen Spam auf deine Page ![]()
mfg (Auto)Bert
Hallo m-obi,
dass der Pfad enthalten ist ist ja gerade von mir beabsichtigt, da man dadurch Dteien aus mehreren Ordnern einfügen kann und trotzdem auch wieder mit anderen Funktionen darauf zugreifen kann. Dasselbe hatte ich lukiono auch schon als Beispiel mit einer LV in einem anderen Thread gepostet ([ gelöst ] Diverse Fragen (Filebrowser, Formdesigner, Vorschau, Speichern)). Die LV hat den Vorteil man kann in einer Spalte nur die Dateien anzeigen un in einer 2. evtl. versteckten Spalte, den Pfad zu der Datei.
Deine Lösung trägt bei zugelassener Mehrfachauswahl im FileOpendialog alle Dateien ein und als zusätzlichen Eintrag auch noch den Pfad, siehe hierzu
ZitatAuszug aus Hilfe zu FileOpenDialog: Erfolg: Gibt den kompletten Pfad der ausgewählten Datei zurück. Rückgabe mehrerer Dateien wie folgt: "Verzeichnis|Datei1|Datei2|..."
,
mfg (Auto)Bert
Hallo Magicmercury,
du musst die Controls direkt nach der Definition des TabItems erstellen, ich weiss aber nicht wo sie hingehören (bin kein Farmer), so?
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GuiDateTimePicker.au3>
#include <GuiListView.au3>
#include <Array.au3>
#include <Date.au3>
#include <GuiTab.au3>
#include <String.au3>
$INI_read_produkte = IniReadSection("MFF.ini", "Produkte")
$INI_read_anbauzeit = IniReadSection("MFF.ini", "Produkte_Anbauzeit_Minuten")
$windows_gui_breite = 700
$windows_gui_hoehe = 590
$Debug_LV = False
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$gui = GUICreate("A.M.F.F.M", $windows_gui_breite, $windows_gui_hoehe)
GUICtrlCreateMenu("TEST")
GUICtrlCreateGroup("Scheduler Settings", 30, 35, 480, 95)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel("Start Time", 100, 55, 100, 18)
$DTP_start_date = _GUICtrlDTP_Create($gui, 40, 70, 110, 20)
$DTP_start_time = _GUICtrlDTP_Create($gui, 155, 70, 60, 20, $DTS_TIMEFORMAT)
GUICtrlCreateLabel("Anpflanz Anzahl", 240, 55, 100, 18)
$GUI_anpflanz_input = GUICtrlCreateInput("1", 250, 70, 50)
GUICtrlCreateUpdown($GUI_anpflanz_input)
GUICtrlCreateLabel("Produkte", 340, 55, 100, 20)
$GUI_produkte_combo = GUICtrlCreateCombo("", 340, 70, 160, 20)
$MFF_produkte = GUICtrlSetData($GUI_produkte_combo, "bla")
$GUI_add_button = GUICtrlCreateButton("ADD", 520, 60, 100, 50)
GUICtrlCreateLabel("Ausgewählte Starten", 22, 495, 100, 18)
$GUI_start_button = GUICtrlCreateButton("START", 30, 510, 80, 30)
$GUI_dellall_button = GUICtrlCreateButton("DELALL", 570, 510, 80, 30)
$check_feld_1 = GUICtrlCreateCheckbox("Feld 1", 40, 100, 50, 20)
$check_feld_2 = GUICtrlCreateCheckbox("Feld 2", 100, 100, 50, 20)
$check_feld_3 = GUICtrlCreateCheckbox("Feld 3", 160, 100, 50, 20)
$check_feld_4 = GUICtrlCreateCheckbox("Feld 4", 220, 100, 50, 20)
$check_feld_5 = GUICtrlCreateCheckbox("Feld 5", 280, 100, 50, 20)
$check_feld_6 = GUICtrlCreateCheckbox("Feld 6", 340, 100, 50, 20)
$GUI_Tab = GUICtrlCreateTab(20, 150, 660, 330)
$GUI_overview_tab = GUICtrlCreateTabItem("Overview")
_GUICtrlTab_SetCurFocus($GUI_Tab, $GUI_overview_tab)
$idLV_OverView = GUICtrlCreateListView("Index|Start Time|Stop Time|ProduktAnzahl der PflanzungenFelder", 25, 175, 607, 295, -1, $LVS_EX_CHECKBOXES)
$GUI_overview_list = GUICtrlGetHandle($idLV_OverView)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 1, 40)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 1, 100)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 2, 100)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 3, 90)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 4, 150)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 5, 80)
$GUI_progress_tab = GUICtrlCreateTabItem("Progess")
_GUICtrlTab_SetCurFocus($GUI_Tab, $GUI_progress_tab)
GUICtrlCreateLabel("Johannesbeeren", 30, 190, 100, 18)
GUICtrlCreateLabel("Status:", 30, 205, 100, 18)
GUICtrlCreateLabel("in Progress", 70, 205, 100, 18)
GUICtrlCreateLabel("Aktuell:", 150, 190, 100, 18)
GUICtrlCreateLabel("Gesammt:", 150, 205, 100, 18)
$GUI_aktuell_progress = GUICtrlCreateProgress(210, 188, 200, 12, $PBS_SMOOTH)
$GUI_gesammt_progress = GUICtrlCreateProgress(210, 205, 200, 12, $PBS_SMOOTH)
GUICtrlCreateLabel("100%", 415, 188, 100, 18)
GUICtrlCreateLabel("100%", 415, 205, 100, 18)
GUICtrlCreateTabItem("")
#cs
$item_row = 0
_GUICtrlDTP_SetFormat($DTP_start_time, "HH:mm tt")
For $counter_produkte = 0 To $INI_read_produkte[0][0] Step 1
GUICtrlSetData($GUI_produkte_combo, $INI_read_produkte[$counter_produkte][1])
Next
#ce
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_add_button
ADD_overview_Item()
Case $msg = $GUI_start_button
Start_selected_Item()
Case $msg = $GUI_dellall_button
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($GUI_overview_list))
$item_row = 0
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
Func ADD_overview_Item()
Local $testdatum[5], $testzeit[5], $liste_felder = ""
$DTP_get_start_date = _GUICtrlDTP_GetSystemTime($DTP_start_date)
$DTP_get_start_time = _GUICtrlDTP_GetSystemTime($DTP_start_time)
For $counter_anbauzeit = 0 To $INI_read_anbauzeit[0][0] Step 1
If GUICtrlRead($GUI_produkte_combo) == $INI_read_anbauzeit[$counter_anbauzeit][0] Then
$test = _DateAdd("n", $INI_read_anbauzeit[$counter_anbauzeit][1] * GUICtrlRead($GUI_anpflanz_input), $DTP_get_start_date[0] & "/" & $DTP_get_start_date[1] & "/" & $DTP_get_start_date[2] & " " & $DTP_get_start_time[3] & ":" & $DTP_get_start_time[4])
_DateTimeSplit($test, $testdatum, $testzeit)
EndIf
Next
_GUICtrlListView_AddItem($GUI_overview_list, $item_row)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, $DTP_get_start_date[2] & "." & $DTP_get_start_date[1] & "." & $DTP_get_start_date[0] & " " & $DTP_get_start_time[3] & ":" & $DTP_get_start_time[4], 1)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, $testdatum[3] & "." & $testdatum[2] & "." & $testdatum[1] & " " & $testzeit[1] & ":" & $testzeit[2], 2)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, GUICtrlRead($GUI_produkte_combo), 3)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, GUICtrlRead($GUI_anpflanz_input), 4)
For $counter_felder = 1 To 6 Step 1
If GUICtrlRead(Eval("check_feld_" & $counter_felder)) = 1 Then
$liste_felder = $liste_felder & $counter_felder & ","
EndIf
Next
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, StringTrimRight($liste_felder, 1), 5)
$item_row = $item_row + 1
EndFunc ;==>ADD_overview_Item
Func Start_selected_Item()
;hier mit GUICtrlSetData aktualisieren
EndFunc ;==>Start_selected_Item
notfalls musst du es umbauen
mfg (Auto)Bert
mfg (Auto)Bert
Hallo lukiono,
mit _GUICtrlListBox_AddString. Ich habe dazu einmal mein Skript zu deinem 1.Post von ListView auf <ListBox abgeändert:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#Include <GuiListBox.au3>
#include <File.au3>
#include <array.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Global $msg, $message, $var, $aFiles, $idfrmMain, $sSourcePath, $sItem
Global $szDrive, $szDir, $szFName, $szExt
$idfrmMain = GUICreate("JPG-Viewer", 512, 460)
Local $idfilemenu = GUICtrlCreateMenu("&Datei")
Local $idfileitem = GUICtrlCreateMenuItem("Öffnen", $idfilemenu)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
Local $idexititem = GUICtrlCreateMenuItem("Beenden", $idfilemenu)
Local $idLB_Files = GUICtrlCreateList("",5,5,502,140)
Local $idbtnShow = GUICtrlCreateButton("&Zeige Bild",5,150,150,25)
Local $idPic = GUICtrlCreatePic("",5,180,256,256)
;_GUICtrlListView_SetColumnWidth($idLB_Files,1,0) ;zweite Spalte versteckt
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $idfileitem
$message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."
[/autoit] [autoit][/autoit] [autoit]$var = FileOpenDialog($message, @MyDocumentsDir & "", "Bilder (*.jpg;*.bmp)", 1 + 4)
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 Bilder
;$aFiles[2] enthält 1. Bild
;$aFiles[n+1] enthält n. Bild
;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. deaktivieren
For $i = 2 to $aFiles[0]
_GUICtrlListBox_AddString($idLB_Files,$aFiles[1] & "\" & $aFiles[$i])
Next
Else
ConsoleWrite($aFiles[1] & @crlf)
_GUICtrlListBox_AddString($idLB_Files,$aFiles[1])
EndIf
EndIf
Case $idbtnShow
$sItem = _GUICtrlListBox_GetText($idLB_Files,_GUICtrlListBox_GetCurSel($idLB_Files))
If $idPic = 0 then
$idPic = GUICtrlCreatePic($sItem,5,180,256,256)
;es gibt noch kein Control das ein Bild aufnehmen kann, also erzeugen
;nur vorichtshalber (in füheren Versionen wurde ohne Filenamen kein Pic-Control angelegt)
Else
GUICtrlSetImage($idPic,$sItem)
;es bereits ein Control das ein Bild aufnehmen kann, also anderes Bild anzeigen
EndIf
Case $GUI_EVENT_CLOSE, $idexititem
Exit
EndSwitch
WEnd
ich persönlich würde zwecks der Übersihtlichkeit bei der LV bleiben,
mfg (Auto)Bert
Hallo darksider3,
ZitatSonntag, 7. Februar 2010, 17:52
von: darksider3
bin schon dabei ...
ZitatGestern, 14:36
von: darksider3
so jetzt sollte es klappen fals nicht bitte posten
ZitatGestern, 16:50
von: darksider3
Ich bitte um Vorschläge zur beschreibung der programme
schon einmal etwas von Beiträgen editieren gehört
Da dazwischen keine Beiträge anderer User waren ist das als PUSH-Versuch zu werten,
Edit: warum hast du auf autot-scripts.npage.de kein Impressum, so wie auf http://dk2-games.npage.de/</a>
dort ja sogar mit Ust-ID (vermutlich falsch und daher auch Bussgeld behaftet, also auch schnell ändern
)
Link autoit-scripts führt ins Nirwana
mfg (Auto)Bert
Hallo Magicmercury,
warum nimmst du um erstellen nicht die Standardfunktionen?
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GuiDateTimePicker.au3>
#include <GuiListView.au3>
#include <Array.au3>
#include <Date.au3>
#include <GuiTab.au3>
#include <String.au3>
$INI_read_produkte = IniReadSection("MFF.ini", "Produkte")
$INI_read_anbauzeit = IniReadSection("MFF.ini", "Produkte_Anbauzeit_Minuten")
$windows_gui_breite = 700
$windows_gui_hoehe = 590
$Debug_LV = False
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$gui = GUICreate("A.M.F.F.M", $windows_gui_breite, $windows_gui_hoehe)
GUICtrlCreateMenu("TEST")
GUICtrlCreateGroup("Scheduler Settings", 30, 35, 480, 95)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel("Start Time", 100, 55, 100, 18)
$DTP_start_date = _GUICtrlDTP_Create($gui, 40, 70, 110, 20)
$DTP_start_time = _GUICtrlDTP_Create($gui, 155, 70, 60, 20, $DTS_TIMEFORMAT)
GUICtrlCreateLabel("Anpflanz Anzahl", 240, 55, 100, 18)
$GUI_anpflanz_input = GUICtrlCreateInput("1", 250, 70, 50)
GUICtrlCreateUpdown($GUI_anpflanz_input)
GUICtrlCreateLabel("Produkte", 340, 55, 100, 20)
$GUI_produkte_combo = GUICtrlCreateCombo("", 340, 70, 160, 20)
$MFF_produkte = GUICtrlSetData($GUI_produkte_combo, "bla")
$GUI_add_button = GUICtrlCreateButton("ADD", 520, 60, 100, 50)
GUICtrlCreateLabel("Ausgewählte Starten", 22, 495, 100, 18)
$GUI_start_button = GUICtrlCreateButton("START", 30, 510, 80, 30)
$GUI_dellall_button = GUICtrlCreateButton("DELALL", 570, 510, 80, 30)
$check_feld_1 = GUICtrlCreateCheckbox("Feld 1", 40, 100, 50, 20)
$check_feld_2 = GUICtrlCreateCheckbox("Feld 2", 100, 100, 50, 20)
$check_feld_3 = GUICtrlCreateCheckbox("Feld 3", 160, 100, 50, 20)
$check_feld_4 = GUICtrlCreateCheckbox("Feld 4", 220, 100, 50, 20)
$check_feld_5 = GUICtrlCreateCheckbox("Feld 5", 280, 100, 50, 20)
$check_feld_6 = GUICtrlCreateCheckbox("Feld 6", 340, 100, 50, 20)
$GUI_Tab = GUICtrlCreateTab(20, 150, 660, 330)
$GUI_overview_tab = GUICtrlCreateTabItem( "Overview")
_GUICtrlTab_SetCurFocus($GUI_Tab, $GUI_overview_tab)
$GUI_overview_list =GUICtrlCreateListView("Index|Start Time|Stop Time|ProduktAnzahl der PflanzungenFelder", 25, 175, 607, 295, -1, $LVS_EX_CHECKBOXES)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 1, 40)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 1, 100)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 2, 100)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 3, 90)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 4, 150)
_GUICtrlListView_SetColumnWidth($GUI_overview_list, 5, 80)
$GUI_progress_tab = GUICtrlCreateTabItem( "Progess")
GUICtrlCreateTabItem("")
#cs
$item_row = 0
_GUICtrlDTP_SetFormat($DTP_start_time, "HH:mm tt")
For $counter_produkte = 0 To $INI_read_produkte[0][0] Step 1
GUICtrlSetData($GUI_produkte_combo, $INI_read_produkte[$counter_produkte][1])
Next
#ce
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_add_button
ADD_overview_Item()
Case $msg = $GUI_start_button
Start_selected_Item()
Case $msg = $GUI_dellall_button
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($GUI_overview_list))
$item_row = 0
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
Func ADD_overview_Item()
Local $testdatum[5], $testzeit[5], $liste_felder = ""
$DTP_get_start_date = _GUICtrlDTP_GetSystemTime($DTP_start_date)
$DTP_get_start_time = _GUICtrlDTP_GetSystemTime($DTP_start_time)
For $counter_anbauzeit = 0 To $INI_read_anbauzeit[0][0] Step 1
If GUICtrlRead($GUI_produkte_combo) == $INI_read_anbauzeit[$counter_anbauzeit][0] Then
$test = _DateAdd("n", $INI_read_anbauzeit[$counter_anbauzeit][1] * GUICtrlRead($GUI_anpflanz_input), $DTP_get_start_date[0] & "/" & $DTP_get_start_date[1] & "/" & $DTP_get_start_date[2] & " " & $DTP_get_start_time[3] & ":" & $DTP_get_start_time[4])
_DateTimeSplit($test, $testdatum, $testzeit)
EndIf
Next
_GUICtrlListView_AddItem($GUI_overview_list, $item_row)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, $DTP_get_start_date[2] & "." & $DTP_get_start_date[1] & "." & $DTP_get_start_date[0] & " " & $DTP_get_start_time[3] & ":" & $DTP_get_start_time[4], 1)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, $testdatum[3] & "." & $testdatum[2] & "." & $testdatum[1] & " " & $testzeit[1] & ":" & $testzeit[2], 2)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, GUICtrlRead($GUI_produkte_combo), 3)
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, GUICtrlRead($GUI_anpflanz_input), 4)
For $counter_felder = 1 To 6 Step 1
If GUICtrlRead(Eval("check_feld_" & $counter_felder)) = 1 Then
$liste_felder = $liste_felder & $counter_felder & ","
EndIf
Next
_GUICtrlListView_AddSubItem($GUI_overview_list, $item_row, StringTrimRight($liste_felder, 1), 5)
$item_row = $item_row + 1
EndFunc ;==>ADD_overview_Item
Func Start_selected_Item()
_GUICtrlTab_SetCurFocus($GUI_Tab, $GUI_progress_tab)
GUICtrlCreateLabel("Johannesbeeren", 30, 190, 100, 18)
GUICtrlCreateLabel("Status:", 30, 205, 100, 18)
GUICtrlCreateLabel("in Progress", 70, 205, 100, 18)
GUICtrlCreateLabel("Aktuell:", 150, 190, 100, 18)
GUICtrlCreateLabel("Gesammt:", 150, 205, 100, 18)
$GUI_aktuell_progress = GUICtrlCreateProgress(210, 188, 200, 12, $PBS_SMOOTH)
$GUI_gesammt_progress = GUICtrlCreateProgress(210, 205, 200, 12, $PBS_SMOOTH)
GUICtrlCreateLabel("100%", 415, 188, 100, 18)
GUICtrlCreateLabel("100%", 415, 205, 100, 18)
EndFunc ;==>Start_selected_Item
Falls für eine spezielle UDF-Funktion dann doch das Hndle verlangt, kannst du es ja über GUICtrlGetHandle($ControlID) ermitteln,
mfg (Auto)Bert
Hallo JuraX,
versuch es so:
[autoit]While 1 ;* Sleep(20)
$volget = _SoundGetWaveVolume()
if $volget <> GuiCtrlRead($volume_slider2) then GUICtrlSetData($volume_slider2,$volget)
wend
vernünftiger wäre es allerdings direkt auf den Slider zu reagieren, hier ein DEMO:
#include <GUIConstants.au3>
#include <SliderConstants.au3>
#include <GuiSlider.au3>
Global $iPercent
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$hGui = GUICreate("Test", 275, 145, 193, 150)
$hGroup = GUICtrlCreateGroup("Der Wert beträgt jetzt: 0%.", 8, 8, 260, 79)
$hSlider = GUICtrlCreateSlider(13, 23, 250, 49, BitOR($GUI_SS_DEFAULT_SLIDER, $TBS_Bottom, $TBS_ENABLESELRANGE, $TBS_TOOLTIPS))
GUICtrlSetLimit($hSlider, 100, 0) ;maximal 100 minimal 0
GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schliessen
$hButton1 = GUICtrlCreateButton("OK", 64, 96, 145, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_GUICtrlSlider_SetPageSize($hSlider, 10)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $hSlider
$iPercent = Ceiling(GUICtrlRead($hSlider) / 10) * 10 ;Sliderwert auf 10er Zahlen runden
GUICtrlSetData($hSlider, $iPercent) ;gerundeten Wert anzeigen
GUICtrlSetData($hGroup, "Der Wert beträgt jetzt: " & $iPercent & "%.")
Case $hButton1
;$iPercent = Int(GUICtrlRead($hSlider) / 10)
Switch $iPercent
Case 10
MsgBox(0, "", "10")
Case 20
MsgBox(0, "", "20")
Case 30
MsgBox(0, "", "30")
Case 40
MsgBox(0, "", "40")
Case 50
MsgBox(0, "", "50")
Case 60
MsgBox(0, "", "60")
Case 70
MsgBox(0, "", "70")
Case 80
MsgBox(0, "", "80")
Case 90
MsgBox(0, "", "90")
Case 100
MsgBox(0, "", "100")
EndSwitch
EndSwitch
WEnd
mfg (Auto)Bert
Halo jmewald,
ich habe mal aus der Hilfe ein paar Beispiele zusammenkopiert:
#include <Excel.au3>
#include <Array.au3>
Local $sFilePath1 = @ScriptDir & "\Test1.xls" ; Diese Datei sollte bereits existieren
Local $iRows = 9999 ; hier letzte Zeilennummer eingeben
Local $file = FileOpen(@ScriptDir & "\test.txt", 2)
$oExcel = _ExcelBookOpen($sFilePath1)
[/autoit] [autoit][/autoit] [autoit]If @error = 1 Then
MsgBox(0, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden")
Exit
ElseIf @error = 2 Then
MsgBox(0, "Fehler!", "Die Datei existiert nicht!")
Exit
EndIf
$aArray1 = _ExcelReadArray($oExcel, 1, 1, $iRows, 1) ; Senkrecht (vertikal)
_ArrayDisplay($aArray1, "Senkrecht")
;hier kannst du dann mit for .. next das Array auslesen und in eine CSV etc speichern
for $i = 1 to UBound($aArray1) step 7
$sLine = $aArray1[1] & ";" & $aArray1[2] & ";" $aArray1[3] & ";" $aArray1[4] & ";" & $aArray1[5] & ";" & $aArray1[6] & ";" &$aArray1[7]
FileWriteLine($file,$sLine)
next
MsgBox(0, "Beenden...", "Drücke OK, um die Datei zu speichern und Excel zu beenden.")
_ExcelBookSaveAs($oExcel, @ScriptDir & "\NEU.xls", "xls", 0, 1) ; Nun wird die Datei unter neuem Namem gespeichert.
;Achtung>: Falls notwendig werden existierende Dateien überschrieben.
_ExcelBookClose($oExcel) ; Und zum Schluss schließen wir die Datei.
Ich habe aber aauf dem NetBook kein Excel (sondern OpenOffice). Das heisst du musst es testen und evtl. an deine Bedürfnisse anpassen,
mfg (Auto)Bert
Hallo @Leon,
mach doch einfach einen neuen Thread in Hilfe & Unterstützung auf. Stelle bitte das RAR oder ZIP File direkt als Dateianhang in den Thread da ich von dem angegebenen Link nichts downloaden kann (Firewall sperrt). Du kannst dir den Einsatz auch anhand des AutoStarter neue Version: v 0.7.4 anschauen,
mfg (Auto)Bert
Hallo DitB,
wenn du dir Bard_Mozrepl und die FF.au3 installierst, kannst du die Funktionen der FF.au3 benutzen. Das Skript müsste ungefähr so aussehen:
[autoit]#include <FF.au3>
[/autoit][autoit][/autoit][autoit]_FFConnect()
[/autoit][autoit][/autoit][autoit]$aktTab = _FFTabGetSelected()
[/autoit][autoit][/autoit][autoit]For $i = 0 To _FFGetLength("tabs") -1
if $i <> $aktTab then _FFTabClose($i)
Next
Exit
[/autoit]ich selbst habe noch nie mit der FF.au3 gearbeitet, daher Skript testen (würde mich wundern wenns funktioniert) und die Sufu zu den beiden Func's bemühen, oder warten bis Stilgar auf deinen Thread stösst,
mfg (Auto)Bert