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

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

SizeOf [D7]


неважно ©   (2005-11-30 22:53:00) 


var St:String[20];
begin
 Caption:=IntToStr(SizeOf(St));


Дык...почему же он равен 21 ???


Думкин   (2005-12-01 10:54:00) [1]

При обычных установках:

procedure TForm1.FormCreate(Sender: TObject);
var s : string;
    n0,n1,n2 : integer;
begin
     s := '';
     n0 := sizeOf(s);
     s := '1';
     n1 := sizeOf(s);
     s := '2';
     n2 := sizeOf(s);
     Caption := Format('%d %d %d',[n0,n1,n2])
end;


Попробуй. Удивись еще больше. Надо length .


Amoeba   (2005-12-01 10:33:00) [2]

Потому, что в S[0] (нулевой байт) хранится длина короткой строки. 20+1=21.


Сайбель Алексей   (2005-11-30 23:19:00) [3]

-1


Anatoly Podgoretsky   (2005-11-30 23:18:00) [4]

неважно   (30.11.05 23:13) [2]
А зачем?


неважно   (2005-11-30 23:13:00) [5]

2 DrPass ©   (30.11.05 22:57) [1]
А как-нибудь это обойти можно???


DrPass   (2005-11-30 22:57:00) [6]

Тип ShortString имеет еще один байт, в котором хранится его длина


Наверх

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