AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Messagedlg formatieren bzw. Buttons auf deutsch
Thema durchsuchen
Ansicht
Themen-Optionen

Messagedlg formatieren bzw. Buttons auf deutsch

Ein Thema von spoona · begonnen am 9. Mär 2005 · letzter Beitrag vom 10. Mär 2005
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:10
Zitat von Alex_ITA01:
sorry uschi muss dir wiedersprechen...
Unsere Firma schon!!!
Wir liefern Software auch ins Ausland und was wollen die Franzosen, Belgier, Amerikaner... mit deutschen Texten?
FULL ACK!
Wir haben auch ein englisches Delphi, aber trotzdem deutsche Texte. Ich muss mal nachsehn warum, wir arbeiten nämlich viel mit eigenen Funktionen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:11
Zitat von uschi:
tolle und sehr sinnvolle antwort, aber mir wars von vornerein klar das sowas 9 mal kluges und 10mal dummes kommt.
Ich finde die Antwort keineswegs dumm sondern sehr logisch -.-
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:11
Ist die eigentliche Frage nicht schon längst beantwortet und ihr müsst euch immer noch streiten?
Julian J. Pracht
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:11
..wir benutzen/kaufen auch grundsätzlich alle Programme auf englisch...

P.S.:

auch im Quelltext sind alle Bezeichner und Kommentare immer auf englisch

..auch, wenn wir unsere Software für verschiedene Sprachen entwickeln


mfg
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#15

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:15
Es ist echt nicht zu glauben. Da fragt einer, wie er seine MessageBoxen auf Deutsch statt auf Englisch hinbekommt, und ihr unterstellt ihm in null komma nix eine Raubkopie.

Zum Thema D8 > D7 ist bei D8 nicht ein D7 mit dabei ???

