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

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

Сответствие типов методом исследования [D7, XP]


Tifon ©   (2007-01-03 17:17:00) 

Реально ли это сделать именно в Делфи 7(6) или паскале, помогит плз. Нигде не могу найти ответ на этот вопрос.


Tifon   (2007-01-04 17:14:00) [1]

to ors_archangel
Спасибо тебе за ответ, наверно ты единственный кто понял мой неправильно заданный вопрос.
А дело в том что, у меня друг учиться в универе на экономиста и им такое задали, ну он и попросил меня узнать что-нибудь по этому, а вопрос просто звучал так "Соответствие типов методом исследования", и он ничего не понял и я тоже, поэтому еще раз спасибо и простите за такую эхинею.


ors_archangel   (2007-01-04 16:38:00) [2]


> Реально ли это сделать именно в Делфи…
> …понятно, а теоретически этот вопрос объясните пожалуйста,
>  как обрабатывает это компилятор и как можно определить
> вручнуют соответствуют ли типы друг другу?

1
В общем случае типы в Делфи использует только компилятор, они далеко не всегда существуют как доступные сущности в run-time, например, нет оператора typeof или любых других, которые могли бы принимать, передавать, и собственно, оперировать типами как таковыми. Мало что дающее исключение здесь составляют т.н. class-reference переменные, которые позволяют нам ссылаться не на экземпляр класса, а на сам класс, как таковой. Т.о. в общем случае только компилятор имеет возмоность опеределять, "соответствуют" ли типы друг другу, подозреваю, что под соответсвием имелась в виду совместимость, тогда совместимость определяется оч просто: любые не объектные и не классовые типы не совместимы (но их псевдонимы могут быть совместимы, если обратное не указано явно с помощью ключевого слова type), типы объектов/классов имеют совместимость, если они имеют общего предка, что всегда верно в случае с классами, но не всегда в случае с паскалевскими объектами. Из всего этого следует, например, идиотский вывод, что любые записи, даже содержащие, например по одному integer-полю никогда не могут быть совместимы в принципе. Существует огромное множество исключений, связанных в том числе с т.н. расширенным синтаксисом Паскаля, так и, например, с модификаторами var,in,out, которые требуют "большей" совместимости, если так можно выразиться
2
Только в некоторых случаях с классами, или, если ты сделаешь собственный RTTI или… возможно достичь [6] - но, как я понял, это не то, чего ты хочешь, потому что в данном случае мы не используем средства языка, а практически используем ЯП, чтобы обеспечить функциональность, которую  ЯП концептуально не имеет, следовательно код будет скорее всего ужасный, нудный, малоэффективный и совершенно не наглядный (все признаки того, что для решения задачи выбран не подходящий язык)
3
Совершенно не понимаю связь между "Сответствие типов методом исследования" и "соответствуют ли типы друг другу" - разве не разные вещи?
ИМХО первое суть что-то философсое, второе же - чисто техническое


Tifon   (2007-01-04 15:35:00) [3]

To Palladin
Понял, извиняйте за оплошность, больше неповториться.


Palladin   (2007-01-03 18:57:00) [4]

Задавай вопросы конкретней или опиши задачу. Твои вопросы выглядят как "Объясните как человек ходит и как можно делать это в ручную?"


Tifon   (2007-01-03 18:24:00) [5]

понятно, а теоретически этот вопрос объясните пожалуйста, как обрабатывает это компилятор и как можно определить вручнуют соответствуют ли типы друг другу?


Palladin   (2007-01-03 18:04:00) [6]

Variant + F1

если, конечно, я нашел вопрос на этот ответ...


umbra   (2007-01-03 18:02:00) [7]

все уже готово, делфи сам проверяет, соответствуют два типа или нет. Главное - их объявить


Tifon   (2007-01-03 17:49:00) [8]

Извиняйте не совсем правильно выразился, просто я уже в отчаянии.

Можноли в делфи создать алгоритм который будет проверять соответствуют два типа или нет? и как это можно описать теоретически, даже если не возможно практически?


Palladin   (2007-01-03 17:47:00) [9]

Нигде не могу найти вопрос на этот ответ.


umbra   (2007-01-03 17:46:00) [10]


> Нигде не могу найти ответ на этот вопрос.
>

не заметил ни одного вопросительного знака :)


Наверх

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