Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2008
pablitous pablitous is offline
Registrado
 
Registrado: sep 2008
Posts: 3
Poder: 0
pablitous Va por buen camino
invertir string, duda!!

este boton lo que hace es llamar a un explorador para seleccionar una imagen y guardala. yo guardo la ruta en la db, pero no quiero que me guarde el path completo, sino que quiero que me guarte en la misma carpeta de donde ejecuto el programa, por lo que se me ocurrio cortar el path de la siguiente manera:
· ponele que subo una foro que esta en c:\foto.jpg
· empiezo a copiar de atras para adelante a otro string hasta que haya una barra(\). me quedaria gpj.otof
· luego vuelvo a invertir el string para que me quede bien, foto.jpg
· y asi guardar el path con solo foto.jpg sin el c:\
espero hayan entendido y me puedan ayudar

tengo este pedaso de codigo y no me anda, creo que el problema esta en que no me toma el string c:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:string;i,j:integer;
begin
  j:=0;
  OpenDialog1.Execute;
  DBEdit3.Text := OpenDialog1.FileName;
  a:=DBEdit3.Text;
  b:=a;
  for i:=(length(b)-1) downto 0 do
  begin
  while b[i] <> '\' do
  begin
  c[j]:=b[i];
  j:=j+1; // lo mismo si pongo inc(j)
  end;
  end;
  b:='';
  j:=0;
  for i:=(length(c)-1) downto 0 do
  begin
  b[j]:=c[i];
  j:=j+1;
  end;
  copyfile(Pchar(a),Pchar(b),false);
  DBEdit3.Text:=b;
end;
Responder Con Cita
  #2  
Antiguo 23-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No te compliques la vida, usa la función ExtractFileName, que te devuelve justo lo que quieres: el nombre del archivo sin la ruta (path).

// Saludos
Responder Con Cita
  #3  
Antiguo 23-09-2008
pablitous pablitous is offline
Registrado
 
Registrado: sep 2008
Posts: 3
Poder: 0
pablitous Va por buen camino
esa funcion me andubo perfecto, mil gracias

quedo una cosa asi ahora:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:string;
begin
  OpenDialog1.Execute;
  DBEdit3.Text := OpenDialog1.FileName;
  a:=DBEdit3.Text;
  b:=ExtractFileName(a);
  copyfile(Pchar(a),Pchar(b),false);
  DBEdit3.Text:=b;
end;
pero ahora solo me toma el nombredel archivo, por lo que necesitaria agregarla la ruta de ejecucion del programa y noc de donde sacarla.

solo esta linea me faltaria cambiar:

b:=ruta de ejecucion del programa + '\' + ExtractFileName(a);

y tendria que usar quotedstr?
Responder Con Cita
  #4  
Antiguo 23-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues usa

Código Delphi [-]
ExtractFilePath(Application.ExeName);

Application.ExeName te da la ruta completa del ejecutable (incluido el nombre del archivo) y ExtractFilePath extrae la ruta.

// Saludos
Responder Con Cita
  #5  
Antiguo 24-09-2008
pablitous pablitous is offline
Registrado
 
Registrado: sep 2008
Posts: 3
Poder: 0
pablitous Va por buen camino
mil gracias, andubo perfecto
Responder Con Cita
Respuesta



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
Duda con string i array adrall Varios 4 01-07-2008 03:29:17
Duda con una String Paulao Varios 1 30-06-2008 13:33:09
Invertir string - mariolop12 OOP 4 07-06-2008 15:48:46
Invertir un color Keiso API de Windows 1 20-08-2004 02:05:27
invertir una tabla ebeltete SQL 8 23-05-2003 01:10:59


La franja horaria es GMT +2. Ahora son las 17:16:39.


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
Copyright 1996-2007 Club Delphi