Code checking error in App Designer, it thinks xxxx.BackgroundColor is a scalar
    13 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I'm changing the background color to alert the user about various (async) conditions and button pressed.
            if  app.STOPTRIALSButton.BackgroundColor == [0.95 0.33 0.10]
              app.STOPTRIALSButton.BackgroundColor = [0 1 0]; 
            end
and I get the warning: 
Unexpected use of '[' in a scalar context.
but of course colors are RGB three values, so the code runs fine.
Also while the Component browser shows (another) color as 0.65, 0.65, 0.65 that's the wrong syntax (no commas please for easier cut and paste) and in the startup code the values are actually [0.651 0.651 0.651] so my compare failed without significant research as to why.
Finally, App Designer isn't listed as a product below, so I can't flag that. Just saying MATLAB is the product.
0 Commenti
Risposte (2)
  Voss
      
      
 il 6 Lug 2024
        To avoid the warning, use:
if isequal(app.STOPTRIALSButton.BackgroundColor,[0.95 0.33 0.10])
    app.STOPTRIALSButton.BackgroundColor = [0 1 0]; 
end
3 Commenti
  Walter Roberson
      
      
 il 7 Lug 2024
				Do not compare floating point numbers for exact equality. 
if isnumeric(app.STOPTRIALSButton.BackgroundColor) && all(abs(app.STOPTRIALSButton.BackgroundColor - [0.95 0.33 0.10]) <= 0.01)
  Voss
      
      
 il 7 Lug 2024
				If App Designer puts a line of code that says
app.STOPTRIALSButton.BackgroundColor = [0.949 0.3294 0.102]
and you want to check that that BackgroundColor is still in effect, use 
if isequal(app.STOPTRIALSButton.BackgroundColor,[0.949 0.3294 0.102])
  Alessandro Livi
 il 10 Lug 2024
        1 Commento
  Voss
      
      
 il 10 Lug 2024
				Here's the list of named colors in MATLAB
They are the eight colors all of whose RGB components are 0 or 1 (i.e. [0,0,0], [0,0,1], [0,1,0], [0,1,1], [1,0,0], [1,0,1], [1,1,0], [1,1,1]).
Vedere anche
Categorie
				Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


