Arrays 使用文本文件和数组(需要解释)

Arrays 使用文本文件和数组(需要解释),arrays,delphi,Arrays,Delphi,我正忙着写一份旧的11年级试卷,我的老师没有解释ipos-1之类的东西的意义。有人能解释为什么需要这样做吗?因为目前我正努力理解ipos-1和复制和删除功能的作用。代码如下: procedure TForm1.CreateBookCode1Click(Sender: TObject); var icount,k,ipos:integer; begin richedit1.Clear; richedit1.Lines.Add('Book Title'+#9+'Book Code');

我正忙着写一份旧的11年级试卷,我的老师没有解释ipos-1之类的东西的意义。有人能解释为什么需要这样做吗?因为目前我正努力理解ipos-1和复制和删除功能的作用。代码如下:

procedure TForm1.CreateBookCode1Click(Sender: TObject);
var icount,k,ipos:integer;
begin
  richedit1.Clear;
  richedit1.Lines.Add('Book Title'+#9+'Book Code');
  for k:=1 to icount do
  begin
    ipos := pos(';',arrBooks[k]);
    arrtitle[k]  := copy(arrbooks[k],1,ipos-1);
    delete(arrbooks[k],1,ipos);
    ipos := pos(',',arrbooks[k]);
    arrsurname[k]:= copy(arrbooks[k],1,ipos-1);
    arrcode[k] := copy(arrsurname[k],1,3) +inttostr(k);

    richedit1.Lines.add(arrtitle[k] + #9 + arrcode[k]);
  end;
首次公开募股:=位置“;”,书籍[k]; arrttitle[k]:=抄本[k],1,IPO-1

这表示将arrtitle数组的第k个元素设置为arrbooks数组第k个元素中第一个分号之前的字符串

换句话说,每个元素的标题都是元素的第一部分,即分号之前的位

从ipos中减去1的原因是ipos是分号在数组第k个元素中的位置。从副本中减去一表示不复制分号

请注意,这里似乎至少存在两个问题:

1 icount似乎未初始化。它应该包含数组中的元素数

2在设定IPO的行中,arrbooks输入错误:它有一个大写字母B

删除账簿[k],1,首次公开募股


这表示从arrbooks数组的k'th元素中从开始到分号(包括分号)删除所有字符,因为ipos指向arrbooks数组的k'th元素中的分号。

非常感谢。真的帮了我很多忙:不客气。在堆栈溢出时感谢人们的答案的标准方法是向他们投票。通过单击投票按钮下的大勾号,选择对您最有帮助的答案,并接受它。您知道如何查找文档吗?副本已记录在案。