Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Процедура в Lazarus (Delphi)  (Прочитано 2480 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HappyJesus

  • Автор темы
  • Участник
  • *
  • Сообщений: 154
  • Ubuntu 16.04 x64
    • Просмотр профиля
Процедура в Lazarus (Delphi)
« : 08 Сентября 2015, 18:18:09 »
Привет. Возникла такая проблема. Хочу сократить километры кода в программе на Lazarus. Вопрос в следующем. Как создать процедуру или что то подобное и вписать туда большой часто повторяющийся кусок кода. И потом при необходимости к этой процедуре обращаться. Заранее спасибо!

Video:Nvidia GTX 860M; Memory: 8GB; HDD: 1TB; Model: Lenovo y50-70; Processor: Core i7 4710HQ;16.04.2

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Процедура в Lazarus (Delphi)
« Ответ #1 : 08 Сентября 2015, 18:25:09 »
Сделай процедуру в главном модуле и объяви ее как паблик, если надо к ней доступ из любого места. Если так не нужно, то тогда надо делать в том модуле, где будет использоваться.
С уважением, Юрий.

Оффлайн HappyJesus

  • Автор темы
  • Участник
  • *
  • Сообщений: 154
  • Ubuntu 16.04 x64
    • Просмотр профиля
Re: Процедура в Lazarus (Delphi)
« Ответ #2 : 08 Сентября 2015, 18:39:22 »
Сделай процедуру в главном модуле и объяви ее как паблик, если надо к ней доступ из любого места. Если так не нужно, то тогда надо делать в том модуле, где будет использоваться.
А можно пожалуйста по подробнее как ее создать, как объявить, и как потом вызывать?

Video:Nvidia GTX 860M; Memory: 8GB; HDD: 1TB; Model: Lenovo y50-70; Processor: Core i7 4710HQ;16.04.2

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Процедура в Lazarus (Delphi)
« Ответ #3 : 08 Сентября 2015, 18:56:11 »
Можно. :) Но лучше в сети поискать инфу. Я уже не помню. Давно баловался дельфи. Вряд ли вспомню.
С уважением, Юрий.

Оффлайн qub

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Re: Процедура в Lazarus (Delphi)
« Ответ #4 : 08 Сентября 2015, 20:57:32 »
Привет. Возникла такая проблема. Хочу сократить километры кода в программе на Lazarus. Вопрос в следующем. Как создать процедуру или что то подобное и вписать туда большой часто повторяющийся кусок кода. И потом при необходимости к этой процедуре обращаться. Заранее спасибо!
Может такой пример поможет:
(Нажмите, чтобы показать/скрыть)

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Процедура в Lazarus (Delphi)
« Ответ #5 : 08 Сентября 2015, 21:02:43 »
В простой программе поможет. Вот только лазарус уже ООП как бы. Там не прокатит. Там всякие наследования, классы, методы, инкапсуляции. Чтоб процедура или функция была доступна в любом месте программы, ее надо правильно описать и разместить в определенном модуле программы.
С уважением, Юрий.

Онлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5682
  • Все по палатам!
    • Просмотр профиля
Re: Процедура в Lazarus (Delphi)
« Ответ #6 : 08 Сентября 2015, 23:48:51 »
Может книжку прочитать по дельфи какую, в любой из них есть нужная информация?
Можно посмотреть исходники других программ http://www.delphi.int.ru/sources/
Извините, я все еще учусь

Lifewalker

  • Гость
Re: Процедура в Lazarus (Delphi)
« Ответ #7 : 09 Сентября 2015, 07:44:41 »
Вот к чему приводит обучение событийно-управляемому мышевождению по формоконструкторам без понимания принципов. :(

Если серьёзно, то нужно взять любую книжку по Паскалю/Делфи, в которой разжёвываются самые азы, ибо процедурное программирование - это ну совсем-совсем начальные знания. Потом нужно изучть, что такое модули (в терминах Делфи/Лазаря - юнит), как их использовать. После этого понять что есть декомпозиция.

После этой научной зауми, наконец, можно будет лёгким движением руки выделить нужный кусок кода в отдельную процедуру, положить её в нужный модуль, включить оный модуль в нужные части программы и - вуаля! - щастье привалило.

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 323
    • Просмотр профиля
    • Virusoft
Re: Процедура в Lazarus (Delphi)
« Ответ #8 : 19 Сентября 2015, 00:54:41 »
Привет. Возникла такая проблема. Хочу сократить километры кода в программе на Lazarus. Вопрос в следующем. Как создать процедуру или что то подобное и вписать туда большой часто повторяющийся кусок кода. И потом при необходимости к этой процедуре обращаться. Заранее спасибо!
Действуем следующим образом.

(Нажмите, чтобы показать/скрыть)
После этого в том модуле, где нужно выполнить указанный код пишем в строке

Uses {Другие подключаемые модули}, myUnit;

И потом в программе вызываем в нужном месте эту процедуру.
Если работает - не трогай. Linux - гибкая система, но один раз прогнувшись может обратным ходом распрямиться и ударить по самому (…) месту. Думай о будущем и все будет хорошо.

 

Страница сгенерирована за 0.078 секунд. Запросов: 25.