Форум программистов, компьютерный форум CyberForum.ru

Сохранение(загрузка) свойств элементов формы в файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ в ОЗУ массив a[i][j] http://www.cyberforum.ru/cpp-beginners/thread344862.html
есть такой код for(int i=0;i<40;i++) { for(int j=0;j<40;j++) { switch(a) { case 1: b->Canvas->Brush->Color=clBlack; break; case 0: b->Canvas->Brush->Color=clGreen; break; case 2: b->Canvas->Brush->Color=clGray; break;
C++/CLI WinForms Загрузка файла с HTTP Добрый день/вечер я уже облазил инет в поисках примера реализации загрузки файла но так нечего не нашел. можете дать сылку или написать пример простой загрузки файла на компьютер. http://www.cyberforum.ru/cpp-beginners/thread344802.html
C++ Null pointer assignment.
Здравствуйте. Такая проблема: Пытаюсь вызвать функция класса Up() s2 = s1.up(), возвращая указатель на строку (по-умолчанию в s2 пустая строка имеет адрес NULL). Вот только почему передается не ссылка, а само значение строки, поскольку компилятор пишет: null pointer assignment. Значит ссылка не поменялась, и он, не выделив память, прострочил прямо с нулевого адреса... И второй вопрос, как...
Литература по WebBrowser для C++ C++
Подскажите учебник по использованию компонента WebBrowser для С++.Т.к мне на МСДН нечего не понятно - я еще новичек , или названия книжек где хотя бы в не которых главах описывают за WebBrowser.
C++ Общие вопросы для реальной работы http://www.cyberforum.ru/cpp-beginners/thread344783.html
Привет! Скажите пожалуйста на сколько рально самостоятельно изучить С++, что бы потом работать обычным программистом и иметь спрос работодателей на рынке труда?
C++ Генерация последовательности случайных чисел можно ли считать что при генерации последовательности случайных чисел с помощью функций srand и rand при одном и том же начальном значении всегда будет генерироваться одна и таже последовательность, в том числе на разных компьютерах? подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
24.08.2011, 22:17     Сохранение(загрузка) свойств элементов формы в файл
Цитата Сообщение от zzzot Посмотреть сообщение
ибо, как вариант, программа будет работать с отдельным файлом(тот же caption.ini) но с возможностью сохранить в другой через диалог
Добавлено через 33 минуты
реализовал с ini файлом. подскажите как вывести сохранение и загрузку через диалоговое окно)
Выкладываю простой MFC проект, по сохранению и загрузке состояния контролов окна.
Принцип такой - при нажатии кнопки сохранить хначение контролов в
C++
1
GetTempPath(MAX_PATH,sFilePath);
создаю файл CDlgCap.ini
(при желании этот файл можно редактировать самому)
При первом запуске или если не нажималась кнопка Сохранить значения контролов окно выскакивает не инициализированным, поэтому необходимо наать кнопку Заполнить элементы.
Можно выбирать позицую ComboBox и CheckBox-а (в программе есть несколько доп методов для работі с контролами, посмотришь сам). Так вот после того как контролы заполняться жмём Сохранить значения контролов, при повторном запуске программы контролы заполняться автоматом сами, чтобы их переинициализировать - сноа нажимаем Заполнить элементы

Загрузку и выгрузку значений контролов организовал с помощью класса CDlgCap
Листинг CDlgCap.h
C++
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
#include "stdafx.h"
#pragma once
 
class CDlgCap
{
private:
    char * sFileEntry;
    char sFilePath[MAX_PATH];
    CString sEditText;
    bool bCheck;
    long lComboPos;
public:
    CDlgCap();
    ~CDlgCap();
 
    bool Initialize();
    bool SaveCaption();
 
    CString getFilePath();
    CString getEditText();
    bool getCheck();
    long getComboPos();
 
    void setEditText(CString);
    void setCheck(bool);
    void getComboPos(long);
};
Листинг CDlgCap.cpp
C++
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "stdafx.h"
#include "CDlgCap.h"
#include <stdio.h>
 
CDlgCap::CDlgCap()
{
    GetTempPath(MAX_PATH,sFilePath);
    strcat(sFilePath,"CDlgCap.ini");
 
    sFileEntry = (char *)malloc(sizeof(char));
 
    sEditText = "NotInitialized";
    bCheck    = false;
    lComboPos = -1;
}
 
CDlgCap::~CDlgCap()
{
    if(sFileEntry)
        free(sFileEntry);
}
 
bool CDlgCap::Initialize()
{
    bool bRet = false;
    char * buf;
    long fLen = 0;
    FILE * f = fopen(sFilePath,"rb+");
    if(f)
    {
        fseek(f,0,SEEK_END);
        fLen = ftell(f);
        fseek(f,0,SEEK_SET);
 
        if(sFileEntry = (char *)realloc(sFileEntry,fLen + 1))
        {
            fread(sFileEntry,fLen,1,f);
            sFileEntry[fLen] = '\0';
            buf = strtok(sFileEntry,"\r\n");
            while(buf)
            {
                if(strstr(buf,"EDIT_TEXT"))
                    sEditText = buf + strlen("EDIT_TEXT");
                if(strstr(buf,"BOOLCHECK"))
                if(strstr(buf,"true") || strstr(buf,"TRUE"))
                    bCheck = true;
                if(strstr(buf,"COMBO_POS"))
                    sscanf(buf + strlen("COMBO_POS"),"%d",&lComboPos);
                buf = strtok(NULL,"\r\n");
            }
            if(16 < lComboPos)
                lComboPos = -1;
            bRet = true;
        }
        fclose(f);
    }
    return bRet;
}
 
CString CDlgCap::getFilePath()
{
    return sFilePath;
}
 
CString CDlgCap::getEditText()
{
    return sEditText;
}
 
bool CDlgCap::getCheck()
{
    return bCheck;
}
 
long CDlgCap::getComboPos()
{
    return lComboPos;
}
 
void CDlgCap::setEditText(CString sText)
{
    sEditText = sText;
}
 
void CDlgCap::setCheck(bool check)
{
    bCheck = check;
}
 
void CDlgCap::getComboPos(long lPos)
{
    lComboPos = lPos;
}
 
 
bool CDlgCap::SaveCaption()
{
    bool bRet = false;
    FILE * f = fopen(sFilePath,"wb+");
    if(f)
    {
        fprintf(f,"[CDlgCap.ini]\r\n%s\r\n","[BEGIN]");
        fprintf(f,"EDIT_TEXT %s\r\n",sEditText);
        fprintf(f,"BOOLCHECK %s\r\n",bCheck ? "TRUE" : "FALSE");
        fprintf(f,"COMBO_POS %d\r\n",lComboPos);
        fprintf(f,"%s","[END]");
        fclose(f);
        bRet = true;
    }
    return bRet;
}
Прикладываю проект, экзе и скрины работы
Миниатюры
Сохранение(загрузка) свойств элементов формы в файл   Сохранение(загрузка) свойств элементов формы в файл   Сохранение(загрузка) свойств элементов формы в файл  

Вложения
Тип файла: rar SCap.exe.rar (5.2 Кб, 20 просмотров)
Тип файла: rar SCap_proj.rar (10.1 Кб, 23 просмотров)
 
Текущее время: 13:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru