| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| I have been given a task of upgrading a software application that has been coded using Clarion version 6. It is a small to medium size package that consists of some thirty or so forms. The software suffers from speed issues and design problems. The data is stored in TPS files. Some new purchasing facilities need implementing and the customer wants to migrate to using Microsoft SQL Server. Being from a Visual Basic background I am struggling to get to grips with the concepts of using Clarion. I open a file type .app which seems to be equivalent to a Visual Basic Project. Inside seems to be a treelist containing all the form some of which appear multiple times. What I need to determine is if it's worth sticking with Clarion or rewriting the entire thing using VB or even C#. 1. Some column names are horrific and need refactoring. How does one do a simple search and replace? 2. What is the Clarion equivalent to an ADODB Recordset? 3. How do I copy a control from one form to another? 4. Where can I see the available events for a control? Thanks in advance, John |
|
#2
| |||
| |||
| John, IMO, Clarion 6 is better but there is a fairly steep learning curve. The reason for this is Clarion has 3 levels: the Clarion language, the Clarion Application generator, and the Clarion Template language. Learning the Clarion language would be equivalent to learning Visual Basic. To create a program with just the language, you would create a project (.prj). This would be equivalent to a VB Project except that you would have to hand code an event loop for each form. What you have is an Application Generator program (.app). This kind of program handles the control events with what is called "embeds" that are automatically created by templates. The hardest thing to learn is which embed to use although events for controls on a form are fairly easy. On that tree list of forms that you see in the IDE, if you right click and select Embeds you will see another tree list of places you can embed hand code. When you first see this list, go to the toolbar at the top of the screen and click "Expand Filled". This will condense the list and make it easier to see the window controls embeds. You will also be able to see where the former programmer embedded code. It is not necessary to embed any code to make a simple program work but that would be rare. The third level is the Template language which you don't need to know but is extremely useful if you learn it. The F1 help for this is not complete but the F1 help for the other 2 levels is good -- just highlight a keyword and press F1. The absolute best help is on the newsgroups on news.softvelocity.com. The top experts are all there and help everybody who asks. If you are going to work with Clarion definitely read the newsgroups on this server. For your questions: > 1. Some column names are horrific and need refactoring. How does > one do a simple search and replace? In the IDE, instead of opening the APP file, open the Dictionary (DCT) from which the program gets its file/key/relation specs. Select the table you want to modify. The field names will appear in the right pane. Just double-click the field and change the name to whatever you want. The next time that you open the APP and generate/compile, the field name will be changed in all of the template generated code. You will get errors wherever the old field name is used in hand coded embeds. The errors will show you where the hand code has to be fixed. For your TPS files, changing a field name will require a conversion of the file. Once you are using MS SQL, if you change a field name in the Dictionary, you can go into the SQL Query Analyzer (in SQL Server) and modify the field name there as well. > > 2. What is the Clarion equivalent to an ADODB Recordset? Almost all of the database access is handled by the templates. A lot less complexity, IMO. > > 3. How do I copy a control from one form to another? Double-Click on a form in the IDE. Click the little button next to the button that says Window. This will show you the code used to create the Window. Copy the code for the control, go to the new window, open it the same way and paste. > > 4. Where can I see the available events for a control? In the embeds tree I described above. HTH, Brad Kunkel Integrated Business, Inc. "John" <John500xcx@hotmail.com> wrote in message news:wp2ek.289310$aE7.93141@newsfe16.ams2... >I have been given a task of upgrading a software application that has been >coded using Clarion version 6. It is a small to medium size package that >consists of some thirty or so forms. > > The software suffers from speed issues and design problems. The data is > stored in TPS files. > > Some new purchasing facilities need implementing and the customer wants to > migrate to using Microsoft SQL Server. > > Being from a Visual Basic background I am struggling to get to grips with > the concepts of using Clarion. > > I open a file type .app which seems to be equivalent to a Visual Basic > Project. > > Inside seems to be a treelist containing all the form some of which appear > multiple times. > > What I need to determine is if it's worth sticking with Clarion or > rewriting the entire thing using VB or even C#. > > 1. Some column names are horrific and need refactoring. How does > one do a simple search and replace? > > 2. What is the Clarion equivalent to an ADODB Recordset? > > 3. How do I copy a control from one form to another? > > 4. Where can I see the available events for a control? > > Thanks in advance, > > John > > |
|
#3
| |||
| |||
| John, >I have been given a task of upgrading a software application that has been >coded using Clarion version 6. It is a small to medium size package that >consists of some thirty or so forms. Thirty forms (procedures) by today's standards is a fairly small Clarion application. I have several Clarion applications that are 310 procedures. > The software suffers from speed issues and design problems. The data is > stored in TPS files. There can be several reasons for slowness. More "specs" with respect to your application need to be known to be able to help solving the slowness problem. Fixing the slowness problem with .TPS files is usually quick and easy after the cause(s) are known. > Some new purchasing facilities need implementing... AppShell(tm) code (kinda like a template or code library) for doing the purchasing stuff can be purchased for doing that if you like which might be a good way for you to get your job done and learn "The Clarion Way" at the same time. You can go here to download a demo which are a. http://www.kwiksystems.net/AppShellD...d/DukeDemo.EXE > and the customer wants to migrate to using Microsoft SQL Server. This is very posible but is the Customer REALLY wanting to use MS-SQL??? It is a lot more expensive to purchase, use, code, AND maintain MS-SQL than using .TPS files. If the Customer is a small one, or even a mid-sized one, using files with only a several hundred thousand records in each of the "big" files, .TPS would undoubtedly be easier and better. By the way, there is more than one way to "convert" a Clarion app to MS-SQL or any other SQL database. > Being from a Visual Basic background I am struggling to get to grips with > the concepts of using Clarion. See below... > I open a file type .app which seems to be equivalent to a Visual Basic > Project. > > Inside seems to be a treelist containing all the form some of which appear > multiple times. That treelist is the Clarion IDE's way of showing you all of the procedures in the application and how they are "organized". The repeated procedures that are "common" procedures used more than once in the application. These "common" procedures are used to "setup" some ad-hoc filter specs for a browse list or a report. > What I need to determine is if it's worth sticking with Clarion or > rewriting the entire thing using VB or even C#. Even with the "learning curve" required for your getting going using "The Clarion Way", I think sticking with Clarion will be faster in the short term, and faster for sure in the long term, especially for the ongoing maintenance of the application. > 1 Some column names are horrific and need refactoring. Everyone seems to have their "own" naming conventions. <g> > How does one do a simple search and replace? Using the Clarion IDE provides a different technique than search and replace. In the IDE, instead of opening the APP file, 1.) Open the Dictionary (DCT) file from which the program gets its file/table specs. e.g. file/key/relationships setup in the Dictionary Editor. 2.) Select the file/table you want to modify. 3.) The field names will appear in the right pane. 4.) Just double-click the field and change the name to whatever you want. 5.) The next time that you open the IDE and do a select/generate/compile of the .APP file, the field name(s) will be changed in all of the Application Generator's template generated code. 6.) However, you will get "compile" errors wherever the old field name was used in hand code in any embeds. 7.) The IDE's compile errors will show you "in the actual generated code" where the hand code has to be fixed when you double click on the error(s) generated by the IDE. The same holds true if you change a PROCEDURE'S name in the procedure tree. 8.) For your TPS files, changing a field name will require a conversion of the file before you can run the generated executable application using the file. 9.) Once you are using MS SQL, if you change a field name in the Dictionary Utility, you can go into the SQL Query Analyzer (in SQL Server) and modify the field name there as well. > 2. What is the Clarion equivalent to an ADODB Recordset? Almost all of the database access is handled by the features in the IDE. There is also a separate utility called Topscan.exe for viewing and editing the data in the .TPS files/tables. A lot less complexity, IMO. I use a great utility called PowerDesk7 by Avanquest for "monitoring" the data in ..TPS files of my apps and complete OS file system. http://www.avanquest.com/USA/pc-tool...esk_Pro_7.html > 3. How do I copy a control from one form to another? Many times not a good idea IMNSHO. <g> Just insert the control into the procedure's window and then double left-click on the control itself and up pops the embeds for the control for you to code what the control needs to do. > 4. Where can I see the available events for a control? Just double left-click on the control itself in the IDE's window formatter/painter. > Thanks in advance, > > John > > What Clarion really is: It is a database centric language with a code generating Integrated Development Environment (IDE) which will generate approximately 70 - 80% of your DATA MAINTENANCE procedure's code according to the design of your tables/files (database) which is performed in the Data Dictionary Editor in the IDE. The IDE is then used to develop the UNIQUE functionality using various "base" templates to produce "unique" procedures required for your application along with many available "extension" templates and the use of HAND CODE EMBED POINTS in the templates. What basically is Clarion? 1) Clarion is actually the combination of an APPLICATION PROGRAMMING LANGUAGE and a code generating IDE that uses "templates" from which the code is generated with what is called an "AppGen" Utility. It is designed for easy use while building data-intensive computer applications for business management applications. 1)a. Clarion has one BIG difference in developing database applications in that the Developer MUST determine what data is to be in the database and how that data is to be organized and manipulated BEFORE beginning to develop the application. This is because the FIRST thing you must develop in the IDE are the data files/tables using the Data Dictionary Editor Utility. 2) Clarion has an Integrated Development Environment (IDE) which includes a data dictionary utility so you can define all your data elements (tables) using it and then maintain and reuse them easily. I would compare the basic theory behind using Clarion's IDE to using a word processor to write and format the printing of a book or using a spreadsheet application to design a complex feature rich multi sheet/page spreadsheet. 3) Clarion has a large collection of templates in the system plust there are many so called 3rd party templates for adding many features to an application very easily. Many 3rd party templates are free or very reasonably priced. These templates are used as a Clarion code library in the IDE. Templates permit you to automatically generate and EASILY MAINTAIN the application code generated FROM the templates. 4.) Code generation is also based upon the contents of the application's database in a "data dictionary" as well as the user interface designed using the screen painter and "control" templates included in the IDE which are used for placing window controls, prompts, etc on user interface screens. 5.) The templates also have "embed points" in them where you can - using appropriate specifications, write special hand code to override and/or modify the "normal" behavior of the templates to provide extra and/or unique functionality that is needed in the application. 6.) You can also develop applications by hand-coding in the Clarion language or in the IDE using code, window, control or procedure extension templates. 7) The ABC templates are Clarion's version of OOP and use a set of OOP classes (special reuseable procedures that interface with the templates) thereby getting the benefit of REUSEABLE CODE. In other words, ABC (Application Builder Class) templates are OOP oriented. The Clarion templates are not OOP oriented and are Procedure Oriented. Sometimes the Clarion Templates are referred to as Legacy Templates and they are used in the older Procedure Style of IDE generation and hand coding a procedure. The later releases of Clarion support both template styles. Clarion supports Win32 development: 8.) A flip of the switch and you are compiling for 32-bit. You can use any API calls. Things like COM and XML are available as "add-ons" from Soft Velocity and 3rd party developers. See links below. Using some of the excellent 3rd party add-on products, especially in the beginning, instead of fighting through it by hand is a good idea especially for the beginner. Clarion has native database support with it's included set of drivers. Natively, Clarion has drivers to support: ASCII, Basic, DbaseIII, dBaseIV, Clarion, Clipper, FoxPro, Topspeed, MS-SQL, Oracle, generic ODBC. There are other specialized file drivers. Some of them would require either having the Enterprise Edition (EE) or buy the drivers as an add-on to the Professional Edition (PE) of Clarion For Windows. Links to a few of the many informative sites follow: http://www.softvelocity.com/ http://www.kwiksystems.net/clarion.htm http://www.kwiksystems.net/ http://encouragersoftware.com/profile/clarlinks.html http://www.capesoft.com/ http://www.par2.com/ http://www.clarionmag.com Might I suggest that you go to http://www.comsoft7.com/Products.htm and click on the FREE BoTpl template suite button to see what is all included in that template suite. Included in that suite are a couple of Utility templates that will generate a complete documentation of all of the "specs" of an app including the .dct file in .txt format. -- Best Regards, Earl R Coker ksasales AT machlink DOT com www.kwiksystems.net www.kwiksystems.net/clarion.htm (BigTamer(tm) Templates) |
|
#4
| |||
| |||
| Hi John, If you like, we can hook our PC's together using the free MS Remote Assistance included in XP and I can show you a few things about Clarion (especially with your app) to give you a jump-start on your learning The Clarion Way. You will need to send me a MS Remote Assistance Request by email to start Remote Assistance. It sounds to me like you are an experienced Developer in VB so it should go rather well. PLEASE NOTE: Be sure Remote Assistance is "turned on" in your computer. I hope you are using MS XP Pro which IMNSHO is much easier to use than Vista although I guess the latest version of Vista does work OK using Remote Assistance. If you give me your phone number I can use my cell phone (I've got a lot of spare minutes. <g>) to talk to you at the same time, or else you phone me, which helps in understanding things a LOT. In an hour or so, I think I can show you quite a lot about getting started with Clarion. <g> -- P.S. I also have a subscription to www.gotomeeing.com we can use as well if for some reason you don't want to use Remote Assistance. --- Best Regards, Earl R Coker ksasales AT machlink DOT com www.kwiksystems.net www.kwiksystems.com www.kwiksystems.net/appshell/index.htm www.kwiksystems.net/ClarionTemplates.htm (BigTamer(tm) Templates) 563-388-9483 Single Ring Voice In/Out Number (9am-5pm Central Time GMT -6) 563-391-6506 Dual Ring Fax In Only Number (You MUST call the Voice number first so we can turn it on for you to use.) "John" <John500xcx@hotmail.com> wrote in message news:wp2ek.289310$aE7.93141@newsfe16.ams2... >I have been given a task of upgrading a software application that has been >coded using Clarion version 6. It is a small to medium size package that >consists of some thirty or so forms. > > The software suffers from speed issues and design problems. The data is > stored in TPS files. > > Some new purchasing facilities need implementing and the customer wants to > migrate to using Microsoft SQL Server. > > Being from a Visual Basic background I am struggling to get to grips with > the concepts of using Clarion. > > I open a file type .app which seems to be equivalent to a Visual Basic > Project. > > Inside seems to be a treelist containing all the form some of which appear > multiple times. > > What I need to determine is if it's worth sticking with Clarion or > rewriting the entire thing using VB or even C#. > > 1. Some column names are horrific and need refactoring. How does > one do a simple search and replace? > > 2. What is the Clarion equivalent to an ADODB Recordset? > > 3. How do I copy a control from one form to another? > > 4. Where can I see the available events for a control? > > Thanks in advance, > > John > > |
|
#5
| |||
| |||
| Hi John, As the other reply have said, the .app is really only half the project the Data Dictionary (DCT) is the other half. The DCT file also contains much meta information regarding how fields are displayed and what controls to use and so forth. Clarion is really a meta programming environment, the information in the app and dct files is used to create source code via templates (read scripts) which is then compiled. Many of us never, or rarely code more than a few lines at a time that get inserted into the source generation sequence and out pops a program. The difference with clarion is that this sequence happens every time you build the program. Once you get the idea, this is very very powerfull and fast. There is another set of newsgroups at news.softvelocity.com try also looking there. Sean H John wrote: > I have been given a task of upgrading a software application that has been > coded using Clarion version 6. It is a small to medium size package that > consists of some thirty or so forms. > > The software suffers from speed issues and design problems. The data is > stored in TPS files. > > Some new purchasing facilities need implementing and the customer wants to > migrate to using Microsoft SQL Server. > > Being from a Visual Basic background I am struggling to get to grips with > the concepts of using Clarion. > > I open a file type .app which seems to be equivalent to a Visual Basic > Project. > > Inside seems to be a treelist containing all the form some of which appear > multiple times. > > What I need to determine is if it's worth sticking with Clarion or rewriting > the entire thing using VB or even C#. > > 1. Some column names are horrific and need refactoring. How does one > do a simple search and replace? > > 2. What is the Clarion equivalent to an ADODB Recordset? > > 3. How do I copy a control from one form to another? > > 4. Where can I see the available events for a control? > > Thanks in advance, > > John > > |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.