Clarion 6 help needed

This is a discussion on Clarion 6 help needed within the Clarion forums in Programming Languages category; 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 ...

Go Back   Application Development Forum > Programming Languages > Clarion

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 07-12-2008, 09:36 AM
John
Guest
 
Default Clarion 6 help needed

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


Reply With Quote
  #2  
Old 07-12-2008, 02:22 PM
Brad Kunkel
Guest
 
Default Re: Clarion 6 help needed

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
>
>




Reply With Quote
  #3  
Old 07-13-2008, 02:18 AM
Earl R Coker
Guest
 
Default Re: Clarion 6 help needed

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)



Reply With Quote
  #4  
Old 07-13-2008, 02:53 AM
Earl R Coker
Guest
 
Default Re: Clarion 6 help needed

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
>
>



Reply With Quote
  #5  
Old 07-14-2008, 04:36 AM
geishan@ozemail.com.au
Guest
 
Default Re: Clarion 6 help needed

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
>
>

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 10:41 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.