vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Allgemeine Diskussionen
Re: Code 2 
Autor: unbekannt
Datum: 21.06.03 17:19

Function GetStringFromIndex(ByVal nIndex As Long) As String
    Dim s As String
    If nIndex < 0 Then Exit Function
    s = Space(tmpBuffer)
    SendMessage tmphWnd, EM_GETLINE, nIndex, ByVal s
    GetStringFromIndex = Replace(Trim(s), vbCrLf + Chr$(0), "")
End Function
 
Public Property Get count() As Long
   count = SendMessage(tmphWnd, EM_GETLINECOUNT, 0, 0&)
End Property
 
Public Property Get CaseSensitive() As Boolean
    CaseSensitive = tmpCaseSens
End Property
 
Public Property Let CaseSensitive(ByVal vNewValue As Boolean)
    tmpCaseSens = vNewValue
End Property
 
Public Property Get Delimeter() As String
    Delimeter = tmpDelimeter
End Property
 
Public Property Let Delimeter(ByVal vNewValue As String)
    tmpDelimeter = vNewValue
End Property
 
Public Sub ReplaceStringByString(ByVal sSuch As String, sRepl As String, _
                                 Optional nSensitive As Byte = 0)
    Dim n As Long
    Dim mergeSens As Boolean
    Dim x As Long
    Dim y As Long
 
    mergeSens = tmpCaseSens
    If nSensitive = 1 Then tmpCaseSens = True
    n = GetIndexFromString(sSuch)
    x = SendMessage(tmphWnd, EM_LINEINDEX, n, 0&)
    y = SendMessage(tmphWnd, EM_LINELENGTH, x, 0&)
    SendMessage tmphWnd, EM_SETSEL, x, ByVal (x + y)
    SendMessage tmphWnd, EM_REPLACESEL, False, ByVal sRepl
    tmpCaseSens = mergeSens
End Sub
 
Public Sub ReplaceStringByIndex(ByVal nIndex As Long, sRepl As String)
    Dim x As Long, y As Long
 
    If nIndex > SendMessage(tmphWnd, EM_GETLINECOUNT, 0, 0&) Then Exit Sub
    If nIndex < 0 Then Exit Sub
    x = SendMessage(tmphWnd, EM_LINEINDEX, nIndex, 0&)
    y = SendMessage(tmphWnd, EM_LINELENGTH, x, 0&)
    SendMessage tmphWnd, EM_SETSEL, x, ByVal (x + y)
    SendMessage tmphWnd, EM_REPLACESEL, False, ByVal sRepl
End Sub
 
Public Function SetBookMark(ByVal nBook As Variant) As Variant
    Dim n As Long, x As Long, y As Long
 
    If Not IsNumeric(nBook) Then
       n = GetIndexFromString(nBook)
       n = SendMessage(tmphWnd, EM_LINEFROMCHAR, n, 0&)
       tmpBookMark = n
       x = SendMessage(tmphWnd, EM_LINEINDEX, n, 0&)
       y = SendMessage(tmphWnd, EM_LINELENGTH, x, 0&)
       SendMessage tmphWnd, EM_SETSEL, x, ByVal (x + y)
       SetBookMark = n
    Else
       x = SendMessage(tmphWnd, EM_LINEINDEX, nBook, 0&)
       y = SendMessage(tmphWnd, EM_LINELENGTH, x, 0&)
       SendMessage tmphWnd, EM_SETSEL, x, ByVal (x + y)
       SetBookMark = GetStringFromIndex(CLng(nBook))
       tmpBookMark = CLng(nBook)
    End If
End Function
 
Public Property Get GetBookMark() As Long
    GetBookMark = tmpBookMark
End Property
 
Private Function Find(ByVal sSuch As String, ByVal nPos As Long) As Long
   Dim Ft As FINDTEXTAPI
   Dim n As Long
 
   With Ft
     .lpstrText = sSuch
     .chrg.cpMin = nPos + 1
     .chrg.cpMax = Len(tmpText)
   End With
   n = SendMessage(tmphWnd, EM_FINDTEXTEX, 0, Ft)
   Find = n
End Function
 
Public Sub DeleteByString(ByVal sSuch As String)
   Dim n As Long
   n = GetIndexFromString(sSuch)
   n = SendMessage(tmphWnd, EM_LINEFROMCHAR, n, 0&)
   If n <> 0 Then
      ReplaceStringByIndex n, ""
   End If
End Sub
 
Public Sub DeleteByIndex(ByVal nIndex As Long)
   ReplaceStringByIndex nIndex, ""
End Sub
 
Public Sub SplitByString(ByVal sSuch As String, ByVal nPos As Long)
   Dim n As Long
   Dim s As String
   n = GetIndexFromString(sSuch)
   s = Left(tmpText, (n + nPos) - 1)
   s = s + vbCrLf + Mid(n + nPos)
   tmpText = s
   SetWindowText tmphWnd, tmpText
End Sub
 
Public Sub SplitByIndex(ByVal nIndex As Long, ByVal nPos As Long)
   Dim n As Long
   Dim s As String
   n = SendMessage(tmphWnd, EM_LINEINDEX, nIndex, 0&)
   s = Left(tmpText, (n + nPos) - 1)
   s = s + vbCrLf + Mid(tmpText, n + nPos)
   tmpText = s
   SetWindowText tmphWnd, tmpText
End Sub
 
Public Function GetArray() As Variant
   Dim s As String
   s = Space(tmpBuffer)
   GetWindowText tmphWnd, s, tmpBuffer
   s = Replace(Trim(s), vbCrLf, " ")
   GetArray = Split(s, " ")
End Function
 
'nMode =  0 Sortiert aufwärts
'nMode <> 0 Sortiert abwärts
Sub Sort(Optional nMode As Byte = 0)
   Dim vErg As Variant
   Dim x As Long, y As Long
   Dim a As String, b As String
 
   vErg = GetArray
   For x = 0 To UBound(vErg) - 1
      For y = x To UBound(vErg)
         vErg = GetArray
         a = vErg(x): b = vErg(y)
         If nMode = 0 Then
            If a > b Then
               ReplaceStringByIndex x, b
               ReplaceStringByIndex y, a
            End If
          Else
            If a < b Then
               ReplaceStringByIndex x, b
               ReplaceStringByIndex y, a
            End If
          End If
      Next y
   Next x
End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Lordchens TextMapp Class II762unbekannt21.06.03 17:16
Code 1546unbekannt21.06.03 17:18
Re: Code 2461unbekannt21.06.03 17:19
Re: Lordchens TextMapp Class II407Dietmar21.06.03 19:07
Re: Lordchens TextMapp Class II406unbekannt21.06.03 19:10
Re: Lordchens TextMapp Class II431Dietmar21.06.03 20:02
Re: Lordchens TextMapp Class II423unbekannt21.06.03 20:05
Done 460unbekannt21.06.03 20:28

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