第51课 程序中的配置文件

1. 程序状态的保存和恢复

(1)程序的状态

  ①应用程序在运行后都有一个初始化的状态

  ②一般而言,程序的初始状态是最近一次运行退出前的状态

(2)解决思路

  ①程序退出前保存状态参数到文件(数据库)

  ②程序再次启动时读出状态参数并恢复

(3)状态参数的存储方式

  ①文本文件格式(XML、JSon等)

  ②轻量级数据库(Access、SQLite等)

  ③私有二进制文件格式

2. Qt中的解决方案

(1)通过二进制数据流将状态参数直接存储于文件中

(2)优势

  ①参数的存储和读取简单高效,易于编码实现

  ②最终文件为二进制格式,不易被恶意修改

(3)设计与实现

           

【编程实验】文本编辑器的状态配置

3. 小结

(1)应用程序在退出时保存程序状态(用户配置)

(2)应用程序启动时恢复最近一次的程序状态

(3)可以通过二进制数据流将状态参数直接存储于文件中

(4)二进制数据流的方式非常的安全、简单、高效

时间: 2024-08-25 18:48:33

第51课 程序中的配置文件的相关文章

C#程序中访问配置文件

在C#编程中,有时候会用到配置文件,那么该如何在程序中获取或修改配置文件中的相关数据呢?下面采用一个简单的C#控制台程序来说明. 新建一个C#控制台程序,打开“解决方案资源管理器”,如下图: 可以看到里面没有配置文件,下面使用修改.net的版本来将其调出来.选中工程,单击右键,选择属性.   此时配置文件出来了.按照下图添加配置信息: 好了,现在我们就添加代码来访问这些信息. ? 1 2 3 4 5 6 7 8 9 /// <summary> /// 在配置信息中根据指定的键获取值. ///

第39课 程序中的三国天下

1. 程序中的栈 1.1 栈的简介 (1)栈中现代计算机程序里最为重要的概念之一 (2)栈在程序中用于维护函数调用上下文 (3)函数中的参数和局部变量存储在栈上 (4)栈保存了一个函数调用所需的维护信息 1.2 函数调用过程 (1)每次函数调用都对应着一个栈上的活动记录,调用函数的活动记录位于栈的中部,被调用函数的活动记录位于栈的顶部. (2)函数调用栈的变化:以int main(){f();}→f(){}为例 1.3 函数调用栈上的数据 (1)函数调用时,对应的栈空间在函数返回前是专用的 (2

在程序集或控制台程序中读取配置文件

https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration/?tabs=basicconfiguration Nuget 添加 Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Options.ConfigurationExtensions using Microsoft.Extensions.Configuration; using Sys

第7课 - 程序中的数据输入

1.问题:如何使用C语言从键盘输入数据? stdio.h工具包提供了一个数据输入工具scanf scanf通过正确设置后,能够获取键盘输入的数据 scanf将键盘获取的数据“填入”变量 stdio.h中scanf的使用示例: 注意事项: scanf中的格式化字符不能包含其他无关字符 scanf中的格式化字符必须与对应的变量类型一致 编程实验:键盘输入 7-1.c 2.编程小任务:输入两个整数,并求和 思路: 定义2个用于相加的整型变量 使用scanf从键盘输入整数 使用printf打印相加的结果

Spark3000门徒第9课IDEA中开发Spark实战总结

今晚听了王家林老师的第9课IDEA中开发Spark实战,课后作业是:在Idea中编写广告点击排名的程序并提交集群测试, IDEA社区版本就够用,Ultimate没必要还要钱 程序如下: object WordCountCluster { def main(args: Array[String]){ /** * 第一步:创建spark的配置对象SparkConf,设置Spark程序的运行时的配置信息 * */ val conf = new SparkConf() //创建SparkConf对象 c

C#开发中使用配置文件

C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序在下次运行时可以保留上次的一些设置.同样有时我们希望修改某些设置而不需要重新编译程序,这样也可以通过修改本地配置文件达到目的.之前在网上看到过一篇文章,讲的是小程序或测试类的程序应该追求效率,相关配置完全可以硬编码到代码里,无需写到配置文件里.关于什么属于小程序并没有一个明显的界定,至于要不要写到配

SWIFT中获取配置文件路径的方法

在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDirectory() ->String { var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentationDirectory, NSSearchPathDomainMask.UserDomainMa

程序中的字符编码

每个程序员都经历过字符乱码的困扰,经过一通折腾后,总算显示正常,但之后似乎还是时不时碰到乱码的问题. 当我们打开notepad或者ultraedit后,这些工具都会自带编码转换的选项,里面各种字符编码格式十分复杂,往往一头雾水. 这里不谈具体编码格式问题,这是一个很学究的话题.其实对于软件开发而言,除非专门做字符编码相关的软件,否则我们一般遇到的最多的也就那么几种字符编码,如utf和gbk.这里要说的是,当我们要考虑字符编码时,理解一个基本的场景模型,然后根据这个模型,在遇到乱码问题后就可以定位

在.net桌面程序中自定义鼠标光标

有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 对于WinForm程序,可以通过修改Control.Cursor属性来实现光标的修改,如果我们有光标文件的话,可以直接通过如下代码实现自定义光标: this.Cursor = new Cursor("myCursor.cur"); 但这种方式不是本文介绍的重点,本文主要介绍如何自己绘制光