Problema com Criação de Pasta
16/08/2019
0
Boa tarde, eu tenho um código em que se abre um Dialog e se a pasta existe ela se abre dentro de um servidor e se não exister tal diretório cria se uma pasta no diretório designado. Porém só abre no diretório certo quando já tem a pasta criada e não cria outra quando abro com outro fornecedor.
Segue o Código:
dir:=''\\\\\\\\adsorocaps\\\\sis\\\\fornecedores\\\\''+idfornecedor+pasta;
OpenDialog1.InitialDir:=dir;
if OpenDialog1.Execute then
begin
if not DirectoryExists(dir)then
begin
if not CreateDir(dir) then
begin
ForceDirectories(dir);
end;
if CopyFile(PChar(OpenDialog1.FileName), PChar(dir+ExtractFileName(OpenDialog1.FileName)), True) then
ShowMessage(''Arquivo gravado com sucesso!'');
caminho:=OpenDialog1.FileName;
end;
end;
Segue o Código:
dir:=''\\\\\\\\adsorocaps\\\\sis\\\\fornecedores\\\\''+idfornecedor+pasta;
OpenDialog1.InitialDir:=dir;
if OpenDialog1.Execute then
begin
if not DirectoryExists(dir)then
begin
if not CreateDir(dir) then
begin
ForceDirectories(dir);
end;
if CopyFile(PChar(OpenDialog1.FileName), PChar(dir+ExtractFileName(OpenDialog1.FileName)), True) then
ShowMessage(''Arquivo gravado com sucesso!'');
caminho:=OpenDialog1.FileName;
end;
end;
Alexandre Silva
Curtir tópico
+ 0
Responder
Posts
21/08/2019
Fernando Ito
Olá Alexandre Silva,
Você tem que fazer a verificação antes de executar o OpenDialog
var
Diretorio: string;
begin
Diretorio := 'c:\\ITO\\Fornecedor\\' + edtFornecedor.Text + '\\';
if (DirectoryExists(Diretorio)) then
begin
ShowMessage('Já existe a pasta ' + edtFornecedor.Text);
end
else
begin
CreateDir(Diretorio);
end;
OpenDialog1.InitialDir := Diretorio;
if (OpenDialog1.Execute) then
begin
//
end;
end;
Verifica se é isso mesmo o que você precisa ok.
Um abraço,
ITO
Você tem que fazer a verificação antes de executar o OpenDialog
var
Diretorio: string;
begin
Diretorio := 'c:\\ITO\\Fornecedor\\' + edtFornecedor.Text + '\\';
if (DirectoryExists(Diretorio)) then
begin
ShowMessage('Já existe a pasta ' + edtFornecedor.Text);
end
else
begin
CreateDir(Diretorio);
end;
OpenDialog1.InitialDir := Diretorio;
if (OpenDialog1.Execute) then
begin
//
end;
end;
Verifica se é isso mesmo o que você precisa ok.
Um abraço,
ITO
Responder
Clique aqui para fazer login e interagir na Comunidade :)