Discuss the system architecture (system architecture of my many years of stable

The system framework is an important software infrastructure, It is the same as DELPHI provides a development platform, In this platform, we can develop the software database system of arbitrary (such as HR system, ERP system, Invoicing etc.), The architecture encapsulates the common function in the base class, Provides all the functions needed for a enterprise system (such as identity verification, Menu registration, Access control, the dynamic menu etc.), It has a mature and stable framework that can rapidly develop application software, Can greatly improve the speed of development and software stability.

Software architecture using the characteristics of object-oriented programming, such as access control, message transmission technology on the base form, and all form inherited from a base class, derived form with unique functions, such as add change delete without writing a single line of code, can greatly reduce the workload, improve system maintainability. Using this framework can achieve arbitrary database system development

Started by Kenneth at February 02, 2016 - 6:21 PM

Interested in learning together, talk in detail qq:864339754

Posted by Kenneth at February 10, 2016 - 7:21 PM

look and look

Posted by Berg at February 20, 2016 - 7:56 PM

Pure life, then

Posted by Katrina at February 28, 2016 - 8:07 PM

Open it? ? ? ? ? ? ? ? ? ? ?
If the first post

Posted by Lyle at March 11, 2016 - 8:19 PM

Something?

Posted by Richard at March 20, 2016 - 8:24 PM

Then, don't see things

Posted by Harlan at April 01, 2016 - 9:10 PM

Wood accessories, good stuff out and let everybody have a look, learn to learn

Posted by Deborah at April 11, 2016 - 10:01 PM

There is no book Introduction?

Posted by Beatrix at April 16, 2016 - 10:34 PM

The system framework is my own: client/webserver
However, no specific to login, permission, just a set of database access mechanism, facilitate the development of
In addition, in order to facilitate the multi line browsing (browser) + single line edit (Edit) implementation, and implementation of a frame base class

Posted by Frank at April 30, 2016 - 11:22 PM

Have been looking for a replacement for IIS (parallel execution of ASP support)
Find a babywebserver, someone says it is worse than the IIS, but from its name, it is know one's limitations
Then I found this:

It is like what kind of frame

Posted by Frank at May 07, 2016 - 11:27 PM

Framework?

Posted by Ira at May 20, 2016 - 12:01 AM

For fear of seal affixed, this architecture is paid. If you are interested can add my Q talk in detail

Posted by Kenneth at May 30, 2016 - 12:50 AM

System description

The system framework is an important software infrastructure, It is the same as DELPHI provides a development platform, In this platform, we can develop the software database system of arbitrary (such as HR system, ERP system, Invoicing etc.), The architecture encapsulates the common function in the base class, Provides all the functions needed for a enterprise system (such as identity verification, Menu registration, Access control, the dynamic menu etc.), It has a mature and stable framework that can rapidly develop application software, Can greatly improve the speed of development and software stability.
The software architecture of C/S by using the characteristics of object-oriented programming, such as access control, message transmission technology on the base form, and all form inherited from a base class, derived form with unique functions, such as add change delete without writing a single line of code, can greatly reduce the workload, improve system maintainability. Using this framework can achieve arbitrary database system development.

Development tools: DELPHI 7
Database: SQL SERVER 2000
Third party controls: 4 (as a gift together)

The main interface:



The framework features:

 The framework of the EXE+DLL organization, a module (such as purchase management, inventory management and so on) is compiled into a DLL form, all functions are included in the inside, from the main EXE calls, increase the independence of modules, such as a module to update only need to update the corresponding DLL, easy to release more new, but also reduce the main program volume.


 Between the main program with DLL using message mechanism, enhance the independence of modules, DLL share the link with the main program, whether to open the N DLL has only one database links. The main program and the DLL shared global data, such as user information in the main program set up in any DLL forms can call, convenient for developers to use.

 The main program toolbar button is for all the forms available, its state is set according to the current form of the authority, such as printing and exporting button according to whether the current user has permissions to determine grey or available. This makes the system more professional.



 Each of the forms are kept the record type data of a current form, this data by the initialization settings, save menu number, corresponding to the current window class name, window type and so on, is convenient for the user to know the current function module information.

 All the forms are inherited by the base form of BaseForm, Derived from several commonly used forms the base class, Such as the common dialog window, Common form, Table grid form, With a fixed column form, Edit the subform, The query form etc., The basic function of the form to realize on the base form, Thus in the development of examples of these forms without writing code can realize all the basic functions, As new data, Modify, Delete, Export operations without writing a single line of code, This greatly improve the speed of development.

Figure 1 form to diagram

 Forms using cxGrid6.22 controls, this control has the following advantages:
1, Sort field function, a pattern identification along the row or inverse row
2, Single or multiple fields more filter value filter, form displays a filtering condition description,
3, The field can be shown or hidden (click on the upper left of the table)
4, Each column can be set to a fixed column, multi meter, set all kinds of summary data (sum, average, record number of rows) etc.,
5, A complete export EXCEL, including the export of color, the number of records, in the frame of this function has been encapsulated in the base form, the form directly with the function instance.


 Permissions settings:
1, Menu display authority:
The system only shows the current user has permissions menu open, no permissions menu not be listed. When the system is initialized, according to the permissions tables dynamically generated menu.


2, The default permissions (see function module management, add menu):
The system default 6 default permission ([add], [Revised], [delete], [review], [derived EXECL], [Print]), the user to add a menu will automatically add the default permissions, can according to the actual situation form setting whether these permissions, this design can save users design authority time.

Figure 2
3, Extended user permissions:
The function of every kind of each form, not only 6 permissions by default, so the system design can be customized by the user permissions, can add any more authority, extend the function of system.

Figure 3
4, Department permission:
System DEMO is a HR system, each user operation department each are not identical, this allows the user to set the operational departments.
5, User group permissions:
The group in the form of management authority, when updating a set of permissions for all users within its group, will immediately update permissions, so that improve the efficiency of permissions settings.

 With the menu and TreeView two menu display mode, selected by the users accustomed to the mode of operation, two are calling the same entrance function to display the form. Can display multi-level menu.

 Login management:
Legality verification system, preventing the illegal user from entering. The wrong three times (set) password automatically exit.

 [password]:
The user can change their password through this interface.

 [] user privilege management:
Add user and modify the individual user data and permissions. In order to guarantee the system security, this function is only visible to the system administrator

 [user group permissions management]:
Edit user data, save the permission to update to each group member. In order to guarantee the system security, this function is only visible to the system administrator
 [logout]:
Not out of the system under the condition of another user login, logout is equivalent to WINDOWS

 [the system lock]:
When the temporary sometimes leave the desktop, use this function makes the system locked, enter the password to unlock.

 [user permissions assigned query]:
Interface lists all the function menu, click on a menu form to the right will display the menu has been assigned to which users, this can be very clear distribution rights. In order to guarantee the system security, this function is only visible to the system administrator

 Menu registration (function module management):
This interface is used for adding the modify menu, set the default permissions and custom permissions, when you add a new function form, here a simple add a menu to register, restart the system can see. In order to guarantee the system security, this function is only visible to the system administrator.


 Global system of linked data:
This function makes the system performance is greatly improved, the system initialization when the disposable loading all required data associated to the local data set, when needing to use the associated data (such as work associated with the name) form, is the direct use of these data in memory, not to fetch data from the server, reduce the server resources consumption.
When there is a change of linked data, basic form will send the form to the main program, by the main program and the global correlation data set reload, so to ensure that data is new, and what data changes will be updated, you only need a menu and set about it, other all are composed of base class form automatically.

Start the figure 1 system loading data
 Dynamic Report:
System is often to do all kinds of statements, clients may requirements according to their own custom report, this function provides a very flexible report creating function. This feature can be based on the following three kinds of data sources:
1, Table: the table as the data sources, the table name, can automatically take out all of the fields,
2, The SQL statement: SQL statement to query data sources, then set the SQL statement, can automatically take out all of the fields.
3, Stored procedures: when the two value is null, the stored procedure as the data source, the stored procedure to "SP_DynamicReport_+ report number" is the stored procedure name.
You can be a field as a search condition, Correlation properties can be set for a particular field (such as: personnel table Department numbers out of the Department table Department name), When all after setting, Click on the menu will automatically create a form and all controls, Automatic generation of query form, All of this without having to write code, There is no need to generate a PAS file, Greatly improve development speed, The software also has great attraction for customers, Because this feature allows customers to custom report.


 Dynamic edit form:
Systems often need to edit the data, this function in a fully automatic mode to generate the edit form, only to the system set up to edit tables and fields, automatic generation of form and all the edit control, open the menu will, users can realize add, modify, delete function in these forms, the function can also set up a field is not empty field, before saving system will be non null check. This function do not generate the PAS file, simply setting, this can increase the speed of development.

 Automatic generation of form documents:
This function and dynamic editing form similar, difference is that here will generate the PAS/DFM file, the user to set a table, depending on the field name to generate the corresponding controls, then the PAS file will be added to the project you can see the window, also can set the search conditions, non empty, the associated settings, generate PAS files in order to facilitate the development of personnel function expansion.


 Tabbed window (below):
This function is a major feature of the framework, system framework is generally a regular MDI form, open N child windows are only see a current form, is not convenient to switch, and the frame of each open a window to automatically generate a tab user experience, can stick out a mile to open a few windows, when needed which form, only need to click on the tab. This function uses a small trick, a very simple method, not the form of painting in the PAGE, refer to the original code Zhi Xiao.



 Edit form in different editing (such as add or modify) Enabled property is automatically set the corresponding button (such as the new state when the delete button is not available and so on), so that the software more professional.


 Each time a user login system will record in the LOG table, record what time which user landing, which machine landing, as the user can immediately detect abnormal operation.


 The system message notification:
There are many need to inform the user of the information system, such as overtime single user to review, procurement of goods arrival all need prompt information in the system, the framework provides this function. System input data message is saved to the database table, every few seconds to scan the system message table, view there is no new messages, there is in the taskbar bubble display information, when the user clicks the bubble prompt will pop up a message list window, double-click a message will pop up corresponding form, so the user operation more convenient the software, a more professional.
The classification of the form of messages, each message belongs to a class, each class corresponds to open a window, and each message can also bring the parameters belong to this message, thus reducing the message data storage also increased the stability of the system.
The form is open is called the window audit last show as the default, called the window save a method can be saved to the registry of the audit, the next convenient display.
(examples see overtime application / review).


 All the tables have [user], [created], [update], [update] four field, when the input error data can be immediately found any user input. The four field is composed of a frame automatic assignment, do not need to write statement

 Batch input data
Have a batch data once inserted into the base class, inherit this class can realize fast insert batch data input function, such as the Department of 100 overtime, according to the general operation shall be recorded 100 times, and to inherit the form only need to operate a which produce 100 records. Greatly enhance the input speed. (see overtime requests to add more than one)


 Report management
Report printing functions are integrated in the framework, developers only need to set up a report on the form when the form is opened, the framework will automatically report list loaded into the main program interface button, the user can select any report, click to pop statements, this feature has been packaged well, not developers write code.


 The client automatic updates
With automatic update feature, the user each time you open the EXE will check system files are not updated, there is downloaded to the local and then open the main program, without directly open the main program.



 Common menu function (equivalent to desktop):
There are a lot of each user may have a function, can be frequently used functions on several, the framework provides a common menu functions, the user can add to a menu of menus, when starting the system will automatically loaded into the TreeView menu.



 Desktop navigation function
Define the process icon in the framework of the desktop, click on the icon to form a corresponding. Increase the professional system.


 Record operator user operation LOG
The user for each interface of each action (add, modify, delete) can be recorded, written to an LOG file (Figure 2), to facilitate future responsibility back. This is the base class implementation, without having to write code.
Users can also set which form what action shall be recorded (Fig. 1), flexible settings.

Figure 1

Figure 2
 The design method of the trial version
If the software to the user trial will make trial version, this framework to enable date encryption, then expire used change date, or reinstall the program does not start.


 Multi language
System with multi language function, will be configured at system initialization language pack list on the landing box (Figure 1), the user choose which language is call the corresponding resources automatically replaced, this framework will be done automatically. The user only need to set up the language pack resources.
A control system of the string for each interface automatic generation on language pack, greatly reduce the workload.

Figure 1

Figure 2 Chinese language pack

Figure 3 English language pack


Fig. 4 language packs


 Universal query dialog:
May not remember the number of user input data, only remember the name (if not remember the number, just remember the name), you need to query dialog box help users by name to query a record.
This feature in an edit control click pop-up after general query form, then according to some key words Fuzzy Lookup (Figure 1), rapid positioning data required by user, greatly improve the search speed of the input. And the query window required data, the SQL statement can be free configuration, development only adjustable and a method to realize these functions, the realization mechanism inside the framework has been encapsulated in the base class.
If the query box data is not complete, the need to increase, just click the "Edit" button to open the corresponding form to add amendments to delete.


Fig. 1 the general query dialog box


 High quality OOP source program, each process has text, table structure of the documentation, source can learn to participate in research and implementation of new ideas in many software development. Have a very high reference value. Each function is provides an example program source code, to speed up the development of personnel understanding frame operation.


 This framework has been used for several years, has more than ten sets of database software with this development, deployed in various enterprises.


I have done a DEMO video, to the people to look at, with the intention to purchase please chat in detail Q.
The video address:
User name: dinghello_132
Cipher: 12345678
Click "more", "SkyDrive" can see the download file
qq: 864339754

Posted by Kenneth at June 13, 2016 - 1:35 AM

Interested parties to add my Q to further understand the structure of video.

Posted by Kenneth at June 14, 2016 - 1:44 AM

If does not involve copyright and other laws and regulations, do not seal affixed

Posted by Boyd at June 20, 2016 - 2:08 AM

A place to learn about
Top posts, then divided in....



Posted by Lyle at July 04, 2016 - 2:59 AM

Fig. all cannot see?

Posted by Beatrix at July 10, 2016 - 3:29 AM

Learning to learn

Posted by Avery at July 17, 2016 - 4:22 AM

No. No map

Posted by Louise at July 28, 2016 - 4:30 AM

Support, system framework can improve the function and code reuse rate, make the developers focus on the framework design

Posted by Werner at July 30, 2016 - 4:44 AM

The reply to 2011-09-19 13:35:52 was a moderator to delete

Posted by Jared at August 02, 2016 - 5:34 AM

Paid to provide. . . . . . . . . . . . . . . .

Posted by Karida at August 17, 2016 - 6:22 AM

Those interested in my Q talk, with real operation video. Before the rich mix of, now millionaires off. The transfer of positions.

Posted by Kenneth at August 28, 2016 - 6:38 AM

There seems to be less to do advertising, so only the title did not write advertising. Hope you understand. This framework previously in the millionaire many users buy learning and development. Good stability, powerful.
To make a structure is not easy, particularly stable framework, not a few years is not possible, so paid, I hope you understand.

Posted by Kenneth at September 02, 2016 - 7:11 AM

A derived form with unique functions, such as add change delete without writing a single line of code,
------------
Brother absolutely do not believe.

Posted by Mavis at September 03, 2016 - 7:56 AM

Trouble you PM me a price have a look, cheap to buy to learn

Posted by Dwight at September 13, 2016 - 8:45 AM

The reply to 2011-09-23 09:25:14 was a moderator to delete

Posted by Manda at September 18, 2016 - 9:00 AM

Demo video where there? 51 the seemingly not open?

Posted by Beatrix at September 28, 2016 - 9:13 AM

Without the truth.
The frame is good, but when you find something base, including business, interface and the things you have access to the project requirements, it is also very painful.
In fact, the individual thinks, frame, and the direct use of Delphi to do the project, may be slightly eased a little work, however, is to sacrifice flexibility. And the user needs is the myriads of changes, framework, is to a large extent can not meet these, flexibility, is the soul of business software.

Posted by Willie at January 02, 2017 - 4:26 PM

Do not look at the advertisement effect, see!

Posted by Eva at January 03, 2017 - 4:47 PM

Flexibility, can use user-defined events to supplement (personal feeling, aspect oriented, is ready to insert event)
Such support my frame events:
funOrderBy,
funCheckData, funLoadBefore,funLoadAfter,funDblClickAfter,funAddAfter,funSaveAfter,
funListBefore ,funListAfter ,funClearAfter ,funDelAfter
,funSetIndexAfter
,funSaveBefore,funAddBefore,funDelBefore
,funSQLbeforeSave,funSQLbeforeAdd
,funSQLafterSave,funSQLafterAdd
,funSQLbeforeDel,funSQLafterDel
:TfunEvent; //== function (fdbg:TFrameDBgrid):String of object;

Posted by Frank at January 03, 2017 - 5:36 PM

Flexibility, can use user-defined events to supplement (personal feeling, aspect oriented, is ready to insert event)
Such support my frame events:
funOrderBy,
funCheckData, funLoadBefore,funLoadAfter,funDblClickAfter,funAddAfter,funSaveAfter,
funListBefore ,funListAfter ,funClearAfter ,funDelAfter
,funSetIndexAfter
,funSaveBefore,funAddBefore,funDelBefore
,funSQLbeforeSave,funSQLbeforeAdd
,funSQLafterSave,funSQLafterAdd
,funSQLbeforeDel,funSQLafterDel
:TfunEvent; //== function (fdbg:TFrameDBgrid):String of object;

Posted by Frank at January 04, 2017 - 3:52 PM

My reply has not appeared?
? Discuss the system architecture (system architecture of my many years of stable operation) [Delphi non technical area] 40 dinghello
09-16 01:12 32 sz_haitao
09-23 09:21 management

Posted by Frank at January 07, 2017 - 4:59 PM

For a long time, the original is to sell?

Advertising. . .

Posted by Mariah at January 13, 2017 - 2:55 PM