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

Suche Visual-Basic Code
Stringverarbeitung 
Autor: reemmeel
Datum: 03.12.02 15:41

Hallo, liebe Forummitglieder...

Ich habe folgendes Problem, bei dem ich momentan nicht so recht weiterkomme:
Ich habe einen String "v", der ungefähr so aussieht:

"12/98-12/99 Firma xy, Mitarbeiter Kundenschulung 01/00 bis 03/01 Firma xz, Mitarbeiter sonstwas". Nun wird mit folgendem Code jeweils das Datum herausgefiltert und in eine HTML-Tabelle (linke Spalte) geschrieben. Nun das Problem: Es wird nur das Datum geschrieben, der Text zwischen Datum1 und Datum2 soll in die jeweilige rechte Tabellenspalte rein. Zweite Frage: Das "-" zwischen dem Datum wird erkannt, ein "bis" aber nicht. Wie kann ich das einbauen?

Do
                    i = i + 1
                    If i > Len(v) Then Exit Do
                    zasc = Asc(Mid(v, i, 1))
                        If zasc > 47 And zasc < 58 And start = 0 Then
                            start = i
                        End If
 
                        If start > 0 Then
                            If zasc = 32 Then
                                If i + 3 <= Len(v) Then
                                    If Mid(v, i, 2) = "-" Or Mid(v, i, 2) = "/" _
                                      Then
                                        If Asc(Mid(v, i + 3, 1)) > 47 And _
                                        Asc(Mid(v, i + 3, 1)) < 58 Then
                                            i = i + 3
                                            switch = True
                                        Else
                                            Ende = i - 1
                                        End If
                                    End If
 
                                    If i + 1 <= Len(v) Then
                                        If Asc(Mid(v, i + 1, 1)) > 47 And _
                                          Asc(Mid(v, i + 1, 1)) < 58 And Asc( _
                                          Mid(v, i - 2, 1)) > 47 And Asc(Mid( _
                                          v, i - 2, 1)) < 58 Then
                                            Ende = 0
                                            switch = True
                                        End If
                                        If Asc(Mid(v, i + 1, 1)) > 47 And _
                                          Asc(Mid(v, i + 1, 1)) < 58 And Asc( _
                                          Mid(v, i - 1, 1)) > 47 And Asc(Mid( _
                                          v, i - 1, 1)) < 58 Then
                                            Ende = i
                                        End If
                                    Else
                                        Ende = Len(v)
                                    End If
                                Else
                                    Ende = i - 1
                                End If
                                If switch = False Then
                                    Ende = i - 1
                                Else
                                    switch = False
                                End If
                            End If
 
                        If zasc = 45 Then
                            If Mid(v, i + 1, 1) <> " " Then
                                If Asc(Mid(v, i + 1, 1)) > 47 And Asc(Mid(v, _
                                  i + 1, 1)) < 58 Then
                                Else
                                    Ende = i - 1
                                End If
                            End If
                        End If
 
                        If zasc > 47 And zasc < 58 Then
                            If i = Len(v) Then
                                Ende = i
                            Else
                                Ende = 0
                            End If
                        End If
 
                        If Ende > 0 Then
                            datum = Mid(v, start, Ende - start + 1)
                            If InStr(datum, "-") Or InStr(datum, "/") Then
 
                               html = ToolBox.replace(html, "<!-- Projekte" & _
                                 "-->", "<tr><td class=nt WIDTH=35%" & _
                                 "VALIGN=TOP>" & datum & "</td><td" & _
                                 "class=norm WIDTH=65%" & _
                                 "VALIGN=TOP> </td></tr><!-- " & _
                                 rs!Uk_Name_Vorlage & " -->")
                            End If
                            ToolBox.writeFile target, html
                            v = Mid(v, 1, start - 1) & Mid(v, Ende + 1)
                            i = i - start - 1
 
                            start = 0
                            Ende = 0
 
                        End If
 
                End If
   Loop
Über einen Tip wäre ich sehr dankbar...
Christian
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stringverarbeitung214reemmeel03.12.02 15:41
Re: Stringverarbeitung476michi-bib09.12.02 13:33
Re: Stringverarbeitung78reemmeel10.12.02 10:43
Re: Stringverarbeitung386michi-bib10.12.02 11:29
Danke, danke!!!78reemmeel10.12.02 11:51

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