Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all articles
Browse latest Browse all 2212

[VB2015] Confrontare due variabili testuali

$
0
0

Salve, ho fatto una sub che confronta due variabili testuali, che poi utilizzerò per confrontare due file.... e inserisco il risultato finale in due RicTextBox in una Form di nome Diff......

 

il problema è nel confronto così come faccio, si, mi vengono le due differenze, ma se inserisco a una determinata linea delle  linee con testo diverso dal primo in quel punto mi viene scalato le linee e di conseguenza risulta da quel punto tutto il testo diverso , ma in realtà è uguale ma con degli spazi in più

 

Es: F1 (originale)

 

aaaaaaaaaa
bbbbbbbbb
ccccccccccc
ddddddddd

 

F2 (stesso file ma Cambiato)

 

aaaaaaaaaa
bbbbbbbbb

 

kkkkkkkkkk

 

kkkkkkkkkk
ccccccccccc
ddddddddd

 

con la mia Sub si coloro le linee diverse di rosso ma non riesco ad aggiungere nel file F1 le linee vuote che mancano

 

questa è la sub che utilizzo:

 

 

 

 

 

 

 

 

 

 

 

 

Private Sub FileCompare(ByVal F1 As StringByVal F2 As String)       If F1.Length > 0 And F2.Length > 0 Then           '-- creao array dei due file           Dim File1() As String = Split(F1, ControlChars.NewLine)           Dim File2() As String = Split(F2, ControlChars.NewLine)           Dim indx As Integer = 0           '-- inserisco numeri linea           For Each F1 In File1               Dim TX As String = F1.Insert(0, "[ " & indx & " ] ")               File1(indx) = TX               indx += 1           Next           indx = 0           For Each F1 In File2               Dim TX As String = F1.Insert(0, "[ " & indx & " ] ")               File2(indx) = TX               indx += 1           Next           '-- Confronto i file e memorizzo le differenze           '-- Linee che sono nel File1 e non sono nel file2           Dim InA_notIn_B() As String = File1.Except(File2).ToArray           '-- Linee che sono nel File2 e non sono nel file1           Dim InB_notIn_A() As String = File2.Except(File1).ToArray           '-- Apro in Modale la Form Diff dove ci sono i due RictTextBox           Dim F As New Diff           With F               '-- Popolo i RicTextBox               For Each FFL In File1                   .RCT1.AppendText(FFL & ControlChars.NewLine)               Next               For Each FFL In File2                   .RCT2.AppendText(FFL & ControlChars.NewLine)               Next               '-- Coloro le rispettive linee               For Each g In InA_notIn_B                   If .RCT1.Text.Contains(g) Then                       Dim i As Integer = .RCT1.Text.IndexOf(g)                       .RCT1.Select(i, g.Length)                       .RCT1.SelectionColor = Color.Green                   End If               Next               For Each g In InB_notIn_A                   If .RCT2.Text.Contains(g) Then                       Dim i As Integer = .RCT2.Text.IndexOf(g)                       .RCT2.Select(i, g.Length)                       .RCT2.SelectionColor = Color.Red                   End If               Next               .ShowDialog()           End With       End If   End Sub

Mi dareste una mano a risolverlo questo 'problemino'.......

si presenta così:

 

 

Free Image Hosting at FunkyIMG.com

 

 

 

ed invece dovrebbe essere così

Free Image Hosting at FunkyIMG.com

 

 

Spero che mi sono spiegato bene.....


Viewing all articles
Browse latest Browse all 2212

Trending Articles


HOY PANGIT, MAGBAYAD KA!


Henry el monstruo feliz para colorear e imprimir


Dama y vagabundo para pintar


Girasoles para colorear


Good Morning Quotes


RE: Mutton Pies (jameskoiman)


Hagibis (1946) by Francisco V. Coching


Ka riam ka beit bad ka por riam


Vimeo Create - Video Maker & Editor 1.6.0 by Vimeo Inc


Vimeo 3.42.1 by Vimeo Inc