Discussione:
Problema script [restart thread]
(troppo vecchio per rispondere)
Lino
2016-11-23 22:21:09 UTC
Permalink
il thread parte da qua (correggendo lo script in varie parti) prima ho fatto
un po di confusione a scrivere
----------------------------------------------------------
La domanda originaia era:

Io avrei un database (in un software) di tanti simboli e lo script sopra da
in modo di cambiare gli ultimi caratteri[A DESTRA] di un dato testo.

Se volessi invece cambiarlo e fare in modo di cambiare i >>PRIMI<< (a
sinistra) come potrei modificare lo script?



Lo script con la parte modificata:
[prima era : st.Ticker = StrLeft( ticker, Length-3)+"-TC";]



Script
-------------------------------------------
AB = CreateObject("Broker.Application");
sts = AB.Stocks();
Qty = sts.Count;


for( i = Qty - 1; i >= 0; i = i - 1 )
{
st = sts.Item( i );
Ticker = st.Ticker;
printf("changing " + Ticker + "\n" );
Length = StrLen(Ticker );
if( StrFind(Ticker, ".TO") )

st.Ticker= "TO:"+StrRight(Ticker,Lenght+3);
}
------------------------------------------------



Lo script funziona parzialmente ma ci sono 2 problemi:


(1.) cambia solo 1 simbolo alla vota (forse per un problema del ciclo FOR)


(2.) Errore più grave:

Esempio: Io ho i simboli [sotto] -----> e il risultato dato dallo script

TO:A TC-T:A wrong
TO:DE TC-:DE wrong
TO:ASD TC-ASD OK OK OK OK
TO:AXMA TC-XMA Wrong
TO:ERJTT TC-JTT wrong
...
...
etc..


Io voglio modificare solo la parte che voglio (in questo caso "TO:")
lasciando la parte rimamente così come era originariamente.


spero di essere stato chiaro.
Grazie per l'eventuale aiuto.
Lino.
Lino
2016-11-24 13:10:20 UTC
Permalink
Post by Lino
il thread parte da qua (correggendo lo script in varie parti) prima ho
fatto un po di confusione a scrivere
----------------------------------------------------------
Io avrei un database (in un software) di tanti simboli e lo script sopra da
in modo di cambiare gli ultimi caratteri[A DESTRA] di un dato testo.
Se volessi invece cambiarlo e fare in modo di cambiare i >>PRIMI<< (a
sinistra) come potrei modificare lo script?
[prima era : st.Ticker = StrLeft( ticker, Length-3)+"-TC";]
Script
-------------------------------------------
AB = CreateObject("Broker.Application");
sts = AB.Stocks();
Qty = sts.Count;
for( i = Qty - 1; i >= 0; i = i - 1 )
{
st = sts.Item( i );
Ticker = st.Ticker;
printf("changing " + Ticker + "\n" );
Length = StrLen(Ticker );
if( StrFind(Ticker, ".TO") )
st.Ticker= "TO:"+StrRight(Ticker,Lenght+3);
}
------------------------------------------------
(1.) cambia solo 1 simbolo alla vota (forse per un problema del ciclo FOR)
Esempio: Io ho i simboli [sotto] -----> e il risultato dato dallo script
TO:A TC-T:A wrong
TO:DE TC-:DE wrong
TO:ASD TC-ASD OK OK OK OK
TO:AXMA TC-XMA Wrong
TO:ERJTT TC-JTT wrong
...
...
etc..
Io voglio modificare solo la parte che voglio (in questo caso "TO:")
lasciando la parte rimamente così come era originariamente.
spero di essere stato chiaro.
Grazie per l'eventuale aiuto.
Lino.
Risolto:

AB = CreateObject("Broker.Application");
sts = AB.Stocks();
Qty = sts.Count;


for( i = Qty - 1; i >= 0; i = i - 1 )
{
st = sts.Item( i );
Ticker = st.Ticker;
printf("changing " + Ticker + "\n" );
Length = StrLen(Ticker );

if( StrFind(Ticker, "BIT:") )

st.Ticker= StrReplace(st.Ticker, "BIT:", "IT_");
}

Loading...