Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. voce está usando TTable ou TQuery ?
  2. tem um post resolvido com a sua dúvida favor pesquisar no forum http://www.google.com.br/search?q=webbrowser+script+brasil+site:www.scriptbrasil.com.br&hl=pt&gbv=2&prmd=ivns&ei=e0qHVZb9GLaAsQSQtLsY&start=10&sa=N http://www.google.com.br/search?q=webbrowser+script+brasil+site:www.scriptbrasil.com.br&hl=pt&gbv=2&prmd=ivns&ei=e0qHVZb9GLaAsQSQtLsY&start=20&sa=N http://www.google.com.br/search?q=webbrowser+script+brasil+site:www.scriptbrasil.com.br&hl=pt&gbv=2&sa=X&ei=aEqHVZWMF7DPsQT6jLPYDQ&ved=0CDEQrQIwAw abraço
  3. O indicador teria que acompanhar a campo selecionado... O DBgrid reflete a posição do registro em que está o cursor .... quando voce define uma nova posição de celula no DBGrid voce deve definir tambem a posição do registro ( Tabela ) nessa celula procedure TForm1.Button2Click(Sender: TObject); var aTexto: string; begin // LER A POSIÇÃO DE LINHA E COLUNA DO ARQ INI // COLOCAR O CURSOR NA ULTIMA POSIÇÃO SALVA LeIni(aTexto); ShowMessage(aTexto); TStringGrid(DBGrid1).Row := strtoint(copy(aTexto,1,1)); DBGrid1.SelectedIndex := strtoint(copy(aTexto,3,1)); DBGrid1.SetFocus; // INDICAR A POSIÇÃO DO REGISTRO DA TABELA NO DBGRID query1.RecNo := TStringGrid(DBGrid1).Row; Edit1.Text := IntToStr( TStringGrid(DBGrid1).Row ); Edit2.Text := IntToStr( DBGrid1.SelectedIndex ); end; abraço
  4. ok... voce tem que guardar em um arquivo ( ini ) a posição de linha e coluna que voce clicou no dbgrid ao abrir o programa novamente, voce deve ler o arquivo ini e extrair a informação guardada depois, basta referenciar novamente essa posição para o dbgrid e jogar o foco sobre ele para que mostre essa posição ( Linha e Coluna ) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls; type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; Query1: TQuery; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; procedure DBGrid1CellClick(Column: TColumn); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Linha, Coluna : Integer; implementation {$R *.dfm} uses IniFiles; procedure GravaIni(aTexto: string); var ArqIni: TIniFile; begin // SALVAR O VALOR DE LINHA E COLUNA NO ARQUIVO INI ArqIni := TIniFile.Create('c:\Arquivo.ini'); try ArqIni.WriteString('Linha', 'Coluna', aTexto); finally ArqIni.Free; end; end; procedure LeIni(var aTexto: string); var ArqIni: TIniFile; begin // LER OS VALORES DE LINHA E COLUNA DO ARQUIVO INI ArqIni := TIniFile.Create('c:\Arquivo.ini'); try aTexto := ArqIni.ReadString('Linha', 'Coluna', aTexto); finally ArqIni.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin GravaIni(inttostr(Linha) +','+ inttostr(Coluna)); end; procedure TForm1.Button2Click(Sender: TObject); var aTexto: string; begin // LER A POSIÇÃO DE LINHA E COLUNA DO ARQ INI // COLOCAR O CURSOR NA ULTIMA POSIÇÃO SALVA LeIni(aTexto); ShowMessage(aTexto); TStringGrid(DBGrid1).Row := strtoint(copy(aTexto,1,1)); DBGrid1.SelectedIndex := strtoint(copy(aTexto,3,1)); DBGrid1.SetFocus; Edit1.Text := IntToStr( TStringGrid(DBGrid1).Row ); Edit2.Text := IntToStr( DBGrid1.SelectedIndex ); end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin // PEGAR NOVA POSIÇÃO DE LINHA E COLUNA NO DBGRID Linha:= TStringGrid(DBGrid1).Row; Coluna := DBGrid1.SelectedIndex; Edit1.Text := IntToStr( Linha ); Edit2.Text := IntToStr( Coluna ); end; end. abraço
  5. dê um exemplo, pois não entendi o que voce esta querendo fazer
  6. solução no final da pagina desse site http://stackoverflow.com/questions/12703989/sqlstate28000-1045-access-denied-for-user-rootlocalhost-using-password abraço
  7. gostaria de saber como pegar a posição da coluna e da linha de um dbGrid procedure TForm1.DBGrid1CellClick(Column: TColumn); var Linha, Coluna : Integer; begin Linha:= TStringGrid(DBGrid1).Row; Coluna := DBGrid1.SelectedIndex; Edit1.Text := IntToStr( Linha ); Edit2.Text := IntToStr( Coluna ); end; abraço
  8. Jhonas

    Biblioteca time

    exemplo http://www.tutorialspoint.com/c_standard_library/c_function_difftime.htm abraço
  9. Erro: message ''17/03/2015 10:54:00' is not a valid date esse erro acontece se a configuração regional do seu windows não estiver com esse formato na data e hora va em Iniciar > Configurações > Painel de Controle > Opções regionais e de idioma > clique no botão Personalizar > Data o formato tem que ser esse dd/MM/aaaa e a hora deve estar HH:mm:ss abraço
  10. arquivos com essa extensão são mais antigos use o LibreOffice http://www.google.com.br/search?q=libreoffice+download&hl=pt&gbv=2&nfpr=&spell=1&o que=LibreOffice&gs_l=heirloom-serp.1.1.0i67j0l9.344130.344130.0.348156.1.1.0.0.0.0.402.402.4-1.1.0....0...1ac.1.34.heirloom-serp..0.1.402.iHE4WY9j6KI ou https://support.microsoft.com/pt-br/kb/924074/pt-br abraço
  11. Jhonas

    Ajuda com exercício

    amigo, acho que dar uma pesquisada no google resolve o seu problema... é só procurar http://www.cprogressivo.net/2013/03/Como-gerar-numeros-aleatorios-em-C-com-a-rand-srand-e-seed.html http://programasemcmaismais.blogspot.com.br/2012/11/para-criar-um-vetor-com-10-espacos-com.html abraço
  12. amigo, voce precisa estudar mais... procedure TForm1.Button1Click(Sender: TObject); var sDataDocumento : String; dtDataDocumento : TDateTime; begin sDataDocumento := '17/03/2015 10:54:00'; /// ou pegar o valor de um arquivo texto dtDataDocumento := StrToDateTime(sDataDocumento); showmessage(sDataDocumento); showmessage(DateTimeToStr(dtDataDocumento)); end; abraço
  13. acho que tem alguma coisa a respeito no forum .... favor pesquisar http://www.google.com.br/search?q=webbrowser+script+brasil+site:www.scriptbrasil.com.br&hl=pt&gbv=2&sa=X&ei=jrWBVdiME9K1sQTR34a4Cg&ved=0CDEQrQIwAw abraço
  14. veja procedure TForm1.Button1Click(Sender: TObject); var sDataDocumento : String; dtDataDocumento : TDateTime; begin dtDataDocumento := StrToDateTime('17/03/2015 10:54:00'); sDataDocumento := datetimetostr(dtDataDocumento); showmessage(sDataDocumento); end; ou procedure TForm1.Button1Click(Sender: TObject); var sDataDocumento : String; dtDataDocumento : TDateTime; begin dtDataDocumento := now; // data atual sDataDocumento := datetimetostr(dtDataDocumento); showmessage(sDataDocumento); showmessage(datetimetostr(dtDataDocumento)); end; abraço
  15. então tente isso if (Diário.Checked = true) then begin //pegar o periodo da data atual Ibtable1.Active := false; Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+''''; Ibtable1.Active := true; Ibtable1.filtered := true; FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3'); FrxReport1.ShowReport() ; exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...} //********************************************************************* end; ///////////////////////////////////////// eliminar o else if (Mensal.Checked= true) then begin //pegar o periodo da data atual (-30) dias Ibtable1.Active := false; Ibtable1.filter := 'DATA_VENDA >= ' + ''''+datetostr(now-30)+'''' + ' and ' + 'DATA_VENDA <= ' + ''''+ datetostr(now)+''''; Ibtable1.Active := true; ibtable1.filtered := true; FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3'); FrxReport1.ShowReport() ; end; use o break point nesse comando if (Mensal.Checked= true) then e veja se realmente ele está executando o restante dos comandos estou com o componente TDateTimePicker como funciona esse componente para escolher as datas determinadas?.. Use o evento OnChange ... ao clicar numa data, o valor será jogado para uma variavel ou label ou outro componente unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm1 = class(TForm) DateTimePicker1: TDateTimePicker; Label1: TLabel; procedure DateTimePicker1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.DateTimePicker1Change(Sender: TObject); begin Label1.Caption := datetostr(DateTimePicker1.Date); end; end. abraço
  16. Jhonas

    combobox

    amigo, fiz um exemplo completo ... veja se consegue entender a lógica crie um novo projeto e coloque no form: 1 RadioGroup com 2 itens ( Física e Juridica ) 2 Label 2 MaskEdit OBS: Veja os eventos dos componentes ( RadioGroup e MaskEdit ) e faça o teste observe tambem a declaração das Functions no Type do form unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Mask; type TForm1 = class(TForm) MaskEdit1: TMaskEdit; Label1: TLabel; RadioGroup1: TRadioGroup; MaskEdit2: TMaskEdit; Label2: TLabel; function cpf(num: string): boolean; function ValidaCNPJ(I:string): Boolean; procedure RadioGroup1Click(Sender: TObject); procedure MaskEdit1Exit(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function TForm1.cpf(num: string): boolean; var n1,n2,n3,n4,n5,n6,n7,n8,n9: integer; d1,d2: integer; digitado, calculado: string; begin if MaskEdit1.text = '' then exit; if MaskEdit1.text <> ' . . - ' then begin n1:=StrToInt(num[1]); n2:=StrToInt(num[2]); n3:=StrToInt(num[3]); n4:=StrToInt(num[5]); n5:=StrToInt(num[6]); n6:=StrToInt(num[7]); n7:=StrToInt(num[9]); n8:=StrToInt(num[10]); n9:=StrToInt(num[11]); d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10; d1:=11-(d1 mod 11); if d1>=10 then d1:=0; d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11; d2:=11-(d2 mod 11); if d2>=10 then d2:=0; calculado:=inttostr(d1)+inttostr(d2); digitado:=num[13]+num[14]; if calculado=digitado then cpf:=true else cpf:=false; end; end; function CalculaCnpjCpf(Numero : String) : String; var i,j,k, Soma, Digito : Integer; CNPJ : Boolean; begin Result := Numero; case Length(Numero) of 9: CNPJ := False; 12: CNPJ := True; else Exit; end; for j := 1 to 2 do begin k := 2; Soma := 0; for i := Length(Result) downto 1 do begin Soma := Soma + (Ord(Result[i])-Ord('0'))*k; Inc(k); if (k > 9) and CNPJ then k := 2; end; Digito := 11 - Soma mod 11; if Digito >= 10 then Digito := 0; Result := Result + Chr(Digito + Ord('0')); end; end; function TForm1.ValidaCNPJ(I:string): Boolean; var cnpj: array[1..14] of integer; apoio: array[0..13] of integer; f: integer;//para uso no for total: integer;//para totalização dos valores D1: integer;//primeiro dígito calculado D2: integer;//segundo dígito calculado begin //Primeiro teste: o número de algarismos if (Length(I)<>14) then result:=false else begin //Antes do teste propriamente dito temos que montar a matriz com os //os algarismos do CNPJ e depois uma matriz apoio) que terá os números //que ajudarão a verificar so dígitos verificadores for f := 1 to 14 do begin cnpj[f]:=0; apoio[f-1]:=0; end; //Monta matriz cnpj for f := 1 to 14 do begin cnpj[f]:=strtoint(I[f]); end; end; //Monta matriz de apoio apoio[0]:=6;//só será usada no cálculo do segundo dígito verificador apoio[1]:=5; apoio[2]:=4; apoio[3]:=3; apoio[4]:=2; apoio[5]:=9; apoio[6]:=8; apoio[7]:=7; apoio[8]:=6; apoio[9]:=5; apoio[10]:=4; apoio[11]:=3; apoio[12]:=2; //Começa cálculo do primeiro dígito verificador total:=0;//variável que conterá a soma da operação com os números for f := 1 to 12 do begin total:=total+(cnpj[f]*apoio[f]); end; D1 := total mod 11; if (D1<2) then D1:=0 else D1:=11-D1; if (D1<>cnpj[13]) then begin //Primeiro dígito verificador não confere Result:=false; end else begin //Entrou aqui, então o primeiro dígito confere! total:=0; for f := 0 to 12 do begin total:=total+(cnpj[f+1]*apoio[f]); end; D2 :=total mod 11; if (D2<2) then D2:=0 else D2:=11-D2; if (D2<>cnpj[14]) then begin //Segunod digito verificador não confere Result:=false; end else Result:=true; end; end; procedure TForm1.RadioGroup1Click(Sender: TObject); begin MaskEdit1.Text := ''; MaskEdit2.Text := ''; if RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] = 'Física' then begin Label1.Caption := 'CPF'; // seria o seu label onde o caption é c_cnpj Label2.Caption := 'RG'; MaskEdit1.EditMask := '000.000.000-00'; MaskEdit2.EditMask := '##############'; end; if RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] = 'Juridica' then begin Label1.Caption := 'CNPJ'; // seria o seu label onde o caption é c_cnpj Label2.Caption := 'INSCR.EST'; MaskEdit1.EditMask := '000.000.000/0000-00'; MaskEdit2.EditMask := '000.000.000-000'; end; end; procedure TForm1.MaskEdit1Exit(Sender: TObject); VAR S, s2 : boolean; s1 : string; begin try if Label1.Caption = 'CPF' then begin if MaskEdit1.text = '' then exit; s := cpf(MaskEdit1.text); if s = true then //showmessage('CIC/CPF Valido') else begin showmessage('CIC/CPF Inválido'); MaskEdit1.Text := '000.000.000-00'; end; end; except MaskEdit2.Text := '000.000.000-00'; end; try if Label1.Caption = 'CNPJ' then begin if MaskEdit1.text = '' then exit; s1 := MaskEdit1.Text; while Pos('.', S1) > 0 do delete(s1,Pos('.', S1),1); while Pos('/', S1) > 0 do delete(s1,Pos('/', S1),1); while Pos('-', S1) > 0 do delete(s1,Pos('-', S1),1); if Pos('0', S1) = 1 then delete(s1,Pos('0', S1),1); s2 := ValidaCNPJ(s1); if s2 = true then //showmessage('CNPJ Valido') else begin showmessage('CNPJ Inválido'); MaskEdit1.Text := '000.000.000/0000-00'; end; end; except MaskEdit1.Text := '000.000.000/0000-00'; end; end; end. o exemplo está funcionando perfeitamente faça as modificações para o seu uso abraço
  17. o curso de Análise e Desenvolvimento de Sistemas vai te ajudar muito ... pois se aplica a qualquer linguagem de programação que voce escolher depois. abraço
  18. String Sql = "SELECT * FROM usuarios WHERE usuario=? and senha=?"; ====================================================== descrição Quando você encontrar um erro ORA-00911, a seguinte mensagem de erro aparece: * ORA-00911: caractere inválido causa Você tentou executar uma instrução SQL que inclui um caractere especial. resolução A opção (s) para resolver este erro do Oracle são: Opção 1 Este erro ocorre quando você tenta usar um caractere especial em uma instrução SQL. Se um personagem especial, além do $, _, e # é usado no nome de uma coluna ou tabela, o nome deve ser colocado entre aspas duplas. Opção # 2 Este erro pode ocorrer se você colou seu SQL em seu editor de outro programa. Às vezes, há caracteres não imprimíveis que podem estar presentes. Neste caso, você deve tentar redigitar sua instrução SQL e, em seguida, ser executado novamente. Opção # 3 Este erro ocorre quando um caractere especial é usado em uma cláusula WHERE de SQL e o valor não está entre aspas simples. Por exemplo, se você tivesse a seguinte instrução SQL: SELECT * de fornecedores ONDE supplier_name =?; Você iria receber a seguinte mensagem de erro: Você pode corrigir este erro colocando o ? em citações individuais do seguinte modo: SELECT * FROM suppliers WHERE supplier_name = '?'; //---------------------------------------------------------------------------------------------------------------- veja a sua instrução String Sql = "SELECT * FROM usuarios WHERE usuario like '"+L.getUsuario()+"' and senha like '"+L.getSenha()+"';"; o erro pode ser aquele penultimo ( ; ) ou podem ser as aspas ( '" ) abraço
  19. Acredito que todas as tabelas teriam de estar em mesmo clientdataset Não ,,,, cada tabela deve estar linkada ao seu proprio clientdataset na instrução Select ( TQuery ) voce pode unir as tabelas, atraves dos seus respectivos campos de controle ou em relacionamentos entre as tabelas de ( 1 para N ) ou seja de um registro de uma tabela para varios outros registros de outra tabela usando o mesmo campo de controle ( mesmo nome ) nas duas ou mais tabelas http://www.google.com.br/search?q=relacionamento+entre+tabelas++delphi&hl=pt&gbv=2&o que=relacionamento+entre+tabelas++delphi&gs_l=heirloom-serp.3..0i30.2248056.2251799.0.2253629.29.28.0.1.1.1.225.2807.17j10j1.28.0....0...1ac.1.34.heirloom-serp..8.21.1455.xgBp3VgM3io abraço
  20. Se digitar o nome completo do cliente a pesquisa já dá certo coloque o código que voce faz isso
  21. voce verificou se está entrando nesse IF ? qual é o valor do Result1 que voce está procurando nas celulas ? if pvalor = aux then begin Result1 := I; Selection := TGridRect( Rect(0, result1, 4, result1) ); Linha := Pesquisar(inttostr(result1),0); // valor e coluna showmessage(inttostr(linha)); if (Linha <> -1) then begin StringGrid1.Rows[0].IndexOf(inttostr(result1)); StringGrid1.Row := linha; showmessage('Entrou'); end; OBS: Se tiver dúvidas quanto a rolagem do stringgrid, faça o teste somente com o código que te passei coloque 30 linhas no stringgrid para que apareça a barra de rolagem, e depois coloque valores na coluna 1, e faça o teste vai percerber que ele rola até o valor que voce mandou pesquisar e encontrou no stringgrid abraço
  22. veja if (Diário.Checked = true) then begin //pegar o periodo da data atual Ibtable1.Active := false; Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+''''; Ibtable1.Active := true; Ibtable1.filtered := true; FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3'); FrxReport1.ShowReport() ; exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...} //********************************************************************* end else if (Mensal.Checked= true) then begin //pegar o periodo da data atual (-30) dias Ibtable1.Active := false; Ibtable1.filter := 'DATA_VENDA >= ' + ''''+datetostr(now-30)+'''' + ' and ' + 'DATA_VENDA <= ' + ''''+ datetostr(now)+''''; Ibtable1.Active := true; ibtable1.filtered := true; FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3'); FrxReport1.ShowReport() ; end; abraço
  23. o erro esta na sua select http://www.techonthenet.com/oracle/errors/ora00911.php possivelmente um ( ; ) ou outro caracter .... verifique toda a sentença abraço
  24. ok... tente isso então procedure TForm1.BitBtn1Click(Sender: TObject); var Linha : Integer; begin Linha := Pesquisar('20',1); // valor e coluna if (Linha <> -1) then begin StringGrid1.Rows[linha].IndexOf('20'); StringGrid1.Row := linha; end; end; OBS: o 20 é o valor que ele vai procurar na celula e mostrar ( vai rolar o stringgrid até a posição ) abraço
  25. exemplo: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; BitBtn1: TBitBtn; BitBtn2: TBitBtn; function Pesquisar(Valor : String; Coluna : Integer = 0) : Integer; procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function TForm1.Pesquisar(Valor : String; Coluna : Integer = 0) : Integer; var I : Integer; begin Result := -1; for I := 0 to StringGrid1.RowCount - 1 do begin if (StringGrid1.Cells[Coluna,I] = Valor) then begin Result := I; Break; end; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var Linha : Integer; begin Linha := Pesquisar('20',1); if (Linha <> -1) then StringGrid1.Row := Linha; end; end. abraço
×
×
  • Criar Novo...