Differenze tra le versioni di "Verificare la frequenza delle CPU con le sole risorse di Gambas"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'E' possibile verificare con le sole risorse di Gambas la corrente frequenza di ciascuna CPU leggendo costantemente il file di sistema ''/proc/cpuinfo'' . Mostriamo un possibi...')
 
Riga 7: Riga 7:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
 
   Dim ss As New String[]
 
   Dim ss As New String[]
   Dim j As Byte
+
   Dim b As Byte
 
   Dim tb As TextBox
 
   Dim tb As TextBox
 
    
 
    
  ss = Split(File.Load("/proc/cpuinfo"), "\n")
+
  ss = Split(File.Load("/proc/cpuinfo"), "\n")
 
 
  For j = 0 To ss.Max
 
    If ss[j] Begins "processor" Then
 
      With tb = New TextBox(Me)
 
        .W = 80
 
        .H = 30
 
        .X = 10
 
        .Y = 2 * (j + 1)
 
        .Alignment = Align.Right
 
      End With
 
      tt.Push(tb)
 
    Endif
 
  Next
 
 
   
 
   
  Me.H = tt[tt.Max].Y + 100
+
  For b = 0 To ss.Max
 +
    If ss[b] Begins "processor" Then
 +
      With tb = New TextBox(Me)
 +
        .W = 80
 +
        .H = 30
 +
        .X = 10
 +
        .Y = 2 * (b + 1)
 +
        .Alignment = Align.Right
 +
      End With
 +
      tt.Push(tb)
 +
    Endif
 +
  Next
 
   
 
   
  For j = 0 To ss.Max
+
  Me.H = tt[tt.Max].Y + 100
    If ss[j] Begins "cpu MHz" Then cc.Push(j)
+
 
  Next
+
  For b = 0 To ss.Max
 
+
    If ss[b] Begins "cpu MHz" Then cc.Push(b)
  With Timer1 = New Timer As "Tempus"
+
  Next
    .Delay = 60
+
 
    .Start
+
  With Timer1 = New Timer As "Tempus"
  End With
+
    .Delay = 60
     
+
    .Start
  '''End'''
+
  End With
 +
   
 +
  End
 
   
 
   
   
+
  Public Sub Tempus_Timer()
'''Public''' Sub Tempus_Timer()
 
 
   
 
   
 
   Dim ss As New String[]
 
   Dim ss As New String[]
   Dim j As Byte
+
   Dim b As Byte
 +
 
 +
  ss = Split(File.Load("/proc/cpuinfo"), "\n")
 
    
 
    
  ss = Split(File.Load("/proc/cpuinfo"), "\n")
+
  For b = 0 To cc.Max
 
+
    tt[b].Text = Scan(ss[cc[b]], "*:*")[1]
  For j = 0 To cc.Max
+
  Next
    tt[j].Text = Scan(ss[cc[j]], "*:*")[1]
 
  Next
 
 
   
 
   
  '''End'''
+
  End

Versione delle 21:31, 7 giu 2023

E' possibile verificare con le sole risorse di Gambas la corrente frequenza di ciascuna CPU leggendo costantemente il file di sistema /proc/cpuinfo .

Mostriamo un possibile semplice codice in ambiente grafico:

Private Timer1 As Timer
Private tt As New TextBox[]
Private cc As New Short[]


Public Sub Form_Open()

 Dim ss As New String[]
 Dim b As Byte
 Dim tb As TextBox
 
 ss = Split(File.Load("/proc/cpuinfo"), "\n")

 For b = 0 To ss.Max
   If ss[b] Begins "processor" Then
     With tb = New TextBox(Me)
       .W = 80
       .H = 30
       .X = 10
       .Y = 2 * (b + 1)
       .Alignment = Align.Right
     End With
     tt.Push(tb)
   Endif
 Next

 Me.H = tt[tt.Max].Y + 100
 For b = 0 To ss.Max
   If ss[b] Begins "cpu MHz" Then cc.Push(b)
 Next
 
 With Timer1 = New Timer As "Tempus"
   .Delay = 60
   .Start
 End With
    
End

Public Sub Tempus_Timer()

 Dim ss As New String[]
 Dim b As Byte
 
 ss = Split(File.Load("/proc/cpuinfo"), "\n")
 
 For b = 0 To cc.Max
   tt[b].Text = Scan(ss[cc[b]], "*:*")[1]
 Next

End