Форум: "Начинающим";
Текущий архив: 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