Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шлем файл

2.0K
07 июля 2006 года
Dstr
158 / / 27.04.2006
Мне нужно было научиться слать файлы на UDP.Я ничего дельного не нашел на яндексе.Пришлось пробовать самому.Файл я сумел переслать.Только он не открывался,а 16ричный редактор кажет совсем не то...Вобщем я посмотрел что буфер ЮДПхи > 8000 и решил попробывать передать файл в 1кб,в один присест.Вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
FS: TFileStream;
i:integer;
begin
TMPSTREAM := TSTream.Create;
FS := TFileStream.Create('D:\Pics\6262.jpg',
fmOpenRead or fmShareDenyWrite);
 
IdUDPClient1.SendBuffer(FS,FS.Size);
end;
end;
 
Принимал 2 способами:
1procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
FS: TMemoryStream;
begin
FS := TMemoryStream.Create;
FS.CopyFrom(AData,AData.Size);
FS.SaveToFile('D:\Ded6262.jpg');
ShowMessage(IntToStr(AData.Size));
end;
2procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
FS:TFileStream;
begin;
FS := TFileStream.Create('D:\666.jpg', fmCreate);
FS.WriteBuffer(AData,AData.Size);
FS.Free;
end;
 
Ище,никогда не работая со стримом пытался соорудить нечто вроде:
procedure TForm1.Button1Click(Sender: TObject);
var
FS: TFileStream;
TMPSTREAM:TSTream;
i:integer;
doetogo:integer;
begin
TMPSTREAM := TSTream.Create;
FS := TFileStream.Create('D:\Pics\Ded6262.jpg',
fmOpenRead or fmShareDenyWrite);
 
doetogo := FS.Size / IdUDPServer1.BufferSize; //сдесь компилятор заругался
For i:=1 To doetogo Do Begin
FS.Position := i * FS.Size;
FS.Read(TMPSTREAM,IdUDPServer1.BufferSize);
IdUDPClient1.SendBuffer(TMPSTREAM,TMPSTREAM.Size);
end;
end;


Мастера,помогите пожалуйста неопытному!
ЗЫ Просьба:Не надо обвинять меня внекомпетентности,особено если сам "чайник",а просто дайте ответ или совет.Это будет огромное отличие от форума делфимастер.
344
08 июля 2006 года
Delpher
493 / / 14.08.2005
может это поможет...
2.0K
13 июля 2006 года
Dstr
158 / / 27.04.2006
Спасибо,но я наткнулся совершено случайно на этотже самый примерчик недельку раньше...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог