![]() |
Mein Progi soll japanisch sprechen!
Hallo miteinander,
ich habe da ein nettes Programm, das bereits alle europäischen Sprachen beherrscht. D.h. unabhängig von der Windowseinstellung kann eine Sprache ausgewählt werden und das Programm setzt alle Ausgabetexte in die Sprache um. Dies geschieht über normale Textdateien, in denen die Übersetzungen hinterlegt sind. So - und jetzt sollen die asiatischen Sprachen noch dazu kommen. Hat jemand ne Ahnung, wie man sowas anstellt? Die bislang benutzten Textdateien sind in 8-Bit ASCII, muss ich da evtl. auf 16Bit Unicode gehen und dann alle meine Labels, Strings, Buttons usw. auf Unicode erweitern? Wäre schön, wenn mir jemand da mal einen kleinen Einstieg geben kann Gruß Frank |
Re: Mein Progi soll japanisch sprechen!
|
Re: Mein Progi soll japanisch sprechen!
Zitat:
![]() |
Re: Mein Progi soll japanisch sprechen!
Zitat:
|
Re: Mein Progi soll japanisch sprechen!
Zitat:
Ist TntWare nicht genau diese "Frickellösung". Ich muss immer diesen Charset umschalten, wenn ich von Hand Captions eintrage. Irgendwie sieht das alles chaotisch aus!!! Gruß Frank |
Re: Mein Progi soll japanisch sprechen!
|
Re: Mein Progi soll japanisch sprechen!
Zitat:
Zitat:
Das Problem ist eher die Delphi-IDE (welche Delphi-Version hast Du denn?) welche kein Unicode kann. |
Re: Mein Progi soll japanisch sprechen!
Zitat:
Also jetzt mal konkret: Ich habe mir erst einmal ein kleines Testprogi erstellt, welches nix anderes tut, wie eine Unicode - TextDatei zeilenweise einzulesen. Die Texte in der Datei zeigt Notepad auch richtig als japanisch an. Also gehe ich davon aus, dass es Unicode ist. Die Texte werden in ein Array of WideString abgelegt und so ein einzelner WStr weise ich dann einem TntLabel.Caption zu. Das Ganze sieht dann so aus:
Delphi-Quellcode:
Bitte nicht an dem AnsiPos und Copy stören! es ist mir klar, das es nicht tut. Es wird ja auch nicht ausgeführt.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, TntForms, TntStdCtrls, TntButtons, TntSystem; type TForm1 = class(TTntForm) Lbl_01: TTntLabel; Btn_01: TTntBitBtn; Edt_01: TTntEdit; TntButton1: TTntButton; procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); procedure TntButton1Click(Sender: TObject); private { Private-Deklarationen } txtErrTexts : Array of WideString; public { Public-Deklarationen } MaxErrTexts : Integer; procedure ReadUnicode(); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ReadUniCode(); end; //======================================================================== procedure TForm1.FormActivate(Sender: TObject); var myWStr : WideString; begin myWStr := txtErrTexts[ 70]; Lbl_01.Caption := myWStr; end; //======================================================================== procedure TForm1.ReadUnicode(); var tf : TextFile; strLine : WideString; fname : String; idx : Integer; TntWideString begin //Fehlertexte fname := 'Txt_Errors.ger'; if ( FileExists( fname)) then begin SetLength( txtErrTexts, 0); MaxErrTexts := 0; AssignFile( tf, fname); Reset( tf); while not Eof( tf) do begin Readln( tf, strLine); idx := AnsiPos( ';', strLine); if idx <> 1 then begin //Kommentarzeilen beginnen mit ; if idx > 0 then strLine := Copy( strLine, 1, idx - 1); // Alles nach ; entfernen //strLine := AnsiDequotedStr( strLine, '"'); SetLength( txtErrTexts, MaxErrTexts + 1); txtErrTexts[ MaxErrTexts] := WideString( strLine); Inc( MaxErrTexts); end; end; CloseFile( tf); end; end; //======================================================================== procedure TForm1.TntButton1Click(Sender: TObject); begin Lbl_01.Caption := Edt_01.Text; end; end. Wenn ich das Ganze debugge, dann sieht das Textfeld txtErrTexts in ReadUnicode echt gut aus. Kommt der Debugger aber in FormActivate steht im Textfeld was anderes und das TntLabel zeigt nix an. Manchmal komm ich mir vor wie ein Anfänger!!! |
Re: Mein Progi soll japanisch sprechen!
Hallo,
kann es sein, dass ReadLn nur mit AnsiStrings zurechtkommt? Versuch doch mal eine TntStringList. Ist wahrscheinlich sowieso die bessere Alternative. Gruß xaromz |
Re: Mein Progi soll japanisch sprechen!
Zitat:
Gibt es ausser der Homepage von Troy irgend eine Hilfedatei oder Beschreibung zu den Tnt Controls? Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz