Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97

Сохранение / загрузка виджета

30.08.2025, 22:38. Показов 2446. Ответов 35

Студворк — интернет-сервис помощи студентам
вот так загружаю сейв виджета:
C++ (Qt)
1
2
3
4
5
6
7
8
9
QSettings settings;//сейв виджета
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    restoreState(settings.value("MainWindow/state").toByteArray());//загружаем сейв
    QObject::connect(ui->ButtonOK ,SIGNAL(clicked(bool)),this,SLOT(on_pushButton_clicked()));
}
вот так сохраняю:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
void MainWindow::on_pushButton_clicked()
{
    QString emitent = ui->ticker->text();//берем введенный тикер и ищем
    for (unsigned int i = 0; i < 259; ++i)//259-размер массива
    {
        if (SECID[i] == emitent)//если нашли
        {
            QLabel *labelSECNAME = new QLabel(); // Создаем новую метку
            ui->layoutSECNAME->addWidget(labelSECNAME); // Добавляем метку на свой слой
            labelSECNAME->setText(SECNAME[i]); //устанавливаем текст из массива
            settings.setValue("MainWindow/state",saveState());//сохраняем виджет
            return;
//программно создается label

вот так дано в мануале:
C++ (Qt)
1
2
3
4
5
6
void MainWindow::readSettings()
{
    QSettings settings("MyCompany", "MyApp");
    restoreGeometry(settings.value("myWidget/geometry").toByteArray());
    restoreState(settings.value("myWidget/windowState").toByteArray());
}
C++ (Qt)
1
2
3
4
5
6
7
void MyMainWindow::closeEvent(QCloseEvent *event)
{
    QSettings settings("MyCompany", "MyApp");
    settings.setValue("geometry", saveGeometry());
    settings.setValue("windowState", saveState());
    QMainWindow::closeEvent(event);
}
я вроде как упростил. если кто хочет почитать то эти методы не в QSettings как вроде по логике, а в QMainWidnow.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2025, 22:38
Ответы с готовыми решениями:

Как навести мышку на x,y внутри виджета относительно 0,0 виджета (левого верхнего угла виджета)?
Как навести мышку на x,y внутри виджета относительно 0,0 этого виджета (левого верхнего угла...

Вызов одного виджета из другого виджета
добрый день, есть 2 формы, сделанные в дизайнере. По нажатию на кнопку из формы 1 хочу чтобы...

Как добраться до виджета, который находится внутри другого виджета?
Есть QStackWidget, внутри которого на одной из страниц-виджетов находится QTabWidget....

35
Заблокирован
02.09.2025, 15:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от MVDmitrii Посмотреть сообщение
QString emitent = ui->ticker->text();//берем введенный тикер и ищем
Это пусть и будет вашим идентификатором для записи данных.
А в какой QLabel вы будете его потом загружать, это вам выдней.
Например, если я правильно понял:
C++ (Qt)
1
settings.setValue(emitent, SECNAME[i]);
Добавлено через 2 минуты
Цитата Сообщение от sdf45 Посмотреть сообщение
Ну все, на окне появилась эта строчка, и?...
Наверное сформировать заказ, по типу корзины.
Хотя я не экстрасенс, у тебя лучше получается
0
02.09.2025, 15:16

Не по теме:

Цитата Сообщение от SmallEvil Посмотреть сообщение
Наверное сформировать заказ, по типу корзины.
Хотя я не экстрасенс, у тебя лучше получается
Вот тоже подумал про корзину. Но и я не экстрасенс :)
Имхо тут вопросы проектирования самой проги, а сохранение уже вторично.

0
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
02.09.2025, 15:38  [ТС]
"Ну все, на окне появилась эта строчка, и?..."
и после закрытия окна оно пропадает. в этом проблема , мне нужно чтобы внесенные изменения оставались.
0
Заблокирован
02.09.2025, 16:40
Цитата Сообщение от MVDmitrii Посмотреть сообщение
мне нужно чтобы внесенные изменения оставались.
Цитата Сообщение от SmallEvil Посмотреть сообщение
settings.setValue(emitent, SECNAME[i]);
Так загрузите столько QLabel, сколько будет данных.
Пишите их в отдельный раздел.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
settings.setValue(QString("Store/").append(emitent), SECNAME[i]); // запись
// emitent , он же SECID[i] 
...
// загрузка, где то там, не проверял
settings.beginGroup(QString("Store"));
const QStringList childKeys = settings.childKeys();
 
for(const auto& key : childKeys){ 
   QString value = settings.value(key).ToString();
   QLabel *labelSECNAME = new QLabel(key); // Создаем новую метку и называем его по SECID
   ui->layoutSECNAME->addWidget(labelSECNAME); // Добавляем метку на свой слой
   labelSECNAME->setText(value); // Устанавливаем текст из массива
}
settings.endGroup();
Добавлено через 1 минуту
Цитата Сообщение от SmallEvil Посмотреть сообщение
settings.setValue(QString("Store/").append(emitent), SECNAME[i]); // запись
Может тут не точно, просто пишите всё в одну группу.

Добавлено через 7 секунд
Я не проверял

Добавлено через 36 минут
Более того, objectName() нужно задавать явно.
У меня в след. примере, просто не используется.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    loadDataFromFile();
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::saveDataToFile() const
{
    QSettings settings(QString("state.ini"), QSettings::IniFormat);
    settings.beginGroup(this->objectName());
    settings.beginGroup(QString("Labels"));
 
    const auto labels = this->findChildren<QLabel*>();
    unsigned cnt = 1;
    for(const auto& label : labels)
        settings.setValue(QString::number(cnt++), label->text());
 
    settings.endGroup();
    settings.endGroup();
}
 
void MainWindow::loadDataFromFile()
{
    QSettings settings(QString("state.ini"), QSettings::IniFormat);
    settings.beginGroup(this->objectName());
    settings.beginGroup(QString("Labels"));
    const QStringList childKeys = settings.childKeys();
 
    for(const auto& key : childKeys)
       ui->centralwidget->layout()->addWidget( new QLabel(settings.value(key).toString()));
 
    settings.endGroup();
    settings.endGroup();
}
 
 
 
void MainWindow::closeEvent(QCloseEvent *event)
{
    saveDataToFile();
    QMainWindow::closeEvent(event);
}
 
void MainWindow::on_pushButton_clicked()
{
    if (!ui->lineEdit->text().isEmpty()) // добавляем новую метку на форму
        ui->centralwidget->layout()->addWidget(new QLabel(ui->lineEdit->text()));
}
0
 Аватар для Ender Che
517 / 407 / 77
Регистрация: 29.05.2018
Сообщений: 1,318
02.09.2025, 16:54
Я бы всё же посмотрел в сторону хранения данных в БД. Это будет значительно проще, чем... если не ошибаюсь, 259 разных значений в сеттингсах хранить. Всего-то и надо: написать CRUD-слой для БД с учётом вашей специфики, и пользоваться им в вашем майнвидове. Qt из коробки поддерживает SQLite, вам этого должно, на мой взгляд, хватить. Ну, и разделить данные и виджеты, в БД только данные вставлять, как правильно вам советуют уважаемые товарищи выше. А для каждого набора однотипных виджетов завести свою таблицу. Типа для лейблов таблица "label_table" с автоинкрементным айдишником и полем с текстом или что у вас там.
2
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
02.09.2025, 23:50
Цитата Сообщение от MVDmitrii Посмотреть сообщение
и после закрытия окна оно пропадает. в этом проблема , мне нужно чтобы внесенные изменения оставались
Ну дык сохраняй, как в примерах показано - их уже тут хватает, на любой вкус.

Еще я бы написал отдельную форму для этой корзины. (Ее кстати можно просто прятать-показывать, и если приложение не закрывать-данные никуда не денутся)
Вместо создания кучи лейблов и спинбоксов для каждой строчки можно создать одну таблицу, убрать в ней заголовки и сетку-получится примерно тоже, причем будет меньше мороки за счет функционала таблицы.

Что я и сделал:

Выбираем поля, которые передали в эту форму(из комбобокса), или создаем новые (в лайнэдите).
Добавляем в табличку. Можно сохранить.(Данные восстанавливаются из файла при повторном открытии)
Листинг выкладывать?
1
Заблокирован
03.09.2025, 02:44
Расходимся,


Добавлено через 2 минуты
sdf45, что за темная тема, в коробке есть такая?
1
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
03.09.2025, 10:59  [ТС]
"Листинг выкладывать?"
нет я должен сам понять...
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void MainWindow::on_pushButton_clicked()
{
    QString emitent = ui->ticker->text();//берем введенный тикер и ищем
    for (unsigned int i = 0; i<std::size(SECID); ++i)
    {
        if (SECID[i] == emitent)//если нашли
        {
            ui->layoutSECNAME->addWidget(new QLabel(SECNAME[i]));//создаем новый Label с текстом SECNAME[i] на слой layoutSECNAME
            settings.setValue(QString ("labelSECNAME/").append(SECID[i]), SECNAME[i]);//сохраняем новый Label с именем SECID[i] и текстом SECNAME[i]
 
            QSpinBox *spinbox = new QSpinBox();//Создаем spinbox
            ui->layoutquantity->addWidget(spinbox);//добавляем spinbox на свой слой
            quantity = spinbox->value();//записываем в переменную количество
            settings.setValue(QString("spinbox/").append(SECID[i]),quantity);//сохраняем
 
            QString a = "https://iss.moex.com/iss/engines/stock/markets/shares/boards/tqbr/securities/";
            QString b = SECID[i];
            QString c = ".xml?iss.meta=off&iss.only=securities&securities.columns=PREVPRICE";
            QUrl url = a+b+c;
 
            HttpFetcher *fetcher = new HttpFetcher;//Создаем новый запрос
            fetcher->setURL(url);//Принимаем новый адрес
 
            ui->layoutPREVPRICE->addWidget(new QLabel(PREVPRICE));//создаем новый Label с текстом PREVPRICE на слой layoutPREVPRICE
            ui->ticker->clear();//очищаем тикер (окно ввода)
            settings.setValue(QString ("labelPREVPRICE/").append(SECID[i]), SECNAME[i]);//сохраняем
            return;
        }
    }
settings я правильно написал?
Миниатюры
Сохранение / загрузка виджета  
0
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
03.09.2025, 12:06  [ТС]
@SmallEvil смысл такой, хочу написать приложение в котором можно создавать портфель из акций. пишем тикер он находит есть ли такой, при совпадении создает лэйбл с его названием спинбоксом для ввода его количества (купленого в портфель) и из интернета парсит его цену и создает лейбл с этой ценой. далее будет строить график чтобы отслеживать динамику портфеля.
я увлечен инвестициям и програмированием и электроникой. на програмиста не учился , начинал писать на с/с++ для микроконтроллеров, получается. захотелось развиваться дальше и открыл для себя Qt creator.
можете сказать что подобных приложений куча но тут смысл создать свое и научиться. да я может быть псих но мне очень нравится думать над кодом через боль я от этого кайфую. и кайфую от электроники, иду в гараж включаю музыку, паяльник и начинаю чего нибудь чинить паять, я так отдыхаю. вредных привычек не имею , не пью совсем, периодически занимаюсь спортом , тягаю железки, в гараже сделал турник, брусья , купил штангу. живу в селе радости здесь не много , большой сад , большое хозяйство, и отдыхаю я когда так как написал выше.
теперь вы знаете обо мне даже больше чем многие мои друзья, хотя их у меня не много, им со мной не интересно, я не пью.

Добавлено через 21 минуту
@SmallEvil взял ваш пример из поста 24, буду работать с ним.
спасибо

Добавлено через 1 минуту
sdf45 я понимаю вы крутой профессионал но не оставляете мне возможности думать самому.
и вам спасибо.

Добавлено через 30 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
//получаем доступ к группе labelSECNAME
    settings.beginGroup(QString("labelSECNAME"));
    //получаем доступ к ключам SECID[i]
    const QStringList childKeys = settings.childKeys();
    //перебираем все ключи в группе и выводим их на экран
    for(const auto& key : childKeys){
        //забираем текст ключа SECNAME[i]
        QString value = settings.value(key).toString();
        ui->layoutSECNAME->addWidget(new QLabel(value)); // Добавляем label с своим текстом
    }
    settings.endGroup();
УРАААА ЗАРАБОТАЛО!!!!!!!!!!!!!!
1
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
03.09.2025, 12:23
Цитата Сообщение от SmallEvil Посмотреть сообщение
sdf45, что за темная тема, в коробке есть такая?
Это в main.cpp QApplication a(argc, argv); a.setStyle("fusion"); в сочетании с "темной" темой винды.

Цитата Сообщение от MVDmitrii Посмотреть сообщение
settings я правильно написал?
Если сохраняет в файл то что надо вам - значит правильно.

Цитата Сообщение от MVDmitrii Посмотреть сообщение
вы крутой профессионал
Ниразу Я любитель-дилетант. До профи, которые есть тут и в ветке по с++ мне очень далеко.

Цитата Сообщение от MVDmitrii Посмотреть сообщение
очень нравится думать над кодом через боль я от этого кайфую
Не через боль правда, но тоже самое

Цитата Сообщение от MVDmitrii Посмотреть сообщение
со мной не интересно, я не пью
Это шедевральная фраза, я бы Оскара дал
0
Заблокирован
03.09.2025, 13:03
Цитата Сообщение от MVDmitrii Посмотреть сообщение
смысл такой, хочу написать приложение в котором можно создавать портфель из акций. пишем тикер он находит есть ли такой, при совпадении создает лэйбл с его названием спинбоксом для ввода его количества (купленого в портфель) и из интернета парсит его цену и создает лейбл с этой ценой
Это не совсем так делается.

Данные нужно хранить отдельно от виджетов.
Виджеты только для отображение уже имеющихся данных или для ввода новых.

Цитата Сообщение от MVDmitrii Посмотреть сообщение
смысл такой, хочу написать приложение в котором можно создавать портфель из акций.
Вот как бы это делал я.
Нужны сущности: Акция, ЕдиницаПортфеля, Портфель.
Акция{Название, Цена}
ЕдиницаПортфеля{Акция, Количество}
Портфель{Список<ЕдиницаПортфеля>}

Цитата Сообщение от MVDmitrii Посмотреть сообщение
пишем тикер он находит есть ли такой, при совпадении создает лэйбл с его названием спинбоксом для ввода его количества (купленого в портфель) и из интернета парсит его цену и создает лейбл с этой ценой
Дальше создать виджеты для отображения/редактирования(если нужно) этих сущностей, Акции, ЕдиницаПортфеля, Портфеля.
И так далее. На самом деле всё не так сложно.
А вот формошлепство как попало, это кринж)
0
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
03.09.2025, 16:33  [ТС]
"Виджеты только для отображение уже имеющихся данных или для ввода новых."
да но как их тогда сохранять если не так? их может быть сегодня 10 а завтра все 260
0
Заблокирован
03.09.2025, 16:53
Цитата Сообщение от MVDmitrii Посмотреть сообщение
да но как их тогда сохранять если не так? их может быть сегодня 10 а завтра все 260
Нужно определиться КОГО сохранять?
Я не понимаю
Я уже описал примерное разделения данных и отображения.

Например:
C++
1
2
3
4
5
6
struct TradeMark{
   QString Name;
   double price;
};
QList<TradeMark> TradeMarks;
// где то TradeMarks заполнился
Что нужно дальше?
Можно отобразить весь список акций пользователю.
Можно создать поле ввода для запроса информацию о какой акции вывести информацию и т.д. и т.п.
Где виджеты?
То как будет информация отображена абсолютно не важно, это вторично и четверично и 100500-но.

Добавлено через 2 минуты
То есть. Бизнес логика(логика программы) важнее логики отображения.
Она меняется гораздо реже.

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
То есть. Бизнес логика(логика программы) важнее логики отображения.
И поэтому её нужно разделять. И не только. Ещё инкапсуляция и прочее. Разделение труда и ответственности....

Добавлено через 5 минут
Цитата Сообщение от MVDmitrii Посмотреть сообщение
да но как их тогда сохранять если не так? их может быть сегодня 10 а завтра все 260
Способ сохранения данных это выбор каждого в отдельности.
В файл, в облако, на удаленный сервер.
Мне почем знать?
Но сохранять нужно данные которые обособленные и конкретно описанные в одном месте.
А не собирать эти данные из виджетов.
0
 Аватар для Ender Che
517 / 407 / 77
Регистрация: 29.05.2018
Сообщений: 1,318
03.09.2025, 17:09
Цитата Сообщение от MVDmitrii Посмотреть сообщение
пишем тикер он находит есть ли такой
Где находит и кто находит?
0
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
04.09.2025, 02:13
бла-бла-бла
Кликните здесь для просмотра всего текста
MVDmitrii, в твоем случае можно использовать так называемый MVC(Model-View-Controller, Модель-Представление-Контроллер (данных)). Модель - это то, как ты логически группируешь и связываешь свои данные. Представление (вид) - это то, как пользователь увидит данные на экране. Контроллер - это прокладка между моделью и видом, потому что модель данных не знает, как она будет показана, а представление умеет только показывать данные, для которых оно предназначено.

Если приложение простое, то вполне можно обойтись без MVC, а работать напрямую с виджетами. Но у тебя оно уже достаточно сложное - применение MVC облегчит разработку, и ты не впадешь в кататонию, читая свой код через месяц.
В Qt есть заготовленные модели - но нужен некоторый опыт для работы с ними.

SmallEvil в постах 31 и 33 предлагает тебе создать модель, и я немножко прокомментирую:
Вот у тебя есть акция. Ее нельзя записать одним значением, потому что у акции есть название и цена, поэтому подходящий тип данных - структура (struct TradeMark)
Но акций множество - поэтому подходящий тип для их хранения - список (QList<TradeMark> TradeMarks)
Далее может понадобиться применять некоторые алгоритмы к такому списку, а для этого прийдется определять операторы для структуры (надеюсь, ты знаешь этот механизм) -например для поиска оператор "==" который очевидно, будет сравнивать имена двух акций, для сортировки оператор ">", который будет сравнивать цену, и тд.
Ну и далее портфель и что там еще есть.

Заметь, что ни цена, ни акция, ни портфель не имеют понятия о своем представлении на экране и что такое экран вообще.
А виджет, который будет показывать список акций на экране - не знает, что это акции - он выводит "какой-то текст"
Это суть паттерна MVC.

Мораль всей этой херни, которую я тут написал:
Не важно, сколько у тебя там динамически создается виджетов.
-Создал N строчек на экране? Ок, параллельно создал N экземпляров структуры TradeMark и запихал их в список TradeMarks.
-Ввел цену какой-то акции? Ок, ищем в списке TradeMarks по имени акции элемент, который содержит структуру TradeMark, и вписываем туда цену.
-Надо сохранить (в файл QSettings)? Ок, передаешь константную ссылку на список TradeMarks в функцию, которая создает файл, проходит по списку, достает из него структуру а из структуры имя и цену и пишет в файл (по феншую эта функция - метод отдельного класса)
-Надо воссоздать строчки после закрытия проги? Ок, читаем циклом из файла имя и цену, создаем лейбл и спинбокс, добавляем в лейаут. Сколько записал, столько и будет создано.
-Надо построить график? Ок, итерируешься по списку, выцепливаешь цены, строишь точки.

0
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
04.09.2025, 16:27  [ТС]
в общем эту тему считаю закрытой, ее цель достигнута

Добавлено через 24 секунды
всем огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.09.2025, 16:27
Помогаю со студенческими работами здесь

Сохранение свойств виджета
Здравствуйте, Делаю программу для визуализаций (графики, карты и т.д.) данных. Данные хранятся...

Сохранение состояния и положения виджета
Всем добрый день. Нужно сохранить при закрытии приложения настройки всех виджетов - вкладки,...

Размещение своего виджета на форме
Добрый вечер, Пишу интерфейс для своей программы без использования средств Qt Designer и вот...

Установка фона виджета
Доброго времени суток, господа! Подскажите новичку, как правильно установить фон виджета из файла...

Qt. Управление сеансом и нестандартный вид окна виджета.
Доброго времени суток! Возникла пара вопросов. Вопрос 1 Мне необходимо, чтобы приложение,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru