Topic: Reportmanager Framework Thank You EveryBody !

Report Manager Framework Thank You EveryBody !
Everybody  Are Good Teacher For Me And My Student

I have little sample for my student to learn easy script ...use it and write
I hope that it would be useful for you ... Thank You Again.

Easy Code For
-Create Custom SQL Run &  Report Design
-Backup Restore Use Function Compress ,Decompress
-OpenDialog
-Create Folder Dir
-Database ATTACH Engine SQLite

var
AppPath: string;
procedure co_report_editor_OnShow (Sender: string; Action: string);
begin
    co_report_editor.TableGrid1.ClearRows;
end;
procedure co_attachdb_editor_OnShow (Sender: string; Action: string);
begin
    co_attachdb_editor.Label4.Caption := '';
    co_attachdb_editor.Button2.Enabled := false ;
end;
procedure co_attachdb_editor_Button2_OnClick (Sender: string; var Cancel: boolean);
var
connectionstring : string ;
begin
    co_attachdb_editor.CheckBox1.State := cbunchecked;
    co_attachdb_editor.CheckBox2.State := cbchecked;
    co_attachdb_editor.Label4.Caption :=
    'DETACH DATABASE '+''''+co_attachdb_editor.Edit3.text+'''';
    connectionstring := co_attachdb_editor.Label4.Caption ;
    SQLExecute(connectionstring);
    ShowMessage(connectionstring);
end;
procedure co_attachdb_editor_Button1_OnClick (Sender: string; var Cancel: boolean);
var
connectionstring : string ;
begin
    co_attachdb_editor.CheckBox1.State := cbchecked;
    co_attachdb_editor.CheckBox2.State := cbunchecked;
    co_attachdb_editor.Label4.Caption :=
    'ATTACH DATABASE '+''''+co_attachdb_editor.Edit2.text+''''+' As '+''''+co_attachdb_editor.Edit3.text+'''';
    connectionstring := co_attachdb_editor.Label4.Caption ;
    SQLExecute(connectionstring);
    ShowMessage(connectionstring);
    co_attachdb_editor.Button2.Enabled := True ;
end;
procedure co_attachdb_editor_Button4_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
begin
    OpenDialog := TOpenDialog.Create(co_attachdb_editor);
    if OpenDialog.Execute then
    co_attachdb_editor.Edit2.Text := (OpenDialog.FileName);
    OpenDialog.Free;
end;
procedure Form1_Button2_OnClick (Sender: string; var Cancel: boolean);
var
frxDBDataset1 :TfrxDBDataset;
Report : TDataSet;
report_sql : String ;
report_fr3_filename : String ;
begin
    report_sql :=
    SQLExecute('SELECT co_report.report_sql FROM co_report WHERE co_report.id = '+inttostr(Form1.TableGrid1.dbItemID));
    report_fr3_filename :=
    SQLExecute(
    ' SELECT "Report\"||'+
    ' substr(co_report.report_fr3_filename,instr(co_report.report_fr3_filename,"\Report\")+8,255)'+
    ' AS report_fr3_filename FROM co_report WHERE co_report.id = '+inttostr(Form1.TableGrid1.dbItemID));
    SQLQuery(report_sql,Report);
    // create Report
    frxDBDataset1 := TfrxDBDataset.Create(co_report_editor);
    frxDBDataset1.UserName        := 'Report';
    frxDBDataset1.CloseDataSource := True;
    frxDBDataset1.OpenDataSource  := True;
    frxDBDataset1.DataSet         := Report;
    //exvery first form startup is set frxReport
    Form1.frxReport.Clear;
    Form1.frxReport.DataSets.Clear;
    Form1.frxReport.DataSets.Add(frxDBDataset1);
    // DESIGN MODE
    //Form1.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Report\sqlreport_editor.fr3');
    //Form1.frxReport.DesignReport;
    // PREVIEW MODE
    frxDBDataset1.DataSet.Close;
    Form1.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+report_fr3_filename);
    Form1.frxReport.ShowReport;
    frxDBDataset1.Free;
end;
procedure co_report_editor_Button4_OnClick (Sender: string; var Cancel: boolean);
var
frxDBDataset1 :TfrxDBDataset;
Report : TDataSet;
begin
    SQLQuery(co_report_editor.Memo2.Text,Report);
    // create Report
    frxDBDataset1 := TfrxDBDataset.Create(co_report_editor);
    frxDBDataset1.UserName        := 'Report';
    frxDBDataset1.CloseDataSource := True;
    frxDBDataset1.OpenDataSource  := True;
    frxDBDataset1.DataSet         := Report;
    //exvery first form startup is set frxReport
    Form1.frxReport.Clear;
    Form1.frxReport.DataSets.Clear;
    Form1.frxReport.DataSets.Add(frxDBDataset1);
    // DESIGN MODE
    //Form1.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Report\sqlreport_editor.fr3');
    Form1.frxReport.DesignReport;
    // PREVIEW MODE
    //frxDBDataset1.DataSet.Close;
    //Form1.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Report\sqlreport_editor.fr3');
    //Form1.frxReport.ShowReport;
    frxDBDataset1.Free;
end;
procedure co_report_editor_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
    co_report_editor.TableGrid1.dbSQL := co_report_editor.Memo2.Text ;
    co_report_editor.TableGrid1.dbSQLExecute  ;
end;
procedure StartPage_Button7_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
begin
    CreateDir(AppPath+'DatabaseUserRestore');
    OpenDialog := TOpenDialog.Create(Form1);
    OpenDialog.InitialDir := AppPath+'DatabaseUserBackup\';
    if OpenDialog.Execute then
    begin
        DecompressFiles(OpenDialog.FileName, AppPath+'DatabaseUserRestore\');
        OpenFile(AppPath+'DatabaseUserRestore\');
    end;
    OpenDialog.Free;
end;
procedure StartPage_Button6_OnClick (Sender: string; var Cancel: boolean);
begin
    CreateDir(AppPath+'DatabaseUserBackup') ;
    CopyFile(AppPath+'sqlite.db', AppPath+'DatabaseUserBackup/' + 'sqlite.db');
    CompressFile(AppPath+'DatabaseUserBackup\sqlite.db', AppPath+'DatabaseUserBackup\sqlite.db'+' '+FormatDateTime('yyyy-mm-dd hh-nn-ss', now)+'.Zlib');
    DeleteFile(AppPath+'DatabaseUserBackup\sqlite.db');
    //form1.Memo1.Text := GetFilesList('DatabaseUserBackup/','*.*');
    //form1.Memo1.ScrollBars := ssBoth;
    ShowMessage('OK Backup Clear! File is "'+ 'sqlite.db'+' '+FormatDateTime('yyyy-mm-dd hh-nn-ss', now)+'.Zlib"') ;
end;
begin
    SQLExecute('UPDATE co_attachdb SET config_attach = 0 ,config_deattach =1');
    end.

 

https://s32.postimg.org/i4th1o5w1/Image_001.png

https://s32.postimg.org/geag06ocx/Image_002.png

https://s32.postimg.org/c6fnrfmxd/Image_003.png

https://s32.postimg.org/wrufjc4i9/Image_004.png

https://s32.postimg.org/ny3j28hjl/Image_005.png

https://s32.postimg.org/y9fvuw98x/Image_006.png

https://s32.postimg.org/tc2b9s79t/Image_007.png

https://s32.postimg.org/6bvnxg9g1/Image_008.png

https://s32.postimg.org/5avf8bsgh/Image_009.png

https://s32.postimg.org/6ek4y12hd/Image_010.png

Next Framework
- Write And Read Text For Config
- Database  Copy Table ,Data From Another DB

My Visual Database : I Love You
Easy For Beginner Student For Me