Вниз
Скачать: CL | DM;

Как в переменную типа pchar записать имеющийся адрес   Найти похожие ветки 

← →
McSimm2   (2003-12-03 10:01) [0]

Делаю процедуру перевода из integer в string ...


function TFrm_main.MyIntToStr(AValue: Integer): String;
var
_LengthText: Integer;
_ResultPCharText: PChar;
_ResultStringText, _s: String;
_tempVal, _i, _por: Integer;

function StrPas(const Str: PChar): String;
begin
Result := Str;
end;

const
Pos0 = ord("0");

begin
try
_tempVal := Avalue;
_LengthText := Trunc(ln(_tempVal) / ln(10)) + 1;
GetMem(_ResultPCharText, _LengthText + 1);


Как вот в этом месте записать в переменную
_ResultPCharText нужный адрес, если длина уже сидит в
_LengthText ???
Есть какая нибудь функция ?
Типа
int GetWindowText(
HWND hWnd, // handle of window or control with text
LPTSTR lpString, // address of buffer for text
int nMaxCount // maximum number of characters to copy
);


_ResultPCharText := PChar(_tempVal + Pos0);
_ResultStringText := StrPas(@_ResultPCharText);
Result := _ResultStringText;
finally
FreeMem(_ResultPCharText);
end;
end;


ЗЫ 2Admin извиняюсь за траффик ...


← →
BiN ©   (2003-12-03 10:26) [1]

а можно конкретизировать вопрос?


← →
Digitman ©   (2003-12-03 10:29) [2]

function MyIntToStr(Value: Integer): String;
var
i: Integer;
neg: Boolean;
m: Integer;
begin
i := 11;
Result := StringOfChar(" ", i);
neg := Value < 0;
if neg then Value := -Value;
repeat
Result[i] := Char(Value mod 10 + Ord("0"));
Value := Value div 10;
Dec(i);
until Value = 0;
if neg then Result[i] := "-";
Result := Trim(Result);
end;


← →
BiN ©   (2003-12-03 10:39) [3]

а нельзя здесь использоват старый добрый Str?
что-то типа:

function MyIntToStr(Value:Integer):string;
begin
Str(X,result);
end;


← →
Anatoly Podgoretsky ©   (2003-12-03 10:45) [4]

PCharVar := Address;


← →
Slym ©   (2003-12-03 10:45) [5]


function IntToStr(i:integer):string;
begin
result:="";
repeat
result:=char(i mod 10+48)+result;
i:=i div 10;
until i=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=IntToStr(976453113);
_ResultPCharText:=PChar(s);
end;


← →
Slym ©   (2003-12-03 10:47) [6]

Минус сам добавь...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-36848
oleg111
2003-11-20 13:59
2003.12.12
помогите найти TExpression


4-36891
NetKnight
2003-10-10 02:22
2003.12.12
Передать хенда программы в DLL?


1-36669
TSa
2003-12-02 19:54
2003.12.12
Проход по компонетам


1-36725
Eagle Owl
2003-12-01 22:05
2003.12.12
TTimer...


1-36737
Dracula2000
2003-12-02 10:30
2003.12.12
Grid or DBGrid




   Наверх