QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1978|回复: 4
收起左侧

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   ' ]% t7 [. {% [2 Y/ U1 ^
      WM_MAGNETISM   =   WM_USER   +   10;   + z; _# f' a# ]: a2 G# \
  const   . p3 w& B" p! A- e/ b4 \9 @! Z
      MT_CLOSEU   =   1;   + e5 Z4 }, L* a/ ]& D
      MT_CLOSED   =   2;   
/ A1 l) _4 m" c. w, r+ {# p; b% C      MT_MOVE     =   5;   
7 H+ M+ n6 p* \. J6 W/ T: ]0 {$ N2 k- s      MT_CREATE   =   6;   
9 V) m' \" B  q) \: h! s      MT_PRIOR     =   7;     l% |( h- f0 W0 e! b3 `1 s
      MT_NEXT     =   8;   8 Z' p2 `7 ?$ W7 ]8 Y; i8 e
  .......   
$ H$ `# s8 q% |' B1 Y2 q    Y:integer;   
8 F# |; N+ `4 T/ k1 A# I  procedure   TReportMain.FormCreate(Sender:   TObject);   # _1 Q4 L3 R* \2 `7 Z
  begin     u6 t" r+ S7 H( Y% N2 B- ^
  y:=paintbox1.Height;   ' K) U; S, i% i2 Z
  end;   . \  m, s. s& G% [( @! ]. H; ^
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
8 {" {/ w( R6 B' o; C" \1 C+ a  begin   
" o$ ~9 S/ g8 |6 \  PaintBox1.Canvas.Font.Color   :=   clBlue;   6 `1 |# n% ]3 |3 `  C) l% ^
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   1 V( N8 g# l, k( E
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   ' q: D4 J. g3 c8 e$ z
      PaintBox1.Canvas.Font.Color   :=   clgreen;   
/ @; M8 Y( J) B      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   9 h) P4 L" W1 j# Y* P7 \+ e
      PaintBox1.Canvas.Font.Color   :=   clred;   0 p3 S, m6 g0 B4 S0 [
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   
5 v! X2 ^5 R0 G# L, {      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
* R8 e0 j, A. M, N+ b0 E      dec(y);   
6 Y5 U6 `- d4 x8 i      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
) ^" g5 D. `2 P& \7 x1 b) s# v. U  end;   , h7 Q0 ?9 ^" x" _% @$ K
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   ! @7 O" r$ s: t1 d4 c
  begin   8 A1 P4 i, k, y* h
    PaintBox1.Canvas.Font.Name:='隶书';   
; n* P" L, `0 d% q# {0 ?    PaintBox1.Canvas.Font.Size:=12;   
* |3 {. A, E" y  S' _    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
0 {3 s$ x7 z  L7 I    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   
( ?  F. I. ]; z/ ?0 _  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 )

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