Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-10-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
saludos ecfisa
Me sigue dando el mismo error:
Compruebe que la carpeta especificada existe. Compruebe que la carpeta que contiene el archivo no es de solo lectura. Compruebe que el archivo no contiene ninguno de los siguientes caracteres: < > ? [ ] : | o * Compruebe que el nombre del archivo o de la ruta no tienen mas de 218 caracteres.

Sin embargo como le decia cuando lo pongo directamente funciona
Código:
Excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","D:\\prueba.xlsx");
Responder Con Cita
  #2  
Antiguo 01-10-2012
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 LuisMiguel.

Pero ese eror no proviene de la composición de la cadena, cuyo valor es fácilmente comprobable:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) {
  TCaption a = "D:",
           b = "\\\\",
           c = "prueba",
           d = ".xlsx";
  ShowMessage(AnsiString(a+b+c+d).c_str());
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-10-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Hice la siguiente prueba con lo que usted me dijo:
Código:
  char *b = AnsiString(Edit1->Text + "\\\\" + Edit2->Text + ".xlsx").c_str();//  resultado D:\backups\\prueba.xlsx
  char *c = "D:\\backups\\prueba.xlsx"; // resultado D:\backups\prueba.xlsx
  ShowMessage(b);
  ShowMessage(c);
Como ve el resultado de las 2 cadenas son diferentes.
Quizas el detalle este en las \\\\ que tiene
Código:
char *b = AnsiString(Edit1->Text + "\\\\" + Edit2->Text + ".xlsx").c_str();
Responder Con Cita
  #4  
Antiguo 01-10-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
probe como me dijo y devuelve: Tipo de variable incorrecto
Responder Con Cita
  #5  
Antiguo 01-10-2012
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 LuisMiguel
.
Cita:
Quizas el detalle este en las \\\\ que tiene
Si claro, de ese modo agrega "\\", eso interpreté cuando dijiste
Cita:
lo que quisiera lograr es que : c tuviera ese valor("D:\\prueba.xlsx")
Te hago una consulta, ¿ Que valores tienen Edit1->Text y Edit2->Text exáctamente ? (no lo que muestra sino lo que le ingresas)

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 01-10-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Lo que ingreso
Edit1 D:\backups
Edit2 prueba
Responder Con Cita
  #7  
Antiguo 01-10-2012
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
Cita:
Empezado por LuisMiguel Ver Mensaje
Lo que ingreso
Edit1 D:\backups
Edit2 prueba
Hola.

Dado tu ingreso, si deseas como resultado: "D:\backups\Prueba.xlsx" podés hacer:
Código:
  String s = Edit1->Text;

  char *c = AnsiString(IncludeTrailingPathDelimiter(s)+
                       Edit2->Text+".xlsx").c_str();
Si deseas como resultado: "D:\\bakcups\\Prueba.xlsx":
Código:
 AnsiString s = Edit1->Text;

  s = s.SubString(0,s.Pos("\\")) + "\\" +
      s.SubString(s.Pos("\\")+1,s.Length()) +
      + "\\\\" + Edit2->Text + ".xlsx";
 char *c = AnsiString(s).c_str();
Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 02-10-2012 a las 00:03:34. Razón: corregir identado
Responder Con Cita
  #8  
Antiguo 02-10-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Finalmente la solucion para exportarlo es con:
Código:
String s = Edit1->Text;
  char *c = AnsiString(IncludeTrailingPathDelimiter(s)+
                       Edit2->Text+".xlsx").c_str();
Muchismas gracias por su tiempo y por su ayuda.Funciona perfectamente!!!
Responder Con Cita
Respuesta


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
Convertir char*, char[], string lmpadron C++ Builder 2 29-10-2010 09:08:45
convertir int o char a hexadecimal. bactering C++ Builder 2 05-10-2008 21:18:45
convertir un int a string en builder c++ BC++ C++ Builder 3 25-07-2008 15:24:50
Convertir un Single en 4 char cmurua71 Varios 4 15-06-2007 11:25:26
String, PChar y UNICODE Ñuño Martínez Varios 5 04-06-2007 19:39:20


La franja horaria es GMT +2. Ahora son las 03:58:08.


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