|
NzEROS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.01.2009, 12:31
Titel: Info Box
|
|
Hallo, ich habe eine Frage, wie kann man alle Variablen die man für eine Berechnung deklariert hat, an einem Fester ausgeben? Damit meine ich z.B.: das ich eine Variable a=5 habe, welches die seitenlänge von einem Haus ist. Also möchte ich ein Button erzeugen welches ein "Infofenster" öffnet das diese Varibale a ausgibt und die zugehörige Erklärung. Danke vielmals.
MfG
|
|
|
|
|
NzEROS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.01.2009, 12:43
Titel:
|
|
Hallo ich bins nochmal. Ich hab grad den msgbox({'Line1', 'Line2'}) befehl gefunden, es passt, aber da ich um die 300 Variablen und verschiedene Typen mit verschiedenen Größen habe wollte ich Fragen ob man die Variablen wie in C++ eingeben kann, also z.B.:
msgbox('Seitenlänge %d', 'Breite %d',a,b) also so in etwa
mfg
|
|
|
mauskill2 |
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 05.07.07
|
|
|
|
Wohnort: bei Paderborn
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 19.01.2009, 12:48
Titel:
|
|
Innerhalb einer GUI weiß ich nicht...aber direkt im Code aufgerufen ist helpdlg als befehl dein Freund.
Beispielsweise (ohne zu testen aus dem Kopf):
Grüße
Mauskill2
|
|
|
mauskill2 |
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 05.07.07
|
|
|
|
Wohnort: bei Paderborn
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 19.01.2009, 12:56
Titel:
|
|
Ja dann suchst du ja sowas wie ich bschrieben hatte
help/techdoc/ref/helpdlg.html"> gehört da nicht vor (da stimmt mit der Forensoftware nicht )
Das mit den Variablen ausgeben geht wie oben beschrieben mit ['string', Variable, 'string']. Einen zu C++ ähnlichen Weg mit Platzhaltern im String gibt es glaube ich auch noch, kenne ich aber nicht.
Einen Fehler hatte ich aber noch eingebaut . Wenn es sich um Variablen handelt die kein String sind müssen sie mit z. B. num2str (bei Zahlen) umgewandelt werden.
z. B.
EDIT: Das help/techdoc/ref/num2str.html"> natürlich auch nicht...
Grüße
Mauskill2
|
|
|
dib0r |
Forum-Guru
|
|
Beiträge: 413
|
|
|
|
Anmeldedatum: 09.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.01.2009, 13:42
Titel:
|
|
Hallo,
ist da dein Freund. Ich kenne leider die C++ Syntax nicht, sprintf verhält sich zumindest so wie in C.
MfG
|
|
|
NzEROS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.01.2009, 14:01
Titel:
|
|
supi, genau richtig aber ich hab da ein problem, hier mein bsp:
a=10
b=5
helpdlg({['Laenge a= ',aaaa,'m'], ['Breite b= ',b,'m'] },'Seitenlänge')
und was rauskommt ist das
also statt dem werten kommen pfeile etc raus
danke
mfg
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.01.2009, 14:47
Titel:
|
|
|
|
|
NzEROS hat Folgendes geschrieben: |
a=10
b=5
helpdlg({['Laenge a= ',aaaa,'m'], ['Breite b= ',b,'m'] },'Seitenlänge')
|
Es reicht nicht, wenn Du das Posting, wo sprintf genannt wird nur liest und zur Kenntnis nimmst. Du musst das schon auch in Dein Programm einbauen, sonst wirkt es nicht ;)
Hintergrund: Jedes Schriftzeichen in einem Computer wird als Zahl gespeichert. Meistens wird dazu die ASCII-Codierung verwendet. z.B. wird dort ein großes B durch 66 repräsentiert und das Zeichen 1 als 49. Die Ausgabe als Buchstabe erfolgt dann, wenn der Rechner weiß, dass es sich um einen Buchstaben handelt, weil er dann die entsprechende Codierung anwenden kann.
Andersrum verhält es sich genauso. Wenn der Rechner einen Buchstaben erwartet, dann musst Du ihm auch einen geben. Wenn er eine Zahl statt den Buchstabens (string) bekommt, dann akzeptiert er das in den meisten Fällen auch. Er speichert dann den übergebenen Wert als Zahl ab, behandelt ihn in Zukunft aber wie eine Zeichenkette. So auch in Deinem Codeschnipsel. Bei der Ausgabe erfolgt dann aber wiederum eine Anwendung der Code-Tabelle. Du kannst in Deinem code ja mal a=49 und b=66 einsetzen. Die Ausgabe wird dann '1' und 'B' sein.
Damit eben das nicht passiert, musst Du die Zahlen, bevor Du sie an die msgbox-funktion übergibst in strings, also Zeichenketten umwandeln. Dann wird aus Deiner errechneten Zahl 1 eine 49, aus der Zahl 2 eine 50 usw. Und genau das tut die Funktion sprintf.
|
|
|
mauskill2 |
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 05.07.07
|
|
|
|
Wohnort: bei Paderborn
|
|
|
|
Version: R2007a
|
|
|
|
|
|
Verfasst am: 19.01.2009, 18:11
Titel:
|
|
...oder wie im vierten Posting angemerkt num2str(aaaa) bzw. num2str(b) benutzen...
Grüße
Mauskill2
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|