Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

string && array of Char   Найти похожие ветки 

 
wooow1   (2006-12-26 09:30) [0]

Есть такая переменная a: array[0..19] of Char; Которую я заполняю данными: StrLCopy(a, PChar(Edit1.Text), 18);

А потом в другом месте делаю например так: ShowMessageFmt("test %s", [a]);
В результате при выводе, получаю в конце строки дополнительный символ. т.е. если заполнен весь массив до конца, то выводится приблизительно так: "123456789012345678?" -- последний символ выводится в виде квадратика. Ничего я не придумал, кроме сделать так: ShowMessageFmt("test %s", [String(a)]); Но почему так присходит и как корректно надо сделать это?


 
Elen ©   (2006-12-26 09:52) [1]


> wooow1

А почему не, типа, так? :

var p:pchar;
begin
p:=pchar(Edit1.text);
ShowMessageFmt("test %s",[p]);
end;


 
evvcom ©   (2006-12-26 09:59) [2]

> [0] wooow1   (26.12.06 09:30)
> array[0..19] of Char

20 символов

> StrLCopy(a, PChar(Edit1.Text), 18);

Копируешь только 18
a по сути PChar получается, который должен заканчиваться символом #0


 
wooow1   (2006-12-26 10:09) [3]

Нет, я копирую все символы, это просто пример, поэтому ошибся там везде одно и тоже, т.е. 20 символов.
И на самом деле вот так использую StrLCopy:
StrLCopy(a, PChar(__StringFunc(Edit1.Text)), 20);

...
function __StringFunc(Input: string): string;
...


Ну мне понятно, что PChar заканчивается #0, но как его превратить в стринговую переменную, т.е. без последненго "нуля"? Я сделал так, String(a), это работает, но я не знаю корректно ли.


 
evvcom ©   (2006-12-26 10:21) [4]

> [3] wooow1   (26.12.06 10:09)
> String(a), это работает, но я не знаю корректно ли.

корректно



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
2-1166909334
школьник :-)
2006-12-24 00:28
2007.01.14
ADO и транзакции


2-1166887149
BanserAnt
2006-12-23 18:19
2007.01.14
Кто находится в чате?


2-1166796734
Ega23
2006-12-22 17:12
2007.01.14
Может ли функция от интерфейса быть виртуальной?


2-1167142246
KyRo
2006-12-26 17:10
2007.01.14
Вопрос по Firebird


11-1143547021
В13
2006-03-28 15:57
2007.01.14
JpegObj - kol ?