Modify ↓
Opened 4 years ago
Closed 4 years ago
#3856 closed Bug (No Bug)
FileOpenDialog passing unseen information
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Milestone: | Component: | AutoIt | |
| Version: | 3.3.14.5 | Severity: | None |
| Keywords: | Cc: |
Description
The summary is the best I could describe it and is an assumption. See link starting at post 4
https://www.autoitscript.com/forum/topic/207124-regexp-assistance-please/ for a better perspective.
Passing a file list to an array from the fileopendialog function puts something in the array that is messing with regexp functions. If I pass the same exact information from a "manually built array" of information the regexp will work with no issue.
$FileSelect = FileOpenDialog("File Rename", "F:\", "Images (*.jpg)|Videos (*.mp4)", $FD_MULTISELECT, "", $hForm)
$aDirContent_New = StringSplit($FileSelect, "|", 2)
_ArrayDisplay($aDirContent_New)
For $i = UBound($aDirContent_New) - 1 To 0 Step - 1
ConsoleWrite($i & " " & $aDirContent_New[$i] & @CRLF)
If StringRegExp($aDirContent_New[$i], "^\d{4}(-\d{2}){2}_\d{6}_[PV]$") Then
ConsoleWrite("> " & $i & @CRLF)
_ArrayDelete($aDirContent_New, $i)
ContinueLoop
EndIf
;$aDirContent_New[$i] = $aDirContent_New[0] & "\" & $aDirContent_New[$i]
Next
_ArrayDisplay($aDirContent_New)
{{{
As I said, passing an array directly, or the following code works perfectly with regexp which leads me to believe this is a bug.
{{{
#include <File.au3>
#include <WinAPISysWin.au3>
Global $GText
Local $hTimerProc = DllCallbackRegister('_TimerProc', 'none', 'hwnd;uint;uint_ptr;dword')
Global $g_iCount = 0
Local $iTimerID = _WinAPI_SetTimer(0, 0, 1000, DllCallbackGetPtr($hTimerProc))
$title = "File Rename"
$sFileSelect = FileOpenDialog($title, "F:\", "Images (*.jpg)|Videos (*.mp4)", $FD_MULTISELECT, "", 0)
$aDirContent_New = StringSplit($GText, """", 2)
_ArrayDisplay($aDirContent_New)
For $i = UBound($aDirContent_New) - 1 To 0 Step - 1
ConsoleWrite($i & " " & $aDirContent_New[$i] & @CRLF)
If StringRegExp($aDirContent_New[$i], "^\d{4}(-\d{2}){2}_\d{6}_[PV]$") Or $aDirContent_New[$i] = " " Then
ConsoleWrite("> " & $i & @CRLF)
_ArrayDelete($aDirContent_New, $i)
ContinueLoop
EndIf
;$aDirContent_New[$i] = $aDirContent_New[0] & "\" & $aDirContent_New[$i]
Next
_ArrayDisplay($aDirContent_New)
Func _TimerProc($hWnd, $iMsg, $iTimerID, $iTime)
$GText = ControlGetText($title, "", "Edit1")
EndFunc ;==>_TimerProc
}}}
}}}
Attachments (0)
Change History (1)
comment:1 Changed 4 years ago by Jos
- Resolution set to No Bug
- Status changed from new to closed
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Note: See
TracTickets for help on using
tickets.

Closed until there is a real bug determined in that forum thread.