Solved

Help needed with procedure

Posted on 2010-08-12
3
196 Views
Last Modified: 2012-05-10
Hello,

I have a main form called MainForm and a dialogform called frmSettings
that can be accessed by menu-item Settings. On the settings-form I have
3 checkboxes called chkRemoveBtn, chkSmallBtn and chkFlat.
All the states of these checkboxes are being loaded and saved to ini-file.
I have put the 3 procedure that belong to these checkboxes to the code-
section. For checkbox chkRemoveBtn and chkSmallBtn I have code in the
OnCreate-event of the mainform that looks in the ini-file if these checkboxes
are check or not. Now I am working on checkbox chkFlat, that looks like this:

  If FIniFile.ReadBool ('ENV', 'Flat', False) then
  OutlookBar.BorderStyle := cBorderStyle[chkFlat.Checked];

I get undeclared identifier: chkFlat. That because its on the form frmSettings
What can I do about this.

Who knows the solution.

Greetings,

Peter Kiers
procedure TfrmSettings.chkRemoveBtnClick(Sender: TObject);

begin

  if chkRemoveBtn.Checked then

  begin

    MainForm.OutlookBar.LargeImages := nil;

    MainForm.OutlookBar.SmallImages := nil;

  end

  else

  begin

    MainForm.OutlookBar.LargeImages := MainForm.mglstLarge;

    MainForm.OutlookBar.SmallImages := MainForm.mglstSmall;

  end;

end;

(*---------------------------------------------------*)

procedure TMainForm.acSmallButtonsExecute(Sender: TObject);

const

  cButtonSize: array[boolean] of TJvBarButtonSize = (olbsLarge,olbsSmall);

begin

  acSmallButtons.Checked := not acSmallButtons.Checked;

  OutlookBar.ButtonSize := cButtonSize[acSmallButtons.Checked];

end;

(*---------------------------------------------------*)

procedure TfrmSettings.chkFlatClick(Sender: TObject);

const

  cBorderStyle:array [boolean] of TBorderStyle = (bsSingle, bsNone);

begin

  MainForm.OutlookBar.BorderStyle := cBorderStyle[chkFlat.Checked];

end;

(*---------------------------------------------------*)

procedure TMainForm.FormCreate(Sender: TObject);

const

  cButtonSize: array[boolean] of TJvBarButtonSize = (olbsLarge,olbsSmall);

  cBorderStyle:array [boolean] of TBorderStyle = (bsSingle, bsNone);

var

   DataPath: string;

   conn_str:string;

   FIniFile: TIniFile;

begin

  PgCtrlMain.ActivePage := tbshGlucose;

  PgCtrlAg.ActivePage := tbshDayView;

  FIniFile:= TIniFile.Create( ChangeFileExt(Application.ExeName, '.ini') );

  if FIniFile.ReadBool ('ENV', 'RemoveButtons', False) then

  begin

    OutlookBar.LargeImages := nil;

    OutlookBar.SmallImages := nil;

  end

  else

  begin

    OutlookBar.LargeImages := mglstLarge;

    OutlookBar.SmallImages := mglstSmall;

  end;

  If FIniFile.ReadBool ('ENV', 'SmallButtons', False) then

  OutlookBar.ButtonSize := cButtonSize[acSmallButtons.Checked];



  If FIniFile.ReadBool ('ENV', 'Flat', False) then

  OutlookBar.BorderStyle := cBorderStyle[chkFlat.Checked];



  FIniFile.Free;

......

Open in new window

0
Comment
Question by:peterkiers
  • 2
3 Comments
 
LVL 13

Accepted Solution

by:
aflarin earned 500 total points
ID: 33426944
procedure TMainForm.FormCreate(Sender: TObject);
var
     ...
     bSmallButtons, bFlat: Boolean; // add these vars
...
   bSmaIlButtons:= FIniFile.ReadBool ('ENV', 'SmallButtons', False);
   OutlookBar.ButtonSize := cButtonSize[bSmallButtons];

    bFlat:= FIniFile.ReadBool ('ENV', 'Flat', False);
    OutlookBar.BorderStyle := cBorderStyle[bFlat];
......
0
 
LVL 1

Author Comment

by:peterkiers
ID: 33426974
Thank you for this solution:

  FIniFile:= TIniFile.Create( ChangeFileExt(Application.ExeName, '.ini') );
  if FIniFile.ReadBool ('ENV', 'RemoveButtons', False) then
  begin
    OutlookBar.LargeImages := nil;
    OutlookBar.SmallImages := nil;
  end
  else
  begin
    OutlookBar.LargeImages := mglstLarge;
    OutlookBar.SmallImages := mglstSmall;
  end;
  bSmallButtons:= FIniFile.ReadBool ('ENV', 'SmallButtons', False);
  OutlookBar.ButtonSize := cButtonSize[bSmallButtons];
  bFlat:= FIniFile.ReadBool ('ENV', 'Flat', False);
  OutlookBar.BorderStyle := cBorderStyle[bFlat];
  FIniFile.Free;

it works great.

Greetings,

Peter Kiers
0
 
LVL 13

Expert Comment

by:aflarin
ID: 33427016
You're welcome, Peter
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
IExtractImage Delphi 14 167
PDF library for Delphi 2 89
find a node in VST 2 47
How to renew a Delphi rad-studio licence? 5 37
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

747 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

11 Experts available now in Live!

Get 1:1 Help Now