Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VB DriveListbox mit gesetzten Anfangswert (Laufwerk)

Frage Entwicklung VB for Applications

Mitglied: CanTan

CanTan (Level 1) - Jetzt verbinden

01.04.2009, aktualisiert 02.04.2009, 6903 Aufrufe, 6 Kommentare

Hallo Gemeinde

Ich versuche jetzt schon etwas längere Zeit in meinem VB Code
inkl. meiner DriveListBox, dieser beizubringen, dass sofort nach dem
Start meine Anwendung dort Drive A: ausgewählt und als Standard
ausgwählt ist. Ohne zusätzlichen Mausevent.

Derzeit sieht meine Code zur Listbox wie folgt aus:

01.
Private Sub Drive1_Change() 
02.
    Dim DriveLetter$, DriveNumber&, DriveType& 
03.
    DriveLetter = UCase(Drive1.Drive) 
04.
    DriveNumber = (Asc(DriveLetter) - 65) 
05.
    DriveType = GetDriveType(DriveLetter) 
06.
     
07.
    If DriveType = 2 Then 'Disklaufwerke und Laufwerke mit austauschbarem Datenträger 
08.
        cmdDiskCopy.Enabled = False 
09.
    Else 
10.
        cmdDiskCopy.Enabled = True 
11.
    End If 
12.
End Sub
Ok, dass ist noch keine Kunst und so habe ich schon einmal
meiner DriveListBox einen Index hinzugefügt. Ungefähr so!

01.
Private Sub Form_Load() 
02.
  With Drive1           'Name meiner Listbox 
03.
   .ListIndex = 1      ' Anzeige bei Start des Programms soll das Disklaufwerk sein 
04.
  End With 
05.
End Sub
Leider klappt dies aber garnicht, so dass derzeit immer noch als Standard
dort mein Laufwerk "C:\XYZ "angezeigt und ausgewählt ist!

Wie kann ich meiner DriveListBox bei bringen sofort dort das Disk. Laufwerk a:
ausgewählt zu haben?

Bin wie immer für alle (auch noch so kleien Tipps) Dankbar.
CanTan
Mitglied: bastla
01.04.2009 um 23:10 Uhr
Hallo CanTan!

Um ein bestimmtes Laufwerk vorzugeben, kannst Du die Eigenschaft ".Drive" verwenden, also etwa
01.
Drive1.Drive = "A:"
Grüße
bastla
Bitte warten ..
Mitglied: CanTan
01.04.2009 um 23:44 Uhr
Hallo Bastla,
frei nach dem Beispiel aus:
http://www.vbarchiv.net/tipps/details.php?id=526
suche ich nun schon mal die entsprechende Laufwerk
und definiere das z.B die FestplattenDatenträger nicht
aufzutauchen haben .... tja und nun habe ich Deinen
Tipp befolgt und bin keinen millimeter weiter, da ich nicht
weiß wo ich ihn ansetzen soll?

01.
Private Sub Form_Load() 
02.
    DriveShow Drive1, False, False, True, False, False, True  ' hier werden die nutzbaren LW definiert 
03.
    Drive1.Drive = "A:"  'dein Tipp hier eingefügt führt zur Fehlermeldung 
04.
    End Sub
°°°°
Bitte warten ..
Mitglied: bastla
02.04.2009 um 00:14 Uhr
Hallo CanTan!

Meine Antwort beruhte auf Deiner umfangreichen Problembeschreibung (die allerdings noch nicht einmal die VB-Version und schon gar nicht den nachgereichten Hinweis auf das Ausblenden von Laufwerken enthielt) ...

... und sollte trotzdem funktionieren, wenn Du Dich dazu entschließen könntest, auch für bShowRemovable ein True zu übergeben, also:
01.
 DriveShow Drive1, True, False, True, False, False, True  ' hier werden die nutzbaren LW definiert 
02.
Drive1.Drive = "A:"
Grüße
bastla

P.S.: Ob Dir wohl die Fehlermeldung hätte weiterhelfen können? (Mir schon ...)
Bitte warten ..
Mitglied: CanTan
02.04.2009 um 23:26 Uhr
Nabend Bastla,
es beschämt mich schon ein bisschen, Dich wegen so etwas
anscheind labidaren zu belästigen aber vllt. hilfts ja auch mal
wem anderen weiter.

Eine Fehlermeldung gibt es auch. Dies kommt aber nur, wenn keine Diskette eigelegt ist!
Zitat: "Wenn bei GetDrive ein ungültiges Laufwerk angegeben wird, erscheint der Laufzeitfehler 68 "Gerät nicht verfügbar" (bei nicht existierendem Laufwerk) oder der Laufzeitfehler 71 "Datenträger nicht bereit" (z.B. bei Diskettenlaufwerk ohne eingelegte Diskette oder CD-ROM-Laufwerk ohne eingelegte CD).

Soweit so gut und steckt also eine Diskette im Laufwerk scheint alles top.
Doch wie fange ich dies per Errorhandling ab, wenn noch keine Diskette im Laufwerk steckt?

Ach ja: M$ VB 6.0 SP6
Bitte warten ..
Mitglied: bastla
03.04.2009 um 00:06 Uhr
Hallo CanTan!
Doch wie fange ich dies per Errorhandling ab, wenn noch keine Diskette im Laufwerk steckt?
Die Frage, was bei einem Fehler geschehen soll, musst Du für Dich selbst beantworten - rein technisch gesehen könnte das Abfangen des Fehlers etwa so realisiert werden:
01.
Private Sub Form_Load() 
02.
DriveShow Drive1, False, True, True, False, False, True 
03.
On Error GoTo ErrorHandler 'Fehlerbehandlung festlegen 
04.
SetDrive: 'für Rücksprung zum neuerlichen Versuch 
05.
Drive1.Drive = "A:" 
06.
On Error GoTo 0 'Fehlerbehandlung wieder auf Standard setzen 
07.
'Fortsetzung, wenn es keinen Fehler (mehr) gibt ... 
08.
09.
' was eben so anliegt ... 
10.
11.
Exit Sub 
12.
 
13.
ErrorHandler: 
14.
Select Case Err.Number 
15.
Case 68 
16.
    MsgBox "Laufwerk nicht bereit!" 
17.
Case 71 
18.
    Ret = MsgBox("Kein Datenträger eingelegt!", vbAbortRetryIgnore) 
19.
    If Ret = vbRetry Then Resume SetDrive 'neuer Versuch ... 
20.
Case Else 
21.
    MsgBox "Unbekannter Fehler aufgetreten!" 
22.
End Select 
23.
'Soferne kein "Resume" erfolgt ist, geht es hier 
24.
'für alle Arten von Fehlern weiter ... 
25.
26.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: CanTan
05.04.2009 um 20:46 Uhr
Danke bastla....tat funkt erst mal besten.
Manchmal braucht man eben einen leichten auf den Hinterkopf!
dank Dir
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Visual Studio
gelöst (VB) Form-Elemente nicht wie im Entwurf angeordnet (2)

Frage von MrCount zum Thema Visual Studio ...

Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Im Anmeldeskript ein Laufwerk mit einem anderen User und Pw mappen unsicher? (10)

Frage von M.Marz zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...