Автор Тема: Как сохранить данные в .ini файл для последующей их загрузки в GUI?  (Прочитано 4217 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Diesel [?]

  • Новичок
  • *
  • Сообщений: 35
  • Репутация: 0
    • Награды
Вот примерный скрипт
Код: AutoIt [Выделить]
Global $fTime = ""

GuiCreate("Sample GUI", 300, 200)

IniRead(@ScriptDir & "\config.ini", "Time", "Buff", $fTime)

GuiCtrlCreateLabel("Время", 50, 15)
$fTime = GuiCtrlCreateInput($fTime, 50, 30, 33, 20)

IniWrite(@ScriptDir & "\config.ini", "Time", "Buff", $fTime)

GUISetState()
Func _Exit()
    Exit
EndFunc
$exit = TrayCreateItem("Выход")
Do
Until GUIGetMsg() = -3 or TrayGetMsg() = $exit

Мне надо данные вводимые GuiCtrlCreateInput сохранялись в ini файл, и легко изменялись прямо в том же окне.
« Последнее редактирование: Январь 11, 2011, 23:02:20 от `p r o x y »

Русское сообщество AutoIt


Оффлайн gregaz [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1166
  • Репутация: 298
  • Пол: Мужской
    • Награды
Re: Изменение скрипта в меню GUI
« Ответ #1, Отправлен: Январь 11, 2011, 06:50:26 »
Код: AutoIt [Выделить]
$fTime = GuiCtrlCreateInput($fTime, 50, 30, 33, 20)
 

Здесь $fTime это идентификатор элемента

Данные надо читать:
Код: AutoIt [Выделить]
#include <Date.au3>
;...................
$fTime = GuiCtrlCreateInput(_NowTime(), 50, 30, 33, 20)
$Read=GuiCtrlRead($fTime)
ConsoleWrite($Read& @LF)
;..................
 

А причем здесь меню?
Самая большая проблема – её сформулировать. 

Оффлайн Diesel [?]

  • Новичок
  • *
  • Сообщений: 35

  • Автор темы
  • Репутация: 0
    • Награды
Re: Изменение скрипта в меню GUI
« Ответ #2, Отправлен: Январь 11, 2011, 07:18:40 »
Мне нужно чтобы скрипт записывал в файл те цифры которые там были до закрытия программы. И при следующем запуске я мог снова изменить их на любые другие цифры. Надо бы ограничение поставить на максимальный ввод 4 символа, и только цифры.

Русское сообщество AutoIt

Re: Изменение скрипта в меню GUI
« Ответ #2 Отправлен: Январь 11, 2011, 07:18:40 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2700
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Изменение скрипта в меню GUI
« Ответ #3, Отправлен: Январь 11, 2011, 10:34:50 »
Код: AutoIt [Выделить]
#Include <EditConstants.au3>
#Include <WindowsConstants.au3>

Opt("TrayMenuMode", 3)

Global Const $sIni = @ScriptDir & "\config.ini"

$hForm = GUICreate("Sample GUI", 300, 200)
$fTime = IniRead($sIni, "Time", "Buff", "")
GUICtrlCreateLabel("Время", 50, 15)
$Input = GUICtrlCreateInput($fTime, 50, 30, 33, 20)
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
GUISetState()

OnAutoItExitRegister("_Exit")

$Exit = TrayCreateItem("Выход")

Do
Until GUIGetMsg() = -3 or (TrayGetMsg() = $Exit)

Func _Exit()
    IniWrite($sIni, "Time", "Buff", GUICtrlRead($Input))
EndFunc   ;==>_Exit

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)

    Local $Code = BitShift($wParam, 16), $ID = BitAND($wParam, 0xFFFF)

    Switch $hWnd
        Case $hForm
            Switch $ID
                Case $Input
                    Switch $Code
                        Case $EN_CHANGE
                            GUICtrlSetData($ID, StringLeft(StringRegExpReplace(GUICtrlRead($ID), '[^0-9]', ''), 4))
                    EndSwitch
            EndSwitch
    EndSwitch
    Return 'GUI_RUNDEFMSG'
EndFunc   ;==>WM_COMMAND



P.S

Неужели так трудно придумать достойное название для своей темы. Если невозможно описать проблему, то это означает, что никакой проблемы и нет вовсе... Причем здесь "Изменение скрипта в меню GUI"? Правильное название для этой темы должно быть, например: "Как сохранить данные в .ini файл для последующей их загрузки в GUI?". И неудивительно, что вы не нашли ответ на этот вопрос (если конечно искали), хотя он уже обсуждался раз двадцать.  В следующий раз, я буду удалять такие темы без предупреждения, т.к. форум и так уже зас**ли до такой степени, что найти что-либо стало уже проблематично.

:ninja:
« Последнее редактирование: Январь 11, 2011, 10:57:21 от Yashied »


Думай, прежде чем говорить.

Русское сообщество AutoIt

Re: Изменение скрипта в меню GUI
« Ответ #3 Отправлен: Январь 11, 2011, 10:34:50 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
3926 Просмотров
Последний ответ Июнь 14, 2010, 02:52:09
от Yashied
2 Ответов
2748 Просмотров
Последний ответ Апрель 04, 2011, 00:16:06
от CreatoR
10 Ответов
5256 Просмотров
Последний ответ Июль 14, 2011, 16:41:16
от CreatoR
9 Ответов
3979 Просмотров
Последний ответ Февраль 19, 2013, 12:43:25
от BIOS
2 Ответов
2697 Просмотров
Последний ответ Август 29, 2013, 09:35:07
от dimcomp
9 Ответов
2470 Просмотров
Последний ответ Январь 25, 2015, 21:45:27
от Yashied
3 Ответов
1139 Просмотров
Последний ответ Сентябрь 12, 2016, 10:54:09
от Alofa
1 Ответов
354 Просмотров
Последний ответ Апрель 17, 2018, 21:05:57
от Tempo
4 Ответов
383 Просмотров
Последний ответ Сентябрь 09, 2018, 21:02:33
от arabnesso
6 Ответов
471 Просмотров
Последний ответ Октябрь 13, 2018, 14:11:04
от musicstashall