Novità

Dovrei trasformare questo parametro in stringa ma non mi ricordo come si fa

lotto_tom75

Advanced Premium Member
Codice:
Call Scrivi(SiglaRuota(aRuote(1)) & " " & [COLOR=#FF0000][B]cColonna.GetStringaNum[/B][/COLOR] & " Rit " & cColonna.Ritardo)
Next
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi(Timer - TimeStart))



Dim sfile2
Dim reportlunghettadoc

sfile2 = "prova2.txt"

reportlunghettadoc = [B][COLOR=#FF0000]cColonna.GetStringaNum[/COLOR]  [SIZE=10px][COLOR=#008000]' nota <<< se lo lascio così ovviamente lo script da errore quindi lo dovrei trasformare prima in stringa [/COLOR][/SIZE][/B]

Call ScriviFile(sfile2,reportlunghettadoc,False,True) ' scrivo anche sul file preposto

Call CloseFileHandle(sfile2) ' chiudo l'handle al file
Call LanciaFile(sfile2) ' lancio il file si aprira notepad


La domanda è... come si trasforma in stringa il valore cColonna.GetStringaNum in modo da poterlo salvare su file txt?

GRAZIE e un SALUTO a tutti/e :)
 
LuigiB;n2056904 ha scritto:
Ciao Tom ...quel valore ė già una stringa

Ciao Luigi :) purtroppo però al momento dell'eseguire lo script mi da questo errore che allora non so a cosa si riferisca se non al settaggio della variabile
reportlunghettadoc :eek: Ecco l'errore che mi mostra: errore-che-appare-in-run-time.jpg Evidenziandomi in automatico appunto la riga:

Codice:
 reportlunghettadoc = [B]cColonna.GetStringaNum
[/B]Inoltre ho provato anche a sostituire cColonna.GetStringaNum con una stringa standard del tipo "STRINGA" e in quel caso lo script procede correttamente e crea il file txt come richiesto con il contenuto "STRINGA". :)
 
Scusa Tom ma si tratta di qualche collage di pezzi di codice presi qui e là? Quel messaggio indica che non c è un istanza di un oggetto che abbia il nome ccolonna
 
LuigiB;n2056923 ha scritto:
Scusa Tom ma si tratta di qualche collage di pezzi di codice presi qui e là? Quel messaggio indica che non c è un istanza di un oggetto che abbia il nome ccolonna

Ciao grande :) no no si tratta di uno script che ho trovato o richiesto qui sul forum a suo tempo ma che non ricordo nè chi l'abbia creato (o tu maestro o il fortissimo legend o il grande joe mi pare) ma non ne sono affatto sicuro e che sto cercando di implementare con la scrittura di un output su TXT da rendere appunto eseguibile successivamente in modo da richiamarlo con un piccolo batch.

Te lo riporto per intero qui sotto:

Codice:
Option Explicit
Sub Main
Dim nSorte,aRuote,Ini,fin,sMsg,nMoltip,nTrov,nNumSel
Dim nCicloTeo,nRitMax,nRitMin,nClasseLunghetta,nRuoteSel,nLunghetteDaTrov
Dim TimeStart
Dim k,CollComb,cColonna
Dim aN
Dim TipoAlgo
Dim RetRit,RetRitMax,RetIncrRitMax,RetFrq
Dim nSuperficialita
nTrov = 0
nNumSel = ScegliNumeri(aN)
'aN = Array(0,16,49,60)
nSorte = 2 ' ScegliEsito
nClasseLunghetta = 4' ScegliClassseLunghetta
TipoAlgo = 4
nSuperficialita = 0

nRuoteSel = 1 : ReDim aRuote(1) : aRuote(1) = NZ_ 'SelRuote(aRuote)
nLunghetteDaTrov = 10 ' Int(InputBox("Lunghette da trovare","Quantità lunghette",10))
ReDim Preserve aRuote(nRuoteSel)
nCicloTeo = CicloTeorico(nClasseLunghetta,nSorte,UBound(aRuote))
nMoltip = 8
sMsg = "Inserire il ritardo massimo ipotizzato per la sorte voluta nella lunghetta" & vbCrLf
sMsg = sMsg & "Il valore mostrato è il CicloTeorico per la sorte di " & nSorte
sMsg = sMsg & " su " & nClasseLunghetta & " numeri su " & nRuoteSel & " ruote moltiplicato per " & nMoltip
nRitMax = 0' Int(InputBox(sMsg,,nCicloTeo * nMoltip))
sMsg = "Inserire il ritardo minimo ipotizzato per la sorte voluta nella lunghetta" & vbCrLf
sMsg = sMsg & "Il valore mostrato è il CicloTeorico per la sorte di " & nSorte
sMsg = sMsg & " su " & nClasseLunghetta & " numeri su " & nRuoteSel & " ruote moltiplicato per 3"
nRitMin = 0 ' Int(InputBox(sMsg,,nCicloTeo * 3))
fin = EstrazioneFin
Ini = fin - nRitMax
If Ini <= 0 Then Ini = 1
TimeStart = Timer
Call GetLunghettePiuRitardate(aN,aRuote,nClasseLunghetta,nSorte,CollComb,EstrazioneIni,EstrazioneFin,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
'Call GetLunghettePiuRitardate(aN,aRuote,EstrazioneIni,EstrazioneFin,nClasseLunghetta,nSorte,CollComb)
Call OrdinaItemCollection(CollComb,"Ritardo",,,- 1)
For Each cColonna In CollComb
Call StatisticaFormazioneTurbo(cColonna.aNum,aRuote,nSorte,RetRit,RetRitMax,RetIncrRitMax,RetFrq,EstrazioneIni,EstrazioneFin)
Call Scrivi(SiglaRuota(aRuote(1)) & " " & cColonna.GetStringaNum & " Rit " & cColonna.Ritardo)
Next
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi(Timer - TimeStart))


'---------------------- prova scrittura file -----------------------------------------

Dim sfile2
Dim reportlunghettadoc

sfile2 = "prova2.txt"
reportlunghettadoc = cColonna.GetStringaNum

Call ScriviFile(sfile2,reportlunghettadoc,False,True)

Call CloseFileHandle(sfile2) ' chiudo l'handle al file

Call LanciaFile(sfile2) ' lancio il file si aprira notepad


'--------------------------------------------------------------------------------------



End Sub
Function ScegliClassseLunghetta
Dim aVoci(30)
Dim k,i
For k = 2 To(2 - 1) + UBound(aVoci)
i = i + 1
aVoci(i) = k
Next
k = ScegliOpzioneMenu(aVoci,5,"Classe lunghetta")
ScegliClassseLunghetta = Int(aVoci(k))
End Function
Function SelRuote(aRuote)
Dim t,k,bTutte
bTutte = False
t = ScegliRuote(aRuote)
For k = 1 To t
If aRuote(k) = TT_ Then
bTutte = True
Exit For
End If
Next
If bTutte Then
ReDim aRuote(10)
For k = 1 To 10
aRuote(k) = k
Next
SelRuote = 10
Else
SelRuote = t
End If
End Function
Function FormattaSecondi(s)

Dim hh
Dim Mm
Dim Ss
Dim TimeStr
hh = s \ 3600
Mm =(s Mod 3600) \ 60
Ss = s -((hh * 3600) +(Mm * 60))
TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function

Grazie

:)
 
Ultima modifica:
ciao Tom . lo script non potrà mai funzionare perche manca la dichiarazione della classe clsCollonna ,qindi o manca un pezzo che non mi hai dato oppure questo script come sospettavoi io è il collage di qualche pezzo preso qui e la ...
 
Buongiorno ,
Salutando gli intervenuti . non vogliamo togliere lavoro a LuigiB .
Postiamo una soluzione , che non sara' sicuramente la migliore ,
Ma che sembra funzionare .
Codice:
Option Explicit
Sub Main
Dim nSorte,aRuote,Ini,fin,sMsg,nMoltip,nTrov,nNumSel
Dim nCicloTeo,nRitMax,nRitMin,nClasseLunghetta,nRuoteSel,nLunghetteDaTrov
Dim TimeStart
Dim k,CollComb,cColonna
Dim aN
Dim TipoAlgo
Dim RetRit,RetRitMax,RetIncrRitMax,RetFrq
Dim nSuperficialita
nTrov = 0
nNumSel = ScegliNumeri(aN)
'aN = Array(0,16,49,60)
nSorte = 2 ' ScegliEsito
nClasseLunghetta = 4' ScegliClassseLunghetta
TipoAlgo = 4
nSuperficialita = 0
nRuoteSel = 1 : ReDim aRuote(1) : aRuote(1) = NZ_ 'SelRuote(aRuote)
nLunghetteDaTrov = 10 ' Int(InputBox("Lunghette da trovare","Quantità lunghette",10))
ReDim Preserve aRuote(nRuoteSel)
nCicloTeo = CicloTeorico(nClasseLunghetta,nSorte,UBound(aRuote))
nMoltip = 8
sMsg = "Inserire il ritardo massimo ipotizzato per la sorte voluta nella lunghetta" & vbCrLf
sMsg = sMsg & "Il valore mostrato è il CicloTeorico per la sorte di " & nSorte
sMsg = sMsg & " su " & nClasseLunghetta & " numeri su " & nRuoteSel & " ruote moltiplicato per " & nMoltip
nRitMax = 0' Int(InputBox(sMsg,,nCicloTeo * nMoltip))
sMsg = "Inserire il ritardo minimo ipotizzato per la sorte voluta nella lunghetta" & vbCrLf
sMsg = sMsg & "Il valore mostrato è il CicloTeorico per la sorte di " & nSorte
sMsg = sMsg & " su " & nClasseLunghetta & " numeri su " & nRuoteSel & " ruote moltiplicato per 3"
nRitMin = 0 ' Int(InputBox(sMsg,,nCicloTeo * 3))
fin = EstrazioneFin
Ini = fin - nRitMax
If Ini <= 0 Then Ini = 1
TimeStart = Timer
Call GetLunghettePiuRitardate(aN,aRuote,nClasseLunghetta,nSorte,CollComb,EstrazioneIni,EstrazioneFin,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
'Call GetLunghettePiuRitardate(aN,aRuote,EstrazioneIni,EstrazioneFin,nClasseLunghetta,nSorte,CollComb)
Call OrdinaItemCollection(CollComb,"Ritardo",,,- 1)
For Each cColonna In CollComb
Call Scrivi(cColonna.GetStringaNum & " Rit " & cColonna.Ritardo)
'---------------------- cancella scrittura file --------------------------------------
'
Dim sfile2
'
'sfile2 = "prova2.txt"
sfile2 = GetDirectoryAppData & "prova2.txt"
'
'Call EliminaFile(sfile2) ' cancella eventualmente il file se gia esiste
'---------------------- prova scrittura file -----------------------------------------
'
Dim reportlunghettadoc
reportlunghettadoc = cColonna.GetStringaNum
'
Call ScriviFile(sfile2,reportlunghettadoc,False,True)
'--------------------------------------------------------------------------------------
Next
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi(Timer - TimeStart))
'---------------------- prova scrittura file -----------------------------------------
'
Call CloseFileHandle(sfile2) ' chiudo l'handle al file
'
Call LanciaFile(sfile2) ' lancio il file si aprira notepad
'
Call Scrivi("L'archivio è stato creato nel file " & sfile2)
'
'--------------------------------------------------------------------------------------
End Sub
Function ScegliClassseLunghetta
Dim aVoci(30)
Dim k,i
For k = 2 To(2 - 1) + UBound(aVoci)
i = i + 1
aVoci(i) = k
Next
k = ScegliOpzioneMenu(aVoci,5,"Classe lunghetta")
ScegliClassseLunghetta = Int(aVoci(k))
End Function
Function SelRuote(aRuote)
Dim t,k,bTutte
bTutte = False
t = ScegliRuote(aRuote)
For k = 1 To t
If aRuote(k) = TT_ Then
bTutte = True
Exit For
End If
Next
If bTutte Then
ReDim aRuote(10)
For k = 1 To 10
aRuote(k) = k
Next
SelRuote = 10
Else
SelRuote = t
End If
End Function
Function FormattaSecondi(s)
Dim hh
Dim Mm
Dim Ss
Dim TimeStr
hh = s \ 3600
Mm =(s Mod 3600) \ 60
Ss = s -((hh * 3600) +(Mm * 60))
TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function

Controllare Sempre .
Salvo Errori ed Omissis .
 
Ultima modifica di un moderatore:
Grazie mille magia ora funziona! ;)
E grazie anche a Luigi :)

Adesso sarebbe rimasto solo un piccolo problema :rolleyes: :p

Quando vado a compilare lo script in EXE con o senza finestre, per poi poterlo richiamare con un batch, non mi crea il file txt che invece crea se faccio eseguire lo script da programma...

In estrema sintesi:

se eseguo SCRIPT.ls >>> mi crea il file txt
se eseguo SCRIPT.exe >>> non mi crea il file txt

WHY secondo voi? :eek: :D

GRAZIE a tutti e due
 
Ultima modifica:
ciao Tom , purtroppo quella funzioen che cerca le lunghette da exe non funziona...ecco perche non ti fa il file
 
LuigiB;n2057144 ha scritto:
ciao Tom , purtroppo quella funzioen che cerca le lunghette da exe non funziona...ecco perche non ti fa il file

Ah :rolleyes::eek::(:D

Ok grazie ugualmente mitico. Mi hai comunque risparmiato altre ore di inutili tentativi! ;):p eheheh
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 30 gennaio 2025
    Bari
    09
    62
    01
    28
    73
    Cagliari
    50
    33
    43
    10
    29
    Firenze
    04
    63
    56
    34
    90
    Genova
    51
    20
    26
    46
    59
    Milano
    37
    78
    76
    20
    86
    Napoli
    43
    04
    45
    84
    53
    Palermo
    13
    43
    50
    67
    40
    Roma
    29
    12
    84
    71
    79
    Torino
    90
    16
    25
    76
    24
    Venezia
    26
    58
    23
    20
    40
    Nazionale
    74
    07
    54
    15
    36
    Estrazione Simbolotto
    Bari
    38
    22
    35
    26
    14
Indietro
Alto