helpers.pas

来自「一个老外写的P2P例子...有点简单」· PAS 代码 · 共 81 行

PAS
81
字号
unit Helpers;

interface

uses
  Classes;

const
  cPeers = 'Peers.txt';
  cRecipes = 'Recipes.txt';

procedure AddToFile(const AFileName, ALine: string);
function SearchFile(const AFileName, ASearch: string): string;
procedure DeleteFromFile(const AFileName, ALine: string);

implementation

uses SysUtils;

procedure AddToFile(const AFileName, ALine: string);
var
  f: TStringList;
begin
  f := TStringList.Create;
  try
    if FileExists(AFileName) then
      f.LoadFromFile(AFileName);
    f.Duplicates := dupIgnore;
    f.Add(ALine);
    f.SaveToFile(AFileName);
  finally
    f.free;
  end;
end;

function SearchFile(const AFileName, ASearch: string): string;
var
  f: TStringList;
  idx: Integer;
begin
  result := '';
  f := TStringList.Create;
  try
    if FileExists(AFileName) then
    begin
      f.LoadFromFile(AFileName);
      for idx := 0 to pred(f.Count) do
      begin
        if pos(UpperCase(ASearch),UpperCase(f[idx])) > 0 then
        begin
          result := f[idx];
          exit;
        end;
      end;
    end;
  finally
    f.free;
  end;
end;

procedure DeleteFromFile(const AFileName, ALine: string);
var
  f: TStringList;
  idx: Integer;
begin
  f := TStringList.Create;
  try
    if FileExists(AFileName) then
      f.LoadFromFile(AFileName);
    idx := f.IndexOf(ALine);
    if idx > -1 then
      f.Delete(idx);
    f.SaveToFile(AFileName);
  finally
    f.free;
  end;
end;


end.

⌨️ 快捷键说明

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