Tengo en una variable con unas cadenas que me entrega el radio de una sola vez y quiero dividir esa cadena, en 5 cadenas y cada cadena tenerla en una nueva variable.
Esta lista de cadena la veo en un Memo
#PO0
#SQS
#EM0
#FT0715000
#FR0711200
Ahora La variable Str tengo esta cadena #PO0 #SQS #EM0 #FT0715000 #FR0711200
Entre cada cadena hay un cambio de línea y un enter, eso lo veo con un monitor de puerto es decir el radio me envía
#PO0#13#10
#SQS#13#10
Lo que necesito hacer es cortar la cadena en 5 y pasarla a 5 variables, es decir
Variables Power, SQ, Modo, FTX y FRX y en ese proceso quitarle el sino de numero (#) de las 3 primera variables y de las dos ultima quitarle (#FT y #FR) que viene delante.
Una ves hecho esto con las tres primeras variable la usare para: ejemplo
Código Delphi
[-]If Power = 'PO0' Then Begin Label7.Visible := True; end;
Con las dos ultima pasarla a un edit: Edit1.Text := Edit1.Text + FTX;
Ahora ajunto la última idea que estuve probando que me funciona en parte, pero no sé como asignar el resultado a las 5 nuevas variables
Código Delphi
[-]procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var Str: String;
lCampos : TStringList; i: integer;
begin
ComPort.ReadStr(Str, Count);
Memo.Text := Memo.Text + Str;
lCampos := TStringList.Create;
ExtractStrings(['#'], [' '], PChar(Str),
lCampos); for i := 0 to lCampos.Count-1 do
Begin
ShowMessage(lCampos[i]);
end;
De esta manera logro obtener que me muestre 5 mensajes así: PO0 SQS EM0 FT0715000 FR0711200 solo me faltaría quitarle a la dos ultima de FR y FT el numero es variable pero siempre tendrá es formato de 7 caracteres.
¿Como pudiera pasar ese resultado a las 5 variables? que les comente, o si pueden decirme otra manera de lograr lo que quiero. Muchas gracias de antemano..