Autore Topic: convertire una string in numeri?  (Letto 798 volte)

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
convertire una string in numeri?
« il: 16 Gennaio 2018, 00:32:30 »
buona sera  a tutti
vorre convertire  il contenuto di una stringa string in int
ho provato  con print val string  ma  mi dice unknow identified val  , forse dovrei attivare qualche componente ???
se si sapreste dirmi quale ??
è probabile che nell help non ci sia scritto a quale componente fa riferimento ???
grazie a  tutti

Offline vigiot

  • Gambero
  • **
  • Post: 75
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #1 il: 16 Gennaio 2018, 00:59:35 »
Cosa intendi ?  ???
Print Val(la tua stringa)?
o altro?
 :ciao:
Siamo tutti ignoranti, ma fortunatamente non della stessa cosa. Albert Einstein

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #2 il: 16 Gennaio 2018, 09:38:16 »
ho seguito l' esempio qua
http://gambaswiki.org/wiki/lang/val?nh
la tua stringa sarebbe  nel mio caso  dimens

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #3 il: 16 Gennaio 2018, 10:03:17 »
ho seguito l' esempio qua
http://gambaswiki.org/wiki/lang/val?nh
In quella pagina ci sono vari esempi.
A quale ti riferisci ?



la tua stringa sarebbe  nel mio caso  dimens
Non si capisce quello che vuoi dire.
Per favore, riporta le righe essenziali del tuo codice, utili per comprendere il problema da te posto.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #4 il: 16 Gennaio 2018, 10:08:56 »
in pratica io ho una  stringa  si  formata  1120x768  l ho splittata  alla  x  quindi  un array cosi formato 1120  e 768  , voglio sottrarre 50 a 768 ma  ovviamente poichè stringa  non  me lo fafare   quindi  voglio convertirlo    in integer per poterlo fare

Codice: [Seleziona]
  
  Shell "xdpyinfo  | grep -o -P '(?<=dimensions:).*(?=pixels)'" To Resolution
 
  Print Resolution
  dimens = Split(Resolution, "x")
  Print dimens[0]
  Print Val dimens[1] = (dimens[1] - 50)
parte del codice

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #5 il: 16 Gennaio 2018, 10:15:48 »
In sostanza ti ha già risposto vigiot: poiché Val è l'identificativo di una funzione, il parametro va compreso fra due parentesi ( ) .


Praticamente:

Codice: [Seleziona]
Print Val(dimens[1]) - 50
« Ultima modifica: 16 Gennaio 2018, 10:19:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #6 il: 16 Gennaio 2018, 10:36:47 »
grazie infinite non so perchè ma le parentesi non le avevo considerate  , cio il cervello in avaria  ;D ;D ;D grazie

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #7 il: 16 Gennaio 2018, 10:42:44 »
scusami ma perchè   con questo costrutto    Print Val(dimens[1]) = - 50 mida come risposta  false???
anziche il numero - 50 ??

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #8 il: 16 Gennaio 2018, 10:52:40 »
mi rispondo da solo per i posteri, credo di aver capito cosi ma ovviamente chiedo conferma
in pratica  quando converti una stringa ,la converti momentaneamente  quindi  la conversione se non la metti dentro un integer sei fregato ,perche poi  lui x l operazione successiva  la  tratta sempre come è stata dichiarata all inizio cioè stringa e  qundi va in false  in fatti cosi funziona
Codice: [Seleziona]
 Dim y As Integer

   y = Val(dimens[1])
  If ColumnView1.Item.Selected = True Then
    Print ColumnView1.Item.Text
    Shell ("rdesktop  -k it -a 16 -z -g " & dimens[0] & "x" & (y - 50) & " -5 -P " & ColumnView1.Item.Text)
   
« Ultima modifica: 16 Gennaio 2018, 10:54:30 da faustf »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #9 il: 16 Gennaio 2018, 11:58:18 »
...forse la faccenda è più semplice, ossia in questo caso:
 Print a = b
l'operatore di eguaglianza (=) è considerato un operatore di comparazione che restituisce TRUE se i due numeri sono uguali.

In quest'altro caso:
 a = b
l'operatore di eguaglianza (=) è considerato come consueto operatore di assegnazione.



...ma ciò che non condivido proprio, è il tuo smodato uso di Shell.
Ecco cosa diceva ceskho al riguardo:
http://www.gambas-it.org/smf/index.php?topic=1459.msg16778#msg16778
http://www.gambas-it.org/smf/index.php?topic=1398.msg15672#msg15672
http://www.gambas-it.org/smf/index.php?topic=1584.msg17974#msg17974
http://www.gambas-it.org/smf/index.php?topic=1186.msg13043#msg13043
http://www.gambas-it.org/smf/index.php?topic=1390.msg15549#msg15549
http://www.gambas-it.org/smf/index.php?topic=1238.msg13694#msg13694
« Ultima modifica: 16 Gennaio 2018, 12:28:58 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:convertire una string in numeri?
« Risposta #10 il: 16 Gennaio 2018, 14:28:37 »
che pollo che sono = comparazione  non ci avevo propio pensato  ;D ;D ;D

per  quanto riguarda l uso della shell , non  sono daccordo con quanto detto da ceskho , l uso della shell non è certo per sminuire gambas, anzi gambas dimostra alta flessibilità e al dilà di quello  , se posso fare una cosa con una riga di codice  anzichè 20 righe di codice  , preferisco la soluzione piu rapida , immagina  nel programma che  sto facendo: dovrei  fare una classe  con socket che fa la stessa cosa di nmap , fare le  regexp alla gambas ,che è un modo complicatissimo per fare una cosa semplice in bash , tutto questo per dimostrare cosa???   che so usare gambas e sono un virtuoso del  gambero??? ,ok chi lo vuol fare lo faccia  , ma se cè la possibilità di non farlo io preferisco non farlo , quando ceskho o un altro non ricordo , dice  se devi usare gambas per  fare maschere a bash  usa zenity , be  paragonare  zenity a  le maschere di gambas è un po come  tromb..... e stare a guardare  , con gambas non ho i container , cosa che ho con tutti gli altri linguaggi  tranne credo qt (che a me  non piace ) , le maschere in zenity sono standard se vuoi modificarle lo fai a mano , con codice , in gambas tutto visuale , vuoi mettere ???.
Poi  sconsiglia di usare shell, ma al dilà del motivo: per conoscere a fondo  gambas , poi non dice se cè un aspetto tecnico percui meriti effettivamente non usare la shell , tipo velocità  possibilità di introduzione  bug etc etc
o mi sbaglio ? ?