Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''TDI''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Olá, essa é a minha primeira postagem nesse fórum (além de ser o terceiro em que pergunto) e peço desculpas por qualquer erro que eu esteja cometendo. Sou iniciante em programação orientada a objetos, estudando à apenas seis meses a IDE Delphi 7 em meu curso. Estou a 3 dias do termino do prazo final do trabalho que conclui essa matéria e boa parte de meu projeto está pronto, mas emperrei em um ponto do qual eu não sei o que fazer. A ideia do meu projeto é o gerenciamento de fichas e anotações para se jogar RPG (Role Playing Game) de mesa. O programa principal cria, conforme um registro é carregado ou um formulário para se criar um novo registro é chamado, dinamicamente abas contendo o formulário que será usado. Eu já desenvolvi uma procedure para salvar os dados do formulario no aquivo que eu determinei como "banco de dados" para esse tipo de registro e outra procedure para se abrir um registro - que foi bem simples depois de pensar algumas horas. Como eu executo essa procedure de salvamento ou como eu crio uma que ache os componentes dentro desse formulário dinâmico? Aqui vão as procedures citadas. //Função de abertura de registro/aba //No caso J_Principal é meu Main Form, Campanha é meu registro e PC_Area_de_Trabalho é o PageControl onde as abas que são criadas dinamicamente ficam localizadas procedure TJ_Principal.AbrirCampanha (C : String); var Tab : TTabSheet; Form : TJ_Campanha; begin Tab := TTabSheet.Create(Self); Form := TJ_Campanha.Create(Tab); Seek(ArqCam, 0); while (not EoF(ArqCam)) do begin Read(ArqCam, Campanha); if (C = Campanha.Titulo) then begin Seek(ArqCam, FilePos(ArqCam) -1); Break; end; end; if (AbaExiste(Campanha.Titulo)) then begin FreeAndNil(Tab); Exit; end; with Tab do begin PageControl := PC_Area_de_Trabalho; Caption := Campanha.Titulo; ImageIndex := 1; end; with Form do begin Align := alClient; BorderStyle := bsNone; Parent := Tab; L_Cria_Mod.Caption := 'Criado por: ' + Campanha.Criador + ' em: ' + DateToStr(Campanha.DataDeCriacao) + ' Modificado em: ' + DateToStr(Campanha.DataDeModificacao); E_Nome.Text := Campanha.Titulo; M_Resumo.Text := Campanha.Resumo; M_Detalhes.Text := Campanha.Detalhes; if (Campanha.Permissao) then Form.RP_Permissao.ItemIndex := 1 else Form.RP_Permissao.ItemIndex := 0; Show; end; PC_Area_de_Trabalho.ActivePage := Tab; end; //Aqui a procedure padrão para se criar uma nova aba (Um formulario, no sentido literal, não de Form, onde é preenchido os dados que irão ser salvos em Registro) procedure TJ_Principal.CriarAba (F : TFormClass); var Tab : TTabSheet; Form : TForm; Tag : Integer; begin Tab := TTabSheet.Create(Self); Form := F.Create(Tab); if (F = TJ_Campanha) then Tag := 1 else if (F = TJ_Aventura) then Tag := 2 else if (F = TJ_Cena) then Tag := 3 else Tag := 0; Case (Tag) of 1 : Form.Caption := 'Novo - Campanha *'; 2 : Form.Caption := 'Novo - Aventura *'; 3 : Form.Caption := 'Novo - Cena *'; 4 : Form.Caption := 'Novo - Personagem *'; 5 : Form.Caption := 'Novo - Raça *'; 6 : Form.Caption := 'Novo - Classes *'; 7 : Form.Caption := 'Novo - Habilidade *'; 8 : Form.Caption := 'Novo - Item *'; end; if (AbaExiste(Form.Caption)) then begin FreeAndNil(Tab); Exit; end; with Tab do begin PageControl := PC_Area_de_Trabalho; Caption := Form.Caption; ImageIndex := Tag; end; with Form do begin Align := alClient; BorderStyle := bsNone; Parent := Tab; //Name := 'Nome'; //Só coloquei isso pois minha ultima tentativa mal sucedida era usar o Application.FindCOmponent('Nome'), porém meu teste não funcionou v.v Show; end; PC_Area_de_Trabalho.ActivePage := Tab; end; //Função que verifica se já existe alguma aba igual já aberta function TJ_Principal.AbaExiste(NomeAba: string): Boolean; var I : Integer; Aba : TTabSheet; begin Result := False; for I := 0 to PC_Area_de_Trabalho.PageCount - 1 do begin if ((PC_Area_de_Trabalho.Pages[I].Caption = NomeAba) or (PC_Area_de_Trabalho.Pages[I].Caption = ('*' + NomeAba))) then begin Aba := PC_Area_de_Trabalho.Pages[I]; PC_Area_de_Trabalho.ActivePage := Aba; Result := True; Break; end; end; end; //Esse é a unica Procedure que não está localizada no Main Form //Processo que salva os dados preenchidos em um Form préviamente aberto com CriaAba. //Funciona perfeitamente se tiver um botão dentro do formulário que o ative, mas o Main Form(J_Principal) não consegue acessa-lo, pois como é criado dinamicamente //e se tem mais de um tipo de form TJ_Campanha aberto, ele não sabe para qual eu estou me referindo. procedure TJ_Campanha.SalvarArquivo; var I : Integer; begin I := 1; Seek(ArqCam, 0); while (not EoF(ArqCam)) do begin Read(ArqCam, Campanha); if (Self.E_Nome.Text = Campanha.Titulo) then if (MessageDlg('Já existe um registro com esse nome, deseja salvar mesmo assim?' + #13 + 'Caso SIM, ambos os registros serão mantidos.', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then begin Seek (ArqCam, 0); while(not EoF(ArqCam)) do begin Read(ArqCam, Campanha); if (Campanha.Titulo = Self.E_Nome.Text + IntToStr(I)) then begin Inc(I); Seek(ArqCam, 0); end; end; E_Nome.Text := E_Nome.Text + IntToStr(I); Break; end else Exit; end; with Campanha do begin Criador := Usuario.Nome; DataDeCriacao := Date + Time; DataDeModificacao := Date + Time; Titulo := E_Nome.Text; Resumo := M_Resumo.Text; Detalhes := M_Detalhes.Text; if (RP_Permissao.ItemIndex = 0) then Permissao := False else Permissao := True; for I := 1 to Self.LB_PJogaveis.Count do //O que é essa propriedade ItemHeight??? PJ[I] := Copy(Self.LB_PJogaveis.Items[I-1], 0, Pos(' ', Self.LB_PJogaveis.Items[I-1])); for I := 1 to Self.LB_PNJogaveis.Count do PnJ[I] := Copy(Self.LB_PNJogaveis.Items[I-1], 0, Pos(' ', Self.LB_PNJogaveis.Items[I-1])); for I := 1 to Self.LB_AventurasEscolhidas.Count do Aventuras[I] := Copy(Self.LB_AventurasEscolhidas.Items[I-1], 0, Pos(' ', Self.LB_AventurasEscolhidas.Items[I-1])); end; Write(ArqCam, Campanha); J_Principal.PC_Area_de_Trabalho.ActivePage.Caption := Campanha.Titulo; end; Todo esse código foi desenvolvido por mim, ao longo de dois dias com a ajuda desses links aqui: http://lucianopimenta.com/post.aspx?id=171- Que utilizou a abertura em abas para fazer um Navegador http://www.devmedia.com.br/websys.5/webreader.asp?cat=3&artigo=1907&revista=clubedelphi_110#a-1907- Inicialmente eu iria usar essa classe, mas ela se demonstrou incompativel com a minha IDE por motivos desconhecidos. Eu meio que estou desesperado. Se alguém tiver alguma ideia de como eu devo proceder a partir de agora, eu agradeço. Se algo ficou mal explicado, me desculpem, pois estou morrendo de sono, mas perguntem por que eu tento me explicar de novo com outras palavras. Desde já, agradeço.
×
×
  • Criar Novo...