Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Mark. ListBox-Eintrag aus .ini löschen

  Alt 10. Feb 2007, 11:54
Hallo ihr zwei,

da der Zugriffsschlüssel für die INI-Datei das ListBox-Item ist, darf es erst gelöscht werden, wenn die INI-Datei bearbeitet wurde. Die Prüfung, ob überhaupt ein Item markiert wurde, würde ich außerhalb des event handlers machen und darüber den Button erst aktivieren (Button.Enabled := ListBox.ItemIndex >= 0). Bei der Sicherheitsfrage sollte man die wichtige Information (um welchen Benutzer es sich handelt) gleich mit rein packen. Wenn der gerade aktive Benutzer nicht gelöscht werden darf, dann muss man auch das prüfen (bei Button.Enabled := ...).

Delphi-Quellcode:
resourcestring
  S_USERSECTION = 'Users';
  S_SAFETYFIRST = 'Benutzer "%s" löschen?';

procedure TUserForm.DeleteButtonClick(Sender: TObject);
var
  msg: string;
begin
  with ListBox do
  begin
    msg := Format(S_SAFETYFIRST, [Items[ItemIndex]);
    if MessageDlg(msg, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
      ini.DeleteKey(S_USERSECTION, Items[ItemIndex]);
      Items.Delete(ItemIndex);
    end;
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat