2维数组赋值问题 ( 积分: 100 )

  • 主题发起人 主题发起人 gudong
  • 开始时间 开始时间
G

gudong

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在需要把我提出的数据存贮到我的数组里面,怎么也赋值不了,望大家帮忙看看了
数据要求提出在2维数组里面,比如,数组[0,1]为14(最好是数值),数组[0,2]是60 ......现在已经能提出这些字符,怎么把他保存到2维数组里面呢? 我就是用字符串也没有办法保存,那里出问题了,请高手指点一下了,谢谢
这个是要提出数据的文件内容:
14,60,700,0.4,2,1,0,1
0,0,1.4
1,1,1.4
2,3,1.4
3,5,1.4
4,7.5,1.4
5,10,1.4
6,12.5,1.4
7,15,1.4
8,17.5,1.4
9,20,1.4
10,22.5,1.4
11,25,1.4
12,27.5,1.4
13,30,1.4
下面是提取的程序

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;

type
Tmyarray =array of array of string;
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
RichEdit1: TRichEdit;
procedure Button1Click(Sender: TObject);
private
function myintread (s:string;i:integer):Tmyarray;
{ Private declarations }
public

arr : Tmyarray;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var
s: string;
i,l: integer;
begin
opendialog1.Execute;
richedit1.Lines.LoadFromFile(opendialog1.FileName);
setlength(arr,20);
for l:=0 to 19 do
begin
setlength(arr[l],100);
end;
for i := 0 to richedit1.Lines.Count-1
do
begin
s:=','+trim(richedit1.lines)+',';
form1.myintread(s,i);
end;
end;

function TForm1.myintread(s: string;i:integer): Tmyarray;
var ii,j,k,l:integer;
str:string;
begin
ii:=-1;
l:=0;
if length(s)<>0 then
begin
for k:= 1 to length(s) do
begin
if copy(s,k,1)=','then
begin
j:=k;
str:=copy(s,ii+1,j-ii-1);
ii:=j;
if str<>','then
begin

arr[i,l]:=str; //这里怎么也不能赋值,奇怪啊
end;
l:=l+1;
end;
end;
end;
end;

end.
 
问题解决了,是我arr[i,l]:=str写错了,应该改成arr[j]:=str;
来顶的,我都给分3天内发放,谢谢
 
路过接分
 
路过,学习一下
 
arr[i,l]这种写法好象没见过?是哪种语言里面的啊?这样写编译时能通过?
 
多人接受答案了。
 
后退
顶部