Zeichenabfrage

Kosh

Erfahrenes Mitglied
So dies ist jetzt meine letzte Frage an euch
Ich muss in meinem Programm noch eine Abfrage nach den Zeichen
ä ö ü ß , ! ? machen finde aber keine Funktion dafür.
Ich bedank mich schon mal im Vorraus für die Hilfe und Geduld mit mir!
 

W-PC

Grünschnabel
Ich weiß zwar nicht ob es das ist was du willst aber ich versuche es mal.
Ich hab hier so was ähnliches.

Ich suche die ' raus und ersetzte sie durch " wenn du die sonderzeichen raus haben willst oder sie ändern willst kannste das so machen.

Public Function HochKomaProblem(Text As String)

Dim i As Long

If Len(Text) > 0 Then
For i = 1 To Len(Text)
If Mid$(Text, i, 1) = "'" Then
Mid$(Text, i, 1) = """"
End If
Next i
End If
HochKomaProblem = Text
End Function
 

Kosh

Erfahrenes Mitglied
hm nicht so richtig, ich hab ein Programm geschrieben was zu lange Datei aufspürt, weil diese auf dem Mac nicht lesbar sind. Jetzt will ich aber zusätzlich noch eine Checkbox anbringen, wodurch Sonderzeichen bei der Suche berücksichtigt werden und diese dateien(die sonderzeichen enthalten) in einer Textbox aufgelistet werden.
 
C

CodeXP

Dateiinhalt Prüfen

Ich weis zwar nicht denau worum es hier geht aber ich erklär mal wie man in Dateien etwas sucht:

Also dies sucht nach "ä" oder "ö" oder "ü" in einer Datei:
(wenn er eins gefunden hat geht er aus der Schleife raus und
übergibt den wert der Stelle in Datei wo er das gefunden hat)
Code:
Private Sub Form_Load()
  Dim Gefunden As Integer
  'hier ein Aufruf der function:
  Gefunden = SearchChrInFile("\Autoexec.bat", "öäü$")
  If Gefunden Then
    Debug.Print "Zeichen ö,ä,ü sind in der Autoexec.bat enthalten!"
  End If
End Sub



'hier die Function selbst:
'gibt position des ersten Gefundenen Zeichens zurück!
'oder 0 wenn nichts gefunden
Function SearchChrInFile(ByVal File As String, ByVal What As String) As Integer
  Dim WhatC As String, i As Integer, j As Integer
  Dim FNr As Integer, Buffer As String
  
  FNr = FreeFile
  
  If Trim(File) = "" Or Trim(What) = "" Then Exit Function
  Open File For Binary Access Read As FNr
  
  Buffer = String(1052676, "#")
  Do Until EOF(FNr)
    If Len(Buffer) > LOF(FNr) - Loc(FNr) Then
      Buffer = String(LOF(FNr) - Loc(FNr), "#")
    End If
    Get #FNr, , Buffer
    For i = 1 To Len(What)
      WhatC = Mid(What, i, 1)
      j = InStr(1, Buffer, WhatC, vbTextCompare)
      If j Then
        SearchChrInFile = j + Loc(FNr)
        Close FNr
        Exit Function
      End If
    Next i
    If LOF(FNr) = Loc(FNr) Then Exit Function
  Loop
    
  Close FNr

End Function