lazarus:不安装任何驱动,直接使用csv文件作为数据集

2023-11-07 12:52

本文主要是介绍lazarus:不安装任何驱动,直接使用csv文件作为数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1 简介

2 需要的窗体控件很简单

3 定义字段并插入几条记录

4 其他操作

4.1 数据集保存为csv文件

4.2 清空数据

4.3 加载csv文件

5 运行程序

6 导出文件


1 简介

在某些数据操作需求特别简单的情况下,我们希望不要安装任何数据库,甚至连一个驱动dll都不要,因为这些驱动dll可能涉及到版本甚至跨平台问题。这种简单需求,可以直接使用csv文件作为数据集来进行增查删改操作。注意,这不是用某些数据库映射csv文件作为数据库的一个表。

这种直接操作csv文件数据集好处不少,比如不用安装任何驱动,支持跨平台,可以直接使用文本编辑器修改文件,体积极小容易发布等。当然Lazarus还有其他可用的类似方式,比如直接操作电子表格文件、dbf文件等,都不需要安装驱动,都可以实现增查删改功能。

这里简单介绍把csv映射为数据集以及相关的简单操作。

2 需要的窗体控件很简单

核心控件就是这个 CSVDataset,位于控件集的Data Access页签中。

3 定义字段并插入几条记录

在FormCreate事件中,检查是否存在指定名称的csv文件,如果存在就直接加载。如果不存在,则定义字段信息,然后用代码插入几条记录:

procedure TForm1.FormCreate(Sender: TObject);
beginCSVDataset1.FileName := Application.Location + FILENAME;CSVDataset1.CSVOptions.FirstLineAsFieldNames := true;// 程序首次运行,数据文件不存在.// 必须创建字段信息.建立数据集。if not FileExists(CSVDataset1.FileName) then beginwith CSVDataset1 do beginFieldDefs.Add('FirstName', ftString, 20);FieldDefs.Add('LastName', ftstring, 20);FieldDefs.Add('City', ftString, 20);FieldDefs.Add('Address', ftString, 30);FieldDefs.Add('Birthdate', ftDate);CreateDataset;// 打开数据集...Open;// ... 增加数据:Append;FieldByName('FirstName').AsString := 'Walter';FieldByName('LastName').AsString := 'Mellon';FieldByName('City').AsString := 'Oklahoma City';FieldByName('Address').AsString :=  '1261, Main Street';FieldbyName('Birthdate').AsDateTime := EncodeDate(1980, 1, 1);Post;Append;FieldByName('FirstName').AsString := 'Mario';FieldByName('LastName').AsString := 'Speedwagon';FieldByName('City').AsString := 'Hollywood';FieldByName('Address').AsString :=  '1500, Hollywood Blvd';FieldbyName('Birthdate').AsDateTime := EncodeDate(1982, 12, 17);Post;Append;FieldByName('FirstName').AsString := 'Anna';FieldByName('LastName').AsString := 'Mull';FieldByName('City').AsString := 'Los Angeles';FieldByName('Address').AsString :=  '2202, Capitol Square';FieldbyName('Birthdate').AsDateTime := EncodeDate(1982, 12, 17);Post;end;end;CSVDataset1.Open;
end;  

4 其他操作

4.1 数据集保存为csv文件

procedure TForm1.Button1Click(Sender: TObject);
beginCSVDataset1.SaveToCSVFile('exported.csv');
end; 

4.2 清空数据

procedure TForm1.Button2Click(Sender: TObject);
beginCSVDataset1.Clear;
end; 

4.3 加载csv文件

procedure TForm1.Button3Click(Sender: TObject);
beginCSVDataset1.LoadFromCSVFile('exported.csv');
end; 

5 运行程序

6 导出文件

导出的csv文件如果有中文,需要以utf8格式查看。

这篇关于lazarus:不安装任何驱动,直接使用csv文件作为数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/363748

相关文章

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,