Entwickler-Ecke
Sonstiges (Delphi) - Überschrift bei Showmessage ändern!?
Blue_Liquid - Mi 12.05.04 16:42
Titel: Überschrift bei Showmessage ändern!?
Hallo,
wie kann ich die Überschrift bei einem Showmessage ändern?
Jetzt steht immer nur da : "Projekt 1"
Danke
Delete - Mi 12.05.04 17:05
Wie ich dir schon im ICQ geagt habe: Gar nicht.
Nimm statt dessen die Methode Messagebox von TApplication der die Windows API Version davon.
DaRkFiRe - Mi 12.05.04 17:59
So richtig - nimm Application.Messagebox oder die API-Funktion MessageBox. ShowMessage is eher zum Debuggen gedacht und zeigt immer den Projektnamen an.
Anonymous - Mi 12.05.04 18:57
So geht's:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure ShowMessageCaption(atext, acaption: string); begin with CreateMessageDialog(atext, mtCustom, [mbOK]) do try Position := poScreenCenter; Caption := acaption; ShowModal; finally Free; end; end; |
bms - Mi 12.05.04 22:30
Du kannst es auch so machen
Delphi-Quelltext
1: 2: 3:
| Application.Title := 'Ich Nero, ...';
ShowMessage('... im Namen des Senats und des Volkes von Rom.'); |
Der Trick ist, daß du es über den Programmtitel machst. Der Titel gilt dann auch für ShowMessage.
Nur mußt du denken den Titel wieder rückgängig werden. Den Titel siehst du übrigens auch unten in der Taskleiste.
Delete - Mi 12.05.04 22:48
Hm, also jedes mal den Titel der Anwendung zu ändern, halte ich nicht gerade für sehr praktikabel. Wie gesagt, warum soll er nicht die Messageboxen nehmen, bei denen man eben schon die Caption frei wählen kann?
bms - Mi 12.05.04 22:59
Weil er ein Anfänger ist und ich mich frage ob er mit dem PChar klarkommt ;)
Delete - Mi 12.05.04 23:07
Und ich frage mich, ob es sinnvoll ist, sich so einen Blödsinn anzugewöhnen, anstatt etwas zu lernen. :roll:
DaRkFiRe - Mi 12.05.04 23:10
Ja gut, aber es ist ja nich vorgeschrieben, wie man was lernt, oder? Also man kann ihm ja wohl sagen, was ein Typecast ist und wozu man sowas braucht. Denn mal ehrlich, was kann man bei einem simplen TypeCast in MessageBox à la PCHAR(<String>) schon groß falsch machen!?
bms - Mi 12.05.04 23:54
Man kanns falsch machen, wenn man keine Ahnung hat was ein PChar ist. Das erscheint einem jetzt zwar Simpel, aber am anfang.
Aber zum lernen vielleicht noch ein Punkt. Viel zu selten Nutzen die Leute die Möglichkeit von Application.Title. Das sehe ich wenn ich die Programme in Freeware Projekte ausprobiere. Der Applikation Titel ist fast immer auch der Dateiname. Ich schätze es bringt schon was zu wissen, daß man dem Programm einen Titel geben kann.
Delete - Do 13.05.04 07:57
| bms hat folgendes geschrieben: |
| Aber zum lernen vielleicht noch ein Punkt. Viel zu selten Nutzen die Leute die Möglichkeit von Application.Title. Das sehe ich wenn ich die Programme in Freeware Projekte ausprobiere. Der Applikation Titel ist fast immer auch der Dateiname. Ich schätze es bringt schon was zu wissen, daß man dem Programm einen Titel geben kann. |
Da hast du zwar grundsätzlich Recht. Aber in dem speziellen Fall bzgl. der MessageBox/ShowMessage IMHO nicht. Wenn du als Tipp vorschlägst, temporär den Titel zu verändern, nur weil jemand Probleme mit "pchar" haben könnte, dann ist das nicht wirklich ein guter Vorschlag.
Lieber würde ich mich hier im Forum von Fragen à "Wie geht das mit pchar" (zum x. Mal) nerven lassen, als in der Hinsicht zu sagen: "Tu was bms gesagt hat."
Wie Luckie schon schrieb
| Zitat: |
| ich frage mich, ob es sinnvoll ist, sich so einen Blödsinn anzugewöhnen, anstatt etwas zu lernen. |
In anderen Dingen magst du recht haben. Speziell in dem Fall nicht. ;)
bms - Do 13.05.04 08:05
Zufällig bin ich im Forum, deshalb schnell eine Antwort. Ich hab nicht gemeint, daß einer jetzt für bei jedem ShowMessage den Application.Titel ändern soll (auch wenns vielleicht so geklungen ist). Viel mehr meinte ich, daß die Titel in der Regel nicht ansehnlich sind, den meistens sind es die Dateinamen die man oben in der Titelleiste sieht. Ein vernünftiger Titel läst ein ShowMessage gleich anders aussehen. Es ist also ein Unterschied ob in der Showmessage Titelleiste ein "Nav" oder "Norton Anti Virus" steht.
Delete - Do 13.05.04 08:21
Ja, aber das ist doch ein anderes Thema und hat mit dem hier eigentlich nicht viel zu tun.
bms - Do 13.05.04 10:22
Doch. Da steht:
| Zitat: |
wie kann ich die Überschrift bei einem Showmessage ändern?
Jetzt steht immer nur da : "Projekt 1" |
Er braucht dem Programm bloß einen Titel zu geben und schon steht da was anderes.
maxk - Do 13.05.04 10:59
Jetzt habt ihr so lange von MessageBox geschrieben, dass ich das gleich mal zu Ende bringe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function ShowMessage(AMessage:string;ACaption:string='';AFlags:LongInt=0):integer; begin if length(ACaption)=0 then begin Dialogs.ShowMessage(AMessage); Result:=IDOK; end else begin Result:=MessageBox(Handle,PChar(AMessage),PChar(ACaption),AFlags); end; end; |
Diese Funktion hat einen großen Nutzen, da sie den gleichen Namen wie Dialogs.ShowMessage trägt, müssen kaum Änderungen am Quellcode durchgeführt werden. Außerdem können gleich noch Flags für MessageBox übergeben werden.
maxk
PS: Wenn schnell gehen soll, reicht auch ein
MessageBox(Self.Handle,'Text','Caption',0); völlig aus.
Motzi - Do 13.05.04 13:40
| bms hat folgendes geschrieben: |
| Man kanns falsch machen, wenn man keine Ahnung hat was ein PChar ist. Das erscheint einem jetzt zwar Simpel, aber am anfang. |
Also was man bei einem simplen Cast nach PChar falsch machen kann würde mich jetzt doch interessieren..! :?
bms - Do 13.05.04 14:00
| Motzi hat folgendes geschrieben: |
| Also was man bei einem simplen Cast nach PChar falsch machen kann würde mich jetzt doch interessieren..! :? |
:shock: Was ist das für eine dumme Frage?
Irgendwie gibt es fast jeden Tag einen, der mit einer API Funktion nicht klarkomt, weil er versucht einen String anzugeben. Klappt nicht. Dann kriegt er gesagt, daß er das in PChar() packen soll. Und dann klappt es. Erklären tut keiner was es mit PChar auf sich hat, nur daß man es so machen soll. Nichts von lehren und lernen, sondern kurz mach es so. Er bleibt sich selbst überlassen und irgendwann kapiert er das. Wenn es so einfach wäre, dann würden die Leute nicht fragen.
Also stell nicht die Frage was an einem simplen PChar kompliziert sein soll. Anscheinend ist es so.
Motzi - Do 13.05.04 14:33
Ja, klar.. jemand der das zum ersten mal macht weiß halt nicht was ein PChar ist und wie man von einem String zu einem PChar kommt.. darum tauchen hier ja auch immer wieder Fragen dazu auf..! Aber
falsch machen kann man dabei nicht wirklich was außer dass es halt nicht funktioniert und hier die Frage auftaucht was man da machen soll)...
Und nur als kurzer Hinweis am Rande: in meinem String-Tutorial erklär ich ganz genau die Unterschiede zwischen den verschiedenen String-Arten, PChars diverse Typecastings etc. Für Interessierte:
http://www.manuel-poeter.de
Delete - Do 13.05.04 14:48
| bms hat folgendes geschrieben: |
| Erklären tut keiner was es mit PChar auf sich hat, nur daß man es so machen soll. |
Wobei ich aber, offen gestanden, noch keinen erlebt hätte, der gefragt hat: "
Warum muss ich das so machen?" Also hole ich´s hiermit nach:
@bms: Warum muss man das machen?
bms - Do 13.05.04 20:00
Woher soll ich das wissen? Ich nix verstehen. Morgen andere Baustelle. Vielleicht weil es um Zeiger geht?
Delete - Fr 14.05.04 11:17
:? Tut mir leid, dass du meine Frage nicht ernst nimmst. Das wäre deine Möglichkeit gewesen, es für evtl. Interessenten zu erklären. Immerhin hast du doch das Fehlen von
beklagt
bms - Fr 14.05.04 11:31
Mathias,
wenn du wirklich wissen willst was es mit PChar auf sich hat, dann erkläre ich es dir. Aber ich hab irgendwie die Ahnung, daß du es selbst weißt. Sollte das aber nicht so sein, dann erkläre ich es dir.
Was ich aber nicht machen werde ist ein kleines Tutorial zu schreiben, den keiner interresiert. Das Thema ist längst abgehackt. Der Fragesteller hat seine Frage beantwortet bekommen und hackt nicht nach. Wem soll ich also etwas von PChars erzählen? Keinem? Soll ich mich in Arbeit stürzen und hier etwas schreiben und keiner liest es?
Schätzt du meine Zeit als so wertlos ein. Versuchst du mich mit Psichotricks in die Ecke zu treiben wo ich, um dir zu gefallen, einen kleinen Tutorial schreibe, um dann zu merken (Ätsche-Bätsch) keinen interresiert es. Um dann zu merken, daß ich mir Arbeit gemacht habe, nur weil einer gesagt hat: na mach mal schön.
Tut mir leid. Ich bin zwar noch Jung, aber so beeinflussbar bin ich doch nicht. Wenn du so eine Meinung von mir hast, dann darfst du dich nicht wundern, daß ich die auch von dir haben werde.
Delete - Fr 14.05.04 13:27
Meine Psychotricks sind grundsätzlich besser und schwer bis gar nicht zu durchschauen.
Das habe ich schriftlich. :mrgreen:
Aber du hast Recht. Ich wollte darauf hinaus, dass es zumindest den Fragesteller in diesem Fall wohl nicht interessiert, warum ein "pchar()" seine Probleme löst. Ob du das nun persönlich nimmst oder nicht ...
I don't know ... Wenn es dir so wichtig ist, dass du das Thema anschneidest, wie bspw. hier:
| Zitat: |
Erklären tut keiner was es mit PChar auf sich hat, nur daß man es so machen soll. Nichts von lehren und lernen, sondern kurz mach es so. Er bleibt sich selbst überlassen und irgendwann kapiert er das. Wenn es so einfach wäre, dann würden die Leute nicht fragen.
Also stell nicht die Frage was an einem simplen PChar kompliziert sein soll. Anscheinend ist es so. |
dann vollende den Schritt und erkläre es weiter, oder akzeptiere schlicht und einfach, dass es den Fragesteller (oder wen auch immer) nicht interessiert.
Ich habe übrigens noch keine Meinung von dir.
Mal gucken wie oft wir noch aneinander geraten. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!