segunda-feira, 6 de julho de 2020

Programando em Delphi/Pascal com Lazarus


O que é o "Lazarus"? Segundo seus criadores:

Lazarus é uma IDE para criar aplicações gráficas e console com o Free Pascal. Free Pascal é um compilador Pascal e Object Pascal que roda em Windows, Linux, Mac OS X, FreeBSD e mais.

Lazarus é a peça que falta do quebra-cabeças que irá permitir a você desenvolver programas para todas as plataformas citadas em um ambiente semelhante ao Delphi. A IDE é uma ferramenta RAD que inclui um editor de formulários.

Na medida que o Lazarus evolui nós precisamos de mais desenvolvedores.

Um exemplo simples: contando o número de caracteres em um arquivo texto.


Código principal:

unit abreunit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TAGraph,
  TASeries;

type

  { TForm1 }

  TForm1 = class(TForm)
    Chart1: TChart;
    Chart1BarSeries1: TBarSeries;
    Edit1: TEdit;
    Edit2: TEdit;
    OpenDialog1: TOpenDialog;
    ToggleBox1: TToggleBox;
    procedure ToggleBox1Change(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.ToggleBox1Change(Sender: TObject);
Var
 arq : String;
 myFile : TextFile;
 texto   : string;
 pos, k, t : Integer;
 vc : array[1..255] of Integer;
begin

if opendialog1.Execute
then arq := opendialog1.FileName;
Edit1.Text := Arq;
AssignFile(myFile, Arq);
Reset(myFile);

for k := 1 to 255 do vc[k] := 0;
t := 0; pos := 0; k := 0;
while not Eof(myFile) do
begin
  ReadLn(myFile, texto);
  t := Length(texto);
  if t>0 then
  for k :=1 to t do
  begin
    pos := ord(texto[k]);
    vc[pos] := vc[pos] + 1;
  end;
end;

// Close the file for the last time
CloseFile(myFile);
pos := 0;
for k := 1 to 255 do
  begin
    pos := pos + vc[k];
    Chart1BarSeries1.AddXY(k, vc[k]);
  end;
Edit2.Text:= 'Total de caracteres: ' + IntToStr(pos);
end;

end.


Nenhum comentário:

Postar um comentário