Using the LCL without Lazarus

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Using the LCL without Lazarus

BobJ

Most of the viewers of this message are probably already aware that I am totally blind and must rely on screen-reading software to put to voice that which appears on the computer's video display.  Unfortunately, there is more than one technique for "painting" a video display, some of which are very "unfriendly" to screen-reading software.  Many web sites and application-software programs make use of some of those "unfriendly" techniques thereby rendering them unusable by blind users on a practical level.
 
I have recently been very successful in completing a couple of console-based programs for my personal use by writing source code using Microsoft's NotePad and submitting that code to the FPC command-lie compiler.
 
Now, I want to try my hand at developing software with a GUI but I have run into some obstacles as mentioned in my opening statements, above.
 
My attempts to use the following software has proven to be unsuccessful because of the "unfriendly" nature of their video displays:
 
Lazarus IDE,,
IDEU IDE,
FP IDE.
 
So, while searching for some alternative methods that might be less "unfriendly," I discovered the following:
 
My questions follow the excerpt)
 
-------- Begin web-site excerpt --------
 
Using the LCL without Lazarus
 
1How to use the LCL without the Lazarus IDE?
1.1Requirements
1.2Introduction
1.3The installation process
1.4The settings
1.5The code
1.6Lazarus 1.2.6
2Alternatives
How to use the LCL without the Lazarus IDE?
 
Requirements
Things you'll need:
•  Free Pascal 2.4.4
•  Lazarus 0.9.30
Tested on Microsoft Windows XP SP3.
 
Introduction
 
You are not forced to use the Lazarus IDE if you want to develop with the LCL. You can use it directly from the Free Pascal Compiler. 
 
The installation process
 
First download Free Pascal 2.4.4 and the Lazarus 0.9.30 and install them.
Our FPC install directory will be this
C:\FPC\2.4.4\
The Lazarus install directory will be this
C:\Lazarus\
Then copy the lcl folder.
Copy this folder:
C:\Lazarus\lcl
Paste it to this location:
C:\FPC\2.4.4\units\i386-win32\lcl
Now you can remove Lazarus from your computer. In the next section we'll inform the FPC that the LCL has been installed.
 
The settings
 
Start the FP IDE (included with FPC).
Click on the Options menu and then the Directories menu item.
 
Select the Units tab (default).
Add these directories:
C:\FPC\2.4.4\units\i386-win32\lcl
C:\FPC\2.4.4\units\i386-win32\lcl\units\i386-win32
C:\FPC\2.4.4\units\i386-win32\lcl\widgetset
C:\FPC\2.4.4\units\i386-win32\lcl\interfaces\win32
Then click on the Include files tab.
Add this directory:
C:\FPC\2.4.4\units\i386-win32\lcl\include
Now, you should be able to use the LCL. However, above should be done for all Modes in Options if you plan to switch the mode in the future. It is easier to edit fp.cfg directly. In the next section we'll try out creating a form with a button on it.
The code
This is the base code:
 
program lcl_base;
{$mode objfpc} {$H+}
 
uses
  Classes, Interfaces, Forms, StdCtrls;
  //Interfaces is very important
 
type
  TForm1 = class(TForm)
    Button1: TButton;
  end;
  //Our Form class
 
var
  Form1: TForm1;
  //Declare the Form1
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Form1.Button1 := TButton.Create(Form1);
  With Form1.Button1 Do
  begin
    Parent := Form1;
    Visible := TRUE;
    Left := 10;
    Top := 10;
    Width := 100;
    Height := 100;
    Caption := 'PRESS ME';
  end;
  Application.Run;
  //We do exactly the same as Lazarus does
end.
 
That's it. Now, you are able to use the LCL without the Lazarus IDE.
 
Lazarus 1.2.6
In order to compile the above example you will need access to units from folder C:\lazarus\components\lazutils. The FP compiler would build the application with c like operators on.
 
Alternatives
If your aim is to compile Lazarus projects without using the Lazarus IDE, you can install Lazarus and use the command line lazbuild tool to compile projects.
 
-------- End web-site excerpt --------
 
1. I have FPC ver 3.0.0 and Lazarus ver 1.6
Should the instructions given in the excerpt be applicable with these versions, as well?
 
2. Is it safe to assume that when they say
"You are not forced to use the Lazarus IDE if you want to develop with the LCL. You can use it directly from the Free Pascal Compiler."
that they mean that the source code can be submitted to FPC at the command line?
 
3. As I stated somewhere above, the FP IDE is not accessable at a practical level so, is there some other way that I can satisfy the requirements to do the following?
 
Start the FP IDE (included with FPC).
Click on the Options menu and then the Directories menu item.
Select the Units tab (default).
Add these directories:
C:\FPC\2.4.4\units\i386-win32\lcl
C:\FPC\2.4.4\units\i386-win32\lcl\units\i386-win32
C:\FPC\2.4.4\units\i386-win32\lcl\widgetset
C:\FPC\2.4.4\units\i386-win32\lcl\interfaces\win32
Then click on the Include files tab.
Add this directory:
C:\FPC\2.4.4\units\i386-win32\lcl\include
Now, you should be able to use the LCL.
 

If the answers to my questions #1 & #2 are in the affirmative, and if the paths described in my question #3 can be added to the Windows search path or inserted into a *.ini file or somewhere else, perhaps I can give it a go.
 
I apologize for such a lengthy message but, I didn't know how else to make clear my dilemma.
 
Thanks,
 
Bob
 
 

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Mattias Gaertner
On Tue, 29 Nov 2016 20:42:36 -0500
"BobJ" <[hidden email]> wrote:

>[...]
> -------- Begin web-site excerpt --------
>
> Using the LCL without Lazarus
>
> 1How to use the LCL without the Lazarus IDE?
> 1.1Requirements
> 1.2Introduction
> 1.3The installation process
> 1.4The settings
> 1.5The code
> 1.6Lazarus 1.2.6
> 2Alternatives
> How to use the LCL without the Lazarus IDE?
>  
> Requirements
> Things you'll need:
> .  Free Pascal 2.4.4
> .  Lazarus 0.9.30

That's very old.
Current is FPC 3.0.0 and Lazarus 1.6.2.

> Tested on Microsoft Windows XP SP3.
>
> Introduction
>
> You are not forced to use the Lazarus IDE if you want to develop with the LCL. You can use it directly from the Free Pascal Compiler.  

True.

 
>[...]
> 1. I have FPC ver 3.0.0 and Lazarus ver 1.6
> Should the instructions given in the excerpt be applicable with these versions, as well?

Pretty much. Although this setup adds source paths so every program
will compile the LCL, creating many copies and may result in a mess.
Where did you find this?

I recommend to simply install using the Lazarus installer.
If you don't want to install the IDE you can do alternatively:
Download and install FPC.
Then download the Lazarus sources (e.g. to C:\lazarus) and build them:
Make sure FPC 'bin' is in PATH environment variable, cd C:\lazarus, and
execute 'make clean all'. This will build the LCL for win32, lazbuild
and the IDE.

Whatever you chose, next do:

Add to your fpc.cfg:
-FuC:\lazarus\component\lazutils\lib\i386-win32
-FuC:\lazarus\lcl\units\i386-win32
-FuC:\lazarus\lcl\units\i386-win32\win32

Do not add source or include paths - it can create a mess and strange
errors.

Now you can use the LCL in your programs.

 
> 2. Is it safe to assume that when they say
> "You are not forced to use the Lazarus IDE if you want to develop with the LCL. You can use it directly from the Free Pascal Compiler."
> that they mean that the source code can be submitted to FPC at the command line?

Yes. Lazarus calls FPC itself.
If you use some Lazarus packages, you can build them using lazbuild.
Then add the directories containing the ppu files to your fpc.cfg, and
*only* those directories.

 
> 3. As I stated somewhere above, the FP IDE is not accessable at a practical level so, is there some other way that I can satisfy the requirements to do the following?
>
> Start the FP IDE (included with FPC).
>[...]

I leave this open for others.

Mattias
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
In reply to this post by BobJ
Hello.

