Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Válasz:szöveg 2010 máj. 29 18:36 #525

  • dfeher
  • dfeher profilkép
  • Moderátor
  • Moderátor
  • Hozzászólások: 26
  • Köszönetek: 0
Egyrészt az előző hozzászólás 7 hónapja és 2 hete volt :), másrészt olyan, hogy Lazarus Pascal nem létezik. A Lazarus egy IDE a Free Pascal-hoz.

Kommentezni pedig a { és }, a (* és *), és a // szimbólumokkal, és ezek egymásba ágyazásával lehet Free Pascal-ban.

Lásd:

ftp://ftp.freepascal.org/pub/fpc/docs-pdf/ref.pdf

1. fejezet (Pascal Tokens)

Válasz:szöveg 2010 máj. 26 18:41 #523

  • Ádám
  • Ádám profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 2
  • Köszönetek: 0
Free és Lazarus Pascalban a // operátorral is lehet megjegyzést tenni, és talán a (* és a *) operátorokkal is de ebben nem vagyok biztos.


Ádám

Válasz:szöveg 2009 okt. 15 19:46 #390

  • kuka
  • kuka profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 3
  • Köszönetek: 0
sziasztok!
köszi szépen a megoldásokat :)

Válasz:szöveg 2009 okt. 15 08:51 #389

  • ejbenjaro
  • ejbenjaro profilkép
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 66
  • Köszönetek: 4
program Szures;
 
{$mode objfpc}{$H+}
 
var
  FBe,FKi : TextFile;
  c : Char;
begin
  AssignFile(FBe,'szures.pas');
  Reset(FBe);
  AssignFile(FKi,'vystup.pas');
  Rewrite(FKi);
  while not eof(FBe) do
  begin
   read(FBe,c);
   if c='{' then
   begin
     Read(FBe,c);
     while not (c='}') do
     begin
      Write(FKi,c);
      Read(FBe,c);
     end;
     Write(FKi,#10#13);
   end;
  end;
 closefile(FBe);
 closefile(FKi);
end.                         
Itt még annyit kellene megoldanod, hogy ha a saját forrásfájlját kell, hogy szűrje, akkor az If feltételben levő nyitó { jel, valamint a While-ban levő záró } jel ne legyen figyelembe véve.
Mottó:
"Az ember sokszor más mint aminek látszik. De ritkán jobb..."
--
Gép : Asus P5G41T-M LX, Intel Celeron DC E3400, 4GB DDR3, 320GB SATA2, minden más integrált.
OS : Ubuntu 14.04
--
web: lassuviz.blogspot.hu/

Válasz:szöveg 2009 okt. 13 18:53 #388

  • kuka
  • kuka profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 3
  • Köszönetek: 0
én kicsit másképp gondolkodtam .. de ez nem nagyon akar menni
unit du;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 
 
var
  Form1: TForm1; 
 
implementation
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
var
t1,t2:Textfile;
c:char;
 
begin
 assignfile(t1,'unit1.pas');
 reset(t1);
 
 assignfile(t2,'vystup.pas');
 rewrite(t2);
 
 while not eof(t1) do
  begin
   read(t1,c);
   if c='{' then
    begin
     while c<>'}' do
      begin
      c:=' ';
      end;
    end;
   write(t2,c);
  end;
 closefile(t1);
 closefile(t2);
 
end;
initialization
  {$I du.lrs}
 
end.

valakinek nincs 5lete?

Válasz:szöveg 2009 okt. 13 08:49 #387

  • Athomas
  • Athomas profilkép
  • Moderátor
  • Moderátor
  • Sör, virsli, Lazarus
  • Hozzászólások: 46
  • Köszönetek: 0
Szia!

Ez szerintem nem lazarus probléma, hanem pascal.
Egyszerűen írj egy funkciót, amin átfuttatod a szöveget, és közben figyeled a karaktereket. Ha a {-hoz érsz, nem adod hozzá a result-hoz addig, amíg a }-hoz érsz.
Egyszer csináltam ilyesmit, tanulmányozd:

//
Törli a kommenteket Source-bol
function StripComment(Symbol:string; Final:string; Source:string):string;
var l,index,Last,Count:integer;
begin
l:= Length(Source);
index:=0;
Last:=0;
repeat

if Source[index]= #39 then // string átugrása
repeat
inc(index); // addig növeli, amíg a string befejező karakterig ér
dec(l); // eggyel csökkenti l értékét (kiugrás ha l=0)
until Source[index]= #39; //chr(39)='

if Source[index]+Source[index+1]= Symbol then
begin //2
Last:= index;
repeat
inc(Last);
until Source[Last]+ Source[Last+1]= Final;
Count:= (Last+1)-index;
Delete(Source,index,Count+1);
index:=0;
l:= l-Count; // A törölt darab karakterszámának törlése
end; //2
inc(index);
dec(l); //
until l=0; // ha elfogyott a karakterszám, befejezés.
StripComment:= Source;
end;

szöveg 2009 okt. 13 05:44 #386

  • kuka
  • kuka profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 3
  • Köszönetek: 0
sziasztok!

nagyon megszorultam. van egy félkész programom, amit mára le kéne adnom de nem tudom mit kezdjek vele

azt kéne csinálnia, hogy beolvas egy unit.pas fájlt, leszedi rola a kommenteket és kiirja egy 2. pas fájlba.

azt nem nagyon tudom, hogy hogy szedi ki a {} közti részeket.

pls segitsetek.
elöre is köszönöm, Tomi.

u.i: 2hete tanulok lazarust

  • Oldal:
  • 1