Novità

Come pulire velocemente uno script corposo con tante righe vuote e commentate?

lotto_tom75

Advanced Premium Member
Mi trovo nella necessità di dover "pulire" da molte righe di codice vuote e commentate, che di volta in volta ho creato costruendo corposi script. Le ho lasciate pensando mi potessero riservire..., ma adesso invece mi fanno solo "ulteriore confusione" nel cercare di ottimizzare o modificare ulteriormente gli stessi script che le contengono... Ora il problema è che se faccio la pulizia a mano non mi passa +... da quanto è lento e certosino il procedimento... ?? C'è un modo per velocizzare tutto con word o notepad++ o lo stesso semplicissimo notepad? ? Tipo un comando per dire al sistema... "sostituisci tutte le righe commentate che iniziano con in carattere " ' "oppure tutte le righe vuote..." Grazie e Good Week End a tutti/e ? :)
 
potresti sempre fare uno script che leggendo il primo riga per riga scriva su un altro file solo le righe che non iniziano con il simbolo del rem.
 
potresti sempre fare uno script che leggendo il primo riga per riga scriva su un altro file solo le righe che non iniziano con il simbolo del rem.

Grande ci provo :D ?? Grz!

Ps: per eliminare le righe vuote forse ho trovato... Sembra infatti che basti cliccare sull'icona "auto formattazione script" ?
 
Però TE="lotto_tom75, post: 2264475, member: 5083"]
Grande ci provo :D ?? Grz!

Ps: per eliminare le righe vuote forse ho trovato... Sembra infatti che basti cliccare sull'icona "auto formattazione script" ?
[/QUOTE]
Però niente male questa soluzione.
Vuol dire che non hai mai formattato/indentato uno script......

Ahahaha ;);););)
Vedi che c'è anche una icona che ti esclude la colorazione del testo dandoti velocità ad operazioni di cancellazione.
Saluti :) ;) ;)
 
In effetti quel
Però TE="lotto_tom75, post: 2264475, member: 5083"]
Grande ci provo :D ?? Grz!

Ps: per eliminare le righe vuote forse ho trovato... Sembra infatti che basti cliccare sull'icona "auto formattazione script" ?
Però niente male questa soluzione.
Vuol dire che non hai mai formattato/indentato uno script......

Ahahaha ;);););)
Vedi che c'è anche una icona che ti esclude la colorazione del testo dandoti velocità ad operazioni di cancellazione.
Saluti :) ;) ;)

Già caro claude fino ad oggi ho ignorato l'esistenza di quel bottone "auto formattante" e "auto indentante" :eek:?? Ma l'icona "velocizzante" ? cui fai riferimento quale sarebbe? ??
 
Il quadratino ha 3 scelte :
Solo la videata
Tutto lo script a colori
Tutto lo script senza colore che è quello che ti serve..
Prepara il bonifico.
;) ;) ;)
 
Ultima modifica:
una riga in uno script puo essere precduta da spazi ma anche da tab , bisogna crerare una funzione che riceva come parametro una stringa e ci dica se questa stringa inizia con il crattere del rem.

Fatto ciò si legge lo script , ogni riga si passa allla suddetta funzione se la funzione torna false vuol dire che quella riga non ha il rem e percio va scritta nel nuovo file senno verrà saltata.

usare la funzione replace per sostituire il carattere vbTab con stringa vuota ,
usare la funzione replace per sostituire tutti gli spazzi con stringa vuota

otterrmo una stringa senza tab e senza spazi ,a questo punto verificare con la funzione left se il primo carattere è ' (apice).

la stringa viene manipolata solo all'intrno della funzione , nel file ci va scritta la stringa originale.


il tutto è molto semplice ....
 
LuigiB ... detto il grande,

quando ha spiegato come ripulire le pagine scaricate dal web.

Forse ha inteso stimolare fantasie costruttive.

Giggio, riguardo all'

"usare la funzione replace per sostituire tutti gli spazzi con stringa vuota"

Uno spazio è giusto.

2 Spazi No.

"Una stringa vuota" è troppo corta.

:)
 
ciao Joe , la stringa che andiamo a manipolare viene manipolata solo nella funzione di cui parlavo percio non è necessario che sia sintatticamente corretta , ci serve depurarla dagli spazi e dai tab per poi vedere se il primo carattere è l'apice , quindi puo anche divcentare una sequenza di caratteri tutti attaccati non fa niente ...tuttavia per gestire il rem scritto come parola chiave e non come simbolo apice conviene fare un Ltrim alla stringa in modo da levare gli spazi eventual ia sinistra

Notare che la funzione ha il parametro riga passato ByVal , vuol dire che qualsiasi modifica fatta alla variabile non
sarà riportata all'esterno della funzione.



Codice:
Option Explicit
Sub Main

   MsgBox (RemPresente   ("      ' prova"))
   MsgBox (RemPresente   ("  'prova"))
   MsgBox (RemPresente   ("       prova"))


End Sub
Function RemPresente ( ByVal sRiga)
   sRiga  = Replace (sriga ,vbTab , "")
   sRiga  = LTrim (sriga )
   sRiga = LCase(sriga)

   If Left ( sriga , 1) = "'" Or Left (sriga , 4 ) = "rem " Then
      RemPresente  = True
   Else
      RemPresente = False
   End If

End Function
 
Ultima modifica:
Niente bon ? anche perchè... con "il quadratino ha tre scelte" a quale quadratino ti riferisci venalclaud? :eek::unsure::ROFLMAO:
Caio tirchiotom :cool: bisogna proprio darti la mappa a colori per farti arrivare al tesoro?
Hai verificato che non era il quadratino, bene, prova a dx e sx ( un po' di curiosità nella vita non guasta) avresti trovato il comando giusto :);)
Ti rammento che normalmente sto col cell. e sono residente al
Lido " La Bussola" Rimini. :) ;) :) ;)
Aspetto con trepidante attesa lo script suggeritoti da Giggio
Ciao
 
Si certo
ciao Joe , la stringa che andiamo a manipolare viene manipolata solo nella funzione di cui parlavo percio non è necessario che sia sintatticamente corretta , ci serve depurarla dagli spazi e dai tab per poi vedere se il primo carattere è l'apice , quindi puo anche divcentare una sequenza di caratteri tutti attaccati non fa niente ...tuttavia per gestire il rem scritto come parola chiave e non come simbolo apice conviene fare un Ltrim alla stringa in modo da levare gli spazi eventual ia sinistra

Notare che la funzione ha il parametro riga passato ByVal , vuol dire che qualsiasi modifica fatta alla variabile non
sarà riportata all'esterno della funzione.



Codice:
Option Explicit
Sub Main

   MsgBox (RemPresente   ("      ' prova"))
   MsgBox (RemPresente   ("  'prova"))
   MsgBox (RemPresente   ("       prova"))


End Sub
Function RemPresente ( ByVal sRiga)
   sRiga  = Replace (sriga ,vbTab , "")
   sRiga  = LTrim (sriga )
   sRiga = LCase(sriga)

   If Left ( sriga , 1) = "'" Or Left (sriga , 4 ) = "rem " Then
      RemPresente  = True
   Else
      RemPresente = False
   End If

End Function

Tutto vero.

Io nella richiesta iniziale ho inteso leggere: compatto e corretto.

:)
 
Grazie a tutti gli intervenuti e in particolare a Giggio che con la sua idea e function relativa ha alleggerito, e non poco, la risoluzione del mio problemino e la stesura di questo script relativo sottostante appunto da lui suggeritomi che potremmo chiamare "il ripulitore" :eek::D sicuramente migliorabile... ma funzionante anche così ?

Codice:
Sub Main
   Dim sfiletxt,y,sfile
   sfiletxt = ".\sfiletxt.txt"
   Dim c
   ReDim aRighe(0)
   Call LeggiRigheFileDiTesto(sfiletxt,aRighe)
   For y = 0 To UBound(aRighe)
      If aRighe(y) <> "" Then
         For c = 1 To 10000
            Call Messaggio("" & aRighe(y) & "")
            If ScriptInterrotto Then Exit For
         Next
         Call MsgBox(RemPresente("" & aRighe(y) & ""))
      End If
      If ScriptInterrotto Then Exit For
   Next
End Sub
Function RemPresente(ByVal sriga)
   Dim sfiletxtok
   sfiletxtok = "sfiletxtok.txt"
   sriga = Replace(sriga,vbTab,"")
   sriga = LTrim(sriga)
   sriga = LCase(sriga)
   If Left(sriga,1) = "'" Or Left(sriga,4) = "rem " Then
      RemPresente = True     
   Else
      RemPresente = False
      Call ScriviFile(sfiletxtok,"" & sriga & "",False,True)
      CloseFileHandle(sfiletxtok)
   End If
End Function

?:)
 
Ultima modifica:
Ciao a tutti
Tom se la funzione ritorna false allora scrivi la riga altrimenti continua il ciclo
Quindi scrivi file va fuori dalla funzione
Ciao Giggio, mi sembri il P

rof.:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39
Indietro
Alto