#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>
#include "sftlib.h"


int	DB_fout = -1 ;
int	DB_fout_sub[6] = -1 ;
int	DB_fout_Ih = -1 ;
int	DB_fout_text = -1 ;
int	DB_fout_If = -1 ;


/*	initDataFOUT:DB_fout_sub[3]:MJ_DBUTTONL40の呼び出し関数	*/
int	DB_fout_cont(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	MMI_SendMessage( DB_fout, MM_ERASE, 0);
	MMI_SendMessage( DB_fout, MM_DETACH, 0);
	return NOERR ;
}

/*	initDataFOUT:DB_fout_sub[2]:MJ_DBUTTONL40の呼び出し関数	*/
int	DB_fout_ret(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	char path[_MAX_PATH+1];
	FILE *fp;
	int i;
	index *x;
	
	MMI_SendMessage( DB_fout_text, MM_GETTEXT, 3, path, _MAX_PATH, FALSE );

	DB_work_open( "作業中", "ファイルに出力中です" );
	DB_work_put( "ちょつとまっててね" );
	fp=fopen(path,"wb");
	if( fp!=NULL ) {
		for(i=0; i<DB_datalnm; i++) {
			x=&DB_dataary[DB_dataary[i].dataid];

			fprintf( fp, "##START NO(%d)\n", i+1);
			fprintf( fp, " #管理コード= \"%-4.4s\"\n", x->code );
/*			fprintf( fp, " #DATA= \"%-*s\"\n", TLSTBUF_LEN, x->lstbf);*/
			fprintf( fp, " #DATA1= \"%-60.60s\"\n", x->lstbf);
			fprintf( fp, " #DATA2= \"%-40.40s\"\n", &(x->lstbf[60]));
			fprintf( fp, " #%12s= %s\n", date_mes[0], DB_ctime(&x->date3));
			fprintf( fp, " #%12s= %s\n", date_mes[1], DB_ctime(&x->date4));
			fprintf( fp, " #%12s= %s\n", date_mes[2], DB_ctime(&x->date5));
			fprintf( fp, " #%12s= %s\n", date_mes[3], DB_ctime(&x->date6));
			fprintf( fp, " #%12s= %s\n", date_mes[4], DB_ctime(&x->date7));
			fprintf( fp, " #%12s= %s\n", date_mes[5], DB_ctime(&x->date8));
			fprintf( fp, "##END NO(%d)\n\n", i+1);
		}
		fclose(fp);
	} else 	AMI_INFO_call_1( 
		"ごめんなさい\n\n\n"
		"ファイルのオープンができまへんでした\n" );
	DB_work_close();
	
	MMI_SendMessage( DB_fout, MM_ERASE, 0);
	MMI_SendMessage( DB_fout, MM_DETACH, 0);
	return NOERR ;
}


/*	initDataFOUT:DB_fout_Ih:MJ_ICONL40の呼び出し関数	*/
int	DB_fout_hlp(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	DB_typeAlertCall( "ファイル出力とは",  DB_help1p );
	return NOERR ;
}

/*	initDataFOUT:DB_fout_If:MJ_ICONL40の呼び出し関数	*/
int	DB_fout_file(kobj, messId, argc, pev, trigger)
int		kobj ;
int		messId ;
int		argc ;
EVENT	*pev ;
int		trigger ;
{
	char path[_MAX_PATH+1];
	int ret;
	int pathl;
	TEHandle *texth;
	
	MMI_SendMessage( DB_fout_text, MM_GETTEXT, 3, path, _MAX_PATH, FALSE );
	ret=AMI_FILED_getpath_A(path,"出力ファイル","設 定","やめる",DB_fout);
	if( ret==1 ) /* 実行して終了した */
	{
		pathl=strlen(path);
		MMI_SendMessage( DB_fout_text, MM_GETTEHANDLE, 1, &texth );
		MMI_SendMessage( DB_fout_text, MM_SETTEXT, 3, path, pathl, FALSE);
		TE_Activate( texth, 0, 0 );
		TE_offsetJump( pathl );
		TE_UpDate();
		TE_Deactivate();
	}
	return NOERR ;
}

