PREGUNTAS CONTESTADAS - Delphi≤nguaje=

 Hay un total de 680 Preguntas.<<  >> 

    Pregunta:  4760 - ADAPTAR UNA APLIACION A DIFERENTES RESOLUCIONES DE PANTALLA
Autor:  Sergio Santa
Quería saber si hay alguna forma de que adaptar el tamaño de los formularios a distintas resoluciones, es decir, yo tengo una aplicacion hecha a 1024*768 y quiero que al instarla en un pc con resolución de 800*600 salga bien. Se que se puede hacer de alguna forma y me podeis ayudar por favor responded.
Gracias, saludos
  Respuesta:  José E. Lopez
Por la largada de la respuesta esta en el archivo resp4760.txt

    Pregunta:  4763 - EDITAR COMPONENTES EN RUNTIME
Autor:  jonathan velasco
buenso dias, yo desarrollo en delphi5 y quiero saber la manera de editar en tiempo de ejecucion un componente, una especie de delphi en delphi, solo que solo va a ser una especie de interfaz en la que se pueden hacer formatos para polizas, pero tengo que poder editar(agrandar, achicar, cortar, pegar ,etc) cualquier componente , espero me puedan ayudar , y les agradesco de antemano.
  Respuesta:  Ernesto Cullen
No se si entiendo bien... si quieres modificar las propiedades de los componentes en tiempo de ejecucion se puede, tendrias que usar la informacion de tiempo de ejecucion (RTTI).
Algunas fuentes de informacion:
En ingles
- Delphi 3 Developers Handbook (Marco Cantu, J.Lam y otro) crean un Inspector de Objetos pero de tiempo de ejecucion
- Delphi in a nutshell (no me acuerdo el autor :(( muy bueno y para la version 5)

En castellano
- Guia de Desarrollo Delphi 5 (Texeira&Pacheco) intermedio pero en castellano

    Pregunta:  4771 - PASSWORD CON ACCESS
Autor:  Antonio Alba
Estoy realizando una aplicacion en delphi y con una base de datos access, pero siempre que intento abrir una tabla me pide el password,¿ Como puedo acceder a la base de datos de access, pasandole el password desde DELPHI.
Muchas gracias.
  Respuesta:  Gerald Corzo
Bueno, creo que yo tenia el mismo problema.

La idea es que en delphi se debe crear una coneccion y desactivar en esa coneccion prompt login de la propiedades de la coneccion.

Como se hace, pues tiene que adicionar un componente ADO que se llama ADOConection, y ahi definir una conexion, puede decirle crear el string conection y el tiene una interfaz bastante amigable para adicionar ODBC o cualquiera que quiera, y dentro de este tambien tiene un tab que le ayuda a hacer un browse a la Base de datos, que si tiene directamente el ODBC registrado, el nombre le aparece dentro de la lista.

Despues de adicionar la ADO conection, puede adiciona ADO Table y ADO query, con esto ya puede hacer de todo normalmente, usando Data source y Data controls.

Espero le sirva, no es muy detallado, pero me funciono
  Respuesta:  David Montes
Bueno, si no me equivoco puedes ir a la propiedad Params del objeto TTable o SQL, es decir, el objecto que relacionas con la base de datos que te interasa. También puedes desabiliar dicha opción si no deseas que te pida el psswd. Bueno pues dentro de los parámetro dentro del String uno de ellos es:

Password="ljñkñlk" //Aunque no se siva con comillas, yo no suelo usar lo de la clave.

Ten en cuenta que necesitas rellenar una série de parámetros más como el nombre de la tabla, etc... Si buscas información en la ayuda de Delphi tendrás algún ejemplo de dichos parámetros.

Es que yo programo en C++ Builder, pero es de Borland..!!, bueno no se si te he ayudado mucho, bye. un saludo
  Respuesta:  Miguel Lucero
Por la largada de la respuesta, esta en el archivo resp4771.txt.

    Pregunta:  4784 - UBICACIÓN DEL MOTOR DE BORLAND SOBRE UN CD
Autor:  Verónica García
Estoy desarrolando una aplicación en Delphi 5 que utiliza una base de datos local en formato Paradox. Mi intención es distribuirla en CD-ROM, y toda aplicación de bases de datos en Delphi necesita transportar el motor de bases de datos. ¿Hay alguna forma de que ese motor quede almacenado en el CD-ROM y la aplicación ´tire´ de éste a la hora de ejecutar para ahorrarse la instalación del motor en el ordenador del usuario?.
  Respuesta:  Ragnarok
No se la respuesta a tu pregunta, de hecho no se ni siquiera si es factible pero por si te interesa tengo un componente freeware que se llama BDE32 que sirve para poder ejecutar una aplicacion en un ordenador que no tenga instalado el BDE, lo unico que necesita este componente en la maquina del usuario es un directorio con las Dll's de este y ya esta. Espero haberte ayudado, y si por casualidad te interesa mandame un e-mail y te envio el componente, son solo 9Kb.

    Pregunta:  4787 - IMAGEN EN BASE DE DATOS
Autor:  Roberto Martinez Olvera
¿Alguien puede decirme como puedo guardar y leer una imagen en una base de datos informix, sin usar componentes ADO?. Estoy usando Delphi 5.
  Respuesta:  Gustavo Enriquez
Si lo que quieres es almacenar manualmente una imagen o cualquier tipo de archivo puedes utilizar un campo blob o binario y guardar manualmente el archivo, luego puedes leerlo de la misma manera. esto no requiere controles visuales, lo que podrías eventualmente es al leerlo almacenarlo en un componente timage, un poco engorroso verdad?.

si no quieres utilizar controles ado, puedes usar un driver de conexión odbc o sql-link y utilizar los controles nativos de delphi.

    Pregunta:  4832 - CONSULTAS LENTAS EN RED CON PARADOX
Autor:  Gustavo Ochoa Paniagua
Hola amigos programadores de Delphi
Estoy desarrollando una aplicación con base de datos Paradox y cuando utilizo el programa en la computadora local, este funciona de maravilla, pero cuando accedo desde una terminal este se vuelve demasiado lento cuando realizo una simple consulta y no tengo demasiados mas de 2500 registros aproximadamente.
Por favor ayudenme...

Gracias
  Respuesta:  Gustavo Enriquez
He tenido el mismo problema y yo he manejado archivos con 25000 registros.

El problema se presenta porque paradox en la red tiene que hacer bloqueo de registros por aquello de la multitarea. por lo cual la única manera que he encontrado para solucionar eso es tratar de hacer modificaciones en bloque y bloquear la tabla antes de la modificación.

No sé si exista otra manera de solucionar el problema, pero es la única forma que he encontrado.

    Pregunta:  4869 - NO SE ACUALIZAN LOS REGISTROS EN LAS TERMINALES CON PARADOX
Autor:  Gustavo Ochoa Paniagua Ochoa Panigua
Hola Amigos
En mi aplicación en red con Paradox, no se ve las actualizaciones entre las terminales solo se ve de manera local, es decir si modifico o adiciono en una terminal en la otra terminal no tengo los datos modificados. Como se accede desde las terminales a la base de datos.

Gracias por tu ayuda.
  Respuesta:  Gustavo Enriquez
Lo primero que tienes que verificar es que todas las terminales tengan el mismo archivo de red, el .net, esto lo hacer revisando en cada terminal en el idapicfg que el netdir este apuntando fisicamente al mismo archivo en la misma carpeta compartida en la red, inclusive tu paradox local debe tener el net dir a un directorio de red y no a uno local, ya que el bde consideraría esto como dos archivos diferentes de control de concurrencia.

si aún así no te funciona prueba haciendo un refresh a las tablas en la aplicación.
  Respuesta:  José Luis Freire
Probablemente te ocurrirá por que no lo estás grabando en las tablas, lo tienes en el buffer. Puedes utilizar la función del BDE, DBISaveChanges.

Si lo que pretendes es tener, por ejemplo varios Grids activados en distintos terminales y estos se refresquen según se introduzcan datos, tendrías que utilizar hilos de ejecución distintos, o en plan como más casero, refrescar a través de un Timer.

    Pregunta:  4886 - COMO HACER UN MENSAJERO INSTANTANEO PARA INTERNET
Autor:  Liyuan Garcia Caballero
Necesito saber cuales son los metodos o ejemplos que me sirvan para hacer un mensajero instantaneo por internet, al estilo de Yahoo Messenger o AIM, o cualquier otro mensajero por Internet.

Atentamente, Liyuan.
  Respuesta:  fernando ferr
Debes crear un socket server que recibiria todas las conexiones de los clientes los cuales tambien serian socket client.

Osea un server y un cliente ambos exes separados.
los controles socket de delphi sirven para ello.

y el server mantendria la base de datos de conexiones activas, los clientes envian la lista de sus contactos al server y este les avisa cuando alguno de su lista se conecta en tal caso los clientes ponen en modo online a esos usuarios.

Puedes hacerlo via UDP. por aqui cualquier cosa!
  Respuesta:  fernando ferr
Debes crear un socket server que recibiria todas las conexiones de los clientes los cuales tambien serian socket client.

Osea un server y un cliente ambos exes separados.
los controles socket de delphi sirven para ello.

y el server mantendria la base de datos de conexiones activas, los clientes envian la lista de sus contactos al server y este les avisa cuando alguno de su lista se conecta en tal caso los clientes ponen en modo online a esos usuarios.

Puedes hacerlo via UDP. por aqui cualquier cosa!

    Pregunta:  4900 - MENU CONTEXTUAL DEL EXPLORER
Autor:  Elias López
Hola a todos. Como puedo hacer un instalador
que me ponga un acceso a mi aplicación en el menu contextual del explorador de windows?? con el objetivo de hacer una acción sobre algun formato de fichero al ser seleccionado.
Gracias.
  Respuesta:  Marcelo Limori
Podés agregar una calve de Registry, en HKEY_CLASSES_ROOT\*\shell\<titulo>\open\command.
El valor de <Titulo> aparecerá en el menú contextual. El valor por defecto de "command" es la ruta hacia tu hubicación.
El * es en todos los archivos, para alguno específico busca una clave que se llame como la extensión.
Para hacer todo esto tu programita Delphi debe usar la unidad "Registry".
Para más detalles podés escribirme y te explico mejor.
  Respuesta:  Ariel peña
Puedes hacerlo al utilizar el Install Shield de Delphi 5.0, es facil ya que te va guiando en los pasos.

no es nada de otro mundo compruebalo.
espero que te sirva la respuesta

    Pregunta:  4938 - FUNCIONES GANCHO (HOOK)
Autor:  JUAN TAGUA GOMEZ
Desde hace unos días estoy tratando de monitorizar (interceptar mensajes) de las distintas aplicaciones activas en un sistema (todos los procesos activos) con el núcleo de Windows y viceversa. Se trata de un ejemplo que deseo explicar en mi clase de Delphi a la vuelta de la Navidad.
Este tipo de cuestiones se resuelven con las funciones gancho (Hook), las cuales procesan el gancho en términos del proceso que las llama o en términos de sistema. El primer caso no presenta ningún problema y en el segundo tengo dificultades.
Concretamente, deseo que suene el altavoz MESSAGEBEEP(MB_ICONINFORMATION) del equipo desde cualquier aplicación si en ella se pulsa F7 y que después continúe el proceso interceptado.
Esto se hace mediante:
1) Un proyecto principal que incorpore la función SetWindowsHookEx(WH_KEYBOARD, @GanchoTeclado, hMod, 0), en el que el primer parámetro indica el tipo de gancho (teclado en este caso), el segundo la función que manejará el mensaje de teclado interceptado, el tercero el manejador del módulo de librería dll donde se encuentra la función y el último indica que se trata de un gancho de sistema.
2) Un proyecto librería que incorpore la función GanchoTeclado.

Mi solución no funciona!. ¿Podría ayudarme a localizar documentación, cualquiera que sea para resolver el problema?.Gracias.
  Respuesta:  Claudio Romero
Hola , aca esta este pequeño ejemplo, que intercepta el hook del teclado a nivel windows, consta de un exe y una libreria. Muestra un MessageBox cada vez que presiona F7 en cualquier aplicación.
Estan compilados con Delphi 2, pero deberia andar en cualquier delphi de 32 bits.
Si quieres te envio los compilados.

********------- El Exe beep_f7.dpr ------********
program beep_f7;
//Falta agregar el control de errores
//Claudio Romero ->[email protected]
//Compilado en Delphi 2
uses Windows;
var handle:integer;direccion:pointer;lpMsg: TMsg;
begin
handle:=loadlibrary('beep_dll.dll');
direccion:=getprocaddress(handle,'mensaje');
SetWindowsHookEx(WH_KEYBOARD,direccion,handle,0);
repeat
PeekMessage(lpMsg,0,0,0,1);
sleep(-1);
until 2=4
end.
***********--------------------***********

***********------La dll beep_dll.dpr -------******
library beep_dll;
////Falta agregar el control de errores
//Claudio Romero ->[email protected]
//Compilado en Delphi 2
uses windows;

function mensaje(code:integer;wparam:word;lparam:dword):dword;stdcall;
var EsKey_Up:dword;
begin
asm
mov eax, lparam
and eax, $c0000000
mov EsKey_Up, eax
end;
if (EsKey_Up<>$c0000000) THEN
if ((code=HC_ACTION)and(wparam=VK_F7)) then
begin
MessageBeep(MB_ICONEXCLAMATION);
MessageBox(0,'Aca iría el Beep, en mi PC no anda el speaker','',0);
end;
mensaje:=0;
end;

exports mensaje;
begin
end.
***********-----------******

|<  <<  10 11 12 13 14 15 16 17 18 19 20  >>  >|