delphi函数问题。请指教

lddcy 2003-08-29 11:38:16
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;

type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
aa:array [1..15] of integer;
bb:array [1..1000]of set of 'A'..'O';
implementation
{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
s1,s2,k:string;
begin
for j:=1 to 1000 do begin
bb[j]:=[];
end;
i:=1;
table1.First;
while not table1.Eof do begin
s1:=table1.FieldByName('s').Text;
for j:=1 to length(s1) do begin
k:=copy(s1,j,1); // wrong here
include(bb[i],k);
end;
i:=i+1;
table1.Next;
end;

for i:=1 to 15 do begin
aa[j]:=0;
end;
for i:=1 to 1000 do begin
for j:=1 to 15 do begin
if chr(j+64) in bb[i] then aa[j]:=aa[j]+1;
end;
end;
end;

end.
当执行到include(bb[i],k);时出现类型不匹配错误,请问应该怎么修改
...全文
23 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluenightsky 2003-08-29
  • 打赏
  • 举报
回复
然后
k:=s1[j];
include(bb[i],k);
bluenightsky 2003-08-29
  • 打赏
  • 举报
回复
同意楼上,你类型不同 string-char
所以k:char 或k[1]
最好还是 k:char;
sdyds 2003-08-29
  • 打赏
  • 举报
回复
K也应是集合类型
lxpbuaa 2003-08-29
  • 打赏
  • 举报
回复
你可以将K声明为Char,或者:
include(bb[i],k[1]);

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,928

社区成员

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

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