AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datei wird beim senden kleiner :(
Thema durchsuchen
Ansicht
Themen-Optionen

Datei wird beim senden kleiner :(

Ein Thema von freak4fun · begonnen am 19. Okt 2004 · letzter Beitrag vom 20. Okt 2004
 
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: Datei wird beim senden kleiner :(

  Alt 20. Okt 2004, 14:30
so habs weiter probiert:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdTCPServer, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    IdTCPClient1: TIdTCPClient;
    IdTCPServer1: TIdTCPServer;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure IdTCPServer1Execute(AThread: TIdPeerThread);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Stream: TFileStream;
begin
  if OpenDialog1.Execute then
    Stream := TFileStream.Create(OpenDialog1.FileName, fmCreate);
  IdTCPClient1.Host := '127.0.0.1';
  IdTCPClient1.Port := 7000;
  IdTCPServer1.Active := True;
  IdTCPClient1.Connect;
  try
    IdTCPClient1.WriteStream(Stream, True, True, 0);
  finally
    Stream.Free;
  end;

end;

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  EingangsStream: TFilestream;
begin
  if SaveDialog1.Execute then
  EingangsStream := TFileStream.Create(SaveDialog1.FileName, fmCreate);
  try
    Athread.Connection.ReadStream(EingangsStream);
  finally
    EingangsStream.Free;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if IdTCPClient1.Connected then
    IdTCPClient1.Disconnect;
  if IdTCPServer1.Active then
    IdTCPServer1.Active := False;
end;

end.
Zur Erklärung:

Ich möchte eine Datei in einen Stream laden und den dann übers Netzwerk verschicken, auslesen und die Datei so haben wie ich sie verschickt hab.

Hier hab ich des versucht nur für meinen Rechner zu tun. Müsste vom Prinzip her des eubfachste sein.

Ergebnis: 1. Zu versendernde Dateigröße = 0
2. Die Datei wird zwar gespeichert, ist aber auch 0 Byte´groß
3. Im Server Execute kommen 2 Sachen an - ich weiss nicht welche - aber beide 0 Byte groß

Ich sag nur eins: BItte, bitte helft mir.

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  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 00:07 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