Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.16;
Скачать: CL | DM;

Вниз

ИНДИ10, вопросы по синтаксису клиента   Найти похожие ветки 

 
Pcrepair ©   (2011-06-23 21:25) [0]

Добрый день
Есть код процедуры подключения к серверу, отправки запроса серверу, получения файла, записи файла на диск, отображения файла. Все работает. но не совсем понятно как
Если кто в курсе, пожалуйста дайте комментарии

procedure TForm1.B_GetScrClick(Sender: TObject);//ПРОЦ по имени B_GetScrClick (запуск с Форма1.Кнопка - соответсвующая, событию с этим именем)
var //объявление локальной ПЕРЕМ
s:TFileStream; //ПЕРЕМ типа ФайлСтрим (поток для работы с файлами)
Bitmap: TBitmap; //ПЕРЕМ типа Битмап (графический файл типа BMP)
begin
connect_to_server; //вызов ПРОЦ подключения к серверу - это отдельно и тоже работает
IdTCPClient1.IOHandler.WriteLn("get_screen "); //Клиент дает команду серверу GET_SCREEN - запрос на получение графического файла
with IdTCPClient1 do
begin
  if FileExists("C:\s.bmp") then DeleteFile("C:\s.bmp"); //Если на диске существует файл, тогда удалить этот файл
  s := TFileStream.Create("C:\s.bmp",fmCreate); //присвоить ПЕРЕМ значение = создать поток, в потоке создать файл на диске - создание потока и файла на диске
  while connected do //пока подключено к серверу сделать следующее
       IdTCPClient1.IOHandler.ReadStream(s,-1,true); прочитать поток из клиента -ВОТ ТУТ НЕЯСНО
       FreeAndNil(s); //обнулить ПЕРЕМ
       Disconnect; // отключится
       Image1.Picture:=nil; //обнулить картинку
       Bitmap := TBitmap.Create; //создать и присвоить ПЕРЕМ это значение
         try
           Bitmap.LoadFromFile("C:\s.bmp"); //в ПЕРЕМ загрузить дата из файла на диске
           Image1.Picture.Bitmap.Assign(Bitmap); //отобразить дата в Имедж1
         finally
            Bitmap.Free; // обнулить ПЕРЕМ
         end;
end;


Неясно тут - (s,-1,true), что означают эти аргументы и как они влияют на результат работы
s     - это имя ПЕРЕМ?
-1 или 0 - ????
true или false -???

Что то нигде не могу найти, нужно для изучения ДЕЛФИ, конкретно надо заменить TFileStream на TMemoryStream, чтобы избавится от постоянного дерганья изображения при перезаписи файлов на ЖД


 
Игорь Шевченко ©   (2011-06-23 21:43) [1]


> пожалуйста дайте комментарии


комментариев в коде уже много. Лишних.


 
Сергей М. ©   (2011-06-23 22:18) [2]


> конкретно надо заменить TFileStream на TMemoryStream


Ну и ?
В чем проблема-то ?


 
vegarulez   (2011-06-24 23:38) [3]

>> s     - это имя ПЕРЕМ?
>> s:TFileStream;


 
Pcrepair ©   (2011-06-25 20:07) [4]

похоже что:
s - имя используемой переменной
-1  - размер куска int64 передаваеного из сервера в клиент, 64 байта данных
true - файл из сервера передается пока не закончится, то есть целиков

кто работал с ИНДИ? все ли верно?

(2) проблема во всем, когда только что то изучаешь
пример кода не привидешь? как будет выглядеть код, когда поток данных из сокета (графический файл бмп) помещается в ОЗУ в виде Глобал ПЕрем, затем берется из ГлобалПерем и отображается на Имидж1



Страницы: 1 вся ветка

Текущий архив: 2011.10.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1308901353
Фокс Йовович
2011-06-24 11:42
2011.10.16
А существует ли такой плеер?


15-1308774596
Юрий
2011-06-23 00:29
2011.10.16
С днем рождения ! 23 июня 2011 четверг


15-1308653696
DVM
2011-06-21 14:54
2011.10.16
MD5 и WideString


6-1243060061
apic
2009-05-23 10:27
2011.10.16
настройка сети


15-1308601797
Юрий
2011-06-21 00:29
2011.10.16
С днем рождения ! 21 июня 2011 вторник