|
|
|
|
- Modo de funcionamiento
- Caso especial
La etiqueta END: se utiliza para definir un código que se ejecutará sistemáticamente al final de la ejecución de Process. Este código se ejecutará incluso si la salida de Process es realizada por RETURN o RETURN (excepto en el caso de una excepción Process lanzada por ExceptionThrow). PROCÉDURE CompareContent(File1, File2)
// Opens the files nFile1 is int = fOpen(File1, foRead) nFile2 is int = fOpen(File2, foRead)
// Returns -3 if an opening error occurred IF nFile1 = -1 OR nFile2 = -1 THEN RESULT -3
// Reads the first line of each file sLine1 is string = fReadLine(nFile1) sLine2 is string = fReadLine(nFile2) nLine is int = 1
LOOP // If the two lines are empty, the end of the two files has been reached // Returns 0 IF sLine1 = EOT _AND_ sLine2 = EOT THEN RESULT 0
// If end of file 1, the file 1 is shorter // returns -1 IF sLine1 = EOT THEN RESULT -1
// If end of file 2, the file 2 is shorter // returns -2 IF sLine2 = EOT THEN RESULT -2
// If the lines are different, returns the number of the different line IF sLine1 <> sLine2 THEN RESULT nLine
// Goes to the next line sLine1 = fReadLine(nFile1) sLine2 = fReadLine(nFile2) nLine++ END
END: // Closes the files fClose(nFile1) fClose(nFile2)
Sintaxis
// Main code ... IF ...THEN ... RESULT 0 END ... IF ...THEN ... RESULT 1 END RESULT 2 // Statements run in all cases // at the end of process execution END: ...
Observaciones Se memoriza el valor a devolver y se ejecuta el código que sigue a la etiqueta "END:".. El valor se devuelve al final de la ejecución del código siguiendo la sentencia "END:". Observación: La etiqueta END: también se ejecuta después de la gestión de errores de automatic si ésta está habilitada (por "CASE ERROR:" y "CASE EXCEPTION:").
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|