Ver Mensaje Individual
  #7  
Antiguo 20-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kirios.

Ahora creo que entendí lo que buscas.

A ver... tenés un archivo de texto con el nombre de un objeto y un valor separados por un ';' . Supongamos que se llame Archivo.txt y contenga lo siguiente:
Código:
cama;1
mesa;2
silla;3
vaso;4
plato;5
banco;6
cuchillo;7
tenedor;8
cuchara;9
fuente;10
Entonces sería mucho más fácil hacerlo usando TStrings :
Código Delphi [-]
var
  TS: TStrings;

(* Cargar valores, asignar Tags *)
procedure TForm1.FormCreate(Sender: TObject);
var
  i,c: Integer;
begin
  TS:= TStringList.Create;
  TS.LoadFromFile('C:\Archivo.txt'); // leer datos del archivo
  c:=0;
  for i:= 0 to ComponentCount-1 do
    if Components[i] is TCheckBox then
    begin
      TCheckBox(Components[i]).Caption:= Copy(TS[c],1,Pos(';',TS[c])-1); // nombre del objeto
      TCheckBox(Components[i]).Tag:= c;  // índice
      Inc(c);
    end;
end;

(* Devolver total *)
function TForm1.preciobar: Double;
var
  i,c:integer;
  s: string;
begin
  Result:= 0;
  c:=0;
  for i:= 0 to ComponentCount - 1 do
    if Components[i] is TCheckBox then
      if TCheckBox(Components[i]).Checked then
      begin
        s:= TS[TCheckBox(Components[i]).Tag]; // dato
        Result:= Result + StrToFloat(Copy(s,Pos(';',s)+1, MaxInt)); // valor
        Inc(c);
      end;
end;

(* Llamada *)
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:= FloatToStr(preciobar);
end;

(* Liberar *)
procedure TForm1.FormDestroy(Sender: TObject);
begin
  TS.Free;
end;
Por supuesto tendrás que tener tantos CheckBoxs como datos haya en el archivo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita