Programowanie w języku Delphi

Writeln

Writeln
Moduł: System

procedure WriteLn([ var F: Text; ] P1 [, P2, ...,Pn ] );

Procedura ta zapisuje do pliku tekstowego lub wypisuje na standardowe wyjście każdy z parametrów dodając na końcu znak nowej linii.

program Foo;
 
{$APPTYPE CONSOLE}
 
var
  F: TextFile;
 
begin
  AssignFile(F, 'plik.txt'); // otwieramy plik (tekstowy -> zmienna TextFile)
  ReWrite(F); // plik otwarty do zapisu
  WriteLn(F, 'linijka zapisana do pliku'); // zapisujemy linijkę do pliku 
  CloseFile(F); // zamykamy plik
  Readln;
end. 


Jeżeli parametr F zostanie pominięty, tekst zostanie wypisany na ekranie konsoli.
Procedura WriteLn może przyjąć dowolną liczbę parametrów (lub może nie przyjąć żadnego: wtedy po prostu wypisze znak nowej linii, nic więcej).

program Foo;
 
{$APPTYPE CONSOLE}
 
var
  Name: String;
 
begin
  Write('Podaj swoje imię: '); // wyświetlamy komunikat bez znaku nowej linii
  Readln(Name); // czytamy dane z klawiatury i umieszczamy je w zmiennej 'Name'
  WriteLn('Witaj ', Name, '; jestem Twoim komputerem!');
  WriteLn('Naciśnij Enter, aby zakończyć');
  Readln; // czekamy na naciśnięcie klawisza enter
end. 

Spójrz na linię 11. Wartość zmiennej Name została wstawiona pomiędzy łańcuch podzielony operatorem , (przecinkiem).

Można tę linię przekształcić w ten sposób:

WriteLn('Witaj ' + Name + ' jestem Twoim komputerem!');

Efekt będzie ten sam, lecz w przypadku korzystania z operatora przecinka możemy przekazać nie tylko ciągi znaków, lecz również typy liczbowe (zarówno całkowite, jak i zmiennoprzecinkowe) oraz typy wyliczeniowe.

Var A: Integer;
    B: Single;
    C: (Enum0, Enum1, Enum2) = Enum2;
Begin
 Readln(A);
 Readln(B); 
 
 Writeln('A = ', A);
 Writeln('B = ', B);
 Writeln('A*B = ', A*B);
 Writeln(C);
End;


Zobacz też:

3 komentarze

Patryk27 2013-11-03 15:14

@mdg: Type TextFile = Text; w każdym razie we FPC.

Brak avatara
mdg 2013-11-03 15:10

Czy parametr F nie jest raczej typu TextFile?

Adam Boduch 2013-08-29 23:00

Dzieki za sprecyzowanie tego artykulu :)