Und zwar kann ich nur 1 seite eingeben richtig wenn ich näckste machen will kommt anstatt der name eine 0 zieh aber Bilder unten
ihr sind bilder
Spoiler anzeigen
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GUIConstants.au3>
;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
#Region ### START Koda GUI section ####
$Form1 = GUICreate('Sperrung von Internet Seiten',300,300, 0, 0)
GUISetBkColor(0xFFFFFF)
$Input1 = GUICtrlCreateInput("", 0, 0, 300, 21)
$Button = GUICtrlCreateButton("Sperren", 100, 25, 75, 21, 0)
$Listview1 = GUICtrlCreateListView("Nr|Webseite|", 0, 50, 300, 250)
GUICtrlSetFont($Listview1, 8, 400, 0, "MS Sans Serif")
; ### hier Kontextmenü für ListView einfügen:
$mnu = GUICtrlCreateContextMenu($Listview1)
$mnu_edit = GUICtrlCreateMenuItem('Webseite Bearbeiten', $mnu)
$mnu_del = GUICtrlCreateMenuItem('Webseite Löschen', $mnu)
; ### Ende Kontextmenü
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $SperrungINI = @ScriptDir & "\Sperrung.ini"
; nur zum Testen:
If Not FileExists($SperrungINI) Then
IniWrite($SperrungINI, "Sperrung", 10000, "www.Torrent.to")
IniWrite($SperrungINI, "edit", 10000, "")
IniWrite($SperrungINI, "Sperrung", 10001, "www.speedtorrent.to")
IniWrite($SperrungINI, "edit", 10001, "")
IniWrite($SperrungINI, "Sperrung", 10002, "www.Bitreactor.to")
IniWrite($SperrungINI, "edit", 10002, "")
IniWrite($SperrungINI, "Numbers", "last", 10002)
EndIf
; Ende Test-INI
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] ; Window-Handle
Case $Form1
Switch $nMsg[0] ; Event
Case $GUI_EVENT_CLOSE
Exit
Case $Button
$lastNum += 1
$Input1 = GUICtrlRead($Input1)
IniWrite($SperrungINI, "Numbers", "last", $Listview1)
IniWrite($SperrungINI, "Sperrung", $lastNum, $Input1)
IniWrite($SperrungINI, "edit",$lastNum,"")
GUICtrlSetData($Input1, "")
; Array mit Patienten-Daten neu einlesen
$aSperrung = IniReadSection($SperrungINI, "Sperrung")
_FillListView()
Case $mnu_del
; Eintrag aus INI löschen:
$index = _GUICtrlListView_GetSelectedIndices($Listview1)
$del_Key = _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listview1), $index, 0)
IniDelete($SperrungINI, "Sperrung", $del_key)
; Array mit Patienten-Daten neu einlesen
$aSperrung = IniReadSection($SperrungINI, "Sperrung")
; entfernt Eintrag aus Liste:
_GUICtrlListView_DeleteItemsSelected($Listview1)
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 _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 _LeftDblClick($Info) ; Inhalt der angeklickten Zeile (alle Spalten) wird in GUI gezeigt
GUICtrlSetData($Input1 , _GUICtrlListView_GetItemText(GUICtrlGetHandle($Listview1), $Info[3], 0))
$nr = GUICtrlRead($Input1)
$edit= IniRead($INI,"edit",$nr,"")
GUICtrlSetData($Edit1,$edit)
GUISetState(@SW_SHOW, $Form1)
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_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
_LeftDblClick($aInfo)
Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
Return $GUI_RUNDEFMSG ; allow the default processing
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
; Unsere Sortier-Callback-Funktionen
Func LVSort($hWnd, $nItem1, $nItem2, $nColumn)
Local $nSort
; Schalte die Sortierrichtung um
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)
; Wenn es die dritte Spalte ist (startet bei 0) dann vergleiche die Daten
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 ; Keine Änderung in item1 und item2 Positionen
If $val1 < $val2 Then
$nResult = -1 ; Setze item2 vor item1
ElseIf $val1 > $val2 Then
$nResult = 1 ; Setze item2 hinter item1
EndIf
$nResult = $nResult * $nSortDir
Return $nResult
EndFunc
; Text eines Baumansicht-Elements in einer bestimmten Spalte abrufen
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]")
$nIndex = GUICtrlSendMsg($nCtrlID, $LVM_FINDITEM, -1, DllStructGetPtr($stLvfi));
Local $stLvi = DllStructCreate("uint;int;int;uint;uint;ptr;int;int;int;int")
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));
$sItemText = DllStructGetData($stBuffer, 1)
$stLvi = 0
$stLvfi = 0
$stBuffer = 0
Return $sItemText
EndFunc