Autor Beitrag
matzehl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Do 23.12.04 14:01 
Hallo Leute! :D

Ich hab mal wieder ein kleines Problemchen. Ich will mein Programm zweisprachig machen. Ich weiß, dass Problem wurde hier schon oft besprochen, aber eine richtige Antwort auf meine Fragen konnte ich nich finden. Erstens: Ich will den Quellcode zum auslesen der INI Datei (die die Captions der einzelnen Elemente in den verschiedenen Sprachen enthält) in eine neue Unit auslagern. Wie kann diese Unit dann auf die Komponenten zugreifen, die in der anderen Unit deklariert sind? z.B. wie kann ich in Unit2 die Caption von Label1 aendern, wenn dieses Label in Unit1 deklariert ist? Mit uses hab ich's nich hin gekriegt. Was mach ich falsch? Und zweitens : Wie kann ich Meldungen und Abfragen (Savedialog,Exceptions,usw) mehrsprachig machen?

Ich freu mich auf eure antworten! :P


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Mo 27.12.2004 um 14:30
st-matze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

Win 3.11, Win 95, Win 98, Win XP
D7 Ent, D6 Pers, (D5 Pers)
BeitragVerfasst: Do 23.12.04 14:50 
zugriff auf die objekte in einer anderen unit

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
unit unit1;

interface

type
  Tform1 = class(TForm)
    label1 : TLabel;
  end;

var
  Form1: TForm1;   //<< Object muss im interface abschnitt definiert sein
//sonst ist zugriff aus anderen units heraus nicht möglich

implementation
...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
unit unit2;

interface

uses unit1;

procedure changelabel1;

implementation

procedure changelabel1;
begin
  Form1.Label1.Caption:='anderer LabelText';
end;
matzehl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Do 23.12.04 14:56 
Jetzt bräucht ich nur noch ne Idee, wie ich Meldungsfenster, Save-, OpenDialog und sonstige Dialogboxen mehrsprachig machen kann. Aber erstmal vielen Dank für die schnelle Hilfe bei meinem Unit Problem. :lol: Ich glaub für das andere erstell ich mal ein neues Thema.
st-matze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

Win 3.11, Win 95, Win 98, Win XP
D7 Ent, D6 Pers, (D5 Pers)
BeitragVerfasst: Do 23.12.04 15:09 
z.B.:
zumtitel ändern eines opendialogs
ausblenden Delphi-Quelltext
1:
2:
3:
var od:TOpenDialog
...
  od.Title


der rest hängt auch stark von den einstellungen der sprache im betriebssystem ab.
matzehl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Do 23.12.04 15:19 
Gibt es überhaubt eine Möglichkeit, über Delphi die in den durch Exceptions ausgelösten Fehlermeldungen genutzte Sprache zu beeinflussen,oder richten die sich nach dem Betriebssystem?
st-matze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

Win 3.11, Win 95, Win 98, Win XP
D7 Ent, D6 Pers, (D5 Pers)
BeitragVerfasst: Do 23.12.04 15:46 
direkt die sprache einzustellen wüsste ich nicht wie.

man könnte aber solche konstrukte bauen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure customizeException(e:Exception);
begin
  if e.ClassNameIs('EConvertError') then raise Exception.Create('umwandlungsfehler ist aufgetreten.') else
//  if e.ClassNameIs('...') << hier weitere fehlertypen eingeben und dann die entsprechende nachricht
  raise Exception.Create(e.Message); // falls keine der typen zutraff - standardmessage ausgeben
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    strtoint('egal');
  except
    on e:exception do
      customizeException(e);
  end;
end;
matzehl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 03.01.05 15:15 
Danke st-matze! War alles sehr hilfreich. Ich wünsch noch ein gesundes neues Jahr! MfG :P