请教!如何循环显示三个数据?(100分)(100分)

Z

zhengv

Unregistered / Unconfirmed
GUEST, unregistred user!
如何循环显示三个数据?如记录数据1,2,3,4,5,6,等,第一次显示A=1,b=2,c=3;第二次A=2,b=3,c=4;第三次A=3,b=4,c=5等,
然后判断是否需要的三个顺序数据。
procedure TForm1.Button1Click(Sender: TObject);
type
my=record
data:array[1..1] of integer;
end;
var
f:file of my;
my2:my;
A,B,C,x:integer;
begin
assignfile(f,'c:/1.dat);
reset(f);
while not eof(f) do
begin
read(f,my2);
x:=my2.data[1];
如何滚动显示三个数据?
A:=x;
b:=x;
c:=x;
form1.Memo1.Lines.add(Inttostr(A)+''+Inttostr(b)+''Inttostr(c));
end;
closefile(f);
end;
上帝和你都能帮助我,上帝不在我身边只好求你了!
 
procedure TForm1.Button1Click(Sender: TObject);
const N=3;
var
f:textFile;
s:array[0..N-1] of string;
ss:string;
i,j,m,p:integer;
begin
try
assignfile(f,'d:/d.dat');
reset(f);
//先读 n-1 个
for i:=0 to N-2 do readln(f,s);

m:=N-1;
while not(eof(f)) do
begin
readln(f,s[m]);
inc(m);
if m=N then m:=0;
ss:='';
for j:=m to m+N-1 do ss:=ss+' '+s[j mod N];
memo1.text:=ss;
application.ProcessMessages ;
sleep(1000);
end;
closefile(f);
except
end;
end;


假设你的数据是每行一个:
d:/d.dat 如下:
1
2
3
4
5
6
7
8
9
10

 
文件数据类型是数组,请不要改动。
上帝和你都能帮助我,上帝不在我身边只好求你了!
 
好象是命令式的,其实你自己改一下就可以了。
要用你的格式,我还得写一个这种文件。
 
对不起!就怕看不懂,我试试。
上帝和你都能帮助我,上帝不在我身边只好求你了!
 
从上面文件类型的定义,看出你对文件操作不熟悉。

以下已经完全实现了你的功能!!!!!!

////// 以下这段是你要的。
procedure TForm1.Button2Click(Sender: TObject);
const N=3;
var
f:File of integer;
s:array[0..N-1] of string;
ss:string;
i,j,m,p,x:integer;
begin
try
assignfile(f,'d:/d.dat');
reset(f);
//先读 n-1 个
for i:=0 to N-2 do
begin
read(f,x);
s:=inttostr(x);
end;

m:=N-1;
while not(eof(f)) do
begin
read(f,x);
s[m]:=inttostr(x);
inc(m);
if m=N then m:=0;
ss:='';
for j:=m to m+N-1 do ss:=ss+' '+s[j mod N];
memo1.text:=ss;
application.ProcessMessages ;
sleep(100);
end;
closefile(f);
except
end;

end;

/////////// 以下是写一个你的格式的文件
procedure TForm1.Button1Click(Sender: TObject);
var
f:file of integer;
i,n:integer;
begin
assignfile(f,'d:/d.dat');
rewrite(f);
for i:=1 to 50 do write(f,i);
closefile(f);
end;
 
不管问题如何解决,先谢谢你!
上帝和你都能帮助我,上帝不在我身边只好求你了!
 
顶部