Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Messagebox - Zeilenumbruch? (https://www.delphipraxis.net/12369-messagebox-zeilenumbruch.html)

mirko2000 26. Nov 2003 08:16


Messagebox - Zeilenumbruch?
 
Wie kann ich in einer Messagebox einen Zeilenumbruch machen?

Sidores 26. Nov 2003 08:20

Re: Messagebox - Zeilenumbruch?
 
Code:
showmessage('a'+#10#13+'b');

Tonic1024 26. Nov 2003 08:21

Re: Messagebox - Zeilenumbruch?
 
Moin...

Zitat:

Zitat von mirko2000
Wie kann ich in einer Messagebox einen Zeilenumbruch machen?

so:
Delphi-Quellcode:
MyText := 'hallooo...'+#10#13+'...du Nasenbär!';
musst dann aber MyText so aufrufen:

Delphi-Quellcode:
Application.Messagebox(@Mytext[1],'Überschrift',48);
Bis denne...

choose 26. Nov 2003 08:32

Re: Messagebox - Zeilenumbruch?
 
Die Kontruktion eines Strings nach
Delphi-Quellcode:
'Erste Zeile'#10#13'zweite Zeile'
also ohne die Konkatenationsoperatoren ist ebenfalls möglich.
Darüber hinaus akzeptieren MessageDlg und Showmessage auch einfache LFs, also
Delphi-Quellcode:
Showmessage('Erste Zeile'#13'Zweite Zeile');

mirko2000 26. Nov 2003 09:40

Re: Messagebox - Zeilenumbruch?
 
Dürfte man auch
Code:
chr($0D)
verwenden oder kann das zu Problemen führen?

choose 26. Nov 2003 09:43

Re: Messagebox - Zeilenumbruch?
 
Klar:
Delphi-Quellcode:
Chr(13)=Chr($D)=Chr($0D)=#$0D=#$D=#13
dann allerdings musst Du beim Erzeugen eines Strings wieder "+" verwenden...

Martha 16. Dez 2003 20:37

Re: Messagebox - Zeilenumbruch?
 
Jetzt hab ich nochmal ne Frage zu dem Thema: Kann man auch oben die Titelzeile ändern (Diesen Text auf dem blauen Balken)???

cylon 16. Dez 2003 20:40

Re: Messagebox - Zeilenumbruch?
 
ja
Delphi-Quellcode:
Application.MessageBox('Der Text in der Message Box', 'Die Überschrift', MB_OK) ;

Tonic1024 17. Dez 2003 07:54

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
musst dann aber MyText so aufrufen:

Delphi-Quellcode:
Application.Messagebox(@Mytext[1],'Überschrift',48);


MathiasSimmack 17. Dez 2003 07:56

Re: Messagebox - Zeilenumbruch?
 
muss? Da es zwei Alternativen gibt:
Delphi-Quellcode:
pchar(MyText)
pointer(MyText)
lautet es wohl eher:
Zitat:

Zitat von Tonic1024
kannst dann aber MyText so aufrufen:

;)

MathiasSimmack 17. Dez 2003 08:06

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
Delphi-Quellcode:
Application.Messagebox(@Mytext[1],'Überschrift',48);

btw: Gewöhnt euch doch mal diesen Mist mit der 48 ab. Es weiß doch kein Mensch auf Anhieb, was diese Zahl bedeuten soll.
Delphi-Quellcode:
MB_OK or MB_ICONEXCLAMATION
ist doch viel aussagekräftiger! :evil:

Tonic1024 17. Dez 2003 08:13

Re: Messagebox - Zeilenumbruch?
 
Stimmt, aber es gibt immmer mehr als nur einen Weg. War auch mehr darauf bezogen, dass an der Stelle ein String nicht geht, obwohl folgendes gültig ist...

Delphi-Quellcode:
Application.Messagebox('Hallo du Nasenbär', 'Überschriften sind doof', 32);
Ja, kenn das noch aus alten C++ Zeiten. Aber die Zahl ist doch so schön zum rechnen...

Code:
Schaltflächen

0 -> OK
1 -> OK/Abbrechen
2 -> Abbrechen/Widerholen/Ignorieren
3 -> Ja/Nein/Abbrechen
4 -> Ja/Nein
5 -> Wiederholen/Abbrechen
16384 -> Hilfe

Symbole

0 -> Keins
16 -> X
32 -> ?
48 -> !
64 -> i
Jetzt brauchst du dir das nur Binär vorstellen und es ist wieder VOLLENDS logisch und einfach. Und für eine Gewisse dynamik (wenn gewünscht) gehts nicht anders.

Tonic1024 17. Dez 2003 08:26

Re: Messagebox - Zeilenumbruch?
 
[Kleinlaut]

wie stellt man denn '36' alternativ dar?


[Edit] Tschuldigung... hat sich erledigt :) steht ja da... [/Edit]

Luckie 17. Dez 2003 08:28

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
Jetzt brauchst du dir das nur Binär vorstellen und es ist wieder VOLLENDS logisch und einfach. Und für eine Gewisse dynamik (wenn gewünscht) gehts nicht anders.

Wie meinen? Willst du mir erzählen eine Zahl, bei der ich die nummerischen Werte der Konstanten kennen muss, sie erst wieder in selbige im Kopf zerlegen muss wäre praktischer als die Konstaten mit or zu verknüpfen? :roll:

Luckie 17. Dez 2003 08:30

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
[Kleinlaut]

wie stellt man denn '36' alternativ dar?

MB_YESNOCANCEL or MB_ICONQUESTION :roll:

Tonic1024 17. Dez 2003 08:44

Re: Messagebox - Zeilenumbruch?
 
Okay Lucky... Das mag ja sein...

Aber ich lernen muss man beides. Ich kannte bislang 'MB_ICONEXCLAMATION' nicht. und in meiner schlauen Tabelle (die ich übrigens für meine Zahlen mittlereile nicht mehr benutze) steht das auch nicht drin. Da steht für das Symbol 'MB_ICONWARNING'. Also hätte ich jetzt Nachschlagen müssen wie ein Anderer bei '48'.

Man kann also auf die eine oder die andere Art immer der gekniffene sein. Wie gesagt, es mag eine schlechte Angewohnheit sein. Aber ob es besser oder schlechter ist hängt immer von den Umständen ab, und wer den Code hinterher lesen soll. Ein VB-Progger kommt bestimmt besser mit den konstanten klar. Ein C'ler fühlt sich wohl mit der Zahl wohler.

MathiasSimmack 17. Dez 2003 11:12

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
Aber ich lernen muss man beides.

Eigentlich nicht, das ist ja der Sinn von Konstanten.

Zitat:

Ich kannte bislang 'MB_ICONEXCLAMATION' nicht.
Man schlägt beim ersten Mal vielleicht nach, aber dann weiß man, dass der Präfix generell "MB_" ist, und das man für Symbole noch ein "ICON" anhängt, bevor das eigentliche Symbol angegeben wird. Und du willst mir hoffentlich nicht erzählen, dass du dir unter Warning, Information oder Exclamation nichts vorstellen kannst ...

Zitat:

Aber ob es besser oder schlechter ist hängt immer von den Umständen ab, und wer den Code hinterher lesen soll.
Eigentlich nicht. Wie gesagt, selbst wenn man nicht 100% weiß, was ein Symbol bedeutet, kann man sich unter
Delphi-Quellcode:
MB_OK or MB_ICONEXCLAMATION
schon mal mehr vorstellen als unter
Delphi-Quellcode:
48
Zitat:

Ein VB-Progger kommt bestimmt besser mit den konstanten klar. Ein C'ler fühlt sich wohl mit der Zahl wohler.
Ich habe unter C noch nie mit den Zahlen gearbeitet sondern auch immer die Konstanten benutzt. Dazu sind sie ja da, und es ist ja auch keine Erfindung von Borland - sondern Microsoft hat sie sich ausgedacht.

Luckie 17. Dez 2003 15:03

Re: Messagebox - Zeilenumbruch?
 
Zitat:

Zitat von Tonic1024
Ein C'ler fühlt sich wohl mit der Zahl wohler.

Ich wusste schon immer, dass das Hirn von C/C++'lern anderst aufgebaut sein muss, als das eines normalen Menschen / Programmierers. :mrgreen:

Sanchez 17. Dez 2003 15:09

Re: Messagebox - Zeilenumbruch?
 
Delphi-Quellcode:
MB_OK or MB_ICONEXCLAMATION
An diese Flags kommt man doch ganz einfach.
An gewünschter Stelle schon mal MB eintippen dann STRG + Leertaste und man bekommt eine wunderschöne Liste.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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