![]() |
Re: Inhalt eines Strings herausschneiden
steht doch da: Ungenügende Forward- oder External-Deklaration
heisst meisten: Du hast eine funtion/procedure deklariert aber nicht implementiert. Schau mal nach ob du in der ersten Zeile der Implementation einen Schreibfehler hast. Wenn du da den Namen oder die Parameter falsch angibst, bekommst du so einen Fehler. |
Re: Inhalt eines Strings herausschneiden
Jo läuft danke
|
Re: Inhalt eines Strings herausschneiden
So habe es jetzt alles soweit nur ich bekomme das nicht hin die einzelnen datensätze in ein aray zu speichern
habe es damit probiert
Code:
Nur er gibt immer wieder den kompletten datensatz aus.
var
test: string; // da sind die datensätze drin test3: Array [1..7] of string; count: integer; i: integer; begin listitem:= ssl_anzeige.Selected; test:=listitem.Subitems.GetText; count:=1; i:=1; while not (Tokenize(test, count, '#') = '') do begin test3[i]:=(Tokenize(test, count, '#')); inc(count); i:= i+1; end; ssl_VNameedit1.text:= test3[1]; ssl_VNameedit2.text:= test3[2]; ssl_VNameedit3.text:= test3[3]; ssl_VNameedit4.text:= test3[4]; ssl_VNameedit5.text:= test3[5]; ssl_VNameedit6.text:= test3[6]; ssl_VNameedit7.text:= test3[7]; |
Re: Inhalt eines Strings herausschneiden
Kann fast nicht sein ...
Die Tokenize-Funktion arbeitet korrekt, und deine While-Schleife zum Füllen des Arrays eigentlich auch (abgesehen davon, dass du dir count oder i sparen könntest - aber das ist egal). Bist du sicher, dass deine "Inhaltsprüfung" korrekt ist? Eigentlich sollte dein test3-Array korrekt gefüllt sein. Belege doch dein String test mal händisch mit '123#456#789#abc#def' oder was weiss ich was. Also ohne den Umweg über
Delphi-Quellcode:
Das müsste - wie gesagt - funktionieren.
listitem:= ssl_anzeige.Selected;
test:=listitem.Subitems.GetText; |
Re: Inhalt eines Strings herausschneiden
in der vauiable test steht aber genau das drin test#test2#test3.... keine ahnung warum das nicht läuft
|
Re: Inhalt eines Strings herausschneiden
Wenn ihc das so mache wie oben beschrieben mit
Code:
dann schreibt er mir meine enzelnen Datensätze in die message untereinander rein also aus test#test2#test3 wird
ShowMessage(Tokenize(DeinString, Zaehlervariable, '#'));
test test2 test3 so zieht dann die message aus nur eins verstehen ich in diesem quelltext nihct was macht die zählervariable. Ich habe mal nen test gemacht wenn ihc das so mache wie oben dann setzt er mir wenn er die schleife durchgegangen ist. mein i auf 2 aber die müsste doch viel höher sein oder nicht? |
Re: Inhalt eines Strings herausschneiden
Wie wär's hiermit? (Oder ist das langsamer?)
Delphi-Quellcode:
type TStringDynArray = array of string; // aus der Unit Types
function Tokenize(Text: string; Delimiter: Char; var Liste: TStringDynArray): string; var StringList: TStringList; Count: Integer; begin StringList := TStringList.Create; StringList.Delimiter := Delimiter; StringList.DelimitedText := Text; SetLength(Liste, StringList.Count); for Count := 0 to Pred(StringList.Count) do Liste[Count] := StringList[Count]; end; |
Re: Inhalt eines Strings herausschneiden
und was genau soll die function machen?
|
Re: Inhalt eines Strings herausschneiden
Zitat:
Zitat:
|
Re: Inhalt eines Strings herausschneiden
Ach wenn das jetzt blöd kommt wie rufe ich die funktion auf?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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 by Thomas Breitkreuz