Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

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
Gracias amigos por contestar
Estuve probando las variantes que me dieron pero aun sigue mi el problema
Voy a explicar mejor lo que quiero lograr,quizas este cometiendo algun error,
En la exportacion de un excel quiero dar la opcion de que se escoja la carpeta donde se va a guardar ese excel,para ello obtengo la direccion de un DirectoryListBox1 y lo paso a un Edit,en otro Edit doy la opcion para ponerle el nombre al excel
Código:
   String Direccion = Edit1->Text;
   String Nombre = Edit2->Text;
   String Barras = "\\";
   String Salvar = Direccion + Barras+ Nombre + ".xlsx";
   char *c = AnsiString (Salvar).c_str();
cuando trato de salvarlo en esta linea me da error:no se puede tener acceso al archivo,intente lo siguiente: ....... y pone unas cuantas cosas.
Código:
Excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs", c);
Si le pongo la direccion donde quiero salvar el excel directamente funciona perfectamente
Código:
Excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","D:\\prueba.xlsx");
En si lo que quisiera lograr es que : c tuviera ese valor("D:\\prueba.xlsx")
Gracias por su tiempo!!
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: 36
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
En si lo que quisiera lograr es que : c tuviera ese valor("D:\\prueba.xlsx")
Hola.

Entonces creo que podrías simplemente hacer:
Código:
  String Salvar = Edit1->Text + "\\\\" + Edit2->Text + ".xlsx";
  char *c = Salvar.c_str();
  ...
Saludos.

Edito: Y se puede reducir el código un poco más:
Código:
  char *c = AnsiString(Edit1->Text + "\\\\" + Edit2->Text + ".xlsx").c_str();
  ...
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 01-10-2012 a las 22:32:30. Razón: Agregar ejemplo
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
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
  #4  
Antiguo 01-10-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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
  #5  
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
  #6  
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
  #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: 36
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
  #8  
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
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
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 15:14:52.


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