mikrocontroller.net

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


Autor: ticky (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
MessageBox::Show("Baudrate: ",serialPort1->BaudRate.ToString());

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

Danke schonmal,

ticky

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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:
>
>
> MessageBox::Show("Baudrate: ",serialPort1->BaudRate.ToString());
> 

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.

Autor: ticky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er gibt mir nur den text Baudrate. aus.

MessageBox::Show will 7 Argumente haben.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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
MessageBox::Show("Baudrate: " + serialPort1->BaudRate.ToString());

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

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:
  MessageBox::Show( "Baudrate: ",
                    serialPort1->BaudRate.ToString() );

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

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

Autor: ticky (Gast)
Datum:

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

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

ticky

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ticky wrote:
> Das heißt, ich müsste:
>
>
> String^ message = "Baudrate:";
> String^ caption = serialPort1->BaudRate.ToString();
> System::Windows::Forms::DialogResult result;
> result = MessageBox::Show( this, message, caption );
> 
>
> 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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: ticky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also

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

Gruß

ticky

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.