![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenas tardes a tod@s,
os cuento por donde voy en este momento. En primer lugar para no ocupar espacio en el foro voy a subir los ficheros a través de rapidshare, lo ultimo que tengo hecho está aquí: http://rapidshare.de/files/36976866/Gesatrans.zip.html - He añadido un campo F_Pago a la base de datos, se me había pasado y creo que lo voy a necesitar. Para mostrarlo en el Form he utilizado el DBComboBox que parecía el mas apropiado. - Recorriendo foros y articulos he encontrado la forma (muy sencilla por cierto) para que el usuario no pueda cambiar el tamaño de la ventana, solo lo he aplicado a Clientes añadiendo este código en el evento OnCreate: Código:
procedure TForm2.FormCreate(Sender: TObject); begin Constraints.Minheight := Height; Constraints.Maxheight := Height; Constraints.Minwidth := Width; Constraints.Maxwidth := Width; end; Código:
procedure TForm2.BitBtn1Click(Sender: TObject);
var Buscar:Integer;
begin
Buscar:=strtoint(inputbox('Buscar Cliente','Indique el código de cliente','1'));
if Not Table1.FindKey([Buscar]) then
messagedlg('Código inexistente',mtConfirmation,[mbok],0);
end;
(si se resolviese dentro de este mismo form sería lo mejor )Hasta aquí he dado de sí hoy, por cierto Caral, he probado lo que ponías par buscar pero no hay manera, no lo hago funcionar y me da errores que no consigo solucionar. Hasta la próxima y gracias ![]() |
|
#2
|
|||
|
|||
|
Cita:
Cita:
Otra opción sería mediante un query LIKE, algo como:
Saludos... |
|
#3
|
|||
|
|||
|
hola
Me he bajado los recursos traducidos de David Esmeralta , y funcionan bien en Delphi 7 , pero no así en Delphi 5 . Mi pregunta es si para Delphi 5 , teneis algo por el estilo . Un saludo |
|
#4
|
|||
|
|||
|
Mira , este procedure :
lo debes de cambiar por este :
Es decir te vas al evento OnCloseQuery del Form y escribes el código que he puesto yo . |
|
#5
|
||||
|
||||
|
Creo que llego tarde al hilo pero espero que mis comentarios te sirvan.
Yo tb estoy desarrollando una aplicacion gestión de transporte solo que para el mercado mexicano, aunque en teoría es muy similar cualquier otro país. Creo que antes que escribir el primer begin debiste haber hecho un análisis a detalle de lo que quieres hacer: 1.-Va a servir para cualquiera, para algunos cuantos clientes tuyos o solo para uno. 2.- Correrá en un solo equipo o distribuido en redes 3.- Con acceso a datos via internet o no 4.- Como vas a imprimir los reportes (Quick Report, FR, Rave, etc.) 5.- Si la impresión de las facturas será en matriciales, ya tienes lo necesario para manejarlas (no nada mas es crear un reporte y ya) 6.- Que ofrecerá tu sistema (o tu creatividad) que no ofrezca ya algún otro en el mercado (por ejemplo facturalux) 7.- En que tiempo (razonable) lo quieres terminar 8.- Lo haras tu solo o en equipo (por aquello de los CVS) Una vez hecho lo anterior, hay que definir que tipo de base datos usar: 1.- Tablas Planas (Paradox) 2.- Firebird, MySQL o Postgress (y tb que componentes: ADO, Zeos, etc.) 3.- Interbase 4.- MS-SQL Server Hasta aqui ya es un buen de trabajo y todavía no sale el código. Pero viene lo bueno: El análisis del sistema en si, en donde tendrás que usar por lo menos diagramas de flujo sencillos y para el caso de que uses bases de datos, tendrás que preparar tu modelo E-R y sus correspondientes diagramas. Faltaría pensar en el diseño de la Interfase de usuario (si vas a usar estilo Office, MDI, etc.) para que tu programa sea consistente, es decir, se vea igual en cualquier parte y no "parchado". Bueno y todo esto para que: Pues para que cuando empieces con el código todo sea coser y cantar, solamente trasladar lo que ya razonaste previamente a la forma como quieres que tu programa lo ejecute. Esto te evitará tener que reescribir código o re-diseñar las tablas porque a medio programa te diste cuenta que te hace falta un campo o cambiar algún tipo de datos. Todo esto te permitirá tener una aplicación sólida, fácil de mantener y sobre todo fácil de hacerla crecer. Antes a mi me pasaba la clásica "impaciencia de programador" y empezaba a programar solo con la idea principal, excuso decirte los dolores de cabeza que me creaba yo solo y sobre todo cuando tenía que volver a código de hace 1 o 2 años... Tengo ya algo avanzado, si te intesa podemos ir desarrollando los pasos en algun hilo o en este mismo para que sirva de tutorial para quien lo desee o bien solo para intercambiar opiniones. Saludos
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#6
|
|||||||||
|
|||||||||
|
Buenos días,
gracias Marcos por tus comentarios, anda que no enterarme antes de la propiedad BorderStyle tiene delito , logicamente he optado por retirar esas líneas que tenía de código y hacer esto que dices, algo mas que tengo aprendido.Para la busquedad estoy pensando en optar por el uso de Locate, otra cosa es que de con ello, la verdad es que la ayuda de delphi no me está sirviendo para esto. Espero que a través de ejemplos que encuentro por ahí en los foros de con algo que me ayude a solucionarlo, en ello ando todavía y cada minuto con un nuevo error, menos mal que antes de hacer modificaciones me he acostumbrado a hacer copias de seguridad de todo. AzidRain, antes de empezar si que he hecho un "esquema" intentando tener claro lo que necesito realmente y mas que nada por el tema de las bases de datos y campos necesarios. Gracias a tus palabras he descubierto que estoy trabajando con tablas planas, te contesto por encima a esas cosillas: Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Que tengais un buen día ![]() |
|
#7
|
|||
|
|||
|
Lo tengo casi pero ....
He creado un Form3 para la busqueda y tengo una pequeña duda, bueno dos: He apañado el código que amablemente me ha facilitado Caral: Código:
procedure TForm3.Edit1Change(Sender: TObject);
var
Filtro : String;
begin
If (Edit1.Text <> '') then
begin
Table1.Filtered := False;
Filtro := 'Nombre_Cial ='+QuotedStr(Edit1.Text);
Table1.Filter := Filtro;
Table1.Filtered := True
end
else Table1.Filtered := False;
end;
El operador "=" requiere que mi texto de busqueda sea identico al del campo "Nombre_Cial" pero prefiero que coincidan los primeros caracteres a medida que los escribo, he probado con Like y no lo reconoce supongo que es por el motor de bases de datos que uso. ¿Que operador puedo poner para que funcione? Tambien he probado añadiendo un +'*' detras de (Edit1.Text) pero tampoco funciona. Por otro lado no acabo de entender esto de trabajar con diferentes Form, veo que son totalmente independientes por defecto, o sea que en este último he tenido de nuevo que indicar DataSource y Table y cuando selecciono en el DBGrid el registro que me interesa no me lo tiene en cuenta en el Form2 (que es el de clientes). Supongo que esto será algo sencillo pero lo desconozco por el momento. Gracias de nuevo por vuestra ayuda |
|
#8
|
||||
|
||||
|
La propiedad Filter no admite comodines, aunque existen trucos, es bastante incómodo, resulta más eficiente una consulta (TQuery).
Respondiendo antes a tu segunda pregunta: Existen los TDatamodules, que son contenedores de objetos no visuales, es decir, no puedes situar un Edit, pero si un TTable, TDatasource, etc. La idea consiste en Crear un TDatamodule, al guardarlo le das el nombre a la unidad (dmClientes) y a la ventana del Datamodule, en su propiedad Name indicas DTMClientes. Sitúas la tabla clientes y su TDataSource en dicho datamodule y si lo necesitas en el Form1 y Form2, haces lo sigueinte: Cuando en Form1, en el Inspector de Objetos eliges el DBGrid.DataSource, si apararece el DataSource de Clientes para elegirlo. Hecho esto, puedes situar un TQuery en dicho Datamodule (qryClientes), en el OnCreate del Datamodule añades:
Ya en tu Form de búsqueda, en el OnKeyUp de tu Edit (que busca por nombres), solo tienes que hacer: Con eso consigues que estando en el Edit2, al pulsar la tecla Enter/return, se obtengan todos los registros que empiezan por ese texto. Para que busque en cualquier parte del nombre, puedes añadir: QuotedStr('%'+Edit2.text+ '%'); es decir, otro comodín al principio del texto. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#9
|
||||
|
||||
|
Hola DelphiTest.
Bueno sobre tu elección de Paradox como BD para tu sistema, te diré que para mi es una mala elección. El BDE hace tiempo que Borland dejó de darle soporte. Tambien comentas que de momento no va a funcionar en red. Pues bien, el dia que te necesites que funcione varios equipos te va a costa dios y ayuda cambiar de BD. Yo hubiera elegido, sin ninguna duda, Firebird. Es un potente servidor de Bases de datos que ademas te permite trabajar en modo "embebido" es decir, si de momento va a trabajar en un solo equipo, con una sola Dll tienes toda la potencia y funcionalidad del motor Firebird pero sin la necesidad de instalar el servidor. http://www.firebirdsql.org/ Por otro lado te recomiendo que procures usar modulos de datos para poner todos los componentes que utilices para acceder a base de datos. Es decir, intentar que en los formularios (que son la interfaz del usuario) no haya ninguna referencia a tal ocual sistema de BD. Esto te facilitará el trabajo ante cualqiuer cambio referido a BD que hagas en el futuro. Bueno espero que te sirvan de ayuda mis comentarios. Saludos. |
|
#10
|
|||
|
|||
|
Gracias a los dos por vuestra ayuda.
Buena idea eso de los modulos, es lo que mas o menos estoy buscando y seguro que me resulta util para este programa, asi no indico en cada form la base de datos y tabla con la que voy a trabajar. Repasaré este código Lepe y seguro que saco algo en claro. Por otro lado Kalimero, esto que dices del Firebird creo que tienes toda la razón del mundo, varias personas me lo han comentado desde el primer momento pero no he sabido por donde empezar con ello. Aunque parte de lo hecho se vaya al traste quizás sea mejor que me encamine de nuevo usando ese motor para evitar posibles problemas mas adelante y sea peor que intentarlo ahora. Mi problema va a ser el de siempre. Me he descargado la version 1.5... del link que me has indicado, lo he instalado en su opción de superserver y resto de herramientas, no se si es la que necesito o no, ahora viene lo bueno. Todos los manuales que hay en la web vienen en inglés por no cambiar la costumbre y no se por donde empezar. ¿Mi base de datos de antes me sirve ahora (la puedo convertir)? Aunque lo haya instalado no veo nada tipo el DataDesktop que me sirva para crear las tablas excepto una ventana que espera comandos. Dentro de delphi, uso la version 7, que cambia a la hora de insertar por ejemplo BDEdit, BDSource, Table ... ¿hay que usar otras opciones supongo? Si estaba un poco bloqueado con las busquedas esto ya supone un muro de hormigon delante de mi, espero aprender algo que me permita seguir sino tendré que regresar a lo que tenía Un saludo |
|
#11
|
||||
|
||||
|
Bueno, no te apures poco a poco.
En primer lugar creo que es preferible que pierdas ahora un poco de tiempo cambiando a Firebird que no despues que te va a costar el doble. Tu base de datos si que te sirve, no lo he necesitado nunca pero hay herramientas que te convierten tu base de datos Paradox, en una Firebird. En cualquier caso siempre la pudes crear desde cero. Lo que tu te has instalado es el motor d Base de datos. Para gestionar y administrar la bases de datos necesitas una herramienta de administración. Hay muchas, y como siempre unas de pago otras opensource. El IbExpert está muy bien. Es de pago pero tienen una version de pruebas: http://www.ibexpert.com/ Esta otra es Gratis. La baje el otro dia y ahora mismo la estoy probando. Se llama SqlHamer y la tienes aquí: http://www.devrace.com/ Y aprovechando que te bajas el "SqlHammer", te bajas tambien los componentes para acceder a Firebird desde Delphi. Son los "FibPlus" Por cierto. Mira en esta pagina ,también, por su hubiera alguna herramienta para convertir BD's Paradox en BD,s Firebird. Saludos |
|
#12
|
|||
|
|||
|
Citado por Caral "El que uso se llama Constructor es muy pequeño y facil de usar."
Caral, ¿podrías dar mas detalles de ese tal Constructor para crear ventanas de mensajes? ¿Pag web donde encontralo, enlace, autor, algo para descargarlo? Es que sólo con constructor salen miles de entradas en google. Gracias |
|
#13
|
|||
|
|||
|
ayudenme en esto
como creo un login con:
dos edit en uno un nombre como scott= edit1 y el otro la clave como dilania=edit2 estao es el nombre y la clave fija del login. como ago esto en el programa osea los codigos un boton aceptar y otro salir |
|
#15
|
|||
|
|||
|
Algun enlace de donde descargar la ultima version?
|
|
#16
|
||||
|
||||
|
Debe estar en el ftp de clubdelphi, échale un vistazo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 30-05-2012 a las 10:08:19. |
|
#17
|
|||
|
|||
|
Gracias, pero lo que aparece en el FTP es una version de los inicios, quizas cuando iban por el post 10.
|
|
#18
|
||||
|
||||
|
¿Seguro?, qué raro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ejecutar Query Paso a Paso??? | juliopag1 | SQL | 0 | 17-06-2006 01:51:10 |
| Novato (Paso a Paso de una consulta) | enecumene | Conexión con bases de datos | 2 | 29-05-2006 20:52:19 |
| Motor Paso a Paso | jluisx | C++ Builder | 3 | 12-09-2005 16:48:07 |
| Red Paradox paso a paso | Aldo Josué | Conexión con bases de datos | 2 | 13-12-2003 13:53:37 |
| procedure paso a paso | Silver | Varios | 1 | 26-08-2003 20:24:00 |
|