PREGUNTAS CONTESTADAS - Delphi≤nguaje=

 Hay un total de 680 Preguntas.<<  >> 

    Pregunta:  26113 - NO RECALCULAR DATOS DEL PREVIEW AL IMPRIMIR
Autor:  Ivan Fernandez Lorente
Hola:
Trabajando con quickreports, al usar el qrpreview, me encuentro con el problema de que despues de previsualizar la report y al imprimir vuelve a leer y/o calcular los datos.

Para enlazar el report con el preview utilizo:

procedure Tform.ReportPreview(Sender: TObject);
begin
self.objpreview.QRPrinter := tqrprinter(sender);
end;

Como podria hacerlo para que no recalcule sino que imprima el preview que ya tengo generado?

Muchisimas gracias.
  Respuesta:  Lui Fernandez
Basta que desde un boton de la aplicación llames al método Preview de QuickRep si lo que quieres es prever o Print si quieres imprimir directamente sin antes ver los resultados del informe

procedure TMainForm.BitBtn1Click(Sender: TObject);
begin
QuickRep1.Preview;
end;

procedure TMainForm.BitBtn2Click(Sender: TObject);
begin
QuickRep1.Print;
end;

    Pregunta:  26124 - WINDOWS XP Y QUICKREPORT 2
Autor:  Yamilec Fernandez
Tengo una aplicación hecha en Delphi 3, con base de datos Interbase 6.0 y utilizo el QuickReport 2 para elaborar los informes. La aplicacion funciona bien con Windows XP, pero cuando voy a ver los informes algunos funcionan y otros no. Qué puedo hacer para solucionar este problema?. De antemano muchas gracias por su valiosa colaboraciòn!
  Respuesta:  Marco García
por casualidad será "printer selected is not valid" ?. Si es así es por el tratamiento que dá la familia NT a las impresoras. Si una impresora está sin funcionar durante un tiempo NT (o XP) cambia el estado de esta impresora a "inactiva" y Qreport envía el mensaje "Printer Selected is not valid".

Si tienes dudas visita http://es.groups.yahoo.com/group/chileDelphiKylix/
y me cuentas.

    Pregunta:  26152 - BASES DE DATOS EN DEPLIH
Autor:  Valente Muela
Hola, estoy aprendiendo Delphi, y quisiera saber que tipos de bases de datos soporta Delphi y cual es el mejor, es decir que manejador puedo utilizar.
Gracias
  Respuesta:  Manuel E
Delphi soporta TODAS.

    Pregunta:  26209 - ERROR AL INSERTAR REGISTROS EN UNA BD.
Autor:  rafael aparicio
Buenos días.
Mi problema es el siguiente. Mi programa en Delphi se apoya en una base de datos Access. Todo va genial de momento. Pero cuando llevo insertados una cierta cantidad de registros nuevos, mi programa no me deja insertar más, y siempre me da el mismo mensaje de que no puede insertar más filas en la tabla.
Al darme el error, cierro mi aplicación y la vuelvo a abrir. El problema desaparece hasta que vuelve a dar el mismo problema.
Mi duda es si debe abrir y cerrar la conexión a la base de datos continuamente o como lo debo hacer para que no tenga que estar continuamente arrancando y cerrando mi aplicación para resolver mi problema.

Muchas gracias.
  Respuesta:  Enrique Ortiz Herrera
Por lo que puedo observar tu problema radica efectivamente en el numero de conexiones que haces a la base de datos.

Puedes utilizar el objeto Database para crear una conexion.
En este objeto tienes que indicar lo siguiente
1) El nombre del Alias (si estas usando Access, te recomiendo uses un DSN para crear un ODBC y este lo direccionas a tu base de datos.
2) Un nombre para el Objeto Database
3) La Propiedad Login Prompt ponla en False
4) Pon la prodiedad Connected en True
5) Ahora para los tablas o Querys que vayas a usar no uses el Alias sino el nombre que le pusiste al Objeto Database (punto 2) y listo.

Con esto estas haciendo una sola conexion a la base de datos y puedes abrir, cerrar, insertar, eliminar o actualizar tus tablas y/o querys las veces que quieras y esto no creara mas que una sola conexion a tu base de datos.

Si tienes alguna duda escribe a mi correo y con gusto te puedo orientar

    Pregunta:  26617 - ARRAYS BIDIMENSIONALES
Autor:  Sema Wav
Hola,

necesito hacer una aplicación con un array dinámico bidimensional de enteros (en concreto, de 3xn, donde n es una variable). Ya sé que la forma de declararlo es esta:

a : array of array of integer;

pero delphi no permite que pongas este tipo como parámetro en una función o procedimiento. He intentado poner la primera dimension (3):

procedure nombreProc (a: array [0..2] of array of integer; .....);

pero tampoco funciona. Alguien me puede ayudar????

Gracias.
  Respuesta:  Juan
Es muy sencillo lo que debes hacer es crear un tipo de dato de usuario donde colocaras un nombre y luego el tipo especial, en ese caso usaras ese nombre para definir las variables y los parámetros.

Ejemplo:

type
MIMAT= array of array of [1..10] of integer;
(o mejor array [1..10,1..10] of integer)

function hacealgo(mat:mimat):byte;
begin
end;

var
matriz: mimat;
begin
hacealgo(matriz);
end.

    Pregunta:  26744 - BUSQUEDA DE PARADOX POR MEDIO DE SQL (FECHAS)
Autor:  Juan Alejandro Hernandez Ramirez
Gracias por leer mi pregunta!

Tengo problemas al querer hacer un listado de una tabla PARADOX por medio de SQL, el problema es con el campo ultimo_mant es de tipo date, segun hace la comparacion pero no muestra los datos que le pido sin embargo lo hago con cualquier otro campo y si los muetra, pero, el que me interesa es el de tipo date(ultimo_mant). mi codigo es el siguiente:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
fecha:string;
begin
Query1.SQL.Clear;
fecha:=datetostr(date);
Query1.SQL.Add('Select clave_equip,Nombre,ult_mant,realizado');
Query1.SQL.Add('from mantenimiento.db');
//** YA UTILICE ESTA LINEA
Query1.SQL.Add('where ultimo_mant="04/01/2002"');
// *** Y ESTA. Y NO FUNCIONA
// Query1.SQL.Add('where ultimo_mant="'+fecha+'"');
Query1.Active:=true;
end;

MUCHAS GRACIAS POR AYUDARME.
  Respuesta:  Paco Govea
// Query1.SQL.Add('where ultimo_mant="'+fecha+'"');
Esta es tu linea que no funciona,
Prueba con esta, ya modificada
Query1.SQL.Add('where ultimo_mant='+#39+fecha+#39);
  Respuesta:  Claudio Romero
Para mas informacion sobre el SQL de la BDE ver el archivo de ayuda que viene con Delphi localsql.hlp, en directorio BDE.

var antrecno:longint;cod_factura,fecha_pago,consulta:string;
anio,mes,dia:word;fecha:TDateTime;
begin
// comprueba que ingreso una fecha valida en Efecha_pago.text
try
fecha:=StrToDate(Efecha_pago.text);
except on EConvertError do
begin
messagebox(application.handle,'La fecha de pago es inválida','ATENCION',MB_APPLMODAL);
exit;
end;
end;
decodedate(fecha,anio,mes,dia);
//La fecha de pago en SQL va en formato mes-dia-año
fecha_pago:='"'+inttostr(mes)+'/'+inttostr(dia)+'/'+inttostr(anio)+'"';
//En la variable fecha de pago queda por ejemplo 12/25/2001
consulta:='UPDATE "factura.db" SET fecha_pago = '+fecha_pago';

Saludos

    Pregunta:  26779 - CERRAR UNA APLICACIóN REMOTA
Autor:  ivan glez
Necesito saber Como Cerrar una Aplicación de Otra Maquina conectda En Red

Gracias
  Respuesta:  Ernesto Perez
busca la informadion de midas o datasnap para lo que se refiere a la creacion de aplicaciones remotas, si quieres mas informacion escribeme a mi corrre

    Pregunta:  26905 - MANIPULACION DEL NUMERO DE PAGINA EN QUICKREPORT
Autor:  EDGAR ARREDONDO

como puedo cambiar el numero de inicio de pagina de impresión em el quickreport
  Respuesta:  Alex Abreu
quickrep1.PrinterSettings.FirstPage

o al momento de la vista preliminar ir a la barra de configuracion

del quickreport

    Pregunta:  26908 - COMO BORRAR UN CARACTER DE UNA PALABRA
Autor:  Javier Navarro García
Que tal, estoy capturando en un Edit solo números y cuando capturo una letra tengo una función que me manda un mensaje de que \'Solo se Aceptan Números\' por ejm. capturo 1242A y en ese momento me manda el mensaje porque oprimi la letra \'A\' pero ahora quiero que cuando de aceptar al mensaje me borre únicamente la letra \'A\'. De antemano muchas gracias.
  Respuesta:  dulce pedraza
te propongo una posible solución a tu problema: por que no impedir que el usuario teclee la letra???? de esta forma te evitas complicaciones en estar eliminando letra por letra!
si quieres intentarlo, ve al "on key presed" de tu EDIT y escribe el comando:

if key not in ['0'..'9'] then key=#0;

lo que este codigo te indica es que, si la tecla que presiona el usuario no esta comprendida en el rango de 0 a 9 (es decir los numeros 0,1,2,3,4,5,6,7,8,9) entonces no permita que dicho caracter sea tecleado

y lo mismo puedes hacer para un edit de solo texto:

if key not in ['a'..'z'] then key=#0;

espero esto te sea de utilidad..
dum@

    Pregunta:  27103 - INSTALLSHIELD Y EL BDE
Autor:  Alexa Abreu
saludo mis amigos !

Porque el momento de crear mi instalacion con el installshield en un progama que utiliza base de datos Paradox me dice que debo configurar el BDE para que todo marche bien.

y osea al momento de instalar la aplicacion en otra pc todo se instala pero el BDE no, y por tanto me da erro con el Alias.

Gracias...
  Respuesta:  PACO Govea
Cuando creas el instalador (con el installShield), en la parte de GENERAL OPTIONS, ahi tienes la opcion de que se agregue el BDE de Borland, y tu decides si lo instalas completo o parcial(si solo quieres agregar el controlador de Paradox),y ahi puedes configurar el Alias, y su direccion de instalacion.

|<  <<  38 39 40 41 42 43 44 45 46 47 48  >>  >|