• Sábado 4 de Mayo de 2024, 18:35

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ushedipe

Páginas: [1] 2
1
Delphi / Re: Problema Con Colores
« en: Jueves 31 de Enero de 2008, 18:11 »
:comp: no se si el objeto del proyecto contemple que se haga de esa manera, pero en la solapa Dialogs se encuentra un objeto llamado TColorDialog, que se ejecuta de la misma manera como los cuadros de diálogo para abrir o salvar archivos, pero por si no lo conoces aquí va el código:

Código: Text
  1.   with ColorDialog do
  2.   begin
  3.     if Execute then
  4.       begin
  5.          //lo que necesites hacer con el color...
  6.       end;
  7.   end;
  8.  

éste código lo puedes incluir en un botón.

suerte  :ph34r:

2
Delphi / Re: Suma Total De Un Campo En Un Dbgrid
« en: Lunes 26 de Noviembre de 2007, 22:17 »
:comp: pese a que la fecha de formulación de la pregunta data desde hace ya 3 años y medio, me pareció prudente dar alguna respuesta, no se sabe si a alguien mas le puede servir!  :ph34r:

3
Papelera / Re: necesito ver si alguien tiene el codigo del ahorcado en
« en: Miércoles 21 de Noviembre de 2007, 17:10 »
:comp: yo lo tengo, pero es demasiado largo para ponerlo en el foro... a quien le interese con gusto le envío los tips para hacerlo...

suerte!!! :ph34r:

4
Delphi / Re: Suma Total De Un Campo En Un Dbgrid
« en: Miércoles 21 de Noviembre de 2007, 16:39 »
:comp: la forma más ágil de realizar esa sumatoria es recorrer la consulta en el momento que se hace el draw del DBGrid; para ello se verifica que la consulta no esté vacía:
Código: Text
  1. if not Query.isempty then
  2.  
.
se inicializa en cero la variable que contendrá la sumatoria:
Código: Text
  1. suma:=0;
  2.  
.
luego se vá al principio de la consulta:
Código: Text
  1. Query.first;
  2.  
.
y empieza a recorrer la consulta hasta que llegue al final:
Código: Text
  1. while not Query.EOF do
  2.  
.
una vez dentro del ciclo se va acumulando en una variable el valor requerido:
Código: Text
  1. suma:=suma+Query.FieldbyName('valor').Value;
  2.  
.
se avanza al próximo registro:
Código: Text
  1. Query.next;
  2.  
y... listo con el valor almacenado en suma tienes para procesarlo o mostralo según la necesidad.
Suerte!!! :ph34r:

5
Delphi / Re: Claves
« en: Miércoles 21 de Noviembre de 2007, 15:57 »
:comp: aparentemente no se ve tan complejo, pero miremos...

entiendo por lo de la asignación del número para las claves dadas de alta, como un código que las marca como utilizadas; para ello sugeriría crear una tabla en la BD que contenga el histórico de las claves, incluyendo la que se encuentre vigente, permitiendo diferenciarlas por el código (número) que las distinguiría como "dada de alta" o "en uso".

en cuanto a lo de la generación aleatoria por la aplicación, se podría hacer uso del random para que generara números aleatorios los cuales serían los códigos ascii de la contraseña generada, para la conversión de número a caracter se puede utilizar la función char(); posteriormente se ingresa en la tabla con el identificador del usuario a quien se le asocie, se da de baja la anterior... y listo.

Suerte!!! :ph34r:

6
Delphi / Re: Como Eliminar Un Registro Con Claves Iguales
« en: Miércoles 21 de Noviembre de 2007, 15:45 »
:comp: yo pensaría que en el código sql que ejecutaría el Delete, debería incluirse la sentencia First, para que borre únicamente el primer registro que encuentre con los parámetros que se envíen.

Suerte!!! :ph34r:

7
Delphi / Re: No Me Muestra El Valor Seleccionado El Dbcombobox
« en: Miércoles 21 de Noviembre de 2007, 14:59 »
:comp: Bueno...

lo primero sería verificar que la consulta si está arrojando resultados, trae alguna cosa como respuesta.

después verificar que los parámetros que se envían para la ejecución de la consulta (si los tiene), se están mandando en el orden correcto.

luego corroborar que el DataSource al que se está enlazando en la propiedad ListSource del DBLCBox es el que efectivamente se vinculó al objeto Query que contiene la consulta.

posteriormente asegurarse que los campos que se relacionan en las propiedades ListField y KeyField del DBLCBox, son los requeridos y contienen datos para mostrar.

yo no acostumbro hacer nada con las propiedades DataField y DataSource, por ello dejo éstos campos en blanco.

Nuevamente... Suerte! :ph34r:

8
Delphi / Re: No Se Me Llena El Dblookupcombobox
« en: Martes 20 de Noviembre de 2007, 15:24 »
:comp: Ésta pregunta es esacta a la anterior, no deberías preguntar varias veces lo mismo, puesto que llenarás el foro de duplicados; no obstante, y como no sabesmos cúal veas primero aquí va de nuevo:

los pasos a seguir para mostrar el resultado de una consulta en un DBLCBox son los siguientes.

en diseño:
- enlazar las propiedades del DBLCBox así:
ListSource: que se liga al DataSource del Objeto Query que contiene la consulta,
para que traiga el resultado de la misma.
ListField: este es el campo que aparecerá en la lista desplegable del DBLCBox, de
donde el usuario hará selección; valor que debe estar contenido en el resultado
de la consulta.
KeyField: almacena el código para procesar (en caso de requerir hacer algún
cálculo o procedimiento adicional); valor que debe estar contenido en el
resultado de la consulta.

en ejecución:
- bien puede hacerse en el evento OnEnter del DBLCBox, es ejecutar la consulta;
es importante seguir cada uno de los pasos para el funcionamiento:
Query.Active:=true; Activa.
Query.Close; Cierra.
Query.Params[0].AsInteger:=StrtoInt(ECod.text); Envía Parámetros (si tiene)
Query.ExecSQL; Ejecuta la Consulta.
Query.Open; Abre para acceder al
resultado.

Suerte!!!  :ph34r:

9
Delphi / Re: No Me Muestra El Valor Seleccionado El Dbcombobox
« en: Martes 20 de Noviembre de 2007, 15:21 »
:comp: los pasos a seguir para mostrar el resultado de una consulta en un DBLCBox son los siguientes.

en diseño:
- enlazar las propiedades del DBLCBox así:
  ListSource: que se liga al DataSource del Objeto Query que contiene la consulta,
    para que traiga el resultado de la misma.
  ListField: este es el campo que aparecerá en la lista desplegable del DBLCBox, de
    donde el usuario hará selección; valor que debe estar contenido en el resultado
    de la consulta.
  KeyField: almacena el código para procesar (en caso de requerir hacer algún
    cálculo o procedimiento adicional); valor que debe estar contenido en el
    resultado de la consulta.

en ejecución:
- bien puede hacerse en el evento OnEnter del DBLCBox, es ejecutar la consulta;
  es importante seguir cada uno de los pasos para el funcionamiento:
  Query.Active:=true;                                                  Activa.
  Query.Close;                                                            Cierra.
  Query.Params[0].AsInteger:=StrtoInt(ECod.text);       Envía Parámetros (si tiene)
  Query.ExecSQL;                                                        Ejecuta la Consulta.
  Query.Open;                                                             Abre para acceder al
                                                                                   resultado.
 
Suerte!!! :ph34r:

10
Delphi / Re: Duda Sobre El Dbgrid!!!
« en: Miércoles 7 de Noviembre de 2007, 17:54 »
:comp: es fácil... sólo recorres la consulta que te llenó el bdgrid y a medida que la vas recorriendo, realizas las validaciones que te indican qué datos van en qu`´e tables, ésto por medio de inserciones en la BD, y listo!

La sintaxis sería mas o menos así:

ejecutas la consulta

  QLogin.Active:=true;
  QLogin.Close;
  QLogin.Params[0].AsString:=EUsu.text;
  QLogin.ExecSQL;
  QLogin.Open;
  if QLogin.isempty then
    showmessage('consulta vacia')
  else
    begin
       QLogin.first;
       while not (QLogin.Eof) do
         begin
            //validaciones
            //nserciones
            QLogin.next;
         end;
    end;

y listo... mucha suerte!!! :ph34r:

11
Delphi / Re: Dblookupcombobox
« en: Jueves 11 de Octubre de 2007, 15:54 »
:comp: la sintaxis correcta es:

DBLookupComboBox.keyvalue:=valor;

suerte!!! :ph34r:

12
Delphi / Re: Actualizar Un Dblookupcombobox
« en: Martes 2 de Octubre de 2007, 16:17 »
:comp: en ocasiones no es suficiente con poner sólo el DBLookupComboBox.refresh, entonces en esos casos es conveniente volver a ejecutar la consulta y entonces si DBLookupComboBox.refresh...

Suerte :ph34r: !!!

13
Delphi / Re: Problemas Con Un Dbcombobox En Delphi
« en: Martes 2 de Octubre de 2007, 16:12 »
:comp: lastima que la sugerencia llegue tan tarde pese al mensaje de URGENTE, pero bueno, mas vale tarde que nunca; además no sabemos si le podría servir a alguien mas.

Yo lo que hago es utilizar DBLookupComboBox, éstos tienen tres campos para mi principales; LisSource: que lo amarra al DataSource del objeto Query que ejecuta la consulta, ListField: en el cual seleccionamos el campo que queremos mostrar en la lista desplegable y KeyField: que contiene el id del valor mostrado, entonces en el evento OnKeyPress o OnClick o OnExit del DBLookupComboBox que contiene los tipos de equipo, se ejecutaría la segunda consulta enviando como parámetro para la consulta el DBLookupComboBox.keyvalue una vez seleccionado un registro en particular, y listo tenemos el filtro de la segunda consulta en otro DBLookupComboBox para la selección del usuario.

Suerte :ph34r: !!!

14
Delphi / Re: Funcion En Delphi
« en: Martes 2 de Octubre de 2007, 15:54 »
:comp: yo sugeriría que se pasaran los datos a String's, y que con funciones de cadena como el Pos(SubCadena,Cadena) que devuelve la posición de la primera ocurrencia exacta de la subcadena en la cadena o cero si no existe; se determinara si la sub cadena (Smallint) está contenida en la cadena(DateTime)

Suerte  :ph34r: !!!

15
Delphi / Re: Problema Con Registros Duplicados
« en: Martes 2 de Octubre de 2007, 15:45 »
:comp: cómo yo lo veo, la consulta sería mas o menos así:

select campo1, campo2
from tabla
where (count(fecha>(now()-7))=0) and (count(fecha<(now()-7))>1);

espero haber podido ayudar en algo.

Suerte :ph34r:

16
MS Access / Re: Consulta Sobre La Misma Tabla
« en: Viernes 28 de Septiembre de 2007, 19:23 »
:comp:  si el campo que contiene el código sólo tiene éste dato sería muy fácil hacer el filtro utilizándo la función LIKE, que permite recuperar registros conociendo parte de la cadena que conforma; la sintaxis sería mas o menos así:

SELECT * FROM tabla WHERE codigo LIKE '*001*';

Espero haber ayudado en algo.

Suerte!!! :ph34r:

17
MS Access / Re: Ayuda.
« en: Viernes 28 de Septiembre de 2007, 19:15 »
:comp: bueno... la duda que me asalta es si cuando menos te deja abrir la BD, de ser así intenta compactarla desde access:

Herramientas->Utilidades de la Base de Datos->Compactar y Reparar Base de Datos.

si no, has como si fueces a crear un Origen OBDC por el Panel de Control->Herramientas Administrativas; que desde allí hay una opción que permite compactar la BD.

Suerte... :ph34r:

18
MS Access / Re: Consulta De Comparación
« en: Viernes 28 de Septiembre de 2007, 19:09 »
:comp: Hola... pensaría yo que la mejor forma de hacerlo sería haciendo un cruce de consultas, en la primera llamarías de la tabla pedidos todos aquellos registros cuyo código de producto sea igual al buscado en la cual se sumarían las cantidades solicitadas; lo mismo harías con la tabla ventas; y por último se restarían los valores obtenidos y daría exactamente el resultado que buscas.

Mucha suerte!!! :ph34r:

19
MS Access / Re: Consulta De Actualizacion
« en: Viernes 28 de Septiembre de 2007, 19:04 »
:comp:

Pues bien aquí van los ejemplos...

-Actualización:
UPDATE ano SET ano.smlv = 500000
WHERE ano.ano=2007;

-Eliminación:
DELETE ano.*
FROM ano
WHERE ano.ano=2007;

Suerte !!!  :ph34r:

20
MS Access / Re: Problema Con Registros Duplicados
« en: Viernes 28 de Septiembre de 2007, 18:57 »
:comp: pues yo ne he usado la función pero ya usaste la función distinct en la consulta?; ésta lo que hace es que muestra una sóla vez el registro, sin importar cuantas veces está dublicado, claro está, que si además del id neccesitas que muestre la fecha, éste devolverá un registro del id por cada fecha distinta.

de todas maneras mucha suerte!!!  :ph34r:

21
MS Access / Re: Saldos
« en: Viernes 28 de Septiembre de 2007, 18:51 »
:comp: muy bien veamos... presumo que los pagos estan todos en una tabla aparte de en la que se encuentran los contratos; de ser así lo que yo sugiero es que se haga una consulta anidada, donde la interna traiga la sumatoria de los pagos realizados y ésta sumatoria restarla al valor del cotnrato, la sintaxis sería mas o menos así:

SELECT contato.valor-(SELECT SUM(pago.valor) As pagado from pago WHERE pago. contrato=:contrato) As saldo WHERE contrato.contrato=:contrato;

Espero haber aclarado la duda...

suerte! :ph34r:

22
Delphi / Re: Problema Con Sql Update
« en: Viernes 10 de Agosto de 2007, 18:02 »
:comp:

tendrías que verificar el tipo del dato que tienes que enviar (string o si es integer habría que cambiarlo con StrtoInt), por otra parte noto que en la sintaxis falta el ";" de final de la sentencia, justo donde envías la doble comilla sencilla y nada dentro de ella ''; además no estás dejando ningún espacio entre ComboBox1.text+ y where; el analizador sintactico va a ver como una sola palabra lo que te traiga el ComboBox1.text concatenado con el where.

Suerte :ph34r:

23
Delphi / Re: Dudas Con Dbgrid
« en: Viernes 10 de Agosto de 2007, 16:45 »
:comp: Hola... no sé que tan oportuna pueda ser la respuesta ahora, pero aquí va:

Para enviar los datos del BDGrid a los Edit, puedesd hacerlo mediante el evento OnCellClick y enviar los datos a los edit por medio de la siguiente línea por medio de objeto Query que te ejecuta la consulta que llena el bdgrid...
Edit1.text:=Query1.FieldbyName('campo').Value;

Para amarrar un PopupMenu al BDGrid, solamente se debe poner en la propiedad PopupMenu del BDgrid el que hayas puesto en el formulario, y realizar la programación de los eventos de la misma forma como se haría con el objeto Menu.

Espero haber satisfecho la duda. :ph34r:

24
Pascal / Re: Pequeña Ayudadita (recursividad)
« en: Miércoles 2 de Mayo de 2007, 20:29 »
:comp: pues no se si ésto solucione de alguna manera lo que pretenden hacer... tampoco creo que sea muy recursivo, pero en ocasiones las cosas simples se deben hacer simples.

Código: Text
  1. procedure impcad(i:integer);
  2. var
  3.   i:integer;
  4. begin
  5.   i:=0;
  6.   while i&#60;=Length(fr) do
  7.     begin
  8.       if length(fr[i])='.' then
  9.          writeln(fr[i]);
  10.        i:=i+1;  
  11.     end        
  12. end;
  13.  

...espero que sea útil! :ph34r:

25
Delphi / Re: Base Txt De Datos
« en: Martes 24 de Abril de 2007, 21:17 »
:comp: lo que he hecho es buscar en un RichEdit cargo un plano y en él busco una cadena específica, con el siguiente código...

   SelStart:=Pos(Edit.text,RichEdit.Text)-1;
   SelLength:=Length(Edit.text);
   SetFocus;

ahora si lo que pretendes es utilizar el plano como banco de información, deberías utilizar separadores entre los datos a fin de diferenciar los campos, y separarlos al momento de la consulta para hacer la visualización de la información.

para evitar problemas con lo de los registros duplicados, antes de hacer la inserción de una núeva línes (registro para éste caso) tendrías que realizar una búsqueda exhaustiva en todo el archivo buscando que las llaves no se repitan (por aquello de la integridad)

para lo de los filtros, tendrías que realizar la misma búsqueda, encontrando concordancias en el campo deseado e ir agregando las concordancias al resultado de la búsqueda.

espero haber sido de ayuda. :ph34r:

Páginas: [1] 2