WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Ausgabe in einem Static Text

 

CuteyHoney

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 21:59     Titel: Ausgabe in einem Static Text
  Antworten mit Zitat      
Kann ich durch einen Befehl in einem Static Text einen Text plus eine ausgerechnet Variable ausgeben?

Mit set scheint es nicht zu funktionieren.

Meine Idee war:

set(handles.AnzahlSchlepper,'string','Es werden' ,S, 'Schlepper benötigt um freizukommen.');

Kann man dieses mit einem anderen Befehl realisieren?


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.11.2010, 22:50     Titel: Re: Ausgabe in einem Static Text
  Antworten mit Zitat      
Hallo CuteyHoney,

Zitat:
Kann ich durch einen Befehl in einem Static Text einen Text plus eine ausgerechnet Variable ausgeben?


Da frage ich heute schon zum zweiten mal: Was ist denn eine "static" Text??

Das Posten Deines nicht-funktionierenden Codes war eine sehr gute Idee! Damit läßt sich das Problem nämlich lösen. SET ist hier schon richtig, es darf aber nur ein einziger Parameter folgen!
[code]
set(handles.AnzahlSchlepper, 'string', ...
sprintf('Es werden %d Schlepper benötigt um freizukommen.', S));[code]
Ob hier "%d" oder "%s" oder ein anderer Format-Specifier gebraucht wird, hängt vom Typ von S ab. Siehe auch "help fprintf".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Madcat
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 03.04.08
Wohnort: Düsseldorf
Version: 2008b Student
     Beitrag Verfasst am: 12.11.2010, 09:58     Titel:
  Antworten mit Zitat      
Die Hilfe hätte da eigentlich weiter geholfen denn da steht drin, wie man den set-Befehl verwendet. Wie Jan schon schrieb. Grundsätzlich ist der Aufbau des set-Befehls wie folgt:

Code:
set(handle, 'property-name', property-value)


Die Hochkommatas um property-name sind erforderlich und dienen hier nicht einer Symbolisierung. Gib einfach mal in der Suche im Hilfe-Fenster set ein Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
CuteyHoney

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2010, 14:50     Titel:
  Antworten mit Zitat      
hallo Jan,
mit static text, meine ich das textfeld, welches man in der gui erzeugt Smile
da steht denn automatisch static text drin^^

also dein tipp war schon sehr gut, leider zeigt er mir das ergebnis immer noch nicht an, sondern gibt den text ohne den errechneten zahlenwert aus Sad
wo kann der fehler sein, wenn mein quellcode wie folgt lautet:

S=ceil(A/400); %Aufrunden auf die nächste größere ganze Zahl

set(handles.AnzahlSchlepper,'string',sprintf('Es werden %s Schlepper benötigt um freizukommen.', S));

ich danke euch für eure hilfe =)

und ein kleine frage habe ich noch, kann ich in set auch festlegen, wieviel nachkommastellen ausgegeben werden sollen?

danke =)
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 12.11.2010, 15:03     Titel:
  Antworten mit Zitat      
Hallo,

du musst natuerlich den richtigen Datentyp bei sprintf angeben und das ist nunmal kein string (%s) sondern eine Zahl (%d, oder %f...). Die Nachkommastellen musst du beim sprintf angeben, dies hat nix mit dem set-Befehl zu tun. Willst du z.B. 3 Nachkommastellen habe koenntest du z.B. %.3f verwenden.

Kleines Beispiel:
Code:

S = 10.12345
sprintf('Es werden %.3f Schlepper benötigt um freizukommen.', S)
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
CuteyHoney

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2010, 15:33     Titel:
  Antworten mit Zitat      
dankeschön, es funktioniert =)
kriege ich mit dem befehl sprintf auch eine rechtsbündige ausgabe realisiert?
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 12.11.2010, 15:52     Titel:
  Antworten mit Zitat      
Hallo,

dies wiederrum hat nix mit dem sprintf-Befehl zu tun. Dies musst du ueber die Eigenschaften des Textfeldes (mit set Befehl oder im Property Inspector) einstellen:

Code:

set(handles.AnzahlSchlepper,'HorizontalAlignment','right');

zusammen waere es dann so:

set(handles.AnzahlSchlepper,'HorizontalAlignment','right',...
'string',sprintf('Es werden %.3f Schlepper benötigt um freizukommen.', S));
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.