Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Докачка файлов по сети (NetBios)

Delphi , Интернет и Сети , Файлы и Интернет

Докачка файлов по сети (NetBios)

Автор: http://forum.vingrad.ru

Мне вот все интересно было...думал проги, которые файлы по сети докачивают как-то хитро с нетбиосом работают...И вот решил попробовать написать нечто подобное...Токо похоже все они ( проги ) про нетбиос и слыхом не слыхивали...нашел простейшее решение этой проблемы... Код некрасивый, потому как писал чисто для проверки...более того, тут надо переписать его весь, но общий смысл должен быть понятен...я разочарован :((

procedure TForm1.Button1Click(Sender: TObject);
var
  Stream,
    Stream1: TFileStream;
  Temp: array[0..$FFFF] of Byte;
  Access: Integer;
  FileNames, Filenames1: string;
begin
  with TOpenDialog.Create(Form1) do
  begin
    Execute;
    FileNames := FileName;
    Free;
  end;
  if Filenames = '' then
    Exit;
  with TSaveDialog.Create(Form1) do
  begin
    Execute;
    FileNames1 := FileName;
    Free;
  end;
  if Filenames1 = '' then
    Exit;
  Access := fmOpenReadWrite;
  ZeroMemory(@Temp, sizeof(Temp));
  Stream := TFileStream.Create(FileNames, fmOpenRead);
  if not FileExists(Filenames1) then
    Access := fmCreate;
  Stream1 := TFileStream.Create(Filenames1, Access);

  Gauge1.MaxValue := Stream.Size;
  Stream.Position := Stream1.Size;
  Stream1.Position := Stream1.Size;
  Label1.Caption := IntToStr(Stream1.Position);
  Label2.Caption := IntToStr(Stream.Size);
  Gauge1.Progress := Stream.Position;
  while Stream.Size <> Stream1.Size do
  begin
    if (Stream.Size - Stream1.Position) < sizeof(Temp) then
    begin
      Stream1.CopyFrom(Stream, Stream.Size - Stream1.Position);
    end
    else
      Stream1.CopyFrom(Stream, sizeof(Temp));
    Gauge1.Progress := Stream.Position;
    Label1.Caption := IntToStr(Stream.Position);
    Label2.Caption := IntToStr(Stream.Size);
    Form1.Update;
    Application.ProcessMessages;
  end;
  Stream.Free;
  Stream1.Free;
end;

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


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Файлы и Интернет ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-13 08:10:26/0.0027389526367188/0