Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Clipper Functions For Delphi

326 views
Skip to first unread message

Arturo

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
Hi there!,

does anyone have ever try this library?; i am porting Clipper
applications to
Delphi 3 and i'm no sure if it is worth to buy it. I really miss some of
the easy-to-use string manipulations functions of Clipper that's why i
am thinking
about it.

Thanks.


Mike Shkolnik

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
If you cann't write a some string functions but you want use it, then will
buy it. Else ...

PS: in my opinion LEFT/RIGHT/OCCURS/REPLICATE/SPACE/STUFF/STRTRAN etc you
can write in one-two hours. If you want I can write it for you free.

--
With best regards, Mike Shkolnik.
FIDO: 2:463/106.14
E-Mail: mshk...@rs-ukraine.kiev.ua
mi...@woccu.freenet.kiev.ua
WEB: http://www.geocities.com/SiliconValley/Grid/3989

Arturo пишет в сообщении <375D2788...@ltx.uni-trade.com> ...

William Berndt

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
Mike if you have such a library of similar clipper functions, please sent a
copy to me.

All Best
Will
WGBe...@aol.com

Mike Shkolnik wrote in message <7jjaft$3i...@forums.borland.com>...

Arturo

unread,
Jun 8, 1999, 3:00:00 AM6/8/99
to
Thank you very much Mike, i really apreciate your help, but is not only the
string manipulation, i dont feel comfortable with Object Pascal yet, but i'm
keep trying... :)

If i fall in a very urgent-no-way-to-solve sittuation i'll ask you for help.

Thanks.

Phillip Flores

unread,
Jun 9, 1999, 3:00:00 AM6/9/99
to
You can try HyperString from http://www.mindspring.com/~efd

Arturo wrote:
>
> Hi there!,
>
> does anyone have ever try this library?; i am porting Clipper
> applications to
> Delphi 3 and i'm no sure if it is worth to buy it. I really miss some of
> the easy-to-use string manipulations functions of Clipper that's why i
> am thinking
> about it.
>
> Thanks.

--
Cheers,
Phillip Flores
PCF Consulting
ICQ: 31162996

José María Sanmartín Ojeda

unread,
Jun 9, 1999, 3:00:00 AM6/9/99
to
Hello:

I have converted the following functions from Clipper to Delphi:

- PadR
- PadL
- Replicate
- Space
- RTrim
- LTrim
-AllTrim

If you want I send it to you please don't hesitate to contact with me.

Best Regards...

Chema

Arturo escribió en mensaje <375D2788...@ltx.uni-trade.com>...

Mike Shkolnik

unread,
Jun 10, 1999, 3:00:00 AM6/10/99
to
For all wishing:

I can send sources for following "Clipper" functions: :))
******* cut start **********
function Reverse(S: string): string;

function ReplicateChar(chFill: Char; intLen: Integer): string;
function Replicate(strFill: string; intLen: Integer): string;
function Space(Len: Integer): string;

function PadLSpace(strStr: string; intLen: Integer): string;
function PadRSpace(strStr: string; intLen: Integer): string;
function PadL(strStr: string; intLen: Integer; strFill: string): string;
function PadR(strStr: string; intLen: Integer; strFill: string): string;
function PadC(strStr: string; intLen: Integer; strFill: string): string;

function ChrTran(strStr, strKeyOld, strKeyNew: string): string;
function StrTran(strStr, strOld, strNew: string; intFirstOccur,
intQntOccurs: Integer): string;
function Stuff(strStr: string; intIndex, intCount: Integer; strSub: string):
string;
function Proper(strStr: string): string;
function EmptyStr(S: string): Boolean;
function LeftStr(S: string; Len: Integer): string;
function RightStr(S: string; Len: Integer): string;

function IsDigit(S: string; FirstChar: Boolean): Boolean;
function IsUpper(S: string; FirstChar: Boolean): Boolean;
function IsLower(S: string; FirstChar: Boolean): Boolean;
function IsAlfa(strStr: string; boolFirstChar: Boolean): Boolean;

