Delphi

String to real delphi: How to convert a string to a real variable?

Строка | Программирование в Делфи | Fandom

Строка представляет собой последовательность символов (символов). Он представлен между одинарными кавычками. Его также можно объединить с + .

Пример[]

 вар
  МояСтрока: Строка;
начинать
  MyString := 'Привет';
  MyString := MyString + 'Мир';
конец;
 

Типы строк[]

  • ShortString (255 символов, до 256 байт памяти)
  • AnsiString 930 широких символов, до 1 ГБ памяти)

AnsiString был текущим значением по умолчанию для String до Delphi 2009, в котором String по умолчанию имеет значение UnicodeString.

В обсуждении в группе новостей (comp.lang.pascal.delphi.misc, начало 2007 г.) был поднят вопрос о том, сколько типов строк есть в delphi.

Тот, кто спрашивал, конечно (я), знал, что было больше, чем обычные один-три, которые обычно называют; короткие, анси и широкие.

Обратите внимание, что в сводке ниже можно спорить о точном определении типа строки или о том, считается ли определенная запись как 1 или 255 (например, поскольку короткие строки определенной длины в некотором роде несовместимы друг с другом, можно сказать, что существует 255 типов коротких строк).

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

Исходное определение типа строки: «Типы строк Delphi и типы, которые автоматически преобразуются в них в той или иной форме»

Список:

  • 3 коротких, анси, широких строк.
  • 1 (анси)симв
  • 1 широкий символ (оба = соответственно символ и широкий символ с этого момента)
  • 2 (статический) массив из обоих
  • 2 динамических массива обоих.
  • 2 открытых массива обоих,
  • 2 указатель на оба,
  • 2 указатель на массив обоих ,
 1 короткая строка открытого массива. (в некоторых смысловых контекстах отличается)
 

 16 -> Теоретическое максимальное количество преобразований: 16*16 = 256
 

Это, конечно, слишком много:

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

Некоторые другие замечания, собранные из различных комментариев (IRC и c.l.p.delphi.misc)

  • Обратите внимание, что это даже не включает некоторые из этих типов в вариантах.
  • многобайтовых форм в существующих типах строк не учитываются.
  • литералов. Отличаются ли строковые литералы ?
    • Существуют ли другие типы литералов? (resourcestring отдельный вид?)
    • есть ли преобразования, а не базовые типы строк между литералами и, например, статический массив символов?

Первоначальный список был создан в ходе обсуждения добавления новой функции в FPC (и он также хотел предложить ее разработчикам Delphi). Среди прочего, «фича» добавила автопреобразование в строки. Мы спросили «какая строка?». Он ответил «все»…

Контент сообщества доступен по лицензии CC-BY-SA, если не указано иное.

Жестко закодированные строки — MMX

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

ModelMaker Code Explorer поставляется с обширным набором инструментов, помогающих управлять поиском и преобразованием жестко запрограммированных строк в исходных файлах Delphi Pascal:

  • Преобразовать строку в курсоре редактора в строку ресурсов или константу: просто нажмите Ctrl+Alt+R, чтобы преобразовать строку в строку ресурсов. Аналогично, нажмите Ctrl+Alt+N, чтобы преобразовать строку в константу.
  • Подсказки Live Metrics™ отображаются, если единица измерения содержит жестко запрограммированные строки.
  • Мастер преобразования строк модулей : сканирует весь файл на наличие строк жесткого кода и позволяет выполнять массовое извлечение и преобразование.
  • Мастер нескольких файловых строк : используется для управления и сканирования списков исходных файлов на наличие жестко закодированных строк
  • Расширенные параметры  для управления сканированием и преобразованием строк.
  • Сканер строк командной строки  для включения в автоматизированные процессы сборки.

Code Explorer помогает вам сделать ваше программное обеспечение локализуемым путем преобразования жестко закодированных строк в строки ресурсов.
Следующим шагом является использование инструмента локализации программного обеспечения .


Мастер преобразования строк модулей

Этот мастер сканирует весь исходный файл на наличие жестко запрограммированных строк и позволяет выполнить массовое преобразование в строки ресурсов и/или константы.
Сканер использует фильтры на основе регулярных выражений и длины строки. Щелкнув строку в списке, редактор IDE прокручивает строку, содержащую строку
(первое вхождение).

После нажатия Convert строки заменяются идентификаторами и вставляется раздел resourcesstring и/или const , определяющий идентификаторы и строки.
Помимо преобразования строки в resourcestring или const, мастер может пометить строку как нелокализованную . Это делается путем добавления определяемого пользователем комментария // в стиле строки, содержащей строку – по умолчанию // не локализовать

Мастер чувствителен к регистру и обрабатывает ‘Hello’ и ‘hello ‘ как две разные строки.


Параметры преобразования строк и сканера

Параметры, указанные ниже, позволяют настраивать сканер строк, используемый мастером строк модулей и мастерами многофайловых строк.
К ним относятся фильтры, пропускающие строки меньше минимальной длины.
Фильтр строк позволяет пропускать строки, содержащие определенные фразы, такие как «Утверждать» или «// не локализовать».
Аналогично, строковый фильтр может быть определен для фильтрации фактической строки, а не всей исходной строки.
Оба фильтра используют регулярные выражения.


Мастер строк с несколькими файлами

Мастер строк с несколькими файлами помогает сканировать, анализировать, извлекать и преобразовывать жестко запрограммированные строки в списке файлов.
Только для Delphi IDE: окно со списком файлов можно закреплять. Операции с несколькими выбранными файлами включают:

  • Сканирование и фильтрация: сканирование файлов на наличие жестко закодированных строк и удаление из списка файлов, не содержащих жестко закодированных строк.
    Количество (уникальных) строк отображается в файле.
  • Запустите мастер строк ресурсов модуля, чтобы просмотреть и преобразовать жестко закодированные строки.
  • Загрузить список файлов из текстового файла, например, созданного с помощью dir *.pas /b/s >
    filelist.txt
  • Загрузить файлы в активный проект IDE.
  • Загрузить файлы с помощью открытого диалогового окна.
  • Сохранить список файлов в текстовый файл.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *