Hallo Leute,
ich arbeite gerade an einem Skript für Zattoo...
Er möchte, dass auf Checkboxklick das eingegebene Passwort IN DER LISTVIEW-SPALTE PASSWORT durch Sternchen* ersetzt wird. Ich habe es so probiert:
Func _Passwort_Hide()
Dim $FileRead
$FileRead = _FileReadToArray("3hD29sWpOe9mNd7.kgj", $Accounts)
If IsArray($FileRead) Then
For $i = 1 To $FileRead[0]
$Split = StringSplit($Item[$i], '|')
$chars = chr(97) - chr(122)
$replacer = StringReplace($chars,$List[$i],"*")
$List[$i] = GUICtrlCreateListViewItem($i & "|" & $Split[1] & "|"&$replacer&"|" & $Split[3] & "|" & $Split[4] & "|" & $Split[5], $AccountList)
Next
EndIf
EndFunc
Wobei $chars die ASCII Tabelle darstellen soll und $replacer alles in * erstezen soll. Leider erfüllt dies nicht seinen Zweck...
Wisst ihr, was sich da machen lässt?
Der vollständige Skript
#include <ButtonConstants.au3>
#include <File.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GUIListView.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)
Global $Item, $List, $replacer
If Not FileExists(@ScriptDir & "\log.ini") Then ;Wenn die ini-Datei nicht existiert, dann...
IniWrite(@ScriptDir & "\log.ini","CHECKBOX","CHECKED","0"); Schreibe die ini-Datei
Else ;Wenn sie existiert, dann...
;Nichts^^
EndIf
;====================================================================================================================================
;=======================================================| Account Manager Design |===================================================
;====================================================================================================================================
$Account_Manager = GUICreate("Account Manager", 680, 380, -1, -1)
GUISetBkColor(0xC0C0C0)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Account_ManagerClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Account_ManagerMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_Account_ManagerMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "_Account_ManagerRestore")
$ID_Input = GUICtrlCreateInput("ID", 8, 8, 170, 21)
$Passwort_Input = GUICtrlCreateInput("Passwort", 185, 8, 160, 21)
$AddOptions = GUICtrlCreateCheckbox("", 350, 6, 17, 25)
GUICtrlSetOnEvent($AddOptions, "_Check_AddOptions")
GUICtrlSetTip(-1, "Optionale Daten")
$Add_Account = GUICtrlCreatePic(@ScriptDir & "\Add-Test.jpg", 370, 5, 26, 26)
GUICtrlSetOnEvent($Add_Account, "_Check_Add_Account")
GUICtrlSetTip(-1, "Account hinzufügen")
$Edit_Account = GUICtrlCreatePic(@ScriptDir & "\Edit-Test.jpg", 410, 5, 26, 26)
GUICtrlSetOnEvent($Edit_Account, "_Edit_Account")
GUICtrlSetTip(-1, "Account bearbeiten")
$Delete_Account = GUICtrlCreatePic(@ScriptDir & "\Delete-Test.jpg", 450, 5, 26, 26)
GUICtrlSetOnEvent($Add_Account, "_Delete_Account")
GUICtrlSetTip(-1, "Account löschen")
$Import_Account = GUICtrlCreatePic(@ScriptDir & "\Import-Test.jpg", 490, 5, 26, 26)
GUICtrlSetOnEvent($Import_Account, "_Import_Account")
GUICtrlSetTip(-1, "Account(s) importieren")
$Export_Account = GUICtrlCreatePic(@ScriptDir & "\Export-Test.jpg", 530, 5, 26, 26)
GUICtrlSetOnEvent($Export_Account, "_Export_Account")
GUICtrlSetTip(-1, "Account(s) exportieren")
$Einstellungen = GUICtrlCreatePic(@ScriptDir & "\Einstellungen.jpg", 645, 3, 30, 30)
GUICtrlSetOnEvent($Einstellungen, "_Einstellungen")
GUICtrlSetTip(-1, "Einstellungen bearbeiten")
$AccountList = GUICtrlCreateListView("ID|Passwort|E-Mail|Geheimfrage|Geheimantwort", 0, 35, 680, 318, -1)
_GUICtrlListView_SetColumnWidth($AccountList, 0, 140)
_GUICtrlListView_SetColumnWidth($AccountList, 1, 130)
_GUICtrlListView_SetColumnWidth($AccountList, 2, 135)
_GUICtrlListView_SetColumnWidth($AccountList, 3, 135)
_GUICtrlListView_SetColumnWidth($AccountList, 4, 135)
_GUICtrlListView_RegisterSortCallBack(GUICtrlGetHandle($AccountList))
;$Head_Pic = GUICtrlCreatePic(@DesktopDir & "\Grau.jpg", 0, 0, 580, 35, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Wenn BK Colour aktiv = unnötig
$EMail_Label = GUICtrlCreateLabel("E-Mail Adresse", 30, 43)
$EMail_Input = GUICtrlCreateInput("", 110, 40, 200, 21)
$Geheimfrage_Label = GUICtrlCreateLabel("Geheimfrage", 30, 68)
$Geheimfrage_Input = GUICtrlCreateInput("", 110, 65, 200, 21)
$Geheimantwort_Label = GUICtrlCreateLabel("Geheimantwort", 30, 93)
$Geheimantwort_Input = GUICtrlCreateInput("", 110, 90, 200, 21)
$Passwort_Hide = GUICtrlCreateCheckbox("Passwörter anzeigen", 555, 356)
GUICtrlSetOnEvent($Passwort_Hide, "_Passwort_Hide")
GUICtrlCreateCheckbox("Daten verschlüsseln", 430, 356)
_State($GUI_HIDE)
Dim $Accounts
_FileReadToArray("3hD29sWpOe9mNd7.kgj", $Accounts)
If IsArray($Accounts) Then
For $i = 1 To $Accounts[0]
GUICtrlCreateListViewItem(_StringEncrypt(0, $Accounts[$i], "y#h0O", 3), $AccountList)
Next
EndIf
GUISetState(@SW_SHOW)
While 1
Sleep(250)
WEnd
Func _Account_ManagerClose()
Exit
EndFunc ;==>_Account_ManagerClose
Func _Account_ManagerMinimize()
EndFunc ;==>_Account_ManagerMinimize
Func _Account_ManagerMaximize()
EndFunc ;==>_Account_ManagerMaximize
Func _Account_ManagerRestore()
EndFunc ;==>_Account_ManagerRestore
Func _Check_Add_Account()
GUICtrlSetState($ID_Input, $Gui_Disable)
GUICtrlSetState($Passwort_Input, $Gui_Disable)
GUICtrlSetState($EMail_Input, $Gui_Disable)
GUICtrlSetState($Geheimfrage_Input, $Gui_Disable)
GUICtrlSetState($Geheimantwort_Input, $Gui_Disable)
$ID = GUICtrlRead($ID_Input)
$Passwort = GUICtrlRead($Passwort_Input)
If StringLen($ID) < 32 Then
If StringLen($Passwort) < 32 Then
If StringLen($ID) < 3 Then
MsgBox(0, "Account Manager - Fehler", "Fehler: Die ID ist zu kurz")
Else
If StringLen($Passwort) < 5 Then
MsgBox(0, "Account Manager - Fehler", "Fehler: Das Passwort ist zu kurz")
Else
If $ID = "ID" or "" Then
MsgBox(0, "Account Manager - Fehler", "Fehler: Bitte gib eine ID ein")
Else
If $Passwort = "Password" or "" Then
MsgBox(0, "Account Manager - Fehler", "Fehler: Bitte gib ein Passwort ein")
Else
_Add_Account()
EndIf
EndIf
EndIf
EndIf
Else
MsgBox(0, "Account Manager - Fehler", "Fehler: Das Passwort ist zu lang")
EndIf
Else
MsgBox(0, "Account Manager - Fehler", "Fehler: Die ID ist zu lang")
EndIf
GUICtrlSetState($ID_Input, $Gui_Enable)
GUICtrlSetState($Passwort_Input, $Gui_Enable)
GUICtrlSetState($EMail_Input, $Gui_Enable)
GUICtrlSetState($Geheimfrage_Input, $Gui_Enable)
GUICtrlSetState($Geheimantwort_Input, $Gui_Enable)
EndFunc
Func _Add_Account()
FileWriteLine("3hD29sWpOe9mNd7.kgj", _StringEncrypt(1, GUICtrlRead($ID_Input) & "|" & GUICtrlRead($Passwort_Input) & "|" & GUICtrlRead($EMail_Input) & "|" & GUICtrlRead($Geheimfrage_Input) & "|" & GUICtrlRead($Geheimantwort_Input), "y#h0O", 3))
GUICtrlCreateListViewItem(GUICtrlRead($ID_Input) & "|" & GUICtrlRead($Passwort_Input) & "|" & GUICtrlRead($EMail_Input) & "|" & GUICtrlRead($Geheimfrage_Input) & "|" & GUICtrlRead($Geheimantwort_Input), $AccountList)
MsgBox(0, "Account Manager - Erfolgreich", "Erfolgreich: Account erfolgreich hinzugefügt")
EndFunc ;==>_Add_Account
Func _Einstellungen()
MsgBox(1, "Einstellungen", "Jetzt müssten sich die Einstellungen öffnen...")
EndFunc ;==>_Einstellungen
Func _State($State)
GUICtrlSetState($EMail_Label, $State)
GUICtrlSetState($EMail_Input, $State)
GUICtrlSetState($Geheimfrage_Label, $State)
GUICtrlSetState($Geheimfrage_Input, $State)
GUICtrlSetState($Geheimantwort_Label, $State)
GUICtrlSetState($Geheimantwort_Input, $State)
EndFunc ;==>_State
Func _Check_AddOptions()
If GUICtrlRead($AddOptions) = 1 Then
For $i = 0 To 100 Step 2
GUICtrlSetPos($AccountList, 0, 20 + $i, 680, 333 - $i)
Next
_State($GUI_SHOW)
ElseIf GUICtrlRead($AddOptions) = 4 Then
_State($GUI_HIDE)
For $i = 0 To 100 Step 2
GUICtrlSetPos($AccountList, 0, 135 - $i, 680, 218 + $i)
Next
EndIf
EndFunc ;==>_Check_AddOptions
_Passwort_Hide()
Func _Passwort_Hide()
Dim $FileRead
$FileRead = _FileReadToArray("3hD29sWpOe9mNd7.kgj", $Accounts)
If IsArray($FileRead) Then
For $i = 1 To $FileRead[0]
$Split = StringSplit($Item[$i], '|')
$chars = chr(97) - chr(122)
$replacer = StringReplace($chars,$List[$i],"*")
$List[$i] = GUICtrlCreateListViewItem($i & "|" & $Split[1] & "|"&$replacer&"|" & $Split[3] & "|" & $Split[4] & "|" & $Split[5], $AccountList)
Next
EndIf
EndFunc
MfG button421