omWinSocket); ClientSocket1Disconnect (Sender: TObject ;: TCustomWinSocket); Writing (Text: string); ClientSocket1Read (Sender: TObject; Socket: TCustomWinSocket); N1Click (Sender: TObject);
{Private declarations}: string;// Ім'я файлу: integer;// Розмір: boolean;// Режим клієнта: TMemoryStream;// Бурер
{Public declarations} ;: TForm1;
{$ R * .dfm} TForm1.Writing (Text: string); msg: integer; MS.Size lt; Size then//якщо прийнято менше розміру файлу то виполняем.Write (Text [1], Length (Text));// Запис в буфер
//прогрес передачі файла.Position:=MS.Size * 100 div Size; .SimpleText:= прийнято + IntToStr (MS.Size) + з + IntToStr (Size); MS.Size=Size then//якщо файл прийнятий то виконуємо
begin
Receive:=false;// Перехід клієнта в норм режим
MS.Position:=0;// Переклад каретки в початок буфера
MS.SaveToFile ( D:/Network/ + ExtractFileName (Name));//зберігаємо файл.Socket.SendText ( end );// Файл прінят.Free;// Знищення буфера.SimpleText:= файл прийнятий raquo ;;:=MessageDlg ( Відкрити завантажений файл? Raquo;, mtCustom, [mbYes, mbNo], 0); msg=mrYes then(0,laquo;openraquo;,PChar(Name),laquo;raquo;,laquo;raquo;,SW_SHOW);;;TForm1.FormCreate(Sender: TObject); IP: String; ( Network , Введіть IP адреса , IP) ;. Address:=IP;//IP.Open;// Відкриваємо сокетcreatedir ( D: Network )=true then ( папка створена )
showmessage ( при створенні папки виникли помилки );
Receive:=false;// Режим клієнта - прийом команд
end; TForm1.FormDestroy (Sender: TObject) ;. Close;// Закриваємо сокет; TForm1.ClientSocket1Connect (Sender: TObject ;: TCustomWinSocket) ;. SimpleText:= З'єднання встановлене raquo ;;; TForm1.ClientSocket1Disconnect (Sender: TObject ;: TCustomWinSocket) ;. SimpleText:= З'єднання не встановлено ;; TForm1.ClientSocket1Read (Sender: TObject ;: TCustomWinSocket) ;: string;// Прийнятий текст:=Socket.ReceiveText; Receive then//якщо клиен в режимі прийому файлу то (RText)//запис в буфер
else//якщо клиен не в режимі прийому файлу то
beginCopy (Rtext, 0, Pos ( # raquo ;, Rtext) - 1)= file then//якщо це файл то:=TMemoryStream.Create;// Створення буфера (Rtext, 1, Pos ( # raquo ;, Rtext));// Визначення ім'я:=Copy (Rtext, 0, Pos ( # raquo ;, Rtext) - 1);// Визначення ім'я (Rtext, 1, Pos ( # raquo ;, Rtext));// Визначення розмір
Size:=StrToInt (Copy (Rtext, 0, Pos ( # raquo ;, Rtext) - 1));//висновок розміру (Rtext, 1, Pos ( # , Rtext));// Видалення роздільника
Label1.Caption:= розмір файлу: + IntToStr (Size) + байт raquo ;;. Caption:= ім'я файлу: + Name;:=true;// Режим прийому файлу (RText);// Запис в буфер ;;; TForm1.N1Click (Sender: TObject); (0, nil, PChar ( NewProjectm ), nil, nil, SW_SHOWNORMAL) ;;.