QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 1958|回复: 4
收起左侧

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   # _2 H" I( g2 ~2 j3 E. y0 f! ~
      WM_MAGNETISM   =   WM_USER   +   10;   5 q1 _7 \, p9 o! C* L
  const   5 A$ R0 ?! A& X
      MT_CLOSEU   =   1;   - n' ]/ P$ d" h* @
      MT_CLOSED   =   2;   , I3 I) T- n' ^- L5 x
      MT_MOVE     =   5;   0 {0 O& t2 p4 Z* B7 v% n$ C
      MT_CREATE   =   6;   
& d8 p" ~) g( `% M/ {      MT_PRIOR     =   7;   : {! v' b3 k2 \- p- n- v& N6 J
      MT_NEXT     =   8;   , Q( l9 f" o( `8 ?- F( v5 b
  .......     M. a' ]1 I  }' N, ?
    Y:integer;   / [  H( t- y7 ]/ b$ Y1 w1 q* x+ ~
  procedure   TReportMain.FormCreate(Sender:   TObject);   
, P2 z. Q  y- ?$ m+ |+ H  begin   
+ `# O7 n$ g4 ^8 {" z  y:=paintbox1.Height;   
$ S$ ~! r  T! B. y1 K. s6 N  end;   
4 Q+ x5 s4 g, C4 x  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
, u" H( I+ n! u  begin   
8 P" L+ P- `9 [  PaintBox1.Canvas.Font.Color   :=   clBlue;   
, L  j. H6 _# \      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
. a) V# N4 N9 Z3 p; Y, X# q      PaintBox1.Canvas.TextOut(25,y+16,'fdf');     @3 j% L5 W' T
      PaintBox1.Canvas.Font.Color   :=   clgreen;   
: h( Z# ?, x, @' c, w      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
3 H* c' R6 R1 s6 g7 C      PaintBox1.Canvas.Font.Color   :=   clred;   
  E" r# q5 w* e9 Z; X      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   $ u' E( M: x6 i0 ?. q3 ?* g+ ?
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
- ?: Y" p% D' e1 O+ d      dec(y);   
+ n& o& a9 g  g1 [, R7 j      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
6 K5 q, @7 P0 |% Z1 ^  end;   : V6 K# K" \; d( [  A6 ~4 t
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   * e/ _7 g1 \6 `9 K: y
  begin   
) y  O+ i% Q& T# a# o    PaintBox1.Canvas.Font.Name:='隶书';   ( r% }' J$ h6 v4 {0 O$ G
    PaintBox1.Canvas.Font.Size:=12;   
1 e$ m. X) _. C) J: w' E    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
5 x3 F! b( y: S2 k( e" C    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   % ?. s0 v' k) g4 [( h; C6 K4 z# Y! I
  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 )

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