请问如何用DELPHI读取文本文件的最后一行?

ashfish 2009-07-23 11:47:13
请给一个例子,万分感谢。
...全文
398 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinoalex 2009-07-23
  • 打赏
  • 举报
回复
while not Eof(sTxtFile) do
begin
ReadLn(sTxtFile, Str);
end;
// 再一次
ReadLn(sTxtFile, Str); 就是最后一行了
ffwin 2009-07-23
  • 打赏
  • 举报
回复
sTxtFile: TextFile;
fp: TextFile;


if fileexists('txtFilename') then
begin
assignFile(sTxtFile, 'txtFilename');
reset(sTxtFile);
end


try

while not Eof(sTxtFile) do
begin
ReadLn(sTxtFile, Str);
Str := trim(Str);

while not Eof(sTxtFile) do
begin
ReadLn(sTxtFile, Str);
Str := trim(Str);

if Str <> '' then
begin



end;
end; {while}


end; {while }

finally
CloseFile(sTxtFile);
yxbv84267 2009-07-23
  • 打赏
  • 举报
回复
可以把文件加载到TStringList或控件Memo(或其他可加载文件的控件)中
例子如下:
var
StrLst:TList;
FilePath:string; //所要加载的文件完整路径
begin
StrLst:=TStringList.Create;
FilePath:='D:\text.txt'
StrLst.LoadFromFile(FilePath);
ShowMessage(StrLst[StrLst.Count-1]);//StrLst[StrLst.Count-1])读取最后一行
StrLst.Free;
end;
InceptKnowledge 2009-07-23
  • 打赏
  • 举报
回复
"1.txt" 文件格式如下:
1
2
3
4

var
DataList: TStringList;
Idx: Integer;
begin
DataList := TStringList.Create;
try
DataList.LoadFromFile('1.txt');
Idx := DataList.Count - 1;
ShowMessage(DataList.Strings[Idx]);
finally
DataList.Free;
end;
ly_liuyang 2009-07-23
  • 打赏
  • 举报
回复
TStringList
ashfish 2009-07-23
  • 打赏
  • 举报
回复
谢谢各位
zhunanhui 2009-07-23
  • 打赏
  • 举报
回复
5楼的不对吧,再读已经超出文件尾了。
procedure TForm1.Button1Click(Sender: TObject);
var
ATextFile: TEXTFile;
strln:string;
begin
AssignFile(ATextFile, 'TEST.TXT');
reset(ATextFile);
while not Eof(ATextFile) do
begin
ReadLn(ATextFile, strln);
end;
// readln(ATextFile, strln);
ShowMessage(strln);
end;
Eagle_ice 2009-07-23
  • 打赏
  • 举报
回复
2楼跟4楼的 学习了...
Windows中的通用应用程序的类名 使用API函数复制移动文件 使用API访问ListBox项 使用GetTempFileName创建一个唯一的临时文件 使用INI文件 使用INI文件保存、装载字体信息 使用TFileStream 使用TStream保存字符串 使用TTreeview显示目录 使窗体的关闭按钮失效 修改文本文件 允许在资源管理器中拖放文件 减小EXE文件大小 列举驱动器 列出目录下的子目录 创建快捷方式 创建目录 删除文件到回收站 判断文件夹是否共享 剪贴板存放多个控件流 加载CDROM图标 压缩和解压流 取MP3的ID3-Tag 取Program files目录 取可执行文件类型 取和文件类型关联的应用程序 取当前程序所在目录 取指定文件的版本信息 取文件修改日期 取文件日期 取文件最后访问日期 取文件版本号 取文件的所有者 取目录大小 取磁盘可用空间和总空间 取设置当前目录 取设置文件夹的日期 向Exe文件中添加数据 向文件写添加文本 在TMemo光标位置插入一个文件 在Windows开始后自动运行一个程序 在应用程序中添加Exe文件并且执行 在文件中搜索字符串 在文件中搜索指定文本 在文本文件中搜索文本 将剪贴板复制到流和恢复 将文本文件赋值给一个字符串 将资源文件中Rft文本装载到TRichEdit 将长文件名转换成短文件名 彻底删除文件 打开资源管理器且显示指定文件夹 捕获DOS应用程序的输出 改变TPageControls的颜色 改名、移动、删除文件或目录 显示‘打开方式’对话框 显示文件属性对话框 显示目录选择对话框 显示目录选择对话框并指定初始目录 替换正运行的DLL 检查文件是否ASCII格式 检查文件是否在本地驱动器 检查文件是否已打开 检查文件是否正在使用 检查目录是否存在 比较两个文件是否相同 添加去掉路径名后的符号 添加文件到文档菜单 清空文档 获取文件类型 获得快捷方式信息 获得文件大小 计算文件的校验和 设置文件日期 读 table-textfile 到 StringGrid 读取二进制文件使用ASCII显示 转换OEM到ANSI 转换短文件名为长文件名 运行一个程序或打开一个关联文件 返回UNC路径 通过CRC-32验证文件
本程序的前身是《QQ IP数据库读取unit和示例代码》。《QQ IP数据库读取unit和示例代码》的说明:  在此unit中,实现了对于纯真网络(www.cz88.net)的IP数据库的读取,该数据库是在搜捕的基础上实现的,现广泛应用于QQ和各种论坛上,主要目的是获取IP地址和所在区域的对应关系。  本unit中,对于所有的输入参数没有进行校验,请自行在输入参数前确定参数无误,此外,对于如何使用,在本unit中进行了详细的注解,也有例程进行了一定说明。  对于IP的搜索,本程序仅仅通过二分法进行查找。改进:  在此版本中,最主要的改进是在读取速度上。对于读取IP地址信息的方法上进行了重写,并特地针对解压成文本文件设计了一个方法,该方法的速度还是比较另人满意的,一般情况下,可以在3秒钟内解压完成所有的IP数据。对于生成的文本文件可以和纯真网络解压后的文本文件比较一下,唯一差别在于纯真网络解压后的文本文件中某些行后有一个空格,不知道是什么原因造成的,在我的程序中没有这种情况。  此外,由于在速度上有了提高,所以相应的完成了对于地区的模糊搜索以及IP地址段的搜索功能。该功能不同于纯真网络提供的地方主要在于在本程序中是在搜索完成后才将所有的搜索结果一次性显示出来,而不是边搜索边显示结果。
目录清单:  01界面设计           制作一个屏幕保护程序           制作一个漂亮的VCD播放器           制作几何形状的窗体           制作桌面小精灵           制作相框           实现带阴影效果的画框           给Memo组件的显示区域加边框  02系统设置           一个托盘程序           如何实现目录的复制、删除和移动           如何改换壁纸和启动、关闭屏保           文件管理器           格式化磁盘           获取Windows、System和Temp目录           获取文件日期信息           获取驱动器信息           重启或关闭计算机           隐藏任务栏和桌面图标  03硬件访问与控制           实例1-获取和设置显示器模式           实例10 两种不同的方法获取端口信息           实例2-电源电池信息           实例3-内存状态信息           实例4-CPU型号信息           实例5-硬盘和光盘的操作           实例6-获取不同的声音播放设备           实例7-键盘相关设置           实例8-鼠标相关设置           实例9-从注册表中读取各类硬件信息  04控件应用           LISTBOX控件的折行显示           在控件中添加消息处理           将系统中的com接口包装为控件           带背景图的标签           我的资源管理器           打造自己的文件分割器           编写一个滚动提示控件           自制邮件发送客户端  05文件操作           Delphi中的INI文件编程           删除或移动正在使用的文件           如何在Delphi中操作Excel           实现应用程序的文件拖放功能           将EXE文件转换成SWF文件           将SWF文件转换成EXE文件           文件捆绑           统计中英文字个数  06图形图像多媒体           实例一--艺术字效果           实例七---photoshop图层效果           实例三---图象效果处理           实例九---在IntraWeb中显示图片数据           实例二--渐变色和动画矩形效果           实例五--编织带           实例八--动画屏保           实例六--镜框效果           实例十--matlab结合           实例十--电子地图开发之GIS组件--Mapobject深入开发           实例四---scanline属性  07数据库应用           实例1  Session获取BDE信息           实例10   决策图的使用           实例11  ThreadedIBX           实例2  可视化创建数据表格           实例3  SQL语句的使用           实例4  “一对多表”的设计           实例5   文本和数据记录的转换           实例6 利用ADO的从SQL Server 2000中读取数据           实例7  多媒体数据库的使用           实例8  IntraWeb技术的实现           实例9  Rave报表的数据库使用  08网络与通讯           实例一 用DELPHI实现网络信使服务           实例七 NetClock           实例三 断点续传           实例二 升级精灵           实例五 网络文件传输           实例六 Ping           实例四 邮件群发  09趣味游戏           实例1--小狗过桥游戏           实例10--深入opengl游戏           实例2--键盘练习           实例3--字母拼图游戏           实例4--乒乓球           实例5-6--打地鼠---2个部分           实例7-8--扫雷--2个部分           实例9--一个简单的opengl游戏
Delphi是由Inprise公司推出的面向对象的可视化软件开发工具。Delphi 5是Delphi的最新版本。本书共分三部分、16章,主要介绍Delphi 5集成开发环境,对象Pascal语言、组件、通用编程技术、动态链接库、多线程、多媒体编程、数据库编程、网络编程和Windows API编程等。 目 录 前言 第一部分 Delphi编程基础 第1章 Delphi集成开发环境 1 1.1 集成开发环境简介 1 1.2 集成调试器 5 1.3 开发环境的优化 6 1.3.1 自定义工具栏 6 1.3.2 编程环境设置 7 1.3.3 编辑环境设置 8 1.3.4 工程设置 8 1.4 方法与技巧 9 1.4.1 使用代码浏览器 9 1.4.2 使用代码编辑器 9 1.4.3 使用帮助系统 10 1.4.4 设置IDE桌面 11 第2章 对象Pascal语言 12 2.1 学习对象Pascal语言的一个通用 例程 12 2.2 对象Pascal语言基础 14 2.2.1 标识符 14 2.2.2 保留字和指令字 14 2.2.3 注释 15 2.2.4 数据类型 16 2.2.5 运算符 21 2.2.6 语句 24 2.2.7 过程与函数 27 2.3 对象Pascal语言的关键技术 30 2.3.1 对象和类 31 2.3.2 类的封装与继承 31 2.3.3 构造函数和析构函数 32 2.3.4 多态性 35 2.3.5 抽象类 38 2.3.6 运行时类型信息 39 2.3.7 类方法 41 2.3.8 类引用 42 2.3.9 单元文件与工程文件 43 2.4 异常处理 45 2.4.1 raise语句 45 2.4.2 try...except语句 45 2.4.3 try...finally语句 47 2.5 方法与技巧 48 2.5.1 命名规则 48 2.5.2 在编译时自由设置是否获得提示 信息 48 2.5.3 使用代码模板 49 2.5.4 使用动态多维数组 49 2.5.5 定义两个相互包含的类 50 2.5.6 获取和使用命令行参数 51 2.5.7 引用参数传递 51 第二部分 Delphi编程的核心技能 第3章 窗体和组件 53 3.1 窗体和组件 53 3.1.1 窗体 54 3.1.2 组件 56 3.1.3 在窗体中使用组件 57 3.2 文本组件 60 3.3 特殊输入组件 61 3.4 按钮及其分类组件 63 3.5 列表组件 64 3.6 分组组件 67 3.7 信息反馈组件 69 3.8 表格显示组件 70 3.9 图形显示组件 71 3.10 开发MDI应用程序 73 3.11 常用组件的用法 74 3.12 方法与技巧 84 3.12.1 窗体、组件的使用原则 84 3.12.2 使用信息对话框 85 3.12.3 使用组件的Hint属性 88 3.12.4 使用Edit组件的IME属性 89 3.12.5 将系统字体添加到ComboBox 组件中 89 3.12.6 在RichEdit组件中存取文件 90 3.12.7 设置模态对话框的返回值 90 3.12.8 使用事件处理过程中的Sender 参数 91 3.12.9 为控件生成多行提示信息 91 3.12.10 生成非矩形窗口 92 3.12.11 移动无标题栏窗口 94 3.12.12 制作动态字幕 95 3.12.13 在窗体上动态地设置背景 画面 96 3.12.14 Owner和Parent的区别 97 第4章 菜单、工具栏和状态栏 98 4.1 菜单 98 4.1.1 主菜单 99 4.1.2 鼠标右键弹出式菜单 99 4.1.3 使用菜单模板 99 4.2 工具栏 100 4.2.1 ToolBar 100 4.2.2 CoolBar 100 4.2.3 ControlBar 101 4.3 状态栏 101 4.4 方法与技巧 106 4.4.1 动态创建菜单 106 4.4.2 为菜单动态定义快捷键 108 4.4.3 动态改变菜单 108 4.4.4 定制系统菜单 109 4.4.5 制作图形菜单项 110 4.4.6 在状态栏中添加进度条等其他 组件 111 4.4.7 MDI应用程序中的菜单融合 113 4.4.8 制作可随处拖放的工具栏 116 4.4.9 将菜单项移到菜单栏的最右边 117 4.4.10 运行时控件的移动 117 第5章 键盘和鼠标 119 5.1 键盘事件 119 5.2 鼠标事件 120 5.2.1 常用鼠标事件 120 5.2.2 拖曳事件 120 5.3 方法与技巧 122 5.3.1 检测Shift、Alt和Ctrl键是否 按下 122 5.3.2 屏蔽系统功能键 123 5.3.3 模拟按下键盘上的某个键 124 5.3.4 限制鼠标移动的范围 124 5.3.5 自定义鼠标 125 5.3.6 设置光标闪烁的速度 126 5.3.7 不同程序间的拖曳操作 127 第6章 文件、目录和驱动器 129 6.1 文件 129 6.2 文件对话框组件 129 6.3 Win3.1相关组件 131 6.4 常用函数 131 6.4.1 文件操作常用函数 131 6.4.2 目录操作常用函数 136 6.4.3 驱动器操作常用函数 138 6.4.4 文件名操作常用函数 139 6.5 方法与技巧 145 6.5.1 获取驱动器类型信息 145 6.5.2 操作INI文件 146 6.5.3 从文件中读取超过255个字符 的行 148 6.5.4 获取文件的日期信息 149 6.5.5 检测软盘或光盘是否有变化 150 6.5.6 检测驱动器容量 151 6.5.7 拷贝整个目录 152 6.5.8 将文件删除到回收站中 153 6.5.9 检测驱动器是否就绪 153 6.5.10 获取应用程序的文件名 154 6.5.11 操作临时文件 154 第7章 打印 156 7.1 一些简单的打印输出 156 7.2 TPrinter对象和TScreen对象 156 7.3 打印操作常用函数 157 7.4 方法与技巧 164 7.4.1 获取默认打印机的信息 164 7.4.2 获取打印机队列的状态信息 165 7.4.3 打印窗体 166 第8章 多线程应用程序 167 8.1 进程与线程 167 8.2 TThread类 167 8.3 线程的同步 169 8.4 线程的优先级 170 第9章 动态链接库 176 9.1 概述 176 9.2 创建动态链接库 177 9.3 使用动态链接库 179 9.4 方法与技巧 180 9.4.1 如何调试动态链接库 180 9.4.2 在DLL中使用MessageBox代替ShowMessage 181 9.4.3 如何动态地装入DLL 181 9.4.4 如何定制不同语言版本的应用 程序 183 第三部分 Delphi高级编程技术 第10章 多媒体技术 185 10.1 多媒体 185 10.1.1 概述 185 10.1.2 多媒体应用领域 186 10.1.3 多媒体软件开发工具 187 10.2 图像格式的处理 188 10.2.1 位图 189 10.2.2 JPEG文件 191 10.3 特殊显示效果 193 10.3.1 画布 193 10.3.2 调用CopyRect 193 10.3.3 调用BitBlt 194 10.4 动画 199 10.4.1 文字动画 199 10.4.2 图像动画 200 10.5 音频、视频 206 10.6 方法与技巧 209 10.6.1 使用MessageBeep与Beep 209 10.6.2 使用PlaySound 210 10.6.3 使用mciSendString 211 第11章 关系数据库 215 11.1 关系数据库 215 11.1.1 关键字 215 11.1.2 表之间的约束 215 11.1.3 结构化查询语言(SQL) 216 11.2 Delphi提供的数据库辅助工具 218 11.2.1 使用SQL Explorer 218 11.2.2 使用Database Desktop 218 11.2.3 使用BDE Administrator 220 11.3 数据库组件 221 11.3.1 TTable 221 11.3.2 TQuery 225 11.3.3 表的连接 227 11.3.4 计算字段 229 11.3.5 查找字段 230 11.3.6 网格 231 11.4 查询记录 232 11.4.1 GotoKey 232 11.4.2 FindKey 233 11.4.3 模糊查询 233 11.4.4 Locate 234 11.5 修改记录 234 11.6 插入和删除记录 235 11.7 数据模块 237 11.8 数据字典查看器 238 11.9 事务 240 11.10 处理数据库异常 244 第12章 InterBase服务器 248 12.1 客户/服务器的概念 248 12.1.1 客户 248 12.1.2 InterBase 客户例程库 248 12.1.3 InterBase服务器 248 12.1.4 Borland数据库引擎 248 12.2 数据库的管理和维护 249 12.2.1 创建数据库 249 12.2.2 创建表 250 12.2.3 数据库安全 250 12.2.4 备份与恢复 251 12.3 服务器端程序 252 12.3.1 存储过程 252 12.3.2 触发器 252 12.4 本地缓存 253 第13章 Web与数据库 260 13.1 CGI的工作原理 260 13.2 Delphi对CGI的支持 260 13.3 创建Web应用程序 261 13.4 表单 262 13.5 把信息保存到数据库 264 13.6 查找记录 266 第14章 COM 270 14.1 在DLL中实现对象 270 14.2 接口 274 14.2.1 对象的生存期 277 14.2.2 IUnknown 279 14.2.3 全局唯一标志符(GUID) 281 14.2.4 注册表 281 14.2.5 多个接口问题 281 14.2.6 Variant类型 284 14.2.7 TComObject 289 14.2.8 TTypedComObject 295 14.3 OLE自动化 307 14.3.1 创建OLE自动化服务器 307 14.3.2 建立OLE客户程序 314 14.3.3 访问自动化服务器的方法 316 14.3.4 使用Word 316 14.4 复合文档 319 第15章 分布式程序设计 329 15.1 CORBA结构 329 15.1.1 CORBA在数据库的应用 335 15.1.2 远程访问 341 15.1.3 OSFind 341 15.2 远程数据集 342 15.2.1 基础 342 15.2.2 扩展服务器 346 15.2.3 参数传递 353 15.2.4 主从约束 355 15.2.5 离线处理 358 15.2.6 ActiveForm 361 15.3 插口Socket 362 15.3.1 插口的使用 362 15.3.2 使用插口的一个例子 363 15.3.3 TNMUDP组件 369 第16章 其他编程技术 374 16.1 使用剪贴板 374 16.1.1 组件对剪贴板操作的支持 374 16.1.2 使用剪贴板类 375 16.1.3 操作图形 378 16.1.4 操作组件 379 16.1.5 操作定制格式的数据 379 16.2 动态数据交换(DDE) 381 16.3 操作注册表 385 16.3.1 TRegistry类 387 16.3.2 与注册表相关的API函数 390 16.4 帮助系统的制作 395 16.4.1 RTF文件 395 16.4.2 HPJ文件与HLP文件 398 16.4.3 启动帮助 402 16.5 安装与卸载 403 16.6 方法与技巧 404 16.6.1 获取Windows版本信息 404 16.6.2 获取系统的度量信息和相关 配置信息 405 16.6.3 获取CPU信息 407 16.6.4 获取内存信息 408 16.6.5 存取系统的颜色信息 409 16.6.6 获取Windows及系统路径 409 16.6.7 存取计算机名称 410 16.6.8 获取用户注册信息 411 16.6.9 关闭Windows 411 16.6.10 启动控制面板 412 16.6.11 启动屏幕保护 415 16.6.12 使窗体标题栏闪烁 415 16.6.13 使窗口背景颜色渐变 416 16.6.14 隐藏/显示桌面上的图标 416 16.6.15 获取窗口标题栏中的文字 417 16.6.16 制作软件封面 418 16.6.17 隐藏/显示Windows任务栏 420 16.6.18 使应用程序不出现在Windows 的任务栏上 420 16.6.19 状态栏编程 421 16.6.20 存取系统参数信息 426 16.6.21 Windows启动时运行程序 427 16.6.22 为程序在启动菜单中创建 快捷方式 428 16.6.23 在程序中运行其他程序 429 16.6.24 同时只运行程序的一个实例 429 16.6.25 关闭运行的其他应用程序 431 16.6.26 显示旋转字体 432

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