Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > синтексис описания функций.


Автор: conio 5.12.2007, 14:23
Подскажите пожалуйста синтексис описания функции.

Код

 TMyForm = Class(TForm)
  private
    { Private declarations }
    FValue: integer;             // можно по умолчанию присвоить значение сразу тут?
  public
    procedure SetValue(const Value :integer);
    function GetValue():integer;   
  End;

procedure TMyForm.SetValue(const Value :integer);  
begin
    FValue := Value;          // как бы этот код перенести в описании процедуры
end;

function TMyForm.GetValue():integer;   
begin
    Result := FValue;
end;


Вопрос такой : как описать в классе функции чтения и записи чтобы их тело находилось в описании и можно ли по умолчанию при обьявлении класса присвоить какое либо значение полю FValue?

Автор: ivan219 5.12.2007, 14:38
Код

 function GetValue:integer;

Цитата(conio @  5.12.2007,  14:23 Найти цитируемый пост)
 и можно ли по умолчанию

Код

  public
    constructor Create(AOwner: TComponent); override;
.
.
.
constructor TMyForm.Create(AOwner: TComponent);
begin
  inherited;
  FValue := 1;
end;

Автор: conio 5.12.2007, 14:58
Цитата(ivan219 @ 5.12.2007,  14:38)
Код

 function GetValue:integer;


А как я узнаю что за инт прийдет?
Я хочу написать тело функции или процедуры прямо в обьявлении.

PS. А за второй ответ спасибо!

Автор: Rennigth 5.12.2007, 15:07
Цитата(conio @  5.12.2007,  14:23 Найти цитируемый пост)
// как бы этот код перенести в описании процедуры

гм... чтобы это значило...? Может это в итоге нужно?
Код

 TMyForm = Class(TForm)
  private
    FValue: integer;
  public
    constructor Create(AOwner: TComponent); override;
    property Value: Integer read FValue write FValue;
  end;

constructor TMyForm.Create(AOwner: TComponent);
begin
  inherited;
  FValue := 1;
end;


Автор: Alexeis 5.12.2007, 15:17
Цитата(conio @  5.12.2007,  14:58 Найти цитируемый пост)
Я хочу написать тело функции или процедуры прямо в обьявлении.

  Не так не позволяет синтаксис. Это ж не C++ где хидер с реализацией разнесены. Советую сделать так. Сначала описать весь класс, а потом нажать на 3 волшебные кнопки ctrl+shift+C и шаблон кода реализации появиться сам  smile .

Автор: conio 5.12.2007, 15:22
на си++ было так:

int Value (const int Value) {FValue = Value}; 
можно такое же на Delphi сделать в обьявлении класса формы?

Добавлено через 1 минуту и 25 секунд
все вопрос исчерпан Спасибо всем ))

Автор: Alexeis 5.12.2007, 15:40
conio, не на с++ так тоже нельзя было, минимум так  smile 
Код

int Value (const int Value) {return FValue = Value;}; 

Автор: conio 5.12.2007, 16:57
Согласен! ))

Еще раз спасибо. Буду через пропертей работать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)