From: Graham McKechnie on
Hi Ginny,

Thanks for the translation... but you have picked on an event that any VOer
would understand. Thats not what I was getting at, as it has nothing to do
with the framework, except for the first line which none of them understood,
because at first glance they wouldn't have even noticed it.

You just blew over System.EventArgs and sender - pretty important stuff from
..Net point of view. Just the fact that neither is being used here, should
set their minds thinking..

Graham


"Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
news:4of1vkFeci4kU1(a)individual.net...
> Graham,
>
>> But that is my point, if you get framework code you have to understand
>> it, its not VO code anymore, so why try to understand it in VO/Vulcan
>> code or whatever you want to call it, when you might as well learn it
>> from C# code, where at least it is very well documented by MS and then by
>> the zillions of examples on the net.
>
> This really isn't hard:
>
> PRIVATE METHOD btnLoad_Click( sender AS OBJECT, e AS System.EventArgs ) AS
> VOID
> if dbf == null
> dbf := VulcanDB.DbfRdd{}
> endif
> isOpen := dbf:Open("c:\vo27b-1\samples\gstutor\customer.dbf", true,
> false)
> btnSkip:Enabled := true
> btnClear:Enabled := true
> btnAppend:Enabled := true
> btnDelete:Enabled := true
> btnUpdate:Enabled := true
> Self:Form1_Scatter()
> RETURN
>
> It's Vulcan code, but any VO developers can read it. I dare say most C#
> developers can too, but in case you can't <g>, here's the C# version:
>
> private void btnLoad_Click(object sender, EventArgs e)
> {
> if (dbf == null)
> dbf = new VulcanDB.DBFRdd();
> isOpen = dbf.Open(@"c:\vo27b-1\samples\gstutor\customer.dbf", true,
> false);
> btnSkip.Enabled = true;
> btnClear.Enabled = true;
> btnAppend.Enabled = true;
> btnUpdate.Enabled = true;
> btnDelete.Enabled = true;
> this.Form1_Scatter();
> }
>
>
> What we have here is Vulcan language using the Framework and it's no more
> mysterious than using Classmate or any other alternative GUI classes in
> VO. The form was generated using the VS form editor, and double clicking
> on the form brings up the code editor for writing Load (like PostInit)
> code. Double clicking on a button opens the editor for writing button
> click code. I'll go out on a limb here at state any VO developer who can't
> get a handle on this stuff after reading the Vulcan Getting Started docs
> and trying it with the VS wouldn't be able to learn C# either.
>
> Ginny
>


From: Ginny Caughey on
Graham,

I have lots of C# code that doesn't use sender and System.EventArgs, and I
bet you do too. But if a .NET developer needs them, they're there, and until
then he can ignore them even though the forms editor generates the correct
code to handle them.

I also didn't show 1000s of lines of ordinary VO code inside a button click
event handler, but you could do that too, and that's something you can't do
with C#.

--
Ginny


"Graham McKechnie" <gmknospam(a)bigpond.net.au> wrote in message
news:YQwUg.40765$rP1.34548(a)news-server.bigpond.net.au...
> Hi Ginny,
>
> Thanks for the translation... but you have picked on an event that any
> VOer would understand. Thats not what I was getting at, as it has nothing
> to do with the framework, except for the first line which none of them
> understood, because at first glance they wouldn't have even noticed it.
>
> You just blew over System.EventArgs and sender - pretty important stuff
> from .Net point of view. Just the fact that neither is being used here,
> should set their minds thinking..
>
> Graham
>
>
> "Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
> news:4of1vkFeci4kU1(a)individual.net...
>> Graham,
>>
>>> But that is my point, if you get framework code you have to understand
>>> it, its not VO code anymore, so why try to understand it in VO/Vulcan
>>> code or whatever you want to call it, when you might as well learn it
>>> from C# code, where at least it is very well documented by MS and then
>>> by the zillions of examples on the net.
>>
>> This really isn't hard:
>>
>> PRIVATE METHOD btnLoad_Click( sender AS OBJECT, e AS System.EventArgs )
>> AS VOID
>> if dbf == null
>> dbf := VulcanDB.DbfRdd{}
>> endif
>> isOpen := dbf:Open("c:\vo27b-1\samples\gstutor\customer.dbf", true,
>> false)
>> btnSkip:Enabled := true
>> btnClear:Enabled := true
>> btnAppend:Enabled := true
>> btnDelete:Enabled := true
>> btnUpdate:Enabled := true
>> Self:Form1_Scatter()
>> RETURN
>>
>> It's Vulcan code, but any VO developers can read it. I dare say most C#
>> developers can too, but in case you can't <g>, here's the C# version:
>>
>> private void btnLoad_Click(object sender, EventArgs e)
>> {
>> if (dbf == null)
>> dbf = new VulcanDB.DBFRdd();
>> isOpen = dbf.Open(@"c:\vo27b-1\samples\gstutor\customer.dbf", true,
>> false);
>> btnSkip.Enabled = true;
>> btnClear.Enabled = true;
>> btnAppend.Enabled = true;
>> btnUpdate.Enabled = true;
>> btnDelete.Enabled = true;
>> this.Form1_Scatter();
>> }
>>
>>
>> What we have here is Vulcan language using the Framework and it's no more
>> mysterious than using Classmate or any other alternative GUI classes in
>> VO. The form was generated using the VS form editor, and double clicking
>> on the form brings up the code editor for writing Load (like PostInit)
>> code. Double clicking on a button opens the editor for writing button
>> click code. I'll go out on a limb here at state any VO developer who
>> can't get a handle on this stuff after reading the Vulcan Getting Started
>> docs and trying it with the VS wouldn't be able to learn C# either.
>>
>> Ginny
>>
>
>


