
Corposemalma
Membros-
Total de itens
1.393 -
Registro em
-
Última visita
Tudo que Corposemalma postou
-
fechando....
-
não....
-
Respondam Qdo Puder (RESOLVIDO ENFIM)
pergunta respondeu ao Alessandro de Corposemalma em Delphi, Kylix
se tudo o que ta sengundo lista vai ser impresso, basta criar o relatorio encima dessa lista não? <- heheh me metendo no esquema -
aeee feNix faz assim oh: tu não tem o meu iso do boot? grava aquilo com o programa que falei (winimage)num diskete que depois se explico como fazer no nero!
-
Bom! voce tem os componentes, agora só falta aprender um pouco de SQL! (Principalmente o SELECT) de uma olhada na nossa sessao de links, lá tem 3 tutoriais muito bons!
-
SQL - Utilização de Parametros (Dicas)
uma questão postou Corposemalma Tutoriais & Dicas - Delphi, Kylix
Uma curta + interessante: Aee gente, pra quem não sabe do poder de SQL vamu lá agora! O comum ao se trabalhar com SQL é que tenha-se sempre uma variavel definida pelo usuário final.... A maneira mais prática e menos trabalhosa de se fazer o mesmo (na minha opinião e de alguns outros usuários) é a utilização de parametros! O comum de usuários iniciantes é colocar as variáveis dentro da própria setença de SQL, mas esse tipo de aproximação trás dois grandes problemas: * O incontável número de "aspas" na sentença, dificultando a visualização, edição, aplimoramento e teste da mesma... * Dificuldade de tratar tipos diferentes de variáveis (string, date, integer) Exemplo comum: Query.SQL.Add('SELECT * FROM tabela WHERE CampoNome = '''' + EditNome.text + '''' ') Bem... nesse exemplo é facil visualizar tudinho... agora olhe o próximo: Query.SQL.Add('SELECT Nome, Endereço, Idade FROM tabela WHERE CampoNome = ' + '''' + EditNome.text + '''' + ' AND Idade BETWEEN ' + StrtoInt(EditIdade1.text) + ' AND ' + StrtoInt(EditIdade2.text) + ' AND Endereço LIKE ' + '''' + % + EditEdndereço.text + % + '''' + ' ORDER BY Nome') isso tudo acima é sou uma linha tá! Conseguiu ler algo ai no meio? Vai saber se falta alguma aspa HEHE, detalhe que se faltar, voce somente verá em tempo de execucao o erro, e mesmo assim não aponta exatamente, voce vai precisar voltar e revisar toda a sentença sozinho Mesma linha acima usando Parametros: Quey.SQL.Add('SELECT Nome, Endereço, Idade FROM tabela WHERE Nome = :Nome AND Idade BETWEEN :idade1 AND :Idade2 AND Endereço LIKE :endereço ORDER BY Nome ') query.parambyname('nome').AsString := Editnome.text query.parambyname('idade1').AsInteger := StrtoInt(Editidade1.text) query.parambyname('idade2').AsInteger := StrtoInt(Editidade2.text) query.parambyname('endereço').AsString := '%' + EditEndereço.text + '%' Pooo mas deu mais linhas! Mais menos trabalho, olha a quantidade de aspas que foram poupadas!! Com certeza, agora se tiver que mexer é super fácil de achar.... Esse tipo de abordagem em SQL facilita bastante no tratamento de variaveis por deixa de obrigar a pessoa a usar as " aspas e fazer aquela zona... Além de ajudar tambem no tratamento de tipos diferentes de variaveis, tipo procurar por um numero em um campo string. Aprenda a fazer! Quando tiver que enfrentar SQL cabulosas com pesquisas complexas (eu tinha uma que procurava: autor, cantor, musica, CD, entre datas, e genero musical, o usuário selecionava o que queria, ordenava por qualquer um dos itens, de forma crescente ou decrescente, resumindo: a sentença era totalmente maleavel... Imagina se tivesse colokado isso tudo em uma só sentença, cheia de aspas, sem usar nenhum parametro e no fim ver que precisa trocar um detalhe!) -
não não não, eu acho que ele quer é automatizar a instalacao de alguma impressora em algum dominio (varias maquinas com Windows 2000 Professional | )
-
Respondam Qdo Puder (RESOLVIDO ENFIM)
pergunta respondeu ao Alessandro de Corposemalma em Delphi, Kylix
foi mal... esqueci do .AsString hehehe assim oh: sempre que tu quer colocar algo que seja variavel em uma sentença SQL é bom colocar como parametro (os :nome). depois voce somente especifica o que esse parametro é: (ex: query.parambyname('nome').AsString := 'fernando') Esse tipo de abordagem em SQL facilita bastante no tratamento de variaveis por deixa de obrigar a pessoa a usar as " aspas e fazer aquela zona... Além de ajudar tambem no tratamento de tipos diferentes de variaveis, tipo procurar por um numero em um campo string AHHH da um olhada aqui http://scriptbrasil.com.br/forum/index.php...ndpost&p=150478 -
Ai voce vai fazer assim: grava no registro a data que o programa expira e em toda abertura le a chave e faz uma checagem, se a data for maior que a de expiração o programa não funciona... ;) Usando registro parte 1 { Nesta matéria veremos como trabalhar com o registro do windows utilizando suas "Api's". Esta matéria possui algumas técnicas que tratam o registro do windows. Veja as dicas desta matéria: Como definir, que uma certa extensão de arquivo seja aberta pelo seu programa. Como escrever e ler algum valor no registro do windows. E o que escrever lá, para que sua aplicação seja inicializada junto com o windows. Vejamos então a primeira dica:} Uses Windows, Messages .... Registry; // Não esqueça de adicionar a Unit Registry na sessão uses... procedure TForm1.Button1Click(Sender: TObject); Var Reg : TRegistry; Begin Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_CLASSES_ROOT; OpenKey('\MeuPrograma', True); WriteString('', 'Arquivo do meu programa'); //Nome dado ao arquivo de sua aplicação. "Ex: Imagem Gif". CloseKey; OpenKey('MeuPrograma\DefaultIcon', True); // O primeiro parâmetro da linha de comando abaixo, é para escrever uma string vazia. // E o último parâmetro é para colocar o ícone da sua aplicação nos arquivos que serão abertos por ela. WriteString('', Application.ExeName + ',0'); CloseKey; OpenKey('MeuPrograma\shell\open\command', True); WriteString('', Application.ExeName + ' "%1"'); CloseKey; RootKey := HKEY_CLASSES_ROOT; OpenKey('\.ext', True); // Substitua o "ext" pela extensão que você deseja utilizar. WriteString('', 'MeuPrograma'); CloseKey; end; finally Reg.CloseKey; Reg.Free; end; End; { Acredito que você tenha conseguido aplicar esta técnica que lhe pode ser bastante útil. Vamos então ver a segunda dica, com ela você aprenderá como ler ou escrever um valor no registro do windows:} Uses Windows, Messages .... Registry; // Não esqueça de adicionar a Unit Registry na sessão uses... procedure button1.click(sender: Tobject); var Reg: Tregistry; begin Reg:=Tregistry.create; with Reg do begin rootkey:=HKEY_LOCAL_MACHINE; Openkey('Software\Microsoft\Outlook Express\5.0\Default Settings\Recent Stationery List',false); writestring('File0', 'Natureza.htm'); writestring('File1', 'Dia Claro.htm'); closekey; end; end; { No caso acima nós exemplificamos o que é escrever no registro, Neste exemplo nós trocamos de ordem os papeis de carta do Microsoft Outlook Explorer, embora você possa alterar qualquer registro já existente no "regedit". Se o que você que é incluir um registro e não editar, como nós fizemos, basta que no primeiro parâmetro da linha de comando "writestring", você coloque um nome para o seu registro, que não exista nesta pasta. Agora no código abaixo veremos como ler um valor de um registro qualquer:} Uses Windows, Messages .... Registry; // Não esqueça de adicionar a Unit Registry na sessão uses... procedure button1.click(sender: Tobject); var Reg: Tregistry; S: String; begin Reg:=Tregistry.create; with Reg do begin rootkey:=HKEY_LOCAL_MACHINE; Openkey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\',false); s:=readstring('version'); closekey; end; edit.text:=s; end; { Neste caso nós pegamos o registro "version", que significa a versão do windows, colocamos o seu valor na variável "s" e depois à "jogamos" num "edit" qualquer, apenas para que possamos visualizá-la. Agora que você já sabe como escrever no registro do windows, veremos o que precisamos escrever, para colocar a nossa aplicação para ser inicializada junto com o windows.} Uses Windows, Messages .... Registry; // Não esqueça de adicionar a Unit Registry na sessão uses... procedure button1.click(sender: Tobject); var Reg: Tregistry; begin Reg:=Tregistry.create; with Reg do begin rootkey:=HKEY_LOCAL_MACHINE; Openkey('\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',false); writestring('MeuPrograma', pchar(application.exename)); closekey; end; end; Usando registro parte 2 {Os programas possuem cada vez mais opções. E você precisa gravar essas opções em algum lugar. A primeira coisa que lhe vem à cabeça é a criação de um arquivo INI, como no Windows 3.x. O Delphi possui o objeto TIniFile, que ajuda a ler e gravar dados nesse arquivo. A não ser que esteja usando o Windows 3.x, essa técnica deve ser repensada. No Windows 95 foi criado o Registro do Windows (Windows Registry), cuja finalidade é substituir os vários arquivos INI espalhados pelo Winchester e encapsulá-los em um local centralizado. Para você ter uma idéia de como ele funciona, dê uma olhada no Editor de Registro, que vem na instalação padrão do Windows (vá em Iniciar|Executar e digite RegEdit). O programa separa as opções de registro em "pastas", conhecidas aqui como "chaves". Essas chaves contém dados, chamados de "valores". Esses valores possuem um nome, um tipo e um valor específico. O Delphi encapsula o Registro do Windows através o objeto TRegistry. É através dessa classe que você irá acessar dados do registro. Para você entender melhor como funciona o objeto, vamos explicar primeiro como funciona o Registro do Windows: As principais chaves "raízes" são: HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER. Todas as informações sobre os programas ficam nessas chaves (as outras normalmente possuem informações sobre o Windows). O InstallShield, por exemplo, instala as informações sobre o nome de usuário e empresa do seu programa em HKEY_LOCAL_MACHINE\SOFTWARE\Nome da Sua Empresa\Nome Do Programa\Versão, com os valores Company e Name (Empresa e Nome do Usuário). Os programas, por sua vez, usam a chave HKEY_CURRENT_USER\Software para armazenar informações de seus programas. E é nessa chave que você deve inserir sua sub-chave e colocar lá as informações necessárias. Um pequeno exemplo de como utilizar o registro do Windows. Suponhamos que o programa necessite gravar a posição da janela, o seu tamanho e o diretório inicial dos diálogos Abrir e Salvar. Após a criação do objeto, devemos informar qual chave devemos utilizar, utilizando o método OpenKey (Chave, PodeCriar); onde Chave é o nome da sub-chave e PodeCriar é um valor booleano que permite (ou não) criar a chave caso a mesma não exista. Este exemplo mostra como funciona como podemos gravar dados do registro do Windows utilizando o Delphi 2 ou 3 } procedure frmMain.GravarRegistro; const Raiz : String = 'Software\Programa'; var Registro : TRegistry; begin // Chama o construtor do objeto Registro := TRegistry.Create; { Abre a chave (se o 2°. Parâmetro for True, ele cria a chave caso ela ainda não exista. } Registro.OpenKey (Raiz, True); // Grava as informações do form Registro.WriteInteger ('Largura', Width); Registro.WriteInteger ('Altura', Height); Registro.WriteInteger ('Esquerda', Left); Registro.WriteInteger ('Topo', Top); // Grava as informações das caixas Abrir e Salvar. Registro.WriteString ('Abrir Inicial', OpenDialog1.InitialDir); Registro.WriteString('Salvar Inicial', SaveDialog1.InitialDir); // Fecha a chave e o objeto Registro.CloseKey; Registro.Free; end; {Após a criação do objeto, deve-se escolher uma chave para armazenas os valores. No caso, "Software\Programa", cuja chave raiz é HKEY_CURRENT_USER. Note que é para se separar as chaves das sub-chaves utiliza-se o caracter "\", tal como nos diretórios do DOS. Os métodos WriteInteger e WriteString são utilizados para gravar valores inteiros e caracteres, respectivamente. A sintaxe básica é:} Registro.WriteString (NomeDoValor, Conteúdo); {onde NomeDoValor é o nome que você vai dar ao valor dentro da chave, e Conteúdo é o conteúdo desse valor. Para se escrever dados de outros tipos, utilize as funções:} WriteBool (NomeDoValor, Conteúdo); // Boolean WriteBinaryData (NomeDoValor, Conteúdo); // Valor Binário WriteCurrency (NomeDoValor, Conteúdo); // Currency WriteDate (NomeDoValor, Conteúdo); // TDateTime WriteDateTime (NomeDoValor, Conteúdo); // TDateTime WriteFloat (NomeDoValor, Conteúdo); // Float (Real) WriteInteger (NomeDoValor, Conteúdo); // Integer WriteString (NomeDoValor, Conteúdo); // String WriteTime (NomeDoValor, Conteúdo); // TDateTime { Este exemplo mostra como funciona como podemos ler dados do registro do Windows utilizando o Delphi 2 ou 3 } procedure frmMain.LerRegistro; const Raiz : String = ‘Software\Programa'; var Registro : TRegistry; begin // Chama o construtor do objeto Registro := TRegistry.Create; with Registro do begin // Somente abre se a chave existir if OpenKey (Raiz, False) then begin // Envia as informações ao form, vendo se os valores existem, primeiramente... if ValueExists ('Largura') then Width := ReadInteger ('Largura'); if ValueExists ('Altura') then Height := ReadInteger ('Altura'); if ValueExists ('Esquerda') then Left := ReadInteger ('Esquerda'); if ValueExists ('Topo') then Top := ReadInteger ('Topo'); // Envia as informações para as caixas Abrir e Salvar. OpenDialog1.InitialDir := ReadString ('Abrir Inicial'); SaveDialog1.InitialDir := ReadString ('Salvar Inicial'); // Fecha a chave e o objeto Registro.CloseKey; end; end; Registro.Free; end; {Sempre use CloseKey quando não for precisar do Registro. Isso permite que as opções sejam gravadas permanentemente, evitando que qualquer problema que o computador tenha afete seu programa. Os métodos ReadInteger e ReadString funcionam praticamente da mesma maneira que seus correspondentes de escrita. A diferença é que ao invés de passar o valor Conteúdo, eles retornam o valor armazenado. Os correspondentes dos outros tipos são:} ReadBool (NomeDoValor) : Boolean; ReadBinaryData ( NomeDoValor; var Buffer; TamBuffer : Integer): Integer; ReadCurrency (NomeDoValor) : Currency; ReadDate (NomeDoValor) : TDateTime; ReadDateTime (NomeDoValor) : TDateTime; ReadFloat (NomeDoValor) : Double; ReadInteger (NomeDoValor) : Integer; ReadString (NomeDoValor) : String; ReadTime (NomeDoValor) : TdateTime Adiconada dia: 24/06/03 às 13:47:48, por: Felipe Monteiro
-
Tipo aqueles script de dominio pra instalar no logon? isso?
-
Respondam Qdo Puder (RESOLVIDO ENFIM)
pergunta respondeu ao Alessandro de Corposemalma em Delphi, Kylix
Tenta assim: query1.sql.add('SELECT Quantidade FROM dbCadAt.db WHERE CodPart = :codigo'); query1.parambyname('codigo') := fmGerarRelAt.Lista2.Items.Text query1.active := true query1.open -
Felipeee... Se tiver funcionando me avisa pra eu fechar o tópico, tá!???
-
O Arlon Vai Ser O Novo Moderador !
pergunta respondeu ao DELPHI-Man32 de Corposemalma em Delphi, Kylix
Bem.. agora foi... vou tirar o destaque -
Voce quer imprimir somente um registro, mas está ele está criando uma imtimação para cada registro? Humm... tente colocar uma query com SQL no seu programa (ai voce vai ate poder escolher parametros, tipo, todas as intimacoes do mes passado...) Qual seu bando de dados?
-
Caro amigo, a maioria dos leitores (aqueles que vao na porta de teclado) simplesmente jogam os numeros como se o usuario estivesse digitando, não é necessaria nenhum alteração ou receptação por parte do software
-
Aiiii meuuuu Deuuuss rapá! <- e olha que sou ATEU heheh ^^ Num devia ajudá não, sô! Dá uma procurada cara! Oia o que achei no www.delphi.eti.br! Tira os acentos de uma string: {A função abaixo pega um string informada como parâmetro e retira todas as letras acentuadas substituindo-as por letras correspondentes sem acento. } function AnsiToAscii ( str: String ): String; var i: Integer; begin for i := 1 to Length ( str ) do case str[i] of 'á': str[i] := 'a'; 'é': str[i] := 'e'; 'í': str[i] := 'i'; 'ó': str[i] := 'o'; 'ú': str[i] := 'u'; 'à': str[i] := 'a'; 'è': str[i] := 'e'; 'ì': str[i] := 'i'; 'ò': str[i] := 'o'; 'ù': str[i] := 'u'; 'â': str[i] := 'a'; 'ê': str[i] := 'e'; 'î': str[i] := 'i'; 'ô': str[i] := 'o'; 'û': str[i] := 'u'; 'ä': str[i] := 'a'; 'ë': str[i] := 'e'; 'ï': str[i] := 'i'; 'ö': str[i] := 'o'; 'ü': str[i] := 'u'; 'ã': str[i] := 'a'; 'õ': str[i] := 'o'; 'não': str[i] := 'n'; 'ç': str[i] := 'c'; 'Á': str[i] := 'A'; 'É': str[i] := 'E'; 'Í': str[i] := 'I'; 'Ó': str[i] := 'O'; 'Ú': str[i] := 'U'; 'À': str[i] := 'A'; 'È': str[i] := 'E'; 'Ì': str[i] := 'I'; 'Ò': str[i] := 'O'; 'Ù': str[i] := 'U'; 'Â': str[i] := 'A'; 'Ê': str[i] := 'E'; 'Î': str[i] := 'I'; 'Ô': str[i] := 'O'; 'Û': str[i] := 'U'; 'Ä': str[i] := 'A'; 'Ë': str[i] := 'E'; 'Ï': str[i] := 'I'; 'Ö': str[i] := 'O'; 'Ü': str[i] := 'U'; 'Ã': str[i] := 'A'; 'Õ': str[i] := 'O'; 'não': str[i] := 'N'; 'Ç': str[i] := 'C'; end; Result := str; end; Adiconada dia: 13/06/03 às 13:45:52, por: Felipe Monteiro Idem, código diferente Function RemoveAcento(Str:String): String; Const ComAcento = 'àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ'; SemAcento = 'aaeouaoaeioucuAAEOUAOAEIOUCU'; Var x : Integer; Begin For x := 1 to Length(Str) do if Pos(Str[x],ComAcento)<>0 Then Str[x] := SemAcento[Pos(Str[x],ComAcento)]; Result := Str; end; Adiconada dia: 24/06/03 às 11:32:08, por: Felipe Monteiro Mais UMA!!! Function RemoveAcentos(Str:String): String; Const ComAcento = 'àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ'; SemAcento = 'aaeouaoaeioucuAAEOUAOAEIOUCU'; Var x : Integer; Begin For x := 1 to Length(Str) do Begin if Pos(Str[x],ComAcento)<>0 Then begin Str[x] := SemAcento[Pos(Str[x],ComAcento)]; end; end; Result := Str; end; Adiconada dia: 24/01/04 às 15:36:19, por: Jose Ribeiro Exemplo com fontes (precisa estar logado no site para acessar! Cadastre-se de graça, log e depois acesse o link) http://www.delphi.eti.br/downloads.php?id=...11309cd20ef9305 POWERED BY SESSAO DE LINKS FORUM DE DELPHI SCRIPT BRASIL<- clique aqui e veja! Outra: no fórum de Delphi ninguém dá respostas (código pronto) e sim AJUDA! <- duas coisas totalmente diferentes
-
vi isso em algum lugar.. não parecia dificil, mas não tenho o link ^^
-
Bom.. primeiro tu vai ter que decidir onde vai querer guardar essa informacao? .Ini, registro do windows ou banco de dados?
-
leadership de segunda mão??? AHUAHUAUHAUHAUH essa foi mmmuuuuiito boa! Pode isso? Eles conseguem piorar? KKKKKK
-
Infopower No Delphi 6 (AUTORESOLVIDO)
pergunta respondeu ao hencker de Corposemalma em Delphi, Kylix
Mais um usuario satisfeito! Etâ forum da peste esse sô! ^^ Assim perde a graça! -
Ué!!! Galera não é esse ai que tem o cache normal e tem um esqueminha pra habilitar mais cache e ficar igual ao Athlon?? <- Dá uma procurada e vai atras dissu Realmente é um absurdo de rápido esse monstrinho ^^
-
XPC = http://www.leadership.com.br/ (reparem o menu do lado) Provavelmente eles tavam tendo problemas juridicos e trocaram de nome Muito comum no ramo da informatica: Abre uma empresa, vende um monte de merda e abre falência dela... Assim você não paga imposto e todos eventuais processos não tem validade porque a empresa faliu processar os donos fica quase impossivel Sacaram o esquema? HEHEH Tipo eu tenho CERTEZA que a antiga TRONI hoje se chama SATELITE (dois LL ou dois TT?). Tenho um gabinete Troni que a estrutura é identica aos satelites, só muda a frente HEHEHE
-
HEHEH já tirei uns 7 ou 8 P4 sem abrir o soquete, só puxando o cooler.... (culpa da empresa que montava) AHUAHUA Acho que os cara passavam pasta com uma pá
-
O Real Do Sobrenatural (AUTORESOLVIDO)
pergunta respondeu ao Alessandro de Corposemalma em Delphi, Kylix
assim fica facil heheh -
Bom... sei lá, acho que esse tipo de adaptador deve funcionar com alguns mouses e algumas placa mae.. não custa tenta... ^^ Qualquer coisa vai no PROCON e diz que foi enganado! Propaganda enganosa! Adaptador duma pinoia! Aqui não diz que é específico pra alguns componentes! quero meu dinheiro de volta, que pague os gastos juridicos e ainda tem o tratamento por danos morais! Todo mundo lá em casa e no forum ficou rindo de mimmmmm BUUUUUuuuuaaaáááá