PREGUNTAS CONTESTADAS - Delphi

 Hay un total de 680 Preguntas.<<  >> 

    Pregunta:  51974 - ENVIO DE ARCHIVOS POR INTERNET
Autor:  Enrique Ortiz
Hola Amigos de LWP mi problema es el siguiente:

Estoy implementando una aplicacion que encripta archivos con gnuPGP y los mismos debo enviarlos a una direccion electronica que esta escrita en PHP, me comentaron que puedo usar CGI o PHP.

El programa debe enviar estos archivos de manera dinamica en determinada hora, hasta el momento ya resolvi la encriptacion pero no tengo idea de como enviar estos archivos con delphi a una direccion electronica (URL) alguien podria ayudarme.

De antemano agradezco la atención.
  Respuesta:  Carolina Casanova
Holas Enrique

¿A qué te refieres con que la dirección electrónica está escrita en PHP? Cuando hablas de enviar archivos a una URL, ¿te refieres a subir un archivo a un servidor remoto? Si así fuera, deberás usar un componente que te permita establecer comunicación con el servidor web.

El modo de comunicación más usado es el FTP (file transfer protocol), la mayoría de los servidores web lo ofrecen. Para que puedas comunicarte con ellos, te dan un usuario, un password y una dirección (host). Luego, en tu programa tú ingresas esos datos donde corresponda y ya puedes conectarte al servidor desde tu programa, que en ese momento se transforma en un "cliente ftp".

Algunos componentes para conectarse vía FTP con Delphi son Indy, IdFtp, NMFTP. Yo ahora último he usado ICS (http://www.overbyte.be), el cual me ha funcionado excelente, pero debes saber o aprender algo sobre el lenguaje de servidores ftp para poder entender su funcionamiento...

    Pregunta:  52212 - FIELDBYNAME NO FUNCIONA
Autor:  Jose Ortells
Genero una query por código (qr:=TQuery.Create(nil)), despues la utilizo y accedo a los resultados mediante qr.FieldByName(). Lo curioso es que al reutilizarla mas adelante en el mismo procedure al hacer x:=qr.FieldByName() en tiempo de ejecución me genera un error de memoria. Estoy loco buscando la solución
  Respuesta:  Andres Diaz
Es posible que lo que te falta es poner
x := qr.FieldByName('nombre_del_campo_en_tabla').AsValue;

AsValue lo puedes reemplazar directamente por el tipo de dato, por ejemplo AsString o AsInteger;

    Pregunta:  52337 - COMO MANIPULAR DATOS DE FECHA EN DELPHI
Autor:  georgina flores
hola ke tal, estoy en un programa de registro de maquinas, en el cual se registra automaticamente la hora de entrada pero tengo que limitarla a 2 horas de uso, pero no se como es que tengo que agregar esas dos horas, al fianl del tiempo de registro tiene que aparecer un mensaje que diga que ya se va a acabar el tiempo, pero no tengo idea de como es que puedo o tengo que sumar las 2 horas,
les agreadeceria mucho si me puedieran ayudar!
gracias!!
  Respuesta:  Frank Le Moe
Mira no se que version de Delphi tengas, pero en casi todas existe un objeto TIMER en la paleta SYSTEM, que en pocas palabras lo que hace es ejecutar un evento cuando se cumple una unidad de tiempo ya sea ejecutar codigo, funciones o abrir otra forma, etc., este tiempo puede ser un segundo, o miles de segundos, como lo usas pues bien:
una vez que instalas el timer en tu forma (por default el nombre es TIMER1) veras que existe una propiedad INTERVAL este es el intervalo de tiempo 1000 es igual a un segundo (por default cuando lo instalas tiene 1000 o sea un segundo), tu lo puedes cambiar a tu antojo por ejemplo para que el timer se ejecute cada 2 horas tendrias que ponerle 7200000 (multiplica 7200 segundos por 1000), cuando la unidad de tiempo se cumple se ejecuta un evento EVENTS llamado ONTIMER y es alli donde tu insertas el codigo para redestinar el control del programa. toma en cuenta que por default el timer esta habilitado asi esque cuando ejecutes tu aplicacion el tiempo empieza a avanzar para tener control sobre en que parte del programa quieres que el tiempo empiece a contar y cuando terminar existe una propiedad ENABLED, con TRUE el tiempo empieza a contar con FALSE el timer lo cancelas,

Espero esto te sea de utilidad.

    Pregunta:  52849 - COMO PARTIR UNA CADENA DE CARACTERES
Autor:  Jose Vinicio Rivera Miranda
Bueno, mi pregunta es, si existe alguna funcion o instruccion que permita hacer en delphi, lo mismo que hace la funcion Mid en visual basic, es decir que pueda manipular cada caracter de un cuadro de texto o una cadena de caracteres de manera individual solamente indicando la posicion del caracter
  Respuesta:  Luis Felipe García Gutiérrez
Existe otra función que permite realizar el copiado de una cadena que permite parametrizarla.

var
cadena:string;
begin
cadena:='cadena';
sowmessage(copy(cadena,2,4));
end;

Sintaxis:
copy(string, x, y);

en donde cadena(string) es la variable que contiene la cadena original de la cual vamos a extraer la porción de texto que necesitamos, 2(x) vendría siendo la posición inicial desde la cual requerimos copiar y 4(y) es la longitud o cantidad de caracteres que se necesitan copiar.

Suerte!!!
  Respuesta:  vinicio rivera
bueno, por si a alguien le interesa, encontre la forma de hacerlo, simplemente buscando por ahi encontre que las cadenas de caracteres en delphi se pueden tratar como un array unidemencional, por ejemplo:

si tengo una cadena de caracteres:

cadena:='rivera';

y quiero acceder solo a la posicion 4, se hace lo siguiente

cadena[4];

y si ponemos esto en un showmessage nos muestra la letra

e

que ocupa la posicion 4 de la cadena

    Pregunta:  52939 - PROBLEMA DE TAMAñO DE DATOS
Autor:  Arnold Charris Molina
Hola, mi inquietud es la siguiente. Resulta que tengo una aplicacion desarrollada en delphi 6 y la base dedatos son en oracle.

1. Las tabla es de alumno. en el codigo del carnet es la misma cedula. puede ser tarjeta de identidad.

Resulta que la informacion me la muestra bien en el DBGrid de delphi. pero cuando hago una consulta para generar un reporte. Basandome en el criterio del codigo del carnet no me muestra el dato como tal aparece en el DBGrid mostre el text de la consulta y sale otro numero raro.

Hice un par de pruebas y me di cuenta que con numeros de cedula que no sean tan grandes si funciona por ej. 1029584685 pero como cuando es tarjeta de identidad ej 89050125869 parace ser que el numero es de valor muy grande. Nose que hacer ahora en sql plus me muestra los natos en notacion cientifica.
A el campo esta de tipo numbre en la BD.

Le agradesco su pronta respuesta.
  Respuesta:  bkx
yo tuve un problema similar per con bases de datos de access.
el problema era que el valor era mas grande que un campo integer,
la solucion era hacer una particion del valor (aprovechar y crear familias)
o canviar el tipo de campo a float sin decimales.
Lo podrias pasar a string, pero al tiempo de ordenar tendrias un orden no correcto.

    Pregunta:  53354 - GUARDAR IMAGEN EN MYSQL UTILIZANDO SOLO CODIGO
Autor:  Jose Vinicio Rivera Miranda
Hola.
He estado buscando informacion sobre como guardar imagenes en mysql con delphi, pero la mayoria de info que encuento utilizan tquery o ttable, yo no utilizo estos componentes sino que todo lo hago con codigo desde la conexion hasta los recordsets para las consultas sql, hasta ahora no he tenido ningun contratiempo, pero no se como agregar una imagen sin utilizar componentes. Estos son los codigos que utilizo:

para guardar informacion utilizo algo como esto:

procedure TForm1.AddBank;
var
SqlText: string;
RsCon: _Recordset;
begin
SqlText := 'SELECT * FROM Banks';
RsCon := coRecordSet.Create;
RsCon.Open(SqlText,Form1.AdoCon,adOpenDynamic,adLockOptimistic,adCmdText);

RsCon.AddNew(EmptyParam,EmptyParam);
RsCon.Fields.Item['BankName'].Value := Form1.BankName.Text;
RsCon.Fields.Item['BankCity'].Value := Form1.BankCity.Text;
RsCon.Fields.Item['BankAddress'].Value := Form1.BankAddress.Text;
RsCon.Fields.Item['BankTelephone'].Value := Form1.BankTelephone.Text;
RsCon.Fields.Item['BankContact'].Value := Form1.BankContact.Text;
RsCon.Fields.Item['BankBalance'].Value := Form1.BankBalance.Text;
RsCon.Update(EmptyParam,EmptyParam);
RsCon := nil;
end;

en un procedimiento parecido al anterior quiero colocar el campo donde iria la imagen, solo se que es un campo blob, pero lo he intentado de varias formar pero no he podido lograrlo, que tendria que agragarle a este codigo para que guardara en un campo blob
  Respuesta:  Erwin Alejandro Perez Escobedo
Te comento que me tope con el mismo problema trabajando con SQLite, usando solo consultas SQL. La solucion: convierte a texto la imagen.
Hay 2 cosas que se tienen que hacer:
1.- tomas la imagen y la escribes (TGraphic.SavetoStream) a un TStringStream.
2.- Lees el texto del TStringStream con la propiedad DataString, el texto representara la imagen.

3.- *Opcional* puedes codificar la imagen con _UUEncode (Viene en las librerias del JEDI) para que el texto lo puedas usar en consultas SQL. En tu caso podrias intentar primero asignarle al campo el valor obtenido en el paso anterior.

Para recuperar la foto (apuesto a que ya la imaginaste):
1.- Lees del campo el texto que representa la foto.
2.- Si lo codificaste en UU lo decodificas con _UUDecode.
3.- Lo escribes en un TStringStream con WriteString.
4.- usas un TJPGImage o un TBitMap segun sea el caso para cargar desde el TStringStream la imagen (LoadFromStream).
Voilá, ya tienes de nuevo tu imagen.
Si quieres mostrarla no hay mas que
Image1.Picture.Graphic:=MiImagen;

Nota: El proceso de codificacion y decodificacion en UU es muuy lento, si puedes evitarlo evitalo. He podido guardar imagenes hasta de 300x300 a una velocidad razonable (<500ms) pero con una de 1024x768 se llego a tardar hasta 10s para codificar o decodificar, por el contrario, la lectura/escritura en el stream fue realmente rapida para cualquier tamaño de imagen.

Que tengas buena tarde y espero te sirva.

    Pregunta:  53370 - DELPHI Y SERVIDORES WEB
Autor:  Archamo Molina
Hola tengo una aplicacion desarrollada en delphi 6 y con conexion a una bd sql2000 de forma local y trabaja pefecto.

Ahora se tiene la misma bd pero en mysql en un servidor web, lo que se quiere es que por medio de la aplicacion en delphi todos los procedimientos que se hagan (consultas, modificaciones, borrados e inserciones) se modifiquen paralelamente en las dos bases de datos.

la inquietud es como hacerlo, que componentes utilizaria, y como seria la conexion a un web server o dominio montado en internet desde delphi.

Les agradesco su respuesta Gracias.
  Respuesta:  << neox >>
No conosco forma de hacerlo directamente pero..
Para realizar este tipo de conexion se debe establecer un controlador específico q trabaje ese tipo de conexion como WebService..
Suerte..

    Pregunta:  53850 - COMO PUEDO CAMBIAR EL FORMATO DE LA FECHA Y LA HORA?
Autor:  Alberto Albe
Estoy haciendo un programa, un temporizador, que trabaja con la fecha y la hora de la maquina, y como cada maquina tiene su propio formato , necesito detectar el formato de la fecha y la hora para entonces poder hacerle modificaciones en tiempo de ejecucion al programa para que se adapte al formato de fecha y hora de la maquina.
O de lo contrario, lo cual seria mas incomodo para el usuario, que el programa cambie el formato de fecha y hora en la maquina donde se encuentre para que el pueda trabajar.

Bueno muchas gracias.
  Respuesta:  Luis Felipe García Gutiérrez
Aquí hay una interesante opción para cambiar el formato de la fecha...

Label.caption:=FormatDateTime('"Ciudad, " dddd, mmmm d, yyyy."',now);

No obstante con la ayuda de delphi se pueden encontrar otras alternativas.

Suerte!!!

    Pregunta:  54301 - COMO AGREGO UN ALIAS
Autor:  Mary Sanchez Maldonado
Hola que tal
De antemano muchas gracias paraa los que contesten mi pregunta.

Estoy programando en delphi 6 y mi BD esta hecha en Paradox, resulta q ya esta casi listo y quiero hacer el instalador para mi sistema, para ello utilizo el install shield que trae el delphi 6( y tambien probe con el Install Us), al parecer todos los pasos los hago bien y creo mi instalador, mientras lo instalo en la propia maquina donde lo cree funciona pero al instalarlo en otra maquina, se instala bien y todo pero a la hora d ejecutarlo me manda un mensaje donde me dice que No encuentra el alias de las tablas y ya no funciona. Entonces mi pregunta es ¿Como paso el alias al Install Shield cuando estoy creando mi instalador?
  Respuesta:  lOLIZ
ESPERO Q T SIRVA

PARA CREAR UN ALIAS

VETE A

DATABASE DESKTOP
EN EL MENU TOOLS DA CLIC
ELIGES LA OPCION ALIAS MANAGER

T VA APARECER UNA VENTANA

DAS CLIC EN EL BOTON NEW
Y EN SEGUIDA DONDE DICE DATABASE ALIAS: AHI PONES EL NOMBRE DEL ALIAS CUANDO YA TENGAS EL NOMBRE EL ALIAS
DAS CLIC EN BROWSE
Y BUSCAS DONDE TIENES GUARDA LAS TABLA(S) EN TU DISCO DURO UNA VEZ Q TIENES LA DIRECION DAS ACEPTAR Y DAS CLIC EN OK Y OK Y ES TODO

ESPERO T SIRVA

CUALQUIER DUDA

T DEJO MI CORREO

[email protected]

    Pregunta:  54777 - CONECTAR BD EN RED CLIENTE/SERVIDOR
Autor:  Leticia Lerma
Hola buen dia:

Tengo una aplicacion que trabaja en una compu, y trabaja bien. Mi problema es que quiero conectar otra estacion "Cliente", para que accese al "servidor". En la compu servidor tengo instalado Interbase Servidor 6.0 y en la compu cliente instale el interbase cliente 6. Configuro en el BDE la ruta de la base de datos, en la red, pero me marca error me dice que no encuentra el Host. Ya le mande ping a la compu servidor y si los recibe bien...pero no se que me pueda estar faltando porque ya tengo dolores de cabeza y no se que mas hacer. La aplicacion esta en Delphi 5.0

Lo que supongo que puede estar mal es la configuracion del Interbase cliente, porque me pide el nombre del servidor y le capturo el nombre de el equipo donde tengo instalado el sistema, y en el Netwok Protocol selecciono TCP/IP,

De antemano muchas gracias, en espera de respuesta, Saludos

Atentamente
  Respuesta:  nelson
primera pregunta en la compu cliente ruteaste o sea le dijisto la ruta
ejemplo \servidorcaraplicaciondata
segunda la coneccion de la red es adsl o cp Ip
si es cp ip deves tener direccionada la ip cliente apuntando al servodor
ejemplo
el servidor tiene esta ip
10.0.0.5
255.255.255.0
10.0.0.1
el cliente deve ser
10.0.0.6
255.255.255.0
10.0.0.1
y craale un documento i.ni de texto
con la direccion a donde a 10.0.0.1

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