Recent

Author Topic: Exploring FPC/Lazarus units and packages  (Read 6396 times)

MarkMLl

  • Hero Member
  • *****
  • Posts: 8045
Re: Exploring FPC/Lazarus units and packages
« Reply #30 on: July 16, 2024, 03:53:32 pm »
Good. I'll wait for the examples then. Please try to use the CHMs

I don't have the CHMs, presumably because I always build FPC myself (hence the point elsewhere about a wrapper script).

Can they be downloaded from somewhere?

And more to the point, is the full set of historic versions available?

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 567
Re: Exploring FPC/Lazarus units and packages
« Reply #31 on: July 16, 2024, 06:11:36 pm »
This is not a moan or a complaiint!  It's sort of a heartbreaker though, and a suggestion.

I spent some time yesterday trying to understand my own problems with using the FPC/Lazarus docs, and asking myself what I'd point someone new to FPC/Lazarus toward if (s)he had just started using the system and was trying to get familiar with the very rich body of documentation and other information that's available on-line.

The best "starting point" I found in poking around was

https://wiki.freepascal.org/Lazarus_Documentation#Free_Pascal_Compiler_Documentation

There is a lot of terrific information here (a little overwhelming, in fact! Need a "guide to the guide to the guide!)  But thinking about my new user again and consistent with this thread, I thought I'd encourage him to scroll down to "Free Pascal Compiler Documentation" and at least get aware of the content of the material linked to there for a start.   In particular taking a look in  "Reference guide to the system unit" and the "Run-Time Library reference manual." 

I clicked on the first link and got this

Quote
An error has been encountered in accessing this page.

1. Server: lazarus-ccr.sourceforge.io
2. URL path: /fpcdoc/ref/ref.html
3. Error notes: NONE
4. Error type: 404
5. Request method: GET
6. Request query string: NONE
7. Time: 2024-07-16 15:30:05 UTC (1721143805)

Reporting this problem: The problem you have encountered is with a project web site hosted by SourceForge.net. This issue should be reported to the SourceForge.net-hosted project (not to SourceForge.net).

...

The same message appears if I try the link to the RTL manual, but I know it's there on-line in it's latest version at https://www.freepascal.org/docs-html/current/.

I also noticed that all of the .PDF docs I have on my computer are dated 2017 while the current on-line manuals are dated 2021 -- my problem of course and nothing to do with FPC/Lazarus.

Not sure what the moral of this story is.   Maybe though, it would be helpful to put a new topic in the "Programming" section of the forum here, named something like "Explore the Documentation" (rather than RTFM, which shows up here, sadly, from time to time) where the state of all the docs could be highlighted and addressed.  The docs are as important as the code, right?
« Last Edit: July 16, 2024, 07:07:44 pm by Curt Carpenter »

MarkMLl

  • Hero Member
  • *****
  • Posts: 8045
Re: Exploring FPC/Lazarus units and packages
« Reply #32 on: July 16, 2024, 06:33:32 pm »
Link you posted is dud, please check your transcription (remember that you can edit a message to fix that sort of thing for the record).

I also noticed that all of the .PDF docs I have on my computer are dated 2017 while the current on-line manuals are dated 2021 -- my problem of course and nothing to do with FPC/Lazarus.

That's an easy one: the URLs to get them relied on FTP. In around 2018/2019 browsers started dropping FTP support, and it was around five years before... well, /somebody/ did something about it. I raised it repeatedly, and was typically told "Well, the user ought to find a browser that supports FTP then".

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

dsiders

  • Hero Member
  • *****
  • Posts: 1291
Re: Exploring FPC/Lazarus units and packages
« Reply #33 on: July 16, 2024, 07:02:45 pm »
Good. I'll wait for the examples then. Please try to use the CHMs

I don't have the CHMs, presumably because I always build FPC myself (hence the point elsewhere about a wrapper script).

Can they be downloaded from somewhere?

And more to the point, is the full set of historic versions available?

Download links for all formats and versions:

https://sourceforge.net/projects/freepascal/files/Documentation/3.2.2/
https://sourceforge.net/projects/freepascal/files/Documentation/

Preview the next Lazarus documentation release at: https://dsiders.gitlab.io/lazdocsnext

Thaddy

  • Hero Member
  • *****
  • Posts: 16201
  • Censorship about opinions does not belong here.
Re: Exploring FPC/Lazarus units and packages
« Reply #34 on: July 16, 2024, 07:04:50 pm »
I'd recommend for linux advanced fpc users to simply compile the latest docs from time to time.
There are good instructions.
Compiling the docs from Windows is not possible.(well, it is, but with an exotic toolchain almost all compiled from source)
If I smell bad code it usually is bad code and that includes my own code.

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 567
Re: Exploring FPC/Lazarus units and packages
« Reply #35 on: July 16, 2024, 07:08:57 pm »
Link you posted is dud, please check your transcription (remember that you can edit a message to fix that sort of thing for the record).

Sorry, missed a "/" in the link.  Think it's fixed now.

75% of it or more of the internet is magic to me.  Last time I used FTP was probably early 90's?
« Last Edit: July 16, 2024, 07:11:44 pm by Curt Carpenter »

MarkMLl

  • Hero Member
  • *****
  • Posts: 8045
Re: Exploring FPC/Lazarus units and packages
« Reply #36 on: July 16, 2024, 07:20:53 pm »
Download links for all formats and versions:

https://sourceforge.net/projects/freepascal/files/Documentation/3.2.2/
https://sourceforge.net/projects/freepascal/files/Documentation/

Thanks, I'll investigate.

I don't promise I'll be able to do much even as a POC: from my POV the window of opportunity closed years ago. Also (noting Marco's stricture that I use the CHMs) a lot depends on wjat utilities etc. I can find to process the various formats.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories


dsiders

  • Hero Member
  • *****
  • Posts: 1291
Re: Exploring FPC/Lazarus units and packages
« Reply #38 on: July 16, 2024, 07:42:09 pm »
75% of it or more of the internet is magic to me.

66% of the internet operates due to voodoo, bubblegum and baling wire.
Preview the next Lazarus documentation release at: https://dsiders.gitlab.io/lazdocsnext

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 567
Re: Exploring FPC/Lazarus units and packages
« Reply #39 on: July 16, 2024, 07:50:13 pm »
Not to mention magic numbers  :)

PascalDragon

  • Hero Member
  • *****
  • Posts: 5769
  • Compiler Developer
Re: Exploring FPC/Lazarus units and packages
« Reply #40 on: July 16, 2024, 09:00:54 pm »
The best "starting point" I found in poking around was

https://wiki.freepascal.org/Lazarus_Documentation#Free_Pascal_Compiler_Documentation

There is a lot of terrific information here (a little overwhelming, in fact! Need a "guide to the guide to the guide!)  But thinking about my new user again and consistent with this thread, I thought I'd encourage him to scroll down to "Free Pascal Compiler Documentation" and at least get aware of the content of the material linked to there for a start.   In particular taking a look in  "Reference guide to the system unit" and the "Run-Time Library reference manual."

The official location of the FPC documentation is here.

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 567
Re: Exploring FPC/Lazarus units and packages
« Reply #41 on: July 16, 2024, 10:34:43 pm »
The official location of the FPC documentation is here.

I appreciate the link and have bookmarked it.   There are clearly multiple paths into the documentation:

http://downloads.freepascal.org/fpc/docs-pdf/user.pdf
https://sourceforge.net/projects/freepascal/files/Documentation/3.2.2/

(and others?) for example, and perhaps that's a part of the problem although I'm sure they all lead to the same body of work.   

There's no question that all the information is there:  I keep stumbling on more  that is new to me even after all these years.  Like
"How to use C code in Free Pascal projects by G. Marcou, E. Engler, A. Varnek" which I just came across in looking at the link you provided.  The problem isn't a lack of information -- it's knowing how to find it.  But that's a classic problem in many fields.

Thanks again.
 

I'm guessing that most new users come to FPC indrectly via Lazarus (and via Delphi for geezers like me), and that was the motivation for the link I suggested. 



MarkMLl

  • Hero Member
  • *****
  • Posts: 8045
Re: Exploring FPC/Lazarus units and packages
« Reply #42 on: July 17, 2024, 09:25:52 am »
The official location of the FPC documentation is here.

You haven't read the thread, have you?

That exhibits /precisely/ the crap indexing problems that I'm highlighting.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

silvercoder70

  • Full Member
  • ***
  • Posts: 100
    • Tim Coates
Re: Exploring FPC/Lazarus units and packages
« Reply #43 on: July 17, 2024, 11:27:02 pm »
I am going to go back to when I was studying at Uni to tell a story... I was doing a subject on Real Time OSs and the language that was used in this subject was Oberon. We were not taught how to use the language in any way, and were expected to work that part out ourselves. And we got our first assignment in the 1st of 2nd week of the semester. This meant we had to explore the language ourselves. Good or bad? And perhaps the funny bit for everyone here is this was around the time the Internet was just taking off in the 90s. In a sense we were forced (?) to explore the language ourselves.

Now I know today we might have the luxury of that time to explore the language.

And I know that FPC also uses include type files that can make things harder to find.

I am all for quality documentation. I remember getting Turbo/Borland C manuals that described each function and the header needed to use. And systems have become more complex since those days.

So if I am looking for something in FPC now it's -> google > documentation referenced in result (and perhaps guess as to the unit needed to include)

So what's missing documentation wise ...

  • information on documentation web pages is not exactly intuitive navigation wise. I could talk forever about this!
  • the lack of a search function within the site?
[li]based on the above, harder to work out what is really missing
[/li][/list]

The documentation that is there is helpful and I'm grateful for it being there.  At the same time, on reading it (web page) I feel like I'm back in the 90s even though this iteration of the language is modern.
Explore the beauty of modern Pascal programming with Delphi & Free Pascal - https://www.youtube.com/@silvercoder70

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 567
Re: Exploring FPC/Lazarus units and packages
« Reply #44 on: July 17, 2024, 11:41:44 pm »
There are clearly multiple paths into the documentation:

http://downloads.freepascal.org/fpc/docs-pdf/user.pdf
https://sourceforge.net/projects/freepascal/files/Documentation/3.2.2/

For the record should anyone stumble across this:  include also

https://gitlab.com/freepascal.org/fpc/documentation.git

As a source of useful documentation (thanks to dsiders for the link).
« Last Edit: July 17, 2024, 11:43:28 pm by Curt Carpenter »

 

TinyPortal © 2005-2018