Post Reply 
Files with multiple functions and recalls between files/Archivos con múltiples fun...
02-11-2014, 05:08 PM (This post was last modified: 02-11-2014 08:56 PM by compsystems.)
Post: #1
Files with multiple functions and recalls between files/Archivos con múltiples fun...
Please create a new subforum for posts in other languages

in Spanish =(

USO DEL OPERADOR PUNTO (.)

fileName.functionName

códigos de prueba.

El siguiente archivo (file1) se debe almacenar estrictamente como my_dir1.hpPrgm y (file2) como my_dir2.hpPrgm para que pueda correr satisfactoriamente.

En el archivo my_dir1.hpPrgm la siguiente sentencia my_dir2.funcion1( valor_f2 );
llama a una función de otro archivo que se encuentra en my_dir2.hpPrgm, esto muy útil para crear una especie de DIRECTORIOS ESTATICOS y que otros archivos puedan llamar funciones entre ellos, una especie de LIBRARY en donde cada archivo puede contener el mismo nombre de funciones, hay que tener mucho cuidado con EXPORT por que si dos archivos contienen una función con idéntico nombre se exportara la ultima definida (espero que HP_TEAM) solucione este problema


file 1: my_dir1.hpPrgm
Code:
//my_dir1.hpPrgm
  funcion1( );  // declaración de funciones secundarias // declaration of secondary functions
  funcion2( );  // declaración de funciones secundarias

  EXPORT main_dir1( valor) // declaración y definición función principal (VISIBLE) // declaration and definition main function
  begin
     print();
     print("----"); 
     print("función visible main_dir1: ");
     print("valor="+valor);   
     funcion1( valor ); // llama a una subfuncion "oculta" de este archivo
     print("-----"); 
     return("Done");
  end;

  EXPORT funcion1( valor_f1) // definición de función secundaria (visible)
  begin
     print("---");
     print("funcion1 visble de main_dir1: ");
     print("valor+1="+(valor_f1+1));
     funcion2( valor_f1 ); // llama a una subfuncion "oculta" de este archivo
  end;

  funcion2( valor_f2) // definición de función secundaria (oculta)
  begin
      print("---");
     print("funcion2 oculta de main_dir1: ");
     print("valor+2="+(valor_f2+2));
     
     my_dir2.funcion1( valor_f2 ); // llama a una subfuncion "oculta" de otro archivo, que debe nombrarse estrictamente como my_dir2.hpPrgm
     CAS.function1_CAS( valor_f2 );
   end;

file2: my_dir2.hpPrgm
Code:
//my_dir2.hpPrgm
 funcion1( );  // declaracion de funciones secundarias  // declaration of secondary functions
 //funcion2( );  // declaracion de funciones secundarias
 funcion3();

 export funcion2( valor_f2) // definición de función secundaria (visible) /!\ antes de main
 begin
    print("---");
    print("funcion2 visible de main_dir2: ");
    print("valor+4="+(valor_f2+4));
    funcion3( valor_f2) 
 end;

 export main_dir2( valor) // declaración y definición función principal // declaration and definition main function
 begin
    print("---");
    print("función visible main_dir2: ");
    print("valor="+valor);   
    funcion1( valor ); // llama a una subfuncion "oculta" de este archivo
 end;

 funcion1( valor_f1) // definición de función secundaria (oculta)
 begin
    print("---");
    print("funcion1 oculta de main_dir2: ");
    print("valor+3="+(valor_f1+3));
    funcion2( valor_f1 ); // llama a una subfuncion "visible" de este archivo
 end;
 
  funcion3( valor_f3) // definición de función secundaria (oculta)
  begin
     print("---");
     print("funcion3 oculta de main_dir2: ");
     print("valor+5="+(valor_f3+5));
  end;

Al ejecutar desde la línea de entrada

main_dir1(1); or my_dir1.main_dir(1) [Enter]
returns
…1
…2
…3
…4
…5
...6
Find all posts by this user
Quote this message in a reply
02-11-2014, 05:48 PM
Post: #2
RE: Files with multiple functions and recalls between files
May be you should begin by specify the language in tittle when you post in English forum.

Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
Find all posts by this user
Quote this message in a reply
02-11-2014, 06:35 PM (This post was last modified: 02-11-2014 06:36 PM by compsystems.)
Post: #3
Files with multiple functions and recalls between files/Archivos con múltiples fun...
Now, with calls to functions CAS type
Ahora con llamadas a funciones tipo CAS

my_dir2.funcion1( valor_f2 );
function1_CAS( valor_f2 );


CAS FILE
Code:

function1_CAS( valor_Cf1) :=
 begin
    print("función1_CAS: ");
    print("valor*10="+(valor_Cf1*10));
     function2_CAS( valor_Cf1)
 end;
 
 function2_CAS( valor_Cf2) :=
 begin
    print("función2_CAS: ");
    print("valor*20="+(valor_Cf2*20));   
 end;
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)