![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IntToStr без System.pas [D7, WinXP]
diimon © (2007-09-04 07:18:00)у меня проблема: хочу написать маленькое приложение(модули System.pas и SysInit.pas обрезаны)
мне необходимы функции IntToStr и StrToInt, но я не знаю как их теперь реализовать, думал выдернуть их из оригинального System.pas, но там одна функция тянет за собой другую... вообщем ничего у меня не выходит. Что делать??(Ассемблер я к сожалению почти не знаю :( )
koha (2007-09-06 21:35:00) [1]
> Сергей М. © (05.09.07 08:53) [34]
> Что "все" ?
- а ни фига и не работало.
ANTPro (2007-09-06 18:04:00) [2]Вот заголовок к ней нарыл :)
Может есть у кого-нибудь с коментариями и под все винды? (Что-то версий целая куча :/ )
http://www.turtleflight.com/DL/CFuncs.pas
homm (2007-09-06 13:07:00) [3]> Спасибо за нее homm'у
Спасибо за нее Владимиру Кладову, автору КОЛ, чукча ты эдакий.
clickmaker (2007-09-06 12:30:00) [4]
> [47] ANTPro © (06.09.07 12:25)
ну ее многие стандартные виндовские утилиты юзают. блокнот, регэдит, калькулятор
Это же сишная RTL - куда же без нее
ANTPro (2007-09-06 12:25:00) [5]> [46] clickmaker © (06.09.07 11:58)
Просто часто вижу ее отдельно, а многий софт сам копирует свою в system.
clickmaker (2007-09-06 11:58:00) [6]
> [45] ANTPro © (06.09.07 11:55)
ну раз explorer.exe ее юзает, то как думаешь?
ANTPro (2007-09-06 11:55:00) [7]> [44] clickmaker © (06.09.07 11:17)
> 'msvcrt.dll'
А она разве поставляется со всеми Windows?
clickmaker (2007-09-06 11:17:00) [8]офигеть
столько трудов, а можно было
function _ltoa(value: integer; str: PChar; radix: integer): pchar;
cdecl; external 'msvcrt.dll';
diimon (2007-09-06 11:13:00) [9]конечный размер экзешника(+ResHack+FSG) получился 1449 байт :)
то что надо !!! Спасибо всем :)
diimon (2007-09-06 11:06:00) [10]все мужики :) вроде все робит
использовал вот эту:
procedure Int2PChar( s: PChar; Value: Integer );
var Buf : array[ 0..15 ] of Char;
Dst : PChar;
Minus : Boolean;
D: DWORD;
begin
Dst := @Buf[ 15 ];
Dst^ := #0;
Minus := False;
if Value < 0 then
begin
Value := -Value;
Minus := True;
end;
D := Value;
repeat
Dec( Dst );
Dst^ := Char( (D mod 10) + Byte( '0' ) );
D := D div 10;
until D = 0;
if Minus then
begin
Dec( Dst );
Dst^ := '-';
end;
StrCopy( s, Dst );
end;
Спасибо за нее homm'у
только вот StrCopy в наличии не было, поэтому заменил ее на апишную lstrcat
Работает!!!
Denis_ (2007-09-05 18:46:00) [11]
> а inttostr и сам за минуту напишешь
Видимо, не напишет, раз спрашивает
miek (2007-09-05 18:06:00) [12]есть strtoint в составе shlwapi.dll
смотри в мсдн заголовок и пользуйся
а inttostr и сам за минуту напишешь
homm (2007-09-05 10:48:00) [13]> Короче ладно, засуну нормальные модули System.pas и SysInit.pas
> и буду уже потихоньку от туда вырезать лишнее. Спасибо за
> помощь
Ты ходил по ссылке?
http://kolnmck.ru/files1.shtml
[4] [8] [14] [28] [29] [36]
Сколько еше раз сказать?
Anatoly Podgoretsky (2007-09-05 10:09:00) [14]Наука в прок не пошла.
От модератора:не указывай кому можно писать в твою ветку, а кому нет, если желаешь подобное, то сделай свой форум и там рули.
diimon (2007-09-05 09:14:00) [15]Короче ладно, засуну нормальные модули System.pas и SysInit.pas и буду уже потихоньку от туда вырезать лишнее. Спасибо за помощь
sniknik (2007-09-05 08:59:00) [16]> Это ты сам придумал так кастрировать сист.юниты или кто-то тебе посоветовал ?)
http://www.xakep.ru/magazine/xa/080/112/1.asp
diimon (05.09.07 08:21) [30]
ну так... тут же нет ничего вообще. насколько понимаю в нормальном борландовский менеджер памяти должен загружаться, или ты должен брать обработку на себя и т.д.
> до тех пор, пока мне не понадобилось... IntToStr
подозреваю что не только это, а вообще с работа со строками нарушилась. т.е. если бы это была функция IntToPChar то все было бы нормально. (насколько возможно в таких условиях)
p.s. сколько раз повторить про KOL?
homm (2007-09-05 08:59:00) [17]> Причем все работало...
Ты еше не пробовал, наверное в проект модулей добавить, кроме project.dpr.
Сергей М. (2007-09-05 08:53:00) [18]
> прочитал в инете где то
.. и бездумно содрал)
> все работало
Что "все" ?
> пока мне не понадобилось... IntToStr
Ты не понимаешь, как компилятор работает с LargeString-типами.
homm (2007-09-05 08:52:00) [19]> компилер выдает System unit out of date or corrupted: missing
> '@LStrFromPChar'
Возвращай на место всю кипу функций для работы со String, либо попробуй Int2PChar.
diimon (2007-09-05 08:48:00) [20]прочитал в инете где то :))
Причем все работало... до тех пор, пока мне не понадобилось... IntToStr