a possible way forward ? - after Cologne 2017 !

This forum is meant for questions and discussions about the X# language and tools
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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 :-
NewNotes_11.jpg
NewNotes_11.jpg (44.25 KiB) Viewed 487 times
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 :-
NewNotes_12.jpg
NewNotes_12.jpg (25.48 KiB) Viewed 487 times
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 :-
NewNotes_13.jpg
NewNotes_13.jpg (146.42 KiB) Viewed 487 times
NewNotes_14.jpg
NewNotes_14.jpg (137.56 KiB) Viewed 487 times
NewNotes_15.jpg
NewNotes_15.jpg (90.62 KiB) Viewed 487 times
I hope this interests a few guys out there, and not just the zillions of hackers ;-0)

Regards,
Phil.
Wales, UK.
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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

https://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.
ic2
Posts: 1856
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

a possible way forward ? - after Cologne 2017 !

Post by ic2 »

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
User avatar
lumberjack
Posts: 726
Joined: Fri Sep 25, 2015 3:11 pm
Location: South Africa

a possible way forward ? - after Cologne 2017 !

Post by lumberjack »

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:

Code: Select all

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
Boshof, South Africa
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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.
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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.
DickCHM_01.jpg
DickCHM_01.jpg (57.19 KiB) Viewed 487 times
Cheers,
Phil.
ic2
Posts: 1856
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

a possible way forward ? - after Cologne 2017 !

Post by ic2 »

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.
OneDrivePhil.JPG
OneDrivePhil.JPG (55 KiB) Viewed 487 times
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
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

Dick,

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

https://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.
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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 :-
Dick7Zok_01.jpg
Dick7Zok_01.jpg (110.7 KiB) Viewed 487 times


Cheers,
Phil.
P.S. time for bed !
User avatar
Phil Hepburn
Posts: 743
Joined: Sun Sep 11, 2016 2:16 pm

a possible way forward ? - after Cologne 2017 !

Post by Phil Hepburn »

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.
Post Reply