QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   
$ j7 J9 J6 ^" ]6 m* d      WM_MAGNETISM   =   WM_USER   +   10;   
* w5 Y1 C( o9 `) A  const   
* a4 D- b  w- o$ W. G0 _      MT_CLOSEU   =   1;   2 m" b/ s( V5 Z+ k% j
      MT_CLOSED   =   2;   
4 K1 S/ P# b/ j: K1 S      MT_MOVE     =   5;   7 ]: O8 c5 H4 Z
      MT_CREATE   =   6;   
8 a0 F$ D& \& c1 R% q; ~, K      MT_PRIOR     =   7;   0 g' |5 w" z+ @$ W  d+ u
      MT_NEXT     =   8;   
8 Z. c. x+ q6 _5 Y4 O* f  .......   + g0 {# p& e9 b8 B. A" F# |
    Y:integer;   + y% r: A) v+ z0 r$ S
  procedure   TReportMain.FormCreate(Sender:   TObject);   ; p3 c2 y! V: \0 B# E' I! T. U* F
  begin   
# |( }" j- h$ I* {  y:=paintbox1.Height;   : f) a, S3 m# Z2 ^+ y1 A( m
  end;   
  }8 a3 \' ]: T# O! F: y! d  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
1 K+ b8 Y8 I% L* u+ o  H2 l  begin   , i% t( Z; Q! Q: |& ^5 g8 ^- `4 I
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
! K  ~( @! R" }$ U      PaintBox1.Canvas.TextOut(15,y,'dfdf);   . C: E) |" N: V1 w/ m! N
      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
: o# C3 K/ ]( ^8 H! \3 x! Z6 Z      PaintBox1.Canvas.Font.Color   :=   clgreen;   * ]4 M1 T; e4 Q. K# \
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   6 P% L1 N7 K  g0 T7 |% x* e' I
      PaintBox1.Canvas.Font.Color   :=   clred;   8 @3 C- p* K) o8 e2 a  f5 {
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   
: \9 U; \8 l5 O, v! {, e      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
. z/ y8 M/ T  x      dec(y);   , y" c8 p/ o8 o4 |% T- j* v
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   
% |: y0 M! K# d" c+ Q1 F  end;   
; ?# e* Y* l- Q# T; V: Y9 ]" y- [  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   
* V3 F9 a5 y/ y% W3 c) N$ Q  begin   6 a* A' U) m% @* m/ m3 I, x
    PaintBox1.Canvas.Font.Name:='隶书';   8 [6 C* ~/ A$ H/ W8 z; Q
    PaintBox1.Canvas.Font.Size:=12;   
; D9 W+ F) h& V/ s( @& B    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   * p  F$ O  W" \# [" |0 v" n
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   + \1 u. |5 c2 X: E0 G. 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 )

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