AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Variable hat immer den Wert 1 (das soll nicht so)
Thema durchsuchen
Ansicht
Themen-Optionen

Variable hat immer den Wert 1 (das soll nicht so)

Ein Thema von Neutron · begonnen am 9. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
Neutron

Registriert seit: 14. Mär 2006
47 Beiträge
 
Delphi 2006 Professional
 
#1

Variable hat immer den Wert 1 (das soll nicht so)

  Alt 9. Apr 2006, 15:22
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?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 9. Apr 2006, 15:35
verwende doch einfach ListView.ItemIndex
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Neutron

Registriert seit: 14. Mär 2006
47 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 10. Apr 2006, 10:21
Danke!

Daran hab ich gar nicht gedacht!
  Mit Zitat antworten Zitat
Neutron

Registriert seit: 14. Mär 2006
47 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 10. Apr 2006, 10:37
Ey moment mal...
Bei TListView gibt es nicht einfach ListView.Itemindex! Das ist nur bei TListbox so!
Also bin ich wieder bei 0!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 10. Apr 2006, 10:41
Also meine TListView kennt

ListView1.ItemIndex
  Mit Zitat antworten Zitat
Neutron

Registriert seit: 14. Mär 2006
47 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 10. Apr 2006, 10:53
Ich arbeite mit Delphi 5 Standert und bei mir sagt er !Undefinierter Bezeichner 'Itemindex'!
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Variable hat immer den Wert 1 (das soll nicht so)

  Alt 10. Apr 2006, 11:01
Das nur nebenbei (ungetestet).
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  DeleteItem, I, S, L: Integer;
  Filename: String;
begin
  if ListView1.Selected = Nil then
    MessageDlg('Bitte wählen sie erst einen Listeneintag aus!', mtInformation, [mbOK], 0)
  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 := Format('%sSpeicher\Daten\%d', [ExtractFilePath(Application.ExeName), DeleteItem]);
          DeleteFile(Filename + '.OKM');
          DeleteFile(Filename + 'SMB.OKM');
          DeleteFile(Filename + 'Bemerk.OKM');
          DeleteFile(Filename + 'FreuFam.OKM');
          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 := Format('%sSpeicher\Daten\%d', [ExtractFilePath(Application.ExeName), L]);
              DeleteFile(Filename + '.OKM');
              DeleteFile(Filename + 'SMB.OKM');
              DeleteFile(Filename + 'Bemerk.OKM');
              DeleteFile(Filename + 'FreuFam.OKM');
              ListView1.Selected := ListView1.Items[0];
              LoadfromStream(0);
            end
          else
            if ListView1.Items.Count <= 0 then
              ListView1.Selected := Nil;
        end;
    end;
end;
MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz