Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Solamente el Ultimo digito (https://www.clubdelphi.com/foros/showthread.php?t=50071)

Camilo 07-11-2007 16:28:27

Solamente el Ultimo digito
 
Hola Amigos:

Tengo una tabla Paradox con un campo numerico; necesito aislar el ultimo digito de todos los registros que son de 6 digitos.

Este numero aislado lo necesito en un edit.
Uso delphi 7 y paradox.

Gracias por su gentil ayuda muy importante para mi.

enecumene 07-11-2007 16:31:48

Hola, excusame por mi ignorancia pues no logre entender lo que explicas, a que te refieres con aislar el ultimo digito?.

Saludos.

Camilo 07-11-2007 16:34:32

Gracias Enecumene por tu interes.

El campo Placa tiene registros como estos: "012456", "451278" y asi mas de 500 registros.

Para el primer ejemplo, necesitaria que el "6" me saliera solito en un Edit, para el sgundo caso el "8" y asi.

Gracias.

enecumene 07-11-2007 16:40:36

Ok. ahora entendi, pues para eso tienes que usar la funcion RightStr de delphi, esta en la ayuda de Delphi.

Saludos.

defcon1_es 07-11-2007 16:45:32

Cita:

Empezado por Camilo (Mensaje 244170)
Gracias Enecumene por tu interes.

El campo Placa tiene registros como estos: "012456", "451278" y asi mas de 500 registros.

Para el primer ejemplo, necesitaria que el "6" me saliera solito en un Edit, para el sgundo caso el "8" y asi.

Gracias.

Código Delphi [-]
....
Aux := Dataset.FieldByName(CAMPO).AsString;
Edit.Text := Aux[6];
....

Camilo 07-11-2007 16:46:54

Oye disculpame pero ayer intente usarla y paso que: o no se como usarla o la funcion Rightstr no esta en mi delphi 7; por lo menos me salio un mensaje de Undelcared.
Ahora disculpame tu mi ignorancia la verdad soy mas aficionado que formado.
Gracias

Camilo 07-11-2007 16:50:00

defcon1_es: Mil gracias por tu ayuda.

Disclupa no entiendo lo de aux. Podrias colocarlos en un onclick por favor (como para tonticos en la materia como yo)
Gracias.

enecumene 07-11-2007 16:52:09

Tienes que declarar la variabale Aux, asi:

Código Delphi [-]
var
Aux: string;
begin
Aux := Dataset.FieldByName(CAMPO).AsString;
Edit.Text := Aux[6];
end;

ContraVeneno 07-11-2007 16:54:52

Cita:

Empezado por Camilo (Mensaje 244175)
Oye disculpame pero ayer intente usarla y paso que: o no se como usarla o la funcion Rightstr no esta en mi delphi 7; por lo menos me salio un mensaje de Undelcared.
Ahora disculpame tu mi ignorancia la verdad soy mas aficionado que formado.
Gracias

Ayer me dijiste que delphi 7 si tiene incluida la función RigthStr...

:confused::confused::confused::confused:
http://www.clubdelphi.com/foros/showthread.php?t=49990


¿paradox tendrá una función "substring" o "copy" ?

Camilo 07-11-2007 17:02:06

Contraveneno; la verdad es que me sale un mensaje de error al compilar asi:"[Error] Unit4.pas(188): Undeclared identifier: 'RigthStr'. de ahi que afirmo que el problema es de "Chofer" como decimos el Colombia.

Espero que me expliques por favor con plastilinas para un preescolar de delphi.

Gracias.

defcon1_es 07-11-2007 17:07:39

Ok, creia que era evidente :) que habia que declarar la variable auxiliar,
por eso puse los puntitos....

Ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var Aux: String;
begin
// En vez de Table1 debes usar tu dataset, y en vez de 'CAMPO' debes 
// poner el nombre del campo que contiene los valores numericos.
  Aux := Table1.FieldByName('CAMPO').AsString;
  Edit1.Text := Aux[6];
end;

Camilo 07-11-2007 17:11:07

Perfecto Muchachos Muchas Gracias. disculpen que lo que para ustedes es facil para algunos de quienes empezamos es un complique.

Gracias de Nuevo a todos.

enecumene 07-11-2007 17:13:28

Te funciono el ejemplo de defcon1_es?.

Saludos.

jhonny 07-11-2007 17:13:32

Camilo, la función RightStr esta en la unidad StrUtils, debes verificar que dicha unidad este siendo incluida en el uses de tu unidad.

Por otro lado la opcion que te muestra defcon1_es me parece buena pero en caso de que una de esas "placas" no sea de 6 caracteres te podria presentar problemas, se que en Colombia tenemos los carros con las placas de 6 digitos, pero recuerda que hay motos y estas son de 5 digitos ;), de manera que creo que para estos casos es mejor usar RightStr.

Pero si definitivamente no encontraste la función RightStr, podriamos hacer un pequeño "ajuste" a la función que nos muestra defcon1_es y dejarla asi:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
// En vez de Table1 debes usar tu dataset, y en vez de 'CAMPO' debes 
// poner el nombre del campo que contiene los valores numericos.
  Edit1.Text := Table1.FieldByName('CAMPO').AsString[Length(Table1.FieldByName('CAMPO').AsString)];
end;

enecumene 07-11-2007 17:19:12

Mira un pequeño ejemplo de la funcion RightStr por si acaso, y es como dice johhny que debes verificar que SysUtil este en el uses del proyecto:

Código Delphi [-]
var s : string;
begin
  
s := 'ABOUT DELPHI PROGRAMMING';
s := RightStr(s,5); //aqui en tu caso seria en vez de 5 es 1
// s = 'MMING' resultado
end;


espero que te aclare.

Saludos.

Camilo 07-11-2007 17:20:12

Hola Jhonny que gustaso compartir con tigo.

Pues hago lo que me indican y me sale un error de "Acces Violations at adrress 044dcb15 in module proyet1.exe read off adrress..." o algo asi.

Gracias por la paciencia a mi desesperante ignorancia.

Camilo 07-11-2007 17:23:02

Si si esta en la Uses, pero al compilar tu ejemplo me sale el mismo mensaje "[Error] Unit4.pas(200): Undeclared identifier: 'RightStr'"

enecumene 07-11-2007 17:25:07

Eso esta extraño hombre, hay que investigar eso.

jhonny 07-11-2007 17:25:13

Cita:

Empezado por Camilo (Mensaje 244195)
Hola Jhonny que gustaso compartir con tigo.

Pues hago lo que me indican y me sale un error de "Acces Violations at adrress 044dcb15 in module proyet1.exe read off adrress..." o algo asi.

Gracias por la paciencia a mi desesperante ignorancia.

Igualmente hombre, es un gustaso :).

¿Verificaste que SysUtils estuviera dentro de las uses?, enecumene te a puesto un ejemplo muy sencillo pero que sinceramente debe ser bastante aplicable a lo que necesitas ;).

¿Cual de las opciones estas usando?, muestranos el codigo ;).

jhonny 07-11-2007 17:28:08

Jejeje, no se porque se me trocaron los cables, la unidad a referenciar no es SysUtils, es StrUtils ;) :D.

Muestranos las Uses que estas usando. Acabo de ensayar el asunto y me funciona bien.


La franja horaria es GMT +2. Ahora son las 21:33:49.

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