Merge remote-tracking branch 'origin/R_10_00' into R_10_00
This commit is contained in:
		
						commit
						f417fee58f
					
				
							
								
								
									
										5
									
								
								cd/test/ve0820.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								cd/test/ve0820.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| ve5.exe | ||||
| ve5100a.msk | ||||
| 
 | ||||
| Scarico e ripristino documenti: | ||||
| Aggiunta archiviazione su File oltre al Floppy | ||||
							
								
								
									
										130
									
								
								cd/test/ve0820a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								cd/test/ve0820a.ini
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,130 @@ | ||||
| [Main] | ||||
| Demo=0 | ||||
| 
 | ||||
| [ve1] | ||||
| File(86) = ve5.exe|X | ||||
| File(87) = ve5100a.msk|X | ||||
| Patch = 0820 | ||||
| Versione = 21511200 | ||||
| 
 | ||||
| [ve99] | ||||
| Kill(0) = batbcld.msk|x | ||||
| Kill(1) = bastspp.rep|x | ||||
| Kill(2) = baststd.rep|x | ||||
| Kill(3) = bastbnp.rep|x | ||||
| Kill(4) = ve7400a.msk|x | ||||
| Kill(5) = bastfrd.msk|x | ||||
| Kill(6) = bastprs.rep|x | ||||
| Kill(7) = basttip.msk|x | ||||
| Kill(8) = bastcaa.rep|x | ||||
| Kill(9) = efstbnp.msk|x | ||||
| Kill(10) = batbprs.msk|x | ||||
| Kill(11) = batbabe.msk|x | ||||
| Kill(12) = bastgca.msk|x | ||||
| Kill(13) = batbgmc.msk|x | ||||
| Kill(14) = bastcau.rep|x | ||||
| Kill(15) = bastcra.msk|x | ||||
| Kill(16) = bastspp.msk|x | ||||
| Kill(17) = basttag.rep|x | ||||
| Kill(18) = batbcau.msk|x | ||||
| Kill(19) = bastctr.rep|x | ||||
| Kill(20) = ve7500a.msk|x | ||||
| Kill(21) = bastasf.rep|x | ||||
| Kill(22) = bastums.rep|x | ||||
| Kill(23) = bastfrr.msk|x | ||||
| Kill(24) = basteld.rep|x | ||||
| Kill(25) = batbprv.msk|x | ||||
| Kill(26) = ve7200a.msk|x | ||||
| Kill(27) = batbgca.msk|x | ||||
| Kill(28) = batbmre.msk|x | ||||
| Kill(29) = bastcaa.msk|x | ||||
| Kill(30) = ve7700a.msk|x | ||||
| Kill(31) = batbtri.msk|x | ||||
| Kill(32) = basttip.rep|x | ||||
| Kill(33) = efstbnp.rep|x | ||||
| Kill(34) = baststd.msk|x | ||||
| Kill(35) = batbasf.msk|x | ||||
| Kill(36) = bastimb.msk|x | ||||
| Kill(37) = batbrfa.msk|x | ||||
| Kill(38) = ve7300a.msk|x | ||||
| Kill(39) = ve7600a.msk|x | ||||
| Kill(40) = batbspt.msk|x | ||||
| Kill(41) = bastfca.rep|x | ||||
| Kill(42) = bastrfc.msk|x | ||||
| Kill(43) = bastprs.msk|x | ||||
| Kill(44) = bastgcg.msk|x | ||||
| Kill(45) = batbspp.msk|x | ||||
| Kill(46) = batbgcg.msk|x | ||||
| Kill(47) = bastnum.rep|x | ||||
| Kill(48) = bastgmc.msk|x | ||||
| Kill(49) = batbrfc.msk|x | ||||
| Kill(50) = bastubi.msk|x | ||||
| Kill(51) = batbtag.msk|x | ||||
| Kill(52) = ve7400a.ini|x | ||||
| Kill(53) = bastrfa.msk|x | ||||
| Kill(54) = bastabe.rep|x | ||||
| Kill(55) = bastubi.rep|x | ||||
| Kill(56) = bastasf.msk|x | ||||
| Kill(57) = batbctr.msk|x | ||||
| Kill(58) = ve7100a.msk|x | ||||
| Kill(59) = batbcaa.msk|x | ||||
| Kill(60) = batbfid.msk|x | ||||
| Kill(61) = ve7300a.frm|x | ||||
| Kill(62) = bastfrr.rep|x | ||||
| Kill(63) = bastums.msk|x | ||||
| Kill(64) = basttri.rep|x | ||||
| Kill(65) = bastrfa.rep|x | ||||
| Kill(66) = bastcau.msk|x | ||||
| Kill(67) = batbtip.msk|x | ||||
| Kill(68) = batbubi.msk|x | ||||
| Kill(69) = basttag.msk|x | ||||
| Kill(70) = basteld.msk|x | ||||
| Kill(71) = bastimb.rep|x | ||||
| Kill(72) = bastrfc.rep|x | ||||
| Kill(73) = ve7.exe|x | ||||
| Kill(74) = ve7200a.frm|x | ||||
| Kill(75) = batbfrr.msk|x | ||||
| Kill(76) = bastfca.msk|x | ||||
| Kill(77) = batbfrd.msk|x | ||||
| Kill(78) = bastctr.msk|x | ||||
| Kill(79) = batbpro.msk|x | ||||
| Kill(80) = ve7400conf.ini|x | ||||
| Kill(81) = bastfrm.rep|x | ||||
| Kill(82) = batbbnp.msk|x | ||||
| Kill(83) = bastgca.rep|x | ||||
| Kill(84) = batbstd.msk|x | ||||
| Kill(85) = ve7701a.ini|x | ||||
| Kill(86) = batbfsa.msk|x | ||||
| Kill(87) = batbnum.msk|x | ||||
| Kill(88) = bastabe.msk|x | ||||
| Kill(89) = eftbbnp.msk|x | ||||
| Kill(90) = batbfca.msk|x | ||||
| Kill(91) = bastgcg.rep|x | ||||
| Kill(92) = batbgsa.msk|x | ||||
| Kill(93) = bastfrm.msk|x | ||||
| Kill(94) = bastbnp.msk|x | ||||
| Kill(95) = bastgmc.rep|x | ||||
| Kill(96) = bastcra.rep|x | ||||
| Kill(97) = bastfrd.rep|x | ||||
| Kill(98) = batbacr.msk|x | ||||
| Kill(99) = batbimb.msk|x | ||||
| Kill(100) = basttri.msk|x | ||||
| Kill(101) = bastnum.msk|x | ||||
| Kill(102) = batbeld.msk|x | ||||
| Kill(103) = batbums.msk|x | ||||
| Kill(104) = batbcra.msk|x | ||||
| Kill(105) = batbfrm.msk|x | ||||
| 
 | ||||
