serialPort1->BaudRate in einer messagebox ausgeben

Gast #720150
Lesenswert?

hallo,

Ich programmiere mit Vc++ auf der Mfc. Jetzt habe ich aber ein kleines 
problem.
Ich will mir die baudrate eines serialPortes in einer messagebox 
ausgeben. bis jetzt habe ich:
1
MessageBox::Show("Baudrate: ",serialPort1->BaudRate.ToString());

habe ich irgentetwas falsch gemacht? Wenn ja, kann mir einer sagen was?

Danke schonmal,

ticky
#720154
Lesenswert?

ticky wrote:
> hallo,
>
> Ich programmiere mit Vc++ auf der Mfc. Jetzt habe ich aber ein kleines
> problem.
> Ich will mir die baudrate eines serialPortes in einer messagebox
> ausgeben. bis jetzt habe ich:
>
>
1
> MessageBox::Show("Baudrate: ",serialPort1->BaudRate.ToString());
2
>

Schau dir mal an, wieviele und welche Argumente MessageBox::Show
haben will.

>
> habe ich irgentetwas falsch gemacht?
>

Was passiert denn?

>  Wenn ja, kann mir einer sagen was?

Der Compiler hat dir doch sicherlich eine Fehlermeldung gegeben,
wenn da ein Syntaxfehler enthalten ist.
#720162
Lesenswert?

ticky wrote:
> Er gibt mir nur den text Baudrate. aus.
>
> MessageBox::Show will 7 Argumente haben.

Ja.
Und was steht beim ersten Argument in der Hilfe dabei?


Beenden wir das Trauerspiel. Du willst
1
MessageBox::Show("Baudrate: " + serialPort1->BaudRate.ToString());

weil du die Variante mit nur einem Argument haben willst:
http://msdn2.microsoft.com/de-de/library/519bytz3(VS.80).aspx

wobei dieses eine Argument der auszugebende String ist.

Du hast zur Zeit 2 Argumente, und wenn du dir angewöhnen würdest
nach einem , ein Leerzeichen zu schreiben, dann hättest du das
sogar gesehen:
1
  MessageBox::Show( "Baudrate: ",
2
                    serialPort1->BaudRate.ToString() );

benutzt also diese Funktion:
http://msdn2.microsoft.com/de-de/library/20stz12s(VS.80).aspx

bei der der erste String den auszugebenden Text angibt
und der zweite String die Caption, also die Überschrift
in einem Dialog.
Gast #720197
Lesenswert?

Das heißt, ich müsste:
1
String^ message = "Baudrate:";
2
String^ caption = serialPort1->BaudRate.ToString();
3
System::Windows::Forms::DialogResult result;
4
result = MessageBox::Show( this, message, caption );

statt dem MessageBox::Show hinschreiben?
Oder habe ich jetzt etwas vergessen?

ticky
#720561
Lesenswert?

ticky wrote:
> Das heißt, ich müsste:
>
>
1
> String^ message = "Baudrate:";
2
> String^ caption = serialPort1->BaudRate.ToString();
3
> System::Windows::Forms::DialogResult result;
4
> result = MessageBox::Show( this, message, caption );
5
>
>
> statt dem MessageBox::Show hinschreiben?
> Oder habe ich jetzt etwas vergessen?

Vergessen nicht, aber verstanden dürftest du das nicht haben.

Es wird wohl nicht sehr sinnvoll sein, wenn in der MessageBox
in der großen weiten Fläche der Text 'Baudrate:' steht und
die eigentliche Baudrate findet sich in besagter Messagebox
im blauen Balken des Box wieder.

Du willst doch wohl eher haben, dass im Dialog der Text
'Baudrate: 9600' auftaucht. Oder Nicht?

Also wirst du wohl aus den beiden Bestandteilen
'Baudrate:'  und dem String der sich aus der Baudrate
ergibt einen neuen String machen müssen, der genau
diesen Text enthält. Und diesen Text gibst du dann
für die Message in dieser MessageBox an.

Die Caption ist der Text, der in der Box im blauen
Balken am oberen Fensterende auftaucht! Traditionell
ist das die Überschrift oder der 'Betreff' dieses
Dialogs. Dort schreibt man keine wichtigen Daten rein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren