AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Internet to Listview
Thema durchsuchen
Ansicht
Themen-Optionen

Internet to Listview

Ein Thema von RedShakal · begonnen am 12. Aug 2009 · letzter Beitrag vom 15. Aug 2009
 
RedShakal
(Gast)

n/a Beiträge
 
#3

Re: Internet to Listview

  Alt 15. Aug 2009, 17:41
Ich habe das ganze jetzt nochmal auf TCPIP Basis probiert:


Der Client:

Delphi-Quellcode:
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');
  Maps := Form1.Client.ReadLn;

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

  Form1.Client.Disconnect;
end;

Der Server:

Delphi-Quellcode:
if StrArr[0] = 'Maplistthen
    begin
       ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'maplist.ini');
       try
         Anzahl := ini.ReadInteger('Maplist','Anzahl',0);
         for i := 1 to Anzahl do
           Maps := ini.ReadString('Maplist', IntToStr(i), '');
           AThread.Connection.WriteLn('Maplist|'+Maps);
           Sleep(100);
          finally
            ini.free;
          end;
    end;

Die Maplist:

Delphi-Quellcode:
[Maplist]
Anzahl=4
1=area_Fayt_51|D-FENS|29.07.09
2=Die_Sanduhr|D-FENS|29.07.09
3=Krossfire|D-FENS|29.07.09
4=Iron_Mountain|D-FENS|02.08.09
5=CenterWar|veCtor|17.07.09
6=WaterPath|veCtor|21.07.09
7=Maptest|RedShakal|08.08.09
8=newm_01|-|26.07.09
9=newm_02|-|26.07.09
10=newm_03|-|26.07.09
11=newm_04|-|26.07.09
12=mlti_01|-|10.08.09
13=mlti_02|-|10.08.09
14=mlti_03|-|10.08.09
15=mlti_04|-|10.08.09
16=mlti_05|-|10.08.09
17=mlti_06|-|10.08.09
18=mlti_07|-|10.08.09
19=mlti_08|-|10.08.09
20=mlti_09|-|10.08.09
21=mlti_10|-|10.08.09
22=mlti_11|-|10.08.09
23=mlti_12|-|10.08.09
24=mlti_13|-|10.08.09
25=mlti_14|-|10.08.09
26=mlti_15|-|10.08.09
Erklärung:

1. Client schickt Anfrage zum Server
2. Server wertet Anfrage aus
3. Server öffnet Map Datenbank ( Ini Datei )
4. Map liest Wert "Anzahl" aus der angibt, wieviele Maps vorhanden sind
5. Server arbeitet Map 1 bis Map (Wert von Anzahl) aus

Bis hierhin funktioniert alles soweit.

6. Server schickt Stringweise die Daten zum Client
7. Der Client schreibt jeden String in die Listview

Wo ist das Problem?

Beim Client kommt immer nur die letzte Map an.
In meinem Fall steht Anzahl auf 4, daher kommt nur Iron_Mountain|D-FENS|02.08.09 in der Listview an.
Ich hatte auch schon versucht die Anzahl in dem String mitzuschicken, aber das endete darin, das ich 3 Leerzeilen hatte und erst dann Map 4 auftauchte. Ich vermute es liegt daran das ich Readln öfter als 1x aufrufen muss aber leider bin ich mir nicht sicher wie ich das anstellen soll. Wie gesagt zählschleifen führen zu leerzeilen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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