Текущий архив: 2007.02.11;
Скачать: CL | DM;
Вниз
Поможите кто может... wsprintf(...) Найти похожие ветки
← →
wp2 © (2006-09-26 18:38) [0]Этот долбанный третий параметр :-Е
В королевстве Делфи нашел такой кусок
[b]var[/b] szMessage: PChar;
GetMem(szMessage, 256); [i]// Определяем размер строки в памяти[/i]
wsprintf( szMessage, "Number %d", Pointer(899034));
MessageBox( 0, szMessage, "Сообщение", MB_OK );
Но и он не помогает!!! Я в шоке!!!
← →
wp2 © (2006-09-26 18:59) [1]Ага понял...
asm
push i
push B
push A
call wsprintf
end;
Где А - первый параметр, В - второй и i третий...
← →
clickmaker © (2006-09-26 19:00) [2]
> wp2 © (26.09.06 18:38)
тебе чего надо-то? адрес вывести? так для этого %p
← →
wp2 © (2006-09-26 21:17) [3]Всмысле?
Мне надо превратить Интеджер в Стринг :-)
Только на АПИ
← →
MBo © (2006-09-26 21:57) [4]В D6 и новее можно объявить эту функцию с модификаторами cdecl и varargs, и вызывать нормальным образом
← →
guav © (2006-09-26 22:05) [5]в windows.pas wsprintf объявлена неверно как stdcall
Можно переобъявить, см. [4] MBo ©
Однако, кроме wsprintf есть wvsprintf, которая то же самое, но stdcall. Ещё существуют другие функции. В delphi существует ф-ция Format, которая удобнее и безопаснее winapi-функции. Hет причин использовать именно wsprintf.
← →
Игорь Шевченко © (2006-09-27 10:01) [6]
> Мне надо превратить Интеджер в Стринг :-)
> Только на АПИ
_ltoa из ntdll ?
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
function _ltoa (Value: Integer; Buffer: PChar; Radix: Integer = 10): PChar;
cdecl; external "ntdll.dll" name "_ltoa";
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: array[0..10] of char;
begin
Edit1.Text := _ltoa(11, Buffer);
end;
end.
Страницы: 1 вся ветка
Текущий архив: 2007.02.11;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.064 c