Autor Beitrag
Blue_Liquid
Hält's aus hier
Beiträge: 14

WinXP
D7 Enterprise
BeitragVerfasst: Mi 12.05.04 17:42 
Hallo,

wie kann ich die Überschrift bei einem Showmessage ändern?

Jetzt steht immer nur da : "Projekt 1"


Danke

_________________
... Gruss Benni
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 12.05.04 18: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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Mi 12.05.04 18:59 
So richtig - nimm Application.Messagebox oder die API-Funktion MessageBox. ShowMessage is eher zum Debuggen gedacht und zeigt immer den Projektnamen an.

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 12.05.04 19:57 
So geht's:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Mi 12.05.04 23:30 
Du kannst es auch so machen

ausblenden 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.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 12.05.04 23: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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Mi 12.05.04 23:59 
Weil er ein Anfänger ist und ich mich frage ob er mit dem PChar klarkommt ;)

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.05.04 00:07 
Und ich frage mich, ob es sinnvoll ist, sich so einen Blödsinn anzugewöhnen, anstatt etwas zu lernen. :roll:
DaRkFiRe
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 526

WinXP Home & Professional
C, C++, Delphi
BeitragVerfasst: Do 13.05.04 00: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!?

_________________
Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
bms
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Do 13.05.04 00: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.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.05.04 08: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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Do 13.05.04 09: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.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.05.04 09:21 
Ja, aber das ist doch ein anderes Thema und hat mit dem hier eigentlich nicht viel zu tun.
bms
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Do 13.05.04 11: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.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 13.05.04 11:59 
Jetzt habt ihr so lange von MessageBox geschrieben, dass ich das gleich mal zu Ende bringe:
ausblenden 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
  // Handle ggf. durch 0 ersetzen
  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.

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Do 13.05.04 14: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..! :?

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
bms
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Do 13.05.04 15: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.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Do 13.05.04 15: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: www.manuel-poeter.de

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.05.04 15: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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Do 13.05.04 21:00 
Woher soll ich das wissen? Ich nix verstehen. Morgen andere Baustelle. Vielleicht weil es um Zeiger geht?

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(