powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Стандартные константы Delphi
117 сообщений из 117, показаны все 5 страниц
Стандартные константы Delphi
    #39756546
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, есть стандартная константа sLineBreak.
А как найти все остальные? Где их искать? В каком разделе справки, например?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756549
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%BDS%\Sources\Win32\Sys\*
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756552
Гирлионайльдо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ctrl + левая кнопка мыши по константе. Рядом скорее другие будут видны. Или F1 когда каретка на имени константы стоит
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756556
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756557
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гирлионайльдо,

Перед тем, как задать вопрос, я уже так делала, там только это
Код: pascal
1.
2.
3.
const
   sLineBreak = {$IFDEF POSIX} _AnsiStr(#10) {$ENDIF}
       {$IFDEF MSWINDOWS} _AnsiStr(#13#10) {$ENDIF};


других констант рядом нет
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756559
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, такого пути (такой папки) нет
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756562
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator, не нашёл там
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756569
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, это неправильный вопрос. "Мой дом имеет номер 15. Как узнать, какие ещё бывают номера домов?"

Задача конкретная есть?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756570
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Где их искать?в секциях interface
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756571
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11других констант рядом нетесть, и достаточно много
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756572
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmoker, да, именно так и звучит.
Чтобы не придумывать свой лисапет, так сказать.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756573
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где-то ведь есть ещё константы типа разделитель-косая черта
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756588
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11GunSmoker, да, именно так и звучит.
Чтобы не придумывать свой лисапет, так сказать.

Лисапет не озвучен.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756599
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GunSmokerX11GunSmoker, да, именно так и звучит.
Чтобы не придумывать свой лисапет, так сказать.

Лисапет не озвучен.Он хочет посмотреть, какие полезные (для неё) константы уже предопределены
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756600
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самые полезные константы, имхо, те, которые потенциально можно перевести на великая и могучая русская языка. Вот их и предлагаю изыскивать в первую очередь.))
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756601
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11где-то ведь есть ещё константы типа разделитель-косая черта

Открываешь справку по юниту, например, SysUtils. И, внезапно, видишь список классов,
функций, переменных и констант. То же самое и по System, Classes и остальным.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756697
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ещё нашёл:
DriveDelim
PathDelim
PathSep
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756698
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часть констант можно найти в TFormatSettings, например, DateSeparator, TimeSeparator, ListSeparator и т.д.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756710
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11DateSeparator
Это не может быть константой. Оно же зависит от локали + в разных RFC разные правила
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756723
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правильно заметили выше -- надо отталкиваться от задачи. Например, если постоянно требуется разделитель -- то искать его в делфи. Или если требуется получить список файлов -- то опять же искать реализацию в делфи. Как раз в последних версиях (XE) много всяких мелочей добавилось, для которых раньше надо было свои велосипеды писать.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756728
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteЭто не может быть константой.

это неважно, и sLineBreak тоже зависит от платформы, вопрос в полезных мелочах
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756730
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

попробуй поищи по всем доступным файлам, и будет тебе ясность.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756741
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поискать ЧТО?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756744
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Поискать ЧТО?все вхождения const в pas/inc файлах
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756746
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Пишешь "System." нажимаешь Ctrl+Space из списка выбираешь константы. Аналогично с "System.SysUtils.".
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756749
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к сожалению, там нет фильтра, а данных просматривать очень много и всё идёт вперемешку
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39756753
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой в этом смысл?
Каждая константа привязана к конкретной сущности.
Когда касаетесь какую-то сущность тогда и используются константы.. При чем на 90% они будут описаны в хелпе.
Для своих сущностей пишутся свои константы
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757062
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В самом деле. Искать константы просто для того, чтобы их где-нибудь применить? Ерунда какая-то.
Пиши код, выделяй свои константы, а потом прикидывай, могут они быть в Дельфях или нет.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757075
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Вот еще очень полезная - EmptyStr и иже с ней.))
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757086
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этого есть хелперы, например
Код: pascal
1.
if s.IsEmpty then
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757100
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

На тебя прям не угодишь.)) К тому же хелперы есть не у всех строковых типов.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757106
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FX11,

Вот еще очень полезная - EmptyStr и иже с ней.))Чем полезна EmptyStr?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757107
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, у TCaption нету :(
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757115
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Да, у TCaption нету :(Так запили свой хелпер для TCaption, с оверлоадом и инлайнами
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757117
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу искаропки :)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757143
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдЧем полезна EmptyStr?
Ну как же, - с ней исходники выглядят куда как боле солидно, а при массовом применении
прямо таки устрашающе. Глядя на все это безобразие благолепие работодатель сразу
проникнется вашей очевидной крутизной и можно будет немедленно ставить вопрос о
всяческом повышении.))
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757339
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Да, у TCaption нету :(

Вот кстати, если тип объявлен как A = type of B; то в чём проблема к нему хелперы от B применять?... Всё равно же по факту тип - один и тот же?..
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757341
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpX11Да, у TCaption нету :(

Вот кстати, если тип объявлен как A = type of B; то в чём проблема к нему хелперы от B применять?... Всё равно же по факту тип - один и тот же?..

Дебилизм паскаля.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757355
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FКвейдЧем полезна EmptyStr?
Ну как же, - с ней исходники намного легче читаются "построчно", супротив перпендикулярно направленных апострофов. имхо
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757413
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FКвейдЧем полезна EmptyStr?
Ну как же, - с ней исходники выглядят куда как боле солидно, а при массовом применении
прямо таки устрашающе. Глядя на все это безобразие благолепие работодатель сразу
проникнется вашей очевидной крутизной и можно будет немедленно ставить вопрос о
всяческом повышении.)) Ну, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757434
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspbНу, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.
Пруфы? Компилятор, который не оптимизирует операции с пустой строкой, должен быть стерт из реальности вместе с создателем, ибо оба идиоты.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757452
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2roschinspbНу, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.
Пруфы? Компилятор, который не оптимизирует операции с пустой строкой, должен быть стерт из реальности вместе с создателем, ибо оба идиоты. Можешь смело самозабаниться на этой ветке. К сожалению я не могу опубликовать внутреннюю переписку, но смысл в общих чертах близок к тому, что лучше всегда явно указывать const в параметрах метода, если внутри он не меняется и к тому, что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
Если взять себе за правило, то будет некоторое улучшение производительности. Во всяком случае в коде Fire Monkey это было строгое требование. Хотя не могу исключить и того, что единственным побудительным мотивом было ЧСВ насяльника Allen`а Bauer`а
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757475
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspb что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
asm код же идентичен, или это чисто стандарт оформления кода?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757483
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspbК сожалению я не могу опубликовать внутреннюю переписку, но смысл в общих чертах близок к тому, что лучше всегда явно указывать const в параметрах метода, если внутри он не меняется и к тому, что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
Если взять себе за правило, то будет некоторое улучшение производительности. Во всяком случае в коде Fire Monkey это было строгое требование. Хотя не могу исключить и того, что единственным побудительным мотивом было ЧСВ насяльника Allen`а Bauer`а

Капитан Очевидность рекомендации писал?
"лучше всегда явно указывать const в параметрах метода, если внутри он не меняется"
Для управляемых типов и записей - без комментариев, для простых - ну, чуть больше визуального порядка, хоть и вкусовщина.

"лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов"
Assigned и так редко кто ставит без нужды

И я так и не увидел контраргументов, в какой там Вселенной if s <> '' выполняется через создание новой строки длиной 0 и CompareStr s с нею. Так что самозабан пока что присуждается как раз тебе
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757487
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Citeroschinspb что лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов.
asm код же идентичен, или это чисто стандарт оформления кода? Ну, тут возможны все варианты.
Может не на всех платформах идентичен или по крайней мере в первых версиях мобильных компиляторов так было, может и чисто личные предпочтения архитектора, но прикол в том, что сначала начали всё переделывать на Assign, а потом концепция изменилась.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757491
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2...я так и не увидел контраргументов, в какой там Вселенной if s <> ''... Да не собираюсь я тут с тобой холивары, разводить пиши хоть идентификаторы на глаголице. Приведенные примеры из внутренних требований к оформлению кода.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757529
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspbНу, кроме улучшения кармы, есть тут и практическая целесообразность. Строка по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся. EmptyStr создается однократно и её использование может немного улучшить производительность. Возможно для Windows компилятор сам оптимизирует работу с '', или на потери можно тупо забить, но вот для мобильных платформ это уже становится более актуально.
Так понимаю, что в цитируемом имелась ввиду экономия на спичках в т.н. сегменте данных (или кода, смотря куда пустые строкм помещает используемый нами компилятор). Но, глядя на дальнейшее развитие дискуссии, я в ужасе, - парни, да я просто пошутил.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757537
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.EmptyStr System.SysUtils.EmptyStr

Up to Parent: System.SysUtils

Delphi

EmptyStr: string = '';

C++

extern DELPHI_PACKAGE System::UnicodeString EmptyStr;

Properties
Type Visibility Source Unit Parent
variable public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils
Description

An empty string constant.

Included for backward compatibility only .
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757539
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да прикол-то ещё в том, что это совсем даже не константа.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757540
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

И, и?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757542
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FИ, и?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
If s = '' then halt;
005F826D 837DFC00         cmp dword ptr [ebp-$04],$00
005F8271 7505             jnz $005f8278
005F8273 E884F9E0FF       call @Halt0
If s = EmptyStr then halt;
005F8278 8B45FC           mov eax,[ebp-$04]
005F827B 8B15C0E86000     mov edx,[$0060e8c0]
005F8281 8B12             mov edx,[edx]
005F8283 E8700CE1FF       call @UStrEqual
005F8288 7505             jnz $005f828f
005F828A E86DF9E0FF       call @Halt0
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757552
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Я таки никуя ничего не понял, что мы экономим, - сегмент данных, или кода? Или изливаем свою желчь?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757554
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

В случае сравнения с конкретным/константным значением у компилятора нет необходимости ползать в память и вызывать метод сравнения. В случае с EmptyStr, как и с любой переменной, имеем всю эту прелесть.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757559
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, про код я уже присмотрелся. Но это же не противоречит моему певоначальному обоснованию использования этой псевдоконстанты?))
И уж в любом случае не стоит, чтобы из нее ругаться.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757565
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FНо это же не противоречит моему певоначальному обоснованию использования этой псевдоконстанты?))
В доке, и по месту декларации, сказано: только для обратной совместимости.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757568
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

И у меня сказано, ты что, до сих пор не понял о чем я?))
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757569
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быстро же вы 3 страницы нафлудили :)

Глядя на тутошние мучения, лишний раз наслаждаюсь лазаревской справкой , для людей сделано.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757572
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дабы расставить все точки над Ё выкладываю тестовую программку
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
unit Unit2;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls;

const
  TestCount = 100000000;
type
  TForm2 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    FEmptyCount: Integer;
    FStrCount: Integer;
  public
    { Public declarations }
    procedure Test(const S: string);
    procedure TestAsEmptyStr;
    procedure TestLiteral;
  end;

var
  Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm2.Button1Click(Sender: TObject);
var
  T2, T1: TDateTime;
begin
  T2 := Now;
  repeat
    T1 := Now;
  until T1 <> T2;
  TestAsEmptyStr;
  T2 := Now;
  Label1.Text := FormatFloat('0.000', (T2 - T1) * SecsPerDay);

  T2 := Now;
  repeat
    T1 := Now;
  until T1 <> T2;
  TestLiteral;
  T2 := Now;
  Label2.Text := FormatFloat('0.000', (T2 - T1) * SecsPerDay);
end;

procedure TForm2.Test(const S: string);
begin
  if S = EmptyStr then
    Inc(FEmptyCount)
  else
    Inc(FStrCount);
end;

procedure TForm2.TestAsEmptyStr;
var
  S: string;
  I: Integer;
begin
  for I := 0 to TestCount - 1 do
  begin
    S := EmptyStr;
    Test(S);
  end;
end;

procedure TForm2.TestLiteral;
var
  S: string;
  I: Integer;
begin
  for I := 0 to TestCount - 1 do
  begin
    S := '';
    Test(S);
  end;
end;

end.


Вопреки моим ожиданиям EmptyStr проигрывает по скорости в Win32, Win64, Android (Redmi 4x).
Таким образом, версии исходники выглядят куда как боле солидно и единственным побудительным мотивом было ЧСВ насяльника Allen`а Bauer`а внезапно находят своё подтверждение.
На этом отправляюсь в
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757722
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspbСтрока по сути динамическая переменная, пусть даже она нулевой длины (т. е. ''), но какие-то ресурсы и время на её создание тратятся.

Я извиняюсь, но строка нулевой длины - это nil, её вообще не нужно выделять. Но даже если строка не пуста, то ничего выделять опять не нужно, потому что строка будет хранится в уже готовом виде (вместе со служебным заголовком) в блоке констант. Счётчик при этом будет равен -1.

P.S. С мобилками, правда, не знаком, может там какие ужасы и понаворотили.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757743
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2"лучше использовать проверку <> nil вместо Assigned всегда кроме как для методов"
Assigned и так редко кто ставит без нужды
Я всегда использую Assigned. Что я делаю не так?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757747
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.EmptyStr System.SysUtils.EmptyStr

Up to Parent: System.SysUtils

Delphi

EmptyStr: string = '';

C++

extern DELPHI_PACKAGE System::UnicodeString EmptyStr;

Properties
Type Visibility Source Unit Parent
variable public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils
Description

An empty string constant.

Included for backward compatibility only .


Если поискать строку "EmptyStr" в cорцах RAD Studio, то во-первых у меня на XE4 туева хуча вхождений, а во вторых EmptyStr сплошь и рядом используется в firemonkey-модулях. На этом фоне странно смотрится "backward compatibility".
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757761
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдНа этом фоне странно смотрится "backward compatibility"
Нет, на фоне "backward compatibility" странно смотрится вот это всё.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39757864
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это же firemonkey. Чего вас удивляет?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39760951
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть константа для пробела?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39760972
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11А есть константа для пробела?Уж символ есть точно, и клавиша может быть (с кодом). А вот как этот код воспримут разные системы/устройства зависит от неба imho. Если это код(символ), значит у него есть длина.
_________
Вот пауза, например, в музыке. Она может быть разной длины. Ещё и фермата есть
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39760982
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так речь именно о константе
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39760985
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11так речь именно о константе
Зачем константа для пробела? Контекст задачи какой?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761002
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

Т.е. сишники, явисты, дельфисты и остальные - дураки У них ведь есть хотя бы VK_SPACE
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761008
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorX-Cite,

Т.е. сишники, явисты, дельфисты и остальные - дураки У них ведь есть хотя бы VK_SPACE
Так контекст VK_SPACE какой? Нажатие клавиши пробел.
К символу пробел никакого отношения не имеет.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761011
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11А есть константа для пробела?
А какой именно пробел из десятков возможных тебя интересует?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761028
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteX11так речь именно о константе
Зачем константа для пробела? Контекст задачи какой?

Использовать имя константы, а не ' '
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761030
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteТак контекст VK_SPACE какой? Нажатие клавиши пробел.
К символу пробел никакого отношения не имеет.Нуу... Это меморандум,наверное.
Представь: на форме кнопка и едит.
Кнопка отправляет №, едит его принимает и заменяет на пробел (x20) или рисует прямоугольник. Клавы нет.
_____________________
Да даже все мы заявы писали и книжки читали! Ручка есть, бумага есть, пробелы есть...
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761031
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteX11так речь именно о константе
Зачем константа для пробела? Контекст задачи какой?

вместо
Код: pascal
1.
s1 + ' ' + s2



чтобы было так:
Код: pascal
1.
s1 + sBlackSpace + s2
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761034
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11X-Citeпропущено...

Зачем константа для пробела? Контекст задачи какой?

Использовать имя константы, а не ' 'Да-да.
Меня всегда убивали секретарши, тупо "наступавшие" на пробел. Типа такое форматирование таблиц
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761043
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11вместо
Код: pascal
1.
s1 + ' ' + s2



чтобы было так:
Код: pascal
1.
s1 + sBlackSpace + s2


