Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abfragen (https://www.delphipraxis.net/49741-abfragen.html)

Kompon Ente 15. Jul 2005 10:24

Den Wert, der im Editfeld steht umwandeln und überprüfen, welche Zahl es in der ASCII-Tabelle ist -> dementsprechend handeln!

cell, schau mal in die DH - dort findest Du alles über Chr und Ord!

cell 15. Jul 2005 10:26

Re: Abfragen
 
ich will nur schauen ob es 1,2,3,4,5,6,7,8,9,0 is und wenn ja dann soll er es in die datenbank schreiben, wenn nein dann soll er eine fehelermeldung heruasgeben

Kompon Ente 15. Jul 2005 10:39

Was hälst Du

Delphi-Quellcode:
if Ord(Edit1.Text[1]) in [48..57] then // Zahlen im Editfeld?
  {schreibe die Zahlen in die DB}
davon? ;)

Jasocul 15. Jul 2005 10:45

Re: Abfragen
 
Geht nicht.
Du musst Inhalt des Edit-Feldes vorher einer String-Variablen zuweisen, weil du aif die Text-Eigenschaft nicht generell wie auf ein String zugreifen kannst. Dies ist einer der Fälle.
Delphi-Quellcode:
var
  s : String;
...
s := Edit1.Text;
if Ord(s[1]) in [48..57] then // Zahlen im Editfeld?
  {schreibe die Zahlen in die DB}

Sharky 15. Jul 2005 10:46

Ich glaube ich gebe es auf.

Es wurden drei Vorschläge gemacht wie man das ganze richtig lösst. Aber anscheinend scheint cell sich für Lösungsvorschläge nicht zu interessieren. :gruebel:

Kompon Ente 15. Jul 2005 10:47

Lass ihn doch, vllt. kennt er sich noch nicht so gut aus. ;)

Wir haben alle mal klein angefangen.. :)

Vor 4 Monaten wusste ich nicht mal, was 'ne Prozedur ist und jetzt bin ich bald mit meinem Game fertig! :thumb:

Treffnix 15. Jul 2005 10:48

Zitat:

Zitat von Kompon Ente
Was hälst Du

Delphi-Quellcode:
if Ord(Edit1.Text[1]) in [48..57] then // Zahlen im Editfeld?
  {schreibe die Zahlen in die DB}
davon? ;)

Ja suuuuper Idee, oder du vergleichst es so
Delphi-Quellcode:
Ord(Edit1.Text[1]) in [$30..$39]
damits noch kryptischer wird. Weil wie von Sharky vorgeschlagen die Chars zu vergleichen wäre ja viel zu übersichtlich. :roll:

Benutz die Hilfe such wie vorgeschlagen nach tryinttostr und dann benutz deinen Kopf.

turboPASCAL 15. Jul 2005 11:25

Re: Abfragen
 
Hier gibt es eine Numeric Edit Komponente http://www.delphiforfun.org/...

oder:
Delphi-Quellcode:
// als Decimal-Separator wird nur "." akzeptiert
function TestOfNumeric(S: String) : Boolean;
var
  r: Real;
  c: Integer;
begin
  val(s, r, c);
  Result := Boolean(c = 0);
end;

// if not TestOfNumeric(Edit1.Text) then Error...
das gibt es ja noch die Möglichkeit die Keys zu testen die gedrückt werden:
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ...
  if Key in ['0'..'9', '.', ',' ] then ok else NichtOk; ...
  ...
end;
//Edit: PS.: Dein Titel ist ein bissel dünn "Abfragen" ?!?

Jasocul 15. Jul 2005 11:34

Re: Abfragen
 
Geht vielleicht ein einfaches TMaskEdit? Ich persönlich benutze die zwar nicht, aber für einen Anfänger doch eine praktikable Sache.

r2c2 15. Jul 2005 11:46

Re: Abfragen
 
Ich glaube wir sollten das mal zusammenfassen:

1.) n MaskEdit benutzen(Jasocul)

2.) nicht Zahl-Zeichen abfangen(turboPASCAL) Das würde ich dann aber noch etwas verbessern:
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ...
  if not (Key in ['0'..'9', '.', ',', #8 ]) then
  begin
    Beep;
    Key := #0;
  end;
  ...
end;
3.)TryStrToInt(marabu)

4.) Selbst ne Funktion schreiben.(wurde von mehreren vorgeschlagen)
Das hat aber den Nachtteil, dass man so auch sowas berücksichtigen muss:
Code:
,,99,,,,,,2....5,9.,5,.
Is das ne Zahl, wenn ja, welche? :mrgreen:

Ich hoffe ich hab niemanden vergessen. Möglichkeiten sollten das jetzt auch genug sein. Ich persönlich würde Version 2 oder 3 nehmen.

mfg

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Seite 2 von 3     12 3      

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