Public Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", "Donald Duck", "Minnie", "Daisy Duck", "Goofy", "Pluto", "Scrooge McDuck", "Huey", "Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", "Scrooge McDuck", "Huey", "Dewey", "Louie"]
Dim s As String
Dim i As Integer
Print "Devo sottrarre questi nomi:"
For Each s In sDonald
Print s
Next
Print
Print "A questi altri:"
For Each s In sAlls
Print s
Next
sAlls.Insert(sDonald)
sAlls.Sort()
For i = sAlls.Max To 0 Step -1
If i > 0 Then
If sAlls[i] = sAlls[i - 1] Then
sAlls.Delete(i)
sAlls.Delete(i - 1)
Dec i
Endif
Endif
Next
Print
Print "Sono rimasti questi:"
For Each s In sAlls
Print s
Next
EndPublic Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", "Donald Duck", "Minnie", "Daisy Duck", "Goofy", "Pluto", "Scrooge McDuck", "Huey", "Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", "Scrooge McDuck", "Huey", "Dewey", "Louie"]
Dim s1, s2 As String
s1 = sAlls.Join(Chr(0), Null)
For Each s2 In sDonald
s1 = Replace(s1, s2 & Chr(0), Null)
Next
sAlls = Split(s1, Chr(0))
Print "Sono rimasti questi:\n"
For Each s2 In sAlls
Print s2
Next
EndPublic Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", "Donald Duck", "Minnie", "Daisy Duck", "Goofy", "Pluto", "Scrooge McDuck", "Huey", "Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", "Scrooge McDuck", "Huey", "Dewey", "Louie", "Dale"]
Dim s1, s2 As String
s1 = sAlls.Join(Chr(0), Null)
For Each s2 In sDonald
s1 = Replace(s1, s2, Chr(0))
Next
sAlls = Split(s1, Chr(0), Null, True)
Print "Sono rimasti questi:\n"
For Each s2 In sAlls
Print s2
Next
Ends1 = sAlls.Join(Chr(0), Null)Public Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", ".Mickey Mouse", "Donald Duck", ".Donald Duck", "Minnie", "Daisy Duck", "Goofy", ".Goofy", "Pluto", "Scrooge McDuck", "Huey", ".Huey", "Dewey", ".Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", "Scrooge McDuck", "Huey", "Dewey", "Louie"]
Dim s1, s2 As String
s1 = sAlls.Join("|", Null)
For Each s2 In sDonald
s1 = Replace(s1, s2, "|")
Next
sAlls = Split(s1, "|", Null, True)
Print "Sono rimasti questi:\n"
For Each s2 In sAlls
Print s2
Next
EndHouston, we'vehada problem,
Public Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", ".Mickey Mouse", "Donald Duck", ".Donald Duck", "Minnie", "Daisy Duck", "Goofy", ".Goofy", "Pluto", "Scrooge McDuck", "Huey", ".Huey", "Dewey", ".Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", "Scrooge McDuck", "Huey", "Dewey", "Louie", "Dale"]
Dim s1, s2 As String
s1 = sAlls.Join(Chr(0), Null)
For Each s2 In sDonald
s1 = Replace(s1, s2, Chr(0))
Next
s1 = Replace(s1, ".\x00", Null)
sAlls = Split(s1, Chr(0), Null, True)
Print "Sono rimasti questi:\n"
For Each s2 In sAlls
Print s2
Next
EndPuoi atterrare, allora, sul "Mare tranquillitatis" della Luna:
.Dewey
.Donald Duck
.Goofy
.Huey
.Mickey Mouse
Chip
Goofy
Mickey Mouse
Minnie
PlutoMickey Mouse
.Mickey Mouse
Minnie
Goofy
.Goofy
Pluto
ChipAh, quindi quelli preceduti dal puntino non vanno elimnati, nonostante si riferiscano al medesimo personaggio. !?
Mi spiego meglio: se nel secondo vettore ci fosse ad esempio ".Donald Duck" andrebbe eliminato anche lui malgrado il puntino, ora è più chiaro spero
Public Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", ".Mickey Mouse", "Donald Duck", ".Donald Duck", "Minnie", "Daisy Duck", "Goofy", ".Goofy", "Pluto", "Scrooge McDuck", "Huey", ".Huey", "Dewey", ".Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", ".Huey", "Scrooge McDuck", ".Donald Duck", "Huey", "Dewey", "Louie", "Dale"]
Dim s As String
For Each s In sDonald
sAlls.Remove(sAlls.Find(s, gb.Binary, 0), 1)
Next
Print "Sono rimasti questi:\n"
For Each s In sAlls
Print s
Next
End...Find essendo interno a Gambas senz'altro non lo fa.
...Find essendo interno a Gambas senz'altro non lo fa.
...perché osservi la "superficie", il grazioso volto di Gambas; bisognerebbe vedere il codice sorgente, scritto in C, del Metodo .Find( ), nativo di Gambas, per verificare come avvengono in quelle "profondità" le comparazioni.
Comunque sia, va da sé che l'ultima mia soluzione con due soli Metodi nativi, è migliore delle altre precedenti ipotesi !Concordo perfettamente con te, e se volessi dare pure un'occhiata al codice di Find... :)
P.S: Chissà se qualche anima pia :angel: che ben conosce il C vorrà indagare su come lavora Find?
P.S: Chissà se qualche anima pia :angel: che ben conosce il C vorrà indagare su come lavora Find?
« Dio si sottrae alla "competizione" con l'Uomo, ricacciandolo nell'illusione e nella miseria della possibilità della "Scelta", del "Libero Arbitrio": della capacità di "ri-nunciare" al Tutto »
#include <stdio.h>
#include <stdlib.h>
int main() {
/* Allochiamo dinamicamente 4 byte di memoria */
char *c = malloc(sizeof(char) * 4);
printf("%p\n", c);
/* Reallochiamo la memoria "aggiungendo" 2 byte */
c = realloc(c, sizeof(char) * 6);
printf("%p\n", c);
/* Liberiamo la memoria precedentemente riservata, affinché possa essere eventualmente sovrascritta da altri futuri dati */
free(c);
return (0);
}a me Tobias aveva detto dell'altro...Se non erro, tu utilizzavi due Oggetti di tipo Array.
a me Tobias aveva detto dell'altro...Se non erro, tu utilizzavi due Oggetti di tipo Array.
Minisini chiede a Jussi "Why do you have duplicates inside your array?"
Minisini chiede a Jussi "Why do you have duplicates inside your array?"
...in che senso Minisini gli domandava perché lui avesse dei doppioni nell'array ? ???
In quale array ? Quello di partenza ?
...io gli avrei risposto: " Ma a te che te frega se c'ho i doppioni ? ":rotfl:
...
IF MyArray.Find("YourString") = -1 THEN MyArray.Add("YourString")Public Sub Main()
Dim sAlls As String[] = ["Mickey Mouse", ".Mickey Mouse", "Donald Duck", ".Donald Duck", "Minnie", "Daisy Duck", "Goofy", ".Goofy", "Pluto", "Scrooge McDuck", "Huey", ".Huey", "Dewey", ".Dewey", "Louie", "Chip", "Dale"]
Dim sDonald As String[] = ["Donald Duck", "Daisy Duck", ".Huey", "Scrooge McDuck", ".Donald Duck", "Huey", "Dewey", "Louie", "Dale", "Pippo"]
Dim s As String, i As Integer
For Each s In sDonald
'' Impedisce lo out of bound quando find non trova riscontro.
i = sAlls.Find(s, gb.Binary, 0)
If i >= 0 Then sAlls.Remove(i, 1)
Next
Print "Sono rimasti questi:\n"
For Each s In sAlls
Print s
Next
End