Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gandarez

Seperar em duas variáveis

Recommended Posts

Ola pessoal,

 

Sei quem é bem simples porém não me recordo qual é a função.

 

O Seguinte, tenho strings assim 066X088, 077X112 e quero separa-las em um vetor ou duas variaveis que seja, da seguinte forma

var[0] := 77var[1] := 112

Deu para entender ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode fazer assim então:

 

Retorno em variável string

str1:=IntToStr(StrToInt(copy(str_valor,1,3)));str2:=IntToStr(StrToInt(copy(str_valor,5,3)));

Retorno em variável integer

str1:=StrToInt(copy(str_valor,1,3));str2:=StrToInt(copy(str_valor,5,3));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma mais dinâmica, independente da posição do X seria assim:

 

procedure TForm1.SeparaValor(str: string; var ret1, ret2: integer);var	x: integer;beginret1:=0;ret2:=0;x:=1;while x <= Length(str) do	begin	if str[x] <> 'X' then		ret1:=StrToInt(IntToStr(ret1) + str[x])	else		begin		str:=copy(str,x + 1,Length(str) - x);		if str <> '' then			ret2:=StrToInt(str);		x:=Length(str);		end;	Inc(x);	end;end;

Declara esta procedure, para chamar precisa ser assim:

Declara duas variáveis do tipo integer

 

var	valor1, valor2: integer;

e chama:

 

SeparaValor(edit1.Text,valor1,valor2);

No caso indiferente do local do X ele vai lhe retornar algo, caso não encontre algum valor retorna 0.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De qq maneira continua dando o erro

esta assim o fonte

var  aux : string;  tam_resma : array of string;begin  tam_resma[0] := copy(DBLookupComboBox5.Text, 0, 3); //pau quando executa esta linha  tam_resma[1] := copy(DBLookupComboBox5.Text, 4, 3);end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.