Ir para conteúdo
Fórum Script Brasil

Tbaiano

Membros
  • Total de itens

    134
  • Registro em

  • Última visita

Tudo que Tbaiano postou

  1. Valeu era isso mesmo... Obrigado. Tbaiano.
  2. E ai galera to com uma duvida em SQL, se alguém puder me ajudar, Queria Selecionar a Situação de um Cliente pela ANO/MES, ex: 2004/01 , 2005/04 ; Só que isso estara dentro de uma String, ex: 2004/01 - 2004/02 - 2004/03 - 2004/04 ; Quanto a separar tudo bem até ai está tranquilo queria mesmo era saber como faço em SQL passar como pesquisa 2004/01 or 2004/02 or 2004/03 or 2004/04, NÃO consigui ; tentei like, e outros comando mas nada... Seria tipo assim, de forma siomples,,, Select *From SITUACAO Where (COMPT = 2004/01 or 2004/02 or 2004/03 or 2004/04) isso não aceita, qual seria a maneira correta, porque queria que ele mostrasse no DBgrid por exemplo 2004/01 e tambem 2004/02 e tambem 2004/03 e tambem 2004/04 ... Obrigado Tbaiano
  3. O Código Acima do " Programador " ele tá certo... Tente ser mais especifico... olha só você usa o Data Modulo então a sua tabela em vez de Table1 por exemplo vai ter o Nome do DataModulo.TAble1... Onde Table1 é o nome da Tabela... Esse código quando se clica no botão ele soma, agora se quer que some automatimente coloque esse código em outo evento, o que você achar masi adquado... Lembrando que ele mexe com a tabela , não com o seu DBGrid... Mais Duvidas Tente ser mais claro dar mais detalhes... Ai o pessoal ajuda mais... Há! veja esse post aqui está logo abaixo... Ele vai lhe ajudar mostra como criar um campo Calculado em sua table e pode mostrar no DBgrid, não grava no banco só para visualizar... http://scriptbrasil.com.br/forum/index.php?showtopic=53474 Valeu.. Tbaiano
  4. O Linda, Na descrição do Componente diz que ele funciona para Delphi 6... Vou tentar testar e informo. Tbaiano
  5. O linda, Esse componente o QrlbLang faz isso pra você... ele é Free e o donwload é esse endereço: http://www.guiadodelphi.com.br/ler.php?codigo=1073 Qualquer Coisa. Tbaiano
  6. Olha s3c, //Declaração de DLL caso for duas Index é 2. Function InscricaoEstadual(InsEst : String):ShortString; External 'dll3.dll' Index 1; Isso deve funcionar, você só tem que ver os parametros, quais são e seus nomes, você precisa declarar uma função assim e chama - la assim: procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption:= InscricaoEstadual(Edit1.text); end; Qualquer coisa, Tbaiano.
  7. Crie uma Unit e copie esse Código para ela: Salve e é só adicionar a seu form essa Unit e chamar a função assim: if Inscricao(Numeros, Estado) = True then ShowMessage('Número é Valido') Else ShowMessage('Número não é Valido'); Não fui eu quem desenvolveu mas funciona com todos os estados... Qualquer coisa. Tbaiano. Unit Inscricoes; Interface uses Sysutils; Function Inscricao ( Inscricao, Tipo : String ) : Boolean; Function Mascara_Inscricao( Inscricao, Estado : String ) : String; Implementation { Inscrições __________________________________ } Function Inscricao( Inscricao, Tipo : String ) : Boolean; Var Contador : ShortInt; Casos : ShortInt; Digitos : ShortInt; Tabela_1 : String; Tabela_2 : String; Tabela_3 : String; Base_1 : String; Base_2 : String; Base_3 : String; Valor_1 : ShortInt; Soma_1 : Integer; Soma_2 : Integer; Erro_1 : ShortInt; Erro_2 : ShortInt; Erro_3 : ShortInt; Posicao_1 : string; Posicao_2 : String; Tabela : String; Rotina : String; Modulo : ShortInt; Peso : String; Digito : ShortInt; Resultado : String; Retorno : Boolean; Begin Try Tabela_1 := ' '; Tabela_2 := ' '; Tabela_3 := ' '; { } { } { Valores possiveis para os digitos (j) } { } { 0 a 9 = Somente o digito indicado. } { N = Numeros 0 1 2 3 4 5 6 7 8 ou 9 } { A = Numeros 1 2 3 4 5 6 7 8 ou 9 } { B = Numeros 0 3 5 7 ou 8 } { C = Numeros 4 ou 7 } { D = Numeros 3 ou 4 } { E = Numeros 0 ou 8 } { F = Numeros 0 1 ou 5 } { G = Numeros 1 7 8 ou 9 } { H = Numeros 0 1 2 ou 3 } { I = Numeros 0 1 2 3 ou 4 } { J = Numeros 0 ou 9 } { K = Numeros 1 2 3 ou 9 } { } { -------------------------------------------------------- } { } { Valores possiveis para as rotinas (d) e (g) } { } { A a E = Somente a Letra indicada. } { 0 = B e D } { 1 = C e E } { 2 = A e E } { } { -------------------------------------------------------- } { } { C T F R M P R M P } { A A A O O E O O E } { S M T T D S T D S } { } { a b c d e f g h i jjjjjjjjjjjjjj } { 0000000001111111111222222222233333333 } { 1234567890123456789012345678901234567 } IF Tipo = 'AC' Then Tabela_1 := '1.09.0.E.11.01. . . . 01NNNNNNX.14.00'; IF Tipo = 'AC' Then Tabela_2 := '2.13.0.E.11.02.E.11.01. 01NNNNNNNNNXY.13.14'; IF Tipo = 'AL' Then Tabela_1 := '1.09.0.0.11.01. . . . 24BNNNNNX.14.00'; IF Tipo = 'AP' Then Tabela_1 := '1.09.0.1.11.01. . . . 03NNNNNNX.14.00'; IF Tipo = 'AP' Then Tabela_2 := '2.09.1.1.11.01. . . . 03NNNNNNX.14.00'; IF Tipo = 'AP' Then Tabela_3 := '3.09.0.E.11.01. . . . 03NNNNNNX.14.00'; IF Tipo = 'AM' Then Tabela_1 := '1.09.0.E.11.01. . . . 0CNNNNNNX.14.00'; IF Tipo = 'BA' Then Tabela_1 := '1.08.0.E.10.02.E.10.03. NNNNNNYX.14.13'; IF Tipo = 'BA' Then Tabela_2 := '2.08.0.E.11.02.E.11.03. NNNNNNYX.14.13'; IF Tipo = 'CE' Then Tabela_1 := '1.09.0.E.11.01. . . . 0NNNNNNNX.14.13'; IF Tipo = 'DF' Then Tabela_1 := '1.13.0.E.11.02.E.11.01. 07DNNNNNNNNXY.13.14'; IF Tipo = 'ES' Then Tabela_1 := '1.09.0.E.11.01. . . . 0ENNNNNNX.14.00'; IF Tipo = 'GO' Then Tabela_1 := '1.09.1.E.11.01. . . . 1FNNNNNNX.14.00'; IF Tipo = 'GO' Then Tabela_2 := '2.09.0.E.11.01. . . . 1FNNNNNNX.14.00'; IF Tipo = 'MA' Then Tabela_1 := '1.09.0.E.11.01. . . . 12NNNNNNX.14.00'; IF Tipo = 'MT' Then Tabela_1 := '1.11.0.E.11.01. . . . NNNNNNNNNNX.14.00'; IF Tipo = 'MS' Then Tabela_1 := '1.09.0.E.11.01. . . . 28NNNNNNX.14.00'; IF Tipo = 'MG' Then Tabela_1 := '1.13.0.2.10.10.E.11.11. NNNNNNNNNNNXY.13.14'; IF Tipo = 'PA' Then Tabela_1 := '1.09.0.E.11.01. . . . 15NNNNNNX.14.00'; IF Tipo = 'PB' Then Tabela_1 := '1.09.0.E.11.01. . . . 16NNNNNNX.14.00'; IF Tipo = 'PR' Then Tabela_1 := '1.10.0.E.11.09.E.11.08. NNNNNNNNXY.13.14'; IF Tipo = 'PE' Then Tabela_1 := '1.14.1.E.11.07. . . .18ANNNNNNNNNNX.14.00'; IF Tipo = 'PI' Then Tabela_1 := '1.09.0.E.11.01. . . . 19NNNNNNX.14.00'; IF Tipo = 'RJ' Then Tabela_1 := '1.08.0.E.11.08. . . . GNNNNNNX.14.00'; IF Tipo = 'RN' Then Tabela_1 := '1.09.0.0.11.01. . . . 20HNNNNNX.14.00'; IF Tipo = 'RS' Then Tabela_1 := '1.10.0.E.11.01. . . . INNNNNNNNX.14.00'; IF Tipo = 'RO' Then Tabela_1 := '1.09.1.E.11.04. . . . ANNNNNNNX.14.00'; IF Tipo = 'RO' Then Tabela_2 := '2.14.0.E.11.01. . . .NNNNNNNNNNNNNX.14.00'; IF Tipo = 'RR' Then Tabela_1 := '1.09.0.D.09.05. . . . 24NNNNNNX.14.00'; IF Tipo = 'SC' Then Tabela_1 := '1.09.0.E.11.01. . . . NNNNNNNNX.14.00'; IF Tipo = 'SP' Then Tabela_1 := '1.12.0.D.11.12.D.11.13. NNNNNNNNXNNY.11.14'; IF Tipo = 'SP' Then Tabela_2 := '2.12.0.D.11.12. . . . NNNNNNNNXNNN.11.00'; IF Tipo = 'SE' Then Tabela_1 := '1.09.0.E.11.01. . . . NNNNNNNNX.14.00'; IF Tipo = 'TO' Then Tabela_1 := '1.11.0.E.11.06. . . . 29JKNNNNNNX.14.00'; IF Tipo = 'CNPJ' Then Tabela_1 := '1.14.0.E.11.21.E.11.22.NNNNNNNNNNNNXY.13.14'; IF Tipo = 'CPF' Then Tabela_1 := '1.11.0.E.11.31.E.11.32. NNNNNNNNNXY.13.14'; { Deixa somente os numeros } Base_1 := ''; For Contador := 1 TO 30 Do IF Pos( Copy( Inscricao, Contador, 1 ), '0123456789' ) <> 0 Then Base_1 := Base_1 + Copy( Inscricao, Contador, 1 ); { Repete 3x - 1 para cada caso possivel } Casos := 0; Erro_1 := 0; Erro_2 := 0; Erro_3 := 0; While Casos < 3 Do Begin Casos := Casos + 1; IF Casos = 1 Then Tabela := Tabela_1; IF Casos = 2 Then Erro_1 := Erro_3; IF Casos = 2 Then Tabela := Tabela_2; IF Casos = 3 Then Erro_2 := Erro_3; IF Casos = 3 Then Tabela := Tabela_3; Erro_3 := 0; IF Copy( Tabela, 1, 1 ) <> ' ' Then Begin { Verifica o Tamanho } IF Length( Trim( Base_1 ) ) <> ( StrToInt( Copy( Tabela, 3, 2 ) ) ) Then Erro_3 := 1; IF Erro_3 = 0 Then Begin { Ajusta o Tamanho } Base_2 := Copy( ' ' + Base_1, Length( ' ' + Base_1 ) - 13, 14 ); { Compara com valores possivel para cada uma da 14 posições } Contador := 0; While ( Contador < 14 ) AND ( Erro_3 = 0 ) Do Begin Contador := Contador + 1; Posicao_1 := Copy( Copy( Tabela, 24, 14 ), Contador, 1 ); Posicao_2 := Copy( Base_2 , Contador, 1 ); IF ( Posicao_1 = ' ' ) AND ( Posicao_2 <> ' ' ) Then Erro_3 := 1; IF ( Posicao_1 = 'N' ) AND ( Pos( Posicao_2, '0123456789' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'A' ) AND ( Pos( Posicao_2, '123456789' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'B' ) AND ( Pos( Posicao_2, '03578' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'C' ) AND ( Pos( Posicao_2, '47' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'D' ) AND ( Pos( Posicao_2, '34' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'E' ) AND ( Pos( Posicao_2, '08' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'F' ) AND ( Pos( Posicao_2, '015' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'G' ) AND ( Pos( Posicao_2, '1789' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'H' ) AND ( Pos( Posicao_2, '0123' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'I' ) AND ( Pos( Posicao_2, '01234' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'J' ) AND ( Pos( Posicao_2, '09' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 = 'K' ) AND ( Pos( Posicao_2, '1239' ) = 0 ) Then Erro_3 := 1; IF ( Posicao_1 <> Posicao_2 ) AND ( Pos( Posicao_1, '0123456789' ) > 0 ) Then Erro_3 := 1; End; { Calcula os Digitos } Rotina := ' '; Digitos := 000; Digito := 000; While ( Digitos < 2 ) AND ( Erro_3 = 0 ) Do Begin Digitos := Digitos + 1; { Carrega peso } Peso := Copy( Tabela, 5 + ( Digitos * 8 ), 2 ); IF Peso <> ' ' Then Begin Rotina := Copy( Tabela, 0 + ( Digitos * 8 ), 1 ); Modulo := StrToInt( Copy( Tabela, 2 + ( Digitos * 8 ), 2 ) ); IF Peso = '01' Then Peso := '06.05.04.03.02.09.08.07.06.05.04.03.02.00'; IF Peso = '02' Then Peso := '05.04.03.02.09.08.07.06.05.04.03.02.00.00'; IF Peso = '03' Then Peso := '06.05.04.03.02.09.08.07.06.05.04.03.00.02'; IF Peso = '04' Then Peso := '00.00.00.00.00.00.00.00.06.05.04.03.02.00'; IF Peso = '05' Then Peso := '00.00.00.00.00.01.02.03.04.05.06.07.08.00'; IF Peso = '06' Then Peso := '00.00.00.09.08.00.00.07.06.05.04.03.02.00'; IF Peso = '07' Then Peso := '05.04.03.02.01.09.08.07.06.05.04.03.02.00'; IF Peso = '08' Then Peso := '08.07.06.05.04.03.02.07.06.05.04.03.02.00'; IF Peso = '09' Then Peso := '07.06.05.04.03.02.07.06.05.04.03.02.00.00'; IF Peso = '10' Then Peso := '00.01.02.01.01.02.01.02.01.02.01.02.00.00'; IF Peso = '11' Then Peso := '00.03.02.11.10.09.08.07.06.05.04.03.02.00'; IF Peso = '12' Then Peso := '00.00.01.03.04.05.06.07.08.10.00.00.00.00'; IF Peso = '13' Then Peso := '00.00.03.02.10.09.08.07.06.05.04.03.02.00'; IF Peso = '21' Then Peso := '05.04.03.02.09.08.07.06.05.04.03.02.00.00'; IF Peso = '22' Then Peso := '06.05.04.03.02.09.08.07.06.05.04.03.02.00'; IF Peso = '31' Then Peso := '00.00.00.10.09.08.07.06.05.04.03.02.00.00'; IF Peso = '32' Then Peso := '00.00.00.11.10.09.08.07.06.05.04.03.02.00'; { Multiplica } Base_3 := Copy( ( '0000000000000000' + Trim( Base_2 ) ), Length( ( '0000000000000000' + Trim( Base_2 ) ) ) - 13, 14 ); Soma_1 := 0; Soma_2 := 0; For Contador := 1 To 14 Do Begin Valor_1 := ( StrToInt( Copy( Base_3, Contador, 01 ) ) * StrToInt( Copy( Peso, Contador * 3 - 2, 2 ) ) ); Soma_1 := Soma_1 + Valor_1; IF Valor_1 > 9 Then Valor_1 := Valor_1 - 9; Soma_2 := Soma_2 + Valor_1; End; { Ajusta valor da soma } IF Pos( Rotina, 'A2' ) > 0 Then Soma_1 := Soma_2; IF Pos( Rotina, 'B0' ) > 0 Then Soma_1 := Soma_1 * 10; IF Pos( Rotina, 'C1' ) > 0 Then Soma_1 := Soma_1 + ( 5 + 4 * StrToInt( Copy( Tabela, 6, 1 ) ) ); { Calcula o Digito } IF Pos( Rotina, 'D0' ) > 0 Then Digito := Soma_1 Mod Modulo; IF Pos( Rotina, 'E12' ) > 0 Then Digito := Modulo - ( Soma_1 Mod Modulo); IF Digito < 10 Then Resultado := IntToStr( Digito ); IF Digito = 10 Then Resultado := '0'; IF Digito = 11 Then Resultado := Copy( Tabela, 6, 1 ); { Verifica o Digito } IF ( Copy( Base_2, StrToInt( Copy( Tabela, 36 + ( Digitos * 3 ), 2 ) ), 1 ) <> Resultado ) Then Erro_3 := 1; End; End; End; End; End; { Retorna o resultado da Verificação } Retorno := FALSE; IF ( Trim( Tabela_1 ) <> '' ) AND ( ERRO_1 = 0 ) Then Retorno := TRUE; IF ( Trim( Tabela_2 ) <> '' ) AND ( ERRO_2 = 0 ) Then Retorno := TRUE; IF ( Trim( Tabela_3 ) <> '' ) AND ( ERRO_3 = 0 ) Then Retorno := TRUE; IF Trim( Inscricao ) = 'ISENTO' Then Retorno := TRUE; Result := Retorno; Except Result := False; End; End; { Mascara_Inscricao __________________________________} Function Mascara_Inscricao( Inscricao, Estado : String ) : String; Var Mascara : String; Contador_1 : Integer; Contador_2 : Integer; Begin IF Estado = 'AC' Then Mascara := '**.***.***/***-**'; IF Estado = 'AL' Then Mascara := '*********'; IF Estado = 'AP' Then Mascara := '*********'; IF Estado = 'AM' Then Mascara := '**.***.***-*'; IF Estado = 'BA' Then Mascara := '******-**'; IF Estado = 'CE' Then Mascara := '********-*'; IF Estado = 'DF' Then Mascara := '***********-**'; IF Estado = 'ES' Then Mascara := '*********'; IF Estado = 'GO' Then Mascara := '**.***.***-*'; IF Estado = 'MA' Then Mascara := '*********'; IF Estado = 'MT' Then Mascara := '**********-*'; IF Estado = 'MS' Then Mascara := '*********'; IF Estado = 'MG' Then Mascara := '***.***.***/****'; IF Estado = 'PA' Then Mascara := '**-******-*'; IF Estado = 'PB' Then Mascara := '********-*'; IF Estado = 'PR' Then Mascara := '********-**'; IF Estado = 'PE' Then Mascara := '**.*.***.*******-*'; IF Estado = 'PI' Then Mascara := '*********'; IF Estado = 'RJ' Then Mascara := '**.***.**-*'; IF Estado = 'RN' Then Mascara := '**.***.***-*'; IF Estado = 'RS' Then Mascara := '***/*******'; IF Estado = 'RO' Then Mascara := '***.*****-*'; IF Estado = 'RR' Then Mascara := '********-*'; IF Estado = 'SC' Then Mascara := '***.***.***'; IF Estado = 'SP' Then Mascara := '***.***.***.***'; IF Estado = 'SE' Then Mascara := '*********-*'; IF Estado = 'TO' Then Mascara := '***********'; Contador_2 := 1; Result := ''; Mascara := Mascara + '****'; For Contador_1 := 1 To Length( Mascara ) Do Begin IF Copy( Mascara, Contador_1, 1 ) = '*' Then Result := Result + Copy( Inscricao, Contador_2, 1 ); IF Copy( Mascara, Contador_1, 1 ) <> '*' Then Result := Result + Copy( Mascara , Contador_1, 1 ); IF Copy( Mascara, Contador_1, 1 ) = '*' Then Contador_2 := Contador_2 + 1; End; Result := Trim( Result ); End; { Fim __________________________________ } End.
  8. Tbaiano

    Quickreport

    Programador, Consegui fazer só que está em um Group Head que tem subDatail ligado a ele mas que está Enabilitado são os últimos ban's do formulário... consegui coloca-los lá em baixo... Está funcionando beleza, Queria saber se você não sabe de algum material onde fala sobre o Quick essa parte de Bands, acho que é a parte mais complexa do simples Quick é organizar um form com mais de uma tabala e calculos com tabelas diferentes, eu sempre apanho mas com alguma adptações consigo. Se souber de algum material e puder indicar o endereço agradeço, e acho que muita gente também... Obrigado pela ajuda... Tbaiano
  9. Tbaiano

    Quickreport

    Programador, Tá funcionando tudo certinho só que como eu coloco ele embaixo de todos as Bands, eu coloquei um Band = rbDetail, mas ele ficou no meio do Relatório queria em baixo de todos os outros Band's... Valeu. Tbaiano
  10. Tbaiano

    Quickreport

    É isso mesmo, vou dar uma testada mas se fizer isso que você disse está perfeito... Valeu, daqui a pouco posto o resultado. Tbaiano.
  11. Tbaiano

    Quickreport

    E ai galera, Seguinte to com um problema e não estou sabendo como resolve-lo, Tenho um relatóri no QuickReport e teho um campo QRMemo que aponta para um campo Blob no Firebird beleza... Só que não sei como fazer para esse Campo QRmemo seja flexivel ao tamanho dos dados contidos nele no banco, não sei qual Band usar... Se alguém sober como fazer isso agradeço... Valeu. Tbaiano
  12. Tbaiano

    Compilador...

    E ai galera, Seguinte queria ver com vocês onde encontro um compilador em C, para ver um exemplo que tenho de arvores binarias funcionando... já tive um pequeno contato com C mais foi em Linux, fazia em um Bloco de Notas e compilava, mas Windows não sei o nome do compilador, se alguém puder me informar o nome de um bem simples só para rodar um exemplo que tenho aqui... Valeu Tbaiano
  13. Faça assim, Apague o Campo em que seu DBedit está ligado, ex: Detalhe a Table1 tem que está em Edição. Table1CAMPONOME.Value := ''; Para falar a verdade nunca fiz isso, mas acho que funciona(não tenho como testar), agora. Qualquer coisa... Tbaiano
  14. Oi Thaise, O 2 Big Pro... é assim: Coloque uma Detail Band No Quick e lá os Campos QRDBtext, tá e você esque ceu de ligar o DataSet do QuickRep em sua Query Pesquisa onde você está puchando os dados. Os demais respondo se der amanhã, é que estou muito na correria hj. Mas calma olhei por cima e não é nada assim tão complicado, o pessoal certamente ainda não lhe ajudou porque postou muita coisa e assustou a galera... Valeu até mais. Tbaiano
  15. Tbaiano

    Richedit

    Ricardo, Eu uso um componente chamado InfoPower, que tem um RicthEdit que se pode Justificar, esse componente é pago mas vale apena... Outro que é Free e é para imprimir textos justificados é o componente ECCjust, que tem essa opção em um de seu Objetos... Só pesquisar no Google que encontra varios lugares para Baixar esses dois... Valeu. Tbaiano
  16. Davis Tome, No delphi 7, ache a pasta Demos do Delphi mesmo (que está em ArquivosProgramas/Borland/Delphi7...) e tem um ou dois exemplos de envio de email e também de Browser etc... Bem interessante... E tem aquela Biblioteca a ShellApi, que envia email atraves desse código: Coloque no Click de um Botão para testar . ShellExecute(Handle,'open','mailto:teste@teste.com.br?subject= Asunto do Email', '', '',SW_SHOW); Declare no Uses a ShellApi ; Espero ter ajudado. Tbaiano
  17. Resolvido ... descuido meu... Valeu. Tbaiano
  18. E ai galera... To com um probleminha no QuickReport mas não sei o que é Quando do um Preview em um Relatório dá o seginte erro: **** List index out of bounds(0) **** Nunca vi isso antes... alguém sabe o que é? Valeu... Tbaiano
  19. Tbaiano

    Duvida

    Só mais 1 detalhezinho... Você colocou entre ' (aspas simples); var2 := '10'; var3 := '15'; Só se coloca entre aspas simples o conteudo de uma variavel String; Exemplo Var Nome : String; Begin Nome := 'João da Silva'; End; Mas é isso ai, não fique constrangido de perguntar o forum serve para isso... E quando estiver escrevendo um Código percione Ctrl + Espaço e aparecerá algumas opções para você completar, isso facilita bastante a lembrar de algumas funções ou tem alguma duvida de como escreve-las... Qualquer coisa. Tbaiano
  20. Tbaiano

    Labels Animados

    Esse Código faz o Label ficar passando de um lado para o outro, talves sirva para alguma coisa, você precisa de Timer da paleta System de dois click nele e copie esse código abaixo: procedure TfrmPrincipal.Timer1Timer(Sender: TObject); Var Texto: String; begin {Label se mexendo} Texto:= Label1.caption; Label1.caption:= copy(Texto,2,length(Texto))+ Texto[1]; end; Qualquer coisa. Tbaiano
  21. Tbaiano

    Checkbox No Dbgrid

    Eldrey, O wwGrid do Componente InfoPower, tem essa opção e algumas outras. Você encontra ele aqui http://www.woll2woll.com/infopower/ O código é esse: SN: @#%$@#¨%$@¨%@ Qualquer coisa... Tbaiano
  22. Vivendo&Aprendendo , Progr'amador Tambem acho que Apostilas, Biblia, etc são de grande ajuda e até ensinam, mas é como citei antes, cada um sabe e tem uma capacidade de apreender eu acredito q fazendo um curso e aprendendo o basico o resto só acrecenta o que não desmerece as outras formas de apreendizagem. Tbaiano
  23. Acho que uma ótima maneira de aprender bem o basico , é fazendo um curso (se tiver oportunidade é claro). No senac existem cursos muitos bons e baratos essa época tem promoção de verão fica barbadinha. Eu acho que não tendo nenhuma base apostilas e biblia's não adiantam muito, agora se você tem um pequeno conhecimento, sabe os componentes basicos, sabe como montar um Form, tem conhecimento dos eventos simples, a Biblia e Apostilas só ajudam a aprender coisas novas com base no que já se tem. É a minha opinião, cada um tem sua capacidade de aprender e tempo etc. TBaiano
  24. Tbaiano

    Travar Dbedit

    O que faço em quase todas as minha aplicações é isso no evento StateChange do DataSource que está ligao a Tabela faço assim: procedure DataSourcedaTableStateChange(Sender: TObject); begin BNovo.Enabled := IBTable.State in [dsBrowse]; BAlt.Enabled := IBTable.State in [dsBrowse]; BDel.Enabled := IBTable.State in [dsBrowse]; BGrav.Enabled := IBTable.State in [dsEdit,dsInsert]; BCanc.Enabled := IBTable.State in [dsEdit,dsInsert]; PanelDados.Enabled := DMlcd.IBCond.State in [dsEdit,dsInsert]; end; Assim conforme o estado de sua tabela ficara os botões... Quando você clica em BNovo está Table.Apend certo! Então Os Botões Bnovo, Balt, Bdel vão desabilitar e os demais vão habilitar, isso fica ótimo... O que tem quefazer é colocar os seus DBedit e um Panel e os Botões em outro... Qualquer duvida... Tbaiano
  25. Nightmare, Não trabalho com ADOQuery mas a dica lhe dou é tente tirar loPartialKey,loCaseInsensitive e coloque só [], e faça testes para ver aonde está dando o erro. Vou tentar fazer uns testes aqui e lhe informo quelquer progresso. Se conseguir me informe... Valeu. Tbaiano
×
×
  • Criar Novo...