Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 23 Ottobre 2017, 18:52:02

Titolo: maschera binaria per stringa
Inserito da: allegfede - 23 Ottobre 2017, 18:52:02
stringa completa: "DLMMGVSD"

Codice: [Seleziona]
Dim GiorniSettimana As String = "DLMMGVSD"

stringa di confronto: "0101010":

Codice: [Seleziona]
Settimana = Format(Bin(Ritorno), "0000000")

dove:

Codice: [Seleziona]
 Public Sub Button_OK_Click()
Dim Valore As Integer
Dim I As Integer

  For i = 0 To ValiditaGiornaliera.Count - 1
    If ValiditaGiornaliera[i].Value = True Then
      valore = valore + 2 ^ (6 - i)
    Endif
  Next

  Form_InputGiorniSettimana.Close(valore)

End

vorrei ottenere: "_L_M_V_D"

ovvero rimpiazzare nella stringa "DLMMGVSD" un underscore solo se nella stringa di controllo ("0101010") e' presente uno 0.

idee geniali?
Titolo: Re:maschera binaria per stringa
Inserito da: vuott - 23 Ottobre 2017, 21:16:09
Per ora sono riuscito solo a fare questo:    :-\

Codice: [Seleziona]
Private Const GiorniSettimana As String = "DLMMGVSD"


Public Sub Main()

  Dim maschera As String = "00010111"
  Dim b As Byte
   
   For b = 1 To Len(GiorniSettimana)
    Print Replace(Chr(Asc(GiorniSettimana, b) And ((Asc(maschera, b) - 48) * &FF)), "\0", "_");
   Next

End
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 23 Ottobre 2017, 22:37:30
oppure così
Codice: [Seleziona]
Public Sub Main()

  Dim GiorniSettimana As String = "DLMMGVSD"
  Dim Settimana As String = "0101010"
  Dim n As Byte
 
  For n = 1 To Len(GiorniSettimana)
    If Mid(Settimana, n, 1) = 0 Then Mid(GiorniSettimana, n, 1) = "_"
  Next
 
  Print GiorniSettimana

End

 :ciao: :ciao:
Titolo: Re:maschera binaria per stringa
Inserito da: vuott - 23 Ottobre 2017, 22:58:36
..eh... però con l' IF è troppo facile....
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 23 Ottobre 2017, 23:02:59
..eh... però con l' IF è troppo facile....

 :P  :D 

 :ciao: :ciao:
Titolo: Re:maschera binaria per stringa
Inserito da: allegfede - 24 Ottobre 2017, 13:18:00
eleganti come sempre.

questa era la mia brutale funzione:

Codice: [Seleziona]
Public Sub settimana(validita As String) As String
Dim I As Integer
Dim Giorni As String = "DLMMGVS"
Dim appoggio As String
 
  For i = 1 To 7
    If Mid(validita, i, 1) = "1" Then
      appoggio = appoggio & Mid(Giorni, i, 1)
      Else
        appoggio = appoggio & "_"
    Endif
  Next
 
  Return appoggio
End

ma mi piace piu' la vostra :D

PS: c'e' una D di troppo :D
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 24 Ottobre 2017, 13:48:14
...
ma mi piace piu' la vostra :D
Fai bene a essere diplomatico per non offendere Vuott  ;D  :rotfl:
Citazione
PS: c'e' una D di troppo :D
Una settimana con due domeniche non sarebbe male  :D

 :ciao: :ciao:
Titolo: Re:maschera binaria per stringa
Inserito da: kicco - 24 Ottobre 2017, 16:30:37
Citazione
Una settimana con due domeniche non sarebbe male  :D
Propongo un referendum!   ...adesso vanno di moda... :P
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 24 Ottobre 2017, 16:37:51
Citazione
Una settimana con due domeniche non sarebbe male  :D
Propongo un referendum!   ...adesso vanno di moda... :P

Cioè solo in Veneto e Lombardia  ???
Titolo: Re:maschera binaria per stringa
Inserito da: kicco - 24 Ottobre 2017, 18:37:09
 :D
Titolo: Re:maschera binaria per stringa
Inserito da: vuott - 24 Ottobre 2017, 23:26:06
Cioè solo in Veneto e Lombardia  ???

" Volete voi che l'antica e potentissima Repubblica di Genova sia ricostituita nel consesso delle Nazioni ? "
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 25 Ottobre 2017, 11:05:48
Cioè solo in Veneto e Lombardia  ???

" Volete voi che l'antica e potentissima Repubblica di Genova sia ricostituita nel consesso delle Nazioni ? "

 :D Noi ci scherziamo, ma c'è in giro un'aria così strana... vogliamo davvero ritornare ai tempi di una guerra ogni 5 anni e scaramucce tutti i giorni?  >:( :evil:
Titolo: Re:maschera binaria per stringa
Inserito da: vuott - 25 Ottobre 2017, 12:34:54
ma c'è in giro un'aria così strana...

W San Giovanni !!!

(http://www.agenziabozzo.it/bandiere_animate/Bandiera_animata_flag_Genova_Repubblica.gif)
Titolo: Re:maschera binaria per stringa
Inserito da: Gianluigi - 25 Ottobre 2017, 15:29:05
 :D
Per quanto riguarda il patrono di Genova, rimando a questo breve approfondimento (http://www.acompagna.org/rivista/2011/3/p06.pdf)

 :ciao: :ciao:
Titolo: Re:maschera binaria per stringa
Inserito da: vuott - 25 Ottobre 2017, 16:06:00

.......W pure San Zorzo !!!
Titolo: Re:maschera binaria per stringa
Inserito da: allegfede - 26 Ottobre 2017, 20:41:00
io di genova mi ricordo solo i leoni della chiesa uguali a quelli di Narnia, la noiosissima fiera dei fiori ed il fatto che all'acquario ho dovuto correre (invece di godermi l'acquario) perche' avevamo passato l'intera giornata a guardare coccie (vasi di fiori in ternano) .....

ripassero' a breve .....