Jump to content

kodo no kami

Members
  • Content Count

    75
  • Joined

  • Last visited

  • Days Won

    12

kodo no kami last won the day on May 1

kodo no kami had the most liked content!

Community Reputation

35 Excellent

3 Followers

Personal Information

  • Sex
    Masculino

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. E ae galera beleza? nesse tutorial vamos brincar com o modulo WWW::Mechanize do perl, esse modulo nos permite fazer determinadas requisições em sites, manipular parametros e metodos passados, manipular formularios daquela pagina, manipular os cookies e headers da requisição e etc. Com esse modulo é bastante simples o desenvolvimento de bots, scripts voltados a coleta ou dump de informações em sites, ou simplesmente automatizar um determinado envio de formulario pela web. Normalmente o modulo não vem instalado por padrão, uma das formas de instalar ele é utilizando o CPAN sudo perl -MCPAN -e "install WWW::Mechanize" com o modulo instalado basta a gente declarar ele no nosso script para começar #!/usr/bin/perl use WWW::Mechanize; agora podemos instanciar um objeto desse modulo, no caso WWW::Mechanize #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; com o objeto instanciado, é possivel fazer uma simples requisição GET em um determinado site usando o metodo get e passando a url como argumeto #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("http://eofclub.in/"); para exibir a resposta usamos o metodo content #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("http://eofclub.in/"); print $kodo->content; usando regex podemos recortar trechos especificos e montar a saida como a gente desejar #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://steamcommunity.com/id/$ARGV[0]"); my @mensagem = $kodo->content =~ /meta name="Description" content="(.*?)"/si; my @amigos = $kodo->content =~ /friendBlockContent">(.*?)<br>/gis; my @online = $kodo->content =~ />Last Online (.*?)</si; print "[--- STEAM ---]\nsteam id: $ARGV[0]\n" . "online: $online[0]\n\n" . "[--- Mensagem Perfil ---] \n$mensagem[0]" . "\n\n[--- Amigos ---] \n"; foreach my $a(@amigos){ $a =~ s/\n//gs; $a =~ s/\x09//gs; print $a . "\n"; } é possivel retornar o codigo de status usando o metodo status (passamos o autocheck para o objeto para continuar executando mesmo com o erro) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize(autocheck=>0); $kodo->get("http://google.com..br/"); print "codigo: " . $kodo->status . "\n"; if($kodo->status == 200){ print "tudo sussa!!! \n"; } else{ print "vish deu ruim \n"; } com o metodo uri retornamos a url atual #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize(autocheck=>0); $kodo->get("https://dolarhoje.com/bitcoin-hoje/"); print $kodo->uri . "\n"; com o metodo links é possivel retornar todos os links daquela pagina como uma array, podemos utilizar o parametro url para especificar as urls dos links e o parametro text para os textos naqueles links #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://pt.wikipedia.org/wiki/Perl"); my @links = $kodo->links; foreach my $l(@links){ print $l->text . "\n"; print $l->url . "\n"; print "=========================\n"; } o metodo images retornamos as imagens da pagina #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://www.facebook.com/forumeof"); my @img = $kodo->images; foreach my $i(@img){ print $i->url . "\n\n"; } para retornar informações dos formularios naquela pagina usamos o metodo forms, podemos usar alguns parametros como o action para onde sera redirecionado aquele formulario, o method sendo o metodo usado #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); my @formulario = $kodo->forms; foreach my $f(@formulario){ print $f->action . "\n"; print $f->method . "\n"; print "------------------\n"; } podemos usar o metodo inputs no exemplo anterior para retornar todos os inputs de cada formulario, com o paremetro type retornamos o tipo de input (text, password, hidden, button e etc), com o parametro name retornamos o name que sera passado, com o parametro text o texto no input, com o parametro value o valor pre-definido dele #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); my @formulario = $kodo->forms; my @inputs; my $i; foreach my $f(@formulario){ print $f->method . ": " . $f->action . "\n"; print . "\n\n"; @inputs = $f->inputs; foreach $i(@inputs){ print "----------\n"; print "type: " . $i->type . "\n"; print "name: " . $i->name . "\n"; print "text: " . $i->name . "\n"; print "value: " . $i->value . "\n"; print "----------\n"; } print "\n===========================\n"; } o submit_form é um dos metodos para preencher o formulario e depois enviar ele, para a gente usar esse metodo fazemos o request na pagina que tem esse formulario e depois usamos o metodo passando os parametros, sendo o form_number seguido da ordem daquele formulario e fields com os campos do formulario (no caso os inputs) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); $kodo->submit_form( form_number => 2, fields => { search_query => "kodo no kami" } ); print $kodo->uri . "\n"; o exemplo anterior tambem seria possivel via get direto pela propria url #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://www.youtube.com/results?search_query=kodo+no+kami"); tambem podemos usar o submit_form para enviar via POST ou usar o proprio metodo post (o metodo post é bem interessante a gente aprender a fazer ja que boa parte dos logins são feitos por ele) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; #autentica no meu roteador $kodo->post("http://192.168.1.254/login.cgi",[username=>"admin",password=>"minhawaifu","submit.htm?login.htm"=>"send"]); #pula para pagina principal depois de logado $kodo->get("index.htm") print $kodo->content; podemos salvar a pagina normalmente abrindo um arquivo e escrevendo a requisição nele (podemos salvar qualquer tipo de arquivo não apenas as pagias html) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://eofclub.in/download/EOFbookAsm.pdf"); open(KARQ,">asm.pdf"); print KARQ $kodo->content; close(KARQ); uma forma mais simples de salvar é usando o metodo save_content #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://eofclub.in/download/EOFbookAsm.pdf"); $kodo->save_content("asm.pdf"); usando o metodo agent podemos especificar um User-Agent #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"); $kodo->get("https://google.com.br"); é possivel utilizar proxy bastando atribuir ele ao metodo proxy #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->proxy(["http","https"],"http://108.61.186.207:8080"); $kodo->get("http://ip-api.com/json/"); print $kodo->content . "\n"; bom galera isso é apenas um pequeno tutorial desse grande modulo, existem muitas outras funcionalidade que podem ser feitas com esse modulo \o by kodo no kami
  2. opa \o tem um canal br o wrkits que tava ensinando criar pc 8bits passo a passo
  3. Galera nessa postagem vou mostrar o vmlab (Visual Micro Lab) que é um simulador para arquitetura AVR e ST6. Os microcontroladores aceito nesse simulador são: esse simulador alem de permitir escrever o nosso codigo em assembly é possivel instalar o winavr e integrar a ele a linguagem C, tambem tem alguns outros recursos como descrever um circuitinho em spice, um painel onde tem alguns componentes (botões, leds, potenciômetro e etc). Para baixar ele podemos ir direto no site oficial site oficial depois de baixar, instalar e executar vamos nos deparar com janela inicial para começar basta a gente criar um projeto apertando no menu "Project" e depois "New project". Na proxima aba no "Step 1" escolhemos onde vamos salvar o nosso projeto, no "Step 2" vamos escolher o processador (no meu caso vou brincar com o atmega168), no "Step 3" podemos deixar o compilador padrao, no "Step 4" podemos adicionar uma codigo fonte digitando o nome e apertando em "Add this", por fim apertamos no botão "OK" com o projeto criado basta digitar o nosso codigo assembly na aba do codigo e o nosso circuito na aba do projeto (podemos usar apenas o codigo e debugar ele, não é necessario criar o circuito). Nesse tutorial não vou abordar a linguagem assembly (talvez em um futuro tutorial quem sabe). Para esse exemplo vou fazer um simples codigo que coloca um dos pinos do microcontrolador como saida e fica alternando ele em um loop infinito, para isso setamos em um registrador a pinagem que vamos ter como saida ou como entrada (diferente dos PICs onde o numero 0 indica a saida e o numero 1 a entrada, os AVRs o numero 0 indica a entrada e 1 seria a saida '-' ), agora enviamos o conteudo daquele registrador para o DDRx indicando quem vai ser a saida ou entrada daquele Port .include "C:\VMLAB\include\m168def.inc" reset: rjmp inicio inicio: ;reg r20 recebe 00000100 ldi r20,4 ;especificamos as entradas/saidas do PORTD out DDRD,r20 agora em um loop infinito vou ficar alternando (tem formas mais eficientes como manipular cada bit XD), nesse caso tambem não vamos enviar para o DDRx e sim para o proprio PORT .include "C:\VMLAB\include\m168def.inc" reset: rjmp inicio inicio: ;reg r20 recebe 00000100b ldi r20,4 ;especificamos as entradas/saidas do PORTD out DDRD,r20 repetir: ;seta no reg20 00000000b ldi r20,0 out PORTD,r20 ;seta no reg20 00000100b ldi r20,4 out PORTD,r20 ;pulo incodicional para o repetir rjmp repetir depois de escrever o nosso codigo basta compilar e debugar o codigo, para isso apertamos no menu "Project" e por fim "Build" (tambem podemos apertar a tecla F9), se tudo ocorrer bem vai aparecer uns quadradinhos verde no lado do codigo alem de uma mensagem na aba message ("Success! All ready to run") podemos rodar nosso codigo indo no menu "Run", apertando em "Go / Continue" (F5) ele vai rodar o codigo direto ou podemos rodar passo a passo apertando no menu "Step over" (F6) ou "Step into" (F7) no lado do codigo tem uns quadrado verde sendo um breakpoint, podemos apertar nele e parar a execução do codigo sempre que passar naquela determinada instrução que tiver o breakpoint, assim podemos da um run direto e analisar apenas aquele trecho em especifico podemos abrir algumas abas no menu "View" que mostra algumas informações dos registradores, pinos, memorias. no menu "View" tambem tem o "Control Panel" com alguns componentes como botões e leds. Para interligar um dos pinos do microcontrolador a um dos led usamos a aba project e descrevemos o circuito em spice (tem um pequeno probleminha, não da para usar o pino como source para o led, então vai ter que acender o led em nivel logico baixo e apagar ele em nivel logico alto kkk) .MICRO "ATmega168" .PROGRAM "kodo.asm" .TARGET "meuprojeto.hex" .TRACE ; Activate micro trace .POWER VDD=5 VSS=0 ; Power nodes .CLOCK 1meg ; Micro clock .STORE 250m ; Trace (micro+signals) storage time ;tem um resistor de 280 ohms ta conectado ao PortD pino 2 e ao Nó 1 R1 PD2 1 280 ;o anodo do led ta no VDD e o catado ta no Nó 1 D1 VDD 1 tambem existe um osciloscópio no simulador, para usar ele declaramos .PLOT o pino no project .PLOT V(PD2) se a gente olhar na pasta do projeto vai ter o .hex então é possivel subir o nosso codigo em um microcontrolador real bom galera esse simulador é bem legal para aprender programar em assembly para microcontroladores AVR ^^ by kodo no kami
  4. galera uma pequena obs, eu inverti ali contato aberto e contato fechado kkkk se algum mod/adm puder modificar o trecho anterior por esse, não da para editar =/
  5. bom galera o CADe SIMU é um simulador legalzinho onde podemos simular um CLP (deixo tambem essa postagem de referencia do mano 51M0N do funcionamento de um CLP -> como funciona o PLC). Para baixar o CADe SIMU podemos ir direto no site oficial site oficial depois de baixar, basta extrair e executar ele no menu Entradas/Saidas temos 2 tipos de CLP (se eu não estiver errado o primeiro é um Logo 24rce e o segundo um s7-1200). Uma coisa que eu não gostei nesse simulador são os icones do menu são bem pequenos não sei se é possivel aumentar eles =/ nesse exemplo vamos usar o Logo, sendo a sua alimentação 24v feita pelo P1 e P2. Usamos o menu Alimentação para colocar o VCC/GND e o menu Cabos e Conexões para selecionas os cabos vou fazer uma simples logica ligar e desligar usando dois botões simples um para ligar outro para desligar, quando a gente apertar o botão de ligar uma vez o CLP vai aceder uma lampada e quando for apertado o botão de desligar a lampada vai ser apagada. Outra coisa que temos que citar que a saida desse CLP do simulador é via relé ou seja precisamos alimentar ela tanto com positivo quanto com negativo, o CLP nesse caso vai atuar como uma chave para o relé interno. Nesse exemplo coloquei tambem dois botões nas entradas I1 e I2 e uma lampada na saida Q1 para programar o CLP usaremos a linguagem ladder (nesse simulador tambem é possivel por grafcet e logica). No menu ladder a gente seleciona alimentação positiva e negativa, colocamos um contato fechado com o nome da entrada I1 interligado a um contato aberto com o nome da entrada I2 na saida Q1 (resumindo, quando a gente apertar no botão vai fechar o o contato I1, como o I2 ja vai esta fechado vai alimentar a saida Q1). Tambem fazemos um selo com um contato Q1 em paralelo ao I1 para quando a gente soltar o botao do I1 vai ser realimentado pela propria saida Q1 e vai continuar ligado. Por outro lado quando o botão da entrada I2 for apertado vai abrir o contato I2 e desligar o Q1 o nosso exemplo ta prontinho bastando começar a simular e por fim aperta no botão para ver o funcionando do nosso codigo ladder se a gente apertar no outro botão vai desligar a lampada pela logica no ladder bom galera é so um exemplo basicão tem muitos outros componentes nesse simulador para brincar, excelente para começar brincar com a linguagem ladder *-* by kodo no kami
  6. então mano puxei as info do proprio site do sindicato usando o perl depois transformei em db para manipular no delphi \o
  7. opa bem vindo ao forum, qualquer coisa so chamar \o
  8. galera mais um software ai, dessa vez do sindicato de vr e algumas cidades proximas, bom para encontrar um mecanico quando o carro da pau em algum lugar ou alguem que trabalha em alguma area especifica para algum tipo de trabalho. O DB é bem pequeno tem apenas 5k de dados (obs: algumas colunas nao ficaram muito ordenadas =/ ) downnload (mega)
  9. ola erik tudo bem? então mano não existe uma linguagem ideal para começar, no caso basta escolher uma do seu gosto ou a que te chamar mais atenção e estudar ela (quando sentir vontade de mudar de linguagem so mudar não precisa se prender a ela ~ meu primeiro contato com programação foi a linguagem basic depois pulei para pascal). Exemplo algumas linguagens c: linguagem boa para programação desktop, tem compilador para maioria das arquiteturas e plataformas inclusive embarcados. Embora não seja usada para programação web é possível, boa parte do linux e seu kernel foi construída nela, boa para manipular memoria por não ter tanta abstração c++: uma linguagem baseada na linguagem C com um dos diferencias que ela é orientado a objeto basic: linguagem mais antiga que a anterior,. comumente usada em computadores e sistemas operacionais antigos embora ainda seja usada hoje em dia, tem muitas variações hoje em muitas IDE e aplicações como visual basic (vb) sendo muito boa para criar programas com interface grafica, visual basic .net (usa o recurso dotNet) , vba (macro para office e semelhantes), vbs (script semelhante ao javascript que era usado no internet explorer) pascal: tambem uma linguagem antiga embora muito boa para aprender a programar (muitos cursos e faculdades usam ela para dar os primeiros passos), a linguagem hoje tem grandes IDE com uma facilidade para programação com interfaces graficas como borland delphi (atualmennte rad studio) e o lazarus. Tem uma linguagem chamada algol que é usada para ensinar algoritimos que foi baseada em pascal (basicamente é o pascal em portugues java: a linguagem java é multiplataforma ou seja o executavel dela vai rodar em qualquer plataforma que exista a VM (tambem é usada muito para programação desktop, web e mobile), na minha opinião uma parte negativa do java que ele é todo orientado a objeto então para quem ta começando acaba dando de cara com a orientação objeto para quem esta começando pode complicar um pouco, java tem a sintaxe parecida com c/c++ então sair de uma para aprender a outra é bem simples pelo menos em alguns pontos c#: uma linguagem que tem o nome estranho, e a sintaxe dela é bastante semelhante a do java (tambem toda orientada a objeto). o c# usa o .net da microsoft, no linux pode usar o mono python: uma das linaguens mais usada para se iniciar em programação hoje em dia. o python é uma linguagem interpretada ou seja não gera o executavel e sim os scripts dele são lido pelo interpretador e processado (isso a torna multiplataforma). python é uma linguagem bem simples para começar por ter muitos tutoriais na net alem de uma gama enorme de modulos perl: a linguagem perl é interpretada tambem igual o python, uma das vantagens do perl que ele tem a sintaxe parecida com a linguagem C, diferente do python que tem uma sintaxe um pouco diferente. Perl é uma excelente linguagem para processar texto e ate criar bots, ele tem expressão regular nativa, e muitas das funções nativas dele são semelhante aos comandos do proprio linux/unix lua: tambem uma linguagem interpretada (uma trivia dela que foi criada por brasileiros na puc), ela é constantemente usada em conjunto com programas para deixar mais dinamico como script nse do nmap, alguns games usam a liguagem lua para desenvolvimento de mods tambem (ex: project zomboid, starbound, dont starve etc). html, css e javascript: se o seu foco for a desenvolvimento web (criar sites etc), as 3 ali naquela ordem citada é o recomendado para iniciar. O html e o css são usados para desenvolver a interface do site deixar com visual melhor, ja o javascript voce deixa a pagina bem mais dinamico manipula elas usando ele (tu pode usar js no lado do servidor com o nodejs ou ate mesmo usar ele para programação desktop) php: uma linguagem boa para web no lado do servidor é o php sendo uma linguagem interpretada (antigamente era usada muito a linguagem perl, inclusive na criação do php foi influenciado pelo perl), a linguagem php tem a sintaxe muito semelhante algumas linguagens então pular de uma para outra não é tão complicado (perl, java, javascript, c/c++). Voce tambem pode usar php para programação desktop cobol: aqui a linguagem mais antiga que as anteriores, cobol embora seja antigo é usado hoje em dia para programação em computadores de grande porte como mainframes em bancos e grandes empresas. A sintaxe dela é um pouco diferente separados por divisões assembly: essa linguagem é uma conversão da linguagem da maquina para um codigo mnemonico textual que quando compilado gera o seu codigo binario equivalente na linguagem da maquina daquela arquitetura. É uma linguagem que muda dependendo da propria arquitetura, então se voce aprender assembly da arquitetura x86 não vai conseguir programar em assembly para um raspberry pi que é arquitetura arm, ou para o arduino no caso um avr. Assembly é uma boa linguagem para estudar aquela arquitetura em si, aprender fazer engenharia reversa em programas para aquela arquitetura, ou ate mesmo criar programas mais limpos sem muita abstração com uma performance maior que os gerado em linguagens de mais alto nivel tem muitas outras linguagens alem das citadas \o
  10. Galera um bom uso para linguagem perl é o processamento de texto (excelente para manipular arquivos csv), ele pode ser usado ate mesmo via saída do terminal de forma bastante semelhante a linguagem awk. Para executar funções perl diretamente pelo terminal usamos o parâmetro -e ou -E seguido das funções e estruturas separadas por ponto e virgula (ela também deve ser colocada entre aspas) perl -e ' print "perl é vida\n"; ' é possivel colocar mais de um parâmetro -e perl -e ' $variavel = "perl e vida"; ' -e ' print $variavel . "\n"; ' podemos redirecionar a saída usando os comandos e programas do terminal para o interpretador perl via pipe, entretanto precisamos definir o parâmetro -n para que seja lido linha a linha e executado o mesmo comando em todas as linhas cat texto.csv | perl -n -e ' print ' o codigo abaixo é equivalente ao anterior cat texto.csv | perl -ne ' print ' em awk o código anterior seria equivalente a esse cat texto.csv | awk ' {print} ' é possivel ler linha a linha e fazer o print automaticamente bastando substituir o parâmetro -n pelo parâmetro -p cat texto.csv | perl -p -e ' ' para a gente pegar a passagem naquela linha podemos usar a variável $_ cat texto.csv | perl -n -e ' print $_ ' outro exemplo só que dessa vez usando regex para filtrar os nomes que na segunda letra deles tem um 'o' (semelhante ao comando grep) cat texto.csv | perl -n -e ' if($_ =~ /^.o/){ print } ' outra forma de fazer o comando anterior seria cat texto.csv | perl -n -e ' print if $_ =~ /^.o/ ' é possivel usar split para recortar trechos específicos e manipular eles, exemplo separar tudo em uma array para manipular separadamente (semelhante ao comando cut) cat texto.csv | perl -n -e ' @linha = split(",",$_); print "$linha[1]\n"' o perl nos permite separar da mesma forma que o comando anterior de uma forma bastante simples usando o argumento -a para fazer o split e o -F seguido do delimitador (nesse caso é o ","). Para a gente acessar cada valor usamos @F e a sua posição cat texto.csv | perl -F"," -a -n -e ' print "@F[1]\n" ' é possível usar a estrutura BEGIN e END para processar apenas uma vez no começo ou no fim, exemplo um contador de linha que começa ja setado com o valor 1 e vai incrementando a cada nova linha e exibindo o resultado quando terminar (wc pra que ne) cat texto.csv | perl -ne 'BEGIN{ $cont = 1 }; END{ print "linhas: $cont \n" }; $cont++ ' podemos usufruir de todos os recursos e módulos da linguagem perl, exemplo usando o modulo Digest::MD5 para retornar a hash dos nomes cat texto.csv | perl -F"," -ane 'BEGIN{ use Digest::MD5 md5_hex }; print md5_hex(@F[0]) . "\n" ' com parâmetro o -M importamos o modulo desejado sem precisar ficar declarando ele com o use cat texto.csv | perl -F"," -M"Digest::MD5 md5_hex" -ane 'print md5_hex(@F[0]) . "\n" ' tambem é possivel criar um script e chamar ele #!/usr/bin/perl print @F[0]; no comando do script não colocamos o -e apenas o nome do script cat texto.csv | perl -F"," -an kodo.pl embora os comandos digitados seja em um terminal linux o mesmo pode ser feito em outras plataformas tambem. Exemplo no prompt do windows type texto.csv | perl -F"," -ane " print \"@F[0]\n\" " bom galera é isso, existem outros parâmetros que podem ser passados para o interpretador perl além dos citados \o by kodo no kami
  11. segue o link fiz em delphi 7, é necessario o componente zeuslib para conexao com o db https://mega.nz/#!rp4BjSIb!RHAW-4Ajnz0vwti4rhD7goagn8Ww-nX-2xjcDg7tZRg eita delphi sendo delphi kkkk, sempre é pego por algum av =/ ele ta limpo ta galera kkk
  12. galera um pequeno software que tem uma pequena base de telefones (so vou enviar 10% dela ^^ ) download (mega)
  13. Bom galera isso é apenas uma pequena dica, tem um microscópio USB bastante interessante para quem curte eletrônica (não necessariamente apenas eletrônica, é possivel usar ele para outras coisas como biologia e tal kkk). Como ele é um microscópio digital então é necessário usar ele junto a um computador ou um celular (nesse caso precisa de um cabo OTG para conexão com o celular). Esse meu microscópio amplia ate 1000x embora exista outros modelos que amplia menos outros que amplia mais dessa mesma marca (claro existem outras marcas tambem, so que esse achei relativamente barato ~ made in china '-' ) você também pode controlar a iluminação dele alem de ter como ampliar fisicamente rotacionando e aproximando o microscopio tambem é possivel ampliar digitalmente via software ate 400x em cima daquela imagem (o mesmo pode ser feito por um botão no proprio microscópio) o software tambem permite a gente tirar uma foto (sendo que é possivel fazer o mesmo através de um botão no microscopio tambem), alem de ter como inverter a imagem ou espelhar ela e capturar como video as vezes é um pouco complicado focar tendo que calibrar certinho para aquele objeto em especifico, principalmente objetos muito pequenos qualquer tremida ja vai perder o foco nele podemos usar o microscópio em placa e conferir se as trilhas e soldas não estão em curto, ou para ler e manipular os componentes smd que são bem pequenos =/ bom galera para a gente ver o quanto isso amplia, eu peguei um pedaço de pano velho aqui ampliando um pouco mais aquele pano no maximo bom galera é isso fica a dica desses microscópio ai \o by kodo no kami
  14. Galera existe uma extensão no sistema windows que permite abrir paginas html em um programa especifico, essas paginas html são abertas e interpretadas em um programa chamado mshta que é uma especie de navegador baseado no internet explorer para executar aplicações que são feitas na linguagem html. Bom galera para usar o hta é bastante simples bastando criar a pagina html em um arquivo com extensão .hta, e depois executar ele como qualquer outro tipo de executável daquele sistema https://gist.github.com/hackerfts315/267a944b3c3e9fb27984fae4bc027168 é possivel usar css, javascript e ate o antigo vbs https://gist.github.com/hackerfts315/cbe1e6ad0b7a13903235289faf88d4a7 você também pode usar activex e wscript para conseguir fazer um monte de coisa que não seria possível nos navegadores atuais (claro, não é possível por medidas de segurança kkk) https://gist.github.com/hackerfts315/97c7f8825b2da1022b934e3e533c7c39 bom galera é isso, apenas uma pequena dica \o obs: galera coloquei os codigos tudo no git, pq o forum ta interpretando eles =/ by kodo no kami
  15. E ae galera beleza? nesse tutorial vamos criar um player para algum stream ou radio online em delphi usando o activeX do Windows Media player (como é um componente activeX o mesmo poderia ser feito em outras linguagens e IDEs que permite importar esses tipos de componentes). Nesse exemplo estarei criando um player para a radio blast que é uma radio de cultura niponica, sempre tocando musicas de animes ou desse genero. Então galera mãos a obra, vamos começar abrindo o delphi com o delphi aberto vamos instalar o activex do windows media player, para isso apertamos no menu "Component" e depois em "Import ActiveX Control" vai abrir uma aba, nela procura o activeX do windows media player e aperte em install, se tudo ocorrer bem ele sera instalado na aba activeX agora galera vamos criar o nosso player, vou colocar dois buttons o primeiro vai começar a tocar e o segundo vai parar de tocar, também vou colocar o componente do windows media player da aba ActiveX (como é uma radio com apenas o retorno do audio eu posso simplesmente ocultar o componente do windows media player colocando false na propriedade visible dele, você pode deixar visivel caso seja um stream de video) para que funcione você deve pegar a url certinho do stream (não a da pagina), para fazer isso você pode usar o inspecionar elemento do navegador (com essa url em mãos voce tambem pode tocar a radio pelo próprio windows media player ou ate pelo vlc ou qualquer outro player) a gente atribui a url do stream no atributo URL do componente WindowsMediaPlayer no evento OnClick daquele botão que vai começar a tocar procedure TForm1.Button1Click(Sender: TObject); begin WindowsMediaPlayer1.URL := 'http://192.99.150.31:8315/principal'; end; no segundo botão a gente atribui uma string vazia procedure TForm1.Button2Click(Sender: TObject); begin WindowsMediaPlayer1.URL := ''; end; pronto bastando compilar e testar (nesse momento ta tocando rip slyme: super shooter ~ op de gantz) podemos customizar o player da forma que a gente quiser inclusive adicionar novas funcionalidade como exibir as musicas tocadas e etc bom galera isso aqui é apenas um tutorial não é um player oficial da radio blast, existe um para android codado pelo Etrom Kusanagi so procurar la no discord da radio caso tenha interresse, tambem deveria ter um bot no discord deles se um tal de kodo não tivesse sumido esses meses (pressinto que o Joke e o Sephis vão puxar a orelha dele quando ele aparecer por la T.T ), Bom galera é isso ando meio sumido ultimamente mais ainda estou vivo, então ate um proximo tutorial daqui a uns meses \o by kodo no kami
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.