Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2012
Coltlac Coltlac is offline
Registrado
NULL
 
Registrado: oct 2012
Posts: 1
Poder: 0
Coltlac Va por buen camino
Exclamation Histograma!

Buenas tardes, soy nuevo en el foro, y tambien soy nuevo en delphi
tengo un problema, tengo que hacer un programa que abra y lea un archivo de texto y posteriormente con esa informacion debe crear un histograma de barras con la frecuencia con la cual aparecen las letras en el archivo, y lo hice pero el histograma no muestra la informacion correcta de la letras, les anexo mi codigo, espero me puedan ayudar, gracias

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
i,divs,longX,longY : Integer;
nextX,nextY : Integer;
alto,largo : Integer;
Color : TColor;
nx,ny : Integer;
begin
divs:=0;
alto:=Image1.Height;
largo:=0;
nx:=760;
ny:=Image1.Height;
{
if Limpiar then begin
    nx:=760;
    for i := 0 to cant do begin
        Canvas.TextOut(nx,ny,'');
        nx:=nx-longX;
    end;
    Limpiar:=False;
end;

for i := 0 to Length(Letras) do begin
    case Letras[i] of
        'z': inc(Minusculas[0]);
        'y': inc(Minusculas[1]);
        'x': inc(Minusculas[2]);
        'w': inc(Minusculas[3]);
        'v': inc(Minusculas[4]);
        'u': inc(Minusculas[5]);
        't': inc(Minusculas[6]);
        's': inc(Minusculas[7]);
        'r': inc(Minusculas[8]);
        'q': inc(Minusculas[9]);
        'p': inc(Minusculas[10]);
        'o': inc(Minusculas[11]);
        'ñ': inc(Minusculas[12]);
        'n': inc(Minusculas[13]);
        'm': inc(Minusculas[14]);
        'l': inc(Minusculas[15]);
        'k': inc(Minusculas[16]);
        'j': inc(Minusculas[17]);
        'i': inc(Minusculas[18]);
        'h': inc(Minusculas[19]);
        'g': inc(Minusculas[20]);
        'f': inc(Minusculas[21]);
        'e': inc(Minusculas[22]);
        'd': inc(Minusculas[23]);
        'c': inc(Minusculas[24]);
        'b': inc(Minusculas[25]);
        'a': inc(Minusculas[26]);
        'Z': inc(Mayusculas[0]);
        'Y': inc(Mayusculas[1]);
        'X': inc(Mayusculas[2]);
        'W': inc(Mayusculas[3]);
        'V': inc(Mayusculas[4]);
        'U': inc(Mayusculas[5]);
        'T': inc(Mayusculas[6]);
        'S': inc(Mayusculas[7]);
        'R': inc(Mayusculas[8]);
        'Q': inc(Mayusculas[9]);
        'P': inc(Mayusculas[10]);
        'O': inc(Mayusculas[11]);
        'Ñ': inc(Mayusculas[12]);
        'N': inc(Mayusculas[13]);
        'M': inc(Mayusculas[14]);
        'L': inc(Mayusculas[15]);
        'K': inc(Mayusculas[16]);
        'J': inc(Mayusculas[17]);
        'I': inc(Mayusculas[18]);
        'H': inc(Mayusculas[19]);
        'G': inc(Mayusculas[20]);
        'F': inc(Mayusculas[21]);
        'E': inc(Mayusculas[22]);
        'D': inc(Mayusculas[23]);
        'C': inc(Mayusculas[24]);
        'B': inc(Mayusculas[25]);
        'A': inc(Mayusculas[26]);
    end;      //end case
end; //end for
for i := 0 to 26 do begin
    Total[i]:=Mayusculas[i]+Minusculas[i];
    if Total[i]<>0 then
       inc(divs);
end;
longX:=round(Image1.Width/divs);
for i := 0 to 26 do begin
    if Total[i]<>0 then begin
         nextX:=longX+largo;
         nextY:=Total[i]*5;
         Color:=RGB(Random(255),Random(255),Random(255));
         Image1.Canvas.Brush.Color:=Color;
         Image1.Canvas.Rectangle(largo,Image1.Height,nextX,nextY);
         Font.Color:=clBlack;
         Brush.Style:=bsClear;
         Font.Size:=8;
         Canvas.TextOut(nx,ny,Let[i]);
         nx:=nx-longX;
         largo:=nextX;
         alto:=nextY;
         inc(cant);
    end;
end;
Limpiar:=True;
end;  //end evento

procedure TForm2.FormCreate(Sender: TObject);
begin
Memo1.Text:='';
Image1.Canvas.Pen.Color:=Clblack;
Image1.Canvas.Brush.Color:=ClWhite;
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
end;

end.

Última edición por ecfisa fecha: 22-11-2012 a las 05:51:52. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Histograma en Delphi Cesar Junior Gráficos 10 05-07-2012 12:36:42
Histograma!! chinnamasta Gráficos 2 28-06-2012 23:02:47
Histograma madiazg Gráficos 4 06-07-2008 05:58:43
Histograma javikanin Varios 16 02-01-2006 23:40:17
Graph Meter (histograma) cadena Gráficos 0 01-12-2004 19:29:23


La franja horaria es GMT +2. Ahora son las 04:21:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi