Parameter cfExeRun,SourceExe,TargetExe
Set Safety Off
SourceExe=Alltrim(SourceExe)
TargetExe=Alltrim(TargetExe)
****
**** ตรวจสอบ พบไฟล์ที่ Download จาก WEB
If File(SourceExe+'.zip')
	cFdBackup='_version\'+DT2DDMMYY(Fdate(SourceExe+'.exe'))
	cFlBackup=cFdBackup+'\'+SourceExe+'.exe'

	txtProg="Run /n UtilPok 2 "+cFdBackup
	&txtProg
	Copy File (SourceExe+'.exe') To (cFlBackup)

	txtProg="Run /n Pkunzip -o "+SourceExe+'.zip'
	&txtProg

	txtProg="Delete File "+SourceExe+'.zip'
	&txtProg
Endif 
****
**** ตรวจสอบ กับ Drive M เพื่อ Copy ตัวใหม่
Dlocation=SourceExe+'.Exe'
For IExe=1 To 4
	Do Case 
	Case IExe=2 
		Mlocation='N:\'+SourceExe+'.Exe'
	Case IExe=3 
		Mlocation='O:\'+SourceExe+'.Exe'
	Case IExe=4 
		Mlocation='P:\'+SourceExe+'.Exe'
	Otherwise && ค่าโดยปรกติ 
		Mlocation='M:\'+SourceExe+'.Exe'
	Endcase
	If (Sys(5)='C:' .or. Sys(5)='D:') .and. File(Dlocation) .and. File(Mlocation)
		DSource=Dtos(FDate(Dlocation))+Left(FTime(Dlocation),5)
		MTarget=Dtos(FDate(Mlocation))+Left(FTime(Mlocation),5)
		Do Case 
		Case DSource>MTarget  && ตรวจสอบว่า ใน Drive D: ใหม่กว่า
			*** Copy File (Dlocation) To (Mlocation) ป้องกันปัญหา ติดไวรัสแล้วลาม
		Case MTarget>DSource  && ตรวจสอบว่า ใน Drive M: ใหม่กว่า
			Copy File (Mlocation) To (Dlocation)
		Endcase 
	Endif 
EndFor 
*****
***** Copy ไฟล์ทำงาน
Do Case 
Case !File(SourceExe+'.Exe') && Run กับ Source 
		***
Case !File(TargetExe+'.Exe') && ไม่มีแฟ้มสำรอง
	Do MessBEGIN With 1,'ExeRun','','Copy แฟ้มข้อมุลใหม่',' ... '
	Copy File (SourceExe+'.Exe') To (TargetExe+'.Exe')
	ExeProgRun=cfExeRun
Case File(SourceExe+'.Exe') .and. File(TargetExe+'.Exe')
	Do MessBEGIN With 1,'ExeRun','','Copy แฟ้มข้อมุลซ้ำ',' ... '
	FdSource=Dtos(FDate(SourceExe+'.Exe'))+Left(FTime(SourceExe+'.Exe'),5)
	FdTarget=Dtos(FDate(TargetExe+'.Exe'))+Left(FTime(TargetExe+'.Exe'),5)
	If FdSource<>FdTarget
		Copy File (SourceExe+'.Exe') To (TargetExe+'.Exe')
	Endif 
	ExeProgRun=cfExeRun
EndCase 
Do MessBEGIN With 0,'ExeRun','','',' ... '
Return 





Procedure MessBEGIN
Parameter WinRstatus,WinRName,m.WinShow1,m.WinShow2,m.WinShow3
WinRName = Alltrim(WinRName)
If Empty(WinRName)
	Return 
Endif 
Do Case 
 Case WinRstatus=0
	If Wexist(WinRName)
		Release Window (WinRName)
	Endif 
 Case WinRstatus=1
	If !Wexist(WinRName)
		DEFINE WINDOW (WinRName) AT  0.000, 0.000  ;
			SIZE 6.308,63.571 FONT "Tahoma", 8 STYLE "B" ;
			NOFLOAT NOCLOSE ;
			NOMINIMIZE NONE COLOR RGB(,,,255,255,0) 
		MOVE WINDOW (WinRName) CENTER
	Endif 
	Activate Window (WinRName) Noshow 
	@ 1.077,3.143 SAY 'โปรแกรมกำลังประมวลผล กรุณารอ....' ;
		SIZE 1.000,50.000 PICTURE "@TI" COLOR RGB(0,0,255,,,,)
	@ 2.077,3.143 SAY m.WinShow1 ;
		SIZE 1.000,49.714 PICTURE "@TI" COLOR RGB(255,0,255,,,,)
	@ 3.154,3.286 SAY m.WinShow2 ;
		SIZE 1.000,49.714 PICTURE "@TI" COLOR RGB(255,0,255,,,,)
	@ 4.308,3.286 SAY m.WinShow3 ;
		SIZE 1.000,49.714 PICTURE "@TI" COLOR RGB(255,0,255,,,,)
	Show Window (WinRName)
EndCase 	
Return 



Procedure Exit2BcUP  && สำหรับสำรองข้อมูลใน โปรแกรม เลย 
If Sys(5)+Sys(2003)='D:\BDPOS1'  && ข้อมูลตัวอย่าง ไม่ต้องทำ
	Return 
Endif 
If Sys(5)+Sys(2003)='D:\BDPOS2'  && ข้อมูลตัวอย่าง ไม่ต้องทำ
	Return 
Endif 
If Sys(5)+Sys(2003)<>'D:\BDPOS' 
	Return 
Endif 
If File('Nobackup.Hav') && ไม่ต้องเตือนการสำรองข้อมูล
	Return 
Endif 
If !File('Backup2c.Bat') && ไม่ต้องเตือนการสำรองข้อมูล
	Return 
Endif 
cTemp='\_Datanet\Transac.ZP'
If File(cTemp) 
	nTemp=0
	Do Case 
	Case Fdate(cTemp)+3<Date() && ไม่ได้สำรอง 3 วัน 
		nTemp=1
	EndCase 
	If nTemp=1 .and. Between(Left(Ftime(cTemp),2),'00','11')
		*** Run Backup2c.Bat
	Endif 
Else
	*** Run Backup2c.Bat
Endif 
Return 


*** แปลงวันที่เป็น DDMMYY
Function DT2DDMMYY
Parameter df2DDMMYY
Private cf2DDMMYY
cf2DDMMYY=Dtoc(df2DDMMYY)
cf2DDMMYY=Substr(cf2DDMMYY,1,2)+Substr(cf2DDMMYY,4,2)+Substr(cf2DDMMYY,9,2)
Return cf2DDMMYY











