QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   4 r8 ~6 G' W" G" s% ~
      WM_MAGNETISM   =   WM_USER   +   10;   9 Q7 v0 s, _8 `. _2 Q4 z! m
  const   * E/ T' N4 e' M- W9 q
      MT_CLOSEU   =   1;   : y9 m3 t/ g0 X0 ~- T9 b
      MT_CLOSED   =   2;   
0 q, X! i0 J0 u" r2 ]# k! r      MT_MOVE     =   5;   - F0 s, Y5 Y& {
      MT_CREATE   =   6;   # n- j# _0 G( ]' W- \
      MT_PRIOR     =   7;   ( R! a) W/ A# e) {6 L3 u
      MT_NEXT     =   8;   
& t$ i# @2 ]& y6 e+ V  .......   * V  v; L) [% i) G, t
    Y:integer;   
" Z2 ^( \1 I0 g2 Z5 M6 L  procedure   TReportMain.FormCreate(Sender:   TObject);   
: `8 a' W3 N) w/ r$ b  begin   
0 H. s8 _$ h. _( z9 o) C- k3 G  y:=paintbox1.Height;   
( F! e1 {3 C: D' {( M$ B7 V5 W$ b" l  end;   
& _5 o) \$ N/ N! ^1 `( t) Z  procedure   TReportMain.Timer1Timer(Sender:   TObject);   
- T" b4 m# d6 p; T  _+ T5 s" u* Z  begin   4 q3 |% A( y! r5 k8 Z
  PaintBox1.Canvas.Font.Color   :=   clBlue;   : }; h- f9 \$ R: l2 j
      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
6 q5 `; K$ j# \! h5 w( n      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
7 k% c7 o; q- `( q, M" J# u      PaintBox1.Canvas.Font.Color   :=   clgreen;   5 P9 R: A5 m% [  e- j6 ~- f
      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
1 v' N( M. R3 j/ |- i, b      PaintBox1.Canvas.Font.Color   :=   clred;   8 D, D; ~9 z3 D
      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');     t. U$ }; h2 [& w  I7 b2 @
      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
  a: Q7 Y& ^2 V! d9 a      dec(y);   
) T0 l5 t7 j6 `2 t( K      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   ; e% d) m) r* ]; L
  end;   
! S  Y- D6 J2 q  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   $ f  O5 _2 a4 n1 n
  begin   ' y9 K0 \7 @" o) B; K
    PaintBox1.Canvas.Font.Name:='隶书';   6 l. R; N# f/ {
    PaintBox1.Canvas.Font.Size:=12;   ! k2 ?% b6 }; o2 r9 B4 I, F
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   
8 i* I2 V1 \& V! Z5 P    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   / B/ M7 Y6 N& v- J
  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 )

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