-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
exemplo http://www.devmedia.com.br/providerflags-no-delphi-atualizando-dados-de-uma-unica-tabela/26689 ou https://www.google.com.br/webhp?sourceid=chrome-instant&rlz=1C1RLNS_pt-BRBR672BR672&ion=1&espv=2&ie=UTF-8#q=atualizar%20pre%C3%A7os%20na%20tabela%20produtos%20delphi abraço
-
voce vai criar uma tabela para pacientes e uma tabela para os medicos e uma tabela de agenda cada medico tera uma lista de pacientes para determinado dia e hora então na sua agenda, voce vai selecionar o medico ( por especialidade ), depois o dia e hora onde vai ser incluido o paciente exemplo http://www.planetadelphi.com.br/download/2805/arquivo/consultorio-medico abraço
-
use esse programa http://nirsoft.net/utils/skype_log_view.html abraço
-
veja http://rogerdudler.github.io/git-guide/index.pt_BR.html abraço
-
Alguém tem banco de dados de bula/bulário?
pergunta respondeu ao Bruno Videira de Jhonas em Demais Bancos
Sistema Programa Automação Comercial de Farmacias e Drogarias link correto: http://www.baixaki.com.br/site/dwnld45342.htm ou http://www.giovaneinformatica.com/downloads/Instalarfarmacia.exe abraço -
(Resolvido) AdoQuery - Consulta parameterizada
pergunta respondeu ao mariolopes de Jhonas em Delphi, Kylix
para acesso ao MYSQL use o componente ZConnection1 do pacote ZeosLib para as tabelas use os componentes: ZQuery, DataSetProvider, ClientDataSet e DataSource ( os 3 ultimos da paleta Data Access ) download do pacote de componentes ( essa versão serve para o delphi 2010 )) http://sourceforge.net/projects/zeoslib/files/latest/download como instalar os componentes https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjzpKyStd_KAhWJH5AKHezZBuAQtwIIIjAB&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKkvi9-VbdTI&usg=AFQjCNEFOEFC5C9XYjqIDNftXfib235Pcg&bvm=bv.113370389,d.Y2I abraço -
(Resolvido) AdoQuery - Consulta parameterizada
pergunta respondeu ao mariolopes de Jhonas em Delphi, Kylix
Erro: Argumentos do tipo errado, estão fora do intervalo aceitável ou estão em conflito um com o outro exatamente em qual linha ocorre esse erro ? -
se voce não tem nenhum conhecimento sobre o assunto, isso vai te ajudar abraço
-
(Resolvido) Web Scraping - ler página html
pergunta respondeu ao mariolopes de Jhonas em Delphi, Kylix
pesquise nesses links https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=web+scraping+delphi https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=ler%20arquivo%20html%20delphi exemplo program WebScrape; {$APPTYPE CONSOLE} {.$DEFINE DEBUG} uses Classes, Winsock; { Function to connect to host, send HTTP request and retrieve response } function DoHTTPGET(const hostName: PAnsiChar; const resource: PAnsiChar; HTTPResponse: TStrings): Boolean; const Port: integer = 80; CRLF = #13#10; // carriage return/line feed var WSAData: TWSAData; Sock: TSocket; SockAddrIn: TSockAddrIn; IPAddress: PHostEnt; bytesIn: integer; inBuffer: array [0..1023] of char; Req: string; begin Result := False; HTTPResponse.Clear; { Initialise use of the Windows Sockets DLL. Older Windows versions support Winsock 1.1 whilst newer Windows include Winsock 2 but support 1.1. Therefore, we'll specify version 1.1 ($101) as being the highest version of Windows Sockets that we can use to provide greatest flexibility. WSAData receives details of the Windows Sockets implementation } Winsock.WSAStartUp($101, WSAData); try { Create a socket for TCP/IP usage passing in Address family spec: AF_INET (TCP, UDP, etc.) Type specification: SOCK_STREAM Protocol: IPPROTO_TCP (TCP) } Sock := WinSock.Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); try // Check we have a valid socket if (Sock <> INVALID_SOCKET) then begin // Populate socket address structure with SockAddrIn do begin // Address family specification sin_family := AF_INET; // Port sin_port := htons(Port); // Address sin_addr.s_addr := inet_addr(hostName); end; if (SockAddrIn.sin_addr.s_addr = INADDR_NONE) then begin { As we're using a domain name instead of an IP Address, we need to resolve the domain name } IPAddress := Winsock.gethostbyname(hostName); // Quit if we didn't get an IP Address if (IPAddress = nil) then Exit; // Update the structure with the IP Address SockAddrIn.sin_addr.s_addr := PLongint(IPAddress^.h_addr_list^)^; end; // Try to connect to host if (Winsock.connect(Sock, SockAddrIn, SizeOf(SockAddrIn)) <> SOCKET_ERROR) then begin // OK - Connected // Compose our request // Each line of the request must be terminated with a carriage return/line feed { The First line specifies method (e.g. GET, POST), path to required resource, and the HTTP version being used. These three fields are space separated. } Req := 'GET '+resource+' HTTP/1.1' + CRLF + // Host: is the only Required header in HTTP 1.1 'Host: '+hostName + CRLF + { Persistent connections are the default in HTTP 1.1 but, as we don't want or need one for this exercise, we must include the "Connection: close" header in our request } 'Connection: close' + CRLF + CRLF; // Request must end with an empty line! // Try to send the request to the host if (Winsock.send(Sock,Req[1],Length(Req),0) <> SOCKET_ERROR) then begin // Initialise incoming data buffer (i.e. fill array with nulls) FillChar(inBuffer,SizeOf(inBuffer),#0); // Loop until nothing left to read repeat // Read incoming data from socket bytesIn := Winsock.recv(Sock, inBuffer, SizeOf(inBuffer), 0); // Assign buffer to Stringlist HTTPResponse.Text := HTTPResponse.Text + Copy(string(inBuffer),1,bytesIn); until (bytesIn <= 0) or (bytesIn = SOCKET_ERROR); { Our list of response strings should contain at least 1 line } Result := HTTPResponse.Count > 0; end; end; end; finally // Close our socket Winsock.closesocket(Sock); end; finally { This causes our application to deregister itself from this Windows Sockets implementation and allows the implementation to free any resources allocated on our behalf. } Winsock.WSACleanup; end; end; { Simple function to locate and return the UTC time from the request sent to http://tycho.usno.navy.mil/cgi-bin/timer.pl The HTTPResponse parameter contains both the HTTP Headers and the HTML served up by the requested resource. } function ParseResponse(HTTPResponse: TStrings): string; var i: Integer; begin Result := ''; { Check first line for server response code We want something like this: HTTP/1.1 200 OK } if Pos('200',HTTPResponse[0]) > 0 then begin for i := 0 to Pred(HTTPResponse.Count) do begin { The line we're looking for is something like this: <BR>May. 04. 21:55:19 UTC Universal Time } // Check each line if Pos('UTC',HTTPResponse[i]) > 0 then begin Result := Copy(HTTPResponse[i],5,Pos('UTC',HTTPResponse[i])-1); Break; end; end; end else Result := 'HTTP Error: '+HTTPResponse[0]; end; const host: PAnsiChar = 'tycho.usno.navy.mil'; res : PAnsiChar = '/cgi-bin/timer.pl'; var Response: TStrings; begin { A TStringList is a TStrings descendant class that is used to store and manipulate a list of strings. Instantiate a stringlist class to hold the results of our HTTP GET } Response := TStringList.Create; try // Try an HTTP GET request if DoHTTPGET(host,res,Response) then begin {$IFDEF DEBUG} { Write the entire response to the console window } Writeln(Response.text); {$ELSE} { Parse the response and write the result to the console window } Writeln(ParseResponse(Response)); {$ENDIF DEBUG} end else Writeln('Error retrieving data'); finally Response.Free; end; // Keep console window open Readln; end. Example using Indy's IdHTTP component. program ReadUTCTime; {$APPTYPE CONSOLE} uses SysUtils, Classes, IdHTTP; var s: string; lHTTP: TIdHTTP; lReader: TStringReader; begin lHTTP := TIdHTTP.Create(nil); try lReader := TStringReader.Create(lHTTP.Get('http://tycho.usno.navy.mil/cgi-bin/timer.pl')); while lReader.Peek > 0 do begin s := lReader.ReadLine; if Pos('UTC', s) > 0 then begin Writeln(s); Break; end; end; finally lHTTP.Free; lReader.Free; end; end. abraço -
Seja bem vindo ao forum abraço
-
voce criou uma Unit certo ? depois de ter criado a Unit voce vai salva-la no disco unit UnitPOO1; ///// TROQUEI O NOME DA UNIT PARA VOCE PODER ENTENDER MELHOR O FUNCIONAMENTO interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; {---------------Classe Transporte-----------------} type tTransporte = class private public nome : string; constructor Create; overload; constructor Create(nome : string); overload; procedure move (metros : Integer); end; {---------------Classe Carro-----------------} type tCarro = class(tTransporte) private public procedure pCarro; end; {---------------Classe Avião-----------------} type tAviao = class(tTransporte) private public procedure pAviao; end; implementation { Ttransporte } constructor tTransporte.Create; begin inherited; end; constructor tTransporte.Create(nome : string); begin Self.nome := nome; end; procedure tTransporte.move(metros : Integer); begin ShowMessage( nome + ' Moveu ' + inttostr(metros) + ' m.'); end; { tCarro } procedure tCarro.pCarro; begin Self.nome := 'Porche 911'; move(100); end; { tAviao } procedure tAviao.pAviao; begin Self.nome := 'Boing'; move(2500); end; end. =========================================================================== Para fazer isso ser executado, voce cria uma nova aplicação, onde vai ser criado um Form no Form voce vai instanciar os objetos criados ( por exemplo em um botão ) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses UnitPOO1; /// AQUI VOCE CHAMA A UNIT QUE VOCE CRIOU procedure TForm1.Button1Click(Sender: TObject); var Transp : tCarro; Transp1 : tAviao; begin Transp.pCarro; Transp1.pAviao; end; end. ========================================================= Aqui o Resultado Porche 911 moveu 100 m Boing moveu 2500 m ========================================================= abraço
-
por enquanto esta tudo correto ... sem erros exemplo de OOP https://rodrigocesarc.wordpress.com/2013/12/22/poo-delphi-parte-i-criacao-de-classe-metodo-construtor-e-destrutor/ abraço
-
se a data que não foi cadastrada estiver no intervalo da DataInicial e DataFinal é evidente que será exibido as demais datas exemplo: voce digitou a data 12/12/2015 ( essa data não existe no banco de dados ) então a DataInicial e DataFinal tem que ser 12/12/2015 .... dessa maneira não será trazido nenhum dado para o relatório mas se a sua DataInicial é 12/12/2015 e a sua DataFinal for 31/12/2015 e existirem datas cadastradas nesse intervalo, então será trazido para o relatorio as demais datas abraço
-
voce e nem seus clientes vão querer perder dados ou ficar esperando alguma manutenção que afete os demais, não é mesmo ? quando se trata de clientes diferentes, um banco para cada um, pode dar mais trabalho ... mas a manutenção ou correção desse banco fica mais tranquila. em termos de desempenho, quanto menos trafego na rede melhor abraço
-
(Resolvido) Problemas Com Delphi Xe7
pergunta respondeu ao valSistemasDelphi de Jhonas em Delphi, Kylix
algumas sugestões para resolver o problema: 1 - limpe o cache e a pasta temp do Internet Explorer (aquele que estiver instalado no micro )) veja tambem esse link http://cc.embarcadero.com/Item/27575 OBS: Este pacote com fonte resolve o estouro de pilha e fora do problema de memória com a página de boas-vindas. O problema é um problema com o languageStrings.xls que faz com que uma chamada recursiva arranque o javascript, este problema só aparece em situações muito esporádicas. Voce deve limpar o cache do IE do arquivo mencionado acima 2 - procure pelo arquivo WelcomePage160.bpl e renome-o com outro nome ( ignore o erro da primeira vez ) 3 - Usando o Regedit ache o registro.... EnableIDEUpdateCheck.reg abra a para ver chave de registro DELPHI XE 7 USE [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Embarcadero \ BDS \ 9.0 \ .... encontre o registro [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Embarcadero \ BDS \ 9.0 \ Packages IDE conhecidos startpageide160.bpl (este é o pacote da página inicial usado para carregar o delphi) para evitar a página inicial de carregamento C: \ Arquivos de Programas (x86) \ Embarcadero \ RAD Studio \ 9.0 \ bin renomear ... startpageide160.bpl para startpageide160_NOLOAD.bpl depois clique no ícone do Delphi XE7 e veja se funciona. abraço -
no final desse post tem outra solução experimente tambem trocar os componentes da tabela ... já peguei cada erro sem lógica ou explicação para isso abraço
- 3 respostas
-
- drawcolumncell
- checkbox
-
(e %d mais)
Tags:
-
o evento OnDrawColumnCell por sí só é um loop eterno o que pode ajudar quanto a velocidade, é trazer para o DBgrid poucos registros e não a tabela toda Erro: access Violation na linha Check := IS_CHECK[Column.Field.AsInteger = 1]; o erro poder ser do próprio componente ( DBgrid ) ou pode ser dos componentes de acesso ao Banco de Dados .... ( Tabela Contas a Receber ) que estão ligados ao DBGrid já peguei erro desse tipo, onde a troca dos componentes e um Build All Projects resolveram o problema abraço
- 3 respostas
-
- drawcolumncell
- checkbox
-
(e %d mais)
Tags:
-
basta desinstalar o Office, limpar os registros do windows ( use o CCleaner ) e instalar novamente o Office abraço
-
voce vai encontrar o que precisa em um desses links https://www.google.com.br/?gws_rd=cr,ssl&ei=BibBVeLoLoyANsGNrMAG#q=http:%2F%2Fwww.ProjetoBMS.net%2F abraço
-
veja esse link http://www.macoratti.net/vbn_dkwb.htm abraço
-
isso é um jogo ?
-
No delphi 7 os espaços aonde não estão sendo mostrados o quadro aonde estou trabalhando fica de fundo a minha área de trabalho, e toda as vezes que passo o mouse em algo da área de trabalho ele minimiza o delphi.. Tem como mudar isso? basta deixar o form do Menu maximizado ( preenchendo toda a área da tela ) abraço
-
Dica extraida do https://www.passeidireto.com/arquivo/1910591/algoritmos/7 Exemplo 9 – Separar os algarismos de um número inteiro de 4 algarismos Escreva um programa para ler do teclado um número inteiro de 4 algarismos e separar os algarismos das unidades, das dezenas, das centenas e das milhares. Análise do problema Seja, por exemplo, o número N = 3456. Cada algarismo pode ser obtido da seguinte forma: Algarismo das unidades = Resto (N, 10) Unidades = 6 Algarismo das dezenas = Resto (Inteiro (N / 10), 10) Dezenas = Resto (345, 10) = 5 Algarismo das centenas = Resto (Inteiro (N / 100), 10) Centenas = Resto (34, 10) = 4 Algarismo das milhares = Inteiro (N / 1000) Milhares = 3 // Separar os algarismos de um número de 4 algarismos | Algoritmo | //Declaração de variáveis | inteiro numero, unidades, dezenas, centenas, milhares | //Entrada de dados | leia (numero) | //Processamento | unidades ← Resto(numero, 10) | dezenas ← Resto(inteiro(numero / 10), 10) | centenas ← Resto( inteiro (numero / 100), 10) | milhares ← inteiro (numero / 1000) | | //Saída de resultados | escreva (numero, unidades, dezenas, centenas, milhares) | Fim algoritmo abraço
-
veja nesses links https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=simular%20click%20de%20bot%C3%A3o%20no%20webbrowser%20delphi abraço
-
já existe componente para isso outra opção http://www.baixedetudo.net/ibm-via-voice-9-portugues-2008 abraço