Thema: Delphi Problem mit Liste

Einzelnen Beitrag anzeigen

Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#1

Problem mit Liste

  Alt 9. Nov 2007, 13:37
Hallo,
Ich habe ein Problem mit einer Liste. Sie funktioniert zwar, aber er überschreibt gleiche Namen. Gibt es eine möglichkeit dies zu ändern? Also das er die Namen nicht überschreibt sondern einfach neu anlegt:
Delphi-Quellcode:
function CompareValues(List: TStringList; Index1, Index2: Integer): Integer;
var
  value1, value2: integer;
begin
  value1 := StrToInt(List.ValueFromIndex[Index1]);
  value2 := StrToInt(List.ValueFromIndex[Index2]);
  if value1 > value2 then Result := 1
  else if value1 < value2 then Result := -1
  else Result := 0;
end;

procedure TDemoForm.ClearActionExecute(Sender: TObject);
begin
  VLE.Strings.Clear;
end;

procedure TDemoForm.RemoveActionExecute(Sender: TObject);
begin
  with VLE do
    DeleteRow(Row);
end;

procedure TDemoForm.AddActionExecute(Sender: TObject);
begin
  with VLE do
  begin
    Strings.BeginUpdate;
    Values[NameEdit.Text] := ScoreEdit.Text;
    TValueListStrings(Strings).CustomSort(CompareValues);
    Strings.EndUpdate;
  end;
end;

procedure TDemoForm.FormCreate(Sender: TObject);
begin
  fileName := ChangeFileExt(ParamStr(0), '.hs');
  if FileExists('test.txt')
    then VLE.Strings.LoadFromFile('test.txt')
    else VLE.Strings.Clear;
end;

procedure TDemoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  VLE.Strings.SaveToFile('test.txt');
end;


procedure TDemoForm.RemoveActionUpdate(Sender: TObject);
begin
  with Sender as TAction do
    Enabled := VLE.Strings.Count > 0;
end;

procedure TDemoForm.ClearActionUpdate(Sender: TObject);
begin
  with Sender as TAction do
    Enabled := VLE.Strings.Count > 0;
end;

procedure TDemoForm.AddActionUpdate(Sender: TObject);
var
  i: integer;
begin
  with Sender as TAction do
    Enabled := (NameEdit.Text <> '') and TryStrToInt(ScoreEdit.Text, i);
end;

end.
Oder muss da einfach ne komplett andre Liste her?

mfg
  Mit Zitat antworten Zitat