Laufschrift in Pascal

#1
Huhu

ich brauche für meine Studienarbeit ein Pascalprogramm um einen string (text) als Laufschrift zu sehen! Hat das jemand schonmal gemacht, bzw. jemand den Quellcode dafür??
 

Xpyder

Well-Known Member
c-b Experte
#2
Ja, ich programmiere in (Borland) Pascal (unter DOS).
Könnte so etwas machen. Wie genau soll es denn aussehen? Grafik? Textmode? Groß/klein? Farbig?
 
#4
Programmiere auch mit borland. Bin zurzeit neben meinem Studium in einer Firma die Gewächshaus Regelung macht und das läuft in pascal. Das muss ich lernen.
 
#5
aber leider findet man noch selten jemanden der sich damit auskennt!! hab schon ein paar kleine programme geschrieben, aber leider immer mit hilfe! wäre schön wenn du mir helfen könntest!!
 

Xpyder

Well-Known Member
c-b Experte
#6
Ich kenne mich mit Borland Pascal sehr gut aus. Ich programmiere auch aktuell noch darin (Pascal und Assembler).
Also wenn es einfach ne Textmode-Laufschrift sein soll, das ginge bereits extrem simpel.
Ich nehme an, es soll auf einem x86-Rechner (also PC) laufen?
Da ist meine Seite, alles selbstprogrammiert. Alles in Pascal (und teilweise Assembler).
http://www.imperial-games.de
 

Xpyder

Well-Known Member
c-b Experte
#9
Hallo,

weil Du sagtest "Textmode", habe ich mal etwas ganz billiges gemacht.
So kannst Du erstmal sehen, "wohin die Reise geht".
Gib am Anfang einfach eine Zeile ein, dann Enter.
Dann "scrollt" das ganze Ding mit ca. 9,1 Zeichen pro Sekunde.
Dies kann man mit dem Wert in tick ändern.
Ich benutze keine Units, keine Modi-änderungen, keine Farben - nur ganz normales Borland-Pascal.
Es läuft natürlich nur unter x86-kompatiblen PCs, da die entsprechenden BIOS-Adressen für den Ticker und den Head/Tail des Tastatur-Ringpuffers natürlich nur auf einem PC gelten.

Pascal:
program TextBand;
const tick=2;
var A:string;LA:byte absolute A;Ax:boolean absolute A;
    B:string;LB:byte absolute B;
    T:byte absolute 64:108;
    U,I:byte;
    Head:word absolute 64:28;
    Tail:word absolute 64:26;
begin
writeln('Input string to display:');
readln(A);
if Ax then
   begin
   LB:=0;
   while (LB<(79+LA)) do B:=B+A;
   I:=1;
   Tail:=Head;
     repeat
     U:=T+tick;
     write(#13,copy(B,I,79));
     if I<LA then inc(I) else I:=1;
     while (U<>T) and (Head=Tail) do;
     until (Head<>Tail);
   writeln; Tail:=Head;
   end
else
   writeln('empty string');
end.
Allerdings... Thema: "Studienarbeit"... Also ich hoffe, Laufschrift in Textmode in Pascal ist nicht das einzige, was man heutzutage leisten können muß, um studieren zu dürfen...
 
Zuletzt bearbeitet von einem Moderator:
#11
Pascal:
PROGRAM lauf;
USES Crt;
VAR text1,text2:string;
        i,j,v: integer;
        r:char;
BEGIN
  ClrScr;
 
  readln (text1);
  Write ('Geben Sie die Laufgeschwindigkeit: ');
  readln (v);
  write ('In welche Richtung soll der Text lauft? r=rechts und l=links')
  readln (r);
  j:=0;
repeat
  ClrScr;                      {Bild l”schen}
  text2 := '';                  {String leeren}

  for i := 0 to j do
     
      text2:=(' '+text2 );
     
  text2:=text2+text1;                  {String basteln}
  write (text2);                {String ausgeben}
    delay(v);                      {warten ( in ms)}
  inc(j);
  if j = 80 - length(text1) then
      j:=0;
     
until keypressed;                  {wiederholen bis taste gedrckt}
END.
Das hab ich zurzeit, guck dir das mal an!! was denkst du darüber?
 

Xpyder

Well-Known Member
c-b Experte
#13
Ja, manche Leute wollen ihn halt "wiederholend". Dann muß man nur einfach die "Aufaddierung" durch A durch Leerzeichen ersetzen, bis der String die gewünschte Länge hat. Es war ja nur ein (primitives Mini-) Beispiel, das man natürlich modifizieren kann.
Ich würde das heutzutage auch NIE SO programmieren. (Ich würde es z.B. direkt in den Bildschirmspeicher schreiben, Farben ermöglichen und selbst im Textmode könnte man die Buchstaben "aus größeren Zeichen zusammensetzen". Ich habe all so Zeug hier schon gemacht...)
Wenn Du mal etwas sehen willst, das ich - (fast) ausschließlich in Pascal gemacht habe (ist auch schon alt und ruckelt), aber einen Scrolltext hat, dann lade Dir von meiner Seite doch mal dieses "SPIN2" oder wie es heißt aus der DOS / DEMOS Sektion runter.
 
Oben