Autor Beitrag
UTA2000
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Do 27.03.03 12:42 
Ich kann mich mal dunkel daran erinnern, in einem anderen Quellcode so nen Zusatz (ähnlich zu #13 für Zeilenvorschub) bei nem Meldungsstring gesehen zu haben, der den Text zentriert darstellte.

Aber ich weiß nicht mehr wie?

Wie bekomme ich das hin?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 27.03.03 15:50 
Bei der Messagebox von TApplication geht es definitiv nicht. Wie es bei den Dingern von Borland aussieht, weiß ich nicht.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Do 27.03.03 16:13 
Das kann man so lösen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  with CreateMessageDialog('Dies ist ein'#10'Test der zentriert'#10'dargestellt wird.',
     mtInformation, [mbOK]) do
  try
    TLabel(FindComponent('Message')).Alignment := taCenter;
    ShowModal;
  finally
    Free;
  end;

_________________
Ist Zeit wirklich Geld?
UTA2000 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Do 27.03.03 16:37 
Nee, das war kürzer. Nur son Zusatz am String, irgendwas mit ^C oder sowas. Kann auch noch aus alten Turbo Pascal Zeiten sein und ich verwechsle das jetzt.

Aber auf alle Fälle finde ich das eine fehlende Option, ich könnte es oft brauchen!
Golo
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 27.03.03 16:48 
Eine kurze Zwischenfrage lediglich...
Kann man den Text in einem Edit-Feld ebenfalls zentriert ausgeben bwz. anzeigen?

GreetZ!

_________________
IhR sEiD jA aLlE wAhNsInNiG!
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Do 27.03.03 19:35 
Mit der TJvEdit-Komponente aus der JVCL geht das.

Zitat:
Nee, das war kürzer.

Dann mach eine Funktion daraus und es ist kürzer. :lol:

Zitat:
Nur son Zusatz am String, irgendwas mit ^C oder sowas.

Nein, so ein Steuerzeichen gibt es nicht, außer man produziert eigene Steuerzeichen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
function MessageDlgEx(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
var
  S: string;
  Centered: Boolean;
begin
  S := Msg;
  if (S <> ''and (S[1] = #1then
  begin
    Delete(S, 11); // #1 entfernen
    Centered := True;
  end
  else
    Centered := False;
  
  with CreateMessageDialog(S, DlgType, Buttons) do 
    try 
      HelpContext := HelpCtx;
      if Centered then
        TLabel(FindComponent('Message')).Alignment := taCenter; 
      Result := ShowModal;
    finally 
      Free; 
    end;
end;

MessageDlgEx(#1'Dies ist ein zentierter'#10'Text', mtInformation, [mbOK], 0);


Noch ein Wort zu deinem #13: Das ist eine DOS-Angewohnheit. Jedoch entspricht das #13 keinem Zeilenumbruch, sondern einem Wagenrücklauf, womit das Zeichen #10 in allen Fällen verwendet werden sollte, da dir ein Linux System (Kylix) bei #13 etwas hustet aber keine Zeienumbruch macht. Dasselbe gilt auch für CLX Anwendungen. Diese können nichts mit #13 anfangen und Schlucken es an der einen Stelle und geben es an einer anderen Stelle als ein undefiniertes Symbol auf dem Bildschirm aus.

_________________
Ist Zeit wirklich Geld?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 27.03.03 21:03 
Offiziell ist ein Zeilneumbruch bei Windows ein #13#10.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Do 27.03.03 21:08 
Für den Delphi Compiler < 6 auch. Für den IDE Editor reicht schon ein #10 aus. Aus diesem Grund kann es passieren, dass ein Syntaxfehler an einer falschen Position angezeigt wird.

_________________
Ist Zeit wirklich Geld?