AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuweisen

Ein Thema von Rolf Rostig · begonnen am 27. Nov 2005 · letzter Beitrag vom 27. Nov 2005
Antwort Antwort
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#1

ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuweisen

  Alt 27. Nov 2005, 13:20
Hallo,

ich möchte zur Laufzeit der Komponente JvValidateEdit die Eigenschaft DisplayFormat zuweisen, so geht´s nicht:

Code:
JvValidateEdit1.DisplayFormat := 'dfCurrency';

Wer hat für mich die Lösung?
Gruss
Rolf
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 13:35
Lass die Apostrophe weg, Rolf.

Grüße vom marabu
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#3

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 15:29
Danke, das war ja einfach.

Aber ich stehe immer noch auf dem Schlauch.
Den Wert für DisplayFormat hole ich aus einer DB.

Delphi-Quellcode:
with myQuery do
...
for i := 1 to 25 do
 TJvValidateEdit(myForm1.FindComponent('JvValidateEdit' + IntToStr(i))).DisplayFormat:= TJvValidateEditDisplayFormat(Fields[i]);
...
Es gibt keine Fehlermeldungen.
Aber es funktioniert nicht. Ich kann während der Laufzeit auch keine Daten in die Edits eingeben.
Gruss
Rolf
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 16:30
Diesmal hast du etwas weg gelassen und ich habe es hinzugefügt:

 ....DisplayFormat := TJvValidateEditDisplayFormat(Fields[i].AsInteger); marabu
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#5

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 16:56
Das geht leider auch nicht. In meinem DB-Textfeld steht ja z.B. dfCurrency.
Also bekomme ich die Fehlermeldung: dfCurrency ist kein gültiger Integerwert.
Gruss
Rolf
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 19:13
Hallo Rolf,

hast du denn den Namen der Konstante in der Datenbank verewigt? Das ist sehr ungewöhnlich. Normalerweise speichert man Zahlenwerte, die sich dann viel leichter handhaben lassen. Wenn du das ändern kannst, dann solltest du das tun. Wenn nicht, dann musst du jetzt aus dem String 'dfCurrency' wieder einen passenden Zahlenwert erzeugen:

Delphi-Quellcode:
{
type
  TJvValidateEditDisplayFormat = (dfAlphabetic, dfAlphaNumeric, dfBinary,
    dfCheckChars, dfCurrency, dfCustom, dfFloat, dfHex, dfInteger,
    dfNonCheckChars, dfNone, dfOctal, dfPercent, dfScientific, dfYear);
}


uses
  JvValidateEdit;

function StrToDisplayFormat(s: string): TJvValidateEditDisplayFormat;
begin
  s := Lowercase(s);
  if s = 'dfalphabeticthen Result := dfAlphabetic else
  // ... fill in the blanks
  if s = 'dfcurrencythen Result := dfCurrency else
  // ... else
  Result := dfYear;
end;
marabu
  Mit Zitat antworten Zitat
Rolf Rostig

Registriert seit: 5. Mär 2003
Ort: Stade
117 Beiträge
 
Delphi 7 Professional
 
#7

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 20:13
Hallo marabu,

vielen Dank für deine Hilfe.

Mir war gar nicht klar, das hinter dfCurrency ein Integerwert steckt.
Ich stelle es jetzt in der DB um, das ist einfacher.
Gruss
Rolf
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: ValidateEdit zur Laufzeit Eigenschaft DisplayFormat zuwe

  Alt 27. Nov 2005, 21:02
Zitat von Rolf Rostig:
... Mir war gar nicht klar, das hinter dfCurrency ein Integerwert steckt.
Hai Rolf,

am einfachsten kann man das erkennen wenn man einfach bei getrückter Strg-Taste mit der Maus auf den Wert geht, die rechte Maustaste drückt und dann "Deklaration suchen" auswählt.

In diesem Fall hättest Du dann gesagt das hinter TJvValidateEditDisplayFormat ein Aufzählungstyp steckt. Alles was dort dann deklariert ist wird von Delphi einfach mit 0 beginnend gezählt (Über die Funktion Delphi-Referenz durchsuchenOrd bekommt man die "Position" in dem Aufzählungstyp.

Delphi-Quellcode:
type
  mydemoTyp = (blubb,meow,delphipraxis);

procedure TDemoForm.btn_DemoClick(Sender: TObject);
var
  foo : myDemoTyp;
begin
  foo := blubb;
  ShowMessageFmt('blubb ist Eintrag Nummer %d',[Ord(foo)]);
  foo := delphipraxis;
  ShowMessageFmt('delphipraxis ist Eintrag Nummer %d',[Ord(foo)]);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:30 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