![]() |
Leerzeichen in Edit1.Text verhindern
Hallo
wie kann ich Leerzeichen in Edit1.Text OnChange.Event verhindern ?
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin // habe ich einmal so gelöst // if ... = ' ' then ... :='' end; |
Re: Leerzeichen in Edit1.Text verhindern
Hi,
das geht sicher, doch ich würde dafür das OnKeyPress-Ereignis nutzen:
Delphi-Quellcode:
Grüße, Matze
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = ' ' then Key := #0; end; |
Re: Leerzeichen in Edit1.Text verhindern
Delphi-Quellcode:
Mfg
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = ' ' then Key := #0; end; Edit: da hatte wohl jemand die gleiche Idee :lol: |
Re: Leerzeichen in Edit1.Text verhindern
Und was wäre wenn der User den Inhalt nicht eintippt sondern einfügt ? :mrgreen:
was muss man dagegen in Onchange eingeben? |
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
Delphi-Quellcode:
HTH Frank
procedure TForm1.Edit1Change(sender:TObject);
var s:string; p:integer; begin s:=(sender as TEdit).text; p:=pos(' ',s); while p>0 do begin delete(s,p,s); p:=pos(' ',s); end; (sender as TEdit).text:=s; end; |
Re: Leerzeichen in Edit1.Text verhindern
Hallo, ist es wichtig, dass keine Leezeichen im Edit erscheinen oder dürfen bei einer späteren Verarbeitung des Edittextes keine Leerzeichen vorhanden sein?
Bei Letzterem könntest du die Leerzeichen per StringReplace herausfiltern. |
Re: Leerzeichen in Edit1.Text verhindern
oder eine nicht ganz so schöne methode:
Delphi-Quellcode:
das in onchange einfügen..
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; end; |
Re: Leerzeichen in Edit1.Text verhindern
Zitat:
Ich habe diesen Code gehabt. Er war ein kurzer Code mit der Idee if ... ' ' then ... ='' |
Re: Leerzeichen in Edit1.Text verhindern
WAS hat nicht funktioniert?
Und was heisst 'Er war klein !' ??? |
Re: Leerzeichen in Edit1.Text verhindern
besser währe wohl Beides
- erst garkein Leerzeichen beim Eingeben erlauben > muß man es auch nicht mehr unschön löschen - und den Cursor muß man ja auch nicht ständig verschieben :angel:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = ' ' then Key := #0; end; procedure TForm1.Edit1Change(sender:TObject); var s: String; i: Integer; begin s := TEdit(Sender).Text; if pos(' ', s) > 0 then begin i := TEdit(Sender).SelStart; TEdit(Sender).Text := StringReplace(S, ' ', '', [rfReplaceAll]); TEdit(Sender).SelStart := i; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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