Autor |
Beitrag |
nimra
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 28.03.03 15:45
Hallo zusammen,
hat irgendjemand ein Vorstellung, wie man die im MessageDlg verwendete Sprache zur Laufzeit verändern kann?
Armin
Moderiert von Tino: Absätze entfernt.
|
|
Tomac
      
Beiträge: 113
Win XP
D6 Ent
|
Verfasst: Fr 28.03.03 15:54
Was genau meinst du mit der Sprache? Wenn du den Text meinst, dann könntest du das ja so machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var s1,s2:string; begin s1:='Das ist eine Nachricht'; s2:='This is a message';
messagedlg(s1,mtinformation,[mbok],0); messagedlg(s2,mtinformation,[mbok],0); |
|
|
nimra 
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 28.03.03 15:57
Ich meine nicht den Text, sondern die Caption und die Buttons (zB: Ja/Nein - Yes/No)
|
|
Tomac
      
Beiträge: 113
Win XP
D6 Ent
|
Verfasst: Fr 28.03.03 18:02
Das Problem hatte ich auch schon mal, konnte es aber nicht lösen. Ich glaube es liegt an der Delphi-Version (Sprache).
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 28.03.03 18:21
wenn du die Buttons auf deutsch haben willst, dann kannst du es mit
Delphi-Quelltext 1:
| with application do Messagebox('Das ist die Nachricht...','...und das die Caption',MB_OK); |
probieren. Geht aber nur mit Windows (glaub ich). Vorrausetzung ist ausserdem, dass die Windows-Version deutsch ist.
Anstelle von MB_OK geht auch MB_YESNO, MB_YESNOCANCEL, MB_OKCANCEL usw.
_________________ We are, we were and will not be.
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Fr 28.03.03 19:12
Das übersetzt aber nicht die Sprache der Buttons. Aber ich denke das geht auch nicht, da die Sprache in der Datei consts.pas festgelegt wird und die Namen dann mit hineinkompiliert werden. Einzige Möglichkeit: Eigenen Dialog erstellen!
Gruß wulfskin!
_________________ Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 28.03.03 19:16
Doch, das funktioniert! Ich habe es selbst schon so gemacht. Allerdings direkt mit Application.MessageBox, aber das ist ja nur Geschmackssache.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 28.03.03 19:20
Die Messagebox von TApplication nimmt seine Caption für die Buttons von Windows und somit die Sprache von Windows. Der MessageDLG ist eine Borland Kreation und nimmt die Captions der Buttons aus der Const.pas und die ist von Delphi abhängig und dessen Sparchversion abhängig.
|
|
Renegade
      
Beiträge: 358
Win XP Pro, Win 7 Beta
BDS 2006
|
Verfasst: Sa 29.03.03 13:07
Da hat Luckie recht!
Man muß sich also überlegen, was man erreichen will.
Zum einen kann man das Prog zu erstellen, daß es sich an die Vorgaben (in diesem Fall Sprache) von Windows richtet - benutze MessageBox.
Will man aber ein Prog haben, welches die Einstellungen von Win ignoriert muß man entweder den MessageDLG benutzen (Sprache ist von vornherein festgelegt - siehe Delphi-Version) oder aber man muß eigene Dialoge proggen.
Es gibt außerdem noch dir Möglichkeit auf die Windows-Dialoge direkt zuzugreifen - es ist nur nicht zu empfehlen - zu kompliziert und Fehleranfällig.
Gruß Renegade
_________________ Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 29.03.03 14:46
Renegade hat folgendes geschrieben: | Es gibt außerdem noch dir Möglichkeit auf die Windows-Dialoge direkt zuzugreifen
|
Ob ich nun
Delphi-Quelltext 1:
| Application.Messagebox(Terxt, Caption, Flags); |
schreibe oder
Delphi-Quelltext 1:
| Messagebox(Handle, Text, Caption, Flags); |
Macht keinen Unterschied. Apllication.Messagebox ist nur die Kapselung, vom Messagebox-Aufruf.
Zitat: | - es ist nur nicht zu empfehlen - zu kompliziert und Fehleranfällig.
|
Ein kleiner Scherz zum Mittag oder wie?
|
|