From: Graham McKechnie on
Ginny,

> I have lots of C# code that doesn't use sender and System.EventArgs, and I
> bet you do too.

Yes, but as you are aware from my GPS code for instance, I also have a heap
of code that does, using my own classes that inherit from System.EventArgs.
I don't think you can just brush off the importance of the C# event system,
which is way different to anything VO ever had. Obviously Vulcan now has
that, so they better get around to learning how to use it. What were we up
to before, day 3 or day 4, its still learn the framework day. I'm still
learning it after 4 years of it and I guess you are too.

> I also didn't show 1000s of lines of ordinary VO code inside a button
> click event handler, but you could do that too, and that's something you
> can't do with C#.

Oh yes, but that is something I don't want to do or see with C#<g>. I don't
want to stay with VO code or dbfs, that kind of stuff has been replaced long
ago. I hope you are not suggesting that VOers should remain with their dbfs
etc, with their corrupted indexes and data integrity problems etc. as they
move to .Net. I'm sure that sort of approach would not help Craig or any
other VOer one bit in their move to .Net. Talk about bringing the garbage
along for the ride!!!

Graham


"Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
news:4ofk4vFe6ragU1(a)individual.net...
> Graham,
>
> I have lots of C# code that doesn't use sender and System.EventArgs, and I
> bet you do too. But if a .NET developer needs them, they're there, and
> until then he can ignore them even though the forms editor generates the
> correct code to handle them.
>
> I also didn't show 1000s of lines of ordinary VO code inside a button
> click event handler, but you could do that too, and that's something you
> can't do with C#.
>
> --
> Ginny
>
>
> "Graham McKechnie" <gmknospam(a)bigpond.net.au> wrote in message
> news:YQwUg.40765$rP1.34548(a)news-server.bigpond.net.au...
>> Hi Ginny,
>>
>> Thanks for the translation... but you have picked on an event that any
>> VOer would understand. Thats not what I was getting at, as it has nothing
>> to do with the framework, except for the first line which none of them
>> understood, because at first glance they wouldn't have even noticed it.
>>
>> You just blew over System.EventArgs and sender - pretty important stuff
>> from .Net point of view. Just the fact that neither is being used here,
>> should set their minds thinking..
>>
>> Graham
>>
>>
>> "Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
>> news:4of1vkFeci4kU1(a)individual.net...
>>> Graham,
>>>
>>>> But that is my point, if you get framework code you have to understand
>>>> it, its not VO code anymore, so why try to understand it in VO/Vulcan
>>>> code or whatever you want to call it, when you might as well learn it
>>>> from C# code, where at least it is very well documented by MS and then
>>>> by the zillions of examples on the net.
>>>
>>> This really isn't hard:
>>>
>>> PRIVATE METHOD btnLoad_Click( sender AS OBJECT, e AS System.EventArgs )
>>> AS VOID
>>> if dbf == null
>>> dbf := VulcanDB.DbfRdd{}
>>> endif
>>> isOpen := dbf:Open("c:\vo27b-1\samples\gstutor\customer.dbf", true,
>>> false)
>>> btnSkip:Enabled := true
>>> btnClear:Enabled := true
>>> btnAppend:Enabled := true
>>> btnDelete:Enabled := true
>>> btnUpdate:Enabled := true
>>> Self:Form1_Scatter()
>>> RETURN
>>>
>>> It's Vulcan code, but any VO developers can read it. I dare say most C#
>>> developers can too, but in case you can't <g>, here's the C# version:
>>>
>>> private void btnLoad_Click(object sender, EventArgs e)
>>> {
>>> if (dbf == null)
>>> dbf = new VulcanDB.DBFRdd();
>>> isOpen = dbf.Open(@"c:\vo27b-1\samples\gstutor\customer.dbf", true,
>>> false);
>>> btnSkip.Enabled = true;
>>> btnClear.Enabled = true;
>>> btnAppend.Enabled = true;
>>> btnUpdate.Enabled = true;
>>> btnDelete.Enabled = true;
>>> this.Form1_Scatter();
>>> }
>>>
>>>
>>> What we have here is Vulcan language using the Framework and it's no
>>> more mysterious than using Classmate or any other alternative GUI
>>> classes in VO. The form was generated using the VS form editor, and
>>> double clicking on the form brings up the code editor for writing Load
>>> (like PostInit) code. Double clicking on a button opens the editor for
>>> writing button click code. I'll go out on a limb here at state any VO
>>> developer who can't get a handle on this stuff after reading the Vulcan
>>> Getting Started docs and trying it with the VS wouldn't be able to learn
>>> C# either.
>>>
>>> Ginny
>>>
>>
>>
>
>


