![]() |
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
|
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
|
Re: Leerzeichen in Edit1.Text verhindern
Was himitsu ist die Lösung :thumb:
|
Re: Leerzeichen in Edit1.Text verhindern
:mrgreen:
Zitat:
|
Re: Leerzeichen in Edit1.Text verhindern
Delphi-Quellcode:
Das muss aber so heißen:
TEdit(Sender).SelStart := i;
Delphi-Quellcode:
Der Cursor ist ja hinter dem bereits eingetippten Leerzeichen, wenn man dieses nun löscht, ist der Cursor 1 zu weit rechts :wink:
TEdit(Sender).SelStart := i - 1;
Zitat:
|
Re: Leerzeichen in Edit1.Text verhindern
der einzige fehler den ich in meinem Code finden konnte war der letzte Parameter von delete...s statt 1.
ansonsten wäre noch die geschichte mit dem cursor, wo man den erstmal sichert und dann ggf. anpasst.
Delphi-Quellcode:
HTH Frank
procedure TForm1.Edit1Change(Sender: TObject);
var s:string; p,cp:integer; begin s:=(sender as TEdit).text; cp:=edit1.SelStart; p:=pos(' ',s); while p>0 do begin delete(s,p,1); if cp<=p then dec(cp); p:=pos(' ',s); end; (sender as TEdit).text:=s; (sender as TEdit).SelStart:=cp; end; |
Re: Leerzeichen in Edit1.Text verhindern
Ich wollte auch nur die Großbuchstaben nehmen
Ich habe diesen Code :
Delphi-Quellcode:
Der Cursor blinkt immer in der 1. Position und wenn ich was eintippe dann kommt ganz vorne !!! :mrgreen:
Edit1.Text := AnsiUpperCase(Edit1.Text);
wo liegt das Problem ? |
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
|
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
du kannst kein Leerzeichen eingeben, wegen Edit1KeyPress also alte Pos = Neue und diese liegt vor dem eingefügtem Text Zitat:
(siehe SelStart) incl. Großschreibung:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = ' ' then Key := #0; Else Key = AnsiUpperCase(Key)[1]; end; procedure TForm1.Edit1Change(sender:TObject); var s, s2: String; i: Integer; begin s := TEdit(Sender).Text; s2 := AnsiUpperCase(s); if (pos(' ', s2) > 0) or (s <> s2) then begin i := TEdit(Sender).SelStart; TEdit(Sender).Text := AnsiUpperCase(StringReplace(s2, ' ', '', [rfReplaceAll])); TEdit(Sender).SelStart := i; end; end; |
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
ich hab meins nach dem auch nochmal geändert :
Delphi-Quellcode:
var
i: integer; tempstr: string; begin tempstr := ''; for i := 1 to Length(edit1.Text) do if edit1.Text[i] <> ' ' then tempstr := tempstr + edit1.Text[i]; edit1.Text := tempstr; edit1.SelStart := Length(edit1.Text); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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-2025 by Thomas Breitkreuz