Gambas-it

Gambas3 => Programmazione => Topic aperto da: faustf - 05 Gennaio 2018, 11:44:05

Titolo: [RISOLTO]getway awk shell e ritorni a capo
Inserito da: faustf - 05 Gennaio 2018, 11:44:05
buon di a  tutti , sto provando a prendere l indirizzo getway di default , da gambas , ho guardato un po ma vedo che nella perte network a  solo per creare socket etc  , ma non per  recuperare i dati , (se mi sbaglio correggetemi), allora  l ho fatto tramite  shell  con questo comando
Codice: [Seleziona]
   Shell "(/sbin/ip route | awk '/default/ { print $3 }')" To GetwayIP
il problema  è  che  quando vado ad addizionare infondo al getway  una stringa tipo questa Print Getway & "/24 " , ho come risultato anziche 192.168.1.1/24   su una riga  192.168.1.1 e sulla seconda  /24  ho provato anche a togliere a GetwayIP i ritorni a capo con questa stringa
Codice: [Seleziona]
"echo " & GetwayIP & " | tr -d '\r'" To Getway
  anon c'è stao bene
qualcuno può darmi qualche dritta???
grazie infinite
ciao
Titolo: Re:getway awk shell e ritorni a capo
Inserito da: vuott - 05 Gennaio 2018, 12:38:22
  ho provato anche a togliere a GetwayIP i ritorni a capo con questa stringa
Codice: [Seleziona]
"echo " & GetwayIP & " | tr -d '\r'" To Getway
  anon c'è stao bene

Cioè, hai tentato di eliminare i ritorni a capo presenti in una stringa di caratteri, contenuta in una variabile di tipo Stringa di Gambas, mediante un'altra riga di comando lanciata con Shell ?
Titolo: Re:getway awk shell e ritorni a capo
Inserito da: vuott - 05 Gennaio 2018, 15:59:38
Ad ogni modo per eliminare il valore &h0A (ritorno a capo) alle due estremità di una stringa, devi utilizzare la funzione nativa di Gambas "Trim( )".
Più specificatamente questa funzione elimina "tutti gli spazi bianchi sia a sinistra che a destra di un'espressione stringa"; laddove per "spazi bianchi" si intende: "quei caratteri con codice ASCII inferiiore a 33".


Da provare:
Codice: [Seleziona]
Public Sub Main()

  Dim GetwayIP, senzaspazibianchi As String
  Dim bb As Byte[]
  Dim b As Byte
 
   Shell "(/sbin/ip route | awk '/default/ { print $3 }')" To GetwayIP
   
   bb = Byte[].FromString(GetwayIP)
   For Each b In bb
     Print Hex(b, 2)
   Next
   Print GetwayIP & "/24 "

   Print "\n\n"
   
   
   senzaspazibianchi = Trim(GetwayIP)
   
   bb = Byte[].FromString(senzaspazibianchi)
   For Each b In bb
     Print Hex(b, 2)
   Next
   
   Print senzaspazibianchi & "/24 "
   
End
Titolo: Re:getway awk shell e ritorni a capo
Inserito da: faustf - 05 Gennaio 2018, 21:27:54
boia  tutto sto macello per levare due spazzi incima e in fondo?  ;D ;D ;D
Titolo: Re:getway awk shell e ritorni a capo
Inserito da: kicco - 05 Gennaio 2018, 21:41:22
boia  tutto sto macello per levare due spazzi incima e in fondo?  ;D ;D ;D
Sbaglio o di solito si dice GRAZIE?
 :ciao:
Titolo: Re:getway awk shell e ritorni a capo
Inserito da: vuott - 06 Gennaio 2018, 02:00:48
  tutto sto macello

A quale macello ti riferisci ?
Titolo: Re:[RISOLTO]getway awk shell e ritorni a capo
Inserito da: faustf - 06 Gennaio 2018, 18:43:09
scusatemi avete ragione , andavo di fretta e non ho visto le risposte  sorry ,  niente macello è  colpa  mia sonoio che sono un po  newbbo e  conosco poco questo linguaggio di programmazione  , sarà  anche dovuto che sono abituato ad usare autoit  su windows e  li è tutto  parecchio diverso :D
scusate ancora per   il ritardo risposte

e  ovvviamente grazie infinite per le risposte e  la pazienza .... che con me ce ne vole tanta  :D  sorry