AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Beginner: Textverarbeitung

Ein Thema von jdiephaus · begonnen am 30. Nov 2016 · letzter Beitrag vom 1. Dez 2016
 
jdiephaus

Registriert seit: 29. Nov 2016
15 Beiträge
 
#8

AW: Beginner: Textverarbeitung

  Alt 30. Nov 2016, 16:07
Delphi-Quellcode:
program Textverarbeitung;
{$APPTYPE CONSOLE} uses sysutils;
var textout,textin: Text;
    ch: Char;
    AnzZeichen: Integer;
    AnzWort: Integer;
begin
  Assignfile(textin,'test.in');
  Assignfile(textout,'test.out');
  RESET(textin); // Datei textin öffnen
  REWRITE(textout); // Datei textout zum überschreiben öffnen
  AnzZeichen:=0; // Startwert AnzZeichen
  AnzWort:=0; // Startwert AnzWort
  while not(eof(textin)) do // eof True wenn Dateiende
  begin
    if eoln(textin) then // eoln True wenn Zeilenende
    begin
      writeln(textout); // Schreibt <cr><lf> in die textout Datei
      readln(textin); // Liest <cr><lf> aus der textin Datei (und verwirft es)
    end
    else
    begin
      read(textin,ch); // Liest ein Zeichen aus der textin - Datei
      write(textout,ch); // Schreibt das soeben gelesene Zeichen in die textout - Datei
       Inc(AnzZeichen,1); // Zählt die Anzahl der Zeichen inkl. Leerzeichen
       If eoln(textin) then
          Inc(AnzWort,1); // Zählt die Anzahl der Zeilenumbrüche
       If ch=' then
          Inc(AnzWort,1); // Zählt die Anzahl der Leerzeichen
    end;
  end;
  CloseFile(textout); //Schließt textout
  CloseFile(textin); //Schließt textin
  writeln('Anzahl der Zeichen: ',AnzZeichen); // Gibt Anzahl der Zeichen aus
  writeln('Anzahl der Worte: ',AnzWort); // Gibt Anzahl der Worte aus
  readln();
end.
Vielen Dank Whookie für diese ausführliche und hilfreiche Antwort. Jetzt bin ich schon etwas schlauer.
Wie muss ich es genau verstehen, dass writeln(textout) cr und lf schreibt und readln(textin) cr und lf ausliest und verwirft? Fungiert die Funktion als Indikator in welcher Zeile man sich gerade befindet?
Wie kann ich in einem If Statement zwei Faktoren prüfen lassen bevor ich z.B. AnzWort erhöhe? Meine Lösung ist ziemlich unschön.

Geändert von jdiephaus (30. Nov 2016 um 16:24 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz