Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.09;
Скачать: CL | DM;

Вниз

string / String   Найти похожие ветки 

 
test000   (2007-08-14 11:50) [0]

Почему в delphi, написание большинства типов начинается с большой буквы (например Integer, Pointer, ...), а вот тип string пишется с маленькой буквы?

Я конечно понимаю, что написание индивидуально для каждого, но если посмотреть борландовские исходники, то там тоже везде string пишется с маленькой буквы.

И зачем именно его "подсвечивают" болдом?


 
Ega23 ©   (2007-08-14 11:51) [1]

А string это не совсем тип.


 
Плохиш ©   (2007-08-14 11:56) [2]


> Почему в delphi, написание большинства типов начинается
> с большой буквы (например Integer, Pointer, ...), а вот
> тип string пишется с маленькой буквы?

В связи с тем, что среда делфи является регистронезависимой, вопрос теряет всякий смысл. Напоминает "Почему русские хавают вилками, а китайцы - палочками"...


 
homm ©   (2007-08-14 12:13) [3]

> И зачем именно его "подсвечивают" болдом?

А у меня не подсвечивает блдом, он у меня зеленый :P


 
Однокамушкин   (2007-08-14 12:17) [4]

Потому что названия остальных типов это идентификаторы, смысл которых можно при желании и переопределить, а вот string это зарезервированное слово... Зарезервированные слова принято писать в нижнем регистре...


 
Lacmus ©   (2007-08-14 12:21) [5]



procedure TForm36.Button1Click(Sender: TObject);
begin
 if TypeInfo(string) <> nil then
   ShowMessage("OK")
 else
   ShowMessage("Fail")
end;



 
Mystic ©   (2007-08-14 12:30) [6]

Ввиду того, что можно написать, например так:
var
 S: string[21];

то тип string должен специально обрабатываться правилами синтаксического разбора, а значит для него должна быть выделена специальная лексема в лексическом анализаторе, а само слово "string" должно входить в список зарезервированных слов. По соглашениям от Borland, зарезервированные слова должны писаться в нижнем регистре.


 
Котик Б   (2007-08-14 12:41) [7]

Предлагаю для отсутсвия путаницы ввести новый типы:

type
 TInteger = type Integer;
 TPointer = type Pointer;

... и т.д. и т.п. :)


 
@!!ex ©   (2007-08-14 12:45) [8]

> [7] Котик Б   (14.08.07 12:41)

Путаницы нет.
базовые типы не содержат префикса, остальыне - содержат.


 
DrPass ©   (2007-08-14 12:45) [9]


> Lacmus ©   (14.08.07 12:21) [5]
>
>
> procedure TForm36.Button1Click(Sender: TObject);

...А что делают предыдущие 35 форм этого замечательного проекта?


 
Паша 1   (2007-08-14 12:46) [10]

поглядел у себя. и integer и string пишу с маленькой буквы. как оказалось. и ничего не мешает. удивительное дело!


 
DVM ©   (2007-08-14 12:54) [11]

я integer с маленькой пишу тоже.


 
Lacmus ©   (2007-08-14 12:54) [12]

>DrPass ©   (14.08.07 12:45) [9]

Это особенность именования форм и модулей новых проектов для Delphi 2005-2007, если они расположены в одном каталоге.


 
Игорь Шевченко ©   (2007-08-14 12:56) [13]

DVM ©   (14.08.07 12:54) [11]


> я integer с маленькой пишу тоже.


а правильные пацаны пишут iNtEgEr


 
TUser ©   (2007-08-14 13:02) [14]

A вот Colorer выделяет слово integer, как и string.


 
Паша 1   (2007-08-14 13:06) [15]


> Игорь Шевченко ©   (14.08.07 12:56) [13]

и как потом они это дело читают? я вот  FieldByName задолбался писать с шифтом. три раза шифт давить нужно. но - пишу. дурацкая привычка...


 
Игорь Шевченко ©   (2007-08-14 13:07) [16]


> и как потом они это дело читают?


Чукча не читатель


 
Lacmus ©   (2007-08-14 13:12) [17]



type
 on = Integer;  // ошибки нет



on - зарезервированное слово.


 
Однокамушкин   (2007-08-14 14:58) [18]


> Lacmus ©   (14.08.07 13:12) [17]
> on - зарезервированное слово.

Ни разу не зарезервированное... откройте в справке список зарезервированных слов - нет там слова on, on - это директива...


> Directives are words that are sensitive in specific locations
> within source code. Directives have special meanings in
> the Delphi language, but, unlike reserved words, appear
> only in contexts where user-defined identifiers cannot occur.
>  Hence--although it is inadvisable to do so--you can define
> an identifier that looks exactly like a directive.


Редактор кода не делает разницы между зарезервированными словами и директивами и подсвечивает их одинаково... Смысл тут такой - когда в язык вноятся изменения, нужно по максимуму сохранить совместимость с существующими исходниками, а новые зарезервированные слова могут совпадать с тем, как кто-то назвал переменную в своих исходниках, вот и стараются сделать поменьше зарезервированных слов... Специально придумали эти самые директивы - не совсем зарезервированные слова, но и не совсем идентификаторы, а так, нечто среднее... К директивам относятся также такие слова как message, stdcall, register и т.п. Кстати, в исходниках VCL параметры обработчиков сообщений часто называются Message, и эти имена подсвечиваются, как зарезервированные слова - меня это сильно раздражает...


 
Lacmus ©   (2007-08-14 15:20) [19]

>Однокамушкин   (14.08.07 14:58) [18]

Вряд ли директивы:

The words at and on also have special meanings, and should be treated as reserved words.



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

Текущий архив: 2007.09.09;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.021 c
2-1187172815
Poroshm
2007-08-15 14:13
2007.09.09
Продолжительность MP3 файла


15-1187008383
Empleado
2007-08-13 16:33
2007.09.09
Предлагаю акцию


15-1187114748
anton773
2007-08-14 22:05
2007.09.09
Куда делось событие OnFileDownload у webbrowsera


2-1187520358
ctudent
2007-08-19 14:45
2007.09.09
Динамическое создание закладки tabsheet


15-1186779156
Petr V. Abramov
2007-08-11 00:52
2007.09.09
я в шоке от таких запросов