Español
Fuente/ Codesnippets

Richedit Signo auslesen en Stringvariable

 
- Página 1 -



RudiB.
¡Hola zusammen,

Yo hoffe lo kann me alguien helfen....
Yo möchte una Signo de una Rich-Editfenster auslesen y una Stringvariable übertragen. Marca/auswählen haut sí hin aber entonces ??
Es mein Lösungsansatz, funktioniert sólo no.
SendMessage(Rtf&,~EM_SETSEL,6,7)'--markiert el 7.te Signo en el Richedit-Texto
test$=SendMessage(Rtf&,~EM_GETSEL,0,0)'--hier se el Signo z.B el Signo "s" o. Chr$(115) ausgelesen voluntad, dieses es auch a Position 7 en el Texto
imprimir test$'--Edición es "458758"
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.11.2021  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »


RudiB.
¡Hola Georg,

Super vielen Dank...el Es el Solución...
Declarar x&,y&,y_neu&,testtext$,Richedit&,n$,Zona#,rtf#
Dim rtf#,84
Cls
Richedit&=Crear("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
usw. en el Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--Dieser Texto se gesucht voluntad(Nur para Ejemplo)
DIM Zona#,16
clear Zona#
x&=-1
y_neu&=-1

Mientras que 1

    Largo bereich#,0=x&+1
    Largo bereich#,4=-1
    Largo bereich#,8=Addr(n$)
    x&=SendMessage(Richedit&,$0438,2,bereich#)'--EM_FINDTEXT (2=Flagparameter para sólo todo Wörter suchen)
    Case x&=-1:BREAK
    y&=moeglichkeit_1_instr("_",GetText $(Richedit&),y_neu&)
    SendMessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor conjunto
    y_neu&=x&+Len(n$)

    Caso negativo y&=x&

        rtf_SetColor RGB(255,0,0)

    Endif

    SetFocus(Richedit&)
    'Sleep 100

EndWhile

waitinput
Disponer Zona#
end

Proc rtf_SetColor

    Parámetros a&
    Claro rtf#
    LONG rtf#,0=84
    LONG rtf#,4=$40000000
    LONG rtf#,20=a&
    sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT

ENDPROC

Proc moeglichkeit_1_instr

    Parámetros such$,texto$,pos&
    InStr(such$,texto$,pos&)

ENDPROC


Su erste Solución con "Instr" es...habs en el Bucle con instalado.
PERFEKT.......manchmal sieht uno el Wald antes lauter Bäumen no.

Großes Gracias de München
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
25.11.2021  
 




Georg
Teles
Bueno Abend,

el EM_GETSEL markiert el Texto sichtbar en el Editar, dazu muss al Editar zunchst fokusieren
CLS
var rtf& = Crear("RichEdit", %hWnd, "Das es una kleiner Test", 5, 5, 300, 300)
SetFocus(Rtf&)'sólo Fokus conjunto, bevor markiert se
SendMessage(Rtf&,$00B1,6,7)'--markiert el 7.te Signo en el Richedit-Texto
waitinput

Yo ni idea qué du genau antes hast, así sería Yo el lösen:
CLS
var rtf& = Crear("RichEdit", %hWnd, "Das es una kleiner Test", 5, 5, 300, 300)
var test$ = GetText $(rtf&)
imprimir Mid$(test$,23,1)'markiert el letzte S en el Texto
waitinput
FIN

oder umständlich:
CLS
declarar test#
dim test#,100
var rtf& = Crear("RichEdit", %hWnd, "Das es una kleiner Test", 5, 5, 300, 300)
SendMessage(Rtf&,$000D,100,Addr(test#))
imprimir Mid$(String$(test#,0),23,1)'markiert el letzte S en el Texto
DisPose test#
waitinput
FIN

Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

23.11.2021  
 




RudiB.
¡Hola Georg,
sólo veces Gracias para Su Antwort....
Nun a meiner Problematik, habe a una lauffähiges Ejemplo angehängt.
Yo möchte en un Programmlisting después de Variables suchen...
Nun kommt en diesem Listing el Variable "anzahl&" y "farb_anzahl&" antes, Yo búsqueda nun sólo después de "anzahl&" con el Suchoption 2 para sólo todo Wörter en FINDTEXT. Hier se aber ahora el "anzahl&" en el Variable "farb_anzahl&" con gefunden/markiert, sino que debe no así ser.
Daher möchte Yo una Prüfung des Zeichens antes Suchvariable durchführen.
Also: si Signo antes Suchvariable = _ (Unterstrich) entonces markiere no.
Como Tuve eben a ~EM_GETTEXT pensamiento, kriegs pero no hin...
Declarar x&,testtext$,Richedit&,n$,Zona#,rtf#
Dim rtf#,84
Cls
Richedit&=Crear("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
usw. en el Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--Dieser Texto se gesucht voluntad(Nur para Ejemplo)
DIM Zona#,16
clear Zona#
x&=-1

Mientras que 1

    Largo bereich#,0=x&+1
    Largo bereich#,4=-1
    Largo bereich#,8=Addr(n$)
    x&=SendMessage(Richedit&,$0438,2,bereich#)'--EM_FINDTEXT (2=Flagparameter para sólo todo Wörter suchen)
    Case x&=-1:BREAK
    SendMessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor conjunto
    rtf_SetColor RGB(255,0,0)
    SetFocus(Richedit&)
    'Sleep 100

EndWhile

SetFocus(Richedit&)
waitinput
Disponer Zona#
end

Proc rtf_SetColor

    Parámetros a&
    Claro rtf#
    LONG rtf#,0=84
    LONG rtf#,4=$40000000
    LONG rtf#,20=a&
    sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT

ENDPROC

 
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
24.11.2021  
 




Thomas
Freier
Posesiones veces en el Documentación el RTFHandling.pcu de Dieter Zornow gesehen, el auch con EM_FINDTEXT arbeitet, aber como gäbe una Einschränkung, dass sólo el ersten 64kb durchsucht voluntad.
Für mehr nimmt él el EM_FINDTEXTEX .
Wenn (2=Flagparameter para sólo todo Wörter suchen) stimmt, y Wortgebilde no ausschließt, sería Yo no sólo en x&=-1 aussteigen, pero auch en Leerzeichen, Punkt y Komma antes y después de el Suchtext prüfen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.11.2021  
 




RudiB.
Hola Tomás,

para una besagt el "X&=-1" sí , el el Dokument a para Ende durchsucht se, o. el Ende des Dokuments erreicht es.
Praktisch es el el Rückgabewert de SendMessage en
x&=SendMessage(Richedit&,$0438,2,bereich#

...y en allen otro Zeichencodes z.B Komma,Leerzeichen etc. se lo en efecto correcto erkannt, eben sólo beim Unterstrich no.
Das funktioniert auch en Texten größer como 64 KB.....

Daher búsqueda Yo sí después de el Möglichkeit el Signo antes el gefundenen Suchbegriff auszulesen.
Aber ~EM_GETSEL spuckt me sólo Pagar de .....möglicherweise Speicheradressen, doch como lese Yo de ??????
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
25.11.2021  
 




Georg
Teles
Bueno Abend,

Yo hätte como una Ansatz - para InStr y MemPos dürften no Signo una Problema ser oder kein Problema con allen Signo geben ... si du MemPos aún en el Bucle umsetzen kannst, kannst du auch no druckbare Signo suchen, como war Yo a faul una Proc para dich a escribir :/
Declarar x&,testtext$,Richedit&,n$,Zona#,rtf#
Dim rtf#,84
Cls
Richedit&=Crear("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
usw. en el Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--Dieser Texto se gesucht voluntad(Nur para Ejemplo)
DIM Zona#,16
clear Zona#
x&=-1

Mientras que 1

    Largo bereich#,0=x&+1
    Largo bereich#,4=-1
    Largo bereich#,8=Addr(n$)
    x&=SendMessage(Richedit&,$0438,2,bereich#)'--EM_FINDTEXT (2=Flagparameter para sólo todo Wörter suchen)
    Case x&=-1:BREAK
    SendMessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor conjunto
    rtf_SetColor RGB(255,0,0)
    SetFocus(Richedit&)
    'Sleep 100

EndWhile

' InStr Vorteil: lässt se una Bucle forma, d.h. Position,
' de el huier gesucht se, beginnt en -1 ... en gefundenem Ergebnis kann
' a gefudenen Position +1 dazugezählt y ser una neue Búsqueda comenzó voluntad, solange
' el Ergebnis no el vorherige Suchposition war
imprimir "1. Ergebnis 1. Función: "+Str$(moeglichkeit_1_instr("farb_",GetText $(Richedit&),-1))
' auch bien, problematisch Será mejor que te va con el Position, esta muss siempre -1 ser,
' como el MemPos sólo el ersten Fund ausgibt
' el puede ser vermeinden, si la Textvariable en de el Gefundenen Position + Longitud gekürzt se
' y de el Position -1 weitergesucht + el Longitud y el vorherige Position des abgeschnittenen Cuerdas hinzugezählt voluntad muss !
imprimir "1. Ergebnis 2. Función: "+Str$(moeglichkeit_2_mempos("farb_",GetText $(Richedit&),-1))
imprimir "-------------------------------------------------------------"
' InStr en Bucle
moeglichkeit_1_instr_schleife("farb_",GetText $(Richedit&),-1)
imprimir "-------------------------------------------------------------"
' hier hay nichts a sehen :/
moeglichkeit_2_mempos_schleife("farb_",GetText $(Richedit&),-1)
'SetFocus(Richedit&)
waitinput
Disponer Zona#
end

Proc rtf_SetColor

    Parámetros a&
    Claro rtf#
    LONG rtf#,0=84
    LONG rtf#,4=$40000000
    LONG rtf#,20=a&
    sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT

ENDPROC

Proc moeglichkeit_1_instr

    Parámetros such$,texto$,pos&
    InStr(such$,texto$,pos&)

ENDPROC

Proc moeglichkeit_2_mempos

    Parámetros such$,texto$,pos&
    declarar texto#, p&
    dim texto#, len(texto$)
    char texto#,0 = texto$
    p& = MemPos(texto#,pos&,such$)
    DisPose texto#
    Volver p&

ENDPROC

Proc moeglichkeit_1_instr_schleife

    Parámetros such$,texto$,pos&
    declarar ende%, laufvar&, var&, i%
    ende% = 0
    var& = -2
    laufvar& = -2
    i% = 0

    Sinestar encargado ende%

        var& = Str$(moeglichkeit_1_instr("farb_",GetText $(Richedit&),laufvar&))

        Caso negativo ((laufvar&+1) < var&)

            imprimir "#--- No más Treffer gefunden ---#"
            romper

        EndIf

        laufvar& = var&+1
        inc i%
        imprimir Str$(i%)+". gefundene Position Bucle: "+Str$(var&)

    EndWhile

ENDPROC

Proc moeglichkeit_2_mempos_schleife

    Parámetros such$,texto$,pos&
    imprimir "war a faul, una Proc a escribir, el Aufwand es a groß\nder Texto muss zugeschnitten voluntad a para vorherigen treffer + Longitud\ndes textes y beim nächsten Ergebniss muss esta vorherige Position + Longitud\nzur neuen gefundenen Position dazugerechnet voluntad :/"
    Volver

ENDPROC


Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

25.11.2021  
 




RudiB.
¡Hola Georg,

Super vielen Dank...el Es el Solución...
Declarar x&,y&,y_neu&,testtext$,Richedit&,n$,Zona#,rtf#
Dim rtf#,84
Cls
Richedit&=Crear("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
usw. en el Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--Dieser Texto se gesucht voluntad(Nur para Ejemplo)
DIM Zona#,16
clear Zona#
x&=-1
y_neu&=-1

Mientras que 1

    Largo bereich#,0=x&+1
    Largo bereich#,4=-1
    Largo bereich#,8=Addr(n$)
    x&=SendMessage(Richedit&,$0438,2,bereich#)'--EM_FINDTEXT (2=Flagparameter para sólo todo Wörter suchen)
    Case x&=-1:BREAK
    y&=moeglichkeit_1_instr("_",GetText $(Richedit&),y_neu&)
    SendMessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor conjunto
    y_neu&=x&+Len(n$)

    Caso negativo y&=x&

        rtf_SetColor RGB(255,0,0)

    Endif

    SetFocus(Richedit&)
    'Sleep 100

EndWhile

waitinput
Disponer Zona#
end

Proc rtf_SetColor

    Parámetros a&
    Claro rtf#
    LONG rtf#,0=84
    LONG rtf#,4=$40000000
    LONG rtf#,20=a&
    sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT

ENDPROC

Proc moeglichkeit_1_instr

    Parámetros such$,texto$,pos&
    InStr(such$,texto$,pos&)

ENDPROC


Su erste Solución con "Instr" es...habs en el Bucle con instalado.
PERFEKT.......manchmal sieht uno el Wald antes lauter Bäumen no.

Großes Gracias de München
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
25.11.2021  
 




Georg
Teles
Sí perfekt,

oh, Yo aber Mist Nuevo, habe überlesen, qué du konkret wolltest seh heute auch el Wald antes lauter Bäumen no - para Ziel ha lo aber geführt hehehehehe

Grüße de el Baden-Württembergischer / Bayrischer Grenze (Ulm)
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

25.11.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.492 Views

Untitledvor 0 min.
Rockford31.07.2024
Erhard Wirth14.06.2024
Sven Bader18.11.2023
Uwe Starke17.11.2023
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie