Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mo 30.12.02 17:38 
hallo,
ich habe ein problem mit der massagebox. und so sieht es aus:

ausblenden Quelltext
1:
Application.MessageBox ('Konnte die Datei '+edit1.Text+'nicht finden.','',16 + 0);					


was ist daran falsch ??
mfg hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 30.12.02 18:03 
Verräts du uns auch die Fehlermeldung?

ausblenden Quelltext
1:
Application.MessageBox (PChar('Konnte die Datei '+edit1.Text+'nicht finden.'),'',16 + 0);					
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 30.12.02 18:13 
:wink: Wozu? Du hast doch den Fehler enttarnt.
Aber viel wichtiger ist die Frage: warum so?
ausblenden Quelltext
1:
... 16 + 0);					

Wofür gibt´s denn die Konstanten? Zumal man sich dann auch noch in absehbarer Zukunft mehr darunter vorstellen kann als unter "16 + 0". :roll:
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mo 30.12.02 21:02 
hai,
ok, dass ich den fehler enttarnt habe, war mir ja schon fast klar aber wegen
Zitat:
... 16 + 0);
, wenn ich das weglasse erscheint nicht mehr das weiße X auf rotem hintergrund, was ich gerne dabei haben möchte.
und ich kenne das eben nur so, wenn es einen anderen weg gibt, edann immer her damit.
mfg hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mo 30.12.02 21:09 
hallo,
hab die lösung gerade selber herrausgefunden:
ausblenden Quelltext
1:
2:
3:
4:
5:
var a:string;
begin
a:='Die Datei '+edit1.text+' konnte nicht gefunden werden.';
Application.MessageBox (PChar(a),'',16 + 0);
end;

ha, etwas länger, aber es funktioniert !! :wink:
oh, Luckie deine antwort hab ich übersehen :oops: , aber hier die fehlermeldung:
Zitat:
[Error] Unit1.pas(46): Incompatible types: 'String' and 'PChar'

und deine lösung funzt auch, DANKE !
mfg hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 30.12.02 21:39 
Sag mir mal ganz schnell ohne nachzuschlagen was die 16 bewirkt!
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Di 31.12.02 13:43 
soweit ich es weiß, ist die 16 für das weiße X auf rotem hintergrund.

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 31.12.02 16:15 
Auszug aus "WinUser.h":
ausblenden volle Höhe 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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
#define MB_OK                       0x00000000L
#define MB_OKCANCEL                 0x00000001L
#define MB_ABORTRETRYIGNORE         0x00000002L
#define MB_YESNOCANCEL              0x00000003L
#define MB_YESNO                    0x00000004L
#define MB_RETRYCANCEL              0x00000005L
#if(WINVER >= 0x0500)
#define MB_CANCELTRYCONTINUE        0x00000006L
#endif /* WINVER >= 0x0500 */


#define MB_ICONHAND                 0x00000010L
#define MB_ICONQUESTION             0x00000020L
#define MB_ICONEXCLAMATION          0x00000030L
#define MB_ICONASTERISK             0x00000040L

#if(WINVER >= 0x0400)
#define MB_USERICON                 0x00000080L
#define MB_ICONWARNING              MB_ICONEXCLAMATION
#define MB_ICONERROR                MB_ICONHAND
#endif /* WINVER >= 0x0400 */

#define MB_ICONINFORMATION          MB_ICONASTERISK
#define MB_ICONSTOP                 MB_ICONHAND

#define MB_DEFBUTTON1               0x00000000L
#define MB_DEFBUTTON2               0x00000100L
#define MB_DEFBUTTON3               0x00000200L
#if(WINVER >= 0x0400)
#define MB_DEFBUTTON4               0x00000300L
#endif /* WINVER >= 0x0400 */

#define MB_APPLMODAL                0x00000000L
#define MB_SYSTEMMODAL              0x00001000L
#define MB_TASKMODAL                0x00002000L
#if(WINVER >= 0x0400)
#define MB_HELP                     0x00004000L // Help Button
#endif /* WINVER >= 0x0400 */

#define MB_NOFOCUS                  0x00008000L
#define MB_SETFOREGROUND            0x00010000L
#define MB_DEFAULT_DESKTOP_ONLY     0x00020000L

#if(WINVER >= 0x0400)
#define MB_TOPMOST                  0x00040000L
#define MB_RIGHT                    0x00080000L
#define MB_RTLREADING               0x00100000L
#endif

Nimm einfach die Dinger. A) dazu sind sie da. B) auch nach Wochen weißt du noch, was sie bedeuten. Und du musst nichts rechnen, du benutzt einfach or, etwa
ausblenden Quelltext
1:
2:
MessageBox(0,'Echt grober Fehler',nil,
  MB_OK or MB_ICONWARNING);

Noch ein Beispiel:
ausblenden Quelltext
1:
2:
3:
Messagebox(0,'Wollen Sie die Festplatte wirklich formatieren?',
  'Dumme Frage',
  MB_YESNOCANCEL or MB_ICONQUESTION or MB_DEFBUTTON2);

bedeutet "Ja/Nein/Abbrechen" + Frage-Icon und der Nein-Button ist der aktive, falls ein Voreiliger auf ENTER drückt.

usw.