[решено] Возможно ли сохранение результата работы скрипта?

Ответить
Аватара пользователя
McLotos

[решено] Возможно ли сохранение результата работы скрипта?

Сообщение McLotos »

Доброго времени суток. Интересует один момент. Вот допустим имеется скрипт, который просматривает рабочий стол и вычисляет координаты каждого элемента рабочего стола. Подскажите куда копать, чтобы понять как научить скрипт сохранять полученные данные, а патом при необходимости восстанавливать. Я хочу сделать примерно так:

При первом запуске скрипт просто просматривает рабочий стол, и сохраняет полученную информацию, если запустить ещё раз, то скрипт проверит разницу и спросит что сделать: сохранить новый вариант или вернуться к старому. (готовые решения не предлагать = ) )

если уж учиться, то самому. Можете подсказать какие команды используются для работы с файлами? Интересует чтение, запись, сравнение, перезапись, замена, удаление.
Аватара пользователя
ferget

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение ferget »

Цитата McLotos:



Можете подсказать какие команды используются для работы с файлами? Интересует чтение, запись, сравнение, перезапись, замена, удаление.
[решено] Возможно ли сохранение результата работы скрипта?




открываете справку AutoIt, раздел "Файлы, каталоги и диски"
Аватара пользователя
McLotos

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение McLotos »

Точно. Хорошая идея! = )

Может на примере будет понятней что я хочу.



PHP код:

Код: Выделить всё

#include 

#include 

#include 



$LogFile = @ScriptDir & "/Desktop.log" ;Переменная имени логфайла

$sp=@DesktopWidth & "X" & @DesktopHeight ;Текущее разрешение

$fo=@DesktopWidth/@DesktopHeight ;Соотношение сторон 



;Если файла не существует его нужно создать, и вбить в него информацию по текущему состоянию рабочего стола.

If Not FileExists($LogFile) Then

            _FileCreate($LogFile) 

             GetPositions($sp,$fo) 

    ElseIf FileExists($LogFile) Then

   ;Здесь должна быть функция, которая прочитает существующий файл и расставит все значки так как они должны стоять.

EndIf



Func GetPositions($sp,$formula)



Local $hWnd = ControlGetHandle("Program Manager", "", "[CLASS:SysListView32; INSTANCE:1]")

    If @error Then Return 0

    Dim $Position[_GUICtrlListView_GetItemCount($hWnd)+1][3]

    If Not IsArray($Position) Then Return 0 

    $Position[0][0] = UBound($Position) -1 ;Сколько значков на рабочем столе

    FileWrite ($LogFile,"Параметры дисплея" & @CRLF & "Разрешение " & $sp & @CRLF & "Формат " & $fo & @CRLF);Записывам в файл информацию по дисплею.

    ;Запускаем цикл обработки массива

    

    For $i = 1 To $Position[0][0] ;Начало счетчкика 1, конец счетчика - количество значков

        $Position[$i][0] = _GUICtrlListView_GetItemText($hWnd, $i -1)      ;Название значка

        $Position[$i][1] = _GUICtrlListView_GetItemPositionX($hWnd, $i -1) ;X-позиция значка

        $Position[$i][2] = _GUICtrlListView_GetItemPositionY($hWnd, $i -1) ;Y-позиция значка

    FileWrite($LogFile, $i & ". " & $Position[$i][0] & ": " & $Position[$i][1] & " " & $Position[$i][2] & @CRLF) ;Записываем полученные данные в файл

    Next

 EndFunc 



Аватара пользователя
ferget

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение ferget »

Цитата McLotos:



Может на примере будет понятней что я хочу.
[решено] Возможно ли сохранение результата работы скрипта?




понятней не стало, если это смогли написать, то в чем проблема?



считываете строки из файла FileReadLine ( "filehandle/filename" [, line] )



разбиваете строки StringSplit ( "string", "delimiters" [, flag] )



расставляете значки _GUICtrlListView_SetItemPosition($hWnd, $iIndex, $iCX, $iCY)
Аватара пользователя
McLotos

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение McLotos »

Просто это мой первый скрипт, я учу по ходу написания программы, ну в смысле понадобилась какая-то функция в гугл, мануал, написал, дальше опять, а вот про _GUICtrlListView_SetItemPosition($hWnd, $iIndex, $iCX, $iCY) я нигде ничего не видел.

Закончу, выложу полный скрипт
Аватара пользователя
McLotos

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение McLotos »

Подскажите, почему при запуске скрипта в Win7 он не записывает в файл имена иконок, а только их координаты
Аватара пользователя
McLotos

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение McLotos »

win7 x32, скрипт, который в сообщении #3, записывает имена иконок
Аватара пользователя
ferget

Re: [решено] Возможно ли сохранение результата работы скрипта?

Сообщение ferget »

всё ясно. он работает только на x32. а почему на 64 не срабатывает?
Ответить

Вернуться в «AutoIt»