> My attempts to use the following software has proven to be unsuccessful
> because of the "unfriendly" nature of their video displays:
> IDEU IDE

What do you mean with "unfriendly" nature of their video displays" ?
Did you enable "Voice Assisted" feature of ideU ?

What would you want to make ideU more friendly assisted ?

I am open for any suggestions.

PS: MSEgui has a perfectly working assisted interface.

Fre;D
Many thanks ;-)
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

BobJ
In reply to this post by Mattias Gaertner
Terrific response, many thanks!

I'll see what I can do...

Bob



--------------------------------------------------
From: "Mattias Gaertner" <[hidden email]>
Sent: Wednesday, November 30, 2016 3:45 AM
To: <[hidden email]>
Subject: Re: [fpc-pascal] Using the LCL without Lazarus

> On Tue, 29 Nov 2016 20:42:36 -0500
> "BobJ" <[hidden email]> wrote:
>
>>[...]
>> -------- Begin web-site excerpt --------
>>
>> Using the LCL without Lazarus
>>
>> 1How to use the LCL without the Lazarus IDE?
>> 1.1Requirements
>> 1.2Introduction
>> 1.3The installation process
>> 1.4The settings
>> 1.5The code
>> 1.6Lazarus 1.2.6
>> 2Alternatives
>> How to use the LCL without the Lazarus IDE?
>>
>> Requirements
>> Things you'll need:
>> .  Free Pascal 2.4.4
>> .  Lazarus 0.9.30
>
> That's very old.
> Current is FPC 3.0.0 and Lazarus 1.6.2.
>
>> Tested on Microsoft Windows XP SP3.
>>
>> Introduction
>>
>> You are not forced to use the Lazarus IDE if you want to develop with the
>> LCL. You can use it directly from the Free Pascal Compiler.
>
> True.
>
>
>>[...]
>> 1. I have FPC ver 3.0.0 and Lazarus ver 1.6
>> Should the instructions given in the excerpt be applicable with these
>> versions, as well?
>
> Pretty much. Although this setup adds source paths so every program
> will compile the LCL, creating many copies and may result in a mess.
> Where did you find this?
>
> I recommend to simply install using the Lazarus installer.
> If you don't want to install the IDE you can do alternatively:
> Download and install FPC.
> Then download the Lazarus sources (e.g. to C:\lazarus) and build them:
> Make sure FPC 'bin' is in PATH environment variable, cd C:\lazarus, and
> execute 'make clean all'. This will build the LCL for win32, lazbuild
> and the IDE.
>
> Whatever you chose, next do:
>
> Add to your fpc.cfg:
> -FuC:\lazarus\component\lazutils\lib\i386-win32
> -FuC:\lazarus\lcl\units\i386-win32
> -FuC:\lazarus\lcl\units\i386-win32\win32
>
> Do not add source or include paths - it can create a mess and strange
> errors.
>
> Now you can use the LCL in your programs.
>
>
>> 2. Is it safe to assume that when they say
>> "You are not forced to use the Lazarus IDE if you want to develop with
>> the LCL. You can use it directly from the Free Pascal Compiler."
>> that they mean that the source code can be submitted to FPC at the
>> command line?
>
> Yes. Lazarus calls FPC itself.
> If you use some Lazarus packages, you can build them using lazbuild.
> Then add the directories containing the ppu files to your fpc.cfg, and
> *only* those directories.
>
>
>> 3. As I stated somewhere above, the FP IDE is not accessable at a
>> practical level so, is there some other way that I can satisfy the
>> requirements to do the following?
>>
>> Start the FP IDE (included with FPC).
>>[...]
>
> I leave this open for others.
>
> Mattias
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal 

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

BobJ
In reply to this post by fredvs

Hello,

Sent by: "fredvs" <[hidden email]>
Sent: Wednesday, November 30, 2016 9:12 AM

> PS: MSEgui has a perfectly working assisted interface.

Thanks, I will take a "look" at that, bearing in mind that sighted folks
often over estimate how usable anything will be for non-sighted folks.


> What do you mean with "unfriendly" nature of their video displays" ?

In my experience, I have come to believe that there must be more than one
technique for providing an editable field or editable screen shown on the
video display.  In support of that belief I offer the fact that I can use
the Windows NotePad text-editor to enter thousands of characters, review any
of those characters or alter any of them with no difficulty and both of the
screen-readers at my disposal provide flawless feedback regarding the
identity of every character.  On the other hand, there exists other software
packages which must be providing those editable areas via some technique
other than that used by the NotePad program because neither of my
screen-readers can provide any bit of feedback regarding what might appear
there and neither can either screen-reader enable me to enter any type of
characters therein.  I only know that which I have just explained, knowing
nothing about the how's and why's of it.


> Did you enable "Voice Assisted" feature of ideU ?

Yes, after much trial and error or, probably more accurately, much trial and
failure.  Evidently, IDEU defaults to an environment other than Windows
because the default path to the folder containing the text-to-speech package
contains slash characters instead of back-slashe characters.  Naturally,
that fact requires that the edit field provided to edit or enter the
appropriate path name must be edited.  Neither of my screen-readers could
enable me to delete or edit characters from that field.  Eventually I
navigated to that desired folder, used one screen-reader to copy the path to
the Windows clipboard, then, using the other screen-reader, returned to the
edit field of interest and pasted the correct path name into that field.  To
my amazement, that worked!  So, now it talks, sometimes.  If there any
documentation describing how to use this feature to greatest advantage, I
have yet to discover it.


> What would you want to make ideU more friendly assisted ?

I have no idea how you have accomplished what you have done thus far,
however, I fear that a great deal more work would be required to make this a
truely accessible project.  Besides the difficulty described immediately
above, there is precious little feedback provided for common operations.
For example, after I launch IDEU, if I press the key combination "Alt key +
The letter F," the currently selected menu option is voiced.  If I failed to
understand what was spoken, I have found no means by which I can have the
same announcement restated.  So, I thought, I'll just press the down-arrow
key where I will surely hear an announcement describing the next item on the
option list under the File menu.  Then, I can press the up-arrow key and I
will here the same announcement that I didn't quite understand just moments
before.  Well, the only announcements heard when pressing the down-arrow key
or the up-arrow key was "down" and then "up."  I'm sure that you can
appreciate that it is more important to hear the name of the newly
highlighted menu option than it is to hear which arrow-key has been pressed.
As for the edit screen where one would expect to enter their source code, I
cannot say whether that is accessable or not because I was never able to get
into one, as far as I could determine.
I don't mean to sound like a harsh critic, its just obvious to me that
sighted folks have no true understanding of the obstacles faced by those of
us who are without any usable sight.
Furthermore, as I stated earlier, if there is any documentation for the
proper use of the accessability features of IDEU, perhaps such documentation
would enlighten me as to how to overcome the obstacles I have described
herein.  If such documentation exists, please advise how and where it may be
acquired.

> I am open for any suggestions.

I wish I could offer some helpful suggestions, however, I have no idea how
the authors of the existing screen-reader software packages capture the
display data and pass it on to the text-to-speech engines.  Suffice it to
say that the two screen-readers available to me have been around for years,
have been constantly updated and still they have many problems providing
complete access to all that is out there.  Having said all that, I would
have no difficulty understanding your reluctance to attemp to perfect
accessability for IDEU.

Please believe that I do appreciate your interest and your efforts.

Bob

 

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Martin Schreiber-2
On 12/01/2016 04:58 AM, BobJ wrote:

>
> Hello,
>
> Sent by: "fredvs" <[hidden email]>
> Sent: Wednesday, November 30, 2016 9:12 AM
>
>> PS: MSEgui has a perfectly working assisted interface.
>
> Thanks, I will take a "look" at that, bearing in mind that sighted folks
> often over estimate how usable anything will be for non-sighted folks.
>
That was my concern too when Fred started with the accessibility options
for MSEgui. I suggested to use and extend the "iassistiveclient" and
"iassistiveserver" interfaces of MSEgui in order to connect to standard
screen readers instead to implement own reader functionality.

