Selektierten Text per Return löschen [gelöst]
Selektierten Text per Return löschen [gelöst]
Hallo,
wenn man in einem Memo-Feld einen Textabschnitt mit der Maus oder auch per Tastatur selektiert und anschließend die "Return"-Taste betätigt, dann wird der markierte Textabschnitt gelöscht und eine neue Zeile erzeugt.
Kann man dieses Löschen "per Return" verhindern?
Schöne Festtage!
Aliobaba
wenn man in einem Memo-Feld einen Textabschnitt mit der Maus oder auch per Tastatur selektiert und anschließend die "Return"-Taste betätigt, dann wird der markierte Textabschnitt gelöscht und eine neue Zeile erzeugt.
Kann man dieses Löschen "per Return" verhindern?
Schöne Festtage!
Aliobaba
Zuletzt geändert von Aliobaba am Sa 26. Dez 2015, 10:29, insgesamt 1-mal geändert.
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )
Re: Selektierten Text per Return löschen
Ich weiß zwar nicht warum, aber weil Weihnachten ist...
Man könnte es so machen:
Fröhliche Weihnachten allerseits.
Man könnte es so machen:
Code: Alles auswählen
uses LCLType;
....
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if (Key = VK_RETURN) and (Memo1.SelLength > 0) then
begin
Memo1.SelStart := Memo1.SelStart + Memo1.SelLength;
Application.QueueAsyncCall(@DE, 0);
Key := 0;
end;
end;
procedure TForm1.DE(Data: PtrInt);
begin
Memo1.SelText := LineEnding;
end;
Re: Selektierten Text per Return löschen
Das wünsche ich dir auch und allen anderen Forumsteilnehmern. Ein paar schöne und besinnliche Tage im Kreis eurer Lieben!theo hat geschrieben:Fröhliche Weihnachten allerseits.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Selektierten Text per Return löschen

Da hatte ich aber Glück, dass zufällig Weihnachten ist!!
Diese Problemlösung liegt ja schon deutlich über dem Beginn der "2. Lektion Lazarus" (mein Niveau

Danke, Theo!!! (wieder einmal)
Aliobaba
Weihnachten ist nun zwar schon halb vorbei; trotzdem bleibt mir die Frage:
Wozu ist es eigentlich gut, dass selektierte Textfragmente nach einem "Return" so einfach verschwinden?
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )
Re: Selektierten Text per Return löschen
Die verschwinden nach jedem Input, nicht nur nach "Return".Aliobaba hat geschrieben: Wozu ist es eigentlich gut, dass selektierte Textfragmente nach einem "Return" so einfach verschwinden?
Das ist bei Windows Notepad so, bei KDE KWrite und bei praktisch jedem Editor.
Was du verlangst entspricht nicht dem Standardverhalten von Text Editoren, deshalb finde ich das auch nicht unbedingt gut und deswegen die Bemerkung "weil Weihnachten ist..."

-
- Beiträge: 61
- Registriert: Mo 27. Aug 2012, 15:43
Re: Selektierten Text per Return löschen
Eine ziemlich unangenehme Angewohnheit...theo hat geschrieben:Die verschwinden nach jedem Input, nicht nur nach "Return".Aliobaba hat geschrieben: Wozu ist es eigentlich gut, dass selektierte Textfragmente nach einem "Return" so einfach verschwinden?
Soweit ich mich erinnere eingeführt mit SAA (https://de.wikipedia.org/wiki/Systems_A ... chitecture)
Also bei "meinen" Lazarus und Delphi-Editoren ist das z.B. nicht so - persistente Blöck FTW.Das ist bei Windows Notepad so, bei KDE KWrite und bei praktisch jedem Editor.
Das ist heutzutage richtig. Früher war eben doch (fast) alles besser...Was du verlangst entspricht nicht dem Standardverhalten von Text Editoren,
Mir persönlich ersparen die persistenten Blöcke jedenfalls (selbst in der defekten Implementation in Lazarus) täglich eine menge Arbeit.
**Obacht: Obiger Beitrag kann leichte Übertreibungen und Spuren von eigener Meinung enthalten.
Re: Selektierten Text per Return löschen
... das Abschalten dieser manchmal "überraschend auftretenden Löschfunktion"
ist nicht nur im Lazarus-Editor hilfreich sondern auch sonst.
Dank Theos Code funktioniert jetzt die Suche nach Textstellen und die Weitersuche nach weiteren Textstellen sehr elegant:
Im Beispiel: Einfach den gesuchten Text eingeben und ab dann mit "Return" "durchklicken".
Nochmal: Danke Theo!
Aliobaba
Beispiel:
Suchfunktion mit [Alt+B] aufrufen: http://www.heise.de/download/mymemorydb-1189626.html
[/size]

Dank Theos Code funktioniert jetzt die Suche nach Textstellen und die Weitersuche nach weiteren Textstellen sehr elegant:
Im Beispiel: Einfach den gesuchten Text eingeben und ab dann mit "Return" "durchklicken".
Nochmal: Danke Theo!
Aliobaba
Beispiel:
Suchfunktion mit [Alt+B] aufrufen: http://www.heise.de/download/mymemorydb-1189626.html
Code: Alles auswählen
procedure TForm1.DE(Data: PtrInt);
begin
Memo1.SelText := '' ; // statt "lineEnding" steht ein leerer String
end;
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )
Re: Selektierten Text per Return löschen [gelöst]
Ich versteh' nicht: Wenn ihr auf diese Art die Return-Taste abwürgt, kann doch immer noch der Fall eintreten, dass man den markierten Text durch Drücken einer anderen Taste löscht. Warum nehmt ihr in so einem Fall nicht die Undo-Funktion? Ist beim TMemo eingebaut und kann mit ein paar Zeilen Code an die Benutzeroberfläche weitergeschaltet werden.das Abschalten dieser manchmal "überraschend auftretenden Löschfunktion" ist nicht nur im Lazarus-Editor hilfreich sondern auch sonst.