Új hozzászólás Aktív témák

  • N!tRo

    tag

    válasz alitak #1300 üzenetére

    Hali!
    Ha minden igaz, ez az az ominózus rész, amiből problémák adódtak:


    repeat
    oe:=o;
    while ( keypressed) do readkey;
    jel := readkey;
    if ( jel = #0) then jel := readkey;
    if jel=#80 then o:=o+1;{fel}
    if jel=#72 then o:=o-1;{le}
    if jel=#27 then exit; {esc}
    if o=0 then o:=n; {tulhaladas}
    if o=n+1 then o:=1; {vedelem}
    if (jel=#72) or (jel=#80) then begin
    textbackground(white);gotoxy(2,y+oe);write(lehet[oe]);{elozo atfestese}
    textbackground(blue);gotoxy(2,y+o);write(lehet[o]);{uj atirasa}
    end;
    until (jel=#13) or (jel=#27);
    if jel=#27 then begin szoveg:='';exit;end;{kilep a menube,esc}
    if jel=#13 then{enter}
    case o of
    1:fej:=lehetfej[o];
    2:fej:=lehetfej[o];
    3:fej:=lehetfej[o];
    4:fej:=lehetfej[o];
    5:fej:=lehetfej[o];
    end;
    szoveg:='';reset(fajl2);
    end;



    Átírtam egy két dolgot, csak azért hogy jobban átlátható legyen, de lehet hogy a feltételezett hibát is kijavítottam ezzel, kérlek teszteld le, nekem nincs rá most lehetőségem, meg őszintén, megnéztem a progidat, nagyon szétszórt az egész. De ha te átlátod no problem :)
    Szóval szerintem így:


    while (keypressed) do readkey;
    jel:= readkey; if jel = #0 then jel:=readkey;
    repeat
    oe:=o;

    case jel of
    #80: begin
    o:=o+1; {fel}
    textbackground(white); gotoxy(2,y+oe); write(lehet[oe]); {elozo atfestese}
    textbackground(blue); gotoxy(2,y+o); write(lehet[o]); {uj atirasa}
    end;
    #72: begin
    o:=o-1; {le}
    textbackground(white); gotoxy(2,y+oe); write(lehet[oe]); {elozo atfestese}
    textbackground(blue); gotoxy(2,y+o); write(lehet[o]); {uj atirasa}
    end;
    { ezt itt nem ertem, itt is exit, meg par sorral lejjebb is??? kell ez ide???
    nem lenne jobb ha until utan van csak exit? szerintem torold ezt a sort, de te tudod }

    #27: exit; {esc}
    end;

    if o=0 then o:=n; {tulhaladas}
    if o=n+1 then o:=1; {vedelem}

    until (jel=#13) or (jel=#27);
    case jel of
    { ide se kell a szoveg:='' mert par sorral lejjebb mindenkepp vegrehajtodik ez a parancs
    vagy tedd az until utan rogton hogy szoveg:='', szerintem }

    #27: begin szoveg:=''; exit; end; {kilep a menube,esc}
    #13: case o of
    1..5: fej:=lehetfej[o];
    end;
    end;
    szoveg:=''; reset(fajl2);
    end;



    Üdv: Attila
    ui.: remélem tudtam segíteni :)



    [Szerkesztve]

    [Szerkesztve]

Új hozzászólás Aktív témák