edit1中输入的一串数字

3xp 2003-02-14 11:05:31
请问组件edit1中输入的一串数字,例如(1,2,3,4,5,6,7,8,9,10,11,23,-1.)用逗号分开结束用点,如何将其输入到预先定义的数组中x:arrary[1..13] of double.
x[i]:=strtoint(edit1.text)?

...全文
47 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
samcrm 2003-02-14
  • 打赏
  • 举报
回复
修改sysu(死树)兄的代码如下,绝对通过!

procedure TForm1.Button1Click(Sender: TObject);
var
x: array[0..12] of string;
str: TStringList;
i: Integer;
begin
str := TStringList.Create;
Edit1.Text := StringReplace(Edit1.Text, '.', '', []); // 去掉句号
str.CommaText := Edit1.Text;
for i := 0 to 12 do
if i <= str.Count then
x[i] := str[i];
for i:=0 to 12 do
Edit2.Text:=Edit2.Text+' '+str[i];
str.Free;
end;
samcrm 2003-02-14
  • 打赏
  • 举报
回复
自己写一个函数。
sysu 2003-02-14
  • 打赏
  • 举报
回复
var
x: arrary[1..13] of double;
str: TStringList;
i: Integer;
begin
str := TStringList.Create;
Edit1.Text := StringReplace(Edit1.Text, '.', '', []); // 去掉句号
str.CommaText := Edit1.Text;
for i := 1 to 13 do
if i <= str.Count then
x[i] := IntToStr(str[i]);
str.Free;
end;
god263 2003-02-14
  • 打赏
  • 举报
回复
循环截取字符串!
dyf2001 2003-02-14
  • 打赏
  • 举报
回复
// dyf 2002-12-31
// 将Sourece按Separator分隔成TStrings
function StringToStrings(Source : string; Separator : string) : TStrings;
var
temp : TStringList;
begin
temp:=TStringList.Create;
while Pos(Separator, Source)>0 do begin
temp.Add(Copy(Source, 1, Pos(Separator, Source)-1));
Delete(Source, 1, Pos(Separator, Source));
end;
// Add last item
temp.Add(Source);
Result:=temp;
end;
qiujsh 2003-02-14
  • 打赏
  • 举报
回复
用楼上的方法就行
cyli888 2003-02-14
  • 打赏
  • 举报
回复
用法如下:
copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def'
concat(str1,str2{,strn}) 把各自变量连接起来,返回连接后的字符串(长度不能超过255)

length(str) 返回str的字符个数,即其长度.

pos(obj,target) 在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0.

qxj 2003-02-14
  • 打赏
  • 举报
回复
一个一个取呀,
用POS定位,
用COPY来得到

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