[Gambas-user] I need a hint on how to delete duplicate

Benoît Minisini gambas at ...1...
Mon Aug 28 19:27:28 CEST 2017


Le 28/08/2017 à 19:19, herberth guzman a écrit :
> Thank you all for helping me.
> Solve my problem, now it works fine. I show the code how it works.
> 
>    Dim sResult_Theme As String
>    Dim sA As String
>    Dim i, e As Integer
>    Dim ssA As String[]
>    Dim ssB As String[]
>    Dim ssC As New String[]
>    Dim sListUser As String
>    Dim sListShare As String
> 
>   ssA = New String[]
>   For Each sDir In Dir("/usr/share/themes", Null, gb.Directory)
>      ssA.Add(sDir)
>    Next
> 
>    ssB = New String[]
>    For Each sListUser In Dir( Desktop.DataDir &/ "themes/", Null,
> gb.Directory)
>      ssB.Add(sListUser)
>    Next
> 
>    For e = ssA.Max To 0 Step -1
>      sA = ssA[e]
>      For i = ssB.Max To 0 Step -1
>        If sA = ssB[i] Then
>          ssA.Remove(e)
>          ssB.Remove(i)
>          ssC.Push(sA)
>          Break
>        Endif
>      Next
>    Next
>    ssC.Insert(ssA)
>    ssC.Insert(ssB)
>    ssC.Sort()
> 
>    For Each sA In ssC.Sort(gb.Ascent)
>      Print sA
>    Next
> 
> 
> Regards
> 
Isn't that faster?

   Dim cThemes As New Collection
   Dim sTheme As String
   Dim sDir As String

   For Each sDir In Dir("/usr/share/themes", Null, gb.Directory)
     cThemes[sDir] = True
   Next

   For Each sDir In Dir(Desktop.DataDir &/ "themes/", Null,
gb.Directory)
     cThemes[sDir] = True
   Next

   For Each cThemes
     aThemes.Add(cThemes.Key)
   Next

   aThemes.Sort(gb.Ascent)

   For Each sTheme In aThemes
     Print aThemes
   Next

-- 
Benoît Minisini




More information about the User mailing list