<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=66&amp;t=23715&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-04-11T21:33:52+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=66&amp;t=23715&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-11T21:33:52+01:00</updated>
<published>2021-04-11T21:33:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231937#p231937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231937#p231937"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231937#p231937"><![CDATA[
<div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br />A co z przypisaniem jednej metody do kilku zdarzeń (jak proponuje kolega auers)? Przykładowo, mam program w którym mam klawiaturę numeryczną i po kliknięciu w przycisk jego wartość wyświetla się w jakimś okienku. Lepiej napisać 10 metod, w których każda będzie działać tak samo, czy przypisać jedną metodę do wszystkich przycisków i w niej wykrywać, który przycisk jest wciśnięty? I czy po zmianie nazwy metody w pliku programu nie zmieni się jej nazwa w zdarzeniach, do których jest przypisana?<br /></div><br />Ale kolega auers dobrze napisał bo podmiana metod to całkiem co innego niż to co tu Sylwek jakby próbuje robić, więc to co piszesz tutaj jest ok.<br /><br /><div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br />I czy dobrym zwyczajem jest tworzenie takich konstrukcji<br /></div><br />Ale tu już pełna dowolność, kreatywność i własne pomysły - są jak najbardziej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />gdzie można skonfigurować okienko wywoływane przez ShowMessage? Jest trochę za duże i chciałbym go nieco zwęzić<br /></div><br />To jest okienko wywoływane z API, takie najbardziej standardowe i nie ma co tam zawężać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale jeśli chce ci się rzeźbić to zawsze można tworzyć swoje własne okienka informacyjne jako oddzielne formy w aplikacji. Tyle że dla standardowych i krótkich komunikatów szybko sam z tego zrezygnujesz. <br /><br />Można nieco konfigurować takie okienka np w ten sposób o ile dobrze pamiętam z głowy:<br /><br />[syntax=delphi]var<br />  flag: integer = MB_OK + MB_ICONINFORMATION): integer;<br /><br />  Application.MessageBox( PChar(moje_info), PChar(caption), flag );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2021, o 21:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[auers]]></name></author>
<updated>2021-04-11T21:09:36+01:00</updated>
<published>2021-04-11T21:09:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231934#p231934</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231934#p231934"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231934#p231934"><![CDATA[
<div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br />I czy po zmianie nazwy metody w pliku programu nie zmieni się jej nazwa w zdarzeniach, do których jest przypisana?<br /></div><br />Niestety sama z automatu się nie zmienia, trzeba wszystkie zdarzenia przeklikać ręcznie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7806">auers</a> — 11 kwi 2021, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-11T20:55:56+01:00</updated>
<published>2021-04-11T20:55:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231933#p231933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231933#p231933"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231933#p231933"><![CDATA[
To zapytam jeszcze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> gdzie można skonfigurować okienko wywoływane przez ShowMessage? Jest trochę za duże i chciałbym go nieco zwęzić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br />PS. I może jeśli Mirek pozwoli i doda do tytułu tematu &quot; i inne problemy początkującego&quot; to bym już śmietnika nie robił z forum <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 11 kwi 2021, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2021-04-11T20:49:18+01:00</updated>
<published>2021-04-11T20:49:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231931#p231931</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231931#p231931"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231931#p231931"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Pamiętaj jednak, że takie wywoływanie metod &quot;luzem&quot; może być niebezpieczne. O wiele lepiej od razu jest przyjąć zasadę, żeby w metodach ew wywoływać tylko funkcje. Zobacz ile to wtedy upraszcza <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo w dwóch czy iluś miejscach programu wywołujesz wtedy taką funkcję. To może szczególnie się później przydasz gdy np zmienisz w kodzie nazwę dla komponentu i nagle amba - będzie wiele miejsc do poprawki. Bo zamiast Edit7Change() będzie np edDataChange().<br /><br />Tzn jak tam raz gdzieś wywołasz - to nie ma co drzeć szat, ale tak podpowiadam na przyszłość że jak już częściej niż raz się robi, niż dwa - to ZDECYDOWANIE warto iść w napisanie funkcji.<br /></div>Mirku, rozumiem, że wywoływanie metod z innych metod jest nielogiczne.<br />A co z przypisaniem jednej metody do kilku zdarzeń (jak proponuje kolega <strong>auers</strong>)? Przykładowo, mam program w którym mam klawiaturę numeryczną i po kliknięciu w przycisk jego wartość wyświetla się w jakimś okienku. Lepiej napisać 10 metod, w których każda będzie działać tak samo, czy przypisać jedną metodę do wszystkich przycisków i w niej wykrywać, który przycisk jest wciśnięty? I czy po zmianie nazwy metody w pliku programu nie zmieni się jej nazwa w zdarzeniach, do których jest przypisana?<br />I czy dobrym zwyczajem jest tworzenie takich konstrukcji (zakładam, że w Edit1 chcę wyświetlić tylko numer ostatnio wciśniętego przycisku, a przyciski mają nazwy &quot;buttonx&quot;, gdzie x=0..9)<br />[syntax=delphi]Edit1.Text := RightStr((Sender As TButton).Name,Length((Sender As TButton).Name)-6);[/syntax]<br />Pytanie głównie do Mirka, ale innych też zapraszam do wypowiedzi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Dodam jeszcze, że do tej pory korzystałem z programu Lazarus (bo nie miałem wyboru), ale obstawiam, że w delphi będzie to działało bardzo podobnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 11 kwi 2021, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[auers]]></name></author>
<updated>2021-04-11T20:54:22+01:00</updated>
<published>2021-04-11T20:43:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231930#p231930</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231930#p231930"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231930#p231930"><![CDATA[
Ale dlaczego inaczej?<br />Jak w C napiszesz procedurę na końcu pliku, bez jej wcześniejszej deklaracji i spróbujesz ją wcześniej wywołać to co, kompilator Ci na to pozwoli?<br />Tu jest tak samo, od tego jest sekcja interface. Czyli odpowiednik pliku nagłówkowego .h, (deklaracje).<br />Sekcja implementation - to odpowiednik pliku .c, (definicje).<br /><br />-- 2 minutach --<br /><br /><div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />te swoje trzeba wstawiać poza Form1<br /></div><br />Niekoniecznie.<br /><br />[syntax=delphi]interface<br /><br />uses<br />  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,<br />  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;<br /><br />type<br />  TForm1 = class(TForm)<br />    Button1: TButton;<br />    Label1: TLabel;<br />    procedure Button1Click(Sender: TObject);<br />    procedure alarm(nr: byte);<br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;<br /><br />var<br />  Form1: TForm1;<br /><br />implementation<br /><br />{$R *.dfm}<br /><br />procedure TForm1.Button1Click(Sender: TObject);<br />begin<br />      alarm(1);<br />end;<br /><br /><br />procedure TForm1.alarm(nr: byte);<br />begin<br />    Label1.Caption:= inttostr(nr);<br />end;<br /><br />end.[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7806">auers</a> — 11 kwi 2021, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-11T20:16:10+01:00</updated>
<published>2021-04-11T20:16:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231929#p231929</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231929#p231929"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231929#p231929"><![CDATA[
Wszystko jasne z tym wywoływaniem. W pewnym momencie zorientowałem się że mi się program ...zapętli <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Pojawił się natomiast inny problem. Tu nawet deklaracje procedur chyba kompletnie inaczej działają niż w C...<br />dopisałem na koniec programu procedurę (która wywoływana jest gdzieś wcześniej):<br />[syntax=delphi]procedure alarm(nr: byte);<br />begin<br />//coś tam<br />end;[/syntax]<br />... i oczywiście drze się błąd. Mógłbym ją przenieść gdzieś wcześniej przed fragment programu gdzie jest wywoływana, ale to obejście mi się nie podoba, bo robi mi bajzel w programie (lubię po swojemu kolejność bloków ustalać). Kiedy próbowałem przenieść nagłówek do sekcji deklaracji na początku programu to oczywiście tam mi się znowu podświetla, że coś nie tak. W C nie było z tym problemu. Przeglądam poradniki w necie i nikt się tam nawet nie zająknie na ten temat - przykłady tam podane są proste i po prostu działają uwzględniając zasadę, że procedura jest umieszczona gdzieś przed jej wywołaniem (co ją przecież z urzędu deklaruje).<br />Jak to można obejść. Byłoby nielogiczne gdyby się nie dało.<br /><br />-- 23 minutach --<br /><br />Ufff. Doszedłem jak to zrobić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> - te swoje trzeba wstawiać poza Form1 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 11 kwi 2021, o 20:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-11T20:06:42+01:00</updated>
<published>2021-04-11T20:06:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231928#p231928</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231928#p231928"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231928#p231928"><![CDATA[
No ale wywołując taką metodę Edit7KeyPress() przy inicjalizacji programu doprowadzisz do sztucznego wciskania jakby przycisków, a jak jeszcze inne metody w tą inicjalizację wrzucisz to ci zrobi się mega cyrk na kółkach. Tak nie można. Tak jak pisałem wcześniej pisz zewnętrzne funkcje żeby je wywoływać w metodach.<br /><br />a wywołanie Edit7KeyPress( self, zmienna_char );<br /><br />ale jak mówię to już droga w odmęty szaleństwa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />[syntax=delphi]procedure TForm1.Button1Click(Sender: TObject);<br />var<br />  z: char;<br />begin<br />  z := 'B';<br />  Edit1KeyPress( self, z );<br />end;<br /><br />procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);<br />begin<br />  Label1.Caption := key;<br />end;[/syntax]<br /><br /><img src="https://obrazkiforum.atnel.pl/54/bff7c919495f9139eac74a1e91a6923a.png" alt="Obrazek" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2021, o 20:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-11T19:24:02+01:00</updated>
<published>2021-04-11T19:24:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231926#p231926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231926#p231926"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231926#p231926"><![CDATA[
Dałem sobie spokój, choć i tak chciałbym wiedzieć jak to zrobić <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Przerabiam teraz co się da na poszczególne funkcje i procedury. Po prostu gdy zaczynałem pisać program nie sądziłem, że tyle się tego nazbiera <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<br />A chodziło mi o wstępne odświeżenie obliczeń i okienek przy starcie programu.<br />Póki co dla mnie ten sposób programowania jest nowością i do pewnych rzeczy muszę się przyzwyczaić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 11 kwi 2021, o 19:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-11T19:19:05+01:00</updated>
<published>2021-04-11T19:19:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231925#p231925</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231925#p231925"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231925#p231925"><![CDATA[
no ale co? znowu chcesz taką metodę wywoływać zewnętrznie ? - to już prawie skok w przepaść. Napisz może co chcesz uzyskać generalnie w tym konkretnym zakresie związanym z tą metodą to łatwiej może będzie podpowiedzieć coś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2021, o 19:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-11T15:23:01+01:00</updated>
<published>2021-04-11T15:23:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231924#p231924</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231924#p231924"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231924#p231924"><![CDATA[
Masz rację Mirku. Już się tu zastanawiałem właśnie, że w pewnym momencie taka metoda może się zemścić, choć akurat nieco inny przypadek rozpatrywałem. Jednak w tym prostym programie, który obecnie skrobię poznaje dopiero pewne mechanizmy i będę ewentualne błędy i zgrzyty usuwał na bieżąco. Jak wiadomo człowiek uczy się nas błędach - lepiej się utrwali <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />-- dzisiaj, o 16:23 --<br /><br />No dobra, a jak w takim razie obsłużyć (na tej zasadzie co powyżej) takie coś:<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);<br /></div><br /><br />kompilator drze się o parametry, a ja nie mam już pomysłów co wstawić zamiast &quot;var Key: Char&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 11 kwi 2021, o 15:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-11T14:44:23+01:00</updated>
<published>2021-04-11T14:44:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231923#p231923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231923#p231923"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231923#p231923"><![CDATA[
Pamiętaj jednak, że takie wywoływanie metod &quot;luzem&quot; może być niebezpieczne. O wiele lepiej od razu jest przyjąć zasadę, żeby w metodach ew wywoływać tylko funkcje. Zobacz ile to wtedy upraszcza <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo w dwóch czy iluś miejscach programu wywołujesz wtedy taką funkcję. To może szczególnie się później przydasz gdy np zmienisz w kodzie nazwę dla komponentu i nagle amba - będzie wiele miejsc do poprawki. Bo zamiast Edit7Change() będzie np edDataChange().<br /><br />Tzn jak tam raz gdzieś wywołasz - to nie ma co drzeć szat, ale tak podpowiadam na przyszłość że jak już częściej niż raz się robi, niż dwa - to ZDECYDOWANIE warto iść w napisanie funkcji.<br /><br />To będzie tym bardziej i to DRAMATYCZNIE potrzebne jak kiedyś sięgniesz po komponent do zarządzania listą akcji (a jak cię znam to szybko po niego sięgniesz) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... wtedy żeby przerobić taki kod z ręcznym wywoływaniem metod - to będzie lepiej skoczyć z balkonu (ale nie na parterze) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 kwi 2021, o 14:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-11T08:03:21+01:00</updated>
<published>2021-04-11T08:03:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231914#p231914</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231914#p231914"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231914#p231914"><![CDATA[
No i proszę, ile to się okazało rozwiązań mojego skomplikowanego problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />. Dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 11 kwi 2021, o 08:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-04-10T22:17:12+01:00</updated>
<published>2021-04-10T22:17:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231912#p231912</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231912#p231912"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231912#p231912"><![CDATA[
Jak jesteś w ramach tej samej klasy TForm to wystarczy<br /><br />[syntax=delphi]procedure TForm1.mojezdarzenie(Sender: TObject);<br />begin<br />    Edit7Change( self );<br /> <br />end;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 kwi 2021, o 22:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-10T21:38:33+01:00</updated>
<published>2021-04-10T21:38:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231907#p231907</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231907#p231907"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231907#p231907"><![CDATA[
Aaaaa, właśnie z literą T było <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />I teraz pięknie działa. Dzięki WIELKIE!  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 10 kwi 2021, o 21:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[auers]]></name></author>
<updated>2021-04-10T21:20:14+01:00</updated>
<published>2021-04-10T21:20:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231905#p231905</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231905#p231905"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231905#p231905"><![CDATA[
Dziwne ja zawsze tak robię i mi działa.<br />Na pewno dobrze przepisałeś bez litery &quot;T&quot; przed Form1? <br /><br />Co do metody która zaproponował Marhef,<br />w zakładce zdarzeń różnych kontrolek wybierasz jedną i ta samą funkcję.<br />Dopiero w funkcjach sprawdzasz co było przyczyną jej wywołania i wykonujesz odpowiedni kod np:<br />[syntax=delphi]procedure TForm1.Button1Click(Sender: TObject);<br />begin<br />if sender = Button1 then showmessage('Button1');<br />if sender = Button2 then showmessage('Button2');<br />if sender = Button3 then showmessage('Button3');<br />end;[/syntax]<br />W tym przykładzie pod zdarzenie od wciśnięcia przycisków Button2 i Button3 wybierasz funkcję obsługi zdarzenia od przycisku Button1 i dopiero w tej procedurze rozpoznajesz co wcisnąłeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7806">auers</a> — 10 kwi 2021, o 21:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-10T20:43:33+01:00</updated>
<published>2021-04-10T20:43:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231904#p231904</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231904#p231904"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231904#p231904"><![CDATA[
@auers, niestety to nie działa <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Chyba nawet tak kombinowałem podczas szukania na różne sposoby.<br />Wyskakuje komunikat:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />[dcc32 Error] Unit1.pas(232): E2076 This form of method call only allowed for class methods or constructor<br /></div><br /><br />@Marhef, chętnie poznam sposób w jaki się to robi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 10 kwi 2021, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2021-04-10T20:09:57+01:00</updated>
<published>2021-04-10T20:09:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231903#p231903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231903#p231903"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231903#p231903"><![CDATA[
Możesz też przypisać jedną procedurę do kilku obiektów. I przez identyfikację obiektu Sender rozpoznawać, co wywołało tą procedurę.<br />Ja tak robiłem na przykład przy pseudo kalkulatorze (przyciski z cyframi miały jedną procedurę obsługującą wciśnięcie)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 10 kwi 2021, o 20:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[auers]]></name></author>
<updated>2021-04-10T19:56:53+01:00</updated>
<published>2021-04-10T19:56:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231902#p231902</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231902#p231902"/>
<title type="html"><![CDATA[Re: Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231902#p231902"><![CDATA[
[syntax=c]procedure TForm1.mojezdarzenie(Sender: TObject);<br />begin<br />Form1.Edit7Change(Sender);<br />end;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7806">auers</a> — 10 kwi 2021, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2021-04-10T19:45:38+01:00</updated>
<published>2021-04-10T19:45:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231901#p231901</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231901#p231901"/>
<title type="html"><![CDATA[Ręczna obsługa procedury jakiegoś zdarzenia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23715&amp;p=231901#p231901"><![CDATA[
Ostro wziąłem się za naukę, ale co chwila jakieś kwiatki, których nie mogę przeskoczyć... a w sieci już ze 3h szukam :-/<br />Chciałbym z innej procedury wywołać procedurę obsługującą, np. buttona czy okienko tekstowe aby nie pisać tego samego dwa razy.<br />Mam np. coś takiego:<br /><br />[syntax=delphi]procedure TForm1.Edit7Change(Sender: TObject);<br />begin<br />// coś tam<br />end;[/syntax]<br /><br />i chciałbym aby wykonało się to nie tylko kiedy wprowadzę zmiany w okienku tekstowym, ale też przy wywołaniu np. tego zdarzenia:<br /><br />[syntax=delphi]procedure TForm1.mojezdarzenie(Sender: TObject);<br />begin<br />TForm1.Edit7Change(Sender: TObject);<br /><br />end;[/syntax]<br />...co oczywiście nie działa, ale o taką ideę mi chodzi. Jak to można zrealizować? Przecież musi być jakiś sposób, żeby nie pisać kilka razy tego samego bloku jeśli kilka zdarzeń miałoby wykonać tą jedną procedurę. To było by kompletnie nielogiczne i nieekonomiczne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 10 kwi 2021, o 19:45</p><hr />
]]></content>
</entry>
</feed>