1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Laufschrift in Pascal

Dieses Thema im Forum "Pascal" wurde erstellt von Aldi83, 10. April 2014.

  1. Aldi83

    Aldi83 New Member

    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??
  2. Xpyder

    Xpyder Active Member c-b Experte

    Ja, ich programmiere in (Borland) Pascal (unter DOS).
    Könnte so etwas machen. Wie genau soll es denn aussehen? Grafik? Textmode? Groß/klein? Farbig?
  3. Aldi83

    Aldi83 New Member

    In textform.
  4. Aldi83

    Aldi83 New Member

    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. Aldi83

    Aldi83 New Member

    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!!
  6. Xpyder

    Xpyder Active Member c-b Experte

    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
  7. Aldi83

    Aldi83 New Member

    ich bräuchte da noch einige hilfe!! wäre schön wenn du mir helfen könntest!
  8. gargyle

    gargyle Well-Known Member c-b Experte

    Was hast du denn schon ?
  9. Xpyder

    Xpyder Active Member c-b Experte

    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.

    Code:
    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 von einem Moderator bearbeitet: 15. April 2014
  10. Aldi83

    Aldi83 New Member

    natürlich nicht, ich bin noch am anfang :)
  11. Aldi83

    Aldi83 New Member

    Code:
    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?
  12. Aldi83

    Aldi83 New Member

    bei deinem quelltext ist der text aneinandergereiht, brauche ihn nur einmal!! :)
  13. Xpyder

    Xpyder Active Member c-b Experte

    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.