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

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Как узнать имя компьютера
Bokul
сообщение 25.12.2005 20:46
Сообщение #1


Гуру
*****

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

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


Можна ли узнать имя компьютера через стандартны функции
и процедуры Паскале, если да, то как? unsure.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.12.2005 20:50
Сообщение #2


Гость






Во-первых, какое "имя компьютера", а во вторых - через процедуры/функции какого Паскаля? Компилятор какой у тебя?
 К началу страницы 
+ Ответить 
Bokul
сообщение 25.12.2005 21:07
Сообщение #3


Гуру
*****

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

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


имя компьютера - Full Computer Name, а компилятор - Turbo Pascal 7


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.12.2005 21:13
Сообщение #4


Гость






С TP7 - забудь об этом... Для того, чтобы "достать" Full Computer Name, надо обращаться к WinAPI, а это возможно только начиная с Borland Pascal (ну, и все, что после него - все 32-битные компиляторы)
 К началу страницы 
+ Ответить 
Bokul
сообщение 25.12.2005 21:17
Сообщение #5


Гуру
*****

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

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


тогда с помощя какой WinAPi функции можна достать его?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 25.12.2005 21:29
Сообщение #6


Гость






uses windows;

function ReadComputerName: string;
var
  i: DWord;
  p: PChar;
begin
  i := 255;
  GetMem(p, i);
  GetComputerName(p, i); { <--- Вот этой !!! }
  result := string(p);
  FreeMem(p);
end;

begin
  WriteLn( ReadComputerName );
end.
 К началу страницы 
+ Ответить 
Bokul
сообщение 25.12.2005 21:39
Сообщение #7


Гуру
*****

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

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


А модуля Windows нет для BP7


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 27.12.2005 9:02
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


Код приведен НЕ для bp. Для fpc скорее всего.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 27.12.2005 21:52
Сообщение #9


Гуру
*****

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

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


я все-таки нашел какой функцией можна узнать имя компа blum.gif .
В Dos Unit есть одна функция getenv(string) которая возвращает
содержымое заданой переменой среды. Одна с етих переменных
ето computername, ну а если написать
Код

write(getenv('computername'))

то получим Full Computer Name

используя ету функцию, а также EnvStr(Index: Integer): string и
EnvCount: Integer можна также найти другую инфу о компе

Например, с помощью етого кода
Код

uses dos;
var i:integer;
begin
for i:=1 to envcount do
writeln(envstr);
end.


я нашел ето
Цитата

COMSPEC=C:\WINDOWS\SYSTEM32\COMMAND.COM
ALLUSERSPROFILE=C:\DOCUME~1\ALLUSE~1
APPDATA=C:\DOCUME~1\Bohdan\APPLIC~1
CLIENTNAME=Console
COMMONPROGRAMFILES=C:\PROGRA~1\COMMON~1
COMPUTERNAME=BOHDAN
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Bohdan
LOGONSERVER=\\BOHDAN
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRA~1\ATITEC~1\ATICON~1;C:\PROGRA~1\ATITEC~1\ATI.ACE\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0801
PROGRAMFILES=C:\PROGRA~1
PROMPT=$P$G
SESSIONNAME=Console
SYSTEMDRIVE=C:
SYSTEMROOT=C:\WINDOWS
TEMP=C:\WINDOW


Сообщение отредактировано: Bokul - 29.12.2005 21:28


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
FreeMan
сообщение 27.12.2005 22:00
Сообщение #10


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

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


а по идее 16бит - это ДОС в идеале. есть ли там эта строка
Цитата
COMPUTERNAME=BOHDAN
?


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 27.12.2005 22:05
Сообщение #11


Гуру
*****

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

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


я проверял на своем компе, все сработало.
Вся цитата ето вся инфа что ета програмка нашла об
моем компе yes2.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.12.2005 22:07
Сообщение #12


Гость






Bokul, ты думаешь, твоя программа универсальна?

У меня, например, в списке переменных окружения НЕТ переменной "COMPUTERNAME=", да и не только у меня... Чтоб она там была, ее надо добавить !!! А я этого не делаю. И что это значит? То, что твоя программа просто провалится на таком компьютере (выдаст тебе в лучшем случае пустую строку)... blum.gif
 К началу страницы 
+ Ответить 
FreeMan
сообщение 27.12.2005 22:16
Сообщение #13


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

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


да и вообще нехорошо это из-под 16бит пытаться в 32 лезть


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 

- Текстовая версия 22.07.2025 23:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"