Unit
Eu tenho a unit_principal
E ela tá enorme e bagunçada então queria organizar.
Queria fazer assim:
Colocar tipo unit_banco
nessa unit fica as funções do banco de dados
unit_clientes
nessa fica as funções de clientes
mas o problema é que: criei um componente e nesse componente tem a função ex: OnClick
só que essa função não consegui pegar da unit_clientes
Como faço para ela chamar a função??
E ela tá enorme e bagunçada então queria organizar.
Queria fazer assim:
Colocar tipo unit_banco
nessa unit fica as funções do banco de dados
unit_clientes
nessa fica as funções de clientes
mas o problema é que: criei um componente e nesse componente tem a função ex: OnClick
só que essa função não consegui pegar da unit_clientes
Como faço para ela chamar a função??
Rudá
Curtidas 0
Respostas
Massuda
16/01/2006
O ideal é escrever essas units relacionadas às ´regras do negócio´ sem que elas tenham conhecimento de como é a interface com o usuário.
Por exemplo (bem genérico), uma unit relacionada com clientes não deveria ter um método relacionado com o OnClick de um botão em um form; esse tipo de relacionamento faz mais sentido estar na unit do form do que na de clientes.
Por exemplo (bem genérico), uma unit relacionada com clientes não deveria ter um método relacionado com o OnClick de um botão em um form; esse tipo de relacionamento faz mais sentido estar na unit do form do que na de clientes.
GOSTEI 0
Rudá
16/01/2006
O que eu quero fazer por exemplo é.
Tenho várias funções de sql
Ex:
SqlQuery();
Nela vai ser executado As query
SqlCampo();
Nela vou pegar um valor de um campo
Só que eu quero fazer uma unit para essas funções pq eu irei usar em todo o sistema ela e queria deixar separado, para ter uma melhorar organização!
Tem a unit_sql
Nessa unit vai ter
Query();
Campo();
Etc...
E em algum forme quando precissar usar a função faço o seguinte
Sql.Query();
Sql.Campo();
Etc...
Tem como fazer isso??
Tenho várias funções de sql
Ex:
SqlQuery();
Nela vai ser executado As query
SqlCampo();
Nela vou pegar um valor de um campo
Só que eu quero fazer uma unit para essas funções pq eu irei usar em todo o sistema ela e queria deixar separado, para ter uma melhorar organização!
Tem a unit_sql
Nessa unit vai ter
Query();
Campo();
Etc...
E em algum forme quando precissar usar a função faço o seguinte
Sql.Query();
Sql.Campo();
Etc...
Tem como fazer isso??
GOSTEI 0
Adriano Santos
16/01/2006
Sim claro, basta vc criar sua unit_sql e declarar no Uses do form de cada form que vc precisar usar ex:
unit MeuFormCadastro;
...
uses
Windows, Classes....unit_sql...etc;
...
Pronto
unit MeuFormCadastro;
...
uses
Windows, Classes....unit_sql...etc;
...
Pronto
GOSTEI 0
Rudá
16/01/2006
E como ficaria minha unit para usar as funções como falei
Sql.Aqui teria todas as funções que coloquei é como se fosse
Form.AAA();
Sql.Aqui teria todas as funções que coloquei é como se fosse
Form.AAA();
GOSTEI 0
Adriano Santos
16/01/2006
Um exemplo de unit seria assim:
unit MinhaUnit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, Buttons, ExtCtrls, StdCtrls, ComCtrls, ToolWin, ImgList, DBTables, DB, DbGrids, ShellApi, Jpeg, XpMenu, Registry, Grids, Ambiente, Typinfo, DbCtrls; {Minhas Constantes} const C_DiaSemana: array[1..7, 1..3] of string = ((´Domingo´, ´Dom´, ´Domingo´), (´Segunda-Feira´, ´Seg´, ´Segunda´), (´Terça-Feira´, ´Ter´, ´Terça´), (´Quarta-Feira´, ´Qua´, ´Quarta´), (´Quinta-Feira´, ´Qui´, ´Quinta´), (´Sexta-Feira´, ´Sex´, ´Sexta´), (´Sábado´, ´Sab´, ´Sábado´)); C_Mes: array[1..12, 1..2] of string = ((´Janeiro´, ´Jan´), (´Fevereiro´, ´Fev´), (´Março´, ´Mar´), (´Abril´, ´Abr´), (´Maio´, ´Mai´), (´Junho´, ´Jun´), (´Julho´, ´Jul´), (´Agosto´, ´Ago´), (´Setembro´, ´Set´), (´Outubro´, ´Out´), (´Novembro´, ´Nov´), (´Dezembro´, ´Dez´)); {DONE : Ajustar os estados} C_UF: array[1..27, 1..2] of string = ((´São Paulo´, ´SP´), (´Rio de Janeiro´, ´RJ´), (´Minas Gerais´, ´MG´), (´Pernanbuco´, ´PE´), (´Bahia´, ´BA´), (´Espírito Santo´, ´ES´), (´Goiás´, ´GO´), (´Tocantins´, ´TO´), (´Pará´, ´PA´), (´Paraná´, ´PR´), (´Amazonas´, ´AM´), (´Acre´, ´AC´), (´Maranhão´, ´MA´), (´Mato Grosso´, ´MT´), (´Mato Grosso do Sul´, ´MS´), (´Piauí´, ´PI´), (´Paraíba´, ´PB´), (´Distrito Federal´, ´DF´), (´Rio Grande do Sul´, ´RS´), (´Santa Catarina´, ´SC´), (´Rôndonia´, ´RO´), (´Rorâima´, ´RR´), (´Alagoas´, ´AL´), (´Amapá´, ´AP´), (´Ceará´, ´CE´), (´Rio Grande do Norte´, ´RN´), (´Sergipe´, ´SE´)); {Declaração das Minhas Funções} function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word; {Minhas funções} implementation function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word; var I: Integer; Mensagem: TForm; begin Mensagem := CreateMessageDialog(Msg, AType, Abuttons); Mensagem.HelpContext := IndiceHelp; with Mensagem do begin for i := 0 to ComponentCount - 1 do begin if (Components[i] is TButton) then begin if (TButton(Components[i]).ModalResult = DefButton) then begin ActiveControl := TWincontrol(Components[i]); end; end; end; if Portugues then begin if Atype = mtConfirmation then Caption := ´Confirmação´ else if AType = mtWarning then Caption := ´Aviso´ else if AType = mtError then Caption := ´Erro´ else if AType = mtInformation then Caption := ´Informação´; end; end; if Portugues then begin TButton(Mensagem.FindComponent(´YES´)).Caption := ´&Sim´; TButton(Mensagem.FindComponent(´NO´)).Caption := ´&Não´; TButton(Mensagem.FindComponent(´CANCEL´)).Caption := ´&Cancelar´; TButton(Mensagem.FindComponent(´ABORT´)).Caption := ´&Abortar´; TButton(Mensagem.FindComponent(´RETRY´)).Caption := ´&Repetir´; TButton(Mensagem.FindComponent(´IGNORE´)).Caption := ´&Ignorar´; TButton(Mensagem.FindComponent(´ALL´)).Caption := ´&Todos´; TButton(Mensagem.FindComponent(´HELP´)).Caption := ´A&juda´; end; Result := Mensagem.ShowModal; Mensagem.Free; end; end.
GOSTEI 0
Rudá
16/01/2006
Fiz esse exemplo simples
Ai coloquei na uses do form unit_sql
E onde declaro como falei Sql. aqui vai as funções que coloquei na unit_sql???
unit unit_sql; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; procedure Query(); implementation procedure Query(); begin ShowMessage(´oi´); end; end.
Ai coloquei na uses do form unit_sql
E onde declaro como falei Sql. aqui vai as funções que coloquei na unit_sql???
GOSTEI 0