Entwickler-Ecke

Open Source Projekte - Application.Messagebox Vorschau


DelphiMarkus - Fr 04.04.08 16:41
Titel: Application.Messagebox Vorschau
Da ich manchmal Probleme mit Application.Messagebox habe, habe ich mir einfach eine kleine Hilfe dafür gebaut. Da das Programm wirklich sehr sehr einfach ist habe ich mich dazu entschieden es OpenSource zu machen(kann ja nicht schaden :) )

Beschreibung:
Man gibt als erstes den Text und den Titel der Messagebox ein, danach wählt man den Typ der Messagebox und wählt welche Buttons zur verfügung stehen sollen.
:arrow: Zum Ansehen muss man auf "Anzeigen" drücken. Dann wird die Messagebox angezeigt und nachdem man sie weggecklickt hat steht der Quelltext im Untersten Feld.
:arrow: Wenn man sich die Messagebox nicht ansehen möchte muss man nur auf "Generieren" klicken und der Quelltext steht im untersten Feld.
:arrow: Wenn man auf "Kopieren" klickt wird der Text, der im untersten Feld steht in die Zwischenablage kopiert.
:arrow: Ein Klick auf Beenden beendet das Programm.

Das ist auch schon der Funktionsumfang des Programmes. Ich habe aber auch nicht mehr versprochen.
Es ist für mich schon ganz nützlich und ich hoffe, dass auch andere so denken. ;)


Delete - Fr 04.04.08 17:28
Titel: Re: Application.Messagebox Vorschau
user profile iconDelphiMarkus hat folgendes geschrieben:
Da ich manchmal Probleme mit Application.Messagebox habe,

Was kann man da für Probleme haben? DieFlags sind doch selbst erklärend und mit der Codevervollständigung schnell ausgewählt.

Zitat:
Es ist für mich schon ganz nützlich und ich hoffe, dass auch andere so denken. ;)

Ich glaube, mit Tippen bin ich schneller, als wenn ich mir das was in einem exteren Programm zusammenklicke, welches ich noch extra starten muss und welches mir die Zwischenablage zerchiesst.

Argh:

Delphi-Quelltext
1:
Application.MessageBox(PChar(Edit1.Text), PChar(Edit2.Text), 5+48);                    

Genau das meine ich. Weißt du morgen noch was 5 + 48 bedeutet? Warum wohl gibt es dafür so schöne aussagekräftige Konstanten?

Delphi-Quelltext
1:
Application.MessageBox(PChar(Edit1.Text), PChar(Edit2.Text), MB_ABORTRETRYIGNORE + MB_ICONWARNING);                    


DelphiMarkus - Sa 05.04.08 07:56

user profile iconLuckie hat folgendes geschrieben:
user profile iconDelphiMarkus hat folgendes geschrieben:
Es ist für mich schon ganz nützlich und ich hoffe, dass auch andere so denken. ;)

Ich glaube, mit Tippen bin ich schneller, als wenn ich mir das was in einem exteren Programm zusammenklicke, welches ich noch extra starten muss und welches mir die Zwischenablage zerchiesst.

Wenn du nicht auf "Kopieren" klickst bleibt die Zwischenablage doch erhalten... :gruebel:

user profile iconLuckie hat folgendes geschrieben:
Argh:

Delphi-Quelltext
1:
Application.MessageBox(PChar(Edit1.Text), PChar(Edit2.Text), 5+48);                    


Genau das meine ich. Weißt du morgen noch was 5 + 48 bedeutet? Warum wohl gibt es dafür so schöne aussagekräftige Konstanten?

Delphi-Quelltext
1:
Application.MessageBox(PChar(Edit1.Text), PChar(Edit2.Text), MB_ABORTRETRYIGNORE + MB_ICONWARNING);                    


Tut mir leid, aber ich wusste nicht, dass es das auch gibt. Außerdem ist das auch nicht viel einfacher.


Silas - Sa 05.04.08 08:09

user profile iconDelphiMarkus hat folgendes geschrieben:
Außerdem ist das auch nicht viel einfacher.

Wenn man sich nur auf die Messagebox beschränkt, natürlich eher nicht. Aber wenn man auch noch andere Windows-API-Funktionen verwendet, hat man keine Chance, die restlichen 421337 Konstanten der API auswendig zu lernen.


DelphiMarkus - Sa 05.04.08 08:18

Mit so etwas beschäftige ich mich aber auch nicht. Ich benutze, wenn überhaupt nur Messageboxen, und nichts anderes. :mrgreen:


Delete - Sa 05.04.08 12:14

user profile iconDelphiMarkus hat folgendes geschrieben:
user profile iconLuckie hat folgendes geschrieben:

