[ milan1233 @ 13.03.2009. 18:45 ] @
Ovako imam 2 pitanja za vb.net:

1. Imam listbox1, u kom su itemi drajvovi u kopmjuteru, i hteo bih da pored svakog drajva dodam redni broj, kako to da izvedem?

2. Treba mi kod da se label-u upise velicina ram memorije?

Hvala unapred!
[ Sapphire @ 14.03.2009. 20:12 ] @
1. Edituj Item kolekciju ListBox-a, ako spremas String-ove, dodaj na njih te redne brojeve koje zelis.

2. Jedan on nacina je pomocu WMI-a, tj System.Management namespace-a.

WMI - http://www.csharphelp.com/archives2/archive334.html
WMI MSDN reference - http://msdn.microsoft.com/library/default.....asp?frame=true

Izgleda da je tebi potreban Win32_PhysicalMemory:

Code:


using System;
using System.Management;

namespace WMImem
{    
    class View
    {  
       [STAThread]
       static void Main(string[] args)
       {
             ManagementScope oMs = new ManagementScope();
             ObjectQuery oQuery = new ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory");
             ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs,oQuery);
             ManagementObjectCollection oReturnCollection = oSearcher.Get();

             foreach( ManagementObject oReturn in oReturnCollection)
             {
                Console.WriteLine("Size: " + oReturn["Capacity"]);
             }
       }
    }
}




Napomena, ovo ce ti ocitati RAM memoriju posebno za svaki modul. Ako imas dva modula po 256MB, dobices dvije vrijednosti po 256MB. Za rezultat, sumiras sve vrijednosti koje postoje (bile iste ili razlicine, nevazno).

EDIT: izmjenjena greska u programu

[Ovu poruku je menjao Sapphire dana 14.03.2009. u 21:36 GMT+1]
[ Sapphire @ 14.03.2009. 20:13 ] @
Prevedeno u VB, pomoc od http://www.developerfusion.com/tools/convert/csharp-to-vb/ :

Code:

Imports System
Imports System.Management

Namespace WMImem
    Class View
        <STAThread()> _
        Public Shared Sub Main(ByVal args As String())
            Dim oMs As New ManagementScope()
            Dim oQuery As New ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory")
            Dim oSearcher As New ManagementObjectSearcher(oMs, oQuery)
            Dim oReturnCollection As ManagementObjectCollection = oSearcher.[Get]()

            For Each oReturn As ManagementObject In oReturnCollection
                Console.WriteLine("Size: " & oReturn("Capacity"))
            Next
        End Sub
    End Class
End Namespace


EDIT: ispravljena greska u kodu






[Ovu poruku je menjao Sapphire dana 14.03.2009. u 21:35 GMT+1]
[ milan1233 @ 14.03.2009. 20:26 ] @
Namespace statments can occur only at file or namespace level. To mi izlazi....
[ Sapphire @ 14.03.2009. 20:38 ] @
Evo probao sam i ovaj VB kod, jedino je falila jedna linija koda koju sam sada dodao gore, ispravljeno je. Sto se tice te greske, ne znam, gdje si ubacio kod? Ujedno, jesi dodao System.Management u reference (desni klik na projekat -> add reference)?
Inace nisam VB programer, tako da ti mozda netko drugi bolje pomogne :/
[ milan1233 @ 14.03.2009. 20:40 ] @
Da, dodao sam referencu, i jos zeza Namespace....