Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Об имени пользователя...
На страницу 1, 2  След.

Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж Ugrum
Бичара Сахалинский


Возраст: 49
Знак зодиака: Лев
Зарегистрирован: 15.07.2002
Сообщения: 872
Откуда: Холмск
СообщениеПт, 13-Май-2005 2:53    Заголовок сообщения: Об имени пользователя...
Цитата

А есть-ли какая функцыешка,или КАК узнать имя пользователя компа?
_________________
ЛЕНЬ - двигатель прогресу !
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Пол:Муж Ugrum
Бичара Сахалинский


Возраст: 49
Знак зодиака: Лев
Зарегистрирован: 15.07.2002
Сообщения: 872
Откуда: Холмск
СообщениеПт, 13-Май-2005 3:09 
Цитата

Все,братва,не надо.В этом гребаном хелпе невозможно ничего
найти.У меня Дельфа откуда-то с китайского сайта , какая-то
тоже китайская.
Впрочем интересно кто чего по этому поводу скажет.

_________________
ЛЕНЬ - двигатель прогресу !
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПт, 13-Май-2005 19:37 
Цитата

Будешь смеяться, GetUserName :)
Она в MSDN описана, в дельфийском гребаном хелпе ее нет

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж aka57
Я живу тут....


Возраст: 28
Знак зодиака: Стрелец
Зарегистрирован: 03.07.2003
Сообщения: 1287

СообщениеПт, 13-Май-2005 20:47 
Цитата

Хм.. А у меня эта функция в индексе Delphi Help затесалась (Delphi 2005). Может это как-то связано с установленной MSDN?
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеПт, 13-Май-2005 22:53 
Цитата

Цитата:
Впрочем интересно кто чего по этому поводу скажет

А я полез в реестр искать (за неимением MSDN). Вот что нашёл

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"Logon User Name"="Sasha"

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеСб, 14-Май-2005 0:54 
Цитата

Это хреновов имя пользователя было нужно мне. Я ща делаю сетевое меню и там это применяется. НАсчет функции GetUserName, то в Делфийскоом хелпе(у Delphi 7) она есть. Вот только выйти на нее удалось написав ее название в коде и нажав F1. А вот через Find/Index на нее попасть невозможно.
При использовании функции была замечена одна странность. Она не работала при вызове из onCreate/onShow Датамодуля и Формы. Зато, когда я запихнул ее в событие BitBtn1Click, то все проканало. После, вызов данной процедуры сделал из события onShow и вот чудо - сработало!
Объясните - почему так происходит.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПн, 16-Май-2005 19:15 
Цитата

Цитата:
Хм.. А у меня эта функция в индексе Delphi Help затесалась (Delphi 2005). Может это как-то связано с установленной MSDN?

Ага. А вообще ты отчаянный тип, раз работаешь с D2005 :)
Цитата:
НАсчет функции GetUserName, то в Делфийскоом хелпе(у Delphi 7) она есть

В меню Delphi есть пункт Win32 help. Это - обрезанная старая версия MSDN Library. Само собой, справка по этой функции там имеется.
Цитата:
При использовании функции была замечена одна странность

Позови священника с кадилом и бубном, что ли :) Скорее всего, ты что-то напутал с выделением памяти. Покажи код

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеВт, 17-Май-2005 1:16 
Цитата

Цитата:
Позови священника с кадилом и бубном, что ли Скорее всего, ты что-то напутал с выделением памяти. Покажи код

ДАй бог, дай бог, а то я уже собрался ё...ся.
Ща у меня все работает, но пришлось делать вызов процедуры, которая когда-то выполнялась при нажатии по кнопке мыши.
procedure TMainForm.FormShow(Sender: TObject);
begin
WITH DM DO
try
ADOC.Close;
ADOC.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
MainForm.EPath.text+';Persist Security Info=False';
ADOC.Open;
// SPGroup.Open;
// QGroup.Open;
QMENU.SQL.Clear;
QMENU.SQL.Add('SELECT * from MENU');
QMENU.Open;
DM.SPGetGRP.Close;
MainForm.ProcGetUserName(Self);//бывшее событие :)
DM.SPGetGRP.Parameters.ParamByName('USER').Value:=MainForm.UserName;
DM.SPGetGRP.Open;
MainForm.BBuildMenuClick(self);
except
ShowMessage('Íåâîçìîæíî îòêðûòü áàçó! Îáðàòèòåñü ê ïðîãðàììèñòó.');

end;
end;

//а вот и сама процедура
procedure TMainForm.ProcGetUserName(Sender: TObject);
var i:dword;
s:array[0..100] of char;
begin
try
GetUserName(s,i);// вот она
MainForm.UserName:=String(s);
MainForm.Caption:=MainForm.Caption+' ~['+String(s)+']';
except
MessageDlg('Error in GetUserName(buf,count)!',mtError,[mbYes],0);
end;
end;
Странность наблюдалась в том случае, если код GetUserName(s,i); я вставлял в событие онКриейт или ОнШоу формы.
Но ща все работает.

з.ы. и как всегда через жопу. :)

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеВт, 17-Май-2005 19:18 
Цитата

Думаю, что если ты напишешь
try
i:=100;
GetUserName(s,i);
то странность вообще не будет наблюдаться Wink

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеСр, 18-Май-2005 0:36 
Цитата

Цитата:
try

А это почему???

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСр, 18-Май-2005 20:21 
Цитата

Это последствия Ctrl+C из твоего кода LOL
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеЧт, 19-Май-2005 1:55 
Цитата

Цитата:
Это последствия Ctrl+C из твоего кода

Причем здесь имя функции. И я вообще-то штопал все ручками. А копирую только объекты :)

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеЧт, 19-Май-2005 19:11 
Цитата

8)
Я понял, почему ты не пьешь. Ты куришь ;)
procedure TMainForm.ProcGetUserName(Sender: TObject);
var i:dword;
s:array[0..100] of char;
begin
try
i:=100;
GetUserName(s,i);// вот она
MainForm.UserName:=String(s);
MainForm.Caption:=MainForm.Caption+' ~['+String(s)+']';
except
MessageDlg('Error in GetUserName(buf,count)!',mtError,[mbYes],0);
end;
end;

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеПт, 20-Май-2005 1:30 
Цитата

Я ща получаю имя пользвателя, при этом переменная i=0;
Первоночально я устанавливал ее в 100 и глюк все равно наблюдался. Все заработало, как только я эту херню засунул в процедуру и сделал вызов ее из другой.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
slon
Гость







СообщениеПт, 20-Май-2005 12:37 
Цитата

Код:

function GetUserName: string;
var n: cardinal;
begin
  n := 200;
  SetString(Result, nil, n);
  if Windows.GetUserName(pchar(result), n) = false then
    RaiseLastOSError;
  SetLength(result, n-1);
end;


проверено - работает идеально. D6/D7
В начало
Показать сообщения:   
Страница 1 из 2 На страницу 1, 2  След.
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100