Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » System

Speicher-Ausstattung unter Windows ermitteln

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.Redakteurytwinky 22.03.2012

Nachdem ich meinen Rechnerspeicher (nicht ohne Grund^^) gnadenlos verdoppelt habe, wollte ich natürlich auch sehen, wie FreeBasic mir die nunmehr 2 GB präsentiert. Das gelingt mühelos mit folgendem Programm, das ich in Englisch gelassen habe:

'fbMem.bas ©2012 by ytwinky, MD
'tested with FB 0.23.0 for win32
#include "vbcompat.bi"
#include "windows.bi"
Declare Function FormatIt(Title As String, total As Single, free As Single) As String

Dim Memory As MEMORYSTATUS
Memory.dwLength=Len(Memory)
GlobalMemoryStatus(@Memory)
Print "Memory-Equipment of " & Environ("ComputerName") &!"\n(Info by FreeBasic 0.23.0 via Windows.bi)"
With Memory
    Print FormatIt("Built-In Memory", .dwTotalPhys, .dwAvailPhys)
    Print FormatIt("PageFile-Memory", .dwTotalPageFile, .dwAvailPageFile)
    Print FormatIt("Virtual Memory", .dwTotalVirtual, .dwAvailVirtual)
End With
Print "Eniki..";
GetKey
End
'dwLength as DWORD
'dwMemoryLoad as DWORD 'yes, I know, but it delivers integer-%-values only..

Function FormatIt(Title As String, total As Single, free As Single) As String
    Var sg="", sf=""
    total/=1024^2
    If Frac(total)<>0 Then total+=0.5 'it is allowed to cheat a little 'bit'..
    sg=Format(total, "####")
    free/=1024^2
    sf=Format(free, "####")
    sg=Title &!"\ntotal " &String(4-Len(sg), " ") &sg &" MB" &!"\nfree  " &String(4-Len(sf), " ") &sf &!" MB\nused  "
    sf=Format(total-free, "####")
    Return sg &String(4-Len(sf), " ") &sf &" MB (" &Format((total-free)/total, "0.0%") &!")\n"
End Function

Viel Spaß beim Speicher ermitteln..
Gruß
ytwinky


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 22.03.2012 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 22.03.2012 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen