Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

StrToInt и IntToStr без sysutils.


Mazenrat ©   (2002-09-20 15:17:00) 

Привет.

У меня такая проблемка. В приложении на чистом 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;


Man-In-Red   (2002-09-21 16:26:00) [1]

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


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

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

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


PaRL   (2002-09-20 21:06:00) [3]

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

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


Man-In-Red   (2002-09-20 20:34:00) [4]


> alena.svt © (20.09.02 19:24)


> На 25,09 кб

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


alena.svt   (2002-09-20 19:24:00) [5]

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

На 25,09 кб


qube   (2002-09-20 15:51:00) [6]


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

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


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

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


qube   (2002-09-20 15:39:00) [8]


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


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

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


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

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

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;


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


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


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


MBo   (2002-09-20 15:30:00) [11]

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

VAL

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


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

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


qube   (2002-09-20 15:22:00) [13]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо