-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
(Resolvido) Ajuda-Auto-completar-
pergunta respondeu ao Felipe da Silva COsta de Jhonas em Delphi, Kylix
Uma vez que a sua dúvida foi respondida, voce mesmo pode alterar o título do tópico colocando ( Resolvido ) na frente do título ... voce tambem deve informar quando o tópico foi resolvido, assim um moderador tambem podera colocar o tópico como resolvido Com relação a sua dúvida, voce precisa ler mais a respeito do asunto, então veja o material indicado, que vai te ajudar ... ou sempre faça uma pesquisa no forum por uma palavra chave por exemplo ' preencher campos ' ou outra Nesta apostila ( link abaixo ) voce encontra: Arquitetura de Acesso; Criação do Banco de Dados; Configuração; Database Form Wizard; Filtros; Inserindo Registros; Localizando Registros; <= é este que voce vai usar para auto completar os seus campos Estados da Tabela; Percorrendo uma Tabela; entre muitas outras coisas. http://www.ziggi.com.br/redirect/11556 http://www.susviela.hpg.ig.com.br/delphi/delphi/db_002.htm http://www.facape.br/jocelio/es/material_e...BFormExpert.pdf http://delphi.about.com/od/database/l/aa022399.htm abraço -
(Resolvido) Como colorir texto em RumTime (tempo de execução) Delphi
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
Esse exemplo que fiz, voce vai digitar a palavra num componente FindDialog onde a palavra será pesquisada em um campo especifico dentro do bancos .... se achada será copiada para o RichEdit todo o conteudo do campo e a palavra sera realçada na posição em que ela se encontra ( no começo, meio ou fim ) Caso seja isso mesmo que voce quer, basta modificar o código para o seu uso unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, Db, DBTables; type TForm1 = class(TForm) Query1: TQuery; DataSource1: TDataSource; FindDialog1: TFindDialog; RichEdit1: TRichEdit; DBGrid1: TDBGrid; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FindDialog1Find(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top); FindDialog1.Execute; end; procedure TForm1.FindDialog1Find(Sender: TObject); var FoundAt: LongInt; StartPos, ToEnd: Integer; X : INTEGER; vBusca : string; begin X := 0; RichEdit1.Lines.Clear; DataSource1.DataSet.First; while not DataSource1.DataSet.Eof do begin vBusca := DataSource1.DataSet.FieldByName('NOME').AsString; if pos(FindDialog1.FindText,vBusca) > 0 then RichEdit1.Lines.Append(vBusca); DataSource1.DataSet.Next; end; with RichEdit1 do begin WHILE X <= RichEdit1.Lines.Count DO BEGIN if SelLength <> 0 then StartPos := SelStart + SelLength else StartPos := 0; ToEnd := Length(Text) - StartPos; FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]); if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(FindDialog1.FindText); SelAttributes.Color := clRed; SelAttributes.Style := SelAttributes.Style + [fsBold]; end; INC(X); END; end; end; end. abraço -
SQL - SUM Calcula o total de todos os valores de uma dada coluna, a função SUM funciona da seguinte maneira: SUM (campo + (campo * 0.1)). Tipo: Agregado. Sintaxe: SUM ( [ALL] | Distinct ) Argumentos: . ALL - Retorna o menor valor entre todos os valores de uma coluna; . Distinct - Retorna o menor valor entre todos os valores únicos de uma coluna; . nValor - Coluna numérica ou expressão. Exemplo: Select SUM(codigo) from clientes O exemplo acima retorna-rá o total de todos os valores do campo codigo da tabela de clientes Tutorial sobre SQL - SUM http://www.sql-tutorial.net/SQL-SUM.asp abraço
-
Como saber a estrutura de um arquivo?
pergunta respondeu ao Wesley (Unamine) de Jhonas em Delphi, Kylix
Arquivos com extensão .str são arquivos texto de legenda para filmes ou jogos. para abri-lo com o bloco de notas mude a extensão para txt e depois renomeie novamente para .str Se quiser um programa para abrir e editar esse arquivo use: http://www.baixaki.com.br/download/vobsub.htm abraço -
(Resolvido) AJUDA-Pesquisa na tabela do ACESS com Delphi
pergunta respondeu ao Felipe da Silva COsta de Jhonas em Delphi, Kylix
Veja estes artigos: http://www.delphibr.com.br/artigos/AccessADO.php http://www.linhadecodigo.com.br/Artigo.aspx?id=714 abraço -
Faça uma pesquisa no forum .... irá encontrar as repostas às suas dúvidas http://scriptbrasil.com.br/forum/index.php...;highlite=mysql abraço
-
(Resolvido) Como colorir texto em RumTime (tempo de execução) Delphi
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
A idéia não seria ... voce procurar pela palavra no banco de dados, e se encontrada jogar o campo da tabela no RichEdit e colorir a palavra selecionada no meio das outras e de todos os registros encontrados ? fica sem sentido ... pois se as palavras estão dentro do RichEdit , as mesmas não estarão apontando para o respectivo registro da sua tabela. entretanto se a ideia for .... realçar ( negrito ) o campo onde encontrar a palavra na tabela, ai tambem não tem sentido o código que voce postou ... outras modificações seriam necessarias ou até outra lógica abraço -
Veja se isto ajuda Statistical Analysis System ( SAS ) http://feferraz.net/br/P/Aprenda_a_usar_o_SAS#introd Pacote de componentes para uso do SAS http://www.esbconsult.com/esbpcs/ abraço
-
Tutorial trabalhando do gráficos no delphi http://imasters.uol.com.br/artigo/3872/del...o_com_graficos/ Faça uma pesquisa no Forum http://scriptbrasil.com.br/forum/index.php...ighlite=dbchart Exemplo no Delphi C:\Arquivos de programas\Borland\Delphi5\Demos\Teechart abraço
-
Faça uma pesquisa o forum .... Vai encontrar sobre o assunto em um desses posts http://scriptbrasil.com.br/forum/index.php...ite=filelistbox abraço
-
Voce está querendo algo como o pesquisar arquivos ou pastas do windows ?
-
Use o debuge do delphi para tentar achar onde está o problema, ou procure por todas as conexões em seu projeto, voce deve ter deixado alguma ativada em tempo de design abraço
-
Dúvida : Campo Senha (Asterisco)
pergunta respondeu ao Felipe - Iniciante-Delphi de Jhonas em Delphi, Kylix
Propriedades do Edit > PasswordChar = '*' ou no Evento Change do Edit EditSenha.passwordChar:='*'; abraço -
(Resolvido) QuickReport Mais de Um DetailBand
pergunta respondeu ao pr_candido de Jhonas em Delphi, Kylix
É possivel se voce usar INNER JOIN entre as tabelas ou pode usar a dica do flavioavilela abraço -
(Resolvido) progress bar ao iniciar programa
pergunta respondeu ao flavioavilela de Jhonas em Delphi, Kylix
Um exemplo procedure TForm1.Button1Click(Sender: TObject); begin //VERIFICAR PRODUTOS NO ESTOQUE CDS_Moviment.First; CDS_Moviment.First; ProgressBar1.Max := CDS_Moviment.RecordCount; for i := 1 to CDS_Moviment.RecordCount do begin ProgressBar1.Position := i; TCadProd1.Edit; TCadProd1DATA.Value := DateEdit1.Date; TCadProd1COD_FORNEC.Value := CurrencyEdit2.AsInteger; TCadProd1COD_PRODUTO.Value := CDS_MovimentCODPRO.Value; TCadProd1DESCRICAO.Value := CDS_MovimentDESCRI.Value; TCadProd1.Post; end CDS_Moviment.Next; end; OBS: O ProgressBar1.Max que por padrão é 100, neste caso recebe o numero de registros da tabela que corresponderão a 100 % a cada passagem do FOR o ProgressBar1.Position := i ira mostrar a posição em relação aos registros da tabela abraço -
Não sei como está o seu projeto, mas tambem utilizo esse componente e funciona perfeitamente quando fecho a conexão com o banco de dados para fazer o backup. OBS: Me lembrei de uma coisa ... na rotina ( código ) que realiza o backup, coloque os comandos para fechar a conexão com o banco dentro dele, antes da rotina de inicializar o backup ... precisei fazer essa mudança no código para não ficar dando erro. abraço
-
Um exemplo pratico para voce poder entender: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); Procedure CriaForm (NomeForm: TFormClass); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; fForm : TFormClass; implementation {$R *.DFM} uses unit2, unit3, unit4; procedure TForm1.FormCreate(Sender: TObject); begin RegisterClass(TForm2); RegisterClass(TForm3); RegisterClass(TForm4); end; Procedure TForm1.CriaForm (NomeForm: TFormClass); Begin Try TForm (NomeForm) := NomeForm.Create(self); TForm (NomeForm).ShowModal; Finally FreeAndNil(NomeForm); End; end; procedure TForm1.Button1Click(Sender: TObject); begin fForm := TFormClass(FindClass(Edit1.Text)); CriaForm(fForm); end; end. OBS: Veja ... no Edit voce vai digitar o nome da classe de formulário a ser instanciada Então para chamar o Form2 ou outro nome que voce tenha dado, voce vai digitar no Edit1 a classe do formlario Exe: TForm2 ou TForm3 ou TForm4 .. etc a variavel fForm irá atribuir o nome da classe do form digitado no edit1 .... uma vez que a classe do seu form está registrada então o form será criado e mostrado na tela. Caso ainda não tenha entendido esse exemplo ... veja outros http://delphi.about.com/library/weekly/aa080905a.htm http://www.devmedia.com.br/forum/viewtopic.asp?id=12315 abraço
-
Tecla de atalho funcional mesmo com "form com focus inativo"
uma questão respondeu Jhonas em Delphi, Kylix
Veja estes links, vai te dar uma luz http://www.delphicorner.f9.co.uk/articles/forms1.htm http://en.allexperts.com/q/Delphi-1595/Top...form-Hidden.htm abraço -
Voce leu o artigo do link que te passei ? abraço
-
Veja este exemplo http://www.mail-archive.com/delphi-br@yaho...r/msg39418.html abraço
-
Mude o Tema do windows ou use skins no seu programa http://www.microsoft.com/brasil/windowsxp/...february17.mspx abraço
-
Tente usando esse código unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function GetIdeDiskSerialNumber : String; type TSrbIoControl = packed record HeaderLength : ULONG; Signature : Array[0..7] of Char; Timeout : ULONG; ControlCode : ULONG; ReturnCode : ULONG; Length : ULONG; end; SRB_IO_CONTROL = TSrbIoControl; PSrbIoControl = ^TSrbIoControl; TIDERegs = packed record bFeaturesReg : Byte; // especificar "comandos" SMART bSectorCountReg : Byte; // registro de contador de setor bSectorNumberReg : Byte; // registro de número de setores bCylLowReg : Byte; // valor de cilindro (byte mais baixo) bCylHighReg : Byte; // valor de cilindro (byte mais alto) bDriveHeadReg : Byte; // registro de drive/cabeça bCommandReg : Byte; // comando IDE bReserved : Byte; // reservado- tem que ser zero end; IDEREGS = TIDERegs; PIDERegs = ^TIDERegs; TSendCmdInParams = packed record cBufferSize : DWORD; irDriveRegs : TIDERegs; bDriveNumber : Byte; bReserved : Array[0..2] of Byte; dwReserved : Array[0..3] of DWORD; bBuffer : Array[0..0] of Byte; end; SENDCMDINPARAMS = TSendCmdInParams; PSendCmdInParams = ^TSendCmdInParams; TIdSector = packed record wGenConfig : Word; wNumCyls : Word; wReserved : Word; wNumHeads : Word; wBytesPerTrack : Word; wBytesPerSector : Word; wSectorsPerTrack : Word; wVendorUnique : Array[0..2] of Word; sSerialNumber : Array[0..19] of Char; wBufferType : Word; wBufferSize : Word; wECCSize : Word; sFirmwareRev : Array[0..7] of Char; sModelNumber : Array[0..39] of Char; wMoreVendorUnique : Word; wDoubleWordIO : Word; wCapabilities : Word; wReserved1 : Word; wPIOTiming : Word; wDMATiming : Word; wBS : Word; wNumCurrentCyls : Word; wNumCurrentHeads : Word; wNumCurrentSectorsPerTrack : Word; ulCurrentSectorCapacity : ULONG; wMultSectorStuff : Word; ulTotalAddressableSectors : ULONG; wSingleWordDMA : Word; wMultiWordDMA : Word; bReserved : Array[0..127] of Byte; end; PIdSector = ^TIdSector; const IDE_ID_FUNCTION = $EC; IDENTIFY_BUFFER_SIZE = 512; DFP_RECEIVE_DRIVE_DATA = $0007c088; IOCTL_SCSI_MINIPORT = $0004d008; IOCTL_SCSI_MINIPORT_IDENTIFY = $001b0501; DataSize = sizeof(TSendCmdInParams)-1+IDENTIFY_BUFFER_SIZE; BufferSize = SizeOf(SRB_IO_CONTROL)+DataSize; W9xBufferSize = IDENTIFY_BUFFER_SIZE+16; var hDevice : THandle; cbBytesReturned : DWORD; pInData : PSendCmdInParams; pOutData : Pointer; // PSendCmdOutParams Buffer : Array[0..BufferSize-1] of Byte; srbControl : TSrbIoControl absolute Buffer; procedure ChangeByteOrder( var Data; Size : Integer ); var ptr : PChar; i : Integer; c : Char; begin ptr := @Data; for i := 0 to (Size shr 1)-1 do begin c := ptr^; ptr^ := (ptr+1)^; (ptr+1)^ := c; Inc(ptr,2); end; end; begin Result := ''; FillChar(Buffer,BufferSize,#0); if Win32Platform=VER_PLATFORM_WIN32_NT then // Windows NT, Windows 2000, Windows XP begin // recuperar handle da porta SCSI hDevice := CreateFile('\\.\Scsi0:', // Nota: '\\.\C:' precisa de privilégios administrativos GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); if hDevice=INVALID_HANDLE_VALUE then Exit; try srbControl.HeaderLength := SizeOf(SRB_IO_CONTROL); System.Move('SCSIDISK',srbControl.Signature,8); srbControl.Timeout := 2; srbControl.Length := DataSize; srbControl.ControlCode := IOCTL_SCSI_MINIPORT_IDENTIFY; pInData := PSendCmdInParams(PChar(@Buffer) + SizeOf(SRB_IO_CONTROL)); pOutData := pInData; with pInData^ do begin cBufferSize := IDENTIFY_BUFFER_SIZE; bDriveNumber := 0; with irDriveRegs do begin bFeaturesReg := 0; bSectorCountReg := 1; bSectorNumberReg := 1; bCylLowReg := 0; bCylHighReg := 0; bDriveHeadReg := $A0; bCommandReg := IDE_ID_FUNCTION; end; end; if not DeviceIoControl( hDevice, IOCTL_SCSI_MINIPORT, @Buffer, BufferSize, @Buffer, BufferSize, cbBytesReturned, nil) then Exit; finally CloseHandle(hDevice); end; end else begin // Windows 95 OSR2, Windows 98, Windows ME hDevice := CreateFile( '\\.\SMARTVSD', 0, 0, nil, CREATE_NEW, 0, 0 ); if hDevice=INVALID_HANDLE_VALUE then Exit; try pInData := PSendCmdInParams(@Buffer); pOutData := @pInData^.bBuffer; with pInData^ do begin cBufferSize := IDENTIFY_BUFFER_SIZE; bDriveNumber := 0; with irDriveRegs do begin bFeaturesReg := 0; bSectorCountReg := 1; bSectorNumberReg := 1; bCylLowReg := 0; bCylHighReg := 0; bDriveHeadReg := $A0; bCommandReg := IDE_ID_FUNCTION; end; end; if not DeviceIoControl( hDevice, DFP_RECEIVE_DRIVE_DATA, pInData, SizeOf(TSendCmdInParams)-1, pOutData, W9xBufferSize, cbBytesReturned, nil ) then Exit; finally CloseHandle(hDevice); end; end; with PIdSector(PChar(pOutData)+16)^ do begin ChangeByteOrder(sSerialNumber,SizeOf(sSerialNumber)); SetString(Result,sSerialNumber,SizeOf(sSerialNumber)); end; end; Function SerialNum(FDrive:String) :String; Var Serial:DWord; DirLen,Flags: DWord; DLabel : Array[0..11] of Char; begin Try GetVolumeInformation(PChar(FDrive+':\'),dLabel,12,@Serial,DirLen,Flags,nil,0); Result := IntToHex(Serial,8); Except Result :=''; end; end; procedure TForm1.Button1Click(Sender: TObject); var VolumeSerialNumber : DWORD; MaximumComponentLength : DWORD; FileSystemFlags : DWORD; TheSerialNumber : String; begin if GetVolumeInformation('C:\',nil,0,@VolumeSerialNumber, MaximumComponentLength,FileSystemFlags,nil,0) then begin TheSerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + IntToHex(LoWord(VolumeSerialNumber), 4); end; ShowMessage('O Numero serial do drive é: '+TheSerialNumber); end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage('O Numero serial do drive é: '+ SerialNum('C')); end; procedure TForm1.Button3Click(Sender: TObject); var s : String; rc : DWORD; begin s := GetIdeDiskSerialNumber; if s='' then begin rc := GetLastError; if rc=0 then showmessage('Drive IDE não suporta SMART') else showmessage(SysErrorMessage(rc)); end else showmessage('O Nº Serial Físico do HD é: ' + s); end; abraço
-
(Resolvido) erro ao fazer o sistema avisar datas importantes
pergunta respondeu ao flavioavilela de Jhonas em Delphi, Kylix
Neste caso é o contrário, a data atual voce soma 3. Se o resultado for menor ou igual a data atual emite o aviso. exemplo simples para voce melhorar abraço -
sei que deve ser simples mais não consigo identificar a origem e consequentemente não consigo resolver. Realmente são erros muito simples: [Error] consultarotas.pas(51): Identificador não declarado: 'qryempresa' [Error] consultarotas.pas(59): Identificador não declarado: 'qryempresa' [Error] consultarotas.pas(59): Faltando operador ou ponto e virgula [Error] consultarotas.pas(60): Faltando operador ou ponto e virgula [Error] consultarotas.pas(71): Identificador não declarado: 'qryempresa' [Error] consultarotas.pas(71): Faltando operador ou ponto e virgula [Fatal Error] controle.dpr(25): Não pode compilar usando a unit 'fontes\consultarotas.pas' OBS: O numero que aparece é o numero da linha onde está o comando exemplo de declaração de variavel var qryempresa : string; abraço
-
Leia este artigo: http://www.linhadecodigo.com.br/Artigo.aspx?id=372 abraço