IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Вывод системной информации
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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

type
TSystemInfo = (
siCompName,
siWinDir,
siTempPath
);

// ....

function getSysInfo(const Info: TSystemInfo): String;
const
size: DWORD = 255;
var
buf: PChar;
begin
GetMem(buf, size);

case Info of
siCompName: GetComputerName(buf, size);
siWinDir: GetWindowsDirectory(buf, size);
siTempPath: GetTempPath(size, buf);
end;

Result := buf;
FreeMem(buf, size);
end;

// ...
someString := getSysInfo(siTempPath);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Странно, у меня нормально выдает... Только
var
size: DWORD = 255; // <-- С константой не компилируется...

function getSysInfo(const Info: TSystemInfo): String;
var
buf: PChar;
begin
GetMem(buf, size);

case Info of
siCompName: GetComputerName(buf, size);
siWinDir: GetWindowsDirectory(buf, size);
siTempPath: GetTempPath(size, buf);
end;

Result := buf;
FreeMem(buf, size);
end;

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Спасибо, убрал size из констант и все теперь правильно показывает, только у меня и с константой компилировалось ... это должно настораживать ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






От настроек зависит... Я убрал галку с Assignable Typed Constants, как видишь, лучше оно не будет компилироваться, чем выдаст некорректный результат... smile.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.09.2020 10:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name