GlobalMemoryStatus liefert die Anzahl der Bytes zurück, du willst das ganze aber in MegaBytes haben...
1KB = 1024 Bytes
1MB = 1024 KBytes -> 1MB = 1024 * 1024 Bytes
Durch eine einmalige Division durch 1024 bekommst du das ganze als Kilobytes, und nicht als Megabytes! Da musst du nochmal dividieren!
BTW: du kannst eine Division durch 1024 auch durch ein shr 10 ersetzen.. bzw zur Umwandlung von Bytes in MB einfach shr 20 (zweifache Division)
Delphi-Quelltext
1:
| GetRAM := IntToStr(Memory.dwTotalPhys shr 20); |