| Usuario |
Problema al llamar una funcion |
Desconocido
|
| Enviado - 23/6/2004 |
| |
Hola, espero me puedan ayudar, estoy haciendo un pequeño programa para convertir el codigo de colores de una resistencia en su valor en ohms, declaro una funcion:
/********************/
implementation
{$R *.dfm}
function Col2Num(var color: integer; var Box: integer): integer;
begin
case Box of
1..2: case color of
1: Col2Num := 0;
2: Col2Num := 1;
3: Col2Num := 2;
4: Col2Num := 3;
5: Col2Num := 4;
6: Col2Num := 5;
7: Col2Num := 6;
8: Col2Num := 7;
9: Col2Num := 8;
10: Col2Num := 9;
end;
3: case color of
1: Col2Num := 0;
2: Col2Num := 1;
3: Col2Num := 2;
4: Col2Num := 3;
5: Col2Num := 4;
6: Col2Num := 5;
7: Col2Num := 6;
8: Col2Num := 7;
9: Col2Num := 8;
10: Col2Num := 9;
end;
4: case color of
1: Col2Num := 0;
2: Col2Num := 1;
3: Col2Num := 2;
4: Col2Num := 3;
end;
end;
end;
/**********************/
y al mandarla llamar :
/*********************/
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
Val2 := ComboBox2.ItemIndex;
Val2:= Col2Num(Val2,1,Code);
Edit1.Text := IntToStr(Val1)+IntToStr(Val2);
end;
/*********************/
me manda un error de compilacion:
[Error] Unit1.pas(74): Types of actual and formal var parameters must be identical
y no encuentro forma de eliminarlo, espero me pueden ayudar.
P.D.
Declaracion de variables:
var
Form1: TForm1;
Val1: integer;
Val2: integer;
Code: Integer;
|
| |
|
ORAguila
1 Mensaje(s)
|
| Enviado - 28/6/2004 |
| |
El error debe estar en la línea
Val2:= Col2Num(Val2,1,Code);
porque en la declaración de la función dices que le vas a pasar 2 valores como parámetros (color y Box) y le estás pasando 3 valores en la llamada.
Tienes que tener en cuenta que cuando pasas valores por dirección (defines con var delante los parámetros de la función -var color-) a la hora de llamar la función, no puedes pasar un valor constantes (1, por ejemplo)... |
| |
|
|
|