Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido]opendialog (nome Do Arquivo, Tamanho)


schaukoski

Pergunta

Olá boa tarde...

andei pesquisando na busca, e nos sites mas não achei nada...

eu estou usando o componente opendialog, e queria gravar o nome do arquivo, e seu tamanho..

mas unica coisa que eu consegui foi o caminho dele (Opendialog1.FileName)

o .filename me retorna c:\meu computador\documentos\arquivo.zip

, mas eu gostaria de retornar so o arquivo.zip.

e também como retornar o tamanho dele?.. um abraço!!!!

Obrigado

Editado por schaukoski
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ai vai a dica:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function TamArquivo(Arquivo: string): Integer;
begin
   with TFileStream.Create(Arquivo, fmOpenRead or fmShareExclusive) do
   try
      Result := Size;
   finally
      Free;
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var tamanho : real;
begin
   if OpenDialog1.Execute then
      begin
        tamanho := TamArquivo(OpenDialog1.FileName);
        tamanho := (tamanho / 1024);
        Label1.Caption:= 'Nome do Arquivo = ' + copy(OpenDialog1.FileName,pos('\',OpenDialog1.FileName)+1,20);
        Label2.Caption:= 'Tamanho do Arquivo = ' + format('%n',[tamanho]) + ' Kb';
      end;
end;

end.

Obs: O valor do tamanho do arquivo que voce vai ver no windows é arredondado.

Link para o comentário
Compartilhar em outros sites

  • 0

Com um pouco mais de informação sobre o arquivo:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
    info: string;

    function TamanhoArquivo(arquivo: string): string;
    const
        KBYTE = SizeOf(Byte) shl 10;
    begin
    with TFileStream.Create(arquivo, fmOpenRead or fmShareExclusive) do
       try
           Result:=FloatToStrF(Size / KBYTE,ffNumber,6,2);
       finally
           Free;
       end;
    end;
begin
if OpenDialog1.Execute then
    begin
    info:='Caminho do Arquivo: ' + OpenDialog1.FileName + #13;
    info:=info + 'Nome do Arquivo: ' + ExtractFileName(OpenDialog1.FileName) + #13;
    info:=info + 'Tamanho do Arquivo: ' + TamanhoArquivo(OpenDialog1.FileName) + ' kb';
    ShowMessage(info);
    end;
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...