Delphi实例分析:文本文件的存取
来源:Delphi实例分析:文本文件的存取 编辑:zhudingshini 更新日期:2008-11-6 8:18:21 浏览:218 次
做过LED同步显示屏的人都知道,LED显示屏的象素点与显示器上的象素点是点对点一一对应的关系,既设置显示器上的某个区域的内容在LED显示屏上显示,这样当LED显示屏的象素宽度大于显示器的象素宽度时,就需要在显示器进行分段显示。比如LED显示屏的宽度是3456点,高是96点,那么在1280*1024分辨率的显示器上,就需要分成三段,每段是长1152点,高是96点。对应关系是,显示器显示区域的(0,0,1152,96)对应LED显示屏(0,0,1152,96),显示器显示区域的(0,96,1152,192)对应LED显示屏(1152,0,2304,96),显示器显示区域的(0,192,1152,288)对应LED显示屏(2304,0,3456,96),这样,在显示器上将一段文字分三段显示,但在LED显示屏上则是一个全屏左移的效果,显示器播放效果如图1:
图1
目前LED厂家大部分都是用的灵星雨的LED演播室,如果想分段播放则用LedSplit软件,但Ledsplit在播放文本文件中有个缺陷,就是在文本内容分段处有播放不连贯现象,会将如图2所示文本显示为如图3所示
图2
图3
所以我们需要将文本文件中的文本格式进行一下转换,转换成如下格式,即没有段落划分,如图4:
图4
经过转换后的文本用LedSplit播放效果如图1,使整个画面看起来比较连贯,另外加一个定时器,每间隔一段时间程序会自动运行一次,并对程序进行托盘处理。转换程序代码如下:
unit frm_Text;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ShellAPI, Menus;
const
mymsg= wm_user + 1;
iid = 100;
type
TFrmText = class(TForm)
GBxListFile: TGroupBox;
BtnTClose: TButton;
Edit1: TEdit;
Timer1: TTimer;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Image1: TImage;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Button2: TButton;
Label3: TLabel;
BtnRead: TButton
第1页/总4页
第一页 上一页
下一页 最后一页
【发表评论】