Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - integer kuerzen?
Spooky - So 31.08.03 12:58
Titel: integer kuerzen?
moin ich hab mal ne dumme frage
ich kriegs irgendwie nicht hin
wenn ich nen integer wert mit zb. 2000 habe und ich moechte aber anstatt 2000 lieber 200 da stehen haben wie mache ich das?
ich moechte den ram in mb ermitteln also zb. 512 mb und nicht
512363 oder so
Taurin - So 31.08.03 14:11
2000 -> 200 : Du teilst durch 10 ???
von KB nach MB: Du teilst durch 1024 ???
kat1 - So 31.08.03 15:22
Jo mit dem Unterschied, dass Du auf die Ergebnisvariable acht geben müsstest. Bei Verwendung von / als Divisionszeichen ist das ein Fließkommawert, willst Du dagegen immer noch einen integer-Wert haben, dann nimm div.
Spooky - So 31.08.03 15:48
also ich meine das ich immer NUR 3 stellen habe das das ergebnis bis auf 3 stellen gerundet wird
da giebts doch irgendwas mit len oder length
momentan hab ich so
Quelltext
1:
| GeTRAM := IntToStr(Memory.dwTotalPhys div 1024); |
und wenn ichs bei mir ausfuehre hab ich da stehen 523636
aber es sind 3 stellen zuviel
Motzi - So 31.08.03 16:14
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); |
Spooky - So 31.08.03 16:42
jo danke klappt alles ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!