Fórum Sugerir nome do arquivo no SaveDialog #326454
29/07/2006
0
e se for possível tem como obrigar o usuário a salvar o arquivo apenas com o nome sugerido?
Raserafim
Curtir tópico
+ 0Posts
29/07/2006
Marco Salles
procedure TForm1.Button2Click(Sender: TObject); var NomeDoArquivo:String; begin saveDialog1.InitialDir:=´C:\´; //********Opcional***** NomeDoArquivo:=´OLA´; saveDialog1.FileName:=´OLA´; if savedialog1.Execute Then begin While (pos(NomeDoArquivo,saveDialog1.FileName)<= 0) do begin saveDialog1.FileName:=NomeDoArquivo; Showmessage(´O Nome Do Arquivo Tem Que ser : ´+NomeDoArquivo); if not (savedialog1.Execute) Then begin NomeDoArquivo:=´´; Break; end end; end else NomeDoArquivo:=´´; if pos(NomeDoArquivo,saveDialog1.FileName)> 0 then Showmessage(´Gravar´) else Showmessage(´cancelado´); end;
segue ainda que voce pode pre-definir o diretorio
[b:f10d8f4e30]saveDialog1.InitialDir:=´Seu Diretorio.. etc...´[/b:f10d8f4e30]
Gostei + 0
30/07/2006
Marco Salles
procedure TForm1.Button1Click(Sender: TObject); var NomeDoArquivo:String; NomeDigitado:String; tamanho:integer; begin saveDialog1.InitialDir:=´C:\´; //********Opcional***** NomeDoArquivo:=´OLA´; saveDialog1.FileName:=´OLA´; if savedialog1.Execute Then begin NomeDigitado:=Copy(savedialog1.filename, length(savedialog1.FileName)-Length(NomeDoArquivo)+1, length(NomeDoArquivo)); While NomeDigitado <> NomeDoArquivo do begin saveDialog1.FileName:=NomeDoArquivo; Showmessage(´O Nome Do Arquivo Tem Que ser : ´+NomeDoArquivo); if not (savedialog1.Execute) Then begin NomeDoArquivo:=´´; Break; end else NomeDigitado:=Copy(savedialog1.filename, length(savedialog1.FileName)-Length(NomeDoArquivo)+1, length(NomeDoArquivo)); end; end else NomeDoArquivo:=´´; if pos(NomeDoArquivo,saveDialog1.FileName)> 0 then Showmessage(´Gravar´) else Showmessage(´cancelado´);
a diferençã desta para a primeira que esta ultima compara o ´valor´ do que foi digitado na caixa do dialogo e não somente a posição da string ´OLA´ no SaveDialog1.FileName
Por exemplo , se voce tiver Um Caminho (Com a pasta) ´OLA´ no primeiro exemplo , independentemente do que for digitado para o nome do Arquivo a Instrução
pos(NomeDoArquivo,saveDialog1.FileName)<= 0 sera falsa..
Alem disso , usando algumas funçoes , pode-se desconsiderar Maiscula de minusclas e vice-versa.
Gostei + 0
04/08/2006
Raserafim
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)