Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Записать данные в файл
Показать сообщение отдельно

Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Еще раз прошу помощи, так как не знаю/не получается

Есть файл settings.ini
В скрипте открывается форма с полями, которые заполняются значениями, считываемыми из этого файла.
Я меняю какое-либо из значений поля(ей) и мне надо по нажатии кнопки "Записать" записать все значения полей (измененные и нет) в тот же файл.
Не пойму как обновить значение переменной после изменения значения соответствующего поля?

Код: Выделить весь код
Function ReadSettings ($ConfigFile){
$settings = (Get-Content $ConfigFile) -replace ":","=" | ConvertFrom-StringData
 return $settings
}
Function WriteSettings ($ConfigFile) {
$s | ForEach {"$($_.Keys):$($_.Values)"} > $ConfigFile
}

## Форма
Add-Type -assembly System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$main_form = New-Object System.Windows.Forms.Form
$main_form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedToolWindow
$main_form.StartPosition = 'CenterScreen'
$main_form.Width = 500
$main_form.Height = 700
$main_form.AutoSize = $false
# Текстовое поле с изменяемым значением
$LeftScanerIP = New-Object System.Windows.Forms.TextBox
$LeftScanerIP.Location  = New-Object System.Drawing.Point(85,20)
$LeftScanerIP.Size = New-Object System.Drawing.Size(130,20)

$LeftScanerIP.Text = $settings.LeftScanerIP # переменная, которую считали из settings.ini

$GroupBoxLeft.Controls.Add($LeftScanerIP)
# Кнопка
$WriteSettings = New-Object System.Windows.Forms.Button
$WriteSettings.Text = 'Записать'
$WriteSettings.Location = New-Object System.Drawing.Point(100,460)
$WriteSettings.Size = New-Object System.Drawing.Size(160,40)
# Действие по нажатию кнопки
$WriteSettings.Add_Click({WriteSettings $ConfigFile})

Отправлено: 09:48, 25-05-2022 | #10

Название темы: Записать данные в файл