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

Input mit mehreren Eingaben

Frage Entwicklung VB for Applications

Mitglied: m0nstar

m0nstar (Level 1) - Jetzt verbinden

28.06.2010 um 10:39 Uhr, 5583 Aufrufe, 11 Kommentare

Komme leider zz nicht weiter, vllt. kann mir ja jemand helfen.

Hallo,

ich versuche ein VBScript zu basteln, was es mir ermöglicht wenn ich es via cmd aufrufe in der DOS Box ein Input zu machen mit mehreren Arrays.

Zum Beispiel: [ID]#[Name]#[letter]
Soll dann so aussehen: 234#dieter#G

#= um das ganze zu trennen.

Ich weiß wie ich eine Inputbox mache, dass ist nicht das Problem, aber leider weiß ich nicht wie ich in eine Inputbox mehrere eingaben machen kann und diese dann später wieder getrennt ausgeben kann.

Desweiteren weiß ich das dieseyer ein Beispiel hat aber leider verstehe ich den mittleren Teil nicht ganz (http://dieseyer.de/scr/2-5mal-input.vbs):

01.
Eingabe=InputBox (VbCRLF&Txt&VbCRLF,Titel,Eingabe) 
02.
If Eingabe="" then WScript.Quit 
03.
  If not (Right(Eingabe,1)=Sym) then Eingabe=Eingabe&Sym ' Falls Symbol rechts vergessen! 
04.
  If Left(Eingabe,1)=Sym then Eingabe=Mid(Eingabe,2) ' Falls Symbol links! 
05.
Eingabe1=Eingabe 
06.
Laenge=Len(Eingabe1) 
07.
 
08.
' Die Eingabenfolge wird gemäß den " # " in Abschnitte zerlegt 
09.
' und die Teile als Variablen " Txti " definiert 
10.
 
11.
Zahl1=0 
12.
i=1 
13.
Do until Rechts=Sym 
14.
  Links=Left(Eingabe1,i) 
15.
  Rechts=Right(Links,1) 
16.
  i=i+1 
17.
  Zahl1=Zahl1 +1 ' Zahl1 ist Länge der 1. Sequenz mit dem " # " 
18.
Loop 
19.
Txt1=Left(Links,Zahl1 -1) 
20.
 
21.
Eingabe2=Right(Eingabe1,Laenge-Zahl1) ' Neufestlegung 
22.
  If Eingabe2="" then Ende 
23.
Zahl2=0 
24.
i=1 
25.
Do until Rechts2=Sym 
26.
  Links2=Left(Eingabe2,i) 
27.
  Rechts2=Right(Links2,1) 
28.
  i=i+1 
29.
  Zahl2=Zahl2 +1 
30.
Loop 
31.
Txt2=Left(Links2,Zahl2 -1) 
32.
 
33.
Eingabe3=Right(Eingabe2,Laenge-Zahl1-Zahl2) 
34.
If Eingabe3="" then Ende 
35.
Zahl3=0 
36.
i=1 
37.
Do until Rechts3=Sym 
38.
  Links3=Left(Eingabe3,i) 
39.
  Rechts3=Right(Links3,1) 
40.
  i=i+1 
41.
  Zahl3=Zahl3 +1 
42.
Loop 
43.
Txt3=Left(Links3,Zahl3 -1) 
44.
 
45.
Eingabe4=Right(Eingabe3,Laenge-Zahl1-Zahl2-Zahl3) 
46.
If Eingabe4="" then Ende 
47.
Zahl4=0 
48.
i=1 
49.
Do until Rechts4=Sym 
50.
  Links4=Left(Eingabe4,i) 
51.
  Rechts4=Right(Links4,1) 
52.
  i=i+1 
53.
  Zahl4=Zahl4 +1 
54.
Loop 
55.
Txt4=Left(Links4,Zahl4 -1) 
56.
 
57.
Eingabe5=Right(Eingabe4,Laenge-Zahl1-Zahl2-Zahl3-Zahl4) 
58.
If Eingabe5="" then Ende 
59.
Zahl5=0 
60.
i=1 
61.
Do until Rechts5=Sym 
62.
  Links5=Left(Eingabe5,i) 
63.
  Rechts5=Right(Links5,1) 
64.
  i=i+1 
65.
  Zahl5=Zahl5 +1 
66.
Loop 
67.
Txt5=Left(Links5,Zahl5 -1) 
68.
 
69.
Ende ' Sub - Aufruf 
70.
 
71.
WScript.Quit
Danke schonmal fürs helfen.
Mitglied: TsukiSan
28.06.2010 um 10:49 Uhr
Hallo m0nstar

hier ein Beispiel, was deinem Vorhaben nahe kommt:
01.
Eingabe = Split(inputbox("Bitte Text eingeben und durch '#' trennen"),"#") 
02.
for i = 0 to Ubound(Eingabe) 
03.
	msgbox Eingabe(i) 
04.
next

Gruss
Tsuki
Bitte warten ..
Mitglied: m0nstar
28.06.2010 um 10:55 Uhr
Hi Tsuki,

danke schonmal, wie kann ich den jetzt sagen das die erste eingabe = strID sein soll, die zweite = strName und dritte = strLetter...

Bin da net so fitt

Gruß,
m0nstar
Bitte warten ..
Mitglied: TsukiSan
28.06.2010 um 10:59 Uhr
Hallo m0nstar,

bei dieser Art von Inputbox gibt es leider keine Möglichkeit, den Benutzer so hingehend zu überwachen, dass er alles in der richtigen Reihenfolge auch eingibt.
du könntest das nur als Hinweis angeben in Form von:
01.
Eingabe = Split(inputbox("Bitte Daten eingeben in folgender Reihenfolge: ID Name Letter und durch '#' trennen"),"#")
Aber wie gesagt, der Mann oder die Frau, die die Daten eingeben, müssen sich an die Reihenfolge halten.
Das "Nullte"-Array kann noch mit "Isnumeric" abgefangen werden, aber bei den anderen....

Gruss
Tsuki
Bitte warten ..
Mitglied: m0nstar
28.06.2010 um 11:03 Uhr
Hi Tsuki,

problem ist ich wollte die 3 Werte noch weiter im Script verarbeiten...finde es nur blöd drei Abfragen zu machen, da es einfach schnell gehen soll

Gruß,
m0nstar

Edit: dieseyer ruft die eingaben ja auch irgendwie am ende wieder auf mit txt1,2,3,4,5 aber durch dem sein script blick ich net ganz^^
Bitte warten ..
Mitglied: TsukiSan
28.06.2010 um 11:12 Uhr
Hallo m0nstar,

ohne mir das Beispiel von dieseyer anzuschauen.
Was möchtest du denn genau machen?
Bleiben wir mal bei deiner Frage und deinem Beispiel:
Durch das Splitten der Eingabe, in welcher eigentlich 3 Daten stehen sollten nämlich
123#Name#Letter
hast du in deinem Array "Eingabe" ein Maximum (Ubound) von 2
jetzt müßte immer in
Eingabe(0) eine Nummer
Eingabe(1) ein Name und
Eingabe(2) ein "Letter"
stehen.
So kannst du auf diese Daten dann später auch in deinem Programm ganz easy zugreifen.
Nur wenn der, der die Eingabe macht zum Beispiel
Name#123#F
eingibt, ist das schwierig für dich nachzuvollziehen. Dann geht es ohne vorherige Prüfung der gesamten Eingabe nicht.
Wenn in einem Array nur Zahlen stehen dürfen könntest du es mit
01.
If Not Isnumeric Eingabe(0) then 'blablabla
zum Beispiel abfangen.
Du kannst auch Eingabelängen in Form von
01.
If Len(Eingabe(2) > 1 then 'blablabla
überwachen. Aber wie gesagt, du musst dann genau wissen, was an welcher Stelle der Eingabe genau "erwartet" wird.

Gruss
Tsuki

Ps.: nur grob, was dieseyer da treibt: Er splittet die Eingabedaten auf seine Art und Weise. Mehr nicht und dann schreibt er sie nicht in ein Array
Bitte warten ..
Mitglied: m0nstar
28.06.2010 um 11:22 Uhr
Hi Tsuki,

also ich will die ID, den Namen und einen LaufwerkLetter einlesen (wo das Profil des Users liegt) und das ganze in einer txt speichern (kann ich)

ID ist immer numeric und name sollte nicht beschränkt sein und das letzte ist halt nur ein Buchstabe und mach dir keine Sorgen die Anwender werden es immer richtig eingeben (das will ich garnicht überprüfen)

Wäre das so richtig?:

01.
option explicit 
02.
Dim Eingabe, i 
03.
 
04.
Eingabe = Split(inputbox("Bitte Daten eingeben in folgender Reihenfolge: ID Name Letter und durch '#' trennen"),"#") 
05.
for i = 0 to Ubound(Eingabe(0), Eingabe(1), Eingabe(2)) 
06.
next 
07.
If Not Isnumeric Eingabe(0) then 
08.
     wscript.quit 
09.
End if 
10.
If Len(Eingabe(2) > 1 then 
11.
     wscript.quit 
12.
End if
Bitte warten ..
Mitglied: TsukiSan
28.06.2010 um 11:27 Uhr
Hallo m0nster,

wenn alles immer richtig eingegeben wird, wird's einfacher im Form von weniger Programmcode
dein Code ist bis auf 2 Kleinigkeiten soweit ok.
1) dieses
01.
for i = 0 to Ubound(Eingabe(0), Eingabe(1), Eingabe(2)) 
02.
next
hatte ich nur zum Testen angegeben, damit du sehen kannst, was in den einzelnen Arrays drinnen stehen würde
2)wenn du das in dieser For-Schleife so läßt, gibt es Fehlermeldungen!
bitte nur so verwenden.
01.
for i = 0 to Ubound(Eingabe) 
02.
next
auf die einzelnen Daten greifst du so zu als Beispiel
01.
MeineVariable = Eingabe(0) 
02.
MeineVariable1 = Eingabe(1) 
03.
'etc.

Gruss
Tsuki
Bitte warten ..
Mitglied: m0nstar
28.06.2010 um 11:36 Uhr
Hallo Tsuki,

danke schonmal für deine Gedult klappt soweit ganz gut ausser die überprüfung:

01.
option explicit 
02.
Dim Eingabe, i 
03.
 
04.
Eingabe = Split(inputbox("Bitte Daten eingeben in folgender Reihenfolge: ID Name Letter und durch '#' trennen"),"#") 
05.
for i = 0 to Ubound(Eingabe) 
06.
next 
07.
'If Not Isnumeric Eingabe(0) Then 
08.
'     wscript.quit 
09.
'End if 
10.
'If Len(Eingabe(2) > 1 then 
11.
'     wscript.quit 
12.
'End if 
13.
 
14.
msgbox Eingabe(0) 
15.
msgbox Eingabe(1) 
16.
msgbox Eingabe(2)
Wenn ich die Kommentar Zeichen weg mache kommt in der 7. Zeile wird ein Then Anweisung erwartet, aber die ist doch da?!

Gruß,
m0nstar

Edit2:

HABE ES HINBEKOMMEN!!! danke dir
Bitte warten ..
Mitglied: TsukiSan
28.06.2010 um 11:42 Uhr
Mea Culpa!

so wird'n Schuh draus:
01.
option explicit 
02.
Dim Eingabe, i 
03.
 
04.
Eingabe = Split(inputbox("Bitte Daten eingeben in folgender Reihenfolge: ID Name Letter und durch '#' trennen"),"#") 
05.
for i = 0 to Ubound(Eingabe) 
06.
next 
07.
If Isnumeric(Eingabe(0)) = False Then 
08.
     wscript.quit 
09.
End if 
10.
If Len(Eingabe(2)) > 1 then 
11.
     wscript.quit 
12.
End if 
13.
 
14.
msgbox Eingabe(0) 
15.
msgbox Eingabe(1) 
16.
msgbox Eingabe(2)
In Zeile 10 hatte auch noch die Klammer gefehlt!

Gruss
Tsuki

[Edit]
Super, dass es geklappt hat! Nichts zu danken!
[/Edit]
Bitte warten ..
Mitglied: m0nstar
28.06.2010 um 11:43 Uhr
Hi Tsuki,

jop habs übersehen habs dann auch hinbekommen danke dir nun klappt es... perfekt

Gruss,
m0nstar

Edit: Häckchen ist da...Grandiose hilfe fürn blindes huhn wie mich
Bitte warten ..
Mitglied: TsukiSan
28.06.2010 um 11:44 Uhr
Hallo m0nstar,

wenn alle Klarheiten beseitigt sind, dann mach doch bitte ein kleines grünes Häkchen oben neben den Beitrag.
Das freut Biber und Co.

Gruss
Tsuki

[Edit]
Häkchen ist ja da. Ich war zu langsam!
[/Edit]
Bitte warten ..
Ähnliche Inhalte
Switche und Hubs
Switch mit PoE-Input
gelöst Frage von Fenris14Switche und Hubs11 Kommentare

Guten Tag, ich bin derzeit auf der Suche nach einem Switch der über PoE mit Strom versorgt wird und ...

E-Business
EService für Rechnungsversand - verschiedene Input- und Outputformate
gelöst Frage von ExcaliburxE-Business1 Kommentar

Hallo Zusammen, bisher druckt der Kunde seine Rechnungen etc. noch selbstständig. Es geht um eine hohe 6-stellige Seitenzahl pro ...

C und C++
Arduino "Serial input zu analogwrite"
Frage von Zerou24C und C++1 Kommentar

Ist es möglich input vom serial monitor in analog write zu packen ? Ich möchte eine rgb led kontrollieren ...

Ubuntu
CMD Eingabe
gelöst Frage von scheibenboxxxerUbuntu3 Kommentare

Hi leute Ma ne frage an euch was bringt das wenn mann den cmd unter linux aufruft und eintippt ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 8 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 8 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 16 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...