Jak wstrzymać pętle aż do wykonania jakiegoś działania?

0

Mam pętle for. Instrukcje w niej wykonywane są trzy razy. Na ich podstawie są wyświetlane na dodatkowej Formie dane. Chciałbym aby do następnej pętli przeszło dopiero po kliknięciu Dalej. Początkowo używałem ShowModal. TO jednak wymagało zamknięcia formy, przez co było widoczne miganie. Teraz chciałbym aby po kliknięciu dalej po prostu zmieniały się dane wyświetlone na tej formie. Tylko jak zatrzymać wykonywanie pętli do kliknięcia przycisku umieszczonego na tej formie.

1

Pętle umieść w osobnych metodach, tak aby było możliwe wywołanie każdej z osobna; Następnie oprogramuj przycisk, tak aby po kliknięciu wywoływał odpowiednią metodę, w zależności od danej sytuacji;

W ten sposób robi się proste kreatory (np. instalatory/deinstalatory); Umieszcza na formie panele z zawartością, w pamięci trzyma indeks bieżącej strony; Przyciski Dalej i Cofnij oprogramowuje się tak, aby na podstawie indeksu bieżacej strony móc schować bieżący panel i pokazać następny/poprzedni;

Jeśli potrzebujesz zrobić coś w rodzaju kreatora to z chęcią pokażę Ci przykład implementacji opisanego sposobu; Ale później, jak skończę obierać ziemniaki.

0

A jakiś inny pomysł? W ten sposób muszę stworzyć kilka oddzielnych procedur, plus jeszcze jedną, w której będą instrukcje do wykonania już po pętli. Dodatkowo zmienne które były wewnątrz procedury muszę zmienić na globalne.

0

W ten sposób muszę stworzyć kilka oddzielnych procedur, plus jeszcze jedną, w której będą instrukcje do wykonania już po pętli.

A ile tych pętli masz? 200? Jeśli tylko kilka to nie widzę powodu, aby podzielić jeden zbiorczy kod na kilka metod;

Dodatkowo zmienne które były wewnątrz procedury muszę zmienić na globalne.

Nie musisz - jeśli mają być współdzielone w obrębie jednej klasy to możesz albo zadeklarować je jako pola klasy, albo użyć zmiennej lokalnej i podawać ją w parametrach do każdej z wydzielonych metod; Globalnych zmiennych używaj tylko wtedy, kiedy to konieczne.

0
dani17 napisał(a):

A jakiś inny pomysł? W ten sposób muszę stworzyć kilka oddzielnych procedur, plus jeszcze jedną, w której będą instrukcje do wykonania już po pętli. Dodatkowo zmienne które były wewnątrz procedury muszę zmienić na globalne.

Nie ma innego pomysłu. Jak @furious programming Ci pisze, że tak ma być, to jest to najlepszy sposób ;)

Zmienne globalne są dopuszczalne wewnątrz klasy. Najlepsza jest klasa, której metody wykorzystują jej wszystkie zmienne.

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