![]() |
passwörter (***) in der listview?
hi,
ich wollte mal fragen ob es möglich ist, EINE(nicht alle!) spalte in der listview(vsReport) als passwort anzeigen lassen, dass nur *** angezeigt werden. man sollte in programm einstellen können, ob es als passwort angezeigt werden soll oder als klartext. ich hoffe es ist möglich... gruss urbanbruhin |
Re: passwörter (***) in der listview?
Hi!
Ich denke mal das musst du per Hand übernehmen ;) mfg phlux :hi: |
Re: passwörter (***) in der listview?
hi,
und wie macht man das? |
Re: passwörter (***) in der listview?
In einer for-Schleife die items durchgehen, und ein bestimmtes Subitem durch Sternchen ersetzen (StringofChar) ;)
|
Re: passwörter (***) in der listview?
Zitat:
|
Re: passwörter (***) in der listview?
Ihr vergesst dabei aber, dass der String dann auch *** ist!
Eine Abfrage des Passworts wird dabei z.B. unmöglich! ;) //edit: Man könnte das Passwort im Klartext dann auch in eine Variable speichern, mit der man dann abfragt. |
Re: passwörter (***) in der listview?
Delphi-Quellcode:
also am besten eine stringlist, oder?
Man könnte das Passwort im Klartext dann auch in eine Variable speichern, mit der man dann abfragt.
|
Re: passwörter (***) in der listview?
Zum Beispiel. Das ist in dem Falle wohl das einfachste, da der Itemindex sogar gleich mit dem der ListView übereinstimmt.
|
Re: passwörter (***) in der listview?
ok, dann probiere ich es mal so...
danke für die antworten! MFG urbanbruhin |
Re: passwörter (***) in der listview?
Hai,
am einfachsten dürfte es wohl sein einfach die Ausgabe des Textes zu ändern ;-) Wozu extra eine Stringliste verwalten wenn es doch nur darum geht das die Passwörter nicht angezeigt werden :stupid: Der Code geht davon aus das die Passwörter in der zweiten Spalte (SubItem = 1) stehen. Über CheckBox1 wird entschieden ob sie gezeigt werden oder nicht.
Delphi-Quellcode:
uses
CommCtrl; procedure TForm1.CheckBox1Click(Sender: TObject); begin ListView1.Repaint; end; procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: integer; State: TCustomDrawState; var DefaultDraw: boolean); var rect: TRect; begin if (SubItem = 1) and (CheckBox1.Checked) then begin DefaultDraw := False; ListView_GetSubItemRect(Sender.Handle, Item.Index, SubItem, LVIR_BOUNDS, @rect); DrawText(Sender.Canvas.Handle, PChar('******'), Length('******'), rect, DT_SINGLELINE or DT_END_ELLIPSIS); end else begin DefaultDraw := True; end; end; procedure TForm1.ListView1Click(Sender: TObject); begin Edit1.Text := ListView1.Items[ListView1.ItemIndex].SubItems[0]; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz