Běžící text v Pascalu

Kategorie >>Programování>> Běžící text v Pascalu


program ratt;
uses crt;
var text:string[20];
{kukni pouzivan jen 1 globalni promenou text:typu strng[20]=omezene vkladani
textu do 20 znaku kdyz daz bez[20] ma normalne 255 znaku=> zabira zbytecne moc
pameti kdyz vlozis nad 20 tak se zanky nad 20 nezapisi so promene samozdrejme
ze si za 20 muzes zvoli cislo od 1-255 ale 1 je zbytecna to je typ char v text[0]
 mas ulozenou skutecnou=dynamickou delku toho retezce}
{procedure=procedura je to jakysi maly novy program, ktery ma vyhodu ze se da
vyvolat kolikrat chces a nemusis to v hlavnim programu psat zbytecne x*krat pod
sebe slovo var pod procedurou ti nadefinuje lokalni promenou{kterou tam chces/
ta konci a neexistuje po skunceni procedury-vyhoda nezaseres si pamet a mas v tom
prehled}

procedure cursoroff;assembler;asm mov AH,$01;mov CH,1;mov CL,0;int 10h end;
procedure cursoron;assembler;asm mov AH,$01;mov CH,$06;mov CL,$07;int 10h end;
{ty cisla za procedure+nazev jsou parametry ktere potrebujes dovezt do procedury parametry
=jaka si cisla(napr. souradnice x odkud ma bezet text,nebo barva textu atd}
procedure ram(y1,y2,x1,x2:word;p,p2,b,b2:byte);
var i:word;
 begin
     textcolor(p);textbackground(b);
     gotoxy(x1,y1);write('É');gotoxy(x1,y2);write('Č');
     gotoxy(x2,y1);write('»');gotoxy(x2,y2);write('Ľ');
     for I:=(x1+1) to (x2-1) do begin gotoxy(i,y1);write('Í');end;
     for I:=(y1+1) to (y2-1) do begin gotoxy(x2,i);write('ş');end;
     for I:=(x1+1) to (x2-1) do begin gotoxy(i,y2);write('Í');end;
     for I:=(y1+1) to (y2-1) do begin gotoxy(x1,i);write('ş');end;
     textcolor(p2);textbackground(b2);
 end;
procedure bez(x,xm,y:byte;s:string;barva:byte;d:word);
var w,xp,i:byte;
begin
delay(1200);xp:=length(s);
if (length(s)>(xm-x))then exit;{to jen tak}
  cursoron;
  for i:=x to (xm-length(s)) do begin
                              gotoxy(i,y);
                              if (i<x+length(s)) then begin gotoxy(x,y);;
                                                      for w:=1 to (length(s)-xp+1)do write(s[xp+w-1]);
                                                      delay(d);dec(xp);
                                                      end;
                              if (i>=x+length(s)) then begin gotoxy(i-length(s)+1,y);write(s);
                                                             gotoxy(i-length(s),y);write(' ');
                                                             delay(d);
                                                         end;
                              if keypressed then exit;
                              end;

end;
begin clrscr;
gotoxy(10,10);write('Ratmane vloz text: ');readln(text);
clrscr;cursoroff;
ram(10,16,19,75,14,15,6,0);
bez(20,75,15,text,14,200)
{jo dal si mi pekne zabrat s timhle -pip- programem}
{koukni na to prolouskej si to pres F7 a prsty a kdyz nebudes
rozumet tak rekni a ja ti jednu vrazim (to za drzost) ne vysvetlim ti to
snad}
{jo a dodelej si aby se ti ten text zase schoval }


               {CAU}
                         {Copyright (c) 20.11.2001 21:30 by Martin M.}
end.






Vloženo: 08.01.2009 16:50
Přečteno:2253
Autor: Martin M.

Hlasů: 0 Hodnocení(jako ve škole): nehlasováno
 

Komentáře (0)

   -     Nový Komentář