AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Suche nach einem Zeichen in einem Edit
Thema durchsuchen
Ansicht
Themen-Optionen

Suche nach einem Zeichen in einem Edit

Ein Thema von Nikolas · begonnen am 22. Nov 2003 · letzter Beitrag vom 22. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:33
Ich will verhindern, dass in einem Edit mehr als ein komma eingegeben wird.
Deswegen versuche ich bei jedem Keypress das edit zu durchsuchen indem ich mir von jedem Zeichen den Ascii-Wert anschaue.

Delphi-Quellcode:
for i:= 0 to length(edi1.text) do
begin
      
if ord(edit1.Text[i]) = 44
        then
        Kommagefunden:=true;
end;
bei der if-Zeile bekomme ich aber einen EAccessViolation und ich komm nicht darauf warum.

Vielen Dank

THXbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:39
Such mal dort nach meinen 2 Beispielen, die machen so was:
Nur Zahlen und Punkte in InputBox
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:43
Hallo Toxman,

Code:
for i:= 1 to length(edi1.text) do
Du mußt von 1 weg zählen.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:45
Das ist nicht mein Problem. Ich will es im endeffekt so machen dass ich, wenn ich ein komma gefunden habe, in der

If not(key in [#8,#48..#57]) noch #44

hinzufügen will.

Mein Problem ist die EAccessviolation die ausgelöst wird.

Danke
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:51
Hallo
also ich weiß nicht, bei mir funktioniert es wie es soll, ohne Fehler!

Vielleicht kommt deine Fehlermeldung von wo anderst her?

p.s.
Zitat von OH:
Die Funktion Length gibt die Anzahl der Zeichen eines Strings oder der Elemente eines Array zurück.
Daher solltest Du von 1 weg starten.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:54
Hättest ja mal in meine Demo schauen können.
Dann währe das ja schon lange geklärt.

Das Teil beachtet sogar welches Zeichen im laufenden System als komma verwendet wird.

Delphi-Quellcode:
{© by Himitsu @ Delphi-PRAXiS}

Procedure TInputBoxNZForm.Edit1KeyPress(Sender: TObject; Var Key: Char);
  Begin
    If not (Key in [#08, #13, DecimalSeparator{,}, '0'..'9']) Then Key := #00;
    If (Key = DecimalSeparator{,}) and (Pos(DecimalSeparator{,}, Edit1.Text) > 0) Then Key := #00;
  End;
Die Suchfunktion dieser Seite ist übrigens sehr gut.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 22:55
Das war der Fehler. Mit i=0 hab ich versucht die 0te Stelle des edits zu lesen und das hat dann die Eaccesviolation ausgelöst.

THXbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 23:01
Der Link hat mir aber mein Problem nicht ganz erklärt, da meine Idee mit der For-Schleife nicht benutzt wird. Und die Suchfunktion ist dass, was ich vor jedem Post hier gut anschaue.

Tox
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 23:07
PS:
Delphi-Quellcode:
If Pos(',', Edit1.Text) > 0 Then KommaGefunden := True;

{ entspricht deinem }

For i := 1 to Length(Edi1.Text) do
  If Ord(Edit1.Text[i]) = 44 Then KommaGefunden := True;

For i := 1 to Length(Edi1.Text) do
  If Edit1.Text[i] = ',Then KommaGefunden := True;
Ist nur etwas schneller und einfacher.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Suche nach einem Zeichen in einem Edit

  Alt 22. Nov 2003, 23:15
Ich kannte bisher den pos(..) befehl noch nicht und deswegen hat mir auch diese antwort nicht viel gebracht. Da ich versuche etwas für die schule zu schreiben un da kann ich natürlich nur sachen benutzen, von denen ich weiss warum un diwe sie funktionieren. Und da hilft es mir nichts, wenn ich eine fremde Idee ( und ist sie noch so schön) per Copy&paste übernehme und sie dann benutze ohne zu wissen warum.

Aber Danke für die Antwort

THXbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:46 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