Autor: Juarez Campos Jean Piere DOCUMENTACIÓN DE POWER BUILDER 11

CONSULTA DINAMICA Las consultas dinámicas se realizan cuando power builder no soporta una consulta SQL. //realizamos una consulta dinamica DECLARE cargar DYNAMIC CURSOR FOR SQLSA; PREPARE SQLSA FROM " SELECT count(*) FROM estado_civil" ; OPEN DYNAMIC cargar; FETCH cargar INTO :final; CLOSE cargar ; //agregamos al combo, ejemplos como llenar un combo. for cont=1 to final select descripcion into :ls_descripcion from grado_instruccion where idgrado_instruccion=:cont; ddlb_1.AddItem(ls_descripcion); next

ENVIAR A OTRO EVENTO Esta función propia de power builder nos permite ir a otro evento //para este caso nos este enviando al evento clicked triggerevent("clicked"); //ejecutar un evento desde otro formulario w_nacido.triggerevent("open");

FECHA (2009-12-25) //mid("nombre",2,2) -->nos muestra es como un subtring en mysql fnaci = right(em_fnaci.text,4) + "-" + mid(em_fnaci.text,4,2) + "-" + left(em_fnaci.text,2); //año-mes-dia //en este caso nos debe estar mostrando así 2009-11-04, para poder trabajar con un determinado campo en mysql

LIMPIAR UN ddlb Con este función de power builder estamos dejando en blanca solo la caja en el cual se muestra el resultado. ddlb_sector.selectitem(0); //dejamos en blanco

RomeoSoft – http://romeosoft.webuda.com/

//tipo String //tipo Number em_historia."OPERACIÓN EFECTUADA CORRECTAMENTE").setTransObject(SQLCA)."historia_clinica").2)=0.SetRowFocusIndicator(FocusRect!). //Mostramos los cambios efectuados en el datawindows ng_odw_conexion(odw_temppaciente).Autor: Juarez Campos Jean Piere ELIMINAR UN DATO //Aplicando un procedimiento almacenado declare eliminar procedure for eliminar_paciente().. RomeoSoft – http://romeosoft..text = odw_temppaciente.em_historia."ERROR: NO SE EFECTUÓ LA OPERACIÓN.text = odw_temppaciente.setitem(resul. //este es un truco del datawindows."fecha_naci").com/ ."historia_clinica"). //Mostramos el mensaje mas un mensaje de error del SQL end if FUNCION PARA CONECTAR UN DATAWINODW //mas el parámetro Argumento Type = datawindow Argumento Name=dw_control () //con esta función podemos conectar cualquier datawindow dw_control.webuda. dw_control. close eliminar. RGB(255.getitemNumber(il_resul. DATAWINDOWS //Muestra un rectángulo que indica en que registro se encuentra el foco dw_temppaciente. para darle color a una fila y a la otra no //lo encuentras en Background/color (en el cuadrado)/y insertamos esta línea de código IF (Mod(GetRow(). else messagebox("ERROR".SQLErrText).255.255).pa_fnaci=odw_temppaciente. paciente. execute eliminar. if sqlca. fetch eliminar into :ver2.255. //tipo Date //setitem Ingresa un dato en una li_fila y columna indicada en un DataWindow dw_temppaciente. VERIFIQUE ~r~n"+SQLCA.sqlcode=0 then commit. RGB(241.getitemString(il_resul.255)) //getitem: Obtiene un data tipo cadena de una fila y columna especificada en el DataWindow //editk mask //datawindow //tipo de dato //numero de fila //el campos em_historia.text).getitemdate(li. //es una funcion para conectar un datawindow messagebox("MENSAJE".retrieve()."historia_clinica".

Autor: Juarez Campos Jean Piere //rowcount() nos permite contar una datawindow dw_temppaciente.reset().rowcount().//aquí me busca el parámetro enviado. End If //se elvalua el boton a trabajar //Actualizar y Anular datos del datawindows li_result=dw_print.getItemString(ii_fila.Object.retrieve(Date(fnaci).Object.idgrado [fila] = 'S' then cont++. (fnaci y turno) son parámetros enviados para el datawindow //dentro de un datawindows para activar los botones a usar ( buttonclicked ) string ls_Object.text)+"'"). historia=dw_print. //con este determinamos la historia clinica seleccionada ii_fila = row.columna[num_fila] if dw_paciente. //reset() limpia un datawindow o borra los datos que tiene almacenados dw_tempdiagnostico. dw_paciente.update().settransObject(SQLCA). //exclusivo para reportes dw_diario. //obtener un dato del dw If ls_Object = "cb_actualizar" Then open(w_nacido_actu). end if //guarda o graba //anula todo dato modificado RomeoSoft – http://romeosoft."historia_clinica"). end if //busqueda normal en un datawindows dw_paciente.webuda. //objeto relacionado con los botones del dw ls_Object = String(dwo. else rollback.com/ . dw_1.turno). //una conexión normal dw_diario.name).setFilter("idcarpeta='"+trim(em_ncarpeta. if li_result=1 then commit.Filter(). //obtener un dato en especifico del datawindow.

