Pascal, wejscie

0

Witam. Mam pytanie odnośnie wejścia, chcę ograniczyć możliwą ilość wpisanych znaków do 6. Ma ktoś jakiś pomysł?

0

Hmm.. może tekst:string[6] ?

0

Pasowałoby lecz używam tej zmiennej 2 razy, więc ograniczenie potrzebuje przed samym readln:/

0
rachuba21 napisał(a)

chcę ograniczyć możliwą ilość wpisanych znaków do 6

Możesz to zrobić trochę inaczej niż kolega wyżej napisał; W pętli pobieraj pojedynczy znak aż do wciśnięcia klawisza Enter; Pobierając znak wstawiaj go do łańcucha ale tylko wtedy, gdy łańcuch zawiera mniej niż 6 znaków (przyda się zmienna pomocnicza); Jeśli użytkownik naciśnie klawisz Backspace - kasuj ostatni znak (oczywiście tylko wtedy, gdy łańcuch ma co najmniej jeden znak); W ten sposób możesz kontrolować nie tylko długość łańcucha, ale także jego zawartość (wystarczy po wciśnięciu klawisza sprawdzić jego wartość i tylko jeśli spełnia wymagania dodać go do łańcucha);

0

No rozumiem, rozumiem. Trochę długi sposób. Przetestuje jak to będzie działać.

Edit:
A może w inny sposób, w longint gdy wpisze się za dużą ilość znaków wywala błąd, mam zrobioną pętle by sprawdzało czy liczba jest mniejsza od 240000, działa to do pewnego momentu, gdy liczba ma zbyt wiele znaków wywala błąd zamiast wyświetlać komunikat.

0
rachuba21 napisał(a)

Trochę długi sposób. Przetestuje jak to będzie działać.

Długi? Długi byłby jakby miał 1000 linii kodu, a wystarczą ok. 50;

Jeśli napiszesz to w sposób, jaki Ci podałem we wcześniejszym poście będziesz miał z tego algorytmu wiele korzyści:

  • ograniczysz ilość wprowadzanych znaków do własnej ilości,
  • ograniczenie będzie wykonywane przed wciśnięciem klawisza Enter, więc nie będziesz musiał obsługiwać wyjątków (nie programowych, własnych) dla podania złej wartości,
  • osiągniesz pełną kontrolę nad wprowadzanymi znakami i będziesz mógł je filtrować (odrzucać niepoprawne);
    Ten sposób wcale nie jest trudny, wiele linii oraz zmiennych nie będziesz musiał pisać / używać stąd sposób wydaje mi się bardzo dobry; Zastanów się nad tym i przetestuj - później oceniaj;

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0