Hallo Aquaplant,
poste doch bitte dein komplettes Skript (mit INI-/TXT-Datei falls externe Daten),
mfg (Auto)Bert
Hallo Aquaplant,
poste doch bitte dein komplettes Skript (mit INI-/TXT-Datei falls externe Daten),
mfg (Auto)Bert
Hallo billemg,
mit
[autoit]GUICtrlSetTip
[/autoit]geht es noch einfacher. Siehe
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Example()
[/autoit] [autoit][/autoit] [autoit]Func Example()
Local $msg
GUICreate("Meine GUI mit dem Hinweis-Control") ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel("mein Label", 10, 20)
GUICtrlSetTip(-1, "Hinweis meines Labels")
GUICtrlCreateButton("mein Button", 10, 40)
GUICtrlSetTip(-1, "Hinweis meines Buttons")
GUISetState()
[/autoit] [autoit][/autoit] [autoit]; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example
mfg (Auto)Bert
also kann ich das edit ausdrucken lassen mit
nein siehe Post #18
EDIT\\ gibt es jetzt noch mehr befehle von _GuictrlEdit_ mit denen ich kopieren auschneiden und einfügen kann??
ja nachzulesen in http://translation.autoit.de/autoitinfo/hil…nd-24_03_10.zip unter benutzerdefinierte Funktionen Referenz ==> GuiEdit Benutzerdefinierte Funktion Referenz
mfg (Auto)Bert
Hallo Xyron,
du musst erst mit FileWrite oder anderen Befehlen alles in eine Datei schreiben, danach kannst du mit
[autoit]#Include <File.au3>
_FilePrint
diese Datei ausdrucken
mfg (Auto)Bert
Hallo ScarfacePH,
poste doch bitte das dazugehörige Skript. Die Fehlermeldung weist normalerweise darauf hin, dass du ein Array-Element ansprichst, das nicht exisitiert,
mfg (Auto)Bert
Hallo
dieser Thread sollte doch wohl eher in Hilfe und Unterstützung.
MoD bitte verschieben
mfg (Auto)Bert
Hallo Veronesi,
schau dir einmal Audio Recorder MP3/OGG/WAV incl. Schedule & AGC an, vielleicht findest du ja dort eine Lösung,
mfg (Auto)Bert
Hallo ScarfacePH,
du benötigts dazu:
[autoit]_FileListToArray
While...WEnd
und deine bereits verwendeten Funktionen zum Datei lesen
Edit: vergessen FF zu aktualisieren,
mfg (Auto)Bert
Hallo Fabian,
du hast
[autoit]#include <array.au3>
[/autoit]vergessen,
mfg (Auto)Bert
Hallo Antispeed,
hast du @Schnizel's Post beachtet?
Zitathast du dir schonmal die beiden pfade ausgeben lassen?
[autoit]
vllt ist da ja irgendwo der wurm drin:msgbox(0,"", "von: " & @ScriptDir & "\" &$FileList & @crlf & "nach: " & GUICtrlRead($Input_Site4_Folder) & $FileList)
[/autoit]
bin auch der Meinung, dass nach diesem kleinen Test, dir der Fehler auffallen sollte, annsonsten poste doch bitte das komplette Skript
mfg (Auto)Bert
Hallo Black_skorbi,
wie gesagt ohne Skript ist schwer eine Fehleranalyse möglich. aber in Zeile 3,4 und 8 wendest du Listview-Funktionen auf das Control $AppList, in Zeile 6 aber eine ListBox-Funktion, das kann meines erachtens nach nicht gutgehen. Poste doch einfach das komplette Skript, dann kann man genaer schauen
mfg (Auto)Bert
Hallo subzero007,
schau dir in folgendem Beispiel die beiden case Zweige $idClipmenu und $idAllClipmenu an:
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <File.au3>
;#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]Local $tZeit, $s1, $s2
[/autoit] [autoit][/autoit] [autoit]$main = GUICreate("Test Drag & Drop from LV1 to LV2 DblClick in LV1 with ContextMenu in LV1 (copies to ClipBoard", 600, 400)
$listview = GUICtrlCreateListView("Gruppe1| BlubText", 10, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) ; legt fest, dass Hintergrundfarbe wechselt
GUICtrlSetBkColor(-1, 0xE6E6FA) ; Hintergrundfarbe 1
$listview2 = GUICtrlCreateListView("Gruppe2 | BlubText", 230, 10, 200, 100, BitOR($LVS_REPORT, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
GUICtrlSetState($listview2, $GUI_DROPACCEPTED)
$hbtnInfo = GUICtrlCreateButton("Info", 10, 120, 100, 20)
$hbtnSave = GUICtrlCreateButton("&Speichern", 230, 120, 100, 20)
$hbtnLoad = GUICtrlCreateButton("&Laden", 230, 150, 100, 20)
For $i = 1 To 9
$listitem = GUICtrlCreateListViewItem("test" & $i & " |Blub " & Random(1, 9), $listview)
GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
Next
$idContextmenu = GUICtrlCreateContextMenu($listview)
$idClipmenu = GUICtrlCreateMenuItem("Selektierte ins ClipBoard", $idContextmenu)
$idAllClipmenu = GUICtrlCreateMenuItem("Alle aus Splate 2 ins ClipBoard", $idContextmenu)
$idDragmenu = GUICtrlCreateMenuItem("In LV 2", $idContextmenu)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;<=========================================== Bemachrichtigung Doppelklick
GUISetState()
$first = True
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_DROPPED, $idDragmenu
$ar = _GUICtrlListView_GetSelectedIndices($listview, True)
;_ArrayDisplay($ar)
For $i = 1 To $ar[0]
$sItem = _GUICtrlListView_GetItemTextString($listview, $ar[$i])
GUICtrlCreateListViewItem($sItem, $listview2)
Next
Case $hbtnInfo
$Wert = _GUICtrlListView_GetItemTextArray($listview)
If $Wert[2] <> "" Then
MsgBox(0, "Eintrag für " & $Wert[1], "ist: " & $Wert[2])
Else
MsgBox(0, "", "Kein Eintrag ausgewählt")
EndIf
Case $hbtnSave
SaveLV(@ScriptDir & "\LV2.DAT")
Case $hbtnLoad
LoadLV(@ScriptDir & "\LV2.DAT")
Case $idClipmenu
$aItems = _GUICtrlListView_GetSelectedIndices($listview, True)
$sItemText = ""
For $i = 1 To $aItems[0]
;Schleifenbeginn 1 da $aItem[0] die Anzahl enhält
$sItemText &= _GUICtrlListView_GetItemTextString($listview, $aItems[$i]) & @CRLF
Next ;= > weiter mit For
ConsoleWrite($sItemText & @CRLF)
ClipPut($sItemText & @CRLF)
Case $idAllClipmenu
$sToClip = ""
For $i = 0 To _GUICtrlListView_GetItemCount($listview)
$aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
$sToClip &= $aItem[2] & @CRLF
Next
ClipPut($sToClip)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func SaveLV($sFile)
Local $hFileOut, $aItem
$hFileOut = FileOpen($sFile, 2)
For $j = 0 To _GUICtrlListView_GetItemCount($listview2) - 1
$aItem = _GUICtrlListView_GetItemTextString($listview2, $j)
FileWriteLine($hFileOut, $aItem)
Next
FileClose($hFileOut)
EndFunc ;==>SaveLV
Func LoadLV($sFile)
Local $aItems
If FileExists($sFile) Then
_FileReadToArray($sFile, $aItems)
If IsArray($aItems) Then
_GUICtrlListView_DeleteAllItems($listview2)
;_ArrayDisplay($aItems)
For $j = 1 To $aItems[0]
GUICtrlCreateListViewItem($aItems[$j], $listview2)
Next
EndIf
EndIf
EndFunc ;==>LoadLV
Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam) ;<================== Benachrichtigung Doppelklick (Original from Chaoskeks [in ChaosExecution])
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return 0
$code = DllStructGetData($tagNMHDR, 3)
If $wParam = $listview Then
;ConsoleWrite($code & @CRLF)
Switch $code
Case -3
If _GUICtrlListView_GetSelectedCount($listview) > 0 Then
For $i = 0 To _GUICtrlListView_GetItemCount($listview)
If _GUICtrlListView_GetItemSelected($listview, $i) Then
$aItem = _GUICtrlListView_GetItemTextArray($listview, $i)
MsgBox(0, "Doppel-Klick auf ", $aItem[1] & @CRLF & @CRLF & $aItem[2])
EndIf
Next
EndIf
EndSwitch
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
mfg (Auto)Bert
Alles anzeigenHi com,
ich habe folgendes problem:
ich ahbe eine funktion, die einen eintrag in einem listview löschen soll, soll...
sie funktioniert aber nicht... wenn ich nun nur den befehl _GUICtrlListView_DeleteItemSelected statt _GUICtrlListView_DeleteItem mit index benutze, werden die arrays in den anderen funktionen auf einmal nicht mehr angenommen![]()
warum? gibt es da einen bekannten bug?
hier mal die funktion: (wegen der array einfach denken, dass zuvor eine andere (egal welche) array benutzt wurde)Spoiler anzeigen
[autoit]Func _AppDeleteFromList()
[/autoit]
Local $AppFileToWrite = ""
$AppChosenIndex = _GUICtrlListView_GetHotItem($AppList)
$AppChosen = _GUICtrlListView_GetItemSelected($AppList, $AppChosenIndex)
$AppToDeleteCount = _GUICtrlListBox_FindString($AppList, $AppChosen)
If Not $AppToDeleteCount = -1 Then
_FileReadToArray(@ScriptDir & "\Apps\Apps.sdb", $AppsActiveArrayDeletePart)
_GUICtrlListView_DeleteItem($AppList, $AppChosenIndex)
EndIf
EndFuncnein, die arrays sind alle mit global deklariert^^
ohne das komplette Skript kann man dazu wenig sagen, aber es scheint so als ob du ListBox- und ListView-Funktionen drcheinanderbringst.
In einer ListView kannst du auch mit
_GUICtrlListView_DeleteItemsSelected
[/autoit]alle selektierten Items löschen, siehe dazu auch unbedingt die Bemerkungen in der Hilfe
ZitatBemerkungen
Falls diese Funktion bei einem Listview, welches durch die Funktion GUICtrlCreateListView erstellt wurde, angewendet wird, muss der Befehl _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($ListView)) heißen, da sonst eine Fehlermeldung erscheint. ($listview ist die Variable wie das Listview heißt)
mfg (Auto)Bert
leider immer noch, ich habe vorher extra die komplette Chronik im FF gelöscht
mfg (Auto)Bert
Hallo name22,
wenn ich die GDI+Schrift.zip entpacken möchte, verlangt er nach einem Passwort,
mfg (Auto)Bert
hallo subtero007,
mach es so:
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <array.au3>
;Opt('MustDeclareVars', 1)
$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $hListView
GUICreate("ListView Get Item Text Array", 400, 300)
[/autoit] [autoit][/autoit] [autoit]$hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
GUICtrlCreateListViewItem("line1|data|more1", $hListView)
GUICtrlCreateListViewItem("line2|data|more2", $hListView)
GUICtrlCreateListViewItem("line3|data3|more3", $hListView)
GUICtrlCreateListViewItem("line4|data|more4", $hListView)
GUICtrlCreateListViewItem("line5|data5|more5", $hListView)
GUICtrlCreateListViewItem("line6|data|more5", $hListView)
GUISetState()
Global $array = _ExportListview($hListView, 1, "data")
_ArrayDisplay($array)
_FileWriteFromArray2D('c:\test.txt', $array)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
Func _ExportListview($hListView, $subitem, $search)
[/autoit] [autoit][/autoit] [autoit]Local $count = _GUICtrlListView_GetItemCount($hListView)
Local $colcount = _GUICtrlListView_GetColumnCount($hListView)
Local $aret[$count][$colcount] ;2D Rückgabearray
Local $atext, $counter = 0
For $i = 0 To $count - 1 ;loop durch die Items
$atext = _GUICtrlListView_GetItemTextArray($hListView, $i)
;_arraydisplay($atext)
If $atext[$subitem + 1] = $search Then ; bei gefunden Searchstring im bezeichneten Subitem
For $x = 1 To $atext[0] ;loop durchs Array der Subitems
$aret[$counter][$x - 1] = $atext[$x] ; "D Rückgabearray befüllen
Next
;_arraydisplay($aret)
$counter += 1
EndIf
Next
ReDim $aret[$counter][$colcount]
Return $aret
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_ExportListview
[/autoit] [autoit][/autoit] [autoit]Func _FileWriteFromArray2D($FILEPATH, $array, $iROWstart = 0, $iROWend = 0, $iCOLstart = 0, $iCOLend = 0, $DELIM = ',')
[/autoit] [autoit][/autoit] [autoit]If Not IsArray($array) Then
SetError(1)
Return 0
EndIf
Local $Ubound = UBound($array)
If $iROWend = 0 Then $iROWend = $Ubound - 1
Local $fh = FileOpen($FILEPATH, 2)
If $fh = -1 Then
SetError(2)
Return 0
EndIf
Select
Case $iROWstart < 0 Or $iROWstart > $Ubound - 1
$iROWstart = 0
ContinueCase
Case $iROWend < 0 Or $iROWend > $Ubound - 1
$iROWend = $Ubound - 1
ContinueCase
Case $iROWstart > $iROWend
$tmp = $iROWstart
$iROWstart = $iROWend
$iROWend = $tmp
EndSelect
Local $Ubound2nd = UBound($array, 2)
If @error = 2 Then
For $i = $iROWstart To $iROWend
FileWriteLine($fh, $array[$i])
Next
Else
If $iCOLend = 0 Then $iCOLend = $Ubound2nd - 1
Select
Case $iCOLstart < 0 Or $iCOLstart > $Ubound2nd - 1
$iCOLstart = 0
ContinueCase
Case $iCOLend < 0 Or $iCOLend > $Ubound2nd - 1
$iCOLend = $Ubound2nd - 1
ContinueCase
Case $iCOLstart > $iCOLend
$tmp = $iCOLstart
$iCOLstart = $iCOLend
$iCOLend = $tmp
EndSelect
For $i = $iROWstart To $iROWend
$tmp = ''
For $k = $iCOLstart To $iCOLend
If $k < $iCOLend Then
$tmp &= $array[$i][$k] & $DELIM
Else
$tmp &= $array[$i][$k]
EndIf
Next
FileWriteLine($fh, $tmp)
Next
EndIf
FileClose($fh)
Return -1
EndFunc ;==>_FileWriteFromArray2D
mfg (Auto)Bert
Hallo Dankeschön,
da du es bereits mit WireShark probiert hast sind Client und Exe defintiv nicht deine Skripte. Du solltest also erläutern zu welchem Zweck du Pakete abfangen möchtest,
mfg (Auto)Bert