Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Мне вот все интересно было...думал проги, которые файлы по сети докачивают как-то хитро с нетбиосом работают...И вот решил попробовать написать нечто подобное...Токо похоже все они ( проги ) про нетбиос и слыхом не слыхивали...нашел простейшее решение этой проблемы... Код некрасивый, потому как писал чисто для проверки...более того, тут надо переписать его весь, но общий смысл должен быть понятен...я разочарован :((
procedureTForm1.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
;