Code archives/Miscellaneous/Masscopy (Mac)
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| Allows multiple files from multiple folders with a common extension, to be copied into one folder with a prefix and numbering system of your choice. | |||||
Import MaxGui.Drivers
SuperStrict
Const MaxFile%=2000' largest number of files that can be processed in one pass
Const Lz$="/"' note \ for windows build ------------- NB !!!!!!!!!!
Local Exten$=""' file extension of files searched for
Local Prefix$=""' prefix for written files
Local StNum$=""'start number as string of file sequence to be written
Local DesFold$=""' destination folder for saved files
Local Status%=0' Initial state for option response
' 0= initial settings pass on screen 1, 1= edit settings phase screen 1, 2=file select phase screen 2
'3=copy file screen 3, 4=do the copying
Local Tst1$=""
Local Temp1%=0 ; Local Temp2%=0'; Local Temp3%=0; Local Temp4%=0; Local Temp5%=0
Local FList:VarStore = New VarStore' generates folder index and file name storage
FList.Initilise' clears all vars to zero
'Local ScreenSize%=0
'Local GUIFont:TGuiFont
Temp1=DesktopWidth()
If Temp1<800 Then' check to see if screen size allows 800 by 600
Notify "Sorry screen sizes less than 800 by 600 "+Chr$(13)+"are not supported."
End' no support for less than 800 * 600
End If
'smaller fonts for PC larger for Mac
'GUIFont=LoadGuiFont( "Ariel",15) GUIFont=LoadGuiFont( "Ariel",10.8)
Local W2:TGadget = CreateWindow( "Mass Copy",10,10,798,598,,WINDOW_CENTER | WINDOW_TITLEBAR)
Local W2P1:TGadget= CreatePanel(5,5,250,150,W2,PANEL_RAISED)
Tst1="What type of file do you wish to copy"+Chr$(13)
Tst1=Tst1+"( A combination of 3 letters/numbers. )"
Local W2P1L1:Tgadget=CreateLabel(Tst1,5,5,240,35,W2P1,LABEL_CENTER)
Local W2P1Rad1:TGadget=CreateButton("From List",20,45,80,25, W2P1,BUTTON_RADIO)
Local W2P1Rad2:TGadget=CreateButton("Other",20,75,80,25, W2P1,BUTTON_RADIO)
Local W2P1Tf1:Tgadget=CreateTextField(118,75,90,25,W2P1)
Local W2P1L2:Tgadget=CreateLabel("*.",95,75,20,25,W2P1,LABEL_RIGHT)
SetButtonState(W2P1Rad1,True); DisableGadget(W2P1Tf1)
Local W2P1Cb1:TGadget=CreateComboBox(120,45,90,100,W2P1)
AddGadgetItem W2P1Cb1,"*.mp3"; AddGadgetItem W2P1Cb1,"*.wav"; AddGadgetItem W2P1Cb1,"*.jpg"
AddGadgetItem W2P1Cb1,"*.bmp"; AddGadgetItem W2P1Cb1,"*.gif"
Local W2P1But1:Tgadget=CreateButton("Continue",80,118,100,25,W2P1)
SelectGadgetItem(W2P1Cb1,0)
SetPanelColor(W2P1,255,255,200)
Local W2P2:TGadget= CreatePanel(261,5,276,150,W2,PANEL_RAISED)
Tst1="Select a prefix for the files you create" + Chr$(13) + "( Max Length = 12 )"
Local W2P2L1:Tgadget=CreateLabel(Tst1,5,5,256,35,W2P2,LABEL_CENTER)
Local W2P2Rad1:TGadget=CreateButton("From List",20,45,80,25, W2P2,BUTTON_RADIO)
Local W2P2Rad2:TGadget=CreateButton("Other",20,75,80,25, W2P2,BUTTON_RADIO)
Local W2P2Tf1:Tgadget=CreateTextField(116,75,135,25,W2P2)
Local W2P2L2:Tgadget=CreateLabel("-",253,77,10,25,W2P2,LABEL_LEFT)
SetButtonState(W2P2Rad1,True); DisableGadget(W2P2Tf1)
Local W2P2Cb1:TGadget=CreateComboBox(120,45,130,100,W2P2)
AddGadgetItem W2P2Cb1,"my-"; AddGadgetItem W2P2Cb1,"trk-"; AddGadgetItem W2P2Cb1,"mus-"
AddGadgetItem W2P2Cb1,"pic-"; AddGadgetItem W2P2Cb1,"img-"
Local W2P2But1:Tgadget=CreateButton("Continue",80,118,100,25,W2P2)
SelectGadgetItem(W2P2Cb1,1)
DisableGadget(W2P2)
Local W2P3:TGadget= CreatePanel(542,5,250,150,W2,PANEL_RAISED)
Tst1="Enter a start number for your new files" + Chr$(13) + "1 to 3000"
Local W2P3L1:Tgadget=CreateLabel(Tst1,5,5,240,35,W2P3,LABEL_CENTER)
Local W2P3Tf1:TGadget =CreateTextField(80,45,90,25,W2P3)
SetGadgetText(W2P3Tf1,"1")
Local W2P3But1:Tgadget=CreateButton("Continue",80,118,100,25,W2P3)
DisableGadget(W2P3)
'ChangeDir(lz+Lz+Lz)' ////to root
ChangeDir(Lz+Lz+Lz+"users")
'ChangeDir(".."+Lz+Lz)'up a level
'ChangeDir(".."+Lz+Lz+Lz)
Local W2P4:TGadget= CreatePanel(5,160,532,410,W2,PANEL_RAISED)
Local W2P4L1:Tgadget=CreateLabel("Select a folder to place your copies in.",5,4,240,20,W2P4,LABEL_CENTER)
Local W2P4But1:TGadget=CreateButton("Up A Level",5,23,250,30,W2P4,LABEL_CENTER)
Local W2P4Lb1:TGadget=CreateListBox(5,56,250,279,W2P4)
Folderview(CurrentDir(),W2P4Lb1,W2P4But1)
Local W2P4L2:Tgadget=CreateLabel("Files in selected folder.",274,30,250,20,W2P4,LABEL_CENTER)
Local W2P4Lb2:TGadget=CreateListBox(274,56,250,279,W2P4)
FileView(CurrentDir(),W2P4Lb2)
Local W2P4L3:Tgadget=CreateLabel("The files you create will be stored in :",5,342,400,18,W2P4)
Local W2P4Lb4:Tgadget=CreateListBox(5,365,520,35,W2P4)
DisableGadget(W2P4)
Local W2P5:TGadget= CreatePanel(542,160,250,410,W2,PANEL_RAISED)
Local W2P5L1:Tgadget=CreateLabel("Your Choices",5,4,240,18,W2P5,LABEL_CENTER)
Local W2P5L2:Tgadget=CreateLabel("Search pattern for files to be copied.",5,30,240,18,W2P5,LABEL_CENTER)
Local W2P5But1:Tgadget=CreateButton("Edit",10,51,80,28,W2P5)
Local W2P5L3:Tgadget=CreateLabel("Not Set",95,55,145,18,W2P5,LABEL_CENTER)
Local W2P5L5:Tgadget=CreateLabel("Prefix for the files to be created.",5,90,240,18,W2P5,LABEL_CENTER)
Local W2P5But2:Tgadget=CreateButton("Edit",10,111,80,28,W2P5)
Local W2P5L6:Tgadget=CreateLabel("Not Set",95,115,145,18,W2P5,LABEL_CENTER)
Local W2P5L7:Tgadget=CreateLabel("Start number for created files.",5,150,240,18,W2P5,LABEL_CENTER)
Local W2P5But3:Tgadget=CreateButton("Edit",10,171,80,28,W2P5)
Local W2P5L8:Tgadget=CreateLabel("Not Set",95,175,145,18,W2P5,LABEL_CENTER)
Tst1="Continue With"+Chr$(13)+"Current Settings."
Local W2P5But4:Tgadget=CreateButton(Tst1,65,245,120,60,W2P5)
DisableGadget(W2P5But1); DisableGadget(W2P5But2); DisableGadget(W2P5But3); DisableGadget(W2P5But4)
Local W2P5But5:Tgadget=CreateButton("Exit",10,375,100,30,W2P5)
Local W2P5But6:Tgadget=CreateButton("Help",140,375,100,30,W2P5)
Local W2P6:TGadget= CreatePanel(5,5,788,566,W2,PANEL_RAISED)' help panel
Local W2P6Tf1:TGadget = CreateTextArea(129,20,530,490,W2P6,TEXTAREA_READONLY)
Local W2P6But1:Tgadget=CreateButton("Return",344,530,100,30,W2P6)
SetPanelColor(W2P6,200,255,200)
HideGadget(W2P6)
Local W2P7:TGadget= CreatePanel(5,5,788,330,W2,PANEL_RAISED)
SetPanelColor(W2P7,255,255,200)
Local W2P7But1:TGadget=CreateButton("Folders - Up A Level",5,3,245,30,W2P7,LABEL_CENTER)
Local W2P7Lb1:TGadget=CreateListBox(5,35,245,230,W2P7)
Local W2P7L1:Tgadget=CreateLabel("Files in opened folder.",270,8,245,20,W2P7,LABEL_CENTER)
Local W2P7Lb2:TGadget=CreateListBox(270,35,245,230,W2P7)
Local W2P7L2:Tgadget=CreateLabel("0 Files selected for copy list",535,8,245,20,W2P7,LABEL_CENTER)
Local W2P7Lb3:TGadget=CreateListBox(535,35,245,190,W2P7)
Local W2P7But5:Tgadget=CreateButton("Remove File From Copy list",555,230,200,25,W2P7)
Local W2P7But2:Tgadget=CreateButton("Select All",535,266,100,25,W2P7)
Local W2P7But3:Tgadget=CreateButton("Clear All",670,266,100,25,W2P7)
Local W2P7But4:Tgadget=CreateButton("Add Files To Copy List",555,301,200,25,W2P7)
DisableGadget(W2P7But5)
Local W2P7L3:Tgadget=CreateLabel("You are viewing files in the folder :",5,270,400,18,W2P7)
Local W2P7Lb4:Tgadget=CreateListBox(5,290,510,34,W2P7)
HideGadget(W2P7)
Local W2P8:TGadget= CreatePanel(5,339,788,233,W2,PANEL_RAISED)
SetPanelColor(W2P8,255,255,200)
Tst1="Click on a folder shown below to see the files you have selected for copying."
Local W2P8L1:Tgadget=CreateLabel(Tst1,5,2,510,18,W2P8)
Local W2P8Lb1:TGadget=CreateListBox(5,25,510,200,W2P8)
Local W2P8L2:Tgadget=CreateLabel("File Count = 0",590,23,125,18,W2P8,LABEL_CENTER)
SetGadgetColor(W2P8L2,200,255,200)
Tst1="Ready To Copy"+Chr$(13)+"The Files."
Local W2P8But3:Tgadget=CreateButton(Tst1,578,84,150,60,W2P8)
Local W2P8But1:Tgadget=CreateButton("Exit",540,190,100,30,W2P8)
Local W2P8But2:Tgadget=CreateButton("Help",665,190,100,30,W2P8)
HideGadget(W2P8)
Local W2P9:TGadget= CreatePanel(5,5,788,567,W2,PANEL_RAISED)'help screen
Local W2P9L1:Tgadget=CreateLabel("Files selected For copying",5,2,778,18,W2P9,LABEL_CENTER)
Local W2P9Lb2:TGadget=CreateListBox(5,25,776,55,W2P9)
Local W2P9Lb1:TGadget=CreateListBox(60,88,656,442,W2P9)
Local W2P9But1:Tgadget=CreateButton("Return",339,535,100,30,W2P9)
HideGadget(W2P9)
Local W2P10:TGadget= CreatePanel(5,5,788,260,W2,PANEL_RAISED)
SetPanelColor(W2P10,255,255,200)
Local W2P10L1:Tgadget=CreateLabel("Options",294,2,200,18,W2P10,LABEL_CENTER)
Tst1="If options are not avaliable then these files must allready exsist in the destination folder."+Chr$(13)
Tst1=Tst1+"Delete the files then click 'Check Folder' to enable the options."
Local W2P10L2:Tgadget=CreateLabel(Tst1,50,25,688,36,W2P10,LABEL_CENTER)
Tst1="Create file 'alist.txt', a text file containing the old/new"
Tst1=tst1+" file names of the files copied."
Local W2P10Chk1:TGadget=CreateButton(Tst1,50,80,688,30,W2P10,BUTTON_CHECKBOX)
Tst1="Create file 'acdt.txt', a comma deliniated text file listing the old/new"
Tst1=tst1+" file names suitable for a spreadsheet etc."
Local W2P10Chk2:TGadget=CreateButton(Tst1,50,120,688,30,W2P10,BUTTON_CHECKBOX)
Tst1="Create file 'anerror.txt', a text file listing all the failed attemps to copy"
Tst1=tst1+" files, or an empty file if no errors."
Local W2P10Chk3:TGadget=CreateButton(Tst1,50,160,688,30,W2P10,BUTTON_CHECKBOX)
Local W2P10But1:Tgadget=CreateButton("Check Folder",294,220,200,30,W2P10)
HideGadget(W2P10)
Local W2P11:TGadget= CreatePanel(5,270,788,300,W2,PANEL_RAISED)
SetPanelColor(W2P11,255,255,200)
Local W2P11L1:Tgadget=CreateLabel("",5,5,400,18,W2P11)' number of files to be created
Local W2P11Lb1:Tgadget=CreateListBox(5,30,776,35,W2P11)
Local W2P11L2:Tgadget=CreateLabel("The first file name generated will be :",5,75,400,18,W2P11)
Local W2P11L3:Tgadget=CreateLabel("",5,100,776,18,W2P11)' file name generated
SetGadgetColor(W2P11l3,255,255,255)
Local W2P11L4:Tgadget=CreateLabel("",269,140,240,18,W2P11,LABEL_CENTER)' number of files to copy
Local W2P11Pb1:TGadget=CreateProgBar(289,170,200,20,W2P11)
Local W2P11But1:Tgadget=CreateButton("Copy Selected Files",289,200,200,30,W2P11)
Local W2P11But2:Tgadget=CreateButton("Exit",5,265,100,30,W2P11)
Local W2P11But3:Tgadget=CreateButton("Return To Select Files",289,265,200,30,W2P11)
Local W2P11But4:Tgadget=CreateButton("Help",682,265,100,30,W2P11)
HideGadget(W2P11)
Local W2P12:TGadget= CreatePanel(105,150,588,150,W2,PANEL_RAISED)' final screen
SetPanelColor(W2P12,200,255,200)
Local W2P12L1:Tgadget=CreateLabel("",44,10,500,18,W2P12,LABEL_CENTER)' final screen number of files created
Local W2P12Lb1:Tgadget=CreateListBox(44,35,500,35,W2P12)' list box to show were the files have ben put
Local W2P12L2:Tgadget=CreateLabel("Enjoy Your Day...",44,80,500,18,W2P12,LABEL_CENTER)
Local W2P12But1:Tgadget=CreateButton("Exit",246,105,100,30,W2P12)
HideGadget(W2P12)
'------------------------ Start of main loop-------------------------
Repeat
'Delay 10
PollEvent
Select EventID()
Case EVENT_WINDOWCLOSE
EndIt()
Case EVENT_GADGETSELECT
Select EventSource()
Case W2P4Lb1' folder select for destination folder
Temp1=EventData()
If Temp1<>-1 Then 'something selected
Tst1=GadgetItemText(W2P4Lb1,SelectedGadgetItem(W2P4Lb1))
ChangeDir(FullPath(CurrentDir(),Tst1))
FolderView(CurrentDir(),W2P4Lb1,W2P4But1)
FileView(CurrentDir(),W2P4Lb2)
ClearGadgetItems(W2P4Lb4)
AddGadgetItem(W2P4Lb4,CurrentDir())
End If
Case W2P7Lb1' folder select during select files for copying
Temp1=EventData()
If Temp1<>-1 Then 'something selected
Tst1=GadgetItemText(W2P7Lb1,SelectedGadgetItem(W2P7Lb1))
ChangeDir(FullPath(CurrentDir(),Tst1))
ClearGadgetItems(W2P7Lb3)
DisableGadget(W2P7But5)
FolderView(CurrentDir(),W2P7Lb1,W2P7But1)
FileView2(CurrentDir(),W2P7Lb2,Exten)
ClearGadgetItems(W2P7Lb4)
AddGadgetItem(W2P7Lb4,CurrentDir())
SetGadgetText(W2P7L2,"0 Files selected for copy list")
End If
Case W2P7Lb2' file select during select files for copying
Temp1=EventData()
If Temp1<>-1 Then 'something selected
Tst1=GadgetItemText(W2P7Lb2,SelectedGadgetItem(W2P7Lb2))
SelFile(Tst1,W2P7Lb3)' put file in list if not repeated
SetGadgetText(W2P7L2,String(CountGadgetItems(W2P7Lb3))+" Files selected for copy list")
End If
Case W2P8Lb1' show files in copy list for selected folder
Temp1=EventData()
If Temp1<>-1 Then 'something selected
Tst1=GadgetItemText(W2P8Lb1,SelectedGadgetItem(W2P8Lb1))
HideGadget(W2P7); HideGadget(W2P8)
ClearGadgetItems(W2P9Lb2)
AddGadgetItem(W2P9Lb2,"From Folder : "+ Tst1)
AddGadgetItem(W2P9Lb2,"To Folder : "+ DesFold)
FList.ShowCFiles(W2P9Lb1,Temp1)
ShowGadget(W2P9)
End If
Case W2P7Lb3' select a file for removal from file copy list
Temp1=EventData()
If Temp1<>-1 Then 'something selected
EnableGadget(W2P7But5)' enables delete button
End If
End Select
Case EVENT_GADGETACTION
Select EventSource()
Case W2P1Rad1'File extension choice
SetGadgetText(W2P1Tf1,""); DisableGadget(W2P1Tf1); EnableGadget(W2P1Cb1)
Case W2P1Rad2' file extension other
DisableGadget(W2P1Cb1); EnableGadget(W2P1Tf1); ActivateGadget(W2P1Tf1)
Case W2P1Tf1' extension input
SetGadgetText(W2P1Tf1,CheckNameLength$(3,GadgetText(W2P1Tf1)))
Case W2P2Rad1' prefix choice
SetGadgetText(W2P2Tf1,""); DisableGadget(W2P2Tf1); EnableGadget(W2P2Cb1)
Case W2P2Rad2'prefix other
DisableGadget(W2P2Cb1); EnableGadget(W2P2Tf1); ActivateGadget(W2P2Tf1)
Case W2P2Tf1' prefix input
SetGadgetText(W2P2Tf1,CheckNameLength$(12,GadgetText(W2P2Tf1)))
Case W2P3Tf1' start number input
SetGadgetText(W2P3Tf1,CheckNameLength$(4,GadgetText(W2P3Tf1)))
Case W2P1But1' continue after selecting file extension
If ButtonState(W2P1Rad1)=True Then' extension from list
Exten=GadgetItemText(W2P1Cb1,SelectedGadgetItem(W2P1Cb1))
DisableGadget(W2P1); SetPanelColor(W2P1,200,255,200)
SetGadgetText(W2P5L3,Exten); SetGadgetColor(W2P5L3,200,255,200)
If Status=0 Then' first pass
EnableGadget(W2P2); SetPanelColor(W2P2,255,255,200)
Else
If AllOk(W2P5L3,W2P5L6,W2P5L8)=1 Then EnableGadget(W2P5But4)
End If
Else' other extension
If Len(GadgetText(W2P1Tf1))<3 Then
Notify "Extensions must have 3 letters/numbers and no spaces."
SetGadgetText(W2P1Tf1,""); ActivateGadget(W2P1Tf1)
Else'other input OK
If CheckText(GadgetText(W2P1Tf1))<>0 Then' Input error
Notify "Extensions must have 3 letters/numbers and no spaces."
SetGadgetText(W2P1Tf1,""); ActivateGadget(W2P1Tf1)
Else' input OK
Exten="*."+GadgetText(W2P1Tf1)
DisableGadget(W2P1); SetPanelColor(W2P1,200,255,200)
SetGadgetText(W2P5L3,Exten); SetGadgetColor(W2P5L3,200,255,200)
If Status=0 Then' first pass
EnableGadget(W2P2); SetPanelColor(W2P2,255,255,200)
Else
If AllOk(W2P5L3,W2P5L6,W2P5L8)=1 Then EnableGadget(W2P5But4)
End If
End If
End If
End If
Case W2P2But1' continue after selecting prefix
If ButtonState(W2P2Rad1)=True Then' prefix from list
Prefix=GadgetItemText(W2P2Cb1,SelectedGadgetItem(W2P2Cb1))
DisableGadget(W2P2); SetPanelColor(W2P2,200,255,200)
SetGadgetText(W2P5L6,Prefix); SetGadgetColor(W2P5L6,200,255,200)
If Status=0 Then
EnableGadget(W2P3); SetPanelColor(W2P3,255,255,200)
Else
If AllOk(W2P5L3,W2P5L6,W2P5L8)=1 Then EnableGadget(W2P5But4)
End If
Else' other pefix
If Len(GadgetText(W2P2Tf1))<1 Then'input error
Notify "Prefix must have at least one letter/number and no spaces."
SetGadgetText(W2P2Tf1,""); ActivateGadget(W2P2Tf1)
Else'other input OK
If CheckText(GadgetText(W2P2Tf1))<>0 Then 'input error
Notify "Prefix must have at least one letter/number and no spaces."
SetGadgetText(W2P2Tf1,""); ActivateGadget(W2P2Tf1)
Else' input ok
Prefix=GadgetText(W2P2Tf1)+"-"
DisableGadget(W2P2); SetPanelColor(W2P2,200,255,200)
SetGadgetText(W2P5L6,Prefix); SetGadgetColor(W2P5L6,200,255,200)
If status=0 Then
EnableGadget(W2P3); SetPanelColor(W2P3,255,255,200)
Else
If AllOk(W2P5L3,W2P5L6,W2P5L8)=1 Then EnableGadget(W2P5But4)
End If
End If
End If
End If
Case W2P3But1' continue after selecting start number
Temp1=Int(GadgetText(W2P3Tf1))
If Temp1<1 Or Temp1>3000 Then' invalid number
Notify "Please enter a number between 1 and 3000."
SetGadgetText(W2P3Tf1,"1"); ActivateGadget(W2P3Tf1)
Else'valid number
StNum=GadgetText(W2P3Tf1)
DisableGadget(W2P3); SetPanelColor(W2P3,200,255,200)
SetGadgetText(W2P5L8,StNum); SetGadgetColor(W2P5L8,200,255,200)
If status=0 Then
EnableGadget(W2P4); SetPanelColor(W2P4,255,255,200)'; SetGadgetColor(W2P4L4,200,255,200)
SetPanelColor(W2P5,255,255,200); EnableGadget(W2P5But1);
EnableGadget(W2P5But2);EnableGadget(W2P5But3); EnableGadget(W2P5But4)
Status=1
Else
If AllOk(W2P5L3,W2P5L6,W2P5L8)=1 Then EnableGadget(W2P5But4)
End If
End If
Case W2P4But1'up a level during destination folder select
Tst1=UpDir(CurrentDir())
ChangeDir(Tst1)
FolderView(CurrentDir(),W2P4Lb1,W2P4But1)
FileView(CurrentDir(),W2P4Lb2)
ClearGadgetItems(W2P4Lb4)
AddGadgetItem(W2P4Lb4,CurrentDir())
Case W2P5But1' edit file extension choice
SetGadgetText(W2P5L3,""); SetGadgetColor(W2P5L3,255,255,255)
EnableGadget(W2P1); SetPanelColor(W2P1,255,255,200); DisableGadget(W2P5But4)
If ButtonState(W2P1Rad2)=True Then
SetGadgetText(W2P1Tf1,""); ActivateGadget(W2P1Tf1)
End If
Case W2P5But2' edit prefix choice
SetGadgetText(W2P5L6,""); SetGadgetColor(W2P5L6,255,255,255)
EnableGadget(W2P2); SetPanelColor(W2P2,255,255,200); DisableGadget(W2P5But4)
If ButtonState(W2P2Rad2)=True Then
SetGadgetText(W2P2Tf1,""); ActivateGadget(W2P2Tf1)
End If
Case W2P5But3' edit start number
SetGadgetText(W2P5L8,""); SetGadgetColor(W2P5L8,255,255,255)
EnableGadget(W2P3); SetPanelColor(W2P3,255,255,200); DisableGadget(W2P5But4)
SetGadgetText(W2P3Tf1,"1"); ActivateGadget(W2P3Tf1)
Case W2P5But4 ' continue to file select screen
Desfold=CurrentDir()+Lz
'Print DesFold ' storage for destination folder name
HideGadget(W2P1); HideGadget(W2P2); HideGadget(W2P3)
HideGadget(W2P4); HideGadget(W2P5); Status=2
'ChangeDir(Lz+Lz+Lz)' to root
ChangeDir(Lz+Lz+Lz+"users"); Folderview(CurrentDir(),W2P7Lb1,W2P7But1)
FileView2(CurrentDir(),W2P7Lb2,Exten)
ClearGadgetItems(W2P7Lb4)
AddGadgetItem(W2P7Lb4,CurrentDir())
ClearGadgetItems(W2P7Lb3)
SetGadgetText(W2P7L1,Right$(Exten,4)+" files in opened folder.")
ShowGadget(W2P7); ShowGadget(W2P8)
Case W2P5But5' exit
Endit()
Case W2P5But6' screen 1 help
HideGadget(W2P1); HideGadget(W2P2); HideGadget(W2P3)
HideGadget(W2P4); HideGadget(W2P5); ShowGadget(W2P6)
HelpScreen(1,W2P6Tf1)' display screen 1 help
Case W2P6But1' return from help screen
If Status<2 Then' return to screen 1
HideGadget(W2P6); ShowGadget(W2P1); ShowGadget(W2P2)
ShowGadget(W2P3); ShowGadget(W2P4); ShowGadget(W2P5)
Else If Status=2 Then 'return to screen 2
HideGadget(W2P6); ShowGadget(W2P7); ShowGadget(W2P8)
Else' status = 3 return to screen 3
HideGadget(W2P6)
ShowGadget(W2P10); ShowGadget(W2P11)
End If
Case W2P7But1'up a level during files to copy select
Tst1=UpDir(CurrentDir())
ChangeDir(Tst1); ClearGadgetItems(W2P7Lb3)
FolderView(CurrentDir(),W2P7Lb1,W2P7But1)
FileView2(CurrentDir(),W2P7Lb2,Exten)
ClearGadgetItems(W2P7Lb4)
AddGadgetItem(W2P7Lb4,CurrentDir())
SetGadgetText(W2P7L2,"0 Files selected for copy list")
Case W2P7But2' select all files in current folder for copying
ClearGadgetItems(W2P7Lb3)
DisableGadget(W2P7But5)
Temp1=CountGadgetItems(W2P7Lb2)
If Temp1<>0 Then
temp1=temp1-1
For temp2=0 To temp1
AddGadgetItem(W2P7Lb3,GadgetItemText$(W2P7Lb2,temp2 ))
Next
SetGadgetText(W2P7L2,String(CountGadgetItems(W2P7Lb3))+" Files selected for copy list")
End If
Case W2P7But3' clear all files for copying from list
ClearGadgetItems(W2P7Lb3)
DisableGadget(W2P7But5)
SetGadgetText(W2P7L2,"0 Files selected for copy list")
Case W2P7But4' add selected files to copy list
Temp1=CountGadgetItems(W2P7Lb3) ' see if any files have been selected
If Temp1=0 Then
Notify "You have not selected any files for copying."
Else' some files have been selected
If FList.GetFcount()+Temp1>MaxFile Then
Notify "You have selected more than "+MaxFile+" files for copying."
Else' less than 2000 files to copy add these files to the copy list
FList.SetFNames(W2P7Lb3); ClearGadgetItems(W2P7Lb3)
FList.SetFold(W2P8Lb1,CurrentDir())
SetGadgetText(W2P8L2,"File Count = "+FList.GetFCount())
SetGadgetText(W2P7L2,"0 Files selected for copy list")
DisableGadget(W2P7But5)
End If
End If
Case W2P7But5' deleat selected file from copy list
DelCFile(W2P7Lb3)' delete file from list function
DisableGadget(W2P7But5)
SetGadgetText(W2P7L2,String(CountGadgetItems(W2P7Lb3))+" Files selected for copy list")
Case W2P8But1' exit from select files screen
EndIt()
Case W2P8But2' help from select files screen screen 2
HideGadget(W2P7); HideGadget(W2P8); ShowGadget(W2P6)
HelpScreen(2,W2P6Tf1)' display screen 2 help
Case W2P9But1' return from viewing files in files to copy list
HideGadget(W2P9); ShowGadget(W2P7); ShowGadget(W2P8)
ToggleGadgetItem(W2P8Lb1,SelectedGadgetItem(W2P8Lb1))
Case W2P8But3' ready to copy the files
If Flist.GetFCount()>0 Then' some file to copy
HideGadget(W2P7); HideGadget(W2P8); Status=3
Tst1="The " + String(FList.GetFCount()) + " files you create will be stored in :"
SetGadgetText(W2P11L1,Tst1); ClearGadgetItems(W2P11Lb1)
AddGadgetItem(W2P11Lb1,DesFold)
Tst1=Prefix+StNum+Right$(Exten,4); SetGadgetText(W2P11L3,Tst1)
Tst1="Ready to Copy "+String(Flist.GetFCount())+" Files."; SetGadgetText(W2P11L4,Tst1)
SetButtonState(W2P10Chk1,False); SetButtonState(W2P10Chk2,False)
SetButtonState(W2P10Chk3,False)
ChkFiles(W2P10Chk1,W2P10Chk2,W2P10Chk3,DesFold)
ShowGadget(W2P10);ShowGadget(W2P11)
Else' no files for copying
Notify "You have not selected ay files for copying."
End If
Case W2P10But1'enable/disable check buttons if files/don't exsist in destination folder
ChkFiles(W2P10Chk1,W2P10Chk2,W2P10Chk3,DesFold)
Case W2P11But1' copy the files
DisableGadget(W2P10); DisableGadget(W2P11But1); DisableGadget(W2P11But2)
DisableGadget(W2P11But3); DisableGadget(W2P11But4)
Tst1="Please wait. Copying "+String(Flist.GetFCount())+" Files."
SetGadgetText(W2P11L4,Tst1)
RedrawGadget(W2)
Temp1=0 ' set var for text files created during copy procedure
If ButtonState(W2P10Chk1)<>0 Then Temp1=Temp1+1
If ButtonState(W2P10Chk2)<>0 Then Temp1=Temp1+2
If ButtonState(W2P10Chk3)<>0 Then Temp1=Temp1+4
FList.Init2(Exten,Prefix,StNum,DesFold,Temp1)' sets vars in FList
Temp1=CountGadgetItems(W2P8Lb1); Temp1=Temp1-1
For Temp2=0 To Temp1
Tst1=GadgetItemText(W2P8Lb1,Temp2)
FList.DoCopy(Tst1,Temp2,W2P11Pb1)' send origin folder name and index, and progbar label
Next
HideGadget(W2P10); HideGadget(W2P11); ShowGadget(W2P12)
Tst1="You Have Copied "+String(Flist.GetFCount())+" Files To :"; SetGadgetText(W2P12L1,Tst1)
AddGadgetItem(W2P12Lb1,DesFold)
Case W2P11But2' exit from copy files screen
EndIt()
Case W2P11But3' return to select files to copy screen
HideGadget(W2P10); HideGadget(W2P11); Status=2
ShowGadget(W2P7); ShowGadget(W2P8)
Case W2P11But4' help for copy files screen 3
HideGadget(W2P10); HideGadget(W2P11); ShowGadget(W2P6)
HelpScreen(3,W2P6Tf1)' display screen 3 help
Case W2P12But1' exit from final screen
EndIt()
End Select
End Select
Forever
'------------------------ End of Main Loop-------------------------
Function EndIt()'common exit point
Select Confirm("Are you sure you want to quit?")
Case 1
End
Case 0
Return
End Select
End Function
Function ChkFiles(Tv1:Tgadget,Tv2:Tgadget,Tv3:Tgadget,Ts1$)' ids for the 3 check buttonsand destination folder
If FileType(Ts1+"alist.txt")=0 Then EnableGadget(Tv1) Else DisableGadget(Tv1)
If FileType(Ts1+"alist.cdt")=0 Then EnableGadget(Tv2) Else DisableGadget(Tv2)
If FileType(Ts1+"anerror.txt")=0 Then EnableGadget(Tv3) Else DisableGadget(Tv3)
End Function
Function UpDir$(Dir$)' returns directory path up one level, dir = current directory
Local Tx1%=0; Local Ts1$=""; Local Ts2$=""
If Dir=Lz Then' at the root
Ts2=Dir
Else
Ts2=Dir; Tx1=1
If Instr(Dir,Lz)<>0 Then'folder separator
Repeat
Ts1=Right$(Ts2,Tx1)
If Instr(Ts1,Lz) Then' found folder name plus \
Ts2=Lz
Else
Tx1=Tx1+1
End If
Until Ts2=Lz
Ts2=Left$(Dir,(Len(Dir)-Tx1))
If Ts2="" Then Ts2=Lz
Else' must be at root
' should never get hear
Notify " I've made a programing error in 'UpDir()' opps!!!"
End If
End If
Return Ts2
End Function
Function FullPath$(Dir$,Ts1$)
Local Ts2$=""
Ts2 = RealPath(Dir+Lz+Ts1)
Return Ts2
End Function
Function FolderView(Dir$,Tv:TGadget,Bv:TGadget)
Local Tx1%=0; Local Ts1$=""; Local FP$=""
ClearGadgetItems(Tv)
Tx1=ReadDir(Dir)
If Dir=Lz Then
DisableGadget(Bv)
Else
EnableGadget(Bv)
End If
Repeat
Ts1=NextFile(Tx1)
FP = RealPath(Dir+Lz+Ts1)
If Instr(Ts1,".")<>0 Or Ts1=Null Then
'don't show these items
Else' show these item
If FP<>"" Then
If FileType(FP)=2 Then AddGadgetItem(TV,Ts1)
End If
End If
Until Ts1 = Null
End Function
Function FileView(Dir$,Tv:Tgadget)
Local Tx1%=0; Local Ts1$=""; Local FP$=""
Tx1=ReadDir(Dir)
ClearGadgetItems(TV)
Repeat
Ts1=NextFile(Tx1)
If Left$(Ts1,1)<>"." Then
FP = RealPath(Dir+Lz+Ts1)
If FP<>"" Then
If FileType(FP)=1 Then AddGadgetItem(TV,Ts1)
End If
End If
Until Ts1=Null
End Function
Function FileView2(Dir$,Tv:Tgadget,Ts3$)' search directory, gadget list for display, extension. ie '*.mp3'
Local Tx1%=0; Local Ts1$=""; Local Ts2$=""
Tx1=ReadDir(Dir)
ClearGadgetItems(TV)
Repeat
Ts1=NextFile(Tx1)
Ts2=Right$(Ts1,4)
If Ts2=Right$(Ts3,4) Then AddGadgetItem(TV,Ts1)' file has selected extension
Until Ts1=Null
End Function
Function SelFile(Ts1$,Tv:Tgadget)' Ts1=filename selected, Tv=list box to display in
Local Tx1%=0; Local Tx2%=0; Local Tx3%=0; Local Ts2$=""
Tx1=CountGadgetItems(Tv)
If Tx1=0 Then
AddGadgetItem(Tv,Ts1)
Else If Tx1>0 Then' some items in list
Tx1=Tx1-1
For Tx2= 0 To Tx1
If Ts1=GadgetItemText$(Tv,Tx2 ) Then Tx3=1
Next
If Tx3=0 Then AddGadgetItem(Tv,Ts1)
End If
End Function
Function DelCFile(Tv:Tgadget)'removes seleted file name from the copy list
Local Tx1%=0
Tx1=SelectedGadgetItem(Tv)
If Tx1<>-1 Then 'something selected
RemoveGadgetItem(Tv,Tx1)
End If
Tx1=SelectedGadgetItem(Tv)
If Tx1<>-1 Then DeselectGadgetItem(Tv,Tx1)
End Function
Function CheckText%(Ts4$)' only allow a-z, A-Z, 0 to 9
Local Ts1$=Ts4
Local Tx1%=Len(Ts1)-1
Local Tx2%=0; Local Tx3%=0; Local Tx4%=0
Local Ts2$=""; Local Ts3$=""
If Tx1>-1 Then
For Tx2=0 To Tx1
Tx3=Tx2+1; Ts2=Ts1[Tx2..Tx3]
If (Asc(Ts2)>64) And (Asc(Ts2)<91) Then'A..Z
Ts3=Ts3+Ts2
Else If (Asc(Ts2)>96) And (Asc(Ts2)<123) Then'a..z
Ts3=Ts3+Ts2
Else If (Asc(Ts2)>47) And (Asc(Ts2)<58) Then'0..9
Ts3=Ts3+Ts2
Else
Ts3=Ts3+Ts2
Tx4=1
End If
Next
End If
Return Tx4
End Function
Function CheckNameLength$(Tx1%,Ts2$) 'keeps name input Ts2 to Tx1 length max
Local Ts1$=Ts2
If Len(Ts1)>Tx1 Then
Ts1=Ts1[0..Tx1]
End If
Return Ts1
End Function
Function AllOk%(Tg1:Tgadget,Tg2:Tgadget,Tg3:Tgadget)' check to see if all vars set before enabling 'continue'
Local Tx1%=1
If GadgetText(Tg1)="" Or GadgetText(Tg2)="" Or GadgetText(Tg3)="" Then Tx1=0
Return Tx1 ' return 0 if any vars not set
End Function
Function HelpScreen(Tx1%,Tf:Tgadget)' text for help screen
Local S1$=Chr$(13); SetTextAreaText(Tf,"")
If Tx1=1 Then' help screen 1
AddTextAreaText(Tf," Program Help - Screen One."+S1+S1)
FormatTextAreaText( Tf,0,180,0,TEXTFORMAT_UNDERLINE,23,TEXTAREA_ALL,TEXTAREA_CHARS )
AddTextAreaText(Tf,"Hint : Create a folder for your copies before starting !"+S1+S1)
AddTextAreaText(Tf,"This program is designed to copy multiple files from multiple areas into a single folder and"+S1)
AddTextAreaText(Tf,"a name sequence of your choice."+S1+S1)
AddTextAreaText(Tf,"First (top left) you will be asked to select the file extension of the file type you want to"+S1)
AddTextAreaText(Tf,"copy, click 'Continue' when you have made your selection."+S1+S1)
AddTextAreaText(Tf,"You can then select a prefix for the files you want to create. After clicking 'Continue' you can"+S1)
AddTextAreaText(Tf,"provide a start number for the files you are going to create. Click 'Continue' again to activate"+S1)
AddTextAreaText(Tf,"the folder selection area (bottom left) to choose the folder to place your copied files into."+S1+S1)
AddTextAreaText(Tf,"You can change any of your choices by clicking the appropriate 'Edit' button."+S1)
AddTextAreaText(Tf,"At the second screen you select the files for copying, another help screen is provided."+S1+S1)
AddTextAreaText(Tf,"As an example :"+S1)
AddTextAreaText(Tf,"You select *.wav as a file extension, 'mus-' as a prefix and 120 as a start number."+S1)
AddTextAreaText(Tf,"You choose to place the copied files into \users\me\music."+S1)
AddTextAreaText(Tf,"You choose to copy 'fred1.wav' , 'gojo73.wav' and 'somemusic.wav'"+S1+S1)
AddTextAreaText(Tf,"With these choices the following files will be created in '\users\me\music'."+S1)
AddTextAreaText(Tf,"A copy of 'fred1.wav' named 'mus-120.wav'"+S1)
AddTextAreaText(Tf,"A copy of 'gojo73.wav' named 'mus-121.wav'"+S1)
AddTextAreaText(Tf,"A copy of 'somemusic.wav' named 'mus-122.wav'"+S1+S1)
AddTextAreaText(Tf,"When you have made your selections click 'Continue with current settings' to get to the file"+S1)
AddTextAreaText(Tf,"selection screen.")
Else If Tx1=2 Then 'help for screen 2 file select screen
AddTextAreaText(Tf," Program Help - Screen Two."+S1+S1)
FormatTextAreaText( Tf,0,180,0,TEXTFORMAT_UNDERLINE,23,TEXTAREA_ALL,TEXTAREA_CHARS )
AddTextAreaText(Tf,"Select the folder from the top left list, containing the files you wish to copy."+S1)
AddTextAreaText(Tf,"The files with the extension you previously specified will be shown in the top centre list."+S1+S1)
AddTextAreaText(Tf,"Select a file by clicking the file name, or all files using the 'Select All' option."+S1)
AddTextAreaText(Tf,"You can click on a file in the top right hand list and the use the 'Remove File From Copy list'"+S1)
AddTextAreaText(Tf,"option to remove this file from the list, or the 'Clear All' option to clear the list."+S1)
AddTextAreaText(Tf,"Once you have a list of all the files you want to copy from a folder, click the"+S1)
AddTextAreaText(Tf,"'Add Files To Copy List' option."+S1+S1)
AddTextAreaText(Tf,"The list at the base of the screen will show the folders that have files in that you have"+S1)
AddTextAreaText(Tf,"selected for copying. You can review the files to be copied from each folder by clicking the"+S1)
AddTextAreaText(Tf,"appropriate folder name."+S1+S1)
AddTextAreaText(Tf,"The program will show a running total of the files selected for copying, when you have selected"+S1)
AddTextAreaText(Tf,"all the files you wish to copy click the 'Ready To Copy The Files.' option"+S1+S1)
AddTextAreaText(Tf,"The maximum number of files that can be copied in one pass is "+MaxFile+".")
Else' Tx1=3 ready for copying screen 3
AddTextAreaText(Tf," Program Help - Screen Three."+S1+S1)
FormatTextAreaText( Tf,0,180,0,TEXTFORMAT_UNDERLINE,23,TEXTAREA_ALL,TEXTAREA_CHARS )
AddTextAreaText(Tf,"The top half of the screen offers offers three options."+S1+S1)
AddTextAreaText(Tf,"OPTION create alist.txt : Generates a text file 'alist.txt' in your selected destination folder"+S1)
AddTextAreaText(Tf,"that contains. The name of the destination folder. The name of the original folder and file."+S1)
AddTextAreaText(Tf,"And the new name for the file you have created. "+S1+S1)
AddTextAreaText(Tf,"OPTION create acdt.txt : Generates a text file 'acdt.txt' in your selected destination folder"+S1)
AddTextAreaText(Tf,"that contains. The original file name and the new file name seperated by a comma."+S1)
AddTextAreaText(Tf,"This can be imported into a spreadsheet or database using the comma deliniated text setting."+S1+S1)
AddTextAreaText(Tf,"OPTION create anerror.txt : Generates a text file 'anerror.txt' in your selected destination folder"+S1)
AddTextAreaText(Tf,"that contains. All the failed attemps to copy a file or an empty file if no errors occured."+S1+S1)
AddTextAreaText(Tf,"If an option is not avaliable then the file must allready exsist in the destination folder."+S1)
AddTextAreaText(Tf,"To generate the file go to the destination folder and delete the appropriate file, then click"+S1)
AddTextAreaText(Tf,"the 'Check Folder' option. The option will now be avaliable."+S1+S1)
AddTextAreaText(Tf,"The lower panel shows the name of the destination folder, the name of the first new file to be"+S1)
AddTextAreaText(Tf,"created and the total number of files to be copied."+S1)
AddTextAreaText(Tf,"You can return to the file select screen by clicking the 'Return To Select Files' option."+S1+S1)
AddTextAreaText(Tf,"Clicking the 'Copy Selected Files' option starts the copying process."+S1)
AddTextAreaText(Tf,"Progress is indicated by the progress bar shown, the program will let you know when"+S1)
AddTextAreaText(Tf,"the copying has been compleated."+S1+S1)
AddTextAreaText(Tf,"NB.. The program has been writen so as to prevent overwriting of files. If a file with the"+S1)
AddTextAreaText(Tf,"same name as the one being created allready exsists in the destination folder it will not"+S1)
AddTextAreaText(Tf,"generate a copy."+S1+S1)
AddTextAreaText(Tf,"It is a good idea to start with an empty destination older.... Have Fun !")
End If
End Function
'---------------- start of Types --------------------------
Type VarStore' store for folder index and file names to be copied
Field FNum%[MaxFile]' array for holding next avaliable index for folder names in list box (0 to maxfile-1)
Field FName$[MaxFile]' array for file names to be copied (0 to maxfile-1)
Field Exten$=""; Field Prefix$=""; Field DesFold$=""
Field PTxt:Byte=0; Field PCdt:Byte=0; Field PErr:Byte=0
Field MyFile1:TStream; Field MyFile2:TStream; Field MyFile3:TStream
Field StNum%=0
Field FCount% ' number of files selected for copying
Field PBarCount%=0' actual number of files copied only used by the progress bar
Field FCBig:Float=0.0'base number only used by progress bar
Method Initilise()'set initial vars
Local Tx1%=0
For Tx1=0 To MaxFile-1
FNum[Tx1]=0; Fname[Tx1]=""
Next
SetFCount(0)
End Method
Method Init2(Ts1$,Ts2$,Ts3$,Ts4$,Tx1%)' sets Exten,Prefix,StNum,DesFold vars, Tx1=1 to 7
Exten=Right$(Ts1,4); Prefix=Ts2; DesFold=Ts4
StNum=Int(Ts3)
Select Tx1
Case 0
PTxt=0; PCdt=0; PErr=0
Case 1 PTxt=1
Case 2 Pcdt=1
Case 3
PTxt=1; Pcdt=1
Case 4 PErr=1
Case 5
PErr=1; PTxt=1
Case 6
PErr=1; PCdt=1
Case 7
PErr=1; PTxt=1; PCdt=1
End Select
End Method
Method SetFNum(Tx1%)' sets FNum var
FNum[Tx1]=GetFCount()
End Method
Method GetFNum%(Tx1%)' retrive FNum var
Local Tx2%=0
Tx2=FNum[Tx1]
Return Tx2
End Method
Method SetStNum(Tx1%)' incrimants StNum% during file copy
StNum=Tx1
End Method
Method GetStNum%()' gets StNum%
Local Tx1%=0
Tx1=StNum
Return Tx1
End Method
Method GetPrefix$()' gets new file prefix
Return Prefix
End Method
Method GetExten$()' gets new file extension
Return Exten
End Method
Method GetDesFold$()' gets new file destination folder
Return DesFold
End Method
Method SetFCount(Tx1%)' sets FCount
FCount=Tx1
End Method
Method GetFcount%()' returns current FCount
Local Tx1%=0
Tx1=Fcount
Return Tx1
End Method
Method GetFName$(Tx1%)' returns file name stored at location FName[Tx1]
Local Ts1$=""
Ts1=FName[Tx1]
Return Ts1
End Method
Method ShowCFiles(Tv:Tgadget,Tx1%)' Tv=where to display file names, Tx1=index number
Local Tx2%=0; Local Tx3%=0; Local Tx4%=0
ClearGadgetItems(TV)
Tx2=GetFNum(Tx1); Tx3=GetFNum(Tx1+1); Tx3=Tx3-1
For Tx4=Tx2 To Tx3
AddGadgetItem(Tv,GetFname(Tx4))
Next
End Method
Method SetFNames(Tv1:Tgadget) 'Tv1=listbox with file names' puts file names into array
Local Tx1%=0; Local Tx2%=0 ; Local Fc1%=0
Fc1=GetFCount() ' start file count number
Tx1=CountGadgetItems(Tv1)' number of file names in list box to copy
For Tx2=0 To Tx1-1
Fname[Fc1+Tx2]=GadgetItemText(Tv1,Tx2)
'Print Fc1+Tx2 +" : "+Fname[Fc1+Tx2]
Next
SetFCount(Fc1+Tx2)
End Method
Method SetFold(Tv1:Tgadget,Dir$)' sets Fnum values. Tv1=listbox for folder info, dir=current directory
Local Tx1%=0; Local Ts1$=""
Ts1=Dir+Lz
AddGadgetItem(Tv1,Ts1)
Tx1=CountGadgetItems(Tv1)
SetFNum(Tx1)
End Method
Method Docopy(Ts1$,InX%,Tv1:Tgadget)' origin folder name plus index for FNum array, progbar Tgadget
Local Tx1%=0; Local Tx2%=0; Local Tx3%=0; Local Tx4%=0
Local Ts2$=""; Local Ts3$=""; Local Ts4$=""
FcBig=GetFcount()'set FcBig to Number of files to copy
If Inx=0 Then
If PTxt Then MyFile1=WriteFile(DesFold+"alist.txt")' text file of copies
If PCdt Then MyFile2=WriteFile(DesFold+"acdt.txt")'cdt file of copies
If PErr Then MyFile3=WriteFile(DesFold+"anerror.txt")' error log, if any
End If
Ts2=GetDesFold(); Tx4=GetStNum()
Tx1=GetFNum(Inx); Tx2=GetFNum(Inx+1); Tx2=Tx2-1
If PTxt Then' write text file list of copies enabled
If InX=0 Then ' first pass
WriteLine(MyFile1,"All Files Copied To :")
WriteLine(MyFile1,DesFold)
End If
WriteLine(MyFile1,"Files Copied From :")
WriteLine(MyFile1,Ts1)
End If
For Tx3= Tx1 To Tx2
Ts3=Ts1+GetFname(Tx3)' Ts3 = original filespec
Ts4=Ts2+GetPrefix()+String(Tx4)+GetExten()' Ts4 = new filespec
If FileType(Ts4)=0' file does not exsist in destination folder, do the copy
If CopyFile( Ts3,Ts4 )=True Then
If PTxt Then WriteLine(MyFile1,GetFname(Tx3)+" to "+GetPrefix()+String(Tx4)+GetExten())
If PCdt Then WriteLine(MyFile2,GetFname(Tx3)+","+GetPrefix()+String(Tx4)+GetExten())
Else' error
If PErr Then WriteLine(MyFile3,Ts3+Chr$(13)+"was not copied to"+Chr$(13)+Ts4+Chr$(13))
End If
Else' file allready exsists
If PErr Then WriteLine(MyFile3,Ts4 +Chr$(13)+"was not created as it exsisted in the destination folder"+Chr$(13))
End If
PBarCount=PbarCount+1
UpdateProgBar Tv1,PBarCount/FcBig
Tx4=Tx4+1
Next
SetStNum(Tx4)
End Method
Method CloseCopy()
If PTxt Then CloseStream Myfile1
If PCdt Then CloseStream Myfile2
If PErr Then CloseStream Myfile3
End Method
End Type |
Comments
None.
Code Archives Forum