Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Artykuł jest napisany pod względem analizy programów napisanych przez młodych deweloperów naszej grupy.

Prawidłowo ustaw sekwencję elementów przełączających

Wielu użytkowników, zwłaszcza tych, którzy wcześniej pracowali w DOS, mają zwyczaj przełączać się między polami wejściowymi, a nie przy użyciu klawiatury z klawiszem Tab. Ponadto jest znacznie szybszy niż podświetlić każde pole myszy. Dlatego procedura składników przełączania musi być prawidłowo wystawiana. Dotyczy to zarówno komponentów we wszystkich komponentach kontenerów (panele, grupbox, i są podobne) i same elementy kontenera, jeśli są kilka.

Procedura składników przełączania wewnątrz pojemnika jest ustawiona przez właściwość Taboral. Pierwszy staje się składnikiem aktywnym, w którym tabor jest równy 0, drugi od 1 itd., Aż do przeniesienia wszystkich elementów. Ponadto komponent ma właściwość TabStop, która pokazuje, czy komponent otrzyma ostrość podczas przełączania klawisza Tab. Jeśli chcesz zakazać przełączenia na dowolny komponent, umieść tabystop \u003d false. W tym przypadku przełącznik na ten komponent może być tylko przy myszu.

Istnieją przypadki, gdy użytkownicy służący do przełączenia się na określony klucz w jednym programie, w zwyczaju, nadal używają go w reszcie. Często dzieje się to z 1C użytkownikami, gdzie klucz Enter może być używany do przejścia przez pola wejściowe. Cóż, damy im taką okazję w naszych programach, jeśli o to pytają. Zainstaluj właściwość Keepreview w TRUE i napisz obsługę zdarzeń ONKEYPRESS:

Procedura TForm1.FormKeypress (Nadawca: TOBJECT; VAR Klucz: Char);
zaczynać.
Jeśli ord (klucz) \u003d vk_return wtedy
Form1.selectivecontrol, true, true);
koniec;

Taka obsługa zapewnia przejście według elementów kształtu po naciśnięciu klawisza Enter. Należy zauważyć, że taka metoda nie będzie działać z przyciskami, ponieważ Naciśnięcie klawisza Enter na przycisku prowadzi do jej naciśnięcia, podczas gdy naciśnięcie zakładki przesyła wejście, skupienie się na tym w komponencie sekwencji przełączania.

Domyślne przyciski

Wszyscy ten sam użytkownicy szybko przyzwyczaić się do tego w dialogach aplikacji, z reguły, klawisz Enter może potwierdzić wybrany wybór, a klawisz ESC jest anulowany. Nie zawiedziemy ich w naszych programach, zwłaszcza, że \u200b\u200bto jest bardzo proste. Aby uzyskać reagowanie przycisku, aby wejść, ustaw domyślną właściwość w true. W przypadku przycisku reagowania ESC ustaw właściwość Anuluj w true. I to wszystko.

Tak lub nie

Wszystkie okna dialogowe, żądające akcje użytkowników, muszą mieć co najmniej dwa przyciski: potwierdzenie działań i odmowy (tak / nie, save / Anuluj itp.). Odmowa działania może być zamknięta oknem [X] w nagłówku okna. Jest niedopuszczalny, jeśli jest tylko jeden przycisk, aby potwierdzić działanie, a do awarii zakłada się, że zamknięcie przycisku [X] w nagłówku lub nie ma możliwości odmowy. To myli użytkownik, powodując logiczny pytanie: jak odmówić?

Nie zapominamy również o tym, co zostało powiedziane powyżej w domyślnych przyciskach.

Wszystkie okna dialogowe muszą otworzyć środek ekranu.

W centrum, a nie, gdzie zostały utworzone w trybie projektowania. Po pierwsze, jest wyraźnie, a po drugie, automatycznie eliminuje problem różnych rozdzielczości ekranu z różnych użytkowników.

Wyjątek odbywa się, jeśli okno dialogowe nie jest modnie, a według wyników użytkownika w tym oknie, zmiany są natychmiastowe wystąpiły w głównym oknie (na przykład filtrowanie zbioru danych, wykresy przeceniające itp.).

Rozmiar okien nie powinien przekraczać rozmiaru ekranu

W żadnym wypadku. Ta hańba jest, gdy część okna wychodzi za ekranem. To wymaganie nie zależy od rozdzielczości ekranu przez użytkownika, tj. Wymówki, takie jak "pozwala umieścić więcej rozdzielczości" nie przejść.

Prawidłowa zmiana elementów okna

Elementy okna muszą poprawnie zmienić ich wymiary lub przesunąć, gdy zmienia się rozmiar okna, przy maksymalizacji okna i przy przywróceniu okna po maksymalizacji.

Wszystko jest zawsze widoczne

Spadek wielkości okna nie powinien prowadzić do zniknięcia elementów okna i pożądane nie powinno prowadzić do wyglądu paska przewijania (przewijania) okna. Możesz ograniczyć minimalne wymiary okna, aby wszystkie elementy były widoczne i dostępne. Jeśli nie ma możliwości umieszczenia komponentów, aby każdy był widoczny w oknie, można użyć zakładek (typ Pagecontrol), aby podzielić komponenty w grupy. Wymówki dotyczące rozdzielczości ekranu nie przegapią.

Wskazówki wszędzie, Wskazówki zawsze

W przypadku przycisków, zwłaszcza na paskach narzędzi (typ paska narzędzi) muszą być ustawione monity (WSKAZÓWKA), dzięki czemu zawsze jest jasne, dlaczego potrzebujesz jednego lub innego przycisku.

Spektrum kolorów.

Nie maluj komponentów na formularzu we wszystkich kolorach tęczy. Opiera oczy i rozprasza uwagę użytkownika. Nie wygląda "fajnie". Wybór koloru jest używany w przypadku, gdy uwaga użytkownika musi być przyciągana do konkretnego elementu lub określonej części okna. Na przykład, pomaluj rejestrowanie światłem czerwonym, w którym występują błędy lub, przeciwnie, jasnozielony kolor nagrywania, którego sprawdzenie powiodło się.

Wniosek

Istnieje bardzo dobra metoda, która umożliwia znalezienie niedociągnięć programu w ogóle i w szczególności interfejsu. Jest proste: wyobraź sobie siebie na stronie użytkownika i przez pół godziny, spróbuj pracować, jak działa. Jeszcze lepiej, jeśli Twój użytkownik znajduje się w zasięgu ręki (na przykład działa w tej samej organizacji). W takim przypadku usiądź obok niego i lepiej zamiast go, i spróbuj udać się. Aby wprowadzić dane, zmienić je, wyświetl raporty itp. Jeśli nie wiesz, jak to zrobić, zapytaj swojego użytkownika. Nie jedna ani dwie operacje jednoosobowe, jak w trybie debugowania, a 20-30, lub jeszcze bardziej różne operacje, na różne sposoby. Zapomnij o czymś, aby wejść lub wejść nieprawidłowo i zobacz, jak program na to odpowie. Szybko zobaczysz słabe punkty Twój program.

Autor artykułu zautomatyzował prace Komitetu Wstępowego na Uniwersytecie, aw pierwszym roku wdrażania programu na 3-4 godziny dziennie wydane w Komisji Wstępowej, rejestracji wnioskodawców, wypełniając swoje dane osobowe i wydawanie raportów na egzaminy. W pozostałym czasie pracy zamykają błędy i niedociągnięcia. Uwierz mi, w przyszłym roku są praktycznie żadne problemy. Podobnie był również w wprowadzeniu modułu personalnego.

Tak więc pamiętaj o wygodę pracy dla użytkowników. Niech będą łatwe i przyjemne do pracy z twoimi programami.

Kreatura berło Użytkownik sprowadza się do wyboru z palety komponentów niezbędnej do programu komponentu Delphi, pracowników berło Zarząd berło Wyświetl informacje i przenieś je do formularza, a następnie układ.

Interfejs użytkownika utworzony przez użytkownika należy użyć standardowych przedmiotów znanych użytkownikom i zapewnić maksymalną wygodę. Wszystko to ostatecznie jest określone przez takie kryterium, co skuteczność interfejsu - maksymalny wynik przy minimalnym wysiłku.
Zasady stworzenia wygodny interfejs. Znany. Jako najbardziej ogólne zasady podczas tworzenia interfejsy użytkownika Można rozpatrywać trzy główne rezerwy:

  1. Program powinien pomóc wykonać zadanie, a nie stać się tym zadaniem.
  2. Podczas pracy z programem użytkownik nie powinien czuć się głupcem.
  3. Program powinien działać, aby użytkownik nie rozważy komputer z głupcem.
Pierwsza zasada - Jest to tak zwana "przezroczystość" interfejsu. Interfejs użytkownika musi być intuicyjny, prosty dla rozwoju, a nie do tworzenia problemów z użytkownikiem, że będzie musiał przezwyciężyć w procesie pracy. Użyj standardu, bez nadmiernych elementów dekoracji, użyj zwykłych, używanych podobnych programów sterujących, a otrzymasz kryteria egzekucji pierwsza zasada.

Druga zasada leży w zaniedbaniu umiejętności intelektualnych użytkowników. W moim własnym doświadczeniu wiem, że często użytkownicy nie tylko nie wiedzą, jak pracować na komputerze, ale po prostu boją się wziąć coś samodzielnego. Dlatego interfejs użytkownika musi być jak najbardziej przyjazny.
Ponadto obawy użytkowników są często uzasadnione, ponieważ koszt programu, a sam komputer nie prowadzą do żadnego porównania z kosztami, na przykład utworzonymi przez długoterminowe wysiłki bazy danych. Dlatego programista podczas tworzenia interfejsu użytkownika musi być zawsze osadzony w programie "Ochrona przed głupcem" - z nieprawidłowych działań i wprowadzania przez użytkownika nieprawidłowych danych. Ale niektórzy programiści są zbyt lubią takiej ochrony, czynią go zbyt denerwującym, a w wyniku tego, praca programu przypomina słynny "Krok w lewo, krok po prawej stronie jest uważany za ucieczkę"! A fakt, że programista tworzy jako rozwiązanie samego problemu zaczyna tworzyć problemy.
Za zgodność. druga zasada Nie musisz zezwalać programem "poprawić" działania użytkownika i wskazać, że dokładnie, jak działać, jazda w wąską ramę. Ponadto nie powinno być zbyt ponoszone przez wyjście informacji o komunikatach informacyjnych, zwłaszcza dialogów, rozprasza użytkownika z pracy. I lepiej zapewnić możliwość wyłączenia monitów.

Trzecia zasada Ma stworzyć program z najwyższą możliwą "umysłową" zdolnościami. Pomimo szybkiego rozwoju wyposażenie komputeraNawet powszechne programy mogą być bardzo konwencjonalnie nazywane sztuczną inteligencją. Kolidują wraz z pracą użytkownika, wycofując okno dialogowe z głupim problemami, powodując oszołomienie nawet w najprostszych sytuacjach. W rezultacie użytkownicy w Hearts wykrzykli: "Cóż, głupi jeden samochód"!
Osobiście powoduję podrażnienie ciągłych pytań z prawie wszystkiego redakcja tekstowa Na tym, czy zmieniony tekst nie jest zachowywania, chociaż początkowy i bieżący tekst nie różni się w żadnym symbolu. Tak, zwerbowałem coś, ale potem wróciłem wszystko z powrotem, czy naprawdę nie możesz się dowiedzieć! Muszę sprawdzić, czy nic nie zepsułem.

Spróbuj przestrzegać następujących zasad:

Standardowe elementy interfejsu
Użyj standardu ten element Komponenty interfejsu. Po spotkaniu, użytkownik nie będzie marnował znajomego czasu i natychmiast rozpoczyna pracę - jest to jeden ze znaków profesjonalnego programu.
Mała paleta narzędzi
Spróbuj użyć nie zbyt wiele różnych komponentów. I naturalnie stosując gdzieś w jednym miejscu, jeden standardowy składnik, w tej samej sprawie również stosuje.
Taka sama odległość między kontrolami
Ustaw elementy interfejsu w tej samej odległości między sobą. Rozproszone, ponieważ komponenty stworzyły poczucie niefaktycznego produktu. I odwrotnie, starannie zweryfikowany umieszczenie w formie przycisków, przełączników, flag i innych komponentów, które tworzą interfejs - znak jakości pracy.
Taborski. "Właściwa kolejność
Taborski. - Jest to procedura przenoszenia kursora ekranowego przez elementy sterujące po naciśnięciu klawisza Patka.. W prawidłowo pisemnym programie kursor porusza się, zgodnie z logiką pracy użytkownika z programem. Podczas tworzenia programu programator często zmienia elementy, jeden usuwa, inne dodaje się w razie potrzeby. W rezultacie w gotowym programie kursor chaotycznie skacze w kształcie. Po wypełnieniu programu nie zapomnij skonfigurować Taborski..
Wybór czcionek
Czcionki po prostu pozostawiają samotnie. Domyślne czcionki Delphi są odpowiednie dla każdego systemu, w którym program może pracować. Oddzielne użycie czcionki, aby podświetlić ważne elementy. Podanie kursiva. a szczególnie zatrudnionyKtóry użytkownik może zaakceptować hiperłącze - zły ton.
Wybór kwiatów
Jeśli chodzi o kolory elementów interfejsu, a następnie, jak w przypadku czcionek, lepiej jest pozostawić ich standardowo. Delphi używa palety systemu Windows, a użytkownik zmieniając go łatwo skonfigurować kolory dla siebie.
Alternatywne zarządzanie
Profesjonalny program powinien być w stanie kontrolować nie tylko mysz, ale także z klawiatury. Nie powinno być funkcji dostępnych do wykonania tylko przy myszu (rysunek redakcja graficzna Nie licz!). W przypadku najczęściej używanych funkcji pojawia się klawisze skróty do szybkiego połączenia.
Interfejs cegły
Jeśli chodzi o konkretne elementy wynalazku, jakość interakcji użytkownika z programem zależy od: A teraz chcę pokazać, które narzędzia oferuje Delphi do sterowania komponentami w formularzu, ich wzajemnej lokalizacji i zachowaniu kursora po naciśnięciu klucza Patka..

W celu ustalenia komponentów względem siebie we właściwej kolejności, najpierw konieczne jest ich przydzielenie. Możesz po prostu zakreślać obszar w formie, w której znajdują się wybrane elementy. Lub trzymanie " Zmiana."Określ tę samą myszę, która ma być przydzielona do komponentu. Powtarzane przy mysie nad dedykowanym składnikiem (naciśnięciem" Zmiana.") Usuwa go z niego.

Dedykowane komponenty można kontrolować jako pojedynczy liczbę całkowitą - aby przenieść w formularzu, przypisać wartość do tych samych właściwości, kopiować (do instalacji, na przykład do innego formularza), nawet usunąć.

Teraz kliknij kliknij prawym przyciskiem myszy Jeden z komponentów i z menu "Pop-Up" wybierz Pozycja -\u003e Wyrównaj ... Pojawi się okno dialogowe, co pozwala na dostosowanie pozycji składników w grupie poziomej i grupie pionowej. Na przykład musimy wyrównać nasze cztery przyciski po lewej krawędzi i sprawić, że między nimi ta sama odległość pionowa. Aby to zrobić, zaznacz kanały radiowe Poziomy: lewe boki i Vertikal: Przestrzeń równo.

Wybór elementu Środek, ustawiamy elementy, aby ich centra znajdą się na tej samej linii poziomej lub pionowej, a przedmiot Centrum w oknie Przesuwa komponenty do środka okna, również poziomo lub pionowo.

W tym samym wierszu menu Patka. O.rDER ... Powoduje pojawienie się okna dialogowego, który kontroluje przejście kursora przez elementy interfejsu, gdy klawisz jest naciśnięty Patka.. W momencie pojawienia się na ekranie pojawi się kursor, naturalnie, na komponencie znajdującym się w pierwszym wierszu okna dialogowego. A następnie przesunie się w dół listy. Na dwie niebieskie okno dialogowe "W górę" i "Down" kontroluj pozycję wybranego komponentu. Wybierz żądany komponent, przesuń strzałki do żądanej linii na liście i tak dalej.

Wybierając element menu Kontrola - \u003e. Podmenu pojawia się, składający się z dwóch punktów:

  • Przesuń na wierzch
  • Wyślij wstecz
Są to także metody składowe dostępne również programowo. Button1.Sendtoback. Przesuwa przycisk do "Back Plan" i Button1.BeringtoFront. - Przesuń na wierzch". Oznacza to, że jeśli jeden komponent znajduje się nad drugim, metody te zmieniają je w miejscach. Przypadki, w których można stosować, jest dość oczywiste.

tylko dla wyniku

trudne przestrzeganie terminów

Przezroczystość

realizacja projektu

pomoc techniczne jako prezent

Programowanie, wyrafinowanie konsultacji na 1c

Jak pracujemy

1. Omów problem przez telefon. W obecności dostęp zdalny - Pokaż na ekranie komputera.

2. Doceniamy pracę w rublach, jeśli projekt jest duży, jeśli nie, przybliżona liczba godzin.

3. Pracujemy.

4. Podejmujesz pracę w swoim programie, jeśli są niedociągnięcia, poprawiamy je.

5. Wykonujemy rachunek, płacisz.

Koszt pracy

1. Wszystkie prace są podzielone na 3 kategorie: konsultacje, aktualizacja typowa konfiguracja, Rozwój lub programowanie nowego raportu, przetwarzania, przycisków itp.

3. W pracy ponad 10 godzin jest wstępnie zadanie techniczne z opisem i kosztem pracy. Działa zaczynają się po uzgodnianiu TK z tobą.

Pomoc techniczna

1. Jeśli znajdziesz jakieś błędy w uprzednio przyjęte prace, w ciągu 3 miesięcy, poprawiamy je za darmo.

2. Stały klienci Wszelkie niedociągnięcia wykonane w naszych pracach, poprawne bezpłatnie w ciągu roku.

Programy do zarządzania Twoją firmą.

Kup 1C: Przedsiębiorstwo

Jesteśmy oficjalnym dealerem firmy 1C, możesz kupić różne produkty i licencje oprogramowania. Oprócz kupowania "Box" pomożemy Ci skonfigurować program, skonsultujemy się i dokonujemy podstawowych ustawień.

  • Rachunkowość
  • Przechowuj automatykę
  • Hurt
  • Pomoc w instalacji i początkowej konfiguracji jest zawarta w pakiecie!
  • Subtelne konfiguracje konfiguracji dla potrzeb klienta, rozwój nowych modułów w nieobecności wymagane funkcje. W standardowej konfiguracji.
Księgowość 1C. 1C: Zarządzanie handlem 1c: Detal 1C: Zarządzanie wynagrodzeniem i personelem
Od 3300 rubli. Od 6700 rubli. Od 3300 rubli. Z 7400 rubli.

Udostępnianie serwera.

Natychmiastowy serwer konfiguracji + 1C.

Brak serwera? Nie kłopoty, odebrać i szybko skonfiguruj serwer w "Chmury". Za mała opłata Otrzymujesz bardzo niezawodne rozwiązanie.

  • Dostępność 24 \\ 7
  • Nie musisz mieć własnego administrator systemu (Oszczędności pokryją koszt serwera).
  • Szybkie ustawienie i instalowanie 1C do serwera, po 3 dniach masz już w pełni roboczy system.
  • W każdej chwili możesz się poruszać lokalny serwer.Jeśli decyzja nie pasuje.

SMS z twojego 1C

Chcesz zrobić klientów podczas promocji, zniżki? Klienci nie są zwracani? Skonfiguruj wysyłanie SMS bezpośrednio z 1C!

Nasza firma będzie mogła skonfigurować SMS, aby wysłać klientów bezpośrednio z 1C. Przykłady zdarzeń, które mogą zautomatyzować:

  • Dziękujemy za zakup i naliczanie bonusów natychmiast po kolejnym zakupie.
  • Premia zarzucalne na karcie jako przyjęcie urodzinowe do innego znaczącego lub świątecznego dnia.
  • Zawiadomienie o otrzymaniu towarów do magazynu.
  • Wygaśnięcie bonusów na prezenty.
  • Powiadomienie o otrzymaniu przedpłaty i rezerwacji towarów.
  • Adres z wyrafinowaniem do sklepu, numery telefonów.
  • Itp.

Ustawienie w 1C można dokonać naszych specjalistów lub ich pracowników. Możesz zapoznać się z taryfami na stronie Taryfy SMS.

  • Gwarancja dostawy SMS, pieniądze są usuwane tylko dla dostarczanych SMS.
  • Oddzielne charynowanie każdego SMS.
  • Równowaga uzupełnianie na różne sposoby.
  • Zobacz historię wszystkich wysłanych wiadomości SMS w dowolnym momencie.
  • Nazwa nadawcy zamiast numeru cyfrowego w telefonie odbiorcy.

Tak samo i najsilniejszy programowanie Delphi. Jest to jego otwarta architektura, dzięki której Delphi pozwala na rodzaj metaprogramowania, umożliwiając programowanie środowiska programowania. Takie podejście tłumaczy Delphi na jakościowo nowy poziom Systemy rozwoju aplikacji i umożliwia osadzenie dodatkowych narzędzi instrumentalnych do tego produktu, który obsługuje prawie wszystkie etapy tworzenia aplikacji. Taka szeroka gama funkcji otwiera się z koncepcją tak zwanych otwartych interfejsów zaimplementowanych w Delphi link Zintegrowane środowisko rozwoju i narzędzia zewnętrzne.

Ten artykuł poświęcony jest otwarcie interfejsów Delphi i jest przeglądem ich możliwości. Delphi Definiuje sześć otwartych interfejsów: interfejs narzędzia, interfejs projektowy, interfejs ekspercki, interfejs plików, interfejs Edytuj i interfejs kontroli wersji. Jest mało prawdopodobne, że w ramach tego artykułu udało nam się szczegółowo podkreślić i zilustrować możliwości każdego z nich. Bardziej szczegółowo rozumiem, jakie kwestie, teksty źródłowe Teksty Delphi pomogą Ci, korzystanie z deweloperów dostarczyli im rozmieszczone komentarze. Ogłoszenia o zajęciach reprezentujących otwarte interfejsy są zawarte w odpowiednich modułach w katalogu ... Delphi Źródło Interfejs projektowy (moduł DSGNTF.PAS) zapewnia narzędzia do tworzenia edytorów nieruchomości i edytorów komponentów.

Edytora nieruchomości i komponentów są tematem godnym oddzielnej rozmowy, więc przypomnimy Ci tylko, że edytor nieruchomości kontroluje zachowanie inspektora obiektu podczas próby zmiany wartości odpowiedniej właściwości, a Edytor komponentów jest aktywowany przez podwójne Lewy przycisk myszy na obrazie składnika umieszczonego na formularzu. Interfejs sterowania wersji (moduł VCSINTF.PAS) jest przeznaczony do tworzenia systemów sterowania wersji. Począwszy od wersji 2.0, Delphi obsługuje zintegrowany system kontroli systemu dla Intersold PCC, więc w większości przypadków nie ma potrzeby opracowania własnego systemu. Z tego powodu pominięto również przegląd interfejsu kontroli wersji. Interfejs pliku (moduł pliku fileintf.pas) Umożliwia zastąpienie systemu plików roboczych IDE, co umożliwia wybór własnej metody przechowywania plików (na przykład w polach MEMO na serwerze bazy danych). Edytuj interfejs (moduł edictIntf.pas) zapewnia dostęp do bufora tekstu źródłowego, co pozwala na analizę kodu i wykonania go, aby określić i zmienić pozycję kursora w oknie Edytor kodu, a także zarządzać selektem składniowym tekstem źródłowym .

Klasy specjalne zapewniają interfejsy komponenty umieszczone w formularzu (określenie typu składnika, odbieranie odniesień do składników rodzicielskich i dzieci, dostęp do właściwości, transmisji ostrości, usuwania itp), do najbardziej formy i do pliku zasobów projektu. Edytuj interfejs umożliwia identyfikację tak zwanych modułowych impresorów, które określają reakcję na zdarzenia, takie jak zmiana tekstu źródłowego modułu, modyfikując formularz, zmianę nazwy komponentu, oszczędzania, zmiany zmienności lub usuwania modułu, zmieniając plik projektu zasobów itp. . Interfejs narzędziowy (moduł ToolintF. PAS) zapewnia narzędzia programistów do uzyskania informacje ogólne na status IDE i wykonaj takie działania, takie jak projekty otwarcia, oszczędnościowe i zamykające oraz indywidualne pliki., tworzenie modułu, otrzymywanie informacji o bieżącym projekcie (liczba modułów i formularzy, ich nazwy itp.), Rejestracja system plików, organizacja interfejsów do poszczególnych modułów itp. Oprócz powiadomień modułowych interfejsu narzędzia, określa nieuwafty dodatku powiadamiającego takie zdarzenia jako pliki otwierające / zamykające i projekty, pobieranie i zapisanie pliku pulpitu projektu, dodawaj / wykluczyć moduły projektu, pakiety instalacyjne / degeneracyjne, kompilację projektu, a także Różnica od modułowych powiadamianiach Dodatkowe książki umożliwiają anulowanie wykonywania niektórych zdarzeń.

Ponadto interfejs narzędzia zapewnia dostęp do głównego menu IDE Delphi, umożliwiając osadzenie dodatkowych elementów. Interfejs ekspercki (EXPTITTF.PAS Module) jest podstawą tworzenia ekspertów - moduły oprogramowania osadzone w IDE, aby rozszerzyć jego funkcjonalność. Jako przykład eksperta, możesz wprowadzić kreatora formularza bazy danych Delphi, który wykonuje generowanie formularza do przeglądania i zmiany zawartości tabeli bazy danych. Po ustaleniu klasy eksperta konieczne jest dbanie o to, że Delphi "Dowiedz się" o naszym eksperta. Aby to zrobić, musi być zarejestrowany poprzez wywołanie procedury RegisterLibraryExpert, przekazując ją jako instancję klasy ekspertów. Jako ilustracja stworzymy prosty ekspert w stylu Esstandard, który przy wyborze elementu menu Delphi, który odpowiada go, wyświetla komunikat, który działa. Jak widać z powyższej tabeli, styl Esstandard zobowiązuje się do nakładania się sześciu metod:

Aby ekspert był "włączony", musisz wybrać element menu komponentu / instalacji komponentu, wybierz moduł w oknie dialogowym Przeglądaj, zawierającym ekspert (w naszym przypadku EXMPL_01.PAS), kliknij OK i po kompilacji DCLusR30 Pakiet .DPK w menu głównym, Delphi w sekcji Pomoc powinny pojawić się prosty ekspert 1, przy wyborze, który pojawia się ogłoszenie "Rozpoczął się standardowy ekspert!". Dlaczego Delphi umieszcza element menu eksperta w sekcji pomocy, pozostaje tajemnicą. Jeśli nie podoba Ci się to, co pojawia się element menu, w którym chcesz Delphi, a nie w miejscu, w którym chcesz, poniższa opcja jest możliwa: Utwórz Ekspert w stylu dodatkowym, który eliminuje automatyczne tworzenie Element menu i dodać ręczny element menu za pomocą interfejsu narzędzi. Pozwoli to ustawić lokalizację nowej pozycji w menu głównym losowo.

Aby dodać element menu, klasa Titoolservices jest używana - podstawowe interfejs narzędzia - i TimainMenuintF klasy, TimenituTEMintF, wdrażanie interfejsów do menu głównego IDE i jego elementy. Titoolservices Class TitoolServices Instancja jest tworzona przez sam IDE, gdy jest zainicjowany. Należy pamiętać, że odpowiedzialność za wydanie interfejsów do głównego menu Delphi i jej elementy spada na deweloper. Pod względem sposobu, funkcjonalny ładunek eksperta jest nieznacznie przylega: Po włączeniu elementu menu, podaje certyfikat o nazwie projektu otwarty ten moment W środę: W tym przykładzie funkcja AddIDIDIDIDIDIDIDEMENUEN jest utrzymywana, która ćwiczy element menu do głównego menu IDE DELPHI. Jako parametry, jest przesyłany do tekstu nowego elementu menu, jego identyfikatora, identyfikatora elementu, przed którym włożenie nowej pozycji, symboliczna prezentacja kluczowa, która wraz z klawiszem CTRL może być używana szybki dostęp Do nowego przedmiotu i obsługiwania zdarzeń odpowiadającego wybór nowego elementu. Dodaliśmy nowy element menu do sekcji widoku przed elementami zegarków.

Zapoznajmy się z powiadomieniami. Definiujemy dodatkową Potcję, śledzenie chwil zamykania / otwarcia projektów i poprawianie pola odpowiednio, które przechowuje nazwę aktywnego projektu (wdrażanie metod, które nie zostały poddane zmianom w porównaniu z nadmorowanym przykładem, dla zwięzłości): do Zaimplementowanie powiadamiającego, zdefiniowaliśmy klasę Taddinnnotifier, która jest potomkowanym Tiaddinnotifier i zablokował metodę filenotowania. IDE wywołuje tę metodę za każdym razem, gdy wystąpi zdarzenie, które jest zdolne do reagowania powiadamiającego ad-in (każde takie zdarzenie jest oznaczone przez odpowiednią stałą typu TFilentification). Pole ekspertów w klasie Taddinnotifier służy sprzężenie zwrotne z ekspertem (metoda taddinnotfier.filenation). W eksperta destruktor rejestracja powiadamiającego jest usunięta, a powiadamiający zostanie zniszczony. A teraz zilustrujemy użycie modułowych powiadamiających. Utwórzmy add-in Expert, który wydaje komunikaty o każdym akcie zapisywania pliku projektu (wdrożenie już znanych metod zwięzłości nie jest cytowane): W tym przykładzie dodatek monitoruje zdarzenia, które spełniają otwór / zamykanie projektów.

Za każdym razem, gdy projekt zostanie odkryty, odnotowano modułowy powiadamiający odpowiadający pliku projektu. Pod względem wdrażania modułowe Impressory są podobne do książek dodatkowych: definiujemy klasę tmodulotifier, która jest potomkiem timodulotifier i nakłada się na jego metody powiadomienia i komponentrenniczne. IDE wzywa metodę Powiadomienia, gdy wystąpi pewne zdarzenia związane z tym modułem; Wewnątrz tej metody określono reakcję na określone zdarzenie. Metoda komponentRenamowana jest wywoływana podczas wymiany nazwy komponentu leżącego na formularzu modułu. Należy pamiętać, że nie używamy tej metody, ale muszą go zablokować, w przeciwnym razie, gdy zmieniając nazwę komponentów, zostanie zakwestionowana metodą abstrakcyjnej klasy podstawy, co prowadzi do nieprzewidywalnych konsekwencji.

Rejestrowanie zgłoszenia modułowego jest nieco bardziej złożonym procesem w porównaniu z rejestracją dodatku do powiadów: Gdy projekt jest zamknięty, rejestracja zgłaszającego modułowego zostanie usunięta (ponownie za pomocą TimoDuleInterface), a powiadamiający jest zniszczony. Podsumowując, pokażemy, w jaki sposób możesz zdefiniować pozycję kursora w oknie Edytor kodu. Utwórz eksperta, że \u200b\u200bprzy wyborze odpowiedniego elementu menu dałbym wiadomość zawierającą nazwę aktywnego pliku i pozycji kursora (wdrażanie tylko niezbędnych ten przykład Metody): Aby określić położenie kursora, musimy uzyskać następującą sekwencję interfejsu: interfejs modułowy (TIMOPuleinterface); Interfejs Edytora kodu (TiiediterInterface); Interfejs reprezentacji modułu w oknie Edytora (TieditView).

Jeśli gdy wybierzesz element menu Ekspert, plik źródłowy jest aktywny (* .PAS), a następnie wydano wiadomość zawierającą nazwę aktywnego pliku i aktualną pozycję kursora Jeśli aktywny nie jest plikiem PAS, wiadomość nie zostanie wydana. Aby uzyskać nazwę aktywnego pliku, użyj metody GetCurrentFile klasy TitoolServices. W tym końcu rozważanie sposobów korzystania z otwartych interfejsów. CD-ROM zawiera teksty źródłowe wszystkich podanych przykładów. CD-ROM zawiera również bardziej złożony i szczegółowy przykład zawierający ekspert dodatkowy, umożliwiając użytkownikowi zakładki w tekście źródłowym modułów Delphi. streszczenie Instalacja i korzystanie z zakładek ekspertów jest zawarty w pliku bkmrks97.htm. W tym artykule otwarte interfejsy są uwzględniane ogólnie i przykłady ich użycia są podane. Po raz kolejny powtarzamy: dzięki obecności tekstów źródłowych otwartych interfejsów, możesz łatwo zrozumieć szczegóły zainteresowania. Mamy nadzieję, że różnorodność możliwości zapewnianych przez otwarte interfejsy, nie masz jednego odważnego i przydatnego pomysłu.

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu