vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Visual-Basic Einsteiger
Re: textdatei einlesen und dabei bei gleichen einträge nicht beachten 
Autor: spiderboy
Datum: 10.12.05 19:31

naja, das habe ich auch schon gewusst (dritte liste). habe außerdem später auch noch fest gestellt, das englische wörter auch doppelt vorkommen.

also habe ich den folgenden code für das Eintragen verwendet:
Function Einlesen(ByVal sFile As String)
Dim intFileNo As Integer
Dim strDeutsch As String
Dim strEnglisch As String
Dim lngPos As Long       ' das ist die Variable, die ich zum Speichern der 
' Position des "="-Zeichens verwende
Dim strInputLine As String
Dim strValueDeu As String
Dim strValueEng As String
strValueEng = ""
strValueDeu = ""
Form1.lDeutsch.Clear
Form1.lEnglisch.Clear
intFileNo = FreeFile
Open sFile For Input As intFileNo
While Not EOF(intFileNo)
  strDeutsch = ""
  strEnglisch = ""
  Line Input #intFileNo, strInputLine
  ShowProgress picProgress, Loc(intFileNo) * 128, 0, LOF(intFileNo), True
      DoEvents
lngPos = InStr(strInputLine, "=") ' alternativ denkbar wäre das Teilen des 
' Strings mit der Funktion split()
  If lngPos > 0 Then
    If lngPos > 1 Then strDeutsch = Left$(strInputLine, lngPos - 1)
    If lngPos < Len(strInputLine) Then strEnglisch = Mid$(strInputLine, lngPos _
      + 1)
    '  Jetzt kommt die Prüfung auf doppelte Eintragung in lDeutsch
    If (strValueDeu <> strDeutsch) And (strDeutsch <> "") Then
      Form1.lDeutsch.AddItem strDeutsch
      strValueDeu = strDeutsch
      lblDeutsch.Caption = "Lade: " & strDeutsch
    End If
    If (strValueEng <> strEnglisch) And (strEnglisch <> "") Then
    Form1.lEnglisch.AddItem strEnglisch
    strValueEng = strEnglisch
    lblEnglisch.Caption = "Lade: " & strEnglisch
    End If
    Form1.List1.AddItem strInputLine
  End If
Wend
Close intFileNo
 Einlesen = True
  Form1.Show
Unload Me
End Function
und den folgenden code für das suchen in der dritten liste:
'Für deutschen Begriff
Private Sub lEnglisch_dblClick()
On Error Resume Next
Dim i As Integer
    If lEnglisch.ListIndex >= 0 Then
        Form2.lblEng(1).Visible = True
        Form2.lblDeu(0).Visible = True
    With lEnglisch
        If .ListIndex > -1 Then
            Form2.txtIst.Text = .List(.ListIndex)
            Form2.txtSuch.Text = Trim(Left(List1.Text, InStr(1, List1.Text, _
              "=") - 1))
        End If
    End With
            l.Caption = "yes"
            Form2.cmdCopy.Caption = "Deutsches Wort kopieren"
            Form2.Show
 
    Else
    MsgBox "Kein Wort ausgewählt!", vbInformation + vbOKOnly, "Wort auswählen"
            l.Caption = ""
   End If
End Sub
und noch des:
' für englischen Begriff
Private Sub lDeutsch_dblClick()
On Error Resume Next
Dim i As Integer
Dim sSearchFor As String
    If lDeutsch.ListIndex >= 0 Then
            Form2.lblDeu(1).Visible = True
            Form2.lblEng(0).Visible = True
        With lDeutsch
            If .ListIndex > -1 Then
            Form2.txtIst.Text = .List(.ListIndex)
            sSearchFor = LCase(.List(.ListIndex)) & "*"
            For i = 0 To List1.ListCount
                If LCase(List1.List(i)) Like sSearchFor Then
                Form2.txtSuch.Text = Form2.txtSuch.Text & Mid(List1.List(i), _
                  InStr(List1.List(i), "=") + 1) & ", "
                End If
            Next i
            Form2.txtSuch.Text = Left(Form2.txtSuch.Text, Len( _
              Form2.txtSuch.Text) - 2)  'letztes Komma und Leerzeichen wieder 
            ' löschen
            End If
        End With
            l.Caption = "yes"
            Form2.cmdCopy.Caption = "Englisches Wort kopieren"
            Form2.Show
    Else
    MsgBox "Kein Wort ausgewählt!", vbInformation + vbOKOnly, "Wort auswählen"
    l.Caption = ""
   End If
End Sub
Geht ja leider nicht, aber auch nur wenn ich die richtige Wort.txt benutze (5MB) und mit der Wort_klein.txt (ca. 9 Zeilen) geht alles.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
textdatei einlesen und dabei bei gleichen einträge nicht bea...509spiderboy08.12.05 21:58
Re: textdatei einlesen und dabei bei gleichen einträge nicht...319HarryC08.12.05 23:14
Re: textdatei einlesen und dabei bei gleichen einträge nicht...298spiderboy09.12.05 13:33
Re: textdatei einlesen und dabei bei gleichen einträge nicht...296HarryC09.12.05 17:03
Re: textdatei einlesen und dabei bei gleichen einträge nicht...285spiderboy09.12.05 17:18
Re: textdatei einlesen und dabei bei gleichen einträge nicht...293HarryC09.12.05 22:58
Re: textdatei einlesen und dabei bei gleichen einträge nicht...291spiderboy09.12.05 23:29
Re: textdatei einlesen und dabei bei gleichen einträge nicht...293HarryC10.12.05 08:37
Re: textdatei einlesen und dabei bei gleichen einträge nicht...313spiderboy10.12.05 14:50
Re: textdatei einlesen und dabei bei gleichen einträge nicht...323HarryC10.12.05 15:08
Re: textdatei einlesen und dabei bei gleichen einträge nicht...300spiderboy10.12.05 19:31
Re: textdatei einlesen und dabei bei gleichen einträge nicht...329spiderboy10.12.05 19:50

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