AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TFIleStream und Pointer

Ein Thema von goose33 · begonnen am 4. Nov 2004 · letzter Beitrag vom 6. Nov 2004
Antwort Antwort
goose33

Registriert seit: 26. Okt 2004
Ort: Merseburg
49 Beiträge
 
#1

Re: TFIleStream und Pointer

  Alt 4. Nov 2004, 18:56
Hallöchen,

dank Euch schon wieder für die Antwort,
leider geht es auch wiede rnicht.
Kommt wieder deas gleiche. Wieder so ein Fensterchen mit irgendwelchen Zahlen.
Ich hab das ganze was zu dem File Senden gehört mal zusammengefasst und in ein kleines Projekt gemacht. Hier der Code...ist vielleicht für Euch ein
bischen besser wegen der Übersichtlichkeit.
Ich weiss nicht mehr was ich noch probieren soll.
Falls jemand von Euch die ICQ Kompomente hat könntet Ihr das ja mal ausprobieren.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ICQClient, ICQWorks, ExtCtrls;

type
  TForm1 = class(TForm)
    ICQClient1: TICQClient;
    Label1: TLabel;
    OpenDialog1: TOpenDialog;
    Button1: TButton;
    edFile: TLabeledEdit;
    btnLogIn: TButton;
    edOnline: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure btnLogInClick(Sender: TObject);
    procedure ICQClient1Login(Sender: TObject);
    procedure ICQClient1SendFileStart(Sender: TObject; UIN: Cardinal;
      SendFileRec: TSendFileRec);
    procedure ICQClient1SendFileData(Sender: TObject; UIN: Cardinal;
      Data: Pointer; var DataLen: Cardinal; var IsLastPacket: Boolean);
    procedure ICQClient1OnlineInfo(Sender: TObject; UIN: String;
      Port: Word; InternalIP, ExternalIP: String; OnlineTime: TDateTime;
      Idle: Word; ICQVersion, MirandaVersion: Cardinal; ProtoVer,
      UserCaps: Byte);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  SendStream: TFileStream;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  FileName: string;

begin
    if OpenDialog1.Execute then begin
      FileName:=OpenDialog1.FileName;
      edFile.Text:=OpenDialog1.FileName;
      ICQClient1.SendFileDC(95369854, FileName, 'Testing SendFileDC');
    End;
end;

procedure TForm1.btnLogInClick(Sender: TObject);
begin
  ICQClient1.Login;
  ICQClient1.AddContactVisible(95369854);
end;

procedure TForm1.ICQClient1Login(Sender: TObject);
begin
  Label1.Caption:=StatusToStr(ICQClient1.Status);
end;

procedure TForm1.ICQClient1SendFileStart(Sender: TObject; UIN: Cardinal;
  SendFileRec: TSendFileRec);
  Begin
    If SendStream <> nil then
      FreeAndNil(SendStream); // can only proccess one send at a time with this code.
    // Open File For Reading.
    SendStream := TFileStream.Create(SendFileRec.FilePath + SendFileRec.FileName, fmOpenRead);
  End;

procedure TForm1.ICQClient1SendFileData(Sender: TObject; UIN: Cardinal;
  Data: Pointer; var DataLen: Cardinal; var IsLastPacket: Boolean);
begin
    // Read 2048 bytes into Data Buffer.
    DataLen := SendStream.Read(Data, 2048);
    // Are we at the end of the file?
    IsLastPacket := SendStream.Position = SendStream.Size;

end;
Ich dank Euch ganz doll !!
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:48 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