Modifica casella text

di il
4 risposte

Modifica casella text

Salve a tutti,
il mio problema è cercare di inserire del testo in una control text in funzione di ciò che viene inserito in una casella edit.
E possibile fare una cosa del genere o ciò che viene inserito in una control text è fisso e non è possibile modificarla?

Nel caso soluzioini alternative quali possono essere?

Grazie a tutti.

Saluti

4 Risposte

  • Re: Modifica casella text

    Cosa intendi con "control text"?
    Che tipo di uicontrol è?

    Ad ogni modo, le stringhe di testo dei vari uicontrols, sono memorizzate nella property "String".
    Quello che devi fare è semplicemente acquisire la stringa dalla casella di edit ed assegnarla alla property "String" dell'uicontrol al quale fai riferimento.

    Ci sono due metodi generali; supponendo che i "tag" dei due uicontrol siano "control_text_tag" e "edit_text_tag"

    - usando le funzioni "get" e "set":
    
    str=get(handles.edit_text_tag,'string')
    set(handles.control_text_tag,'string',str)
    
    oppure in una sola linea
    
    set(handles.control_text_tag,'string',get(handles.edit_text_tag,'string'))
    
    
    - usando la "dot notation" (se hai una versione di Matlab >= R14b
    
    str=handles.edit_text_tag.String
    handles.control_text_tag.String=str
    
    oppure in una sola linea:
    
    handles.control_text_tag.String=handles.edit_text_tag.String
    
  • Re: Modifica casella text

    ask_raf ha scritto:


    Cosa intendi con "control text"?
    Che tipo di uicontrol è?

    Ad ogni modo, le stringhe di testo dei vari uicontrols, sono memorizzate nella property "String".
    Quello che devi fare è semplicemente acquisire la stringa dalla casella di edit ed assegnarla alla property "String" dell'uicontrol al quale fai riferimento.

    Ci sono due metodi generali; supponendo che i "tag" dei due uicontrol siano "control_text_tag" e "edit_text_tag"

    - usando le funzioni "get" e "set":
    
    str=get(handles.edit_text_tag,'string')
    set(handles.control_text_tag,'string',str)
    
    oppure in una sola linea
    
    set(handles.control_text_tag,'string',get(handles.edit_text_tag,'string'))
    
    
    - usando la "dot notation" (se hai una versione di Matlab >= R14b
    
    str=handles.edit_text_tag.String
    handles.control_text_tag.String=str
    
    oppure in una sola linea:
    
    handles.control_text_tag.String=handles.edit_text_tag.String
    
    Ciao ask grazie mille per la gentile risposta sei stato gentilissimo.
    Ho un altra domanda da fare.

    Mi è capitato spesso che ridimensionando e/o modificando le varie tab che ho creato mi compare l'errore che vedi in figura e di fatto non riesco più ad aprire il mio progetto.fig.

    Come faccio per risolvere tale problema?? e a cosa è dovuto??

    Ciao
    Allegati:
    21982_eb3b1e1677457df01f26a0b6b6db3a6d.png
    21982_eb3b1e1677457df01f26a0b6b6db3a6d.png
  • Re: Modifica casella text

    Con R2015b mi è capitato qualche volta un errore "simile" (in questo momento non sono in grado di affermare che sia lo stesso) dopo aver spostato un uicontrol od averne modificato la dimensione.
    Non saprei dire quale sia il motivo, la soluzione "empirica" è stata semplicemente cliccare OK ed poi ... Undo per riportare l'uicontrol allo stato precedente.

    Un altro caso nel quale viene generato un errore "simile" è quello nel quale viene cancellata una callback nel file ".m" della GUI oppure se viene modificato il "nome" di una callback.
    Salvando il flle ".m" si crea una incongruenza tra la definizione della GUI nel file ".fig." ed il relativo file ".m".

    In questo caso si potrebbe provare ad editare il file ".m" e ristabilire la corretta callback.

    Purtroppo in questi giorni non ho accesso a MatLAb per cui non posso verificare quanto sopra.
  • Re: Modifica casella text

    Ti posso dire che l'errore mi è apparso nel momento in cui ho modifato la dimensione ad un uicontrol.

    Spulciando nei vari panel alla fine penso di aver capito l'errore.

    In sostanza all'interno di un panel, nel ridimensionamento , sono state eliminate (non so perchè) delle Edit Text.

    E comunque la cosa non è stata risolta nè con il tast Undo ne inserendo altre Edit Text.

    L'unico modo è salvare il lavoro fatto, farne una copia e lavorare sulla copia.
Devi accedere o registrarti per scrivere nel forum
4 risposte