чёнибудь покрупнее STRING'а

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

PapaNT
постоялец
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Сообщение PapaNT »

окрыл ман на GetEnvironmentVariable.

Увидел:
function GetEnvironmentVariable( const EnvVar: String):String;

Вопрос: А как получить переменную Path в которой больше 255 символов?
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

В {$mode delphi} или при включенной директиве {$H+} длина строк не ограничена 255 байтами. По умолчанию в проектах Lazarus указано {$mode objfpc}{$H+}, т.е. строки могут быть длиннее 255 байт, и Path должна получаться совершенно нормально.
PapaNT
постоялец
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Сообщение PapaNT »

Odyssey писал(а):В {$mode delphi} или при включенной директиве {$H+} длина строк не ограничена 255 байтами. По умолчанию в проектах Lazarus указано {$mode objfpc}{$H+}, т.е. строки могут быть длиннее 255 байт, и Path должна получаться совершенно нормально.
тогда какого типа будет результирующая строка? AnsiString?
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

Обе будут AnsiString. Т.е. при {$H+}, и в {$mode delphi} String -- это тоже самое, что AnsiString.
Другой вопрос -- в какой кодировке будет этот AnsiString, в системной или в UTF8, этого не знаю, ни в исходники ни в мануал не заглядывал.
Ответить