PDA

Ver la Versión Completa : Problema con condiciones


Anel Hernandez
30-11-2011, 10:52:18
Hola,

estoy haciendo una busqueda de ficheros y luego de encontrado un fichero especifico realizar diversas operaciones con el.

cuando hago
if RightStr(SR.Name,4)='.inp' then calcular;
funciona perfectamente.

cuando hago
if LeftStr(SR.Name,6)='CALMET' then calcular;
funciona perfectamente.

pero cuando las combino:
if (RightStr(SR.Name,4)='.inp') and (LeftStr(SR.Name,6)='CALMET') then calcular;

la primera condicion me da falso en ficheros de extension '.inp'. Lo he debugueado y no se porque.

pudieran ayudarme?

gracias

newtron
30-11-2011, 11:04:40
Hola.

¿Será por las mayúsculas/minúsculas?

Saludos

Anel Hernandez
30-11-2011, 11:11:51
ya probe eso y nada. ademas funcionan independientemente, por separado, pero cuando las combino, no.

Anel Hernandez
30-11-2011, 13:02:20
Hola,

pues si, era problema de mayúsculas/minúsculas! Disculpen haberlos hecho perder tiempo y romperse la cabeza.

Gracias

Al González
30-11-2011, 15:38:30
pues si, era problema de mayúsculas/minúsculas!
No comentas cómo lo resolviste, pero siendo un problema de mayúsculas y minúsculas lo puedes controlar de esta forma:
If ANSIStartsText ('CALMET', SR.Name) And ANSIEndsText ('.inp', SR.Name) Then

Saludos. :)

Anel Hernandez
30-11-2011, 15:44:51
Cierto! aki va:

if (LowerCase(RightStr(SR.Name,4))='.inp') and (LowerCase(LeftStr(SR.Name,6))='calmet') then calcular;

oscarac
30-11-2011, 16:21:43
Cierto! aki va:


Código Delphi [-] (http://www.clubdelphi.com/foros/#)if (LowerCase(RightStr(SR.Name,4))='.inp') and (LowerCase(LeftStr(SR.Name,6))='calmet') then calcular;



te hago una pregunta.....
y que pasaria si el archivo cambia de nombre? por uno mas largo o por uno mas corto?:cool:

Anel Hernandez
30-11-2011, 17:12:36
hola,

Los ficheros son generados por un programa que siempre pondria como mascara del nombre una palabra predefinica que es la que leo, luego pudieran agregarsele numeros etc. Por eso con comprobar que la cadena inicial es igual a la predefinida me vale.

gracias