| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Научите меня создавать функцию |
| Автор: Hellen 28.1.2009, 21:16 |
| Правильно я понимаю: - Функция служит для хранение одной или несколько процедур. Я пишу процедуры, запихиваю в функцию и по мере надобности вызываю их......??? Расскажите пжлста, или лучше пример, где я объявляю и тд. В каких ситуациях необходимо создавать классы? и как создавать. Опять же пример помог бы....... Спасибо! |
| Автор: SneG0K 28.1.2009, 21:33 | ||
| Эммм... Классы тебе пока рановато будет. А вот тебе пример самой простой функции, которая возвращает квадрат от переданного ей числа
А вообще возьми любой справочник по паскалю и сразу все поймешь. |
| Автор: Hellen 28.1.2009, 21:55 |
| Функцию где объявляем? |
| Автор: Данкинг 28.1.2009, 22:01 | ||
| Hellen, так сколько и какие именно книги по Дельфи прочитала? Что значит где? В программе.
Добавлено через 46 секунд |
| Автор: Hellen 28.1.2009, 22:39 | ||
Добавлено через 4 минуты и 12 секунд текст ошибки:- Unsatisfied forward or external declaration: 'TForm........ Добавлено через 5 минут и 44 секунды может её в типе надо сначало описать? |
| Автор: Данкинг 28.1.2009, 22:54 |
Потому что надо было всё же книжки для начала почитать заголовок функции ты объявила, а саму функцию (и чего ты от неё хочешь) не написала. |
| Автор: Christoph 28.1.2009, 23:38 |
| ыыы эта девочка, меня напоминает |
| Автор: Christoph 29.1.2009, 00:22 | ||||||||
Это ты объявил метод, а функцию стоило бы объявить за пределами класса
функция - это подпрограмма, которое после завершения возращает значение И еще тут тебе SneG0K, неправильный написал пример,функции нужен результирующий тип , как я уже говорил функция возращает значение, значит будет так
|
| Автор: Christoph 29.1.2009, 00:45 | ||
А можно такое и на делфи...хотя имхо чуть глупо
Функция ничего не возращает) |
| Автор: THandle 29.1.2009, 01:13 |
| Эта функция возвращает результат в виде значения типа Integer. в с++ void функции это, считай, наши процедуры. вообще - функция эта та же самая процедура, толька возвращающая результат. Например в математике в той же задана функция y = f(x), f - функция, x - параметр функции, у - результат. вообще народ тут о книжках правильно говорит, надо читать))) зы: первый пост с телефона))) |
| Автор: SneG0K 29.1.2009, 01:46 |
| Так, вот тока без наездов. С телефона не удобно писать было. Начни с простого. С юнитов, из чего они состоят и т.д. Создавай *.dpr файл и в нем пиши. А то формы далеко не доведут. |
| Автор: Akella 29.1.2009, 02:20 | ||||||
Нет, основное отличие функции от процедуры в том, что функция возвращает какой-то результат например
Добавлено через 53 секунды А процедура не может возвращать никаких результатов, в ней могут происходить какие-то действия, но результатов она не вернёт. |
| Автор: Данкинг 29.1.2009, 02:41 |
Но, как я понимаю, в C++ понятия "процедура" всё же нет. И осмелюсь повторить свой вопрос: Добавлено через 6 минут и 9 секунд Взять мало, ещё нужно этот справочник осилить. А вообще, прикольная тема. |
| Автор: de_Nis 29.1.2009, 12:09 |
| Hellen, скачай электронную книжку Культин Н. Б. Основы программирования в Delphi 7 (598 c).pdf В ней прочти раздел "Стандартные функции" (с. 70) и "Глава 6. Процедуры и функции" (с.183). Очень доступно изложен материал. (Неплохо прочесть эту книгу всю, мне очень понравилась). Думаю, вопросов в этой теме задавать больше не будешь, так как все станет ясно и понятно. |
| Автор: Hellen 29.1.2009, 17:36 | ||
Delphi 7 Наиболее полное руководство (Анатолий Хоменко, Владимир Гофман, Евгений Мещеряков, Владимир Никифоров.) и ещё Флёнова читала. |
| Автор: Данкинг 29.1.2009, 17:42 |
У Фленова ничего нет про функции разве? |
| Автор: Rrader 29.1.2009, 17:49 |
| Hellen, ты скажи главное, разобралась, как функции создавать? |
| Автор: Hellen 29.1.2009, 17:49 | ||||
Вот я и хочу понять порядок действий. в каком разделе объявляем, в каком пишем в каком вызываем. Что такое приват или публик можно не объяснять......... Добавлено через 1 минуту и 26 секунд
|
| Автор: morpheyushka 29.1.2009, 18:03 |
Начни с книги, а потом вопросы задавай, а то у Данкинга сейчас приступ начнется |
| Автор: Rrader 29.1.2009, 18:06 |
| Вот http://www.delphicode.ru/delphi/procedures.htm совсем небольшенькая статья по этому вопросу. Обязательно нужно читать книжки. Теория функций и процедур - чрезвычайно объемная тема. |
| Автор: Hellen 29.1.2009, 18:06 | ||
Данкин прими пока валидольчику......... |
| Автор: Hellen 29.1.2009, 21:49 | ||||
Я создала процедуру "Procces":
Как мне проверить что klon равен 10ти? Добавлено через 1 минуту и 45 секунд я хочу понять как мне вызвать созданную процедуру.
|
| Автор: Данкинг 29.1.2009, 22:35 | ||
ыыы Прочитай книгу ещё раз. Написать её имя в нужном месте, к примеру, в твоём примере процедура вызывается по клику на кнопке:
ЗЫ: Уже процедуру? |
| Автор: Hellen 29.1.2009, 22:42 | ||||||||||
Добавлено через 48 секунд Я медленно подхожу к Функции ........ Добавлено через 3 минуты и 14 секунд Вот я подшла уже к функции
Добавлено через 4 минуты и 19 секунд
|
| Автор: Данкинг 29.1.2009, 22:46 | ||
ЫЫЫЫ!!! В данном случае - никак. Если хочешь что-то посмотреть (в твоём, повторяю, случае), то в процедуре Proccess укажи явно:
|
| Автор: Hellen 29.1.2009, 22:49 |
| Я уже почти разобралась, маленький пинок в нужном направлении и я у цели..........плииииз |
| Автор: Данкинг 29.1.2009, 22:49 | ||
|
| Автор: Hellen 29.1.2009, 22:50 | ||||||
Добавлено через 11 минут и 38 секунд
Как ты объявил функцию?? код полностью дай плиз Добавлено через 14 минут и 24 секунды Сначала мы объявляем функцию
потом описываем:- function TForm1.Procces(iii:integer):integer; begin result:=10; end; Потом вызываем:- procedure TForm1.Button1Click(Sender: TObject); begin edit1.Text:=inttostr(process(10)); end; |
| Автор: Akella 29.1.2009, 23:06 | ||||||||||||
вот в привате или паблике напиши
и не убирая курсора с этой строки нажми Ctrl+Shift+C и редактор кода сам тебе создаст в нужном месте реализацию функции, ты только внутренности заполнишь Добавлено @ 23:07 обрати внимание на TForm1. это значит, что функция принадлежит форме Form1 и объявленна в паблике или прайвете вот так
т.е. объявлена БЕЗ TForm1. Добавлено через 8 минут и 38 секунд Пойми. есть объявление, есть реализация, есть вызов. Т.е. в паблике мы её объявляем
ниже строк
пишем её реализацию, т.е внутренности:
а теперь мы можем уже эту функцию где-нибудь вызвать, например, можно бросить кнопку на форму, дважды щёлкнуть по кнопке, сразу попадём в редактор кода
|
| Автор: Hellen 29.1.2009, 23:21 | ||||
Вот теперь всё получилось и я наконец то поняла................. Спсибки всем и АймСори если чо не так........ |