Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "fmin.h"
- void findById (int32 id)
- {
- if ( id )
- {
- STUDENT buf;
- memset( &buf, 0, sizeof( STUDENT ));
- if(!FindSTUDENT(id, &buf))
- {
- char tFio[153];
- sprintf (tFio, "%s %s %s", (char*)buf.FirstName, (char*)buf.SecondName, (char*)buf.LastName);
- meswin(tFio);
- }
- else
- {
- meswin("Студент с заданным ID не найден");
- }
- }
- }
- static int L_Handler(PANEL *p, int key)
- {
- BSCROL *Bs = (BSCROL *)p->Parm ;
- //TDATARACE *Data = (TDATARACE *)Bs->Mp.Parm;
- STUDENT *recBuf = (STUDENT*)FileSTUDENT->RecBuf;
- p->St = 0;
- switch( key )
- {
- case K_ENTER : //передачеа id
- recBuf->StudentID;
- key = -key;
- }
- return scrlrec( p, key );
- }
- static int E_Handler(PANEL *p, int key)
- {
- BSCROL *Bs = (BSCROL *)p->Parm ;
- //TDATARACE *Data = (TDATARACE *)Bs->Mp.Parm;
- //TWldRace *recBuf = (TWldRace*)FileWldRace->RecBuf;
- /*switch( key )
- {
- case K_ENTER : //пустышка
- key = 0;
- break;
- }*/
- return scrlrec( p, key );
- }
- void studentScrol()
- {
- int stat = 0;
- char isOpenFileStudent = 0;
- if ( !FileSTUDENT )
- {
- isOpenFileStudent = 1;
- stat = iOpenSTUDENT( 1 );
- }
- BSCROL *Bs = CrBs( &AppRes, "S_STUD" );
- if ( !stat )
- {
- STUDENT *recBuf = (STUDENT*)FileSTUDENT->RecBuf;
- BSetFlds(Bs, E_Handler, NULL, "ESC - выход F8 - Удалить F9 - Добавить", NULL, FileSTUDENT, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- recBuf->FirstName,
- recBuf->SecondName,
- recBuf->LastName,
- &recBuf->Birthday
- );
- }
- BRunScrol(Bs); //Редактирование
- FreeBScrol(Bs);
- if ( FileSTUDENT && isOpenFileStudent )
- {
- bfClose( &FileSTUDENT );
- }
- }
- int ListStudent()
- {
- int stat = 0;
- char isOpenFileStudent = 0;
- int key = 0;
- if ( !FileSTUDENT )
- {
- isOpenFileStudent = 1;
- stat = iOpenSTUDENT( 1 );
- }
- BSCROL *Bs = CrBs( &AppRes, "S_STUD" );
- STUDENT *recBuf = (STUDENT*)FileSTUDENT->RecBuf;
- if ( !stat )
- {
- BSetFlds(Bs, L_Handler, NULL, "ESC - выход Enter - Выбрать", NULL, FileSTUDENT, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- recBuf->FirstName,
- recBuf->SecondName,
- recBuf->LastName,
- &recBuf->Birthday
- );
- }
- key = -BLoopScrol(Bs); //Только просмотр
- int32 id = recBuf->StudentID;
- if (key == K_ESC)
- {
- id = 0;
- }
- FreeBScrol(Bs);
- if ( FileSTUDENT && isOpenFileStudent )
- {
- bfClose( &FileSTUDENT );
- }
- return id;
- }
- void FM_Student (unsigned int workMode)
- {
- /*
- 0 - read only
- 1 - scrol with edit
- */
- if (!workMode)
- {
- int currentId = ListStudent();
- if (currentId)
- {
- findById(currentId);
- }
- }
- if (workMode)
- {
- studentScrol();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement