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

Вниз

string [8] заполняется только четырьмя символами   Найти похожие ветки 

 
Mr tray   (2006-06-25 16:12) [0]

Здравствуйте. Столкнулся с непоняткой. Специально воплотил её в одной простой программе:
{$APPTYPE CONSOLE}
type
 str8=string [8];
function g:str8;
var
 i:byte;
begin
 for i:=1 to 8 do
   result[i]:="y";
 writeln(result);
end;
begin
 { TODO -oUser -cConsole Main : Insert code here }
 g;
 readln;
end.

Почему не выводится восемь "y", а только четыре?


 
MBo ©   (2006-06-25 16:19) [1]

добавь в функцию вначале
setlength(result,8);


 
Palladin ©   (2006-06-25 16:19) [2]

{$APPTYPE CONSOLE}
type
str8=string [8];
function g:str8;
var
i:byte;
begin
result[0]:=#8;
for i:=1 to 8 do
  result[i]:="y";
writeln(result);
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
g;
readln;
end.


в подобного типа (коротких) строках, ее длинна хранится в (как ты уже догадался)  в [0], при вызове фунции result заполнен мусором, ты заполняешь только 8 символов начиная со второго байта, первый же так и остается мусором, (и не факт что именно 4 y будут, может быть все что угодно)


 
Palladin ©   (2006-06-25 16:21) [3]


> MBo ©   (25.06.06 16:19) [1]

ну или так :)


 
Mr tray   (2006-06-25 16:52) [4]

ясно. спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.1 c
2-1151509239
olevacho_
2006-06-28 19:40
2006.07.16
Защита привязкой к компу


2-1151650837
Вьюга
2006-06-30 11:00
2006.07.16
Формы в Delphi


1-1149236633
PanIlya
2006-06-02 12:23
2006.07.16
Дата в StringGrid (Перенесена из Компоненты)


15-1150266173
Layner
2006-06-14 10:22
2006.07.16
Бесплатные статистические компоненты, есть ли такие?


3-1147620877
nopox
2006-05-14 19:34
2006.07.16
Error creating cursor handle-Уважаемые, подскажите,