From: Ginny Caughey on
Graham,

>> I have lots of C# code that doesn't use sender and System.EventArgs, and
>> I bet you do too.
>
> Yes, but as you are aware from my GPS code for instance, I also have a
> heap of code that does, using my own classes that inherit from
> System.EventArgs.

Sure so do I. But we both learned all that stuff as we needed to, and it's
possible to write whole apps that don't use it.

> I don't think you can just brush off the importance of the C# event
> system, which is way different to anything VO ever had.

Not at all, I think it's cool.

Obviously Vulcan now has
> that, so they better get around to learning how to use it. What were we up
> to before, day 3 or day 4, its still learn the framework day. I'm still
> learning it after 4 years of it and I guess you are too.

Yep, learning new stuff all the time. Gradual is the way to go.

>> I also didn't show 1000s of lines of ordinary VO code inside a button
>> click event handler, but you could do that too, and that's something you
>> can't do with C#.
>
> Oh yes, but that is something I don't want to do or see with C#<g>. I
> don't want to stay with VO code or dbfs, that kind of stuff has been
> replaced long ago.

That's fine for you, but not everybody has the same needs as you.

I hope you are not suggesting that VOers should remain with their dbfs
> etc, with their corrupted indexes and data integrity problems etc. as they
> move to .Net.

Lots of VO developers no longer use DBFs already. But I have C# code that
accesses DBF files because I NEED to do that, and other VO developers may
need to on occasion too. In fact, the utility that loads my clients' DBF
data into SQL Server tables as they migrate to the SQL version of my
products happens to be written in C#. I could have written it in VO but just
didn't.

I'm sure that sort of approach would not help Craig or any
> other VOer one bit in their move to .Net.

If Craig's system he's rewriting uses DBF files today, then he has some
choices to make. If I were doing a total rewrite, I might not continue to
use DBF files either, but if I'm migrating DBF-based code rather than
laboriously rewriting it, then I'd keep the DBF files too. And if Craig's
clients have data in DBF files, they'll probably want to keep the data even
if they change to SQL for data storage. In any case, the clients may not
care what language you use (and usually don't) but they do tend to have
opinions about how the data should be stored. I have some that say they
prefer DBF files, and their money is good too.

Talk about bringing the garbage
> along for the ride!!!

Not at all. I'm talking about keeping the money coming in. (And I guess in
my case the garbage too. <g>)

Ginny

>
> Graham
>
>
> "Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
> news:4ofk4vFe6ragU1(a)individual.net...
>> Graham,
>>
>> I have lots of C# code that doesn't use sender and System.EventArgs, and
>> I bet you do too. But if a .NET developer needs them, they're there, and
>> until then he can ignore them even though the forms editor generates the
>> correct code to handle them.
>>
>> I also didn't show 1000s of lines of ordinary VO code inside a button
>> click event handler, but you could do that too, and that's something you
>> can't do with C#.
>>
>> --
>> Ginny
>>
>>
>> "Graham McKechnie" <gmknospam(a)bigpond.net.au> wrote in message
>> news:YQwUg.40765$rP1.34548(a)news-server.bigpond.net.au...
>>> Hi Ginny,
>>>
>>> Thanks for the translation... but you have picked on an event that any
>>> VOer would understand. Thats not what I was getting at, as it has
>>> nothing to do with the framework, except for the first line which none
>>> of them understood, because at first glance they wouldn't have even
>>> noticed it.
>>>
>>> You just blew over System.EventArgs and sender - pretty important stuff
>>> from .Net point of view. Just the fact that neither is being used here,
>>> should set their minds thinking..
>>>
>>> Graham
>>>
>>>
>>> "Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
>>> news:4of1vkFeci4kU1(a)individual.net...
>>>> Graham,
>>>>
>>>>> But that is my point, if you get framework code you have to understand
>>>>> it, its not VO code anymore, so why try to understand it in VO/Vulcan
>>>>> code or whatever you want to call it, when you might as well learn it
>>>>> from C# code, where at least it is very well documented by MS and then
>>>>> by the zillions of examples on the net.
>>>>
>>>> This really isn't hard:
>>>>
>>>> PRIVATE METHOD btnLoad_Click( sender AS OBJECT, e AS System.EventArgs )
>>>> AS VOID
>>>> if dbf == null
>>>> dbf := VulcanDB.DbfRdd{}
>>>> endif
>>>> isOpen := dbf:Open("c:\vo27b-1\samples\gstutor\customer.dbf", true,
>>>> false)
>>>> btnSkip:Enabled := true
>>>> btnClear:Enabled := true
>>>> btnAppend:Enabled := true
>>>> btnDelete:Enabled := true
>>>> btnUpdate:Enabled := true
>>>> Self:Form1_Scatter()
>>>> RETURN
>>>>
>>>> It's Vulcan code, but any VO developers can read it. I dare say most C#
>>>> developers can too, but in case you can't <g>, here's the C# version:
>>>>
>>>> private void btnLoad_Click(object sender, EventArgs e)
>>>> {
>>>> if (dbf == null)
>>>> dbf = new VulcanDB.DBFRdd();
>>>> isOpen = dbf.Open(@"c:\vo27b-1\samples\gstutor\customer.dbf", true,
>>>> false);
>>>> btnSkip.Enabled = true;
>>>> btnClear.Enabled = true;
>>>> btnAppend.Enabled = true;
>>>> btnUpdate.Enabled = true;
>>>> btnDelete.Enabled = true;
>>>> this.Form1_Scatter();
>>>> }
>>>>
>>>>
>>>> What we have here is Vulcan language using the Framework and it's no
>>>> more mysterious than using Classmate or any other alternative GUI
>>>> classes in VO. The form was generated using the VS form editor, and
>>>> double clicking on the form brings up the code editor for writing Load
>>>> (like PostInit) code. Double clicking on a button opens the editor for
>>>> writing button click code. I'll go out on a limb here at state any VO
>>>> developer who can't get a handle on this stuff after reading the Vulcan
>>>> Getting Started docs and trying it with the VS wouldn't be able to
>>>> learn C# either.
>>>>
>>>> Ginny
>>>>
>>>
>>>
>>
>>
>
>


From: Geoff Schaller on
Ginny,

Sorry to enter the fray but I can't resist. What you are doing here is
demonstrating more clearly with every message that Vulcan is thoroughly
aimed at folks who don't want to learn the framework and its very
existence encourages that thinking. That just as clearly means that is
what will happen for many. The message Graham is trying to get through
is that the framework is the reason for going Dot net, just as Windows
was the aim for going VO from clipper. Unless you intend to adopt the
framework and all that it means there is simply no reason or benefit for
going Vulcan. None.

You simply get heartache converting for converting's sake.

Then comes the next problem: converting your code from VO to Vulcan.
Your small example in this thread already highlights the dangers to me
of a lot of my VO code because much is not as "nice" as I would like it
to be, especially a lot of late bound 'black box' class code. There is
going to be significant effort to move our VO code to Vulcan and I
suspect I am better off just putting that effort into new work in Dot
net - not going through the conversion step at all. And I don't need to.
My VO code will work perfectly along side any dot net code you care to
name.

And you keep glossing over the resource issue. The stuff for C# out
there (samples, tutorials, books, forums, 3rd party tools and libs) is
just enormous. Vulcan will never match this, never ever and this is a
matter of concern for the developer workshop. And mentioning workshops,
this is my final point. I can now find C# developers to add to my team
at the drop of a hat. For VO (and obviously Vulcan), I would have to
train them. This won't worry the individual or contractor but it is of
concern to the workshop.

Geoff



"Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
news:4ofk4vFe6ragU1(a)individual.net:

> Graham,
>
> I have lots of C# code that doesn't use sender and System.EventArgs, and I
> bet you do too. But if a .NET developer needs them, they're there, and until
> then he can ignore them even though the forms editor generates the correct
> code to handle them.
>
> I also didn't show 1000s of lines of ordinary VO code inside a button click
> event handler, but you could do that too, and that's something you can't do
> with C#.
>
> --
> Ginny
>
>
> "Graham McKechnie" <gmknospam(a)bigpond.net.au> wrote in message
> news:YQwUg.40765$rP1.34548(a)news-server.bigpond.net.au...
>
> > Hi Ginny,
> >
> > Thanks for the translation... but you have picked on an event that any
> > VOer would understand. Thats not what I was getting at, as it has nothing
> > to do with the framework, except for the first line which none of them
> > understood, because at first glance they wouldn't have even noticed it.
> >
> > You just blew over System.EventArgs and sender - pretty important stuff
> > from .Net point of view. Just the fact that neither is being used here,
> > should set their minds thinking..
> >
> > Graham
> >
> >
> > "Ginny Caughey" <ginny.caughey.online(a)wasteworks.com> wrote in message
> > news:4of1vkFeci4kU1(a)individual.net...
>
> >> Graham,
> >>
>
> >>> But that is my point, if you get framework code you have to understand
> >>> it, its not VO code anymore, so why try to understand it in VO/Vulcan
> >>> code or whatever you want to call it, when you might as well learn it
> >>> from C# code, where at least it is very well documented by MS and then
> >>> by the zillions of examples on the net.
> >>
>
> >> This really isn't hard:
> >>
> >> PRIVATE METHOD btnLoad_Click( sender AS OBJECT, e AS System.EventArgs )
> >> AS VOID
> >> if dbf == null
> >> dbf := VulcanDB.DbfRdd{}
> >> endif
> >> isOpen := dbf:Open("c:\vo27b-1\samples\gstutor\customer.dbf", true,
> >> false)
> >> btnSkip:Enabled := true
> >> btnClear:Enabled := true
> >> btnAppend:Enabled := true
> >> btnDelete:Enabled := true
> >> btnUpdate:Enabled := true
> >> Self:Form1_Scatter()
> >> RETURN
> >>
> >> It's Vulcan code, but any VO developers can read it. I dare say most C#
> >> developers can too, but in case you can't <g>, here's the C# version:
> >>
> >> private void btnLoad_Click(object sender, EventArgs e)
> >> {
> >> if (dbf == null)
> >> dbf = new VulcanDB.DBFRdd();
> >> isOpen = dbf.Open(@"c:\vo27b-1\samples\gstutor\customer.dbf", true,
> >> false);
> >> btnSkip.Enabled = true;
> >> btnClear.Enabled = true;
> >> btnAppend.Enabled = true;
> >> btnUpdate.Enabled = true;
> >> btnDelete.Enabled = true;
> >> this.Form1_Scatter();
> >> }
> >>
> >>
> >> What we have here is Vulcan language using the Framework and it's no more
> >> mysterious than using Classmate or any other alternative GUI classes in
> >> VO. The form was generated using the VS form editor, and double clicking
> >> on the form brings up the code editor for writing Load (like PostInit)
> >> code. Double clicking on a button opens the editor for writing button
> >> click code. I'll go out on a limb here at state any VO developer who
> >> can't get a handle on this stuff after reading the Vulcan Getting Started
> >> docs and trying it with the VS wouldn't be able to learn C# either.
> >>
> >> Ginny
> >>
> >
>
> >