Memo 对齐问题! (100分)

  • 主题发起人 主题发起人 EricER
  • 开始时间 开始时间
E

EricER

Unregistered / Unconfirmed
GUEST, unregistred user!
在一个程序里,用SQL作数据库,ADO连接。
Parameters.ParamByName('Description').Value:=Trim(Memo_Description.Text);
用上面一条语句保存后,再用以下一条语句读取,
Memo_Details.Text:=Trim(FieldByName('Description').AsString);
发现读取出来并不是原先编辑时那样对齐或者在另一台机器读出来是不对齐,
两个Memo的宽度是一样的。
 
好像没有处理回车符号和换行符号,
用以下函数格式化:
function TWebModule1.format_str_html(str:string):string; //格式化输出字符串
var i:integer;
s_html,s:string;
begin
FOR I:=1 TO LENGTH(str) DO BEGIN
S_HTML:=COPY(str,I,1);
IF S_HTML=#13 THEN S_HTML:='<BR>';
IF S_HTML=#32 THEN S_HTML:='&amp;nbsp';
S:=S+S_HTML;
END;
result:=s;
end;
 
数据库在转换成unicode对换行等进行了处理,不要用text 字段类型。
 
好像是字体的问题,如果用默认的字体好像就没有这种现象,

Up!!
 
如果是字体的问题,字体可以用Courier New
 
因为用的是繁体的系统,现在已经改用了细明体,好像没有问题
不知道影子兄为何建议用Courier New字体??
 
原本你说字体的问题。用Courier New字体无论大小写字母所占宽度是一样的,delphi6也是用这种字体。
 
问题解决了
应该是字体的问题,分分吧!
 
后退
顶部