Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cadena de texto (https://www.clubdelphi.com/foros/showthread.php?t=91831)

calcoen 09-05-2017 12:59:05

cadena de texto
 
muy buenos dias, disculpen soy nuevo en delphi y por ahi me pregunta es un poco tonta, les explico recivo un texto por puerto com con dos datos, uno entre <xxxx> y otro (xxx), lo guardo en una variable, hasta ahi todo bien, como puedo separar estos datos en dos variables distintas, desde ya gracias, hugo

Casimiro Notevi 09-05-2017 13:04:46

http://www.delphibasics.co.uk/RTL.asp?Name=Copy
http://www.clubdelphi.com/foros/guiaestilo.php

calcoen 09-05-2017 13:08:46

muchisimas gracias por tu pronta respuesta, pero el dato que me pasa el com no son cadenas fijas, si no delimitado por caracteres, por eso no puedo contar caracteres, pero desde ya gracias, hugo

Casimiro Notevi 09-05-2017 13:31:19

Cita:

Empezado por calcoen (Mensaje 516418)
muchisimas gracias por tu pronta respuesta, pero el dato que me pasa el com no son cadenas fijas, si no delimitado por caracteres, por eso no puedo contar caracteres, pero desde ya gracias, hugo

No somos adivinos, con mejores preguntas obtendrás mejores respuestas ;)
Por eso te he enlazado nuestra guía de estilo.

Desde "aquí" no vemos tu ordenador, ni el fichero que recibes, ni tu código fuente, ni nada de nada, así que tendrás que ser nuestros ojos.

movorack 09-05-2017 14:23:58

Puede que puedas usar Expresiones regulares.

Web para pruebas

oscarac 09-05-2017 18:52:53

yo hacia algo similar con esta rutina, de acuerdo a la posicion, lo asignaba en variables

Código Delphi [-]
 
    AssignFile (_file, edtArticulos.Text);
    Reset (_file);
    while not Eof(_File) do
    begin
      Readln(_File, sLinea);
      vCadena := '';
      CDSArticulo.Append;
      vContador := 0;
      for i:= 1 to Length(sLinea) do
      begin
        vChar := Copy(sLinea, i, 1);
        if vChar = '¦' then
        begin
          Inc(vContador);
  //LIN,KOD,DESCL,PR1,Check
          case vContador of
            1: begin CDSArticuloLIN.Value := vCadena; vCadena:= ''; end;
            2: begin CDSArticuloKOD.Value := vCadena; vCadena:= ''; end;
            3: begin CDSArticuloDESCL.Value := vCadena; vCadena:= ''; end;
            4: begin CDSArticuloPR1.Value := strtofloat(vCadena); vCadena:= ''; end;
            5: begin CDSArticuloCheck.Value := vCadena; vCadena:= ''; end;
          end
        End
        Else
          vCadena := vCadena + vChar;

      end;
      CDSArticulo.Post;
    end;
    CloseFile(_file);
  end;

jhonny 09-05-2017 19:38:14

O quizá te sirva la función ExtractString

Zarko Gajic explica mejor su funcionamiento acá http://delphi.about.com/od/beginners...s-Function.htm


La franja horaria es GMT +2. Ahora son las 14:54: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