mały problem w pascalu

Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

mały problem w pascalu

Post autor: Undre »

jak zwinnie i szybko zrobić taki numer, że jak mam wypisywanie powiedzmy w wierszach 60 argumentów i wartości f-kcji, to żeby za każdym razem jak ekran się zapełni, komp poczekał na jakąś reakcję i dopiero potem zapełniał dalej ?

nie wiem czy od tego jest jakaś funkcja czy nie ... próbowałem sobie ustawić taki licznik i robić readln; gdy reszta z dzielenia licznika przez max liczbe wierszy na ekranie ale to jest bez sensu bo ma wade i jest nieprofesjonalne ... a ja już nie moge ... 2 w nocy i koncepcji coraz mniej
marshal
Użytkownik
Użytkownik
Posty: 1179
Rejestracja: 21 cze 2004, o 00:51
Płeć: Mężczyzna
Lokalizacja: krk
Pomógł: 9 razy

mały problem w pascalu

Post autor: marshal »

zrob petle w petli
jedna while druga for
while bedzie zczytywac klawisz for bedzie robic 60 rundek
(juz nie pamietam dokladnie skladni pascala ale cos takiego chyba)
Hrabia
Użytkownik
Użytkownik
Posty: 55
Rejestracja: 27 lis 2004, o 22:24
Płeć: Mężczyzna
Lokalizacja: Hrabia is out there

mały problem w pascalu

Post autor: Hrabia »

Albo oczekuj na naciśnięcie dowolnego klawisza, gdy
nr_aktualnego_wiersza modulo ilosc_wierszy_na_ekranie = 0
.
Awatar użytkownika
lepton
Użytkownik
Użytkownik
Posty: 148
Rejestracja: 30 paź 2004, o 21:54
Płeć: Mężczyzna
Lokalizacja: k/Poznania
Podziękował: 1 raz
Pomógł: 14 razy

mały problem w pascalu

Post autor: lepton »

Przy zadeklarowanym module crt w uses, możesz korzustać z opcji

readkey;

która czeka na wciśnięcie dowolnego klawisza.
Lub też konkretnego klawisza, za pomocą zwykłej pętli:
-------------------
...
var kl:char;
...
begin
repeat

[instetrukcje}

kl:=readkey;
until ord(kl)=27;
end.
-------------------
Klawisz 27 to akurat ESC.

Można też przeciągnąć czas oczekiwania na zdarzenie się następnej instrukcji za pomacą instrukcji:

delay(i tutaj ilość czasu wzależności odprędkości komputera);

np.
delay(500);

Mam nadzieje, że to pomoże.
Yavien
Użytkownik
Użytkownik
Posty: 800
Rejestracja: 21 cze 2004, o 22:20
Płeć: Kobieta
Lokalizacja: W-U

mały problem w pascalu

Post autor: Yavien »

Jesli wyrzucasz wyniki programu w trybie DOS moze sie przydac takie cos:
komenda type nazwa.txt|more wypisuje na ekran zawartosc pliku nazwa.txt (dowolny tekstowy), zatrzymujac sie po zapelnieniu ekranu. I czeka na enter = nastepna linijka lub spacja=nastepny caly ekran albo f=jedz do samego konca, sprawdz sobie na jakims pliku *.log (logi sa dlugie) jak dzialaja rozne klawisze.
To jakos spod pascala mozna zrobic, po prostu drukowanie na ekranie trzeba poprzez ten programik more wykonac. I niepotrzebne sa petle zliczajace znaki w pascalu, programik robi to za Ciebie.
/sprzedaje jak kupilam z krotkiej rozmowy z ojcem /
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

mały problem w pascalu

Post autor: Undre »

de facto najzgrabniejszy był tu chyba patent który stosowałem przed tym pytaniem i który w odpowiedziach się pojawił ... tylko kwestia dopasowania linijek ... robiłem licznik który w pętli wzrastał o 1 i sprawdzalem warunek licznik mod 25 ... nie wiem czemu ale jakoś kichowo przy dużej liczbie wyników i zawsze na koniec wypisywania pojawiała się jakaś pusta linijka odstępu .... problem wyeliminowałem prosto w sumie ... za każdym razem w pętli wypisywałem linijkę nagłówka i zostawiałem linijkę na napis " wciśnij dalej, by kontynuować" czy coś takiego ... podejrzewam że problem z tym pustym wierszem wynikał z faktu że najpierw właśnie pojawiał się ten nagłówek ale nie był uwzględniony w pętli ...

dzięki za pomoc
Awatar użytkownika
lepton
Użytkownik
Użytkownik
Posty: 148
Rejestracja: 30 paź 2004, o 21:54
Płeć: Mężczyzna
Lokalizacja: k/Poznania
Podziękował: 1 raz
Pomógł: 14 razy

mały problem w pascalu

Post autor: lepton »

Undre a jaki program piszesz w którym chcesz to zastosować
ODPOWIEDZ