Top-Themen

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, 3270 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
Powershell If-Schleife funktioniert nicht
gelöst Frage von windelterroristBatch & Shell5 Kommentare

Hallo Admins Arbeite gerade an einem kleinen Script funktioniert aber nicht so, wie ich mir das vorstelle Mein Code: ...

Entwicklung
Mit welchem Befehl kann ich in einer if schleife in Batch
gelöst Frage von JanInfoHDEntwicklung1 Kommentar

Mit welchem Befehl kann ich in einer if schleife in Batch dem Computer sagen das wenn die eingabe nicht ...

Sicherheits-Tools
Nessus Freeware Alternative inkl. Citrix Unterstützung
Frage von TechnoolliSicherheits-Tools1 Kommentar

Gibt es zu den klasse Tool Nessus auch eine Freeware alternative die zusätzlich auch Citrix unterstüzt ? Dankeschön.

Batch & Shell
Problem mit kombination aus IF ELSE und FOR Schleife.
gelöst Frage von UragusBatch & Shell12 Kommentare

Hallo, An sich möchte ich ein Script schreiben was eine DFSR-Replikation prüfen soll. Mit Batch Scripten habe ich leider ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.