PDA

Ver la Versión Completa : foreach


altp
24-10-2006, 13:44:51
Buenas a todos.

Trabajo con Delphi 2006, asp.NET.
Mi problema es que no soy capaz de traducir la siguiente instrucción:

foreach(string s in Directory.GetFiles(Server.MapPath(""), "*.jpg"))

Si me pudieran ayudar, y decirme como se pone en Delphi se lo agradecería.

Gracias de antemano.

dec
24-10-2006, 14:33:09
Hola,

Estás mostrando código fuente de C#, ¿tú te refieres a cómo puedes utilizar la sintaxis de Delphi para conseguir lo mismo no es así? Pues... no hay mucha diferencia... a partir de Delphi 2005 (creo, no estoy muy seguro) existe la instrucción "foreach" y su uso es similar al de C#, en este caso.

No tengo Delphi ahora mismo a mano, y menos Delphi 2005 para asegurarme, pero, ¿qué tal algo así?


var
s: string;
begin
foreach s in Directory.GetFiles(Server.MapPath(''), '*.jpg') do
begin
// Estás dentro del "bucle foreach"...
end;
end;


Es decir, se trata de declarar "fuera" la variable "s" y de utilizar comillas simples en lugar de las "dobles"... algo así tiene que ser,... si no estoy completamente equivocado, vaya. ;)

mamcx
24-10-2006, 15:57:34
Mas exactamente

for s in Directory.GetFiles(Server.MapPath(''), '*.jpg') do
begin
end;


La gente de Borland decidio no agregar una nueva palabra clave y mas bien reusar la que habia... a mi me parece mas claro asi, cosa que tenia acostumbrado de python...

dec
24-10-2006, 16:54:36
Hola,

Toma... pues yo pensaba que sí que había agregado el "foreach", pero, efectivamente, ahora que lo dices... puede que me equivoque de cabo a rabo. ;)

altp
24-10-2006, 17:17:01
Gracias a los dos por responder.

La solución es como decía Mamcx, pero yo tenía un error, tenía declarado Directory como DirectoryInfo y por eso me daba error.

Gracias de nuevo.