Autor Beitrag
OliverN_26
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Do 09.12.10 16:29 
Hi Leute

Ich breche mir hier gerade die Zähne an was eigentlich total banalem aus.
Ich schreibe in einem RichEdit Feld und habe ich Zeichenanzahl auf 200 begrenzt.
Jetzt will ich dass bei Zeichen 201 das Letzte einfach nur gelöscht wird und der Cursor
natürlich automatisch wieder einen zurück springt.

ich habs mit folgendem probiert:
ausblenden Quelltext
1:
if Length(RichEdit1.Text) > 200 then					


ausblenden Quelltext
1:
2:
3:
SetLength(s,200);
oder
Delete(s,200,1);


Aber nix davon geht. Den Code habe ich im OnKeyUp oder OnKeyPress versucht.
Warum geht das nich? Oder übersehe ich was?

lg
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 09.12.10 16:34 
Hey,

prüf im OnKeyPress einfach ob die Länge größer als 200 ist. Wenn ja dann "lösch" den Tastendruck einfach:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure OnKeyPress(Sender: TObject; var Key: Char);
begin
  if Length(RichEdit1.Text) > 200 then
    Key := #0;
end;


MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Do 09.12.10 16:38 
hey danke .. genau das habe ich gesucht :-)
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 09.12.10 16:41 
Hey,

evtl musst du das ganze noch etwas anpassen un die Backspace-Taste und solche Funktionstasten wieder zulassen, damit der User den Text weiterhin noch bearbeiten kann, ohne dessen Länge zu ändern.

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Mo 13.12.10 23:30 
Nein. Das passt so, da, wenn der Text länger 200 Zeichen ist der letzte Tastendruck einfach nicht gewertet wird.
Da bei Backspace sind die Textlänge ja wieder um 1 verringert, geht das alles genau so wie ich es wollte :-)

Danke nochmal