fbpx
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: a possible way forward ? - after Cologne 2017 !

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1633

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi Robert, Team, and all X# community and colleagues,

Now that the German xBase.Future conference is so close, and my preparation is all but done, I have started looking ahead to after the conference.

I wish to share with you some thoughts which I had very recently. These are to do with possible contributions I can make to helping promote X# / xBase and helping my friends and colleagues in that same community. Now that I am retired from paid work, I can contribute to making things easier for guys to get to grips with certain areas of X# and .NET - there are some areas where I have little to no knowledge however ;-0) someone else can cover those!

So far, since October last year (2016) I have explored X# and experimented with some new and exciting parts of the Roslyn based compiler, and placed working tests and snippets into a special appendix - named 'Appendix X' in my eVolume of eNotes called "ClickStartLINQ" - see a couple of images below (captured with SnagIt version 13) :-



I started to put my new X# 'stuff' into this appendix simply because I was focused on doing a lot of good material on LINQ within the X# syntax - remember it was all new to me as previously I had to do my LINQ work in a C# class library. the rest of the 'ClickStartLINQ' eNotes had been done years before that and had therefore to be based on C# - this work has been left in the eNotes, as it was previously.

However, as time progressed from last October, I started doing many more areas of interest in X#, and these got added into the 'X' appendix. So at the moment, the existing sections and subsections are a bit mixed together - check below :-



Okay then, the Conference guys will get all the X# working code I have generated - BUT - there seems to me to be a need for a new and better structured set of eNotes - possibly called "ClickSatrtXSharp", in which I try to add sub-sections on all of the topics I regularly use in my applications.

It would seem sensible to me if I made such a set of notes initially based on Desktop app technology (the stuff I have been doing for a while), but then moved to Windows Universal apps and .NET CORE apps, as well as Android and Cross-Platform types of stuff.

Another aspect of the eNotes could be that I show clearly how Visual Studio is used to create the X# apps, as it would seem that many guys need some support with VS work - there is plenty of support out there for Chris's XIDE, from both Chris and guys like Frank, Wolfgang and others. But we do need some support for X# with VS I feel.

I am afraid that it is so long since I did 'WinForms' that I would have to give that topic area a miss. Anyway, WPF and XAML seems to have plenty of life left in them for the Universal and Cross-Platform work, so VS will be needed for new technologies I feel.

Finally, I did also think of moving over my Printing class library to X# from Vulcan, as it still has a big job to play I feel. It was the first thing I did when experimenting with a move from VO to .NET and VN. Printing and printers still has a role to play in our coding I feel, and it was one of the larger sections under-pinning my 'Invoices' application from many 'DevShare's ago.

Are there any topic areas which you particularly think should be included in such a brave venture?

First of all, do you think it is worth me making the effort ? I may also acquire a new web site with a suitable new name.

Such a venture would be done on a basis of continual website updating, as fresh topics and sub-sections were added. So there would be no waiting around, or holding back of material until the whole thing was completed. We could even start with the whole Appendix 'X' being available in the new eVolume - I would leave it in place until all new folder structures came on stream.

Any thoughts ?

Phil.
Wales, UK.
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1635

  ic2's Avatar ic2 Offline Posts: 499
Hello Phil,

I think your initiative is very useful. We have all read many of your contributions to Pearls on the Grafx NG and now that Grafx and Vulcan only exists "in name" it is good to see more and more of your valued posts here.

At the moment I can not say much about what I would like to have covered. Although I've renewed FOX for the 2nd year, I have only briefly checked out X#. VO still serves me well and saves me from using VS and most other programming has been C# (in VS). However a plan is emerging to port one large application maintained by one employee to X# so we have a better chance to have it maintained and developed by a successor of my employee who will obviously never have heard about VO. Someone who actually doesn't know better than that VS is a productive and nice development environment. So as soon as we know more about the clients wishes in here, I will no doubt do more with X# and can let you now which subjects would benefit from postings with your experience.

Dick

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1637

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Thanks Dick,

Your comments are most helpful to me, and hopefully for others.

Best Regards,
Phil.
Wales, UK.

... watch this space ! .....

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1639

  wriedmann's Avatar wriedmann Away Posts: 1573
Hi Phil,

there are a LOT of new things to explore: Universal apps, .NET Core on Linux, ...

Personally I have to invest time in normal business applications, and in the migration from VO (another big project for the next 24 months...)

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
This email address is being protected from spambots. You need JavaScript enabled to view it.
www.riedmann.it - docs.xsharp.it

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1647

  FFF's Avatar FFF Away Posts: 577

Phil Hepburn wrote: ...Finally, I did also think of moving over my Printing class library to X# from Vulcan, as it still has a big job to play I feel.

Might be a good idea. As X# is now open source, it should/could attract also "non big business ;)" folks. Helping them with neat building blocks for the universally necessary jobs might be really useful. Next to data access/view, i feel the "dark matters", i.e. printing (not only invoices) certainly is one of the most important ones...

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1648

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi Karl, Wolfgang, Dick et al,

Here is an image of the collapsed contents of the new eNotes for the web area. I did it this afternoon.



There are quite a few sub-folders entered as well, but this reduced view should be OK for now.

If anyone has any suggestions as to what topic seems to be missing then please say so, and at least give me the chance to say 'NO' !

Regards,
Phil.
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1654

  Frank Maraite's Avatar Frank Maraite Offline Posts: 173
Karl,

Karl Faller wrote: i.e. printing (not only invoices) certainly is one of the most important ones...


I would second this. I never got a clear idea on how to do this.

Frank

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1655

  wriedmann's Avatar wriedmann Away Posts: 1573
Hello,

yes, IMHO printing is very important - but to be used by all it shoould not implicate the use of some complicated or expensive report writer.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
This email address is being protected from spambots. You need JavaScript enabled to view it.
www.riedmann.it - docs.xsharp.it

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1657

  robert's Avatar robert Offline Posts: 1004
Phil,
Thanks for you continuous work !

Can I suggest some topics

- Moving to X# from
- Visual Objects
- Vulcan.NET
- (x)Harbour
- Visual FoxPro
- Clipper
- etc

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1662

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi Frank, Karl, Wolfgang, and all,

Well guys, I have looked back at my old websites and found the eNotes I wrote way back at the end of 2008 - these are called "Reports and Printing" and can be found at the moment at :-

www.clickstartvulcan.net/WebNotes/Report...g/ClickStartRnP.html

So you could have been printing in .NET for almost nine years ;-0)

This (the class library described) currently is a full .NET version of a simpler printing class I made for VO. Yes, I was one of those strange people who printed for years in Visual Objects without using anyone else's report writer. Everything was/is my own code. In my time we printed off millions of doctor's letters and invoices etc., from my big medical / patient app in Cardiff - based on DBFs at the time.

We even used to automatically add signatures to the letters, from a library of signature files.

Here is what the link will show you :-



What is not obvious from the contents list is that I have a whole section in my class library and somewhere in the eNotes which allows aligning the point in columns of figures (numeric) which handles proportional fonts, as opposed to the simpler fixed space font cousins.

Please be aware however, printing is NOT, and never will be, an easy task. It is complex and we need to do a lot of ground work in order to print our own stuff. It often gets very customised.

However, it is VERY satisfying when it works, and paper comes out the way you wished it to. Oh! and even from the correct printer across the network, as we used to direct output to registered printers - all done in VO and NOT in Windows 98 which was being used at the time. So a delivery note would appear from a printer in the warehouse for example.

Please also be aware that Chris got me going with .NET printing, probably at 'DevFest' in early 2008. Thanks Chris, I have come a long way since you helped me get going, but you made it all possible.

You all have re-motivated me as regards to printing.

When I resurrect my code for the Printing class library, you will be able to use this as a basis to build your own fancy stuff specifically designed to fit your apps and business needs.

Oh! - I should mention that I got into printing in VO after studying (and following) Alwyn's book (the black bible) on Visual Objects. Took me weeks from scratch (zero beginning), AJB did wonderful stuff with printing, and motivated me to do stuff all my own way - yes, he gave me that much confidence, well done Alwyn - my first printing class came from your VO inspiration.

Now then, time to go and rescue my old code and eNote files.

Oh! and guys, don't play down printing invoices, when you print all the lines and grids, columns and rows, as well as the data areas and icon / images etc., it is quite a printing task. Here is a blank example - the data has not as yet been layered onto the final print sheet :-



Hope this interests a few dinosaurs out there ;-0)

There are some benefits to going 'paperless', especially when you don't know how to print!

Well, that not exactly true, in order to get my invoice displayed on the screen, we still actually need to print it the old fashioned way, its just seen in the print preview .NET 'tool', as opposed to a named printer.

So we can't even go paperless without printing ;-0((

Regards,
Phil.
Wales, UK.
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1663

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi Robert,

Thanks for the suggestions / input, I thought I would end up including important items like these - which are really a bit out of my comfort zone, and knowledge area.

I have entered these topics into the contents structure as seen below :-



However, the deal is this - that when I come filling out the sub-sections I get help and direction from those guys who know about such topic areas - yes, HELP !

I have also added the XPorter as this has help me so far, and will in no doubt help others in the future.

Oh! and Frank, I have now remembered to add Unit Testing, and put it in the right place, and not tagged on at the end as a bit of an after-thought - check this :-



And just before I go and do some work, here are a couple of images of the expanded contents list. PLEASE be well aware of the fact that this is a VERY new project and that it is VERY much 'work in progress'. However, if all the detail makes you think of anything still required, or you spot mistakes, then please get back to me.

It is RARELY (not very often at all) that we get the chance to carefully map out a structure to a set of eNotes, before we start to add any content / details. Usually I am having to squeeze in new topics in added chapters and appendices, and that gets a bit messy (if necessary).

Please also be aware that this 'work' is not intended to be 100% everything to do with X#. I have intended from the start that it will reflect my own .NET interest and my interest in WPF and new Microsoft technologies available through Roslyn. The suggestions from Robert are a bit of a 'must have', as too the XPorter, and obviously Frank's Unit Testing.

Here are the details of the current contents :-







I hope this interests a few guys out there, and not just the zillions of hackers ;-0)

Regards,
Phil.
Wales, UK.

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1666

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Guys,

lets use modern technology, and via the Cloud and 'OneDrive' be able to see and browse the CHM file I have created of the new and so far blank, eNotes on X# :-

1drv.ms/u/s!AiCBl-gBWjY9g9JIoPOiW0a69iT2rA

Please let me know if there are any problems / issues.

And positive help and criticism is welcome ;-0)

I have added a few more sub-topic areas since my last post.

Cheers,
Phil.
Wales, UK.

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1669

  ic2's Avatar ic2 Offline Posts: 499
Hello Phil,

Here's my feedback:

1 The technology isn't modern enough I am afraid - at least so thinks Microsoft. Every page is empty, because MS considers CHM unsafe if you download it, also if you do that from Onedrive- for some reason. So basically you just download the file and then in Explorer, you have to go to Properties and select Unblock. You are supposed to have this on line (on a a website for example) so you users also see your latest content.
2 After unblocking I clicked several pages but all so far show a head and PHH - April 11th. 2017. Is there any content ready I was wondering?

Dick

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1671

  lumberjack's Avatar lumberjack Offline Posts: 465
Hi Phil,
I also did something based on communication we had in 2010 with printing. There are some changes I would like to do e.g. ArrayList usage, but here is the essence of the driver, all data-driven with auto-subtotalling (Sum, Min, Max, Weighted Average, StdDev) on multilevels with just a Flag against a report column which "total" is required, all with approx 1300 lines of code, can do tabular and free form reports:
CLASS jhnRepPro INHERIT jhnRepProBase
	PROTECT aList AS ArrayList
	PROTECT aTableList AS SortedList<STRING, jhnParameterCollection>
	PROTECT aTableName AS ArrayList
	PROTECT oProperty AS jhnParameterCollection
	PROTECT cReportID, cMasterServer AS STRING
	PROTECT nEjected, nEjectLevel, nSumDepth, nReportID AS INT
	PROTECT oDataSet AS DataSet
	PROTECT aBindingSource AS SortedList<STRING, BindingSource>
	PROTECT nPageHeaderBottomRow, nPageTitleTopRow, nPageTitleBottomRow AS REAL4
	PROTECT nBodyHeaderBottomRow, nBodyHeaderTopRow, nBodyTopRow, nBodyBottomRow AS REAL4
	PROTECT nBodyFooterBottomRow, nBodyFooterTopRow AS REAL4
	PROTECT nPageFooterTopRow, nPageFooterBottomRow AS REAL4
	PROTECT lSetupDone, lReportInitialized, lLayOutDone AS LOGIC
	PROTECT nStartTime AS DateTime

	METHOD Exec() AS VOID
		LOCAL oPreview AS PrintPreviewDialog
		IF oDocument = NULL
			oDocument := PrintDocument{} // {cReportID, "PDFCreator"}
			oDocument:BeginPrint += PrintEventHandler{SELF, @DoBeginPrint()}
			oDocument:PrintPage += PrintPageEventHandler{SELF, @DoPrintPage()} 
			oDocument:EndPrint += PrintEventHandler{SELF, @DoEndPrint()}
		ENDIF
		IF lPreview
			oPreview := PrintPreviewDialog{}
			oPreview:Document := oDocument
			oPreview:PrintPreviewControl:AutoZoom := TRUE
			oPreview:WindowState := FormWindowState.Maximized
			oPreview:ShowDialog()
		ELSE
			oDocument:Print()
		ENDIF
	RETURN
______________________
Johan Nel
George, South Africa

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1672

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Dick,

Slow down, read posts more carefully :silly:

The new eNotes are all completely empty apart from the date the sub-folder was created - hence the date.

The reason for posting in OneDrive is because CHM files have worked in the past in this way for X# guys. However, we can't expect OneDrive to create the folder content - that is about 9 months to a years full time work - or more :)

The point is for guys to see if anything is missing from the structure, and/or to spot existing mistakes.

Hope you read this more slowly !
Cheers,
Phil.

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1673

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Dick,

This is after my longer response.

The link from the Forum post works for me - I even opened it directly from my OneDrive without downloading it.

Microsoft's concern about CHM files is a justified security risk BUT we can easily work around it and I can also post (a larger) PDF if needs be. The CHM format suits my purpose better however.



Cheers,
Phil.
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1694

  ic2's Avatar ic2 Offline Posts: 499
Hello Phil,

Indeed I missed the "so far blank" part and the first posting explaining your objective. The structure of a forum is still inferior to that of the NG, but ok, formatting is way better of course. Although it's a pity we don't have WYSIWYG.

And here's how your link gets your CHM - I can only save it after which I get the warning.



I agree that CHM is a very useful and probably superior format although it looks rather old fashioned with the treeview with the purple book icon - just like the VO samples of VO1. On of the many objectives I have to Microsoft is that the user should be given the choice to open the CHM but at very least be notified why everything is empty and how to solve that.

Dick
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1695

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Dick,

Can you try this link to a RAR file ? :-

1drv.ms/u/s!AiCBl-gBWjY9g9JTGNBW1flLtUNOuQ

See if this downloads and opens with content in at least some of the folders :blush:

When I get a few more things sorted out I will restart my new "ClickStartXSharp in Help and Manual 7 and see what options they provide for modernising the CHM (if any).

I have had version 7 HnM for ages - I went back to 6 when version 7 seemed to nastily scramble an existing ClickStart eVolume I was half way through developing and writing with 6 previously.

There is a facility in HnM7 to have the document contain video clips - I wish to explore this soon.

For now, lets just see if we can get around the CHM limitation in OneDrive - good luck,
Phil.

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 2 years 2 months ago #1696

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi Dick (again),

The new link to the 7Z RARed CHM file seems to have done the trick when I download from the Forum posting screen.

See my screen details below :-



Cheers,
Phil.
P.S. time for bed !
Attachments:

Please Log in or Create an account to join the conversation.

a possible way forward ? - after Cologne 2017 ! 1 year 8 months ago #2855

  Phil Hepburn's Avatar Topic Author Phil Hepburn Offline Posts: 742
Hi again Wolfgang (and other guys too),

I am now getting back into my coding / programming mode so as to occupy myself during the wet and dark Autumn and Winter months :P

Yes, I agree that printing anything, especially reports, should be as simple as possible - and FREE !!! Hopefully I can provide the 'free' part by eventually providing my X# classes to the Forum free of charge. Oh! and some suitable eNotes to help others get the most out of using the classes.

On the 'making things easy' side of things, this is what I discovered some ten years back after reading and studying Alwyn's VO text on 'Printing'. It is possible to hide from sight the complex methods which are needed to handle the coordinates required by each and every printer driver. These are a MUST.

I then continued to develop 'layers' of methods which successively made printing 'stuff' easier. Often one method using a more complex method, so it appears to hide the complex stuff 'under the hood'.

Years ago, in early versions of BASIC, we were spoiled by the fact that we could virtually say "print out 'hello world' " and we got a result hanging out of the printer.

In reality printing in Windows 10 is more complex that the above - BUT - I have it closer to being simple by design of my printing classes. Yes, either by default settings, or our own coded settings, we need to select an available printer, then choose a paper orientation, font family, font style, font colour, font weight, and position on what we may term as a 'page'.

Yes, a lot of these above settings can be set by defaults - BUT - they need to be set for the Windows .NET system to produce suitable output. The trick I found, over the years I have developed my printing classes, is to make things work the way the user / coder thinks, and not provide methods which are based on the way the computer does things.

So effectively I can now code .... use the default printer and on the 13th line down the page at 20% across the page, place the text "Hello World - we are printing! ". Notice my coordinate system is based on lines on pages, and how far across the page .... I don't touch the complex canvas coordinates which are different for each printer driver.

As you can imagine, quite a few required settings have been provided for us, but we could have specified then ourselves if we required then to be different. Depending on our wishes.

When it comes to reports, it is probably best to have a few Report classes, which range in their simplicity of the style of printed report they provide. Then there are less settings to worry about when we need simplicity.

However, if we wish to be able to print reports as complex as some of those made by "Reporting Services" from Microsoft, then we do need to be able to set many detailed settings, and understand more about report making than just producing a simple tabular format in a fixed font, with no sub-totals.

I think I can offer much to the X# Forum on the "Printing" topic, so watch this space ;-0)

Remember I have NOT used anything else since I started with VO, than my own printing classes, and I have printed a lot of commercial documentation over the years. No third part stuff for me !!

I am trying to convince Meinhard to allow me to produce a suitable set of support materials for some sessions in the April 2018 Cologne conference - fingers crossed that he gives me the OK. If I am to put in a lot of work on this stuff, then it is nice to know that there is real purpose to what I produce. And delivering a session or two in Cologne is a real purpose in my eyes.

I hope the above information makes sense to those who have not seen my printing class in use. It really is easy to get them to produce nice results, without the need to know just how half of the methods actually work, or what they do - many methods just provide a technical service to other more common sense methods - but they are totally required for printing success.

Cheers for now,
Regards to one and all,
Phil,
Wales, UK.

Please Log in or Create an account to join the conversation.

  • Page:
  • 1
  • 2