Что нового

Диалоговое окно сохранения

Сообщения
75
Репутация
-2
при сохранении данных в файл можно установить имя файла по умолчанию. А как сделать чтобы это имя файла изменялось, в зависимости от работы программы (например прогресса, или текущего времени)?

Код:
_WinAPI_SaveFileDlg('', @WorkingDir, 'Save game file (*.sfs)|All Files (*.*)', 1, 'ЭТО ИМЯ ФАЙЛА', '.', BitOR($OFN_PATHMUSTEXIST, $OFN_OVERWRITEPROMPT))

это дата и время = (_Date_Time_SystemTimeToDateTimeStr(_Date_Time_GetLocalTime()))


Код:
$time = (_Date_Time_SystemTimeToDateTimeStr(_Date_Time_GetLocalTime()))

_WinAPI_SaveFileDlg('', @WorkingDir, 'Save game file (*.sfs)|All Files (*.*)', 1, $time, '.', BitOR($OFN_PATHMUSTEXIST, $OFN_OVERWRITEPROMPT)) - так не работает
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Пример из справки, немного переделанный
Код:
; иные спец-каталоги смотрите в "Приложения --> CLSID" и в "Макросы каталогов"
$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
$MyFileName=@MDAY&'-'&@MON&'-'&@YEAR&' '&@HOUR&'-'&@MIN
$var = FileSaveDialog("Выберите имя.", $MyDocsFolder, "Скрипт (*.aut;*.au3)", 2,$MyFileName)
; параметр 2 = диалог остаётся пока не выбран валидный путь или файл

If @error Then
    MsgBox(4096, @error, "Отмена сохранения.")
Else
    MsgBox(4096, "", "Вы выбрали " & $var)
EndIf
В Вашем случае имя файла содержит недопустимые символы "/" и ":", которые можно заменить, например при помощи "StringRegExpReplace"
 
Автор
W
Сообщения
75
Репутация
-2
ra4o сказал(а):
Пример из справки, немного переделанный
Код:
; иные спец-каталоги смотрите в "Приложения --> CLSID" и в "Макросы каталогов"
$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
$MyFileName=@MDAY&'-'&@MON&'-'&@YEAR&' '&@HOUR&'-'&@MIN
$var = FileSaveDialog("Выберите имя.", $MyDocsFolder, "Скрипт (*.aut;*.au3)", 2,$MyFileName)
; параметр 2 = диалог остаётся пока не выбран валидный путь или файл

If @error Then
    MsgBox(4096, @error, "Отмена сохранения.")
Else
    MsgBox(4096, "", "Вы выбрали " & $var)
EndIf
В Вашем случае имя файла содержит недопустимые символы "/" и ":", которые можно заменить, например при помощи "StringRegExpReplace"



Вот так сделал
Код:
_WinAPI_SaveFileDlg('', @WorkingDir, 'Save game file (*.sfs)|All Files (*.*)', 1, @MDAY&'-'&@MON&'-'&@YEAR&' '&@HOUR&'-'&@MIN, '.', BitOR($OFN_PATHMUSTEXIST, $OFN_OVERWRITEPROMPT))
 
Верх