Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > проблема с открытием файла


Автор: MetalKrot 30.11.2010, 06:46
одним словом нужно открыть файл и ДОПИСАТЬ его. вот что у меня получилось, почему-то ругается и выдает ошибку 103...

Код

domains
     list = symbol*
     file = rezult
     
predicates

nondeterm find
nondeterm member(symbol,list,real)
nondeterm ocenka(list,list,real,real)
nondeterm count(list)

database - my
    index(integer)
    number(integer)
    
database - myfile
    doc(string,list)
    search_file(list)

clauses

  find:-
    doc(N,SP),
    search_file(Search),
    retractall(index(_),my),
    assert(index(0),my),
    count(SP),
    index(Ind),
    ocenka(SP,Search,Rez1,0),
    Proc=Rez1/Ind,
    openappend(rezult,"D:\\Prolog\\rezult.txt"),
    write(Proc),
    closefile(rezult),
    fail.


ругается на строку file = rezult. что делать ума не приложу...

Автор: dorogoyIV 30.11.2010, 09:16
Код

domains
     File = result
predicates

nondeterm test
clauses
  test:- openappend(result,"C:\\temp\\1\\1.txt"),
    writedevice(result),
    write("this is the new line in the file\n"),
    closefile(result).
goal
    test. 

Автор: MetalKrot 1.12.2010, 03:07
спасибо за совет, но не помогло... точно та же ошибка. я даже пробовал писать "global domains".

ошибка: 103 This domain was declared previously file

Автор: viacheslav 8.5.2012, 23:08
Нужно объявить файлы в "global domains", т.е.
Код

global domains 
       file = myfile
domains
       st = string
predicates
................


так работает smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)