123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- unit StdLibsManagerFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ImgList, ComCtrls, ToolWin, ZJGrid, ScStdBillsCtrl, ActnList,
- Menus, ConstMethodUnit, ConstVarUnit;
- type
- TStdLibsManagerForm = class(TForm)
- zgLibs: TZJGrid;
- ToolBar1: TToolBar;
- ToolButton1: TToolButton;
- ToolButton2: TToolButton;
- ToolButton3: TToolButton;
- ToolButton4: TToolButton;
- ilstProject: TImageList;
- ActionList: TActionList;
- PopupMenu: TPopupMenu;
- actnDelete: TAction;
- actnRename: TAction;
- actnImport: TAction;
- actnExport: TAction;
- actnDelete1: TMenuItem;
- actnRename1: TMenuItem;
- actnImport1: TMenuItem;
- actnExport1: TMenuItem;
- actnCloseLib: TAction;
- procedure FormCreate(Sender: TObject);
- procedure actnDeleteExecute(Sender: TObject);
- procedure actnRenameExecute(Sender: TObject);
- procedure zgLibsCellTextChanging(Sender: TObject; const ACoord: TPoint;
- var NewValue: String; var Accept: Boolean);
- procedure actnDeleteUpdate(Sender: TObject);
- procedure actnCloseLibExecute(Sender: TObject);
- procedure actnImportExecute(Sender: TObject);
- procedure actnExportExecute(Sender: TObject);
- private
- { Private declarations }
- FStdBillsCtrl: TStdBillsCtrl;
- FLoading: Boolean;
- procedure InitLibs;
- procedure AddNewLibToGrid(const aLibName: string; aFileFlag: Integer);
- procedure ReNameLib(const aOldName, aNewName: string; aFileFlag: Integer);
- procedure SetStdBillsCtrl(const Value: TStdBillsCtrl);
- public
- { Public declarations }
- property StdBillsCtrl: TStdBillsCtrl read FStdBillsCtrl write SetStdBillsCtrl;
- end;
- implementation
- uses
- FXQDManagerUnit,
- NewProjectFrm;
- {$R *.dfm}
- procedure TStdLibsManagerForm.FormCreate(Sender: TObject);
- begin
- FLoading := True;
- zgLibs.ColWidths[1] := 220;
- zgLibs.ColWidths[2] := 120;
- zgLibs.TextAligns.Cols[1] := gaCenterLeft;
- zgLibs.TextAligns.Cols[2] := gaCenterCenter;
- zgLibs.Cells[1, 0].Text := '츰냔';
- zgLibs.Cells[2, 0].Text := '잚謹';
- zgLibs.Cells[1, 0].TextAlign := gaCenterCenter;
- FLoading := False;
- end;
- procedure TStdLibsManagerForm.InitLibs;
- var
- I: Integer;
- sLib: string;
- sFlag: string;
- begin
- FLoading := True;
- with FStdBillsCtrl.FXQDManager.ConfigFileManager do
- for I := 0 to Libs.Count - 1 do
- begin
- sLib := Libs[I];
- sFlag := Copy(sLib, 1, Pos('.', sLib) - 1);
- sLib := Copy(sLib, Pos('.', sLib) + 1, Length(sLib));
- zgLibs.Cells[1, I + 1].Text := sLib;
- if sFlag = '1' then
- zgLibs.Cells[2, I + 1].Text := '롸淃헌데';
- end;
- FLoading := False;
- end;
- procedure TStdLibsManagerForm.SetStdBillsCtrl(const Value: TStdBillsCtrl);
- begin
- FStdBillsCtrl := Value;
- if FStdBillsCtrl <> nil then
- InitLibs;
- end;
- procedure TStdLibsManagerForm.actnDeleteExecute(Sender: TObject);
- var
- iFileFlag: Integer;
- sLibName: string;
- begin
- if not MessageQuest(sDeleteLib) then Exit;
- sLibName := zgLibs.Cells[1, zgLibs.CurRow].Text;
- if sLibName = '' then Exit;
- if SameText(FStdBillsCtrl.StdBillsLibFrm.OpenLibName, sLibName) then
- begin
- MessageError(Screen.ActiveForm.Handle, '匡숭綠굳댔역,헝邱밑균匡숭疼�뇜!');
- Exit;
- end;
- if SameText(zgLibs.Cells[2, zgLibs.CurRow].Text, '롸淃헌데') then
- iFileFlag := 1;
- FStdBillsCtrl.FXQDManager.DeleteFile(sLibName);
- FStdBillsCtrl.StdBillsLibFrm.DeleteLib(sLibName, iFileFlag);
- zgLibs.DeleteRow(zgLibs.CurRow);
- end;
- procedure TStdLibsManagerForm.actnRenameExecute(Sender: TObject);
- var
- iFileFlag: Integer;
- sOldLibName: string;
- sNewLibName: string;
- begin
- sOldLibName := zgLibs.Cells[1, zgLibs.CurRow].Text;
- if sOldLibName = '' then Exit;
- if SameText(FStdBillsCtrl.StdBillsLibFrm.OpenLibName, sOldLibName) then
- begin
- MessageError(Screen.ActiveForm.Handle, '匡숭綠굳댔역,헝邱밑균匡숭疼路츱츰!');
- Exit;
- end;
- if SameText(zgLibs.Cells[2, zgLibs.CurRow].Text, '롸淃헌데') then
- iFileFlag := 1;
- sNewLibName := sOldLibName;
- while ScInputQuery('깃硫헌데', '헌데츰냔', sNewLibName) do
- begin
- if not CheckSpecialChar(sNewLibName) then
- begin
- if not FStdBillsCtrl.FXQDManager.CheckLibExists(sNewLibName) then
- begin
- zgLibs.Cells[1, zgLibs.CurRow].Text := sNewLibName;
- ReNameLib(sOldLibName, sNewLibName, iFileFlag);
- Break;
- end
- else
- begin
- sNewLibName := sOldLibName;
- MessageWarning(Screen.ActiveForm.Handle, sSameFileName);
- end;
- end
- else
- begin
- sNewLibName := sOldLibName;
- MessageWarning(Screen.ActiveForm.Handle, sSpecialChar);
- end;
- end;
- end;
- procedure TStdLibsManagerForm.zgLibsCellTextChanging(Sender: TObject;
- const ACoord: TPoint; var NewValue: String; var Accept: Boolean);
- var
- sOldLibName: string;
- iFileFlag: Integer;
- begin
- if FLoading then Exit;
-
- Accept := False;
- if ACoord.X <> 1 then Exit;
- sOldLibName := zgLibs.Cells[1, zgLibs.CurRow].Text;
- if sOldLibName = '' then Exit;
- if SameText(zgLibs.Cells[2, zgLibs.CurRow].Text, '롸淃헌데') then
- iFileFlag := 1;
-
- if not CheckSpecialChar(NewValue) then
- begin
- if not FStdBillsCtrl.FXQDManager.CheckLibExists(NewValue) then
- begin
- Accept := True;
- ReNameLib(sOldLibName, NewValue, iFileFlag);
- end
- else
- MessageWarning(Screen.ActiveForm.Handle, sSameFileName);
- end
- else
- MessageWarning(Screen.ActiveForm.Handle, sSpecialChar);
- end;
- procedure TStdLibsManagerForm.ReNameLib(const aOldName, aNewName: string;
- aFileFlag: Integer);
- begin
- FStdBillsCtrl.FXQDManager.RenameFile(aOldName, aNewName);
- FStdBillsCtrl.StdBillsLibFrm.ReNameLib(aOldName, aNewName, aFileFlag);
- end;
- procedure TStdLibsManagerForm.actnDeleteUpdate(Sender: TObject);
- begin
- TAction(Sender).Enabled := zgLibs.Cells[1, zgLibs.CurRow].Text <> '';
- end;
- procedure TStdLibsManagerForm.actnCloseLibExecute(Sender: TObject);
- var
- iFileFlag: Integer;
- begin
- if SameText(zgLibs.Cells[2, zgLibs.CurRow].Text, '롸淃헌데') then
- iFileFlag := 1;
- Screen.Cursor := crHourGlass;
- try
- FStdBillsCtrl.StdBillsLibFrm.CloseLib(iFileFlag);
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- procedure TStdLibsManagerForm.actnImportExecute(Sender: TObject);
- var
- iFileFlag: Integer;
- sFileName: string;
- sLibName: string;
- sNewLibName: string;
- begin
- if OpenFileDialog('돔흙', '.dat', '', 'files (*.dat)|*.dat', sFileName) then
- begin
- sLibName := ExtractFileNameWithoutExt(sFileName);
- sNewLibName := sLibName;
- while InputStdLibName(sNewLibName, iFileFlag) do
- begin
- if sNewLibName <> '' then
- begin
- if not FStdBillsCtrl.FXQDManager.CheckLibExists(sNewLibName) then
- begin
- FStdBillsCtrl.FXQDManager.ImportLib(sFileName, sNewLibName);
- FStdBillsCtrl.StdBillsLibFrm.AddLib(sNewLibName, iFileFlag);
- AddNewLibToGrid(sNewLibName, iFileFlag);
- Break;
- end
- else
- begin
- sNewLibName := sLibName;
- MessageError(Screen.ActiveForm.Handle, sSameFileName);
- end;
- end
- else
- begin
- sNewLibName := sLibName;
- MessageError(Screen.ActiveForm.Handle, sNameNotNull);
- end;
- end;
- end;
- end;
- procedure TStdLibsManagerForm.AddNewLibToGrid(const aLibName: string;
- aFileFlag: Integer);
- var
- iRow: Integer;
- begin
- FLoading := True;
- iRow := FStdBillsCtrl.FXQDManager.ConfigFileManager.Libs.Count + zgLibs.FixedRowCount - 1;
- zgLibs.Cells[1, iRow].Text := aLibName;
- if aFileFlag = 1 then
- zgLibs.Cells[2, iRow].Text := '롸淃헌데'
- else
- zgLibs.Cells[2, iRow].Text := '묏넋좆헌데';
- FLoading := False;
- end;
- procedure TStdLibsManagerForm.actnExportExecute(Sender: TObject);
- var
- sLibName: string;
- sFileName: string;
- begin
- sLibName := zgLibs.Cells[1, zgLibs.CurRow].Text;
- if SaveFileDialog(sExportTip, '.dat', sLibName, '헌데긍齡 (*.dat)|*.dat', sFileName) then
- begin
- sLibName := FStdBillsCtrl.FXQDManager.GenerateLibName(sLibName);
- FStdBillsCtrl.FXQDManager.ExportLib(sLibName, sFileName);
- end;
- end;
- end.
|