Forum: PC-Programmierung serialPort1->BaudRate in einer messagebox ausgeben


von ticky (Gast)


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

von Karl H. (kbuchegg)


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.

von ticky (Gast)


Lesenswert?

Er gibt mir nur den text Baudrate. aus.

MessageBox::Show will 7 Argumente haben.

von Karl H. (kbuchegg)


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.

von ticky (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist nicht MFC und auch nicht C++, sondern Microsofts Perversion 
namens "Managed C++", das auf dem .Net-Geraffel aufsetzt und zu allem 
Überdruss eine Garbage Collection mit sich bringt.

von Karl H. (kbuchegg)


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.

von Christian R. (supachris)


Lesenswert?

Entscheide dich lieber vorher, ob du C++ mit MFC oder C# mit .NET 
programmieren willst.

Dieses grottige Geraffel aus Windows-Forms und managed C++ Code kann man 
eigentlich zu nix nehmen....

von ticky (Gast)


Lesenswert?

Also

Danke vielmals für eure Antwoten, ich habe es jetzt auch verstanden. :)
Es funzt... Dank euch!

Gruß

ticky

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.