Solved

Preferances

Posted on 2004-04-27
7
439 Views
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.
0
Comment
Question by:James_Napier
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 12

Expert Comment

by:Ivanov_G
ID: 10928628

   uses
      ..., IniFiles;

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


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

   use LoadFromFile in OnCreate and SaveFromFile in OnClose of the form

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

Author Comment

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

Expert Comment

by:Melih SARICA
ID: 10928680
Make  Gloabal Variable

like
  Selected_font : String;
  Selected Color : string ;


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


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




 
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 19

Accepted Solution

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

or

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

Author Comment

by:James_Napier
ID: 10928743
Thanks thats a great help.
0
 
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..

0
 
LVL 12

Expert Comment

by:Ivanov_G
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 :)))
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

688 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