Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Renombrar archivos siguiendo ciertas reglas (https://www.clubdelphi.com/foros/showthread.php?t=60149)

mibandeja 22-09-2008 17:07:00

Renombrar archivos siguiendo ciertas reglas
 
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.

Código Delphi [-]
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.

mibandeja 22-09-2008 18:40:41

Cita:

Empezado por TOPX (Mensaje 315528)
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.



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 Foro hay muchos ejemplos, es tan fácil como:

Código Delphi [-]
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 (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

Cita:

Empezado por TOPX (Mensaje 315550)
Bueno, además de que en la ayuda de Delphi y en este Foro hay muchos ejemplos, es tan fácil como:

Código Delphi [-]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 (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.


La franja horaria es GMT +2. Ahora son las 11:25:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi