Ajuda para conversão de pequena função Delphi para Java

Olá galera, eu tô com a seguinte função no Delphi;

function VerificaComando(Recebido, Comando: String; Parcial: boolean): Boolean; begin recebido:= AnsiLowerCase(trim(recebido)); comando:= AnsiLowerCase(trim(comando)); if not Parcial then result:= AnsiSameText(recebido, comando) else result:= pos(comando, recebido) <> 0; end;

E preciso converter essa função para o Java, a minha maior dificuldade tá na função pos() do Delphi. Alguém consegue me ajudar a converter essa função?

Desde já agradeço e qualquer ajuda será bemvinda,
abraços à todos.

Olá Leogazio,

Creio que você possa converter a função pos pelo método indexof, só que o retorno 0 aqui corresponde a primeira posição, já em delphi a primeira posição é 1…
Exemplo:

if(recebido.indexof(comando) != -1) { return true; }
ou mais direto

return (recebido.indexof(comando) != -1);

Boa sorte!

Pô valeu Jamir. Cara sua ajuda foi batata aqui, agora só ficaram mesmo a função copy() e o procedure delete(), nessa função abaixo tem os dois;

[code]function ReceiveMsg(Received: String): String;
var
i: integer;
de, para, aux: ShortString;
msg: String;
begin
i:= pos(’=’,Received);
aux:= copy(Received,i+1,length(Received));

i:= pos(’#’,aux);
de:= copy(aux,1,i-1);
delete(aux,1,i);

i:= pos(’#’,aux);
para:= copy(aux,1,i-1);
delete(aux,1,i);
msg:= aux;

if (para = Form1.lbEdtNick.Text) and (trim(msg) = ‘atencao’) then
begin
SndPlaySound(‘ding.wav’, snd_ASync);
result:= de + ’ está chamando sua atenção!!!’;
end
else
result:= de + ’ fala com ’ + para + ': ’ + msg;
end;[/code]

Eu já revisei o código todo no projeto no Delphi e só restaram mesmo o Copy e o Delete, se você ou alguém puder me ajudar com mais essa eu agradeço muita coisa, abraços.

[quote=leogazio]Pô valeu Jamir. Cara sua ajuda foi batata aqui, agora só ficaram mesmo a função copy() e o procedure delete(), nessa função abaixo tem os dois;

[code]function ReceiveMsg(Received: String): String;
var
i: integer;
de, para, aux: ShortString;
msg: String;
begin
i:= pos(’=’,Received);
aux:= copy(Received,i+1,length(Received));

i:= pos(’#’,aux);
de:= copy(aux,1,i-1);
delete(aux,1,i);

i:= pos(’#’,aux);
para:= copy(aux,1,i-1);
delete(aux,1,i);
msg:= aux;

if (para = Form1.lbEdtNick.Text) and (trim(msg) = ‘atencao’) then
begin
SndPlaySound(‘ding.wav’, snd_ASync);
result:= de + ’ está chamando sua atenção!!!’;
end
else
result:= de + ’ fala com ’ + para + ': ’ + msg;
end;[/code]

Eu já revisei o código todo no projeto no Delphi e só restaram mesmo o Copy e o Delete, se você ou alguém puder me ajudar com mais essa eu agradeço muita coisa, abraços.[/quote]

[code] private String ReceiveMsg(String received){
int i = received.indexOf(’=’);
String aux = received.substring(i+1);

	i = aux.indexOf('#');  
	
	String de = aux.substring(0, i-1);		
	aux = aux.substring(i + 1);  
	
	i = aux.indexOf('#');
	String para = aux.substring(0, i-1);  
	aux = aux.substring(i + 1);
	
	String msg = aux;  
	  
	if (para.equals(Form1.lbEdtNick.Text) & msg.trim().equals("atencao")) {
	     	SndPlaySound("ding.wav", snd_ASync);  
	     	return de + " está chamando sua atenção!!!";
	} else { 
	      return de + " fala com " + para + ": " + msg;
	}
}

[/code]