поле items 0 name

Поле items 0 name

Есть объявленные типы.

TName = array [ 0..64 ] of char;
TItem = record
Name : TName;
SurName : TName;
end;

так же объявлен массив
Items : array of TItems;

так вот в присвоении
StringGrid1.Cells[ 0, 0 ] := Items[ count ].Name;
в ячейку пишется какая-то лажа.
аналогично с StrPas( PChar( @Items[ count ].Name ) );

хотя при отладке инспекция записи показывает правильный результат
как лечить.


Семен Сорокин ( 2003-07-14 17:40 ) [1]

а нулевой символ #0 в конце каждой строки TName добавляешь?


Skier ( 2003-07-14 17:41 ) [2]


[lamer]Barmaglot ( 2003-07-14 17:54 ) [3]

procedure TForm1.Button1Click(Sender: TObject);
type
TItem = record
Name : array [ 0..64 ] of char;
SurName : array [ 0..64 ] of char;
end;
var
Items : array of TItem;
begin
SetLength(Items,1);
Items[0].Name:=»lamer»;
Items[0].SurName:=»Barmaglot»;
StringGrid1.Cells[ 0, 0 ] := Items[ 0 ].Name;


Geek ( 2003-07-14 17:55 ) [4]

#0 везде есть
Динамический массив выделяется нормально.
Setlength рулит =)
В рантайм массив выглядит так как надо. траблы вот в чем:
даже команда
Move( Items[ count ].Name, k^, 64 ); // k : PChar;
гонит пургу. И с операцией @Items[ count ].Name ТОЖЕ.
Это баг или фича?

>Geek (14.07.03 17:55)

> Move( Items[ count ].Name, k^, 64 ); // k : PChar;
> гонит пургу.

Это ты «гонишь пургу».
И лучше всё-таки по-русски говорить.


Geek ( 2003-07-14 18:08 ) [6]

Что тут не по-русски?

Код от [lamer]Barmaglot работает.

Может как-то влиять на ситуацию то что записи читаются из файла7


Skier ( 2003-07-14 18:10 ) [7]

>Geek (14.07.03 18:08)
Может. Если неправильно читаешь.


Geek ( 2003-07-14 18:24 ) [8]


Geek ( 2003-07-14 18:26 ) [9]

> Если неправильно читаешь.

Читайте также:  адрес бти в мичуринске

Читает-пишет-читает правильно.
Похоже это был глюк из разряда «барабашка» =)

Источник

Образовательный портал