| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Файл через сокеты |
| Автор: NOD 28.2.2004, 02:13 |
| Простите конечно... ФАК я закачал и неашел там опятть такую же статью по этому поводу... В примере закачивается только содержимое имэйджа, а мнея интересует именно файл... Наверное я опять сам натупил, но никак не выходит... Если кому не влом помогите, переделайте его под конкретный файл. |
| Автор: Vex 28.2.2004, 02:31 | ||
Автор: M K www.sources.ru |
| Автор: NOD 28.2.2004, 02:38 |
| Да, да... именно этот пример я уже находил на 3 сайтах Вот я попросил подсказать как его переделать чтоб качать конкретный файл, а не картинку из Image |
| Автор: Vex 28.2.2004, 02:53 | ||
... |
| Автор: NOD 28.2.2004, 02:59 |
| А через tFileStream никак не получится? |
| Автор: dm9 28.2.2004, 15:47 |
| Насчёт TFileStream не скажу (можно самому попробовать...) А вот насчёт кода сделаю одно уточнение. Кажется, в последней процедуре надо except заменить на finally, а то утечка памяти... |
| Автор: Гость_Вася 29.2.2004, 11:33 |
| Я когда-то использовал TFileStream. приблизительно это выглядело так: посылаем: buf: array[1..1024] of Char; i: Integer; f: TFileStream; f := TFileStream.Create('File.exe', fmOpenRead); while f.Pos < f.Size do begin i := f.ReadBuffer(buf, 1024); socket.SendBuf(buf, i); end; получаем: buf: array[1..1024] of Char; i: Integer; f: TFileStream; f := TFileStream.Create('File.exe', fmOpenWrite); i := socket.ReceiveBuf(buf, 1024); f.WriteBuffer(buf, i); Тут надо еще передовать (например, в первом или последнем байте) команду, при которой удаленная программа будет знать, что ей делать, запись в файл или подготовка к записи и т.д. |
| Автор: NOD 2.3.2004, 05:01 |
| вроде разобрался |
| Автор: NOD 2.3.2004, 05:07 | ||
Здесь наверное не до конца написано.... Без цикла.... |