comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » salida widgets
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
salida widgets [message #45380] Fri, 02 September 2005 08:21
hernan is currently offline  hernan
Messages: 11
Registered: March 2005
Junior Member
En el caso de error como hago que la ventana de salida coloque 'LOS
VALORES SON INCORRECTOS'

pro gui_matriz

;* Creamos la base de la matriz
MATRIZ_BASE = WIDGET_BASE(XSIZE = 250, YSIZE = 250, $
TITLE = 'GUI_MATRIZ')

;* Creamos la ventana que contiene la matriz
MATRIZ_LABEL = WIDGET_LABEL(MATRIZ_BASE, XOFFSET = 10, YOFFSET = 10, $
XSIZE = 200, VALUE = 'EDITE LA MATRIZ 3 X 3 Y PULSE ENTER')
MATRIZ_TEXT = WIDGET_TEXT(MATRIZ_BASE, XOFFSET = 30, YOFFSET = 30, $
XSIZE = 20, VALUE = '5,4,0 ; 4,5,0 ; 0,0,5', /EDITABLE)

;* Creamos la ventana de salida de resultados
EIGENVALOR_LABEL = WIDGET_LABEL(MATRIZ_BASE, XOFFSET = 80, YOFFSET =
70, $
XSIZE = 100, VALUE = 'VALORES PROPIOS')
EIGENVALOR_TEXT = WIDGET_TEXT(MATRIZ_BASE, XOFFSET = 30, YOFFSET = 90,
$
XSIZE = 30, /EDITABLE)

;* Creamos una estructura con los valores introducidos
INFO = {MATRIZ:MATRIZ_TEXT, EIGENVALOR:EIGENVALOR_TEXT}
WIDGET_CONTROL, MATRIZ_BASE, SET_UVALUE = INFO, /REALIZE
XMANAGER, 'GUI_MATRIZ', MATRIZ_BASE
END

PRO GUI_MATRIZ_EVENT, EVENT

;* Llamamos a la estructura de datos para colocarla en la parte
superior
;* de la interface como valores de usuario y designamos a los posibles
;* valores editados como matriz
WIDGET_CONTROL, EVENT.TOP, GET_UVALUE = INFO
WIDGET_CONTROL, INFO.MATRIZ, GET_VALUE = MATRIZ
MATRIZ = MATRIZ[0]
;* A partir de la cadena introducida por MATRIZ pasamos los elementos
de
;* estos a guarismos que conformaran la matriz de autovalores
SMATRIZ = STRSPLIT(MATRIZ, ' ; ', /EXTRACT)
SMATRIZ1 = FLOAT(STRSPLIT(SMATRIZ[0], ',', /EXTRACT)) ;Primera fila
SMATRIZ2 = FLOAT(STRSPLIT(SMATRIZ[1], ',', /EXTRACT)) ;Segunda fila
SMATRIZ3 = FLOAT(STRSPLIT(SMATRIZ[2], ',', /EXTRACT)) ;Tercera fila
EIGEN = FLTARR(3,3)
EIGEN[*,0] = SMATRIZ1
EIGEN[*,1] = SMATRIZ2
EIGEN[*,2] = SMATRIZ3
EIGENVAL = EIGENQL(EIGEN)
IF (N_ELEMENTS(EIGENVAL) NE 0) THEN BEGIN
WIDGET_CONTROL, INFO.EIGENVALOR, SET_VALUE = $
STRING(EIGENVAL)
ENDIF ELSE BEGIN
WIDGET_CONTROL, INFO.EIGENVALOR, SET_VALUE = 'LOS VALORES SON
INCORRECTOS'
ENDELSE
[Message index]
 
Read Message
Previous Topic: histograms in 2D
Next Topic: Re: salida widgets

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 10:30:38 PDT 2025

Total time taken to generate the page: 0.40298 seconds