5-6-3 5-10-2怎么补足2位,补足加0,批量改成05-06-03 05-10-02
解决方案 »
- 关于ADO方式只在数据集增加记录而不更新数据库的问题
- 怎样在TWebbrowser引入ie插件(如alexa)?
- 如何根据record的字段名来获得它的值
- 如何不让mid窗体重复显示
- 请大家帮忙看一下,在院病人费用查询SQL语句是否可以这样写?
- invalid variant operation错误
- RasDial函数在NT下如何使用?
- 一些word里的字符不能拷贝到delphi控件的caption中,怎么办?
- 怎样改变TpopupMenu或RxTpopupMenu的背景色?
- SPCOMM串口通讯的问题,急急急急急急急
- 求助,erp系统小功能修改和增加,求懂DELPHI 5.0的兄弟帮忙。。。
- delphi的程序在win8以上运行时窗口大小和控件都不正常显示
function MyStrFunc(const AStr:string):string;
var
i:integer;
s:string;
begin
s:='';
result:='';
for i:=1 to length(AStr) do
begin
if AStr[i] in ['0'..'9'] then
s:=s+AStr[i]
else begin
if s<>'' then
begin
if length(s)>2 then s:=Copy(s,1,2);
result:=result+FormatFloat('00',StrToInt(s))+AStr[i];
s:='';
end;
end;
end;
if s<>'' then result:=result+FormatFloat('00',StrToInt(s));
end;procedure TForm1.Button1Click(Sender: TObject);
begin
//edit1.Text:='5-6-3 5-10-2';
edit2.text:=MyStrFunc(edit1.text);
end;
unit Unit1;interfaceuses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;type
TForm1 = class(TForm)
edt1: TEdit;
lbl1: TLabel;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);
var
sText: string;
sArr, sArr1: TArray<string>;
i,j: Integer;
begin
sText := Trim(edt1.Text);
sArr := sText.Split([' ']);
if Length(sArr) > 0 then
begin
for i := Low(sArr) to High(sArr) do
begin
sArr1 := sArr[i].Split(['-']);
if Length(sArr1) > 0 then
begin
for j := Low(sArr1) to High(sArr1) do
begin
sArr1[j] := sArr1[j].Trim;
sArr1[j] := FormatFloat('00', StrToIntDef(sArr1[j],0));
//sArr1[j] := s1;
end;
sArr[i] := string.Join('-', sArr1);
end;
end;
lbl1.Caption := string.Join(' ', sArr);
end;
end;end.