175
« am: 15. Januar 2011, 17:23:32 »
Fehler gefunden
:Der Quellcode:
:
:program suchen;
:uses crt,sysutils;
:
:const n='aufgabe.tex';
:var a:text;
:
:
:{Auslesen der Dateien und schreiben in neue Datei}
:
:procedure lesen(d:string);
:var f:text;
: c,s:string;
: b:boolean;
:begin
: b:=false;
: assignfile(f,d);
: {$i-} reset(f);
: if ioresult=0 then
: begin
: while not eof(f) do
: begin
: readln(f,c);
: while length(c)>0 do
: begin
: if pos(#10,c)>0
: then
: begin
: s:=copy(c,1,pos(#10,c));
: delete(c,1,pos(#10,c));
: end
: else
: begin
: s:=copy(c,1,length(c));
: delete(c,1,length(c));
: end;
: if length(s)>0 then
: begin
: if (b) and (pos('\end{hmaufgabe}',s)=0) then
:writeln(a,s);
: if (((not b) and (pos(paramstr(1),s)>0))
: OR ((not b) and (pos(paramstr(2),s)>0))
: OR ((not b) and (pos(paramstr(3),s)>0))
: OR ((not b) and (pos(paramstr(4),s)>0))
: OR ((not b) and (pos(paramstr(5),s)>0))) then
: begin
: b:=true;
: writeln(a,'\item');
: end;
: if (pos('\end{hmaufgabe}',s)>0) then b:=false;
: end;
: end;
: end;
: closefile(f); {$i+}
: end;
:end;
:
:{Suchen der Labels}
:
:procedure suche(s,t:string);
:var r :integer;
: p :tsearchrec;
:begin
:
:r:=findfirst(s+t,faanyfile,p);
:while (r=0) do
: begin
: if ((p.attr<>32) and
: (p.name[1]<>'.')) then suche(s+p.name+'/',t)
: else
: begin
: if (p.name[1]<>'.') and
: (extractfileext(p.name)='.tex')
:then lesen(s+p.name);
: end;
: r:=findnext(p);
: end;
:findclose(p);
:
:end;
:
:
:{Header-Datei kopieren}
:
:procedure dateikopie;
:var lesen:string;
:var quelle,ziel:text;
:const quelldat='header.tex';
:const zieldat='aufgabe.tex';
:
: begin
:
: assign(quelle,quelldat);
: assign(ziel,zieldat);
: reset(quelle);
: rewrite(ziel);
: while not eof(quelle) do begin
: readln(quelle,lesen);
: writeln(ziel,lesen);
: end;
:
: close(quelle);
: close(ziel);
:end;
:
:
:{Hauptprogramm}
:
:begin
:
: clrscr;
:
: if paramstr(1)<>'' then
: begin
: dateikopie;
:
: writeln('> Header-Datei kopiert
:...');
:
: assign(a,n);
: append(a);
: suche('./','*.*');
:
: writeln('> Suche im aktuellen
:Verzeichnis ...');
: writeln('> Elemente werden in
:"aufgabe.tex" gespeichert...');
:
: writeln(a,'\end{enumerate}');
: writeln(a,'\end{document}');
: close(a);
: end
: else writeln('> Kein Parameter
:angegeben!');
:
: writeln('> Ende');
: writeln;
:
:end.