Ir para conteúdo
Fórum Script Brasil

Jesus

Membros
  • Total de itens

    15
  • Registro em

  • Última visita

Posts postados por Jesus

  1. Olá pessoal, não se se é aqui ou na parte de linux que devo postar esta duvida.

    Estou instalando um servidor java em um linux.

    Instalei o JDK e esta funcionando normalmente, rodando o famoso "Olá Mundo" normalmente.

    Porém, o TOMCAT não esta iniciando de forma alguma!! ao rodar o startup.sh, ele gera um arquivos log: catalina.out com a seguinte msg:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap.
    Na tela, aparece:

    Using CATALINA_BASE: /usr/local/tomcat

    Using CATALINA_HOME: /usr/local/tomcat

    Using CATALINA_TMPDIR: /usr/local/tomcat

    Using JRE_HOME: /usr/local/java

    Alguém faz idéia do q possa ser este erro??

    Bom pessoal, não idéia do porque do erro... talvez estou com um jdk desatualizado ou versão errada, enfim, resolvi o problema deixando de lado a versão TOMCAT 6 e instalei a versão TOMCAT 5.5 o problema foi resolvido, mas fica ai a duvida, não achei em lugar algum.

  2. Olá pessoal, não se se é aqui ou na parte de linux que devo postar esta duvida.

    Estou instalando um servidor java em um linux.

    Instalei o JDK e esta funcionando normalmente, rodando o famoso "Olá Mundo" normalmente.

    Porém, o TOMCAT não esta iniciando de forma alguma!! ao rodar o startup.sh, ele gera um arquivos log: catalina.out com a seguinte msg:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap.
    Na tela, aparece:

    Using CATALINA_BASE: /usr/local/tomcat

    Using CATALINA_HOME: /usr/local/tomcat

    Using CATALINA_TMPDIR: /usr/local/tomcat

    Using JRE_HOME: /usr/local/java

    Alguém faz idéia do q possa ser este erro??

  3. Para entnder um pouco mais como criar componentes:

    http://www.dpi.ufv.br/downloads/cursoKylix...tilas/ccu04.htm

    Obrigado pela página, muito boa!!

    Mas o problema aqui é um pouquinho mais complexo. Eu pretendo criar um componente (herdado da classe TEdit) e este deve ter um outro componente (também herdado da classe TEdit) que DEVE SER VISUALIZADO em seu dono, ou seja, se eu inserir meu componente em um formulário, neste formulário deve ser mostrado DOIS TEdits, mesmo sendo um componente.

    Como se eu inserisse um LabelEdit. Este é UM COMPONENTE, porém é mostrado um Edit e um Label.

    EDITADO:

    RESOLVIDO, abaixo está o código do componente, quem não entender e tiver algum interesse é só perguntar.

    ...
    
      TPBetEdit = class(TWinControl)
      private
        FPSet: TPSet;
        FEdit1: TEdit;
        FEdit2: TEdit;
      public
        constructor Create(AOwner : TComponent); override;
      published
        property PSet: TPSet read FPSet write FPSet;
      end;
    
    ...
    
    constructor TPBetEdit.Create(AOwner: TComponent);
    begin
      inherited;
    
      width := 161;
      height := 24;
    
      FEdit1 := TEdit.Create(self);
      FEdit1.parent := Self;
      FEdit1.Width := 65;
    
      FEdit2 := TEdit.Create(self);
      FEdit2.parent := Self;
      FEdit2.Width := 65;
      FEdit2.Left := 96;
    
      FPSet := TPSet.Create(Self);
    end;

  4. Olá pessoal, quero criar um componente. Este deve ter dois edits, um ao lado do outro. Este componentes terá funções especiais para se adaptar ao meu projeto.

    Não faço idéia de como fazer isso. Existe, no delphi, o LabelEdit, seria algo parecido, só que ao invés de um edit e um label, teria dois edits.

    Aqui uma tentativa:

    TPBetEdit = class(TEdit)
      private
        FEdit1: TEdit;
        FPSet : TPSet;
      public
        constructor Create(AOwner : TComponent); override;
      published
        property PSet: TPSet read FPSet write FPSet;
      end;
    
    procedure Register;
    
    implementation
    
    procedure Register;
    begin
      RegisterComponents('Pesquisa', [TPBetEdit]);
    end;
    
    constructor TPBetEdit.Create(AOwner: TComponent);
    begin
      inherited;
    
      FPSet := TPSet.Create(Self);
    
      FEdit1 := TEdit.Create(AOwner);
      FEdit1.Top := Top + 15;
    end;

    O TPSet é um outro componente criado por mim, tem outras funçoes, podem desconsiderá-lo...

  5. Sql.Clear;

    Sql.Add('select *');

    Sql.Add('from Titular');

    Sql.Add('Where (Passaporte Like "%'+ '00340' +'%'+'" )'); <<- aqui é o problema

    Sql.Add('Order by Passaporte');

    Olha, aqui eu sempre coloco espaço no final da string se todos os comandos Adds:

    SQL.Add('SELECT * ');

    SQL.ADD('FROM Titular ').......

    Que eu me lembre ocorre erro se não der este espaço...

    Que relação ao problema citado, não consegui visualizar erro algum, qual é o erro informado pelo Delphi?

  6. Como disse, assim que conseguisse (e eu consegui) iria postar aqui o resultado.

    Desde sexta-feira venho pensando em uma forma de conseguir tal façanha, passei por criar um novo projeto e este abranger todos ou apenas os links para os outros projetos, mas por razões já explicadas acima tal idéia se tornou extremamente inviável, após pensar um pouco mais, tentei utilizar DLLs, porém o mesmo problema de lincar TODOS os formulários e nomes iguais ocasionava erro, continuando pensando e pesquisando achei uma solução, e ela se chama:

    PACKAGES... ou módulos, como preferirem.

    De acordo com o autor do texto da página http://www.fundao.wiki.br/articles.asp?cod=54:

    Packages do Delphi permitem que você coloque porções de sua aplicação em módulos separados, os quais podem ser distribuídos através de múltiplas aplicações.(...)

    Pense em package como uma coleção de units armazenadas em um módulo como uma DLL separado (um Delphi Package Library, ou arquivo DPL). Sua aplicação pode então linkar com estas units "empacotadas" em tempo de execução ao invéz de linkar em tempo de compilação. Como o código para essas units reside em arquivos DPL e não em EXE ou DLL, o tamanho de seu EXE ou DLL pode ficar muito menor.(...)

    Enfim, vou mostrar em palavras a solução:

    Eu crio um package para cada projeto, esta criação é simples podendo linkar os formulários visualmente, para isso, vá em File|New|Package, adicione todas as units necessárias em requires, salve e compile. Se não for informado previamente onde o arquivo será compilado, o Delphi o compilará em C:\Arquivos de programas\Borland\Delphi5\Projects\Bpl, copie os arquivos .dcp e .bpl correspondentes ao módulo criado e coloque na pasta do novo formulário que será criado.

    Crie um novo formulário (que será o principal) e para chamar os formulários das outras aplicações é só inserir um código parecido com este:

    ////////////////////////////////// procedimento para abrir um pacote ///////////////////////////////
    proedure CriaPacote;
    var     APackage : array of Cardinal;
            APersistentClass: TPersistentClass;
            AForm: TForm;
            sFile: string;
            i:Integer;
    begin
    
      SetLength(APackage, 0); //reseta a variavel
      sFile := ‘\Caminho do Pacote\’+’Pacote.BPL';
      if FileExists(sFile) then
        begin
          SetLength(APackage, Length(APackage) + 1);
          APackage[Length(APackage)-1] := LoadPackage(sFile); ///// abri pacote
        end;
    end;
    
    ////////////////////////// procedimento para abrir um formulário ////////////////////////
    procedure abrirFormulario;
    var     APersistentClass: TPersistentClass;
            AForm: TForm;
    begin
      APersistentClass := GetClass('TCadCli');
      if APersistentClass = nil
        then
          showmessage('Formulario não localizada!')
        else
          begin
            AForm := TComponentClass(APersistentClass).Create(Application) as TForm;
            AForm.ShowModal;
          end;
    end;
    (Código retirado de: http://www.activedelphi.com.br/modules.php...=0&thold=0) Lembrando que o formulário que será "puxado" deverá conter o seguinte código:
    Initialization   RegisterClass(Classe do formulario); //// serve para registra o formulário.
    Finalization   UnRegisterClass(Classe do formulario); // tira referencia do formulário

    Bom pessoal, a partir dai é só utilizar a imaginação. Expliquei bem superficialmente apenas para abranger um pouco o tema, quem quiser saber mais ou tiver alguma dúvida pergunte por aqui, se alguém realmente tiver muito interesse me adicione no MSN : jesusbft@hotmail.com, posso dar uma ajuda, ainda não criei meu novo formulário, se tiverem interesse posso postar novos códigos que aparecerão, ok??

    Espero ter ajudado e obrigado pelo interesse de todos.

    Jesus

  7. Obrigado pela ajuda ;)

    Mas não da certo. Já tentei. Porém eu teria que adicionar todos os forms de todos os formularios.

    Ao criar um novo projeto e adicionar desta maneira ocasiona:

    1.conflito entre formulários de projetos diferentes com o mesmo nome;

    2.eu teria que adicionar a este novo projeto todos os forms que fosse criar nos outros projetos o que torna absolutamente inviavel sendo mais viável ter um projeto só com todos os formularios

    Entre outros problemas...

    uma coisa que você pode fazer é criar um project group em: Project|add existing project

    para acessar o project group: View|Project manager

    tive tentando fazer o que você disse, mas não consegui

    dei uma pesquisada e não encontrei nada sobre isso..

    boa sorte

    abraços

    De uma olhada neste endereço: acho que é isto que você esta querendo. Leia com calma para poder enteder ..ok ?

    http://www.devmedia.com.br/articles/viewcomp.asp?comp=517

    Ok, muito obrigado, vou ler com calma, posto resultados depois =)

    Jesus, a sugestão é que você crie um novo projeto. Nele, você adiciona os form's (utilize a opção Add) onde você localiza em cada caminho, as unit's a serem utilizadas (a informação do caminho vai ser mantido no seu novo projeto, que pode estar em outra pasta sem problemas).

    O que vai ter que verificar é o seguinte: cada um dos seu projetos tem um form principal e, possivelmente, um menu. Então, você vai ter que criar um novo form principal, antes de adicionar os form's dos outros projetos, e nele você coloca o menu com as opções necessárias para formar o novo programa (vai copiando-colando os comandos que estavam nos outros form's principais).

    É um processo chato, mas acho que só tem este.

    Obrigado pela ajuda =)

    Quais seriam os forms a serem adicionados?? Se for Todos de todos os projetos se torna inviável e este que é o problema.

    Quanto ao novo form principal tem razão, terei que fazer um novo form principal para ficar bacana. Achei interessante esta sua idéia.

    Vou fazer um novo form e tentar relacionar com os outros formulários de alguma forma que o novo Form principal não necessite de "manutenção" nos códigos, assim de conseguir algo ou obtiver algum problema posto aqui, muito obrigado

    EDITADO:

    Jonas, li o texto, achei muito bom porém na prática não irá ajudar muito em meus projetos que já estão prontos, apenas não interligados... Talvez para novos projetos futuros começados do zero sirva para uma melhor organização...

    Micheus, a idéia de criar um novo form principal e dele derivar diversos novos projetos é de certa forma funcional em novos projetos, iniciados do zero e a partir deste novo form gerar outros projetos e forms.

    Porém eu já tenho criado 3 grandes projetos sendo que entre eles existem nomes de formulários iguais tornando a adição dos formulários ao novo projeto inviável pois teria que remodelar o nome de muitos formularios além dos links.

    O grande problema é que, ao novo projeto, devem ser incluídos TODOS os arquivos .PAS de todos os projetos.

    Fica ai uma grande dúvida: como criar um novo projeto, este relacionando com outros projetos sem que necessite adicionar ao novo os arquivos dos outros...

  8. Obrigado pela ajuda ;)

    Mas não da certo. Já tentei. Porém eu teria que adicionar todos os forms de todos os formularios.

    Ao criar um novo projeto e adicionar desta maneira ocasiona:

    1.conflito entre formulários de projetos diferentes com o mesmo nome;

    2.eu teria que adicionar a este novo projeto todos os forms que fosse criar nos outros projetos o que torna absolutamente inviavel sendo mais viável ter um projeto só com todos os formularios

    Entre outros problemas...

    uma coisa que você pode fazer é criar um project group em: Project|add existing project

    para acessar o project group: View|Project manager

    tive tentando fazer o que você disse, mas não consegui

    dei uma pesquisada e não encontrei nada sobre isso..

    boa sorte

    abraços

    Obrigado pela ajuda ;)

    Eu também cheguei a fazer isso, adicionei os projetos porém não consegui nada mais além disso, ou seja, pelo que entendi ele serve apenas para melhor gerenciar os diversos projetos que você tem mas não da para criar um unico executavel que relacione todos os outros projetos independentes

  9. Obrigado pela ajuda ;)

    Mas não da certo. Já tentei. Eu teria que adicionar todos os forms de todos os formularios.

    Ao criar um novo projeto e adicionar desta maneira ocasiona:

    1.conflito entre formulários de projetos diferentes com o mesmo nome;

    2.eu teria que adicionar a este novo projeto todos os forms que fosse criar nos outros projetos o que torna absolutamente inviavel sendo mais viável ter um projeto só com todos os formularios

    Entre outros problemas...

  10. Tenho 3 projetos em Delphi 5, cada um deles forma um programa, eles estão divididos em pastas (cada projeto com a sua).

    Eu gostaria de juntar os três projetos e formar um único executável porém quero continuar com as pastas e projetos independentes um do outros.

    Para isso pensei em colocar uma barra lateral em um novo formulário com 3 botões, cada botão abriria ao lado (no mesmo formulario) a página inicial de cada projeto.

    Não sei como fazer isso. Alguém sabe?

  11. procedure TForm1.Button1Click(Sender: TObject);

    var

    ArquivoSalvar:olevariant; //local e nome para salvar arquivo

    s:olevariant; //facilitar trabalho

    back : olevariant;

    begin

    msword := createoleobject('word.application'); //abre aplicativo

    msword.documents.add; //adiciona novo documento

    if MSWord.ActiveWindow.View.SplitSpecial <> 0 then

    MSWord.ActiveWindow.Panes[2].Close;

    if (MSWord.ActiveWindow.ActivePane.View.type = 1) or

    (MSWord.ActiveWindow.ActivePane.View.type = 2) or

    (MSWord.ActiveWindow.ActivePane.View.type = 5) then

    MSWord.ActiveWindow.ActivePane.View.type := 3;

    s := msword.selection; //variavel para facilitar trabalho

    MSWord.ActiveWindow.ActivePane.View.SeekView := 9; //habilita o cabeçalho

    s.typetext('Cabeçalho habilitado');

    msword.activewindow.activepane.view.seekview := 10; //habilita o rodapé

    s.typetext('rodapé habilitado');

    msword.activewindow.activepane.view.seekview := 0; //habilita o texto

    s.typetext('texto habilitado');

    msword.activedocument.PageSetup.Orientation := wdOrientLandscape; //página em landscape

    s.Font.Name := 'Times New Roman'; //tipo de letra

    s.Font.Size := 12; //tamanho de letra

    s.Font.Bold := True; //negrito

    s.Font.italic := True; //italico

    s.font.Subscript := false; //subescrito

    s.font.Superscript := false; //sobrescrito

    s.font.Underline := true; //sublinhado

    s.font.color := clGreen; //cor da letra

    s.paragraphFormat.alignment := wdAlignParagraphJustify; //alinha o texto a esquerda

    //esquerda=0, centro=1, direita=2, wdAlignParagraphJustify

    s.typetext(#9); //tab

    s.typeparagraph;

    s.tables.add(s.range,linhas,colunas); //cria tabela i linhas, j colunas

    s.tables.item(1).columns.item(2).setwidth(100,wdAdjustNone);

    //comprimento da segunda coluna sem modificar a posição do texto

    s.tables.item(1).cell(2,3).range.insertAfter('escrito na posição 2,3');

    //escreva na posição 2,3

    // s.cells.autofit; //alinha conforme coluna

    s.tables.item(1).cell(i,j).select; //seleciona celula i,j

    s.moveright; //move para direita

    s.moveright;

    s.typetext('escrito fora da tabela');

    //notas de rodapé

    // s.footnotes.add(msword.selection.range,emptyparam,'texto');

    //notas de cabeçalho

    // s.endnotes.add(msword.selection.range,emptyparam,'texto');

    //comentário

    // s.comments.add(msword.selection.range,'texto');

    // s.PageSetup.TopMargin := 10; //margem superior

    // s.PageSetup.leftMargin := 100; //margem esquerda

    // s.PageSetup.rightMargin := 80; //margem direita

    // s.PageSetup.BottomMargin := 60; //magem abaixo

    msword.application.visible :=true; //mantem visivel o documento word

    ArquivoSalvar := 'c:\teste.doc';

    MSWORD.ActiveDocument.SaveAs(arquivosalvar); //salva sem perguntar

    // msword.documents.save; //abre janela para salvar

    // msword.ActiveDocument.PrintOut(false); //imprime direto, sem perguntar

    // msword.ActiveDocument.PrintPreview; //vizualizar impressão

    // msword.Quit; // finaliza aplicação

×
×
  • Criar Novo...