Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.66.13] |
|
Сообщ.
#1
,
|
|
|
Отцы поможите!!!!
Надо переслать любой файл с машины на машину средствами Delphi. Принцип типа вводим в поле Ip получателя, далее жмем кнопочку вываливается OpenDialog выбираем файл нажимаем выбрать и файл должен уйти к получателю. Может кто поможет как это сделать а то я уже 2 неделю бьюсь, файл у меня уходит а вот имя нет, незнаю в чем и дело. |
Сообщ.
#2
,
|
|
|
Введишь вверху ссылочку FAQ?
|
Сообщ.
#3
,
|
|
|
Да будет вам известно, что в ссылочке FAQ содержится информация только про то, как переслать картинку из формы! Организация пересылки файла совершенно другая!
Хватит отсылать пользователей на левые ссылки! |
Сообщ.
#4
,
|
|
|
А какая разница чего слать?
Картинка - это такой же файл. |
Сообщ.
#5
,
|
|
|
Все тока демагогию разводят тычут в ссылки, а реально никто ничем помочь неможет :-((((((((
Обидно господа Модераторы.... |
Сообщ.
#6
,
|
|
|
"А какая разница чего слать?
Картинка - это такой же файл." Один мой знакомый однажды предложил: "Пошли батарейку взорвем!" Я ответил: "А с какого перепуга она должна взорваться?" Он ответил: "Ну как! Зажигалка то взрывается!" |
Сообщ.
#7
,
|
|
|
Ну что теперь вы будете спорить что картинка - это не файл? |
Сообщ.
#8
,
|
|
|
Вот кусок кода как раз где пересылка и происходит что не так? Почему имя неприсваивается вновь созданному файлу, самое интересное когда гоняешь локально по 127.0.0.1 то все нормально когда через сеть нифига.
procedure TForm1.Button1Click(Sender: TObject); var Name: String; begin NMStrmServ1.Host := Edit1.Text; NMStrm1.Host := Edit1.Text; NMStrm1.FromName := Edit2.Text; OpenDialog1.Execute; Name := Form1.OpenDialog1.FileName; while pos('\',name)>0 do Delete(Name,1,pos('\',Name)); FileExt := Name; MyFStream := TFileStream.Create(Name, fmOpenRead); try NMStrm1.PostIt(MyFStream); finally NMStrm1.Free; end; end; procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream); begin MyFStream := TFileStream.Create('D:\Сетевая\'+FileExt, fmCreate); try MyFStream.CopyFrom(strm, strm.size); finally MYFStream.Free; end; end; |
Сообщ.
#9
,
|
|
|
2 Jimbo Joy
Может потому, что procedure TForm1.Button1Click(Sender: TObject); должна находиться в клиенте , а procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; на сервере... |
Сообщ.
#10
,
|
|
|
Цитата varvar @ 18.12.03, 14:23 2 Jimbo Joy Может потому, что procedure TForm1.Button1Click(Sender: TObject); должна находиться в клиенте , а procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; на сервере... Да, и не забудьте, что часть данных обязательно потеряется и картинка, в отличие от текстовика, не покажется, гы гы, у меня те же грабли, токо я сделал защиту от склейки пакетов и не могу добавить в пакет потока свои данные в конце, а переписывать клиент еще хуже, если кто знает как сделать Stream+String, плиз, скинте на lord_killman@mail.ru, история вас не забудет... |