Posted on 2004-04-27
Last Modified: 2010-04-05
I must provide a means for the User to choose their preferred font, and their preferred font colour. This preferance should be saved to disk in a file called ExtrasPreferances.ini in the root directory of my drive u: drive. When the application loads it should read the users saved preferances and apply them to all of the forms the application subsequently opens. Also since this functionality is likely to be extended in the future you should encapusulate all of this functionality in a class of your own devising which is accesses only from the main form.
Question by:James_Napier
  • 3
  • 2
  • 2
LVL 12

Expert Comment

ID: 10928628

      ..., IniFiles;

   ClassClientOptions = class
     Form1Color : TColor;
     procedure LoadFromFile(FileName : String);
     procedure SaveToFile (FileName : String);

   // example pof procedure LoadFromFile
   procedure ClassClientOptions.LoadFromFile(FileName : String);
      IniFile : TIniFile;
      IniFile := TIniFile.Create(FileName);
      with IniFile do
            Form1Color := IniFile.ReadInteger('Settings', 'FormColor', clBlue);
            // etc ... your code below

   use LoadFromFile in OnCreate and SaveFromFile in OnClose of the form

   define variabe with class ClassClientOptions only once and use it as global variable.

Author Comment

ID: 10928673
If i want to save each specific user how would i go about this.
LVL 19

Expert Comment

by:Melih SARICA
ID: 10928680
Make  Gloabal Variable

  Selected_font : String;
  Selected Color : string ;

On form Creation
   with tinifile.create('u:\') do
     Selected_font := readString('Prefered','fontname','');
     Selected Color:= readString('Prefered','fontColor','');

And u ll use all these to variables in all ur Forms...

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

LVL 19

Accepted Solution

Melih SARICA earned 500 total points
ID: 10928694
save them in their local hdd..


create a ini file part for each username
and create values for all preferences u want

Author Comment

ID: 10928743
Thanks thats a great help.
LVL 19

Expert Comment

by:Melih SARICA
ID: 10928749
I think ... i musnt get the all point from this question ..
Ivanov's answer is worth to share .. I ll be pleased to share it with Ivanov..

cuz he points another opinion about this kinda  works..

Creating a  class.. and using it.. saving and loading preferences as a standart part of ur application..

LVL 12

Expert Comment

ID: 10928802

   non_zero, you are friend ... :)))

   it is author decision who and how much points to give. don't bother with this. it is ok :)))

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now