Einzelnen Beitrag anzeigen

Luki206
(Gast)

n/a Beiträge
 
#1

FireMonkey Multilanguage Programm

  Alt 25. Jan 2014, 15:13
Hi,
ich habe mal versucht eine mehrsprachige Software zu schreiben. Alles bis auf den Sprachenwechsel klappt (was ein wunder ).
Ich habe für den nächsten Softwarestart einen Registry erstellt. Hier mein Code: Haupt Formular
Delphi-Quellcode:
implementation
 uses
 Unit2;
{$R *.fmx}

procedure TForm1.Button11Click(Sender: TObject);
begin
Form2.ShowModal;
end;

procedure TForm1.FormCreate(Sender: TObject);
var reg: TRegistry;
begin
   reg := TRegistry.Create;
   try
     reg.RootKey := HKEY_CURRENT_USER;
     reg.OpenKey('Software\Lukas\multilang', true);
     Lang1.Lang := reg.ReadString('lang');
   finally
     reg.Free;
   end;
end;

end.
Neben Formular:
Delphi-Quellcode:
unit Unit2;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
  FMX.Layouts, FMX.ListBox, Registry, WinApi.Windows;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure WriteReg(lang: String);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation
  uses
  Unit1;
{$R *.fmx}

procedure Tform2.WriteReg(lang: string);
var reg: TRegistry;
begin
   reg := TRegistry.Create;
   try
     reg.RootKey := HKEY_CURRENT_USER;
     reg.OpenKey('Software\Lukas\multilang', true);
     reg.WriteString('lang', lang);
   finally

   end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
WriteReg('en');
ShowMessage('The software must restart. It will hapen automatical when you click OK.');
Application.Terminate;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
WriteReg('de');
ShowMessage('Die Software muss neugestartet werden, dies wird passieren nach dem Sie OK geklickt haben.');
Application.Terminate;
end;

end.
Wo ist mein Fehler?
Danke
Luki
  Mit Zitat antworten Zitat