Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Aja mas problemas a ver a ver
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #2  
Antiguo 07-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol
Aja mas problemas a ver a ver
Solo una cosa, ¿El siguiente debería considerarse como numero? (Omitiendo las comillas),
"999 " (Con espacio al final, por ejemplo).
Esa función dirá que es alfanumérico. Pero la siguiente no.

Código Delphi [-]
 
function TTexto.EsNumero(cValor: String): Boolean;
var
  i :Integer;
  nSigno, nSeparador: Integer;  //nSigno cuenta la cantidad de signos escritas debe ser solo uno nSimbolo la cantidad de simbolo decimal
begin
  cValor := Trim(cValor);
  i := 0;
  nSigno := 0;
  nSeparador := 0;
  Result := (Length(cValor)>0);
  while ((i <= Length(cValor)-1) and (Result = True)) do
  begin
    inc(i);
    Result := (IsNumeric(cValor[i]) or ((cValor[i]='-') and (nSigno = 0) and (i = 1)) or ((cValor[i]=DecimalSeparator) and (nSeparador = 0) and (i <> Length(cValor))));
    //Determina si se escribio para incrementar el contador
    if (cValor[i]='-') then
       Inc(nSigno);
    if (cValor[i]=DecimalSeparator) then
       Inc(nSeparador);
  end;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 07-07-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Ok jhonny hoy tengo el cerebro en off por mas qe trato le busco problemas y no se me ocurre ni uno jejeje

creo que me gusta mas pensar en soluciones que en problemas
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 07-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol
Ok jhonny hoy tengo el cerebro en off por mas qe trato le busco problemas y no se me ocurre ni uno jejeje

creo que me gusta mas pensar en soluciones que en problemas
Bueno, la naturaleza humana es la que hace que seamos optimistas en estos casos . Seguramente si no tuvieramos esa actitud nunca hubiéramos inventado algo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 07-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Código Delphi [-]
function EsNumero(cValue: string):Boolean;
var i,Estado:Byte;
begin
 if Length(cValue)>0 then
  Estado:=1
 else
  Estado:=0;
 i:=1;
 while (i<=Length(cValue))and(Estado<>0) do
  begin
    case Estado of
     1:case cValue[i] of
        '0'..'9':Estado:=2;
        '-':Estado:=3;
        else Estado:=0;
       end;
     2:case cValue[i] of
        '0'..'9':Estado:=2;
       '.':Estado:=4;
       '-':Estado:=0;
        else Estado:=0;
       end;
     3:case cValue[i] of
       '0'..'9':Estado:=2;
        else Estado:=0;
       end;
     4:case cValue[i] of
        '0'..'9':Estado:=5;
        else Estado:=0;
       end;
     5:case cValue[i] of
        '0'..'9':Estado:=5;
        else Estado:=0;
       end;
    end;
   Inc(i)
  end;
 Result:=(Estado in [2,5])
end;
Con un Autómata

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 if EsNumero(edit1.Text) then
  ShowMessage('si')
 else
  ShowMessage('no')
end;
Así se llamaría, si no me equivoco...... funciona en todos los casos.
Responder Con Cita
  #6  
Antiguo 07-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
He estado observando todos los post, pero me parece que nos estamos liando.

Según lo que comenta incialmente Nomad

Cita:
Empezado por Nomad
Como hace uno para saber si lo que estoy leyendo de un dbstringgrid es un numero o una letra?
Esto sugiere (desde mi mente cochambrosa) que quiere saber el contenido de todo el DBStringGrid, no caracter por caracter, aunque puede ser que solo sea un caracter y no una cadena, o si, no se, seria cosa de que apareciera y nos diera mas información.

Creo que la respuesta debería ser mas simple.

Aqui les dejo el código, probado con las diferentes posibilidades.

Código Delphi [-]
{
Posibilidades.

1)  StringGrid1.Cells[1,1] := '-123456-754333';
2)  StringGrid1.Cells[1,1] := '-123456754333';
3)  StringGrid1.Cells[1,1] := '123456754333';
4)  StringGrid1.Cells[1,1] := 'A1B2C3d4C5';
}

  Try
    StrtoFloat(StringGrid1.Cells[1,1])
  except
    ShowMessage('No es número');
  end;

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 07-07-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
No se si son manias o es que lo lei pero el asunto es que no me gusta crear excepciones que pueden ser evitadas.

jejej ademas si no nos hubieramos liado asi luego en que entretenernos
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 07-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por eduarcol
No se si son manias o es que lo lei pero el asunto es que no me gusta crear excepciones que pueden ser evitadas.

jejej ademas si no nos hubieramos liado asi luego en que entretenernos
, pues si es bonito hacer trabajar la mente torcida, sin embargo, hay que evaluar los costos de evitar una excepción.

En fin, cada perro tiene su método para matar pulgas.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 07-07-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por egostar
He estado observando todos los post, pero me parece que nos estamos liando.
Cita:
Empezado por Delphius
He estado siguiendo a este hilo y la verdad es que como que le dieron demasiada rosca al asunto.

Sinceramente es pasion por ver sufrir al projimo :P


Ok val sirve para los enteros, ¿¿y los reales?? que son los que le dieron vuelta al asunto
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #10  
Antiguo 07-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por eduarcol
Sinceramente es pasion por ver sufrir al projimo :P
Estoy de acuerdo contigo eduarcol, ¡¡¡ Que cosita ola!!!
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #11  
Antiguo 08-07-2007
Avatar de courtois
courtois courtois is offline
Miembro
 
Registrado: abr 2006
Ubicación: Mexico DF
Posts: 200
Poder: 19
courtois Va por buen camino
por que no pruebas con las funciones TryStrToInt o TryStrToFloat? ambas devuelven true si es posible convertir str en un numero entero o flotante
Responder Con Cita
  #12  
Antiguo 09-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por courtois
por que no pruebas con las funciones TryStrToInt o TryStrToFloat? ambas devuelven true si es posible convertir str en un numero entero o flotante
No les decia yo?

Parece que todo quedo reducido en esa función, incluso tiene en cuenta el 999.

Código Delphi [-]
 
var
  Numero :Extended;
begin
   if TryStrToFloat(Edit1.Text, Numero) then
     ShowMessage('Numero¡¡¡')
   else
     ShowMessage('AlfaNumero¡¡¡');
end;
Lo que me produce un "no se que" que no se describir, es que en http://www.clubdelphi.com/foros/show...1772#post71772 ya había algo . Que curioso...

¡¡¡Buena esa courtois!!!
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #13  
Antiguo 09-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Pues el compañero nomad ya tiene opciones para decidir, pero, a todo esto, donde estará que no ha dicho ni pio.

Bajo estas circunstancias me viene a la mente esto que escribió nuestro amigo jhonny....

Cita:
Empezado por jhonny
...definitivamente esto si esta muy divertido, en ultimas todos tenemos algo de razón, tu dices que hay que cerciorarse de los costos vs access violations y tales y que pascuales y ya somos 4 invirtiéndole a esta solución , mientras que cierto personaje debe estar en casa con pantaloneta, tirado en su sillón viendo alguna buena pelicula de sábado con su familia .


Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber si un texto es un número elcigarra OOP 29 30-09-2006 00:25:56
Saber el número de serie de la placa fer21unmsm Varios 3 30-12-2005 18:36:51
como saber el numero de renglones ddd_ddd OOP 4 27-10-2005 21:27:56
Saber el numero de caracteres de un memo judoboy Varios 1 20-06-2003 14:27:19
Saber el numero de registros consultados estudiante SQL 2 13-05-2003 00:12:09


La franja horaria es GMT +2. Ahora son las 11:50:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi