Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 17.12.12
|
|
Отправлено: 17.12.12 19:14. Заголовок: Новичок
Добрый вечер. Я впервые сталкиваюсь с данным языком и этой средой. Может кто показать, как создать обычный проект с простенькой программой скомпилировать и запустить ? И что лучше использовать, среду Harbour или CA Clipper ?
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|
|
| moderator
|
Пост N: 500
Зарегистрирован: 06.07.06
|
|
Отправлено: 17.12.12 21:20. Заголовок: CA Clipper - 16-разр..
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 09:16. Заголовок: ещё один новичек
Доброго времени суток. Недавно набрёл на информацию о существовании этого языка. Когда-то был недолгий опыт работы с клиппером, потом судьба разлучила нас :) Заинтересовался, скачал сборку HMG 3.1.1, установил и тут началось. В папке samples мелкие примеры с гуи вроде нормально компилятся и работают. Добрался до папки tutorial (меня в первую очередь, точнее, в основном интересует работа с базой данных) примеры, то не компилируются, то компилируются, но не работают. Перепробовал несколько версий (3.1.0, 3.0.46, 3.0.40, 3.0.20) и примеры tutor20, tutor21 и из папки sqlite одноимённый пример. Прописал пути к компилятору и hbmk2 (без этого даже компилировать не давала) Так вот в разных версиях по разному ... Когда говорил "не работают" выше по тексту, то имел ввиду поведение следующее, программа подразумевает, что изменённые в табличке(на форме) должны сохраняться в самом dbf-файле,а они не сохраняются, dbf-файл остаётся не изменённым. Нашёл версию, где скомпилированная программа правильно работает с dbf-файлом, но в этой версии компиляция проходит только если преварительно удалить ранее собранную программу (exe-файл) в протином случае при компиляции ругается на невозможность удалить этот файл. Короче полный абзац. При этом на форуме нет ни слова про такие проблемы :( Так что же у меня не так? Какая версия HMG считается стабильной? С чего же начать если хочется создавать гуи-программу для работы с базами данных? Сайт Кресина уже читал. Извиняюсь за сумбурность поста, но за две недели так и не удалось найти отправную точку для работы с харбуром, помогите
|
|
|
|
| moderator
|
Пост N: 537
Зарегистрирован: 06.07.06
|
|
Отправлено: 31.01.13 10:08. Заголовок: Про HMG ничего не мо..
Про HMG ничего не могу сказать. Если, как я понял, в ее сборку включен и сам Harbour, то это, на мой взгляд, не лучшая идея. Есть сам Harbour, его желательно брать с официального сайта, а есть к нему, в числе прочего, и разные GUI библиотеки, их тоже надо, я считаю, брать отдельно, чтобы сразу было четкое понимание структуры всего этого дела. Лично я порекомендовал бы свою HwGUI - но не буду настаивать. цитата: | программа подразумевает, что изменённые в табличке(на форме) должны сохраняться в самом dbf-файле,а они не сохраняются, dbf-файл остаётся не изменённым. Нашёл версию, где скомпилированная программа правильно работает с dbf-файлом, |
| Думаю, дело не в версии самой HMG, а в той программе - посмотрите код, сравните с новым. rovix пишет: цитата: | но в этой версии компиляция проходит только если преварительно удалить ранее собранную программу (exe-файл) в протином случае при компиляции ругается на невозможность удалить этот файл |
| Скорее всего, этот exe был у вас запущен, версия тут ни при чем. цитата: | С чего же начать если хочется создавать гуи-программу для работы с базами данных? |
| GUI - отдельно, базы данных - отдельно, одно с другим никак не связано. Попробуйте сначала без всякой GUI библиотеки написать что-нибудь для работы с БД - простую консольную программу на Харборе, точно такую, как если бы писали на Клиппере. А потом используйте наработанный код - чтение/поиск/добавление/изменение данных в выбранной вами GUI оболочке.
|
|
|
|
| постоянный участник
|
Пост N: 2609
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.01.13 12:44. Заголовок: rovix пишет: Извиня..
|
|
|
|
| |
Пост N: 31
Зарегистрирован: 13.06.12
|
|
Отправлено: 31.01.13 12:46. Заголовок: Как вариант, можно п..
Как вариант, можно посмотреть MiniGUI. gfilatov2002 пишет: В папке Samples\Basic присутствуют примеры работы с БД с графическим интерфейсом. Все примеры рабочие! Удачи!
|
|
|
|
| |
Пост N: 1
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 16:00. Заголовок: Спасибо всем откликнувшимся...
alkresin пишет: цитата: | Про HMG ничего не могу сказать. Если, как я понял, в ее сборку включен и сам Harbour, то это, на мой взгляд, не лучшая идея. Есть сам Harbour, его желательно брать с официального сайта, а есть к нему, в числе прочего, и разные GUI библиотеки, их тоже надо, я считаю, брать отдельно, чтобы сразу было четкое понимание структуры всего этого дела. Лично я порекомендовал бы свою HwGUI - но не буду настаивать. |
| Да HMG включает в себя всё необходимое с точки зрения создателя пакета для работы программиста. Я не против иметь чёткое понимание структуры, но где почитать как подключать ГУИ-библиотеки к чистому харбору? Какая должна быть структура папок? Я и чистый харбор пробовал и HwGUI, правда сказать сейчас где чего не получалось уже не получится - всё смешалось в голове, пакеты, версии...) цитата: программа подразумевает, что изменённые в табличке(на форме) должны сохраняться в самом dbf-файле,а они не сохраняются, dbf-файл остаётся не изменённым. Нашёл версию, где скомпилированная программа правильно работает с dbf-файлом, цитата: | Думаю, дело не в версии самой HMG, а в той программе - посмотрите код, сравните с новым. |
|
Вот текст примера. Никаких, вроде бы, сложностей. Скрытый текст #include "hmg.ch" Function Main DEFINE WINDOW Win_1 ; AT 0,0 ; WIDTH 640 ; HEIGHT 480 ; TITLE 'Tutor 21: Data-Bound Controls Test' ; MAIN ; ON INIT OpenTables() ; ON RELEASE CloseTables() DEFINE TOOLBAR ToolBar_1 BUTTONSIZE 100,30 FLAT RIGHTTEXT BORDER BUTTON TOP ; CAPTION '&Top' ; PICTURE 'primero.bmp' ; ACTION ( DbGoTop() , Refresh() ) BUTTON PREVIOUS ; CAPTION '&Previous'; PICTURE 'anterior.bmp' ; ACTION ( DbSkip(-1) , Refresh() ) BUTTON NEXT ; CAPTION '&Next'; PICTURE 'siguiente.bmp' ; ACTION ( DbSkip(1) , if ( eof() , DbGoBottom() , Nil ) , Refresh() ) BUTTON BOTTOM ; CAPTION '&Bottom' ; PICTURE 'ultimo.bmp' ; ACTION ( DbGoBottom() , Refresh() ) BUTTON SAVE ; CAPTION '&Save' ; PICTURE 'guardar.bmp' ; ACTION ( Save() , Refresh() ) BUTTON UNDO ; CAPTION '&Undo' ; PICTURE 'deshacer.bmp' ; ACTION ( Refresh() ) END TOOLBAR @ 50,10 LABEL LABEL_1 VALUE 'Code:' @ 80,10 LABEL LABEL_2 VALUE 'First Name' @ 110,10 LABEL LABEL_3 VALUE 'Last Name' @ 140,10 LABEL LABEL_4 VALUE 'Birth Date:' @ 170,10 LABEL LABEL_5 VALUE 'Married:' @ 200,10 LABEL LABEL_6 VALUE 'Bio:' @ 50,200 TEXTBOX TEXT_1; FIELD TEST->CODE ; NUMERIC ; MAXLENGTH 10 @ 80,200 TEXTBOX TEXT_2; WIDTH 150 ; FIELD TEST->FIRST ; MAXLENGTH 30 @ 110,200 TEXTBOX TEXT_3; WIDTH 150 ; FIELD TEST->LAST ; MAXLENGTH 30 @ 140,200 DATEPICKER DATE_4 ; FIELD Test->Birth @ 170,200 CHECKBOX CHECK_5 ; CAPTION '' ; FIELD Test->Married @ 200,200 EDITBOX EDIT_6 ; FIELD Test->Bio ; HEIGHT 100 END WINDOW Win_1.Text_1.SetFocus ACTIVATE WINDOW Win_1 Return Nil Procedure Refresh Win_1.Text_1.Refresh Win_1.Text_2.Refresh Win_1.Text_3.Refresh Win_1.Date_4.Refresh Win_1.Check_5.Refresh Win_1.Edit_6.Refresh Win_1.Text_1.SetFocus Return Procedure Save Win_1.Text_1.Save Win_1.Text_2.Save Win_1.Text_3.Save Win_1.Date_4.Save Win_1.Check_5.Save Win_1.Edit_6.Save Return Procedure OpenTables USE TEST Return Procedure CloseTables USE Return
| Всё просто и понятно, но скомпилированная одной версией программа сохраняет изменённые данные, а в другой не сохраняет :( цитата: но в этой версии компиляция проходит только если преварительно удалить ранее собранную программу (exe-файл) в протином случае при компиляции ругается на невозможность удалить этот файл Скорее всего, этот exe был у вас запущен, версия тут ни при чем. Я бы тоже так сказал, если бы у меня кто-то спросил. Я смотрел и в процессах и вручную экзешники удаляются без проблем. цитата: С чего же начать если хочется создавать гуи-программу для работы с базами данных? цитата: | GUI - отдельно, базы данных - отдельно, одно с другим никак не связано. Попробуйте сначала без всякой GUI библиотеки написать что-нибудь для работы с БД - простую консольную программу на Харборе, точно такую, как если бы писали на Клиппере. А потом используйте наработанный код - чтение/поиск/добавление/изменение данных в выбранной вами GUI оболочке. |
|
Пробовал и на простом харборе сделать консольную программу для простой работы с таблицей через browse() - таблица выводится, но нормально выводится только английский шрифт, с кирилическим шрифтом так и не получилось побороть хотя перепробовал все варианты найденные и на этом сайте и на других (ну по крайней мере, я так думаю, что всё перепробовал ). Кстати когда пробовал в ГУИ, то там проблему с кирилическим шрифтом решил сразу)
|
|
|
|
| постоянный участник
|
Пост N: 824
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.01.13 16:27. Заголовок: Текст программы, кот..
Текст программы, который вы показали, это пример DATA_BOUND из комплекта MiniGui. У меня он работает.
|
|
|
|
| |
Пост N: 2
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 16:34. Заголовок: а какая версия MiniG..
а какая версия MiniGUI стоит?
|
|
|
|
| постоянный участник
|
Пост N: 2610
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.01.13 18:22. Заголовок: rovix пишет: Пробов..
rovix пишет: цитата: | Пробовал и на простом харборе сделать консольную программу для простой работы с таблицей через browse() - таблица выводится, но нормально выводится только английский шрифт, с кирилическим шрифтом так и не получилось побороть хотя перепробовал все варианты найденные и на этом сайте и на других (ну по крайней мере, я так думаю, что всё перепробовал |
| Слушайте, это даже смешно.... Кто здесь на сайте присутствует, у того проблем с русским языком в терминалке НЕТ ! Выкладывайте свой код программы, покажем где и что добавить нужно. И указывайте, на чем собираете (версию) компилятора. MiniGui - работает с базами на любом языке ! Проблем вообще не наблюдаю.
|
|
|
|
| |
Пост N: 2612
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.13 19:10. Заголовок: Andrey пишет: Слуша..
Andrey пишет: цитата: | Слушайте, это даже смешно... |
| Да ни чего смешного ..... Andrey пишет: цитата: | Выкладывайте свой код программы |
| +1
|
|
|
|
| moderator
|
Пост N: 541
Зарегистрирован: 06.07.06
|
|
Отправлено: 31.01.13 20:23. Заголовок: rovix пишет: как по..
rovix пишет: цитата: | как подключать ГУИ-библиотеки к чистому харбору? Какая должна быть структура папок? |
| Все гораздо проще :). Все зависит от инструмента, которым вы строите свою программу. Раз вы имели дело с HwGUI, то там были bat файлы, в которых содержатся команды вызова компилятора Harbour, С компилятора и линкера. Вот там, в этом bat файле надо указать правильный путь к библиотекам Harbour и GUI библиотекам, где бы они ни находились. В случае с HMG - понятия не имею, чем там строятся программы, но наверняка и там можно где-то пути указать. rovix пишет: цитата: | Вот текст примера. Никаких, вроде бы, сложностей. |
| Хм... Могу предположить, что сохранение производится в строках Win_1.Text_1.Save, но как реализован этот Save - кто его знает... Если это где-то внутри HMG, то, может, действительно в вашей версии ошибка была. Именно поэтому для начинающего это, мне кажется, не лучший вариант. Вы еще не научились работать с БД, используя родные средства Клиппера/Харбора, а вам уже подсовывают оболочки, где эти родные средства глубоко упрятаны. цитата: | Я смотрел и в процессах и вручную экзешники удаляются без проблем. |
| Может, там используется make-система и exe не удалялся потому, что дата его создания больше, чем даты создания объектных файлов и prg ? цитата: | Пробовал и на простом харборе сделать консольную программу для простой работы с таблицей через browse() - таблица выводится, но нормально выводится только английский шрифт, с кирилическим шрифтом так и не получилось |
| А в какой кодировке данные в dbf, 866 или 1251 ?
|
|
|
|
|
| постоянный участник
|
Пост N: 368
Зарегистрирован: 06.02.07
|
|
Отправлено: 31.01.13 21:45. Заголовок: Посмотрите, если инт..
Посмотрите, если интересно - некогда начал [да забросил :( ] "курс молодого бойца по Harbour MiniGUI" ( собственно, расширенный вариант MiniGUI.chm) (там хотя бы "начало начал" есть - но до работы с базами не добрался); может быть, поможет "самые азы" освоить, хоть самые первые приложения на МиниГУИ сделать - дальше проще будет, можно уже разбираться по примерам (хотя бы начиная с \MiniGUI\SAMPLES\BASIC).
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 21:57. Заголовок: программа проста до ..
программа проста до безобразия: REQUEST HB_CODEPAGE_RU866 REQUEST HB_CODEPAGE_RU1251 HB_CDPSelect( "RU866" ) PROCEDURE MAIN() LOCAL aStruct SET DELETED OFF CLEAR SCREEN USE test.dbf CODEPAGE "RU866" BROWSE() RETURN Компилирую с помощью hbmk2 (Harbour Make (hbmk2) 3.0.0 (Rev. 16951))
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 22:19. Заголовок: gustow пишет: Посмо..
gustow пишет: цитата: | Посмотрите, если интересно - некогда начал [да забросил :( ] "курс молодого бойца по Harbour MiniGUI" (собственно, расширенный вариант MiniGUI.chm) (там хотя бы "начало начал" есть - но до работы с базами не добрался); может быть, поможет "самые азы" освоить, хоть самые первые приложения на МиниГУИ сделать - дальше проще будет, можно уже разбираться по примерам (хотя бы начиная с \MiniGUI\SAMPLES\BASIC). |
| Спасибо, с простыми примерами входящими в состав пакета HMG у меня получается, но поскольку не получается элементарная операция углубляться как-то не резонно.
|
|
|
|
| постоянный участник
|
Пост N: 370
Зарегистрирован: 06.02.07
|
|
Отправлено: 31.01.13 22:34. Заголовок: rovix , вот давайте-..
rovix , вот давайте-ка на Вашем примере (разбирая по шагам) и начнем делать "Harbour + MiniGUI для чайников"! Вы - как раз очень подходящий "объект" для "сравнительно честного разбора полетов" ;) Можно это (наверное, даже лучше будет) в отдельную ветку форума вынести (ну, или здесь продолжить)... Сначала четко (и кратко; то, что у сценаристов в кино называется "синопсис") сформулируйте задачу: "я хочу сделать прогу, которая будет делать вот это!.." (что-то простое для начала). И - поехали "по шагам"! (на каждом этапе не оставляя "за спиной" неясностей "на потом" - чтобы четко понимать, зачем мы делаем или пишем вот то-то или то-то...) Итак - ЦЕЛЬ (функционал) СОЗДАНИЯ ПРОГРАММЫ? (к примеру, "Телефонный справочник" ;) )
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 31.01.13
|
|
Отправлено: 31.01.13 22:47. Заголовок: Согласен, это будет ..
Согласен, это будет здорово. Телефонный справочник, очень даже подойдёт.
|
|
|
|
| постоянный участник
|
Пост N: 371
Зарегистрирован: 06.02.07
|
|
Отправлено: 31.01.13 22:58. Заголовок: rovix , в общем, теп..
rovix , в общем, теперь ВЫ - главный "пинатель" и "шило в заднице" в этой теме :)) (в хорошем смысле!) Теребите "ветеранов" и "гуру", пока в каждом конкретном этапе не остается для ВАС "белых пятен" (для создания данного простого приложения - "навороты" будете изучать и осваивать потом!). Итак, вопросы?.. И - будем фиксировать каждй шаг в Викиучебнике "для чайников за 5 минут", да? (как у какого-нибудь Аристотеля, в виде "диалогов") Или?.. З.Ы. Сразу предупреждаю относительно себя: я пользую HMG + BCC ("стандартную поставку Григория Филатова"). Если для Вас желательно использовать компилятор mingw - у меня лично опыта работы с ним нет (или мизерно мало) и лично я буду менее полезен. Но, надеюсь, НЕ только я буду принимать участие в роли (хотя б относительного) "ветерана", а и другие?.. ;)
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 31.01.13
|
|
Отправлено: 01.02.13 10:28. Заголовок: Для того, чтобы осоз..
Для того, чтобы осознанно выбрать BCC или MinGW нужно знать преимущества и недостатки каждого из них. На текущий момент мне абсолютно всё равно каким компилятором пользоваться. Было только одно соображение в пользу MinGW, он более свежий, а значит, теоретически, лучше. HMG скачал по ссылке в этом топике 2.1.9, BCC тоже стоит. Подходит?
|
|
|
|
| постоянный участник
|
Пост N: 2611
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.02.13 11:49. Заголовок: gustow пишет: прогр..
gustow пишет: цитата: | программа проста до безобразия: REQUEST HB_CODEPAGE_RU866 REQUEST HB_CODEPAGE_RU1251 HB_CDPSelect( "RU866" ) PROCEDURE MAIN() LOCAL aStruct SET DELETED OFF CLEAR SCREEN USE test.dbf CODEPAGE "RU866" BROWSE() RETURN |
| HB_CDPSelect( "RU866" ) - Убрать совсем вверху и внести в функцию MAIN(). Этот оператор должен включать русскую кодовую страницу 866, а так у вас остается английская кодовая страница и на экране из-за этого "кракозябы" !
|
|
|
|
| постоянный участник
|
Пост N: 374
Зарегистрирован: 06.02.07
|
|
Отправлено: 01.02.13 12:26. Заголовок: rovix пишет: Подход..
rovix пишет: Вполне! (для меня, по крайней мере ;) пользую то же самое). В общем-то, от компилятора (BCC или mingw), думаю, мало что зависит в данном случае: просто берем "филатовскую" сборку HMG для соотв.компилятора, а батники для сборки примеров ( надеюсь - поскольку mingw-шную сборку не смотрел) не отличаются, и в исходниках проги (которую мы пишем) разницы (не [должно] быть) никакой.
|
|
|
|
| постоянный участник
|
Пост N: 375
Зарегистрирован: 06.02.07
|
|
Отправлено: 01.02.13 12:34. Заголовок: Andrey пишет: gusto..
Andrey пишет: _Я_ писал это??? О___о :))
|
|
|
|
|
| постоянный участник
|
Пост N: 2614
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.02.13 13:04. Заголовок: gustow пишет: _Я_ п..
gustow пишет: цитата: | _Я_ писал это??? О___о :)) |
| Это форум сбоит, я просто цитату сделал....
|
|
|
|
| постоянный участник
|
Пост N: 2615
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.02.13 14:56. Заголовок: rovix пишет: програ..
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 31.01.13
|
|
Отправлено: 01.02.13 15:05. Заголовок: Andrey пишет: HB_CD..
Andrey пишет: цитата: | HB_CDPSelect( "RU866" ) - Убрать совсем вверху и внести в функцию MAIN(). Этот оператор должен включать русскую кодовую страницу 866, а так у вас остается английская кодовая страница и на экране из-за этого "кракозябы" ! |
| Спасибо, так заработало!
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 31.01.13
|
|
Отправлено: 01.02.13 16:46. Заголовок: Andrey, спасибо за п..
Andrey, спасибо за пример программы и работает и компилируется - буду разбираться дальше.
|
|
|
|
| |
Пост N: 9
Зарегистрирован: 31.01.13
|
|
Отправлено: 01.02.13 16:48. Заголовок: gustow пишет: батни..
gustow пишет: цитата: | батники для сборки примеров |
|
а кнопка "Скомпилировать и запустить" в IDE HMG некорректно работает, собирать обязательно нужно с помощью батника?
|
|
|
|
| постоянный участник
|
Пост N: 376
Зарегистрирован: 06.02.07
|
|
Отправлено: 01.02.13 18:59. Заголовок: rovix пишет: в IDE ..
rovix пишет: Хе-хе! ;) Я как раз и предлагаю обойтись на первых порах (в самых первых примитивных приложениях) без HMG IDE (чтобы прочувствовать, зачем мы пишем каждую строчку). "Вижуалить" много ума не надо - только как "школа" (на первых уроках) это развращает и "расслабляет мозги" на весь дальнейший путь (имхо, конечно)... ;) А вот написать (в "тупом" FARовском редакторе) руками .PRG-файл из 20 строчек, понять, зачем каждый символ, потом запустить элементарный батник из одной строчки - и получить работающее 32-битное "родное" виндовое приложение со всеми "оконными делами"... это хороший стиль для начала, ящитаю ;)
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 31.01.13
|
|
Отправлено: 01.02.13 23:35. Заголовок: написать 20 строк в ..
написать 20 строк в текстовом редакторе не проблема когда знаешь, что писать. "Свижуаленный" текст содержит только минимум информации, всё равно все управляющие директивы (если они нужны) вставлять придётся руками. Вот только где взять список директив, чтобы понять какая нужна в том или ином случае? Под директивами я подразумеваю заклинания типа request, #define , #include, set . На основании своего жизненного опыта я могу прокомментировать практически весь код из примера, который прислал Andrey (ну, правда, часть подсмотрел ранее в последние пару недель пока пытался найти точку отсчёта. Но это когда программа готова, а вот написать такое с нуля.... Ничего подобного мне не попадалось за всё это время поисков в интернете. Нигде не попалось, что версия HMG 3.х.х экспериментальная, примеры там ну просто аховские, да ещё и не работают. Да, я не сказал, в начале, что пользуюсь IDE входящим в поставку пакета. Короче можно долго ещё жалиться на судьбу, давайте двигаться дальше. Чего будем делать дальше? Я сочиняю программу и прошу подсказки когда что-то не получается? Кстати, по поводу элементарного батника из одной строки - имеется ввиду батник вызывающий батник compile из папки bath с передачей ему полученных параметров?
|
|
|
|
| постоянный участник
|
Пост N: 2621
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.02.13 10:55. Заголовок: rovix пишет: Нигде ..
rovix пишет: цитата: | Нигде не попалось, что версия HMG 3.х.х экспериментальная, примеры там ну просто аховские, да ещё и не работают. |
| Бери МиниГуи от Филатова, там больше примеров и более всего понятней, да и помощи проси здесь на форуме в разделе GUI. Бери и используй для работы сначала стандартную связку BCC + MiniGui ! Моя начальная дока по МиниГуи - http://clipper.borda.ru/?1-6-0-00000003-000-0-0-1355737585 Вот новые примеры по МиниГуи, которые я делаю - http://files.mail.ru/F0321CE2BC214FC8994412485BB100C4 rovix пишет: цитата: | Кстати, по поводу элементарного батника из одной строки - имеется ввиду батник вызывающий батник compile из папки bath с передачей ему полученных параметров? |
| Да это так ! Напиши (нарисуй) какую программу делаешь. Подскажем как реализовать.
|
|
|
|
| постоянный участник
|
Пост N: 377
Зарегистрирован: 06.02.07
|
|
Отправлено: 02.02.13 11:10. Заголовок: rovix пишет: Ничего..
rovix пишет: цитата: | Ничего подобного мне не попадалось за всё это время поисков в интернете. |
|
Я в своем (заброшенном) "курсе молодого бойца" на narod.ru (собственно, расширенном Help'е MinGUI.chm) как раз такой процесс и начал описывать (писание "руками" и "с нуля"): именно что "пока не отвлекаясь на детали (какие вообще есть #define, #include и пр.)", а - для начала - говоря "пока что эти строчки просто скопируй, зачем они нужны - разберемся позже, когда первые простейшие приложения научишься создавать". Насчет rovix пишет: цитата: | версия HMG 3.х.х экспериментальная, примеры там ну просто аховские, да ещё и не работают. |
|
не знаю - пользуюсь тем, что Григорий выкладывает; да, возможно, в некоторых случаях там что-то и не работает из примеров, но BASIC - работает вроде бы всё, и так, как должно работать. Я же предложил (как мне кажется, правильную) последовательность: "пункт 1й - ВЫ кратко описываете, что хотите построить - какое по ФУНКЦИОНАЛУ приложение, начальные/граничные условия..." и т.д. Если хотите, чтобы процесс "написания чайниковского мануала параллельно написанию приложения" был построен как-то по-другому - предлагайте (или кто-то пусть предложит) как. "Искусство программирования Дональда Кнута в 3-х толстенных томах" или керниган-ричевское "Программирование на С" писать не собираюсь (времени-сил-способностей не имею)... ;) Хотя если кто-то напишет - с удовольствием (и, надеюсь, с пользой для себя) почитаю.
|
|
|
|
| |
Пост N: 11
Зарегистрирован: 31.01.13
|
|
Отправлено: 04.02.13 17:43. Заголовок: Телефонный справочни..
Телефонный справочник. Главное окно: На форме выведен список телефонных номеров отсортированный по фамилии. Поля в телефонном справочнике: -ТелНомер: строка, 7 символов, принимаются только цифры; -МобНомер: мобильный номер, строка, 15 символов, принимаются только цифры; -Фамилия: строка 30 символов; -Имя: строка 20 символов; -Отчество: строка, 30 символов; -Адрес: строка, 100 символов; -Место работы: строка, 100 символов; -Примечание: строка, 100 символов. На форме присутствуют кнопки: -Добавить: добавить контакт; -Изменить: изменить контакт,выскакивает модальное окно с полями входящими в БД (карточка клиента); -Удалить: удалить контакт, естественно переспросив пользователя; -Поиск: поиск контакта по любому полю имеющемуся в таблице; -Печать: печать текущей телефонной карточки; -Выход: выход из телефонного справочника. Кроме этого, форма реагирует на нажатия клавиш: -Ctrl+A: добавить контакт; -Ctrl+E: изменить контакт; -Ctrl+F: поиск; -Ctrl+P: печать; -Ctrl+X: выход из справочника; -Ctrl+Y: удалить контакт. Примерно такой вод телефонный справочник. Вообщем-то для учебных целей можно, конечно же, часть этого функционала убрать или упростить, например, сделать поиск только по фамилии.
|
|
|
|
|
| moderator
|
Пост N: 447
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.02.13 18:49. Заголовок: rovix пишет: Телефо..
rovix пишет: В первом приближении поставленную задачу покрывает пример из папки minigui\samples\Basic\BROWSE_8 По шагам: 1) создайте базу данных требуемой структуры 2) откомпилируйте вышеуказанный пример с помощью батника Compile.bat 3) откройте в запущенной программе ранее созданную базу Вот и все
|
|
|
|
| |
Пост N: 12
Зарегистрирован: 31.01.13
|
|
Отправлено: 05.02.13 22:13. Заголовок: Andrey, а для чего и..
Andrey, а для чего используется в твоём первом примере вывод в гриде через массив, а не напрямую из таблицы? Для защиты исходного содержимого файла или так быстрее работает форма? Мне кажется, что при таком подходе расходы памяти при работе программы будут выше, а время отображения формы больше, чем при работе напрямую с таблицей. Как пример очень интересно, однако интересно с какой целью это можно использовать.
|
|
|
|
| постоянный участник
|
Пост N: 2627
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.02.13 22:21. Заголовок: rovix пишет: Andrey..
rovix пишет: цитата: | Andrey, а для чего используется в твоём первом примере вывод в гриде через массив, а не напрямую из таблицы? Для защиты исходного содержимого файла или так быстрее работает форма? |
| Это же конечно просто пример. Показ работы с 2-мя базами в различной кодовой страницы и вывод на ОДНУ форму ! rovix пишет: цитата: | Мне кажется, что при таком подходе расходы памяти при работе программы будут выше, а время отображения формы больше, чем при работе напрямую с таблицей. |
| Да, это так. Но в качестве примера можете поставить 2 самые большие ваши базы и написать, сколько "откушала" программа на МиниГуи у системы. Я думаю многим будет интересно !
|
|
|
|
| |
Пост N: 17
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 18:27. Заголовок: Подскажите, а что ко..
Подскажите, а что команда EVAL требует каких-то предварительных пасов для своего использования? Включил в текст программы EVAL - в ответ получил ошибку: --------------------------- Program Error --------------------------- Error BASE/1004 No exported method: EVAL Called from (b)EVAL(0) Called from MAIN(5) --------------------------- ОК --------------------------- чтобы это могло значить?
|
|
|
|
| |
Пост N: 19
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 18:52. Заголовок: может не по тому пут..
может не по тому пути иду :( Стоит задача получить значение контрола на форме(чекбокса) получив его имя из составляющих, то есть есть несколько контролов с именем типа Check_XXX, Check_YYY и так далее. Как получить значение не указывая прямо win1.Check_XXX.Value, подставляя полученное программным путём XXX или YYY?
|
|
|
|
| постоянный участник
|
Пост N: 831
Зарегистрирован: 27.01.07
|
|
Отправлено: 21.02.13 19:42. Заголовок: rovix, вы бы показал..
rovix, вы бы показали, что там Eval должен съэвалить... )))
|
|
|
|
| |
Пост N: 20
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 20:36. Заголовок: ну что-то типа: .....
ну что-то типа: ... var1="XXX" state := eval("win1.Check_" + var1 + ".Value") if (state == .T.) ... else ... endif
|
|
|
|
| |
Пост N: 22
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 20:42. Заголовок: набрёл здесь на фору..
набрёл здесь на форуме на статью про макроподстановку (&) для clipper, почти получилось, но чуть-чуть не хватает теории его применения относительно minigui
|
|
|
|
| |
Пост N: 2638
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.02.13 22:29. Заголовок: rovix пишет: state ..
rovix пишет: цитата: | state := eval("win1.Check_" + var1 + ".Value") |
| Цитата из NG Сlipper EVAL() Выполняет блок кода. ------------------------------------------------------------------------------ Синтаксис EVAL(<блок кода>,[<список аргументов>]) --> значение последнего выражения
|
|
|
|
| |
Пост N: 23
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 08:49. Заголовок: Dima пишет: EVAL()..
Dima пишет: цитата: | EVAL() Выполняет блок кода. |
| Я пробовал eval("state := win1.Check_" + var1 + ".Value") Но, ошибка одна и та же "No exported method: EVAL" В примерах есть такой пример и здесь всё равно "No exported method: EVAL" Потому и спросил.
|
|
|
|
|
| постоянный участник
|
Пост N: 834
Зарегистрирован: 27.01.07
|
|
Отправлено: 22.02.13 09:37. Заголовок: Eval в общем случае ..
Eval в общем случае выглядит примерно так: Eval( { || <что-то выполняется> } ) В вашем случае Eval, имхо, не подходит. Равно как и макроподстановка (&). Используйте GetProperty.
|
|
|
|
| постоянный участник
|
Пост N: 2693
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.02.13 10:05. Заголовок: Я вообще не понял.....
Я вообще не понял... Это ветка про Харбор или МиниГуи ?
|
|
|
|
| |
Пост N: 25
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 10:16. Заголовок: PSP, спасибо..
PSP, спасибо
|
|
|
|
| |
Пост N: 26
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 10:19. Заголовок: Andrey, да это скоре..
Andrey, да это скорее minigui чем harbour,. но я ж новичок потому и нет ещё четкой градации...
|
|
|
|
| |
Пост N: 75
Зарегистрирован: 05.11.05
|
|
Отправлено: 22.02.13 17:25. Заголовок: Давно занимаюсь конс..
Давно занимаюсь консольной программой на xHarbour. А сейчас возможен новый проект, но нужно уже GUI. Тут я тоже совсем новичок, ничего не знаю. Для начала: MiniGUI с xHarbour тоже можно использовать? Или в такой связке могут проблемы быть?
|
|
|
|
| постоянный участник
|
Пост N: 2695
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.02.13 18:40. Заголовок: rvu пишет: Для нача..
rvu пишет: цитата: | Для начала: MiniGUI с xHarbour тоже можно использовать? Или в такой связке могут проблемы быть? |
| Да, можно ! Проблем никаких нет. Но нужно собирать программы МиниГуи с ключом для библиотеки хХарбор. Как, уже не помню. Если это принципиально, то у Григория спросите. Пишите вопросы (открывайте тему) в разделе МиниГуи - http://clipper.borda.ru/?0-1 Инструкции для перехода на МиниГуи смотреть здесь - http://clipper.borda.ru/?1-6-0-00000003-000-0-0-1359816425 Некоторые вопросы по переходу на МиниГуи здесь - http://files.mail.ru/8C1543C557AE48628B8DF9BA475E985C Если программа пишется заново, то не собирайте её для хХарбора, лучше уже сразу на Харборе. Совместимость одинакова, просто чтобы не париться с ключами сборки.
|
|
|
|
| |
Пост N: 76
Зарегистрирован: 05.11.05
|
|
Отправлено: 22.02.13 18:45. Заголовок: Andrey пишет: Если ..
Andrey пишет: цитата: | Если программа пишется заново, то не собирайте её для хХарбора, лучше уже сразу на Харборе. |
| хХарбор.орг бесплатный. А Харбор ведь покупать надо? Или как?
|
|
|
|
| постоянный участник
|
Пост N: 2696
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.02.13 18:57. Заголовок: rvu пишет: А Харбо..
rvu пишет: цитата: | А Харбор ведь покупать надо? Или как? |
| С какого перепугу ? http://harbour-project.sourceforge.net/ Читаем сайт: Overview The Harbour Project is a Free Open Source Software effort to build a multiplatform Clipper language compiler. Harbour consists of the xBase language compiler and the runtime libraries with different terminal plugins and different databases (not just DBF). Для работы с МиниГуи качать его не нужно... Харбор уже есть в поставке МиниГуи, т.е. готовый комплект разработчика, лицензия тоже там есть ! Дерзайте и все у вас получиться !
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|