powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В чем смысл и разница?
18 сообщений из 18, страница 1 из 1
В чем смысл и разница?
    #39835775
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попалось на глаза такое:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
TfrmProject = class(TForm)
    lblProjID: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    type
      TProjActType = (paSingle, paMultiple);

    var
      fActivationType: TProjActType;
      fProjID: integer;
      fURL: string;
  public
    property ProjID: integer write fProjID;
  end;



Объясните простым языком - зачем помещать type и var в приватную секцию формы? Что это дает? В каких случаях рекомендуется так писать?
Переменные, описанные в привате - чем они отличаются от переменных, описанных ниже секции implementation модуля формы?
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835778
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое должно и может использоваться только внутри этого класса. Для внутреннего потребления.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835780
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если убрать var из описания переменных в привате, например:
Код: pascal
1.
2.
3.
  private
      fProjID: integer;
      fURL: string;


что изменится? В чем разница между "var fProjID: integer;" и просто "fProjID: integer;"?
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835783
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing,

var заменится type.

Не проще-ли проверить, чем ждать ответа на форуме?
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835785
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снаружи лишнего не видно.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835789
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanvar заменится type.
Вопрос не про это. Допустим, в привате так:
Код: pascal
1.
2.
3.
4.
  private
      intA: integer;
    var
      intB: integer;


В чем отличие intA от intB???
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835790
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYingВопрос не про это.
Вопрос и не про это был, а про это:
LiYing
Код: pascal
1.
2.
3.
4.
5.
    type
      TProjActType = (paSingle, paMultiple);

    var
      fActivationType: TProjActType;



[рукалицо] что будет если убрать var?
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835795
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanВопрос и не про это был, а про это:

Еще раз внимательно прочитайте мой 2-й пост, особенно последнее предложени.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835799
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing,

Во втором случае разницы нет.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835802
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYingwadmanВопрос и не про это был, а про это:

Еще раз внимательно прочитайте мой 2-й пост, особенно последнее предложени.
Сначала идет описание типа, затем переменная с ним.
Не торопись, подумай часик-другой и не смешивай 2 разные ситуации.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835805
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing,

Для изоляции имён. Что бы можно было и не светить типом, и описать переменную в интерфейсной части. Но дизайн языка сделан ИМХО очень коряво, объекты правда и так были не очень реализованы, но эти добавки ещё хуже выглядят. Текущий пример это подтверждает: фактически свойством нельзя воспользоваться вне этого модуля.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835826
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)фактически свойством нельзя воспользоваться вне этого модуля.
Почему нет-то? У свойства тип Integer, а что там внутри происходит - тому кто обращается знать не требуется.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835869
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

опиши public свойство с приватным типом
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835902
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Ты написал "текущий пример это подтверждает", - в текущем примере в свойстве тип не приватный.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835910
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

немного додумал, запрещено?
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835917
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing,

Если вы внутри объявите type, то как компилятору понять где закончился блок типов и начался блок переменных.
В случае
Код: pascal
1.
2.
3.
4.
5.
6.
private
  var
    F: Int32;

private
    F: Int32;


Разницы нет.

Но внутренние типы придумали для тех кто не пишет логику на формах.
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835938
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteНо внутренние типы придумали для тех кто не пишет логику на формах+100500
...
Рейтинг: 0 / 0
В чем смысл и разница?
    #39835954
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)alekcvp,

немного додумал, запрещено?

Писать про один пример, имея в виду другой? Не запрещено, но... странно.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В чем смысл и разница?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]