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-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

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

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 996: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
 Tipp anzeigenDatum: 21.04.08 10:13

Hallo,

habe den Code wie im Tipp verwendet, bekomme aber in der Zeile:

SendMessage hWnd, EM_GETLINE, nLine, Buffer(0)

die Fehlermeldung: Typen unverträglich - Buffer ist dabei markiert..



Ich verwende VB6 mit neuestem ServicePack auf WinXp SP2


Gruß Phoenixx1976
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 21.04.08 10:18

Wie lautet Deine Deklaration von Buffer und von der SendMessage-API ?

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
Datum: 21.04.08 10:41

Der Code ist 1:1 aus dem Tipp übernommen, incl. API
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 21.04.08 10:43

Na dann sollte es aber funktionieren.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
Datum: 21.04.08 10:51

Leider nicht.
Es funktioniert alles, mit Ausnahme von EM_GETLINE
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 21.04.08 10:56

Bitte poste doch mal den Code Deiner Deklarationen von SendMessage und Buffer

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
Datum: 21.04.08 11:18

Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Const EM_GETLINE = &HC4
Private Const EM_GETSEL = &HB0
Private Const EM_LINEFROMCHAR = &HC9
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1



Private Function GetRowContent(hwnd As Long, _
Optional ByVal nLine As Long = 0) As String

Dim CursorPos As Long
Dim FirstChar As Long
Dim RowLength As Long
Dim Buffer() As Byte

' Falls keine Zeilennummer angegeben,
' Inhalt der aktuellen Zeile ermitteln
If nLine < 1 Then
CursorPos = SendMessage(hwnd, EM_GETSEL, 0, ByVal 0&) \ 65536
nLine = SendMessage(hwnd, EM_LINEFROMCHAR, CursorPos, ByVal 0&)
Else
nLine = nLine - 1
End If

' Zeilenlänge ermitteln
FirstChar = SendMessage(hwnd, EM_LINEINDEX, nLine, ByVal 0&)
RowLength = SendMessage(hwnd, EM_LINELENGTH, FirstChar, ByVal 0&)

' Puffer vorbereiten
ReDim Buffer(RowLength + 1)
Buffer(0) = RowLength + 1

' Zeileninhalt in Puffer auslesen
SendMessage hwnd, EM_GETLINE, nLine, Buffer(0)

' Inhalt als String zurückgeben
GetRowContent = Left$(StrConv(Buffer, vbUnicode), RowLength)
End Function



Aufgerufen wird das ganze per Clickevent der TextBox:



Private Sub rtfText_Click()
Dim sLine As String

sLine = GetRowContent(rtfText.hWnd)
WriteRichTextBoxText sLine, frmState.rtfText, RGB(0, 0, 0) ''vorläufige ausgabe
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 21.04.08 11:30

Sorry, aber der Code, den Du soeben gepostet hast, läuft 100%ig!

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
Datum: 21.04.08 11:54

Merkwürdig, ich bekomm da die o.g. Fehlermeldung..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beliebige Zeile einer (Rich-)TextBox auslesen 
Autor: Phoenixx1976
Datum: 21.04.08 12:21

Nachdem ich den Code gelöscht und vollständig neu eingebaut habe, läufts eigenartigerweise.
Mir ist unklar warum, da ich den Code per Copy and Paste übernommen hatte - wie jetzt auch.
Ich nehm daher alles zurück, entschuldige mich vielmals und behaupte nun das Gegenteil..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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