Just a sample of the Echomail archive
Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.
|    PASCAL_LESSONS    |    Pascal Programming Lessons    |    361 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 237 of 361    |
|    joseph larsen to All    |
|    Some code i'm having problems with.    |
|    13 Feb 16 00:50:10    |
   
   Here's some code. The problem is that I have to press the down arrow key   
   twice before it executes the "bot_bar" procedure. If anyone could help, or   
   take a look at it, i'd appreciate it.   
      
   --//--snip-------------------------   
      
   procedure oneliners;   
      
   var Twriters : array[1..10] of string;   
   var Toneliner : array[1..10] of string;   
   var S : string;   
   var Foneline : string;   
   var Ch1 : char;   
   var Ch2 : char;   
   var Ch3 : char;   
   var Count : byte;   
   var Count2 : byte;   
      
      
      
   Procedure show;   
      
   var Count : byte;   
      
   Begin   
      
    printf('oneh.ans');   
    For Count := 1 To 10 Do Begin;   
    write('^[[1;37m+ ^[[0;37m');   
    write(Twriters[Count]);   
    write('^[[1;30m: ^[[0;37m');   
    WriteLn(Toneliner[Count]);   
    End;   
   End; // show   
      
   Procedure init;   
      
   Var f1 : textfile;   
   var Count : byte;   
      
   Begin   
    fOneLine := ('/home/imp/imp/data/oneliner.lst');   
    If Not fileExists(fOneLine) Then Begin   
    Assign(f1, fOneLine);   
    ReWrite(f1);   
    For Count := 1 To 10 Do Begin   
    WriteLn(f1,'Ia! Cthulhu!');   
    WriteLn(f1,'IGNATIUS');   
    End;   
    Close(f1);   
    End;   
      
    Assign(f1, fOneLine);   
    Reset(f1);   
    If IoResult = 0 Then Begin   
    For Count := 1 To 10 Do Begin   
    ReadLn(f1, Toneliner[Count]);   
    ReadLn(f1, Twriters[Count]);   
    End;   
    Close(f1);   
    End;   
   End; // Init   
      
   Procedure bot_bar;   
   Begin   
    printf('onen.ans');   
    Ch2 := ReadKey;   
    If Ch2 = #13 then Begin   
    exit;   
    End;   
    show;   
   End; // bot_bar   
      
   Procedure top_bar;   
      
   Var f1 : textfile;   
   var Count : byte;   
   var ch3 : char;   
      
      
   Begin   
    printf('oney.ans');   
    Ch3 := ReadKey;   
    If Ch3 = #13 then Begin   
    printf('oneline.asc');   
    Write('^[[3;3H');   
    inputl(s,70);   
    If s = '' then Begin   
    WriteLn('^[[1;30maborted^[[0;37m');   
    show;   
    Exit;   
    End;   
    For Count := 1 To 9 Do Begin   
    Count2 := Count + 1;   
    Toneliner[Count] := Toneliner[Count2];   
    Twriters[Count] := Twriters[Count2];   
    End;   
      
    tWriters[10]:=thisuser.name;   
    tOneliner[10] := s;   
      
    Assign(f1, fOneLine);   
    ReWrite(f1);   
    For Count := 1 To 10 do Begin   
    WriteLn(f1,tOneliner[Count]);   
    WriteLn(f1,tWriters[Count]);   
    End;   
    Close(f1);   
    End;   
    show;   
   End; // top_bar   
      
   Procedure position;   
      
   Begin   
    show;   
    Repeat   
    printf('onen.ans');   
    ch1:=ReadKey;   
    case ch1 of   
    #0 : begin   
    ch1:=ReadKey;   
    case ch1 of   
    #80 : bot_bar;   
    #72 : top_bar;   
    end;   
    end;   
    end;   
    until ch1=#13   
   end;   
      
   Begin   
    init;   
    Position;   
   End;   
      
   --//--snip------------------------   
      
   Thanks,   
      
   |09ignatius |07[|15cia|07]   
      
   --- Mystic BBS v1.11 (Linux)   
    * Origin: catch22bbs.com >>> >> > (1:340/800)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca