PREGUNTAS CONTESTADAS - Delphi≤nguaje=

 Hay un total de 680 Preguntas.<<  >> 

    Pregunta:  7278 - EVENTO AL MINIMIZAR Y MAXIMIZAR VENTANA
Autor:  José Silva
Quisiera saber si al minimizar y mazimizar una ventana, se dispara algún evento, porque al programar, necesito desabilitar un componente ttimer cuando minimizo una ventana, y volverlo a habilitar cuando mazimize la ventana.
Gracias
  Respuesta:  Gustavo Enriquez
En delphi el objeto TApplication tiene dos eventes onminimize y el onrestore,

Ej. tomado de las ayudas de delphi.

procedure TForm1.FormCreate(Sender: TObject);

begin
Application.OnMinimize := AppStartTimer;

end;

procedure TForm1.AppStartTimer(Sender: TObject);

begin
Timer1.Enabled := True;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin
Application.Restore;
Timer1.Enabled := False;

end;

    Pregunta:  7290 - COMO CONTAR CUANTAS HOJAS HE IMPRESO EN UNA SESIóN
Autor:  tamara Franco
Buenos dias:
Quisiera saber como puedo desarrollar un programa en Delphi3.0 donde pueda saber cuantas hojas a impreso la impresora, me imagino que se tendría que guradar esa información en algún archivo :(, bueno la verdad es que no se por donde empezar.
Gracias por leer mi pergunta.
  Respuesta:  Alfonso López
Perdona, pero t había entendido mal tú quieres contar el nº de páginas no de registros!. También existe un QRSysData -> qrsPageNumber q imprime el nº de página. Si no quieres imprimirlo prueba a hacerlo invisible y en el evento q se genera al imprimir guarda el valor en una variable q puedes consultar después. Prueba por ahí a ver si hay suerte.

    Pregunta:  7362 - ENVíO DE SMS DESDE DELPHI
Autor:  Carmelo
¿Alguien sabe cómo puedo enviar un SMS (mensaje corto a móvil) desde Delphi o cualquier otro lenguaje?
  Respuesta:  Pablo Raso
Yo no lo he hecho nunca pero casualmente he visto un lugar donde ponen la solución a tu problema como ejemplo.
El enlace es el siguiente.
http://clubdelphi.com/jacaro/
Suerte.

    Pregunta:  7400 - PUERTO DE RED
Autor:  Enrique Sanchez
Me gustaría saber como puedo conectar dos computadores através del puerto de red para que puedan participar en un mismo juego. desde delphi.
  Respuesta:  Gustavo Enriquez
La conexión de los dos computadores debes dejarsela al sistema operativo, esto lo haces con protocolos como el netbeui, el tcp-ip, etc. o puede ser por un cable serial, etc.

Para tu juego puedes utilizar algún protocolo de comunicaciones como el irc el cual está siendo muy utilizado para juegos en red. mira está dirección
http://delphi.it.dtu.dk/delphi/articles/progirc.htm

Existe también el proyecto pythian que es un nucleo para juegos y trabaja también en redes.
http://www.pythianproject.org/

si deseas hacer tu propia interface utiliza los socket del tcp-ip, puede conseguir librerias para el manejo de sockets en las páginas como delphi32.com o en la superpage de delphi
http://delphi.icm.edu.pl/

o bien en delphi 5 enterprise existen dos componentes de socket, el cliente y el server que te permite crear protocolos de comunicación entre dos computadores conociendo el ip del otro computador o el nombre.

suerte.

    Pregunta:  7415 - EN ACCESS VA MUY LENTO
Autor:  Alex
estoy programando en una Trial de Delphi 5.0 y uso el BDE para una access de 5 tablas y un tamaño de unos 59 MBs la tablamayor tiene 240.000 registros y un tamaño de registro de unos 130 bytes en 80 campos (es una migracion).
La cuestion es que debo partir de este diseño para hacer una replica de una aplicacion programada en Centrix.

En un TQuery me tarda en cargar un Db grid unos 30 segundos y eso que en la SQl solo cojo unos 15 campos y unos 30 registros (con condicion).

Lo que mas tarda es cuando activo el control (active:=true;).

Pregunta:
¿Por que tarda tanto?
¿Debo migrar en otro Sistema?
¿Puedo ahorrar tiempo en Oracle?
¿El BDE es lento pero el ODBC de Windows (access97) en delphi no me lee los indices. hay otra configuracion para access?
¿hay otra forma de extraer datos para el dbgrid?
¿uso un grid normal y cargo los datos con un table filtered?
¿existe vida fuera de la Tierra?Vamos que se que son demasiadas preguntas.... Perdones las molestias y muchas gracias por anticipado.
  Respuesta:  Silvio Moschen
yo tuve el mismo problema que vos y... via sql, si pones filtros o consultas multitablas, te moris de la angustia...

la solucion es hace el rastre de los registros por medio de un indice, armar una lista (TStringList) y a partir de la misma desplegar los registros en un StringGrid en lugar de un dbgrid, da mas trabajo pero... te soluciona por arte de magia el tiempo de las demoras.

espero aportarte algo. suerte !!!
  Respuesta:  Mario Alejandro Montoya
Una mejor opción es usar ADO. Usa un ADODATASET,Configuralo con ComandType=cmdTableDirect, CursorType=adFowardOnly (si no necesitas ir hacia atras) o adStatic y CursorLocation=clUseServer para mayor rendimiento.

No uses filtros. Mejor emplea tecnicas Cliente/Servidor. Utiliza consultas SQL para extraer "pedazos" de informacion.
Con tablas tan grandes, puedes utilizar la estrategia de las claves. Es muy simple. Primero ejecutas una consulta con todas las claves primarios (SELECT Id FROM..). Vas navegando con este recordset y solicitas de 1 o mas registros, etc...

Sobre la vida fuera de la tierra, pues aparte de Jehová, los angeles, etc... no se

Suerte :)

    Pregunta:  7578 - COMO PUEDO HACER ARCHIVOS *.AVI QUE SOPORTA DELPHI?
Autor:  Rene Moes
Espero y alguien me pueda ayudar con esto, ya que al parecer es el unico formato de video que soporta delphi
  Respuesta:  Alejandro La Rota
Hola amigo:

Cualquier archivo de video que puedas ver en tu entorno Windows, también lo podrás abrir y manipular desde tu App Delphi.

El asunto es que el MediaPlayer Control que viene en la VCL de Deplhi es un objeto con algunas limitaciónes creado para un manejo básico de información multimedial.

Pero si necesitas algo más potente (Video con codecs y formatos específicos) entonces debes escribir en tu aplicación el codigo recurriendo a funciones de la API de Windows, las cuales te dan un control casi total sobre el sistema y sobre el Hardware.

Saludos,

    Pregunta:  7595 - CONEXIONES EN RED
Autor:  Héctor Luis Collado Fernández
Hola:
Estoy buscando alguna función o un API que me permita en un momento dado saber las PC que están conectadas a la misma.
Gracias
  Respuesta:  Adrián Vega
Yo no he encontrado nada aún pero se me ha ocurrido ejecutar el comando net view del dos y redireccionarlo a un fichero para despues leerlo en el te saldrán todos los nombres de equipo de tu grupo de trabajo e incluso puedes seleccionar el de un grupo de trabajo en concreto. Si encuentras algo escríbeme. Gracias

    Pregunta:  7611 - ENCADENAR UNA LIBRERIA EN DELPHI
Autor:  alex aviles
necesito agregar una libreria a mi ejecutable como la puedo agregar ?

la libreri es para usar la funcion SndPlaySound();;

donde la agrego ?
  Respuesta:  Jeg
En la clausula Uses de tu form agrega la unit mmsystem

Buena suerte

    Pregunta:  7672 - COMO LLEVO LAS IMAGES DE COLORES A ESCALA GRIS
Autor:  Anibal Guerra Cuellar
Necesito este dato y otros mas para realizar un sofware de caracter educativo y cientifico, me seria de gran ayuda su respuesta
  Respuesta:  Israel Renato Macip Millán
Pues la espuesta aunque se ve complicada es muy sencilla, recordarás que las imagenes a color estan formadas por una triada de colores primarios comunmente conocida como RGB (Red Green Blue), pues estos colores estan dentro de la paleta basica de 0 a 255, lo que hay que hacer es llevar a cada parte del RGB a un corrimiento para que surta el efecto, a continuación te escribo el código para dicha funcion.

Cabe mencionar tambien que existen varios metodos, de acuerdo a la velocidad de trabajo, ya que unos trabajan la imagen como matriz, (punto por punto), o vectores (por líneas) o por placas (matrices).

El siguiente metodo esta aplicado al punto

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
ImagenAbierta: boolean;
pixf : integer;
Ncol, Nren : integer;
bm:TBitMap;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
let, nom : string;
s : string;
begin
if (OPD.Execute) then
begin
nom := OPD.FileName;
bm.LoadFromFile(nom);
Image1.Picture.Bitmap.Assign(bm);
ImagenAbierta := true;
GroupBox1.Caption:= nom;
Button2.Enabled := true;
Ncol := Image1.Width;
Nren := Image1.Height;
let := '';
str (Ncol,s);
let := let + s +' x ';
str (Nren,s);
let := let + s;
Resol.Text := let;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
c, r, g, b, x : integer;
i, j : integer;
begin
if imagenAbierta then
begin
//pasar a grises
screen.cursor := crHourGlass;
for i := 0 to Ncol - 1 do
for j := 0 to Nren -1 do
begin
c := Image1.Canvas.Pixels[i,j];
r := c and $ff;
g := (c and $ff00) shr 8;
b := (c and $ff0000) shr 16;
x := (r+g+b) div 3;
c := $02000000 or x; //modo de paleta rojo
c := c or (x shl 8); //verde
c := c or (x shl 16); //azul
Image1.Canvas.Pixels[i,j] := c;
end;
screen.cursor := crArrow;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
BM := TBitMap.Create;
ImagenAbierta := false;
Button2.Enabled := false;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

Si requieres mas datos comunicate conmigo.

Espero te sirva

    Pregunta:  7691 - TABLAS ASOCIADAS
Autor:  Xochitl Mora
Cómo puedo hacer para que dos o mas tablas en delphi reflejen la integridad referencial, esto es que al momento que se captura una clave llave ésta aparesca insertada en otras tablas?
  Respuesta:  Joes -
Esto puede haccerce por medio del codigo:

Table1.insert;
Table2.insert;

Table1.FieldValues[Nombre del campo]:=edit1.text;
Table2.FielValues[Nombre del campo]:=Table1.FieldValuesNombre del campo];

|<  <<  15 16 17 18 19 20 21 22 23 24 25  >>  >|