Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
3-36555
Goida
2003-11-22 21:19
2003.12.12
Нормализация ширины столбцов в Гриде


3-36552
Red_imp
2003-11-20 22:43
2003.12.12
Заранее прошу извинить за вопрос. Люди подскажите как вывести на


7-36868
--olg-
2003-10-03 09:53
2003.12.12
Управление притером через WinSpool (WinXP)


7-36880
Dimaxx
2003-09-30 00:53
2003.12.12
Про печать графики на принтере...


1-36631
DimaK
2003-12-01 12:00
2003.12.12
RichEdit