AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Leerzeichen in Edit1.Text verhindern

Ein Thema von Delphiturbo · begonnen am 5. Mai 2008 · letzter Beitrag vom 5. Mai 2008
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:12
Zitat von Delphiturbo:
Zitat von lbccaleb:
oder eine nicht ganz so schöne methode:

das in onchange einfügen..
Es hat nicht funktioniert auch der Code von _frank_!!!
Ich habe diesen Code gehabt. Er war ein kurzer Code mit der Idee if ... ' ' then ... =''
also ich habs gerade so bei mir versucht und bei mir haut alles hinn, egal ob mit reinschreiben oder einfügen, er entfernt immer die ' ' aus dem edit!!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#12

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:13
Zitat von Phoenix:
WAS hat nicht funktioniert?
Ich konnte einen Satz mit mehreren Leerzeichen in Edit1.Text einfügen
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#13

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:16
Was himitsu ist die Lösung
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#14

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:18



Zitat von Delphiturbo:
Ich konnte einen Satz mit mehreren Leerzeichen in Edit1.Text einfügen
hattest du auch die Events deinem Edit hinzugefügt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:18
TEdit(Sender).SelStart := i; Das muss aber so heißen:TEdit(Sender).SelStart := i - 1; Der Cursor ist ja hinter dem bereits eingetippten Leerzeichen, wenn man dieses nun löscht, ist der Cursor 1 zu weit rechts



Zitat von himitsu:



Zitat von Delphiturbo:
Ich konnte einen Satz mit mehreren Leerzeichen in Edit1.Text einfügen
hattest du auch die Events deinem Edit hinzugefügt?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#16

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:25
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:
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;
HTH Frank
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#17

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:26
Ich wollte auch nur die Großbuchstaben nehmen
Ich habe diesen Code :
Edit1.Text := AnsiUpperCase(Edit1.Text); Der Cursor blinkt immer in der 1. Position und wenn ich was eintippe dann kommt ganz vorne !!!
wo liegt das Problem ?
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#18

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:28
Zitat von _frank_:
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.
aber der Cursor blinkt immer ganz vorne. d.h. wenn du eine Buchstabe eintippst dann kommt vorne !!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#19

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:34
Zitat von Fussball-Robby:
Der Cursor ist ja hinter dem bereits eingetippten Leerzeichen, wenn man dieses nun löscht, ist der Cursor 1 zu weit rechts
Falsch

du kannst kein Leerzeichen eingeben, wegen Edit1KeyPress

also alte Pos = Neue
und diese liegt vor dem eingefügtem Text


Zitat:
aber der Cursor blinkt immer ganz vorne. d.h. wenn du eine Buchstabe eintippst dann kommt vorne !!!
weil du den Text neu ins Edit schreibst und dabei die Cursorposition löschst
(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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Leerzeichen in Edit1.Text verhindern

  Alt 5. Mai 2008, 15:34
Zitat von Delphiturbo:
Zitat von _frank_:
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.
aber der Cursor blinkt immer ganz vorne. d.h. wenn du eine Buchstabe eintippst dann kommt vorne !!!

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;
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz