Sie sind auf Seite 1von 7

Autor: Juarez Campos Jean Piere DOCUMENTACIN DE POWER BUILDER 11

CONSULTA DINAMICA Las consultas dinmicas 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 funcin 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); //ao-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 funcin 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/

Autor: Juarez Campos Jean Piere ELIMINAR UN DATO //Aplicando un procedimiento almacenado declare eliminar procedure for eliminar_paciente(); execute eliminar; fetch eliminar into :ver2; close eliminar; if sqlca.sqlcode=0 then commit; //Mostramos los cambios efectuados en el datawindows ng_odw_conexion(odw_temppaciente); //es una funcion para conectar un datawindow messagebox("MENSAJE","OPERACIN EFECTUADA CORRECTAMENTE"); else messagebox("ERROR","ERROR: NO SE EFECTU LA OPERACIN... VERIFIQUE ~r~n"+SQLCA.SQLErrText); //Mostramos el mensaje mas un mensaje de error del SQL end if

FUNCION PARA CONECTAR UN DATAWINODW //mas el parmetro Argumento Type = datawindow Argumento Name=dw_control () //con esta funcin podemos conectar cualquier datawindow dw_control.setTransObject(SQLCA); dw_control.retrieve();

DATAWINDOWS //Muestra un rectngulo que indica en que registro se encuentra el foco dw_temppaciente.SetRowFocusIndicator(FocusRect!);

//este es un truco del datawindows, para darle color a una fila y a la otra no //lo encuentras en Background/color (en el cuadrado)/y insertamos esta lnea de cdigo IF (Mod(GetRow(),2)=0, RGB(255,255,255), RGB(241,255,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 = odw_temppaciente.getitemString(il_resul,"historia_clinica"); //tipo String //tipo Number em_historia.text = odw_temppaciente.getitemNumber(il_resul,"historia_clinica"); paciente.pa_fnaci=odw_temppaciente.getitemdate(li,"fecha_naci"); //tipo Date

//setitem Ingresa un dato en una li_fila y columna indicada en un DataWindow dw_temppaciente.setitem(resul,"historia_clinica",em_historia.text);

RomeoSoft http://romeosoft.webuda.com/

Autor: Juarez Campos Jean Piere //rowcount() nos permite contar una datawindow dw_temppaciente.rowcount();

//reset() limpia un datawindow o borra los datos que tiene almacenados dw_tempdiagnostico.reset(); //obtener un dato en especifico del datawindow, dw_1.Object.columna[num_fila] if dw_paciente.Object.idgrado [fila] = 'S' then cont++; end if

//busqueda normal en un datawindows dw_paciente.setFilter("idcarpeta='"+trim(em_ncarpeta.text)+"'"); dw_paciente.Filter();

//exclusivo para reportes dw_diario.settransObject(SQLCA); //una conexin normal dw_diario.retrieve(Date(fnaci),turno);//aqu me busca el parmetro enviado, (fnaci y turno) son parmetros enviados para el datawindow

//dentro de un datawindows para activar los botones a usar ( buttonclicked ) string ls_Object; //con este determinamos la historia clinica seleccionada ii_fila = row; //objeto relacionado con los botones del dw ls_Object = String(dwo.name); historia=dw_print.getItemString(ii_fila,"historia_clinica"); //obtener un dato del dw If ls_Object = "cb_actualizar" Then open(w_nacido_actu); End If //se elvalua el boton a trabajar

//Actualizar y Anular datos del datawindows li_result=dw_print.update(); if li_result=1 then commit; else rollback; end if

//guarda o graba //anula todo dato modificado

RomeoSoft http://romeosoft.webuda.com/

Autor: Juarez Campos Jean Piere TIPOS DE MESSAGEBOX icon (optional) Information! (Default) StopSign! Exclamation! Question! None!

por defecto Alto Exclamacin Pregunta Nada

button (optional) OK! solo con el botn OK OKCancel! los botones OK y Cancelar Botones SI o No YesNo! Botones SI, NO y Cancelar YesNoCancel! Botones Reintentar y Cancelar RetryCancel! AbortRetryIgnore! Botones Abortar, Reintentar y Ignorar

