Ajuda para conversão de pequena função Delphi para Java
3 respostas
L
leogazio
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.
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!
L
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;
functionReceiveMsg(Received: String):String;vari:integer;de,para,aux:ShortString;msg:String;begini:=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')thenbeginSndPlaySound('ding.wav',snd_ASync);result:=de+' está chamando sua atenção!!!';endelseresult:=de+' fala com '+para+': '+msg;end;
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.
G
GilsonNunes
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;
functionReceiveMsg(Received: String):String;vari:integer;de,para,aux:ShortString;msg:String;begini:=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')thenbeginSndPlaySound('ding.wav',snd_ASync);result:=de+' está chamando sua atenção!!!';endelseresult:=de+' fala com '+para+': '+msg;end;
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.
privateStringReceiveMsg(Stringreceived){inti=received.indexOf('=');Stringaux=received.substring(i+1);i=aux.indexOf('#');Stringde=aux.substring(0,i-1);aux=aux.substring(i+1);i=aux.indexOf('#');Stringpara=aux.substring(0,i-1);aux=aux.substring(i+1);Stringmsg=aux;if(para.equals(Form1.lbEdtNick.Text)&msg.trim().equals("atencao")){SndPlaySound("ding.wav",snd_ASync);returnde+" está chamando sua atenção!!!";}else{returnde+" fala com "+para+": "+msg;}}