![]() |
Memo --> bestimmtes Wort löschen
Ich möchte gerne in einer If - Abfrage abfragen, ob ein bestimmtes Wort enthalten, wenn ja soll er dieses löschen.
Wie folgt wollte ich vorgehen, bis ich irgendwann stutzte und mir die Ideen ausgingen ;)
Delphi-Quellcode:
Noch etwas: Im Memotext stehen die als "Text" also zum Beispiel:
for i:=1 to length(memo1.text) do
begin if copy(memo1.Text,i,5) <> 'Hallo' then begin //Hier bin ich stehen geblieben ... Wie lösche ich nun das Wort? end; end; Hallo ... bla bla ... jkdfdjif ... Hallo ... blabla ... fneijf ... Bla Bla ... Dann soll das rauskommen und ins selbe Memo übertragen werde (also ersetzt werden ;)) ... bla bla ... jkdfdjif ... ... blabla ... fneijf ... Bla Bla ... Hoffentlich kann mir jemand helfen ;) Danke schon im Vorraus! |
Re: Memo --> bestimmtes Wort löschen
Probier's doch mal mit
Delphi-Quellcode:
:stupid:
delete
|
Re: Memo --> bestimmtes Wort löschen
hallo
mach halt das:
Delphi-Quellcode:
so wird jedes Wort "hallo" durch nix ersetzt.
Memo1.Text := StringReplace(Memo1.Text, 'hallo', '', [rfReplaceAll]);
|
Re: Memo --> bestimmtes Wort löschen
Danke ... Mit delete habe ich es auch schon versucht, aber hab ich net auf die Reihe bekommen :duck: dann nehme ich mal die Replacemethode
danke |
Re: Memo --> bestimmtes Wort löschen
ich hab mal ein wenig weiter gemacht, wenn du ne schleife verwenden willst, vielleicht hilft dir das:
Delphi-Quellcode:
uses
StrUtils; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Text := 'Hallo ... bla bla ... jkdfdjif ... Hallo ... blabla ... fneijf ... Bla Bla ...'; end; procedure TForm1.Button1Click(Sender: TObject); const Search_Text = 'Hallo'; var i: Integer; Position: Integer; S: String; begin Position := 1; S := Memo1.Text; for i := 1 to length(S) do begin Position := PosEx(Search_Text, S, Position); Delete(S, Position, length(Search_Text)); end; Memo1.Text := S; end; |
Re: Memo --> bestimmtes Wort löschen
|
Re: Memo --> bestimmtes Wort löschen
Zitat:
Du darfst eig. nur bis Length(Memo1.Text)-5 gehen, da du im Copy ja noch +5 machst :) Mal abgesehen davon, dass die Methode nicht sonderlich gut ist ;) (Wurde ja gesagt) air |
Re: Memo --> bestimmtes Wort löschen
@Airblader
Du weist nicht ganz was copy macht oder ? |
Re: Memo --> bestimmtes Wort löschen
Hallo Leute,
was soll denn nun gelöscht werden - ein Wort oder ein string? Wörter zeichnen sich gegenüber strings dadurch aus, dass bestimmte Bedingungen an das Zeichen davor und danach geknüpft sind. Eure Vorschläge zielen alle auf strings, eingangs wurde aber nach Wörtern gefragt... Grüße vom marabu |
Re: Memo --> bestimmtes Wort löschen
Also letztendlich habe ich mit dem Replace befehl html tags aus einem memo entfernt, in das ich die shoutbox eingelesen habe ... ich versuche das sozusaen nachzumachen mit der shoutbox ...
wie kann ich denn ein einzelnes wort fett schreiben?also mit der replace methode soll Hallo entfernt werden und ein fettes A geschreiben werden, als beispiel. geht das? |
Re: Memo --> bestimmtes Wort löschen
mmh
eigentlich dürft es so gehen:
Delphi-Quellcode:
um einen markierten Teil zu formatieren, gibts eigentlich noch SelAttributes, aber das gibts beim Memo nicht!
with Memo1 do
begin SelStart := Position; SelLength := length(Word); Memo1.SelText := Word; end; Scheint nicht zu gehen, einen markierten Teil zu formatieren |
Re: Memo --> bestimmtes Wort löschen
Helmi, du warst ganz nah dran - mit RichEdit anstelle von Memo geht es.
Grüße vom marabu |
Re: Memo --> bestimmtes Wort löschen
ja ich weiss,
ich stand mal vor einem ähnlichen problem - ich hatte aber immer schon ein RichEdit benutzt und mir darauf hin eine function programmiert die eben mit SelStart, SelText, SelAttributes etc arbeitet um ein Word zu suchen, es entweder gegen ein anderes auszutauschen oder es einzufärben @Chriss91: nimm anstatt dem Memo ein RichEdit (in der Palette: Win32) und dann schau dir mal SelText, SelStart, SelAttributes und SelLength an |
Re: Memo --> bestimmtes Wort löschen
Liste der Anhänge anzeigen (Anzahl: 1)
Danke! Noch eine andere Frage zum Thema formatieren im Memo! Im Anhang ein Progrmm, dass ganz simpel die Shoutbox ausliest ... Wie bekomme ich die hässlichen Einrückungen und Leerzeilen weg?
Danke! |
Re: Memo --> bestimmtes Wort löschen
das hab aber nix mehr mit dem eigentlichen Thread hier zu tun
ich würde da einen neuen Thread aufmachen und dann gleich mal noch nen QuellCode dazu tun |
Re: Memo --> bestimmtes Wort löschen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz