Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#15

AW: Beginner: Textverarbeitung

  Alt 1. Dez 2016, 08:20
Was mir aufgefallen ist: In sText dürften nachher die Zeilenumbrüche fehlen? Als folge sind das Wort am Ende einer Zeile und das am Anfang der nächsten Zeile evtl. zusammengeschrieben? Evtl. Lösung:

Delphi-Quellcode:
if eoln(textin) then // eoln True wenn Zeilenende
  begin
  writeln(textout); // Schreibt ganze Zeile in textout. Zeilenende wird automatisch angefügt.
  readln(textin); // Liest ganze Zeile aus textin. Zeilenende wird automatisch verworfen.
  sText:=sText+CHR(13)+CHR(10); // Zeilenumbruch hinzufügen. Kann auch 10 13 sein, kann mir das nie merken.
  end
Und dann sei noch die Bemerkung erlaubt, dass der Code jetzt eine Länge ereicht hat, bei dem man evtl. überlegen sollte Teile in eine Unterfunktion auszulagern, z.B.:

Delphi-Quellcode:
function ErsetzeUmlaute(ch:Char):String;
var sZeichen:String;
begin
  Case ch of
    #196:sZeichen:='Ae'; // Ä
    #214:sZeichen:='Oe'; // Ö
    #220:sZeichen:='Ue'; // Ü
    #228:sZeichen:='ae'; // ä
    #246:sZeichen:='oe'; // ö
    #252:sZeichen:='ue'; // ü
    #223:sZeichen:='ss'; // ß
  else
    sZeichen:=ch;
  end;
  Result:=sZeichen;
end;

//Dann in der Hauptfunktion:
//...
  read(textin,ch);
  sZeichen:=ErsetzeUmlaute(ch);
  sText:=sText+sZeichen;
  write(textout,sZeichen);
//...
Ralph

Geändert von Jumpy ( 1. Dez 2016 um 08:23 Uhr)
  Mit Zitat antworten Zitat