Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

computername   Найти похожие ветки 

 
race1 ©   (2004-03-05 14:09) [0]

стало мне интересно.

так мы получаем имя пользователя:


var
 Computer, User: PChar;
 Size: Cardinal;



     New(User);
     GetUserName(User, Size);
     Dispose(User);

     User := AllocMem(Size);
     GetUserName(User, Size);
     FreeMem(User);


а так - имя компа:

     New(Computer);
     GetComputerName(Computer, Size);
     Dispose(Computer);

     Computer := AllocMem(Size);
     Inc(Size);
     GetComputerName(Computer, Size);
     FreeMem(Computer);

при первом вызове обоих ф-ий мы определяем размер строчки (он получается в переменной Size)

вот и интересно - зачем без выделенной строчки имя компа - пустая строчка, т.е. ""?


 
Digitman ©   (2004-03-05 14:15) [1]


> New(User);


>   New(Computer);


ты в принципе-то понимаешь, что делаешь и что происходит в этих строчках ?


> зачем ..пустая строчка


что значит "зачем" ? это тебя надо спросить - "зачем")))

может все же "почему" ?!)


 
race1 ©   (2004-03-05 14:25) [2]

как угодно :) можно и почему

> New(User);
> New(Computer);

создаёт динамические переменные и передаёт переменным user и computer указатели на эти созданные переменные, выделяя память размером с SizeOf(PChar)


 
Digitman ©   (2004-03-05 14:34) [3]


> создаёт динамические переменные


неверно

каждая из строчек выделяет память размером в 4 байта, и указатель на выделенную память размером в 4 байта записывает в какзанную переменную

SizeOf(PChar) всегда = 4


 
panov ©   (2004-03-05 14:35) [4]

Size := MAX_COMPUTERNAME_LENGTH + 1;
 GetMem(ComputerName,Size);
 if GetComputerName(ComputerName,Size) then ComputerName[Size] := #0;

 Size := 120;
 GetMem(UserName,Size);
 GetUserName(UserName,Size);

 ShowMessage(ComputerName+":"+UserName);


 
race1 ©   (2004-03-05 15:40) [5]

>3
Creates a new dynamic variable - строчка из делфи хелп :)

>4 я так и делал раньше, но просто интересно - по разному что ли ф-ции работают? :) одна укорчавает сайз на единицу


 
Digitman ©   (2004-03-05 15:46) [6]


> race1 ©   (05.03.04 15:40) [5]
> >3
> Creates a new dynamic variable - строчка из делфи хелп :)


и что ?


 
Fay ©   (2004-03-05 16:19) [7]

Орех. Поздравляю.



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

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.068 c
1-1078396427
Sphinx
2004-03-04 13:33
2004.03.28
OnMouseEnter and OnMouseExit


14-1078218849
Eugenez
2004-03-02 12:14
2004.03.28
Ищу СD !!!


14-1078207318
Фикус
2004-03-02 09:01
2004.03.28
кнопка Power на клавиатуре


14-1078214953
_none_
2004-03-02 11:09
2004.03.28
високосный год?


3-1077452205
duke2
2004-02-22 15:16
2004.03.28
Обновление данных по сети