Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

IntToStr без модуля SysUtils.   Найти похожие ветки 

 
Mazenrat   (2002-09-16 15:36) [0]

Привет.

Поделитесь аналогом алгоритма преобразования IntToStr() на API. Не хочется использовать громоздкий модуль SysUtils.


 
Alx2 ©   (2002-09-16 15:42) [1]

:)
см Val


 
Alx2 ©   (2002-09-16 15:44) [2]

то есть я хотел сказать Str.

Пример из хэлпа:

function MakeItAString(I: Longint): string;

{ Convert any integer type to a string }
var
S: string[11];
begin
Str(I, S);
Result:= S;
end;


 
Alx2 ©   (2002-09-16 15:46) [3]

С другой стороны, использование в uses модуля sysutils не такой уж большой вклад в размер ехешника дает.


 
Almaz ©   (2002-09-17 01:03) [4]


> Alx2 © (16.09.02 15:46)
> С другой стороны, использование в uses модуля sysutils не
> такой уж большой вклад в размер ехешника дает.

Смотря что считать небольшим :) На D5 пустой проект без SysUtils весит ~16кБ а с SysUtils ~42кБ. Так стоит ли добавлять 26кБ только из-за одной функции ?

Удачи.


 
Viktor Kushnir ©   (2002-09-17 07:20) [5]

Там такая куча полезных функций, что я не представляю как можно пользоваться только одной.


 
Mirovodin ©   (2002-09-17 11:08) [6]


function Int2Str( Value : integer ) : String;
asm
XOR ECX, ECX
PUSH ECX
ADD ESP, -0Ch
PUSH EBX
LEA EBX, [ESP + 15 + 4]
PUSH EDX
CMP EAX, ECX
PUSHFD
JGE @@1
NEG EAX
@@1:
MOV CL, 10
@@2:
DEC EBX
CDQ
IDIV ECX
ADD DL, 30h
MOV [EBX], DL
TEST EAX, EAX
JNZ @@2
POPFD
JGE @@3
DEC EBX
MOV byte ptr [EBX], "-"
@@3:
POP EAX
MOV EDX, EBX
CALL System.@LStrFromPChar
POP EBX
ADD ESP, 10h
end;


 
troits ©   (2002-09-17 11:39) [7]

Вот на API вариантик.

function Int2Str(Value : integer): string;
begin
SetLength(result, 15);
SetLength(result, wvsprintf(PChar(result), "%d", @Value));
end;


 
Mazenrat   (2002-09-17 13:14) [8]

Спасибо.


 
rhf ©   (2002-09-17 14:09) [9]

на будующее.... как они "это" сделали можно посотреть в исходниках саомго sysutils :)



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
8-92618
Andrey Verevkin
2002-06-28 07:46
2002.10.28
Topenpicturedialog and TImage


14-92715
Aleksandr
2002-10-08 18:02
2002.10.28
Никто QuickReport под Делфи 7 не пытался присобачить?


1-92534
zsv
2002-10-16 09:14
2002.10.28
Не могу изменить значение параметра в реестре!!!


14-92722
vopros
2002-10-04 08:51
2002.10.28
Я опять влюблен, она прекрасна, она великолепна! Она чудо!


14-92656
Сергей Ежиков
2002-10-05 19:13
2002.10.28
В чем сделать такую картинку?