Tabulazione

di il
3 risposte

Tabulazione

Buongiorno, sono sempre io xD
avevo creato una piccola applicazione console che rileva le informazioni basilari del pc, l'unico difetto è che tendo ad essere precisino, ma la tabulazione mi turba molto e non ho idea come risolvere...

 Console.Clear()

        Console.WriteLine("".PadRight(126, "*"c))
        MyOBJ = GetObject("WinMgmts:").instancesof("Win32_Processor")
        Dim wmi As Object = GetObject("WinMgmts:")
        For Each cpu In MyOBJ
            Dim cpuTrimm As String = Trim(cpu.name)
            Console.WriteLine($"Processore:{vbTab}{cpuTrimm,15:g}")
            Console.WriteLine($"Mhz:{vbTab}{cpu.CurrentClockSpeed,15:f}")
            Console.WriteLine($"Thread:{vbTab}{Environment.ProcessorCount,15:d}")
            Console.WriteLine($"Ram:{vbTab}{ram,15:d} Kb ({ram / 1024 / 1024 / 1024: 0.000} Gb)")

        Next

       Dim objCS As Management.ManagementObjectSearcher
    Dim manufacturerName As String

        Dim mboardstr As String = Nothing
        Dim mbs As ManagementObjectSearcher = New ManagementObjectSearcher("Select * From Win32_BaseBoard")
        For Each mo As ManagementObject In mbs.Get
            mboardstr = mboardstr + mo("SerialNumber").ToString
        Next
        Dim mb As String
        Using searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_BaseBoard")
            For Each queryObj As ManagementObject In searcher.Get()
                mb = queryObj.GetPropertyValue("Product").ToString
                Exit For
            Next
        End Using

        Console.WriteLine($"Scheda madre:{vbTab}{mb,15:g}")
        Console.WriteLine($"Seriale:{vbTab}{mboardstr,15:g}")

        Console.WriteLine("".PadRight(50, "="c))
        For Each mo As ManagementObject In searcher.[Get]()

            For Each [property] As PropertyData In mo.Properties


                If [property].Name = "Description" Then
                    graphicsCard += [property].Value.ToString()

                    Console.WriteLine($"Scheda Grafica:{vbTab}{graphicsCard,15:g}")
                End If
            Next
        Next
        Console.Beep()
        Console.WriteLine("".PadRight(126, "*"c))
fin qui non trovo nulla di anomalo testo col mio pc da lavoro, non è al ordine, ma quando provo col altro pc non va, e volevo sapere se c'è un modo finche venga tutto in ordine in maniera automatica
Ah inoltre volevo sapere se è possibile allineare la descrizione tecnica verso destra tipo cosi:
 
   Pocessore:
   Frequenza:
      Thread:
        
Ah inoltre volevo aggiungere:

If graphicsCard = 1 Then
        Else
' da indice di quanti schede video ci sono tipo 
' Scheda Grafica(1): NVIDIA GeForce GTX 1660 Ti
'Scheda Grafica(2): NVIDIA GeForce GTX 1660 Ti
        End If
ma non so come inserire nel ciclo for each con index
Allegati:
30764_79c104bd18c646585e96624506938521.png
30764_79c104bd18c646585e96624506938521.png

30764_7ac1e5fdeec8adcbbd2302e9df12df61.png
30764_7ac1e5fdeec8adcbbd2302e9df12df61.png

3 Risposte

  • Re: Tabulazione

    Non devi usare il vbTab ma fare un PadRight delle stringhe di intestazione
  • Re: Tabulazione

    Devi strutturare le stringhe suddividendo l’intero testo in “elementi di formato”, quindi utilizzare la spaziatura su ogni elemento.

    Per impostazione predefinita, un valore di larghezza positivo avrà un allineamento a destra, mentre un valore negativo sarà allineato a sinistra.

    Quindi, anche “processore”, “mhz”, “thread” e “ram”, devono essere formattati correttamente.

    Guida:
  • Re: Tabulazione

    Fix ha scritto:


    Devi strutturare le stringhe suddividendo l’intero testo in “elementi di formato”, quindi utilizzare la spaziatura su ogni elemento.

    Per impostazione predefinita, un valore di larghezza positivo avrà un allineamento a destra, mentre un valore negativo sarà allineato a sinistra.

    Quindi, anche “processore”, “mhz”, “thread” e “ram”, devono essere formattati correttamente.

    Guida:
    ti ringrazio era proprio quello che cercavo l'avevo visto una cosa simile ed è venuto confusionario
Devi accedere o registrarti per scrivere nel forum
3 risposte