Текущий архив: 2004.09.05;
Скачать: CL | DM;
Вниз
Преобразование типов Найти похожие ветки
← →
Хыыыы (2004-08-18 09:18) [0]как преобразовать Pchar в String?
Спасибо.
← →
Семен Сорокин © (2004-08-18 09:19) [1]StrPas
← →
VMcL © (2004-08-18 10:03) [2]>>Семен Сорокин © (18.08.04 09:19) [1]
Лучше просто String(...)
← →
Семен Сорокин © (2004-08-18 10:08) [3]
> VMcL © (18.08.04 10:03) [2]
Вы правы, в Help"е написано:
This function is provided for backwards compatibility only. To convert a null terminated string to an AnsiString or native Delphi language string, use a typecast or an assignment.
а я все по старинке, лучше явным приведением.
← →
Anatoly Podgoretsky © (2004-08-18 10:17) [4]Еще проще
S := P
← →
Хыыыы (2004-08-18 10:26) [5]а String в Pchar?
← →
Рамиль © (2004-08-18 10:39) [6]P := PChar(S);
← →
Digitman © (2004-08-18 10:42) [7]
> Хыыыы (18.08.04 10:26) [5]
> а String в Pchar?
var
pc: PChar;
s: string;
1.
pc := PChar(s); //без выделения памяти
2.
//с выделением памяти
pc := StrAlloc(Length(s) + 1);
StrCopy(pc, PChar(s));
← →
VMcL © (2004-08-18 10:44) [8]>>Anatoly Podgoretsky © (18.08.04 10:17) [4]
Совершенно верно. Но я, к примеру, в своих программах специально пишу явное преобразование в PChar->String, чтобы быть осторожнее, когда что-то исправляю.
>>Семен Сорокин © (18.08.04 10:08) [3]
И StrPas(...) и String(...) - явные приведения, просто StrPas вызывать смысла нет (по крайней мере в последних версиях Delphi), потому что StrPas всё равно содержит код такого вида:function StrPas(P: PChar): String;
begin
Result := P; // или Result := String(P); - не помню точно, это не важно
end;
← →
Хыыыы (2004-08-18 13:41) [9]Не работает......пишет "Несовместимые типы String и PAnsiChar"
var msg:PChar;
....
msg:=IntToStr(Query1.RecordCount);
if Application.MessageBox("Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?" "Удаление записи", MB_YESNO)=ID_YES then Table1.Delete
← →
Хыыыы (2004-08-18 13:43) [10]сорри.........
var msg:Pchar;
....
msg:=IntToStr(Query1.RecordCount);
if Application.MessageBox("Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?" "Удаление записи", MB_YESNO)=ID_YES then Table1.Delete
← →
Хыыыы (2004-08-18 13:46) [11]плиз, сделайте предпросмотр сообщения перед отправкой....:(
var msg:Pchar;
....
msg:=IntToStr(Query1.RecordCount);
if Application.MessageBox("Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?", "Удаление записи", MB_YESNO)=ID_YES then Table1.Delete
Извините за флейм
← →
Digitman © (2004-08-18 13:46) [12]
> Хыыыы (18.08.04 13:43) [10]
var msg:String;
msg:=IntToStr(Query1.RecordCount);
if Application.MessageBox(PChar("Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?") "Удаление записи", MB_YESNO)=ID_YES then Table1.Delete
← →
Хыыыы (2004-08-18 14:00) [13]> Digitman © (18.08.04 13:46) [12]
function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;
← →
Digitman © (2004-08-18 14:03) [14]
> Хыыыы (18.08.04 14:00) [13]
это ты к чему ?
← →
Хыыыы (2004-08-18 14:29) [15]к тому что ошибка остаётся
"Несовместимые типы String и PAnsiChar", но теперь она не в
msg:=IntToStr(Query1.RecordCount);
а вif Application.MessageBox("Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?", "Удаление записи", MB_YESNO)=ID_YES then Table1.Delete
а точнее в"Удаление этой записи повлечёт за собой удаление "+msg+" записей из таблицы Table1"#13#10#13#10"Удалить запись?"
← →
Digitman © (2004-08-18 14:33) [16]
> Хыыыы (18.08.04 14:29) [15]
глаза-то разуй !
посмотри внимательно на все отличия кода в [15] и [10] !
← →
Думкин © (2004-08-18 14:35) [17]> [15] Хыыыы (18.08.04 14:29)
1. Записи такие дикие - вынеси например в resourcestring
2. Используй Format
3. PChar(String)
4. ??
← →
Хыыыы (2004-08-18 14:38) [18][15] и [10] это мои сообщения, сонтрол+це и контрол+вэ они одинаковы
← →
Digitman © (2004-08-18 14:54) [19]
> Хыыыы (18.08.04 14:38) [18]
о боже !)
ну так сложно сориентироваться что ли ?
ну не [10], а [12] ! ты вообще вникаешь в то что тебе адресовано ? неважно под каким номером поста ?
← →
Хыыыы (2004-08-18 15:06) [20]> Думкин © (18.08.04 14:35) [17]
Спасибо, пЫво за мной
← →
Думкин © (2004-08-18 15:09) [21]> [20] Хыыыы (18.08.04 15:06)
Мне то за что? Это к > Digitman ©
← →
NAlexey © (2004-08-18 15:12) [22]He-he. Содержательная беседа.
← →
app © (2004-08-18 15:50) [23]Думкин © (18.08.04 15:09) [21]
А ему Пиво
← →
app © (2004-08-18 15:50) [24]Удалено модератором
← →
Паскальные надписи © (2004-08-18 17:02) [25]
> app © (18.08.04 15:50) [24]
> Удалено модератором
А это что-то типа этого? :)
********** : удалено самоцензурой. В RO захотел?
:-)))))))
← →
Anatoly Podgoretsky © (2004-08-18 17:21) [26]Это было два Пиво, а ему хватит и одного.
← →
Anatoly Podgoretsky © (2004-08-18 17:22) [27]И как только рука поднялась. :-)
Страницы: 1 вся ветка
Текущий архив: 2004.09.05;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.048 c