Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];

Вниз

ИНДИ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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
15-1308688197
Юрий
2011-06-22 00:29
2011.10.16
С днем рождения ! 22 июня 2011 среда


15-1308393220
@!!ex
2011-06-18 14:33
2011.10.16
Задача: Золушка - New Generation


15-1308984778
oleg1963lora
2011-06-25 10:52
2011.10.16
Хост в 40 Гб бесплатно на 48 часов. Возможно ли это?


2-1308682465
antonn
2011-06-21 22:54
2011.10.16
Сменить ресурс в EXE


2-1308977278
Kolobok
2011-06-25 08:47
2011.10.16
Разварот узла.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский