Ombrerico
(usa Outra)
Enviado em 07/08/2022 - 10:52h
Consegui fazendo um pouco de código:
//---------------------------------------------------------------------------------------------------------------------
{
Crie um novo projeto com os componentes:
1 Button1
1 Edit1
4 Panel ( Panel1 Panel2 Panel3 Panel4 )
{
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
var
lista, lista2, ip, ep, str : String;
k : Integer;
{$R *.lfm}
{ TForm1 }
procedure organiza_lista;
begin
lista := ip;
Insert('.',lista,pos('.',lista)+LENGTH(lista));
lista2 := lista;
lista := '';
str:='';
while LENGTH(lista2) > 0 do begin
str := Copy(lista2,1,Pos('.',lista2)-1); // número+posição+valor
Insert('.',lista,pos('.',lista)-1);
Insert(str,lista,pos('.',lista)+1);
try
Delete(lista2,1,Pos('.',lista2)-1);
if lista2 <> '' then begin Delete(lista2,1,1); end;
except
ShowMessage('Error in list2!');
end;
inc(k);
end;
Delete(lista,1,Pos('.',lista)+0); // deleta 1° '.'
end;
procedure prepara_ip;
begin
Form1.Panel1.Caption:=Form1.Edit1.Caption;
ip := Form1.Edit1.Caption;
organiza_lista;
Form1.Edit1.Caption:=lista;
ip := lista;
ep := Copy(ip, Pos ('.', ip), Length(ip));
Delete(ep,1,Pos('.',ep)+0); // deleta 1° '.'
Delete(ip, Pos ('.', ip), Length(ip));
Delete(ip,1,Pos('.',ip)+0); // deleta 1° '.'
Form1.Panel2.Caption:=ip;
Form1.Panel3.Caption:=ep;
ip:=ep;
organiza_lista;
ip:=lista;
Form1.Panel4.Caption:=ip;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
prepara_ip;
end;
end.
//---------------------------------------------------------------------------------------------------------------------
Se você sabe uma forma mais simples, por favor poste.
Obrigado.