Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Jhonas

    BDE no Win7

    Desinstale o delphi e limpe os registros usando o EasyCleaner, depois instale novamente o delphi http://terrabrasil.softonic.com/ie/38848/EasyCleaner abraço
  2. Jhonas

    Sata x IDE

    Uma IRQ (abreviação para Interrupt Request) é a forma pela qual componentes de hardware requisitam tempo computacional da CPU. Uma IRQ é a sinalização de um pedido de interrupção de hardware. Os computadores modernos compatíveis com o IBM PC possuem 16 designações de IRQ (0-15), cada uma delas representando uma peça física (ou virtual) de hardware. Por exemplo, a IRQ0 é reservada para o temporizador do sistema, enquanto a IRQ1 é reservada para o teclado. Quanto menor for o número da IRQ, mais crítica é sua função. No passado existiam apenas 8 designações de IRQ (0-7). À medida que novos hardwares emergiram, emergiu a necessidade de novas IRQs. A solução foi criar mais 8 IRQs, adicionadas pelo desvio da IRQ2 para a nova IRQ9. Em computadores da classe Pentium (e alguns da classe 80486) as IRQs podem ser manipuladas via APIC. A lista das IRQs é: IRQ0 = temporizador de intervalos 8253/8254 (temporizador do sistema) IRQ1 = teclado IRQ2 = reservada para a 8259B (amarrada à IRQ 9) IRQ3 = COM2 e COM4 IRQ4 = COM1 e COM3 IRQ5 = LPT2 ou placa de som IRQ6 = disquetes IRQ7 = LPT1 IRQ8 = relógio de tempo real (real time clock, RTC) IRQ9 = amarrada à IRQ2 IRQ10 = não definida IRQ11 = não definida IRQ12 = mouse PS/2 IRQ13 = co-processador matemático IRQ14 = Drives IDE primários IRQ15 = Drives IDE secundários OBS: Quando voce inicializa o computador voce verá esta lista de IRQs ... veja se na IRQ14 ou IRQ15 aparece o seu HD IDE abraço
  3. Um exemplo bem simples uses classes; procedure TForm1.Button1Click(Sender: TObject); var animal : TStringList; // Define a variavel lista de strings i : Integer; begin // Define um objeto string list, e aponta para a variavel animal := TStringList.Create; // Adicionar os nomes de animais a lista animal.Add('Gato'); animal.Add('Rato'); animal.Add('Coelho'); // Mostrar a lista for i := 0 to animal.Count-1 do ShowMessage(animal[i]); // animal[i] é igual a animal.Strings[i] // Limpar a lista de objetos animal.Free; end; Outros exemplos: Example code : Using name-value strings var names : TStringList; // Define our string list variable ageStr : String; i : Integer; begin // Define a string list object, and point our variable at it names := TStringList.Create; // Now add some names to our list names.CommaText := 'Neil=45, Brian=63, Jim=22'; // And now find Brian's age ageStr := names.Values['Brian']; // Display this value ShowMessage('Brians age = '+ageStr); // Now display all name and age pair values for i := 0 to names.Count-1 do begin ShowMessage(names.Names[i]+' is '+names.ValueFromIndex[i]); end; // Free up the list object names.Free; end; Show full unit code Brians age is 63 Neil is 45 Brian is 63 Jim is 22 Example code : Using DelimitedText, Delimiter and QuoteChar var cars : TStringList; // Define our string list variable i : Integer; begin // Define a string list object, and point our variable at it cars := TStringList.Create; // Now add some cars to our list - using the DelimitedText property // with overriden control variables cars.Delimiter := ' '; // Each list item will be blank separated cars.QuoteChar := '|'; // And each item will be quoted with |'s cars.DelimitedText := '|Honda Jazz| |Ford Mondeo| |Jaguar "E-type"|'; // Now display these cars for i := 0 to cars.Count-1 do ShowMessage(cars[i]); // cars[i] equates to cars.Strings[i] // Free up the list object cars.Free; end; Show full unit code Honda Jazz Ford Mondeo Jaguar "E-type" abraço
  4. As regras pedem para não usar todo o texto em caixa alta... e quando utilizo é para destacar a visualização para aqueles quem passam correndo pelos posts ... as vezes estão procurando por alguma coisa parecida e o destaque faz com que fixe a atençao ... somente marketing ... rs abraço
  5. Veja neste endereço http://www.gratis.com.br/index.mv?pagina=d...hes&pos=395 abraço
  6. Jhonas

    Sata x IDE

    Já verificou se existe um numero de IRQ para o HD IDE ?
  7. Voce pode sim alterar o nome do form, basta manter o nome da Unit ... se voce estiver fazendo referencia ao nome do form, neste caso terá que alterar somente nas chamadas a esse form abraço
  8. Realmente precisa... se voce não logar como administrador deverá dar os previlégios de administrator ao usuário que foi criado para que possa gravar na pasta system32 abraço
  9. Alguns exemplos: COMO ACOMPANHAR A EVOLUÇÃO DE UMA CONSULTA SQL EM TEMPO REAL COM OS COMPONENTES GAUGE E PROGRESSBAR. Resposta: BEGIN while not NOME_DA_QUERY.Eof do begin with NOME_DA_QUERY do begin close; sql.clear; sql.add('select * from NOME_DA_TABELA'); sql.add('where PARAMETERS=:????); Parameters[0].Value:=????; open; END; NOME_DA_QUERY.Next; // AQUI COMEÇA A EVOLUÇÃO DA CONSULTA // SE FOR O COMPONENTE GAUGE Gauge1.MaxValue:=NOME_DA_QUERY.RecordCount; Gauge1.Progress:=Gauge1.Progress+1; // SE FOR O COMPONENTE PROGRESSBAR progressbar1.Max:=NOME_DA_QUERY.RecordCount; progressbar1.Position:=ProgressBar1.Position+1; //SOMENTE PARA PROGRESSBAR, "ESTE LABEL RECEBE A PORCENTAGEM" label1.Caption:=formatfloat('00',(ProgressBar1.Position+1)*100/NOME_DA_QUERY.RecordCount)+' % '; end; END; Progress Bar / Gauge - Abrindo uma query - SQL Se quiser usar o Gauge, basta trocar no lugar do Progress Bar unit Uprincipal; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables, StdCtrls, Buttons, ComCtrls, Grids, DBGrids,BDE,DBITYPES, DBIPROCS,DBIERRS; type TForm1 = class(TForm) StatusBar1: TStatusBar; TProgressBar: TProgressBar; TButton: TBitBtn; TLabel: TLabel; TQuery: TQuery; DBGrid1: TDBGrid; DataSource1: TDataSource; BitBtn1: TBitBtn; TQuerySwitchboardID: TIntegerField; TQueryItemNumber: TSmallintField; TQueryItemText: TStringField; TQueryCommand: TSmallintField; TQueryArgument: TStringField; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure TButtonClick(Sender: TObject); private { Private declarations } FCBPROGRESSDesc: pCBPROGRESSDesc; FProgressCallback: TBDECallback; function GetDataCallback(CBInfo: Pointer): CBRType; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function TForm1.GetDataCallback(CBInfo: Pointer): CBRType; begin Result := cbrCONTINUE; with pCBPROGRESSDesc(CBInfo)^ do begin if iPercentDone < 0 then begin TLabel.Caption := szMsg; TLabel.Refresh; TProgressBar.StepIt; {Apenas para ficar rodando o gauge} end else TProgressBar.Position := iPercentDone; end; end; procedure TForm1.FormCreate(Sender: TObject); begin FCBPROGRESSDesc := AllocMem(SizeOf(CBPROGRESSDesc)); FProgressCallback := TBDECallback.Create(Self, TQuery.Handle, cbGENPROGRESS, FCBPROGRESSDesc, SizeOf(CBPROGRESSDesc), GetDataCallback, True); end; procedure TForm1.FormDestroy(Sender: TObject); begin FProgressCallback.Free; FreeMem(FCBPROGRESSDesc, SizeOf(CBPROGRESSDesc)); end; procedure TForm1.TButtonClick(Sender: TObject); begin FCBPROGRESSDesc := AllocMem(SizeOf(CBPROGRESSDesc)); FProgressCallback := TBDECallback.Create(Self, TQuery.Handle, cbGENPROGRESS, FCBPROGRESSDesc, SizeOf(CBPROGRESSDesc), GetDataCallback, True); TQuery.Active := True; end; end. Outro exemplo: http://forum.devmedia.com.br/viewtopic.php...27d096e17898818 Material Útil http://www.rocketdownload.com/software/sql...pair-tools.html abraço
  10. Vai achar tudo o que precisa aqui, mas terá que procurar http://dev.mysql.com/doc/refman/4.1/pt/adding-functions.html abraço
  11. Tente usar o TxTrafil http://www.waler.com/download.htm#textrafilters abraço
  12. O código acima que te passei fornece a informação se o usuário se logou no windows como administrador ou não, voce pode implementar melhoras para usar no seu sistema Tipo... se o usuário não se logou como administrador, voce pode bolar alguma coisa para que ele execute o programa como administrador abraço
  13. Já que é para usar pelo PenDrive sugiro utilizar um arquivo texto para guardar as chaves de registro ... seria bem mais simples abraço
  14. existe sim... Crie uma Unit no delphi e salve com o nome de IsAdministrator.pas e salve na pasta Bin do delphi unit IsAdministrator; interface function IsAdmin: Boolean; implementation uses Windows; const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5)); SECURITY_BUILTIN_DOMAIN_RID = $00000020; DOMAIN_ALIAS_RID_ADMINS = $00000220; type TOpenThreadToken = function (ThreadHandle: THandle; DesiredAccess: DWORD; OpenAsSelf: BOOL; var TokenHandle: THandle): BOOL; stdcall; TGetTokenInformation = function (TokenHandle: THandle; TokenInformationClass: TTokenInformationClass; TokenInformation: Pointer; TokenInformationLength: DWORD; var ReturnLength: DWORD): BOOL; stdcall; TOpenProcessToken = function (ProcessHandle: THandle; DesiredAccess: DWORD; var TokenHandle: THandle): BOOL; stdcall; TEqualSid = function (pSid1, pSid2: Pointer): BOOL; stdcall; TAllocateAndInitializeSid = function (const pIdentifierAuthority: TSIDIdentifierAuthority; nSubAuthorityCount: Byte; nSubAuthority0, nSubAuthority1: DWORD; nSubAuthority2, nSubAuthority3, nSubAuthority4: DWORD; nSubAuthority5, nSubAuthority6, nSubAuthority7: DWORD; var pSid: Pointer): BOOL; stdcall; TFreeSid = function (pSid: Pointer): Pointer; stdcall; function IsAdmin: boolean; var iAccessToken: THandle; ptgGroups: PTokenGroups; dwInfoBufferSize: DWORD; psidAdministrators: PSID; iCount: integer; fSuccess: BOOL; pOpenThreadToken: TOpenThreadToken; pOpenProcessToken: TOpenProcessToken; pGetTokenInformation: TGetTokenInformation; pEqualSid: TEqualSid; pAllocateAndInitializeSid: TAllocateAndInitializeSid; pFreeSid: TFreeSid; iDll: integer; begin Result := false; iDll := LoadLibrary(advapi32); if iDll = 0 then exit; try pOpenThreadToken := GetProcAddress(iDll, 'OpenThreadToken'); pOpenProcessToken := GetProcAddress(iDll, 'OpenProcessToken'); pGetTokenInformation := GetProcAddress(iDll, 'GetTokenInformation'); pEqualSid := GetProcAddress(iDll, 'EqualSid'); pAllocateAndInitializeSid := GetProcAddress(iDll, 'AllocateAndInitializeSid'); pFreeSid := GetProcAddress(iDll, 'FreeSid'); if not Assigned(pOpenThreadToken) or not Assigned(pOpenProcessToken) or not Assigned(pGetTokenInformation) or not Assigned(pEqualSid) or not Assigned(pFreeSid) or not Assigned(pAllocateAndInitializeSid) then exit; fSuccess := pOpenThreadToken(GetCurrentThread, TOKEN_QUERY, true, iAccessToken); if not fSuccess then begin if GetLastError = ERROR_NO_TOKEN then fSuccess := pOpenProcessToken(GetCurrentProcess, TOKEN_QUERY, iAccessToken); end; if fSuccess then begin GetMem(ptgGroups, 1024); try fSuccess := pGetTokenInformation(iAccessToken, TokenGroups, ptgGroups, 1024, dwInfoBufferSize); CloseHandle(iAccessToken); if fSuccess then begin pAllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, psidAdministrators); try for iCount := 0 to ptgGroups.GroupCount - 1 do if pEqualSid(psidAdministrators, ptgGroups.Groups[iCount].Sid) then begin Result := true; break; end; finally pFreeSid(psidAdministrators); end; end; finally FreeMem(ptgGroups); end; end; finally FreeLibrary(iDll); end; end; end. Depois é só chamar a função Uses IsAdministrator; procedure TForm1.Button1Click(Sender: TObject); begin if IsAdmin = true then showmessage('O usuário logou como Administrador'); end; abraço
  15. Jhonas

    Sata x IDE

    Habilite na BIOS a detecção de HD IDE abraço
  16. Jhonas

    Erro na Bios

    Provavelmente mau contato da BIOS ou erro na programação da BIOS Se a Bios estiver emitindo algum beep ou nenhum voce pode diagnosticar o problema http://www.flazh.de/en/bios-beep-tone.htm abraço
  17. a mensagem CPU Over temperture Error seguida de alguns BIP'S, significam que realmente algo esta errado na leitura do sensor de temperatura do processador. Dependendo dos Beeps voce pode diagnosticar o problema http://www.flazh.de/en/bios-beep-tone.htm Será que voce não trocou a escala da temperatura na BIOS ? 103 graus Fahrenheit = 39 graus Celsius abraço
  18. Jhonas

    Setup

    Veja as regras do forum abraço
  19. Jhonas

    Converter Dados

    Um exemplo simples para voce entender Uma variavel do tipo inteiro pode aceitar valores dentro de uma faxia de valores // Integer –2147483648 ... 2147483647 signed 32-bit Para saber o maior valor aceito pelo tipo da variavel procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin I := High(Integer); showmessage(floattostr(i)); end; OBS: um enderço de memória pode ter n valores diferentes abraço
  20. La voce iria encontrar um link http://scriptbrasil.com.br/forum/index.php...st&p=498006 ou Exportando do Quick Report para word, HTML, excel e TXT Na clausula uses, acrescente a unit QRExport Exportando para HTML: QuickReport.ExportToFilter(TQRHTMLDocumentFilter.Create('c:\teste.html')); Exportando para DOC ou TXT: QuickReport.ExportToFilter(TQRAsciiExportFilter.Create('c:\teste.doc')); Exportando para XLS: QuickReport.ExportToFilter(TQRXLSFilter.Create('c:\teste.xls')); abraço
  21. . Amigo .... realmente ralei muitos anos e apanhei muito para aprender programação..... sou voluntario no forum, não faço isso por dinheiro ... mas por que gosto de ajudar ( embora alguns não deêm o devido valor para quem se presta em ajudar ) Veja na seção de apostilas https://www.scriptbrasil.com.br/codigos/delphi/ ou alguns topicos que contem links para apostilas http://scriptbrasil.com.br/forum/index.php...hlite=apostilas OBS: prefiro te ensinar a pescar do que te dar o peixe. abraço
  22. Faça um pesquisa no forum ... acho que tem parecido com o que voce quer http://scriptbrasil.com.br/forum/index.php...ghlite=Treeview abraço
  23. http://scriptbrasil.com.br/forum/index.php...igo+j%E1+existe Tem outros .. procure sempre por uma palavra chave abraço
  24. Veja este post http://scriptbrasil.com.br/forum/index.php?showtopic=143452 abraço
  25. Veja quer se voce usar o tipo integer a quantidade de dígitos será no maximo de 10 Integer –2147483648..2147483647 signed 32-bit Int64 –2^63..2^63–1 signed 64-bit Se voce quer usar o codigo de barras, o campo para o código deve ser do tipo Alpha ( Caractere ) Eu uso a seguinte sequência: 1 - definição do campo na tabela como Alphanumerico de 13 posições 2 - a leitura do código de barras é feita no OnKeyPress do Edit 3 - a pesquisa do código de barras na tabela é feita no evento OnExit do edit 4 - a gravação do código de barras lido é somente de 12 digitos sem o digito verificador ( neste caso eu limitei o tamanho do Edit em 12 caracteres ) Tenho um sistema que trabalha com um arquivo de 90.000 itens com codigo de barras e funciona perfeitamente abraço
×
×
  • Criar Novo...