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 22 novembre 2025
    Bari
    82
    08
    24
    45
    37
    Cagliari
    07
    16
    67
    74
    35
    Firenze
    76
    32
    44
    06
    51
    Genova
    22
    77
    19
    27
    89
    Milano
    46
    81
    56
    29
    85
    Napoli
    68
    90
    80
    06
    47
    Palermo
    31
    07
    43
    83
    19
    Roma
    08
    68
    17
    12
    57
    Torino
    87
    17
    61
    60
    58
    Venezia
    27
    05
    17
    72
    50
    Nazionale
    70
    76
    56
    81
    15
    Estrazione Simbolotto
    Torino
    26
    34
    10
    42
    33
Indietro
Alto