Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Trasformazione file txt quale sw mi consigliate?

    Ho un file txt contenente queste righe

    Tutte Nazionale 01.02 (2) 5° E + (04 19) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 4° E + (09 21) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 3° E + (03 07) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 2° E + (01 62) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 1° E + (02 15) E Ba 4 0 100,0

    Io (ponendo 5°=a 4°=b 3°=c 2°=d 1°=e) le dovrei trasformare in queste:

    a=a+4
    a=a+19
    b=b+9
    b=b+21
    c=c+3
    c=c+7
    d=d+1
    d=d+62
    e=e+2
    e=e+15


    Per adesso qualche passaggio l'ho fatto con notepad ++
    Ma anche con questo mi richiede un pò troppo tempo essendo molte le righe da rielaborare

    Qualche consiglio per altro sw possibilmente freeware capace di effettuare più sostituzioni possibili contemporaneamente?

    Grazie


  2. #2
    Non ho capito esattamente che sostituzioni ti serve fare, ma col semplice Blocco note puoi impostare la "parola" vecchia, quella nuova e fare "Sostituisci tutto". In questo modo devi solo impostare la sostituzione tante volte quanti sono i tipi di sostituzioni da fare.

    Qualche potenza in più te la offre FrontPage, dove puoi aprire i file txt ed effettuare la sostituzione, sempre da impostare ogni volta, ma su tutti i file aperti in quel momento.

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    No no

    Grazie comunque gas75 ma...

    Io intendevo qualcosa di molto più potente e pratico... Che magari si basi su espressioni regolari e simili amenità... esiste???

    Grazie ai conoscitori dell'argomento!


  4. #4
    ti conviene farti uno script no?

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    In quale linguaggio consigli di addentrarsi nella ricerca?

    Originariamente inviato da SuperMariano81
    ti conviene farti uno script no?
    Per cercare uno script che faccia agevolmente quanto mi propongo?

    Ho provato a farlo con c++ ma nulla...

    Anche in php mi andrebbe bene


  6. #6
    Avevo un po' di tempo libero e ti ho fatto un scriptino in vbscript, mi sembra che funzioni, inseriscilo dentro un file con estensione htm messo nella stessa cartella del file che contiene i dati, sostituisci i nomi dei file con quelli che ti occorrono ed eseguilo con Internet Explorer (no Firefox o altri).

    codice:
    <html>
    <head>
    </head>
    <body>
    
    <script language="vbscript">
    
       option explicit
    
       dim actualpath, nome_file_inp, nome_file_out, fso, fdi, fdo, riga, output
    
       actualpath        = replace(left(replace(document.url, "file://", ""), instrrev(replace(document.url, "file://", ""), "\")), "%20", " ")
    
       nome_file_inp     = actualpath & "dati.txt"
       nome_file_out     = actualpath & "dati2.txt"
    
       set fso = createobject("scripting.filesystemobject")
       set fdi = fso.opentextfile(nome_file_inp, 1, false)
       set fdo = fso.createtextfile(nome_file_out,true)
    
       do while fdi.atendofstream <> true
           riga = fdi.readline
           if mid(riga,27,1) = 1 then
              output = "e=e+" & cstr(int(mid(riga,35,2)))
              fdo.writeline output
              output = "e=e+" & cstr(int(mid(riga,38,2)))
              fdo.writeline output
           end if
           if mid(riga,27,1) = 2 then
              output = "d=d+" & cstr(int(mid(riga,35,2)))
              fdo.writeline output
              output = "d=d+" & cstr(int(mid(riga,38,2)))
              fdo.writeline output
           end if
           if mid(riga,27,1) = 3 then
              output = "c=c+" & cstr(int(mid(riga,35,2)))
              fdo.writeline output
              output = "c=c+" & cstr(int(mid(riga,38,2)))
              fdo.writeline output
           end if
           if mid(riga,27,1) = 4 then
              output = "b=b+" & cstr(int(mid(riga,35,2)))
              fdo.writeline output
              output = "b=b+" & cstr(int(mid(riga,38,2)))
              fdo.writeline output
           end if
           if mid(riga,27,1) = 5 then
              output = "a=a+" & cstr(int(mid(riga,35,2)))
              fdo.writeline output
              output = "a=a+" & cstr(int(mid(riga,38,2)))
              fdo.writeline output
           end if
       loop
       fdi.close
       fdo.close
       msgbox "fatto"
    
    </script>
    </body>
    </html>
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    THANKS!!!

    Grazie!!!

    Stasera provo e ti faccio sapere


  8. #8
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Dunque...

    Il tuo fantastico script per le cinque righe che ho postato nella richiesta funziona benissimo! Solo che ... colpa mia che non ho specificato all'inizio mi si blocca appunto alla 5° riga mentre io cercavo una soluzione rapida rispetto farlo a mano in quanto le righe che ho da "trasformare" sono ben 5*89

    e il file filedamodificare contiene qualcosa tipo:

    Tutte Nazionale 01.02 (2) 5° E + (04 19) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 4° E + (09 21) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 3° E + (03 07) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 2° E + (01 62) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 1° E + (02 15) E Ba 4 0 100,0

    Tutte Nazionale 02.03 (2) 5° E + (03 21) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 4° E + (01 03) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 3° E + (01 04) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 2° E + (01 08) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 1° E + (01 81) E Ba 2 0 100,0

    Tutte Nazionale 03.04 (2) 5° E + (04 12) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 4° E + (06 07) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 3° E + (02 70) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 2° E + (04 23) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 1° E + (01 07) E Ba 4 0 100,0

    x altre 86 volte...

    Se ci fosse il modo di "dinamicizzare" un po' la sostituzione fatta egregiamente per le prime 5 righe in modo da avere un file finale di questo tipo:

    a=a+4
    a=a+19
    b=b+9
    b=b+21
    c=c+3
    c=c+7
    d=d+1
    d=d+62
    e=e+2
    e=e+15

    a=a+4
    a=a+19
    b=b+9
    b=b+21
    c=c+3
    c=c+7
    d=d+1
    d=d+62
    e=e+2
    e=e+15

    a=a+4
    a=a+19
    b=b+9
    b=b+21
    c=c+3
    c=c+7
    d=d+1
    d=d+62
    e=e+2
    e=e+15

    ecc...

    fino all'89 "gruppo...

    Sarebbe superlativooo

    Grazie comunque!!!

    Ciao


  9. #9
    La cosa mi stupisce perché il ciclo while dovrebbe andare fino alla fine del file indipendentemente da quante righe trova

    codice:
    do while fdi.atendofstream <> true
    può darsi che la riga vuota lo mandi nel pallone, più tardi provo
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  10. #10
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ipotizzando una cosa del genere...

    Originariamente inviato da NonCeLaFaccio+
    La cosa mi stupisce perché il ciclo while dovrebbe andare fino alla fine del file indipendentemente da quante righe trova

    codice:
    do while fdi.atendofstream <> true
    può darsi che la riga vuota lo mandi nel pallone, più tardi provo


    Ho provato anche a riunire tutti i gruppi senza spazi vuoti appunto ma nulla...

    Anche mettendo le righe all'interno del file così...

    Tutte Nazionale 01.02 (2) 5° E + (04 19) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 4° E + (09 21) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 3° E + (03 07) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 2° E + (01 62) E Ba 4 0 100,0
    Tutte Nazionale 01.02 (2) 1° E + (02 15) E Ba 4 0 100,0
    Tutte Nazionale 02.03 (2) 5° E + (03 21) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 4° E + (01 03) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 3° E + (01 04) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 2° E + (01 08) E Ba 2 0 100,0
    Tutte Nazionale 02.03 (2) 1° E + (01 81) E Ba 2 0 100,0
    Tutte Nazionale 03.04 (2) 5° E + (04 12) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 4° E + (06 07) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 3° E + (02 70) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 2° E + (04 23) E Ba 4 0 100,0
    Tutte Nazionale 03.04 (2) 1° E + (01 07) E Ba 4 0 100,0

    si blocca alla 5°

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.