DimensioneX Home  Forum


  Add ReplyNew Topic

 Errore Cal Sub
Ferion
Posted: Oct 14 2009, 11:17 AM


DimX Expert


Group: dimxStaff
Posts: 468
Member No.: 7
Joined: 29-July 04



ciao crisss.....
ho notato che se io ho una variabile

titolifilm="io sono scemo"
Call togliparolaccia(titolifilm)
Display $WORLD,"uscito dal sub"+titolifilm

sub togliparolaccia(stringa)
stringa=replace(stringa,"scemo","non dire le parolacce")
display $WORLD,"dopo la replace:"+stringa

Il risultato che da il motore(io penso sia erroneo e ) č questo:



dopo la replare:io sono non dire le parolacce
uscito dal subio sono scemo


Insomma........secondo me quando ritorna dal sub la variabile chiamata momentaneamente ''stringa'' non viene salvata modificata di nuovo in ''titolifilm''
.
fammi sapere!
ciao!


--------------------
<table border=1 align=center><tr><td width=300 height=118 background=pillolone/pillolone2.gif><div align=center><p><font size=6 face=Alba, Alba Matter, Alba Super, Arial, Arial Black, Arial Narrow><a href=http://www.ransagor.com/schedapg.asp?personaggio=ferion>§leila §</font></p><p> </p></div></td></tr></a></table>
Top
Cris
Posted: Oct 14 2009, 08:52 PM


DimX Guru


Group: Admin
Posts: 3,858
Member No.: 3
Joined: 17-May 04



č come dici tu, ma non č un errore, č esattamente come deve essere.

al momento del passaggio, i parametri vengono copiati ("passing by value", č il modo di trasmissione paramentri di default per tutti i linguaggi).

Quello che vuoi fare tu č il "passing by reference" ovvero passare un riferimento a una variabile che poi vien modificata.

I modi puliti per farlo sono NON specificarla come parametro ma come variabile condivisa

esempio

CODE

sub togliparolaccia()
' sottointeso: esiste una variabile globale "stringa"
stringa=replace(stringa,"scemo","non dire le parolacce")
display $WORLD,"dopo la replace:"+stringa


oppure ancora meglio, torni il risultato

CODE

function togliparolaccia(stringa)
stringa=replace(stringa,"scemo","non dire le parolacce")
display $WORLD,"dopo la replace:"+stringa
return stringa

...
titolifilm = togliparolaccia(titolifilm)


--------------------
user posted image
user posted image
Top
Ferion
Posted: Oct 15 2009, 10:17 AM


DimX Expert


Group: dimxStaff
Posts: 468
Member No.: 7
Joined: 29-July 04



ok.
quindi il tutto si risolve con return string
Perfettto!
grazie mille criss..
ciao cioa


--------------------
<table border=1 align=center><tr><td width=300 height=118 background=pillolone/pillolone2.gif><div align=center><p><font size=6 face=Alba, Alba Matter, Alba Super, Arial, Arial Black, Arial Narrow><a href=http://www.ransagor.com/schedapg.asp?personaggio=ferion>§leila §</font></p><p> </p></div></td></tr></a></table>
Top
Ferion
Posted: Oct 15 2009, 10:30 AM


DimX Expert


Group: dimxStaff
Posts: 468
Member No.: 7
Joined: 29-July 04



non so criss,,io ho copiato pari passo quello che hai scritto ut ma non va....


--------------------
<table border=1 align=center><tr><td width=300 height=118 background=pillolone/pillolone2.gif><div align=center><p><font size=6 face=Alba, Alba Matter, Alba Super, Arial, Arial Black, Arial Narrow><a href=http://www.ransagor.com/schedapg.asp?personaggio=ferion>§leila §</font></p><p> </p></div></td></tr></a></table>
Top
Cris
  Posted: Oct 15 2009, 12:48 PM


DimX Guru


Group: Admin
Posts: 3,858
Member No.: 3
Joined: 17-May 04



quale dei due sistemi hai usato? il secondo č pių sicuro perchč passa tutto per via esplicita.
Io credo che al massimo tu possa aver fatto un errore di battitura, basta qualche stampa di prova per controllare cosa non funziona


--------------------
user posted image
user posted image
Top


Topic Options Add ReplyNew Topic



Hosted for free by InvisionFree (Terms of Use: Updated 7/7/05) | Powered by Invision Power Board v1.3 Final © 2003 IPS, Inc.
Archive
Custom Search