Smilla Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 Also in meinem Array soll man suchen... 1. Man kann den letzten Eintrag nicht finden bzw. nicht danach suchen 2. Wenn man nach was anderem als Vorname sucht wird die eingabe verschoben! Also das ist das Suchprogramm: Option Explicit 'Globale Variablen Dim strSuche 'Suchbegriff Dim sAdressFilePath Dim arrAdresse()'Array Dim arrErgebnis 'Array Dim iArrayElements iArrayElements = 1 ReDim Preserve arrAdresse(6,1) Dim CountLines Dim SucheNochmal sAdressFilePath = "U:\VBScript\adressverwaltung\adressen.txt" '================================================================= ' Main '================================================================= 'InputBox mit Frage nach Suchwort Suchfunktion 'Datei einlesen ReadEntireFile(sAdressFilePath) 'Durch Array arrAdresse loopen und suchen arrErgebnis = SucheInArray() 'Suchergebnis ausgeben 'Neue Suche starten? NochmalSuchen 'FERTIG! '================================================================= ' Functions und subs '================================================================= 'Inputbox mit Frage nach Suchwort Sub Suchfunktion strSuche = InputBox ("Geben Sie bitte Ihren Suchbegriff ein!" , "Suchfunktion") End Sub 'Erzeugt aus dem Inhalt der Datei ein Array Sub AddToArray(sLine) Dim arTemp 'Variable für Temporäres Array iArrayElements = iArrayElements + 1 'hochzählen um 1 'WScript.Echo "iArrayElements:" & iArrayElements & vbNewLine ReDim Preserve arrAdresse(6, iArrayElements) arTemp = Split(sLine, ";") 'WScript.Echo UBound(arTemp) arrAdresse(0,iArrayElements) = arTemp(0) arrAdresse(1,iArrayElements) = arTemp(1) arrAdresse(2,iArrayElements) = arTemp(2) arrAdresse(3,iArrayElements) = arTemp(3) arrAdresse(4,iArrayElements) = arTemp(4) arrAdresse(5,iArrayElements) = arTemp(5) 'WScript.Echo arTemp(3) ' Dim i ' For i = 1 To UBound(arrAdresse,2) ' WScript.Echo arrAdresse(0,i) ' WScript.Echo arrAdresse(1,i) ' WScript.Echo arrAdresse(2,i) ' WScript.Echo arrAdresse(3,i) ' WScript.Echo arrAdresse(4,i) ' WScript.Echo arrAdresse(5,i) ' Next End Sub 'Laden der Daten Function ReadEntireFile(strAdressFilePath) Const ForReading = 1 Dim fso, theFile, retstring, i i = 0 Set fso = CreateObject("Scripting.FileSystemObject") Set theFile = fso.OpenTextFile(strAdressFilePath, ForReading, False) Do While theFile.AtEndOfStream <> True AddToArray(theFile.ReadLine) i = i + 1 CountLines = CountLines + 1 Loop theFile.Close 'ReadEntireFile = retstring '<-- Was bedeutet das?? End Function ' Function AddToArray(TempFile) ' MsgBox TempFile ' End Function 'Suche in Array Function SucheInArray() Dim ix, iy For ix = 0 To 6 For iy = 0 To CountLines 'Bei Suche nach Vornamen: If strSuche = arrAdresse(ix, iy) Then MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' 'Suche nach Nachnamen ' Elseif strSuche = arrAdresse(ix+1, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' ' 'Suche nach Strasse ' ElseIf strSuche = arrAdresse(ix+2, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' ' 'Suche nach PLZ ' ElseIf strSuche = arrAdresse(ix+3, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' ' 'Suche nach Ort ' ElseIf strSuche = arrAdresse(ix+4, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' ' 'Suche nach Telefonnummer ' Elseif strSuche = arrAdresse(ix+5, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) Else End If Next Next ' Dim i ' Dim arrTempAdresse() 'Temporäres Array um die Ergebnisse der Suche zu speichern ' Dim iArrayElem2 ' iArrayElem2 = 0 ' ' For i = 1 To UBound(arrAdresse, 2) 'von 1 bis zum höchsten Index-Wert ' If strSuche = arrAdresse(1,i) Then 'Wenn der Suchbegriff = dem Feld (1,i) im Datenarray ist,dann... ' iArrayElem2 = iArrayElem2 + 1 'iArrayElem2 um 1 erhöhen ' WScript.Echo "iArrayElements:" & iArrayElem2 & vbNewLine ' ReDim Preserve arrTempAdresse(6, iArrayElem2) 'Deklaration eines dynamischen Array ' arrTempAdresse(0, iArrayElem2) = arrAdresse(0,i) ' arrTempAdresse(1, iArrayElem2) = arrAdresse(1,i) ' arrTempAdresse(2, iArrayElem2) = arrAdresse(2,i) ' arrTempAdresse(3, iArrayElem2) = arrAdresse(3,i) ' arrTempAdresse(4, iArrayElem2) = arrAdresse(4,i) ' arrTempAdresse(5, iArrayElem2) = arrAdresse(5,i) ' arrTempAdresse(6, iArrayElem2) = arrAdresse(6,i) ' ' ' ' arrAdresse(1,iArrayElements) = arTemp(1) ' ' arrAdresse(2,iArrayElements) = arTemp(2) ' ' arrAdresse(3,iArrayElements) = arTemp(3) ' ' arrAdresse(4,iArrayElements) = arTemp(4) ' ' arrAdresse(5,iArrayElements) = arTemp(5) ' ' End If ' Next End Function 'Möchten Sie nochmal suchen?? Function NochmalSuchen () Do While SucheNochmal <> vbNo SucheNochmal = MsgBox ("Möchten Sie nochmal suchen?", vbYesNo, "Suchfunktion") If SucheNochmal = vbYes Then Suchfunktion SucheInArray() Else End If Loop End Function Braucht ihr den Code des Adressverwaltungsprogramms von mir auch? Da werden nämlich die Adresskontakte eingegeben nach denen man suchen kann. Ich geb euch einfach auch mal den Code: (nächster Beitrag) Ich hoffe es kann mir jemand weiterhelfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Dezember 2005 Autor Teilen Geschrieben 9. Dezember 2005 Option Explicit '+++++++++ 'Variablen '+++++++++ Dim Name Dim Nachname Dim Strasse Dim Plz Dim Ort Dim Telefonnummer Dim fso Dim sResult Dim strAdressFilePath Dim iPLZLaenge Dim NameLaenge Dim NachnameLaenge Dim StrasseLaenge Dim OrtLaenge Dim NummerLaenge Dim read Dim fs Dim textstream Dim HTMLfilename Dim write Dim strDatensatz Dim cssFilename Dim HTMLfilenameCSS Dim HTMLanzeigen Dim shell Dim writeblanklines HTMLfilename = "U:\VBScript\adressverwaltung\adressen.html" strAdressFilePath = "U:\VBScript\adressverwaltung\adressen.txt" HTMLfilenameCSS = "U:\VBScript\adressverwaltung\cssAdressen.html" cssFilename = "U:\VBScript\adressverwaltung\adressen.css" 'Erstellen des FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") '+++++++++++++ 'Eingabefelder '+++++++++++++ 'Vorname GibName 'Nachname GibNachname 'Straße/Nr. GibStrasse 'Plz GibPLZ 'Ort GibOrt 'Telefonnummer GibTelefonnummer 'Speichern?? sResult = MsgBox("Sollen ihre eingegebenen Daten gespeichert werden?", vbYesNo, "Frage") If sResult = vbYes Then WriteInListe OpenAdressFile Else WScript.Echo "Datensatz wurde nicht gespeichert." End If ' Textdatei öffnen Dim oFSO Set oFSO = CreateObject("Scripting.FileSystemObject") oFSO.OpenTextFile(strAdressFilePath) 'Ausgabe der Textdatei WScript.Echo readfile(strAdressFilePath) 'Anzeigen lassen in HTML Datei? HTMLanzeigen = MsgBox ("Möchten Sie den aktuellen Stand der Adresskontakte in einer HTML Seite anzeigen lassen?" , vbYesNo) If HTMLanzeigen = vbYes Then Set Shell = CreateObject("WScript.Shell") Shell.Run (HTMLfilename) Else MsgBox ("HTML Datei wird nicht geöffnet.") End If '+++++++++++++++++++++++++++++++++++++++++++++++ 'Functions and Subs '+++++++++++++++++++++++++++++++++++++++++++++++ 'Name Sub GibName() Name = InputBox("Gib deinen Vornamen ein!", "Adressenverwaltung") Do If Len(name) < 2 Then WScript.Echo "Sie haben keinen Namen eingegeben!" GibName End If Loop While Len(name) < 2 End Sub 'Nachname Sub GibNachname() nachname = InputBox("Gib deinen Nachnamen ein!", "Adressenverwaltung") Do If Len(nachname) < 2 Then WScript.Echo "Sie haben Ihren Nachnamen nicht eingegeben!" GibNachname End If Loop While Len(nachname) < 2 End Sub 'Strasse Sub GibStrasse() strasse = InputBox("Bitte Straße und Hausnummer eingeben!", "Adressenverwaltung") Do If Len(strasse) < 3 Then WScript.Echo "Sie haben keine Straße eingegeben!" GibStrasse End If Loop While Len(strasse) < 3 End Sub 'Plz Sub GibPLZ() PLZ = InputBox("Bitte Postleitzahl eingeben!", "Adressenverwaltung") Do If Len(plz) < 5 Then WScript.Echo "Ihre Postleitzahl ist zu kurz!" GibPLZ Else If Len(plz) > 5 Then WScript.Echo "Ihre Postleitzahl ist zu lang!" GibPLZ 'wscript.quit Else 'WScript.Echo "Postleitzahl wurde akzeptiert!" 'weiter machen End If End If Loop While Len(Plz) <> 5 End Sub 'Ort Sub GibOrt() Ort = InputBox("Nun gib deinen Wohnort ein!", "Adressenverwaltung") Do If Len(ort) < 3 Then WScript.Echo "Sie haben keinen Ort eingegeben!" GibOrt End If Loop While Len(ort) < 3 End Sub 'Telefonnummer Sub GibTelefonnummer() Telefonnummer = InputBox("Zuletzt noch deine Telefonnummer eingeben!", "Adressenverwaltung") Do If Len(Telefonnummer) < 5 Then WScript.Echo "Sie haben keine gültige Telefonnummer (mit Vorwahl) eingegeben!" GibTelefonnummer End If Loop While Len(Telefonnummer) < 5 End Sub ' Text Datei mit Notepad ausgeben Sub OpenAdressFile Dim oShell Set oShell = CreateObject("WScript.Shell") oShell.Run ("Notepad.exe " & strAdressFilePath) End Sub Function readfile(filename) Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FileExists(filename) Then readfile = """" & filename & """ nicht gefunden." Exit Function End If Set textstream = fs.OpenTextFile(filename) readfile = textstream.ReadALL textstream.close End Function '+++++++++++++++++++++++++++++++++++++++++++++++ 'Textdatei mit den Daten aus der InputBox füllen '+++++++++++++++++++++++++++++++++++++++++++++++ Sub WriteInListe 'In Textdatei schreiben Set write = fso.OpenTextFile (strAdressFilePath, 8, True) strDatensatz = Name & ";" & Nachname & ";" & Strasse & ";" & plz & ";" & Ort & ";" & Telefonnummer & VbCrLf write.WriteLine(strDatensatz) write.close 'In HTML Datei schreiben Set write = fso.OpenTextFile (HTMLfilename, 8, True) 'HTML write.WriteLine("<html>") write.WriteLine("<head><body bgcolor='#FFDAB9'></head>") write.WriteLine("<title>Adressverwaltung</title>") 'Öffne Tabelle (zentriert) write.WriteLine("<CENTER><table width='900' border='1' bordercolor='#F4A460' bgcolor='#FFEFD5'>") 'Öffne Tabellenreihe write.WriteLine("<tr>") 'Write Name write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(Name) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Write Nachname write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(Nachname) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Write Straße und Hausnummer write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(strasse) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Write PLZ write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(plz) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Write Ort write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(Ort) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Write Telefonnummer write.WriteLine("<td width='150'>") write.WriteLine("<Center>") write.WriteLine("<font face='Verdana' color='black' size='2'>") write.WriteLine(Telefonnummer) write.WriteLine("</font>") write.WriteLine("</Center>") write.WriteLine("</td>") 'Schließe Tabellenreihe write.WriteLine("</tr>") 'Schließe Tabelle write.WriteLine("</table></CENTER><BR>") write.WriteLine("</html>") write.close 'Tabellendesign mit CSS erstellen Set write = fso.OpenTextFile (HTMLfilenameCSS, 8, True) write.WriteLine ("<html>") 'write.WriteLine ("<link rel='stylesheet' type='text/css' href='"cssFilename"'>") write.WriteLine ("<title>Adressverwaltung</title>") write.WriteLine ("<style type='text/css'>BODY { background-color: #FFDAB9; }</style>") write.WriteLine ("<CENTER><table style='width:900px; background-color:#FFEFD5; border-color:#F4A460; border-style:solid; border-width:thin;'>") write.WriteLine ("<tr>") 'Write Name write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:small; color:black;><Center>") write.WriteLine (Name) write.WriteLine ("</span></Center></td>") 'Write Nachname write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>") write.WriteLine (Nachname) write.WriteLine ("</span></Center></td>") 'Write Straße write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>") write.WriteLine (strasse) write.WriteLine ("</span></Center></td>") 'Write PLZ write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>") write.WriteLine (Plz) write.WriteLine ("</span></Center></td>") 'Write Ort write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>") write.WriteLine (Ort) write.WriteLine ("</span></Center></td>") 'Write Telefonnummer write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>") write.WriteLine (Telefonnummer) write.WriteLine ("</span></Center></td>") 'Schließen der geöffneten Tags write.WriteLine ("</tr></CENTER><BR></html>") write.Close 'In CSS Datei schreiben Set write = fso.OpenTextFile (cssFilename, 2, True) write.WriteLine (" BODY { background-color: #FFDAB9 } ") write.WriteLine (" #text { font-family:Verdana; color:black; font-size:small; } ") write.WriteLine (" #tabelle { background-color:#FFEFD5; width:900px; border-color:#F4A460; border-style:solid; border-width:thin; } ") write.WriteLine (" #tabellenfeld { width:150px; } ") write.Close End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 auf die gefahr hin dass ich der einzige bin, aber ich hab keine lust mir das ganze anzusehn... sag einfach was dein problem ist und liefere vielleicht ne zeile coding dazu... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Dezember 2005 Autor Teilen Geschrieben 9. Dezember 2005 Das Problem ist das wenn ich suchen will kann ich nach dem letzten Eintrag im Array nicht suchen! Außerdem wenn ich nach was anderem als Vorname suche kommt teilweise eine Fehlermeldung oder die Ausgabe wird verschoben dar gestellt. Ich hab keine Ahnung an welchem Bereich des Codes das Problem hängt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 und was passiert wenn du die countlines variable um eins erhöhst? :confused: würde ich versuchen, wenn dann ein fehler kommt weißt du dass es das nicht war Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Dezember 2005 Autor Teilen Geschrieben 9. Dezember 2005 Die wird doch schon um 1 erhöht: CountLines = CountLines + 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 Die wird doch schon um 1 erhöht: CountLines = CountLines + 1 'Suche in Array Function SucheInArray() Dim ix, iy For ix = 0 To 6 For iy = 0 To CountLines 'Bei Suche nach Vornamen: If strSuche = arrAdresse(ix, iy) Then MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' 'Suche nach Nachnamen ' Elseif strSuche = arrAdresse(ix+1, iy) Then ' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) ' [/PHP] kann sein dass die variable da zu klein ist und desshalb die letzte zeile nicht mitnimmt... darum bitte mal um noch eins erhöhen (vorher) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Dezember 2005 Autor Teilen Geschrieben 9. Dezember 2005 Kann dir leider grade gedanklich nicht so folgen Welche Variable meinst du?:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 Kann dir leider grade gedanklich nicht so folgen Welche Variable meinst du?:confused: For ix = 0 To 6 For iy = 0 To CountLines heißt dass er es so oft macht wie die liste lang ist (dynamisch) hat er beim zählen immer eins zu wenig kommt er nie zum letzten satz, zumindest les ich das so... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Dezember 2005 Autor Teilen Geschrieben 9. Dezember 2005 ja stimmt Nur was muss ich jetzt wo ändern? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 Nur was muss ich jetzt wo ändern? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 9. Januar 2006 Autor Teilen Geschrieben 9. Januar 2006 Ich kram dieses Thema wieder aus, weil ich wieder ein Problem mit der Suche habe, mal wieder Problem ist nur wie ich euch mein Problem erklären soll ohne gleich den gesamten Code einstellen zu müssen den dann verständlicher Weise sicher keiner lesen will Also auf jedenfall bekomme ich folgende Fehlermeldung: Laufzeitfehler in Microsoft VBScript: Index außerhalb des gültigen Bereichs: '[number: 0]' sobald ich in meinem Array was suchen will... Ich habe eine Textdatei mit Daten, aus den Daten wird ein Array erzeugt, in diesem dann gesucht werden kann... Suchbegriffseingabe: Sub Suchfunktion strSuche = InputBox ("Geben Sie bitte Ihren Suchbegriff ein!" , "Suchfunktion") End Sub Erzeugen des Array: Sub AddToArray(sLine) Dim arTemp 'Variable für Temporäres Array iArrayElements = iArrayElements + 1 'hochzählen um 1 'WScript.Echo "iArrayElements:" & iArrayElements & vbNewLine ReDim Preserve arrAdresse(6, iArrayElements) arTemp = Split(sLine, ";") 'WScript.Echo UBound(arTemp) arrAdresse(0,iArrayElements) = arTemp(0) arrAdresse(1,iArrayElements) = arTemp(1) arrAdresse(2,iArrayElements) = arTemp(2) arrAdresse(3,iArrayElements) = arTemp(3) arrAdresse(4,iArrayElements) = arTemp(4) arrAdresse(5,iArrayElements) = arTemp(5) Laden der Daten: Function ReadEntireFile(strAdressFilePath) Const ForReading = 1 Dim fso, theFile, retstring, i i = 0 Set fso = CreateObject("Scripting.FileSystemObject") Set theFile = fso.OpenTextFile(strAdressFilePath, ForReading, False) Do While theFile.AtEndOfStream <> True AddToArray(theFile.ReadLine) i = i + 1 CountLines = CountLines + 1 Loop theFile.Close 'ReadEntireFile = retstring '<-- Was bedeutet das?? End Function Und hier jetzt das suchen: Function SucheInArray() Dim ix, iy For ix = 0 To 6 For iy = 0 To CountLines If strSuche = arrAdresse(ix, iy) Then MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy) NochmalSuchen Else End If Next Next Dim i Dim arrTempAdresse() 'Temporäres Array um die Ergebnisse der Suche zu speichern Dim iArrayElem2 iArrayElem2 = 0 For i = 1 To UBound(arrAdresse, 2) 'von 1 bis zum höchsten Index-Wert If strSuche = arrAdresse(1,i) Then 'Wenn der Suchbegriff = dem Feld (1,i) im Datenarray ist,dann... iArrayElem2 = iArrayElem2 + 1 'iArrayElem2 um 1 erhöhen WScript.Echo "iArrayElements:" & iArrayElem2 & vbNewLine ReDim Preserve arrTempAdresse(6, iArrayElem2) 'Deklaration eines dynamischen Array arrTempAdresse(0, iArrayElem2) = arrAdresse(0,i) arrTempAdresse(1, iArrayElem2) = arrAdresse(1,i) arrTempAdresse(2, iArrayElem2) = arrAdresse(2,i) arrTempAdresse(3, iArrayElem2) = arrAdresse(3,i) arrTempAdresse(4, iArrayElem2) = arrAdresse(4,i) arrTempAdresse(5, iArrayElem2) = arrAdresse(5,i) arrTempAdresse(6, iArrayElem2) = arrAdresse(6,i) End If Next End Func Ich hoffe das jemand viel Zeit hat mir zu helfen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 10. Januar 2006 Autor Teilen Geschrieben 10. Januar 2006 Ich habe die erste Sub (Suchfunktion) jetzt mal auskommentiert, aber dennoch, sobald ich das Script ausführen will, kommt die Fehlermeldung. Kann mir jemand helfen? :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Smilla Geschrieben 10. Januar 2006 Autor Teilen Geschrieben 10. Januar 2006 *peinlich* ich habe die Sub "AddToArray" nirgends aufgerufen Habs jetzt endlich bemerkt, jetzt gibts nur einige andere Fehler noch aber da werd ich mich dann nochmal hier melden wenn ich Hilfe brauche! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.