Pokazywanie postów oznaczonych etykietą PC Kurier. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą PC Kurier. Pokaż wszystkie posty

0195d - Pascal potrafi ?

Przeglądając numer 10/94 PCkuriera natknąłem się na ciekawy artykuł pana Marka Wierzbickiego pod tytułem "Pascal potrafi". Przedstawiono w nim "pozornie nierozwiązywalny w Pascalu" problem zabezpieczenia przed wielokrotnym uruchomieniem tej samej aplikacji w środowisku Windows.

0195c - Diody LED na klawiaturze PC

Często trzeba urozmaicić wizualnie swój program. Niestety trudno jest wpaść na dobry pomysł. Rysowanie w Pascalu kółeczek, kwadracików i linii w grafice BGI lub układanie muzyczek z wykorzystaniem instrukcji Sound stało się już nieciekawe.

0195b - Hasło inaczej

Powracając do nieśmiertelnego tematu zabezpieczeń programu przed dostępem osób niepowołanych, chciałbym zaprezentować swój dość oryginalny sposób. Do uwierzytelniania wszelkich dokumentów bardzo dobry jest "wyrobiony", czyli powtarzalny i mający swoje cechy chrakterystyczne podpis.

0195a - Moduł - SaveWin

Aby zachować fragment ekranu graficznego w napisanym przez siebie programie pascalowym, najlepiej posłużyć się stosunkowo szybką procedurą ekranową GetImage, która wskazany obszar zapamięta na stosie lub w tablicy. Co jednak zrobić, jeśli chcemy zapamiętaną w ten sposób ilustracją posłużyć się w przyszłości lub jeśli ilustracji jest tak dużo, że nie starcza dostępnej pamięci? Odpowiedź jest prosta - należy je zapamiętać na dysku.

1094 - Czcionkami Pisane cz.2

Czcionki typu DefaultFont nie zachwycają swym pięknem. Na szczęście procedura OutText pozwala prezentować tekst w grafice w bardziej efektownej postaci za pomocą czcionek wektorowych. Cóż to takiego czcionki wektorowe? Są to czcionki, których nie tworzy się poprzez wyświetlenie ich w postaci siatki punktów (matrycy), lecz przez narysowanie jako grupy linii. Taki typ reprezentacji pozwala na bardziej finezyjny sposób ich skalowania. Powiększając literę uzyskujemy lepszy obraz jej struktury, nie zaś ogromne, toporne i kanciaste kształty, jak w wypadku czcionek rastrowych (do takiego bowiem typu czcionek należy zaliczyć DefaultFont).

0994 - Czcionkami Pisane cz.1

Celem mojego artykułu jest próba odpowiedzi na pytanie, jakie zadał pan Jarosław Witkowski w post scriptum do swojego artykułu "CRT w trybie graficznym" (PCKurier 20/93, str.153). Chodziło o informację na temat formatu borlandowskich zbiorów czcionek wektorowych *.CHR i ich ewentualnej modyfikacji. Za pytaniem tym kryje się oczywiście odwieczny problem polskich liter. Liczba artykułów na jego temat, opublikowanych w PCkurierze, bije wszelkie rekordy.

0492 - Wieloprocesowość w TurboVision ?

Aby odpowiedzieć na pytanie, czy możliwa jest wieloprocesowość w Turbo Pascalu 6.0, należy najpierw zdefiniować to pojęcie. W komputerach klasy IBM PC wieloprocesowość polega na pozornym wykonywaniu dwóch (lub więcej) czynności w tym samym czasie. Obserwatorom wydaje się, że procesy wykonywane są jednocześnie - wynika to jednak tylko z dużej szybkości pracy komputera.

1692 - Generator Menu

Programowanie w Turbo Vision ma to do siebie, że przy każdym, nawet małym, próbnym programie należy zdefiniować typ, a w nim zadeklarować procedury. Są to przeważnie: HandleEvent, InitMenuBar i InitStatusLine. Cała struktura programu jest niewątpliwie rzeczą pozytywną, jednak zniechęca młodych "praktyków" programistów, którzy rozwijają swoje zdolności bardziej kreatywnie (tzn. nie stosują przykładów z książki, lecz sami chcą wypróbować działanie danej procedury lub przydatność danego typu).

0196 - Lepszy Przycisk

Jednym z najczęściej używanych w programach obiektów jest przycisk tButton. Ma on jednak dwie dość irytujące wady. Po pierwsze, nie pozwala na skonstruowanie przycisku zawierającego więcej niż jedną linię tekstu. Po drugie, nie daje możliwości wyłączenia cienia pojawiającego się zawsze przy przycisku.

1597 - Symulacja cyfrowych układów kombinacyjnych

Artykuł ten poświęcony jest komputerowej symulacji cyfrowych układów kombinacyjnych, tzn. składających się z bramek, a także koderów i dekoderów. Zagadnienie zostało zilustrowane przykładami w C++, ze względu na łatwość operowania wskaźnikami i wysoki stopień abstrakcji danych oferowany przez ten język

1395 - Duże Liczby

Podczas pisania programu do wyszukiwania dużych liczb pierwszych pojawił się przede mną problem, polegający na tym, że musiałem napisać procedury operujące na takich liczbach za pomocą czterech podstawowych działań. W grę miały wchodzić liczby całkowite rzędu ok. 1040. Typy standardowo zdefiniowane w C i Pascalu nie wchodziły w grę - typy całkowite mogą przedstawić na swych 32 bitach liczby rzędu 1010, natomiast typy rzeczywiste przedstawiają wartości przybliżone. Stąd wziął się pomysł zdefiniowania klasy obiektów Very Long Int.

1896 - DPMI - Własny DOS Extender

W roku 1990 firmy: Borland, Eclipse, IGC, Intel, Lotus, Microsoft, PharLap, Phoenix, Quarterdeck i Rational opracowały specyfikację interfejsu programowego dla trybu chronionego procesora. Jest to specyfikacja DPMI (ang. DOS Protected Mode Interface). Do najpopularniejszych programów oferujących DPMI należy QEMM firmy QuarterDeck. Sama specyfikacja nie określa listy funkcji dostępnych przez przerwanie 21h, poza funkcją 4Ch. Jednak serwery DPMI poszczególnych producentów obsługują wiele z tych funkcji. QDPMI, który omówię w dalszej części artykułu, obsługuje m.in. funkcje operacji dyskowych.

0395 - Rozszerzajac CRT

W rubryce "Dla praktyków" padło już wiele propozycji rozwiązań zastępujących funkcjonalnie standardowy moduł CRT. Nie będę zatem prezentować podejścia do tego problemu. Przedstawię natomiast coś, co może stanowić bardzo przyjemny dodatek do wspomnianych prac - kilka procedur i funkcji niskiego poziomu znacznie rozszerzających możliwości zarówno pascalowskiego modułu CRT, jak i modułów zastępujących go. Przy okazji powiem kilka słów na temat szybkości działania programów w Pascalu, wykorzystania wbudowanego w kompilator asemblera i różnych zalet stąd płynących.

2595 - Długie skoki

Wiemy wszyscy, że używanie instrukcji "goto" w Pascalu nie przynosi zaszczytu programiście, a nawet może ściągnąć na niego opinię niedouczonego i nieudolnego. Jesteśmy też wszyscy świadomi, że dowolny algorytm o jednym wejściu i jednym wyjściu można zapisać bez posługiwania się skokiem, jeśli tylko stosowany język programowania zawiera w sobie instrukcje "if" i "while".

1795 - Macierzowe Przekształcenia Przestrzenne

Jeśli chcesz kogoś zadziwić (zainteresować, zaintrygować), to na pewno pokażesz napisany przez siebie program. Jeśli jednak chcesz wprawić kogoś w kompletne osłupienie, program ów powinien zawierać animację czegoś, i to najlepiej w przestrzeni. Jeśli ponadto włożysz w ten program trochę serca i dobrych pomysłów, powstanie dzieło, które rzuci na kolana każdego, kto nań spojrzy, dzieło, które może być namiastką tak ostatnio modnej rzeczywistości wirtualnej. A jak to zrobić ?