Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Создание прибыльного сайта для начинающих" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Интернет для Delphi-программиста 51
Интернет для Delphi программиста.Выпуск : № 51 Здравствуйте уважаемые подписчики рассылки "Интернет для Delphi программиста". Данная рассылка предназначена для всех кого интересует Delphi, здесь будут выкладываться ссылки на различные ресурсы интернета так или иначе связанные с Delphi: книги, исходники, программы... Изучайте Delphi один из лучших языков программирования!!! С наступающим Новым Годом!Хочу
сделать Вам маленький подарок. ЗАДАТЬ ВОПРОС : Правила
рассылки: Новые вопросы.
Ответы.
Статья: "Сохраняем записи в потоке." Автор: Dynamic Хранение записей (record) в потоке (stream) или в типизированном файле не представляет особых трудностей даже для начинающих программистов, если размер всех полей записи известен еще на этапе компиляции, т.е. если поля имеют такие типы как Integer, Boolean, ShortString. Полем такой записи может быть даже другая запись, удовлетворяющая указанному условию. Но что делать, если необходимо хранить в файле записи с длинными строками, а подключать какую-либо базу данных нецелесообразно из соображений переносимости
программы и уменьшения размера выходного EXE-файла? Вот тут нам на помощь приходят файловые потоки.
Перед началом работы с потоком его надо создать:
Из примера видно, что
конструктор потока принимает на входе 2
параметра: имя файла, с которым будет
ассоциирован поток, и режим открытия
файла. Полный список различных режимов
можно посмотреть в исходном тексте
модуля SysUtils или справке Дельфи, для нас
же пока представляют интерес 2 режима:
Для примера создадим простую запись:
Первой рассмотрим процедуру записи:
В процедуру передается 2 параметра: имя
файла и переменная созданного нами
ранее типа.
Вторым параметром в метод Seekпередается указание перемещать потоковый указатель от начала потока, существуют следующие варианты (определены в модуле Classes):
В процедуру WriteBuffer
передается сам буфер и его размер.
Размер ( Integer) равен четырем байтам, в
принципе можно было бы напрямую указать
это число, но сами разработчики Дельфи
не советуют использовать в проектах
прямое указание размеров стандартных
типов из-за соображений совместимости,
так как в будущих версиях Дельфи он (размер)
может быть изменен. На скорости
выполнения программы вычисление
выражения SizeOf(Integer) никак не отразится,
так как оно производится на этапе
компиляции.
Процедура чтения структуры мало чем отличается от процедуры ее записи:
Длинная строка Дельфи, по сути,
является динамическим массивом, то есть
SizeOf(VarStr) = SizeOf(Pointer), причем перед началом
собственно массива символов
расположены скрытые 8 байт
дополнительной служебной информации: 4
байта – длина строки без завершающего
нуля, 4 байта – счетчик ссылок. Исходя из
этого, при использовании строки в
качестве буфера (см. пример) необходимо
явно указывать адрес ее первого символа,
то есть VarStr[1] или PChar(VarStr)[0]. Также одной
из наиболее распространенных ошибок
начинающих является то, что перед
чтением строки из потока они забывают
выделить для нее память процедурой SetLength. Исходники: Tracert (12.10.2005) - исходник программы, который показывает принцип трассировки маршрута к WWW-адресу - Автор Александр "Rouse_" Багель. Как это работает? Info from IP (12.10.2005)
- исходник программы, который
демонстрирует получение информации о
компьютере в сети - Автор Александр
"Rouse_" Багель. Download Plus (05.08.2005)
- исходник программы, который
показывает пример реализации менеджера
загрузок на подобии таких
программ, как: ReGet,
FlashGet, GetRight. Основные функции:
докачка файлов, установка приоритетов
загрузки, поддержка прокси-серверов и
многое другое - Автор Сергей "Ex"
Леньков. Userlist (27.06.2005)
- исходник программы,
предназначенной для вывода списка
компьютеров подключенных к локальной
сети - Автор неизвестен. FTP MiniChat (11.06.2005)
- исходник программы,
предназначенной для общения в чате
через FTP-соединение (FTP-клиент,
работа с FTP сервером) - Автор H.K.D.. Traffic Info (28.12.2005) - исходник программы,
предназначенной для показа и накопления
информации о трафике Интернета и сети -
Автор Алексей. Net send (26.12.2005) - исходник программы,
предназначенной для отправки сообщений
по сети с помощью команды "net send Host/IP
сообщение" - Автор Виктор Косоногов. XScanner (08.12.2005) - исходник достаточно
простого для понимания и быстрого
сканера портов - Автор XProger. Alternative HTTP-Proxy (17.11.2005) - исходник
простого HTTP-Proxy сервера с поддержкой
аутентификации - Автор codeLocker. Интересные и полезные сайты по Delphi: Если Вы хотите, чтобы Ваш сайт был в этом разделе пишите.
Немного юмора: :))
Дружественные рассылки: Все
кто хочет изучить Delphi и реально
научиться писать свои программы, ЦПИ "Эверест"
поможет Вам. 10 причин в пользу платного обучения в ЦПИ "Эверест"… 1. Когда Вы
платите деньги-
появляется дополнительный стимул
против лени: надо учиться, ведь деньги
уже уплачены….
5. Стоимость обучения
одного месяца в ЦПИ "Эверест"
сравнима с ценой хорошей книги. Но часто
ли Вам попадались книги, рассчитанные
именно на Вас. Мы же работаем
индивидуально.
8. А это значит, что …Мы
предлагаем получить "высшее
образование" - профессию
программиста всего за
1 год и 144 доллара, любой ВУЗ
попросит в 3 раза больше за один только
семестр. По всем вопросам обращайтесь ко мне. Если вы встретили в интернете
интересный сайт или статью, да и вообще, что угодно
связанное с Delphi, поделитесь ссылкой. Предложения, критику и пожелания пишите на e-mail. |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiinternet Архив рассылки |
Отписаться
Вебом
Почтой
Вспомнить пароль |
В избранное | ||