unit U_iniParam;

interface

uses
  IniFiles, SysUtils;

var
  Filename: string;      //文件名
  iParam2: integer;
  bParam1: Boolean;
  bParam2: Boolean;
  SCXFlag: string;  //生产线   根据此标志获取卷条码前缀 不能包含字母  1,2
  SCXCount: string;  //机台个数
  PortNoStr: string; //端口号
  DllName: string; //端口Dll文件
  DZCDYDllName: string; //电子秤调用Dll文件
  IsDZCDYDll: string; //启用电子秤调用Dll文件
  MBDYDllName: string; // 码表调用Dll文件
  IsMBDYDll: string; // 启用码表调用Dll文件
  IsMBDYDllUnit: string; // 启用码表调用Dll文件单位
  LabQty: string; // 标签份数
  FMinLen, FMaxLen, FMinWeight, FMaxWeight: string;
  FMPlace, FYPlace, FKgPlace: string;

function IsINIFile(): Boolean;  //判断InI配置文件是否存在

procedure ReadINIFile();

procedure WriteINIFile();

implementation
///////////////////////////////////////////////////////////////////
  //读取ini文件设置参数
  //参数：
////////////////////////////////////////////////////////////////////

procedure ReadINIFile();
var
  programIni: Tinifile;  //配置文件名
begin
  FileName := ExtractFilePath(Paramstr(0)) + 'TatInspFile.INI';
  programIni := Tinifile.create(FileName);
  SCXFlag := programIni.ReadString('生产车间配置', '卷条码机台标志', '1');
  SCXCount := programIni.ReadString('生产车间配置', '机台个数', '1');

  DZCDYDllName := programIni.ReadString('生产车间配置', '电子秤调用Dll文件', '');
  IsDZCDYDll := programIni.ReadString('生产车间配置', '启用电子秤Dll文件', '1');

  MBDYDllName := programIni.ReadString('生产车间配置', '码表调用Dll文件', '');
  IsMBDYDll := programIni.ReadString('生产车间配置', '启用码表Dll文件', '1');
  IsMBDYDllUnit := programIni.ReadString('生产车间配置', '启用码表单位', '1');

  LabQty := programIni.ReadString('生产车间配置', '标签份数', '2');

  FMinLen := programIni.ReadString('生产车间配置', '米数下限', '0');
  FMaxLen := programIni.ReadString('生产车间配置', '米数上限', '100');
  FMinWeight := programIni.ReadString('生产车间配置', '重量下限', '0');
  FMaxWeight := programIni.ReadString('生产车间配置', '重量上限', '50');

  FMPlace := programIni.ReadString('生产车间配置', '米数小数位', '1');
  FYPlace := programIni.ReadString('生产车间配置', '码数小数位', '0');
  FKgPlace := programIni.ReadString('生产车间配置', '重量小数位', '1');

  programIni.Free;
end;

//////////////////////////////////////////////////////////////////
  //写设置信息到INI文件
  //参数
//////////////////////////////////////////////////////////////////
procedure WriteINIFile();
var
  programIni: Tinifile;  //配置文件名
begin
  FileName := ExtractFilePath(Paramstr(0)) + 'TatInspFile.INI';
  programIni := Tinifile.create(FileName);
  programIni.WriteString('生产车间配置', '卷条码机台标志', SCXFlag);
  programIni.WriteString('生产车间配置', '机台个数', SCXCount);
  programIni.WriteString('生产车间配置', '端口号', PortNoStr);

  programIni.WriteString('生产车间配置', '电子秤调用Dll文件', DZCDYDllName);
  programIni.WriteString('生产车间配置', '启用电子秤Dll文件', IsDZCDYDll);

  programIni.WriteString('生产车间配置', '码表调用Dll文件', MBDYDllName);
  programIni.WriteString('生产车间配置', '启用码表Dll文件', IsMBDYDll);
  programIni.WriteString('生产车间配置', '启用码表单位', IsMBDYDllUnit);

  programIni.WriteString('生产车间配置', '标签份数', LabQty);

  programIni.WriteString('生产车间配置', '米数下限', FMinLen);
  programIni.WriteString('生产车间配置', '米数上限', FMaxLen);
  programIni.WriteString('生产车间配置', '重量下限', FMinWeight);
  programIni.WriteString('生产车间配置', '重量上限', FMaxWeight);

  programIni.WriteString('生产车间配置', '米数小数位', FMPlace);
  programIni.WriteString('生产车间配置', '码数小数位', FYPlace);
  programIni.WriteString('生产车间配置', '重量小数位', FKgPlace);

  programIni.Free;
end;
//////////////////////////////////////////////////////////////////
  //判断InI文件是否存在
//////////////////////////////////////////////////////////////////

function IsINIFile(): Boolean;
begin
  FileName := ExtractFilePath(Paramstr(0)) + 'TatInspFile.INI';
  if FileExists(FileName) then
    Result := true
  else
    Result := false;
end;

end.