| [ve] | ||||
| Data = 11-06-2019 | ||||
| Descrizione = Vendite | ||||
| Dischi = 1 | ||||
| Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9 | ||||
| OEM =  | ||||
| Patch = 820 | ||||
| PostProcess = bainst -0 VE | ||||
| PreProcess =  | ||||
| Prezzo(1) =  | ||||
| Prezzo(2) =  | ||||
| Versione = 21511200 | ||||
| 
 | ||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/ve0820a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/ve0820a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -338,42 +338,13 @@ bool TArchive::zip( | ||||
| 
 | ||||
| // @comm Il parametro <p pr_set> e' utilizzato per evitare errori di riaperture di files.
 | ||||
| 
 | ||||
| {                                       | ||||
|   safely_close_closeable_isamfiles(); | ||||
| { | ||||
| 	const TFilename workdir = dir; | ||||
| 	const TString name = workdir.name(); | ||||
| 	// Nome del file compresso
 | ||||
| 	TFilename work; work.tempdir(); work.add(name); work.ext("zip"); | ||||
| 
 | ||||
|   DIRECTORY currdir, newdir; | ||||
|   xvt_fsys_get_curr_dir( &currdir);  //memorizza la directory dove e'
 | ||||
| 
 | ||||
|   xvt_fsys_convert_str_to_dir(dir, &newdir);  //converte il nome della directory
 | ||||
|   xvt_fsys_set_dir( &newdir);  //passa alla directory dir che gli viene passata
 | ||||
|    | ||||
|   const TFilename workdir = dir; | ||||
|   const TString name = workdir.name(); | ||||
|    | ||||
|   // Nome del file compresso
 | ||||
|   TFilename work; work.tempdir(); work.add(name); work.ext("zip"); | ||||
| 
 | ||||
|   TString title(TR("Archiviazione")); title << ' ' << workdir; | ||||
|   TIndwin waitw(100,title,FALSE,FALSE);  | ||||
|   TWait_cursor hourglass; | ||||
| 
 | ||||
|   TString_array filenames; | ||||
|   list_files("*.*", filenames); | ||||
|    | ||||
|   // Crea il file con la lista dei file da comprimere
 | ||||
|   const char* const ZIPLIST = "ziplist.txt"; | ||||
|   FILE* flist = fopen(ZIPLIST, "w"); | ||||
| 
 | ||||
|   FOR_EACH_ARRAY_ROW(filenames, r, row) | ||||
|     fprintf(flist, "%s\n",(const char *)*row); | ||||
| 
 | ||||
|   fclose(flist); | ||||
| 
 | ||||
|   bool ok = ::aga_zip_filelist(ZIPLIST, work); | ||||
| 
 | ||||
|   remove(ZIPLIST);  //elimina il file di testo con la lista dei files
 | ||||
| 
 | ||||
|   xvt_fsys_set_dir( &currdir);  //torna a posizionarsi nella directory iniziale
 | ||||
| 	bool ok = zip(dir, work); | ||||
| 
 | ||||
|   if (ok) | ||||
|     ok = fsplit_zip(work, floppy, desc); | ||||
| @ -383,6 +354,43 @@ bool TArchive::zip( | ||||
|   return ok; | ||||
| } | ||||
| 
 | ||||
| bool TArchive::zip(const char* dir, const TFilename& work) | ||||
| { | ||||
| 	safely_close_closeable_isamfiles(); | ||||
| 
 | ||||
| 	DIRECTORY currdir, newdir; | ||||
| 	xvt_fsys_get_curr_dir(&currdir);  //memorizza la directory dove e'
 | ||||
| 
 | ||||
| 	xvt_fsys_convert_str_to_dir(dir, &newdir);  //converte il nome della directory
 | ||||
| 	xvt_fsys_set_dir(&newdir);  //passa alla directory dir che gli viene passata
 | ||||
| 
 | ||||
| 	const TFilename workdir = dir; | ||||
| 
 | ||||
| 	TString title(TR("Archiviazione")); title << ' ' << workdir; | ||||
| 	TIndwin waitw(100, title, FALSE, FALSE); | ||||
| 	TWait_cursor hourglass; | ||||
| 
 | ||||
| 	TString_array filenames; | ||||
| 	list_files("*.*", filenames); | ||||
| 
 | ||||
| 	// Crea il file con la lista dei file da comprimere
 | ||||
| 	const char* const ZIPLIST = "ziplist.txt"; | ||||
| 	FILE* flist = fopen(ZIPLIST, "w"); | ||||
| 
 | ||||
| 	FOR_EACH_ARRAY_ROW(filenames, r, row) | ||||
| 		fprintf(flist, "%s\n", (const char *)*row); | ||||
| 
 | ||||
| 	fclose(flist); | ||||
| 
 | ||||
| 	bool ok = ::aga_zip_filelist(ZIPLIST, work); | ||||
| 
 | ||||
| 	remove(ZIPLIST);  //elimina il file di testo con la lista dei files
 | ||||
| 
 | ||||
| 	xvt_fsys_set_dir(&currdir);  //torna a posizionarsi nella directory iniziale
 | ||||
| 
 | ||||
| 	return ok; | ||||
| } | ||||
| 
 | ||||
| bool TArchive::zip(int mode, long firm, char floppy, const char* desc) | ||||
| {                      | ||||
|   TString_array fl; | ||||
| @ -494,6 +502,77 @@ bool TArchive::unzip( | ||||
|   return ok; | ||||
| } | ||||
| 
 | ||||
| bool TArchive::unzip( | ||||
| 	const char* dir,   // @parm Directory di cui effettuare il restore
 | ||||
| 	const char* fromdir,       // @parm percorso da cui leggere i dati
 | ||||
| 	bool tmp)          // @parm Directory temporanea da utilizzare
 | ||||
| // @syntax bool restore(const char* dir, char floppy, bool temp, bool pr_set);
 | ||||
| // @syntax bool restore(long firm, char floppy, bool temp, bool pr_set);
 | ||||
| // @comm Il parametro <p pr_set> e' utilizzato per evitare errori di riaperture di files.
 | ||||
| { | ||||
| 	TFilename work; | ||||
| 	if (tmp) | ||||
| 		work.tempdir(); | ||||
| 	else | ||||
| 		work = dir; | ||||
| 
 | ||||
| 	TFilename output(dir); | ||||
| 	output = output.name(); | ||||
| 	output.ext("zip"); | ||||
| 
 | ||||
| 	TFilename dest; dest << fromdir; | ||||
| 
 | ||||
| 	if (!yesno_box(FR("Attenzione l'archivio %s\\%s verra' ripristinato\n" | ||||
| 		"nel direttorio %s. Continuare?"), | ||||
| 		fromdir, (const char*)output, (const char*)work)) | ||||
| 		return FALSE; | ||||
| 
 | ||||
| 	bool ok = work.exist(); | ||||
| 	if (!ok) | ||||
| 	{ | ||||
| 		ok = yesno_box(FR("Non esiste il direttorio %s: si desidera crearlo?"), (const char*)work); | ||||
| 		if (ok) | ||||
| 		{ | ||||
| 			make_dir(work); | ||||
| 			ok = work.exist(); | ||||
| 		} | ||||
| 		if (!ok) | ||||
| 			return error_box(FR("Impossibile accedere a %s"), (const char*)work); | ||||
| 	} | ||||
| 
 | ||||
| 	TString title(TR("Ripristino")); title << ' ' << output; | ||||
| 	TIndwin waitw(100, title, FALSE, FALSE); | ||||
| 
 | ||||
| 	safely_close_closeable_isamfiles(); | ||||
| 
 | ||||
| 	TFilename restored; | ||||
| 	restored.tempdir(); | ||||
| 	restored.add(output.name()); | ||||
| 	restored.ext("zip"); | ||||
| 
 | ||||
| 	TFilename src; | ||||
| 	src << fromdir << SLASH; | ||||
| 	src << output.name(); | ||||
| 	src.ext("zip"); | ||||
| 
 | ||||
| 	while (!src.exist()) | ||||
| 	{ | ||||
| 		if (!yesno_box("Impossibile aprire il file %s:\nSi desidera ritentare?", | ||||
| 			(const char *)src)) | ||||
| 			break; | ||||
| 	} | ||||
| 
 | ||||
| 	if (src.exist()) | ||||
| 	{ | ||||
| 		fcopy(src, restored); | ||||
| 	} | ||||
| 	ok = ::aga_unzip(restored, work); | ||||
| 	if (ok) | ||||
| 		remove(restored); | ||||
| 
 | ||||
| 	return ok; | ||||
| } | ||||
| 
 | ||||
| bool TArchive::unzip(int mode, long firm, char floppy, bool temp) | ||||
| { | ||||
|   TString_array fl; | ||||
| @ -513,6 +592,12 @@ bool TArchive::backup(const char* dir, char floppy, const char* desc, bool) | ||||
|   return zip(dir, floppy, desc); | ||||
| } | ||||
| 
 | ||||
| bool TArchive::backup(const char* dir, const char* dirdest, const char* desc, bool) const | ||||
| { | ||||
| 	TFilename work; work << dirdest; work.add(TFilename(dir).name()); work.ext("zip"); | ||||
| 	return zip(dir, work); | ||||
| } | ||||
| 
 | ||||
| bool TArchive::backup(int mode, long firm, char floppy, const char* desc, bool) | ||||
| { | ||||
|   return zip(mode, firm, floppy, desc); | ||||
| @ -522,6 +607,11 @@ bool TArchive::restore(const char* dir, char floppy, bool tmp, bool) | ||||
| { | ||||
|   return unzip(dir, floppy, tmp); | ||||
| } | ||||
| bool TArchive::restore(const char* dir, const char* fromdir, bool tmp, bool) | ||||
| { | ||||
| 
 | ||||
| 	return unzip(dir, fromdir, tmp); | ||||
| } | ||||
| 
 | ||||
| bool TArchive::restore(int mode, long firm, char floppy, bool tmp, bool) | ||||
| { | ||||
|  | ||||
| @ -50,21 +50,29 @@ public: | ||||
| 
 | ||||
|   // @cmember Effettua il backup della directory
 | ||||
|   bool backup(const char* dir, char floppy, const char* desc, bool dummy = FALSE); | ||||
| 	// @cmember Effettua il backup della directory in un percorso specificato
 | ||||
|   bool backup(const char* dir, const char* dirdest, const char* desc, bool dummy = FALSE) const; | ||||
|   // @cmember Effettua il backup della ditta
 | ||||
|   bool backup(int mode, long firm, char floppy, const char* desc, bool pr_set=TRUE); | ||||
| 
 | ||||
|   // @cmember Effettua il restore della directory
 | ||||
|   bool restore(const char* dir, char floppy, bool temp, bool dummy = FALSE); | ||||
|   // @cmember Effettua il restore della directory
 | ||||
|   bool restore(const char* dir, const char* fromdir, bool temp, bool dummy = FALSE); | ||||
|   // @cmember Effettua il restore della ditta
 | ||||
|   bool restore(int mode, long firm, char floppy, bool temp, bool pr_set=TRUE); | ||||
| 
 | ||||
|   // @cmember Effettua il backup della directory
 | ||||
|   bool zip(const char* dir, char floppy, const char* desc); | ||||
|   // @cmember Effettua il backup della directory su percorso specificato nel file
 | ||||
| 	static bool zip(const char* dir, const TFilename& work); | ||||
|   // @cmember Effettua il backup della ditta
 | ||||
|   bool zip(int mode, long firm, char floppy, const char* desc); | ||||
| 
 | ||||
|   // @cmember Effettua il restore della directory
 | ||||
|   bool unzip(const char* dir, char floppy, bool temp); | ||||
|   // @cmember Effettua il restore della directory
 | ||||
|   bool unzip(const char* dir, const char* fromdir, bool temp); | ||||
|   // @cmember Effettua il restore della ditta
 | ||||
|   bool unzip(int mode, long firm, char floppy, bool temp); | ||||
| 
 | ||||
|  | ||||
| @ -19,10 +19,12 @@ class TDeletedoc_app : public TSkeleton_application | ||||
|   TString        _desc, _last_std; | ||||
|   TString16      _num; | ||||
|   int            _anno; | ||||
|   char           _unit; | ||||
| 	char           _unit; | ||||
|   TString        _dirdest; | ||||
|   TFilename      _tmp_dir; | ||||
|   TIsamtempfile  *_tdoc,*_trdoc; | ||||
|    | ||||
|   bool						_floppy; | ||||
| 
 | ||||
| protected: | ||||
| 
 | ||||
|   void backup_delete_doc(int op, int who, bool pack_rows); // Backup e cancellazione dei documenti da eliminare
 | ||||
| @ -33,7 +35,9 @@ protected: | ||||
|   virtual bool destroy(); | ||||
|   virtual void main_loop();   | ||||
| 
 | ||||
| static bool state_handler(TMask& m, KEY k); | ||||
| 	static bool state_handler(TMask& m, KEY k); | ||||
|   static void enable_supports(TMask& m, bool enable = true); | ||||
| 	static bool op_handler(TMask_field& field, KEY k); | ||||
|    | ||||
| public: | ||||
| 
 | ||||
| @ -49,6 +53,38 @@ bool TDeletedoc_app::state_handler(TMask& m, KEY k) | ||||
|   return TRUE; | ||||
| } | ||||
| 
 | ||||
| void TDeletedoc_app::enable_supports(TMask& m, bool enable) | ||||
| { | ||||
| 	if(!enable) | ||||
| 	{ | ||||
| 		m.field(F_UNIT).disable(); | ||||
| 		m.field(F_DESTDIR).disable(); | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		if(m.get(F_SALVA) == "F") | ||||
| 		{ | ||||
| 			m.field(F_UNIT).enable(); | ||||
| 			m.field(F_DESTDIR).disable(); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			m.field(F_UNIT).disable(); | ||||
| 			m.field(F_DESTDIR).enable(); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| bool TDeletedoc_app::op_handler(TMask_field& field, KEY k) | ||||
| { | ||||
| 	TMask& m = field.mask(); | ||||
| 	if (m.get_int(F_OPERAZIONE) == 1) | ||||
| 		enable_supports(m, false); | ||||
| 	else | ||||
| 		enable_supports(m); | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| void TDeletedoc_app::backup_delete_doc(int op, int who, bool pack_rows) | ||||
| { | ||||
|    | ||||
| @ -176,7 +212,10 @@ void TDeletedoc_app::backup_delete_doc(int op, int who, bool pack_rows) | ||||
|         movmag.close(); rmovmag.close(); | ||||
|         const char * dir = &_tmp_dir[1]; | ||||
|         delete_tmp_files(FALSE); //Close tmp files only
 | ||||
|         rt = _arc.backup(dir,_unit,_desc, FALSE);// Backup dei documenti da eliminare, prefix unnecessary
 | ||||
| 				if(_floppy) | ||||
| 					rt = _arc.backup(dir, _unit, _desc, FALSE);	// Backup dei documenti da eliminare, prefix unnecessary
 | ||||
| 				else | ||||
| 					rt = _arc.backup(dir, _dirdest, _desc, FALSE);	// Backup dei documenti da eliminare, prefix unnecessary
 | ||||
|         create_tmp_files(FALSE); // Reopen tmp files.
 | ||||
|         doc.open(_excllock); rdoc.open(); clifo.open(); | ||||
|         cfven.open(); tab.open(); occas.open(); | ||||
| @ -251,7 +290,12 @@ void TDeletedoc_app::restore_doc() | ||||
|     return ; | ||||
|   } | ||||
|   const char* dir =& _tmp_dir[1]; // Cut out % sign
 | ||||
|   if (_arc.restore(dir,_unit,FALSE, FALSE)) | ||||
| 	bool ok; | ||||
| 	if(_floppy) | ||||
| 		ok = _arc.restore(dir, _unit, FALSE, FALSE); | ||||
| 	else | ||||
| 		ok = _arc.restore(dir, _dirdest, FALSE, FALSE); | ||||
|   if (ok) | ||||
|   { | ||||
|     create_tmp_files(FALSE);  // In realta' ci sono gia'
 | ||||
|     const TRecnotype items = _tdoc->items() + _trdoc->items(); | ||||
| @ -335,13 +379,17 @@ void TDeletedoc_app::main_loop() | ||||
| {                | ||||
|   TMask m("ve5100a"); | ||||
|   m.set_handler(state_handler); | ||||
| 	m.set_handler(F_OPERAZIONE, op_handler); | ||||
| 	m.set_handler(F_SALVA, op_handler); | ||||
| 
 | ||||
|   m.set(F_STATUS,_last_std); | ||||
|    | ||||
|   while (m.run() != K_QUIT)  | ||||
|   {                  | ||||
|     _unit       = m.get(F_UNIT)[0]; | ||||
| 		_dirdest		= m.get(F_DESTDIR); | ||||
|     _desc       = m.get(F_DESC); | ||||
| 		_unit       = m.get(F_UNIT)[0]; | ||||
| 		_floppy = m.get(F_SALVA) == "F"; | ||||
|     const int scelta = m.get_int(F_OPERAZIONE); | ||||
|     const int cosa = m.get_int(F_DOCUMENTI); | ||||
|     const bool pack_rows = m.get_bool(F_COMPATTA); | ||||
|  | ||||
| @ -1,11 +1,13 @@ | ||||
| #define F_STATUS       101 | ||||
| #define F_DESC         102 | ||||
| #define F_UNIT         103 | ||||
| #define F_STADESC      104 | ||||
| #define F_OPERAZIONE   105 | ||||
| #define F_DOCUMENTI    106 | ||||
| #define F_COMPATTA     107 | ||||
| #define F_ANNO         108 | ||||
| #define F_CODNUM       109 | ||||
| #define F_DESNUM       110 | ||||
| #define F_DESTDIR      104 | ||||
| #define F_STADESC      105 | ||||
| #define F_OPERAZIONE   106 | ||||
| #define F_SALVA				 107 | ||||
| #define F_DOCUMENTI    108 | ||||
| #define F_COMPATTA     109 | ||||
| #define F_ANNO         110 | ||||
| #define F_CODNUM       111 | ||||
| #define F_DESNUM       112 | ||||
| 
 | ||||
|  | ||||
| @ -10,13 +10,13 @@ RADIOBUTTON F_OPERAZIONE 1 34 | ||||
| BEGIN | ||||
|   PROMPT  1 1 "Operazione" | ||||
|   ITEM "1|Eliminazione"  | ||||
|     MESSAGE DISABLE,F_DESC|DISABLE,F_UNIT|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|     MESSAGE DISABLE,F_DESC|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|   ITEM "2|Archiviazione"  | ||||
|     MESSAGE ENABLE,F_DESC|ENABLE,F_UNIT|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|     MESSAGE ENABLE,F_DESC|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|   ITEM "3|Eliminazione e archiviazione"  | ||||
|     MESSAGE ENABLE,F_DESC|ENABLE,F_UNIT|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|     MESSAGE ENABLE,F_DESC|ENABLE,F_ANNO|ENABLE,F_CODNUM | ||||
|   ITEM "4|Ripristino" | ||||
|     MESSAGE DISABLE,F_DESC|ENABLE,F_UNIT|CLEAR,F_ANNO|CLEAR,F_CODNUM | ||||
|     MESSAGE DISABLE,F_DESC|CLEAR,F_ANNO|CLEAR,F_CODNUM | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON F_DOCUMENTI 1 24 | ||||
| @ -30,21 +30,35 @@ BEGIN | ||||
|   MESSAGE ENABLE,F_COMPATTA  | ||||
| END | ||||
| 
 | ||||
| RADIOBUTTON F_SALVA 2 24 | ||||
| BEGIN | ||||
| 	PROMPT 1 7 "Salvare su " | ||||
| 	ITEM "F|Floppy" | ||||
| 	ITEM "D|File  " | ||||
| 	FLAGS "Z" | ||||
| END | ||||
| 
 | ||||
| LIST F_UNIT 2 | ||||
| BEGIN | ||||
|   PROMPT 38 6 "Unita' di backup " | ||||
|   PROMPT 30 9 "Unita' di backup" | ||||
|   ITEM "A|A:" | ||||
|   ITEM "B|B:" | ||||
| END | ||||
| 
 | ||||
| STRING F_DESTDIR 250 36 | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Percorso di backup   " | ||||
|   DSELECT | ||||
| END | ||||
| 
 | ||||
| STRING F_DESC 50 36 | ||||
| BEGIN | ||||
|   PROMPT 2 7 "Descrizione backup   " | ||||
|   PROMPT 2 11 "Descrizione backup   " | ||||
| END | ||||
| 
 | ||||
| STRING F_STATUS 1 | ||||
| BEGIN | ||||
|   PROMPT 2 8 "Stato eliminabile    " | ||||
|   PROMPT 2 12 "Stato eliminabile    " | ||||
|   USE %STD | ||||
|   INPUT CODTAB F_STATUS | ||||
|   DISPLAY "Stato documento" CODTAB | ||||
| @ -58,25 +72,25 @@ END | ||||
| 
 | ||||
| STRING F_STADESC 32 | ||||
| BEGIN | ||||
|   PROMPT 27 8 "" | ||||
|   PROMPT 27 12 "" | ||||
|   FLAGS "D" | ||||
| END | ||||
| 
 | ||||
| BOOELAN F_COMPATTA | ||||
| BEGIN | ||||
|   PROMPT 2 9 "Elimina la righe evase" | ||||
|   PROMPT 2 13 "Elimina la righe evase" | ||||
| END | ||||
| 
 | ||||
| NUMBER F_ANNO 4 | ||||
| BEGIN | ||||
|   PROMPT 2 10 "Esercizio    " | ||||
|   PROMPT 2 14 "Esercizio    " | ||||
|   FIELD ANNO | ||||
|   WARNING "Inserire un anno valido" | ||||
| END | ||||
| 
 | ||||
| STRING F_CODNUM 4 | ||||
| BEGIN | ||||
|   PROMPT 2 11 "Numerazione  " | ||||
|   PROMPT 2 15 "Numerazione  " | ||||
|   FIELD CODNUM | ||||
|   HELP "Codice numerazione" | ||||
|   USE %NUM | ||||
| @ -92,7 +106,7 @@ END | ||||
| 
 | ||||
| STRING F_DESNUM 50 42 | ||||
| BEGIN | ||||
|   PROMPT 15 12 "" | ||||
|   PROMPT 15 16 "" | ||||
|   HELP "Descrizione numerazione" | ||||
|   USE %NUM KEY 2 | ||||
|   INPUT S0 F_DESNUM | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user