Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
1

Передача файлов по сети

28.10.2012, 17:45. Показов 2769. Ответов 15
Метки нет (Все метки)

Подскажите как передать текстовый файл через сеть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2012, 17:45
Ответы с готовыми решениями:

Передача файлов по сети
Ребят,помогите найти коды для реализации данной проги,может у кого исходники сохранились,накидайте...

Передача файлов по сети
Собственно начал изучать работу делфи с сетями и появились проблемы. Как я понимаю для передачи...

Передача файлов по сети
добрый вечер. Не могу организовать передачу файлов с помощью TServerSocket и TClientSocket....

Передача файлов по локальной сети
Подскажите пожалуйста, какими способами (легче всего) осуществить передачу файлов (синхронизацию...

15
1299 / 705 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
28.10.2012, 18:09 2
Подскажите как передать текстовый файл через сеть?
narod.ru
0
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
28.10.2012, 18:19  [ТС] 3
Да нет, через компьютерную сеть
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
29.10.2012, 15:42 4
Цитата Сообщение от zuxa-zuxa Посмотреть сообщение
нет, через компьютерную сеть
А narod.ru он по-твоему в какой сети ?)
0
156 / 299 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
29.10.2012, 17:39 5
Цитата Сообщение от mss Посмотреть сообщение
А narod.ru он по-твоему в какой сети ?)
это хостинг бесплатный.
Может автор имел ввиду передачу файла по сети программно, тоесть с одного компьютера на другой?
0
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 615
29.10.2012, 17:52 6
Цитата Сообщение от саша40 Посмотреть сообщение
Может автор имел ввиду передачу файла по сети программно, тоесть с одного компьютера на другой?
А есть непрограммный способ? И не с компьютера на компьютер?
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
29.10.2012, 17:57 7
Цитата Сообщение от саша40 Посмотреть сообщение
это хостинг бесплатный
"Хостинг" - он на хосте, а не на луне)
Хост есть узел в компьютерной сети

Цитата Сообщение от саша40 Посмотреть сообщение
с одного компьютера на другой
А передача файла на хост и с хоста narod.ru - это не "с одного компьютера на другой", ага.
Это передача с табуретки на шифоньер по-твоему.
0
156 / 299 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
29.10.2012, 18:49 8
Я просто думал, что ему надо передавать файл через написаную им программу на Delphi, если нет. То тема закрыта.
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
29.10.2012, 20:05 9
Цитата Сообщение от саша40 Посмотреть сообщение
Я просто думал, что ему надо передавать файл через написаную им программу на Delphi
Ты не поверишь - именно это ему и надо.
Но к ахинее которую ты несешь это отношения не имеет.
0
156 / 299 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
29.10.2012, 21:37 10
Цитата Сообщение от mss Посмотреть сообщение
Ты не поверишь - именно это ему и надо.
Но к ахинее которую ты несешь это отношения не имеет.
тогда пусть достанет прямую ссылку на файл.
0
91 / 58 / 8
Регистрация: 09.11.2011
Сообщений: 443
31.10.2012, 08:57 11
Копирование методом TurboPascal

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
type
  {Для индикации процесса копирования}
  TCallBack = procedure (Position, Size: Longint);
 
procedure FastFileCopy(const InfileName, OutFileName: string;
          CallBack: TCallBack);
const
  BufSize = 3*4*4096; { 48Kbytes дает прекрасный результат }
type
  PBuffer = ^TBuffer;
  TBuffer = array [1..BufSize] of Byte;
var
  Size : integer;
  Buffer : PBuffer;
  infile, outfile : file;
  SizeDone, SizeFile: Longint;
begin
  if (InFileName <> OutFileName) then
  begin
    buffer := nil;
    AssignFile(infile, InFileName);
    System.Reset(infile, 1);
    try
      SizeFile := FileSize(infile);
      AssignFile(outfile, OutFileName);
      System.Rewrite(outfile, 1);
      try
        SizeDone := 0; New(Buffer);
        repeat
          BlockRead(infile, Buffer^, BufSize, Size);
          Inc(SizeDone, Size);
          CallBack(SizeDone, SizeFile);
          BlockWrite(outfile,Buffer^, Size)
        until
          Size < BufSize;
        FileSetDate(TFileRec(outfile).Handle,
        FileGetDate(TFileRec(infile).Handle));
      finally
        if Buffer <> nil then
          Dispose(Buffer);
        System.close(outfile)
      end;
    finally
      System.close(infile);
    end;
  end
  else
    raise EInOutError.Create('File cannot be copied into itself');
end;

Копирование методом потока

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure FileCopy(const SourceFileName, TargetFileName: string);
var
  S, T : TFileStream;
begin
  S := TFileStream.Create(sourcefilename, fmOpenRead );
  try
    T := TFileStream.Create(targetfilename, fmOpenWrite or fmCreate);
    try
      T.CopyFrom(S, S.Size ) ;
      FileSetDate(T.Handle, FileGetDate(S.Handle));
    finally
      T.Free;
    end;
  finally
    S.Free;
  end;
end;

Копирование методом LZExpand

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses
  LZExpand;
 
procedure CopyFile(FromFileName, ToFileName : string);
var
  FromFile, ToFile: file;
begin
  AssignFile(FromFile, FromFileName);
  AssignFile(ToFile, ToFileName);
  Reset(FromFile);
  try
    Rewrite(ToFile);
    try
      if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle)<0 then
        raise Exception.Create('Error using LZCopy')
    finally
      CloseFile(ToFile);
    end;
  finally
    CloseFile(FromFile);
  end;
end;
Копирование методами Windows

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses
  // !!! важно
  ShellApi;
 
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var
  F: TShFileOpStruct;
begin
  F.Wnd := 0; F.wFunc := FO_COPY;
  FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
  ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
  F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
  result:=ShFileOperation(F) = 0;
end;
 
// пример копирования
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not WindowsCopyFile('C:\UTIL\ARJ.EXE', GetCurrentDir) then
    ShowMessage('Copy Failed');
end;
Добавлено через 2 минуты
или просто
Delphi
1
MoveFile(s1, s2)
s1-существующий файл
s2- новый файл
1
Мишка Косолапый :)
284 / 254 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
04.11.2012, 14:08  [ТС] 12
есть локальная сеть с N узлами необходимо организовать передачу файла от одного узла остальным средствами delphi.
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
04.11.2012, 15:08 13
Рассказывай что тобой сделано ..
0
droider
01.08.2013, 09:34
  #14

Не по теме:

саша40, какая ссылка и что дальше?

0
4 / 4 / 0
Регистрация: 29.07.2013
Сообщений: 7
03.08.2013, 20:58 15
Для обмена данными по сети microsoft придумал WinSock.
Есть куча компонентов известных производителей, облегчающих использование.

PS: для ГШ. Так пойдет?
0
22 / 23 / 1
Регистрация: 14.05.2012
Сообщений: 291
04.08.2013, 13:45 16
/me включил телепата
ТС, возможно имел ввиду обычная передача файлика с компа на комп средствами только делфи, безо всяких лишних сервисов и темболее хостингов. Возможное решение проблемы - socket client/server
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2013, 13:45

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Потоки, передача файлов по сети
Возник вопрос как передать несколько файлов, при этом количество их при каждой передаче меняется....

Передача файлов по локальной сети
Привет всем! Столкнулся с проблемой при принятии и переименовании файла. Я только начинаю во всем...

Передача группы файлов по локальной сети
Добрый день. Мне нужно передать по локальной сети клиентам несколько файлов. Код для передачи нашел...

Передача файлов по сети клиенту по UDP
Собственно вопрос, как передать файлы от сервера к клиенту по UDP протоколу используя Indy 9......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.