Thread: [Gambas-user] I need a hint on how to delete duplicate items in a array
Brought to you by:
gambas
From: herberth g. <her...@gm...> - 2017-08-24 20:39:39
|
Hi Benoit, how are you..? I have a question, I'm lost Lol I need a hint on how to delete duplicate items in a array I have the following function (I send you the code) And if he works Example For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] For Each sNames In RDir(sDir, "*", gb.Directory) Print sNames Next Next The problem is the following: I have /usr/share/themes/Ambiance I have /home/herberth.local/share/themes/Ambiance And I only need one Ambiance And not two Ambiance Please help me solve my problem, I have two days and I can not. I want to cry. Lol Attachme my complete code Private Function ReturnArrays(SortedArray As String[], withNumber As Boolean) As String[] Dim sSingle, sWithNumber As New String[] Dim i, n As Integer For i = 0 To SortedArray.Max ' You can avoid with Tobias's trick (For i = 1 To ...) If i < SortedArray.Max Then If SortedArray[i] = SortedArray[i + 1] Then Inc n Else Inc n sSingle.Push(SortedArray[i]) sWithNumber.Push(n & SortedArray[i]) n = 0 Endif Endif Next Inc n sSingle.Push(SortedArray[SortedArray.Max]) sWithNumber.Push(n & SortedArray[SortedArray.Max]) If withNumber Then Return sWithNumber Else Return sSingle Endif End Public Sub sListTheme() Dim sDir As String Dim sFiles As String Dim sSort As String[] Dim s As String For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() sSort = [sFiles] For Each s In ReturnArrays(sSort, 0) Print s Next Next Next End If you can help me I'll thank you. Thank you. Regards |
From: Gianluigi <bag...@gm...> - 2017-08-24 22:04:20
|
I don't know if this can help you. https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a368 Regards Gianluigi 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: > Hi Benoit, how are you..? > > I have a question, I'm lost > Lol > > I need a hint on how to delete duplicate items in a array > > I have the following function (I send you the code) > And if he works > > > Example > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > For Each sNames In RDir(sDir, "*", gb.Directory) > > Print sNames > > Next > Next > > > The problem is the following: > > I have /usr/share/themes/Ambiance > I have /home/herberth.local/share/themes/Ambiance > > And I only need one Ambiance > And not two Ambiance > > Please help me solve my problem, I have two days and I can not. I want to > cry. > Lol > > > Attachme my complete code > > > > > Private Function ReturnArrays(SortedArray As String[], withNumber As > Boolean) As String[] > > Dim sSingle, sWithNumber As New String[] > Dim i, n As Integer > > For i = 0 To SortedArray.Max > ' You can avoid with Tobias's trick (For i = 1 To ...) > If i < SortedArray.Max Then > If SortedArray[i] = SortedArray[i + 1] Then > Inc n > Else > Inc n > sSingle.Push(SortedArray[i]) > sWithNumber.Push(n & SortedArray[i]) > n = 0 > Endif > Endif > Next > Inc n > sSingle.Push(SortedArray[SortedArray.Max]) > sWithNumber.Push(n & SortedArray[SortedArray.Max]) > If withNumber Then > Return sWithNumber > Else > Return sSingle > Endif > > End > > Public Sub sListTheme() > > Dim sDir As String > Dim sFiles As String > Dim sSort As String[] > Dim s As String > > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() > sSort = [sFiles] > > For Each s In ReturnArrays(sSort, 0) > Print s > Next > > Next > Next > > End > > > If you can help me I'll thank you. > Thank you. > Regards > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Gambas-user mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gambas-user > |
From: PICCORO M. L. <mck...@gm...> - 2017-08-24 22:58:38
|
thanks gianluigi.. i'm search for same function.. Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com 2017-08-24 18:04 GMT-04:00 Gianluigi <bag...@gm...>: > I don't know if this can help you. > https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a368 > Regards > Gianluigi > > 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: > > > Hi Benoit, how are you..? > > > > I have a question, I'm lost > > Lol > > > > I need a hint on how to delete duplicate items in a array > > > > I have the following function (I send you the code) > > And if he works > > > > > > Example > > > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > > For Each sNames In RDir(sDir, "*", gb.Directory) > > > > Print sNames > > > > Next > > Next > > > > > > The problem is the following: > > > > I have /usr/share/themes/Ambiance > > I have /home/herberth.local/share/themes/Ambiance > > > > And I only need one Ambiance > > And not two Ambiance > > > > Please help me solve my problem, I have two days and I can not. I want to > > cry. > > Lol > > > > > > Attachme my complete code > > > > > > > > > > Private Function ReturnArrays(SortedArray As String[], withNumber As > > Boolean) As String[] > > > > Dim sSingle, sWithNumber As New String[] > > Dim i, n As Integer > > > > For i = 0 To SortedArray.Max > > ' You can avoid with Tobias's trick (For i = 1 To ...) > > If i < SortedArray.Max Then > > If SortedArray[i] = SortedArray[i + 1] Then > > Inc n > > Else > > Inc n > > sSingle.Push(SortedArray[i]) > > sWithNumber.Push(n & SortedArray[i]) > > n = 0 > > Endif > > Endif > > Next > > Inc n > > sSingle.Push(SortedArray[SortedArray.Max]) > > sWithNumber.Push(n & SortedArray[SortedArray.Max]) > > If withNumber Then > > Return sWithNumber > > Else > > Return sSingle > > Endif > > > > End > > > > Public Sub sListTheme() > > > > Dim sDir As String > > Dim sFiles As String > > Dim sSort As String[] > > Dim s As String > > > > > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > > > > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() > > sSort = [sFiles] > > > > For Each s In ReturnArrays(sSort, 0) > > Print s > > Next > > > > Next > > Next > > > > End > > > > > > If you can help me I'll thank you. > > Thank you. > > Regards > > ------------------------------------------------------------ > > ------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Gambas-user mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Gambas-user mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gambas-user > |
From: PICCORO M. L. <mck...@gm...> - 2017-08-24 23:09:10
|
hey herbert, made it .. only return the local theme: the hint: https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a368 Dim sA As String Dim i, e As Integer Dim ssA As String[] = ["usr/share/Lopez", "Anderson", "Clark", "Wright", "Mitchell", "Johnson", "Thomas", "Rodriguez"] Dim ssB As String[] = ["Johnson", "usr/local/Lopez", "Perez", "Wright", "Williams", "Smith", "Thomas", "Jones", "Anderson"] Dim ssC As New String[] For e = ssA.Max To 0 Step -1 sA = ssA[e] For i = ssB.Max To 0 Step -1 sA = Replace$(sA, "usr/share/", "") If InStr(ssB[i],sA,1,gb.Ignorecase) > 0 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 Print sA Next Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com 2017-08-24 18:58 GMT-04:00 PICCORO McKAY Lenz <mck...@gm...>: > thanks gianluigi.. i'm search for same function.. > > Lenz McKAY Gerardo (PICCORO) > http://qgqlochekone.blogspot.com > > 2017-08-24 18:04 GMT-04:00 Gianluigi <bag...@gm...>: > >> I don't know if this can help you. >> https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a368 >> Regards >> Gianluigi >> >> 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: >> >> > Hi Benoit, how are you..? >> > >> > I have a question, I'm lost >> > Lol >> > >> > I need a hint on how to delete duplicate items in a array >> > >> > I have the following function (I send you the code) >> > And if he works >> > >> > >> > Example >> > >> > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] >> > For Each sNames In RDir(sDir, "*", gb.Directory) >> > >> > Print sNames >> > >> > Next >> > Next >> > >> > >> > The problem is the following: >> > >> > I have /usr/share/themes/Ambiance >> > I have /home/herberth.local/share/themes/Ambiance >> > >> > And I only need one Ambiance >> > And not two Ambiance >> > >> > Please help me solve my problem, I have two days and I can not. I want >> to >> > cry. >> > Lol >> > >> > >> > Attachme my complete code >> > >> > >> > >> > >> > Private Function ReturnArrays(SortedArray As String[], withNumber As >> > Boolean) As String[] >> > >> > Dim sSingle, sWithNumber As New String[] >> > Dim i, n As Integer >> > >> > For i = 0 To SortedArray.Max >> > ' You can avoid with Tobias's trick (For i = 1 To ...) >> > If i < SortedArray.Max Then >> > If SortedArray[i] = SortedArray[i + 1] Then >> > Inc n >> > Else >> > Inc n >> > sSingle.Push(SortedArray[i]) >> > sWithNumber.Push(n & SortedArray[i]) >> > n = 0 >> > Endif >> > Endif >> > Next >> > Inc n >> > sSingle.Push(SortedArray[SortedArray.Max]) >> > sWithNumber.Push(n & SortedArray[SortedArray.Max]) >> > If withNumber Then >> > Return sWithNumber >> > Else >> > Return sSingle >> > Endif >> > >> > End >> > >> > Public Sub sListTheme() >> > >> > Dim sDir As String >> > Dim sFiles As String >> > Dim sSort As String[] >> > Dim s As String >> > >> > >> > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] >> > >> > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() >> > sSort = [sFiles] >> > >> > For Each s In ReturnArrays(sSort, 0) >> > Print s >> > Next >> > >> > Next >> > Next >> > >> > End >> > >> > >> > If you can help me I'll thank you. >> > Thank you. >> > Regards >> > ------------------------------------------------------------ >> > ------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Gambas-user mailing list >> > Gam...@li... >> > https://lists.sourceforge.net/lists/listinfo/gambas-user >> > >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Gambas-user mailing list >> Gam...@li... >> https://lists.sourceforge.net/lists/listinfo/gambas-user >> > > |
From: PICCORO M. L. <mck...@gm...> - 2017-08-24 23:11:12
|
sorry, changed: If InStr(ssB[i],sA,1,gb.Ignorecase) > 0 Then ssA.Remove(e) ssC.Push(ssB[i]) ssB.Remove(i) Break Endif now done, only return the local theme for user.. not for system theme Lenz McKAY Gerardo (PICCORO) http://qgqlochekone.blogspot.com 2017-08-24 19:09 GMT-04:00 PICCORO McKAY Lenz <mck...@gm...>: > hey herbert, made it .. only return the local theme: the hint: > > https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a368 > > Dim sA As String > Dim i, e As Integer > Dim ssA As String[] = ["usr/share/Lopez", "Anderson", "Clark", "Wright", > "Mitchell", "Johnson", "Thomas", "Rodriguez"] > Dim ssB As String[] = ["Johnson", "usr/local/Lopez", "Perez", "Wright", > "Williams", "Smith", "Thomas", "Jones", "Anderson"] > Dim ssC As New String[] > > For e = ssA.Max To 0 Step -1 > sA = ssA[e] > For i = ssB.Max To 0 Step -1 > sA = Replace$(sA, "usr/share/", "") > If InStr(ssB[i],sA,1,gb.Ignorecase) > 0 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 > Print sA > Next > > Lenz McKAY Gerardo (PICCORO) > http://qgqlochekone.blogspot.com > > 2017-08-24 18:58 GMT-04:00 PICCORO McKAY Lenz <mck...@gm...>: > >> thanks gianluigi.. i'm search for same function.. >> >> Lenz McKAY Gerardo (PICCORO) >> http://qgqlochekone.blogspot.com >> >> 2017-08-24 18:04 GMT-04:00 Gianluigi <bag...@gm...>: >> >>> I don't know if this can help you. >>> https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3 >>> ff50d2b46a368 >>> Regards >>> Gianluigi >>> >>> 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: >>> >>> > Hi Benoit, how are you..? >>> > >>> > I have a question, I'm lost >>> > Lol >>> > >>> > I need a hint on how to delete duplicate items in a array >>> > >>> > I have the following function (I send you the code) >>> > And if he works >>> > >>> > >>> > Example >>> > >>> > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] >>> > For Each sNames In RDir(sDir, "*", gb.Directory) >>> > >>> > Print sNames >>> > >>> > Next >>> > Next >>> > >>> > >>> > The problem is the following: >>> > >>> > I have /usr/share/themes/Ambiance >>> > I have /home/herberth.local/share/themes/Ambiance >>> > >>> > And I only need one Ambiance >>> > And not two Ambiance >>> > >>> > Please help me solve my problem, I have two days and I can not. I want >>> to >>> > cry. >>> > Lol >>> > >>> > >>> > Attachme my complete code >>> > >>> > >>> > >>> > >>> > Private Function ReturnArrays(SortedArray As String[], withNumber As >>> > Boolean) As String[] >>> > >>> > Dim sSingle, sWithNumber As New String[] >>> > Dim i, n As Integer >>> > >>> > For i = 0 To SortedArray.Max >>> > ' You can avoid with Tobias's trick (For i = 1 To ...) >>> > If i < SortedArray.Max Then >>> > If SortedArray[i] = SortedArray[i + 1] Then >>> > Inc n >>> > Else >>> > Inc n >>> > sSingle.Push(SortedArray[i]) >>> > sWithNumber.Push(n & SortedArray[i]) >>> > n = 0 >>> > Endif >>> > Endif >>> > Next >>> > Inc n >>> > sSingle.Push(SortedArray[SortedArray.Max]) >>> > sWithNumber.Push(n & SortedArray[SortedArray.Max]) >>> > If withNumber Then >>> > Return sWithNumber >>> > Else >>> > Return sSingle >>> > Endif >>> > >>> > End >>> > >>> > Public Sub sListTheme() >>> > >>> > Dim sDir As String >>> > Dim sFiles As String >>> > Dim sSort As String[] >>> > Dim s As String >>> > >>> > >>> > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] >>> > >>> > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() >>> > sSort = [sFiles] >>> > >>> > For Each s In ReturnArrays(sSort, 0) >>> > Print s >>> > Next >>> > >>> > Next >>> > Next >>> > >>> > End >>> > >>> > >>> > If you can help me I'll thank you. >>> > Thank you. >>> > Regards >>> > ------------------------------------------------------------ >>> > ------------------ >>> > Check out the vibrant tech community on one of the world's most >>> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> > _______________________________________________ >>> > Gambas-user mailing list >>> > Gam...@li... >>> > https://lists.sourceforge.net/lists/listinfo/gambas-user >>> > >>> ------------------------------------------------------------ >>> ------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Gambas-user mailing list >>> Gam...@li... >>> https://lists.sourceforge.net/lists/listinfo/gambas-user >>> >> >> > |
From: Gianluigi <bag...@gm...> - 2017-08-25 07:47:48
|
This code suggested by Vuott of Gambas-it.org, it only uses the two arrays. http://www.gambas-it.org/smf/index.php?topic=5876.msg42088#msg42088 Regards Gianluigi 2017-08-25 0:58 GMT+02:00 PICCORO McKAY Lenz <mck...@gm...>: > thanks gianluigi.. i'm search for same function.. > > Lenz McKAY Gerardo (PICCORO) > http://qgqlochekone.blogspot.com > > 2017-08-24 18:04 GMT-04:00 Gianluigi <bag...@gm...>: > > > I don't know if this can help you. > > https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3ff50d2b46a3 > 68 > > Regards > > Gianluigi > > > > 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: > > > > > Hi Benoit, how are you..? > > > > > > I have a question, I'm lost > > > Lol > > > > > > I need a hint on how to delete duplicate items in a array > > > > > > I have the following function (I send you the code) > > > And if he works > > > > > > > > > Example > > > > > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > > > For Each sNames In RDir(sDir, "*", gb.Directory) > > > > > > Print sNames > > > > > > Next > > > Next > > > > > > > > > The problem is the following: > > > > > > I have /usr/share/themes/Ambiance > > > I have /home/herberth.local/share/themes/Ambiance > > > > > > And I only need one Ambiance > > > And not two Ambiance > > > > > > Please help me solve my problem, I have two days and I can not. I want > to > > > cry. > > > Lol > > > > > > > > > Attachme my complete code > > > > > > > > > > > > > > > Private Function ReturnArrays(SortedArray As String[], withNumber As > > > Boolean) As String[] > > > > > > Dim sSingle, sWithNumber As New String[] > > > Dim i, n As Integer > > > > > > For i = 0 To SortedArray.Max > > > ' You can avoid with Tobias's trick (For i = 1 To ...) > > > If i < SortedArray.Max Then > > > If SortedArray[i] = SortedArray[i + 1] Then > > > Inc n > > > Else > > > Inc n > > > sSingle.Push(SortedArray[i]) > > > sWithNumber.Push(n & SortedArray[i]) > > > n = 0 > > > Endif > > > Endif > > > Next > > > Inc n > > > sSingle.Push(SortedArray[SortedArray.Max]) > > > sWithNumber.Push(n & SortedArray[SortedArray.Max]) > > > If withNumber Then > > > Return sWithNumber > > > Else > > > Return sSingle > > > Endif > > > > > > End > > > > > > Public Sub sListTheme() > > > > > > Dim sDir As String > > > Dim sFiles As String > > > Dim sSort As String[] > > > Dim s As String > > > > > > > > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] > > > > > > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() > > > sSort = [sFiles] > > > > > > For Each s In ReturnArrays(sSort, 0) > > > Print s > > > Next > > > > > > Next > > > Next > > > > > > End > > > > > > > > > If you can help me I'll thank you. > > > Thank you. > > > Regards > > > ------------------------------------------------------------ > > > ------------------ > > > Check out the vibrant tech community on one of the world's most > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > _______________________________________________ > > > Gambas-user mailing list > > > Gam...@li... > > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > > ------------------------------------------------------------ > > ------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > _______________________________________________ > > Gambas-user mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Gambas-user mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gambas-user > |
From: Gianluigi <bag...@gm...> - 2017-08-25 11:56:33
|
Of course, speaking of directories, I thought it was correct not to take into account Tobias's admonitions [0]. I hope I will not go wrong :-/ Regards Gianluigi [0] https://sourceforge.net/p/gambas/mailman/message/35921360/ 2017-08-25 9:47 GMT+02:00 Gianluigi <bag...@gm...>: > This code suggested by Vuott of Gambas-it.org, it only uses the two arrays. > http://www.gambas-it.org/smf/index.php?topic=5876.msg42088#msg42088 > > Regards > Gianluigi > > 2017-08-25 0:58 GMT+02:00 PICCORO McKAY Lenz <mck...@gm...>: > >> thanks gianluigi.. i'm search for same function.. >> >> Lenz McKAY Gerardo (PICCORO) >> http://qgqlochekone.blogspot.com >> >> 2017-08-24 18:04 GMT-04:00 Gianluigi <bag...@gm...>: >> >> > I don't know if this can help you. >> > https://gambas-playground.proko.eu/?gist=c6e63a84d209911a2b3 >> ff50d2b46a368 >> > Regards >> > Gianluigi >> > >> > 2017-08-24 22:39 GMT+02:00 herberth guzman <her...@gm...>: >> > >> > > Hi Benoit, how are you..? >> > > >> > > I have a question, I'm lost >> > > Lol >> > > >> > > I need a hint on how to delete duplicate items in a array >> > > >> > > I have the following function (I send you the code) >> > > And if he works >> > > >> > > >> > > Example >> > > >> > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ "themes/"] >> > > For Each sNames In RDir(sDir, "*", gb.Directory) >> > > >> > > Print sNames >> > > >> > > Next >> > > Next >> > > >> > > >> > > The problem is the following: >> > > >> > > I have /usr/share/themes/Ambiance >> > > I have /home/herberth.local/share/themes/Ambiance >> > > >> > > And I only need one Ambiance >> > > And not two Ambiance >> > > >> > > Please help me solve my problem, I have two days and I can not. I >> want to >> > > cry. >> > > Lol >> > > >> > > >> > > Attachme my complete code >> > > >> > > >> > > >> > > >> > > Private Function ReturnArrays(SortedArray As String[], withNumber As >> > > Boolean) As String[] >> > > >> > > Dim sSingle, sWithNumber As New String[] >> > > Dim i, n As Integer >> > > >> > > For i = 0 To SortedArray.Max >> > > ' You can avoid with Tobias's trick (For i = 1 To ...) >> > > If i < SortedArray.Max Then >> > > If SortedArray[i] = SortedArray[i + 1] Then >> > > Inc n >> > > Else >> > > Inc n >> > > sSingle.Push(SortedArray[i]) >> > > sWithNumber.Push(n & SortedArray[i]) >> > > n = 0 >> > > Endif >> > > Endif >> > > Next >> > > Inc n >> > > sSingle.Push(SortedArray[SortedArray.Max]) >> > > sWithNumber.Push(n & SortedArray[SortedArray.Max]) >> > > If withNumber Then >> > > Return sWithNumber >> > > Else >> > > Return sSingle >> > > Endif >> > > >> > > End >> > > >> > > Public Sub sListTheme() >> > > >> > > Dim sDir As String >> > > Dim sFiles As String >> > > Dim sSort As String[] >> > > Dim s As String >> > > >> > > >> > > For Each sDir In ["/usr/share/themes/", Desktop.DataDir &/ >> "themes/"] >> > > >> > > For Each sFiles In Dir(sDir, "*", gb.Directory).Sort() >> > > sSort = [sFiles] >> > > >> > > For Each s In ReturnArrays(sSort, 0) >> > > Print s >> > > Next >> > > >> > > Next >> > > Next >> > > >> > > End >> > > >> > > >> > > If you can help me I'll thank you. >> > > Thank you. >> > > Regards >> > > ------------------------------------------------------------ >> > > ------------------ >> > > Check out the vibrant tech community on one of the world's most >> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > > _______________________________________________ >> > > Gambas-user mailing list >> > > Gam...@li... >> > > https://lists.sourceforge.net/lists/listinfo/gambas-user >> > > >> > ------------------------------------------------------------ >> > ------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Gambas-user mailing list >> > Gam...@li... >> > https://lists.sourceforge.net/lists/listinfo/gambas-user >> > >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Gambas-user mailing list >> Gam...@li... >> https://lists.sourceforge.net/lists/listinfo/gambas-user >> > > |