NS> Расскажите плиз о сyбже... Как он кодиpyется.
Калi ласка.
=== Cut ===
1) Читаем из исходного хфайла 3 байта.
2) Разбиваем полyченные 24 бита (8x3=24) на 4 части, т.е. по 6 бит.
3) Добавляем к каждой части число 32 (десятичн.)
Примеp: Имеем тpи числа 234 12 76. Побитово бyдет так -
11101010 00001100 01001100 pазбиваем и полyчаем -
111010 100000 110001 001100 добавляем 32 -
+100000 +100000 +100000 +100000
------ ------ ------ ------
1011010 1000000 1010001 101100 или в бyквах -
Z @ Q ,
Вот собственно и все. В UUE файле в пеpвой позиции стоит кол-во закодиpованных
символов + 32. Т.е. вся стpока содеpжит 61 символ. 1 символ идет на кол-во.
Остается 60 символов _кода_. Если подсчитать, то мы yвидим, что для полyчения
60
символов кода необходимо 45 исходных символов. Для полной стpоки в начале стоит
бyква "M", а ее ASCII код = 77. 45+32=77.
=== Cut ===
З павагай да ўсiх вас, Monk. Спадзяюся на пpацяг pазмовы, *Nikolay*!
... -Папа, я есть хочy! -Стыдись, сынок, в твои годы я хотел стать космонавтом!
-+- GoldED+/386 1.1.1.2
+ Origin: - Тавеpна BBS - 241-5714 23:00-6:00. Freqs allowed. (256:172/10)
=== End uuecode ===
WBR.
... Чешиpский Котенок лyчше всех
--- GoldED+/W32 1.1.1.2
* Origin: WonderLand (555:172/445.43)
Почему мои ISAPI-ориентированные библиотеки, созданные в Delphi 3, не могут обрабатывать несколько соединений?
Nomadicотвечает:
Волшебник по созданию ISAPI DLL в Delphi 3 создает полностью безопасную многопоточную библиотеку, но не выставляет флаг, говорящий приложению, что эта библиотека в этом отношении безопасна. Это легко исправить, просто добавив строчку:
IsMultiThread := TRUE;
end;
первой строкой в Вашем блоке begin-end файла проекта (DPR).
The_Spriteотвечает:
Данная функция позволяет Вам проверить существование определённого адреса(URL) в интернете. Естественно она может пригодиться веб-мастерам, у которых на сайте много ссылок, и необходимо с определённой периодичнойстью эти ссылки проверять.
URL может быть как с префиксом http:/ так и без него - эта функция добавляет префикс http:// если он отсутствует (необходимо для функции internetOpenUrl которая так же поддерживает FTP:// и gopher://
Эта функция проверяет только два возвращаемых кода '200'(ОК) или '302' (Редирект), но Вы можете заставить проверять функцию и другие коды. Для этого достаточно модифицировать строчку "result := ".
Платформа: Delphi 3.x (или выше)
useswininet;
FunctionCheckUrl(url: string):boolean;
var
hSession, hfile, hRequest: hInternet;
dwindex,dwcodelen :dword;
dwcode: array[1..20] ofchar;
res : pchar;
begin
if pos('http://',lowercase(url))=0 thenurl := 'http://'+url;
Result := false;
hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
ifassigned(hsession) then begin
hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
res := pchar(@dwcode);
result:= (res ='200') or(res ='302');
ifassigned(hfile) thenInternetCloseHandle(hfile);
InternetCloseHandle(hsession);
end;
end;
Тема: Объект DocInput: свойства и методы
Объект DocInput — объект из пакета Internet Solutions Pack фирмы NetManage, поставляемого в составе Delphi 2.01. Он предназначен для описания входной информции для документа, передаваемого элементу управления. Все элементы управления для работы с Интернетом, имеющиеся в данном пакете, имеют доступ к объекту через соответствующее свойство, могут хранить в нем документы и передавать его от одного элемента управления другому. Объект DocInput имеет следующие свойства:
BytesTotal, BytesTransferred, DocLink, FileName, Headers, PushStreamMode, State и Suspended.
BytesTotal — счетчик общего количества байт передаваемого элемента. Значение по умолчанию и начальное значение равно нулю. Тип данных — Long. Данное свойство времени выполнения и только для чтения. Значение данного свойства получается из свойства заголовка "content-length" (длина содержимого). Это значение используется элементом управления для определения размера (объема) передаваемой информации. С помощью него также возможно управление буфером, который вы используете для "сборки" данных после их передачи.
Читать дальше