|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.07.2011, 15:27 | #1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Date из одного окна в другое окно
Здравствуйте!
Вопрос как правильно передать Дату из одного окна в другое окно? Пробую при помощи function так: Код:
а) на строку объявления функции: [DCC Error] uBaseForm.pas(45): E2065 Unsatisfied forward or external declaration: 'TfBaseForm.GetDateShift' б) всё время подчёркивает второе слово Date говорит неизвестная щняга O_o , попробовал даже: StrToDateTime(TimeToStr(edDate.Date )), edDate.Value.Date, edDate.FieldDate, итд. - всё не нравится! В шоке, не могу понять что за ерундистика... Сам метод передачи даты правильный? Или есть правильнее? |
27.07.2011, 15:32 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
27.07.2011, 15:41 | #3 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Блин. Запахался. Спасибо.
PS Кстати об удобстве и логичности Delphi - НИ РАЗУ не видел, чтобы процедура или функция писалась с ДРУГИМ названием формы... такое вообще бывает?! а то сомнения берут нахрена это название каждый раз писать?! |
27.07.2011, 15:51 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> Запахался
а зачем пахать, нажимаешь Ctrl+Shift+C на объявлении метода, и IDE сама допишет его пустую реализацию. > нахрена это название каждый раз писать? классов в модуле может быть сколько угодно, имена методов могут у них совпадать. Форма — это такой же класс, как и любой другой. Ломать синтаксис только из-за форм, имхо, не логично. Тем более, если в будущем IDE будет позволять объявлять несколько форм в одном модуле, надо будет ломать всё обратно.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
27.07.2011, 15:56 | #5 | ||
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Цитата:
Цитата:
|
||
27.07.2011, 15:57 | #6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
я вот возьму, и в этом модуле объявлю еще один класс с таким же методом, и что тогда делать будем?(а еще рядовую функцию тоже объявлю) так что не катит такой подход. есть четкие правила, почему вы их не хотите выполнять?(кстати так практически везде, когда реализация отдельно от объявления) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 27.07.2011 в 16:01. |
||
27.07.2011, 16:07 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> А наоборот есть сочетание?
есть. Тоже Ctrl+Shift+C, как ни странно > Стоило бы доделать этот момент разработчикам имхо, максимум, что тут можно сделать, это добавить нечто вроде неймспейса: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
27.07.2011, 17:58 | #8 | ||
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Цитата:
Это всё равно что общаясь с человеком в каждом предложении обращаться по ФИО - оба охранеют от такого разговора... Цитата:
Вопрос намного проще - если всего один основной класс - нафиг его писать каждый раз?! Да и даже если классов много, то имеет смысл писать полный путь исключительно при совпадении названий, иначе тоже... нафиг не нужно. Последний раз редактировалось delphicoding; 27.07.2011 в 18:07. |
||
27.07.2011, 19:53 | #9 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
кстати, вы так же забыли учесть, внутренние функции модуля, то есть те которые не экспортируются(не доступны из других модулей), они имеют тот синтаксис(то есть их реализацию можно писать сразу на месте) что вы и написали, и по сути не нуждаются в объявлении. вот поэтому компилятор вас и послал, потому что он видел: 1)неэкспортируюмую функцию модуля GetDateShift. 2)нереализованный метод TfBaseForm.GetDateShift. и почему компилятор должен гадать что вы хотели написать? PS: насчет ФИО пример не удачен, в официальном разговоре так и происходит. а код, скорее официальный разговор. PPS: Цитата:
PPPS:а вообще весело в чужой монастырь со своими правилами лезть?синтаксис однозначен и правила известны, а вы их хотите изменить. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 27.07.2011 в 19:56. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Замена одного слова на другое в массиве строк С++ | Тома1993 | Помощь студентам | 0 | 17.03.2011 21:52 |
Перевод с одного значения в другое в С++ 2008 | atlon | Общие вопросы C/C++ | 11 | 11.01.2009 00:34 |
Кнопки-ссылки на другое окно | Slava13 | Общие вопросы Delphi | 10 | 12.11.2008 08:52 |
Перетаскивание значения одного поля в другое | inret | Общие вопросы Delphi | 3 | 09.05.2008 15:26 |
[Delphi] Замена одного слова на другое... | ZhooZhik | Помощь студентам | 5 | 09.01.2008 23:31 |