Pessoal, ajuda ae com esse Copy()...
O Valor da String que tenho é retirada do Registry, semelhante a essa abaixo:
#?USBVid_0951&Pid_16070019E0014A165C8812120139{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Quero colocar numa outra String o valor:
USB\Vid_0951&Pid_1607\0019E0014A165C8812120139
Só que, o valor de [b:61babd824d]Pid_[/b:61babd824d] acima muda, podendo ter mais de 4 casas ou menos, e no lugar de [b:61babd824d][/b:61babd824d] coloco [b:61babd824d]\[/b:61babd824d]
Eu sei que tenho de procurar por [b:61babd824d][/b:61babd824d] para localizar o Pid_
Algum fera saberia fazer esse copy para a string?
Ajuda ae que complicou a minha lógica aqui :lol:
#?USBVid_0951&Pid_16070019E0014A165C8812120139{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Quero colocar numa outra String o valor:
USB\Vid_0951&Pid_1607\0019E0014A165C8812120139
Só que, o valor de [b:61babd824d]Pid_[/b:61babd824d] acima muda, podendo ter mais de 4 casas ou menos, e no lugar de [b:61babd824d][/b:61babd824d] coloco [b:61babd824d]\[/b:61babd824d]
Eu sei que tenho de procurar por [b:61babd824d][/b:61babd824d] para localizar o Pid_
Algum fera saberia fazer esse copy para a string?
Ajuda ae que complicou a minha lógica aqui :lol:
Onjahyr
Curtidas 0
Respostas
Woinch
16/03/2009
Experimente utilizando essa função:
Exemplo de utilização:
Espero ter ajudado...
function CopiaStr(Texto: String; Posicao: Integer; Ocorrencia: String): String; var I : Integer; begin Result := ´´; I := 0; while (Pos(Ocorrencia, Texto) > 0) do begin Result := Copy(Texto, 0, Pos(Ocorrencia, Texto)-1); Delete(Texto, 1, Pos(Ocorrencia, Texto)+ Length(Ocorrencia) -1); Inc(I); if (I = Posicao) then Exit; Result := Texto; end; end;
Exemplo de utilização:
ShowMessage(CopiaStr(´#?USBVid_0951&Pid_16070019E0014A165C8812120139{a5dcbf10-6530-11d2-901f-00c04fb951ed}´ 5, ´´)); //Mostra mensagem "0019E0014A165C8812120139"Espero ter ajudado...
GOSTEI 0
Onjahyr
16/03/2009
E ae Woinch, funcionou sim.
Poxa, tava com a cabeça quente. Estou criando um programa de proteção. Faz 15 dias que estou desse jeito! É rotinas de baixo nível da API usando WMI, WbemScripting_TLB e XML. Ufaa!!!
Agora é só interface e criação de imagem ISO que tenho pronto, falta só adaptação...
Blz heim, sou grato pela ajuda.
Poxa, tava com a cabeça quente. Estou criando um programa de proteção. Faz 15 dias que estou desse jeito! É rotinas de baixo nível da API usando WMI, WbemScripting_TLB e XML. Ufaa!!!
Agora é só interface e criação de imagem ISO que tenho pronto, falta só adaptação...
Blz heim, sou grato pela ajuda.
GOSTEI 0
Marco Salles
16/03/2009
ba que ta pronto vou mandar .
Exemplo de usao
showmessage(OutraOpcao(
´?USBVid_0951&Pid_16070019E0014A165C8812120139{a5dcbf10-6530-11d2-901f-00c04fb951ed)´));
function OutraOpcao(const texto:String):string;
var
pi,pf:integer;
begin
result:=Texto;
pi:=pos(´USB´,texto);
pf:=pos(´{´,texto);
result:=copy(texto,pi,pf-pi-1);
result:=stringReplace(result,´#´,´\´,[rfReplaceAll, rfIgnoreCase]);
end;Exemplo de usao
showmessage(OutraOpcao(
´?USBVid_0951&Pid_16070019E0014A165C8812120139{a5dcbf10-6530-11d2-901f-00c04fb951ed)´));
GOSTEI 0
Onjahyr
16/03/2009
Gostei do [b:b47c881760]stringReplace[/b:b47c881760], pelo menos não vou ter que fazer na mão.
Grato.
Grato.
GOSTEI 0