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

Command Line Einträge erkennen

 

wwwcom
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2016, 00:06     Titel: Command Line Einträge erkennen
  Antworten mit Zitat      
Hallo Zusammen,

ich will den Fortschritt einer Installation in der Commandline anzeigen lassen. Falls jedoch eine Fehlermeldung erscheint soll diese gezeigt werden und darunter der bisherige Fortschrittsbalken weiter laufen. Ich weiß die Aufgabe könnte man anders schöner lösen aber daran ist nunmal jetzt nichts zu rütteln.

Ich habe folgendes Versucht:

Code:

clc
% Length of command window prompt
lPrompt = 10;

for idx = 1:50
    str = sprintf('Count = %i \n',idx);
    if (idx==1)
        disp(str); % Don't do anything fancy on fisrt loop
    elseif idx==10
        [char(10)];
        disp('[E] Fehlerblabla');
       
    else
        % char(8) is the ascii character for "backspace"
        % dispay the require number of them
        [char(8)*ones(1,lStr+lPrompt),str]
       
    end
    lStr = length(str);
    pause(0.05); %example loop runs too fast without this
end


Einfach nur als Beispiel. Ich denke man könnte das ganze über Diary lösen aber das wird dann sehr unschön :D. Hat jemand von euch eine bessere Idee?

Gruß Manu
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.05.2016, 09:54     Titel:
  Antworten mit Zitat      
Hallo,

wo liegt das Problem beim bisherigen Versuch?

Wäre eine Darstellung mit waitbar nicht einfacher und schöner?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
wwwcom
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2016, 23:50     Titel:
  Antworten mit Zitat      
Danke Harald für die Antwort, ja wäre schöner war so aber leider nicht gefordert. Wink


So funktionierts:
Code:
function updateCommandWindow(fortschritt)
%Laenge ausgabefeld
lPrompt = 10;
   
    str = sprintf('\n \n Fortschritt %i/100',fortschritt);
    lStr = length(str); %laenge ermitteln
    if (fortschritt==1)
        disp(str); % Erste Ausgabe
    else
        % char(Cool is the ascii character for "backspace"
        % dispay the require number of them
        [char(8)*ones(1,lStr+lPrompt),str]
       
    end
   
    pause(0.1); %Pause nach jedem Schritt damit man was sieht.
end


Gruß Manu


edit:Überschrift zu Code hinzugefügt

Zuletzt bearbeitet von wwwcom am 05.06.2016, 00:09, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.06.2016, 00:06     Titel:
  Antworten mit Zitat      
Hallo,

nochmal die Frage:
Zitat:
wo liegt das Problem beim bisherigen Versuch?


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
wwwcom
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2016, 00:08     Titel:
  Antworten mit Zitat      
Achso mein Fehler, es funktioniert jetzt. Habe den Code nur gepostet falls jemand die selbe Hausi hat Smile.

Gruß Manu
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.