Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    6

    MODIFICA STRINGA FILE TESTO CON VBScript

    Salve,
    ho un file di testo così composto:

    00020002127400000083006300000300000244000000010001 00000400007362000000560025000005000082140000003100 3100

    Praticamente dovrei creare una funzione (VBScript) che mi crei un altro file composto da 4 righe di 26 campi:
    00020002127400000083006300
    00030000024400000001000100
    00040000736200000056002500
    00050000821400000031003100

    Mi sapreste dare una dritta?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Parli proprio di un file .vbs oppure fai riferimento ad un linguaggio (VB6 o VBA per qualche prodotto Office...)?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    6
    Il file che devo modificare è un file .txt
    Vorrei lanciare uno script che me lo modifichi...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non mi hai risposto ..

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    6
    Scusa Oregon,
    praticamente vorrei lanciare un file VBScript (.vbs) che mi converta il file .txt in questione.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qualcosa del genere ... ovviamente devi modificare nomi e posizione dei file ...

    codice:
    Const ForReading = 1
    Const ForWriting = 2
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile("c:\filein.txt", ForReading)
    s = ts.ReadLine
    ts.Close
    Set ts = fso.OpenTextFile("c:\fileout.txt", ForWriting, True)
    ts.WriteLine Mid(s, 1, 26)
    ts.WriteLine Mid(s, 27, 26)
    ts.WriteLine Mid(s, 53, 26)
    ts.WriteLine Mid(s, 79, 26)
    ts.Close
    P.S. Modifica il titolo secondo il Regolamento ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    6

    MODIFICA STRINGA FILE TESTO

    Grazie Oregon,
    funziona perfettamente.
    Mi capita però di avere una stringa anche più lunga di 4 righe.
    E' possibile eseguire il comando in modo tale da portare a capo ogni 26 campi fino alla fine della stringa?
    Avevo provato questo script ma ovviamente non mi genera un nuovo file...


    Const ForReading = 1

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("C:\Test.txt", ForReading)

    strContents = objFile.ReadAll
    objFile.Close

    i = False

    Do Until i = True
    intLength = Len(strContents)
    If intLength < 26 Then
    Exit Do
    End If
    strLines = strLines & Left(strContents, 26) & vbCrLf
    strContents = Right(strContents, intLength - 26)
    Loop

    Wscript.Echo strLines

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La modifica mi sembra semplice ... comunque

    codice:
    Const ForReading = 1
    Const ForWriting = 2
    Dim fso, i
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile("c:\filein.txt", ForReading)
    s = ts.ReadLine
    ts.Close
    Set ts = fso.OpenTextFile("c:\fileout.txt", ForWriting, True)
    for i=1 to len(s) step 26
    ts.WriteLine Mid(s, i, 26)
    next
    ts.Close

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    6
    Grazie mille Oregon.
    Mi hai risolto un grosso problema.
    Spero prima o poi di ricambiare.

    Buon lavoro e.. grazie ancora

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.