Solved

Loading RadioButtons value to a String Grid.

Posted on 2000-02-15
7
175 Views
Last Modified: 2010-04-04
I have, on one form, a RadioGroup component, where depending on what entries your Registry has, will add a RadioButton for each one entries along with the captions. Here is the code for that:

procedure TSLESelectionForm.FormShow(Sender: TObject);
var
Registry: TRegistry;
Temp1, Temp2, Temp3, Temp4 : String;
begin
 Registry := TRegistry.Create;
 Registry.RootKey:=HKEY_LOCAL_MACHINE;
 Registry.OpenKey('\Software\Tester', False);
 Temp1 := Registry.ReadString('Location1');
 If Temp1 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location1'));
 Temp2 := Registry.ReadString('Location2');
 If Temp2 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location2'));
 Temp3 := Registry.ReadString('Location3');
 If Temp3 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location3'));
 Temp4 := Registry.ReadString('Location4');
 If Temp4 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location4'));
 Registry.CloseKey;
 Registry.Free;
end;

And this seems to work fine.

On another form, Mainform, is a stringgrid, that during SelectedCell, called the above form.

I need to pass which RadioButton on the above form was selected and put that text value in that area of the string grid, that first loaded that form, as the SLESelectionForm closes. I'm not sure how to even start this.
0
Comment
Question by:JPersinger
7 Comments
 
LVL 3

Accepted Solution

by:
Alisher_N earned 50 total points
ID: 2524254
??
check rbSLELocation.ItemIndex - it is index of selected button, and
rbSLELocation.Items[ rbSLELocation.ItemIndex ] is string you need...
just assign it to your cell in strnggrid..
0
 
LVL 17

Expert Comment

by:inthe
ID: 2524318
Hi
this is probably the long way but
i added 2 more strings in registry ,called them row and col
then done like:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids,Registry;

type
  TmainForm = class(TForm)
    StringGrid1: TStringGrid;
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  mainForm: TmainForm;


implementation

uses Unit2;

{$R *.DFM}

procedure TmainForm.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var
r : tregistry;
  begin
 R := TRegistry.Create;
 R.RootKey:=HKEY_LOCAL_MACHINE;
 R.OpenKey('\Software\Tester', False);
 R.WriteInteger('Row',Arow);
 R.WriteInteger('Col',Acol);
SLESelectionForm.ShowModal;
end;

end.



unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,registry,
  StdCtrls, ExtCtrls;

type
  TSLESelectionForm = class(TForm)
    rbSLELocation: TRadioGroup;
    procedure FormCreate(Sender: TObject);
    procedure rbSLELocationClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SLESelectionForm: TSLESelectionForm;
   a,b : integer;
implementation

uses Unit1;

{$R *.DFM}

procedure TSLESelectionForm.FormCreate(Sender: TObject);
var
Registry: TRegistry;
Temp1, Temp2, Temp3, Temp4 : String;
begin
 Registry := TRegistry.Create;
 Registry.RootKey:=HKEY_LOCAL_MACHINE;
 Registry.OpenKey('\Software\Tester', False);
 Temp1 := Registry.ReadString('Location1');
 If Temp1 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location1'));
 Temp2 := Registry.ReadString('Location2');
 If Temp2 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location2'));
 Temp3 := Registry.ReadString('Location3');
 If Temp3 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location3'));
 Temp4 := Registry.ReadString('Location4');
 If Temp4 > '' then rbSLELocation.Items.Add(Registry.ReadString('Location4'));
 Registry.CloseKey;
 Registry.Free;
end;

procedure TSLESelectionForm.rbSLELocationClick(Sender: TObject);
var
r : tregistry;
i : integer;
  begin
 R := TRegistry.Create;
 R.RootKey:=HKEY_LOCAL_MACHINE;
 R.OpenKey('\Software\Tester', False);
 a := r.ReadInteger('Row');
 b := r.ReadInteger('Col');
 i := rbSLELocation.ItemIndex;
 mainform.StringGrid1.Cells[b,a] := rbSLELocation.Items.Strings[i];
 SLESelectionForm.Close;
end;

end.
0
 
LVL 3

Expert Comment

by:Alisher_N
ID: 2524357
why add extra junk to registry ???
the same can be done via couple of extra VARs inside a programm...
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 17

Expert Comment

by:inthe
ID: 2524394
i know i was just there ..
   (in the registry i mean ;-)
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 2524637
I think Alisher has it...
0
 

Author Comment

by:JPersinger
ID: 2524678
I agree with rwilson. Alisher N thanks.
0
 
LVL 3

Expert Comment

by:Alisher_N
ID: 2526237
welcome everybody ;-))
(just want that T-shirt, you know ;-))
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

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…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

776 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