Hallo
eine kleinen tipp bräucht ich wie kann ich eine TXT bzw csv erstellen aus einem inhalt einer listview
wäre für einen tipp oder beispiel sehr dankbar
Hallo
eine kleinen tipp bräucht ich wie kann ich eine TXT bzw csv erstellen aus einem inhalt einer listview
wäre für einen tipp oder beispiel sehr dankbar
Hallo,
die Suche hat mir folgendes geliefert:
Schau dir das mal an. Sieht so ziemlich nach dem aus was du vor hast. ![]()
Gruß
DasBoenni
danke den beitrag habe ich gefunden aber leider arbeitet er mit datenbanken ich wollte nur in txt schreiben ........
Ich hab mal schnell eine Funktion erstellt zum wahlweisen Export als Array oder String mit Trennzeichen (Default ist gemäß Opt('GUIDataSeparatorChar'), im Allg. '|').
Kannst ja die Stringausgabe direkt in eine Datei schreiben.
FileWrite('Pfad_Datei.csv', _GUICtrlListView_Export($hWnd, 1, ',')
[/autoit][autoit]#include <GUIListView.au3>
Func _GUICtrlListView_Export($hWnd, $exType=0, $Delim=Default) ; $exType=0 Array / $exType=1 String
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $row = _GUICtrlListView_GetItemCount($hWnd)
If $exType Then
If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
Local $sOut = ''
For $i = 0 To $row -1
$sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
Next
If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
Return $sOut
EndIf
Local $col = _GUICtrlListView_GetColumnCount($hWnd)
Local $aOut[$row][$col]
If $col = 1 Then
ReDim $aOut[$row]
For $i = 0 To UBound($aOut) -1
$aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
Next
Return $aOut
EndIf
For $i = 0 To UBound($aOut) -1
For $j = 0 To UBound($aOut, 2) -1
$aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
Next
Next
Return $aOut
EndFunc
ich glaube es langsam zu verstehen ?"das glaube ich aber nur"
wo gebe ich an welche listview er laden soll ?
wie realiesiere ich das am besten mit einem FileOpenDialog?
will ja nicht alles wissen will es nur verstehen....
danke für deine hilfe
Einfach und sehr gut erklärt.
welche listview er laden soll
$hWnd <== Da übergibst du das Handle oder die ID deines ListView
mit einem FileOpenDialog
Wozu willst du eine FileOpenDialog? - Du willst doch in eine Datei speichern. Also wohl eher FileSave Dialog:
$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '*.csv')
If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ','))
Hey,
kriege folgende fehler meldung habe bestimmt ein syntax fehler den ich nicht rauskriege?!
09.au3 (70) : ==> Invalid file filter given.:
$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '*.csv')
Case $hButton4
$hWnd = ($hlistview)
$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '*.csv')
If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ','))
Hallo Subzero007,
FileSaveDialog erwartet in diesem String, dass der Filter in () eingesclossen wird, davor ist ein Text für den Benutzer vorgesehen, aber keine Pflicht. Du kannst also so:
[autoit]$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '(*.csv)')
[/autoit]oder so das Problem lösen:
[autoit]$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '(CSV-Format*.csv)')
[/autoit]
ist aber in der Hilfe gut erklärt,
mfg (Auto)Bert