procedure TForm1.toHosts(s: string; clear: boolean); var sysDir : string; f : TextFile; begin Setlength(sysDir,MAX_PATH); GetSystemDirectory(PChar(SysDir),MAX_PATH); if sysDir<>'' then begin SetLength(sysDir,pos(#0,sysDir)-1); sysDir:=sysDir+'\drivers\etc\hosts'; assign(f,Sysdir); if clear or (not FileExists(sysDir)) then rewrite(f) else writeln(f,s); close(f); end; end; assign(f,Sysdir); - ошибка [Pascal Error] Unit1.pas(36): E2010 Incompatible types: 'TPersistent' and 'Text' версия делфи 2006 как исправить?
хм, по-моему, оно хочет объект класса TPersistent вместо переменной f (может и заблуждаюсь) попробуй процедуру AssignFile
Во-первых надо AssignFile и CloseFile. Во-вторых такой способ не рекомендуется использовать уже лет так.... даже не знаю сколько.
слегка переписал стоку и все скомпилилось if clear or (not FileExists(sysDir)) thenrewrite(f) else append(f); writeln(f,s);