QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10小时前
查看: 1802|回复: 4
收起左侧

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   5 L" d6 m: ]" M. g: e9 M
      WM_MAGNETISM   =   WM_USER   +   10;   
3 s2 f6 I4 v& U* \* ~9 R( r. r  const   
3 r' L& ]1 Z' b7 M      MT_CLOSEU   =   1;   
" ?1 d/ l7 ]5 o3 @      MT_CLOSED   =   2;   
+ t' R# p* e2 C! j' ]      MT_MOVE     =   5;   7 D( I* ^! g$ n2 s
      MT_CREATE   =   6;   4 z. D" n. a( C+ n; X
      MT_PRIOR     =   7;   
6 [4 Q$ O- M1 M' F      MT_NEXT     =   8;   9 j; M/ @: x6 b2 T
  .......   ; ~! t) R, R- J. J/ A% o/ h% I
    Y:integer;   
2 H& B0 T7 S6 t: Y9 S. r( b+ i( r/ g/ w8 I  procedure   TReportMain.FormCreate(Sender:   TObject);   3 Q3 O6 O1 F. {  n
  begin   
* N, Y/ }. t7 e- f6 }) p  y:=paintbox1.Height;   $ Q1 y0 z: L8 }" m1 S( E+ E
  end;   * f) m. ?- l0 v! f1 C3 X! |
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   5 w+ i* V, K9 d; J7 {: X
  begin   1 t) R, b; u, b6 q1 ~! `% {# J
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
0 F9 U1 J( D4 a1 F3 `. b0 l4 \      PaintBox1.Canvas.TextOut(15,y,'dfdf);   & {$ G  {8 X1 j: h( I1 O
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   6 F% ?" k) A, R3 G; M! R- s. v
      PaintBox1.Canvas.Font.Color   :=   clgreen;   " z0 D4 T8 B0 v
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
0 h8 r+ E7 x6 f2 S$ S      PaintBox1.Canvas.Font.Color   :=   clred;   % k! I6 J/ V0 V  h# s* c' V
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   # Y" P& j0 z6 H! T3 f+ n4 P3 O( |
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   1 n" s, ]$ ^( v( u4 |7 }! r
      dec(y);   4 u: m, q# W' F% d1 a* J$ X! N, g
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
6 i; O& s2 ^* Y  end;   ( j9 i! a+ t: d. o
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
+ W0 t; {/ |! z2 \  @- _# \  begin   ( w, @  L2 b2 M
    PaintBox1.Canvas.Font.Name:='隶书';   $ \  f1 U% x. M, v
    PaintBox1.Canvas.Font.Size:=12;   ' j& B2 F" ?8 U  q& f+ A  J
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   7 _( j  C, a( z/ W$ a. p; H
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   ) }8 X  g6 b; U0 @9 V( ~: Z( s6 o
  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 )

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