Gambas-it

Gambas3 => Programmazione => Topic aperto da: faustf - 16 Gennaio 2018, 00:32:30

Titolo: convertire una string in numeri?
Inserito da: faustf - 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
Titolo: Re:convertire una string in numeri?
Inserito da: vigiot - 16 Gennaio 2018, 00:59:35
Cosa intendi ?  ???
Print Val(la tua stringa)?
o altro?
 :ciao:
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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
Titolo: Re:convertire una string in numeri?
Inserito da: vuott - 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.
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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
Titolo: Re:convertire una string in numeri?
Inserito da: vuott - 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
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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 ??
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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)
   
Titolo: Re:convertire una string in numeri?
Inserito da: vuott - 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
Titolo: Re:convertire una string in numeri?
Inserito da: faustf - 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 ? ?