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

Вниз

StrToInt и IntToStr без sysutils.   Найти похожие ветки 

 
Mazenrat   (2002-09-20 15:17) [0]

Привет.

У меня такая проблемка. В приложении на чистом API нужно реализовать преобразование StrToInt. Добавлять модуль sysutils для применения функции StrToInt я не хочу, чтобы не увеличивать размер программы. Помогите.

procedure StepTrack(up: boolean);
var
TrackNum, MaxTrack: cardinal;
TrackInfo: array[0..20] of char;
begin
...
TrackNum := StrToInt(TrackInfo);
MaxTrack := StrToInt(TrackInfo);
...IntToStr(TrackNum)...
...
end;


 
qube ©   (2002-09-20 15:22) [1]

в SysUtils же все исходники есть


 
Mazenrat   (2002-09-20 15:24) [2]

А толку с них? В любом случае, чтобы эти функции зараболи, нужно почти весь SysUtils в свою программу перенести.


 
MBo ©   (2002-09-20 15:30) [3]

>Mazenrat
Тебе уже и на этом форуме и на других говорили:

VAL

А еще ассемблерную процедуру писали
Все не нравится?


 
Mazenrat   (2002-09-20 15:33) [4]


> >Mazenrat
> Тебе уже и на этом форуме и на других говорили:
>
> VAL
>
> А еще ассемблерную процедуру писали
> Все не нравится?


Да, это верно, но ни одна из них не работает в моём случае.


 
Андрей Прокофьев ©   (2002-09-20 15:37) [5]

Вот, в качестве шутки:

function ToInt(S : String) : Integer;
var
N, i, P : Integer;
begin
N := 0;
P := 1;
for i := Length(S) downto 1 do
begin
N := N + (Ord(S[i]) - Ord("0")) * P;
P := P * 10;
end;
Result := N;
end;


 
qube ©   (2002-09-20 15:39) [6]


> А толку с них? В любом случае, чтобы эти функции зараболи,
> нужно почти весь SysUtils в свою программу перенести.


1) Ты уверен?
Я посмотрел, обнаружил только вызов Val, FormatStr, FormatBuf.

2) А насколько увеличивается exe, если подключить SysUtils (это без наезда, интересно просто)?


 
MBo ©   (2002-09-20 15:45) [7]

>но ни одна из них не работает в моём случае
вообще-то Val работает уже, наверно, лет 30, и пока справлялась


 
qube ©   (2002-09-20 15:51) [8]


> вообще-то Val работает уже, наверно, лет 30, и пока справлялась

во-во, причем и в том же самом sysutils она и используется.


 
alena.svt ©   (2002-09-20 19:24) [9]

qube © (20.09.02 15:39)
А насколько увеличивается exe, если подключить SysUtils (это без наезда, интересно просто)?

На 25,09 кб


 
Man-In-Red ©   (2002-09-20 20:34) [10]


> alena.svt © (20.09.02 19:24)


> На 25,09 кб

Серьезный размер!
По-моему сейчас 21 век, и то время когда самый крутой HDD был весом под 300 килобайт, уже давно-давно прошло…
+- 25 кб, по-моему, этим уже никого не испугаешь…
Забудьте то, что я только что сказал, без наездов!


 
PaRL ©   (2002-09-20 21:06) [11]

Не знаю, я тоже считаю, что переживать особо не стоит, однако я думаю, что это что-то вроде првил хорошего тона, как например использовать в процедурах var-параметры...

ЗЫ Некоторые даже тип integer "освобождают", чтобы не увеличивалась загрузка (4 байта).


 
Aralekin   (2002-09-21 13:59) [12]

Нееее....Мужик...Тут такая штука.
Если ты пишешь обычное Апп, то 25 Кило погоду не делают.
Но! Насколько я понимаю ты лобаешь что-то типа трояна или вируса(на дельфях :=[] )..Поэтому тебе так важен размер..Ты не пробовал ASPack. Сжимает он зверско, сам пользовался для трояна...

Но все-таки по-моему лучше использовать старый добрый VAL или перепиши все на Асме :)))


 
Man-In-Red ©   (2002-09-21 16:26) [13]

Вирь - это уже другой разговор :)



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

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

Наверх




Память: 0.5 MB
Время: 0.012 c
3-7800
Vavan
2002-09-11 21:15
2002.10.03
Помогите чайнику


6-8103
ga3
2002-08-01 04:07
2002.10.03
насчет конфигурации IE


3-7877
propeller
2002-09-13 00:08
2002.10.03
????Как хранить старые даты (1500-1600 года)????


1-7982
^SANYA
2002-09-20 20:45
2002.10.03
как получить идентификатор любого запущенного процесса?


1-8008
123000
2002-09-21 16:33
2002.10.03
X и Y мыши