Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 19:58   #1
ScorpioN_T
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 62
По умолчанию

Всем доброго времени суток!!!
Delhpi 7
Пиши тестник по локалке...
Нужен сервер, и клиент.
есть вопросы:
1. Как мне узнать сколько компьютеров находятся в данной локальной сети и их АДРЕСА? (чтобы можно было выполнить следующий вопрос)
2. Как мне перекинуть ФАЙЛ на другой ПК. (желательно в определенную директорию)?
3. Как мне отправить ОБРАТНО файл.

Копался ИНЕТЕ, сложновато...
щас собственно копаюсь в двух темах, одна с TServer~ClientSocket, другая с использованием IdTCPServer1...

Кто работал с такими компонентами, не проходите мимо

нашел пример по передаче файла через сокеты
http://www.winsov.ru/delphi062.php
в этом проекте файл передается, без всяких проблем, есть одно НО.
Переданный файл сохранят в папку с прогой,
есть вопрос - КАК мне самому прописывать ПУТЬ для сохранения ?
вот код приёма файла у клиента

Код:
procedure TForm1.Writing(Text: string);
begin
if MS.Size < Size then // Если принято байт меньше размера файла, то...
MS.Write(Text[1], Length(Text)); // Записываем в буфер
// Выводим прогресс закачки файла
ProgressBar1.Position := MS.Size*100 div Size;
StatusBar1.SimpleText := 'Принято '+IntToStr(MS.Size)+' из '+IntToStr(Size);
if MS.Size = Size then // Если файл принят, то...
begin
Receive := false; // Переводим клиента в нормальный режим
MS.Position := 0; // Переводим каретку в начало буфера
MS.SaveToFile(Name); // Сохраняем файл
ClientSocket1.Socket.SendText('end'); // Посылаем команду "end", то есть файл принят
MS.Free; // Убиваем буфер
StatusBar1.SimpleText := 'Файл принят';
end;
end;
Код:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
Rtext: string; // Принятый текст
begin
Rtext := Socket.ReceiveText;
if Receive then // Если клиент в режиме приёма файла, то...
Writing(RText) // Записываем данные в буфер
else // Если клиент не в режиме приёма файла, то...
if Copy(Rtext, 0, Pos('#', Rtext) -1) = 'file' then // Если это файл, то...
begin MS := TMemoryStream.Create; // Создаём буфер для файла
Delete(Rtext, 1, Pos('#', Rtext)); // Определяем имя файла
Name := Copy(Rtext, 0, Pos('#', Rtext) -1); // Определяем имя файла
Delete(Rtext, 1, Pos('#', Rtext)); // Определяем размер файла
Size := StrToInt(Copy(Rtext, 0, Pos('#', Rtext) -1)); // Определяем размер файла
Delete(Rtext, 1, Pos('#', Rtext)); // Удаляем последний разделитель
Label1.Caption := 'Размер файла: '+IntToStr(Size)+' байт'; // Выводим размер файла
Label2.Caption := 'Имя файла: '+Name; // Выводим имя файла
Receive := true; // Переводим сервер в режим приёма файла
Writing(RText); // Записываем данные в буфер
end;
end;
где и что надо изменить

Последний раз редактировалось mihali4; 28.11.2010 в 16:34.
ScorpioN_T вне форума
Старый 16.06.2009, 23:08   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

В этом разделе уже многократно обсуждались вопросы передачи файлов. Воспользуйтесь поиском.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача файла по сокетам bigmak Помощь студентам 1 24.03.2009 12:50
Передача файла.... prizrak1390 Работа с сетью в Delphi 1 23.12.2008 09:58
Передача файла на FTP Mitron Работа с сетью в Delphi 18 02.12.2008 14:17
Передача файла на сервер eldar Работа с сетью в Delphi 4 03.09.2008 22:09