Вопрос

существует ли аналог процедуры удаления, который можно использовать для широких строк?Или мне следует просто скопировать и объединить полученные WideStrings?

Это было полезно?

Решение

Удаление — это «магическая функция компилятора».Компилятор использует свои знания об основном типе данных для соответствующей обработки операции.Для большинства массивов он может просто преобразовать информацию, которую вы записываете в свой код, в фактическое смещение и количество байтов, которые необходимо удалить, и передать это в функцию. _Delete Вместо этого процедура сборки.Для WideStrings, как отметил Александр, есть специальная процедура _WStrDelete.

Нижняя граница:Если вы можете передать массив или строку в функцию Delete и она скомпилируется, все должно работать нормально.

Другие советы

Внутренние функции RTL, такие как «Удалить», «Вставить», «Длина» и т. д., работают как для строк Ansi, так и для широких строк.

Например, вызов удаления для WideString преобразуется в вызов WStrDelete (см. System.pas).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top