//mensaje de exclamacion MessageBox("ERROR".webuda.Exclamation!).Autor: Juarez Campos Jean Piere TIPOS DE MESSAGEBOX icon (optional) · Information! (Default) · StopSign! · Exclamation! · Question! · None! por defecto Alto Exclamación Pregunta Nada button (optional) · · · · · · OK! – solo con el botón OK OKCancel! – los botones OK y Cancelar Botones SI o No YesNo! – Botones SI. //un mensaje SI o No en una condición.setfocus(). si es verdadero realiza la operación if MessageBox("TITULO".YesNo!."SELECCIONE UN REGISTRO VÁLIDO").Question!. end if RomeoSoft – http://romeosoft.2)=1 then //operación a realizar end if TECLA ENTER //el keydown verifica si la tecla pulsada fue un enter para poder realizar la operación if keydown(KeyEnter!) then //operación a realiza dw_busqueda. Reintentar y Ignorar Ejemplos //mensaje de informacion MessageBox("ERROR". NO y Cancelar YesNoCancel! – Botones Reintentar y Cancelar RetryCancel! – AbortRetryIgnore! – Botones Abortar."SELECCIONE UN REGISTRO VÁLIDO"."CONTENIDO".com/ .

"cod_dia"). //funcion //editk mask //datawindow //el campo a buscar ng_busquedasensitiva(this.dw_busqueda. //mi función ng_busquedasensitiva if len(trim(em_control.Autor: Juarez Campos Jean Piere FUNCION DE BUSQUEDA SENSITIVA //para mejor presentación.text)+"%'").setFilter(ng_campo+" like '%"+trim(em_control.text))>0 then //si el numero de caracteres ingresados en el editmask es mayor a 0 entonces se realizará la búsqueda sensitiva //setFilter recibe un campo de la BD : as_campo y con like de sql ire buscando por los caracteres del editmask dw_control.webuda.com/ . por favor verificar el tipo de evento ya que se a creado un nuevo evento con lo siguiente pbm_keyup después de haber presionado alguna tecla. RomeoSoft – http://romeosoft.

//Como no ha recibido ningún dato muestra todos los datos por defecto dw_control. w_hclinica.insertrow(0) // otro formulario (w_hclinica) //Cambia la posición de li_fila pero no la Columna.Exclamation!).scrolltorow(li_fila)."descripcion")."cod_cat".setitem(li_fila.dw_tempdiagnostico.getItemString(ii_fila. codigo_dia=dw_busqueda.setFilter(""). // Inserta una li_fila en un DataWindow.descripciones). descripciones=dw_busqueda. else //en caso de que no se haya ingresado ningun caracter o se borra todo los caracteres del aem_control //No recibe ningún dato por tanto no se produce ninguna búsqueda dw_control..dw_tempdiagnostico. end if ENVIAR UN DATOS DE UN DATAWINDOW A OTRO DATAWINDOW DESDE OTRO FORMULARIO try int li_fila. string codigo_dia.setitem(li_fila. // datawindow del otro formulario //asignamos los datos al campo del temporal_diagnostico w_hclinica."cod_dia")."cod_dia".dw_tempdiagnostico."SELECCIONE UN REGISTRO VÁLIDO". en la posición especificada.getitemString(ii_fila.codigo_dia).dw_tempdiagnostico."cod_cat").Filter(). li_fila=w_hclinica."descripcion". codigo_cat.Filter(). w_hclinica. RomeoSoft – http://romeosoft.Autor: Juarez Campos Jean Piere //luego de haberse recibido el(los) caracter(es) se realiza el filtro y muestra los datos que coinciden con el tipo de búsqueda dw_control..getItemString(ii_fila. descripciones.webuda. codigo_cat=dw_busqueda.dw_tempdiagnostico.com/ . end try //en el evento itemfocuschange ahí que poner lo siguiente ii_fila = row.setitem(li_fila. close(parent). en este caso a la li_fila insertarda w_hclinica. catch (dwruntimeerror mierrorendw ) messagebox("ALERTA".codigo_cat).

//GetSelectDate(fecha_ini) fecha_ini es la que recibe el valor del mc_fecha num=mc_fecha. //con el RelativeDate(fecha_inicio. //asignación de una variable a un objeto em_pro_ap.text = ap.6).webuda. COMANDOS BASICOS //con este comando estamos cerrando una ventana close(parent).enabled=true. //asignación del color del fondo de un objeto.200).BackColor = RGB(255.200.GetSelectedDate(fecha_ini).setfocus().Autor: Juarez Campos Jean Piere MONTH CALENDAR Date fecha_ini. //contar un objeto len(em_codigo.text) RomeoSoft – http://romeosoft. //con esta consulta podemos determinar el número de la semana ** SELECT WEEKOFYEAR(‘2009-11-05’)as semana. fecha_fin. //activamos el boton agregar dia y desactivamos con false cb_agregar_dia. mejor dicho cambiamos el fondo em_historia.6) 6=es el numero a aumentar fecha_fin=RelativeDate(fecha_ini.com/ . //asignación del foco em_historia.

Sign up to vote on this title
UsefulNot useful