Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gdlrinfo Ver Mensaje
Pero al guardarlo me da un error de tipo float
Pues copia exactamente el mensaje de error.
Responder Con Cita
  #2  
Antiguo 25-08-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Buenasss

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues copia exactamente el mensaje de error.
Discúlpame el error es '14.0' is not a valid floating point value si lo hago con el open office sin pasar por Delphi lo hace a la perfección! Muchas gracias !!!
Responder Con Cita
  #3  
Antiguo 25-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pueden ser varias causas, si hicieras un "copia->pega" sería más fácil ayudarte.
En principio, mira si usas el punto o la coma para los decimales.
También deberías mirar si has pasado el valor como texto en lugar de como número, tendrá una comilla simple delante: ej.: '14.0
Responder Con Cita
  #4  
Antiguo 25-08-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Hola

Casimiro Como estas mira puedo hacer copia y pega pero el tema es que un proceso existente muy extenso no lo invente yo es este mismo https://searchcode.com/codesearch/view/1112758/ puse el enlace para no copiarlo todo acá el error de Float nose a que se debe porque en verdad lo que esta haciendo es abrir un xls con el open office y guardarlo como DBF nada mas.- lo que haría en programa seria esto como dije antes es una función existente ....

Código Delphi [-]
FUNCTION THojaCalc.SaveDocAs (strName: string; bAsExcel97: boolean = false): boolean;

{ Function added by Massimiliano Gozzi on V0.92 }
{ AsEXcel97 taken form V0.93 by Rômulo Silva Ramos }
{ Saving as .xls on Excel 2000/2003 trick by Malte Tüllmann on V1.01 }

  VAR
    vOoParams: variant;
    exVersion: Extended;
    saveThousandSeparator, saveDecimalSeparator: char;


  BEGIN
    result := false;
    IF DocLoaded
    THEN
      BEGIN
        IF IsExcel THEN
          BEGIN
          {$IFDEF COMPILER_7_UP}
            exVersion := StrToFloat(m_vPrograma.Application.Version, m_AmericanFormat);

          {$ELSE COMPILER_7_UP}
            saveThousandSeparator := SysUtils.ThousandSeparator;
            saveDecimalSeparator := SysUtils.DecimalSeparator;
            SysUtils.ThousandSeparator := ',';
            SysUtils.DecimalSeparator := '.';
            exVersion := StrToFloat(m_vPrograma.Application.Version);
            SysUtils.ThousandSeparator := saveThousandSeparator;
            SysUtils.DecimalSeparator := saveDecimalSeparator;

          {$ENDIF COMPILER_7_UP}
            IF (exVersion < 12)
            THEN //
            //Before Excel 2007 this was the method to force SaveAs Excel97 .xls
            //by Malte Tüllmann on V1.01
              m_vDocument.Saveas(strName, - 4143, EmptyParam, EmptyParam, EmptyParam, EmptyParam)
            ELSE //
            // From Excel 2003 this is the way to force .xls file format (excel8)
            // for back compatibility with older excel version and OO.
            //
            // 51 = xlOpenXMLWorkbook (without macro's in 2007-2010, xlsx)
            // 52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2010, xlsm)
            // 50 = xlExcel12 (Excel Binary Workbook in 2007-2010 with or without macro's, xlsb)
            // 56 = xlExcel8 (97-2003 format in Excel 2007-2010, xls)
            // More on this here: http://www.rondebruin.nl/saveas.htm
              m_vDocument.Saveas(strName, 56);
            m_strFileName := strName;
            result := true;
          END {IF};
        IF IsOpenOffice THEN
          BEGIN //
          //I may need 1 or 2 params...
            IF bAsExcel97
            THEN
              vOoParams := VarArrayCreate([0, 1], varVariant)
            ELSE
              vOoParams := VarArrayCreate([0, 0], varVariant); //
          //First one for prompting on overwrite (good idea!)
            vOoParams[0] := ooCreateValue('Overwrite', false); //
          //Optionally tell OpenOffie to use Excel97 .xls format
            IF bAsExcel97 THEN
              vOoParams[1] := ooCreateValue('FilterName', 'MS Excel 97'); //
          //Do the save!
            m_vDocument.StoreAsUrl(FileName2URL(strName), vOoParams);
            m_strFileName := strName;
            result := true;
          END {IF};
      END {IF};
  END {THojaCalc.SaveDocAs};
Responder Con Cita
  #5  
Antiguo 25-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gdlrinfo Ver Mensaje
Casimiro Como estas mira puedo hacer copia y pega pero el tema es que un proceso existente muy extenso no lo invente yo es este mismo https://searchcode.com/codesearch/view/1112758/ puse el enlace para no copiarlo todo acá el error de Float nose a que se debe porque en verdad lo que esta haciendo es abrir un xls con el open office y guardarlo como DBF nada mas.- lo que haría en programa seria esto como dije antes es una función existente ....
Pues lo que te he dicho antes, tienes un numérico que lleva un carácter no númerico, por ejemplo lo que he puesto antes: '14.0 (Sobra la comilla del principio)
No podemos hacer mucho si no tenemos los datos que pasas, revisa esos datos que estén correctos.
Responder Con Cita
  #6  
Antiguo 27-08-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Buenas nuevamente

Buenas como estas ? Mira ahí quite la única columna numérica que tenia y tampoco lo hace no solo tira ese error sino que al quitar la Columna numérica tira un error que dice insuficiente memoria para realizar la tarea solo son 200 registros, en todo caso por ahí ustedes conozcan otro método para hacerlo osea pasar el xls a dbf desde ya muchas gracias !!!
Responder Con Cita
  #7  
Antiguo 27-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El problema es que tendríamos que tener un ejemplo real del fichero y demás, para probar.
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 de .doc a .pdf santiago14 Varios 10 03-06-2014 01:48:24
Convertir un BIN a PDF Volkhavaar82 Varios 2 22-05-2013 17:50:56
Convertir a DBF JerS Tablas planas 7 25-01-2010 18:30:37
Convertir de DOC a PDF kes Varios 2 16-10-2003 08:22:33
Convertir bmp a .ico jealousy Gráficos 2 06-10-2003 18:58:26


La franja horaria es GMT +2. Ahora son las 14:16:35.


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