т.е.
Пробел — интервал между буквами, обозначающий границы слов во многих системах письменности.

Если в этом контексте, то создайте свою константу, но используйте ее только в этом контексте, как знак препинания разделяющий буквы.
Например как разделитель в сообщениях для сокета, нужна другая константа, которая тоже может быть пробелом....

Контекстов задач много, под все константы не придумаешь.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761050
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Citeсоздайте свою константу

Само собой, что я это могу сделать.
Но прочитайте название темы.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761091
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторюсь
Василий 2X11А есть константа для пробела?
А какой именно пробел из десятков возможных тебя интересует?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761118
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11X-Citeсоздайте свою константу

Само собой, что я это могу сделать.
Но прочитайте название темы.
Всё, что не буква или цифра считается пробелом
EmptyStr
System.UITypes
TFormatSettings
TAlphaColorRec
System.UIConsts
Colors
System.Constants
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761138
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константа нужна если использование литерала вместо неё может быть не понятно. Таким образом, имя константы служит комментарием. Также нужна, если значение может поменяться в будущем. Наконец, просто, чтобы не ошибиться при наборе. Сюда же входит сокращение длины.

Какую из этих целей решает гипотетический sWhiteSpace? Никакую.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761171
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmoker,

И вам Привет.
Фигня все это. На "суахили" ни белый, ни "черный" космос роли не играет.
Тем более их не интересует cRedShift
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761173
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator, т.е. ТС фигню спросил о predefined.
сегодня она pre, а завтра depricated



Gator,
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761224
ain-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки, не понял. Ужель в Дельфи нет такого, как в простом Лазарусе?

...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761236
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ain-2Таки, не понял. Ужель в Дельфи нет такого, как в простом Лазарусе?
Есть конечно.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761391
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspbX11пропущено...


Само собой, что я это могу сделать.
Но прочитайте название темы.
Всё, что не буква или цифра считается пробелом

EmptyStr
System.UITypes
TFormatSettings
TAlphaColorRec
System.UIConsts
Colors
System.Constants

о!
и справка поприятней стала выглядеть
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761394
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmokerКонстанта нужна если использование литерала вместо неё может быть не понятно. Таким образом, имя константы служит комментарием. Также нужна, если значение может поменяться в будущем. Наконец, просто, чтобы не ошибиться при наборе. Сюда же входит сокращение длины.

Какую из этих целей решает гипотетический sWhiteSpace? Никакую.

>>>Также нужна, если значение может поменяться в будущем
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761405
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmokerКонстанта нужна если использование литерала вместо неё может быть не понятно. Таким образом, имя константы служит комментарием. Также нужна, если значение может поменяться в будущем. Наконец, просто, чтобы не ошибиться при наборе. Сюда же входит сокращение длины.+ бывает нужна для уменьшения выделений памяти
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761513
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmokerКакую из этих целей решает гипотетический sWhiteSpace? Никакую.Не скажу за "гипотетический sWhiteSpace", а допустим гипотетический sSpaceCharacter - очень даже решает. Ибо это не non-breakable space (NBSP), не двойной пробел, и т.д. а именно пробел. И не надо ломать глаза и мосК вглядываясь в код и пытаясь понять что означает пустота между апострофами...
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761517
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

Тебе тогда не константа нужна а функция.
function IsWhiteSpace(c: char): boolean;
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761536
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggersSpaceCharacter - очень даже решает. Ибо это не non-breakable space (NBSP)
Такую константу и называть надо правильно - sNonBreakableSpaceCharacter
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761573
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatТебе тогда не константа нужна а функция.
function IsWhiteSpace(c: char): boolean;Ты о чём? При чём тут IsWhiteSpace (который возвращает true для нескольких символов) если мне нужен тупо пробел. Сравни код:
Код: pascal
1.
2.
3.
4.
  //1.
  if Ch = sSpaceCharacter then...
  //2.
  if Ch = ' ' then...

Ты можешь быть уверен на что именно сравнивается во втором случае?

YuRockТакую константу и называть надо правильно - sNonBreakableSpaceCharacterВообще не в кассу
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761580
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerТы можешь быть уверен на что именно сравнивается во втором случае?

Да я только рад, что с таким кодом не работаю :D
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761633
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerТы можешь быть уверен на что именно сравнивается во втором случае?
Если тебе важно убедиться что это пробел (или его варианты) то нужна функция: if IsWhiteSpace (Ch) then
Если уж тебе не важен юникод, но важно четкое понимание "на глаз" - тогда пиши: if Ch = #32 then
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761671
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatЕсли уж тебе не важен юникод, но важно четкое понимание "на глаз" - тогда пиши: if Ch = #32 thenНу с "#32" для большинства прокатит. А ты на память тот же "неразрывный" пробел записать так сможешь? Или может лучше использовать константы для единообразия? :)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761673
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerYuRockТакую константу и называть надо правильно - sNonBreakableSpaceCharacterВообще не в кассу
Да, "не" не заметил.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761680
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerА ты на память тот же "неразрывный" пробел записать так сможешь?Даже пытаться не буду.
Достаточно доки по юникоду.
Или может лучше использовать константы для единообразия? :)
sWhiteSpace1,sWhiteSpace2,sWhiteSpace3 и т.д? ;)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761682
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatsWhiteSpace1,sWhiteSpace2,sWhiteSpace3 и т.д? ;)Наименование констант/переменных/методов - отдельная религия :)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761683
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу еще приходет на ум константы типа: sa, sA, sb, sB, sc, sC.... ;)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761685
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sZero = 0
sOne = 1
sTwo = 2
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761722
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerНаименование констант/переменных/методов - отдельная религия :)Это ДА.
Чуть ли не самое сложное в программировании имячко придумать! (вспоминая времена FORTRAn IV)
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761725
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatsZero = 0
sOne = 1
sTwo = 2

Это фигня! Вот обзови 13
это sThirteen или sTwelve+1 ?
а чертову дюжину обозвать - вообще мозги сломаешь!

...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761741
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorsTwelve+1Святотатство!
Для лошков это sTwelve+sOne а для гуру - sTwelvePlusOne.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39761779
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ain-2Таки, не понял. Ужель в Дельфи нет такого, как в простом Лазарусе?


В Delphi даже есть
Код: pascal
1.
  vkHardwareBack     = $89;  { 137 }


... и даже класс TKeyMapping
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779151
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11DriveDelim
PathDelim
PathSep

а есть ли константа для http разделителя "/" ?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779245
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.02.2019 10:00, X11 пишет:
> а есть ли константа для http разделителя "/" ?

да ты совсем йобу дался...
ещё для цифр константы потребуй, мля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779280
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779287
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat, вообще не то
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779313
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тебе оно зачем?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779350
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне больше интересно, можно ли поменять дефолтный цвет фона окон и контролов не меняя системные цвета.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779426
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoМне больше интересно, можно ли поменять дефолтный цвет фона окон и контролов не меняя системные цвета.Используй скины, Люк
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39779615
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo, при чем здесь системные константы?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39798849
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Вот ещё нашёл:
DriveDelim
PathDelim
PathSep

а есть что-то вроде URLDelim?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39798861
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11,

тоже, что и PathDelim
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39798882
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PathDelim - это наклон влево.
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39798929
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, можно пнуть вправо StringReplaceом
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39799179
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator, та не, мне надо не заменять, а узнать, есть ли константа для URLDelim?
...
Рейтинг: 0 / 0
Стандартные константы Delphi
    #39799183
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Gator, та не, мне надо не заменять, а узнать, есть ли константа для URLDelim?
Разве значение меняется из-за каких-либо условий? В частности в зависимости от платформы?

Я только в этом вижу смысл подобных констант.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Стандартные константы Delphi
    #40092023
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще нашел в System.Types:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
  NullChar = #0;
  Tabulator = #9;
  Space = #32;
  CarriageReturn = #$D;
  LineFeed = #$A;
  VerticalTab = #$B;
  FormFeed = #$C;
  LineSeparator = #$2028;
  ParagraphSeparator = #$2029;
...
Рейтинг: 0 / 0
117 сообщений из 117, показаны все 5 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Стандартные константы Delphi
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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