Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Beleza! É só que com aquele código ali em cima você vai percorrer todas as caixas de uma vez só (sejam elas 10 ou 100), sem precisar ter que escrever uma linha para cada. Mas, veja o que é mais prático pra ti e use. Abraços, Graymalkin
  2. Graymalkin

    Asp.net + Excel

    Se for um arquivo do Excel no estilo tabela (a primeira linha com os "campos" e as demais com os "registros"), você pode utilizar ADO.NET para isso (veja aqui: http://www.dotnetjohn.com/articles.aspx?articleid=54). Já se a sua necessidade for alterar arquivos arbitrários, então você vai ter que recorrer a automação do Excel. Isso vai exigir que o Excel esteja instalado no servidor, porém também vai te dar total liberdade para controlá-lo e realizar as alterações. Entretanto, fiz um teste aqui e não consegui instanciar um objeto Excel.Application. Aparece um erro dizendo que não há permissão para isso (fiz todas as configurações que encontrei, porém não teve jeito). Se quiser tentar aí, faça um teste com: Dim x As Object = Server.CreateObject("Excel.Application") Se isso funcionar, é só você utilizar os métodos que esse objeto disponibiliza (fazendo referência ao Microsoft Excel você vai poder saber quais são os métodos). Abraços, Graymalkin
  3. Graymalkin

    Macrosubst

    A macrosubstituição permite que você coloque um pedaço qualquer de código em uma string e execute-o. Por exemplo, em um programa assim (Clipper): expressao = space(20) @01,01 say "Digite uma expressao qualquer: " get expressao read ? &expressao inkey(0) Você poderia digitar algo como "2+5+7+3+1" e isso seria desenvolvido na hora. Outro exemplo é se você precisar obter o valor de um campo (do banco de dados), passando o nome do campo como uma string: campo := "total" ? alias->&campo Ou ainda, se você quiser executar uma função também partindo de seu nome e parâmetros como uma string: codigo := "soma(2, 3)" ? &codigo inkey(0) function soma(n1, n2) return n1+n2 Sacou? Abraços, Graymalkin
  4. Graymalkin

    Type Record

    Na verdade, "Funcao" ali não é uma "função" no sentido estrito da palavra (ou seja, não é algo para ser executado). O que ele queria fazer é transformar algo como... objeto.Campo := 'um teste' ... em: defina(objeto, 'Campo', 'um teste'); Ou seja, passar o atributo como uma string. FieldAddress retorna um ponteiro para um campo (atributo) do objeto, porém não sei para qual tipo (classe) eu deveria colocá-lo. Por exemplo: var pt : ^TForm; ps : ^String; pi : ^Integer; i : integer; s : string; begin pt := @self; pt^.Caption := 'teste'; i := 2; s := 'um teste'; pi := @i; ps := @s; showmessage(inttostr(pi^)); showmessage(ps^); end; Todos aí são válidos porque eu coloquei o endereço de um inteiro em um ponteiro de um inteiro, o endereço de uma string em um ponteiro de string, e um endereço de um objeto TForm em um ponteiro de TForm. Mas, aí é que entra o problema, eu vou colocar o retorno do FieldAddress em um "ponteiro de quê"? Se alguém tiver alguma luz a respeito, por favor, isso seria muito bem vindo. Abraços, Graymalkin
  5. Graymalkin

    Abater No Esoque

    Sim, tem uma aspa simples ali na linha... 'SQL = "INSERT INTO tab_material(nomematerial,valordevenda,codgrupo) VALUES ('" & nome & "','" & valor & "','" & codgrupo & "')" ... então, efetivamente, esta linha não está sendo executada (uma ' é utilizada para definir comentários). Abraços, Graymalkin
  6. Graymalkin

    Linguagens .net

    Hehehe... sim, é bem estranha de se programar. Ela se baseia em uma outra famosa linguagem, chamada Brainf*ck (http://bluesorcerer.net/esoteric/bf.html). Esta, por sua vez, é completamente baseada na idéia da Máquina de Turing (mais informações: http://pt.wikipedia.org/wiki/M%C3%A1quina_de_Turing). Dê uma olhada no clássico Hello, World em Brainf*ck: >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-] <.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. Doideira, né? Abraços, Graymalkin
  7. Graymalkin

    Abater No Esoque

    Tem realmente alguma coisa nessa variável SQL? Pergunto isso porque é exatamente este o erro que o ADO retorna se você mandar executar uma string vazia (ou uma variável que não tenha sido inicializada anteriormente). Abraços, Graymalkin
  8. Graymalkin

    Linguagens .net

    Mais uma para a lista: Ook# .NET (compilador para a linguagem Ook!, uma linguagem especialmente desenhada para orangotangos - ): http://bluesorcerer.net/esoteric/ook.html Abraços, Graymalkin
  9. Graymalkin

    Abater No Esoque

    O que tem na linha 37 desse arquivo? Abraços, Graymalkin
  10. Graymalkin

    Gdi+ Drawarc

    Um arco gerado pelo DrawArc é uma parte de uma elipse, e uma elipse não tem raio (no caso, ela é formada a partir de um retângulo). Mas, acredito que você possa utilizar os parâmetros Width e Height para determinar o "raio". Veja este outro exemplo: Dim superfície As System.Drawing.Graphics = Me.CreateGraphics() superfície.DrawArc(New Pen(Color.Black), 40, 40, 80, 80, 100, 100) superfície.DrawArc(New Pen(Color.Black), 40, 40, 80, 80, 0, 100) superfície.DrawArc(New Pen(Color.Black), 40, 40, 80, 80, 200, 200) superfície.DrawArc(New Pen(Color.Black), 30, 30, 100, 100, 100, 100) superfície.DrawArc(New Pen(Color.Black), 30, 30, 100, 100, 0, 100) superfície.DrawArc(New Pen(Color.Black), 30, 30, 100, 100, 200, 200) superfície.DrawArc(New Pen(Color.Black), 20, 20, 120, 120, 100, 100) superfície.DrawArc(New Pen(Color.Black), 20, 20, 120, 120, 0, 100) superfície.DrawArc(New Pen(Color.Black), 20, 20, 120, 120, 200, 200) Certo? Abraços, Graymalkin
  11. Experimente postar isso na sala de Caché que existe no fórum do site http://desenvolvedores.net/. Além disso, tente entrar em contato com um dos membros lá (o Marcelo) que utiliza esse BD. Abraços, Graymalkin
  12. Graymalkin

    Array...

    Sim, seria essa a idéia. A diferença é que você vai ter um nome comum (Teste) e o que vai variar são os índices. Vamos supor que você tivesse que ler o nome de 150 alunos. Seria muito mais fácil fazer: var Alunos : array [1..150] of String; i : Integer; begin for i:=1 to 150 do Alunos[i] := inputbox('Digite o nome do ' + IntToStr(i) + 'º aluno:', '', ''); end; Você vai utilizar vetores (ou matrizes) quando precisar armazenar dados comuns e em grande quantidade. As utilizações são bem diversas: ordenação de dados (ordenar os dados em um vetor é super-rápido e existem técnicas para isso); indexação (ler um arquivo texto e jogar cada linha em uma posição do vetor é uma "mão-na-roda" para manipulação de dados); ainda no caso da indexação e da ordenação, procurar um item em um vetor também é bem veloz e existem técnicas para isso. Esses são apenas alguns exemplos. Certo? Abraços, Graymalkin
  13. Graymalkin

    Sql

    Isso está parecendo exercícios das aulas de BD I... : DDL - Data Definition Language - Linguagem de definição de dados: basicamente, são os comandos utilizados para a criação e manipulação das estruturas das tabelas (CREATE, DROP e ALTER). DML - Data Manipulation Language - Linguagem de manipulação de dados: basicamente, são os comandos utilizados para a manipulação dos dados contidos nas tabelas (INSERT, UPDATE e DELETE). DQL - Data Query Language - Linguagem de consulta de dados: comandos utilizados para a consulta (o único é SELECT). Em algumas bibliografias você vai encontrar o SELECT como parte da DML (e consequentemente não vai se falar de DQL). Certo? Se eu esqueci algo aí, por favor acrescentem. Abraços, Graymalkin
  14. Graymalkin

    Macrosubst

    Clipper é uma linguagem dinâmicamente compilada. Delphi já é estaticamente compilada. Ou seja, Clipper tem a habilidade de compilar e executar um código em tempo de execução. Aliás, recentemente apareceu um tópico no qual essa solução seria a mais viável: http://scriptbrasil.com.br/forum/index.php?showtopic=59018 Ah, e a despeito da pobre orientação a objetos, Clipper rulez! Abraços, Graymalkin
  15. Graymalkin

    Php X Zope

    O PHP é uma linguagem e o Zope é um servidor de aplicação para criação de sites de conteúdo. O mais próximo do equivalente ao Zope no PHP seria o phpNuke, por exemplo. O equivalente ao PHP no Zope é a linguagem Python, como você já deve saber. Ou seja, PHP e Zope são coisas que não são realmente comparáveis. Eu, entretanto, estou apostando minhas fichinhas no PSP do mod_python (vou refazer meu site todo assim). Abraços, Graymalkin
  16. Graymalkin

    Gdi+ Drawarc

    Se você está utilizando o Visual Studio .NET, note que aparece uma descrição naquele balãozinho amarelo indicando o que é cada um dos parâmetros. Mas, veja esse exemplo: Dim superfície As System.Drawing.Graphics = Me.CreateGraphics() superfície.DrawArc(New Pen(Color.Black), 0, 0, 100, 100, 100, 100) superfície.DrawArc(New Pen(Color.Black), 0, 0, 100, 100, 0, 100) superfície.DrawArc(New Pen(Color.Black), 0, 0, 100, 100, 200, 200) Certo? Abraços, Graymalkin
  17. Na seção Ícones (Icons) do IsTool crie uma atalho com o seguinte "filename": {uninstallexe} E para o arquivo de ajuda é só você se basear no atalho que já existe para o seu executável. Abraços, Graymalkin
  18. Graymalkin

    Arquivo Texto

    Sim, é só você ler o arquivo todo, incluir a linha e depois gravar tudo de novo. Abraços, Graymalkin
  19. Graymalkin

    Problema Com Dll

    Depende do tipo da DLL. Atualmente existem três tipos: DLLs comuns, principalmente criadas em C/C++ (e Delphi também); DLLs COM (também chamadas de ActiveX), principalmente criadas em VB (e Delphi também); e DLLs .NET (criadas a partir de qualquer linguagem .NET - VB.NET, C#, C++.NET, e a nova versão do Delphi também... ). Acredito que a sua DLL aí, provavelmente, seja a primeira opção, ou seja, uma DLL nativa (comum). Nesse caso, você precisará declarar cada uma das funções existentes nela (através da cláusula Declare no VB.NET). Dê uma olhada na documentação .NET a respeito da declaração de funções de bibliotecas externas e acredito que você encontrará mais informações. Abraços, Graymalkin
  20. Calcule apenas para as caixas que não estão vazias, percorrendo todas. Exemplo: dim soma as double, valor as double for each caixa in me.controls if typeof caixa is textbox then if trim(caixa.text)<>"" then valor = cdbl(caixa.text) soma = soma + valor endif endif next caixa msgbox soma Sacou? Abraços, Graymalkin
  21. Sempre faça uma busca antes de postar, ok? Bom, grave uma macro fazendo o que você quer e depois dê uma olhada no código-fonte dela (pelo editor do VBA). Vai bastar fazer uns ajustes. Abraços, Graymalkin
  22. Graymalkin

    Textbox

    Experimente colocar isso aqui no evento KeyPress da TextBox: Dim possíveis() As Char = {"A", "B", "C", "D", "E"} If Array.IndexOf(possíveis, Char.ToUpper(e.KeyChar)) < 0 Then e.Handled = True End If Seria isso? Abraços, Graymalkin
  23. Já tentou dar um Refresh após apagar os dados? Abraços, Graymalkin
  24. Graymalkin

    Type Record

    Sim, uma classe. Cole isso aqui em uma unit: unit Unit2; interface type TDadosTrn = class public Funcao : string; XMLDataHoraGeracao, XMLCD, XMLMSG, XMLNumero, XMLCDLoja, XMLDataHoraTransacao: string; end; implementation end. Daí, fazendo referência a essa unit (pela cláusula Uses), você poderá criar um objeto assim (e preencher seus atributos também): var objeto : TDadosTrn; begin objeto := TDadosTrn.Create; objeto.Funcao := 'teste'; objeto.XMLDataHoraGeracao := '18/06/2005 00:58:00'; end; Porém, a parte de que comentei seria isso aqui: var objeto : TDadosTrn; pont : Pointer; begin objeto := TDadosTrn.Create; objeto.Funcao := 'teste'; objeto.XMLDataHoraGeracao := '18/06/2005 00:58:00'; pont := objeto.FieldAddress('Funcao'); end; Note que em "pont" está um ponteiro para o membro "Funcao" do objeto. Entretanto, como eu disse anteriormente, não sei como manipular esse ponteiro para poder ler ou escrever no membro (mas deve haver um jeito...). Abraços, Graymalkin
  25. Graymalkin

    Enviar Email

    Experimente o componente Py.Sendmail: http://www.graymalkin.globalhosts.com.br/pysendmail.asp Tem um exemplo em Delphi. Abraços, Graymalkin
×
×
  • Criar Novo...