PREGUNTAS CONTESTADAS - Delphi

 Hay un total de 680 Preguntas.<<  >> 

    Pregunta:  59571 - SUMAR DIAS A UNA FECHA DETERMINADA
Autor:  Natalia steimbach
hola! tengo un problema con el uso de las fechas. tengo una base de datos creada en access e inserto y consulo desde delphi.(sin usar #, sino convirtiendo la fecha a string).
lo que necesito es que de una fecha determinada le sume 15 dias, porque lo q en este momento me da como resultado es cualquier fecha y no la deseada.
ej 09/12/2008 + 15 dias tiene que ser 24/12/2008 y arroja como resultado 30/12/1899.
  Respuesta:  Luis Felipe García Gutiérrez
Buen día... para sumar días a fechas yo no he tenido mayores inconvenientes, siempre he hecho exactamente lo que describes y he tenido los resultados esperados, te recomiendo revisar los tipod de variables que intervienen en la operación. No obstante bien se podría utilizar la función DecodeDate(fecha,Ano,Mes,Dia), la cual separa la fecha en las variables predefinidas Ano, Mes y Dia, después de ello sumar los días a la variable Dia y empezar a hacer los ajustes a las variables Mes y Año (dependiendo de la cantidad de días a sumar, teniendo en cuenta la cantidad de días que tiene cada mes y cuando se debe incremetar el año.

Espero haber resuelto en alguna forma la inquietud, de no ser así, por favor escríbe a mi correo.

    Pregunta:  59582 - ¿COMO PUEDO PONERLE UN FOCUS A UN EDIT?
Autor:  la baby
Hola!

Tengo esta decision:
if (edit1.text)='' then begin
showmessage('falta el campo nombre por llenar')
end;

pero cuando los depuro que me da el mensaje, despues me da un error, por eso quiero saber como poner un foco para que cuando dejen un campo vacio ponga el foco en el edit vacio.
  Respuesta:  nelson
if (edit1.text)='' then begin
showmessage('falta el campo nombre por llenar')
edit1.setfocus;
end;
el se focus es para madar el cursor al edit para vorver a pedir los datos
  Respuesta:  Luis Felipe García Gutiérrez
intenta probando con la instrucción edit1.setfocus, después de la validación y sólo si el campo es vacio.

Suerte!

    Pregunta:  59693 - BASE ACCESS EN RED
Autor:  Adry Duran
Hola, hice un programa que funciona muy bien en una maquina, pero ahora lo tengo que conectar con otra en red, y no me deja abrir la base de datos (access) en la segunda maquina, me dice que esta en uso. Hay alguna manera de usar la misma base al mismo tiempo y que efectue alta, baja y modificacion en ambas. Muchas gracias por la ayuda.
  Respuesta:  nelson mateo
lo primero que deves especificar que usaste para trabajar con esa base de datos ejemplo ado , dbe,dbe con odbc o dbase o tras componentes para uno tener mas claro que contestarte al respecto.
  Respuesta:  Adry Duran
Muchas Gracias!!!
Funciona muy bien.
Saludos
Adry
  Respuesta:  Luis Felipe García Gutiérrez
Hola... Lo primero que debes hacer es establecer el nivel de seguridad de la BD, eso lo haces defiendo perfiles de grupos y usuarios a la base de datos directamente en access; luego se comparte la carpeta que contiene la BD en el equipo servidor, otorgando los permisos y la seguridad necesaria a cada usuario de la red que tendrá acceso a la misma por intermedio del programa; es importante que sobre el archivo de access visto por el explorador se hace clic con el botón alterno para dar permisos a los usuarios, de no hacerlo genera un mensaje de error por falta de permisos.

Luego se conecta como unidad de red la carpeta compartida en cada equipo cliente, permitiendo hacer la configuración como si fuese local del origen de datos y listo.

Mucha suerte!

    Pregunta:  60317 - ¿COMO UTILIZAR LA FUNCION LOCATE EN DELPHY?
Autor:  Nelli perez gonzales
estoy programando en delphy y necesito saber un codigo para usar la funcion locate, es decir que me envie un mensaje cuando un dato se aya duplicado utilizando esta funcion en el momento de correr el progama.
  Respuesta:  nelson nmateo
el problema es que no se si es en tablas o en archivo .txt
pero voy a asumir que esn tablas supongamos que tienes una tabla articulos con los siguente escalas eje cod,descripcion,cantidad etc
quires bucar mediante un edit
es asi
dm.articulo.locate('descripcion', edit.text,[]);
eso es el evento en onclip

otra forma es asi
Table1.Locate ('Producto','CocaCola',[]);

tambien lo puedes hacer con finkey
este es un ejemplo con finkey

If Table1.FindKey([Edit1.Text]) = True Then
ShowMessage('Producto Localizado')
Else
ShowMessage('Producto no encontrado');

    Pregunta:  60381 - COMO BUSCAR ARCHIVOS MOSTRANDO EL PROGRESO
Autor:  albe
Amigos, estoy programando un antivirus, y me hace mucha falta saber como puedo buscar archivos (de la forma más rapida y eficiente), y a la vez ir mostrando el progreso de la busqueda, tal y como hacen los antivirus.

Yo logre hacer esto ya, pero creo que de una forma muy ineficiente. Yo primero buscaba los archivos sin escanearlos, solo para saber cuantos habia y despues buscaba de nuevo todos los archivos y mediante unos calculos en un progressbar lograba mostrarle al usuario el estado de la busqueda. Como todos saben esto es super ineficiente porque:

1- Realizo 2 busquedas en vez de 1
2- El programa (antivirus), se demora al iniciar la busqueda a los ojos del usuario.

Me seria de muchisima ayuda que me ayudaran en esto amigos.

Gracias.....
  Respuesta:  Danilo Llerena
Primero te felicito por hacer un antivirus, no es nada facil, segundo con respecto a tu pregunta, un antivirus debe hacer una busqy¡ueda en toda la unidad seleccionada para esto yo haria lo siguiente =
Total := DiskSize(DA) - DiskFree(DA); esto me da el total de espacio en bytes que la unidad tiene ocupada, luego en la busqueda simplemente tomas el tamaño del archivo y calculas cuanto representa porcentualmente del total obtenido con la formula anterior y ese resultado es el incremento del progressbar, esto funciona para todo el disco, otra cosa es para una carpeta especifica, creo que en ese caso tu planteamiento es una buena opcion

    Pregunta:  60991 - COMO SACAR LA DIFERENCIA DE DOS FECHAS EN DELPHI32
Autor:  matias alvarez
como sacar la diferencia de dos fechas en delphi32 por ejemplo
22/02/2009 a 23/03/2009 muchas gracias por adelantado
  Respuesta:  Carlos Enrique Velez Farak
Para calcular la diferencia de dos fechas te envio mi rutina
function CuantosDias(ff, fi : TDateTime) : Integer;
var yi,
yf : Integer;
begin
if ff > fi then
begin
yf := Year(ff);
yi := Year(fi);
Result := (yf*360 + Month(ff)*30 + dias(ff)) -
(yi*360 + Month(fi)*30 + dias(fi));
end
else
Result := 0;
end;

    Pregunta:  61037 - QUISIERA SABER COMO SE RESTA UNA FECHA DE OTRA EN UN FORMULA
Autor:  matias alvarez
quisiera saber como se puede restar una fecha de otra y que salga el resultado por un edit muchas gracias por adelantado
  Respuesta:  Antonio Borland
Hola..

Primero debes convertir tus variables donde almacenas las fechas (Fecha Inicio, Fecha Final) de string a Date y despues es una simple resta, aunque el resultado no lo he comprendido, mas sin embargo si a una fecha le restas un número (que son días) si lo hace mas coherente

Ejemplo : Resta de Fechas.

Edit3.Text:= DateToStr(StrToDate(Edit1.Text) - StrToDate(Edit2.Text) );

Edit1.Text=12/05/2009
Edit2.Text=13/05/2009
Edit3.Text=======29/12/1899 (No se por que)

DateToStr : Convertita el resultado en Date a Cadena para que lo puedas manejar..
StrToDate: COnvierte la cadena a Fecha para que se pueda manejar como fecha y hacer las operaciones correspondientes

Ejemplo: Restar/Sumar Dias a Fechas

Edit3.Text:= DateToStr(StrToDate(Edit1.Text) - 5);

Edit1.Text=12/05/2009
Edit3.Text=======7/05/2009 lo mismo si le sumas daría 17/05/2009
y tambien lo puedes hacer ocn meses , indicando el formato.

Espero te sirva de ayuda. Bye

    Pregunta:  61147 - MODIF DATOS DE TABLA CON DATOS QUE SE ESTAN INSERTANDO E OTR
Autor:  Antonio Perez
Hola a todos.
Necesito una ayudita.
El asunto es que necesito actualizar los datos de una tabla con los datos que se estan ingresando a otra tabla.
Tengo una tabla Items_Venta donde estan los datos correspondientes a cada venta, y la tabla Estado_Bodega que muestra el contenido de lo que existe en el momento en la Bodega. Lo que necesito es que al hacer una vanta la existencia en Bodega se actualice.
uso Firebird 1.5 y delphi 7. Esto lo he hecho con triggers desde Firebird, pero necesito hacerlo desde delphi, para no tener el codigo abierto.

Gracias de antemano al que me pueda ayudar.
  Respuesta:  Luis Felipe García Gutiérrez
revisa éste hilo...

http://www.lawebdelprogramador.com/preguntas/vercontestada.php?pagina=1&id=23&texto=Delphi#63036

    Pregunta:  61179 - GUARDAR UN JPG EN UNA ESTRUCTURA DE DATOS
Autor:  Mario EAG
Hola, necesito un favor enorme, estoy utilizando delphi 7, necesito con urgencia la manera de almacenar un archivo de tipo TYPE que guarde los siguientes campos:
nombre, direccion, documento de identdad y foto
ahora tengo esto algo como esto
type
persona=Record
nombre:string[30];
apellido:string[30];
doc:string[8];
foto: ?????; //quiero que sea un jpg
end;
lo que no puedo es el almacenar el jpg, ¿maestros, como se hace?
guardar, abrir, desplegar....me estoy volviendo mono
Les agradezco de antemano
Un abrazo enorme
  Respuesta:  Erwin Alejandro Perez Escobedo
Primero que nada, si es a un archivo necesitaras asignar memoria suficiente para cualquier imagen desde el principio, por lo que el tamaño del campo foto debera ser suficientemente grande como para alojar cualquiera de las imagenes que planees almacenar.
Segundo, usa TStringStream para obtener una cadena de texto que represente la imagen, esto lo puedes hacer asi:
1.- Guardas la imagen en el stream, supongo que la tendrias en un TImage:
Image1.Picture.Graphic.savetoStream(aStream);
(aStream : TStringStream)
2.- Lees de aStream la cadena de texto:
aStream.Seek(0, soFromBeggining); // Correr al principio para leer desde ahi.
sFoto:= aStream.DataString;
persona1.foto:=sFoto;
(Asumo foto: String[1000000]; para un espacio de unos 900kb)

Para mostrar la foto:
1.- Lees el texto:
sFoto:=persona1.foto;
aStream.WriteString;
aStream.Seek(0, soFromBeggining); // Colocarnos al principio del stream.
aFoto.LoadFromStream(aStream); // Aqui aFoto: TJPEGImage; se encuentra en la Unit JPEG;
Image1.Picture.Graphic:=aFoto;

Claro que falta el codigo para inicializar el stream y el TJPGImage y para liberar la memoria. te lo dejo de tarea.

Espero te sirva.

    Pregunta:  61739 - TECLADO CON BASE DE DATOS
Autor:  JUAN CARLOS peña
imaginense que su teclado tiene asignado otras teclas ademas de las que tiene
son 14 teclas y tengo que hacer un programa que me permita agregarle a cada tecla una serie de articulos pertenecientes a una base de datos un articulo por tecla ya la base de datos ya esta conectada a delphi
como hago
  Respuesta:  Luis Felipe García Gutiérrez
Pues bien... éste es el código con el cual se capturan teclas presionadas; éste código se coloca en el evento del formulario FormKeyDown:

if (ssCtrl in Shift) and (chr(Key) in ['c','C']) then
begin
end;

Ya dentro se puede vaciar el código que necesites; espero haber podido ayudar a resolver la duda.

|<  <<  58 59 60 61 62 63 64 65 66 67 68  >>  >|