![]() |
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! |
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
|
Was hälst Du
Delphi-Quellcode:
davon? ;)
if Ord(Edit1.Text[1]) in [48..57] then // Zahlen im Editfeld?
{schreibe die Zahlen in die DB} |
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} |
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: |
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: |
Zitat:
Delphi-Quellcode:
damits noch kryptischer wird. Weil wie von Sharky vorgeschlagen die Chars zu vergleichen wäre ja viel zu übersichtlich. :roll:
Ord(Edit1.Text[1]) in [$30..$39]
Benutz die Hilfe such wie vorgeschlagen nach tryinttostr und dann benutz deinen Kopf. |
Re: Abfragen
Hier gibt es eine Numeric Edit Komponente
![]() oder:
Delphi-Quellcode:
das gibt es ja noch die Möglichkeit die Keys zu testen die gedrückt werden:
// 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...
Delphi-Quellcode:
//Edit: PS.: Dein Titel ist ein bissel dünn "Abfragen" ?!?
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin ... if Key in ['0'..'9', '.', ',' ] then ok else NichtOk; ... ... end; |
Re: Abfragen
Geht vielleicht ein einfaches TMaskEdit? Ich persönlich benutze die zwar nicht, aber für einen Anfänger doch eine praktikable Sache.
|
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:
3.)TryStrToInt(marabu)
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; 4.) Selbst ne Funktion schreiben.(wurde von mehreren vorgeschlagen) Das hat aber den Nachtteil, dass man so auch sowas berücksichtigen muss:
Code:
Is das ne Zahl, wenn ja, welche? :mrgreen:
,,99,,,,,,2....5,9.,5,.
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. |
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