Hallo!
Ich der Kontaktmanager funktioniert!!!
Nach langem schreiben überarbeiten und löschen hab ich's hinbekommen.
Nun belästige ich euch wahrscheinlich das letzte mal (wegen des Kontaktmanagers)...
Also ich benötigte ja noch eine procedure für das Löschen verschiedener Kontakte
hier ist sie:
Delphi-Quellcode:
procedure TForm1.KontaktLschen1Click(Sender: TObject);
var
DeleteItem, I, S, L : Integer;
Filename : String;
begin
if ListView1.Selected = Nil then
begin
MessageDlg('Bitte wählen sie erst einen Listeneintag aus!', mtInformation, [mbOK], 0);
end
else
begin
DeleteItem := ListView1.Selected.Index;
L := ListView1.Items.Count;
if MessageDlg('Soll dieser Kontakt wirklich entfernt werden?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
ListView1.Selected.Delete;
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(DeleteItem)+'.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(DeleteItem)+'SMB.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(DeleteItem)+'Bemerk.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(DeleteItem)+'FreuFam.OKM';
DeleteFile(Filename);
if ListView1.Items.Count > 0 then //We
begin
S := ListView1.Items.Count;
for I := DeleteItem to S do
begin
ClearPuffer;
LoadFromStream(I);
SaveToStream(I-1)
end;
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(L)+'.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(L)+'SMB.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(L)+'Bemerk.OKM';
DeleteFile(Filename);
Filename := ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(L)+'FreuFam.OKM';
DeleteFile(Filename);
ListView1.Selected := ListView1.Items[0];
LoadfromStream(0);
end
else
if ListView1.Items.Count <= 0 then
begin
ListView1.Selected := Nil;
end;
end;
end;
end;
Mein Problem ist nur das die Variable (DeleteItem) immer 1 ist obwohl sie ja normalerweise
den index der Selektion von ListView1 haben müsste.
(Ich hab auch mal was anderes angeklickt, als nur immer das selbe Item
und der Wert blieb 1)
hat jemand ne Ahnung woran das liegt?