скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Имя пользователя Paradox



Программисты не пишут нелогичных программ, бывают нелогичные пользователи.

Вы можете выполнить эту задачу, непосредственно обращаясь к BDE. Включите следующие модули в сецию Uses вашего модуля: DBIPROCS, DBIERRS, DBITYPES

Ниже приведена функция с именем ID, возвращающая сетевое имя входа:


function ID: string;
var
  rslt: DBIResult;
  szErrMsg: DBIMSG;
  pszUserName: PChar;
begin
  try
    Result := '';
    pszUserName := nil;
    GetMem(pszUserName, SizeOf(Char) * DBIMAXXBUSERNAMELEN);
    rslt := DbiGetNetUserName(pszUserName);
    if rslt = DBIERR_NONE then
      Result := StrPas(pszUserName)
    else
    begin
      DbiGetErrorString(rslt, szErrMsg);
      raise Exception.Create(StrPas(szErrMsg));
    end;
    FreeMem(pszUserName, SizeOf(Char) * DBIMAXXBUSERNAMELEN);
    pszUserName := nil;
  except
    on E: EOutOfMemory do
      ShowMessage('Ошибка. ' + E.Message);
    on E: Exception do
      ShowMessage(E.Message);
  end;
  if pszUserName <> nil then
    FreeMem(pszUserName, SizeOf(Char) * DBIMAXXBUSERNAMELEN);
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook