Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как копировать содежимое переменной типа Pointer -->String ? [D7, WinXP]


Страницы:   1 2

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.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо