wtorek, 30 grudnia 2014

Ucz się na swoich błędach cz 3

     Najwięcej szkody w naszym życiu przynoszą, jak się łatwo domyśleć, uczucia i emocje negatywne. Omówmy zatem i je.

Uczucia i emocje negatywne


Zazdrość


     Nadmiar tego uczucia jest dla nas bardzo niebezpieczny. Wyniszcza nas od środka. Możemy być zazdrośni o swojego życiowego partnera, ale równie dobrze może to być zazdrość materialna lub każda inna. Zazdrościć można wszystkiego: domu, samochodu, telewizora, a nawet bluzki, czy kariery zawodowej, biznesowej, politycznej... Najmocniejszym uczuciem zazdrości jest to, w stosunku do ukochanej osoby. W typowej sytuacji niszczy ona związek, miłość, ale często też pod jej wpływem możemy przecież skrzywdzić fizycznie lub nawet zabić bliską osobę. Przypadków tego typu jest bardzo dużo. 
 
     Mniejszego kalibru jest zwykła zazdrość o coś, bo ktoś ma, a ja nie. To czasami popycha nas do nagannego zachowania, jak na przykład kradzieże w sklepie. Skoro nie stać nas na coś, więc -owładnięci tym uczuciem- dopuszczamy się tego procederu. W końcu ktoś nas przyłapuje i kolejny punkt naszego nieszczęśliwego życia mamy zaliczony. Z braku dostatecznej ilości pieniędzy nie obce stają się nam także kłamstwo, oszustwo i naciąganie innych.


Podejrzliwość


     Uczucie to idzie przeważnie w parze z zazdrością i jest jej ogniem podsycającym. Niszczy ona relacje międzyludzkie i nas samych. Jest elementem składowym większej całości, który razem z pozostałymi złymi uczuciami sprawia, że czujemy się w życiu nieszczęśliwi.


Nienawiść


     Nienawiść, podobnie jak zazdrość doprowadzić nas może nawet do zabójstwa. Daje ona usprawiedliwienie umysłowi i moralności, że zło które oferuje jest dobre lub konieczne. Należy wystrzegać się jak ognia tego uczucia, gdyż pod jego kierownictwem nigdy szczęścia nie osiągniemy, a nasze życie będzie wręcz najeżone atakami złego, bądź ze strony świata, ludzi, bądź ze strony własnych myśli. Należy zawsze pamiętać o tym, że tam, gdzie jest nienawiść nie ma miłości, i odwrotnie. Łatwo się o tym przekonać. 

    Wystarczy tylko przypomnieć sobie chwile, w których byliśmy pozbawieni miłości, kiedy bliska osoba odchodziła lub umierała. Kiedy miłość znikała, pojawiały się zaraz negatywne uczucia, włącznie z nienawiścią do innych ludzi, zwłaszcza do szczęśliwych par. Tak samo osoby samotne, nie kochane przez nikogo często doświadczają uczucia nienawiści i często mocno negatywnie reagują na widok ludzi szczęśliwych. Podobnie więc jak pozostałe negatywne uczucia wyniszcza ona nas od środka całkowicie.
 

Gniew


     Bez wątpienia gniew jest jedną z najbardziej szkodliwych emocji w naszym życiu. Pod wpływem gniewu bardzo często mówimy lub robimy coś, czego później żałujemy. Zazwyczaj nie sposób potem tego naprawić. Są to szkody nie do naprawienia. Zdarza się, że owładnięci nagłym gniewem tracimy całkowicie kontrolę nad swoimi czynami. Jesteśmy w stanie wtedy kogoś pobić lub zabić. Szczególnie młodzi ludzie są tutaj narażeni, gdyż nie zdołali jeszcze „oswoić” do końca swojej emocjonalności. Człowiek starszy jest bardziej stonowany i nie pozwala tak bardzo, aby kierowały nim emocje. Mądrość ludowa mówi, że gniew nie jest dobrym doradcą, dlatego planując zmianę swojego życia należy szybko zrobić z tym porządek.


Wybuchowość i agresja


     Niezrównoważenie emocjonalne szkodzi nam przede wszystkim w relacjach międzyludzkich, odsuwając od nas życzliwych nam ludzi i sprawiając, że często na polu bitwy, jakim jest życie, zostajemy sami. Trudno też potem, kiedy chcemy zmienić swoje życie, korzystać z pomocy innych, gdyż w ich oczach jesteśmy kipiejącym wulkanem, do którego lepiej nie podchodzić.

     Wszystkie emocje i uczucia jakie nam towarzyszą mają istotny wpływ na nasze życie i poczucie szczęścia. Tutaj ograniczyliśmy się tylko do kilku najważniejszych, od których szczególnie dużo zależy. Opisaliśmy je pokrótce, ponieważ nie jest to temat tej książki. Dokładniej zajmiemy się tym tematem w drugiej książce poświęconej zmianie siebie samego.



Nie myślimy jasno pod wpływem alkoholu lub narkotyków


     Nic tak nie psuje naszego życia jak nasze zachowanie i czyny pod wpływem alkoholu lub narkotyków. Jest to temat-rzeka. Nie będziemy się jednak długo nad tym rozwodzić, gdyż każdy widzi na co dzień ile zła alkohol może uczynić w życiu człowieka: wypadki samochodowe, zabójstwa, pobicia, wandalizm itp. Tak samo jak w przypadku niektórych negatywnych emocji zdolność do naszego racjonalnego myślenia i podejmowania decyzji jest mocno ograniczona i często robimy coś, czego normalnie byśmy nie zrobili. Życie jest pełne tego typu przykładów. Nie mówię tutaj o tym, aby całkiem pozbyć się alkoholu, ale zdecydowanie zalecane jest, aby był on dodatkiem, a nie sensem naszego życia.

     Jak rozpoznać moment, w którym już przesadzamy? Jest na to bardzo prosty sposób. Jeżeli nazajutrz odczuwamy kaca, jest to dla nas informacja od organizmu, że przesadziliśmy. Należy także wystrzegać się picia do oporu, bo właśnie wtedy najłatwiej zrobić coś, za co będziemy potem płacić czasem do końca życia. Sygnałem ostrzegawczym powinien być dla nas moment, w którym czujemy, że za bardzo nam już „szumi” w głowie. Nie podajemy tu konkretnych ilości alkoholu, ponieważ zależy to od „głowy” człowieka. Jeden wypije pół litra i nic mu nie będzie, a drugiemu wystarczy sto gram, by się upić. Kiedy czujemy, że zaczyna nas za bardzo „rozbierać”, lepiej zrezygnować z dalszego picia. W ten sposób mądrze kieruje się swoim życiem. Samo nic nie przyjdzie. To nasze wybory decydują o jakości naszego życia.


Podsumowanie


     Wyciąganie wniosków ze swoich dotychczasowych błędów jest bardzo ważnym elementem w układaniu sobie życia. Dzięki temu każdy kolejny rok staje się bardziej stabilny i przyjemniejszy. Bez uczenia się na swoich błędach jesteśmy jak kierowca samochodu, który jadąc przed siebie, nigdy nie patrzy we wsteczne lusterko, aby sprawdzić czy nie zbliża się niebezpieczeństwo. W ten sposób trudno zapewnić sobie bezpieczną jazdę drogą, która zwie się życiem. Tylko od nas zależy jakim będziemy w swoim życiu kierowcą.


                                       < Wstecz    3/3 




piątek, 19 grudnia 2014

Ucz się na swoich błędach cz 2

Ulegamy wpływom niekorzystnych dla nas ludzi


     Kim są ci „niekorzystni” dla nas ludzie? Może to być każdy: obcy, znajomy, rodzina... Jest to każdy człowiek pod wpływem którego podejmujemy złe decyzje życiowe, które często potem bardzo komplikują nam życie na wiele, wiele lat. 

    Zazwyczaj ludzi takich znajdziemy w gronie swoich „przyjaciół”. Ich głupie wybryki, w których bierzemy udział sprawiają, że zamiast rozwijać się, następuje degradacja naszej moralności i zdrowego rozsądku. Nie chciałbym wyjść na kogoś, kto ma jakąś obsesję na punkcie alkoholu, ale niestety prawda jest taka, że nasi przyjaciele i znajomi, którzy ciągną nas do kieliszka, rzeczywiście często sprawiają, że pod wpływem alkoholu robimy coś, czego normalnie byśmy nie zrobili. Tacy ludzie nie są więc dla naszego rozwoju korzystni. Ile ja się napatrzyłem na tego typu sytuacje pracując swego czasu jako barman... Aż się nie chce wierzyć, jak bardzo można się pod wpływem alkoholu upodlić i skomplikować sobie życie. Być może kiedyś opiszę te sytuacje w jakiejś książce, bo nie ma lepszych historii, jak te z życia wzięte. 
 
     Nie tylko do alkoholu ciągną nas nasi „przyjaciele”. Często także do rozrób, kradzieży, czy innych zachowań sprzecznych z prawem. Nie należy także zapominać o tym, że poziom intelektualny, duchowy i moralny takich ludzi jest niski, a przebywając często w ich towarzystwie zaczynamy powoli upodabniać się do nich. Jest to zjawisko bardzo proste do udowodnienia. Wystarczy tylko zastanowić się nad swoim życiem i swoją naturą, które ich elementy nie są nasze, tylko zostały przejęte od innych. 

    Widać to dobrze po specyficznych odzywkach, wypowiedziach, gestach, czy zachowaniu, które używamy nieświadomie jako swoje, a tak naprawdę nie są nasze, tylko kogoś innego, który je używa. Spotykając się często z taką osobą po prostu nieświadomie przejęliśmy niektóre cechy jego osobowości. Dobrze to widać także w rodzinie, jak dzieci przejmują tego typu cechy od swoich rodziców. Tak, jak mówi mądrość ludowa: „Z kim przystajesz, takim się stajesz”. Zwracajmy więc baczną uwagę na to, czy nasi „przyjaciele” nie ciągną nas za bardzo w dół. Celowo słowo „przyjaciele” umieściłem w cudzysłowie, ponieważ praktyka pokazuje, że w dużej mierze, większość z nich, z prawdziwymi przyjaciółmi nie mają nic wspólnego, o czym łatwo przekonać się będąc w potrzebie.

 

Jesteśmy zaślepieni przez uczucia i emocje


     Drugim, poza alkoholem ważnym, a może nawet najważniejszym czynnikiem naszych błędów życiowych są nasze uczucia i emocje. To pod ich wpływem często nie jesteśmy w stanie zapanować nad sobą i robimy coś, czego nie chcemy, żałując potem tego bardzo. Nie bez kozery mówi się, że naszym największym przeciwnikiem stojącym nam na drodze rozwoju jesteśmy my sami.

      Uczucia i emocje mogą być zarówno pozytywne jak i negatywne, ale okazuje się, że nawet te pozytywne i dobre mogą być przyczyną naszych życiowych błędów. Zdemaskujmy zatem je.

Uczucia i emocje pozytywne


Miłość


     Najbardziej powszechnymi przypadkami toksycznej miłości, w przypadku kobiet jest miłość do mężczyzny, który je nie szanuje, bije i wyzywa. Życie z takim człowiekiem jest drogą przez mękę, a mimo to kobiety trwają przy nim czasem nawet kilkanaście lat. Miłość sama w sobie jest piękna, ale często nas oślepia i zniewala. Inny przykład: Mężowi żyć się już nie chce mając tak wrzaskliwą, wybuchową i skorą do kłótni żonę, ale kocha ją i, choć często swoim zachowaniem wzbudza w nim obrzydzenie, nie potrafi bez niej żyć.

     Często na miłości tracą kobiety, ponieważ są w stanie w jej imię zrobić wszystko, często więc są w związku z tym w różny sposób wykorzystywane przez mężczyzn, głównie seksualnie lub finansowo. Tak samo przy dobieraniu partnera życiowego, miłość bardziej jest przeszkodą niż pomocą. Będąc zaślepionym prze z miłość ignorujemy lub wręcz nie dostrzegamy wad naszego wybranka. Uważamy, że miłość zwycięży wszystko. To bzdura. Owszem, miłość ma taką moc, ale w życiu codziennym zazwyczaj się ona nie sprawdza. Jeżeli przed małżeństwem nie zwracamy uwagi na wady to, w którymś momencie życia budzimy się i stwierdzamy, że nie jesteśmy w stanie dłużej z taką osobą wytrzymać. Pojawiają się wtedy klasyczne słowa, które często między ludźmi padają, np. „Co ja w tobie widziałem?”, „Gdzie ja miałam oczy?”, „Już ciebie nie kocham”. Jest to jedna z przyczyn tylu rozwodów w naszych czasach: źle dobrane małżeństwa.

 

Przyjaźń


      Czasami w imię przyjaźni robimy coś, czego normalnie nie zrobilibyśmy. Klasycznym przykładem jest zapewnienie alibi przyjacielowi przed żoną lud policją. Czasami przyjacielowi pożyczamy pieniądze lub bierzemy dla niego kredyt, a potem okazuje się, że tyle warta była ta przyjaźń, co te pieniądze.

     Nie wszyscy też przyjaciele są nimi naprawdę i wielokrotnie już w dziejach świata, a także w życiu zwyczajnych ludzi błyszczało ostrze noża wbijane w plecy przez przyjaciela. Aż ciśnie się samo na usta, aby przywołać tu najsłynniejszą zdradę przyjaciela i wypowiedziane wtedy słowa przez Juliusza Cezara: „I ty Brutusie przeciw mnie?”. 

    Takich zdrad było wiele. Podobna sytuacja miała miejsce 2500 lat wcześniej w starożytnym Egipcie. Po zamordowaniu faraona przez spiskowców, z jego przyjacielem na czele, kapłan pisze dla następcy tronu, syna zamordowanego następujące słowa:

wtorek, 16 grudnia 2014

Ucz się na swoich błędach cz 1

     Życie jest tak skonstruowane, że zawsze uczymy się na błędach. Nie da się ich uniknąć. Najwięcej błędów popełniamy w młodości, oraz w pierwszych latach życia dorosłego. Brakuje nam wiedzy i doświadczenia aby uniknąć pułapek życia lub ludzi, którzy są dla nas nieprzychylni, chcą nam zaszkodzić lub oszukać. Nie brakuje także błędów i złych decyzji w późniejszym czasie. Nie bez kozery mówi się przecież, że „człowiek rodzi się głupi, głupi żyje i głupi umiera”. Wydawać by się mogło, że po kilkudziesięciu latach życia posiadamy już wystarczające doświadczenie życiowe, aby więcej błędów nie popełniać. Niestety tak nie jest. Wciąż uczymy się na swoich kolejnych błędach. Istnieje kilka przyczyn takiego stanu rzeczy. Oto one:

    • Pomimo swego zaawansowanego wieku posiada- my małe doświadczenie życiowe,

    • Nie wyciągamy wniosków ze swoich poprzednich błędów,
    • Nie posiadamy dostatecznej wiedzy, aby rozpoznać zagrożenie,
    • Nie przewidujemy konsekwencji swojego działania,
    • Ulegamy wpływom niekorzystnych dla nas ludzi,
    • Jesteśmy zaślepieni przez uczucia i emocje,
    • Nie myślimy jasno pod wpływem alkoholu lub narkotyków.

     Poniżej postaramy się nieco przybliżyć każdą z tych przyczyn i wykazać jak wiele jednak od nas zależy, że rzeczywiście to my jesteśmy kowalem swojego losu.


Małe doświadczenie życiowe


     Doświadczenie życiowe nie zawsze idzie w parze z naszym wiekiem fizycznym. Jeżeli nie udzielamy się często towarzysko, a i w pracy -stojąc przy maszynie- jesteśmy niejako odizolowani od życia, trudno oczekiwać, abyśmy nabrali dużego doświadczenia życiowego. Najwięcej uzyskamy go wtedy, kiedy „z niejednego pieca chleb będziemy jedli”, a więc, kiedy życie i ludzie postawią nas w wielu, różnorodnych sytuacjach, w których będziemy musieli się odnaleźć. Im więcej takich sytuacji będziemy mieli, tym potencjalnie więcej też błędów popełnimy, ale w końcu w ten sposób nabywa się właśnie doświadczenie życiowe. 

    Z jednej strony więc, unikanie życia chroni nas przed błędami i pomyłkami, ale z drugiej pozbawia nas tej naturalnej ochrony jaką jest doświadczenie życiowe. Prędzej, czy później zdarzy się w naszym życiu sytuacja, w której -z braku tego doświadczenia- popełnimy błąd. Nie da się tego uniknąć. Nawet będąc zamkniętym w klasztorze, oddawszy się całkowicie Bogu nie jesteśmy wolni od błędów i zdarzają się przypadki -jak donoszą czasem media-, że ktoś zagubi się w swoim życiu nawet tam. Nie bójmy się więc doświadczać nowym sytuacji w życiu, lecz nauczmy się unikać błędnych decyzji. Zajmiemy się tym w dalszej części artykułu.

 

Nie wyciągamy wniosków ze swoich dotychczasowych błędów


     Są ludzie, którzy w swoim życiu zachowują się jak osoby ślepe i nieustannie popełniają te same błędy. Przykre doświadczenia niczego ich nie uczą i wydaje się, że w ogóle tego nie rozumieją. Najlepszym takim przypadkiem jest nadużywanie alkoholu. Skoro wiemy, że po alkoholu nie panujemy nad swoją agresją i często jest ona przyczyną naszych problemów z prawem lub problemów finansowych, to kolejne nadużywanie alkoholu jest przecież irracjonalne i świadczy o tym, że nasze dotychczasowe kłopoty niczego nas nie nauczyły. Będziemy więc nieustannie doświadczać wciąż nowych problemów w życiu i trudno będzie je sobie dobrze poukładać. Znam mężczyznę, który po alkoholu roznosi swój dom na strzępy, łącznie z rozwalaniem mebli i stołów. Następnego dnia wszystko naprawia i doprowadza do ładu. Po którymś razie żona z dzieckiem postanowiła od niego odejść. Jednak jego nic to nie nauczyło. Nadal pod wpływem „białej gorączki” demoluje cały dom. Dlatego ważne jest, aby pamiętać o swoich dotychczasowych błędach życiowych, oraz o konsekwencjach jakie one przyniosły i więcej tego nie robić. To jest właśnie prawdziwa mądrość życiowa.


Brakuje nam wiedzy, aby rozpoznać zagrożenie

wtorek, 9 grudnia 2014

Zabawy rozwijające pamięć w Delphi cz 5

Powtórz litery i liczby

     W tym przykładzie prezentujemy trzeci wariant zabawy polegającej na powtórzeniu znaków wygenerowanych przez program. Uatrakcyjniamy nasz projekt i pozwalamy, aby program wybierał do powtórzenia zarówno litery jak i liczby. Cały interfejs programu, jak i procedury początkowe pozostają bez zmian.

Oto kod programu:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
Forms, Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
WYNIK: String;             //zmienna przechowująca znaki do odgadnięcia
Poprawne: Integer;       //zmienna przechowująca ilość poprawnych 
                                        odpowiedzi
Niepoprawne: Integer ;   //zmienna przechowująca ilość niepoprawnych 
                                         odpowiedzi

implementation

{$R *.dfm}


                         //przy zamykaniu programu oceń uzyskane wyniki
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
   begin
      if (Poprawne<Niepoprawne) or (Poprawne=Niepoprawne) then
         begin
            ShowMessage('Musisz jeszcze trochę potrenować');     //wyświetl 
                                                                                                     komunikat
         end                                               //bez średnika
               else                                         //w przeciwnym wypadku...
                ShowMessage('Gratuluję! Uzyskałeś dobry wynik');      //wyświetl
                                                                                                       komunikat
  end;


                                  //gdy naciśniesz przycisk START
procedure TForm1.Button1Click(Sender: TObject);
const
   Tablica: array [1..33] of String =('a','b','c','d','e','f','g','h','i','j','k','l','m',
                             'n','o','p','r','s','t','u','w','y','z','1','2','3','4','5','6','7','8','9','0');

var
   Znak1: String;                //zmienna przechowująca pierwszy znak
   Znak2: String;                //zmienna przechowująca drugi znak
   Znak3: String;                //zmienna przechowująca trzeci znak
   Znak4: String;                //zmienna przechowująca czwarty znak
   Znak5: String;                //zmienna przechowująca piąty znak
   Znak6: String ;               //zmienna przechowująca szósty znak

begin
   Edit1.Clear;   //wyczyść pole edycyjne (Do podawania Odpowiedzi)
   Randomize;                 //uruchom maszynę losującą
       Znak1:= Tablica[Random(33)+1];        //wylosuj pierwszy znak do 
                                                                     powtórzenia
       Znak2:= Tablica[Random(33)+1];        //wylosuj drugi znak do 
                                                                     powtórzenia
       Znak3:= Tablica[Random(33)+1];        //wylosuj trzeci znak do 
                                                                     powtórzenia
       Znak4:= Tablica[Random(33)+1];        //wylosuj czwarty znak do 
                                                                     powtórzenia
       Znak5:= Tablica[Random(33)+1];        //wylosuj piąty znak do 
                                                                     powtórzenia
       Znak6:= Tablica[Random(33)+1];        //wylosuj szósty znak do 
                                                                     powtórzenia
WYNIK:=(Znak1+Znak2+Znak3+Znak4+Znak5+Znak6);     //zapisz 
                                                    wylosowane znaki do zmiennej globalnej

Label2.Caption:=WYNIK;                    //wyświetl znaki do powtórzenia
Label2.Update;                                    //uaktualnij komponent label
Button2.Enabled:=false;                     //zablokuj przycisk Sprawdź
Sleep(3000);                                       //czekaj 3 sekundy
Label2.Caption:='powtórz';         //zamiast liczby wyświetl napis 'powtórz'
Button2.Enabled:=true;                      //odblokuj przycisk Sprawdź
Edit1.SetFocus;                                 //ustaw focus w Polu do Odpowiedzi
end;


                              //gdy naciśniesz przycisk Sprawdź
procedure TForm1.Button2Click(Sender: TObject);
  var
      Odp: String;                //zmienna przechowująca naszą odpowiedź

piątek, 5 grudnia 2014

Zabawy rozwijające pamięć w Delphi cz 4

Komentarz:

1. Wstęp


     Jak widzimy, komponenty użyte w tej zabawie pozostają te same, co w poprzedniej. Tutaj nic się nie zmienia. Zmianie ulegnie tylko część kodu obsługująca działanie programu. Przede wszystkim nie wprowadzamy procedury Edit1KeyPress ograniczającej rodzaj wpisywanych znaków w pole edycyjne przeznaczone do podania odpowiedzi. Musieliśmy usunąć te ograniczenie, aby można było wpisywać litery. Pozostałe rozwiązania pozostają niezmienione, aż do procedury obsługującej przycisk START.


2. Gdy naciśniesz przycisk START


     Jak już wspominaliśmy, program jako maszyna matematyczna nie zna liter, musimy je dopiero zadeklarować. Wykorzystujemy do tego celu dwa nowe dla nas elementy: stałą i tablicę. Do tej pory nauczyliśmy się stosować zmienne jako miejsce przechowywania danych, które często się zmieniają. Tutaj sytuację mamy inną: z góry wiemy, jakie litery będą używane. Będzie to zatem stały element.

     Konkretne litery, po wylosowaniu w dalszej części procedury zostaną przypisane do zmiennych Litera, w których to program będzie je przechowywał podobnie, jak robił to wcześniej z liczbami. Sekcja ta jest zatem bazą, z której program będzie czerpał litery. Pozostaje jeszcze kwestia ich implementacji. Moglibyśmy to zrobić analogicznie jak w przypadku zmiennych, czyli każdą z liter deklarując osobno, na przykład tak:

const
    Znak1:= 'a';
    Znak2:= 'b';
    Znak3:= 'c';
              (...)
    Znak23:= 'z';

     Powyższe rozwiązanie jak widzimy generuje znaczny przyrost kodu i stratę naszego czasu. O wiele szybciej i prościej cały ten zbiór możemy zawrzeć w tablicy stałych:

       const
Tablica: array [1..23] of String     =('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',

        'r','s','t','u','w','y','z');               //tablica liter


     Zamiast znacznika var (od angielskiej nazwy Zmienna) używamy tu znacznika const, czyli stała. W dalszej kolejności wprowadzamy nazwę tablicy. Nazwa może być dowolna, pamiętajmy jednak, że musi być ona jednoczłonowa. My przyjęliśmy prostą nazwę, czyli „Tablica”. Teraz musimy zadeklarować z ilu, i z jakich elementów będzie się składała, oraz po znaku równości, w nawiasie wymieniamy je, każdy element umieszczając w apostrofach i oddzielając go od innych elementów za pomocą przecinka. W naszym przypadku mamy 23 elementy (litery) typu string.

     Chcąc skorzystać w procedurze z tak przygotowanego zbioru, używamy nazwy tablicy i numeru elementu, który chcemy użyć, przykładowo, chcąc użyć literę „c” odwołujemy się do niej w następujący sposób: Tablica[3]. Litera „c” jest trzecim elementem tego zbioru, więc i taką matematyczną nazwę będzie w tym przypadku posiadała.

wtorek, 2 grudnia 2014

Zabawy rozwijające pamięć w Delphi cz 3

Powtórz litery




     Przedstawiona tu zabawa w założeniach podobna jest do tej, którą prezentowaliśmy poprzednio (Powtórz liczby). W obu chodzi o to, aby powtórzyć ciąg znaków, jakie program dla nas wygeneruje. Pomimo tego podobieństwa, użycie liter jako znaków do odgadnięcia implikuje użycie bardziej skomplikowanej formy kodu. Uwarunkowane jest to naturą tychże znaków. W przypadku poprzedniej zabawy, znakami tymi były liczby, więc program -jako maszyna matematyczna- nie miał problemu z ich obróbką. Wystarczyło wylosować jedną liczbę pięcioznakową, aby spełnić nasze oczekiwanie. W sytuacji gdy mamy do czynienia z literami (a więc znakami niematematycznymi), program nie jest w stanie sam od siebie niczego wygenerować. Musimy mu z poziomu kodu zaimplementować jakiś zbiór znaków (w tym przypadku liter), aby mógł na nim dokonywać działań. Poprzez swoje funkcje Delphi zaczyna traktować te znaki w sposób matematyczny, pamiętając jednak, że są to znaki typu string.



Oto peny kod zabawy:


unit Unit1;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;



type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: Tobject);



private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;

WYNIK: String;               //zmienna przechowująca litery do odgadnięcia

Poprawne: Integer;           //zmienna przechowująca ilość poprawnych odpowiedzi

Niepoprawne: Integer;       //zmienna przechowująca ilość niepoprawnych odpowiedzi



implementation



{$R *.dfm}





                                 //przy zamykaniu programu oceń uzyskane wyniki


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  begin        //jeżeli uzyskałeś więcej złych odpowiedzi lub tyle samo co dobrych wtedy...

      if (Poprawne<Niepoprawne) or (Poprawne=Niepoprawne) then

         begin

             ShowMessage('Musisz jeszcze trochę potrenować');      //wyświetl komunikat

         end                                                                              //bez średnika

            else                                                                   //w przeciwnym wypadku...

                ShowMessage('Gratuluję! Uzyskałeś dobry wynik');     //wyświetl komunikat

