Chamar uma funcao em um outro Form ou numa Unit
Boa Noite Amigos
Ja estou até meio timido em postar aqui minhas duvidas, mas tem coisas que nao me entram na cabeça (Esta por exemplo, nem quando programava em Clipper aprendi, mas arrumava sempre um jeitiinno), e por isso recorro a voces.
Tenho que montar um funçao na minha Unit de Funçôes assim:
case mes of
1: VarMes := ´ Janeiro/+IntToStr(ano)´;
2: VarMes := ´ Fevereiro/+IntToStr(ano)´;
3: VarMes := ´ Março/+IntToStr(Ano)´;
end;
etc.. etc.. (Sao os 12 meses do ano)
Eu preciso do resultado da variavel VarMes em varios Forms, pois eu estou repetindo isso em todos, mas sei que nao é o correto
obs: O que nao consigo entender é o CONST que coloca na funçao e o RESULT
Se alguem puder montar o Cabeçalho da Funçao pra mim... e tambem como chamá-la no form, desde já fico grato.
att.
Jotas
Ja estou até meio timido em postar aqui minhas duvidas, mas tem coisas que nao me entram na cabeça (Esta por exemplo, nem quando programava em Clipper aprendi, mas arrumava sempre um jeitiinno), e por isso recorro a voces.
Tenho que montar um funçao na minha Unit de Funçôes assim:
case mes of
1: VarMes := ´ Janeiro/+IntToStr(ano)´;
2: VarMes := ´ Fevereiro/+IntToStr(ano)´;
3: VarMes := ´ Março/+IntToStr(Ano)´;
end;
etc.. etc.. (Sao os 12 meses do ano)
Eu preciso do resultado da variavel VarMes em varios Forms, pois eu estou repetindo isso em todos, mas sei que nao é o correto
obs: O que nao consigo entender é o CONST que coloca na funçao e o RESULT
Se alguem puder montar o Cabeçalho da Funçao pra mim... e tambem como chamá-la no form, desde já fico grato.
att.
Jotas
Jotas
Curtidas 0
Melhor post
Wdrocha
18/08/2008
Boa noite....
Vc pod fazer assim....
Vá em...
File ---> New ----> Other.....
Escolha Unit...
Lá nessa Unit...salva com o nome q vc quer...
aew com a Unit criada....vai um exemplo simples...
Vc pod fazer com mts procedures e function....passando parâmetros inclusive...
Vamos supor q vc salvou esta Unit com o nome de UTeste...
Para usar a mesma...basta declarar abaixo da seção Implementation do seu Form....a clausula...
E no form q vc declarou que usará esta Unit...vc terá acesso a todas as procedures e functions da UTeste....
assim vc não precisará mais escrever o mesmo procedimento mais d uma vez...
qualquer coisa....posta aew...
espero ter ajudado....
Boa semana....
Vc pod fazer assim....
Vá em...
File ---> New ----> Other.....
Escolha Unit...
Lá nessa Unit...salva com o nome q vc quer...
aew com a Unit criada....vai um exemplo simples...
unit Unit2; interface //Aq vc declara o cabeçalho das suas procedures e functions Procedure Teste ; implementation //Aq vc implementa a procedure ou function q vc declarou acima Procedure Teste Begin //Seu código End end.
Vc pod fazer com mts procedures e function....passando parâmetros inclusive...
Vamos supor q vc salvou esta Unit com o nome de UTeste...
Para usar a mesma...basta declarar abaixo da seção Implementation do seu Form....a clausula...
Implementation Uses UTeste;
E no form q vc declarou que usará esta Unit...vc terá acesso a todas as procedures e functions da UTeste....
assim vc não precisará mais escrever o mesmo procedimento mais d uma vez...
qualquer coisa....posta aew...
espero ter ajudado....
Boa semana....
GOSTEI 2
Mais Respostas
Michell Oliveira
17/08/2008
Obrigado pela explicação, foi mto claro.
GOSTEI 0
Emerson Nascimento
17/08/2008
qual informação você passará no parâmetro? uma data? o ano e o mês? porque, dependendo do que você têm em mãos, há várias formar de fazer a função.
- caso você tenha uma data:
// declara a constante com os meses do ano, em PT-BR
const aMeses: array[1..12] of string = ('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
// função que retorna o Mes/Ano a partir de uma data
function RetMesAno( dData: TDate ): string; overload;
var
dia, mes, ano: word;
begin
decodedate( dData, ano, mes, dia );
result := aMeses[mes]+'/'+inttostr(ano);
end;
// função que retorna o Mes/Ano a partir do valor de mês e ano
function RetMesAno( mes, ano: integer ): string; overload;
begin
result := aMeses[mes]+'/'+inttostr(ano);
end;
- caso você tenha uma data:
// declara a constante com os meses do ano, em PT-BR
const aMeses: array[1..12] of string = ('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
// função que retorna o Mes/Ano a partir de uma data
function RetMesAno( dData: TDate ): string; overload;
var
dia, mes, ano: word;
begin
decodedate( dData, ano, mes, dia );
result := aMeses[mes]+'/'+inttostr(ano);
end;
// função que retorna o Mes/Ano a partir do valor de mês e ano
function RetMesAno( mes, ano: integer ): string; overload;
begin
result := aMeses[mes]+'/'+inttostr(ano);
end;
GOSTEI 1
Emerson Nascimento
17/08/2008
qual informação você passará no parâmetro? uma data? o ano e o mês? porque, dependendo do que você têm em mãos, há várias formar de fazer a função.
- caso você tenha uma data:
- caso você tenha uma data:
// declara a constante com os meses do ano, em PT-BR
const aMeses: array[1..12] of string = ('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
// função que retorna o Mes/Ano a partir de uma data
function RetMesAno( dData: TDate ): string; overload;
var
dia, mes, ano: word;
begin
decodedate( dData, ano, mes, dia );
result := aMeses[mes]+'/'+inttostr(ano);
end;
// função que retorna o Mes/Ano a partir do valor de mês e ano
function RetMesAno( mes, ano: integer ): string; overload;
begin
result := aMeses[mes]+'/'+inttostr(ano);
end;
GOSTEI 1