Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   DeleFile no funciona (https://www.clubdelphi.com/foros/showthread.php?t=74743)

Paulao 07-07-2011 20:56:28

DeleFile no funciona
 
Tengo una funcion para deletar un archivo. Ella es llamada en el momento en que si lo hace la busqueda(FindFirst), la llamo asi:
Apaga(SR.Name). Mi funcion es esta

Código Delphi [-]
function Apaga(Texto: String): boolean;
var
  posicao: Integer;
begin
  posicao := Pos('CLASS',texto);
  if posicao > 0 then
    Result := DeleteFile(texto);
end;

BlueSteel 07-07-2011 21:03:46

Hola Paulao:

Tantos mensajes y aún no uilizas los TAG's

oye, y que código de error te da???

verificaste que el archivo exista? que no este siendo usado o abierto ? o que tengas los permisos para borrar ese archivo??? o que le estes dando la ruta completa para el borrado del archivo....

Salu2:D:p

BlueSteel 07-07-2011 21:11:14

Por lo visto en aqui, puede que te falte la ruta del archivo

en la ayuda de delphi aparece esto

Código Delphi [-]
if FileExists(FileName) then
  if MessageDlg('Do you really want to delete ' + ExtractFileName(FileName) + '?'), mtConfirmation, [mbYes, mbNo], 0, mbNo) = IDYes then 
    DeleteFile(FileName);

Asi que modificando un poco tu funcion, podrias consultar esto

Código Delphi [-]
Function Apaga(Texto: String): boolean;
var
posicao: Integer;
begin
       posicao := Pos('CLASS',texto);
       if posicao > 0 then
          If FileExists(texto)  Then DeleteFile(texto);
end;

Salu2:):p

Enan0 07-07-2011 21:30:21

Como decis que el Deletefile no funciona, verificaste que el archivo no este siendo blockeado por algun otro aplicativo?

Neftali [Germán.Estévez] 08-07-2011 10:53:18

Añade lo siguiente a ver si te da pista de qué está pasando...

Código Delphi [-]

  // intentar borrar
  b := DeleteFile(texto);
  if not (b) then begin
    MessageDlg(SysErrorMessage(GetLastError()), mtInformation, [mbOK], 0);
  end;

Caro 08-07-2011 14:22:05

Cita:

Empezado por Paulao (Mensaje 405787)
Tengo una funcion para deletar un archivo. Ella es llamada en el momento en que si lo hace la busqueda(FindFirst), la llamo asi:
Apaga(SR.Name). Mi funcion es esta

Hola Paulao, no borra porque solo le estas pasando el nombre del archivo a tu función, debes enviar el path completo.

Código Delphi [-]
 Path := 'C:\algo\';
 if Not Apaga(Path+SR.Name) then
  showmessage('el archivo no ha sido borrado o no existe.');

Saluditos

Paulao 22-07-2011 17:06:09

Mi copy no funciona
 
Este funcion no funciona, o sea, si el lo encuentra un archivo que tenga la string CLASS, no deberia hacer el copytostream pero lo hace, o sea, no respecta mi IF. Abajo el código:
Código Delphi [-]
....
hftName := fFindFiles.DestPath + JobName + '.hft';

  posicao := Pos('CLASS',hftName);

  Stream := TFileStream.Create(hftName, fmCreate);
  try
    if posicao = 0 then
      fJob.SaveToStream(Stream);
  finally
    Stream.Free;
  end;
....


La franja horaria es GMT +2. Ahora son las 07:09:02.

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