Имя пользователя Paradox
01.01.2007
Вы можете выполнить эту задачу, непосредственно обращаясь к 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;
Взято из Советов по Delphi от Валентина Озерова
Сборник Kuliba