{AT - Case-sensitive search (like Pos)}
function AT(strSub, strStr: string; intFirstOccur: Integer): Integer;
function RAT(strSub, strStr: string; intFirstOccur: Integer): Integer;

{ATC - Case-unsensitive search}
function ATC(strSub, strStr: string; intFirstOccur: Integer): Integer;
function RATC(strSub, strStr: string; intFirstOccur: Integer): Integer;

function Occurs(strSub, strStr: string): Integer;

function IIF(boolExpr: Boolean; var1, var2: Variant): Variant;
function InList(varKey: Variant; varValues: array of Variant): Boolean;

function DToS(dateValue: TDateTime): string;
function CMonth(dateValue: TDateTime): string;
function CDOW(dateValue: TDateTime): string;
function Year(dateValue: TDateTime): Word;
function Month(dateValue: TDateTime): Byte;
function Day(dateValue: TDateTime): Byte;
function IsLeapYear(AYear: Integer): Boolean;
function DaysPerMonth(AYear, AMonth: Integer): Integer;

******* cut end **********

JosИ MarМa SanmartМn Ojeda пишет в сообщении
<7jm7hp$6h...@forums.borland.com> ...


>Hello:
>
> I have converted the following functions from Clipper to Delphi:
>
> - PadR
> - PadL
> - Replicate
> - Space
> - RTrim
> - LTrim
> -AllTrim
>
> If you want I send it to you please don't hesitate to contact with me.
>
> Best Regards...
>
> Chema
>

>Arturo escribiС en mensaje <375D2788...@ltx.uni-trade.com>...

Loren Scott

unread,
Jun 11, 1999, 3:00:00 AM6/11/99
to
Hi Mike,

Please send them to me. I'd be interested to see them.

Thanks,

Loren Scott
lor...@vistasoftware.com

Manuel Salinas

unread,
Jun 12, 1999, 3:00:00 AM6/12/99
to
Mike, how about the macro? do you know where I can find it?

in clipper: x := '(50/2)*4 '
y := alltrim(x)
y := &x
?y
100

in Delphi ???


Gordon Hamm

unread,
Jun 12, 1999, 3:00:00 AM6/12/99
to
C and Delphi don't do Clipper like macros. You would need to build an
interpreter to do this. Remember, Delphi is native machine code, Clipper is
Pcode. (interpreted). This is why Delphi runs so much faster.

--
Gordon Hamm
Voice Data Systems Inc.
360-686-8315

Manuel Salinas wrote in message <7ju051$db...@forums.borland.com>...

Jan Sprengers

unread,
Jun 14, 1999, 3:00:00 AM6/14/99
to
On Sat, 12 Jun 1999 11:01:25 -0500, "Manuel Salinas"
<msal...@acnet.net> wrote:

>Mike, how about the macro? do you know where I can find it?
>
>in clipper: x := '(50/2)*4 '
> y := alltrim(x)
> y := &x
> ?y
> 100

TParser (v 10) is a very good component for evaluating mathematical
expressions. I think I found it on the Delphi superpage:
http://sunsite.icm.edu.pl/delphi
but it should be available from www.econos.de or something like that
too.

Jan


Mike Shkolnik

unread,
Jun 15, 1999, 3:00:00 AM6/15/99
to
For expression evaluation you need find a parser component but not "clipper
function" (like SubStr, Occurs etc).

Now I write a TSMParser for evaluation but this component wiil be shareware
and I will include it as part of SMReport Designer.

For freeware parser component you can find on TORRY or DSP.

Manuel Salinas пишет в сообщении <7ju051$db...@forums.borland.com> ...


>Mike, how about the macro? do you know where I can find it?
>
>in clipper: x := '(50/2)*4 '
> y := alltrim(x)
> y := &x
> ?y
> 100
>

>in Delphi ???
>
>
>
>
>

Howard Chandler

unread,
Jun 16, 1999, 3:00:00 AM6/16/99
to
Arturo wrote:

> Hi there!,
>
> does anyone have ever try this library?; i am porting Clipper
> applications to
> Delphi 3 and i'm no sure if it is worth to buy it. I really miss some of
> the easy-to-use string manipulations functions of Clipper that's why i
> am thinking
> about it.
>
> Thanks.

Arturo,

The Clipper Functions for Delphi (CFD) will be one of your most
cost-effective tools in your Clipper to Delphi conversions. We used it to
build 3 successful commercial D1 applications ('ported' from Clipper S'87)
and we are still using the latest version (CFD4) to build new D4 commercial
applications. Almost all of the string, date and math functions are there
for you AND the macro evaluator. So yes, in spite of what the others are
saying, CFD does Clipper macros, right out of the box, and this feature has
been included for over 2 years.

If you haven't already, I would suggest that you download the demo and trial
components from http://members.aol.com/clipfunc and see for yourself.

I think it's around $100. Well worth the price. The author won a S.T.A.R.
award from Borland, so he knows his 'onions'!! ;-)

Good luck.
--
Howard Chandler, Jr.
Microsource Corporation
Software Engineers & Consultants
http://www.iglou.com/microsource
(606) 273-9741
--

chanman.vcf

Nathan Trost

unread,
Jun 17, 1999, 3:00:00 AM6/17/99
to
Delphi does not do this on its own but it has been
done by a number of different component packages.
Ours is specifically targeted at the XBase crowd
because they were tools we developed for ourselves
to port Clipper apps to Delphi.

*** BIASED AUTHOR DESCRIPTION OF PRODUCT TO FOLLOW
***

Our package includes 160 Clipper functions (well
some are FoxPro or dBASE derivatives etc). Most
of these are available in the Evaluator component
set which implement a fairly complete XBASE macro
facility including Database workarea access to
TDataSource data, memvars and arrays (simulated
using another componet), date math, letter or
filename aliasing, support for -> and DOT aliases,
assignment macros, multiple expression macros,
access to pascal vars (P Alias), UDF support and
UDL (user defined libraries) and even REPLACE and
SCATTER/GATHER (FoxPro) implementations.

Our TCFMemFile component simulates GLOBAL memvars
(mainly for CONFIGURATION purposes) and provides
Clipper syntax storage and access to INI and
Registry info including ADDITIVE and LIKE clauses.
Array support (including mixed type arrays) is
included. These variables are accessed in the
Evaluator using XBASE notation but require METHOD
access in Pascal Code.

We also have true NUMERIC and DATE controls that
replace Delphi's TMaskEdits (standard and DBAware
versions).

CFD5 is under development and will add many
features to the evaluator including Delphi
Object/Property access and PASCAL CODEBLOCK
support (this new feature will support pascal
syntax loops instead of XBASE). New components
will include SMART components that will use the
Evaluator codeblocks.

There are trade-offs here -- evaluated performance
is very good but not nearly that of compiled
code. This is a flexibility vs. speed issue but
used appropriately, our package offers a lot of
XBase flexibity and with very good performance.


Manuel Salinas wrote:
>
> Mike, how about the macro? do you know where I can find it?
>
> in clipper: x := '(50/2)*4 '
> y := alltrim(x)
> y := &x
> ?y
> 100
>
> in Delphi ???

--

Nathan Trost
Clipper Functions for Delphi

For more info see our site:
http://members.aol.com/clipfunc

ntr...@aol.com

mariod...@gmail.com

unread,
May 2, 2015, 10:41:08 AM5/2/15
to
quarta-feira, 16 de Junho de 1999 às 07:00:00 UTC, Howard Chandler escreveu:
quarta-feira, 16 de Junho de 1999 às 07:00:00 UTC, Howard Chandler escreveu:
This link is broken! It goes to some other site?!?!?!??!?!
0 new messages