codice:
Sub Main()
Dim FileDaAprire As String = "C:\tmp\PPTRCG.D" 'path dove si trova il file
'Dim FileDaAprire As String() = Command().Split(" ")
Dim Righe As String() = File.ReadAllLines(FileDaAprire)
Dim FileDaScrivere As StreamWriter = New StreamWriter("C:\tmp\filecreato.txt", False) 'path file di input
Dim ControlloDip As String
Dim NomeGIRMA As String = "GIRMA"
Dim NomeMAXCOM As String = "MAXCO"
Dim NomeFINGO As String = "FINGO"
Dim SubStrCodSoggDit As String
Dim conta As Integer
For Each Riga In Righe
'campi da leggere. la lettura parte da 0 e non da 1
Dim CodContt As String = Riga.Substring(0, 1)
'CodContt = Trim(CodContt)
Dim CodDit As String = Riga.Substring(1, 6)
'CodDit = Trim(CodDit)
Dim CodAttv As String = Riga.Substring(7, 2)
'CodAttv = Trim(CodAttv)
Dim CodCenDiCosCont As String = Riga.Substring(9, 12)
'CodCenDiCosCont = Trim(CodCenDiCosCont)
Dim AAPerdElabn As String = Riga.Substring(21, 4) 'AAMMPerdElabn
'AAPerdElabn = Trim(AAPerdElabn)
Dim MMPerdElabn As String = Riga.Substring(25, 2) 'AAMMPerdElabn
'MMPerdElabn = Trim(MMPerdElabn)
Dim CodConDare As String = Riga.Substring(27, 12)
'CodConDare = Trim(CodConDare)
Dim CodConAve As String = Riga.Substring(39, 12)
'CodConAve = Trim(CodConAve)
Dim ImpMovm1 As String = Riga.Substring(51, 9)
'ImpMovm1 = Trim(ImpMovm1)
Dim ImpMovm2 As String = Riga.Substring(60, 2)
'ImpMovm2 = Trim(ImpMovm2)
Dim CadSegImprNegt As String = Riga.Substring(62, 1) 'deve assumere valore meno quando importo è negativo
'CadSegImprNegt = Trim(CadSegImprNegt)
Dim CodTipoCaus As String = Riga.Substring(63, 2)
'CodTipoCaus = Trim(CodTipoCaus)
Dim DesTipoCaus As String = Riga.Substring(65, 10)
'CodTipoCaus = Trim(CodTipoCaus)
Dim CodCaus As String = Riga.Substring(75, 4)
'CodCaus = Trim(CodCaus)
Dim DesCaus As String = Riga.Substring(79, 30)
DesCaus = Trim(DesCaus)
Dim DesAnntnUte As String = Riga.Substring(109, 20)
'DesAnntnUte = Trim(DesAnntnUte)
Dim CodFiscDit As String = Riga.Substring(129, 16)
'CodFiscDit = Trim(CodFiscDit)
Dim CodSoggDit As String = Riga.Substring(145, 8)
'CodSoggDit = Trim(CodSoggDit)
Dim NumDit As String = Riga.Substring(153, 2)
'NumDit = Trim(NumDit)
Dim CodSoggDipn As String = Riga.Substring(155, 8)
'CodSoggDipn = Trim(CodSoggDipn)
Dim NumRappDipn As String = Riga.Substring(163, 3)
'NumRappDipn = Trim(NumRappDipn)
Dim NumLibMatrDipn As String = Riga.Substring(166, 6)
'NumLibMatrDipn = Trim(NumLibMatrDipn)
'Dim CodRiprnCont As String = Riga.Substring(172, 160) 'CodRiprnCont-array tutta la riga
'CodRiprnCont = Trim(CodRiprnCont)
Dim CodTipoDatoRipn As String = Riga.Substring(172, 2) 'CodRiprnCont-array Riga suddivisa per campi
'CodTipoDatoRipn = Trim(CodTipoDatoRipn)
Dim CodDatoRipn As String = Riga.Substring(174, 3) 'CodRiprnCont-array Riga suddivisa per campi
'CodDatoRipn = Trim(CodDatoRipn)
Dim CodRipn As String = Riga.Substring(177, 15) 'CodRiprnCont-array Riga suddivisa per campi
CodRipn = Trim(CodRipn)
Dim CodRiprnContFine As String = Riga.Substring(192, 140) 'CodRiprnCont-array Riga suddivisa per campi
'CodRiprnContFine = CodRiprnContFine(CodRiprnContFine)
'Dim Xfill1 As String = Riga.Substring(332, 47)
'Xfill1 = Trim(Xfill1)
'FileDaScrivere.WriteLine(CodContt + ";" + CodDit + ";" + CodAttv + ";" + CodCenDiCosCont + ";" + AAPerdElabn + MMPerdElabn + ";" + CodConDare + ";" + CodConAve + ";" + ImpMovm1 + ";" + ImpMovm2 + ";" + CadSegImprNegt + ";" + CodTipoCaus + ";" + DesTipoCaus + ";" + CodCaus + ";" + DesCaus + ";" + DesAnntnUte + "," + CodFiscDit + ";" + CodSoggDit + ";" + NumDit + ";" + CodSoggDipn + ";" + NumRappDipn + ";" + NumLibMatrDipn + ";" + CodTipoDatoRipn + CodDatoRipn + CodRipn + CodRiprnContFine + ";" + Xfill1)
'ABBREVIAZIONE NOME DITTA
CodSoggDit = Riga.Substring(145, 5)
If CodSoggDit = NomeGIRMA Then
SubStrCodSoggDit = "GI"
ElseIf CodSoggDit = NomeMAXCOM Then
SubStrCodSoggDit = "MX"
ElseIf CodSoggDit = NomeFINGO Then
SubStrCodSoggDit = "FG"
Else
FileDaScrivere.WriteLine("ERRORE CODIFICA SOCIETA'")
End If
' FINE ABBREVIAZIONE NOME DITTA
' MESE IN LETTERE
Dim MeseLettere As String
Dim UltimoGiorno As String
Select Case (MMPerdElabn)
Case "01"
MeseLettere = "Gennaio"
UltimoGiorno = "31"
Case "02"
MeseLettere = "Febbraio"
UltimoGiorno = "28"
Case "03"
MeseLettere = "Marzo"
UltimoGiorno = "31"
Case "04"
MeseLettere = "Aprile"
UltimoGiorno = "30"
Case "05"
MeseLettere = "Maggio"
UltimoGiorno = "31"
Case "06"
MeseLettere = "Giugno"
UltimoGiorno = "30"
Case "07"
MeseLettere = "Luglio"
UltimoGiorno = "31"
Case "08"
MeseLettere = "Agosto"
UltimoGiorno = "31"
Case "09"
MeseLettere = "Settembre"
UltimoGiorno = "30"
Case "10"
MeseLettere = "Ottobre"
UltimoGiorno = "31"
Case "11"
MeseLettere = "Novembre"
UltimoGiorno = "30"
Case "12"
MeseLettere = "Dicembre"
UltimoGiorno = "31"
Case Else
FileDaScrivere.WriteLine("ERRORE CODIFICA MESE IN LETTERE")
End Select
' FINE MESE IN LETTERE
If ControlloDip <> CodSoggDipn Then
' RIGA DI TESTATA
FileDaScrivere.WriteLine("G" + ";" + SubStrCodSoggDit + ";" + "PAB" + ";" + ";" + AAPerdElabn + MMPerdElabn + UltimoGiorno + ";" + "Stipendi" + " " + MeseLettere + " " + AAPerdElabn + ";" + ";" + ";" + "EUR" + ";" + "1" + ";" + CodRipn + ";")
' FINE RIGA DI TESTATA
ControlloDip = CodSoggDipn
Dim FileCodificaConti As String = "C:\tmp\codificaconti.txt" 'path dove si trova il file
Dim RigheConti As String() = File.ReadAllLines(FileCodificaConti)
For Each RigaConti In RigheConti
Dim ContoOld As String = RigaConti.Substring(0, 4)
Dim ContoNew As String = RigaConti.Substring(5, 6)
CodConDare = Trim(CodConDare)
CodConAve = Trim(CodConAve)
If ((ContoOld = CodConDare) Or (ContoOld = CodConAve)) Then
'FileDaScrivere.WriteLine("D" + ";" + ContoNew)
CodConDare = Trim(CodConDare)
CodConAve = Trim(CodConAve)
Dim SubStringCodConDare As String = CodConDare.Substring(0, 1)
Dim SubStringCodConAve As String = CodConAve.Substring(0, 1)
'FileDaScrivere.WriteLine(CodConDare + ";" + SubStringCodConDare + "-" + CodConAve + ";" + SubStringCodConAve)
If ((SubStringCodConDare = "1") And (SubStringCodConAve = "1")) Then
For conta = 1 To 1 Step 1
'FileDaScrivere.WriteLine(conta)
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + CodRipn + ";" + "-1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + "riferimento partita" + ";")
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + ";" + "1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + ";" + ContoNew)
Next
Exit For
Else
FileDaScrivere.WriteLine("Else creazione riga d dopo prima riga")
End If
End If
Next
Else
' RIGA DI MOVIMENTO
Dim FileCodificaConti As String = "C:\tmp\codificaconti.txt" 'path dove si trova il file
Dim RigheConti As String() = File.ReadAllLines(FileCodificaConti)
For Each RigaConti In RigheConti
Dim ContoOld As String = RigaConti.Substring(0, 4)
Dim ContoNew As String = RigaConti.Substring(5, 6)
CodConDare = Trim(CodConDare)
CodConAve = Trim(CodConAve)
If ((ContoOld = CodConDare) Or (ContoOld = CodConAve)) Then
'FileDaScrivere.WriteLine("D" + ";" + ContoNew)
CodConDare = Trim(CodConDare)
CodConAve = Trim(CodConAve)
Dim SubStringCodConDare As String = CodConDare.Substring(0, 1)
Dim SubStringCodConAve As String = CodConAve.Substring(0, 1)
'FileDaScrivere.WriteLine(CodConDare + ";" + SubStringCodConDare + "-" + CodConAve + ";" + SubStringCodConAve)
If ((SubStringCodConDare = "1") And (SubStringCodConAve = "1")) Then
For conta = 1 To 1 Step 1
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + CodRipn + ";" + "-1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + "riferimento partita" + ";")
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + ";" + "1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + ";" + ContoNew)
Next
Exit For
Else
For conta = 1 To 1 Step 1
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + CodRipn + ";" + "-1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + "riferimento partita" + ";")
FileDaScrivere.WriteLine("D" + ";" + ContoNew + ";" + ";" + "1" + ";" + ImpMovm1 + "," + ImpMovm2 + ";" + DesCaus + ";" + ";" + ContoNew)
FileDaScrivere.WriteLine("A" + ";" + ContoNew + ";" + "funzione" + ";" + CodRipn + ";" + CodRipn + ";" + ";" + "Libero" + ";" + "0" + ";" + ";" + ImpMovm1 + "," + ImpMovm2)
Next
Exit For
End If
End If
Next RigaConti
End If
Next Riga
FileDaScrivere.Flush()
FileDaScrivere.Close()
End Sub