BCB中的“保存文件”组件类---TSaveDialog

学习提速专享!AI工具全家桶免费用 限时购周边加赠Coding Plan Lite,解锁20+主流AI工具,写代码、查资料快人一步! 阅读详情

     在很多界面软件中, 点击某按钮后, 经常弹出一个保存, 让我们选择把文件保存在哪里, 以什么文件名保存(此时, 文件作为输出), 这是怎么做到的呢? 其实非常简单, BCB给我们提供了现成的东东:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TOpenDialog *test = new TSaveDialog(this);
  
    test->Title = "请选择保存文件";  // 弹出框的标题
    test->InitialDir = "d:";   // 默认目录
    test->Filter="txt files (*.txt)|*.txt";  // 文件类型  
  
    if(test->Execute())
    {  
          ShowMessage(test->FileName);  // 用户选择了保存某文件
    }
    else
    {  
          ShowMessage("error");  // 用户放弃选择
    }  

    delete test;
}
//---------------------------------------------------------------------------


基于C++ Builder 6的记事本软件开发:毕业设计实战指南 桌面应用程序开发是计算机软件工程领域的核心实践方向,其原理基于事件驱动编程模型与图形用户界面(GUI)框架。通过可视化组件库和集成开发环境(IDE),开发者能够高效构建功能完备的Windows原生应用,这对于理解操作系统交互、文件系统操作及内存管理具有重要技术价值。在文本编辑、办公辅助等典型应用场景中,记事本软件作为经典案例,涵盖了从界面设计到文件处理的全流程。本文聚焦于使用C++ Builder 6这一RAD工具,详细解析如何实现包括多文档界面(MDI)和语法高亮在内的核心功能模块,为毕业设计提供扎实的工 阅读详情

相关推荐

C++ Builder 6 工业控制与遗留系统维护实战指南

在工业自动化、数据采集和遗留系统维护领域,快速应用程序开发(RAD)工具和高效的图形用户界面(GUI)构建能力至关重要。C++ Builder 6 作为经典的 RAD 工具,其核心原理在于将面向对象编程与可视化组件库(VCL)深度结合,通过事件驱动模型和拖拽式设计,极大提升了 Windows 桌面应用的开发效率。这一技术价值在需要直接操作硬件(如串口、板卡)或维护长期稳定运行的工业控制软件时尤为突出,其开发速度和运行稳定性在现代场景中依然具备优势。应用场景广泛覆盖了医疗设备、数控机床、工控机等配套 PC 端

weixin_30621711的博客 508

使用BCB开发的功能强大的画图板

BCB 环境下的画图的例子,支持标准的画线、画点、画矩形等等。同时支持标准的颜色配色方案

C++ Builder 6实战教程:从零构建Windows桌面应用,掌握C++与VCL核心开发

C++作为一门经典的面向对象编程语言,其核心价值在于对内存管理、指针操作和底层系统调用的精细控制,这使得它在需要高性能和硬件直接交互的桌面应用开发中依然占据重要地位。其技术原理通过类、继承、多态等机制,实现了代码的模块化和复用,为构建复杂软件系统提供了坚实基础。在工程实践中,快速应用程序开发工具能够显著提升GUI程序的开发效率,通过可视化拖拽和事件驱动编程模型,将界面设计与业务逻辑紧密结合。C++ Builder 6正是这样一款经典的RAD工具,它基于VCL组件库,让开发者能够在直观的IDE环境中,快速构建

weixin_30621711的博客 338

c++ Builder+实例入门陈雪飞清晰版

第1章 制作一个简单的计算器  1.1 基础知识  1.1.1 C++ Builder的集成开发环境   1.1.2 C++ Builder控件的使用方法  1.1.3 有关计算器制作中用到控件的介绍  1.2 编程思路  1.3 操作步骤  1.4 创意与超越  1,5 本章小结 第2章 单窗口文本编辑器  2.1 基础知识  2.1.1 TOpenDialog控件和TsaveDialog控件的属性   2.1.2 控件的方法和事件  2.2 编程思路  2.3 操作步骤 2.4 创意与超越 2.5 本章小结 第3章 MDI窗体应用程序 3.1 基础知识 3.1.1 主窗体和子窗体间的通讯 3.1.2 主菜单和子菜单的融合 3.1.3 Dialog控件系列介绍 3.2 编程思路 3.3 操作步骤 3.4 创意与超越 3.5 本章小结 第4章 剪贴板查看器 4.1 基础知识 4.1.1 控件的属性设置 4.1.2 事件处理 4.2 编程思路 4.3 操作步骤 4.4 创意与超越 4.5 本章小结 第5章 我的资源管理器 5.1 基础知识 5.1.1 TreeView控件 5.1.2 ListView控件 5.2 编程思路 5.3 操作步骤 5.4 创意与超越 5.5 本章小结 第6章 系统文件浏览器 6.1 基础知识 6.1.1 注册表和 INI文件简介 6.1.2 TRegistryIniFile的属性和方法 6.2 编程思路 6.3 操作步骤 6.4 创意与超越 6.5 本章小结 第7章 绘制一个简单的图表 7.1 基础知识 7.2 编程思路 7.3 操作步骤 7.4 创意与超越 7.5 本章小结 第8章 图像编辑器 8.1 基础知识 8.2 编程思路 8.3 操作步骤 8.4 创意与超越 8.5 本章小结 第9章 制作一个简单的播放器 9.1 基础知识 9.1.1 AutoEnable属性 9.1.2 Display属性 9.1.3 Fileplayer属性 9.1.4 FileName属性 9.1.5 DeviceType属性 9.1.6 EnabledButton属性 9.2 编程思路 9.3 操作步骤 9.4 创意与超越 9.5 本章小结 第10章 二维图像处理器 10.1 基础知识 10.1.1 OpenGL的工作顺序 10.1.2 程序的基本结构 10.2 编程思路 10.2.1 OpenGL应用程序库 10.2.2 OpenGL对windows系统的扩展库函数 10.2.3 OpenGL辅助函数库 10.3 操作步骤 10.4 创意与超越 10.5 本章小结 第11章 二人对战五子棋 11.1 基础知识 11.1.1 游戏界面设计 11.1.2 游戏所使用的数据结构和算法 11.1.3 TDrawGrid组件的介绍 11.1.4 TTimer组件的使用 11.2 编程思路 11.2.1 TDrawGrid的应用 11.2.2 计时功能 11.3 操作步骤 11.4 创意与超越 11.4.1 数据结构 11.4.2 程序流程 11.5 本章小结 第12章 学生资料管理程序 12.1 基础知识 12.1.1 数据库基本知识 12.1.2 访问数据库的基本途径 12.2 编程思路 12.3 操作步骤 12.4 创意与超越 12.4.1 中文数据库的字段名 12.4.2 中文输入法的自动切换 12.4.3 对TDBNavigator组件的修改 12.5 本章小节 第13章 高级学生资料管理程序 13.1 基础知识 13.1.1 TQuery组件与TTable的比较 13.1.2 SQL语言简介 13.1.3 TDBChart组件的使用 13.2 编程思路 13.3 操作步骤 13.4 创意与超越 13.5 本章小结 第14章 多媒体数据库的开发 14.1 基础知识 14.1.1 多媒体数据的特点及处理方法 14.1.2 以文件方式保存和播放多媒体数据 14.1.3 以数据方式保存和播放多媒体数据 14.1.4 TOleContainer组件的简单介绍 14.1.5 利用QuickReport组件制作中文数据报表 14.2 编程思路 14.3 操作步骤 14.4 创意与超越 14.5 本章小结 第15章 简单的CGI程序 15.1 基础知识 15.1.1 TWebModule控件 15.1.2 TPageProducer、TQueryTableProducer和TDataSetTableProducer控件 15.1.3 超文本标识语言 15.1.4 CGI的工作原理 15.2 编程思路 15.3 操作步骤 15.4 创意与超越 15.5 本章小结 第16章 网页浏览 16.1 基础知识 16.1.1 什么是WWW 16.1.2 什么是URL 16.1.3 打开URL和连接 16.1.4 在页面之间跳转 16.1.5 获得浏览器的状态信息 16.2 编程思路 16.3 操作步骤 16.4 创意与超越 16.5 本章小结 第17章 电子邮件客户端程序 17.1 基础知识 17.1.1 POP3协议 17.1.2 SMTP协议 17.2 编程思路 17.3 操作步骤 17.4 创意与超越 17.5 本章小结 第18章 网上聊天程序 18.1 基础知识 18.1.1 TServerSocket控件的属性、方法和事件 18.1.2 TClientSocket控件的属性、方法和事件 18.1.3 处理异常 18.2 编程思路 18.3 操作步骤 18.4 创意与超越 18.5 本章小结 第19章 FTP客户端 19.1 基础知识 19.2 编程思路 19.3 操作步骤 19.4 创意与超越 19.5 本章小结 附录A C++语法基础 A.1 C++的基本数据类型及常量、变量 A.1.1 常用的基本数据类型 A.1.2 变量的定义 A.1.3 常量的定义 A.2 操作符、表达式及语句 A.2.1 操作符 A.2.2 表达式 A.2.3 语句 A.3 数组 A.3.1 数组的定义 A.3.2 初始化数组 A.3.3 数组元素的访问 A.3.4 二维数组 A.4 指针 A.4.1 指针的定义 A.4.2 指针运算 A.4.3 指针与数组

实现log存储机制

