Ir ao conteúdo
  • Cadastre-se

guhbrj

Membro Pleno
  • Posts

    54
  • Cadastrado em

  • Última visita

posts postados por guhbrj

  1.  

     

    Pessoal, estou tentando obter dados das tabelas de relacionamento entre projetos, tarefas e usuários e estou recebendo um retorno inesperado. veja abaixo 

     

     

     

    [
        {
            "projeto": {
                "id": 1,
                "titulo": "Projeto 1",
                "descricao": "Deve ter user 1 e 3",
                "data_cadastro": "2022-06-07",
                "data_previsao_entrega": "2022-12-10",
                "data_conclusao": null,
                "situacao": 0,
                "progresso": 0,
                "caminho_arquivo_pdf": null,
                "caminho_arquivo_zip": null,
                "projeto_tarefa": [
                    {
                        "id": 1,
                        "titulo": "Título tarefa genérica",
                        "descricao": "Tarefa gererica",
                        "data_criacao": "2022-08-06",
                        "data_previsao_entrega": "2022-08-20",
                        "data_conclusao": null,
                        "situacao": 0,
                        "peso": 1,
                        "progresso": 0
                    }
                ],
                "projeto_usuario": [
                    {
                        "id": 1,
                        "caminho_foto_perfil": null,
                        "situacao": 0,
                        "nome_completo": "nome completo do usuario",
                        "email": "[email protected]",
                        "matricula": 123,
                        "tipo_usuario": 2
                    }
                ]
            },
            "0": [
                {
                    "id": 1,
                    "titulo": "Título tarefa genérica",
                    "descricao": "Tarefa gererica",
                    "data_criacao": "2022-08-06",
                    "data_previsao_entrega": "2022-08-20",
                    "data_conclusao": null,
                    "situacao": 0,
                    "peso": 1,
                    "progresso": 0
                }
            ],
            "1": [
                {
                    "id": 1,
                    "caminho_foto_perfil": null,
                    "situacao": 0,
                    "nome_completo": "nome completo do usuario",
                    "email": "[email protected]",
                    "matricula": 123,
                    "tipo_usuario": 2
                }
            ]
        }
    ]

     

     

    Espera receber algo assim:

     

    [
        {
            "projeto": {
                "id": 1,
                "titulo": "Projeto 1",
                "descricao": "Deve ter user 1 e 3",
                "data_cadastro": "2022-06-07",
                "data_previsao_entrega": "2022-12-10",
                "data_conclusao": null,
                "situacao": 0,
                "progresso": 0,
                "caminho_arquivo_pdf": null,
                "caminho_arquivo_zip": null,
                "projeto_tarefa": [
                    {
                        "id": 1,
                        "titulo": "Título tarefa genérica",
                        "descricao": "Tarefa gererica",
                        "data_criacao": "2022-08-06",
                        "data_previsao_entrega": "2022-08-20",
                        "data_conclusao": null,
                        "situacao": 0,
                        "peso": 1,
                        "progresso": 0
                    }
                ],
                "projeto_usuario": [
                    {
                        "id": 1,
                        "caminho_foto_perfil": null,
                        "situacao": 0,
                        "nome_completo": "nome completo do usuario",
                        "email": "[email protected]",
                        "matricula": 123,
                        "tipo_usuario": 2
                    }
                ]
            }
    ]

     

    Model Projeto:

     

    public function assignUser(){
            return $this->belongsToMany('App\Models\Usuario');
        }
    
        public function projetoUsuario(){
           return $this->belongsToMany('App\Models\Usuario');
        }
    
        public function projetoTarefa(){
            return $this->belongsToMany('App\Models\Tarefa');
        }

     

    Model Tarefa:

     

      public function taskProject(){
            return $this->hasOne('App\Models\Projeto');
        }

     

    Model Usuario

     

     public function userProjects(){
            return $this->belongsToMany('App\Models\Projeto');
        }

     

     

    Controller Projeto:

     

    public function get_project_user($user_id)
        {
            try {
                $user = Usuario::find($user_id);
                if (!$user) {
                    return response()->json([
                        "code" => 404,
                        "message" => "No user found."
                    ], 404);
                }
                $project_json = $user->userProjects;
                $json_response = array();
                foreach ($project_json as $project) {
                    array_push(
                        $json_response,
                        array(
                            "projeto"=>$project,
                            $project->projetoTarefa,
                            $project->projetoUsuario
                        )
                    );
                }
               return $json_response;

     

    Podem ajudar? Muito obrigado!

    image.png

  2. Oi, pessoal, boa noite ! Estou em uma situação meio estranha.

    Eu estava usando um computador que estava com a fonte meio zoada e a BIOS também.

    Ocorria que, do nada o PC reiniciava e depois funcionava normalmente. Desconfiei que fosse por causa da BIOS que havia sido atualizada e estava com uma versão diferente da fabricante da placa-mãe, mas funcionava. Sendo assim, eu resolvi buscar pela BIOS original e instalar novamente. Coincidentemente voltou a funcionar bem. Até um dia que começou reiniciar novamente. Então decidi comprar outra fonte. Mais uma vez voltou a funcionar por um tempo e depois começou a apresentar o mesmo problema.

    Comecei a suspeitar de problemas com o processador, e memória RAM e até mesmo da placa-mãe. Antes de tomar qualquer decisão, optei por formatar a máquina e reinstalar o Sistema operacional, mas de nada adiantou.

    Hoje, decidi comprar uma placa-mãe, processador, memória RAM e aproveitei para trocar também o SSD por outro com uma capacidade pouco maior. Então mantive a fonte, que havia sido comprada recentemente, e o gabinete, mas o problema continua. 

    Estranhamente, tem um padrão, determinados momentos que a máquina reinicia.

     

    1 - Logo após a tela com a logo da placa-mãe aparecer.

    2 - Quando faz logon no windows.

    3 - Quando alterna janelas.

    4 - As vezes reinicia antes de carregar as configurações básicas da máquina, não aparece nem a logo da placa-mãe, e fica em loop.

     

    configuração da máquina:

    processador core i5 9400 2.9 GHz

    placa-mãe ASUS prime h310m-e r2.0

    SSD kingston 240 GB

    RAM DDR4  2666 8GB hyperx

    Fonte Banson tech 550W

    SO windows 10 pro

     

    Nesse momento estou usando ela em modo segurança com rede há uns 40 min sem problemas.

    Podem me ajudar?

     

     

     

  3. Olá, pessoal

     

    Estou com um problema que não estou conseguindo resolver.

     

    Na Empresa onde trabalho fazemos automação de criação de login no AD usando jenkins e scripts em powershell.

    Usamos um script que altera o usuário de execução para que possamos fazer a escrita no AD.

     

    Quando o trecho do código abaixo é executado:

    $process = Start-Process powershell -Credential $credObject -NoNewWindow -Wait -PassThru -ArgumentList @"
    $SCRIPT_POWERSHELL $arguments
    "@

     

    Recebemos o seguinte erro:

     

     

    Start-Process : Access is denied
    At line:16 char:12
    + $process = Start-Process powershell -Credential $credObject -NoNewWin ...
    +            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Start-Process], Win32Exception
        + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.StartProcessCommand

     

    Este comando faz com que um novo processo Powershell seja executado, gerando assim, uma nova thread. E é nesse momento que o problema acontece. Parece que o usuário que inicia o processo não tem permissão isso.

     

    PS. Ao executar o script em um terminal aberto com privilégios administrativos funciona.

    318155584_Semttulo.jpg.a84ae4052be58501d42036b3fe03f47d.jpg

     

     

    OBS: O código funcionava antes. sem nenhum problema e não foi alterado. Alguma configuração se perdeu.

     

    Então pessoal, a dúvida é: como poderemos fazer para contornar este problema. Existe alguma configuração no windows que necessita ser feita ?

     

  4. Pessoal, beleza ?

     

    Tenho uma dúvida e gostaria de saber se podem ajudar. Não sei se existe essa possibilidade mas seria muito interessante se funcionasse.

    Será possível utilizar uma variável para apontar qual parâmetro manipular em um ponteiro de uma struct ?

     

    Veja abaixo:

     

    typedef struct{
    int atributo1;
    float atributo2;
    }estrutura;
    
    //prototipo da funcao
    void funcao(estrutura *pexemplo);
    
    int main(){
    
    	estrutura exemplo;
    	estrutura *pexemplo;
    
    funcao(pexemplo);
    
    }
    
    void funcao(estrutura *pexemplo){
    	char variavel[] = "atributo1";
    
    	pexemplo->variavel = 100; // algo do tipo    
    
    }
    pexemplo->&variavel = 100; // tentei nao funciona

     

    • Curtir 1
  5. Pessoal, alguém saberia dizer como faz para criar uma variável de ambiente com nome e conteúdo dinâmicos? Lidos de uma variável local, por exemplo:

     

    char var[30];
    
    strcpy(var, "conteudo_dinamico");
    
    putenv("nomeVariavelAmbiente=", var); 

     

    sei que essa sintaxe não existe, mas foi uma maneira didática de tentar explicar..

    Obrigado.

    • Obrigado 1
  6. Mano, boa tarde. Abaixou vou colocar  algumas dicas que podem ajudar:

     

    a) criar variavel float media para armazenar a media de cada aluno

    b) criar variavel float MaiorMediaGeral=0 e a cada vez que a media de um aluno for calculada fazer comparacao com ela.

    se media > MaiorMediaGeral entao MaiorMediaGeral = media . Pode fazer o mesmo esquema para pegar a maior nota da primeira prova, a segunda maior media e a menor tambem. só inverter o operador logico de > para <.

    ao final você ja  vai ter os dados e é so exibir. nem precisa FOR nem nada.

    c) depois de fazer a leitura da terceira nota de cada aluno, ja pode fazer a media e dizer se foi aprovado e reprovado, isso vai diminuir a complexidade e o tamanho do codigo

  7. Pessoal, pode me ajudar a resolver esse problema?

     

    Embaralho os valores no vetor mas ao passar pro HTML ele não fica embaralhado.

    Como faz ?

    var vet = ['01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg', '06.jpg', '07.jpg', '08.jpg', '09.jpg', '10.jpg', '11.jpg'];
    var i, aux, rand1 = 1, rand2 = 2, emb;
    var id;
    
    function embaralhar() {
    
    
      emb = Math.floor(Math.random() * 10);
    
      for (i = 0; i <= emb; i++) {
    
        rand1 = Math.floor(Math.random() * 10);
    
        do {
          
          rand2 = Math.floor(Math.random() * 10);
    
        } while (rand1 == rand2);
    
        aux = vet[rand1];
        vet[rand1] = vet[rand2];
        vet[rand2] = aux;
    
        for (i = 0; i <= 10; i++) {
    
          if (i <= 9) {
    
            id = "drag0" + String(i);
    
          } else {
    
            id = "drag" + String(i);
    
          }
    
        }
    
      }
      alert(vet); // no alert, ao abrir o navegador, aparece embaralhado mas no html nao embaralha.
      return vet;
    }

     

  8. Resolvido ! ^^

     function drag(ev) {
        ev.dataTransfer.setData("text", ev.target.id);
      }
    
      function drop(ev) {
        ev.preventDefault();
        var data = ev.dataTransfer.getData("text"); // data é a div que esta sendo arrastada
       var res = data.split("drag", 2);
       var tanam = document.getElementById(ev.target.id);
        alert(tanam.id); //div que recebe 
        alert(data)
        if(!ev.target.src){
            
          ev.target.appendChild(document.getElementById(data));
          cai.play();
    
        }else{
          
          error.play();
        }

     

  9. Pessoal, estou com dificuldade pra fazer com que seja possível movimentar uma imagem apenas para uma div vazia. podem me ajudar ? aqui está o código.

    <!DOCTYPE HTML>
    <html>
    
    <head>
      <link rel="stylesheet" type="text/css" href="CSS\main.css">
      <style>
        #div1 {
          width: 350px;
          height: 70px;
          padding: 10px;
          border: 1px solid #aaaaaa;
        }
      </style>
      <script>
        function allowDrop(ev) {
          ev.preventDefault();
        }
        
        function drag(ev) {
          ev.dataTransfer.setData("text", ev.target.id);
        }
    
        function drop(ev) {
          ev.preventDefault();
          var data = ev.dataTransfer.getData("text");
          ev.target.appendChild(document.getElementById(data));
          cai.play();
        }
        function psound() {
          select.play();
    
        }
      </script>
    </head>
    
    <body style="margin: 0px;">
    
      <audio id="cai" src="sound/cai.mp3"></audio>
      <audio id="select" src="sound/select.mp3"></audio>
      <audio id="error" src="sound/error.mp3"></audio>
    
      <figure>
        <img src="img\pikachu.jpg" width="400" height="300" style="float: rigth;">
      </figure>
    
      <div style="border: solid black 1px; width: 769px; height:432px; float:left;">
        <div id="img1" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag1" src="img/1.jpg"></figure>
        </div>
        <div id="img2" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag2" src="img\2.jpg"></figure>
        </div>
        <div id="img3" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag3" src="img\3.jpg"></figure>
        </div>
        <div id="img4" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag4" src="img\4.jpg"></figure>
        </div>
        <div id="img5" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag5" src="img\5.jpg"></figure>
        </div>
        <div id="img6" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag6" src="img\6.jpg"></figure>
        </div>
        <div id="img7" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag7" src="img\7.jpg"></figure>
        </div>
        <div id="img8" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag8" src="img\8.jpg"></figure>
        </div>
        <div id="img9" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag9" src="img\9.jpg"></figure>
        </div>
        <div id="img10" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag10" src="img\10.jpg"></figure>
        </div>
        <div id="img11" class="pecas" ondragstart="drag(event)" ondragover="allowDrop(event)" ondrop="drop(event)"
          onmousedown="psound()">
          <figure id="frag"><img id="drag11" src="img\11.jpg"></figure>
        </div>
        <div id="div13" class="pecas" ondrop="drop(event)" ondragover="allowDrop(event)" ondragstart="drag(event)"
          onmousedown="psound()"></div>
    
      </div>
    
    
    </body>
    
    </html>

     

     

    Capturar.PNG

  10. Pessoal, boa tarde !

    Estou estudando a função fwrite e estou com algumas dúvidas. Vi em uma literatura muito antiga que o modo de abertura do arquivo a ser gravado deve ser preferencialmente binário "wb", por conta do tamanho dos dados, tendo em vista a otimização do armazenamento no disco, coisa que não existe mais hoje em dia. As minhas dúvidas são as seguintes:

     

    1 - É possível gravar dados com a função fwrite em modo texto (a, a+, w ... etc) ? Tem alguma incompatibilidade ?

    2 - O que tem de errado no código abaixo:

     

    	void cadProd(struct itens produtos)
    	{
    	
    		struct itens *aux;
    		FILE *arquivo;
    		int lim = sizeof(produtos);
    		arquivo = fopen("database.dat", "a");
    		
    		aux = malloc(sizeof(produtos));
    		
    		printf("Entre com o código: ");
    		scanf("%d", &aux->cod);
    		fflush(stdin);
    		printf("Entre com a descrição do produto: ");
    		gets(aux->desc);
    		fflush(stdin);
    		printf("Entre com a data de validade (ex.: 13/05/1888) : ");
    		gets(aux->dataVal);
    		fflush(stdin);
    		printf("Entre com a quantidade atual em estoque: ");
    		scanf("%d", &aux->quantAtu);
    		fflush(stdin);
    		printf("Entre com a quantidade mínima em estoque: ");
    		scanf("%d", &aux->quantMin);
    		fflush(stdin);
    		
    		fwrite(aux, lim, 1, arquivo);
    		fclose(arquivo);
    	}

     

    //declaração da struct
    
    struct itens{
    int cod, quantAtu, quantMin;
    char desc[20], dataVal[11]; //formato data dd/mm/AAAA
    	
    };

     

    ao executar a função e gravar no arquivo, verifiquei que os dados ficaram gravados com codificação conforme imagem abaixo: 

     

     

     

    print_encoding.PNG.a0faf5f5ce7788e9e11322c3b9b96e41.PNG

    as entradas foram 

    cod :10

    desc: aaaa

    quantAtu: 100

    quantMin: 10

     

    Alguém pode ajudar ?

    obrigado !

    • Curtir 1
  11. Pessoal, boa noite !

    Alguém saberia dizer como faço para encontrar esse objeto usando selenium - python

     

    <a href="#__dhcp.htm" id="menu_dhcp" onclick="return menuClick(this);" class="T sel minus"><span>DHCP</span></a>
    

    tentei usar:

    driver.find_element_by_xpath('//*[@id="menu_dhcp"]').click()

    Mas retornou o seguinte erro:

    Traceback (most recent call last):
      File "C:/Users/MeuPC/PycharmProjects/ProjPegaIP/PegaIP.py", line 10, in <module>
        driver.find_element_by_xpath('//*[@id="menu_dhcp"]').click()
      File "C:\Users\MeuPC\PycharmProjects\ProjPegaIP\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
        return self.find_element(by=By.XPATH, value=xpath)
      File "C:\Users\MeuPC\PycharmProjects\ProjPegaIP\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
        'value': value})['value']
      File "C:\Users\MeuPC\PycharmProjects\ProjPegaIP\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
        self.error_handler.check_response(response)
      File "C:\Users\MeuPC\PycharmProjects\ProjPegaIP\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="menu_dhcp"]"}
      (Session info: chrome=73.0.3683.86)
      (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17763 x86_64)

  12. 10 minutos atrás, Samuel Vasconcelos disse:
    
    int main(){
        Menu();
        int a=0,col=40,lin=9;
        textbackground(24);
    
        do{
            a=0;
            a_c=col;
            d  =lin;
            gotoxy(col,lin );
            textbackground(12);
            textcolor(15);
            botao();
            if(kbhit())  a =       getch(); /// Inicio do Cursor
            if(a == 224 )a =       getch(); /// se pegar caractere inválido
            if(a == 13 && col==70)sobre();
            if(a == direita )col+=10; /// Move o cursor para a esquerda
            else
                if(a == esquerda)col-=10; /// Move o cursor para a esquerda
            if(col<40)col=70;
            else
                if(col>70)col=40;
    
            gotoxy(col,lin);
            textbackground(20);
            textcolor(16);
            botao1();
            
            if(a==abaixo)lin+=2;
            else
                if(a==acima)lin-=2;
            if(lin<9)lin=13;
            else
                if(lin>13)lin=9;
    
    
            textbackground(24   );
            textcolor(0         );
            gotoxy(a_c,lin);
            if(a_c != col)botao();
            if(d!=lin)botao1();
            gotoxy(1,1);
            Sleep(10);
    
        }while( a != 27 );

    Fiz dessa outra forma, desce e sobe porém ta meio estranho... fiz somente para aluno para testar

     

    adicionado 1 minuto depois

    tente alterar o trecho 

    if(a == 13 && col==70)

        sobre();

     

    Para

    if((a== 13) &&(col==70))

        sobre();

    • Curtir 1
    • Obrigado 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!