/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Indtastningskontrol
Fra : Henning Madsen


Dato : 05-11-09 13:12


Følgende krav til en indtastningskontrol ønskes:
1 Max indtastning 99999,99
2 der må ikke kunne tastes andet en tal og eet komma.
3 max 2 cifre efter kommaet
Disse krav er opfyldt.

Men hvordan laves det så man kun kan indtaste eet komma ?
Tanken var at ændre X verdien på en passende måde.
Men Hvordan ??

Er der en der kan hjælpe mig vel det være rart.
På forhånd tak
mvh Henning.
// #8 = BK og #44 = Komma Edit1's MaxLength er 5.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Var
X : Char;
begin
X := #44;
If not (Key in ['0'..'9',#8,X]) Then Key := #0;
If Key In [#44] Then Edit1.MaxLength := Length(Edit1.Text) + 3;
end;



 
 
Uffe Kousgaard (05-11-2009)
Kommentar
Fra : Uffe Kousgaard


Dato : 05-11-09 14:57

Kig på TMaskEdit.

"Henning Madsen" <hkjeldm@mail.dk> wrote in message
news:4af2bfc4$0$36561$edfadb0f@dtext01.news.tele.dk...
>
> Følgende krav til en indtastningskontrol ønskes:
> 1 Max indtastning 99999,99
> 2 der må ikke kunne tastes andet en tal og eet komma.
> 3 max 2 cifre efter kommaet



Henning Madsen (08-11-2009)
Kommentar
Fra : Henning Madsen


Dato : 08-11-09 14:53


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:4af2d9c6$0$275$14726298@news.sunsite.dk...
> Kig på TMaskEdit.
>
> "Henning Madsen" <hkjeldm@mail.dk> wrote in message
> news:4af2bfc4$0$36561$edfadb0f@dtext01.news.tele.dk...
>>
>> Følgende krav til en indtastningskontrol ønskes:
>> 1 Max indtastning 99999,99
>> 2 der må ikke kunne tastes andet en tal og eet komma.
>> 3 max 2 cifre efter kommaet
>
>
Du skal selvfølgelig have tak for svaret Uffe, men jeg har faktisk brug for
en Edit1.
Har rodet lidt videre og faktisk virker alt bortset fra at der kan tastes
flere kommaer,
Der må være en måde at ændre X på når der er indtastet et komma men
hvordan???

var
Form1: TForm1;
X : Char;
implementation

{$R *.dfm}
//------------------------------------------------------------------------------
// Edit1's MaxLength er sat til 5
// #8 = BK og #44 = Komma.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not(Key in ['0'..'9',#8,X]) Then Key := #0;
If Key in [#44] Then Edit2.Text := '1';
If Key In [#44] Then Edit1.MaxLength := Length(Edit1.Text) + 3;
If (Key In [#44]) And (Edit2.Text = '1') Then X := #0 Else X := #44;
end;
//------------------------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
X := #44;
end;
//------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := Edit1.Text;
Edit1.Text := '';
Edit1.SetFocus;
end;
//------------------------------------------------------------------------------
end.
Er spændt på en løsning.
m.v.h. Henning



Michael Haase (08-11-2009)
Kommentar
Fra : Michael Haase


Dato : 08-11-09 17:25

Henning Madsen skrev dette den 08-11-2009 14:52:
..
>>> Følgende krav til en indtastningskontrol ønskes:
>>> 1 Max indtastning 99999,99
>>> 2 der må ikke kunne tastes andet en tal og eet komma.
>>> 3 max 2 cifre efter kommaet


> Der må være en måde at ændre X på når der er indtastet et komma men
> hvordan???
>

Følgende tillader tab, Backspace, tal og Én og kun en decimal-separator
(',' eller '.' alt efter hvad computeren er sat op til)


procedure T_frmMaintenance.edpriceKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#8, #9, '0'..'9', decimalseparator]) or ((key =
decimalseparator) and (hasdecimalseparator(edprice.Text))) then
key := #0;
end;

function HasDecimalSeparator(value : string) : boolean;
begin
result := (pos(decimalseparator, value) > 0);
end;

--
Michael Haase

Henning Madsen (08-11-2009)
Kommentar
Fra : Henning Madsen


Dato : 08-11-09 20:04


"Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
news:4af6f0ea$0$1706$9f626990@news.telelet.dk...
> Henning Madsen skrev dette den 08-11-2009 14:52:
> .
>>>> Følgende krav til en indtastningskontrol ønskes:
>>>> 1 Max indtastning 99999,99
>>>> 2 der må ikke kunne tastes andet en tal og eet komma.
>>>> 3 max 2 cifre efter kommaet
>
>
>> Der må være en måde at ændre X på når der er indtastet et komma men
>> hvordan???
>>
>
> Følgende tillader tab, Backspace, tal og Én og kun en decimal-separator
> (',' eller '.' alt efter hvad computeren er sat op til)
>
>
> procedure T_frmMaintenance.edpriceKeyPress(Sender: TObject; var Key:
> Char);
> begin
> if not(key in [#8, #9, '0'..'9', decimalseparator]) or ((key =
> decimalseparator) and (hasdecimalseparator(edprice.Text))) then
> key := #0;
> end;
>
> function HasDecimalSeparator(value : string) : boolean;
> begin
> result := (pos(decimalseparator, value) > 0);
> end;
>
> --
> Michael Haase
Mange tak for svaret Michael det er tilsyneladende lige det jeg mangler.
Men ved kompiling får jeg følgende fejl.
Jeg burde måske fotælle at det er Delphi 6 og XP jeg bruger.
Må indrømme programmet kan jeg ikke tyde, men det er jo min fejl.
Hvad gør at det er i Edit1 Komponenten der skal tastes i ?

[Error] Unit1.pas(25): Unknown directive: 'edpriceKeyPress'

[Error] Unit1.pas(25): Declaration expected but '(' found

[Error] Unit1.pas(25): ';' expected but ')' found

[Error] Unit1.pas(28): Undeclared identifier: 'hasdecimalseparator'

[Error] Unit1.pas(28): Undeclared identifier: 'edprice'

[Error] Unit1.pas(33): Undeclared identifier: 'result'

[Error] Unit1.pas(33): Undeclared identifier: 'value'

[Error] Unit1.pas(36): ';' expected but '.' found

[Error] Unit1.pas(38): Declaration expected but end of file found

[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Da linienumrene henviser til programmet kommer detlige igen.

//------------------------------------------------------------------------------
PROCEDURE T_frmMaintenance;edpriceKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
decimalseparator) and (hasdecimalseparator(edprice.Text))) then key := #0;
end;
//------------------------------------------------------------------------------
Function HasDecimalSeparator(value : string):boolean;
begin
result := (pos(decimalseparator, value)>0);
end;
//------------------------------------------------------------------------------
end.



Håber du vel forklare hvad der er galt.

m.v.h. Henning







Michael Haase (08-11-2009)
Kommentar
Fra : Michael Haase


Dato : 08-11-09 20:50

Henning Madsen skrev dette den 08-11-2009 20:03:
> "Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
> news:4af6f0ea$0$1706$9f626990@news.telelet.dk...
>> Henning Madsen skrev dette den 08-11-2009 14:52:
>> .
>>>>> Følgende krav til en indtastningskontrol ønskes:
>>>>> 1 Max indtastning 99999,99
>>>>> 2 der må ikke kunne tastes andet en tal og eet komma.
>>>>> 3 max 2 cifre efter kommaet
>>
>>> Der må være en måde at ændre X på når der er indtastet et komma men
>>> hvordan???
>>>
>> Følgende tillader tab, Backspace, tal og Én og kun en decimal-separator
>> (',' eller '.' alt efter hvad computeren er sat op til)
>>
>>
>> procedure T_frmMaintenance.edpriceKeyPress(Sender: TObject; var Key:
>> Char);
>> begin
>> if not(key in [#8, #9, '0'..'9', decimalseparator]) or ((key =
>> decimalseparator) and (hasdecimalseparator(edprice.Text))) then
>> key := #0;
>> end;
>>
>> function HasDecimalSeparator(value : string) : boolean;
>> begin
>> result := (pos(decimalseparator, value) > 0);
>> end;
>>
>> --
>> Michael Haase
> Mange tak for svaret Michael det er tilsyneladende lige det jeg mangler.
> Men ved kompiling får jeg følgende fejl.
> Jeg burde måske fotælle at det er Delphi 6 og XP jeg bruger.
> Må indrømme programmet kan jeg ikke tyde, men det er jo min fejl.
> Hvad gør at det er i Edit1 Komponenten der skal tastes i ?
>
> [Error] Unit1.pas(25): Unknown directive: 'edpriceKeyPress'
>
> [Error] Unit1.pas(25): Declaration expected but '(' found
>
> [Error] Unit1.pas(25): ';' expected but ')' found
>
> [Error] Unit1.pas(28): Undeclared identifier: 'hasdecimalseparator'
>
> [Error] Unit1.pas(28): Undeclared identifier: 'edprice'
>
> [Error] Unit1.pas(33): Undeclared identifier: 'result'
>
> [Error] Unit1.pas(33): Undeclared identifier: 'value'
>
> [Error] Unit1.pas(36): ';' expected but '.' found
>
> [Error] Unit1.pas(38): Declaration expected but end of file found
>
> [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
>
> Da linienumrene henviser til programmet kommer detlige igen.
>
> //------------------------------------------------------------------------------
> PROCEDURE T_frmMaintenance;edpriceKeyPress(Sender: TObject; var Key: Char);
> begin
> if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
> decimalseparator) and (hasdecimalseparator(edprice.Text))) then key := #0;
> end;
> //------------------------------------------------------------------------------
> Function HasDecimalSeparator(value : string):boolean;
> begin
> result := (pos(decimalseparator, value)>0);
> end;
> //------------------------------------------------------------------------------
> end.
>
>
>
> Håber du vel forklare hvad der er galt.
>

Problemet er at jeg har klippet fra et af mine egne projekter, og der
hedder tingene ikke det samme som hos dig.

I din TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
skal du tilføje følgende som det første:


if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
decimalseparator) and (hasdecimalseparator(edit1.Text))) then key :=
#0;

og du skal huske enten at placere funktionen HasDecimalSeparator før de
procedurer/funktioner, som benytter den. Eller alternativt deklarere den
i interface sektionen. Hvis du vælger dette, skal den hedde:

function TForm1.HasDecimalSeparator(value : string) : boolean;
begin
result := (pos(decimalseparator, value)>0);
end;

--
Michael Haase

Henning Madsen (08-11-2009)
Kommentar
Fra : Henning Madsen


Dato : 08-11-09 22:18


"Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
news:4af72107$0$1689$9f626990@news.telelet.dk...
> Henning Madsen skrev dette den 08-11-2009 20:03:
>> "Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
>> news:4af6f0ea$0$1706$9f626990@news.telelet.dk...
>>> Henning Madsen skrev dette den 08-11-2009 14:52:
>>> .
>>>>>> Følgende krav til en indtastningskontrol ønskes:
>>>>>> 1 Max indtastning 99999,99
>>>>>> 2 der må ikke kunne tastes andet en tal og eet komma.
>>>>>> 3 max 2 cifre efter kommaet
>>>
>>>> Der må være en måde at ændre X på når der er indtastet et komma men
>>>> hvordan???
>>>>
>>> Følgende tillader tab, Backspace, tal og Én og kun en decimal-separator
>>> (',' eller '.' alt efter hvad computeren er sat op til)
>>>
>>>
>>> procedure T_frmMaintenance.edpriceKeyPress(Sender: TObject; var Key:
>>> Char);
>>> begin
>>> if not(key in [#8, #9, '0'..'9', decimalseparator]) or ((key =
>>> decimalseparator) and (hasdecimalseparator(edprice.Text))) then
>>> key := #0;
>>> end;
>>>
>>> function HasDecimalSeparator(value : string) : boolean;
>>> begin
>>> result := (pos(decimalseparator, value) > 0);
>>> end;
>>>
>>> --
>>> Michael Haase
>> Mange tak for svaret Michael det er tilsyneladende lige det jeg mangler.
>> Men ved kompiling får jeg følgende fejl.
>> Jeg burde måske fotælle at det er Delphi 6 og XP jeg bruger.
>> Må indrømme programmet kan jeg ikke tyde, men det er jo min fejl.
>> Hvad gør at det er i Edit1 Komponenten der skal tastes i ?
>>
>> [Error] Unit1.pas(25): Unknown directive: 'edpriceKeyPress'
>>
>> [Error] Unit1.pas(25): Declaration expected but '(' found
>>
>> [Error] Unit1.pas(25): ';' expected but ')' found
>>
>> [Error] Unit1.pas(28): Undeclared identifier: 'hasdecimalseparator'
>>
>> [Error] Unit1.pas(28): Undeclared identifier: 'edprice'
>>
>> [Error] Unit1.pas(33): Undeclared identifier: 'result'
>>
>> [Error] Unit1.pas(33): Undeclared identifier: 'value'
>>
>> [Error] Unit1.pas(36): ';' expected but '.' found
>>
>> [Error] Unit1.pas(38): Declaration expected but end of file found
>>
>> [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
>>
>> Da linienumrene henviser til programmet kommer detlige igen.
>>
>> //------------------------------------------------------------------------------
>> PROCEDURE T_frmMaintenance;edpriceKeyPress(Sender: TObject; var Key:
>> Char);
>> begin
>> if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
>> decimalseparator) and (hasdecimalseparator(edprice.Text))) then key :=
>> #0;
>> end;
>> //------------------------------------------------------------------------------
>> Function HasDecimalSeparator(value : string):boolean;
>> begin
>> result := (pos(decimalseparator, value)>0);
>> end;
>> //------------------------------------------------------------------------------
>> end.
>>
>>
>>
>> Håber du vel forklare hvad der er galt.
>>
>
> Problemet er at jeg har klippet fra et af mine egne projekter, og der
> hedder tingene ikke det samme som hos dig.
>
> I din TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
> skal du tilføje følgende som det første:
>
>
> if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
> decimalseparator) and (hasdecimalseparator(edit1.Text))) then key :=
> #0;
>
> og du skal huske enten at placere funktionen HasDecimalSeparator før de
> procedurer/funktioner, som benytter den. Eller alternativt deklarere den i
> interface sektionen. Hvis du vælger dette, skal den hedde:
>
> function TForm1.HasDecimalSeparator(value : string) : boolean;
> begin
> result := (pos(decimalseparator, value)>0);
> end;
>
> --
> Michael Haase
//-------------------------------------------------
Hjælp ønskes nok engang.
Nu bliver det bedre men ikke helt den vel ikke kendes ved
HasDecimalSeparator,
der er vel ikke også til den et andet navn ??

