upublic.pas

来自「数据库试验题目」· PAS 代码 · 共 155 行

PAS
155
字号
unit UPublic;

interface

uses
   DB,DBClient,StrUtils,SysUtils,ComCtrls;

type
  TTextFile = Textfile;

function GetFillStr(sSrc: string; iLen: integer; sSgin: string; sFill: string): string;
function GetIntDataSet(curDataSet: TClientDataSet; sField: string; iDefault: integer): integer; overload;
function GetIntDataSet(curDataSet: TDataSet; sField: string; iDefault: integer): integer; overload;
function GetStrDataSet(curDataSet: TClientDataSet; sField: string; sDefault: string): string; overload;
function GetStrDataSet(curDataSet: TDataSet; sField: string; sDefault: string): string; overload;
function GetFloatDataSet(curDataSet: TClientDataSet; sField: string; fDefault: Double): Double; overload;
function GetFloatDataSet(curDataSet: TDataSet; sField: string; fDefault: Double): Double; overload;
procedure SetSelected(curList: TListView; curItem: TListItem); overload;
procedure SetSelected(curList: TListView; curString: string); overload;

implementation

function GetFillStr(sSrc: string; iLen: integer; sSgin: string; sFill: string): string;
var
  i: integer;
  sTemp: string;
begin
  stemp := '';
  for i := 1 to ilen - length(sSrc) do
    stemp := stemp + sfill;
  if ilen - length(ssrc) < 0 then
  begin
    result := leftstr(ssrc, ilen);
    exit;
  end;
  if uppercase(ssgin) = 'L' then result := stemp + ssrc;
  if uppercase(ssgin) = 'R' then result := ssrc + stemp;
end;

function GetIntDataSet(curDataSet: TClientDataSet; sField: string; iDefault: integer): integer;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := iDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := iDefault
      else Result := fieldbyname(sField).asinteger;
    end;
  end;
end;

function GetIntDataSet(curDataSet: TDataSet; sField: string; iDefault: integer): integer;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := iDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := iDefault
      else Result := fieldbyname(sField).asinteger;
    end;
  end;
end;

function GetStrDataSet(curDataSet: TClientDataSet; sField: string; sDefault: string): string;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := sDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := sDefault
      else Result := fieldbyname(sField).asstring;
    end;
  end;
end;

function GetStrDataSet(curDataSet: TDataSet; sField: string; sDefault: string): string;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := sDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := sDefault
      else Result := fieldbyname(sField).asstring;
    end;
  end;
end;

function GetFloatDataSet(curDataSet: TClientDataSet; sField: string; fDefault: Double): Double; overload;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := fDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := fDefault
      else Result := fieldbyname(sField).asfloat;
    end;
  end;
end;

function GetFloatDataSet(curDataSet: TDataSet; sField: string; fDefault: Double): Double; overload;
begin
  with curDataSet do
  begin
    if fieldbyname(sField).IsNull then Result := fDefault
    else
    begin
      if fieldbyname(sField).asstring = '' then Result := fDefault
      else Result := fieldbyname(sField).AsFloat;
    end;
  end;
end;

procedure SetSelected(curList: TListView; curItem: TListItem);
var
  i: integer;
begin
  with curList do
  begin
    for i := 0 to Items.Count - 1 do
    begin
      if pos(curItem.Caption, Items[i].Caption) <> 0 then
      begin
        Items[i].Selected := true;
        exit;
      end;
    end;
  end;
end;

procedure SetSelected(curList: TListView; curString: string);
var
  i: integer;
begin
  with curList do
  begin
    for i := 0 to Items.Count - 1 do
    begin
      if pos(curString, Items[i].Caption) <> 0 then
      begin
        Items[i].Selected := true;
        exit;
      end;
    end;
  end;
end;


end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?