新手请教:关于多个Tedit获取各自所需的数据!!
现有edit1,edit2.....edit20和一个maskedit1,从maskedit1中输入数据,如01220则edit1中显示220,02188则在edit2中显示188,123456则是在edit12中显示3456.
同时Tedit中可以进行加、减运算,如在maskedit1中第一次输入01348则edit1中为348,第二次输入012则edit1中显示为350.第三次输入01-10则显示为340.
不用多个Tedit用数据表如何实现?
请各位大侠不吝赐教!!!!!
[解决办法]
- C# code
procedure TForm1.ShowText(s: string);var i:Integer; c:TComponent;begin i := StrToInt(Copy(s,1,2)); c := Self.FindComponent('Edit'+IntToStr(i)); if c = nil then Exit; if c is TEdit then begin TEdit(c).Text := Copy(s,3,Length(s)-2); end;end;procedure TForm1.Button1Click(Sender: TObject);begin ShowText('01220');end;
[解决办法]
看楼主处理问题这思路真捉鸡~~
var sTmp: string;
iTmp: Integer;
uTmp: TEdit;
begin
sTmp:=maskedit1.text;
iTmp:=Strtointdef(copy(sTmp,3,length(sTmp)-2,0);
sTmp:='Edit'+Copy(sTmp,1,2);
uTmp:=FindComponent(sTmp);
if Assigned(uTmp) then
uTmp.text:=IntToStr(StrtoIntDef(uTmp.text,0)+iTmp);