Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имя ПК [D7, XP]


Страницы:   1 2

givi ©   (2008-12-02 15:40:00) 

скажите пожалуйста как определить имя ПК


Anatoly Podgoretsky   (2008-12-03 13:42:00) [1]

Это stas то, смотрим код

var
N: Cardinal;
Buf: array [0..MAX_COMPUTERNAME_LENGTH + 1] of AnsiChar;
begin
N:=SizeOf(Buf)-1;
Windows.GetComputerName(Buf, N);
Result:=PChar(@Buf[0]);

Buf локальная переменная.
Теперь по размеру, размер заранее неизвестен, значит надо запросить у системы, для этого надо обработать ошибку или написать так, что бы ее не надо было обрабатывать в первый раз, а только в конечном запросе.


clickmaker   (2008-12-03 13:27:00) [2]

> [36] Anatoly Podgoretsky ©   (03.12.08 13:24)

а, это.
Ну считаем, что программер в кои-то веки все сделал правильно.
Я имел ввиду чисто системные ошибки


Anatoly Podgoretsky   (2008-12-03 13:24:00) [3]

Первая -> Как думаешь для чего у функции второй параметр, а если он неправильный?


clickmaker   (2008-12-03 12:00:00) [4]

> Что и первая нереальная?

реестр не прочитать?


Anatoly Podgoretsky   (2008-12-03 11:57:00) [5]


> но какие-то нереальные ситуации.

Что и первая нереальная?
Да только сегодня уже несколько раз встретил эту ситуацию.


Anatoly Podgoretsky   (2008-12-03 11:55:00) [6]

> clickmaker  (03.12.2008 11:25:32)  [32]

Ну перечислены некоторые ситуации, ведь вопроса не учитывать реестр не было. Я чувствую, что не все ситуации учел. Может еще и вопросы связаные с Security и привелегиями.


clickmaker   (2008-12-03 11:25:00) [7]

> [31] clickmaker ©   (03.12.08 11:21)

а, не прочитал [30]
но какие-то нереальные ситуации. Если реестр не прочитать, это уже система начинает накрываться, тут не до имени компьютера -)


clickmaker   (2008-12-03 11:21:00) [8]

кстати, а в каком случае эта функция вернет ошибку? мне чего-то трудно представить...


Anatoly Podgoretsky   (2008-12-03 00:41:00) [9]

> stas  (02.12.2008 23:11:25)  [25]

Как думаешь для чего у функции второй параметр, а если он неправильный?
А если реестр не удастся прочитать.
А если имя неправильное.
А если буфер RO или вообще ерунда.


{RASkov}   (2008-12-03 00:28:00) [10]

> а что в else писать то?

Показать, почему не получилось узнать имя ПК.... "Поднять виндовое мнение по этому поводу"...


stas   (2008-12-03 00:24:00) [11]

KilkennyCat ©   (02.12.08 23:46) [27]
Я то понял if, else... а что в else писать то? исключение меня не устраивает, а если кому надо сам допишет. :))


KilkennyCat   (2008-12-02 23:46:00) [12]


> stas ©

всего-то надо было добавить if GetComputerName(...) then ... else ...
Я, конечно, может слишком придирчив, но... тем более, если
> показал наглядный пример использования Win функции

я не злой. просто у меня самого все вкривь и вкось :)


stas   (2008-12-02 23:12:00) [13]

Palladin ©   (02.12.08 23:04) [23]
Я на идеальность не претендую ).


stas   (2008-12-02 23:11:00) [14]

{RASkov} ©   (02.12.08 23:06) [24]
Ну, а так :) не должна она ниче говорить.

Мне вот интересно в каком случае она выдаст ошибку ?
(этот вопрос не стоит относить к тому что я решил что она никогда не выдаст ошибку и решил не проверять, а то знаю вас)


{RASkov}   (2008-12-02 23:06:00) [15]

> [22] stas ©   (02.12.08 22:56)
> мне больше подходит пустота в имени чем исключение.

Ну как так??? Имя у ПК есть, а твоя функция возвращает пустую строку, при чем ничего не сказав, типа так и должно быть.... Не порядок и не правильно! :)


Palladin   (2008-12-02 23:04:00) [16]


> stas ©  (02.12.08 22:56) [22]

тогда смысла в этой функции - никакого. достаточно 2 строчек из [12] и одной переменной


stas   (2008-12-02 22:56:00) [17]

Palladin ©   (02.12.08 22:20) [20]
мне больше подходит пустота в имени чем исключение.


{RASkov}   (2008-12-02 22:44:00) [18]

> что должна вернуть моя функция?

Бах!!!:) Прятать ошибки, пусть даже чужие, не хорошо...
А в итоге.... тут прямо про пуговицы отлично замечено))


Palladin   (2008-12-02 22:20:00) [19]

ничего. исключение возбудить.


stas   (2008-12-02 22:01:00) [20]

KilkennyCat ©   (02.12.08 19:31) [15]
1. Я вобще-то не просил проверять корректность моей функции, а показал наглядный пример использования Win функции
2. Вот интересно, проверю я результат функции и если ошибка что должна вернуть моя функция?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо