Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 17.12.12
|
|
Отправлено: 17.12.12 19:14. Заголовок: Новичок
Добрый вечер. Я впервые сталкиваюсь с данным языком и этой средой. Может кто показать, как создать обычный проект с простенькой программой скомпилировать и запустить ? И что лучше использовать, среду Harbour или CA Clipper ?
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|
|
| постоянный участник
|
Пост 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(<блок кода>,[<список аргументов>]) --> значение последнего выражения
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|