QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
( d/ D3 m; @! \! U, C6 y      WM_MAGNETISM   =   WM_USER   +   10;   8 L* ~6 r" Z* }% F
  const   ; C6 a$ F, F$ u
      MT_CLOSEU   =   1;   5 X1 Y2 ]$ L' Q) @1 a: G
      MT_CLOSED   =   2;   ' M, I" w: |& ?& w9 W4 f2 K
      MT_MOVE     =   5;   
# C" y0 ]. L+ U% {      MT_CREATE   =   6;   3 M3 L+ o- T2 q0 q' _: n# D
      MT_PRIOR     =   7;   
1 V- C. U7 K" n/ I" S      MT_NEXT     =   8;   0 Y8 g9 a6 M  @
  .......   # f% S; g7 b1 l; @
    Y:integer;   
  M* Z9 m- [$ F' J( k  procedure   TReportMain.FormCreate(Sender:   TObject);   + D$ C7 `, g. u  J& r
  begin   
+ c* Z0 {' v' L3 K( r  y:=paintbox1.Height;   $ W, E  z/ g* J0 ^  p# v& u
  end;   
! N5 Q# x% M6 V  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
3 H5 K8 L8 Z2 }3 n" O  begin   - G0 Q$ s/ S  M3 y- M6 p& k
  PaintBox1.Canvas.Font.Color   :=   clBlue;   # w; H7 @* U# Z4 `
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
+ ~+ O$ _6 ?4 q3 c* G      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   , J! E/ U( t8 f) V8 }
      PaintBox1.Canvas.Font.Color   :=   clgreen;   ( E% z+ v; p! R% S" ~* }- |
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   ) q7 p3 j: N: ?/ E5 H
      PaintBox1.Canvas.Font.Color   :=   clred;   
% y) S; g# k% {! o# `( `      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   8 I7 \# c" h/ v0 k$ H: J6 ^) H
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   # \+ X$ ?# p7 m5 }6 f# o3 y) ?
      dec(y);   # N2 ?; W+ D' n, O
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
& W! A9 y+ p3 E$ b+ D! ^  end;   
4 h: ]5 ?8 H* l; W* B  c  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   ) m7 ]4 K9 B- p
  begin   
( o& b7 Z5 v( l    PaintBox1.Canvas.Font.Name:='隶书';   
3 L' [1 \5 {4 _. u9 ^' X    PaintBox1.Canvas.Font.Size:=12;   
# m6 c7 P0 ], u  Z! g    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
" G  ^3 H. V! j+ c0 S) C, F    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   2 A3 F" [6 P6 F6 E; F$ X
  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 )

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