1:目的 实现运行代码的时候把一些需要记录的信息,保存log文件中去 2:功能 实现通过函数向固定文件写入log信息 实现每条log前面添加时标 实现每条log上添加运行APP的名字 实现可以限制log文件的大小 实现可以当log文件超过指定大小时,对log进行一次备份保留 3:代码 /******************************************************************************* * @file file.c *

kayshi的博客 1109

Tsavedialog 用法

1. filter 属性: Filter:='模板文件(*.emt)|*.emt;*.erp'; |号前面的显示给用户界面看,后面是文件类型,超过一个的用 分号 分开。 dlgSave1.Filter:='模板文件(*.emt)|*.emt'; dlgSave1.FileName:=pData_Current.sName+'.emt'; //在 对话框打开...

aiyitan9175的博客 636

在C++Builder中,TSaveDialog控件的基本用法

/ 指定默认打开对话框的路径, 该路径是当前工程文件的工作目录。// 可以支持txt文件或者任意文件。// 默认的文件扩展名。1、 TSaveDialog 文件保存对话框控件,(能够支持多种文件过滤器) 在Form设计器中添加该控件。选择好了之后 :: SaveDialog1->FileName 是保存后的文件路径。属性:Filter 文件过滤器,支持保存文件种类。

fall_on_me的博客 1034

delphi TSaveDialog

TSaveDialog 预览 实现过程 动态创建和使用保存文件对话框 procedure TForm1.Button1Click(Sender: TObject);beginwith TSaveDialog.Create(nil) dobeginFilter:='Text file...

weixin_30699443的博客 654

TSaveDialog怎么不自动关闭

在Option中有个ofOverwritePromt属性,设置成ture即可

youxiazzz12的专栏 457

转 DELPHI常用的VCL类简介

窗体和应用程序类表示Form和Application对象,这些类是从TComponent派生而来,它们实际也是组件,单独地把它列举出来,以示与拖到窗体上的控件加以区别。 1、 TApplication类 TApplication类封装了Windows程序的基本操作。TApplication所担负的任务有:管理图标、提供快捷帮助和基本消息处理。每个Delphi应用程序都有一个指向TApplica...

weixin_33918114的博客 157

delphi的VCL公用对话框组件

在程序运行期间调用各种公用对话框很简单,只需使用Execute方法即可。Dialogs类引入了抽象的Execute函数。 TOpenDialog——打开文件对话框组件,用它选择文件和浏览目录 TSaveDialog——保存文件对话框组件,用它类输入或选择文件名以及浏览目录 TFontDialog——字体设置对话框组件,用它可以允许用户选择字体进行设置 TColorDialog——颜色设置对...

木生火 660

VCL组件之公用对话框组件

公用对话框是一类非可视的组件,它们都由TDialog类继承而来,存在Dialogs组件面板上。包括: TOpenDialog——打开文件对话框组件,用它选择文件和浏览目录 TSaveDialog——保存文件对话框组件,用它类输入或选择文件名以及浏览目录 TFontDialog——字体设置对话框组件,用它可以允许用户选择字体进行设置 TColorDialog——颜色设置对话...

weixin_34232617的博客 259

[转]:BCB中的文件操作

毕设所需原文地址:[转]:BCB中的文件操作作者:Neil<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 转载自:<a href= "http://blog.chinaunix.net/

Rgazer的博客 1931

c++(bcb)读取txt最后一行

c++读取TXT文件,读取最后一行。 TStringList *slt=new TStringList; slt->LoadFromFile(".//a.txt"); String x = ""; int len = slt->Count; while(slt->Strings[--len] != " ") { x = Utf8ToAnsi(slt->String...

github_38384969的博客 981

Delphi技巧集FAQs索引

Delphi tips and FAQs  Delphi技巧集索引VCL:#0002 How can I draw the rotated text on canvas? 如何在画布上写旋转文字#0005 To change a font style (bold nodes) in standard TTreeview component改变TTreeview控件的字体样式 #0008

禾苗雨的专栏 3135

Delphi字符串处理(下面贴出的是完整的可运行代码)

直接将下面的代码拷贝到IDE中是可运行的,我这里只做几点解释1.在delphi中换行  不是/n  也不是 /r  而是  #13#102.取memo的行数  MContent.lines.count 3.判断字符串中某个字符的位置  Pos(m, str)  第一个参数为欲查找的字符4.截取字串  copy(str, 7, size); 参数定义为 原字符串、开始位置(包含)

河之堤 1545

Delphi的保存文件对话框-TsaveDialog

TsaveDialog继承于TOpenDialog,只介绍以下几个内容: 1、TsaveDialog如何设定为保存的默认路径是当前程序所在的文件夹: 默认目录是当前程序所在目录应设置属性InitialDir: opendialog1.InitialDir := extractfilepath(application.ExeName); savedialog1.InitialDir :...

weixin_30517001的博客 944
上一篇: BCB中的“浏览文件”组件类---TOpenDialog
下一篇: 我玩adb时常用的命令
涛歌依旧
涛歌依旧 优质创作者: 后端开发技术领域 优质创作者: 后端开发技术领域 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄14年 28万+粉丝 2592原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值