DouglasP 1 Denunciar post Postado Agosto 14, 2008 Boa tarde, galera como seo meio iniciante no delphi nao sei criar funções mto bem preciso criar 3 funções no casso elas seriam +/- assim: function mainpresente (valor: real): string; // Verifica se o main esta presente function mainpresente (valor: real): string; if FileExists(Edit5.Text) then begin end else MessageBox(Handle,PChar('O Arquivo '+ Edit7.Text +' não foi encontrado.'), 'Erro', MB_OK or MB_ICONERROR); end; // Funcao - versao 1 function versao1 (valor: real): string; winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; // Funcao - versao 2 function versao2 (valor: real): string; winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; e no botão chamar elas, mais na hora de testa da erro e nao faço ideia do que pode ser Oque seria? Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Agosto 14, 2008 Posta aqui a msg do erro que fica mais fácil te ajudar... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Agosto 14, 2008 Ai os erros // Verifica se o main esta presente function mainpresente (valor: real): string; if FileExists(Edit5.Text) then begin end else MessageBox(Handle,PChar('O Arquivo '+ Edit7.Text +' não foi encontrado.'), 'Erro', MB_OK or MB_ICONERROR); end; Erro: [Error] Unit1.pas(112): Declaration expected but 'IF' found // Funcao - versao 1 function versao1 (valor: real): string; winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; end; Erro: [Error] Unit1.pas(112): Unknown directive: 'winexec' // Funcao - versao 2 function versao2 (valor: real): string; winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; end; Erro: [Error] Unit1.pas(113): Unknown directive: 'winexec' Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Discorpio 1 Denunciar post Postado Agosto 16, 2008 Boa noite a todos. O erro está que voce colocou a instrução IF fora do bloco da procedure, assim|: function mainpresente (valor: real): string; ....... // Erro, cade o Begin daqui. if FileExists(Edit5.Text) then begin end else MessageBox(Handle,PChar('O Arquivo '+ Edit7.Text +' não foi encontrado.'), 'Erro', MB_OK or MB_ICONERROR); end; // assim é o certo function mainpresente (valor: real): string; begin if FileExists(Edit5.Text) then begin Result := 'Valor de Retorno'; end else MessageBox(Handle,PChar('O Arquivo '+ Edit7.Text +' não foi encontrado.'), 'Erro', MB_OK or MB_ICONERROR); end; // assim é o errado function versao1 (valor: real): string; // Cadê o Begin daqui winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; end; // Assim é o certo function versao1 (valor: real): string; begin winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; Result := 'Valor String de retorno'; end; // A mesma coisa na outra função, voce não a iniciou com a instrução BEGIN Repare que eu acrescentei um valor String de retorno, pois as Functions precisam retornar os valores pelos quais elas foram declaradas, através da sua variável implícita 'Result', porque senão o erro persistirá. Se voce pretende não retornar valores para a instrução de onde voce invoca as functions, então utilize "Procedures", assim: procedure versao1 (valor: real): string; begin winexec (PChar(Edit7.Text+' /connect' + ' /u'+ Edit5.Text + ' /p' + Edit6.Text), sw_normal); Application.Minimize; end; Um abraço Jorge da Silva Abreu Compartilhar este post Link para o post Compartilhar em outros sites