I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component public class AllViewComponent : ViewComponent { private readonly UserManager<ApplicationUser> _userManager; public AllViewComponent(UserManager<ApplicationUser> userManager) { _userManager = userManager; } public async Task<IViewComponentResult> InvokeAsync() { List<StudentViewModel> allUsers = new List<StudentViewModel>(); var items = await _userManager.Users.ToListAsync(); foreach (var item in items) { allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email }); }
In order to access the file directly the file handling function fseek( ) is used. Access is nothing but to seek. So, it is easy to remember the function for direct access. The syntax of the function fseek( ) is as follows:
int fseek( FILE *fp, long offset, int whence)
Where:
fp is the file pointer
offset is the number of bytes to skip
whence can be replaced with SEEK_SET- from beginning
SEEK_CUR- from current position
SEEK_END - from the end
This position repositions the file or record pointer from the whence position by offset bytes on the file stream fp. The function returns 0 on success or non-zero on unsuccessful.
The following program gives the idea of using the fseek( ) function.
/* Program to display the details of the students using fseek( ) in the binary file "studb.dat" */
#include<stdio.h>
#include<conio.h>
#include<process.h>
main ( )
{
struct Stud
{
int rollno, marks[5];
char fname[25];
float avg;
};
typedef struct Stud STUDENT ; /* renaming the data type struct Stud to Student */
int idx;
FILE *fp;
STUDENT s; /* s is the structure variable to read/write student's data */
fp = fopen("studb.dat","rb"); /* Read mode to scan the records from the binary file "studb.dat" */
if(fp == NULL)
{
printf("File opening error....");
exit(1);
}
clrscr( ); /* To clear the screen and to display heading */
printf("%4s%27s","RNo","FName");
printf("%7s%7s%7s%7s%7s","Marks1","Marks2","Marks3","Marks4","Marks5");
printf("%9s\n\n","Avg");
fseek(fp,2*sizeof(s),SEEK_CUR); /* to remove to 3rd record */
fread(&s,sizeof(s),1,fp); /* to read 3rd record directly */
if(feof(fp))
exit(1); /* To come out of the loop, at the end of the file */
printf("%4d %26s",s.rollno,s.fname); /* Data is displayed on the screen */
for(idx=0;idx<5;idx++)
printf("%6d",s.marks[idx]); /* Next set of Data is displayed */
printf("%8.2f \n",s.avg); /* Avg is displayed and new line generated for the next record */
fclose(fp);
}
int fseek( FILE *fp, long offset, int whence)
Where:
fp is the file pointer
offset is the number of bytes to skip
whence can be replaced with SEEK_SET- from beginning
SEEK_CUR- from current position
SEEK_END - from the end
This position repositions the file or record pointer from the whence position by offset bytes on the file stream fp. The function returns 0 on success or non-zero on unsuccessful.
The following program gives the idea of using the fseek( ) function.
/* Program to display the details of the students using fseek( ) in the binary file "studb.dat" */
#include<stdio.h>
#include<conio.h>
#include<process.h>
main ( )
{
struct Stud
{
int rollno, marks[5];
char fname[25];
float avg;
};
typedef struct Stud STUDENT ; /* renaming the data type struct Stud to Student */
int idx;
FILE *fp;
STUDENT s; /* s is the structure variable to read/write student's data */
fp = fopen("studb.dat","rb"); /* Read mode to scan the records from the binary file "studb.dat" */
if(fp == NULL)
{
printf("File opening error....");
exit(1);
}
clrscr( ); /* To clear the screen and to display heading */
printf("%4s%27s","RNo","FName");
printf("%7s%7s%7s%7s%7s","Marks1","Marks2","Marks3","Marks4","Marks5");
printf("%9s\n\n","Avg");
fseek(fp,2*sizeof(s),SEEK_CUR); /* to remove to 3rd record */
fread(&s,sizeof(s),1,fp); /* to read 3rd record directly */
if(feof(fp))
exit(1); /* To come out of the loop, at the end of the file */
printf("%4d %26s",s.rollno,s.fname); /* Data is displayed on the screen */
for(idx=0;idx<5;idx++)
printf("%6d",s.marks[idx]); /* Next set of Data is displayed */
printf("%8.2f \n",s.avg); /* Avg is displayed and new line generated for the next record */
fclose(fp);
}
Comments
Post a Comment