That’s what I did – and it works. I posed the question, though, because I’m new to Xojo and it has a lot of features (that seem to get renamed or changed at the drop of a hat) that I don’t know.
MVPs or not MVPs they are just trying to help and yet you complain? Hard to please people
Another way to do it:
Var fname As String = "log-20220513.txt" Var daysInterval As New DateInterval(0, 0, 14) Var minDate As Datetime = DateTime.Now - daysInterval Var minFile As String = "log-" + minDate.SQLDate.ReplaceAll("-","") + ".txt" If fname < minFile Then //discard file Break Else //keep file Break End If
I think with this code you only need to create minFile once and test all files with that. With your code, you need to create ‘target’ and ‘dif’ for each file.
You’ll also be wanting to go through the entire directory and ignore files that don’t conform to that filename format (there may be other files there or hidden ones). So something like:
dirh = new FolderItem ("/path/to/your/folder", FolderItem.PathModes.Native) if (dirh=Nil) then // Report error Return end if dircount = dirh.Count - 1 for i = 0 to dircount nextfile = dirh.ChildAt (i) if (nextfile=Nil) then Continue name = nextfile.Name // Look through all items in this folder if (name.BeginsWith(".")=True) then Continue // Skip any starting with . if (name.BeginsWith("log-")=False) then Continue // Skip any file to be ignored // Process your file here Next
I do. I iterate through the files and if a file exists, its name is passed to a function called IsLogFile() that returns a Boolean.
If (s.Length = 16) And s.BeginsWith("log-") And s.EndsWith(".txt") Then Return True Else Return False End If
I did this as a function because there are two areas of my little utility that need to know if a file in application’s folder is a log file or not.
Thank you for the suggestion. I will give it a try.