Главная страница
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.023 c
1-1079011550
эд
2004-03-11 16:25
2004.03.28
Excel


14-1078051680
ABLE
2004-02-29 13:48
2004.03.28
Синий экран


14-1078046402
vidiv
2004-02-29 12:20
2004.03.28
Еще один маленький эффектик!


1-1078351482
HydraMarat
2004-03-04 01:04
2004.03.28
Доступ к процедуре регистрации


14-1077798423
Andersen
2004-02-26 15:27
2004.03.28
Теперь страна может спать спокойно