Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#14

Re: BassPlayerEx für mehrere Soundkarten...

  Alt 6. Jan 2008, 08:26
ich hab noch nen Macken gefunden, allerdings in dem BassPlayerEx. Wenn man das Virtualisierungsfenster öffnet, hat das nur eine einzige Sprache, und das ist Englisch... Ich hab da mal was vorbereitet:

Delphi-Quellcode:
// Unit VisPluginControl

type
  TVisControlForm = class(TForm)
  private
    _Sprachen: array[0..1, 1..8] of String; //Sprachen, (btnConfigure, Label3, btnStart,
                                            // Label2, btnStop, btnClose, Label1, Form.Caption)
  public
    procedure SetSprache(SprachCode: String);
    function GetAvailibleSprachen: TStringList;
  end;

implementation

constructor TVisControlForm.create(AOwner: TComponent; BassDll:TBassDll);
begin
...
//Sprachen, (btnConfigure, Label3, btnStart,
// Label2, btnStop, btnClose, Label1)

// EN (0)
_Sprachen[0][1] := 'Configure';
_Sprachen[0][2] := 'Description of library';
_Sprachen[0][3] := 'Start';
_Sprachen[0][4] := 'Available modules';
_Sprachen[0][5] := 'Stop';
_Sprachen[0][6] := 'Close';
_Sprachen[0][7] := 'Detected Plug-ins';
_Sprachen[0][8] := 'Visualization plug-in control';
// DE (1)
_Sprachen[1][1] := 'Konfigurieren';
_Sprachen[1][2] := 'Beschreibung';
_Sprachen[1][3] := 'Start';
_Sprachen[1][4] := 'Vorhandene Module';
_Sprachen[1][5] := 'Stop';
_Sprachen[1][6] := 'Schließen';
_Sprachen[1][7] := 'Gefundene Plug-ins';
_Sprachen[1][8] := 'Virtualisierungsplug-in auswählen';
end;

procedure TVisControlForm.SetSprache(SprachCode: String);
begin
//Sprachen, (btnConfigure, Label3, btnStart,
// Label2, btnStop, btnClose, Label1)

if Uppercase(SprachCode) = 'DEthen
begin
  btnConfigure.Caption := _Sprachen[1][1];
  Label3.Caption := _Sprachen[1][2];
  btnStart.Caption := _Sprachen[1][3];
  Label2.Caption := _Sprachen[1][4];
  btnStop.Caption := _Sprachen[1][5];
  btnClose.Caption := _Sprachen[1][6];
  Label1.Caption := _Sprachen[1][7];
  Self.Caption := _Sprachen[1][8];
end else if UpperCase(SprachCode) = 'ENthen
begin
  btnConfigure.Caption := _Sprachen[0][1];
  Label3.Caption := _Sprachen[0][2];
  btnStart.Caption := _Sprachen[0][3];
  Label2.Caption := _Sprachen[0][4];
  btnStop.Caption := _Sprachen[0][5];
  btnClose.Caption := _Sprachen[0][6];
  Label1.Caption := _Sprachen[0][7];
  Self.Caption := _Sprachen[0][8];
end;
end;

function TVisControlForm.GetAvailibleSprachen: TStringList;
var Liste: TStringList;
begin
Liste := TStringList.Create;
Liste.Add('EN');
Liste.Add('DE');
Result := Liste;
Liste.Free;
end;

end.
Um das nutzen zu können braucht man noch:
Delphi-Quellcode:
// Unit BassPlayerExU
type
  TBassPlayerEx = class(TComponent)
  public
    { Public declarations }
    procedure SetVisControlFormSprache(SprachCode: string);
    function GetVisControlFormSprachen: TStringList;
  end;

procedure TBassPlayerEx.SetVisControlFormSprache(SprachCode: string);
begin
  _VisControlForm.SetSprache(SprachCode);
end;

function TBassPlayerEx.GetVisControlFormSprachen: TStringList;
begin
  Result := _VisControlForm.GetAvailibleSprachen;
end;

end.
rollstuhlfahrer

PS: Das ganze könnte man auch noch mit TLanguages ( anhang ) und oder automatischer Erkennung der Systemsprache erweitern
Angehängte Dateien
Dateityp: pas tlanguages_142.pas (4,4 KB, 22x aufgerufen)
Bernhard
  Mit Zitat antworten Zitat