ShellExecute(this->GetSafeHwnd(),L"open", editText, L"",L"",SW_NORMAL);
1) this->GetSafeHwnd() - dla komunikatów pro błędy oraz do wyświetlania okna.
2) L"open" - polecenie; może być również edit, explore, find, print, NULL.
3) editText - wskaźnik do NULL łańcucha, jaki określa plik do jakiego zastosowano polecenie.
4) L"" - wskaźnik do łańcucha zawierającego parametry uruchomienia.
5) L"" - wskaźnik do łańcucha określającego katalog roboczy.
6) SW_NORMAL - sposób pokazania okna.
Monday, December 23, 2013
Saturday, December 21, 2013
21.12.13
GetOFN() - metoda, przez jaku odczytujemy nazwę pliku.
OFN - open file name.
CW2A - klasa dla konwersji do jednobajtowych znaków ASCII.
OFN - open file name.
CW2A - klasa dla konwersji do jednobajtowych znaków ASCII.
Wybór pracy magisterskiej 2
Największy problem polega na tym, że nie wiem jaki program będę robić. Z takim sukcesem mogę nie studiować Java oraz Android. Po miesiącach mogę znaleźć się na tym samym punkcie w jakim znajduje się teraz: coś zrobić. Dobrze, dla czego nie C++ i coś zrobić? Co do studiowania Java, Android - dobry pomysł. Tylko nieznanie tematu pracy podpowiada mi, że z tego nie będzie dużo pożytku.
Spróbuję znaleźć jakiś program dla C++. Wśród "visual-c-gotowe-rozwiazania-dla-programistow-windows" nic nie znalazłem dobrego.
Wybór tematu pracy magisterskiej
Pytanie ustalenia tematu pracy magisterskiej już obrzydło mi. Ostatnie na czemu my zatrzymały się, - wykorzystanie metod widzenia komputerowego na platformie Android.
Problemy związane z tym tematem:
1) Temat nie mój.
2) Nie rozumiem się na metodach widzenia komputerowego.
3) Nie znam jak programować pod Android oraz nie znam Java.
Rozwiązanie:
1) Zmienić. Będę brzmieć zupełnie inaczej. I praca będę zupełnie inna, niż ta które zrobi student*.
*-jeżeli kto podejmie ten temat.
2) Można, poczytać o tych metodach. To w ogóle nie problem. Po prostu trzeba będzie wyliczyć metody widzenia komputerowego i zrobić jakiś program.
3) Mam jeszcze 5 miesiąców. Z których jedyny tylko styczeń czego warty! Pod czas studni (od września do grudnia) mogę poświęcić 120 godzin dla programowania (jeżeli liczyć, że miałem 1 godz. codziennie). Lada dzień stycznia mogę mieć tyle czasu dla programowania, ile mam za tydzień, - 6 godzin. Za 28 dni - 168 godzin. Można powiedzieć, że za styczeń mogę mieć tyle czasu dla programowania, ile za 7 miesiąców. Mam dość czasu myślę.
I jeszcze 2 dowody na korzyść podejmowania tego tematu:
1) My będziemy studiować Java w Politechnice Lubelskiej dużo. Co najmniej 3 technologii.
2) Dżes Liberti powiedział, że C++ oraz Java na tyle podobni do siebie języki programowania, że jeżeli znasz jeden automatycznie znasz 90% drugiego. A ja znam C++!
Wniosek. Mogę brać się za ten temat; również za Java. Daję 90% prawdopodobieństwa, że potrafię wyuczyć ten język i zrobić aplikacje do ustalonego czasu.
Ubezpieczenia: w kwietniu, jeżeli, wciąż nie będę zdolny do tego, żeby zrobić ten program, - kupię na elance.com.
Thursday, December 19, 2013
19.12.13
WinExec("sol.exe",SW_NORMAL) - funkcja dla uruchomienia innych aplikacji.
1 arg. - tu, nazwa gry domyślnej - pasjansa. Często - ścieżka pliku wykonywalnego.
2 - parametr określający wygląd aplikacji. W danym przypadku - normalne okno.
CFileDialog - klasę, standardowego okna dialogowego wyboru pliku.
CFileDialog fileDialog(true, L".exe", NULL, 0, filter);
1 - jeżeli true - dla otwarcia pliku, false - dla zapisywania.
2 - dodawanie nazwy. 0 - żadnego dodawania.
3 - początkowa nazwa pliku. NULL - żadnej początkowej nazwy pliku.
_______________________________________________________
Tu nie mamy parametru flaga.
_______________________________________________________
5 - parametr, jaki określa typ pliku. Tylko ten tym pliku będzie wyświetlany na liście.
_______________________________________________________
4 - Nie ma parametru, który wskazuje okno właściciela lub rodzica
_______________________________________________________
MFC kod określi poprawny rozmiar dialog box, na podstawie wersji systemu operacyjnego.
musiałby być parametr określający styl okna dialogowego.
MAX_PATH - 260 znaków.
1 arg. - tu, nazwa gry domyślnej - pasjansa. Często - ścieżka pliku wykonywalnego.
2 - parametr określający wygląd aplikacji. W danym przypadku - normalne okno.
CFileDialog - klasę, standardowego okna dialogowego wyboru pliku.
CFileDialog fileDialog(true, L".exe", NULL, 0, filter);
1 - jeżeli true - dla otwarcia pliku, false - dla zapisywania.
2 - dodawanie nazwy. 0 - żadnego dodawania.
3 - początkowa nazwa pliku. NULL - żadnej początkowej nazwy pliku.
_______________________________________________________
Tu nie mamy parametru flaga.
_______________________________________________________
5 - parametr, jaki określa typ pliku. Tylko ten tym pliku będzie wyświetlany na liście.
_______________________________________________________
4 - Nie ma parametru, który wskazuje okno właściciela lub rodzica
_______________________________________________________
MFC kod określi poprawny rozmiar dialog box, na podstawie wersji systemu operacyjnego.
musiałby być parametr określający styl okna dialogowego.
MAX_PATH - 260 znaków.
Wednesday, December 18, 2013
18.12.13
ChangeDisplaySettings (listaTrybowKartyGraf->GetAt(pocycja),0) - zmiana trybu na żądany.
1szy argument - struktura zawierająca opis trybu.
0 - zmienić tryb dynamicznie.
Zamiast 0, jeszcze może być:
CDS_TEST - test zgodności nowego trybu z możliwościami karty graficznej.
CDS_GLOBAL - dotyczy wszystkich użytkowników.
CDS_FULLSCREEN - pełnoekranny tryb graficzny.
CDS_SET_PRIMARY - dany monitor jako podstawowy.
DISP_CHANGE_SUCCESSFUL - jedno z zwracanych wartości funkcją ChangeDisplaySettings, co znaczy zmiana ustawień pomyślna.
MessageBeep() - uruchomia sygnał.
MB_ICONHAND - znaczenie domyślne
DISP_CHANGE_RESTART - komputer trzeba ponownie uruchomić dla zmiany.
DISP_CHANGE_BADFLAGS - błędne ustawienia.
1szy argument - struktura zawierająca opis trybu.
0 - zmienić tryb dynamicznie.
Zamiast 0, jeszcze może być:
CDS_TEST - test zgodności nowego trybu z możliwościami karty graficznej.
CDS_GLOBAL - dotyczy wszystkich użytkowników.
CDS_FULLSCREEN - pełnoekranny tryb graficzny.
CDS_SET_PRIMARY - dany monitor jako podstawowy.
DISP_CHANGE_SUCCESSFUL - jedno z zwracanych wartości funkcją ChangeDisplaySettings, co znaczy zmiana ustawień pomyślna.
MessageBeep() - uruchomia sygnał.
MB_ICONHAND - znaczenie domyślne
DISP_CHANGE_RESTART - komputer trzeba ponownie uruchomić dla zmiany.
DISP_CHANGE_BADFLAGS - błędne ustawienia.
DISP_CHANGE_FAILED - sterownik ekranu odrzucił ustawienia.
DISP_CHANGE_BADMODE - Wybrany tryb ekranu nie jest obsługiwany.
DISP_CHANGE_NOTUPDATED - Nowe ustawienia nie mogły zostać zapisane do rejestru (brak uprawnień).
Monday, December 16, 2013
Sunday, September 22, 2013
Що ми можемо написати для комп'ютера?
Може здатися, що я заплутався: то кажу, що ми пишемо до компілятора (перекладача), то до комп'ютера. Надіюся, що ви зрозуміли, що ми пишемо лист компілятору, який у свою чергу "перекладає" його для нашого головного адресата, - комп'ютера на мову "01" (нулів та одиниць).
int x = 10;
"Скриньки" в мові С++ називають "змінними". Логічно, - використовуються для того, щоб щось зберігати. Зверху, знаходиться змінна х, в яку "кладуть" число 10. Даний предмет може бути виготовлений з дерева, металу, пластмаси; аналогічно "змінні" мають свій тип: int, double, float, bool, char. Незнайомі слова іншомовного походження?
Трішки про типи. Якщо змінна має тип int, - це означає, що вона зможе зберігати цілі числа (числа, які ми використовуємо при лічбі). Якщо char, - зберігає символи ("м", "п" і т.д.)...
С++, якщо по-простому, то це...
Я не знаю китайської мови. І тому, якщо захочу порозмовляти з представником китайської культури, - мені потрібен буде перекладач. Аналогічно, з комп'ютером. Напряму, з ним, люди не спілкуються, тому що не знають його мови. Комп'ютерного "перекладача" називають "компілятор".
Я "спілкуюся" з компілятором, а "він" у свою чергу перекладає комп'ютеру на зрозумілу йому "мову". Що ж це за мова яку розуміє комп'ютер? Наявність та відсутність електричного сигналу! Наприклад, подається струм на плату чи ні (рис. 1). Серед програмістів прийнято позначати наявність струму, - "1" (одиничкою), а відсутність, - "0". Тому і говорять, що машина (персональний комп'ютер) розуміє тільки мову нулів та одиниць.
Рис.1 - плата
В реальному житті, я можу найняти українсько-китайського, російсько-китайського, англійсько-китайського чи польсько-китайського перекладача, так як я знаю 4 мови. Аналогічно з комп'ютером, ми можемо "найняти" перекладача, який зможе перекласти з С++ на мову 01 (нулів та одиниць), або Java - 01, Pascal - 01, C - 01. Усе залежить від того, яку мову ти знаєш?!
Сьогодні ми поговоримо про "перекладача", який знає С++ і зможе перекласти на мову 01. Мова С++ - командна (від слова "командувати"). Ми постійно "говоримо" комп'ютеру (не напряму, звісно), створи те, зроби те, виділи пам'ять, видали і т.д. Так як в мові важливий словниковий запас, у програмуванні (С++, в даному випадку), важливо знати команди. Тоді ми зможемо написати такі команди, які створять необхідну для нас програму (з компілятором спілкуються письмово).
Так само, як ми спілкуємося з людьми, використовуючи програму електронної пошти (наприклад, онлайн-програма для пошти на Gmail): запускаємо, відкриваємо редактор (щось подібне до Ворда), пишемо текст, відправляємо; подібним чином ми спілкуємося з компілятором, ми заходимо в спеціальну програму-редактор (аналогія програми електронної пошти), в якій пишемо "листа" компілятору.
Таких програм, за допомогою яких ми можемо "листуватися" з компілятором багато: Visual Studio, Dev C++, CodeBlocks. Тут ми будемо, виключно, говорити про Visual Studio 12.
Для того, щоб створити нову програму напискаємо клавішу Ctrl, потім, не відпускаючи, - Shift (така стрілочка вверх), а потім, не відпускаючи дві попередні клавіши, англійську N (Ctrl + Shift + N). Якщо не виходить в такий спосіб, - відкриваємо меню File (ліворуч, зверху), потім New, потім Project... (File - New - Project...). Відкриється приблизно ось таке вікно (рис. 2).
Рис. 2 - вікно створення нової програми
Ліворуч обираємо Templates - Visual C++. По центру, обираємо Win32 Console Application (будемо створювати програми, які мають вигляд, показаний на рис.3). Внизу, в поле Name, вписуємо назву нашої програми. Можна і нічого не вписувати, як правило редактор (наша програма для листування) постійно пропонує свою назву програми. Visual Studio завжди називає їх типу ConsoleApplication з номером цифри. Після чого натискаємо OK - Finish.
Відкриється вікно, де ми можемо писати наш "лист перекладачу" (компілятору) (рис. 4).
Рис. 4 - вікно для написання команд
Лист, починаємо писати для компілятора після першої (відкриваючої) дужки main (рис. 5). Тут ми будемо записувати усе, те, що ми хочемо сказати комп'ютеру*.
Рис. 5. - початок "листа"
* - ми пишемо на мові, яку знає "перекладач". В нашому випадку С++. У свою чергу компілятор "перекладає" нашу мову комп'ютеру.
Subscribe to:
Posts (Atom)



