![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как копировать содежимое переменной типа Pointer -->String ? [D7, WinXP]
San1712 © (2007-12-09 17:27:00)Как присвоить содержимое переменной Pointer переменной типа String? Или как можно преобразовть к типу переменную Pointer ?
Leonid Troyanovsky (2007-12-10 13:06:00) [1]
> Германн © (10.12.07 01:53) [35]
> Леонид, не напомнишь комбинацию клавиш, которая сдвигает
> выделенный блок в тексте кода вправо/влево.
Ctrl+K+I Ctrl+K+U
А, во-ще-то, тема - Default keystroke mapping.
--
Regards, LVT.
Германн (2007-12-10 01:53:00) [2]
> Leonid Troyanovsky © (10.12.07 01:36) [33]
Оффтоп.
Леонид, не напомнишь комбинацию клавиш, которая сдвигает выделенный блок в тексте кода вправо/влево. Склероз, блин. (Правлю с добавлениями чужую программу. Замучился уже читать сообщения компилятора...
Германн (2007-12-10 01:48:00) [3]
> Leonid Troyanovsky © (10.12.07 01:36) [33]
>
...
> А часовню тоже я разрушил?
>
Нет. Это было до вас. В хх-м веке.
:)
Leonid Troyanovsky (2007-12-10 01:36:00) [4]
> Германн © (10.12.07 00:31) [32]
> Лида (шепотом) - "Почти".
А часовню тоже я разрушил?
--
Regards, LVT.
Германн (2007-12-10 00:31:00) [5]
> Leonid Troyanovsky © (09.12.07 23:03) [21]
>
...
> Давай, подождем его мнения, правильно ли я понял его.
>
Шурик - "Я угадал?"
Лида (шепотом) - "Почти".
(с) Операция Ы и другие приключения Шурика. Часть 2. Наваждение.
oxffff (2007-12-10 00:16:00) [6]
> palva © (09.12.07 23:52) [28]
Приведите calling convention.
Anatoly Podgoretsky (2007-12-10 00:15:00) [7]> oxffff (10.12.2007 00:10:29) [29]
А это отношения к вопросу не имеет.
Вопрос про присвоение переменной типа Pointer к переменной типа string.
Ясно, что желание странное, но выполнимое.
oxffff (2007-12-10 00:10:00) [8]
> palva © (09.12.07 23:52) [28]
const ACONST:array[1..10] of byte=(1,0,0,0,0,0,0,0,0,0);
procedure TForm1.Button1Click(Sender: TObject);
var p:pointer;
s:string;
begin
p:=@ACONST[9];
pointer(s):=p;
s:=''; //Принимайте AV
end;
palva (2007-12-09 23:52:00) [9]
> oxffff © (09.12.07 23:48) [26]
> > Anatoly Podgoretsky © (09.12.07 23:33) [23]
> Так нельзя делать!!!
А так можно ?
type
trrr = function: Integer;
var
rrr: trrr;
h: THandle;
begin
h := LoadLibrary('testdll.dll');
@rrr := GetProcAddress(h, 'rrr');
palva (2007-12-09 23:48:00) [10]
> Говорила же мама - учи язык.
Alma Mater говорила - учи алгол. (1970 г.)
oxffff (2007-12-09 23:48:00) [11]
> Anatoly Podgoretsky © (09.12.07 23:33) [23]
Так нельзя делать!!!
Anatoly Podgoretsky (2007-12-09 23:45:00) [12]> palva (09.12.2007 23:43:24) [24]
Говорила же мама - учи язык.
palva (2007-12-09 23:43:00) [13]
> Anatoly Podgoretsky © (09.12.07 23:33) [23]
> > palva (09.12.2007 23:32:22) [22]
> А разве так нельзя
И в самом деле. Кто бы мог подумать, что такое работает.
{$APPTYPE CONSOLE}
uses SysUtils;
var
s: String;
p: Pointer;
begin
s := 'test';
p := Pointer(s);
Pointer(s) := p;
Writeln(s); // test
end.
Anatoly Podgoretsky (2007-12-09 23:33:00) [14]> palva (09.12.2007 23:32:22) [22]
А разве так нельзя
pointer(StrVar) := pointer;
palva (2007-12-09 23:32:00) [15]
San1712 (09.12.07 17:27) [0]
> Как присвоить содержимое переменной Pointer переменной типа String?
Присвоить непосредственно нельзя. Эти типы несовместимы
> Или как можно преобразовть к типу переменную Pointer ?
Можно преобразовать тип Pointer к целому, а затем в строковое десятичное или шестнадцатиричное представление целого числа.
{$APPTYPE CONSOLE}
uses SysUtils;
var
s: String;
p: Pointer;
begin
p := @s;
s := IntToStr(Integer(p));
WriteLn(s); // 4237208
s := IntToHex(Integer(p), 8);
WriteLn(s); // 0040A798
end.
Leonid Troyanovsky (2007-12-09 23:03:00) [16]
> oxffff © (09.12.07 22:57) [20]
> и что конкретно вам не нравиться в моем совете?
Я, IMHO, его никак не комментировал, бо моя реплика
адресовалась уважаемому Германну.
Давай, подождем его мнения, правильно ли я понял его.
--
Regards, LVT.
oxffff (2007-12-09 22:57:00) [17]
> Leonid Troyanovsky © (09.12.07 22:51) [19]
и что конкретно вам не нравиться в моем совете?
Leonid Troyanovsky (2007-12-09 22:51:00) [18]
> oxffff © (09.12.07 22:44) [18]
http://www.podgoretsky.com/DM/BadTips.html
--
Regards, LVT.
oxffff (2007-12-09 22:44:00) [19]
> Leonid Troyanovsky © (09.12.07 22:33) [17]
А можно разъяснение вашего IMHO о bad tip?
Leonid Troyanovsky (2007-12-09 22:33:00) [20]
> Германн © (09.12.07 22:11) [10]
> Супер!
Хе-хе. SetString и не надо никаких предположений.
Почти сразу стало ясно, что это клиент BadTips,
а там и про это есть.
--
Regards, LVT.