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 04-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Separar texto en 2 lineas...para impresion de cheques

Hola amigos...

Estaba buscando una funcion que me permitiera separar un texto (sin cortar una palabra) en dos lineas,,, para la impresion de cheques....

Hace un tiempo hice la misma funcion pero en clipper.. y ahora no me cruje como hacerla....

la funcion que utilizaba en Clipper era la siguiente:

Código:
Lar := Len(numeropala(cmonto))  -> el largo de numero en palabras

if (lar >= 50)
  pal1:= substr(pala,1,50)
  pos:= rat(" ",pal1)  -> me indicaba la posición donde empezaba un espacio
  Pal1 := SubStr(pala,1, pos - 1)
  Pal2 := SubStr(pala, pos +1, lar - pos);
else
  Pal1 := pala;
Bueno,

hasta el momento he encontrado lo siguiente:

Length -> para obtener el largo de la palabra

me falta poder buscar un espacio despues de dicha posición... y empezar a cortar y unir...

la idea seria imprimir lo siguiente (Monto -> $ 854.254.121)

Ochocientos cincuenta y cuatro millones doscientos cincuenta y cuatro mil ciento veintiun

y separarlos en

Ochocientos cincuenta y cuatro millones doscientos
cincuenta y cuatro mil ciento veintiun
__________________
BlueSteel

Última edición por BlueSteel fecha: 04-07-2007 a las 01:31:46.
Responder Con Cita
  #2  
Antiguo 04-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
(...) me falta poder buscar un espacio despues de dicha posición...
Creo que la función "rat" de Clipper, según veo, puede sustituirse por la función "pos" en Delphi.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 04-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Talking

la funcion rat de clipper busca la última posición en donde se encuentra un caracter..

estoy probando la funcion pos... pero me fuciona a medias... solo me falta ver la opción de que me devuelva la posición del último caracter que necesito y no del primero.... pero en eso estoy

gracias
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 04-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
La ultima posicion en delphi se usa con

LastDelimiter que como parametros recibe un string con los delimitadores (en este caso el espacio) a buscar y la cadena a examinar
Código Delphi [-]
 
function UPalabra(s:string):string;
begin
 Result:=copy(s,LastDelimiter(' ',s),Length(s));
end;

La función anterior llamada con 'Adios Mundo Cruel'devuelve Cruel

para buscar todo menos la ultima palabra sería

Código Delphi [-]
 
function UPalabra(s:string):string;
begin
 Result:=copy(s,1,LastDelimiter(' ',s));
end;
Responder Con Cita
  #5  
Antiguo 04-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
gracias de todos modos.. pero tampoco me sirve

trate de usar la funcion LastDelimiter, pero me devuelve un caracter.. y lo que necesito es la posición del caracter..

tambien la combine con Pos, pero me devuelven el primero.. y necesito el último...

seguire tratando
__________________
BlueSteel
Responder Con Cita
  #6  
Antiguo 04-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Algo tienes mal, porque LastDelimiter se definiie como:

function LastDelimiter(const Delimiters, S: string): Integer;


te devuelve la posición del último caracter que indiques en la constante Delimiters
Responder Con Cita
  #7  
Antiguo 04-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
perfecto.. ahora me funco...

realmente la estaba utilizando mal..

Código Delphi [-]
    largo:=Length(Cadena); 
    If Largo >= 85 Then
        Begin
             Paso:= LastDelimiter(' ',Copy(Cadena,1,85));
             sPal1.Caption := Copy(Cadena,1,paso-1);
             sPal2.Caption := Copy(Cadena, paso+1, length(Cadena)-paso)
        End
     Else
        Begin
             sPal1.Caption := Cadena;
             sPal2.Caption := '-----------';
        End;
__________________
BlueSteel
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
Leer varios archivos de texto y extraer solo 2 lineas de ese texto mp3968 Internet 1 17-05-2007 20:24:09
Impresión en Modo Texto para matriz de puntos AzidRain Impresión 0 09-06-2006 02:15:19
Programa para Imprimir cheques SaLvaGe Impresión 2 25-03-2005 08:36:36
Separar en campos un archivo de texto Walterdf Varios 3 18-08-2004 21:39:57
Impresion de cheques ale Impresión 2 19-02-2004 16:29:43


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


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