Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 59


char* ptr=strchr(fileData.FileName,'\0');//Получим указатель на конец имени if(result!=IDOK|jstrcmpi(ptr-3,"DBF")){//Если файл не открылся или не .DBF MessageBox("Неверное имя файла","Info",МВ_ОК); return; }

FILE* fp=fopen(fileData.FileName,"rb"); if(!fp)return;

fread(tsbArray,sizeof(TSB),MAXENTRIES,fp); fclose(fp); Invalidate(); } void MyWindow::CmSave(){

TOpenSaveDialog::TData fileData(OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,

"Базы данных (*.dbf)|*.dbf|);

int result= new TFileSaveDialog(this,fileData)->Execute(); if(result==IDCANCEL)return;

char* ptr=strchr(fileData.FileName,'\0');//Получим указатель на конец имени if(result!=IDOK||strcmpi(ptr-3,"DBF")){//Если файл не открылся или не .DBF MessageBox("Неверное имя файла","Info",МВ_ОК); return; }

FILE* fp=fopen(fileData.FileName,"wb"); if(!fp)return;

fwrite(tsbArray,sizeof(TSB),MAXENTRIES,fp); fclose(fp); }

/*Функция Paint()*/

void MyWindow::Paint(TDC&dc,bool,TRect&){ char s[80];

for(int i=0;i<MAXENTRIES;i++){ strcpy(s,tsbArray[i].nameEdit); strcat(s,"  ");

strcat(s,tsbArray[i].jobEdit); strcat(s,"  ");

strcat(s,tsbArray[i].yearEdit); strcat(s,"  "); if(tsbArray[i].mEdit==true)

strcat(s,"м"); else if(tsbArray[i].fEdit==true)

strcat(s,"ж");

dc.TextOut(5,i*20,s); } }

/*Конструктор класса MyDialog*/

MyDialog::MyDialog(TWindow*parent,TResId resId):TDialog(parent,resId){ new TEdit(this,IDC_NAME,sizeof(tsb.nameEdit)); new TEdit(this,IDC_JOB,sizeof(tsb.jobEdit)); new TEdit(this,IDC_YEAR,sizeof(tsb.yearEdit)) ; new TCheckBox(this,IDC_M); new TCheckBox(this,IDC_F);

TransferBuffer=&tsb;//Назначили tsb буфером обмена memset(&tsb,0,sizeof(TSB)); index=0;//Начинаем с карточки #0 }

/*Таблица откликов класса MyDialog*/ DEFINE_RESPONSE_TABLE1(MyDialog,TDialOg)

EV_COMMAND(IDC_ADD,CmAdd), END_RESPONSE_TABLE;

/*Единственная функция отклика класса MyDialog*/ void MyDialog::CmAdd(){ TransferData(tdGetData);




Начало  Назад  Вперед



Книжный магазин