Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   condicion de parada (https://www.clubdelphi.com/foros/showthread.php?t=76385)

Anel Hernandez 27-10-2011 16:52:37

condicion de parada
 
Hola,

estoy leyendo un fichero texto y para la condicion de parada la lectura de dos de sus caracteres debe ser igual a un valor:
Código Delphi [-]
  repeat
    readln(fichero,saux);
    ss:=copy(saux,8,2);
    application.ProcessMessages;
 until ss='00'
Hay alguna forma para poner la condicion directa sin tener que usar ss y el copy?

la idea seria algo asi como copy(saux,8,2)='00' que es incorrecto pero da idea de lo que quiero lograr.

gracias

Caro 27-10-2011 17:45:10

Hola Anel Hernandez

Código Delphi [-]
repeat
    readln(fichero,saux);
    application.ProcessMessages;
 until LeftStr(saux, 2)='00';

Saluditos

Anel Hernandez 27-10-2011 21:28:47

re
 
Gracias Caro. Pero una duda: leftStr no copia desde la posicion 0? al inicio del String?

fijate que en mi ejemplo yo copia 2 caracteres en la posicion 8 de un string que es mucho mas grande.

ecfisa 27-10-2011 22:12:32

Hola Anel.

Probá de este modo:
Código Delphi [-]
...
var
  F: TextFile;
  s: string;
begin
  AssignFile(F, 'Archivo.TXT');
  Reset(F);
  repeat
    Readln(F, s);
  until (Copy(s,8,2) = '00') or Eof(F);
 CloseFile(F);
end;
Es importante incluir el fin de archivo en la condición de salida, por que si no llega a existir una cadena con los caracteres '00' en la posición evaluada ... :rolleyes:

Un saludo.

Anel Hernandez 28-10-2011 13:20:37

Perfecto! me faltaban los parentesis a mi condicion!

gracias


La franja horaria es GMT +2. Ahora son las 17:55:15.

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