Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/05/2006, 12:36
Avatar de dogduck
dogduck
 
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
la parte que falta
Código:
   {Con un bucle recorremos todas las series que hayamos
      incorporado al gráfico. En nuestro gráfico hay siete
      series o tipos de gráficos. En este procedimiento los
      datos de los SpinEdit se asignan a cada punto de cada
      serie, si bien sólo se muestra la serie que está
      activada.}
     for i:= 0 to Grafico.SeriesCount -1 do
     with Grafico.Series[i] do
     begin
          {Se borran los datos anteriores de la serie.}
          Clear;
          {Asignamos a los diez puntos de la serie correspondiente
           a cada vuelta de bucle el valor del SpinEdit. Para obtener
           información sobre el método Add aplicado a las Series del
           componente TChart, busca en la ayuda de Delphi el tema
           Add Method. El primer parámetro es un valor que indica
           la magnitud que ha de ocupar ese punto del gráfico; el
           segundo parámetro es un texto y el tercero es el color
           con el que debe dibujarse.}
          Add( SE_1.Value, 'Valor 1' , clRed ) ;
          Add( SE_2.Value, 'Valor 2' , clBlue ) ;
          Add( SE_3.Value, 'Valor 3' , clLime ) ;
          Add( SE_4.Value, 'Valor 4' , clAqua ) ;
          Add( SE_5.Value, 'Valor 5' , clYellow ) ;
          Add( SE_6.Value, 'Valor 6' , clWhite ) ;
          Add( SE_7.Value, 'Valor 7' , clTeal ) ;
          Add( SE_8.Value, 'Valor 8' , clPurple ) ;
          Add( SE_9.Value, 'Valor 9' , clGreen ) ;
          Add( SE_10.Value, 'Valor 10' , clFuchsia ) ;
     end;



end;

procedure TPrincipal.AcercadeClick(Sender: TObject);
begin
 //Application.CreateForm(TAcercade1,Acercade1);
 AcercaDe1:=TAcercaDe1.Create(Application);
     AcercaDe1.ShowModal;
     AcercaDe1.Free;

end;
{procedimineto de evento al clikar sobre elemento abrir
del menu. Donde se leeran de un fichero de texto los valores del gráfico}
procedure TPrincipal.Abrir1Click(Sender: TObject);
var i:integer;
    fichero:textFile;
    valores:array [1..10] of string;
begin
//inicializo valores
for i:=1 to 10 do valores[i]:='';
//directorio inicial por ejemplo c raiz
opendialog1.InitialDir:='c:\';
//se ejecuta el dialogo de abrir
if opendialog1.Execute then begin
// si existe el fichero elegido en el dialogo
 if  fileexists(opendialog1.FileName) then begin
  //leemos sus valores al array valores[]
  i:=1;assignfile(fichero,opendialog1.FileName);
  reset(fichero);
  while not eof(fichero) do begin
    //leemos linea a linea
    readln(fichero,valores[i]);

    //pasamos los valores al grafico

    case i of
      1:SE_1.value:=strtoint(valores[1]);
      2:SE_2.value:=strtoint(valores[2]);
      3:SE_3.value:=strtoint(valores[3]);
      4:SE_4.value:=strtoint(valores[4]);
      5:SE_5.value:=strtoint(valores[5]);
      6:SE_6.value:=strtoint(valores[6]);
      7:SE_7.value:=strtoint(valores[7]);
      8:SE_8.value:=strtoint(valores[8]);
      9:SE_9.value:=strtoint(valores[9]);
      10:SE_10.value:=strtoint(valores[10]);
    end;//case
    inc(i);
  end;//while
  //cerramos el fichero
  closefile(fichero);
  
 end; //if fileexists
end; //if opendialog1
end;//procedimiento

{procedimiento de evento al clikar sobre el elemento guardar del menu
donde se guardarán los valores del grafico en un fichero de texto}
procedure TPrincipal.Guardar1Click(Sender: TObject);
var fichero: textfile;
    i:integer;
    linea:string;

begin
//ejecutamos el dialogo guardar
if savedialog1.Execute then begin
  //si existe el fichero avisamos y damos opcion a salir
  if fileexists(savedialog1.FileName) and
   (MessageDlg(Format('¿Sobreescribir el fichero %s?',[savedialog1.FileName]),
   mtConfirmation, mbYesNoCancel,0)<>idYes) then Exit;
  if DeleteFile(savedialog1.FileName) or not fileexists(savedialog1.FileName) then begin
  assignfile(fichero,savedialog1.FileName);
  rewrite(fichero);
  //escribimos los valores en el fichero
  {no me los guarda en el orden que yo queria con esto ¿???????
  for i:=0 to Principal.ComponentCount-1 do
  if (Principal.Components[i] is TSpinEdit) then begin
      linea:=inttostr((Principal.Components[i] as TSpinEdit).Value);
      writeln(fichero,linea);

    end;//if (Principal. }
    //luego lo hago por el camino largo...
    writeln(fichero,inttostr(SE_1.value));
    writeln(fichero,inttostr(SE_2.value));
    writeln(fichero,inttostr(SE_3.value));
    writeln(fichero,inttostr(SE_4.value));
    writeln(fichero,inttostr(SE_5.value));
    writeln(fichero,inttostr(SE_6.value));
    writeln(fichero,inttostr(SE_7.value));
    writeln(fichero,inttostr(SE_8.value));
    writeln(fichero,inttostr(SE_9.value));
    writeln(fichero,inttostr(SE_10.value));
    //cerramos el fichero
    closefile(fichero);
  end;//if DeleteFile(

end;//if savedialog1.execute

end;//procedimiento

end.
Código:
unit uniTitulos;
   {En esta forma se preguntan los títulos del gráfico:
   inferior y superior.}
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TF_Titulos = class(TForm)
    L_Superior: TLabel;
    L_Inferior: TLabel;
    B_DeAcuerdo: TButton;
    E_Superior: TEdit;
    E_Inferior: TEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_Titulos: TF_Titulos;

implementation

{$R *.DFM}

end.