Advertisement

04.29.2008 at 09:24PM PDT, ID: 23364394
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

How to create a function that 3 or 4 of my method can call the function

Tags: delphi
Delphi
I have this method

procedure TfrmAdmin.edtYearKeyPress(Sender: TObject; var Key: Char);
begin
 if (Key >= #5) and (not (Key in ['0'..'9'])) then
  Key := #0;
end;

procedure TfrmAdmin.edtMobileNoKeyPress(Sender: TObject; var Key: Char);
begin
if (Key >= #32) and (not (Key in ['0'..'9'])) then
  Key := #0;
end;

the properties inside seems the same to me can i create a function that my method can get the properties from the function?
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: firekiller15
Solution Provided By: Geert_Gruwez
Participating Experts: 3
Solution Grade: A
Views: 0
Translate:
Loading Advertisement...
04.29.2008 at 11:05PM PDT, ID: 21468397

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
04.29.2008 at 11:18PM PDT, ID: 21468438

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
04.30.2008 at 01:36AM PDT, ID: 21468957

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
04.30.2008 at 02:38PM PDT, ID: 21474784

Rank: Wizard

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.01.2008 at 06:28PM PDT, ID: 21484000

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.02.2008 at 12:39AM PDT, ID: 21485081

Rank: Wizard

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.02.2008 at 12:47AM PDT, ID: 21485107

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.04.2008 at 11:01PM PDT, ID: 21498344

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.08.2008 at 10:59PM PDT, ID: 21530632

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • Automotive
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Displays / Monitors
  • Handhelds / PDAs
  • Components
  • Peripherals
  • Laptops/Notebooks
  • Servers
  • Misc
  • Apple
  • Embedded Hardware
  • Networking Hardware
  • Storage
  • Desktops
  • New Users
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMware
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Virtualization
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • Web Computing
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Consulting
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMware
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Automation
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Web Services
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Web Computing
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Lounge
  • Business Travel
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
  • Automotive
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
04.29.2008 at 11:05PM PDT, ID: 21468397

Rank: Master

Rename edtYearKeyPress event handler to EditKeyPress

procedure TfrmAdmin.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then
  begin
    if ((Sender = edtYear) and (Key >= #5)) or
       ((Sender = edtMobileNo) and (Key >= #32)) then
      Key := #0;
  end;
end;

Assign both "edtYearKey" and "edtMobileNo" event handlers to the same event EditKeyPress


What do you exactly mean with properties of the function ???
 
04.29.2008 at 11:18PM PDT, ID: 21468438
you mean like this?

procedure TfrmAdmin.edtYearKeyPress(Sender: TObject; var Key: Char);
begin
EditKeyPress(Sender: TObject; var Key: Char);
end;


 
04.30.2008 at 01:36AM PDT, ID: 21468957

Rank: Master

that is also a way to do it

i meant that you can assign the event in the properties of the TEdit

Click on the Edit component on the form
Open the properties of the component (usually F11)
See the onclick event
Set it to EditKeyPress
 
04.30.2008 at 02:38PM PDT, ID: 21474784

Rank: Wizard

do your edit boxes need to check only 1 parameter? (eg. #5 or #32)
if so, then select the edtYear control, and in the object inspector (f11) put the value "5" in the TAG property
select the edtMobile control, and in the object inspector (f11) put the value "32" in the TAG property

select the edtMobile control, and in the object inspector's events tab, select edtYearKeyPress for the OnKeyPress event (this will make sense soon)
select the edtYear control, and in the object inspector's events tab, rename the edtYearKeyPress to "EditControls_KeyPress"

now, in the code, change the code to

procedure TfrmAdmin.EditControls_KeyPress(Sender: TObject; var Key: Char);
begin
 if (ord(Key) >= (Sender as TEdit).Tag) and (not (Key in ['0'..'9'])) then
   Key := #0;
end;
if you need to check more than just #5 or #32 then you can do as Geert suggests and check the control in code
 
05.01.2008 at 06:28PM PDT, ID: 21484000
Click on the Edit component on the form
Open the properties of the component (usually F11)
See the onclick event
Set it to EditKeyPress

i got more than 7 edit box that i need to set key on it.
i cant find edtkeypress in onclick event
but i set onkeypress to edtAreaCodeKey

THe thing is i need to set more than 7 edit box where i need to set onkeypress

my code become untidy and not optimize(become spegatti code)
I need to find a away to lessen the code how?


 
05.02.2008 at 12:39AM PDT, ID: 21485081

Rank: Wizard

read above posts carefully, you can set the OnKeyPress for all these 7 edit's to the same event handler (EditControls_KeyPress).
With this you can achieve exactly what you want.
 
05.02.2008 at 12:47AM PDT, ID: 21485107
TheRealLoki:
if you need to check more than just #5 or #32 then you can do as Geert suggests and check the control in code

Does he means that if check more that 2 keys cannot use his method or else??

Also i have few same key e.g: #32
should i change them to unique value like #31,#32,#33...
 
05.04.2008 at 11:01PM PDT, ID: 21498344

Rank: Master

Carefully read the solutions we provide.

First step:
Rename edtYearKeyPress event handler to EditKeyPress
Did you do this ???
How -> Click on a Edit component, Press F11, retype the name of Event in the OnClick section to EditKeyPress,
Press enter

No click on a other component. Press F11, go the onclick event.
There you should find the EditKeyPress event.
If you don't, then either the components are different, like a TEdit, TComboEdit, TcxEdit, ... and have different OnClick event handlers

Do this for all the components you want to be handled.

If you want the event handler to act differently based on the component or kind of input you want ...
Example.
I have 7 edit components
I want the user to be able to enter in the some only digits, one only capital letters, in 2 of the edits lower case,
in others the user can enter what he wants
This means i have 3 different types of input:
0: Anything
1: Digit
2: UpperCase
3: LowerCase

The way i would do this is to use the Tag property and set it to the type of input i want:
My event handler would then be :



procedure TfrmAdmin.EditKeyPress(Sender: TObject; var Key: Char);
var Ok: Boolean;
begin
  Ok := True;
  case TComponent(Sender).Tag of
    0: ;                                                               // Do nothing all input ok
    1: if not (Key in ['0'..'9']) then Ok := False;  // Only digits
    2: if not (Key in ['A'..'Z']) then Ok := False;  // Only uppercase
    3: if not (Key in ['a'..'z']) then Ok := False;  // Only lowercase
  else
    begin
      ShowMessage('Event handler not supplied !');
      Ok := False;
    end;
  end;
  if not Ok then Key := #0;
end;

Accepted Solution
 
05.08.2008 at 10:59PM PDT, ID: 21530632

Rank: Master

does it work ?
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628