Fórum Retorno de uma function #229810
04/05/2004
0
Tô perdidaço nisso
Obrigado pela atenção
Salvati
Curtir tópico
+ 0Posts
04/05/2004
Rômulo Barros
Gostei + 0
04/05/2004
Lucas Silva
procedure Teste(var A: String; B:Integer; C:Real) begin .... A := ´Lucas´; B := 32; C := 43,98; end; // e na hora de buscar os valores //em uma procedure qualquer.. procedure TForm1..... var A1: String; B1:Integer; C1:Real; begin Teste(A1,B1,C1); end;
Gostei + 0
04/05/2004
Rômulo Barros
procedure Teste(var A: String; B:Integer; C:Real) begin .... A := ´Lucas´; B := 32; C := 43,98; end; // e na hora de buscar os valores //em uma procedure qualquer.. procedure TForm1..... var A1: String; B1:Integer; C1:Real; begin Teste(A1,B1,C1); end;
Muito boa a sua solução, Lucas Alves Silva. Está aí uma das maneiras de se passar parâmetros no delphi (Passagem por referência) muito pouco utilizado por programadores..., e que deveria ser dado mais atenção.
Gostei + 0
04/05/2004
Lucas Silva
Eu gosto muito de fazer consultas deste tipo, eu acho bem mais facil, do que ficar criando váriaveis globais, e coisa do tipo...
Essa passagem de parâmetros é simples e rápida...
Gostei + 0
04/05/2004
Salvati
Mas achei interessante essa concatenação de strings, já é o que tô mexendo, mas quando quero transformá-lo de string para inteiro ou float ele apresenta erro, dizendo que não é uma variável qeu não pode virar inteiro.
Qaulquer coisa te passo por e-mail pra dar uma olhada, estanho.
Gostei + 0
04/05/2004
Marco Salles
Function SeiLaOQue(var a:String, var b:Integer):Real; begin a:=Qualquer String; b:=Qualquer Numero Inteiro; result:Qualquer Numero Real; end;
Na Hora De Chamar a Função:
Var a:String; b:Integer; c:Real; begin c:=SeiLaOQue(a,b); end;
Gostei + 0
04/05/2004
Salvati
vou implementá-lo daqui a pouco, mas oq há de errado, que fiquei muito curioso agora.
Se souberem o erro me avisem por favor
O código da minha procedure e da minha function estão abaixo:
Function ReadComm:String;
var BytesLidos: DWord;
f: real;
ReadStr, tst: String;
begin
iRet:=ReadFile(hComm, bRead[0], 255, BytesLidos, nil);
if ord(iRet)=-1 then exit;
ReadStr:=´´;
//IF bytesLidos > 0 then ShowMessage(inttostr(BytesLidos));
If BytesLidos > 0 Then
{ For I:=0 To BytesLidos - 1 do
ReadStr:=ReadStr + chr(bRead[i])
Else
FlushComm;
Result:=ReadStr; }
begin
if bRead[0]=255 then
tst:=formatfloat(´#.00´,(((bRead[2])*2)/3));
result:=((inttostr(bRead[1]))+´ - ´+(tst));
end;
End;
procedure TfPrincipal.Timer1Timer(Sender: TObject); var cStr, s, t: String; quant, d, e, posi, a: integer; b: real; begin if not bAberta then begin ShowMessage(´PORTA SERIAL ESTA FECHADA !´); exit; end; begin cStr:=ReadComm; if Length(cStr)>0 then posi:=Pos(´-´,cStr); quant:=length(cStr); a:=strtoint(Copy(cStr,1,((posi)-1))); t:=(copy(cStr,((posi)+1),quant)); Memo1.Lines.Add(cStr); edit1.Text:=inttostr(a); case a of 1: begin edit1.Text:=inttostr(a); edit2.text:=(t); end; 2: begin edit3.text:=inttostr(a); edit4.text:=(t); end; 3: begin edit5.text:=inttostr(a); edit6.text:=(t); end; 4: begin edit7.text:=inttostr(a); edit8.text:=(t); end; 5: begin edit9.text:=inttostr(a); edit10.text:=(t); end; 6: begin edit11.text:=inttostr(a); edit12.text:=(t); end; 7: begin edit13.text:=inttostr(a); edit14.text:=(t); end; 8: begin edit15.text:=inttostr(a); edit16.text:=(t); end; 9: begin edit17.text:=inttostr(a); edit18.text:=(t); end; 10: begin edit19.text:=inttostr(a); edit20.text:=(t); end; end; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)