Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

ProgressBar   Найти похожие ветки 

 
17.10.2006   (2006-10-17 20:52) [0]

Есть код:
procedure TForm1.Button2Click(Sender: TObject);
var
fs:TFileStream;
begin
ClientSocket1.Host:=Edit2.Text;
ClientSocket1.Active:=true;
fs:=TFileStream.Create(Edit1.Text,fmOpenread);
try
fs.Position:=0;
ClientSocket1.Socket.SendText("Size:"+IntToStr(fs.Size)+#0);
ClientSocket1.Socket.SendStream(fs);
finally
end;
end;

Как сюда добавить ProgressBar???


 
Ketmar ©   (2006-10-17 20:53) [1]

объявить переменную, создать экземпляр. непонятно, правда, зачем.


 
Kolan ©   (2006-10-17 20:53) [2]

procedure TForm1.Button2Click(Sender: TObject);
var
fs:TFileStream;
 ProgressBar: TProgressBar;  


Так?


 
17.10.2006   (2006-10-17 20:58) [3]

Это надо для того чтобы знать сколько Файла отправлено


 
Anatoly Podgoretsky ©   (2006-10-18 00:24) [4]

А у ClientSocket1.Socket есть функция обратного вызова, если есть, то задача тривиально, если нет то передавай блоками фиксировано размера.


 
Сергей М. ©   (2006-10-18 09:12) [5]


> 17.10.2006   (17.10.06 20:58) [3]


> знать сколько Файла отправлено


type
 TMyFileStream = class(TFileStream)
 private
   FOnReadProgress: TNotifyEvent;
 protected
   procedure Read(var Buffer; Count: Longint): Longint; override;
 public
   property OnReadProgress: TNotifyEvent read FOnReadProgress write FOnReadProgress;
 end;
...

procedure TMyFileStream.Read;
begin
 Result := inherited Read(Buffer, Count);
 if Assigned(FOnReadProgress) then
  FOnReadProgress(Self);
end;

..

procedure TForm1.DoReadProgress(Sender: TObject);
begin
 ProgressBar.Position := TStream(Sender).Position;
 ProgressBar.Update;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 fs:TFileStream;
begin
..
 fs:=TFileStream.Create(Edit1.Text,fmOpenread);
 fs.OnReadProgress := DoReadProgress;
..
 ProgressBar.Min := 0;
 ProgressBar.Max := fs.Size;
 ProgressBar.Position := 0;
 ClientSocket1.Socket.SendStream(fs);
..
end;



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
2-1161260781
vitaly27
2006-10-19 16:26
2006.11.05
Помогите пожалста больше немогу


15-1161073849
Kolan
2006-10-17 12:30
2006.11.05
Макросы в BDS2006


8-1143620068
nik2006
2006-03-29 12:14
2006.11.05
samplegrabber


1-1159387946
Servelat
2006-09-28 00:12
2006.11.05
поймать SIGINT


2-1161430410
d5vol1
2006-10-21 15:33
2006.11.05
Delphi 5. Рyководство pазpаботчика.