Текущий архив: 2003.12.12;
Скачать: 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 вся ветка
Текущий архив: 2003.12.12;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.016 c