Главная страница
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.03 c
6-1074156095
yurikon
2004-01-15 11:41
2004.03.28
Как победить sms-оператора


3-1077871327
Max2004
2004-02-27 11:42
2004.03.28
Query+ProgressBar


1-1078900964
Лысый
2004-03-10 09:42
2004.03.28
Округление


3-1077862153
Layner
2004-02-27 09:09
2004.03.28
Как найти/удалить NULL записи в столбце типа DateTime (MS SQL)


4-1074261583
MPS
2004-01-16 16:59
2004.03.28
Как получить список процессов в WinNT 2000?