Hallo Liebe Community,
ich bin mittlerweile beim Thema Textverarbeitung angekommen. Hier mein Code:
Delphi-Quellcode:
program Textverarbeitung;
{$APPTYPE CONSOLE} uses sysutils;
var textout,textin: Text;
ch: Char;
begin
Assignfile(textin,'test.in'); Assignfile(textout,'test.out');
RESET(textin); REWRITE(textout); //Anfang textin Erzeugt leeres textout
while not(eof(textin)) do //eof True wenn Dateiende
begin
if eoln(textin) then //eoln True wenn Zeilenende
begin
writeln(textout); //Schreibt eingelesene Zeile in textout?
readln(textin) //Liest nächste Zeile ein? Kein Semikolon?
end //Kein Semikolon?
else
begin
read(textin,ch); //Liest nächstes Zeichen aus textin, schreibt in ch?
write(textout,ch); //Schreibt Zeichen aus ch in textout?
end;
end;
CloseFile(textout); //Schließt textout
readln();
end.
Ich verstehe die Funktionsweise noch nicht ganz
Das Programm liest Text aus textin und schreibt ihn in textout. Funktioniert auch soweit.
Die Aufgabe lautet (falls ich den Code endlich genau verstehen würde):
- Es soll die Anzahl der Zeichen inkl. Leerzeichen gezählt werden
- Es soll die Anzahl der Worte gezählt werden
Ich habe jetzt schon einiges zum Thema Textverarbeitung gelesen auch hier im Forum, jedoch ist der Code da immer so fortgeschritten geschrieben das ich schon nicht mehr durchsteige. Procedure hier Procedure da
Meine Idee ist es die Anzahl von ch zu lesen die in textout geschrieben wird. ch in einen String zu schreiben und dann mit inttostr eine Integerzahl mit der Anzahl der geschriebenen Chars zu erzeugen. Klingt das soweit logisch?
Mit dem Zählen der Worte würde ich es dann ähnlich machen. Ich würde versuchen Wörter zu definieren als durch Leerzeichen (' ') oder Zeilenumbruch voneinander getrennte Strings. Macht das Sinn?
Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken. Vielen Dank für eure Mühe. Ich weiß das sehr zu schätzen!