| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > размер массива, на который указывает PChar |
| Автор: Vasya 28.6.2003, 19:58 |
| Привет! var Buf: PChar; .... begin Buf := PChar(SomeThing); Как узнать размер этого массива? Спасибо! |
| Автор: <Spawn> 28.6.2003, 20:17 |
| Длину? Или размер в байтах? Если длину, то пойдет Length(). А если в байтах, то наверна цикл от 1 до Length() и прибавляешь к результирующему значению размер одного символа. |
| Автор: Vasya 28.6.2003, 20:37 |
| Я не врубился, размер символа не 1 байт? Уточню, мне надо количество элементов(символов) массива, Length(Buf) = 3(хотя это неправильно) , но их там явно больше! |
| Автор: &-ray 28.6.2003, 22:37 | ||
Делаю так:
и все работает правильно однако Напиши подробнее, что ты делаешь |
| Автор: Fantasist 30.6.2003, 16:59 | ||
Ты не указал, что такое SomeThing, а именно от него все и зависит. |
| Автор: Vasya 30.6.2003, 17:18 |
| Image.Picture.Bitmap Но, как я понял, это ни в какие рамки не лезет |
| Автор: &-ray 30.6.2003, 19:49 | ||
|
| Автор: Mikel 1.7.2003, 10:06 |
| Если в PChar'e bitmap седит, то он там обрезан до первого #0. Так что используй указатели, а размер указывай явно и сохраняй. Что-то типа этого Var P:Pointer; Size:Integer; begin //определяешь size GetMem(P,Size); //работаешь с этим делом //а затем FreeMem(P,Size); end; |