QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 1803|回复: 4
收起左侧

[讨论结束] 汉字滚动显示问题

 关闭 [复制链接]
发表于 2008-1-26 01:22:15 | 显示全部楼层 |阅读模式 来自: 中国陕西西安

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
; b& x% p  F) p& D$ @      WM_MAGNETISM   =   WM_USER   +   10;   
$ n; Y1 o; F- a% `! G" P0 f  const   0 [8 K- p! w- |8 M& o! ?- `: Z& V
      MT_CLOSEU   =   1;   9 H; C# v  u- I/ x- `
      MT_CLOSED   =   2;   
  }: \0 K8 x9 J) K      MT_MOVE     =   5;   
+ ]: Q: _6 p& g- u9 ?; b      MT_CREATE   =   6;   0 D2 E, e8 V2 d3 J* G
      MT_PRIOR     =   7;   7 v- v5 [, S- S% }. t) S+ ]: U
      MT_NEXT     =   8;   
# ~8 g3 O. g. m% d1 W* s  .......   
, o* {) w6 A' D6 y9 R    Y:integer;   3 ?% Z) {% ?' Q' X7 O, u
  procedure   TReportMain.FormCreate(Sender:   TObject);   
$ W/ e$ N  W' @" q6 N  z" R% E  begin   
6 F6 g0 `6 i7 F* d4 ^. q: k" B( R  y:=paintbox1.Height;   3 k  z' Y+ Q* d7 ^
  end;   * _. J" z: e3 s# g0 ]( _! ^% w
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
% h+ z' {0 c% r, E' M  begin   
9 n% Z% L( N1 G0 w' N. \% Q  PaintBox1.Canvas.Font.Color   :=   clBlue;   8 {1 J+ d5 V+ T3 U5 `! d. u, @' _
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   + y, N* O& ^0 l
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
/ j- d7 s! t# y# d: m% E      PaintBox1.Canvas.Font.Color   :=   clgreen;   
5 q$ s" x; f: V8 r. {% p      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
. {" c  f9 [+ K8 |. L! s% i      PaintBox1.Canvas.Font.Color   :=   clred;   
" L3 t4 u3 i; _, @      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   ; k& D9 S& q% ]
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   : M; }7 |, V* ]4 O
      dec(y);   
# E+ h+ u- R/ M3 G' C      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   ( P- W; y( M+ O1 k2 p' p
  end;   
5 a$ f3 u7 c, j# |- i: q* \% G  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
' d) C( P" p* ?; Z0 C+ ]4 r  begin   3 U3 V3 Q& \2 d! i# F" k. i
    PaintBox1.Canvas.Font.Name:='隶书';   
1 a( V4 s% V# P+ q; w    PaintBox1.Canvas.Font.Size:=12;   
: O7 p3 C; C% S& P( k8 @    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
+ _) \, b% s  ~  D( k# H0 q    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
7 ]/ e2 X) ^$ N: Q3 Y  end;

评分

参与人数 1三维币 +5 收起 理由
bdblbyq + 5 应助

查看全部评分

发表于 2008-1-26 11:35:37 | 显示全部楼层 来自: 中国广东广州
用查表法也可以呀,那是单片机可以完成的!

评分

参与人数 1三维币 +5 收起 理由
bdblbyq + 5 应助

查看全部评分

发表于 2008-1-26 12:28:17 | 显示全部楼层 来自: 中国四川成都
支持LS,查表的东西 方便
发表于 2008-7-13 21:34:22 | 显示全部楼层 来自: 中国江苏常州
要看你的液晶是点阵式的还是自带字库的,如果是点阵式的话,只要把对应的汉字的显示码以数组形式存放,滚屏时只要将待显示的数据移位就行了。如果是带字库的要稍微麻烦些。也有的液晶本身就带有滚屏功能,可以通过写入命令控制字来完成,具体参见液晶的使用说明书。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表