Ir para conteúdo
Fórum Script Brasil

Fabiomiojo

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Tudo que Fabiomiojo postou

  1. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script> Olá Jhonas, esse parâmetro do cmd.exe retorna o Serial do Volume do hd. ou seja, é o serial atribuído no momento da formatação sendo este, vulnerável a copias e alterações por programas. Nesse caso em que se basta utilizar do Serial do Volume, pode ser usado a função GetVolumeInformation O proposito em se colher o Serial Físico do HD é para que realmente não exista o uso indevido do sistema em autorização. acredito que seria viável receber o serial de outro hardware ao invés do HD devido essa falha dos fabricantes. Você conhece funções que pode fazer isso? como pegar serial da placa mãe por exemplo?ou da BIOS?
  2. Olá Jhonas, Também Utilizo seu código pois como eu havia falado, em alguns momentos não é possível obter o Serial do HD. :ninja: Acredito que exista uma relação ao Fabricante do HD, pois pelo que li, alguns não fornecem o numero de serie fisicamente, ou seja, não colocam dentro do HD tal numero. Será que procede?? :unsure: Testei com HDs Sata e IDE das marcas SEAGATE e SAMSUNG nas versões do windows XP, na Versão 7 foi necessário rodar o aplicativo com privilegio de adm. quem testar mais posta aqui os teste pra gente poder definir melhor. :D Abraços.
  3. Olá Amigos, Desculpe voltar com esses post sobre pegar serial físico de hd mas estou precisando de ajuda e os últimos posts que pesquisei aqui são de 2009! vamos lá. Estou utilizando o seguinte código unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,WbemScripting_TLB,ActiveX; type TForm4 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form4: TForm4; implementation {$R *.dfm} function GetWMIstring (wmiHost, wmiClass, wmiProperty : string):string; var // These are all needed for the WMI querying process Locator: ISWbemLocator; Services: ISWbemServices; SObject: ISWbemObject; ObjSet: ISWbemObjectSet; SProp: ISWbemProperty; Enum: IEnumVariant; Value: Cardinal; TempObj: OleVariant; SN: string; begin try Locator := CoSWbemLocator.Create; // Create the Location object // Connect to the WMI service, with the root\cimv2 namespace Services := Locator.ConnectServer(wmiHost, 'root\cimv2', '', '', '','', 0, nil); ObjSet := Services.ExecQuery('SELECT * FROM '+wmiClass, 'WQL', wbemFlagReturnImmediately and wbemFlagForwardOnly , nil); Enum := (ObjSet._NewEnum) as IEnumVariant; while (Enum.Next(1, TempObj, Value) = S_OK) do begin SObject := IUnknown(tempObj) as ISWBemObject; SProp := SObject.Properties_.Item(wmiProperty, 0); if VarIsNull(SProp.Get_Value) then result := '' else begin SN := SProp.Get_Value; result := SN; end; end; except // Trap any exceptions (Not having WMI installed will cause one!) on exception do result := ''; end; end; procedure TForm4.Button1Click(Sender: TObject); var Y:string; begin Y:=GetWMIstring('','Win32_DiskDrive','SerialNumber') ; ShowMessage('Serial fisico hd: ' + y); end; end. gostaria da ajuda de vocês pra identificar o porque que em determinado sistema operacional e hd não retorna serial. testei em XP/7 - x32 com HDs IDE/SATA alguém sabe me ajudar com esse problema?? não testei em versão x64, acredito que também funcione. Gostaria também de identificar sobre qual ou quias dll esse código trabalha! aguardo ajudas :blink:
  4. Jhonas, Analisei o que você me mandou e cosegui chegar a um codigo aqui que funcionou corretamente! <code> function StringBetween(const Str, Str1, Str2: String): String; var Inicio, Fim : String; begin Inicio := Copy(Str, Pos(Str1, Str) + Length(Str1)); // Pega o Texto Restante, iniciando ao final da variavel Str1; Fim := Copy(Inicio, 0, Pos(str2,Inicio) - 1); // Copia o Texto da posição inicial '0' até o Final, que é determinado pela posição inicial da variavel str2 menos '1' para corrigir; Result := Fim; end; procedure TForm1.Button1Click(Sender: TObject); var HTML: String; begin HTML := IdHTTP1.Get('http://elite-global.servegame.com/?subtopic=characters&name=' + Edit1.Text); memo1.Text := 'Nível: ' + StringBetween(HTML, '>Level:</TD><TD>', '</TD></TR>'); end; </code> No que pesquisei, a Função Copy, pode ser determinada com 3 variaveis (texto, posição inicial, posição final); Funcionou o codigo! Obrigado! :lol:
  5. Ola a todos, Eu estou utilizando o IDHTTP para pegar o codigo html de um site! eu gostaria de pegar algumas informações na pagina e não estou conseguindo, axo que é por que o texto é muito grande e as chaves são repetidas! estou usando esse codigo: function StringBetween(const Str, Str1, Str2: String): String; begin Result := Copy(Str, Pos(Str1, Str) + Length(Str1), Pos(Str2, Copy(Str, Pos(Str1, Str) + Length(Str1), Length(Str))) - 1); end; procedure TForm1.Button1Click(Sender: TObject); var HTML: String; begin HTML := IdHTTP1.Get('http://elite-global.servegame.com/?subtopic=characters&name=' + Edit1.Text); memo1.Text := 'Nível: ' + StringBetween(HTML, 'Level:</td><td>', '</td>'); end; mas minha função para pegar o texto entre as tags acredito não estar funcionando muito bem! me ajudem amigos! :blush:
  6. ah consegui arumar aqui jhonas! o que eu tinha feito de errado era que quando eu escrevia algo no teclado o foco do memo saia e ia para o botão só coloquei assim e funciono procedure TForm1.Button1Click(Sender: TObject); var KeyState: TKeyboardState; begin memo1.SetFocus; // coloquei para setar o foco ai funciono GetKeyboardState(KeyState); // testar o estado do teclado if(KeyState[VK_BACK ] = 0) then begin Keybd_Event(VK_BACK , 1, KEYEVENTF_EXTENDEDKEY or 0, 0); Keybd_Event(VK_BACK , 1, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end else begin Keybd_Event(VK_BACK , 0, KEYEVENTF_EXTENDEDKEY or 0, 0); Keybd_Event(VK_BACK , 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end; end; obrigado jhonas valeu pela ajuda :D
  7. procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_BACK then ShowMessage('A tecla Backspace foi pressionada'); end; Simular o pressionamento da tecla BackSpace procedure TForm1.Button1Click(Sender: TObject); var KeyState: TKeyboardState; begin GetKeyboardState(KeyState); // testar o estado do teclado if(KeyState[VK_BACK ] = 0) then begin Keybd_Event(VK_BACK , 1, KEYEVENTF_EXTENDEDKEY or 0, 0); Keybd_Event(VK_BACK , 1, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end else begin Keybd_Event(VK_BACK , 0, KEYEVENTF_EXTENDEDKEY or 0, 0); Keybd_Event(VK_BACK , 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end; end; OBS: Veja se funciona não funciono ! :blush:
  8. opa tudo bem gente!! to vindo aqui mais uma vez pra pedir socorro pra v6! bom to criando um programa que sera utilizado em um computador touch screen para adminstrar residencias e nesse programa o usuario ira utilizar um teclado virtual que montei para digitar dados. estou com duvida, como faço a tecla de BackSpace no meu teclado virtual apagar as letras.(como a tecla normal faz no pc). as demais teclas estão funcionando certinho! so não sei como faço o botão backspace. ah esse teclado é integrado ao programa, ou seja, o usuario não tera de abrir o teclado virtual do windows ok. onde os dados estão sendo inseridos é um MEMO. se alguém poder me dar uma ajuda nisso! :D grato.
  9. ok vou dar uma olhada no exemplo do delphi grato!!
  10. opa boa tarde a todos!! bom, estou montando um webbrowser pelo delphi 7, segui o tutorial (link.) duvida: quero entrar no site do orkut pelo meu webbrowser. digito o site e ele entra na pagina do login normal, so que quando eu escrevo o username e a senha e do enter ele tenta direciona para a home do meu orkut e da esse erro: Invalid Floating point operation depois desse erro ele para de funcionar . (não abre mais nem um site diferente). oque esta acontecendo? e como aruma isso??? grato.. :blink:
  11. Obrigado Jhonas são mesmo para aprendizagem já que nunca é d++ ne!!
  12. xD estou lendo sobre BD mais ainda gostaria de saber como faço o que que necessito pelo arquivo txt sem uzar BD... se não for incomodo! desculpem por ser estão chato!! mais qero aprender dos dois modos!! :D :P
  13. Obrigado Jhonas pelos links!! --- marcos ps09 não entendi como funciona o code q você me passou!! me da um exemplo uzando os campos q necessito uzar! ao axar a palavra ele pega o texto seguinte e o adiciona em um campo pre determinada ex: procura:= 'vantagens:' axou no texto vantagens: texto sobre vantagens final de vantagens.(palavra q encera ate onde devese pegar o texto) coloca esse texto em um memo. procura:= "Nome:' axa no texto Nome: fabiomiojo Final de Nome.(palavra q encera ate onde devese pegar o texto) coloca esse texto em um Edit.text. me desculpem se dou muito trabalho + so novato no delphi e não to conseguindo monta isso direito...
  14. alguém ?? ah se v6 tiverem me mandem um totorial pra aprender a mexer com BD(so novato xD)! o programa q estou qerendo montar vai ter muitos dados e axo que fica mais facil se eu utilizar uma tabela onde os dados serão escritos em campos diferentes depois adicionados na tabela e depois ao clicar em abrir são estraidos para seus lugares de origem fazendo com arquivo txt vai fica muito grande!!
  15. Muito Obrigado pelo code!! mais ainda tem um problema!! esta dando o seguinte erro! [Error] fichadet.pas(224): Record, object or class type required como arumo isso???
  16. Bom dia a todos! Estou criando um programa no qual ah varios campos a serem escritos. esses campos depois deveraum serem salvos em um arquivo.txt determinei que esses campos seraum add em um memo ao se clicar em salvar! agora o meu problema! quando o cliente clica em salvar os campos seraum adicionados no memo1 em ordem e para separar um campo do outro ele adiciona palavras chaves. <--(ate aqui é deboa) (agora q ta o bixo) quando o cliente clica em abrir o opendialog vai procurar no arquivo.txt salvo as palavraschaves e ira abrir em campos especificos o texto seguinte da palavrachave! ex:ao salvar; edit1.text entre palavra1 e 2 ao abrir Procura palavra1 pega o texto entre a palavra 1 e 2, abri esse texto no edit1.text. --- tentei um code mais não sei se é o correto a se fazer nesse caso! e ta dando um erro q não tenho a minima de como arumar!(sou iniciante em delphi xD) segue code! procedure TForm1.Abrir1Click(Sender: TObject); Var NomeDoArquivo:String; v, x: integer; begin if OpenDialog1.Execute Then begin NomeDoArquivo:=OpenDialog1.FileName; begin for v:=Length('Vantagens') to x do x:=Length ('Historia'); Memo1.Lines.LoadFromFile(NomeDoarquivo); end; begin for v:=Length('Nome:') + 1 to x do x:=Length ('Final'); Edit1.text.LoadFromFile(NomeDoarquivo); end; End; end; o erro: [Error] fichadet.pas(196): Record, object or class type required me ajudem plx!!
×
×
  • Criar Novo...