Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 21-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Con respecto a ese código no sé ya que hay muchos factores involucrados que pueden estar provocando el fallo.

Pero para que realizes la prueba, te pongo un procedimiento que llama a la función TomarNombre utilizando un TOpenDialog y realiza correctamente lo que buscabas.
Código Delphi [-]
...
implementation

uses StrUtils;

procedure TomarNombre(Nombre: string; var Nuevo: string);
var
  Num: Integer;
  Ext: string;
begin
  if FileExists(Nombre) then
  begin
    Ext := ExtractFileExt(Nombre);
    Nombre := LeftStr(Nombre, Length(Nombre) - Length(Ext));
    if Pos('(', Nombre) = 0 then
    begin
      Num := 1;
      Nombre := Nombre + '(' + IntToStr(Num) + ')' + Ext;
    end
    else
    begin
      Num := StrToInt(Copy(Nombre, Pos('(', Nombre)+1,
        PosEx(')',Nombre, Pos('(', Nombre))-Pos('(', Nombre)-1));
      Inc(Num);
      Nombre := Copy(Nombre,1,Pos('(', Nombre)-1)+'('+IntToStr(Num)+')' + Ext;
    end;
    if FileExists(Nombre) then
      TomarNombre(Nombre, Nombre);
  end;
  Nuevo:= Nombre;
end;

// codigo de prueba
procedure TForm1.Button1Click(Sender: TObject);
var
  Ori, Des: TMemoryStream;
  i: Integer;
  b: Byte;
  Nombre: string;
begin
  if OpenDialog1.Execute then
  begin
    Ori:= TMemoryStream.Create;
    Des:= TMemoryStream.Create;
    try
      Ori.LoadFromFile(OpenDialog1.FileName);
      TomarNombre(OpenDialog1.FileName, Nombre);
      for i:= 0 to Ori.Size - 1 do
      begin
        Ori.Read(b, 1);
        Des.Write(b, 1)
      end;
      Des.SaveToFile(Nombre)
    finally
      Ori.Free;
      Des.Free
    end;
  end;
end;
end.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No consigo renombrar un archivo Paulao Varios 7 05-10-2011 20:19:34
Renombrar archivo mcalmanovici Varios 6 02-01-2008 17:51:00
Archivo DesignEditor.dcu no existe egostar OOP 5 30-12-2007 17:19:25
Comprobar si existe archivo Ken_Masters API de Windows 2 29-07-2007 17:14:19
saber si archivo existe cahosoft API de Windows 2 09-01-2006 11:42:07


La franja horaria es GMT +2. Ahora son las 20:35:30.


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