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

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

Как преобразовать String в PAnsiChar? [D7, WinXP]


rolex ©   (2005-01-30 12:33:00) 

Компилятор ругается "Incompatible types: 'Strings' and 'PAnsiChar'".
Кусок кода вот: Application.MessageBox('С объекта "' +(CheckListBox1.Items[i2])+'" автоматически
Как преобразовать CheckListBox1.Items[i2] в AnsiChar?


rolex   (2005-01-30 18:39:00) [1]


> JaDS ©   (30.01.05 16:13) [11]
> 2rolex:
> тогда уж лучше так Application.MessageBox(PChar('С объекта
> "'+(CheckListBox1.Items[i2])+'" автоматически

А я так и сделал. (Я не любитель ненужного кода. Люблю чтобы мои исходники были максимально упрощены, и понятны.)


JaDS   (2005-01-30 16:13:00) [2]

2rolex:
тогда уж лучше так Application.MessageBox(PChar('С объекта "'+(CheckListBox1.Items[i2])+'" автоматически


Ihor Osov'yak   (2005-01-30 15:35:00) [3]

2  ShimON

Делфи - он выдумщик такой при работе со строками.
Помогает просмотр кода по Ctrl_Alt_C после срабатывания брекпоинта на строчке исходного текста, где производится операция со строками.
На некоторой стадии изучения матчасти очень помогает (вышеупомянутый просмотр) в понимании механизмов работы со строками.


rolex   (2005-01-30 15:24:00) [4]

Всем сапиб! Воспользовался этим:
S := '';
P := PChar(S);

Помогло!


ShimON   (2005-01-30 13:37:00) [5]

Прогнал, посмотрел - похоже ты прав...


Anatoly Podgoretsky   (2005-01-30 13:33:00) [6]

И не уходи от вопроса [3], что ты сделал что бы проверить саое утвержение - просмотрел исходный код, сделал трассировку примера, прогнал пример и сравнил значение P?


Anatoly Podgoretsky   (2005-01-30 13:31:00) [7]

А тос что это не String, а ShortString, мы говорили про String


ShimON   (2005-01-30 13:24:00) [8]

Ошибся
В варе, конечно Path: PChar;


ShimON   (2005-01-30 13:22:00) [9]

как тогда объяснишь это..

type
 PRegMusicInfo = ^RegMusicInfo;
 RegMusicInfo = packed Record  
    Name : ShortString;        
    Adress : TAdress;          
    Path : ShortString;    
 end;

procedure lala;
var
 Music: PRegMusicInfo;

begin
 Path:= PChar(Music^.Path);
end;


Ошибка вылезает: Invalid Typecast


Anatoly Podgoretsky   (2005-01-30 13:15:00) [10]

ShimON ©   (30.01.05 13:11) [2]
Заблуждаешься, именно функция, можешь или протрассировать или проверить следующим образом

S := '';
P := PChar(S);


ShimON   (2005-01-30 13:11:00) [11]

Функция??? :) На мой взгляд - это явное приведение типов.... Или я ошибаюсь??


Anatoly Podgoretsky   (2005-01-30 12:34:00) [12]

Функция PChar


Наверх

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