Показать сообщение отдельно
  #7  
Старый 24.07.2009, 13:45
SAWaGE SAWaGE вне форума
Прохожий
 
Регистрация: 09.09.2008
Сообщения: 34
Репутация: 10
По умолчанию

Переделал вот так:
Код:
implementation

{$R *.dfm}


function GetUserFromWindows: string;
var
  UserName : string;
  UserNameLen : Dword;
begin
  UserNameLen := 255;
  SetLength(userName, UserNameLen);
  if GetUserName(PChar(UserName), UserNameLen) then
    Result := Copy(UserName,1,UserNameLen - 1)
  else
    Result := 'Unknown';
end;

procedure TForm1.AddStrToFile(U: string; const FileName: string; doNextLine: boolean);
const
  CR=#13#10;
var
  f:TFileStream;
begin
  if FileExists(FileName)
  then f:=TFileStream.Create(FileName,fmOpenWrite+fmShareDenyNone)
  else
  begin
    f:=TFileStream.Create(FileName,fmCreate);
  end;

  f.Position:=f.Size;
  if doNextLine and (f.Size> 0)
  then f.Write(CR,2);
  f.Write(pointer(U)^,length(U));
  f.Destroy;
end;

procedure TForm1.FormCreate(Sender: TObject);
const
  FILEPATH = 'log.txt';
var
  str : string;
begin
  str:= Copy(FILEPATH, 1, Pos(#13#10, FILEPATH) + 1);
  if Pos(GetUserFromWindows, FILEPATH) < 0 then
    AddStrToFile(GetUserFromWindows, FILEPATH, true)
  else
    exit;
end;

Но вот в этом месте (в последней процедуре)
Код:
if Pos(GetUserFromWindows, FILEPATH) < 0 then
не могу понять, почему все время равно нулю?
Ответить с цитированием