Solved

Help needed with procedure

Posted on 2010-08-12
3
205 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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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

Suggested Solutions

Title # Comments Views Activity
creating threads in delphi 1 136
Installshield for Embarcadero EX 10.1 Berlin 4 60
scroll down TListBox component in Delphi 1 19
Microsoft Access 97 and Delphi XE2 9 56
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
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…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

830 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