Genau das meine ich. Weißt du morgen noch was 5 + 48 bedeutet? Warum wohl gibt es dafür so schöne aussagekräftige Konstanten?

Delphi-Quelltext
1:
Application.MessageBox(PChar(Edit1.Text), PChar(Edit2.Text), MB_ABORTRETRYIGNORE or MB_ICONWARNING);                    


Tut mir leid, aber ich wusste nicht, dass es das auch gibt. Außerdem ist das auch nicht viel einfacher.

Was ist nicht viel einfacher? Sich die passende Konstante in der Codevervollständigung auszusuchen oder sich alle Werte der Konstanten zu merken?


Calculon - Sa 05.04.08 13:07

Luckie hat folgendes geschrieben:
Was ist nicht viel einfacher? Sich die passende Konstante in der Codevervollständigung auszusuchen oder sich alle Werte der Konstanten zu merken?

Wie geht denn das? Bei mir (Delphi 7) wird mir nur das angeboten: const Text: PAnsiChar; const Caption: PAnsiChar; [Flags: Integer = 0]

Gruß

Calculon
--


Yogu - Sa 05.04.08 13:13

Ich verwende höchstens mal ein A4-Papier, das ich mir irgendwann gemacht hab. Dadrauf sind die Button-Flags, die Icon-Flags und die Rückgabewerte drauf. Die meisten Zahlen kann ich aber schon auswendig. Konstanten nehm ich eigentlich nie, weil ich die früher nicht gekannt hab (In meinem ersten Delphi-Buch hat der Autor die Zahlen genommen).

Ganz ehrlich gesagt: Ein Programm brauch ich dazu nicht. Das würde mehr Zeit verbrauchen als mein Blatt zu holen.


Xion - Sa 05.04.08 13:35

user profile iconYogu hat folgendes geschrieben:
Die meisten Zahlen kann ich aber schon auswendig. Konstanten nehm ich eigentlich nie,


hmm, also ich kann die Konstanten (fast) alle auswendig :D Aber um user profile iconCalculons Frage nochmal aufzugreifen: Wie soll der Codevervollständiger da weiterhelfen, der zeigt doch nur an, welcher Typ da hin muss. Und selbst wenn ich mit der Maus über die Procedure selbst gehe kommt zwar das Fenster, wo ein Link zu den Typen ist, aber die funktionieren nicht :gruebel:


Delete - Sa 05.04.08 14:31

Dann gib mal beim letzten Parameter (Flags) "MB_" ein und guck, was dir die Codevervollständigung anzeigte. Ich rede nicht von der Programmierhilfe.


Xion - So 06.04.08 09:35

hmm, also bei mir tut sich garnix *dumm anstellt* In den Editor-Optionen ist Codevervollständigung aber aktiviert.


DelphiMarkus - So 06.04.08 09:50

user profile iconYogu hat folgendes geschrieben:
(In meinem ersten Delphi-Buch hat der Autor die Zahlen genommen)

Das war bei mir auch so, der Autor hat nur die Zahlen genommen, so habe ich das dann auch immer gemacht.

user profile iconYogu hat folgendes geschrieben:
Ganz ehrlich gesagt: Ein Programm brauch ich dazu nicht. Das würde mehr Zeit verbrauchen als mein Blatt zu holen.

Ich würde so ein Blatt nach einem Monat schon wieder verloren haben :mrgreen: . Einen richtigen Zweck hat das Programm auch nicht wirklich, aber so etwas passiert manchmal, wenn man nicht weiß was man machen soll. Ich habe ja gesagt das das Programm so einfach ist, das sich was anderes als OpenSource fast nicht lohnt, ich habe es OpenSource gemacht, damit andere das Programm z.B. für sich verändern können.

Was so ein einfaches Programm alles für Beiträge hervorbringen kann :mrgreen: .


Calculon - So 06.04.08 14:37

Hi user profile iconXion,

Ich musste auch erst nachkucken. Nach zwei Jahren Delphi IDE-Nutzung weiß' ich jetzt endlich auch, dass Delphi eine Codevervollständigung besitzt: STRG + SPACE

Man lernt halt nie aus...

Gruß

Calculon
--


Xion - Di 08.04.08 18:48

ui, das kannte ich auch nicht :shock: Mal sehen, ob sich das als brauchbar in der Praxis erweist :) Danke user profile iconCalculon :D


Robert.Wachtel - Di 08.04.08 19:04

Übrigens gibt es bei den GExperts einen Messagebox-/MessageDialog-Experten (im GExperts-Menü unter Message Dialog) - der erzeugt auch gleich den korrekten Code, wenn gewünscht auch mit IF- oder CASE-Abfrage.