Delphi-PRAXiS
Seite 3 von 8     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Systeminformation 1.0 - Lite (https://www.delphipraxis.net/10783-systeminformation-1-0-lite.html)

mirage228 26. Okt 2003 18:39

Re: Systeminformation 1.0 - Lite
 
Es besteht durchaus die Möglichkeit das eine Festplatte nur 56,8 GB Kapazität hat, statt 60 GB - Kommt wegen der seltsamen Umrechnungart der Festplatten hersteller.

geht auch so (Angabe in GB) - mit Format (sollte klappen)
Delphi-Quellcode:
Groesse := FormatFloat('##,##" GB"', Size / 1024 / 1024 / 1024);

axelf98 26. Okt 2003 18:43

Re: Systeminformation 1.0 - Lite
 
Wenn ihr alles immer so kurz wie möglich haben wollt, bitte:

Delphi-Quellcode:
function Formatieren(KB: Extended): String;
const Genauigkeit = 1000;
begin
 if KB >= 0 then result := Floattostr(KB)+ ' ' + 'KiloByte';
 if KB > 1023 then result := Floattostr(round((KB / 1024) * Genauigkeit)/Genauigkeit) +' ' + 'MegaByte';
 if KB > 1048575 then result := Floattostr(round((KB / 1048576) * Genauigkeit)/Genauigkeit) +' ' + 'GigaByte';
 if KB > 1073741823 then result := Floattostr(round((KB / 1073741824) * Genauigkeit)/Genauigkeit) +' ' + 'TeraByte';
 if KB > 1099511627775 then result := Floattostr(round((KB / 1099511627776) * Genauigkeit)/Genauigkeit) +' ' + 'PetaByte';
 if KB > 1125899906842619 then result := Floattostr(round((KB / 1125899906842620) * Genauigkeit)/Genauigkeit) +' ' + 'ExaByte';
end;

Luckie 26. Okt 2003 18:43

Re: Systeminformation 1.0 - Lite
 
Zitat:

Zitat von mirage228
Es besteht durchaus die Möglichkeit das eine Festplatte nur 56,8 GB Kapazität hat, statt 60 GB

Das hat nichts mit dem Thema zu tun. Alle Funktionen die ich kenne, liefern die Kapazität in Byte und da Byte die kleinste Einheit ist, ist der Datentyp logischer weise ein Integer, alles andere wäre Blödsinn. Darum geht es. Ihr deklariert den Funktionsparameter alle mit Extended, was wie gesagt Blödsinn ist.

axelf98 26. Okt 2003 18:53

Re: Systeminformation 1.0 - Lite
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von mirage228
Es besteht durchaus die Möglichkeit das eine Festplatte nur 56,8 GB Kapazität hat, statt 60 GB

Das hat nichts mit dem Thema zu tun. Alle Funktionen die ich kenne, liefern die Kapazität in Byte und da Byte die kleinste Einheit ist, ist der Datentyp logischer weise ein Integer, alles andere wäre Blödsinn. Darum geht es. Ihr deklariert den Funktionsparameter alle mit Extended, was wie gesagt Blödsinn ist.

Wenn man z.B. 3232342422 KB hat... Rechne das mal mit einem Integer durch..
Mein Rechner macht so hohe Integer-Variablen nicht mit *g*.
Oder hast du einen 256 Bit Integer :shock: ?

mirage228 26. Okt 2003 18:56

Re: Systeminformation 1.0 - Lite
 
Ein 64bit Integer (Int64) reicht meineswissen vollständig aus, nehme ich zumindest mal an!

Es gibt ja noch Comp und Real48, falls man kein Int64 hat (wie ich mit Delphi 3)

mfG
mirage228

Luckie 26. Okt 2003 18:58

Re: Systeminformation 1.0 - Lite
 
Nein, habe ich nicht. Aber hast du eine Festplatte im Terabytebereich? :roll:

Wenn es bis 1000 Gibabyte reicht, dann geht auch das:
Delphi-Quellcode:
function FormatDiskSpace(DiskSpace: Int64): string;
begin
  case DiskSpace of
    0..1023: result := Format('%d byte', [DiskSpace]);
    1024..1048576: result := Format('%2n KB', [DiskSpace / 1024]);
    1048577..1073741824: result := Format('%2n MB', [DiskSpace / 1024 / 1024]);
  else
    result := Format('%2n GB', [DiskSpace / 1024 / 1024 / 1024]);
  end;
end;
@axel: Deine 3309918640128 (ich habe noch mal 1024 genommen, um Byte zubekommen) macht meiner Version anstandslos mit. :wink:
Zitat:

---------------------------
Project1
---------------------------
3.082,60 GB
---------------------------
OK
---------------------------

axelf98 26. Okt 2003 19:09

Re: Systeminformation 1.0 - Lite
 
Schön... Aber was ist an Extended so schlimm?
Außerdem könnte man ja auch mal größere Datenmengen anzeigen lassen, in einem Netzwerk z.B.

mirage228 26. Okt 2003 19:18

Re: Systeminformation 1.0 - Lite
 
Ich glaube, dass Extended langsamer als Integer ist...

bei kleineren Proggis dürfte das aber keine Rolle spielen

mfG
mirage228

Akut-Programming 27. Okt 2003 07:10

Re: Systeminformation 1.0 - Lite
 
Zitat:

Zitat von Luckie
Nein, habe ich nicht. Aber hast du eine Festplatte im Terabytebereich? :roll:

Wenn es bis 1000 Gibabyte reicht, dann geht auch das:
Delphi-Quellcode:
function FormatDiskSpace(DiskSpace: Int64): string;
begin
  case DiskSpace of
    0..1023: result := Format('%d byte', [DiskSpace]);
    1024..1048576: result := Format('%2n KB', [DiskSpace / 1024]);
    1048577..1073741824: result := Format('%2n MB', [DiskSpace / 1024 / 1024]);
  else
    result := Format('%2n GB', [DiskSpace / 1024 / 1024 / 1024]);
  end;
end;

Und genau so reichts auch :zwinker: - für GB - habe es jetzt ins Prog eingebaut, es funzt prima!!! Danke Luckie :thuimb:

:dp:

Akut-Programming 27. Okt 2003 07:21

Re: Systeminformation 1.0 - Lite
 
Zitat:

Zitat von MathiasSimmack
  • Der Prozessorname ist ein Stück zu weit nach links gerutscht, sowohl in "Allgemein/CPU" als auch in "CPU".

Dat is merkwürdig, bei mir wird er an gewünschter Position angezeigt!? :gruebel: Hat noch jemand dat Problem? Könnte jemand dann vielleicht ma n Screenshot machen, damit ichs mir angucken kann!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Seite 3 von 8     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz