servus
hier kann man ja keine variable reinpacken (oder?)
GUICtrlCreateListViewItem($SearchString & "|" & $SearchPath & $FileList[$i], $FileListView)
[/autoit]
wenn nicht, wie kann ich das mit
_GUICtrlListView_AddItem($b, $a)
[/autoit]nachbaun?
mfg
servus
hier kann man ja keine variable reinpacken (oder?)
GUICtrlCreateListViewItem($SearchString & "|" & $SearchPath & $FileList[$i], $FileListView)
[/autoit]
wenn nicht, wie kann ich das mit
_GUICtrlListView_AddItem($b, $a)
[/autoit]nachbaun?
mfg
ist nicht klar?
frage: kann man in
[url='http://translation.autoit.de/onlinehilfe/functions/GUICtrlCreateListViewItem.htm']
GUICtrlCreateListViewItem
[/autoit]variablen nutzen
Als Parameter? Natürlich, wieso nicht?
Warum probierst du es nicht aus?
glaubste ich frage hier wenn ichs nicht getestet hab? :wacko:
[autoit]Func _ReadFiles($SearchPath, $SearchString)
$FileList = _FileListToArray($SearchPath, "*", 1)
If Not @error Then
For $i = 1 To $FileList[0]
$ReadedFile = FileRead($SearchPath & $FileList[$i])
If StringInStr($ReadedFile, $SearchString) Then
ConsoleWrite($SearchString & "|" & $SearchPath & $FileList[$i] & @CRLF)
GUICtrlCreateListViewItem($SearchString & "|" & $SearchPath & $FileList[$i], $FileListView)
EndIf
Next
EndIf
EndFunc
irgentwie gehts nicht
Wieso sagst du das nicht gleich? Weiterhin ist eine verständliche Fehlerbeschreibung Voraussetzung für Support. Mit 'Geht irgendwie nicht' kann man in 90% der Fälle nichts anfangen.
Ich sehe in deinem Code keinen Fehler, und bei mir hat das bisher prima geklappt Variablen als Parameter dieser Funktion zu verwenden. Was wird dir denn in der Konsole ausgegeben? Funktioniert es wenn du diese Ausgabe manuell als String für das Control benutzt?
Überprüfe auch mal den Pfad der generiert wird. Eventuell fehlt da ein Backslash o.Ä..
ich dachte es ist alles gesagt
in die console schreibt er, aber nicht ins listview
also muss es wohl daran liegen..?
Du meinst mit "Kann man in GUICtrlCreateListViewItem eine Vairable reinpacken" wäre alles geklärt? Ok: Ja... Zufrieden? Sag doch einfach in Zukunft gleich wo das Problem liegt ^^.
Es wäre nützlich wenn du die restlichen Fragen in meinem Beitrag beantwortest ;). Funktioniert die Erzeugung eines ListViewItems wenn du den Text aus der Konsole direkt einfügst?
nein geht nicht
Gewöhn dir mal an Testscripte in denen der Fehler reproduzierbar ist zu posten. Ich glaube keiner hier hat Lust jedesmal eine GUI zu basteln nur um dir zu helfen. Davon ab ist es natürlich möglich der Funktion variable Parameter mitzugeben. Ich nehme an dein Fehler entsteht bei der Erstellung des Listviews, vermutlich hast du keine oder eine abweichende Spaltenzahl vorgegeben.
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <file.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$List1 = GUICtrlCreateListView("Spalte1|Spalte2", 120, 88, 425, 253)
;GUICtrlCreateListViewItem("wert1|wert2",$List1)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]$aDirContent=_FileListToArray(@ScriptDir)
[/autoit][autoit][/autoit][autoit]For $i=1 to $aDirContent[0]
GUICtrlCreateListViewItem(@ScriptDir & "|" & $aDirContent[$i],$List1)
next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Das es funktinioniert kannst du an meinem BMP-Viewer Beispiel sehen. Wenn du ein spezielles Prblem hastka ich mich nur misterspeed anshliessen: Pste bitte ein Skript in dem das Problem auftritt,
mfg autoBert
misterspeed, dein beispiel geht, wenn ich dein zeug in mein script mache gehts wieder nicht (selbe includes)
das ist mein listview
$FileListView = GUICtrlCreateListView("String|Folder", 0, 20, 620, 280)
_GUICtrlListView_SetColumnWidth($FileListView, 0, 175)
_GUICtrlListView_SetColumnWidth($FileListView, 1, 441)
Zattoo
Dein Verhalten nennt man Beratungsresistenz!
Bereits mehrfach wurdest du gebeten ein Skript, das reproduzierbar die auftretenden Fehler erzeugt, einzustellen.
DU möchtest Hilfestellung!
Also solltest du auch denen, die helfen wollen, alles dazu nötige an die Hand geben.
Ein paar einzelne Skriptzeilen sind keine Testumgebung, zumal aus diesen Zeilen kein Fehler reproduzierbar ist.
Letzter Versuch dir zu helfen:
1. Prüfe ob du die Variable des Listviews mehrfach verwendest und dir dadurch die control id überschreibst.
2. Sofern das Listview nicht global erstellt wird sondern in einer Funktion achte darauf dass die variable global deklariert ist oder an die Füllfunktion übergeben wird.
3. Wenn du die funktion in der das Listview erstellt wird mehrfach aufrufst hast du multiple listviews die sich überlappen... schlecht!
4. Poste die Zeilen der Consolen Ausgabe der Füllfunktion.
5. Poste das komplette Script oder zumindestens eine lauffähige Version in der das Problem noch auftritt.
1. könnte es eventuell daran liegen?
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
If Not IsHWnd($FileListView) Then $FileListView = GUICtrlGetHandle($FileListView)
$tNMHDR = DllStructCreate("hwnd hWndFrom;uint_ptr IDFrom;INT Code", $lParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
If $hWndFrom = $FileListView Then
If $iCode = -3 Then ;NM_DBLCLK
$String = _GUICtrlListView_GetItemTextString($FileListView, _GUICtrlListView_GetSelectionMark($FileListView))
$EndString = StringSplit($String, '|')
ShellExecute($EndString[2])
EndIf
EndIf
Return 'GUI_RUNDEFMSG'
EndFunc
2. nein wird nicht in einer funktion sondern normal oder global
3. fällt ja wegen 2 weg
4. fällt ja auch wegen 2 weg
5.
#include <Array.au3>
#include <ButtonConstants.au3>
#include <File.au3>
#include <FTPEx.au3>
#include <GUIConstantsEx.au3>
#include <GUIListView.au3>
#Include <GUIEdit.au3>
#include <String.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 625, 443, 193, 125)
$FileListView = GUICtrlCreateListView("test|test", 8, 8, 609, 409)
_GUICtrlListView_SetColumnWidth($FileListView, 0, 175)
_GUICtrlListView_SetColumnWidth($FileListView, 1, 441)
GUISetState(@SW_SHOW)
$aDirContent=_FileListToArray(@ScriptDir)
[/autoit] [autoit][/autoit] [autoit]For $i=1 to $aDirContent[0]
GUICtrlCreateListViewItem(@ScriptDir & "|" & $aDirContent[$i],$FileListView)
next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
könnte es eventuell daran liegen?
Nein
Zattoo
Dein Verhalten nennt man Beratungsresistenz!
Aus diesem Grund: Vote for close, da wieder kein Skript zum nachvollziehen dabei,
mfg autoBert
doch es ist doch ein beispielscript dabei...?
Zattoo stell einfach dein Script rein in dem das Problem hast. Wenn nicht kann ich nur autoBert zustimmen und sagen: Vote for close.
doch es ist doch ein beispielscript dabei...?
Willst mich verarschen? Ich hab geschrieben ein Script in dem der Fehler noch auftritt. Was soll ich mit deinem oder viel mehr meinem mit zusätzlichn includes vollgeklatschten funktionierenden Script? Wie soll jemand deinen Fehler finden wenn du kein fehlerhaftes Script bereitstellst?
Zitat4. Poste die Zeilen der Consolen Ausgabe der Füllfunktion.
5. Poste das komplette Script oder zumindestens eine lauffähige Version in der das Problem noch auftritt.
4. fällt ja auch wegen 2 weg
Punkt 4 hat rein garnichts mit Punkt 2 und 3 zu tun. Du hast weiter oben die Funktion gepostet in der das Listview die Daten bekommt. Dort ist auch ein consolewrite(). Genau diese Daten will ich sehen, damit ein Fehler beim Dateninput ausgeschlossen werden kann:
[autoit]
Func _ReadFiles($SearchPath, $SearchString)
$FileList = _FileListToArray($SearchPath, "*", 1)
If Not @error Then
For $i = 1 To $FileList[0]
$ReadedFile = FileRead($SearchPath & $FileList[$i])
If StringInStr($ReadedFile, $SearchString) Then
ConsoleWrite($SearchString & "|" & $SearchPath & $FileList[$i] & @CRLF)
GUICtrlCreateListViewItem($SearchString & "|" & $SearchPath & $FileList[$i], $FileListView)
EndIf
Next
EndIf
EndFunc
Punkt 5 ist dann jedenfalls deine letzte Möglichkeit hier eine Lösung zufinden. Ansonsten such den Fehler selbst.