• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API

知道就简单的问题UP有分

xzhongjin 2003-01-20 02:23:25
分不够可再加
在系统那个文件或库实现英文单词的识别(自动换行),没有的话如何实现给点建议,最好有程序哦
我有几个符号(自己做的),单独可用,结合起来也能用但不能换行,换行后就是错的该怎么办
...全文
7 点赞 收藏 23
写回复
23 条回复
flyycyu 2003年01月20日
up
回复 点赞
silverwonder 2003年01月20日
up了
回复 点赞
智能卡_Snooper 2003年01月20日
up
回复 点赞
TOMWLD 2003年01月20日
你要写编辑器呀?!

不知道了,帮你up
回复 点赞
VCBoyGirl 2003年01月20日
wrapText()可以,
下面修改后可以换行中文的

加入 #13#10
function WrapTexts(const Line, BreakStr: string; const BreakChars: TSysCharSet;
MaxCol: Integer): string;
const
QuoteChars = ['''', '"'];
var
Col, Pos: Integer;
LinePos, LineLen: Integer;
BreakLen, BreakPos: Integer;
QuoteChar, CurChar: Char;
ExistingBreak: Boolean;
L: Integer;
begin
Col := 1;
Pos := 1;
LinePos := 1;
BreakPos := 0;
QuoteChar := ' ';
ExistingBreak := False;
LineLen := Length(Line);
BreakLen := Length(BreakStr);
Result := '';
while Pos <= LineLen do
begin
CurChar := Line[Pos];
if CurChar in LeadBytes then
begin
L := CharLength(Line, Pos) - 1;
Inc(Pos, L);
Inc(Col, L);
if Col>=MaxCol then
BreakPos:=Pos;
end
else
begin
if CurChar = BreakStr[1] then
begin
if QuoteChar = ' ' then
begin
ExistingBreak := CompareText(BreakStr, Copy(Line, Pos, BreakLen)) = 0;
if ExistingBreak then
begin
Inc(Pos, BreakLen-1);
BreakPos := Pos;
end;
end
end
else if CurChar in BreakChars then
begin
if QuoteChar = ' ' then BreakPos := Pos
end
else if CurChar in QuoteChars then
begin
if CurChar = QuoteChar then
QuoteChar := ' '
else if QuoteChar = ' ' then
QuoteChar := CurChar;
end;
end;
Inc(Pos);
Inc(Col);
if not (QuoteChar in QuoteChars) and (ExistingBreak or
((Col > MaxCol) and (BreakPos > LinePos))) then
begin
Col := Pos - BreakPos;
Result := Result + Copy(Line, LinePos, BreakPos - LinePos + 1);
if not (CurChar in QuoteChars) then
while Pos <= LineLen do
begin
if Line[Pos] in BreakChars then
Inc(Pos)
else if Copy(Line, Pos, Length(sLineBreak)) = sLineBreak then
Inc(Pos, Length(sLineBreak))
else
break;
end;
if not ExistingBreak and (Pos < LineLen) then
Result := Result + BreakStr;
Inc(BreakPos);
LinePos := BreakPos;
ExistingBreak := False;
end;
end;
Result := Result + Copy(Line, LinePos, MaxInt);
end;
回复 点赞
zjhydx98 2003年01月20日
up
回复 点赞
diruser 2003年01月20日
gz
回复 点赞
haerbin982 2003年01月20日
学习中!
回复 点赞
weibz0525 2003年01月20日
不懂,ocr?
回复 点赞
kaolaxiong 2003年01月20日
up
回复 点赞
yaningou 2003年01月20日
up
回复 点赞
liqianglqlq 2003年01月20日
#13#10
回复 点赞
cgh1970 2003年01月20日
up
回复 点赞
gzyzljk 2003年01月20日
UPUPUPUP
实在不知你讲什么啊????
应该是#13#10吧....
UP一下!
回复 点赞
slley 2003年01月20日
#13#10
回复 点赞
smalldeer 2003年01月20日
up
回复 点赞
DainelLee 2003年01月20日
问金山公司
回复 点赞
windstrom 2003年01月20日
tts 你是一下
回复 点赞
breezing 2003年01月20日
up
回复 点赞
siyu2002 2003年01月20日
up
回复 点赞
发动态
发帖子
Delphi
创建于2007-08-02

1465

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告