Сохраняем текущий расклад

err = FileRead(iFile, &Pos, sizeof(Pos));

if( err == -1 )

{ ShowMessage("Pos"+BAD_INPUT_STR) ;

FileClose(iFile) ;

return ;

~ } err = FileRead(iFile, &Pack, sizeof(Pack));

if( err == -1 )

{ ShowMessage("Pack"+BAD_INPUT_STR) ;

FileClose(iPile) ;

return;

} err = F,ileRead(iFile, Well,

sizeof(TCard)*5*5*PACK_TOTAL) ;

if( err == -1 )

{ ShowMessage("Well"+BAD_INPUT_STR) ;

FileClose(iFile) ;

return;

} FileClose(iFile) ;

ShowAll() ;

}

В конце метода вызывается метод ShowAII(), чтобы перерисовать весь расклад, что вполне естественно — ведь после считывания из файла он полностью изменился.

Обратите внимание на то, что данные из файла считываются строго в том порядке, в каком они записывались в файл. Если этот порядок будет нарушен, то в область переменных программы из файла может быть считана неверная информация.

Переменных в пасьянсе пять. В крупных проектах переменных некоторых классов могут насчитываться сотни. При этом писать для каждой из них отдельный вызов функции ввода/вывода становится очень неудобно. Да и ошибиться легко — если вдруг в классе добавится новая переменная, ее надо будет специально добавлять в методы сохранения и восстановления, а при

237