Выбрать главу

Англоязычные

N Сервер Описание
1 http://www.inprise.com Inprise Фирма – разработчик Delphi

Сайты, посвященные Delphi

Англоязычные

N Сервер Описание
1 http://sunsite.icm.edu.pl/delphi Delphi Super Page Самая большая в мире коллекция компонентов для всех продуктов фирмы Borland.

Пиратские сайты

Русскоязычные

N Сервер Описание
1 http://delphi4.da.ru KiraSoft Warez Page Delphi distr, DB Aware, Communication, General, Reports, Experts, Misc, Tools, Links
2 www.audit.kharkov.com/barry/Delphi Barry's Delphi Page VCL's, VCL packs, Help Design, FAQ's, IB DataBase, Utilities, Forum

Другие

N Сервер Описание
1 http://www.netease.com/~dce Delphi Components Crack (with Dr.Dai) Как там написано, "Following components ONLY for Delphi 3.0", остальное понять трудно, как и идентифицировать родной язык автора сайта, хотя по скриншотам разобраться что и где лежит вполне можно

Домашние страницы

Русскоязычные

N Сервер Описание
1 http://www.ph.usmga.ru/lexa Delphi Russian Suite Сайт, посвященный программированию на Дельфи. Автор страницы Алексей Спицын. Можно скачать документацию по Дельфи (в том числе и на русском языке). Есть список ссылок на страницы в интернете, посвященные Дельфи, а также на адреса электронных версий компьютерных журналов.

Алгоритмы

Преобразования

HEX→Integer

Решение 1

var

 i: integer;

 s: string;

begin

 s:= '$' + ThatHexString;

 i:= StrToInt(a);

end;

Решение 2

CONST HEX: ARRAY['A'..'F'] OF INTEGER = (10,11,12,13,14,15);

VAR str : String;

 Int, i: integer;

BEGIN

 READLN(str);

 Int:= 0;

 FOR i:= 1 TO length(str) DO

  IF str[i] < 'a' THEN Int:= Int * 16 + ord(str[i]) – 48

  ELSE Int:= Int * 16 + hex[str[i]];

 WRITELN(Int);

 READLN;

END.

Преобразование десятичного числа в шестнадцатиричное

Самое простое преобразование – через строку.

HexString:= Format('%0x', DecValue);

Преобразование ASCII в шестнадцатиричное представление

Строка представляет собой массив байтов в виде ASCII-символов. Необходимо организовать преобразование типов по аналогии с Delphi-функциями Ord и Chr.

Функция BytesToHexStr преобразует, к примеру, набор байтов [0,1,1,0] в строку '30313130', HexStrToBytes выполнит обратное преобразование.

unit Hexstr;

interface

uses String16, SysUtils;

Type

 PByte = ^BYTE;

procedure BytesToHexstr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD);

procedure HexStrToBytes(hHexStr: String; pbyteArray: Pointer);

procedure HexBytesToChar(var Response: String; hexbytes: PChar; InputLength: WORD);

implementation

procedure BytesToHexStr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD);

Const

 HexChars : Array[0..15] of char = '0123456789ABCDEF';

var

 i, j: WORD;

begin

 SetLength(hHexStr, (InputLength * 2));

 FillChar(hHexStr, sizeof(hHexStr), #0);

 j:= 1;

 for i := 1 to InputLength  do begin

  hHexStr[j]:= Char(HexChars[pbyteArray^ shr  4]); inc(j);

  hHexStr[j]:= Char(HexChars[pbyteArray^ and 15]); inc(j);

  inc(pbyteArray);

 end;

end;

procedure HexBytesToChar(var Response: String; hexbytes: PChar; InputLength: WORD);

var

 i: WORD;

 c: byte;

begin

 SetLength(Response, InputLength);

 FillChar(Response, SizeOf(Response), #0);