Ejemplos //mensaje de informacion MessageBox("ERROR","SELECCIONE UN REGISTRO VLIDO"); //mensaje de exclamacion MessageBox("ERROR","SELECCIONE UN REGISTRO VLIDO",Exclamation!); //un mensaje SI o No en una condicin, si es verdadero realiza la operacin if MessageBox("TITULO","CONTENIDO",Question!,YesNo!,2)=1 then //operacin a realizar end if TECLA ENTER //el keydown verifica si la tecla pulsada fue un enter para poder realizar la operacin if keydown(KeyEnter!) then //operacin a realiza dw_busqueda.setfocus(); end if

RomeoSoft http://romeosoft.webuda.com/

Autor: Juarez Campos Jean Piere FUNCION DE BUSQUEDA SENSITIVA //para mejor presentacin, por favor verificar el tipo de evento ya que se a creado un nuevo evento con lo siguiente pbm_keyup despus de haber presionado alguna tecla.

//funcion //editk mask //datawindow //el campo a buscar ng_busquedasensitiva(this,dw_busqueda,"cod_dia");

//mi funcin

ng_busquedasensitiva

if len(trim(em_control.text))>0 then //si el numero de caracteres ingresados en el editmask es mayor a 0 entonces se realizar la bsqueda sensitiva //setFilter recibe un campo de la BD : as_campo y con like de sql ire buscando por los caracteres del editmask dw_control.setFilter(ng_campo+" like '%"+trim(em_control.text)+"%'");

RomeoSoft http://romeosoft.webuda.com/

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 bsqueda dw_control.Filter();

else //en caso de que no se haya ingresado ningun caracter o se borra todo los caracteres del aem_control //No recibe ningn dato por tanto no se produce ninguna bsqueda dw_control.setFilter(""); //Como no ha recibido ningn dato muestra todos los datos por defecto dw_control.Filter(); end if

ENVIAR UN DATOS DE UN DATAWINDOW A OTRO DATAWINDOW DESDE OTRO FORMULARIO try int li_fila; string codigo_dia, descripciones, codigo_cat; codigo_dia=dw_busqueda.getItemString(ii_fila,"cod_dia"); descripciones=dw_busqueda.getitemString(ii_fila,"descripcion"); codigo_cat=dw_busqueda.getItemString(ii_fila,"cod_cat"); // Inserta una li_fila en un DataWindow, en la posicin especificada. li_fila=w_hclinica.dw_tempdiagnostico.insertrow(0) // otro formulario (w_hclinica) //Cambia la posicin de li_fila pero no la Columna... en este caso a la li_fila insertarda w_hclinica.dw_tempdiagnostico.scrolltorow(li_fila); // datawindow del otro formulario //asignamos los datos al campo del temporal_diagnostico w_hclinica.dw_tempdiagnostico.setitem(li_fila,"cod_dia",codigo_dia); w_hclinica.dw_tempdiagnostico.setitem(li_fila,"descripcion",descripciones); w_hclinica.dw_tempdiagnostico.setitem(li_fila,"cod_cat",codigo_cat); close(parent); catch (dwruntimeerror mierrorendw ) messagebox("ALERTA","SELECCIONE UN REGISTRO VLIDO",Exclamation!); end try

//en el evento itemfocuschange ah que poner lo siguiente ii_fila = row;

RomeoSoft http://romeosoft.webuda.com/

Autor: Juarez Campos Jean Piere MONTH CALENDAR Date fecha_ini, fecha_fin; //GetSelectDate(fecha_ini) fecha_ini es la que recibe el valor del mc_fecha num=mc_fecha.GetSelectedDate(fecha_ini); //con el RelativeDate(fecha_inicio,6) 6=es el numero a aumentar fecha_fin=RelativeDate(fecha_ini,6); //con esta consulta podemos determinar el nmero de la semana ** SELECT WEEKOFYEAR(2009-11-05)as semana;

COMANDOS BASICOS //con este comando estamos cerrando una ventana close(parent); //activamos el boton agregar dia y desactivamos con false cb_agregar_dia.enabled=true; //asignacin de una variable a un objeto em_pro_ap.text = ap; //asignacin del color del fondo de un objeto, mejor dicho cambiamos el fondo em_historia.BackColor = RGB(255,200,200); //asignacin del foco em_historia.setfocus(); //contar un objeto len(em_codigo.text)

RomeoSoft http://romeosoft.webuda.com/

Das könnte Ihnen auch gefallen