Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Unterstützung bei Inputbox inkl. If-Schleifen

Frage Entwicklung VB for Applications

Mitglied: aivilon

aivilon (Level 1) - Jetzt verbinden

07.05.2012 um 12:23 Uhr, 3265 Aufrufe, 5 Kommentare

Hallo Zusammen

Mein Problem ist folgendes:
Ich möchte mittels einer Inputbox einen Pfad abfragen. Wenn kein Wert eingetragen wird, und trotzdem ok gedrückt wird, soll mittels einer Messagebox (vbokonly) mittgeteilt werden, dass ein gültiger wert eingetragen werden muss. mit betätigen von ok soll sich die Inputbox wiederholen (Refresh?).
Wenn Ein Wert eingetragen wird, sollte mittels (dazu habe ich eine funktionierende funktion) exist abfrage ermittelt werden ob der Pfad vorhanden ist. Wenn nicht wird wiederum per messagebox (vbokonly) mittgeteilt, dass der pfad nicht existiert, und auch hier wird die inputbox wiederholt.
Mit einem klick auf Cancel wird per Msgbox (vbokcancel) mitgeteilt, dass hiermit das Programm beendet wird. Bei klick auf Ok geschieht dies auch. Mit einem klick auf cancel wird die inputbox wiederholt.

Ich bring das einfach nicht hin. Bisjetzt hab ich folgendes:
01.
            If FileOrDirExists(Appdata & "\.minecraft\bin\") = True Then 
02.
                dir = New System.IO.DirectoryInfo(Appdata & "\.minecraft\bin\") 
03.
            ElseIf FileOrDirExists(Appdata & "\.minecraft\bin\") = False Then 
04.
                strPfad = InputBox("Bitte Pfad zur Minecraft.jar Datei angeben: ", "Pfad eingeben")   'Bis hier funktioniert alles 
05.
                If strPfad = " " Then 
06.
                    strMsg = MsgBox("Bitte einen Pfad eingeben!", "Kein Pfad", vbOKOnly) 
07.
                    Me.Refresh() 
08.
                ElseIf strPfad = "" Then 
09.
                    strMsg = MsgBox("Hiermit wird MC Startup Helper beendet!", "Beenden", vbOKCancel) 
10.
                    If MsgBoxResult.Ok Then 
11.
                        End 
12.
                    ElseIf MsgBoxResult.Cancel Then 
13.
                        Me.Refresh() 
14.
                    End If 
15.
                End If 
16.
            End If
Kann mir wer helfen?

Grüsse aivilon
Mitglied: SlainteMhath
07.05.2012 um 12:59 Uhr
Moin,

aus dem Kopf und ohne Gewähr:
01.
do while true 
02.
  strPfad=inputbox(....) 
03.
  if strPfad="" then 
04.
    if msgbox("hiermit wird.... beendet",vbOkCancel)=MsgBoxResult.Ok then Exit Do 
05.
  else 
06.
    if strPfad=" " then  
07.
      Msgbox("Bitte gültigen Pfad....") 
08.
    else 
09.
      'Wenn Pfad Existiert, dann Exit Do, sonst Msgbox("Pfad existiert nicht") 
10.
    End If 
11.
  End if 
12.
loop
lg,
Slainte

/EDIT: Typos korrigiert.
Bitte warten ..
Mitglied: emeriks
07.05.2012 um 13:04 Uhr
Hi,

versuch mal so:

01.
If FileOrDirExists(Appdata & "\.minecraft\bin\") Then  
02.
    dir = New System.IO.DirectoryInfo(Appdata & "\.minecraft\bin\")  
03.
Else  
04.
    strMsg = "" 
05.
    do 
06.
        strMsg = MsgBox("Bitte einen Pfad eingeben!", strMsg , vbOKOnly)  
07.
        if strMsg.Trim <> "" then 
08.
            'es wurde etwas eingegeben 
09.
            If not FileOrDirExists(strMsg.Trim) then 
10.
                'Pfad existiert nicht 
11.
                msgbox("Der Pfad """ & strMsg & """ exitiert nicht oder kein Zugriff!", vbExclamation, "Fehler!") 
12.
            else             
13.
                'Pfad existiert 
14.
                exit do 
15.
            end if 
16.
        end if 
17.
    loop 
18.
end if
mfg
MRX
Bitte warten ..
Mitglied: aivilon
07.05.2012 um 13:46 Uhr
Zitat von SlainteMhath:
Moin,

aus dem Kopf und ohne Gewähr:
01.
> do while true 
02.
>   strPfad=inputbox(....) 
03.
>   if strPfad="" then 
04.
>     if msgbox("hiermit wird.... beendet",vbOkCancel)=MsgBoxResult.Ok then Exit Do 
05.
>   else 
06.
>     if strPfad=" " then  
07.
>       Msgbox("Bitte gültigen Pfad....") 
08.
>     else 
09.
>       'Wenn Pfad Existiert, dann Exit Do, sonst Msgbox("Pfad existiert nicht") 
10.
>     End If 
11.
>   End if 
12.
> loop 
13.
> 
lg,
Slainte

/EDIT: Typos korrigiert.

OK das kommt dem Ganzen schon näher. Nur:
Wenn ich beim Hinweis zum Beenden auf OK klicke, wird nur die Messagebox weggeklickt. Hier sollte sich jedoch das ganze Programm beenden.

Des weiteren hab ich noch das Problem, dass wenn ich ohne eine Eingabe auf OK klicke ebenfalls der Hinweis zum Beenden erscheint.

Und aus irgend einem Grund erscheint das Fenster auf einer total merkwürdigen Position (ca. +0, +500) ?!

01.
        Do While True 
02.
            strPfad = InputBox("Bitte Pfad zur Minecraft.jar eingeben!", "Pfad eingeben", strMsg, vbOKOnly) 
03.
            If strPfad <= " " Then 
04.
                If MsgBox("hiermit wird MC Startup Helper beendet", vbOKCancel) = MsgBoxResult.Ok Then Exit Do 
05.
            Else 
06.
                If strPfad < " " Then 
07.
                    MsgBox("Bitte einen Pfad eingeben!", vbExclamation, "Bitte Pfad eingeben!") 
08.
                Else 
09.
                    If FileOrDirExists(strMsg) = False Then 
10.
                        'Pfad existiert nicht 
11.
                        MsgBox("Der Pfad """ & strMsg & """ exitiert nicht! Bitte korrekten Pfad eingeben", vbExclamation, "Fehler!") 
12.
                    Else 
13.
                        'Pfad existiert 
14.
                        Exit Do 
15.
                    End If 
16.
                End If 
17.
            End If 
18.
        Loop
#Edit: aktuellen Code hinzugefügt
Bitte warten ..
Mitglied: aivilon
07.05.2012 um 14:37 Uhr
#Falsch kommentiert....
Bitte warten ..
Mitglied: aivilon
07.05.2012 um 14:43 Uhr
So ich habs jetzt fast hingekriegt. Bis auf das Ganze mit dem Abbrechen und danach Beenden. Wenn ich jetzt auf Abbrechen drücke, kommt die MessageBox "Bitte Pfad eingeben".
Hier der aktuellste Code:

01.
        If FileOrDirExists(Appdata & "\.minecraft\bin\") Then 
02.
            dir = New System.IO.DirectoryInfo(Appdata & "\.minecraft\bin\") 
03.
        Else 
04.
            strMsg = "" 
05.
            Do 
06.
                strMsg = InputBox("Bitte Pfad zur Minecraft.jar eingeben!", "Pfad eingeben", "", vbOKOnly) 
07.
                If System.Runtime.InteropServices.Marshal.StringToBSTR(strMsg) = 0 Then 
08.
                    If MsgBox("hiermit wird MC Startup Helper beendet", vbOKCancel) = MsgBoxResult.Ok Then Exit Do 
09.
                ElseIf strMsg = vbNullString Then 
10.
                    MsgBox("Bitte einen Pfad eingeben!", vbExclamation, "Bitte Pfad eingeben!") 
11.
                Else 
12.
                    If FileOrDirExists(strMsg) = False Then 
13.
                        'Pfad existiert nicht 
14.
                        MsgBox("Der Pfad """ & strMsg & """ exitiert nicht! Bitte korrekten Pfad eingeben", vbExclamation, "Fehler!") 
15.
                    Else 
16.
                        'Pfad existiert 
17.
                        dir = New System.IO.DirectoryInfo(strMsg) 
18.
                        Exit Do 
19.
                    End If 
20.
                End If 
21.
            Loop 
22.
        End If
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

RedHat, CentOS, Fedora
gelöst Ausgabe mit IF auswerten (8)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema RedHat, CentOS, Fedora ...

Batch & Shell
gelöst Powershell IF Abfrage Vergleichsoperatoren (4)

Frage von Peterz zum Thema Batch & Shell ...

Batch & Shell
gelöst Fehler in Schleife (2)

Frage von miczar zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Windows 10
Windows 10 Ordnerfreigabe (14)

Frage von Xaero1982 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...