unit EditIndtastM;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
{$R *.dfm}
//------------------------------------------------------------------------------
FUNCTION TForm1.HasDecimalSeparator(value : string) : boolean;
begin
result := (Pos(decimalseparator, value)>0);
end;
//------------------------------------------------------------------------------
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [#8,#9,'0'..'9',decimalseparator]) or ((Key =
decimalseparator) and(hasdecimalseparator(edit1.Text))) then Key := #0;
end;
//------------------------------------------------------------------------------
end.

Som du kan se har jeg anbragt FUNCTIONen Øverst
skulle den skrives i interface sektionen skal TForm1 vel ikke med ligesom i
en procedure?
Håber du vel hjælpe mig nok engang ??
m.v.h. Henning



Uffe Kousgaard (08-11-2009)
Kommentar
Fra : Uffe Kousgaard


Dato : 08-11-09 23:59

"Henning Madsen" <hkjeldm@mail.dk> wrote in message
news:4af6cbcc$0$36585$edfadb0f@dtext01.news.tele.dk...
>
> Du skal selvfølgelig have tak for svaret Uffe, men jeg har faktisk brug
for
> en Edit1.

Hvorfor?



Henning Madsen (09-11-2009)
Kommentar
Fra : Henning Madsen


Dato : 09-11-09 14:03


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:4af74d33$0$276$14726298@news.sunsite.dk...
> "Henning Madsen" <hkjeldm@mail.dk> wrote in message
> news:4af6cbcc$0$36585$edfadb0f@dtext01.news.tele.dk...
>>
>> Du skal selvfølgelig have tak for svaret Uffe, men jeg har faktisk brug
> for
>> en Edit1.
>
> Hvorfor?

Først må jeg give Michal en undskyldning.
Jeg misfostod din oplysning om hvornår TForm1 skal med i Function's linien
da det var rettet var der ingen kompiler fejl. Undskyl Michal håber ikke
du har brugt tid på at finde fejlene.
Programmet havde nogle indtastnings fej, der kunne indtastes mere end 5
cifre
mener det er rettet ved tilføjelserne i taste trykket.

Og så "hvorfor" ikke bruge en MaskEdit.
Jeg mener en MaskEdit er god når indtastningen er et tlf nr, et postnr og
lignende Hvor der skal skrives et bestemt antal cifre. Jeg har ikke noget
dansk beskrivelse af MaskEdit.

Når programmet er helt ferdig skal der til føjes 0 er ved indtastning af
f.eks. " ,05"
", 5 " og så videre. Men det må kunne klares med Length og pos således at
indtastningen
plaseres rigtig i en højre stellet celle i en XStringGrid.
Inden taste trykkes skal skrift farven vælges.
Men Uden jeres hjælp var problemet ikke blevet løs så tak for hjælpen.
m.v.h. Henning.






Carsten (12-11-2009)
Kommentar
Fra : Carsten


Dato : 12-11-09 13:53

> m.v.h. Henning.

Her er et lidt anden måde at gribe det an på. Eksemplet her under er
lavet til heltal men kan nemt modificeres til "real".
Som det fremgår herunder er det en edit boks jeg er gået ud fra.

Carsten
--------------------------------------

unit TextToInt;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics,
DsgnIntf,StdCtrls,Forms;

type
TTextToInt = class(tEdit)
private
{ Private declarations }
hMaxVal:Integer;
hMinVal:Integer;
hValue:Integer;
Procedure SetValue(i:Integer);
protected
{ Protected declarations }
procedure Change; Override;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override; { override
to set new default }
published
{ Published declarations }
property MaxVal: Integer read hMaxVal write hMaxVal default MaxInt;
property MinVal: Integer read hMinVal write hMinVal default 0;
property Value: Integer read hValue write SetValue default 0;
end;

procedure Register;

implementation
Uses BeInc,WinKey;

constructor TTextToInt.Create(AOwner: TComponent);
begin
inherited Create(AOwner); { perform
inherited initialization }
hMaxVal:=MaxInt;
hMinVal:=0;
end;


procedure Register;
begin
RegisterComponents(cBE_Componenter, [TTextToInt]);
RegisterPropertyEditor(TypeInfo(tEdit),TTextToInt, 'MaxVal',
TIntegerProperty);
RegisterPropertyEditor(TypeInfo(tEdit),TTextToInt, 'MinVal',
TIntegerProperty);
end;

procedure TTextToInt.Change;
Var i:integer; p:integer;
Begin
if (text='') or (text='-') then
exit;
val(text,i,p);
if (p=0) and (i<=MaxVal) and (i>=MinVal) then begin
hValue:=i;
clearUndo;
end else begin
if Parent<>nil then
begin
Application.MessageBox('Fejl i
indtastning','Error',MB_OK+MB_ICONERROR+MB_APPLMODAL);
undo;
val(text,i,p);
SendKeyPress(chr(VK_END));
if (p<>0) or (i>MaxVal) or (i<MinVal) then
clear
end;
end;
inherited Change; { perform inherited event}
end;

Procedure TTextToInt.SetValue(i:Integer);
Begin
if (i>MaxVal) and (i<MinVal) then
i:=0;
text:=intToStr(i);
hValue:=i;
SelectAll;
End;

end.

Henning Madsen (12-11-2009)
Kommentar
Fra : Henning Madsen


Dato : 12-11-09 15:47


"Carsten" <carsten_no-mail_@beas.dk> skrev i en meddelelse
news:4afc051d$0$56794$edfadb0f@dtext02.news.tele.dk...
>> m.v.h. Henning.
>
> Her er et lidt anden måde at gribe det an på. Eksemplet her under er lavet
> til heltal men kan nemt modificeres til "real".
> Som det fremgår herunder er det en edit boks jeg er gået ud fra.
>
> Carsten
> --------------------------------------
>
> unit TextToInt;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics,
> DsgnIntf,StdCtrls,Forms;
>
> type
> TTextToInt = class(tEdit)
> private
> { Private declarations }
> hMaxVal:Integer;
> hMinVal:Integer;
> hValue:Integer;
> Procedure SetValue(i:Integer);
> protected
> { Protected declarations }
> procedure Change; Override;
> public
> { Public declarations }
> constructor Create(AOwner: TComponent); override; { override to
> set new default }
> published
> { Published declarations }
> property MaxVal: Integer read hMaxVal write hMaxVal default MaxInt;
> property MinVal: Integer read hMinVal write hMinVal default 0;
> property Value: Integer read hValue write SetValue default 0;
> end;
>
> procedure Register;
>
> implementation
> Uses BeInc,WinKey;
>
> constructor TTextToInt.Create(AOwner: TComponent);
> begin
> inherited Create(AOwner); { perform inherited
> initialization }
> hMaxVal:=MaxInt;
> hMinVal:=0;
> end;
>
>
> procedure Register;
> begin
> RegisterComponents(cBE_Componenter, [TTextToInt]);
> RegisterPropertyEditor(TypeInfo(tEdit),TTextToInt, 'MaxVal',
> TIntegerProperty);
> RegisterPropertyEditor(TypeInfo(tEdit),TTextToInt, 'MinVal',
> TIntegerProperty);
> end;
>
> procedure TTextToInt.Change;
> Var i:integer; p:integer;
> Begin
> if (text='') or (text='-') then
> exit;
> val(text,i,p);
> if (p=0) and (i<=MaxVal) and (i>=MinVal) then begin
> hValue:=i;
> clearUndo;
> end else begin
> if Parent<>nil then
> begin
> Application.MessageBox('Fejl i
> indtastning','Error',MB_OK+MB_ICONERROR+MB_APPLMODAL);
> undo;
> val(text,i,p);
> SendKeyPress(chr(VK_END));
> if (p<>0) or (i>MaxVal) or (i<MinVal) then
> clear
> end;
> end;
> inherited Change; { perform inherited event}
> end;
>
> Procedure TTextToInt.SetValue(i:Integer);
> Begin
> if (i>MaxVal) and (i<MinVal) then
> i:=0;
> text:=intToStr(i);
> hValue:=i;
> SelectAll;
> End;
>
> end.

Hej Karsten Tak for løsningen.
Den vel jeg prøve at lave, håber jeg kan få den til at virke.
Imens kunne du måske løse følgende.
Har fundet et program der kan kontrolere om datoen er ok.
Det virker fint, men der bruges 3 SpinEdit, det kan jeg ikke bruge.
Men findes der en måde at begrænse indtastningen til 31 i en Edit,
også ger en begrænsning i indtastningen til kun tal.
Kan det løses kan jeg bruge programmet.
Håber der er en løsning ??
m.v.h. Henning.



Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407864
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste