![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola amigos, estoy hace unos días tratando de lograr que en un edit, solo se puedan introducir texto o solo números y no lo he logrado, he probado las variantes aquí vistas y no me han funcionado, yo trabajo con delphi 7, necesito su ayuda pues es un proyecto de mi escuela.
|
|
#2
|
|||
|
|||
|
Si buscas en el foro encontrarás algo como esto
En el evento OnKeyPress del edit pones: para solo números
sustituye 0123456789 por los caracteres que quieras que solo admita |
|
#3
|
|||
|
|||
|
Perfecto, muchas gracias, ya esta haciendo lo que deseaba con el edit para solo admitir numeros, ahora como hago para que solo me admita letras, porque de usar este tendría que utilizar o mejor dicho poner todas las vocales del abecedario tanto las minusculas como las mayusculas y seria muy grande el codigo
|
|
#5
|
|||
|
|||
|
Gracias ya todo esta resuelto por esa parte ahora explicame algo si yo quiero sacar el promedio de números que se encuentran en tres edit distintos y que me muestre el resultado en un cuarto como seria
|
|
#6
|
|||
|
|||
|
Deberías saber sacar la media de tres números: se suman los tres y se divide entre 3
Si son números enteros lo que entras en los edits, si no cambia StrToInt por StrToFloat Va de memoria y sin comprobar, revisa los paréntesis. |
|
#7
|
|||
|
|||
|
Gracias colega me fue de mucha ayuda, ya resolvi la tarea completa aquí te dejo como resolvi lo del promedio o la forma en que lo hice
Edit10.Text := FloatToStr((StrToFloat(Edit2.text)+StrToFloat(Edit5.text)+StrToFloat(Edit8.text))/3) Y este es el codigo completo de lo que hice: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, Mask, ToolEdit, CurrEdit; type TForm1 = class(TForm) Bevel1: TBevel; Button1: TButton; GroupBox1: TGroupBox; Panel1: TPanel; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Edit3: TEdit; GroupBox3: TGroupBox; Panel3: TPanel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Edit4: TEdit; Edit6: TEdit; GroupBox2: TGroupBox; Panel2: TPanel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Edit9: TEdit; Bevel2: TBevel; Button3: TButton; Button4: TButton; Button5: TButton; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Button2: TButton; Image1: TImage; Edit2: TEdit; Edit5: TEdit; Edit8: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit5KeyPress(Sender: TObject; var Key: Char); procedure Edit8KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit9KeyPress(Sender: TObject; var Key: Char); procedure Edit6KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit7KeyPress(Sender: TObject; var Key: Char); procedure Edit4KeyPress(Sender: TObject; var Key: Char); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.Button2Click(Sender: TObject); var I: Integer; begin for i := 0 to ComponentCount -1 do if Components[i] is TEdit then TEdit(Components[i]).Text := ''; end; procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char); begin if ( StrScan('0123456789,'+chr(7)+chr(8), Key) = nil ) then Key := #0; end; procedure TForm1.Edit8KeyPress(Sender: TObject; var Key: Char); begin if ( StrScan('0123456789,'+chr(7)+chr(8), Key) = nil ) then Key := #0; end; procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); begin if ( StrScan('0123456789'+chr(7)+chr(8), Key) = nil ) then Key := #0; end; procedure TForm1.Edit9KeyPress(Sender: TObject; var Key: Char); begin if ( StrScan('0123456789'+chr(7)+chr(8), Key) = nil ) then Key := #0; end; procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char); begin if ( StrScan('0123456789'+chr(7)+chr(8), Key) = nil ) then Key := #0; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['a'..'z','A'..'Z',' ','á','é','í','ó','ú','ü','Á','É','Í','Ó','Ú','Ü', #7, #8, #13]) then begin Key := #0; Beep; end; end; procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['a'..'z','A'..'Z',' ','á','é','í','ó','ú','ü','Á','É','Í','Ó','Ú','Ü', #7, #8, #13]) then begin Key := #0; Beep; end; end; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['a'..'z','A'..'Z',' ','á','é','í','ó','ú','ü','Á','É','Í','Ó','Ú','Ü', #7, #8, #13]) then begin Key := #0; Beep; end; end; procedure TForm1.Button3Click(Sender: TObject); begin Edit10.Text := FloatToStr((StrToFloat(Edit2.text)+StrToFloat(Edit5.text)+StrToFloat(Edit8.text))/3) end; procedure TForm1.Button4Click(Sender: TObject); begin Edit11.Text := FloatToStr((StrToFloat(Edit3.text)+StrToFloat(Edit9.text)+StrToFloat(Edit6.text))/3) end; procedure TForm1.Button5Click(Sender: TObject); var ma:real; begin ma:=StrToFloat(Edit2.text); if ma<StrToFloat(Edit5.Text) then ma:=StrToFloat(Edit5.Text); if ma<StrToFloat(Edit8.Text) then ma:=StrToFloat(Edit8.Text); Edit12.Text:= FloatToStr(ma); end; end. |
|
#8
|
||||
|
||||
|
Cita:
|
|
#9
|
||||
|
||||
|
¡Ah, eso!, seguramente es para que cuando sustituya un carácter "no válido" emita un pitido que llame la atención del usuario que teclea.
Emite el pitido con el chr(7))y que retrocede un carácter atrás con el chr(8), según creo recordar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#10
|
||||
|
||||
|
De todas formas, creo que no tiene mucho sentido.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#11
|
||||
|
||||
|
ahh ok el #7 no es una tecla sino es un pitido.
ahora sigo creyendo que el #7 esta mal en la condición if ya que no es necesario(creo) ya que al final emite igual el sonido con la linea
(gracias Casimiro! muchisimas de las cosas que se de Delphi es gracias a tus respuestas y la de Neftali, Jhonny, y otros que solo me recuerdo de su imajen de perfil jeje aqui en el foro. INMENSAMENTE AGRADECIDO SIEMPRE! ) |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|