Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];

Вниз

Имя ПК   Найти похожие ветки 

 
givi   (2008-12-02 15:40) [0]

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


 
Сергей М. ©   (2008-12-02 15:40) [1]

GetComputerName


 
givi   (2008-12-02 15:43) [2]

Пример можно! Как применить GetComputerName в коде?


 
KilkennyCat ©   (2008-12-02 15:49) [3]

написать


 
givi   (2008-12-02 15:55) [4]

написать


 
KilkennyCat ©   (2008-12-02 15:57) [5]

я не вопрос задавал.


 
stas ©   (2008-12-02 15:58) [6]

function GetComputerName: string;
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]);
end;


 
clickmaker ©   (2008-12-02 16:02) [7]

> [3] KilkennyCat ©   (02.12.08 15:49)
> написать
> [цитата]
>
> [4] givi   (02.12.08 15:55)
> написать

полностью согласен с предыдущими ораторами.
написать.


 
Anatoly Podgoretsky ©   (2008-12-02 16:19) [8]

> givi  (02.12.2008 15:43:02)  [2]

Настолько простая функция, что стыдно писать пример.


 
KilkennyCat ©   (2008-12-02 16:27) [9]


> stas ©


неверно.


 
Jeer ©   (2008-12-02 18:14) [10]


> что стыдно писать пример.


Мне не стыдно..Что там нужно описать ?


 
Leonid Troyanovsky ©   (2008-12-02 18:37) [11]


> KilkennyCat ©   (02.12.08 16:27) [9]

> неверно.

Скорее - неточно.

--
Regards, LVT.


 
clickmaker ©   (2008-12-02 18:50) [12]

> [6] stas ©   (02.12.08 15:58)

зачем все эти + и - ?

var buf: array[0..MAX_COMPUTERNAME_LENGTH] of char;

N := Sizeof(Buf);
GetComputerName(Buf, N);
SetString(Result, Buf, Length(Buf));


 
Сергей М. ©   (2008-12-02 18:52) [13]


> написать


насяльника ма !


 
Leonid Troyanovsky ©   (2008-12-02 18:54) [14]


> clickmaker ©   (02.12.08 18:50) [12]

> SetString(Result, Buf, Length(Buf));

SetString(Result, Buf, N);
Ну, и, там Win32Check.

--
Regards, LVT.


 
KilkennyCat ©   (2008-12-02 19:31) [15]


> Leonid Troyanovsky ©   (02.12.08 18:37) [11]
>


Не проверять результат выполнения функции - это будет "неточно", только пока все хорошо. А потом может резко стать "неверно".


 
Leonid Troyanovsky ©   (2008-12-02 19:49) [16]


> KilkennyCat ©   (02.12.08 19:31) [15]

> Не проверять результат выполнения функции - это будет "неточно",
>  только пока все хорошо. А потом может резко стать "неверно".

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

С другой стороны: сегодня не почистил пуговицы, а завтра -
предал Родину :)

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2008-12-02 19:59) [17]


> Просто, пока еще не понял, что можно сделать разрушительного
> с пустым именем собс-ного компьютера

Переименовать, продать, наконец снять с безчувственного тела


 
blackman ©   (2008-12-02 21:33) [18]

С другой стороны: сегодня не почистил пуговицы, а завтра -
предал Родину :)

+1 :)


 
stas ©   (2008-12-02 22:01) [19]

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


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

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


 
{RASkov} ©   (2008-12-02 22:44) [21]

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

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


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

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


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


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

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


 
{RASkov} ©   (2008-12-02 23:06) [24]

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

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


 
stas ©   (2008-12-02 23:11) [25]

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

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


 
stas ©   (2008-12-02 23:12) [26]

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


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


> stas ©

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

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


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

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


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

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

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


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

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

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


 
clickmaker ©   (2008-12-03 11:21) [31]

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


 
clickmaker ©   (2008-12-03 11:25) [32]

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

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


 
Anatoly Podgoretsky ©   (2008-12-03 11:55) [33]

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

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


 
Anatoly Podgoretsky ©   (2008-12-03 11:57) [34]


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

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


 
clickmaker ©   (2008-12-03 12:00) [35]

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

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


 
Anatoly Podgoretsky ©   (2008-12-03 13:24) [36]

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


 
clickmaker ©   (2008-12-03 13:27) [37]

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

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


 
Anatoly Podgoretsky ©   (2008-12-03 13:42) [38]

Это 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 локальная переменная.
Теперь по размеру, размер заранее неизвестен, значит надо запросить у системы, для этого надо обработать ошибку или написать так, что бы ее не надо было обрабатывать в первый раз, а только в конечном запросе.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.008 c
9-1177170749
Evgraf
2007-04-21 19:52
2009.01.18
Примеры Clootie Direct3D


4-1204111796
POP
2008-02-27 14:29
2009.01.18
Как узнать скорость USB - COM порта?


4-1204580990
BBCHa
2008-03-04 00:49
2009.01.18
Как изменить системное время


1-1206085341
IntruderLab
2008-03-21 10:42
2009.01.18
Наследование в PopupMenu


2-1228248817
Тень
2008-12-02 23:13
2009.01.18
Метод сеток





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский