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

📄 commfee.pas

📁 县级供电企业电费核算源码, 在客户处正常运行8年以上, Delphi 5开发,数据库为Interbase/Firebird, 深入使用Procedure和Trigger等, 对入门者具有很好的参考价值
💻 PAS
字号:
unit CommFee;

interface
uses
	Forms, DB;
Procedure MyCreateForm(FormClass: TFormClass; var Form:TForm; bShowModal:Boolean=False; bImmediateShow:Boolean=True);//建立窗口
Procedure MyReleaseForm(Var Form:TForm);//释放窗口
Procedure MyOpenDataset(Dataset: TDataSet);
Procedure MyCloseDataset(Dataset: TDataSet; bClose: Boolean=False);

implementation
uses
	Dialogs;
//建立窗口
Procedure MyCreateForm(FormClass: TFormClass; var Form:TForm; bShowModal:Boolean=False; bImmediateShow:Boolean=True);
Const
	MaxChildCount = 10;//最多子窗口数
Begin
    If Form <> Nil Then//窗口已经显示
    Begin
        If bShowModal Then
        Begin
            Try
                Form.ShowModal();
                Exit;
            Except
                Form := Nil;
            End;
        End
        Else
        Begin
            Try
                Form.BringToFront();
                Exit;
            Except
                Form := Nil;
            End;
        End;
    End;
	//窗口需建立
    Try
	    Application.CreateForm(FormClass, Form);
    Except
	    If Form = Nil Then
    	Begin
    		ShowMessage('窗口 ['+Form.Name+'] 不能建立!');
        	Exit;
    	End;
    End;
    If bShowModal Then
    Begin
        Form.FormStyle := fsNormal;
        Form.Position := poScreenCenter;
        If bImmediateShow Then
	        Form.ShowModal();
    End
    Else
    Begin
        If (Application.MainForm.FormStyle = fsMDIForm) And (Form.FormStyle = fsMDIChild) Then//主窗口是MDIForm
            Form.WindowState := wsMaximized
        Else
        Begin
            Form.FormStyle := fsNormal;
            Form.Position := poScreenCenter;
        	Form.Show();//显示窗口
        End;
    End;
End;

//释放窗口
Procedure MyReleaseForm(Var Form:TForm);
Begin
	If Form = Nil Then
    	Exit;
	Try
		Form.Release;
    Finally
	    Form := Nil;
    End;
End;

Procedure MyOpenDataset(Dataset: TDataSet);
Begin
    If Not Dataset.Active Then
    Begin
    	Try
	    	Dataset.Open();
            Dataset.Tag := 1;
        Except
           	Dataset.Tag := 0;
           	ShowMessage('数据库连接已关闭或指定的表不存在, 你必须关闭系统!');
        End;
    End
    Else
    	Dataset.Tag := Dataset.Tag + 1;
End;

Procedure MyCloseDataset(Dataset: TDataSet; bClose: Boolean=False);
Begin
	If bClose Or (Dataset.Tag = 1) Then
    Begin
    	Dataset.Close();
        Dataset.Tag := 0;
    End
    Else
    Begin
    	If Dataset.Tag > 0 Then
	   		Dataset.Tag := Dataset.Tag - 1
        Else
        	Dataset.Tag := 0;
    End;
End;


end.

⌨️ 快捷键说明

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