//--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton2Click(TObject *Sender) { if(CurrentPage<PagesCount) { CurrentPage++; CP->Caption=IntToStr(CurrentPage); SpeedButton3Click(NULL); } }
//--------------------------------------------------------------------------- void __fastcall TForm1::SpeedButton1Click(TObject *Sender) { if(CurrentPage>1) { CurrentPage--; CP->Caption=IntToStr(CurrentPage); SpeedButton3Click(NULL); } }
//--------------------------------------------------------------------------- void __fastcall TForm1::Button5Click(TObject *Sender) { AnsiString cd; FILE *f; int i; dword curpos; if(OpenDialog->Execute()) { cd=GetCurrentDir()+"\\"; default_txt= OpenDialog->FileName.SubString(cd.Length()+1,OpenDialog->FileName.Length()-cd.Length()); Timer->Enabled=true; f=fopen(OpenDialog->FileName.c_str(),"rb+"); Log->Clear(); //Заголовок Log->Lines->Add("Чтение заголовка..."); fread(BookHeader,sizeof(BookHeader),1,f); Title->Text=""; for(i=0;i<64;i++)Title->Text=Title->Text+(char)BookHeader[i]; Author->Text=""; for(i=64;i<224;i++)Author->Text=Author->Text+(char)BookHeader[i]; //Количество страниц Log->Lines->Add("Чтение количества страниц..."); fread(&PagesCount,sizeof(PagesCount),1,f); CurrentPage=1; PC->Caption=IntToStr(PagesCount); CP->Caption=IntToStr(CurrentPage); PCMax->Value=PagesCount; //Адреса страниц Log->Lines->Add("Чтение адресов страниц..."); fread(PageAddress,sizeof(dword)*PagesCount,1,f); curpos=ftell(f); fseek(f,0,SEEK_END); PageAddress[PagesCount]=ftell(f); fseek(f,curpos,SEEK_SET); //Размер страниц Log->Lines->Add("Подсчет размеров страниц..."); for(i=0;i<PagesCount;i++)PageSize[i]=PageAddress[i+1]-PageAddress[i]; //Страницы Log->Lines->Add("Чтение содержимого страниц..."); for(i=0;i<PagesCount;i++) { fseek(f,PageAddress[i],SEEK_SET); fread(Page[i],sizeof(byte)*PageSize[i],1,f); Application->ProcessMessages(); } Log->Lines->Add("Чтение документа "+OpenDialog->FileName+" завершено."); Form1->Caption="TES: Daggerfall Book Editor { "+OpenDialog->FileName+" }"; Timer->Enabled=false; fclose(f); SpeedButton3Click(NULL); SaveDialog->FileName=OpenDialog->FileName; Form1->Caption="TES2:Daggerfall Books-files Editor { "+default_txt+" }"; Application->Title="{ "+default_txt+" }"; } }
void __fastcall TfrmRaporMenu::FormCreate(TObject *Sender) { SpeedButton3Click(Sender); }