jafera
14-08-2014, 12:39:18
Hola a todos.
Tengo una duda de como poder capturar un posible error que suceda si al intentar abrir una carpeta de un directorio esta no exista. El código ( sin la excepción), es este:
procedure TF_Camions.Button5Click(Sender: TObject);
var i:integer;
begin
//try
OpenPictDialCam.InitialDir:='C:\Camiones_1.0\Imagenes\Camiones\'+DBEdit1.Text;
If OpenPictDialCam.Execute then
begin
i:=Fotos_C.RecordCount;
Fotos_C.Append;
i:=i+1;
Fotos_CDESCRIPCIO.Value := 'Foto:'+IntToStr(i);
Fotos_CFOTO.LoadFromFile(OpenPictDialCam.FileName);
Fotos_C.Post;
F_ModulDades.CamionsFOTO.Value:='S';
end;
TumbNC.Close;
TumbNC.Open;
If TumbNC.RecordCount = 0 then
begin
DBCtrlGrid1.Visible:=False;
end
else
begin
TumbNC.Last;
DBCtrlGrid1.Visible:=True;
If (TumbNC.RecordCount >= 1) and (TumbNC.RecordCount <= 10) then
begin
DBCtrlGrid1.ColCount:=TumbNC.RecordCount;
end
else
begin
DBCtrlGrid1.ColCount:=10;
end;
end;
//except
//Mensaje
//end;
end;
Lo que hago es asignar el InitialDir del Open picture a la carpeta de las imagenes más el valor del DBEdit1 que realmente es el nombre de la carpeta que contiene las imagenes de esta ficha, hasta aquí funciona bien y es muy rápido el entrar las imagenes a la tabla.
Hoy pensdando un poco he llegado a la conclusión de que si por casualidad la carpeta llamada no existe porque aun no se ha creado, donde ira a parar el InitialDir?
He probado con un try except y no lo acabo de ver claro ya que me pasa de largo.
Me gustaria que si no se encuentra la carpeta me diera un mensaje de "Carpeta inexistente" y poder abortar la operación
Gracias por vuestra ayuda
Saludos calurosos veraniegos
Josep
Tengo una duda de como poder capturar un posible error que suceda si al intentar abrir una carpeta de un directorio esta no exista. El código ( sin la excepción), es este:
procedure TF_Camions.Button5Click(Sender: TObject);
var i:integer;
begin
//try
OpenPictDialCam.InitialDir:='C:\Camiones_1.0\Imagenes\Camiones\'+DBEdit1.Text;
If OpenPictDialCam.Execute then
begin
i:=Fotos_C.RecordCount;
Fotos_C.Append;
i:=i+1;
Fotos_CDESCRIPCIO.Value := 'Foto:'+IntToStr(i);
Fotos_CFOTO.LoadFromFile(OpenPictDialCam.FileName);
Fotos_C.Post;
F_ModulDades.CamionsFOTO.Value:='S';
end;
TumbNC.Close;
TumbNC.Open;
If TumbNC.RecordCount = 0 then
begin
DBCtrlGrid1.Visible:=False;
end
else
begin
TumbNC.Last;
DBCtrlGrid1.Visible:=True;
If (TumbNC.RecordCount >= 1) and (TumbNC.RecordCount <= 10) then
begin
DBCtrlGrid1.ColCount:=TumbNC.RecordCount;
end
else
begin
DBCtrlGrid1.ColCount:=10;
end;
end;
//except
//Mensaje
//end;
end;
Lo que hago es asignar el InitialDir del Open picture a la carpeta de las imagenes más el valor del DBEdit1 que realmente es el nombre de la carpeta que contiene las imagenes de esta ficha, hasta aquí funciona bien y es muy rápido el entrar las imagenes a la tabla.
Hoy pensdando un poco he llegado a la conclusión de que si por casualidad la carpeta llamada no existe porque aun no se ha creado, donde ira a parar el InitialDir?
He probado con un try except y no lo acabo de ver claro ya que me pasa de largo.
Me gustaria que si no se encuentra la carpeta me diera un mensaje de "Carpeta inexistente" y poder abortar la operación
Gracias por vuestra ayuda
Saludos calurosos veraniegos
Josep