Валентин Озеров - Советы по Delphi. Версия 1.0.6

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.0.6 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.0.6
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Валентин Озеров - Советы по Delphi. Версия 1.0.6 краткое содержание

Советы по Delphi. Версия 1.0.6 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Советы по Delphi. Версия 1.0.6 - читать онлайн бесплатно полную версию (весь текст целиком)

Советы по Delphi. Версия 1.0.6 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Разработчик Delphi

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

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

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

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.ruKiraSoft 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);

for i:= 0 to (InputLength – 1) do begin

c:= BYTE(HexBytes[i]) And BYTE($f);

if c > 9 then Inc(c, $37)

else Inc(c, $30);

Response[i + 1]:= char(c);

end;{for}

end;

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

{pbyteArray указывает на область памяти, хранящей результаты}

var

i, j: WORD;

tempPtr: PChar;

twoDigits: String[2];

begin

tempPtr:= pbyteArray;

j:= 1;

for i:= 1 to (Length(hHexStr) DIV 2) do begin

twoDigits:= Copy(hHexStr, j, 2); Inc(j, 2);

PByte(tempPtr)^:= StrToInt('$' + twoDigits); Inc(tempPtr);

end;{for}

end;

end.

UNIT string16.

interface

{$IFNDEF Win32}

procedure SetLength(var S: string; Len: Integer);

procedure SetString(var Dst: string; Src: PChar; Len: Integer);

{$ENDIF}

implementation

{$IFNDEF Win32}

procedure SetLength(var S: string; Len: Integer);

begin

if len > 255 then S[0]:= Chr(255)

else S[0]:= Chr(Len)

end;

procedure SetString(var Dst: string; Src: PChar; Len: Integer);

begin

if Len > 255 then Move(Src^, Dst[1], 255)

else Move(Src^, Dst[1], Len);

SetLength(Dst, Len);

end;

{$ENDIF}

end.

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

Может ли кто-нибудь дать мне идею простого преобразования двоичного кода (base2) в десятичный (base10)?

Решение 1

/////////////////////////////////////////////////////////////////////////

// преобразование 32-битного base2 в 32-битный base10 //

// максимальное число = 99 999 999, возвращает –1 при большем значении //

/////////////////////////////////////////////////////////////////////////

function base10(base2:integer) : integer; assembler;

asm

cmp eax,100000000 // проверка максимального значения

jb @1 // значение в пределах допустимого

mov eax,-1 // флаг ошибки

jmp @exit // выход если –1

@1:

push ebx // сохранение регистров

push esi

xor esi,esi // результат = 0

mov ebx,10 // вычисление десятичного логарифма

mov ecx,8 // преобразование по формуле 10^8-1

@2:

mov edx,0 // удаление разницы

div ebx // eax – целочисленное деление на 10, edx – остаток от деления на 10

add esi,edx // результат = результат + разность[I]

ror esi,4 // перемещение разряда

loop @2 // цикл для всех 8 разрядов

mov eax,esi // результат функции

pop esi // восстанавление регистров

pop ebx

@exit:

end;

Решение 2

function IntToBin(Value: Longint; Size: Integer): String;

var

i: Integer;

begin

Result :='';

for i:= Size downto 0 do begin

if value and (1 shl i)<>0 then begin

Result:= Result+'1';

end else begin

Result:= Result+'0';

end;

end;

end;

Function BinToInt(Value: String): Longint;

var

i,Size: Integer;

begin

Result:= 0;

Size:= Length(Value);

for i:=Size downto 0 do begin

if copy(value,i,1) = '1' then begin

Result:= Result + (1 shl i);

end;

end;

end;

Решение 3

Следующая функция получает в качестве параметра Base (1..16) любую десятичную величину и возвращает результат в виде строки, содержащей точное значение BaseX. Вы можете использовать данный алгоритм для преобразования арабских чисел в римские (смотри ниже).

function DecToBase(Decimal: Longint; const Base: Byte): String;

const Symbols: String[16] = '0123456789ABCDEF';

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.0.6 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.0.6, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x