![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#32
|
||||
|
||||
|
kbaby, antes que nada te recuerdo algo que tu habías dicho:
Y esto lo hago no con la finalidad de ser pesado sino de hacerte notar de que muchas veces uno por ponerse a ser original termina descubriendo cosas que están fuera de nuestra comprensión y atentan con lo que estuvimos haciendo. El que nos digas a nosotros que quieres hacer esto, hacer esto otro... y a riesgo de que nos saltes diciendo algo parecido a esto: Cita:
Pusiste a disposición tu código fuente, lo estuve viendo... En cuanto a estética deja que desear, pero eso no es problema. En cuanto a código... también deja que desear. Puede mejorarse. Y es aquí donde voy a hacer una pausa para darte algunos consejos: 1. Declaración de variables. Debes declarar a tus variablesy controles de mejor manera. Un "l", un "t" no es adecuado. Termina confundiendo más. A veces es mejor tener un StringGrid1, que un t. 2. Mucho código puede reducirse y compartirse entre los controles. Aqui debo volver hacia lo que te dije al comienzo de este post: Al no saber hasta donde llegan tus conocimientos no sabría decirte y preguntarte el porqué no haces usos de procedimientos y funciones. Buena parte del código se ahorra teniendo funciones y procedimientos que hagan las tareas comunes e invocandolas cuando sea conveniente. Cita:
Debido a ello es que cuando deseamos hacer el paso inverso no sabemos a quien atribuírsele. ¿Como se soluciona esto? Lo he dicho en el post anterior: Una alternativa es que al volcar los datos, usar la primera columna para hacer referencia al índice en cuestión. De modo que con leer dicha celda sabemos a que índice o posición (ya sea del Apellido, DNI, o el que fuera) podemos aplicar el paso inverso valiendonos de un corrimiento por arriba y debajo de dicho indice. No interesa si modificaste uno o varios campos. El proceso funciona igual. ¿Que importa si antes un campo tiene PEPE y lo sustituímos por PEPE? ¿Afectó en algo? Si por cuestiones de "perfomance" deseas evitar recorrer todos los elementos, deberías llevar un registro de cuales son las celdas que han sido editadas. Y esto implicaría más código... Y más código, sobre todo para ti y la funcionalidad que buscas, es más de lo que estarías dispuesto a hacer. Nuevamente volvemos a lo que te he dicho al inicio: ¿Cuanto sabes? ¿Que puedes usar? ¿Que no puedes usar? ¿Si te ofresco una solución, cuál es la probabilidad de que entiendas de lo que hablo? Digo... si me baso en lo que pasó al explicarte sobre el uso de la función inc()... ¿que puedo esperar si te ofrezco un algoritmo que lleve registro de las celdas editadas y luego recorrerlas a fin de aplicar los cambios adecuados? Un algoritmo como ese implica de una u otra forma el uso de una estructura de datos dinámica, ya sea que termine usando un array dinámico, un TList, un lo que sea.... lo más seguro es que termines diciendome nuevamente que no entiendes y/o que no viste nada de eso y no puedes usarlo. kbaby, te he dicho que tus problemas están en la lógica. Y ahora lo veo también por la prisa que tienes de hacer tu "tarea". Con respecto al error que dices, no me arroja error. El algoritmo que tienes funciona tanto para un apellido simple como para uno compuesto. Da lo mismo que pongas MARTINEZ que MARTINEZ VELASQUEZ. Si en el TListBox existe, lo encontrará. Lo acabo de probar, no alteré el código... FUNCIONA. Habría que ver que es lo que realmente haz puesto tu, a lo mejor fue un despiste "de dedo". kbaby, ¿Recuerdas como empezaste en el Club? Varios foristas salieron a tu ayuda y tu lograste dar con la solución. ¿Porqué no haces nuevamente eso? Analiza el problema, deja de pensar en TListBox, en TStringGrid.... borra de tu mente el código y piensa objetivamente sobre la raiz del problema. Olvidate de la PC, agarra un lapiz, y papel. Y describe tu problema. Todo en forma textual... ahora piensa un poco y redacta en la forma una solución. ¿Listo? Luego a cada oración, párrafo o idea buscale un sentido en programación. Ese ejercicio te puede ayudar a comprender que los mayores problemas no están en el lenguaje sino en tu cabeza. No es mi intensión llamarte tonto, ni nada de eso. Sino que lo que nos detiene a muchos aquí es que se meten en un código buscando que la idea se adapte a él, cuando es la inversa lo que debe suceder. Hace tiempo te comunicaste conmigo pidiendome una opinión sobre que carrera te convenía. En vista a que quiere meterte en informática, y tal parece por lo que me comentaste, te gusta mucho esto de la programación. No es por asustarte ¿pero sabes los golpes que nos damos a diario muchos aqui? No pretendo decir que esto no es para cualquiera... porque no es ni lo uno ni lo otro. Hazme caso kbaby... Piensa en frio. imagina a las cosas de manera más simple, buscale a los problemas una representación similar a algo real, algo que ya hayas resuelto. Incrementa tu habilidad de abstracción. ¿Me creerías si te digo que me imagino al TStringGrid como varias pilas de platos una al lado de la otra? ¿Me creerías si te digo que le encuentro al procedo del volcado inverso una analogía al proceso de desapilar las pilas de platos? Si... tal vez te parezca que me he estado dando unos cuantos golpes y que he salido con unos extraños personajes de los años 70 que profetizaban la frase "paz y amor, viejo". Pero lo cierto es que prefiero no matarme buscando adaptar la idea al código, sino que la idea me de el código. Lenguajes hay muchos, y cada uno te puede hacer más o menos fácil la vida. Y no tiene sentido que te aprendas el lenguaje. Aqui muchos preferimos Delphi, a mi me gusta... pero ¿cuanto se de él? ¿Un 20%? ?Un 50%? ¡Pues que importa! si lo que realmente importa es resolver el problema.... Piensa en frio. Tal vez estas palabras te sean rudas... No es mi intención que así sea. Noto en ti muchas ganas de aprender y disfrutar de esto. Y ando buscando el modo de demostrarte, y creo que lo que ha estado sucediendo en este hilo lo está demostrando en parte, de que las cosas no se hacen de un día a otro. A su tiempo. Analiza en frio el problema, y mi propuesta. ¿Existe otra manera? Muy posiblemente. Me extraña que otros no se hayan animado a ofrecerte ayuda. Esto si será rudo: No te voy a resolver el código, porque considero que allí no está el problema. Creo que hay un bosque que te tapa el arbol ¿O se trata de que un Arbol te tapa el bosque? ![]() Saludos, |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ayuda con código. | wofox | Varios | 6 | 11-12-2007 00:16:21 |
| Ayuda con un codigo | JoNieve | C++ Builder | 0 | 21-04-2007 12:27:33 |
| Ayuda con error en codigo :-( | jorgegetafe | Varios | 6 | 07-02-2007 19:29:04 |
| Codigo de Barras.... Ayuda!!!!! | adolfoz | Varios | 14 | 15-11-2006 17:13:55 |
| Ayuda con código de barras | ramiretor | Varios | 0 | 28-06-2003 00:42:58 |
|