"String" in Listbox

Zerolith

Mitglied
wie kann ich einen String (ClientSocketRead!) dieser Form

sBuf := 'Eintrag1#13#10Eintrag2#13#10Eintrag3#13#10';

in ne listbox bringen?

also jeden "eintrag" (Eintrag1 usw) als extra Item

ich hab schon probiert... aber irgendwie haut meine logik net ganz hin

thx schon im vorraus
 
Als erstes würde ich den String in mehrere Teile aufsplitten, wie es hier beschrieben wird. Danach kannst Du mit einer Schleife jedes einzelne Element des Arrays in die ListBox schreiben.

Wahrscheinlich gibt es aber auch noch eine viel einfachere Möglichkeit, aber so spontan fällt mir nur das ein. Liegt vermutlich an der Uhrzeit... :rolleyes:

Nachtrag: Hier steht auch noch was.
 
so schauts im moment aus

allerdings packt der wirklich den ganzen string wieder in ein ITEM
mist!

Code:
procedure TClient.ClSockRead(Sender: TObject; Socket: TCustomWinSocket);
var
s: String;
sl: TStringList; 
sBuf      : string;
sBuf2     : string;
pData     : pointer;
i,Size      : integer;
wort : string;
begin
  SockRead( Socket, pData, Size );
  if Size > 0 then
  begin
   SetLength( sBuf, Size );
   Move( pData^, sBuf[1], Size);

   sbuf2 := sbuf;
   delete(sbuf2,9,length(sbuf2));
   delete(sbuf,1,9);
   if sbuf2 = 'filelist' then
    begin
        s := sbuf;
        sl := TStringList.Create;
        sl.Delimiter := ';';

        sl.Add(s);
        for i := 0 to sl.Count-1 do
         begin
         wort := sl.strings[i];
         listbox1.Items.Add(wort);
         showmessage(wort);
         end;

        sl.Free;
    end

   else
   memo1.lines.add(sBuf);
   FreeMem(pData); //NEVER FORGET THIS, or you cause a memory leak!
  end;
end;

cya...
 
Hast Du den Code mal durch den Debugger laufen lassen oder zumindest Deinen Anforderungen entsprechend angepasst? Irgendwie sieht das nämlich so aus, als hättest Du den Code einfach nur kopiert.
Code:
sl.Delimiter := ';';
Wolltest Du nicht eigentlich einen Zeilenumbruch (#13#10) als Trennzeichen? ;)
Ich hab allerdings gerade kein Delphi hier, also ist diese Antwort ohne Gewähr. :rolleyes:
 
den socket code hab i als kleines grundgerüst gefunden in irgendeinem Forum.... is alle schon angepasst wie ichs braucht

ja ich wollt #13#10 als Delimiter - allerdings konnt i den Delimiter net als Char machen... i hab no net viel ahnung von den umwandlungen etc.

hab mich halt dann für ; entschieden

und eh durchn Debugger naja... nachts um 3 kann man nimmer viel von mir erwarten - bin einfach nich draufgekommen

ehm wo is der unterschied zwieschen meiner und deiner Delimiter zeile?

cu
 
ich verstehs echt nicht... habs mit #13#10 au scho gemacht...

so ein müll

es wird einfach nciht "Getrennt"... der string ist und bleibt balblab1;blabalbal2;blfasbdfla3; usw...

ich bekomm ihn nicht getrennt!
 
und es kann nicht am String (der vom SocketServer gesendet wird) liegen

hab schon manuel n String mit 'terst;test;test;' probiert...

das gleiche :-((
 
oder auch nicht!

mist... hat nur bei dem beispiel string hingehauen..

die Items die vom scoket zurückgegeben werden enthalten auch abstände... dann funktioniert das ganze nich mehr...
 
Zurück