AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text aus RichEdit-Feld auslesen.......

Ein Thema von Akku · begonnen am 11. Feb 2006 · letzter Beitrag vom 11. Feb 2006
Antwort Antwort
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#1

Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 01:03
Servus,
... ich krieg hier noch die Krise...

ich versuch hier seid geraumer Zeit den Text aus einem RichEdit-Feld auslesen.
Das klingt einfach, aber dadurch, dass in RichEdit alles in Lines aufgeteilt ist, komm ich einfach nicht an Text im Gesamten dran.
Ich habe gelesen, dass das über MyRichEdit.Text funktionieren soll. Aber ich habe auch gelesen, dass in dieser Property genausogut nur die Caption ausgelesen werden kann. Und das ist genau das, was mir passiert.

Meine Codezeile sieht wie folgt aus:
MyRichEdit.Text[i] Das Problem ist aber, wie angesprochen, dass ich über die Property nur den Dateinamen der Datei bekomme, die in das RichEdit-Objekt geladen wurde.

Kann mir irgendjemand weiterhelfen?

Danke - Gruß Max
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 01:25
Moin Max,

mit der Zeile greifst Du auf das erste Zeichen des Inhaltes zu.
Lässt Du die [1] weg, erhältst Du den ganzen Inhalt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#3

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 11:12
das ist leider keine 1, sondern ein i, ich möchte nämlich auf das i-te Zeichen im Text zugreifen, ohne die dazugehörige Zeilennummer wissen zu müssen.
Außerdem hab ich ja gerade das Problem, dass die Rückgabe der Property Text, wenn ich im Debug-Modus den Wert abfrage, eben nicht der Textinhalt ist, sondern der Dateiname, sprich 'test.txt'. Wenn ich jetzt mit meinem Index i auf das 20. Zeichen zugreifen will, gibt's natürlich einen Fehler, weil der Dateiname keine 20 Zeichen enthält.

  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#4

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 11:46
Hi, also unabhängig davon das ich bei mir mit RichEdit.Text auf den Text des RichEdits zugreifen kann, probier es doch mal mit RichEdit.Lines.Text...

MfG Benedikt Loepp
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#5

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 16:51
also - schonmal herzlichen Dank für die Antwort!! - das bringt mich zumindest schon mal ein kleines Stück weiter.
Jetzt kann ich immerhin im Debug-Modus per Strg+F7 über MyRichEdit.Lines.Text des Text auslesen, der in meinem RichEdit-Feld drin steht.

Soweit so gut. Wenn ich jetzt aber per Index auf ein Element zugreifen möchte, beispielsweise
MyRichEdit.Lines.Text[5] bekomme ich wieder eine Access-Violation, obwohl
length(MyRichEdit.Lines.Text) als 983 angegeben wird, und das 5. Zeichen auch weitab jegweder Steuerzeichen, wie Zeilenumbruch oder so etwas ist.
Was mich noch mehr verwirrt: Die Property Text ist laut Hilfe vom Typ String. Jetzt habe ich mal per
Delphi-Quellcode:
var tmpString: String;
[...]
tmpString := MyRichEdit.Lines.Text;
versucht den Text umzukopieren - und was passiert ist, dass tmpString nach dem Kopiervorgang leer bleibt. !?


also ich versteh das nicht.

Jeder Ratschlag willkommen...

Gruß Max


P.S.: Ich bentze Delphi 5, wenn das vielleicht eine Hilfe ist.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 17:50
Moin Max,

also so richtig nachvollziehen kann ich das nicht
Wenn in dem RichEdit etwas drin steht, muss dass gehen.
Es gibt keinen vernünftigen Grund, warum es zu einem Problem kommen sollte.
Vielleicht kann ein grössere Codeabschnitt hier Klarheit bringen, aber anhand dessen, was Du bisher geschrieben hast, kann ich keinen Fehler erkennen.

Zum Thema umkopieren der Eigenschaft Text in einen String:
Wenn man mehrfach auf Text zugreifen müsste, ist das umkopieren sinnvoller, da Text, bei jedem Zugriff, aus den Zeilen zusammengesetzt wird, und so die Performance bei direktem Zugriff sehr schlecht ist. (gilt auch für das Schreiben in Text)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#7

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 22:54
Der Tipp mit dem Kopieren klingt schon mal interessant - danke!

Hier ist erstmal der Codeausschnitt, vielleicht hilft das weiter.
Ich habe hier eine DropDownlist und möchte einen darin selektierten Text in das RichEdit-Element einfügen. Dabei soll, falls das nochfolgende Wort im Text kein Sonderzeichen ist, dieses durch den Text Listeneintrag ersetzt werden.

Delphi-Quellcode:
procedure TMDIChildEditor.selectItemOfMemberList;
var
  pos, i: Integer;
  Text : String;
begin
  with RiEdEditor do
  begin
    if SelLength = 0 then
    begin
      pos := SelStart;
      i := 0;
      Text := Lines.Text;
      while IsCharAlphanumeric(Text[pos + i]) do i := i + 1;
      SelLength := i;
    end;
    SelText := lbMemberList.Items[lbMemberList.ItemIndex];
  end;

  hideMemberList;
end;
In der Zeile "Text := Lines.Text;" kann ich im Debugmodus aus Lines.Text den Text auslesen - Text bleibt leer.

Gruß Max - und danke für die Hilfe!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 23:44
Moin Max,

ich denke, Du solltest Dir mal Gedanken um die Benennung Deiner Bezeichner machen
Du hast eine Variable Text deklariert, und arbeitest anschliessend mit with ... do.
Innerhalb des with-do-Blocks sprichst Du jetzt Text an, hierbei wird aber nicht die Variable angesprochen, sondern die Eigenschaft Text des RichEdit.
Falls Du nicht gerade Warnungen abgeschaltet hast, müsstest Du die Warnung erhalten, dass Du eine Variable (in diesem Falle Text) deklariert hast, aber nicht benutzt.
Mit anderen Worten:
Die Variable Text bleibt leer, da Du die Eigenschaft Text des RichEdit mit sich selber füllst
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Akku

Registriert seit: 27. Jan 2006
29 Beiträge
 
#9

Re: Text aus RichEdit-Feld auslesen.......

  Alt 11. Feb 2006, 23:56
danke!!!!
ich versteh zwar nicht warum RiEdEditor.Text am Anfang nicht tat, aber jetzt funtzt's! - das war die Lösung! - klasse!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz