Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Создание прибыльного сайта для начинающих" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Интернет для Delphi-программиста
Интернет для Delphi программиста.Выпуск : № 57 Здравствуйте уважаемые подписчики рассылки "Интернет для Delphi программиста". Данная рассылка предназначена для всех кого интересует Delphi, здесь будут выкладываться ссылки на различные ресурсы интернета так или иначе связанные с Delphi: книги, исходники, программы... Изучайте Delphi один из лучших языков программирования!!! ЗАДАТЬ ВОПРОС : Правила
рассылки: Новые вопросы.
Ответы.
Статья: "Передача файлов посредством TClientSocket и TServerSocket на примере передачи скриншотов (Delphi)." http://vmcl.kiev.ua/ Многих новичков (читать "ламеров" - не забывайте, на каком сайте находитесь... ну хорошо, в крайнем случае - "чайников") интересует вопрос о передаче файлов в программах, написанных на Delphi с использованием стандартных компонентов TClientSocket и TServerSocket. Довольно часто, посмотрев пример, идущий в поставке Delphi (тот, который расположен в папке "Demos\Internet\Chat"), новоиспечённый сетевой программист пытается применить его для передачи файлов произвольного размера без особых изменений кода. Таким образом, делая стандартную ошибку: протокол TCP (да и аппаратные средства), который используют эти компоненты для передачи данных, совершенно не гарантирует, что данные будут переданы одним непрерывным "куском", который Вы сможете принять, например, методом TCustomWinSocket.ReceiveBuf() за один приём. На самом деле, данные при передаче разбиваются на пакеты, имеющие определённый максимальный размер. Т. е., если Вы попытаетесь передать данные (файл), размером, скажем, 100 килобайт, то он будет принят некоторыми порциями, например, по 4 КБ.
В данной, как бы громко ни звучало, статье рассмотрен второй способ: использование служебного заголовка. Задача же поставлена слудующая.
Режим гнёзд используется не блокирующий. Собственно вот определение структуры заголовка из модуля "ScreenshotTransmit_Shared":
Упомяну также ещё один момент, касающийся темы, — получение снимка экрана. Оный занимает около 2 мегабайт при разрешении экрана 1024x768 и глубине цвета 24 или 32 бита. Дабы уменьшить нагрузку на сеть и ускорить процесс передачи, я использовал конвертирование изображения из формата BITMAP в формат JPEG (также я пробовал вместо конвертирования в JPEG упаковывать BITMAP с помощью библиотеки Zlib; результаты ещё лучше; думаю, со временем выложу сюда ещё и такой вариант). Собственно код:
Скриншот "клиента"
Скриншот "сервера" Скачать исходный код демонстрационных программ (Delphi 6). Copyright © 2005 Vitaly Maclay Замечания,
пожелания и т. п. пишите на мой e-mail
или стучитесь в ICQ 113662900. Компоненты: Это TMemo, которое позволяет запретить такие действия, как копирование текста в буфер, вырезание текста в буфер, вставка текста из буфера. Так же можно запретить удалять текст, как с клавиатуры, так и с помощью мыши. Это TMemo позволяет создавать отступы от рамки, на которых, например, можно размещать компоненты. Посмотрите имеющийся в архиве скриншот, и все сразу станет понятно. Этот компонент напоминает Memo из mIRC. Имеется поддержка цветного текста, вставка рисунков и гиперссылок. В архиве имеется пример. Это не визуальный компонент, который добавляет TMemo полноценные функции поиска и замены текста. Работает по "горячим клавишам": Ctrl+F - найти текст, F3 - найти далее, Ctrl+R - заменить текст. Компонент предназначен для просмотра (редактирования) текста с выделением ключевых слов. Функциональность копонента включает в себя практически всю функциональность компонента Memo. Для решения задачи выделения ключевых слов компонент представляет собой альтернативую компоненту RichEdit. TRichView - компонент для вывода форматированного текста. Среди особенностей: изменение стилей, шрифта, цвета. Возможно вставлять в текст любые компоненты Delphi и отображать фоновое изображение. Эти линейки можно применять в приложениях, работающих с графикой или текстом. Они имеют 4 типа величин: пика, пиксель, дюйм и сантиметр. TGraphicRuler - масштабируемый и прокручиваемый. TWordRuler - имеет позиции табуляции для урегулирования (установки) отступов в текстовых редакторах вроде RichView или Memo. TRsRuler - линейки с 4 позициями размещениями (сверху, снизу, слева, справа). Масштабируются (Scale: 1-1000), есть возможность показать позицию курсора на линейке (Hairline). Может иметь стиль "Flat". Предусмотрена настройка шрифта. В архиве есть пример, в нем все очень хорошо продемонстрировано. Еще две линейки (вертикальная и горизонтальная). Являются наследниками TPanel, предоставляет не очень большой набор настроек. Одним словом, не самый лучший компонент среди представленных в этом разделе. VTControl - это набор из
нескольких компонент. Компоненты: 1)
ExDDBGrid - сетка для просмотра таблиц баз
данных с измененными оформлением и
свойствами. 2) ButtonDBEdit - поле с кнопкой для
редактирования полей баз данных. 3) ButtonEdit
- просто поле с кнопкой (2 режима работы,
обычный и Combo). 4) ScriptMemo - текстовый
редактор с подсветкой синтаксиса,
редактор заточен под VB (это касается
комментариев). 5) ExInspector - RunTime инспектор
объектов. + еще несколько компонентов. Интересные и полезные сайты по Delphi: Если Вы хотите, чтобы Ваш сайт был в этом разделе пишите.
Немного юмора: :))
Дружественные рассылки: Все
кто хочет изучить Delphi и реально
научиться писать свои программы, ЦПИ "Эверест"
поможет Вам. 10 причин в пользу платного обучения в ЦПИ "Эверест"… 1. Когда Вы
платите деньги-
появляется дополнительный стимул
против лени: надо учиться, ведь деньги
уже уплачены….
5. Стоимость обучения
одного месяца в ЦПИ "Эверест"
сравнима с ценой хорошей книги. Но часто
ли Вам попадались книги, рассчитанные
именно на Вас. Мы же работаем
индивидуально.
8. А это значит, что …Мы
предлагаем получить "высшее
образование" - профессию
программиста всего за
1 год и 144 доллара, любой ВУЗ
попросит в 3 раза больше за один только
семестр. По всем вопросам обращайтесь ко мне. Если вы встретили в интернете
интересный сайт или статью, да и вообще, что угодно
связанное с Delphi, поделитесь ссылкой. Предложения, критику и пожелания пишите на e-mail. |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiinternet Архив рассылки |
Отписаться
Вебом
Почтой
Вспомнить пароль |
В избранное | ||