Advertisement

Delphi保存窗体所有信息

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本教程介绍如何使用Delphi编程语言保存和加载窗体的所有相关信息(如控件状态、大小位置等),确保应用程序的状态可以被持久化存储并在下次启动时恢复。 主要代码放在Project1.dpr文件中。生成窗体的时候先加载程序根目录下的FormData.Dat文件,如果失败则加载程序默认的窗体资源。程序结束时会保存当前窗体的状态到FormData.Dat文件。保存的内容包括很多方面,例如TMemo组件中的内容、TImage组件中的图片以及每个控件(包含整个窗体)的位置和大小。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Delphi
    优质
    本教程介绍如何使用Delphi编程语言保存和加载窗体的所有相关信息(如控件状态、大小位置等),确保应用程序的状态可以被持久化存储并在下次启动时恢复。 主要代码放在Project1.dpr文件中。生成窗体的时候先加载程序根目录下的FormData.Dat文件,如果失败则加载程序默认的窗体资源。程序结束时会保存当前窗体的状态到FormData.Dat文件。保存的内容包括很多方面,例如TMemo组件中的内容、TImage组件中的图片以及每个控件(包含整个窗体)的位置和大小。
  • Google Chrome 插件_资源
    优质
    保存所有资源是一款适用于Google Chrome浏览器的强大插件,它能够帮助用户轻松保存网页中的各种类型文件和数据,极大提升了用户的浏览体验。 可以下载F12模式下的所有sources。
  • C#中的三种方式
    优质
    本文介绍了在C#编程语言中实现保存窗体状态的三种方法,帮助开发者灵活地管理应用程序界面的持久化。 共有四个工程: 1. 使用C#中的Configuration的appsetting来保存窗体大小和位置。 2. 利用Configuration的自定义节点来存储窗体大小和位置的信息。 3. 通过FileStream方法,将包含位置与尺寸数据的对象进行保存。 4. 利用configuration功能保存字符串形式的数据,例如用于数据库连接的字符串。
  • Java中输入并学生口程序
    优质
    本程序为Java开发的学生信息管理界面应用,用户可在此输入并存储学生的个人信息,便于高效管理和查询。 这个小程序实现了在一个窗口读入一个学生的基本信息,并将其写入文件中。同时,该程序还可以从文件中读取学生的信息。虽然功能简单,但非常实用。
  • Delphi 反编译工具 IDR (Interactive Delphi Reconstructor)
    优质
    IDR(Interactive Delphi Reconstructor)是一款用于Delphi窗体文件的反编译工具,能够将已编译的DCU或BPL文件中的Delphi窗体重现为PAS单元文件,便于开发者理解和修改。 2015年3月26日:Delphi XE3的知识库文件免费提供。 2015年3月23日:Delphi XE及Delphi XE2的知识库文件免费提供。 2015年3月16日:最新版本可供下载。 IDR(Interactive Delphi Reconstructor)是一款用于反编译可执行文件(EXE)和动态链接库(DLL)的程序,使用Delphi编写并在Windows 32位环境下运行。该软件最初是为开发防病毒软件的企业设计的,同时也能帮助程序员恢复丢失的源代码。 当前版本能够处理由Delphi编译器(从Delphi2到Delphi XE3)编译的所有文件类型(包括图形用户界面和控制台应用程序)。最终的目标是使程序能将大部分初始的Delphi源码从已编译文件中还原出来,尽管目前IDR和其他类似软件还无法做到这一点。然而,与同类产品相比,IDR在分析结果的完整性和可靠性方面处于领先地位,并且其交互性使其使用起来更加舒适和愉悦。 该程序进行静态分析(被分析的文件不会加载到内存或执行),这使得安全调查病毒、木马及其他恶意软件成为可能。此外,它无需安装活动也不需要更改Windows注册表设置。 附上IDR主窗口截图以供参考,并且可以查看单独页面上的工作示例。详细了解该程序的功能,请下载帮助文件(CHM格式)。
  • 使用TinyXML从VOC2012 XML标注文件中提取并目标
    优质
    本项目旨在通过TinyXML库解析VOC2012数据集中的XML标注文件,专门筛选出包含人类对象的数据,并将其妥善保存以便进一步分析和应用。 使用TinyXML读取VOC2012数据集中的XML标注文件,并从中裁剪出所有人体目标,将其保存为新的文件。
  • 将工作区为结构:此功能可将当前工作区的变量至结构数组 - MATLAB开发
    优质
    本MATLAB工具能够将工作区中的所有变量高效地存储到一个结构体数组中,便于数据管理和后续访问。 有时您需要保存基础工作区中的变量,但使用“保存”功能会将它们全部单独存储,因此如果您将其重新加载到新工作区中可能会导致混乱,并且某些变量可能被覆盖。通过此函数,您可以将这些变量打包成一个结构体数组并轻松地保存为.mat文件,在重新加载时易于识别。 例如: ``` a = 拉拉 b = [1:12:258] c = {{cell1, cell2, cell3}} d = 768 e = true(3) workspace=ws2struct(); workspace = a: 拉拉 b: [1x22 double] c: {1x3 cell} d: 768 e: [3x3 logical] ``` 这样可以确保所有变量被妥善保存并便于后续使用。
  • Delphi XE2与Dev中主Panel嵌入DLL源码
    优质
    本资源提供使用Delphi XE2和Dev-C++实现将主窗体内嵌DLL窗体功能的源代码,适用于Windows平台下的应用程序开发。 在XE2+Dev开发环境下已测试通过并实际应用到项目中。功能:将DLL封装的窗体嵌入主程序的Panel中,非主副窗体结构,使DLL窗体能够完美融入主窗体。
  • 托盘和界面的Delphi系统服务程序
    优质
    本Delphi开发的服务程序集成了托盘图标与用户交互式窗口界面,允许在后台运行同时提供直观操作体验。 在软件开发过程中,有时我们需要创建能在后台运行且不受用户界面操作影响的服务程序。这类程序通常被设计为系统服务,在Windows操作系统上尤为常见。Delphi作为一款强大的面向对象的集成开发环境(IDE),提供了丰富的工具和库来帮助开发者实现这一目标。本教程将详细介绍如何使用Delphi构建一个包含托盘图标及窗体界面的系统服务程序。 **一、托盘图标** 托盘图标是用户与后台程序交互的一个重要手段,通常位于任务栏右下角。在Delphi中,我们可以通过`TTrayIcon`组件来实现这一功能。将此组件拖放到窗体上,并设置其`Icon`属性为所需的图标,同时添加响应单击事件的代码以打开或执行特定操作。 ```delphi procedure TForm1.TrayIcon1Click(Sender: TObject); begin if Form1.Visible = False then Form1.Show; else Form1.Hide; end; ``` **二、窗体界面** 窗体是用户与程序交互的主要途径。在Delphi中,通过`TForm`类创建窗体,并可以在设计时添加各种控件如按钮和文本框等。服务程序中的窗体可能需要根据需求动态显示或隐藏,可以使用`Show`和`Hide`方法来控制其可见性。 ```delphi procedure TForm1.Button1Click(Sender: TObject); begin Form1.Show; end; ``` **三、两栖功能** 为了使程序既能以普通应用形式运行,也能作为服务注册启动,我们需要编写代码处理这两种情况。Delphi提供了`TService`类用于创建系统服务,并使用`TServiceApplication`来管理服务的启动和停止操作。在主程序中判断是否已作为服务启动并相应地执行不同逻辑。 ```delphi function IsService: Boolean; begin Result := (GetModuleHandle(services.exe) <> 0); end; procedure TForm1.FormCreate(Sender: TObject); begin if IsService then begin // 处理以服务形式运行的代码 end else begin // 处理普通应用程序模式下的操作逻辑 end; end; ``` **四、注册与卸载服务** 要将程序作为系统服务进行注册,我们需要调用Windows API函数`CreateService`。同样地,使用`DeleteService`来移除已安装的服务。在Delphi中可以利用`System.Win.Services`单元中的相关类如 `TSCManager`, `TServiceController`等来进行操作。 ```delphi uses System.Win.Services; procedure RegisterService(const ServiceName, DisplayName, Description: string); var SCManager: TSCManager; Service: TService; begin // 注册服务的代码实现细节 end; procedure UnregisterService(const ServiceName: string); var SCManager: TSCManager; ServiceController: TServiceController; begin // 卸载服务的具体操作步骤 end; ``` **五、源码分析** 在提供的压缩包文件中,`Source`目录下的源代码详细展示了上述功能的实现过程。通过阅读和理解这些源代码,开发者可以更好地掌握使用Delphi开发系统服务程序的技术细节与技巧。 利用Delphi构建带托盘图标及窗体界面的系统服务程序,需要熟悉Delphi组件机制以及Windows服务相关的API函数。经过学习实践后,开发者能够创建出高效稳定的后台服务应用程序以满足不同应用场景的需求。