Yes, that's the mistake. I forgot the fact "search.name" does not returns a full path. This code works very well. program e01; {$mode objfpc}{$H+}
uses libtar, sysutils; var archive: TTarWriter; search: TSearchRec; path: string; BEGIN archive := TTarWriter.create('arquivo.tar'); with archive do begin try path := paramstr(1); FindFirst(path + '/*', faAnyFile, search); repeat if (search.name <> '.') and (search.name <> '..') then AddFile(path + '/' + search.name); until FindNext(Search) = 0; finally free; end; end; END. Thank you! This class is really very easy to use. 2014/1/21, Flávio Etrusco <flavio.etru...@gmail.com>: > On Tue, Jan 21, 2014 at 10:45 PM, luciano de souza <luchya...@gmail.com> > wrote: >> Hello all, >> >> This code should add all the files of a directory in a tar file. >> >> program e01; >> {$mode objfpc}{$H+} >> >> uses >> libtar, sysutils; >> >> var >> archive: TTarWriter; >> search: TSearchRec; >> >> BEGIN >> archive := TTarWriter.create('arquivo.tar'); >> with archive do >> begin >> try >> FindFirst('/home/luciano/Documentos/*', faAnyFile, search); >> repeat >> if (search.name <> '.') and (search.name <> '..') then >> AddFile(search.name); >> until FindNext(Search) = 0; >> finally >> free; >> end; >> end; >> END. >> >> The program compiles, but I got an error. The message says that the >> first file of the directory can't be opened. >> >> What is wrong? > > Probably because Search.Name contains only the filename, but AddFile > expects an absolute path (or relative to GetCurrentDir)? > > >> My second doubt is: I am running this program in Ubuntu 13.10. If I >> run it in Windows, will a external library be necessary or all the >> code is included in lib tar unit? >> >> Regards, > > AFAICS all the code is included in the libtar unit. > > -Flávio > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal > -- Luciano de Souza _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal