Page 1 of 1

ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 5:59 pm
by OskarG
hola como se pasa una estructura como parametro en div2?¿?
es decir tengo esto
Code: Select all

STRUCT S_A
plano;
altura;
END

calcula_valores(S_A);//

PROCESS calcula_valores(estructura) //intento pasar la estructura con una nueva variable...en c se puede pero en div?¿?
BEGIN
estructura.plano=100;//da error
S_A.plano=1000;/correcto pero yo quiero cambiar su nombre,pues tengo que hacer cientos de llamadas pero con multiples estructuras diferentes a la misma funcion calcula_valores
END



Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 9:09 pm
by necro_vampire
la declaracion de la funcion/proceso no deberia ser nombre( struct nombreStruct ) ?
deberia funcionar de namera similar con typedefs

Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 9:21 pm
by OskarG
hola necro,he intentado hacerlo pero da error,me puedes poner un simple ejemplo que funcione.... lo que expreas asi es en c,pero en div,no va ,hay algo que hago mal.

Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 9:26 pm
by CicTec
No se puede pasar una struct en DIV por valor (copia), solo por referencia (puntero):
Source Code (Gemix) [ Download ] [ Hide ]
  • global
  •   struct st;
  •     int a, b, c;
  •   end
  •  
  • begin
  •   proc(&st);
  • end
  •  
  • process proc(struct pointer st p_st)
  • begin
  •   p_st.a = 10;
  •   p_st.b = 20;
  •   p_st.c = 30;
  • end
  •  

Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 10:04 pm
by OskarG
Hola Cictec,gracias siempre es bueno aprender algo aunque no lo puedo traspolar a otro lenguaje...y ahora en div como hago para imprimir la variable valor correctamente?¿?No estaria mal que incluyeras este ejemplo en la docu...,pues son cosas simples pero muy prácticas...


Code: Select all


Code: Select all
/*
 * whatsnew.txt by o
 * (c) 2019 o
 */

PROGRAM esctructuras;

global


struct st;
int a,b,c;
end
valor;

begin
proc(&st);
valor=st.a;

write_int(0,100,100,0,offset valor);

loop
frame;
end


end

PROCESS proc(struct pointer st p_st)
BEGIN
p_st.a=10;
p_st.b=20;
p_st.c=30;
end







ya funciona a div2 gracias!!! ahora a ver si lo puedo trasladar esta info al otro programa....

Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 10:15 pm
by CicTec
De nada.

A que te refieres con "y ahora en div como hago para imprimir la variable valor correctamente?".

OskarG wrote:?No estaria mal que incluyeras este ejemplo en la docu...,pues son cosas simples pero muy prácticas...

Esto ya viene explicado en la DOC de DIV2 sobre las struct.

Re: ayuda en div antiguo...

PostPosted: Mon Dec 02, 2019 10:25 pm
by OskarG
Pues no lo sabia palabra y eso que he tenido dos veces el div original,uno que lo compre y otro que lo encontré con su caja y un libro de este ,hasta tengo una copia en usb pues considero que div2 fue un gran programa.
Estoy liado con divgo..pero no entiendo como van las esctructuras en ese engine ,pues no lo puedo traspolar ......

Re: ayuda en div antiguo...

PostPosted: Tue Dec 03, 2019 8:24 am
by CicTec
OskarG wrote:Pues no lo sabia palabra y eso que he tenido dos veces el div original,uno que lo compre y otro que lo encontré con su caja y un libro de este ,hasta tengo una copia en usb pues considero que div2 fue un gran programa.

Por eso digo, si lo teneis y no se lee la DOC que hay, a cosa se pregunta de dedicar el tiempo a hacer una y los tutorials/ejemplos ? :angel:

OskarG wrote:Estoy liado con divgo..pero no entiendo como van las esctructuras en ese engine ,pues no lo puedo traspolar ......

No conozco DIVGO en detalle, apenas lo he probado, pero si no funciona, lo mas probable es que no tenga ese soporte anadido y por eso no funciona.