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 14-01-2007
coyule coyule is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
coyule Va por buen camino
Smile comparar cadena de dos textos

Hola foro, una ayudadita
Bueno, ya busque haber si encontraba una respuesta antes de preguntar y no la encontre claramente..

bueno, tengo una aplicacion que extrae los nombres de los archivos y
los aguarda en una base dee dados.... Pero algunos archivos tienen por nombre mas de 50 caracteres, Y lo que quiero es que cuando encuentre un archivo de mas de 35 caracteres sin importar caracter hacer la comparacion con una variable. Gracias de antemano

estoy enpezando con delphi




delphi 7 win xp
Responder Con Cita
  #2  
Antiguo 14-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé yo si podrías usar alguna función como "CompareStr" de la unidad "SysUtils"...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-01-2007
coyule coyule is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
coyule Va por buen camino
No me sirve David,

te pongo un ejemplo:

1-mi archivo musical xxzxx = 24 caracteres incluyendo espacio
2-mi archivo musical xzzzx xxxx =29 caracteres incluyendo espacio

bueno, si te fijas las frases son diferentes pero si yo tengo un campo
que por obligacion no acepta mas de 24 caracteres no cabe y para esto ocuparia una funcion a saber cuantos caracteres tiene el nombre de
ese archivo antes de entrar al campo(Nota: no los quiero comparar que sean iguales o diferentes, solo que si tiene mas de 24 caracteres con un If me de cuenta para yo editarlo antes de que lo agregue a la base de dadtos)
Responder Con Cita
  #4  
Antiguo 14-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

O sea, ¿quieres saber si una determinada cadena tiene más de 24 caracteres? Pues tal vez con la función "Length":

Código Delphi [-]
var
  cadena: string;
begin
  cadena := '12345678901234567890123';
  if Length(cadena) >= 24 then
    ShowMessage('La cadena tiene más de 24 caracteres');
end;

Si quieres quedarte con los 24 primeros caracteres de una cadena puede que la función "LeftStr" te sirva:

Código Delphi [-]
var
  s: string;
begin
  s := 'sólo los primeros 24 caracteres';
  ShowMessage( StrUtils.LeftStr(s, 24) );
end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 14-01-2007 a las 02:13:07.
Responder Con Cita
  #5  
Antiguo 14-01-2007
coyule coyule is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
coyule Va por buen camino
Solucionado.......... Muuuuuuuuchas gracias
Responder Con Cita
  #6  
Antiguo 31-05-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
rellenar cadena de caracteres ala izquierda

hola amigos del foro, reciban un gran saludo y una grande felicitacion por todo el apoyo que se da aqui, mi problema es el siguiente, necesito rellenar una cadena de caracteres ejemplo.

mi cadena es igual a b:= '534'

bien lo que quiero es que mi cadena tenga una longitud de 10 caracteres, es decir, ''b'' vale de longitud 3, entonces me faltan 7 caracteres para rellenar, esos caracteres que faltan los quiero rellenar con '0' (ceros) entonces quedaria algo asi

nuevo valor de b:='0000000534' y asi sucesivamente con diferentes numeros

ejemp.2

a:='25';
nuevo valor:='0000000025'

espero haberme explicado bien, si se preguntan para que?, realmente es algo insignificante pero importante, lo tengo que igualar a otro archivo.

todos esos numeros los tengo en un archivo de texto pero mi resultado es asi

520, 35,60
25, 35,20
590, 65,32

y el resultado que quiero es

0000000520, 35,60
0000000025, 35,20
0000000590, 65,32

bueno saludos y gracias por su ayuda
Responder Con Cita
  #7  
Antiguo 31-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver qué tal parece algo así...

Código Delphi [-]
function NormalizeString(str: string;
 maxStr: integer=10): string;
begin
  result := '';
  if (Length(str) < maxStr) then
    while(Length(result) < (maxStr-Length(str)))do
      result := result+'0';
  result := result+str;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 31-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
O esta:

Código Delphi [-]
function LPad(S: String; Ch: Char; Len: Integer): String;
begin
  Result := StringOfChar(Ch, Len - Length(S)) + S;
end;

ShowMessage(LPad('345', '0', 10));

// Saludos
Responder Con Cita
  #9  
Antiguo 31-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues sí. Me quedo con esa Román. Aunque, ya puestos y viendo "StringOfChar"... por sí sola hace lo que se requiere, ¿no?

Quiero decir, que la función LPad sólo está ahí para humillarme, ¿verdad? Pue bueno, pue fale, pue malegro.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 31-05-2007 a las 08:51:24.
Responder Con Cita
  #10  
Antiguo 31-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
... yo sigo usando las NKLIBS aún sabiendo que existe StringOfChar. Por costumbre y muchos años de uso, se me viene a la mente Padleft y Padright antes que StringOfChar, además, la rutina está ya hecha y no tengo que construirla.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 31-05-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
wow, me quede con la boca abierta, les agradezco a los dos, y si, la funcion que utilize es la de roman, mas sencilla mas bonita y mas practica je je je, (menos codigo ) no cabe duda que sigo siendo un niño, gracias a todos los Jedi de este foro Buen dia mis amigos!! espero dejar de ser un pequeño padawan y llegar a ser un Jedi algun dia je je je. muchas 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
comparar 2 textos Drake C++ Builder 5 24-04-2006 16:12:00
Comparar caracteres tecleados con los de una cadena Calculador Varios 1 16-01-2005 18:36:35
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15
Trabajar con textos nesetru Varios 1 05-01-2004 02:31:40
Procesador de textos mahiques Varios 4 06-05-2003 10:16:48


La franja horaria es GMT +2. Ahora son las 22:30:47.


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