vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Code beschleunigen / Einlesen in Combobox 
Autor: withewolf
Datum: 13.04.11 13:08

Hallo Leute,

habe folgendes problem.

Lese ein Textfile aus und möchte die Daten (Zeile für Zeile) in die Combobox schreiben. Soweit funktioniert mein Code auch. Hierbei ist aber das Problem, wenn die Zeilen die auch schon gerne mal die 40000ender zeile knackt, einlesen möchte dauert das immer ca. 10 Min. Gibt es eine Möglichkeit diesen Ablauf zu beschleunigen?

Hier mal mein Code:


Imports System.IO
Imports System
Imports Microsoft.VisualBasic
 
Public Class Form1
    Dim sLines() As String
    Public Function ReadLine(ByVal sFile As String, _
  Optional ByVal nLine As Long = 1) As String
 
        Dim oFSO As Object
        Dim oFile As Object
 
        On Error GoTo ErrHandler
 
        oFSO = CreateObject("Scripting.FileSystemObject")
 
        If oFSO.FileExists(sFile) Then
            oFile = oFSO.OpenTextFile(sFile)
 
            sLines = Split(oFile.ReadAll, vbCrLf)
 
            oFile.Close()
 
            Select Case Math.Sign(nLine)
                Case 1
                    ReadLine = sLines(nLine - 1)
 
                Case -1
                    ReadLine = sLines(UBound(sLines) + nLine + 1)
            End Select
        End If
 
ErrHandler:
        oFile = Nothing
        oFSO = Nothing
    End Function
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        ProgressBar1.Value = 0
        Dim wert() As String
        Dim wert2 As Object
 
        ComboBox1.Items.Clear()
 
        For a = 1 To 40000
            ProgressBar1.Value = a
            wert = Split(ReadLine("C:\Test.txt", a), ";")
            wert2 = wert(1)
            wert = wert
            ComboBox1.Items.Add(wert2)
        Next a
 
    End Sub
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
 
        ProgressBar1.Value = 0
        Dim wert() As String
        Dim wert2 As Object
        Dim wert3 As Object
 
        ComboBox2.Items.Clear()
 
        For a = 1 To 40000
            ProgressBar1.Value = a
            wert = Split(ReadLine("C:\Test.txt", a), ";")
            wert2 = wert(1)
            If wert2 = ComboBox1.Text Then
                wert3 = wert(2)
                ComboBox2.Items.Add(wert3)
            End If
        Next a
 
    End Sub
Danke schon mal im Vorraus.
Grüße
withewolf

Beitrag wurde zuletzt am 13.04.11 um 13:10:30 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Code beschleunigen / Einlesen in Combobox1.178withewolf13.04.11 13:08
Re: Code beschleunigen / Einlesen in Combobox881ModeratorFZelle13.04.11 14:06
Re: Code beschleunigen / Einlesen in Combobox781withewolf13.04.11 14:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel