https://www.cnblogs.com/karkash/p/16310441.html

image

procedure TForm4.CreateZipCodeTable;
var
    aField : TFieldDef;
    anIndex: TIndexDef;
begin
      aField := fdmtZipCodes.FieldDefs.AddFieldDef;        //添加 字段1     邮政编码
      aField.DataType := ftInteger;
      aField.Name:='邮政编码';

      aField := fdmtZipCodes.FieldDefs.AddFieldDef;       //添加 字段2    区名
      aField.DataType := ftWideString;
      aField.Size :=30;
      aField.Name:='区名';

      anIndex :=  fdmtZipCodes.IndexDefs.AddIndexDef;        //添加 索引1
      anIndex.Fields  :='邮政编码';
      anIndex.Name:='pnIndex';

      fdmtZipCodes.CreateDataSet;
end;
procedure TForm4.FillZipCodeData;
  procedure InsertData(const zip:integer; const aName : string);    begin
    fdmtZipCodes.Insert ;
    fdmtZipCodes['邮政编码']:= zip;
    fdmtZipCodes['区名']:= aName;
    fdmtZipCodes.Post;
  end;
begin
  InsertData(100,'中正区');
  InsertData(200,'文山区');
  InsertData(101,'涂正区');
  InsertData(202,'一山区');
end;

image

 

procedure TForm4.Button1Click(Sender: TObject);
begin
  fdmtZipCodes.SaveToFile('Ajson.json',sfJSON);
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
  fdmtZipCodes.LoadFromFile('Ajson.json',sfJSON);
end;

procedure TForm4.Button4Click(Sender: TObject);        //清空数据
begin

 fdmtZipCodes.Close();
fdmtZipCodes.FieldDefs.Clear();
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
fdmtZipCodes.Delete;
end;
procedure TForm4.Edit1Change(Sender: TObject);  //动态过滤
begin
  fdmtZipCodes.Filtered:= false;
  fdmtZipCodes.Filter:='"邮政编码"='+Edit1.Text;
  fdmtZipCodes.Filtered:= true;

end;