Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Internet to Listview (https://www.delphipraxis.net/138573-internet-listview.html)

RedShakal 15. Aug 2009 19:41

Re: Internet to Listview
 
das hatte ich davor schon bereits probiert, hat aber leider keinen effekt

mkinzler 15. Aug 2009 19:59

Re: Internet to Listview
 
Was meinst du mit kein effekt?

RedShakal 15. Aug 2009 20:07

Re: Internet to Listview
 
naja er überschreibt immernoch die erste Zeile

mkinzler 15. Aug 2009 20:09

Re: Internet to Listview
 
Dürfte er eigentlich nicht. Zeige mal etwas mehr Code

RedShakal 15. Aug 2009 20:19

Re: Internet to Listview
 
Delphi-Quellcode:
function Explode(const Separator, S :String; Limit :Integer = 0): TDynStringArray;
  var
    SepLen: Integer;
    F, P: PChar;
begin
  SetLength(Result, 0);
  if (S = '') or (Limit < 0) then
    Exit;
  if Separator = '' then
    begin
      SetLength(Result, 1);
      Result[0] := S;
      Exit;
    end;
  SepLen := Length(Separator);

  P := PChar(S);
  while P^ <> #0 do
    begin
      F := P;
      P := AnsiStrPos(P, PChar(Separator));
      if (P = nil) or ((Limit > 0) and (Length(Result) = Limit - 1)) then
        P := StrEnd(F);
      SetLength(Result, Length(Result) + 1);
      SetString(Result[High(Result)], F, P - F);
      F := P;
      if P = Separator then
        SetLength(Result, Length(Result) + 1);
      while (P^ <> #0) and (P - F < SepLen) do
        Inc(P);
    end;
end;


procedure TForm6.Button3Click(Sender: TObject);
var
  Maps   : string;
  LI     : TListItem;
  StrArr : TDynStringArray;
begin

 if Form1.Client.Connected = false then
    begin
      Form1.Client.Connect(3000);
    end;

  Form1.Client.WriteLn('Maplist');

  repeat
    Maps := Form1.Client.ReadLn;

    if Length(Maps) > 0 then
      begin
        Maplist.Clear;
        StrArr := Explode('|', Maps);
        LI := Maplist.Items.Add;
        LI.Caption :=  StrArr[2];
        LI.SubItems.Add(StrArr[4]);
        LI.SubItems.Add(StrArr[3]);
        i := i+1;
      end;
  until
    i = StrToInt(StrArr[1]);
    Form1.Client.Disconnect;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
  i := 1;
end;

end.

mkinzler 15. Aug 2009 20:23

Re: Internet to Listview
 
Du löschst den ListView auch
Delphi-Quellcode:
for i := 1 to StrArr[1] do
begin
    Maps := Form1.Client.ReadLn;

    if Length(Maps) > 0 then
    begin
        StrArr := Explode('|', Maps);
        LI := Maplist.Items.Add;
        LI.Caption :=  StrArr[2];
        LI.SubItems.Add(StrArr[4]);
        LI.SubItems.Add(StrArr[3]);
    end;
end;

RedShakal 15. Aug 2009 20:39

Re: Internet to Listview
 
ach ich bin doch doof :oops: das clear ist durch nen Logikfehler an der falschen Stelle gelandet :wall:

dankeschön :mrgreen:


Edit: Was mir aufgefallen ist: Wenn ich das erste mal auf Update klicke, fehlt die letzte Map. Wenn ich nochmal klicke ist sie wieder da. Woran könnte das liegen? das Problem tritt auch auf, wenn ich einen Delay setze beim senden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz