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 05-09-2007
juliobuitrago juliobuitrago is offline
Miembro
 
Registrado: jun 2006
Posts: 37
Poder: 0
juliobuitrago Va por buen camino
Unhappy Uso correcto de la función Format de la unidad SysUtils

Imprimiendo a LPT, me trabo solo en el formateo, ya lo demás funciona requetebien, pero el formateo........me da tremendo bateo extraño....
Miren esto amigos:

WriteLn(lst, Format('%-10s', Query_DetallesDESCRIPCION_SHORT.Value);
Si, esta es la linea que trato de imprimir.
Claro está que lo segundo es un TFieldString.....

Dicen que son chars, y en Internet encontré esto:
WriteLn(lst, Format('%-10s', PChar(Query_DetallesDESCRIPCION_SHORT.Value));

Nada, ahí es que comienza a darme este mensaje:
"there is not overloader version of 'Format' that be called with these arguments"

Ya probé con tomar y tratar de convertir de strings a pchar, todo bien, pero me sigue dando este problema. Mientras no aparezca el format, todo bien, pero con el format...todo se destruye,

Esto fue una impresión que casi es para mañana.......estoy en américa, así es que e pa hoy.

Alguna idea?, que hago mal ????????, se que casi siempre estos problemas es cuestión de que te salga la primera vez......
Ahhh, no se nada de formateos, pero un buen ejemplo en Internet me dijo que debía hacer esto para formatear una descripción con un numero atrás y que me salga bien organizado.
Después que termine con el primero, voy para este:

WriteLn(lst, Format('%5.2f',Query_DetallesTOTAL_LINEA.Value));

Si desean algún comentario antes que me lo coma y pueden ver que hay algún error igual, me lo dicen , por fa, estoy desesperado.....casi que perdí la paciencia....ahora ustedes son como Obi One....

Saldrá???????

Saludos y gracias anticipadas por su siempre respuesta

Fdo
Responder Con Cita
  #2  
Antiguo 05-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Hola Julio, Fernando, Buitrago o cual sea tu nombre.

La desesperación no tiene cabida en ninguna labor.

Programar en Delphi no es como en otros lenguajes donde la única fuente nutrida de información es Internet. Delphi tiene además una muy completa fuente de respuestas llamada Ayuda. Pero tiene una contraseña para ingresar a ella que casi nadie conoce: consiste en presionar la insólita tecla F1.

Ahí podrás ver cuál es la sintaxis correcta e incluso algunos muy buenos ejemplos de la función Format.

El mensaje de error que te aparece resulta de que existen dos versiones (sobrecargas) de la función Format, pero ninguna está hecha para la forma en que estás enviando los parámetros. Esencialmente, tenemos que estás intentando poner una cadena de caracteres donde debe ir un arreglo abierto. Te faltó considerar los códigos ASCII 91 y 93.

Confío en que con esto lograrás resolverlo, pero en caso contrario, no dudes en escribirnos nuevamente. Estamos para ayudarte.

Un abrazo.

Al González.
Responder Con Cita
  #3  
Antiguo 05-09-2007
juliobuitrago juliobuitrago is offline
Miembro
 
Registrado: jun 2006
Posts: 37
Poder: 0
juliobuitrago Va por buen camino
Gracias...pero...

cuando se trata de una venta al otro día, y que no es de lo que estas acostumbrado a programar, que no hay tiempo.....y que no sale como dicen los textos......la desesperación puede que se apodere de alguno, aunque lleve como yo desde el nacimiento de la misma Borland programando.
Por el Help pasé, y comprendo, por desgraciadamente la experiencia que tengo ya que soy casi un viejo, que algo falta y que mis conocimientos acumulados no me pueden dar en poco tiempo tal vez la solución que deseaba.
Me dices de códigos ascii, pero te agradecería, si dado el ejemplo que os envié, me enviaras la línea de código con la cual "esto" trabajara.
De todas formas, veré que "invento", pues el cliente debe ver que "sale", al menos........

Lo que más amo de la programación es que siempre tiene una solución, y nada aburrida, pues nos hace desesperarnos, aprender, leer, buscar.....

Además no siempre Delphi ha tenido ese Help.....no recuerdo, pero creo que fue la versión 2 la que no trajo nada de nada, y había que recurrir al Help de Delphi 1.....así es la vida

Gracias por tu desinteresada ayuda, por supuesto.

Sigo en las mismas

Saludos

Fdo.

Nota: Me llamo fernando Julio Buitrago, pero el "fernandobuitrago" y el "buitrago" estaban tomados, así es que usé mi "nombre de guerra", no había de otra, los tres son los estándares que uso en los forums.
Responder Con Cita
  #4  
Antiguo 05-09-2007
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
Buenas,
Lo que el compañero te está diciendo es que no utilizas la función correctamente. Te pongo un ejemplo de utilización:


Código:
writeln(lst,Format('Este es el primer valor %d y este el segundo %d. Suerte', [Valor1, Valor2]);
Lo que hace es sustituir los comodines %d (hay otros) por los valores que hay dentro del array, en este caso Valor1 y Valor2 (que he supuesto variables de tipo entero).

También te recomiendo que mires la función FormatFloat, que yo utilizo a veces:
Código:
Salida:='Importe  dispuesto: ' + FormatFloat('#,##0.00', ADOQuery1.FieldByName('Dispuesto').AsCurrency);
Espero haberte aclarado algo
__________________
Rafita.
Responder Con Cita
  #5  
Antiguo 05-09-2007
juliobuitrago juliobuitrago is offline
Miembro
 
Registrado: jun 2006
Posts: 37
Poder: 0
juliobuitrago Va por buen camino
Ahhhhhh

Claro Fernando (ese soy yo)...los comodines es que por cada %d y/u otra, debe existir un valor........ok, deja ver si pruebo, muchas pero que muchas gracias...es vero igual a php...dicen que el "malcomio" no piensa, pero el que anda apurao' mete la pata o no recuerda más allá de lo del momento.

Muchas gracias, de veras.....ahora que veo todo lo que traté de hacer, me doy cuanta de que "ayer" en la noche...me volví un aprendiz...gracias.

Saludos

Fdo
Responder Con Cita
  #6  
Antiguo 05-09-2007
juliobuitrago juliobuitrago is offline
Miembro
 
Registrado: jun 2006
Posts: 37
Poder: 0
juliobuitrago Va por buen camino
De todos modos

El lió mio no era precisamente en las conversiones, sino en las alineaciones....en el caso de formatfloat, y el que yo uso FloatToStrF, ni alinean, hasta donde yo c, por lo que para "pelear" con una impresora de tickets, que es el ejemplo, ("a palo"), no queda más remedio, hasta donde veo, que usar eso o hacer funciones de "relleno" como la que hice.

Muchas gracias a todos por sacarme del "fooling around"

Saludos

Fdo Julio Buitrago
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
Sobre la función StartService y sus parámetros dec API de Windows 19 01-03-2008 04:17:02
Problema al ejecutar el programa ( Unit SysUtils ). chelejuan Varios 21 14-10-2005 15:41:37
Problema con format santiago14 Varios 1 18-08-2005 20:29:18
Problema con SysUtils.Abort Javi2 Varios 3 06-04-2005 18:48:12
COmo genero un mensaje antes de un Sysutils.Abort Bitbanner Conexión con bases de datos 19 16-02-2005 17:41:58


La franja horaria es GMT +2. Ahora son las 02:46:17.


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