![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать в консольном приложении имя машины [D7]
Андрей Пл © (2007-09-03 11:51:00)Возникла проблема:
функция GetComputerName() не работает для консольного приложения!!!
Как узнать в консольном приложения имя машины???
заранее спасибо.
Андрей Пл (2007-09-03 12:18:00) [21]> Сергей М. © (03.09.07 12:09) [7]
не вижу особой разницы что я сразу выделил место для переменной
buf: array [0..MAX_COMPUTERNAME_LENGTH + 1] of char;
или ты
var
Buf: String;
n: Integer;
n := MAX_COMPUTERNAME_LENGTH + 1;
SetLength(Buf, MAX_COMPUTERNAME_LENGTH);
Из вините за беспокойство моя ошибка была в том что я не занес значение в переменную N перед тем как воспользоваться функцией GetComputerName. (к стати в обычном приложении без этого работало)
n := MAX_COMPUTERNAME_LENGTH + 1;
fl:=GetComputerName(buf,n);
Всем спасибо.
Сергей М. (2007-09-03 12:09:00) [22]Точнее так:
var
Buf: String;
n: Integer;
..
n := var
Buf: String;
..
n := MAX_COMPUTERNAME_LENGTH + 1;
SetLength(Buf, MAX_COMPUTERNAME_LENGTH);
if GetComputerName(PChar(Buf), n) then
ShowMessage(Buf);
Сергей М. (2007-09-03 12:03:00) [23]
> что не так делаю
Все)
И причем здесь консоль - совершенно непонятно.
var
Buf: String;
..
SetLength(Buf, MAX_COMPUTERNAME_LENGTH);
if GetComputerName(PChar(Buf), MAX_COMPUTERNAME_LENGTH) then
ShowMessage(Buf);
Desdechado (2007-09-03 12:01:00) [24]
BOOL GetComputerName(
LPTSTR lpBuffer, // addressof name buffer
LPDWORD nSize // addressof size of name buffer
);
Андрей Пл (2007-09-03 11:57:00) [25]> Сергей М. © (03.09.07 11:52) [1]
ТОгда подскажи что не так делаю!
вот текст проги:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Windows;
var
varFile:TextFile;
fileReport,nameHost: String;
buf: array [0..MAX_COMPUTERNAME_LENGTH + 1] of char;
n:Cardinal;
begin
fileReport:= 'D:\Temp\Report\report.txt';
assignFile(varFile, fileReport);
if not FileExists(fileReport) then
rewrite(varFile)
else
Append(varFile);
GetComputerName(buf,n);
nameHost:=buf;
Writeln(varFile,FormatDateTime('dd"."mm"."yyyy" "hh":"nn":"ss":"zzz',Now)+' | '+ nameHost);
CloseFile(varFile);
end.
Anatoly Podgoretsky (2007-09-03 11:56:00) [26]> Riply (03.09.2007 11:55:02) [2]
В военное время выдает имя пользователя.
Riply (2007-09-03 11:55:00) [27]> [1] Сергей М. © (03.09.07 11:52)
> Работает, не выдумывай.
А в военное время ? :)
Сергей М. (2007-09-03 11:52:00) [28]Работает, не выдумывай.