![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Nolik |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
С точки зрения скорости исполнения процедуры, как правильнее организовать корректную работу процедуры с большим количеством изменяемых переменных?
1. Сформировать Class, и содержать в нем все необходимые переменные. Передавать в процедуру в качестве параметра Class. Теперь процедура работает с переменными, содержащимися в Class: Код MyProcedure( Class:MyClass ); begin Class.var1 := Class.var2 + Class.var3; End; 2. Определить переменные в начале программы НО НЕ передавать их в MyProcedure в качестве параметров, а позволить процедуре работать с внешними (для нее) переменным: Код var1; var2…….varN MyProcedure(); begin var1:= var2 + var3; End; |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Под какими компилерами будет твоя программа компилироваться? (Кроме твоего "www.wld3.com", который очень странно обрабатывает стандартные конструкции языка...
![]() |
Nolik |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
очень странно обрабатывает стандартные конструкции языка... ![]() Проверил еще раз. Оба способа передачи объекта в подпрограмму Код procedure Test( Cont :Container ) и Код procedure Test( var Cont :Container ) Работают одинаково... Код Type Container = class( TObject ) private protected public str :string; end; procedure Test( Cont :Container ); begin Cont.str:='Test'; end; var Cont :Container; Cont:=Container.Create; Print(Cont.str); Test(Cont); Print(Cont.str); Все-таки у меня остается не решенным вопрос: каким контейнером лучше воспользоваться в моем случае, с точки зрения скорости обращения к переменным, ну и корректности Pascal в целом… Илья. |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 12:06 |