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

相关文章

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp