PDA

Ver la Versión Completa : Renombrar archivos siguiendo ciertas reglas


mibandeja
22-09-2008, 17:07:00
Hola a todos, antes que nada gracias por leer estas lineas. Mi consulta el la siguiente.

Estoy tratando de crear un aplicación que renombre archivos pdf (que ya existen), en base a otro archivo (un .REC) que en cada comienzo de linea contiene un numero que es el que debo utilizar para renombrar a los pdf, ej. el .REC si contiene 2 lineas por ej.

0101 32blablabla
0102 45blablabla

Yo tengo te tomar el 0101 y el 0102 para renombrar a los pdf y queden como 0101_xxxx.PDF y 0102_xxxx.PDF. por Ahora tengo esto en codigo.


type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
cmdAbrir: TButton;
OpenDialog1: TOpenDialog;
cmdRenombrarPDF: TButton;
procedure cmdAbrirClick(Sender: TObject);
procedure cmdRenombrarPDFClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
f: TextFile;
strLine: String;
strValor: String;

implementation

{$R *.dfm}

procedure TForm1.cmdAbrirClick(Sender: TObject);
begin

OpenDialog1.FileName := '';
OpenDialog1.Execute;
Edit1.Text := OpenDialog1.FileName;
AssignFile(f, 'Factura_A_200809.rec');
if FileExists('Factura_A_200809.rec') then
begin
FileMode := 0; //Set file access to read only
Reset(f);
i := 0;
while not SeekEof(f) do
begin
Readln(f, strLine);
............ //Hacer lo que tenga que hacer con cada línea
strValor := MidStr(strLine,17,12); //Para tomar un pedazo de la linea usar:

end;
end;
end;

procedure TForm1.cmdRenombrarPDFClick(Sender: TObject);
begin
showmessage(edit1.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//Edit1.ReadOnly := True;
OpenDialog1.Filter := 'Archivo de Registros (*.rec)|*.rec|';
cmdRenombrarPDF.Enabled := False;
end;

end.



Gracias por la ayuda que puedan brindarme.

TOPX
22-09-2008, 17:31:32
Hola,

Puede que le resulte mejor cargar el archivo .rec a un TStringList (con su método LoadFromFile).

Y para renombrar, qué tal el Truco No. 150 (http://www.clubdelphi.com/trucos/index.php?id=150).

mibandeja
22-09-2008, 18:40:41
Hola,

Puede que le resulte mejor cargar el archivo .rec a un TStringList (con su método LoadFromFile).

Y para renombrar, qué tal el Truco No. 150 (http://www.clubdelphi.com/trucos/index.php?id=150).



Gracias por tu consejo, intentaré cargar el archivo al TStringList, sino te es mucha molestia puedes indicar como se hace?, pues he emopezado hace poco con Delphi, de todas maneras intentaré por mi cuenta y le daré las vueltas que sea necesario. Gracias

TOPX
22-09-2008, 18:52:32
Bueno, además de que en la ayuda de Delphi y en este For (http://www.clubdelphi.com/foros/search.php)o (http://www.clubdelphi.com/foros/search.php) hay muchos ejemplos, es tan fácil como:


var
MiLista: TStringList;
begin
MiLista: TStringList.Create;
try
MiLista.LoadFromFile('miarchivo.rec');
{etc ...}
finally
MiLista.Free;
end;
end;


Y en el momento de extraer los números para renombrar, se puede guiar por este hilo (http://www.clubdelphi.com/foros/showthread.php?t=60088) (activo incluso el día de hoy)

Y ojalá que fácilmente haya visto, analizado y entendido el truco referenciado, para renombrar los archivos.

mibandeja
22-09-2008, 19:01:28
Bueno, además de que en la ayuda de Delphi y en este For (http://www.clubdelphi.com/foros/search.php)o (http://www.clubdelphi.com/foros/search.php) hay muchos ejemplos, es tan fácil como:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)var MiLista: TStringList; begin MiLista: TStringList.Create; try MiLista.LoadFromFile('miarchivo.rec'); {etc ...} finally MiLista.Free; end; end;


Y en el momento de extraer los números para renombrar, se puede guiar por este hilo (http://www.clubdelphi.com/foros/showthread.php?t=60088) (activo incluso el día de hoy)

Y ojalá que fácilmente haya visto, analizado y entendido el truco referenciado, para renombrar los archivos.

Muchas gracias TOPX, realmente sin duda me has dado una mano mas que importante.
Saludos y muy agradecido.