Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MsgDlg Knöpfe auch übersetzen (https://www.delphipraxis.net/23206-msgdlg-knoepfe-auch-uebersetzen.html)

Nicodius 30. Mai 2004 22:23

Re: MsgDlg Knöpfe auch übersetzen
 
ja aber es soll ja international sein :mrgreen:

Luckie 30. Mai 2004 23:07

Re: MsgDlg Knöpfe auch übersetzen
 
Nimm eine Mesaagebox, diese hat immer die Sprache des installierten Systems.

Nicodius 30. Mai 2004 23:07

Re: MsgDlg Knöpfe auch übersetzen
 
aj das versteh ich ;) allerdings will ich ja das der benutzer PROGRAMMINTERN die sprache wählen kann :)

alcaeus 31. Mai 2004 03:24

Re: MsgDlg Knöpfe auch übersetzen
 
Na dann definiere dir deine eigene Funktion MessageDlg, die einfach die entsprechenden Sprachstrings ladet, das Symbol auswählt, die Buttonliste durchparst und danach die fertige Box mit dem bereits erwähnten Befehl "MessageBox" anzeigt. Das sollte doch nicht das Problem sein, oder?Wenn du in deinem Programm eine Funktion definierst, die bereits definiert ist, so wird die alte Funktion überschrieben, das gilt eben auch für MessageDlg.

Robert Marquardt 31. Mai 2004 05:15

Re: MsgDlg Knöpfe auch übersetzen
 
Das einfachste ist es die Windows-Dialoge zu verwenden. Siehe MessageBox etc.
Diese Dialoge sind zur installierten Windows-Version lokalisiert.
Die Delphi-Dialoge sind nicht sonderlcih gut ausgedacht.

alcaeus 31. Mai 2004 05:20

Re: MsgDlg Knöpfe auch übersetzen
 
Zitat:

Zitat von Nicodius
allerdings will ich ja das der benutzer PROGRAMMINTERN die sprache wählen kann

Ich glaube er will die Sprache unabhängig vom Betriebssystem festlegen. Deshalb ist das Überladen oder Überschreiben von Funktionen die beste Lösung. Beim Überschreiben hast du den Vorteil, dass du die bisherigen MessageDlg-Aufrufe nicht ändern musst. Es steckt aber viel Aufwand dahinter.

Greetz
alcaeus

Nicodius 31. Mai 2004 06:09

Re: MsgDlg Knöpfe auch übersetzen
 
haha das mit dem überladen hb ich eh schon gepostet das ichs jetzt mach ;)

Bernhard Geyer 31. Mai 2004 12:00

Re: MsgDlg Knöpfe auch übersetzen
 
Falls Du ein paar € ausgeben kannst, so schau mal das ElPack an.

Dort gibt es eine ElPrompt-Dialog-Klasse, in der die Button-Text übersetzbar sind.

Dafür könntest Du ein MessageDlg-Funktion schreiben, welche die Button-Caption vor dem Aufruf des Dialogs übersetzt.
Für die Einbau hast Du 2 Möglichkeiten:

1, Du ersetzt überall im Programm die ShowMeessage/MesssageDlg-Aufruf auf diene MyShowMessage-Funktion

2, Du verwendest die TNT-Realisierung, um Delphi-RTL-Funktionen zu hooken (Wie es die InstallTntSystemUpdates-Funktion ein paar Buggy-Delphi-Funktionen realsiiert), um statt der Orginal-Funktion deine erstellt mehrsprachige Version aufzurufen.

FriFra 31. Mai 2004 12:28

Re: MsgDlg Knöpfe auch übersetzen
 
Wie wär's denn damit ;)
http://www.swissdelphicenter.ch/de/showcode.php?id=946

P.S.: Ich versteh erhrlich gesagt nicht ganz, warum bei so vielen "Anworten" noch keiner gemerkt hat worum es eigentlich geht...

Bernhard Geyer 31. Mai 2004 12:39

Re: MsgDlg Knöpfe auch übersetzen
 
Zitat:

Zitat von FriFra
Wie wär's denn damit ;)
http://www.swissdelphicenter.ch/de/showcode.php?id=946

P.S.: Ich versteh erhrlich gesagt nicht ganz, warum bei so vielen "Anworten" noch keiner gemerkt hat worum es eigentlich geht...

Auch 'ne Möglichkeit. Kannt ich noch nicht. Aber meine Lösung (mit ElPack) kann auch Unicode 8) (auch wenn's für DE/EN/FR nicht benötigt wird)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz