⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editpos.pad

📁 Jedi Code Library JCL JVCL 组件包 JCL+JVCL超过300个组件的非可视/可视大型组件包。
💻 PAD
字号:
unit EditPos;

var
  EditPosReg: TJvRegAuto;

const
  EditPosCfg = 'EditPos.cfg';

procedure InitEditPos;
begin
  EditPosReg := TJvRegAuto.Create(MainWindow);
  EditPosReg.IniFile := WorkingDir + EditPosCfg;
  EditPosReg.UseIni := True;
  EditPosReg.UseReg := False;
end;

procedure DoneEditPos;
begin
 { we must delete old records in 'EditPos.cfg' }
  //..
  EditPosReg.Free;
end;

procedure CloseEditPos(FileName: string);
var
  i: Integer;
begin
  if FileName = '' then Exit;
  ODS('Save edit pos');
  EditPosReg.EraseSection(FileName);
  EditPosReg.WriteInteger(FileName, 'X', Editor.CaretX);
  EditPosReg.WriteInteger(FileName, 'Y', Editor.CaretY);
  EditPosReg.WriteInteger(FileName, 'Left', Editor.LeftCol);
  EditPosReg.WriteInteger(FileName, 'Top', Editor.TopRow);
  {EditPosReg.WriteInteger(FileName, 'WindowLeft', MainWindow.Left);
  EditPosReg.WriteInteger(FileName, 'WindowTop', MainWindow.Top);
  EditPosReg.WriteInteger(FileName, 'WindowWidth', MainWindow.Width);
  EditPosReg.WriteInteger(FileName, 'WindowHeight', MainWindow.Height);}

  for i := 0 to 9 do
    if Editor.BookmarkValid[i] then
    begin
      EditPosReg.WriteInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.X', Editor.BookmarkX[i]);
      EditPosReg.WriteInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.Y', Editor.BookmarkY[i]);
    end;
end;

procedure OpenEditPos(FileName: string);
var
  i: Integer;
  X, Y: Integer;
begin
  if FileName = '' then Exit;
  ODS('Restore edit pos for file ' + FileName);
  Editor.CaretX := EditPosReg.ReadInteger(FileName, 'X', 0);
  Editor.CaretY := EditPosReg.ReadInteger(FileName, 'Y', 0);
  Editor.SetLeftTop(EditPosReg.ReadInteger(FileName, 'Left', 0),
    EditPosReg.ReadInteger(FileName, 'Top', 0));
 { MainWindow.Left := EditPosReg.ReadInteger(FileName, 'WindowLeft', MainWindow.Left);
  MainWindow.Top := EditPosReg.ReadInteger(FileName, 'WindowTop', MainWindow.Top);
  MainWindow.Width := EditPosReg.ReadInteger(FileName, 'WindowWidth', MainWindow.Width);
  MainWindow.Height := EditPosReg.ReadInteger(FileName, 'WindowHeight', MainWindow.Height); }

  for i := 0 to 9 do
  begin
    X := EditPosReg.ReadInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.X', -1);
    Y := EditPosReg.ReadInteger(FileName, 'Bookmarks.' + IntToStr(i) + '.Y', -1);
    if (X > -1) and (Y > -1) then
    begin
      Editor.BookmarkX[i] := X;
      Editor.BookmarkY[i] := Y;
      Editor.BookmarkValid[i] := True;
    end
    else
      Editor.BookmarkValid[i] := False;
  end;

end;


end.

⌨️ 快捷键说明

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