AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [indy] treeview übertragen
Thema durchsuchen
Ansicht
Themen-Optionen

[indy] treeview übertragen

Ein Thema von the_seed · begonnen am 12. Aug 2004 · letzter Beitrag vom 14. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#1

[indy] treeview übertragen

  Alt 12. Aug 2004, 19:14
hallo, gibt es ne möglich keit mit der indy kompo idtcp...
ein treeview zu übertragen?
oder müsste man die inzelnen einträhe vorher in stringlists packen?

brauche schnelle antwort 'plz'!
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [indy] treeview übertragen

  Alt 12. Aug 2004, 20:27
Tach!

Du kannst auch einen Stream benutzen und den Inhalt damit rüberschicken... wenn deine Treeview nur Text enthält, gehts mit einer Stringlist wahrscheinlich einfacher (max 20 Min Arbeit?)
Dani H.
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#3

Re: [indy] treeview übertragen

  Alt 12. Aug 2004, 20:53
hi, darüber hab ich mir auch schon gedanken gemacht,
bei ner stringlist ist aber das problem bei unterverzeichnissen!!??
und mit streams hab ich noch nicht viel erfahrungen ...
habe dazu nur das gefunden...
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [indy] treeview übertragen

  Alt 12. Aug 2004, 21:54
Bei Stringlisten würd ich es so machen (ist wahrscheinlich die uneleganteste und am meisten Speicher/CPU/Traffic fressende Möglichkeit von allen ) :

Code:
Stringlist:

Line Inhalt

0      Hallo #2
1      Hallo #2 Welt #2
2      Hallo #2 Welt #2 #3 dies #2
3      Hallo #2 Welt #2 #3 dies #2 #3 ist #2
4      Hallo #2 Welt #2 #3 dies #2 #3 ist #2 ein #2
5      Hallo #2 Welt #2 #3 dies #2 #3 ist #2 ein #2 Test #2
Treeview:



-----
Die Zeichen #2 und #3 sind willkürlich ausgewählte Trennzeichen, #2 bedeutet eine Ebene tiefer, #3 bedeutet eine Ebene höher. So könnte es gehen (?)
Miniaturansicht angehängter Grafiken
tree.jpeg  
Dani H.
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#5

Re: [indy] treeview übertragen

  Alt 12. Aug 2004, 23:04
hi, mein problem ist ich hab ein treeview in der vielleicht an die <100 strings stehen versch dinge ...
nur wie bekomm ich den treeview string in einen stream bzw eine stringlist kann ihn/sie übertragen empfagen und in einem treeview widergeben ohne dass alles durcheinander oder feherlhaft ist ???
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#6

Re: [indy] treeview übertragen

  Alt 13. Aug 2004, 10:05
habe es folgender massen versucht nur leider funkt. nicht

Code:
server:
...
var
b:string;
str:tstream;

begin
 
  b:=athread.connection.readln;
 
  if b='test' then begin
  try
  str:=TMemoryStream.Create;
  treeview1.SaveToStream(str);
  str.Position := 0;
  athread.connection.OpenWriteBuffer;
  athread.connection.WriteStream(str, true, true, 0);
  athread.connection.CloseWriteBuffer;
  except
  athread.connection.CancelWriteBuffer;

-------------------
client:
...
var
str:tstream;

begin
   
  try
  idtcpclient1.writeln('test');
  str:=TMemoryStream.Create;
  ReadStream(str);
  treeview1.loadfromstream(str);
  finally str.Free;
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [indy] treeview übertragen

  Alt 13. Aug 2004, 17:41
Bullshit geschrieben...hat nicht geholfen...bitte weiterlesen.
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: [indy] treeview übertragen

  Alt 13. Aug 2004, 18:32
also bei mir hat das Treeview eine Methode "SaveToStream" und "LoadFromStream" - es wäre das einfachste diese zu benutzen.
Delphi-Quellcode:
var LStream: TMemoryStream;
begin
  LStream := TMemoryStream.Create;
  TreeView1.SaveToStream(LStream);
  TCPc.Connect();
  TCPc.WriteStrings(TreeStrings, true);
  LStream.Free;
end;
und auf der anderen Seite dann einfach LoadFromStream;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#9

Re: [indy] treeview übertragen

  Alt 13. Aug 2004, 18:43
Zitat von SirThornberry:
also bei mir hat das Treeview eine Methode "SaveToStream" und "LoadFromStream" - es wäre das einfachste diese zu benutzen.
Delphi-Quellcode:
var LStream: TMemoryStream;
begin
  LStream := TMemoryStream.Create;
  TreeView1.SaveToStream(LStream);
  TCPc.Connect();
  TCPc.WriteStrings(TreeStrings, true);
  LStream.Free;
end;
und auf der anderen Seite dann einfach LoadFromStream;
=> du speicherst die einträge in nem stream und überträgst die strings *lol*

ja, das meinte ich oben ja
nur das problem ist das ich es mit indy machen will und wenn ichs wie og. machen gibt es zwar keine exception aber es kommt auch nix an...
kennt sich denn niemand mit indy gut aus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: [indy] treeview übertragen

  Alt 13. Aug 2004, 18:44
naja, du musst nach "SaveToStream" noch die Position des Streams auf 0 setzen
Delphi-Quellcode:
var LStream: TMemoryStream;
begin
  LStream := TMemoryStream.Create;
  TreeView1.SaveToStream(LStream);
  LStream.Position := 0; // <== Die Zeile habsch vergessen gehabt
  //stream senden (mit welcher compo du das auch immer machst)
  IdTCPClient1.Connect;
  IdTCPClient1.WriteStream(LStream);
  LStream.Free;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:37 Uhr.
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