Recent

Author Topic: Wiki: Lazarus Tutorial  (Read 6497 times)

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Wiki: Lazarus Tutorial
« on: December 06, 2021, 06:49:44 pm »
Hi,

I just added a second part to the Lazarus Tutorial on the wiki with a new page:

https://wiki.freepascal.org/Lazarus_Tutorial_Part_2

Please comment and correct mistakes. You may do that directly in the wiki or report mistakes here in the thread.
Please have a closer look especially to the chapter LCL Internals.

Regards~

Handoko

  • Hero Member
  • *****
  • Posts: 4429
  • My goal: build my own game engine using Lazarus
Re: Wiki: Lazarus Tutorial
« Reply #1 on: December 06, 2021, 07:16:18 pm »
That looks good. Thank you for writing the tutorial.

At the top of the page, right below the title, there was a link "Template:Lazarus Tutorial Part 2". What was that?

And if it is possible, I would suggest a downloadable of the sample project, so readers can compare his own with the proper-written one.

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #2 on: December 06, 2021, 08:16:24 pm »
Hello Handoko,

the "Template:Lazarus Tutorial Part 2" was automatically created, I don't know how to remove that.

About the sample project I will check if its possible.

af0815

  • Hero Member
  • *****
  • Posts: 837
Re: Wiki: Lazarus Tutorial
« Reply #3 on: December 06, 2021, 08:57:13 pm »
I think the part begining with "Learning the language" can be extracted as a standalone part ? 3 ?

And on the start of a page should be a link to the prio and next lesson. At the end a jumptable to all the lessons. So the navigation is faster and intuitive.

my 2 cents
regards
Andreas

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1790
  • Former Delphi 1-7, 10.2 user
Re: Wiki: Lazarus Tutorial
« Reply #4 on: December 07, 2021, 01:25:23 am »
There is also Howdy World (Hello World on steroids) in a similar tutorial vein followed by Peg Solitaire Tutorial.
« Last Edit: December 07, 2021, 01:33:23 am by trev »
Lazarus 2.3, FPC 3.3.1 macOS 12.1 x86_64 Xcode 13.2
Lazarus 2.3, FPC 3.3.1 macOS 12.1 aarch64 Xcode 13.2
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 amd64 VM

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #5 on: December 07, 2021, 05:41:12 pm »
There is also Howdy World (Hello World on steroids) in a similar tutorial vein followed by Peg Solitaire Tutorial.
I just read these two tutorials, they are very good. If I had found them the time I started with Lazarus that would have been very helpful. I saw that you already linked them to the Tutorial, so thats very good.

My first impression when I saw these was that my tutorial perhaps just clutters the wiki more and by that is counterproductive. I think its important to have a guiding thread through the tutorials and not just having a pack of tutorials distributed over the wiki. So perhaps we can bind them more together.

In comparison to the two tutorials the one I made is quite different. I focused on basic usage of the LCL and left everything else away. Beyond the LCL stuff the calculater and solitaire tutorials describe a lot of details using the IDE and also a lot of language features are introduced, showing a real program structure (and not only a unit1 with event handlers).

My concern is that its easy to get overwhelmed by the combination of the topics. Especially with the language part, as a single procedure is much more difficult to understand, the more "real programming" it contains. On the other hand its important to learn - earlier or later - where to put ones variables in a real program and so on.

-> Any ideas how it could be possible to combine the tutorials, bringing them in a logical and useful order? Perhaps introducing them as alternative "part 2"s?

I think the part begining with "Learning the language" can be extracted as a standalone part ? 3 ?

The idea was to put in a link to a language tutorial there. But I didn't check yet, what is available. As part 3 I had planned a little animation, creating controls on runtime, working on the canvas, using a timer and discussing Parent vs. Owner. Well, a lot would double with the solitaire tutorial, so...

And on the start of a page should be a link to the prio and next lesson. At the end a jumptable to all the lessons. So the navigation is faster and intuitive.
Yes, that would be very good, but I feel its more difficult now as I learnd of the two (excellent) tutorials Calculator and Solitaire.

wp

  • Hero Member
  • *****
  • Posts: 9157
Re: Wiki: Lazarus Tutorial
« Reply #6 on: December 07, 2021, 06:05:52 pm »
I just added a second part to the Lazarus Tutorial on the wiki with a new page:

https://wiki.freepascal.org/Lazarus_Tutorial_Part_2
Part 2 is great. But I don't like part 1 as a "tutorial": it's just an enumeration of the menu items and a brief description what they do. But most new users of Lazarus will  not understand what they are reading here. I'd begin with the practical tutorial (now part 2) and maybe refer a bit more to the menu commands; this way the user will learn the most important menu commands in passing, and the current part 1 will be much clearer afterwards.
Mainly Lazarus trunk / fpc 3.2.0 / all 32-bit on Win-10, but many more...

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #7 on: December 07, 2021, 07:02:07 pm »
But I don't like part 1 as a "tutorial": it's just an enumeration of the menu items and a brief description what they do.
Yes, in my perception only the "Getting started" section was the tutorial. And it ends with "The rest is up to you!". I actually think that section is a good starter for "part 2", as it describes how to create a project and the work with the form and event handlers, basic keys (F9,F12). So in the "part 2" these things don't need to be detailed anymore. Now I looked the page again, in the end it's getting more interesting, but it's somehow hidden behind the menu descriptions.

So I would favor to bring everything from the page [Lazarus Tutorial] except "getting started" into a new page and perhaps call it "IDE Tutorial", it could be dealt as one part of the tutorial. Or even reworked, because it really is not very tutorial like.

The getting started could be combined in one page with "part 2", but there are a lot of translations of the page, so perhaps its better to keep it seperated.

wp

  • Hero Member
  • *****
  • Posts: 9157
Re: Wiki: Lazarus Tutorial
« Reply #8 on: December 07, 2021, 07:28:05 pm »
So I would favor to bring everything from the page [Lazarus Tutorial] except "getting started" into a new page and perhaps call it "IDE Tutorial", it could be dealt as one part of the tutorial. Or even reworked, because it really is not very tutorial like.

The getting started could be combined in one page with "part 2", but there are a lot of translations of the page, so perhaps its better to keep it seperated.
Good ideas.
Mainly Lazarus trunk / fpc 3.2.0 / all 32-bit on Win-10, but many more...

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1790
  • Former Delphi 1-7, 10.2 user
Re: Wiki: Lazarus Tutorial
« Reply #9 on: December 07, 2021, 10:11:47 pm »
Quote
So I would favor to bring everything from the page [Lazarus Tutorial] except "getting started" into a new page and perhaps call it "IDE Tutorial", it could be dealt as one part of the tutorial. Or even reworked, because it really is not very tutorial like.

Look at the content and you'll see:

Code: Text  [Select][+][-]
  1. == The Main Menu ==
  2. {{:Main menu}}

The IDE Main menu help page has been transcluded into the tutorial. It is a separate page already [Main menu] and is the entry page for the many menu options accessible from the IDE Main  menu.

Perhaps it would be a better idea to simply remove the transclusion and add a page link to the content with appropriate description.
Lazarus 2.3, FPC 3.3.1 macOS 12.1 x86_64 Xcode 13.2
Lazarus 2.3, FPC 3.3.1 macOS 12.1 aarch64 Xcode 13.2
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 amd64 VM

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #10 on: December 07, 2021, 10:43:02 pm »
Perhaps it would be a better idea to simply remove the transclusion and add a page link to the content with appropriate description.
Thats true. But... that section is translated in many languages and only in English its transcluded, in the other languages its there in "source". OK, they could be moved as well.

But what to do with the rest of the page?

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1790
  • Former Delphi 1-7, 10.2 user
Re: Wiki: Lazarus Tutorial
« Reply #11 on: December 07, 2021, 10:58:32 pm »
Perhaps it would be a better idea to simply remove the transclusion and add a page link to the content with appropriate description.
Thats true. But... that section is translated in many languages and only in English its transcluded, in the other languages its there in "source". OK, they could be moved as well.

Yes, the Main menu content from the non-English Tutorial pages could be extracted into non-English Main menu pages.

Quote
But what to do with the rest of the page?

The longest journey begins with the first step.
Lazarus 2.3, FPC 3.3.1 macOS 12.1 x86_64 Xcode 13.2
Lazarus 2.3, FPC 3.3.1 macOS 12.1 aarch64 Xcode 13.2
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 amd64 VM

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #12 on: December 07, 2021, 11:19:31 pm »
Quote
But what to do with the rest of the page?
The longest journey begins with the first step.

Sure, what I mean is what should be the result. Not that I start reordering stuff and make someone unhappy with it :-)

What I would do now is only keep the "Getting Started" in the article, move all main menu content in corresponding language pages and move the rest into a new page. With the name...?


trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1790
  • Former Delphi 1-7, 10.2 user
Re: Wiki: Lazarus Tutorial
« Reply #13 on: December 08, 2021, 12:56:58 am »
Quote
But what to do with the rest of the page?
The longest journey begins with the first step.

Sure, what I mean is what should be the result. Not that I start reordering stuff and make someone unhappy with it :-)

Ok, I removed the transclusion from the English page and added a description and page link to the content instead.

Quote
What I would do now is only keep the "Getting Started" in the article, move all main menu content in corresponding language pages and move the rest into a new page. With the name...?

I'm not sure about moving the rest of the content elsewhere. The tutorial started with creating your first program because that is probably something most new users would want to do BEFORE reading about all the marvellous features of the IDE. However, having done that, the tutorial then moves on to explaining much of the material you really need to know to progress.

If I was to remove anything, it would be the "The Lazarus files" section which would be better amalgamated with the existing Lazarus Project Files page and then linked.

[EDITS]
* German page Main menu content now moved to new Main menu/de page and replaced with intro and page link
* Spanish page Main menu content now moved to new Main menu/es page and replaced with intro and page link
* Finnish page - removed Main menu/fi transclusion and replaced with intro and page link
* French page Main menu content now moved to new Main menu/fr page and replaced with intro and page link
« Last Edit: December 08, 2021, 02:01:09 am by trev »
Lazarus 2.3, FPC 3.3.1 macOS 12.1 x86_64 Xcode 13.2
Lazarus 2.3, FPC 3.3.1 macOS 12.1 aarch64 Xcode 13.2
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 amd64 VM

kupferstecher

  • Sr. Member
  • ****
  • Posts: 468
Re: Wiki: Lazarus Tutorial
« Reply #14 on: December 08, 2021, 02:20:17 pm »
[EDITS]
* German page Main menu content now moved to new Main menu/de page and replaced with intro and page link
Great!
The same I did now with the left few languages. There is an issue with the language bar, only the languages that were available when editing a page are shown, not the pages added later on. Does that automatically update after some time, or has that to be fixed manually somehow?

https://wiki.freepascal.org/Main_menu/sq
was the last page I added and all languages but itself are listet.


Quote
I'm not sure about moving the rest of the content elsewhere. The tutorial started with creating your first program because that is probably something most new users would want to do BEFORE reading about all the marvellous features of the IDE. However, having done that, the tutorial then moves on to explaining much of the material you really need to know to progress.
Thats right, some parts are important. Others are IMHO too detailed, it's hard to focus on that as a beginner. Seems the translated language versions are quite old and are much more compact. E.g. the section "How to use Common Controls" seems to not be translated. The lists of "common properties" and "common events" I'm also not sure if they are really useful, as showing these things in the very beginning of using Lazarus is probably just overwhelming.

Quote
If I was to remove anything, it would be the "The Lazarus files" section which would be better amalgamated with the existing Lazarus Project Files page and then linked.
In part 2 I also mentioned some of the files. I have to think about how that could be combined better.

 

TinyPortal © 2005-2018