HP Forums
Files with multiple functions and recalls between files/Archivos con múltiples fun... - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Files with multiple functions and recalls between files/Archivos con múltiples fun... (/thread-653.html)



Files with multiple functions and recalls between files/Archivos con múltiples fun... - compsystems - 02-11-2014 05:08 PM

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


RE: Files with multiple functions and recalls between files - patrice - 02-11-2014 05:48 PM

May be you should begin by specify the language in tittle when you post in English forum.


Files with multiple functions and recalls between files/Archivos con múltiples fun... - compsystems - 02-11-2014 06:35 PM

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;