Und jetzt hört mal auf mit diesem geflame, sonst benutzt noch jemand die Suche (jaja, soll's geben) ... und findet das hier ...
  Mit Zitat antworten Zitat
Benutzerbild von fylo
fylo

Registriert seit: 18. Feb 2004
Ort: Rostock
155 Beiträge
 
Delphi 7 Personal
 
#16

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:20
Hi schaut euch den Code an:
Delphi-Quellcode:

unit myDialogs;

//##############################################################################

interface

uses Dialogs,Classes;

//##############################################################################


function MessageDlgDefault(const aCaption : string;
         const Msg : string;
         DlgType : TMsgDlgType;
         Buttons : TMsgDlgButtons;
         DefButton : integer;
         HelpCtx : longint): integer;

//##############################################################################


implementation

uses Windows, Controls, sysutils, forms, StdCtrls, Graphics,
     IniFiles;


const { Copied from Dialogs }
  ModalResults : array[TMsgDlgBtn] of integer = (mrYes, mrNo, mrOk,
    mrCancel, mrAbort, mrRetry, mrIgnore, mrAll,
    mrNoToAll, mrYesToAll, 0);


var { Filled during unit initialization }
  ButtonCaptions : array[TMsgDlgBtn] of string;
  AskNoMoreCaption: string;


//##############################################################################



{-----------------------------------------------------------------------------
  Procedure: ModalResultToBtn
  Arguments: res : TModalResult
  Result:    TMsgDlgBtn
  Comment:  Convert a modal result to a TMsgDlgBtn code
-----------------------------------------------------------------------------}

function ModalResultToBtn(res : TModalResult): TMsgDlgBtn;
begin
  for Result := Low(Result) to High(Result) do
  begin
    if ModalResults[Result] = res then
      Exit;
  end; { For }
  Result := mbHelp; // to remove warning only
  Assert(False, 'ModalResultToBtn: unknown modalresult ' +
    IntToStr(res));
end; { ModalResultToBtn }



{-----------------------------------------------------------------------------
  Procedure: AdjustButtons
  Arguments: aForm : TForm
  Result:    None
  Comment:  When the button captions on the message form are translated
            the button size and as a consequence the button positions need
            to be adjusted
-----------------------------------------------------------------------------}

procedure AdjustButtons(aForm : TForm);
var buttons : TList;
    btnWidth : integer;
    btnGap : integer;

  procedure CollectButtons;
  var i : integer;
  begin
    for i := 0 to aForm.Controlcount - 1 do
      if aForm.Controls[i] is TButton then
        buttons.Add(aForm.Controls[i]);
  end; { CollectButtons }

  procedure MeasureButtons;
  var i : integer;
      textrect : TRect;
      w : integer;
  begin
    btnWidth := TButton(buttons[0]).Width;
    aForm.Canvas.Font := aForm.Font;
    for i := 0 to buttons.Count - 1 do
    begin
      TextRect := Rect(0, 0, 0, 0);
      Windows.DrawText(aform.canvas.handle,
        PChar(TButton(buttons[i]).Caption), - 1,
        TextRect,
        DT_CALCRECT or DT_LEFT or DT_SINGLELINE);
      with TextRect do w := Right - Left + 16;
      if w > btnWidth then btnWidth := w;
    end; { For }
    if buttons.Count > 1 then
      btnGap := TButton(buttons[1]).Left -
        TButton(buttons[0]).Left -
        TButton(buttons[0]).Width
    else
      btnGap := 0;
  end; { MeasureButtons }

  procedure SizeButtons;
  var i : integer;
  begin
    for i := 0 to buttons.Count - 1 do
      TButton(buttons[i]).Width := btnWidth;
  end; { SizeButtons }

  procedure ArrangeButtons;
  var i : integer;
      total, left : integer;
  begin
    total := (buttons.Count - 1) * btnGap;
    for i := 0 to buttons.Count - 1 do
      Inc(total, TButton(buttons[i]).Width);
    left := (aForm.ClientWidth - total) div 2;
    if left < 0 then
    begin
      aForm.Width := aForm.Width + 2 * Abs(left) + 16;
      left := 8;
    end; { If }
    for i := 0 to buttons.Count - 1 do
    begin
      TButton(buttons[i]).Left := left;
      Inc(left, btnWidth + btnGap);
    end;
  end; { ArrangeButtons }
begin
  buttons := TList.Create;
  try
    CollectButtons;
    if buttons.Count = 0 then
      Exit;
    MeasureButtons;
    SizeButtons;
    ArrangeButtons;
  finally
    buttons.Free;
  end; { finally }
end; { AdjustButtons }



{-----------------------------------------------------------------------------
  Procedure: InitMsgForm
  Arguments: aForm : TForm; const aCaption : string; helpCtx : longint; DefButton : integer
  Result:    None
  Comment: 
-----------------------------------------------------------------------------}

procedure InitMsgForm(aForm : TForm; const aCaption : string;
  helpCtx : longint; DefButton : integer);
var
  i : integer;
  btn : TButton;
begin
  with aForm do
  begin
    if Length(aCaption) > 0 then
      Caption := aCaption;
    HelpContext := HelpCtx;
    for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TButton then
      begin
        btn := TButton(Components[i]);
        btn.Default := btn.ModalResult = DefButton;
        if btn.Default then
          ActiveControl := Btn;
        {$IFNDEF STANDARDCAPTIONS}
        btn.Caption :=
          ButtonCaptions[ModalResultToBtn(btn.Modalresult)];
        {$ENDIF}
      end;
    end; { For }
    {$IFNDEF STANDARDCAPTIONS}
    AdjustButtons(aForm);
    {$ENDIF}
  end;
end; { InitMsgForm }



{-----------------------------------------------------------------------------
  Procedure: InitButtonCaptions
  Arguments: None
  Result:    None
  Comment: 
-----------------------------------------------------------------------------}

procedure InitButtonCaptions;
var sprache:string;
    ini,language_file:TiniFile;
begin
  ini:=tinifile.Create(extractFileDir(application.exeName)+'\'+inifile);
  sprache:=ini.ReadString('Main','Language','Deutsch');
  if fileexists(extractfiledir(application.ExeName)+'\language\'+sprache+'.language')
     then begin
          language_file:=tinifile.Create(extractfiledir(application.ExeName)+'\language\'+sprache+'.language');

          ButtonCaptions[mbYes] := language_file.ReadString('MessageButtons','Yes','&Yes');
          ButtonCaptions[mbNo] := language_file.ReadString('MessageButtons','No','&No');
          ButtonCaptions[mbOK] := language_file.ReadString('MessageButtons','OK','OK');
          ButtonCaptions[mbCancel] := language_file.ReadString('MessageButtons','Cancel','Cancel');
          ButtonCaptions[mbAbort] := language_file.ReadString('MessageButtons','Abort','&Abort');
          ButtonCaptions[mbRetry] := language_file.ReadString('MessageButtons','Retry','&Retry');
          ButtonCaptions[mbIgnore] := language_file.ReadString('MessageButtons','Ignore','&Ignore');
          ButtonCaptions[mbAll] := language_file.ReadString('MessageButtons','All','&All');
          ButtonCaptions[mbNoToAll] := language_file.ReadString('MessageButtons','NoToAll','N&o to All');
          ButtonCaptions[mbYesToAll] := language_file.ReadString('MessageButtons','YesToAll','Yes to &All');
          ButtonCaptions[mbHelp] := language_file.ReadString('MessageButtons','Help','Help');
          end;
end; { InitButtonCaptions }



{-----------------------------------------------------------------------------
  Procedure: MessageDlgDefault
  Arguments: const aCaption : string; const Msg : string; DlgType : TMsgDlgType; Buttons : TMsgDlgButtons; DefButton : integer; HelpCtx : longint
  Result:    integer
  Comment:  Creates a messagedlg with translated button captions and a configurable
            default button and caption.
            @Param aCaption  Caption to use for the dialog. If empty the
                              default is used.
            @Param Msg        message to display
            @Param DlgType    type of dialog, see messagedlg online help
            @Param Buttons    buttons to display, see messagedlg online help
            @Param DefButton  ModalResult of the button that should be the
                              default.
            @Param HelpCtx    help context (optional)
            @Returns the ModalResult of the dialog
-----------------------------------------------------------------------------}

function MessageDlgDefault(const aCaption : string; const Msg : string;
  DlgType : TMsgDlgType; Buttons : TMsgDlgButtons; DefButton : integer;
  HelpCtx : longint): integer;
var aForm : TForm;
begin { Defmessagedlg }
  InitButtonCaptions;
  aForm := CreateMessageDialog(Msg, DlgType, Buttons);
  try
    InitMsgForm(aForm, aCaption, helpCtx, DefButton);
    Result := aForm.ShowModal;
  finally
    aForm.Free;
  end;
end; { Defmessagedlg }
hab ich mal irgendwo gefunden, weiß aber nicht mehr wo
have fun
fylo
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#17

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:21
Zitat von jfheins:
Zum Thema D8 > D7 ist bei D8 nicht ein D7 mit dabei ???
Bei der Trial auch?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#18

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:23
Ich finde die Diskussion auch langsam echt sinnlos mit Raubkopien und so.
Er hat doch nur ne Frage gestellt...

@Uschi: Ich weiß ja nicht was du gegen meine Antwort hast aber ich finde sie sinnvoll, weil sie das Gegenteil von deiner Aussage ist (keine deutsche softwareschmiede verkauft seine anwendungen mit englischen messageboxen)!!!

MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#19

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:34
Hi,

Achtung: Folgender Beitrag ist nicht OT

@ spoona: Hier im Forum suchenMessagedlg auf Deutsch
(Die Suche hätte es mal wieder getan... )

MfG Marc

[Edit] Thx Spider! Sorry @ Alex, ich meinte spoona [/Edit]
Marc P.
Grüße aus Kirchheim Teck
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#20

Re: Messagedlg formatieren bzw. Buttons auf deutsch

  Alt 9. Mär 2005, 16:35
@Chegga:
Zitat:
Keine Beiträge entsprechen Deinen Kriterien.
Julian J. Pracht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
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