![]() |
störendes '=' vor String nach Update von TStringList
Moin.
Ich habe ein Problem beim Updaten eines Items einer TStringList, das ich mir nicht erklären kann!!! Ich spreche eine Funktion zum Updaten eines Eintrags an, führt die MessageBox auch den korrekten Wert auf. Nun ist es aber komischerweise so, dass nach dem Beenden dieser Funktion der Eintrag Value[i] mit einem sch...ß Gleichheitszeichen anfängt. Ich habe nirgenswo geschrieben, das das da rein soll!! ich häng hier schon seit 2 Stunden am Debuggen!!! Eintrag soll sein: 'EintragderListe' Eintrag ist: '=EintragderListe' Befreit mich bitte!!!!! Danke!
Delphi-Quellcode:
var
Values : TStringList; ... // stinknormales zuweisen procedure TForm1.EditItem(i : Integer; item1 : String; item2 : String); begin Values.ValueFromIndex[i] := item1+' '+item2; ShowMessage(Values.ValueFromIndex[i]); //<--- gibt korrekten wert!!! end; // Values in eine Datei schrieben procedure TForm1.WriteToFile(); var handle : textFile; i : Integer; begin // <--- Hier ist Values[i] schon scheisse! try if Values.Count > 0 then Values.SaveToFile(hostfile) else begin // workaround für den letzten gelöschten eintrag // leere Datei. Es hat sonst vorher immer geknallt! assignFile(handle,hostfile); ReWrite(handle); Write(handle, ''); CloseFile(handle); end; except showMessage('Fíle kann nicht beschrieben werden'); end; end; |
Re: störendes '=' vor String nach Update von TStringList
Hi,
wenn du die Stringliste nicht zum Speichern von name/value-pairs benutzen willst, dann sind die properties Names[], Values[] und ValueFromIndex[] tabu für dich:
Delphi-Quellcode:
Oder hast du eine gute Erklärung für dein Vorgehen?
// stinknormales zuweisen
procedure TForm1.EditItem(i : Integer; item1 : String; item2 : String); begin Values[i] := item1 + ' ' + item2; end; Grüße vom marabu |
Re: störendes '=' vor String nach Update von TStringList
Ah! Gut zu wissen dass man die TStringList auch als eine Art Dictionay nutzen kann.
Ich habe schon vergebens nach einer Lösung hierfür gesucht... Danke dafür! Wie nutzt ich denn die Schlüssel->Wert Geschichte?! |
Re: störendes '=' vor String nach Update von TStringList
Hi bensh
Zeig mal den Code, wo die Methode "TForm1.EditItem" aufgerufen wird. Ansonsten bin ich der gleichen Meinug wie "marabu". |
Re: störendes '=' vor String nach Update von TStringList
hi harald.
code:
Delphi-Quellcode:
Wie du siehts würde ich die name/value kombi brauchen
procedure TForm1.Button6Click(Sender: TObject);
var action : Integer; selected: Integer; item: String; A : TStringList; begin try A := TStringList.Create; selected := ListBox1.ItemIndex; if selected < 0 then ShowMessage('Kein Eintrag ausgwählt!') else begin action := MessageDlg('"'+item+'" ändern?', mtWarning , mbOKCancel, 0); if action = mrOK then begin item := Values[selected]; Split(' ', item, A); Edit3.Text := a[0]; Edit4.Text := a[1]; ShowEditComponents(); end; end; finally A.Free; end; end; Cheers --- Edit: ich habe das jetzt zu fuss gelöst. Nicht schön aber es funkt. Über alle Elemente iterieren und stringCompare() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz