Delphi-PRAXiS
Seite 2 von 8     12 34     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)

Tim.exe 26. Okt 2003 11:21

Re: Systeminformation 1.0 - Lite
 
Hallo,

ist ja ein nettes hübsches Tool :-D

Mir ist aufgefallen das die CPU Last 100% anzeigt, gem. einem anderem Tool ist sie aber nur ~2,5%.

Die DirectX Umgebung sagt mir ich hätte die Version 4.x, aber eigentlich habe ich 8.x...

Kannst du mir veraten wie du den BIOS Namen, Version und Datum herausfindest? Sowas könnte ich nämluch auch brauchen... :-D

Alexander 26. Okt 2003 12:03

Re: Systeminformation 1.0 - Lite
 
Zitat:

Ja die Geschichte mit den Festplatten ist mir auch schon aufgefallen, bekomme nur die Werte nich in Kommazahlen. Dann würde es genauere Werte ergeben. Und nochwas, es ist meist wirklich so, das man statt ner 60GB Platte nur 57GB angezeigt bekommt. Das hat was damit zutun, das die Hersteller immer Unterschiede zwischen 1024 MB = 1GB und 1000MB= 1GB sehen. Hab z.B. auch ne 60GB drin, und bei der bekomm ich egal wo immer angezeigt, das ich nur 57GB frei hab, auch wenn ichse grad erst platt gemacht hab.
Ist ja schön und gut, aber er zeigt ganz und gar nicht die richtigen Werte an ;-).
Bei mir zeigt für's Laufwerk C 8,5 TB, nicht GB ;-)

Akut-Programming 26. Okt 2003 12:54

Re: Systeminformation 1.0 - Lite
 
@ Tim:

Also wenn die Prozessorauslastung bei Start der Anwendung schon bei 100% anschlägt brauchste dir keene Platte machen, das es so ist. Merkwürdigerweise bleibt die Satusleiste immer mal hängen. Bin schon am basteln, wie ich das beheben kann. Versuchs vielleicht nochmal mit n Neustart der Anwendung!?

Dat mit der DirectX Version liegt daran, das ich die Angabe so im Registry eintrag von DirectX steht. Wenn du dir den Wert genau anschaust, kommt nach der 4.0 deine 8 - Dies ist die installierte DirectXversion.

Bei mir steht z.B.: 4.09.00.0902 - habe DirectX 9 installiert!!!

@ Alex:

Wie gesagt, habe ne falsche bezeichnung gewählt - KB - statt eigentlich Byte!!!

Luckie 26. Okt 2003 14:08

Re: Systeminformation 1.0 - Lite
 
Wo ist das Problem die Angabe zu formatieren? Format, heißt das Zauberwort in der Hilfe.

axelf98 26. Okt 2003 14:57

Re: Systeminformation 1.0 - Lite
 
Müsste eigentlich so stimmen:
Delphi-Quellcode:
function Formatieren(KB: Extended): String;
const Genauigkeit = 1000;
var
 Dimension : String;
begin
 if KB >= 0 then Dimension := 'KiloByte';
 if KB > 1023 then Dimension := 'MegaByte';
 if KB > 1048575 then Dimension := 'GigaByte';
 if KB > 1073741823 then Dimension := 'TeraByte';
 if KB > 1099511627775 then Dimension := 'PetaByte';
 if KB > 1125899906842619 then Dimension := 'ExaByte';

if Dimension = 'KiloByte' then result := Floattostr(KB)+ ' ' + Dimension;
if Dimension = 'MegaByte' then result := Floattostr(round((KB / 1024) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'GigaByte' then result := Floattostr(round((KB / 1048576) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'TeraByte' then result := Floattostr(round((KB / 1073741824) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'PetaByte' then result := Floattostr(round((KB / 1099511627776) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'ExaByte' then result := Floattostr(round((KB / 1125899906842620) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
end;

Akut-Programming 26. Okt 2003 17:43

Re: Systeminformation 1.0 - Lite
 
Cool, danke Axel, :thuimb: werd ich mal einbauen und testen. So wies ausschaut isses genau dat was ich suche! :lol:

Luckie 26. Okt 2003 18:11

Re: Systeminformation 1.0 - Lite
 
Zitat:

Zitat von axelf98
Müsste eigentlich so stimmen:
Delphi-Quellcode:
function Formatieren(KB: Extended): String;
const Genauigkeit = 1000;
var
 Dimension : String;
begin
 if KB >= 0 then Dimension := 'KiloByte';
 if KB > 1023 then Dimension := 'MegaByte';
 if KB > 1048575 then Dimension := 'GigaByte';
 if KB > 1073741823 then Dimension := 'TeraByte';
 if KB > 1099511627775 then Dimension := 'PetaByte';
 if KB > 1125899906842619 then Dimension := 'ExaByte';

if Dimension = 'KiloByte' then result := Floattostr(KB)+ ' ' + Dimension;
if Dimension = 'MegaByte' then result := Floattostr(round((KB / 1024) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'GigaByte' then result := Floattostr(round((KB / 1048576) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'TeraByte' then result := Floattostr(round((KB / 1073741824) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'PetaByte' then result := Floattostr(round((KB / 1099511627776) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'ExaByte' then result := Floattostr(round((KB / 1125899906842620) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
end;

Willst du ein Preis gewinnen bei der Frage: "Wer kann noch mehr unnötige if-Bedingungen schreiben?" :gruebel:
Wozu bitte sehr der erste Block mit den if's bzw., wenn du den nutzt warum dann der zweite? Rechne doch gleich um. :roll:
Und mit Format(...) bekommst du sogar Tausendertrennzeichen hin.

mirage228 26. Okt 2003 18:26

Re: Systeminformation 1.0 - Lite
 
das könnteste doch mit ner schleife machen, z.B.

Delphi-Quellcode:
function groesse(Size: Extended): Extenden;
var
  sizes: array[0..4] of string;
  cnt: integer;
begin
  sizes[0] := 'Bytes';
  sizes[1] := 'KB';
  sizes[2] := 'MB';
  sizes[3] := 'GB';
  sizes[4] := 'TB';

  Result := Size + ' ' + Sizes[0];

  if Size >= 1024 then
  repeat
    if cnt > 4 then
    begin
      cnt := 4;
      size := size;
    end else size := size / 1024;
    inc(cnt);
    Result := FloatToStrF(Size,ffGeneral,4,2) + ' ' + sizes[cnt];
  until (size < 1024) or (cnt > 4);
end;
wenn du net format benutzen willst.

axelf98 26. Okt 2003 18:30

Re: Systeminformation 1.0 - Lite
 
Entschuldigung, ich werde dann halt nicht mehr helfen. :?
Der Code läuft aber ohne Probleme!

Luckie 26. Okt 2003 18:33

Re: Systeminformation 1.0 - Lite
 
Hallo??? "Klopf, klopf, jemand zu Hause McFly?"
1.) Warum vier Zeilen Code, wenn es auch mit mehr als doppelt so viel geht und wesentlich uneffiktiver und unverständlicher?
2.) Welche Funktion, die die Festplattenkapazität ermittelt, gibt bitte sehr selbige als Fließkommazahl zurück? :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr.
Seite 2 von 8     12 34     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