📄 globallibunit.pas
字号:
if qrrichtext.Lines.Count>1 then qrrichtext.Font.Size:=10; end; if qrrichtext.Lines.Count>1 then begin qrrichtext.Top:=qrrichtext.Top-2; //调整文本显示位置,使其位于单元格中间// 由于在 Win2000中出现打印不完全现象,以下为简单的修改程序。//修改人:郝志远//修改时间:2002-5-28 if qrrichtext.Lines.Count>2 then //如果行数大于2 ,则去掉多余行 for i:=2 to qrrichtext.Lines.Count do qrrichtext.Lines.Delete(2); end; qrrichtext.SendToBack; qrrichtext.AutoStretch:=True;}//以下为修改后的程序var LabelTop,LabelBottom:TQRlabel; strTemp:string;begin LabelTop:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第一行文字 LabelTop.Parent:=qrrichtext.Parent; LabelTop.Top:=qrrichtext.Top+2; //保持和 qrrichtext 一致 LabelTop.Left:=qrrichtext.Left; LabelBottom:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第二行文字 LabelBottom.Parent:=qrrichtext.Parent; LabelBottom.Left:=qrrichtext.Left; //保持和 qrrichtext 一致 if qrrichtext.Height<=25 then begin qrrichtext.Font.Size :=10; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); if qrrichtext.Lines.Count>1 then begin qrrichtext.Font.Size :=8; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); LabelTop.Font.Size:=8; LabelBottom.Font.Size:=8; LabelTop.Top:=LabelTop.Top-3; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+11; if Length(qrrichtext.Lines.Strings[0]) mod 2 = 1 then begin LabelTop.Caption :=Copy(qrrichtext.Lines.Strings[0],1,Length(qrrichtext.Lines.Strings[0])-1); strTemp:=Copy(qrrichtext.Lines.Strings[0],Length(qrrichtext.Lines.Strings[0]),1); LabelBottom.Caption :=strTemp+qrrichtext.Lines.Strings[1]; end else begin LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end ; end else begin LabelTop.Font.Size:=10; LabelBottom.Font.Size:=10; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+11; if Length(qrrichtext.Lines.Strings[0]) mod 2 = 1 then begin LabelTop.Caption :=Copy(qrrichtext.Lines.Strings[0],1,Length(qrrichtext.Lines.Strings[0])-1); strTemp:=Copy(qrrichtext.Lines.Strings[0],Length(qrrichtext.Lines.Strings[0]),1); LabelBottom.Caption :=strTemp+qrrichtext.Lines.Strings[1]; end else begin LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end ; end; end else begin qrrichtext.Font.Size :=12; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); if qrrichtext.Lines.Count>1 then begin qrrichtext.Font.Size :=10; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); LabelTop.Font.Size:=10; LabelBottom.Font.Size:=10; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+13; if Length(qrrichtext.Lines.Strings[0]) mod 2 = 1 then begin LabelTop.Caption :=Copy(qrrichtext.Lines.Strings[0],1,Length(qrrichtext.Lines.Strings[0])-1); strTemp:=Copy(qrrichtext.Lines.Strings[0],Length(qrrichtext.Lines.Strings[0]),1); LabelBottom.Caption :=strTemp+qrrichtext.Lines.Strings[1]; end else begin LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end ; end else begin LabelTop.Font.Size:=12; LabelBottom.Font.Size:=12; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+13; if Length(qrrichtext.Lines.Strings[0]) mod 2 = 1 then begin LabelTop.Caption :=Copy(qrrichtext.Lines.Strings[0],1,Length(qrrichtext.Lines.Strings[0])-1); strTemp:=Copy(qrrichtext.Lines.Strings[0],Length(qrrichtext.Lines.Strings[0]),1); LabelBottom.Caption :=strTemp+qrrichtext.Lines.Strings[1]; end else begin LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end ; end; end; LabelTop.Font.Name:='宋体'; LabelBottom.Font.Name:='宋体'; LabelBottom.SendToBack; LabelTop.SendToBack; qrrichtext.Lines.Clear;end;procedure EditNumFont(var qrrichtext:tqrrichtext;str:string);var LabelTop,LabelBottom:TQRlabel; strTemp:string;begin LabelTop:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第一行文字 LabelTop.Parent:=qrrichtext.Parent; LabelTop.Top:=qrrichtext.Top+2; //保持和 qrrichtext 一致 LabelTop.Left:=qrrichtext.Left; LabelBottom:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第二行文字 LabelBottom.Parent:=qrrichtext.Parent; LabelBottom.Left:=qrrichtext.Left; //保持和 qrrichtext 一致 if qrrichtext.Height<=25 then begin qrrichtext.Font.Size :=10; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); if qrrichtext.Lines.Count>1 then begin qrrichtext.Font.Size :=8; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); LabelTop.Font.Size:=8; LabelBottom.Font.Size:=8; LabelTop.Top:=LabelTop.Top-3; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+11; LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end else begin LabelTop.Font.Size:=10; LabelBottom.Font.Size:=10; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+11; LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end; end else begin qrrichtext.Font.Size :=12; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); if qrrichtext.Lines.Count>1 then begin qrrichtext.Font.Size :=10; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); LabelTop.Font.Size:=10; LabelBottom.Font.Size:=10; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+13; LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end else begin LabelTop.Font.Size:=12; LabelBottom.Font.Size:=12; LabelTop.Top:=LabelTop.Top-2; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+13; LabelTop.Caption :=qrrichtext.Lines.Strings[0]; LabelBottom.Caption :=qrrichtext.Lines.Strings[1]; end; end; LabelTop.Font.Name:='宋体'; LabelBottom.Font.Name:='宋体'; LabelBottom.SendToBack; LabelTop.SendToBack; qrrichtext.Lines.Clear;end;procedure EditThreeRow(var qrrichtext:tqrrichtext;str:string;CharCountPRow:integer);//将字符变成三行打印var LabelTop,LabelMid,LabelBottom:TQRlabel; strTemp:string;begin LabelTop:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第一行文字 LabelTop.Parent:=qrrichtext.Parent; LabelTop.Left:=qrrichtext.Left; LabelTop.Top:=qrrichtext.Top+2; //保持和 qrrichtext 一致 LabelTop.Font.Size:=8; LabelMid:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第二行文字 LabelMid.Parent:=qrrichtext.Parent; LabelMid.Left:=qrrichtext.Left; LabelMid.Font.Size:=8; LabelBottom:=TQrlabel.Create(nil); // 创建Qrlabel控件,以显示第三行文字 LabelBottom.Parent:=qrrichtext.Parent; LabelBottom.Left:=qrrichtext.Left; LabelBottom.Font.Size:=8; qrrichtext.Font.Size :=8; qrrichtext.Lines.Clear; qrrichtext.Lines.Append(str); case qrrichtext.Lines.Count of 1: begin LabelTop.Top:=LabelTop.Top+2; //保持和 qrrichtext 一致 LabelTop.Caption :=qrrichtext.Lines.Strings[0]; end ; 2: begin LabelTop.Top:=LabelTop.Top; //保持和 qrrichtext 一致 LabelBottom.Top:=LabelTop.Top+11; LabelTop.Caption :=Copy(str,1,2*CharCountPRow); LabelBottom.Caption :=Copy(str,2*CharCountPRow+1,2*CharCountPRow); end; else begin LabelTop.Top:=LabelTop.Top-4; //保持和 qrrichtext 一致 LabelMid.Top:=LabelTop.Top+11; LabelBottom.Top:=LabelMid.Top+11; LabelTop.Caption :=Copy(str,1,2*CharCountPRow); LabelMid.Caption :=Copy(str,2*CharCountPRow+1,2*CharCountPRow); LabelBottom.Caption :=Copy(str,4*CharCountPRow+1,2*CharCountPRow); end; end; LabelTop.Font.Name:='宋体'; LabelMid.Font.Name:='宋体'; LabelBottom.Font.Name:='宋体'; LabelBottom.SendToBack; LabelMid.SendToBack; LabelTop.SendToBack; qrrichtext.Lines.Clear;end;//函数名:AddThousandComma//函数功能: 将小写金额按千位添加逗号,如'1234567.00'-->'1,234,567.00'//输入参数:规则的金额字符串,既'****.**'型的,如‘1234.00’//输出参数:添加逗号后的字符串,如 '1,234.00'//编写人:郝志远//编写时间:2002-5-8function AddThousandComma(strSource:string):string;var strTemp:string; strLeft:string; strRight:string; strResult:string; i:integer;begin strTemp:=strSource; strTemp:=copy(strTemp,1,length(strTemp)-3); strLeft:=strTemp; strRight:= copy(strSource,length(strSource)-3+1,3); for i:=1 to (length(strTemp)-1) div 3 do begin strResult:=','+ copy(strLeft,length(strLeft)-3+1,3)+strResult; strLeft:=copy(strLeft,1,length(strLeft)-3) end; Result:=strLeft+strResult+strRight;end;procedure editFont1(var qrrichtext:tqrrichtext;str:string);//将字符变成三行打印//var// strTemp: wideString;// intCol,intChar: integer;beginqrrichtext.Lines.Append(str);//应该用字符串的长度判断行数//判断字符串长度(中文、英文区别)//strTemp := str;//intChar := length(strTemp);//根据字符串长度分行case qrrichtext.Lines.Count of1: begin qrrichtext.Font.Size := 9; qrrichtext.Top := qrrichtext.Top + 2; end;2: begin qrrichtext.Font.Size := 9; qrrichtext.Top := qrrichtext.Top - 2; end;3: begin qrrichtext.Font.Size := 7; qrrichtext.Top := qrrichtext.Top - 4; end;else qrrichtext.Font.Size := 7; qrrichtext.Top := qrrichtext.Top - 6;endend;end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -