Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Eintrag in TStringList wird gelöscht wenn value auf '' gesetzt wird

  Alt 7. Okt 2024, 13:34
Ja, leider werden leere Items immer gelöscht.

Du könntest ein Leerzeichen zuweisen, anstatt eines Leerstrings,
und beim Lesen halt mit Trim.

Oder, entsprechend dem PUT, die ganze Zeile zuweisen, anstatt nur den Value.

Zitat:
Delphi-Quellcode:
procedure TStrings.SetValue(const Name, Value: string);
var
  I: Integer;
begin
  I := IndexOfName(Name);
  if Value <> 'then
  begin
    if I < 0 then I := Add('');
    Put(I, Name + NameValueSeparator + Value);
  end else
  begin
    if I >= 0 then Delete(I);
  end;
end;

procedure TStrings.SetValueFromIndex(Index: Integer; const Value: string);
begin
  if Value <> 'then
  begin
    if Index < 0 then Index := Add('');
    Put(Index, Names[Index] + NameValueSeparator + Value);
  end
  else
    if Index >= 0 then Delete(Index);
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat