Ver Mensaje Individual
  #21  
Antiguo 02-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues bueno, esperamos entonces la corrección de la indentación. No creo que sea necesario poner tooooodo el código, basta la del botón que abre el archivo.

Pero regresando al punto original, creo que para entenderlo conviene que te olvides por un momento del código y te centres en la lógica del asunto.

Si no mal entiendo, tienes un botón para abrir un archivo y procesar dicho archivo. La lógica lo que dice es que, si no abres el archivo, entonces no haces nada. Por eso, en pseudo código:

Código:
IF AbreArchivo THEN
BEGIN
  ProcesoArchivo
END
En ProcesoArchivo va todo lo que debes hacer cuando abres el archivo, incluída la construcción del StringList.

Lo que ahora tienes (otra vez en pseudo código) es

Código:
AbreArchivo

IF ExisteElArchivo THEN
BEGIN
  ProcesaArchivo
END
Es decir, realmente (aunque tienes un if por delante) no estás tomando o no una acción dependiendo del resultado de Execute, sino que indistintamente seguías con el proceso. Lo solventaste con el FileExists, pero no había que llegar a eso, porque la cuestión es:

Si no abres el archivo entoncs no haces nada.

// Saludos
Responder Con Cita