end;







                                        //gdy naciśniesz przycisk START



procedure TForm1.Button1Click(Sender: TObject);

const

Tablica: array [1..23] of String =('a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p'

                                                                   ,'r','s','t','u','w','y','z');              //tablica liter

piątek, 28 listopada 2014

Zabawy rozwijające pamięć w Delphi cz 2

Komentarz:


1. Stałe elementy, znane z poprzednich zabaw

     Pierwszą część kodu, aż do procedury opisującej przycisk START, nie komentujemy, gdyż znalazła ona swój opis w komentarzu do zabawy „Policz, ile tojest- wersja prosta”.


2. Gdy naciśniesz przycisk START

Edit1.Clear;                  //wyczyść pole edycyjne (Do podawania Odpowiedzi)
Randomize;                           //uruchom maszynę losującą
WYNIK:=Random(99999);    //wylosuj plik do powtórzenia od 0 do 99999


     Na początku procedury usuwamy naszą poprzednią odpowiedź z pola edycyjnego, a następnie uruchamiamy maszynę losującą, aby wylosowała liczby do powtórzenia. W naszej zabawie nie musimy losować każdej liczby osobno, choć oczywiście moglibyśmy. Upraszczamy jednak kod losując jedną liczbę z zakresu od 0 do 99999. Zazwyczaj wylosowana zostanie liczba pięcioznakowa, czyli tyle, ile założyliśmy. Istnieje małe prawdopodobieństwo, że wylosowana liczba będzie jedno- czy powiedzmy dwuznakowa, taka możliwość istnieje, jednak możemy uznać to za bonus zabawy, że daje nam do powtórzenia prostą liczbę. Gdybyśmy chcieli, aby program za każdym razem przedstawiał pięć liczb, musielibyśmy każdą z nich losować i przedstawiać osobno, względnie musielibyśmy tę naszą jedną liczbę obarczyć kilkoma warunkami, aby program wymuszał użycie pięciu znaków.

     Ponieważ w naszej zabawie używamy prostej formy, więc najprościej będzie po prostu wyświetlić ową liczbę na etykiecie programu, obok etykiety Label1, która przedstawia napis „Powtórz liczby”. Skoro wszystkie liczby do powtórzenia wyświetlamy jedna obok drugiej (jako jedną liczbę pięcioznakową), to i w takiej samej formie musimy wpisywać odpowiedź, w przeciwnym wypadku program potraktuje ją jako błędną.

     Dla przejrzystości przedstawianych liczb możemy oddzielić je spacjami, używając metody WYNIK [pozycja liczby w szeregu], czyli na przykład, chcąc wyświetlić trzecią liczbę ze zmiennej WYNIK piszemy: Wynik[3]. Spacje wyświetlamy na etykiecie dodając segment typu (+' '+) - pomiędzy apostrofami umieszczamy jedno miejsce wolne, czyli właśnie spację. Chcąc teraz podać prawidłową odpowiedź, musimy i my podawać liczby, oddzielając je spacjami.

Label7.Caption:=IntToStr(WYNIK);     //wyświetl liczbę do powtórzenia
Label7.Update;                                    //uaktualnij komponent label
Button2.Enabled:=false;                      //zablokuj przycisk Sprawdź
Sleep(3000);                                        //czekaj 3 sekundy
Label7.Caption:='powtórz';          //zamiast liczby wyświetl napis 'powtórz'
Button2.Enabled:=true;                        //odblokuj przycisk Sprawdź
Edit1.SetFocus;                                   //ustaw focus w Polu do Odpowiedzi

Wspomóż mnie lub zostań moim patronem już od 5 zł - sprawdź szczegóły

Moje e-booki

Kliknij w okładkę, aby przejść do strony książki

Przejdź do strony książki Przejdź do strony książki