Что нового

Перенос массива в конфиг файл

saloma

Новичок
Сообщения
19
Репутация
0
Добрый день. Решил опять по надоедать глупыми вопросами.
Имеется массив с координатами пикселей
Код:
Dim $array[10][2] = [[927,670],[896,608],[960,607],[1024,607],[895,544],[960,544],[1024,544],[896,477],[960,477],[1024,477]]

Глобальных вопроса два, один следует из другого
Каким способом можно реализовать ввод этих координат, тыкая по нужным точкам и куда проще их записывать, внутрь программы или в конфиг файл
Следовательно, как сделать, что бы эти координаты тянулись из конфиг файла
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
Код:
#include <File.au3>

Dim $array[10][2] = [[927,670],[896,608],[960,607],[1024,607],[895,544],[960,544],[1024,544],[896,477],[960,477],[1024,477]]

; сохранение массива в файл
_FileWriteFromArray("config.txt", $array)

; чтение массива из файла
Dim $arr[0]
_FileReadToArray("config.txt", $arr, 0, "|")

; просмотр массива
;~ #include <Array.au3>
;~ _ArrayDisplay($arr)
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
247
Можно сохранить координаты
тыкая по нужным точкам
в .ini файл, например так :
Код:
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>

$IniFile=@ScriptDir&'\data.ini'
If Not FileExists($IniFile) then _FileCreate($IniFile)

	Local $i = 0
    Do

        If _IsPressed("01") Then

            While _IsPressed("01")
                Sleep(250)
            WEnd
            $Coord = MouseGetPos()

			IniWrite($IniFile,'Coord X',$i,$Coord[0])
            IniWrite($IniFile,'Coord Y',$i,$Coord[1])
			 $i += 1
        EndIf


    Until $i = 10
	MsgBox(48,'Внимание !','Координаты сохранены в файле'&@CRLF&$IniFile,3)
и в нужный момент их достать функцией
Код:
IniRead(...)
 
Автор
S

saloma

Новичок
Сообщения
19
Репутация
0
посяб) попробую собрать все в кучу


Добавлено:
Сообщение автоматически объединено:

ra4o сказал(а):
Можно сохранить координаты
тыкая по нужным точкам
в .ini файл, например так :
Код:
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>

$IniFile=@ScriptDir&'\data.ini'
If Not FileExists($IniFile) then _FileCreate($IniFile)

	Local $i = 0
    Do

        If _IsPressed("01") Then

            While _IsPressed("01")
                Sleep(250)
            WEnd
            $Coord = MouseGetPos()

			IniWrite($IniFile,'Coord X',$i,$Coord[0])
            IniWrite($IniFile,'Coord Y',$i,$Coord[1])
			 $i += 1
        EndIf


    Until $i = 10
	MsgBox(48,'Внимание !','Координаты сохранены в файле'&@CRLF&$IniFile,3)
и в нужный момент их достать функцией
Код:
IniRead(...)
а как с того вида, привести в такой ?
Код:
[Coord X]
0=918
1=918
2=918
3=918
4=918
5=918
6=918
7=918
8=918
9=918
[Coord Y]
0=255
1=255
2=255
3=255
4=255
5=255
6=255
7=255
8=255
9=255
Код:
918|255
918|255
918|255
918|255
918|255
918|255
918|255
918|255
918|255
918|255
 
Автор
S

saloma

Новичок
Сообщения
19
Репутация
0
всем спасибо за помощь
Код:
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <array.au3>
HotKeySet("{F1}", "Start")
HotKeySet("{F5}", "MyExit")
Dim $array[10][2]
MsgBox(48,'Внимание !','Нажмите F1 для старта или F5 для выхода',5)
While 1
    Sleep(10)
WEnd
Func Start()


 $IniFile=@ScriptDir&'\config.txt'
If Not FileExists($IniFile) then _FileCreate($IniFile)
    Local $i = 0
    Do

       If _IsPressed("01") Then

            While _IsPressed("01")
                Sleep(100)
            WEnd
            $Coord = MouseGetPos()

			$array[$i][0]=$Coord[0]
            $array[$i][1]=$Coord[1]
             $i += 1
        EndIf


    Until $i = 10
_FileWriteFromArray("config.txt", $array)
    MsgBox(48,'Внимание !','Координаты сохранены в конфиг'&@CRLF&$IniFile,3)
	Exit
	EndFunc
Func MyExit()
    Exit
EndFunc
 
Верх