Esempio n. 1
0
static void remove_current_file(void)
{
	int i;

	if (current_file != 1) {
		change_file(-1);
		for (i = 3; i <= num_files; i++)
			files[i - 2] = files[i - 1];
		num_files--;
		buffer_print();
	}
	else {
		change_file(1);
		for (i = 2; i <= num_files; i++)
			files[i - 2] = files[i - 1];
		num_files--;
		current_file--;
		buffer_print();
	}
}
Esempio n. 2
0
static void remove_current_file(void)
{
	unsigned i;

	if (num_files < 2)
		return;

	if (current_file != 1) {
		change_file(-1);
		for (i = 3; i <= num_files; i++)
			files[i - 2] = files[i - 1];
		num_files--;
	} else {
		change_file(1);
		for (i = 2; i <= num_files; i++)
			files[i - 2] = files[i - 1];
		num_files--;
		current_file--;
	}
}
Esempio n. 3
0
static void colon_process(void)
{
	int keypress;

	/* Clear the current line and print a prompt */
	clear_line();
	printf(" :");

	keypress = tless_getch();
	switch (keypress) {
		case 'd':
			remove_current_file();
			break;
		case 'e':
			examine_file();
			break;
#ifdef CONFIG_FEATURE_LESS_FLAGS
		case 'f':
			clear_line();
			m_status_print();
			break;
#endif
		case 'n':
			change_file(1);
			break;
		case 'p':
			change_file(-1);
			break;
		case 'q':
			tless_exit(0);
			break;
		case 'x':
			change_file(0);
			break;
		default:
			break;
	}
}
Esempio n. 4
0
File: q2.c Progetto: eokeeffe/C-code
void change_record()//change something in the database
{
	fp=fopen("employee.dat","r");
	if(check_file(fp)==TRUE)
	{
		fclose(fp);
		c=0;i=0;
		count=0;
		fp=fopen("employee.dat","r");
		c=getc(fp);
		while(c!=EOF){if(c=='\n'){count++;}c=getc(fp);}
		fclose(fp);
		fp=fopen("employee.dat","r");	
		while(i<=count)
		{
			fscanf(fp,"%d %s %s %lf %lf %d %lf %lf",&DB[i].id,&DB[i].ln,&DB[i].fn,&DB[i].wh,&DB[i].pay,&DB[i].tax,&DB[i].g_inc,&DB[i].n_inc);
			i++;
		}
		fclose(fp);
		//LINEN
		
		printf("Please input a search code\r\n");
		printf("1.by first name\r\n");
		printf("2.by last name\r\n");
		printf("3.By ID number\r\n");
		scanf("%d",&answer);
		
		switch(answer)
		{
			case 1:
			{
				printf("Please enter a first name\r\n");
				scanf("%s",&A.fn);
				for(i=0;i<=count;i++)
				{
					if(strcmp(A.fn,DB[i].fn)==0)
					{
						printf("\nID:%d\n Lname:%s\n fname:%s\n Hours:%lf\n pay:%lf\n tax:%d\n G-inc:%lf\n N-inc:%lf\r\n",DB[i].id,DB[i].ln,DB[i].fn,DB[i].wh,DB[i].pay,DB[i].tax,DB[i].g_inc,DB[i].n_inc);
						printf("Is this the person you are looking for?\r\n");
						printf("Y or N\r\n");
						scanf("%s",&answer1);
						if(answer1[0]=='y'||answer1[0]=='Y'){break;}
					}
				}
				//printf("i=%d,%d=count\r\n",i,count);
				if(i==(count+1)){NEMP}
				else
				{
					wait_for_user();
					printf("Are you sure you want to change this person?\r\n");
					printf("Y to change , N to go back to main menu\r\n");
					scanf("%s",&answer2);
					if(answer2[0]=='y'||answer2[0]=='Y'){change_file(i);}
					else
						{options();}
				}
				break;
			}
			
			case 2:
			{
				printf("Please enter a last name\r\n");
				scanf("%s",&A.ln);
				for(i=0;i<=count;i++)
				{
					if(strcmp(A.ln,DB[i].ln)==0)
					{
						printf("\nID:%d\n Lname:%s\n fname:%s\n Hours:%lf\n pay:%lf\n tax:%d\n G-inc:%lf\n N-inc:%lf\r\n",DB[i].id,DB[i].ln,DB[i].fn,DB[i].wh,DB[i].pay,DB[i].tax,DB[i].g_inc,DB[i].n_inc);
						printf("Is this the person you are looking for?\r\n");
						printf("Y or N\r\n");
						scanf("%s",&answer2);
						if(answer2[0]=='y'||answer2[0]=='Y'){break;}
					}
				}
				//printf("i=%d,%d=count\r\n",i,count);
				if(i==(count+1)){NEMP}
				else
				{
					wait_for_user();
					printf("Are you sure you want to change this person?\r\n");
					printf("Y to change , N to go back to main menu\r\n");
					scanf("%s",&answer2);
					if(answer2[0]=='y'||answer2[0]=='Y'){change_file(i);}
					else
						{options();}
				}
				break;
			}
			
			default:
			{
				printf("Please enter the ID\r\n");
				scanf("%d",&A.id);
				for(i=0;i<=count;i++)
				{
					if(A.id==DB[i].id)
					{
						printf("\nID:%d\n Lname:%s\n fname:%s\n Hours:%lf\n pay:%lf\n tax:%d\n G-inc:%lf\n N-inc:%lf\r\n",DB[i].id,DB[i].ln,DB[i].fn,DB[i].wh,DB[i].pay,DB[i].tax,DB[i].g_inc,DB[i].n_inc);
						printf("Is this the person you are looking for?\r\n");
						printf("Y or N\r\n");
						scanf("%s",&answer1);
						if(answer1[0]=='y'||answer1[0]=='Y'){break;}
					}
				}
				printf("i=%d,%d=count\r\n",i,count);
				if(i==count){NEMP}
				else
				{
					wait_for_user();
					printf("Are you sure you want to change this person?\r\n");
					printf("Y to change , N to go back to main menu\r\n");
					scanf("%s",&answer2);
					if(answer2[0]=='y'||answer2[0]=='Y'){change_file(i);}
					else
						{options();}
				}
				break;
			}
			
		}
		
		
	}
Esempio n. 5
0
void control(void)
{
	uint16_t work_slice;
	char c = 0;

	while(c != 27)
	{
		c = getch();
		if(c == 80)
		{
			opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
			if(opt_slice->next_slice != 0)
			{
				cursor.ID_slice = opt_slice->next_slice;
				opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
				cursor.ID_file = opt_slice->ID_file;
				cursor.ID_folder = opt_slice->ID_folder;
			}
			system("cls");
			output_PC();
			//cursor(output_PC)
		}
		if(c == 72)
		{
			opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
			if(opt_slice->prev_slice != 0)
			{
				prev_opt_slice = (opt_slice_init*) &mem[(opt_slice->prev_slice - 1)*32]; 
				if(prev_opt_slice->ID_folder == opt_slice->ID_folder)
				{
					cursor.ID_slice = opt_slice->prev_slice;
					opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
					cursor.ID_file = opt_slice->ID_file;
					cursor.ID_folder = opt_slice->ID_folder;	
				}				
			}
			system("cls");
			output_PC();
			//cursor(output_PC)
		}
		if(c == 13)
		{
			opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
			if(opt_slice->safe == 3)
			{
				cursor.ID_slice = opt_slice->next_slice_folder;
				opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
				cursor.ID_file = opt_slice->ID_file;
				cursor.ID_folder = opt_slice->ID_folder;
			}
			system("cls");
			output_PC();
			//cursor(output_PC)
		}
		if(c == 8)
		{
			opt_slice = (opt_slice_init*) &mem[(cursor.ID_slice - 1)*32];
			if(opt_slice->ID_folder != 1)
			{
				work_slice = find_first_file_in_folder(cursor.ID_slice);			
				opt_slice = (opt_slice_init*) &mem[(work_slice - 1)*32];
				prev_opt_slice = (opt_slice_init*) &mem[(opt_slice->prev_slice - 1)*32]; 								
				
				work_slice = find_first_file_in_folder(opt_slice->prev_slice_folder);
				opt_slice = (opt_slice_init*) &mem[(work_slice - 1)*32];
				cursor.ID_slice = opt_slice->ID_slice;
				cursor.ID_file = opt_slice->ID_file;
				cursor.ID_folder = opt_slice->ID_folder;

				system("cls");
				output_PC();
				//cursor(output_PC)
			}
		}
		if(c == 32)
		{
			system("cls");
			printf("Enter name temporary and value: \n");
			scanf("%s %u", &name_file, &val_temp);
			//getch();
			//printf("Enter value temporary \n");
			//scanf("/u", &val_temp);
			
			create_file(&name_file[0], val_temp);
			system("cls");
			output_PC();
			//cursor(output_PC)	
		}
		if(c == 57)
		{
			system("cls");
			printf("Enter name folder, name first temporary in folder\n and her value: \n ");
			scanf("%s %s %u", &name_folder, &name_file, &val_temp);
			//getch();
			//printf("Enter value temporary \n");
			//scanf("/u", &val_temp);
			
			create_folder(&name_folder[0], &name_file[0], val_temp);
			system("cls");
			output_PC();
			//cursor(output_PC)
		}
		if(c == 56)
		{
			system("cls");
			printf("Enter name temporary and value: \n");
			scanf("%s %u", &name_file, &val_temp);

			change_file(&name_file[0], val_temp);
			system("cls");
			output_PC();
		}
		if(c == 55)
		{
			system("cls");
			printf("Enter name folder: \n");
			scanf("%s", &name_folder);

			change_folder(&name_folder[0]);
			system("cls");
			output_PC();
		}
	}	
}