要求根据输入的参数进行长度补位项目号(20) 数量3位 项目名称(40) 状态(2) 设计人(5)函数名:
function uf-setitemtitle(aitemID:string;aNum:string;aItemName:String;aItemState:string;
aDesigner:String):string都是字符串型数据要求:项目名称如果大于40位就不补空格,小于40位就用空格补到40位,其他字段如果没到应有位数(括号里是位数)就用空格补够位.
function uf-setitemtitle(aitemID:string;aNum:string;aItemName:String;aItemState:string;
aDesigner:String):string都是字符串型数据要求:项目名称如果大于40位就不补空格,小于40位就用空格补到40位,其他字段如果没到应有位数(括号里是位数)就用空格补够位.
aDesigner:String):string
var
function GetLenStr(LenStr : String; vLen : Integer) : String;
begin
Result := LenStr;
while Length(Result) < vLen do
Result := Result + ' ';
end;
begin
Result :=
GetLenStr(aitemID, 20) +
GetLenStr(aNum, 3) +
GetLenStr(aItemName, 40) +
GetLenStr(aItemState, 2) +
GetLenStr(aDesigner, 5);
end;
Format('x=%10s', ['abc']);
呵呵!和你开个玩笑!用Format('x=%10s', ['abc'])是在字符串之前加空格,
根据楼主的意思,应该是在字符串之后加空格!
现修改一下:更简单一些:function uf-setitemtitle(aitemID:string;aNum:string;aItemName:String;aItemState:string;
aDesigner:String):string
function GetLenStr(LenStr : String; vLen : Integer) : String;
begin
result := Format('%-' + IntToStr(vLen) + 's', [LenStr])
end;
begin
Result :=
GetLenStr(aitemID, 20) +
GetLenStr(aNum, 3) +
GetLenStr(aItemName, 40) +
GetLenStr(aItemState, 2) +
GetLenStr(aDesigner, 5);
end;