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

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

Структура (запись) [D7]


Страницы:   1 2

Tonich ©   (2005-09-14 11:40:00) 

Такой вопрос.
Можно ли по полям структуры пробежаться в цикле?


Reindeer Moss Eater   (2005-09-14 14:08:00) [1]

Пока компилятор их не встретил, это идентификаторы.


begin...end   (2005-09-14 13:01:00) [2]


> Reindeer Moss Eater ©   (14.09.05 12:55) [18]

Я пойду удавлюсь, ладно? a, b и c -- это идентификаторы полей. А не смещения.


Игорь Шевченко   (2005-09-14 13:00:00) [3]

В .Net - можно :)


Tonich   (2005-09-14 12:59:00) [4]


> Reindeer Moss Eater ©   (14.09.05 12:52) [14]


вот что я хотел сказать  
> a, b, c -- это поля. Но у каждого поля есть смещение от
> начала записи.
но ни как не "a,b,c -это смещения"


> Есть в твоем вопросе смысл?
конечно есть, но видимо для некоторых он оказался скрытым )))

ладно все спасибо )


Ega23   (2005-09-14 12:55:00) [5]

А где прикол в [7]?

Так цикл же!  :о)


Reindeer Moss Eater   (2005-09-14 12:55:00) [6]

>a, b, c -- это поля. Но у каждого поля есть смещение от начала записи.

Расскажи это rtl.
Они полями остаются пока их компилятор не увидел.


Reindeer Moss Eater   (2005-09-14 12:54:00) [7]

>Tonich ©   (14.09.05 11:40)  
>Такой вопрос.
>Можно ли по полям структуры пробежаться в цикле?


>По полям структуры можно пробежаться в цикле.

>тохда вообще пропадает весь смысл в этом цикле

С логикой дружим?


REA   (2005-09-14 12:54:00) [8]

А где прикол в [7]? можно еще пару циклов забабахать, чтобы читать сложнее было.


begin...end   (2005-09-14 12:53:00) [9]


> Tonich ©   (14.09.05 12:48) [13]


> а вы хотите сказать что там a,b,c -это смещения?????

a, b, c -- это поля. Но у каждого поля есть смещение от начала записи.


Reindeer Moss Eater   (2005-09-14 12:52:00) [10]

>а вы хотите сказать что там a,b,c -это смещения?????

А ты хочешь сказать, что это имена во время выполнения программы?
В рантайме нет никаких имен полей вообще.

Ну и какой смысл спрашивать про цикл, если смысла в цикле нет?
Есть в твоем вопросе смысл?


Tonich   (2005-09-14 12:48:00) [11]


> Reindeer Moss Eater ©   (14.09.05 12:38) [10]

когда я говорил что  
> тохда вообще пропадает весь смысл в этом цикле

то имел ввиду  вот это
> jack128 ©   (14.09.05 12:18) [7]

а вы хотите сказать что там a,b,c -это смещения?????


> Reindeer Moss Eater ©   (14.09.05 12:41) [11]
нет


REA   (2005-09-14 12:47:00) [12]

Можно объявить структуру с case массивом и бегать по ней. А что автору надо от пробегов по структуре?


Reindeer Moss Eater   (2005-09-14 12:41:00) [13]

Интересно, а что же ты вообще хотел сделать циклом?
Дай угадаю.
Проинициализировать значения полей?


Reindeer Moss Eater   (2005-09-14 12:38:00) [14]

Поля по именам перечислять не надо.
Есть смещения от начала структуры.

тохда вообще пропадает весь смысл в этом цикле

Это не совсем так.
Смысл пропадает не в цикле.
Пропадает смысл в твоем вопросе.


Ega23   (2005-09-14 12:36:00) [15]

У структуры есть N полей.

Угу. А если это union?


Tonich   (2005-09-14 12:33:00) [16]


> jack128 ©   (14.09.05 12:18) [7]


нет вы меня конечно извините , но помоему это изврат какой-то

да и цикл странный )


> Memo1.Lines.add(IntToStr(a));
откуда будет известно что такое "а" это же поле структуры,

может выхотели написать

var rec:TRec;
Memo1.Lines.add(IntToStr(Rec.a));


тохда вообще пропадает весь смысл в этом цикле если и так перечисляем каждое поле структуры


jack128   (2005-09-14 12:18:00) [17]

type
 TRec = record
   a: byte;
   b: string;
   с: Double;
 end;

for i := 0 to 2 do
 case i of
   0: Memo1.Lines.add(IntToStr(a));
   1: Memo1.Lines.add(b);
   2: Memo1.Lines.add(FloatToStr(с));
 end;


;)


Reindeer Moss Eater   (2005-09-14 12:16:00) [18]

У структуры есть N полей.
У каждого поля есть длина.
Всегда можно написать цикл, в котором на каждой итерации иметь доступ к очередному полю.
В чем проблема-то?


Tonich   (2005-09-14 12:14:00) [19]


> Reindeer Moss Eater ©   (14.09.05 12:09) [4]
поведай...


Reindeer Moss Eater   (2005-09-14 12:09:00) [20]

По полям структуры можно пробежаться в цикле.


Страницы:   1 2

Наверх

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