vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Grafische Speicheranzeige auf Ordner beziehen? 
Autor: Boris Huemer
Datum: 18.04.02 08:55

Hi Leute!

Hier ein Code mit dem man freien Speicherplatz eines Laufwerks grafisch darstellen kann:
----------------------------------------------------------------------
Option Explicit

' zunächst alle benötigten API-Deklarationen
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" _
Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As _
String, lpFreeBytesAvailableToCaller As Currency, _
lpTotalNumberOfBytes As Currency, _
lpTotalNumberOfFreeBytes As Currency) As Long

' Fortschritsanzeige
Private Sub ShowProgress(picprogress As PictureBox, _
ByVal Value As Long, _
ByVal Min As Long, _
ByVal Max As Long, _
Optional ByVal bShowProzent As Boolean = True)

Dim pWidth As Long
Dim intProz As Integer
Dim strProz As String

' Farben
Const progBackColor = &HC00000
Const progForeColor = vbBlack
Const progForeColorHighlight = vbWhite

' Plausibilitätsprüfungen
If Value < Min Then Value = Min
If Value > Max Then Value = Max

' Prozentwert ausrechnen
If Max > 0 Then
intProz = Int(Value / Max * 100 + 0.5)
Else
intProz = 100
End If

With picprogress
' Prüfen, ob AutoReadraw=True
If .AutoRedraw = False Then .AutoRedraw = True

' Inhalt löschen
picprogress.Cls

If Value > 0 Then

' Balkenbreite
pWidth = .ScaleWidth / 100 * intProz

' Balken anzeigen
picprogress.Line (0, 0)-(pWidth, .ScaleHeight), _
progBackColor, BF

' Prozentanzeige
If bShowProzent Then
strProz = CStr(intProz) & " %"
.CurrentX = (.ScaleWidth - .TextWidth(strProz)) / 2
.CurrentY = (.ScaleHeight - .TextHeight(strProz)) / 2

' Vordergrundfarbe
If pWidth >= .CurrentX Then
.ForeColor = progForeColorHighlight
Else
.ForeColor = progForeColor
End If

picprogress.Print strProz
End If
End If
End With
End Sub


Private Sub Command1_Click()
Dim BytesAvail As Currency
Dim BytesTotal As Currency
Dim BytesFree As Currency
Dim lResult As Long
Dim sDrive As String
Dim intProz As Long

sDrive = "c:"
lResult = GetDiskFreeSpaceEx(sDrive, _
BytesAvail, BytesTotal, BytesFree)

If lResult Then
' belegten Speicherplatz anzeigen
intProz = 100 - Int(BytesAvail / BytesTotal * 100)
ShowProgress picprogress, intProz, 0, 100
End If
End Sub
----------------------------------------------------------------------------

Ist es möglich, das auf einen Ordner zu beziehen? Also zB 20 MB ist die Maximale Größe, und dann grafisch darzustellen wieviel davon belegt ist??

fg boris
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Grafische Speicheranzeige auf Ordner beziehen?36Boris Huemer18.04.02 08:55
Re: Grafische Speicheranzeige auf Ordner beziehen?244ModeratorDieter18.04.02 09:32
Ist mir nicht ganz klar...18Boris Huemer18.04.02 10:15
Re: Ist mir nicht ganz klar...217ModeratorDieter18.04.02 10:29

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel