![]() |
[] werden weggelassen.
Hallo!
Ich habe einen String eingelesen und suche jetzt nach '[Pk]', leider wird dieser Ausdruck beim lesen aus dem Memo weggelassen. Warum ist das so, und wie lese ich den String besser aus?
Delphi-Quellcode:
MfG Master
for i:= 0 to memdaten.Lines.Count-1 do
begin zeichen:= memdaten.Lines.ValueFromIndex[i]; zeig:= pos('[Pk]', zeichen); |
Re: [] werden weggelassen.
An deinem Code ist der vermeintliche Fehler nicht ablesbar. Eventuell passt deine Methode nicht zu den Daten.
marabu |
Re: [] werden weggelassen.
Der Fehler ist sehr wohl da. So dürfte es gehen (zumindest bei mir):
Delphi-Quellcode:
[edit=alcaeus]quote- durch delphi-Tags ersetzt. In Zukunft bitte die richtigen Tags verwenden. Mfg, alcaeus[/edit]
procedure TForm1.Button1Click(Sender: TObject);
var mys:string; i, d:Integer; begin for i:=0 to Memo1.Lines.Count-1 do begin mys := Memo1.Lines.Strings[i]; mys := LowerCase(mys); d := Pos('[pk]',mys); if d<>0 then begin Caption := 'Line:' + IntToStr(i+1) +' Position:'+IntToStr( d ); Break; end; end; end; |
Re: [] werden weggelassen.
Das Problem liegt bei dem ValueFromIndex, welches bewirkt, dass vermutlich die erste Klammer weggelassen wird. Benutze einfach das Strings[] wie in dem Beispiel von sniper_w und es sollte funktionieren.
|
Re: [] werden weggelassen.
kannst du nich einfach so tun?
wenn in deinem memo es wie folgt steht.. Key=Value
Delphi-Quellcode:
wenn Value ne zahl ist :)
var
xSL: TStringlist; begin xSL := TStringlist.Create; xSL.Assign(Memo1.Lines); iValue := StrToIntDef(xSL.Values['Key'], 0); FreeAndNil(xSL); end; |
Re: [] werden weggelassen.
Hallo!
danke, es hat funktioniert MfG Master |
Re: [] werden weggelassen.
welche der varianten hat jetz funktioniert? ~neugierig~ :)
|
Re: [] werden weggelassen.
Wenn die Daten nicht gezeigt werden, kann man keinen Fehler im Code erkennen. Dass der Code für sich genommen korrekt funktioniert zeigt folgender Test:
Delphi-Quellcode:
Warum sollte ValueFromIndex nicht funktionieren?
memDaten.Lines[i] := 'key=abc[Pk]def';
zeichen := memdaten.Lines.ValueFromIndex[i]; // zeichen = 'abc[Pk]def'; zeig:= pos('[Pk]', zeichen); // zeig = 4; marabu |
Re: [] werden weggelassen.
Wenn das [pk] am Anfang der Zeile steht gibt das ValueFromIndex nur ein pk] zurück
|
Re: [] werden weggelassen.
Hallo!!
Habe die Version von sniper_w verwendet. Danke nochmal für die anderen Lösungen. MfG Master |
Re: [] werden weggelassen.
Zwar weiß jetzt immer noch keiner, wie die Daten wirklich aussehen, aber ich muss schmunzeln bei dem Gedanken, es könnte sich um eine Datei mit dem Aufbau einer INI-Datei handeln...
Wenn ich dann noch an den anderen thread des Autors denke... marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 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