Cita:
Empezado por kbaby
Bueno como aquí tenemos mucho que hablar, voy a ir botton por botton para ir diciendo que tal me parece y darte gracias.
Button abrir: ¡Que bien queda! No me imaginaba que se podía hacer eso. A mi me enseñaron el otro procedimiento para abrir un archivo y claro, utilizaré ese para mi proyecto final. Pero para mis futuros programas, el que vi que utilizaste me parece muy bueno. Es que queda profesional jajaja. Gracias.
Button Guardar: ¿Yo puedo sustituir mi código entero por el que ví en tu button? Código Delphi [-]lbArchivo.Items.SaveToFile(Ruta);
Ese código, es muy pequeño para el que tengo que poner yo para guardar.
¿En qué se diferencia cada uno? Del que uso yo, al que usas tu.
Gracias.
|
La diferencia es que tus códigos para abrir y guardar son de un nivel más bajo. trabajas en forma "directa" con el archivo. Mientras que yo, empleo la biblioteca VCL que ofrece Delphi. Como esta amplia biblioteca ya cuenta con objetos y clases que trabajan con archivos me evito el código que tu expones.
Cuando hacía mis prácticas en Pascal, cuando me iniciaba en lenguajes, debía trabajar del mismo modo que tu. Y de hecho, cuando me inicié en Delphi también lo segui haciendo. Si te resulta agradable tu método úsalo.
Cita:
Empezado por kbaby
Button Volcar al TSringGrid:
Código Delphi [-]
LimpiarRejilla;
VolcarARejilla;
sgRejilla.Enabled := True;
bVolcarAListBox.Enabled := True;
¿Y ese código tan pequeño? Yo uso, como puedes ver en mi anterior subida para que veais mi proyecto... un código muy largo y que hace, exactamente lo mismo. ¿Ese código lo puedo utilizar yo o necesito tocar antes algunas opciones de algun elemento?.
Me llamó la atencion lo de "LimpiarRejilla" "VolcarARejilla". ¿Delphi entiende las palabras en español?.
Gracias.
|
Pues, yo me las ingenio para que Delphi entienda español

Aunque escribí ese código en castellano para que tu entiendieras. Por lo general escribo mis códigos en inglés... Delphi entiende mejor el inglés

.
Antes de usarlo, entiende que és y que hace.
Cita:
Empezado por kbaby
Button Buscar: Me parece genial el código. Pero... como... yo estuve casi una tarde pensando en otro código ( powered Delphius) pues... usaré el que estuve pensando. Jajajaja. Pero gracias.
Lo de los criterios de búsqueda creo que me va mal o no se usarlo. Si yo pincho en el criterio DNI y pongo Guadalupe en la búsqueda. Me sale el usuario Guadalupe y en realidad tendría que salir que no hay paciente con ese DNI. Pienso :P Y cuando pincho en Buscar Todos me salta error.
Gracias.
|
Me olvidé de decirtelo.
Buscar trabaja en forma independiente del criterio de búsqueda. Encuentra la primera concidencia dentro del todo el TListBox. Si pones un DNI y lo encuentra muestra los datos de dicha persona; si pones una Ciudad y la encuentra... también funciona. Como dije: es independiente.
En cambio, Buscar Todos necesita del criterio. Buscará todas las coincidencias según el criterio establecido.
Cita:
Empezado por kbaby
Button Volcar al TListbox: ¿Es necesario que en la columna 0 salgan los número del indice de la persona? El código lo estoy aún pensando porque "GuardarCambios" ese comando... ¿delphi lo entiende? Es un comando en español y suponía que delphi entendía solo ingles.
Gracias.
|
Pues yo preferí que liste los indices en dicha columna para impedir que se modifique. Si lo hago que lo liste en la columna 1, un error de dedo puede hacer fallar a todo el código.
Por ejemplo, supongamos que lo ponemos en la columna 1. Se vuelcan los datos... hago doble clic en la celda y borro ese indice y pongo otro...
¿A donde van a parar los cambios? A otro lugar. Y si en vez de un número pongo una letra... ¡peor! lindo error vas a obtener.
Entonces, para evitarme lios. el indice es inalterable y por ello está listado en la columna 0.
Repito... yo me las ingenio para que entienda Español, aunque si deseas... puedo probar a ver si entiende italiano.

Cita:
Empezado por kbaby
Delphius, tengo que ir a clase que empiezan a las 12.00 (españa). Luego me detendre para ver el Ejemplo y apuntarme codigos en mi libreta. Luego te cuento mas cossas que tengo en la punta de la lengua.
Muchas Gracias
-----edito---------
No me había leído lo de Pulsar CTRL para ver loq ue hace lo de LimpiarRejilla, Guardar. No respondas a esas preguntas, estoy como tu dices: "analizando el código en frio".
|
Algunas cosas sería bueno que te explicara, pero a modo de pistas... para que te ayuden a combatir un poco el frio.
¿Que diferencia notas entre esto:
Código Delphi
[-]procedure bAbrirClick(Sender: TObject);
y
Código Delphi
[-]procedure GuardarCambios(Fila: integer);
Fuera del idioma. Ambas cosas son lo mismo. Si te fijas... ambos tienen una palabra rara llamada procedure. Esto significa que son procedimientos.
El primer caso significa que el procedimiento corresponde a un Click del botón bAbrir y el segundo procedure lo que hace es guardar cambios. ¿Cúando se ejecuta el procedimiento?
Cuando sea necesario. Un procedimiento puede ser llamado por otro.
Ve al procedimiento y a la función como un conjunto de lineas de código que se ejecutan en cuanto se lo solicitan.
Hay funciones y procedimientos que tienen paréntesis. Por ejemplo el procedure GuardarCambios. Dentro de ese paréntesis se listan los parámetros que requiere el procedimiento para hacer lo que debe hacer.
En este caso el parámetro es uno, y se llama Fila.
¿Que es un parámetro? una variable que puede ser usada dentro del código de GuardarCambios para hacer las operaciones necesarias.
Si tienes la oportunidad de acceder al libro de Turbo Pascal de Luis Goyanes Aguilar (No estoy seguro de si el primer apellido está bien escrito) allí está bien explicado el uso de funciones y parámetros.
¿Porqué los procedimientos y funciones? Porque eso permite que esas porciones de código se ejecuten más de una vez cuando se desee. Y me evito poner el mismo código una y otra vez.
De ese modo, cuando tu haces;
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
begin
HazAlgo(Edit1.Text);
end;
Estás diciendo que ante la pulsación de Button1 se ejecute el código del procedimiento HazAlgo, con el valor del texto del Edit1 como parámetro.
Y si justo el procedimiento HazAlgo me sirve en otro lado ¿como hago?
Pues fácil. Lo volvemos a "llamar":
Código Delphi
[-]procedure TForm1.Label1Click(Sender: TObject);
begin
HazAlgo(Label1.Caption);
end;
¿Que diferencia hay? Pues que en vez de usar el texto del Edit, ahora usamos el de un Label.
Espero que esta mini ayuda te sirva para comprender porqué Delphi entiende el Español.
Me parece, según mi opinión, que el uso de procedimientos y funciones es de cátedra básica en programación. El no enseñar eso... pues... me parece una total falta.
No se como te estarán dando clases de programación, pero el no haberte enseñado esos conceptos atenta contra la enseñanza. No se puede avanzar conceptualmente sin abordar el estudio de procedimientos y funciones.
Saludos,