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 15-02-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Question Colocarme al final de la cadena y darle un Intro

Hola a tod@s, estoy intentando hacer un tarificador de llamadas y que me guarde las tramas en un archivo, lo tengo todo echo lo que pasa es que en el archivo quiero que me guarde solo las tramas y seguidas.

Me explico, en el memo tengo todo lo que me manda el Modem los comandos AT etc... y por último las tramas.

Todas las tramas comienzan con 00 y tienen una longitud de 166 caracteres, el problema es que yo quiero tenerlas en el archivo de esta forma:

00 1234.......
00 3456.....
00 2312.....

Y en el memo me vienen primero los comandos AT y luego la centralita me manda las tramas unas detras de otras con el delimitador "|"al final de los 166 caracteres.

Como puedo conseguir que en el Memo Auxiliar que tengo me aparezcan las tramas como yo quiero.

No se si me he explicado,pero, de antenamano Gracias.

Un saludo.
Responder Con Cita
  #2  
Antiguo 15-02-2005
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Hola

Si tienes delphi de la versión 5 en adelante tienes las propiedades Delimiter y DelimitedText del objeto TStrings, luego puedes usarla de la siguiente forma:

Código Delphi [-]
  Memo1.Lines.Delimiter := '|';
  Memo1.Lines.DelimitedText := las_tramas;

Espero que sea lo que buscas.

Saludos Yusnerqui
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #3  
Antiguo 15-02-2005
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Colocarme al final de la cadena y darle un Intro

Hola

Por lo que pude interpretar de tu mensaje se podria solucionar de la siguiente manera si analizas el codigo que a continuacion te muestro:

Código Delphi [-]
procedure TFormConversionLotes.ButtonAceptarClick(Sender: TObject);
var
  x, l, cantidad: Integer;
  s, v, codigo, nombre: String;
  importe: currency;
begin
  if OpenDialog.Execute then
  begin
    X:= 0;
    s:= ExtractFileName(OpenDialog.FileName);
    AssignFile(F, s);
    Reset(F);
    NombreFichero;
    nombre:= 'Venta ' + CBTienda.Text + ' ' + fechasalida + '.txt';
    AssignFile(F1, 'C:\Archivos de programa\Tienda\' + CBTienda.Text + '\' + nombre);
    Rewrite(F1);
    while not Eof(F) do
    begin
      Readln(f, v);
      l:= length(v);
      x:= pos('AT', v);
      v:= copy(v, length(codigo), l);
      x:= pos(';', v);
      Delete(v, 1, x);
      x:= pos(';', v);
      Delete(v, 1, x);
      x:= pos(';', v);
      Delete(v, 1, x);
      x:= pos(';', v);
      cantidad:= StrToInt(copy(v, 1, x-1));
      x:= pos(';', v);
      Delete(v, 1, x);
      x:= pos(';', v);
      Delete(v, x, 5);
      importe:= StrToCurr(v);
      Convertir;
      Writeln(F1, codtrasval + ';;;' + Trim(Descripcionplu) + ';' +
                   FormatFloat('0.00' , preciocosto) + ';' +
                   FormatFloat('0.00' , precioventa) + ';' +
                   IntToStr(cantidad) + ';' + DateToStr(DTP1.Date) + ';4;' +
                   IntToStr(CBTienda.Keyvalue) + ';' + IntToStr(categoria) + ';1;');
      end;
    end;
    CloseFile(F);
    CloseFile(F1);
    ShowMessage(' El fichero de ventas ' + nombre + ' ha sido creado exitosamente');
  end;
end;

Donde F y F1 son variables de tipo Text;

Esto lo saque de un programa que hice o sea que con el pos() vas controlando la posicion que tu quieres en la cadena y con el copy vas asignandose a las variables que luego vas a insertar en el fichero de salida.

Esperando resolver tu problema

Saludos
Luis Garcia

Última edición por __hector fecha: 16-02-2005 a las 03:11:30.
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


La franja horaria es GMT +2. Ahora son las 10:45:02.


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