Hallo abend,
hab in der hilfe gefunden wie man ne reine txt datei druckt.
Wie kann ich machen dass er Inhalte eines Steuerelementes druckt. Wie z.B. Guictrlcreateinput oder ..Label ??
Hier script:
(P.S.: Func _printudf() ist das beispiel dass ich gefunden hab..)
Spoiler anzeigen
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <StructureConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <File.au3>
$hot=Hotkeyset("{F5}")
;Global Const $LVFI_PARAM = 0x0001
;Global Const $LVIF_TEXT = 0x0001
;Global Const $LVM_FIRST = 0x1000
Global Const $LVM_GETITEM = $LVM_FIRST + 5
;Global Const $LVM_FINDITEM = $LVM_FIRST + 13
;Global Const $LVM_SETSELECTEDCOLUMN= $LVM_FIRST + 140
Dim $nCurCol = -1
Dim $nSortDir = 1
Dim $bSet = 0
Dim $nCol = -1
Dim $nr, $aSperrungdaten
$Form1 = GUICreate('Otmar Call-Shop', 500, 600, -1,-1)
GUISetBkColor(0xFFFFFF)
Guictrlcreatelabel("Artikel-Anzahl",320,10)
$Input4 = GUICtrlCreateInput("", 320, 30, 50, 21)
Guictrlcreatelabel("Artikel-Bezeichnung",10,10)
$Input1 = GUICtrlCreateInput("", 110, 12, 200, 21)
Guictrlcreatelabel("Artikel-Kategorie",10,35)
$Input2 = GUICtrlCreateCombo("Wasserpfeifen", 110, 35, 200, 21,0x0003)
GuiCTRLSETDATA(-1,"Tabak|Kohle|Sonstiges")
Guictrlcreatelabel("Artikel-Verkaufspreis",10,55)
$Input3 = GUICtrlCreateInput("", 110, 57, 150, 21)
$Inputeur=Guictrlcreateinput("€",260,57,50,21)
Guictrlsetstate(-1,$GUI_DISABLE)
$Buttondel = GUICtrlCreateButton("Entfernen", 410, 7, 75, 35, 0)
$Button = GUICtrlCreateButton("Registrieren", 410, 42, 75, 35, 0)
$Listview1 = GUICtrlCreateListView("Artikelnummer|Artikel | Kategorie | Verkaufspreis | Anzahl", 10, 80, 480, 500)
GUICtrlSetFont($Listview1, 8, 400, 0, "MS Sans Serif")
$mnu = GUICtrlCreateContextMenu($Listview1)
$mnu_edit = GUICtrlCreateMenuItem('Artikel Verkaufen', $mnu)
$mnu_del = GUICtrlCreateMenuItem('Artikel Löschen', $mnu)
GUISetState(@SW_SHOW)
Local $SperrungINI = @ScriptDir & "\Sperrung.ini"
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $aSperrung = IniReadSection($SperrungINI, "Sperrung")
Local $lastNum = IniRead($SperrungINI, "Numbers", "last", 9999)
_FillListView()
GUISetState(@SW_SHOW, $Form1)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[1]
Case $Form1
_mazosIniVerringerer($nummer)
_FillListView()
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $mnu_edit
$nummer=Inputbox("Datenbank 1.0.1","Bitte geben Sie die Artikelnummer an","")
Case $Buttondel
If @Error then Msgbox(0,"Titel","Text" & @Error)
_Filedelete()
Case $hot
_FillListView()
Case $Button
$lastNum += 1
$Input = GUICtrlRead($Input1)
$Input100=Guictrlread($Input2)
$Input200=GUICTRLREAD($Input3 )
$Input300=Guictrlread($Input4 )
$Input400=Guictrlread($Inputeur)
IniWrite($SperrungINI, "Numbers", "last", $lastNum)
IniWrite($SperrungINI, "Sperrung", $lastNum, $Input & "|" & $Input100 & "|" & $Input200 & $Input400 & "|" & $Input300)
IniWrite($SperrungINI, "edit", $lastNum, "")
$aSperrung = IniReadSection($SperrungINI, "Sperrung")
Guictrlsetdata($Input1,"")
Guictrlsetdata($Input3,"")
Guictrlsetdata($Input4,"")
_FillListView()
Case $mnu_del
_Filedelete()
Case $Listview1
$bSet = 0
$nCurCol = $nCol
GUICtrlSendMsg($Listview1, $LVM_SETSELECTEDCOLUMN, GUICtrlGetState($Listview1), 0)
DllCall("user32.dll", "int", "InvalidateRect", "hwnd", GUICtrlGetHandle($Listview1), "int", 0, "int", 1)
EndSwitch
EndSwitch
WEnd
Func _printudf()
$file = FileOpenDialog( "zu druckende Datei ", " ", "Textdokumente (*.txt) ", 1)
If @error Then Exit
$print = _FilePrint($file)
If $print Then
MsgBox(0, "Drucken ", "Die Datei wurde gedruckt. ")
Else
MsgBox(0, "Drucken ", "Fehler: " & @error & @CRLF & "Die Datei wurde nicht gedruckt. ")
EndIf
EndFunc
Func _mazosInivermehrer($nummer1);$nummer=z.B.10004
$vorher=IniRead("Sperrung.ini","Sperrung",$nummer1,"0")
$pos=StringInStr($vorher,"|",Default,+1)
$vorne=StringLeft($vorher,$pos)
$hinten=StringTrimLeft($vorher,$pos)
$neu=$vorne & ($hinten+1)
IniWrite("Sperrung.ini","Sperrung",$nummer1,$neu)
EndFunc
Func _mazosIniVerringerer($nummer);$nummer=z.B.10004
$vorher=IniRead("Sperrung.ini","Sperrung",$nummer,"0")
$pos=StringInStr($vorher,"|",Default,-1)
$vorne=StringLeft($vorher,$pos)
$hinten=StringTrimLeft($vorher,$pos)
$neu=$vorne & ($hinten-1)
IniWrite("Sperrung.ini","Sperrung",$nummer,$neu)
EndFunc
Func _Filedelete()
$index = _GUICtrlListView_GetSelectedIndices($Listview1)
$del_Key = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listview1), $index, 0)
IniDelete($SperrungINI, "Sperrung", $del_Key)
$aSperrung = IniReadSection($SperrungINI, "Sperrung")
_GUICtrlListView_DeleteItemsSelected($Listview1)
EndFunc
Func _FillListView()
_GUICtrlListView_DeleteAllItems($Listview1)
If $lastNum = 9999 Then Return
For $i = 1 To UBound($aSperrung) - 1
GUICtrlCreateListViewItem($aSperrung[$i][0] & '|' & $aSperrung[$i][1], $Listview1)
Next
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $Listview1
If Not IsHWnd($Listview1) Then $hWndListView = GUICtrlGetHandle($Listview1)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_RCLICK
Return $GUI_RUNDEFMSG
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Func LVSort($hWnd, $nItem1, $nItem2, $nColumn)
Local $nSort
If $nColumn = $nCurCol Then
If Not $bSet Then
$nSortDir = $nSortDir * - 1
$bSet = 1
EndIf
Else
$nSortDir = 1
EndIf
$nCol = $nColumn
$val1 = GetSubItemText($Listview1, $nItem1, $nColumn)
$val2 = GetSubItemText($Listview1, $nItem2, $nColumn)
If $nColumn = 2 Then
$val1 = StringRight($val1, 4) & StringMid($val1, 4, 2) & StringLeft($val1, 2)
$val2 = StringRight($val2, 4) & StringMid($val2, 4, 2) & StringLeft($val2, 2)
EndIf
$nResult = 0
If $val1 < $val2 Then
$nResult = -1
ElseIf $val1 > $val2 Then
$nResult = 1
EndIf
$nResult = $nResult * $nSortDir
Return $nResult
EndFunc
Func GetSubItemText($nCtrlID, $nItemID, $nColumn)
Local $stLvfi = DllStructCreate("uint;ptr;int;int[2];int")
DllStructSetData($stLvfi, 1, $LVFI_PARAM)
DllStructSetData($stLvfi, 3, $nItemID)
Local $stBuffer = DllStructCreate("char[260]")
[/autoit] [autoit][/autoit] [autoit]$nIndex = GUICtrlSendMsg($nCtrlID, $LVM_FINDITEM, -1, DllStructGetPtr($stLvfi));
[/autoit] [autoit][/autoit] [autoit]Local $stLvi = DllStructCreate("uint;int;int;uint;uint;ptr;int;int;int;int")
[/autoit] [autoit][/autoit] [autoit]DllStructSetData($stLvi, 1, $LVIF_TEXT)
DllStructSetData($stLvi, 2, $nIndex)
DllStructSetData($stLvi, 3, $nColumn)
DllStructSetData($stLvi, 6, DllStructGetPtr($stBuffer))
DllStructSetData($stLvi, 7, 260)
GUICtrlSendMsg($nCtrlID, $LVM_GETITEM, 0, DllStructGetPtr($stLvi));
[/autoit] [autoit][/autoit] [autoit]$sItemText = DllStructGetData($stBuffer, 1)
[/autoit] [autoit][/autoit] [autoit]$stLvi = 0
$stLvfi = 0
$stBuffer = 0
Return $sItemText
EndFunc