Esta funcion devuelve entero en vez de string

Started by Danielo515, October 19, 2010, 12:22:37 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

Hola amigos, alguien me puede decir por qué esta funcion devuelve un entero en lugar de una string?
Los say funcionan bien, así que no se porqué no funciona bien la string que retorna.

GRaciacas


[code language="bennu"]FUNCTION string cortar(string texto,int mitad);
    PRIVATE
    int longitud;
    int media_longitud;
    string resultado;
BEGIN
    longitud=len(texto);
    media_longitud=longitud/2;
    while(texto[media_longitud]!=" ") //solo cortamos a partir de la mitad donde encontremos un espacio
        media_longitud++;
    end
    say("cortando texto");
    if(mitad==1)
            resultado=substr(texto,0,media_longitud);
            say("primera mitad: "+resultado);
    else
            resultado=substr(texto,media_longitud-longitud);
    end
    return resultado;
END[/code]

Danielo515

Por cierto, ya que estamos.
Cuando pego un gráfico en otro usando map_xputnp ¿cuanto tiempo se queda el gráfico así? ¿Hasta el fin de ejecución del programa? ¿Y si lo quiero retornar a su valor original? Entiendo que no me vale con cargarlo del fpg porque queda también modificado ahí, así que la unica solución sería clonarlo y trabajar y descargar el clon ¿estoy en lo cierto?

Gracias.

SplinterGU

ya se hablo y explico que es lo que se hace mal para que una funcion no devuelva el tipo que se espera.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Noivern

Es por que no has declarado la función antes de usarla. Si no lo haces devuelve un unsigned int.

SplinterGU

Quote from: Noivern on October 19, 2010, 02:03:45 AM
Es por que no has declarado la función antes de usarla. Si no lo haces devuelve un unsigned int.

;)

estoy casi seguro que Danielo515 ya pregunto esto hace tiempo...

:D
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

 :'( vaya, se ve que me falló la memoria. Pero normalmente me daría una especie de flassh, y esta vez ni siquiera recuerdo que ocurriera.

De todos modos, creo que a veces ciertas cosas se olvidan, y en bennu hay algunos datos que es difícil encontrar por tu cuenta  (por ejemplo en el wiki). Opino que se debería abrir un hilo de preguntas frecuentes, ya que el buscador del foro es malísimo.

Muchas gracias por las respuestas, bueno, por la respuesta  ;)

DCelso

¿esto no se podía corregir con "bgdc -Ca" ?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#7
Quote from: DCelso on October 19, 2010, 09:22:50 AM
¿esto no se podía corregir con "bgdc -Ca" ?

pues no, eso hace autodeclare y efectivamente lo haria incorrectamente.

lo que ayudaria a detectar estos errores es el --pedantic
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

:D, ahí er tío, poniéndonos a prueba :), eso no se hace que malage. :D
Se nota que tienes vocación de Maestro :D
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

edite me mensaje, porque te interprete mal... asi que tu respuesta quedo que no se entiende, por que lo dices... pero bueno, no importa, la idea es que con un parametro se puede ayudar a detectar que anda mal.

y por otro lado, tu comentario me ayudo a darme cuenta que el parametro -p estaba mal, ya lo corregi, ahora si va el karma.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Reconozco que desconocía lo del declare para functions que no devuelven int xDDD

Quote from: Danielo515 on October 19, 2010, 01:00:47 AM
Por cierto, ya que estamos.
Cuando pego un gráfico en otro usando map_xputnp ¿cuanto tiempo se queda el gráfico así? ¿Hasta el fin de ejecución del programa? ¿Y si lo quiero retornar a su valor original? Entiendo que no me vale con cargarlo del fpg porque queda también modificado ahí, así que la unica solución sería clonarlo y trabajar y descargar el clon ¿estoy en lo cierto?

Gracias.

clone_map, siempre clone_map...
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

ya lo sabias, recuerdo que participaste de esta discusion en otros hilos tiempo atras.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

:D, splinter a ver si vas a tener dejavus desos :D. que tol mundo dice que no se acuerda y tu sí :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Quote from: DCelso on October 19, 2010, 05:34:11 PM
:D, splinter a ver si vas a tener dejavus desos :D. que tol mundo dice que no se acuerda y tu sí :D.

a las pruebas me remito...

http://forum.bennugd.org/index.php?topic=1445.0

y eso que tengo una memoria de mierda.

y hay mas con respecto a la autodeclaracion debido al uso de una funcion antes de escribirla, y tambien otros de retorno de strings, pero no lo encuentro.

y voy a decir mas, todos los que participaron en este hilo participaron en otros similares.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Me sonaba haber hablado de ello en su día, pero ahora mismo lo tenía olvidado :(

Dudo que haya algún tema del que no haya hablado yo aquí xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es