|
| |

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 |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
| |
|
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
|
|