| |

Visual-Basic EinsteigerWurde getestet | |  | Autor: Daniel | Datum: 19.05.02 12:09 |
| Hi Dieter,
ich habe Dein Rat befolgt und es ist etwas besser geworden, aber leider immer noch erstarrt.
Anbei eine Übersicht, damit Du weißt worum es geht: "Make_Image" startet das Auslesen und Store_Image beschreibt das Medium.
Private mySCSI_Info(100) As SCSI_Info_Type
Private amount_of_disk_devices As Long
Private Sub cmdMake_Click()
Dim Index As Integer
Dim Drive As Integer
Dim nUDTPtr As Long
nUDTPtr = VarPtr(mySCSI_Info(0))
On Error GoTo mrkError
Index = lstDevices.ListIndex
If Index = -1 Then
MsgBox "MAKE IMAGE - please choose source drive", vbOKOnly + vbExclamation, Me.Caption
Else
lblWait.Caption = "Please wait... making image number " + CStr(Index) + " in 'c:test.sdi'..."
'----Start Image
DoEvents
Make_Image nUDTPtr, Drive, "c:test.sdi"
lblWait.Caption = "...ready"
End If
GoTo mrkEnde
mrkError: MsgBox "Fehler in cmdMakeImage_Click: " + Err.Description + ", Fehlernummer: " + CStr(Err.Number), vbOKOnly + vbExclamation, Me.Caption
mrkEnde:
End Sub
Private Sub cmdRead_Click()
'---- WNASPI-DLL checken
If Not Init_WNASPI32 Then
MsgBox "WNASPI32.DLL nicht vorhanden" & vbCrLf & _
"oder keinen SCSI Host Adapter gefunden.", _
vbInformation
End
End If
'---- Anzahl/Infos holen
amount_of_disk_devices = Scan_SCSI_Bus(VarPtr(mySCSI_Info(0)), True)
'---- Anzahl checken
If (amount_of_disk_devices = 0) Then
MsgBox "Keine SCSI-Laufwerke gefunden.", _
vbInformation
End
End If
'---- Laufwerke anzeigen
Show_Devices
'End
End Sub
Private Sub Show_Devices()
'Alle gesammelten Laufwerke anzeigen
Dim i As Long, s As String
'
If (amount_of_disk_devices = 0) Then
s = "Es liegen keine SCSI-Laufwerksinfos vor."
Else
For i = 0 To amount_of_disk_devices
With mySCSI_Info(i)
s = s + vbTab & Chr$(48 + .HaId) & ":" & _
Chr$(48 + .Target) & ": " & _
Bytes2String(.bName)
End With
Next
End If
lstDevices.AddItem s
' MsgBox s, vbInformation
End Sub
Private Function Bytes2String(ByRef b() As Byte) As String
'Byte-Array nach String konvertieren
Dim i As Long
'
Bytes2String = ""
For i = 0 To UBound(b())
If (b(i) = 0) Then Exit For 'C-Endekennung
Bytes2String = Bytes2String & Chr$(b(i))
Next
End Function
Private Sub cmdStore_Click()
Dim Index As Integer
Dim Drive As Integer
Dim nUDTPtr As Long
nUDTPtr = VarPtr(mySCSI_Info(0))
On Error GoTo mrkError
Index = lstDevices.ListIndex
If Index = -1 Then
MsgBox "STORE IMAGE - please choose source drive", vbOKOnly + vbExclamation, Me.Caption
Else
lblWait.Caption = "Please wait... storing image number " + CStr(Index) + " in 'c:test.sdi'..."
Me.MousePointer = vbHourglass
Store_Image nUDTPtr, Drive, "C:test.sdi"
Me.MousePointer = vbNormal
lblWait.Caption = "...ready"
End If
GoTo mrkEnde
mrkError: MsgBox "Fehler in cmdStoreImage_Click: " + Err.Description + ", Fehlernummer: " + CStr(Err.Number), vbOKOnly + vbExclamation, Me.Caption
mrkEnde:
End Sub
Hier die Declaration:
Public Type SCSI_Info_Type
HaId As Byte 'Host Adapter ID
Target As Byte 'SCSI Target
bName(63) As Byte 'Name
BlockSize As Long 'Size of one logical Block
Amount_of_Blocks As Long 'Amount of logical Blocks
End Type
Public Declare Function Init_WNASPI32 _
Lib "sddim.dll" () As Boolean
Public Declare Function Scan_SCSI_Bus _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Flag As Boolean) As Long
Public Declare Sub SCSI_Prevent_Medium_Removal _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Flag As Boolean)
Public Declare Function Store_Image _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Drive As Long, _
ByVal Filename As String) As Boolean
Public Declare Sub Make_Image _
Lib "sddim.dll" _
(ByVal SCSI_Info As _
Long, ByVal Drive As _
Long, ByVal Filename As String) |  |
 | 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 |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevAniGif (VB/VBA) 
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. 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
|
|