Maybe continue the discussion on the MSEide+MSEgui mailinglist:
[hidden email]
Registering page:
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Martin
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
In reply to this post by BobJ
Hello BobJ.

>>  Did you enable "Voice Assisted" feature of ideU ?
> Yes, after much trial and error or, probably more accurately, much trial and
failure.

Did you download the release version of ideU here : https://github.com/fredvs/ideU/releases/tag/1.3.0 ?
All is included and the voice synthesizer must work out of the box, without any configuration.
What system do you use (Windows, Linux, FreeBSD, ...). ?

Like Martin proposed, maybe we could continue the discussion about ideU on MSE forum:
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Fre;D



Many thanks ;-)
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
In reply to this post by Martin Schreiber-2
 >That was my concern too when Fred started with the accessibility options
> for MSEgui. I suggested to use and extend the "iassistiveclient" and
> "iassistiveserver" interfaces of MSEgui in order to connect to standard
> screen readers instead to implement own reader functionality.

Hum, not sure that connect MSEgui assistive interface to a "standard screen readers" instead of SAK will solve anything.
(Even it will be worst, take a look at Lazarus + AT-SPI). But ok, let continue that discussion with MSE forum.

Fre;D
Many thanks ;-)
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Graeme Geldenhuys-6
In reply to this post by fredvs
On 2016-12-01 12:02, fredvs wrote:
> Did you download the release version of ideU here :
> https://github.com/fredvs/ideU/releases/tag/1.3.0 ?
> All is included and the voice synthesizer must work out of the box, without
> any configuration.

I think BobJ means... having instructions on how to enable SAK in ideU.
Say a README.txt file telling you exactly what to do, once ideU started
up for the first time.

eg:
  1) Run ideU from the command line.
  2) press Alt+I to open the "Settings" menu.
  3) Press E to open the "Extra Settings" dialog
  4) Press TAB 5 times, then press Spacebar to
     toggle "Enable SAK assistive at loading"
  5) Press Enter to close the dialog.
  6) Press Alt+F to open the "File" menu, then
      "X" to exit ideU.
  7) Now run ideU again, and this time it should have
     SAK enabled from the start.

I tested the above and it works under FreeBSD using ideU release 1.3.0


Fred, BobJ has a valid point about the 'up' or 'down' prompts. Pressing
Alt+F tells me I have the File menu open and New has focus. But then
when I press the up or down arrows it simply says "up" or "down" instead
of the actual menu caption that has focus. There seems to be some
inconsistency though, because if I move along the main menu items, they
are correctly read out. eg: Edit, Settings etc. But then sometimes it
doesn't read out those menu items either. eg: Moving from File to Edit,
in never read out "Edit", but then when moving from Edit to Target, it
read out "Target". Moving back to Edit, then suddenly it read out "Edit".

Something else to point out. In the file selection dialog of ideU, when
you tab to a ComboBox, it doesn't say it is a comobobox, doesn't read
out the current text in the combobox, and eg: it doesn't say you
selected the Filter ComboBox. When tabbing to checkboxes or buttons, it
gives clear verbal information that it is a button or checkbox and reads
the caption of those widgets.

Either way Fred, I think your SAK library is brilliant, and allows
assistive support to custom-drawn toolkits which other assistive
libraries don't make easy. I definitely believe you are not the right
track though.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
Huh, this fast before fpc moderators begin to shout...

> Say a README.txt file telling you exactly what to do, once ideU started up for the first time.

+1 (I will add a ASSISTED_README.txt)

> Fred, BobJ has a valid point about...

BobJ has extremely valid points about assisting and if he agrees to tell it, his wishes will, of course, be added.

> Something else to point out..

Many thanks Graeme, I will deeply analyse all of your remarks.

Fre;D







Many thanks ;-)
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
In reply to this post by Graeme Geldenhuys-6
> I definitely believe you are not the right track though.

Ha, ok. (and what would be the right-better track) ?

Fre;D
Many thanks ;-)
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Graeme Geldenhuys-6
On 2016-12-01 15:19, fredvs wrote:
> Ha, ok. (and what would be the right-better track) ?

I simply meant that ideU needs a few more SAK related tweaks (as I
already mentioned - but it needs further testing) and it should be much
better for visually impaired users.

Also, what I think is great about SAK, is that it works the same on all
platforms and OS versions. As you mentioned before, Windows has changed
assitive technologies between Windows releases. KDE and Gnome have
different assistive technologies. I don't know if KDE and Qt use the
same assistive technologies either. SAK works everywhere the same -
that's a huge bonus for developers and end-users!

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Graeme Geldenhuys-6
In reply to this post by Graeme Geldenhuys-6
On 2016-12-01 12:54, Graeme Geldenhuys wrote:
> I think BobJ means... having instructions on how to enable SAK in ideU.
> Say a README.txt file telling you exactly what to do, once ideU started
> up for the first time.

Alternatively, could you not add a new command line parameter that
toggles SAK from then onwards. So the first time you run ideU with say
'ideu -sak'; then SAK is instantly activated. Any further running of
ideU doesn't require the -sak parameter because it is already activated.

If you do the above, that would make it much easier than the 7 steps I
listed before. I would also document the new parameter in a README file
for assistive users to easily find that information.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Luciano de Souza
In reply to this post by BobJ
I am also blind and this topic really interesses me.
In the given example, heith and width were specified in pixels.
Is there a way to write the same example using automatic adjustments,
in other words, setting to the layout incresing or decreasing in the
proporcion of the label writen?

2016-11-29 23:42 GMT-02:00, BobJ <[hidden email]>:

>
> Most of the viewers of this message are probably already aware that I am
> totally blind and must rely on screen-reading software to put to voice that
> which appears on the computer's video display.  Unfortunately, there is more
> than one technique for "painting" a video display, some of which are very
> "unfriendly" to screen-reading software.  Many web sites and
> application-software programs make use of some of those "unfriendly"
> techniques thereby rendering them unusable by blind users on a practical
> level.
>
> I have recently been very successful in completing a couple of console-based
> programs for my personal use by writing source code using Microsoft's
> NotePad and submitting that code to the FPC command-lie compiler.
>
> Now, I want to try my hand at developing software with a GUI but I have run
> into some obstacles as mentioned in my opening statements, above.
>
> My attempts to use the following software has proven to be unsuccessful
> because of the "unfriendly" nature of their video displays:
>
> Lazarus IDE,,
> IDEU IDE,
> FP IDE.
>
> So, while searching for some alternative methods that might be less
> "unfriendly," I discovered the following:
>
> My questions follow the excerpt)
>
> -------- Begin web-site excerpt --------
>
> Using the LCL without Lazarus
>
> 1How to use the LCL without the Lazarus IDE?
> 1.1Requirements
> 1.2Introduction
> 1.3The installation process
> 1.4The settings
> 1.5The code
> 1.6Lazarus 1.2.6
> 2Alternatives
> How to use the LCL without the Lazarus IDE?
>
> Requirements
> Things you'll need:
> .  Free Pascal 2.4.4
> .  Lazarus 0.9.30
> Tested on Microsoft Windows XP SP3.
>
> Introduction
>
> You are not forced to use the Lazarus IDE if you want to develop with the
> LCL. You can use it directly from the Free Pascal Compiler.
>
> The installation process
>
> First download Free Pascal 2.4.4 and the Lazarus 0.9.30 and install them.
> Our FPC install directory will be this
> C:\FPC\2.4.4\
> The Lazarus install directory will be this
> C:\Lazarus\
> Then copy the lcl folder.
> Copy this folder:
> C:\Lazarus\lcl
> Paste it to this location:
> C:\FPC\2.4.4\units\i386-win32\lcl
> Now you can remove Lazarus from your computer. In the next section we'll
> inform the FPC that the LCL has been installed.
>
> The settings
>
> Start the FP IDE (included with FPC).
> Click on the Options menu and then the Directories menu item.
>
> Select the Units tab (default).
> Add these directories:
> C:\FPC\2.4.4\units\i386-win32\lcl
> C:\FPC\2.4.4\units\i386-win32\lcl\units\i386-win32
> C:\FPC\2.4.4\units\i386-win32\lcl\widgetset
> C:\FPC\2.4.4\units\i386-win32\lcl\interfaces\win32
> Then click on the Include files tab.
> Add this directory:
> C:\FPC\2.4.4\units\i386-win32\lcl\include
> Now, you should be able to use the LCL. However, above should be done for
> all Modes in Options if you plan to switch the mode in the future. It is
> easier to edit fp.cfg directly. In the next section we'll try out creating a
> form with a button on it.
> The code
> This is the base code:
>
> program lcl_base;
> {$mode objfpc} {$H+}
>
> uses
>   Classes, Interfaces, Forms, StdCtrls;
>   //Interfaces is very important
>
> type
>   TForm1 = class(TForm)
>     Button1: TButton;
>   end;
>   //Our Form class
>
> var
>   Form1: TForm1;
>   //Declare the Form1
>
> begin
>   Application.Initialize;
>   Application.CreateForm(TForm1, Form1);
>   Form1.Button1 := TButton.Create(Form1);
>   With Form1.Button1 Do
>   begin
>     Parent := Form1;
>     Visible := TRUE;
>     Left := 10;
>     Top := 10;
>     Width := 100;
>     Height := 100;
>     Caption := 'PRESS ME';
>   end;
>   Application.Run;
>   //We do exactly the same as Lazarus does
> end.
>
> That's it. Now, you are able to use the LCL without the Lazarus IDE.
>
> Lazarus 1.2.6
> In order to compile the above example you will need access to units from
> folder C:\lazarus\components\lazutils. The FP compiler would build the
> application with c like operators on.
>
> Alternatives
> If your aim is to compile Lazarus projects without using the Lazarus IDE,
> you can install Lazarus and use the command line lazbuild tool to compile
> projects.
>
> -------- End web-site excerpt --------
>
> 1. I have FPC ver 3.0.0 and Lazarus ver 1.6
> Should the instructions given in the excerpt be applicable with these
> versions, as well?
>
> 2. Is it safe to assume that when they say
> "You are not forced to use the Lazarus IDE if you want to develop with the
> LCL. You can use it directly from the Free Pascal Compiler."
> that they mean that the source code can be submitted to FPC at the command
> line?
>
> 3. As I stated somewhere above, the FP IDE is not accessable at a practical
> level so, is there some other way that I can satisfy the requirements to do
> the following?
>
> Start the FP IDE (included with FPC).
> Click on the Options menu and then the Directories menu item.
> Select the Units tab (default).
> Add these directories:
> C:\FPC\2.4.4\units\i386-win32\lcl
> C:\FPC\2.4.4\units\i386-win32\lcl\units\i386-win32
> C:\FPC\2.4.4\units\i386-win32\lcl\widgetset
> C:\FPC\2.4.4\units\i386-win32\lcl\interfaces\win32
> Then click on the Include files tab.
> Add this directory:
> C:\FPC\2.4.4\units\i386-win32\lcl\include
> Now, you should be able to use the LCL.
>
>
> If the answers to my questions #1 & #2 are in the affirmative, and if the
> paths described in my question #3 can be added to the Windows search path or
> inserted into a *.ini file or somewhere else, perhaps I can give it a go.
>
> I apologize for such a lengthy message but, I didn't know how else to make
> clear my dilemma.
>
> Thanks,
>
> Bob
>
>


--
Luciano de Souza
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Mattias Gaertner
On Thu, 1 Dec 2016 14:57:42 -0200
luciano de souza <[hidden email]> wrote:

> I am also blind and this topic really interesses me.
> In the given example, heith and width were specified in pixels.
> Is there a way to write the same example using automatic adjustments,
> in other words, setting to the layout incresing or decreasing in the
> proporcion of the label writen?

Yes. For example:

With Form1.Button1 Do
begin
  Left := 10;
  Top := 10;
  AutoSize := true;
  Caption := 'PRESS ME';
  Parent := Form1;
end;

Mattias
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Luciano de Souza
Yes, this is a very good feature. As I can't see, the single way to
not extrapass the space is the automatic layout.
To become perfect, it would be fantastic if there is also automatic
positioning like in Wx or GTK.
In these tool kits, we can add a box or a sizer to the form. When you
add elements, as buttons, to the boxes, they are automatically
positioned on left, if is a horizontal box, or in the top, if it is a
vertical box.
There are something like this in LCL. If yes, the solution will be perfect.
The result don't need to become beautifull since I am blind, but if
elements are positioned over elements, perhaps the screen reader read
incorrectly.
What you have shown is very simple! Thank you!

2016-12-01 15:04 GMT-02:00, Mattias Gaertner <[hidden email]>:

> On Thu, 1 Dec 2016 14:57:42 -0200
> luciano de souza <[hidden email]> wrote:
>
>> I am also blind and this topic really interesses me.
>> In the given example, heith and width were specified in pixels.
>> Is there a way to write the same example using automatic adjustments,
>> in other words, setting to the layout incresing or decreasing in the
>> proporcion of the label writen?
>
> Yes. For example:
>
> With Form1.Button1 Do
> begin
>   Left := 10;
>   Top := 10;
>   AutoSize := true;
>   Caption := 'PRESS ME';
>   Parent := Form1;
> end;
>
> Mattias
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>


--
Luciano de Souza
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Mattias Gaertner
On Thu, 1 Dec 2016 15:15:36 -0200
luciano de souza <[hidden email]> wrote:

> Yes, this is a very good feature. As I can't see, the single way to
> not extrapass the space is the automatic layout.
> To become perfect, it would be fantastic if there is also automatic
> positioning like in Wx or GTK.

Maybe this page helps:
http://wiki.lazarus.freepascal.org/Autosize_/_Layout

Mattias
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

Michael Schnell
In reply to this post by Luciano de Souza
On 01.12.2016 18:15, luciano de souza wrote:

>   it would be fantastic if there is also automatic
> positioning like in Wx or GTK.
... or FireMonkey (to stay in the universe of Delphi influenced
programming)

But this (enhancing the LCL towards FireMonkey compatibility) should be
discussed in the Lazarus list.

-Michael
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

BobJ
In reply to this post by fredvs
Gentlemen,

I will be gllad to follow your lead to the MSE forum for future discussion,
however, it will be a few days.  Tragedy has struck our family and I will be
destracted for at least the next several days.

In the meantime, just for clarification, I am using:

Windows 7, Home edition, 64-bit OS;
Jaws for Windows, (JFW) ver 16;
Non-Visual Desktop Access (NVDA), ver 2016.3

I'll check later for the version and source of my copy of IDEU.

Bob



--------------------------------------------------
From: "fredvs" <[hidden email]>
Sent: Thursday, December 01, 2016 7:02 AM
To: <[hidden email]>
Subject: Re: [fpc-pascal] Using the LCL without Lazarus

> Hello BobJ.
>
>>>  Did you enable "Voice Assisted" feature of ideU ?
>> Yes, after much trial and error or, probably more accurately, much trial
>> and
> failure.
>
> Did you download the release version of ideU here :
> https://github.com/fredvs/ideU/releases/tag/1.3.0 ?
> All is included and the voice synthesizer must work out of the box,
> without
> any configuration.
> What system do you use (Windows, Linux, FreeBSD, ...). ?
>
> Like Martin proposed, maybe we could continue the discussion about ideU on
> MSE forum:
> https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
>
> Fre;D
>
>
>
>
>
>
>
> -----
> Many thanks ;-)
> --
> View this message in context:
> http://free-pascal-general.1045716.n5.nabble.com/Using-the-LCL-without-Lazarus-tp5726979p5727000.html
> Sent from the Free Pascal - General mailing list archive at Nabble.com.
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal 

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Using the LCL without Lazarus

fredvs
Hello Bobj.

We are all with you in that difficult moment.

When you will come back, there will be a new binary release of ideU, with fixes that you wanted.

Fre;D
Many thanks ;-)
12