home bbs files messages ]

Just a sample of the Echomail archive

<< oldest | < older | list | newer > | newest >> ]

 Message 257 
 Joseph Larsen to All 
 FPC Oneliners. 
 05 Jun 16 09:30:42 
 
Here's some code i'm having problems with. For some reason it takes two
presses of the down arrow key to get the bot_bar procedure.

--//--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;


//### begin show procedure ######################################

Procedure show;

var Count : byte;

Begin
//  clrscr;
  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

//### end show procedure ########################################
//### begin init procedure ######################################

Procedure init;

Var f1 : textfile;
var Count : byte;

Begin
//  GetThisUser;
  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

//### begin bot_bar procedure ###################################

Procedure bot_bar;

Begin
  printf('onen.ans');
  Ch2 := ReadKey;
  If Ch2 = #13 then Begin
    exit;
  End;
  show;
End; // bot_bar

//### end bot_bar procedure #####################################
//### begin top_bar procedure ###################################

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

//### end top_bar procedure #####################################
//### begin position procedure ##################################

Procedure position;

Begin
  show;

  Repeat
  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;

//### end position procedure ####################################

Begin
  init;
  Position;
End;
--//--snip----------

If someone could give me an idea of what's wrong, i'd appreciate it.

Thank you,


|09ignatius |07(|15cia|07)

--- DayDream BBS/UNIX (Linux) 2.15a
 * Origin: catch22bbs.com >>>  >> > (1:340/800)

<< oldest | < older | list | newer > | newest >> ]

(c) 1994,  bbs@darkrealms.ca