procedura lub funkcja-i BitBtn lub button

0

Jak sprawić aby funkcja lub procedura gdy dojdzie do pewnego momentu to bedzie czekać na nacisniecie przycisku np. button i po jego wybraniu zacznie dalej działanie?

0

Nie tak, nie tak!!

Dzielisz procedurę na dwie części.
Druga wykonywana jest jako obsługa zdarzenia "naciśnięcie przycisku".

Należy tylko zapewnić dostęp do danych z tej drugiej części procedury.

0

a ja mysle BartekG, że nie ma co negować pomysłow, których samemu się nie stosuje. Twoje rozwiazanie jest to jakies rozwiazanie, ale na przyklad w sytuacji gdy jest to duza funkcja operujaca duza liczba wlasnch lokalnych zmienych to wtedy wszytskie te zmienne trzeba by uczynic globalnymi albo przekazywac je przez stos a na dodatek jesli chcialoby sie uzalezniac dzialanie tej funkcji nie tylko od jednego klikniecia w trakcie jej dzialania ale od wielu to juz lipka. A to o co pyta mocarnik mozna zrobic badzo prosto.

var: jechac:boolean;

function funkcjazprzerwamiwdzialaniu;
begin
jechac:=false;
//jakis kod

repeat
application.procesmessages;

  • tutaj jeszcze zeby nie obciazac zbytnio procesora wyknywaniem w kolko *tej petli mozna jeszcze dac jakies sleep() ale nie mam pewnosci
    until jechac

//dalszy kod
end;

procedure button2click(sender:Tobject);
begin
jechac:=true;
end;

Nie sprawdzalem tego kodu ale wydaje mi sie ze powinien dzialac
i powinien robic to o co Ci chodzi mocarnik.

0

Cytat:
a ja mysle BartekG, że nie ma co negować pomysłow, których samemu się nie stosuje.

Oczywiście, że można.
Nie mówie kategorycznie "nie".
Też podobne rozwiązania wcześniej stosowałem w sytuacji, gdy procedura wykonywała dużo "ciężkich" zadań.

Chodzi mi jedynie, że w obiektowym Pascalu trochę inna koncepcja programowania istniej.
Chociażby w tym przypadku, gdy podczas wykonywania złożonego zadania należy zapytać o coś i uzależnić sposób wykonania dalszych zadań od odpowiedzi (a chyba o to chodi) myślę, że najlepiej stosować konstrukcję:

FormPytanie.ShowModal...

Czyż nie?!

0

myślę, że najlepiej stosować konstrukcję:

FormPytanie.ShowModal...

Czyż nie?!</quote>

Koncepcją mojego programu jest nieużywanie zadnych okienek. Zmiany sa wyświetlane np z labelach(pytania itp, inne informacje). Pojawiaja sie przyciski wyboru w danym potrzebnym momencie. I to one wpływaja na zachowanie się procedur.

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