Post Reply 
Editor/converter/program manager for the Prime Calculator (PrimeComm)
01-19-2014, 05:42 PM (This post was last modified: 01-19-2014 05:46 PM by eried.)
Post: #26
RE: PrimeComm: Alternative Windows (Library/Console/GUI) utility to send/convert things
(01-18-2014 03:54 PM)compsystems Wrote:  he realizado pruebas con el siguiente código para el CAS MODE

Extrae los coeficientes de una expresión polinomica, codigo escrito "muy legible" o editable (espacios entre comandos, operadores, variables, tabulacion, etc)
Code:

polyToCoeff( Poly, Var ):=
// Extrae los coeficientes de una expresión polinomica, version 0.0.2 By CompSystems Nov 2013
BEGIN
    LOCAL PolyFnt, Out, Cnt0, Temp0;
    purge( Pol );
    
    expr( Pol( Var ) + ":=" + string( Poly ) );
    Out := MAKELIST( 0, Cnt1, degree( Poly ), 0, 1 );
    Cnt0 := 0;
    WHILE Pol(Var) <> 0 DO
        Temp0 := Pol( Var ) / ( Cnt0! ) ;
        Out[ Cnt0 ] := ( Temp0 | Var = 0 );
        Cnt0 := Cnt0 + 1;
        Pol( Var ) := diff( Pol( Var ), Var);
    END;
    Out := expr( "poly1[" + string( REVERSE( Out ) ) + "]" );
    RETURN( Out );
END;

versión comprimida (no editable) en una sola linea y opera bien, así que si se puede comprimir todo el archivo en una sola linea, aunque acá se vea separado en algunas lineas

Code:
polyToCoeff(Poly,Var):= BEGIN LOCAL PolyFnt,Out,Cnt0,Temp0;purge(Pol);expr(Pol(Var)+":="+string(Poly));Out:=MAKELIST(0,Cnt1,degree(Poly),0,1);Cnt0:=0;WHILE Pol(Var)<> 0 DO Temp0:=(Pol(Var)/Cnt0!);Out[Cnt0]:=(Temp0| (Var)=0);Cnt0:=Cnt0+1;Pol(Var):=diff(Pol(Var),Var);END;Out:=expr("poly1["+string(REVERSE(Out))+"]");RETURN(Out);END;

Bien, pero habría que probar otros comandos y expresiones. Aún no me meto 100% programando en la calculadora (de hecho aún está reservada para los experimentos de la batería) así que todavía no sé que le falta al editor (por no usarlo).

Actualicé ciertas cosas recién (0.8 b13), como el tabulador (que sean espacios porque o sino salen símbolos en la HP) y que la indentación sea inteligente y que el cursor se posicione bien al iniciar (preparándolo para plantillas futuras).

Aún no decido como poner las plantillas, pero se me ocurre algo así editable por mientras:
[Image: Image%202014-01-19%20at%202.24.37%20PM.png]

(01-18-2014 03:54 PM)compsystems Wrote:  otros requerimientos

*: Al enviar un archivo si el "emulador" no esta activo, abrirlo
No encuentro aún una forma limpia de detectar su ubicación (que no sea algo fijo escrito en código), cuando está abierto ahí robo la ruta del ejecutable.
(01-18-2014 03:54 PM)compsystems Wrote:  *: Al crear un nuevo programa llevar un contador interno del nombre del programa, es decir le incorpore un postfijo a programName#() por que actualmente siempre coloca programName() cada vez que se da click en file new
Mas que contador, quizas debería ser la fecha o algo como programNameJan12(). Pero es buena idea.
(01-18-2014 03:54 PM)compsystems Wrote:  *: Al crear un nuevo archivo o archivo vacío y pegar un código sobre el, detectar el nombre de la función o programa en el momento de almacenarlo en el PC

EXPORT laplace()
BEGIN
...
END;

En file save (por primera vez), aparecería laplace.hpprgm y no un campo vacio

detectar el nombre del programa seria buscar la primer cadena de texto antes del primer paréntesis ( encontrado
Eso ya lo hace internamente, pero no lo he expuesto en el diálogo.
(01-18-2014 03:54 PM)compsystems Wrote:  *: permitir pestanias para tener varios archivos visibles en el PrimePAD, en una sola ventana, en lugar de ventanas independientes para cada archivo
Esto es imposible sin romper un montón de cosas. Quizas si la HP vende muuucho Tongue y el editor es utilizado un día.
(01-18-2014 03:54 PM)compsystems Wrote:  *: detectar si el archivo ha sido modificado por otros editores, en especial por el "editor" de programas de connectivitykit de HP
El editor no modifica directamente el archivo (sino al cerrar el Connkit), es un poco complicado esto.
(01-18-2014 03:54 PM)compsystems Wrote:  *: En status aparece Not connected, me gustaria ver Device not connected, seria posible detectar el numero del serial del dispositivo?
El serial, batería y todos esos detalles deberán ser integrados algún día. Es un mensaje especial por el usb (preferiría primero terminar el editor, luego ver como manejo las apps)
(01-18-2014 03:54 PM)compsystems Wrote:  *: Quiero enviar expresiones o comandos a la EntryLine usando PrimeComm, Erwin sabes como hacerlo? o podría alguien del HP TEAM ayudar (lo dudo)
No es posible en este instante, a menos que uses los mensajes y copiar/pegar.
(01-18-2014 03:54 PM)compsystems Wrote:  *: Para promover PrimeComm al guardar en el PC un archivo en versión texto agregar dentro del código, y al inicio del mismo una cadena de texto como comentario lo siguiente o algo similar

// saved with PrimeComm v 0.8 b...
EXPORT ...()
BEGIN
...
END;
Es buena idea.
(01-18-2014 03:54 PM)compsystems Wrote:  *: Como la HP-prime tiene un modulo inalambrico, habría que explorar la posibilidad de una comunicación por este medio

*: Reconocer un archivo o codigo en ASCII 7 bits para ser decodificado y luego enviado a la calculadora (es muy util esta codificacion por que desde un editor simple de texto no se puede pegar especiales unicode )

ASCII_7bits.txt
Code:

EXPORT ASCII_7bits()

BEGIN

LOCAL id0, id1, id2, id3, id4, id5, id6;X;
LOCAL id7, id8, id9, id10, id11, id12, id13;
LOCAL id14, id15, id16, id17, id18, id19;


id0:=X\^2\;

id1:=X\^-1\;

9\store\id2;

id3:=5\ee\-13;

id4:=\e\(5);

id5:=\i\;

id6:=5\!=\9;

id7:=4\<=\5;

id8:=9\>=\8;

id9:=\root\(4);

id10:=\integral\(X,X,1,2);

id11:=\diff\(X,X);

id12:=5\/_\53;

id13:=\pi\;

id14:=\Sigma\(X,X,1,2);

id15:=limit(X,X,X,\infinity\);

id16:=limit(X,X,X,\+-\\infinity\);

END;



Gracias
Lo del módulo inalámbrico, como aún no está ni siquiera a la venta es bastante difícil de realizar. Además como no podrán comprarse por unidad lo veo difícil. Adicionalmente HP no suele colocar bajos precios en esas cosas de educación. (el datalogger/sensores SmartStream por ejemplo y los módulos inalámbricos).

Lo de los 7 bits, la verdad me parece un trabajo gigante para la ganancia. Si deseas implemento un conversor (sería basicamente un nuevo menú de importar/exportar que pasen por una traducción) y te digo como hacer la tabla.

My website: erwin.ried.cl
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
ASCII 7 bits - compsystems - 01-07-2014, 08:57 PM
ASCII 7 bits - compsystems - 01-08-2014, 02:18 PM
RE: PrimeComm: Alternative Windows (Library/Console/GUI) utility to send/convert things - eried - 01-19-2014 05:42 PM



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