19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
PUBLIC SUB Button1_Click() value = NEW Float[] total = 3 value.Resize(total + 1) value[1] = Val(textbox1.Text) value[2] = Val(textbox2.Text) value[3] = Val(textbox3.Text) TracciaGraficoEND
PUBLIC SUB TracciaGrafico() DIM i AS Integer DIM skala_1 AS Integer DIM skala_2 AS Integer DIM distance_x AS Float DIM distance_y AS Float DIM width_draw AS Integer DIM tot AS Integer DIM colors AS Integer[] DIM bottom AS Integer DIM sumdata AS Integer colors = NEW Integer[] colors.Resize(total + 1) FOR i = 1 TO total sumdata = sumdata + value[i] NEXT IF sumdata = 0 THEN sumdata = 1 FOR i = 1 TO total value[i] = (value[i] / sumdata) * 10 NEXT drwchart.Clear draw.Begin(drwchart) skala_1 = drwchart.ClientH / 11 distance_y = drwchart.ClientH - skala_1 bottom = distance_y + 8 FOR i = 0 TO 100 STEP 10 draw.ForeColor = Color.Black draw.Text(i, 2, distance_y) draw.Line(25, distance_y + 8, drwchart.clientw, distance_y + 8) distance_y = distance_y - skala_1 NEXT draw.Line(30, 0, 30, drwchart.ClientH) skala_2 = (drwchart.ClientW - 30) \ 3 distance_x = skala_2 + 30 width_draw = skala_2 / 2 FOR i = 1 TO Total draw.LineWidth = 1 draw.ForeColor = Color.Black 'draw.Text(i, distance_x - (width_draw / 2) - 4, drwchart.ClientH - 20) IF i = 1 THEN draw.Text("P", distance_x - (width_draw / 2) - 4, 2) IF i = 2 THEN draw.Text("G", distance_x - (width_draw / 2) - 4, 2) IF i = 3 THEN draw.Text("C", distance_x - (width_draw / 2) - 4, 2) draw.Line(distance_x - (width_draw / 2), 0, distance_x - (width_draw / 2), drwchart.ClientH - skala_1 + 8) draw.LineWidth = width_draw draw.ForeColor = color.RGB(i * 100, i * 10, i * 50) colors[i] = draw.ForeColor tot = skala_1 * value[i] + skala_1 - 8 draw.Line(distance_x - (width_draw / 2), bottom, distance_x - (width_draw / 2), drwchart.ClientH - tot) distance_x = distance_x + skala_2 NEXT DRAW.End END
Per ottenere l'output di "du" devi fare così:Dim sShellOutput AS StringSHELL "du -ksh " & user.home TO sShellOutputPRINT sShellOutputocchio che du impiega un po' prima di restituire il risultato.Nel comando che ho scritto calcola lo spazio occupato nella Homedell'utente che lancia l'applicazione.
Lux ha scritto:CitazionePer ottenere l'output di "du" devi fare così:Dim sShellOutput AS StringSHELL "du -ksh " & user.home TO sShellOutputPRINT sShellOutputocchio che du impiega un po' prima di restituire il risultato.Nel comando che ho scritto calcola lo spazio occupato nella Homedell'utente che lancia l'applicazione.Ok ha funzionato, grazie mille però avrei ancora una domanda, ora oltre alla dimensione della home mi da anche il suo indirizzo(mi scrive: 9.8G /home/luigi)tutto mi viene rappresentato all'interno di una textbox, ora volendo visualizzare solo il valore numerico come posso fare?Grazie mille...
SHELL "du -ksh " & user.home & " | cut -f1" TO sShellOutput
Lux ha scritto:Codice: [Seleziona]SHELL "du -ksh " & user.home & " | cut -f1" TO sShellOutputNon va mi da questo problemuccio... Cioè: 9,9G accompagnato da un simbolo strano....se volessi solo 9,9?
Boh a me non dà nessuno strano segno. Comunque due soluzioni:per vedere solo la cifra:SHELL "du -ksh " & user.home & " | cut -f1 | tr -d [a-zA-Z]" TO sShellOutput
Lux ha scritto:Ok è andata era uno spazio. Grazie.Mi spiegheresti il codice per favore?CitazioneBoh a me non dà nessuno strano segno. Comunque due soluzioni:per vedere solo la cifra:SHELL "du -ksh " & user.home & " | cut -f1 | tr -d [a-zA-Z]" TO sShellOutput