<div dir="auto"><div>Caros colegas do R!!! <div dir="auto">Venho desenvolvendo um projeto com dados de colar GPS de onças-pintadas com seleção de habitat no Pantanal. </div><div dir="auto">Gostaria de saber se algum de vocês possuem conhecimento sobre o package AdehabitatHS e AdehabitatLT ???</div><div dir="auto"><br><div data-smartmail="gmail_signature" dir="auto">Aluno do 7° semestre de Ciências Biológicas-UNEMAT<br></div><div data-smartmail="gmail_signature" dir="auto"><br></div></div><br><br><div class="gmail_quote"><div dir="ltr">Em Seg, 19 de nov de 2018 21:02, Cleber N.Borges por (R-br) <<a href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div class="m_4528161704605027063moz-cite-prefix">Olá Cesar,</div>
<div class="m_4528161704605027063moz-cite-prefix">Obrigado pelo comentário...</div>
<div class="m_4528161704605027063moz-cite-prefix">Não há uma biblioteca para essa
ligação. É justo a ligação que pretendia construir.</div>
<div class="m_4528161704605027063moz-cite-prefix">Até onde entendi a ligação se daria
pelo uso dessa função do R: ".C" para manuseio das funções dentro
da dll.</div>
<div class="m_4528161704605027063moz-cite-prefix">Mas de fato, imagino que a função
esteja escrevendo o valor da variável (no caso uma string) mas que
eu não entendi como fazer esse parâmetro ser transportado para o R
(tal como foi feito no exemplo em Python).</div>
<div class="m_4528161704605027063moz-cite-prefix">O help da função .C diz:</div>
<div class="m_4528161704605027063moz-cite-prefix">######<br>
</div>
<div class="m_4528161704605027063moz-cite-prefix">
<pre>.C(.NAME, ..., NAOK = FALSE, DUP = TRUE, PACKAGE, ENCODING)
onde:
<code>.NAME</code> = a character string giving the name of a C function
... = arguments to be passed to the foreign function.</pre>
</div>
<div class="m_4528161704605027063moz-cite-prefix">######</div>
<div class="m_4528161704605027063moz-cite-prefix">Por isso tentei: > result <-
.C("FDwfGetVersion", ver=as.character() ) na esperança de que a
string em C fosse "magicamente" repassada para a variável "ver",
em R.</div>
<div class="m_4528161704605027063moz-cite-prefix"><br>
</div>
<div class="m_4528161704605027063moz-cite-prefix">Mas não deu certo! :-(</div>
<div class="m_4528161704605027063moz-cite-prefix">Ainda não consegui achar nenhum exemplo
na internet para elucidar esse meu probleminha!</div>
<div class="m_4528161704605027063moz-cite-prefix">Obrigado pela atenção</div>
<div class="m_4528161704605027063moz-cite-prefix">Cleber Borges<br>
</div>
<div class="m_4528161704605027063moz-cite-prefix"><br>
</div>
<div class="m_4528161704605027063moz-cite-prefix"><br>
</div>
<div class="m_4528161704605027063moz-cite-prefix"><br>
</div>
<div class="m_4528161704605027063moz-cite-prefix">Em 19/11/2018 20:16, Cesar Rabak por
(R-br) escreveu:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Se a lógica de chamar uma função C se mantém com a
API do R que vc está usando, necessitar-se-ia que na chamada a
FDwfGetVersion você passasse uma posição de memória para a
função preencher a cadeia (a.k.a. <i>ponteiro</i> para memória
no jargão C).<br>
<br>
O que a documentação da biblioteca R para ligação com o C diz a
esse respeito?
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Sun, Nov 18, 2018 at 3:53 PM Cleber N.Borges
por (R-br) <<a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank" rel="noreferrer">r-br@listas.c3sl.ufpr.br</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>olá a todos... boa tarde!</p>
<p>Estou tentando aprender como usar uma DLL, via "dyn.load"
e ".C" dentro do R.</p>
<p> Fiz uns testes (abaixo tem um pedaço do que tentei) e
não consegui entender como fazer isso.</p>
<p>Se alguém puder dar uma dica de como fazer essa
manipulação, seria de muita ajuda!</p>
<p>E agradeço desde já por qualquer dica.</p>
<p>Obrigado!</p>
<p>Cleber</p>
<p>###</p>
<p>No pdf explicando o SDK, tem detalhe da função:<br>
</p>
<table class="m_4528161704605027063m_-2461537844725911222NormalTable">
<tbody>
<tr>
<td width="550"><span class="m_4528161704605027063m_-2461537844725911222fontstyle0">FDwfGetVersion</span><span class="m_4528161704605027063m_-2461537844725911222fontstyle1">(</span><span class="m_4528161704605027063m_-2461537844725911222fontstyle1" style="color:rgb(0,0,255)">char </span><span class="m_4528161704605027063m_-2461537844725911222fontstyle1">szVersion[32])</span></td>
</tr>
<tr>
<td width="550"><span class="m_4528161704605027063m_-2461537844725911222fontstyle3">Description:
</span><span class="m_4528161704605027063m_-2461537844725911222fontstyle4">Retrieves
the version string. The version string is composed
of major, minor, and build numbers (i.e.,<br>
“2.0.19”).</span></td>
</tr>
</tbody>
</table>
<br style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<p><img alt=""></p>
<p>##############################################################</p>
<p>### No R, eu tentei:<br>
</p>
<p>> dwf <- dyn.load("C:\\Program Files
(x86)\\Digilent\\WaveForms3\\dwf")<br>
> is.loaded("FDwfGetVersion")<br>
[1] TRUE<br>
> result <- .C("FDwfGetVersion", ver=as.character()
)<br>
> str(result)<br>
List of 1<br>
$ ver: chr(0) <br>
> <br>
</p>
<p>#################################</p>
<p>Mas em Python, vi que o resultado é o seguinte ( exemplos
em Python são disponibilizados pelo fabricante)</p>
<p>#################################<br>
</p>
<p>>>> from ctypes import *<br>
>>> dwf = cdll.dwf<br>
>>> version = create_string_buffer(16)<br>
>>> dwf.FDwfGetVersion(version)<br>
1<br>
>>> print("DWF Version: "+str(version.value))<br>
DWF Version: 3.8.22<br>
>>> <br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
</div>
</blockquote>
</div>
<br>
</blockquote>
<p><br>
</p>
<div id="m_4528161704605027063DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2">
<br><br>
<hr style="border:none;color:#909090;background-color:#b0b0b0;height:1px;width:99%">
<table style="border-collapse:collapse;border:none">
<tbody><tr>
<td style="border:none;padding:0px 15px 0px 8px">
<a href="https://www.avast.com/antivirus" target="_blank" rel="noreferrer">
<img border="0" src="http://static.avast.com/emails/avast-mail-stamp.png" alt="Avast logo">
</a>
</td>
<td>
<p style="color:#3d4d5a;font-family:"Calibri","Verdana","Arial","Helvetica";font-size:12pt">
Este email foi escaneado pelo Avast antivírus.
<br><a href="https://www.avast.com/antivirus" target="_blank" rel="noreferrer">www.avast.com</a>
</p>
</td>
</tr>
</tbody></table>
<br>
<a href="#m_4528161704605027063_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1" rel="noreferrer"> </a></div></div>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" rel="noreferrer">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</blockquote></div></div></div>