Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

Как передать запись (TMyRecord) в процедуру...   Найти похожие ветки 

 
noviceman   (2008-05-13 07:28) [0]

В классе есть процедура типа
procedure SetSomeParam(SomePar: TMyRecord);

Вопрос в том, как передать в нее эти параметры. Делал так (и это работает :-)):


...
var
 SomeObject: TSomeClass;
...
procedure SetParFor;
var
 MyRecord: TMyRecord
begin
 MyRecord.First := 1;
 MyRecord.Second := 255;
 SomeObject.SetSomeParam(MyRecord);
end;


Как не делать предварительного описания переменной TMyRecord, как сразу в вызове процедуры описать значения параметров?
Типа:
SomeObject.SetSomeParam(...);

Заранее благодарю...


 
Loginov Dmitry ©   (2008-05-13 07:58) [1]

> как сразу в вызове процедуры описать значения параметров?
>


При вызове процедуры можно передавать более одного параметра. Передавай не TMyRecord, а ее поля.

Еще можещь разработать дополнительную функцию, принимающую поля записи, и возвращающую собранную запись, например:


function BuildMyRecord(AFirst: Integer = 1; ASecond: Integer = 255): TMyRecord;
begin
 with Result do
 begin
   First := AFirst;
   Second := ASecond;
 end;
end;


и оформить вызов так: SomeObject.SetSomeParam(BuildMyRecord());

Короче, вариантов масса...


 
noviceman ©   (2008-05-13 08:10) [2]

Варианты все через дополнительную процедуру (функцию)? Тогда менять ничего не буду.
Спасибо за ответ.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.046 c
15-1207998351
Anatoly Podgoretsky
2008-04-12 15:05
2008.06.01
www.podgoretsky.com


3-1198498114
Wlad
2007-12-24 15:08
2008.06.01
Связка BDEDatasource и IBDataset


2-1209990468
Grant
2008-05-05 16:27
2008.06.01
Проверка пути в DLL


2-1209983586
Res
2008-05-05 14:33
2008.06.01
после recv виснет


2-1210155494
Первокласник Вася
2008-05-07 14:18
2008.06.01
таймер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский