QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
最近在写LED显示屏的程序,需要用到汉字滚动显示,显示原理不太清楚,不知哪位大虾能够指教?最好是有C程序例程!谢谢
发表于 2008-1-26 01:33:01 | 显示全部楼层 来自: 中国广西防城港
const   7 Q8 _, g% p3 k1 j/ X. l
      WM_MAGNETISM   =   WM_USER   +   10;   
4 J/ @2 f' }; ]: ?  const   
" `2 d1 w& W* y. s4 d      MT_CLOSEU   =   1;   8 b" T# e" F! O' P- t, v
      MT_CLOSED   =   2;   
2 F  }* r2 R5 f% V2 m      MT_MOVE     =   5;   
/ v* N  V7 t* J% s% h      MT_CREATE   =   6;   3 h/ g" X; X1 h
      MT_PRIOR     =   7;   7 s2 h" Y! q+ h3 e7 d+ k# \- k
      MT_NEXT     =   8;   
4 y# K' k: Y8 J) {3 _$ E) L# ~! g  .......   
2 Z7 _: }. \$ Q' k* a" R7 ?4 N2 R+ l% B& J    Y:integer;   6 X& V1 H& a  V6 _! G& M
  procedure   TReportMain.FormCreate(Sender:   TObject);   
3 y# y( X; ]% T6 l  begin   
; A' E$ b7 D" H8 q  y:=paintbox1.Height;   
! j3 h( d0 @- J, @9 x6 f  end;   ! Q4 G- L/ ], s3 [5 q
  procedure   TReportMain.Timer1Timer(Sender:   TObject);   : [7 N& Z( [3 v+ R( u3 [4 [1 i
  begin   3 b3 ^7 `+ G7 V" M" P7 o
  PaintBox1.Canvas.Font.Color   :=   clBlue;   
% X, `) Z& c4 W5 U  c      PaintBox1.Canvas.TextOut(15,y,'dfdf);   
% ]; e7 H; ~& @# b      PaintBox1.Canvas.TextOut(25,y+16,'fdf');   
& S$ F. @+ U4 w. R* E" A' F3 d; \      PaintBox1.Canvas.Font.Color   :=   clgreen;   
" ]/ d" o% Y% ~" @& d      PaintBox1.Canvas.TextOut(35,y+PaintBox1.Canvas.Font.Size+8+22,'ffd');   
3 D+ L* S) m0 X6 A. l4 I: y      PaintBox1.Canvas.Font.Color   :=   clred;   
% }# h: d5 i/ g' y      PaintBox1.Canvas.TextOut(5,y+PaintBox1.Canvas.Font.Size+8+40,'gfg');   
& R8 M5 `) d. \& Y+ ?! G9 A      PaintBox1.Canvas.TextOut(25,y+PaintBox1.Canvas.Font.Size+8+58,'gfg');   
( q) i  U) I" v8 i$ w0 Z% a8 D, b2 l      dec(y);   2 r3 L( S" s- b* ~' _6 U2 j! K7 }! L! K
      if   y<-(PaintBox1.Canvas.Font.Size+8)*2   then   y:=paintbox1.Height+16;   4 Y0 K: z3 ~& U0 n: L( B" t! ?4 i
  end;   ; y& [7 b' n# [1 s: h
  procedure   TReportMain.PaintBox1Paint(Sender:   TObject);   + M2 H: v7 J# O$ q1 \
  begin   % Q! L6 U- _3 m# x3 h
    PaintBox1.Canvas.Font.Name:='隶书';   & D. }2 t! d1 b# s
    PaintBox1.Canvas.Font.Size:=12;   ) `. F7 v/ D! [/ g1 l; y& U0 A
    PaintBox1.Canvas.Brush.Color   :=clActiveBorder;   ( _2 z% e4 w; t; x
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,         PaintBox1.Height))   % U8 P  r1 }2 A
  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 )

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