Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Como extraer solo los numeros en delphi

Buenos dias:



Sabes como extreaer numeros ejemplo:
CODIGO201 ese es string de la celda


Extraer solo numero para ir a otra tabla con el int 201.
Responder Con Cita
  #2  
Antiguo 16-03-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Puedes recorrer uno a uno los caracteres evaluando si es un número.

Código Delphi [-]
function ExtraeNumeros(S: string): Integer;
  var
    i: Integer;
    lStTemp: string;
begin
  Result := 0;
  lStTemp := '';

  for i := 1 to Length(S) do
  begin
    if CharInSet(S[i], ['0'..'9']) then
      lStTemp := lStTemp + S[i];
  end;

  TryStrToInt(lStTemp, Result);
end;

También podrías usar Expresiones regulares
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 16-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Eso me suena. Muchas gracias voy a comprobar a ver que tal.

Responder Con Cita
  #4  
Antiguo 16-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción:
Código Delphi [-]
function GetNumericCode(const strCode: string): Integer;
var
  c,i: Integer;
begin
  Result := 0;
  c := 1;
  for i := Length(strCode) downto 1 do
    if strCode[i] in ['0'..'9'] then
    begin
      Result := Result + (Ord(strCode[i])-Ord('0')) * c;
      c := c * 10;
    end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessageFmt('%d',[GetNumericCode('CODIGO201')]);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 16-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Funciona perfecto.
Responder Con Cita
  #6  
Antiguo 17-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Extraer todos los registro de la tabla2 pasar a otra tabla1
La tabla 2, nomf es string ejemplo la cadena codigo200

La tabla 1, fich es integer eso ahi poner 200.



Bueno varios registros





Código Delphi [-]
While Not CFG.DBF_OLD.Eof do
        Begin
          fich:=MOD.tabla2.fieldbyName('NOMF').Value;

          Insertar_registro_fichero('prueba', fich, sender);

          MOD.tabla2.Next;
        end;


Código Delphi [-]
procedure Tform1.Insertar_registro_fichero(TablaN:string; fichero:integer; sender:TObject);
begin

If MOD.Conectar.Connected =False Then
    MOD.Conectar.Connected:=True;

  MOD.tabla1.TableName:=TablaN;
  MOD.tabla1.Active:=True;

  MOD.Command.SQL.Clear;
  MOD.Command.sql.Add('INSERT INTO '+TablaN+'(fich) VALUES(:fich)');
  MOD.Command.ParamByName('fich').Value:=fich;

  Try
    MOD.Command.Execute;

  Except

  End;
  MOD.tabla1.Refresh;

end;


No se si hace falta poner functions extraer solo numeros.
Responder Con Cita
  #7  
Antiguo 17-03-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Tu mismo tienes la respuesta

Cita:
Empezado por igamerpc Ver Mensaje

Código Delphi [-]
While Not CFG.DBF_OLD.Eof do
        Begin
          fich:=MOD.tabla2.fieldbyName('NOMF').Value;

          Insertar_registro_fichero('prueba', fich, sender);

          MOD.tabla2.Next;
        end;


Código Delphi [-]
procedure Tform1.Insertar_registro_fichero(TablaN:string; fichero:integer; sender:TObject);
begin

If MOD.Conectar.Connected =False Then
    MOD.Conectar.Connected:=True;

  MOD.tabla1.TableName:=TablaN;
  MOD.tabla1.Active:=True;

  MOD.Command.SQL.Clear;
  MOD.Command.sql.Add('INSERT INTO '+TablaN+'(fich) VALUES(:fich)');
  MOD.Command.ParamByName('fich').Value:=fich; //Aquí estás enviando MOD.tabla2.fieldbyName('NOMF').Value

  Try
    MOD.Command.Execute;

  Except

  End;
  MOD.tabla1.Refresh;

end;


No se si hace falta poner functions extraer solo numeros.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #8  
Antiguo 17-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Ya encontrado solucion. Me costaba de principio porque tenia error incompatible string and integer pero ya encontrado.

Estoy intentado no quitar el 00. Solo salia 1 2 3, y no 001 002..

De todas formas que me contestas solucion esta me funciono maravilla. Gracias.
Responder Con Cita
  #9  
Antiguo 17-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Ya entiendo el integer es numero entero no se puede poner 00, por lo tanto es 1 2 3 eso es.
Responder Con Cita
  #10  
Antiguo 17-03-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Si! mira estos son los tipos de datos numéricos que puedes manejar en Delphi

http://www.delphibasics.co.uk/Article.asp?Name=Numbers

De paso, ese sitio tiene mucha referencia. Ahí puedes aprender bastante!
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #11  
Antiguo 18-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 7
igamerpc Va por buen camino
Eso es lo q necesito. Gracias.
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
extraer solo 1 registro del detalle oscarac SQL 9 16-05-2019 21:36:17
como se puede validar un edit para solo numeros carlos gonzalez Varios 3 30-09-2006 21:22:38
Extraer solo nombre de archivo y extensión JODELSA Varios 11 13-07-2005 15:04:09
como hago que un edit solo entren numeros lazarous Varios 1 24-02-2005 14:56:22
Extraer números en una string alfanumérica Tonio Varios 4 23-10-2003 10:22:04


La franja horaria es GMT +2. Ahora son las 22:43:08.


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