Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите в создании VFP приложении, Тестовое приложение на VFP. 
:(
    Опции темы
ScorpiONIK
Дата 25.9.2005, 14:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приложение должно содержать:
1)Три combox'a - операции, функции, переменные (храняться в БД)
2)TextBox -содержит выражение создаваемое с помощью CjmboBox'ов
3)Кнопку с функцией проверки выражения.
Выражения пишуться в класическом мат. виде.

Я новичек в VFP. Буду рад любой помощи smile
  Вверх
Cashey
Дата 28.9.2005, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



а в чем сложность? в чем должна заключатся помощь? для написания кода данных маловато


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
ratex
Дата 14.6.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



О!  smile  А мне собственно, примерно это и надо! Есть три ComboBox. Первый содержит список - 2004, 2005, 2006. Второй - список месяцев. Третий - список дней от 01 до 31. Выставляем необходимую дату и жмём кнопку ПОКАЗАТЬ и на основании значений выбранных в ComboBox, в  TextBox должна вывестись сумма записей из таблицы MESS.dbf (в которой есть поле Date_), которые подпадают под конкретную дату. То есть записи из таблицы MESS.dbf просматриваются по полю Date_   и выводится их общее количество. Сам учусь по самоучителю, немогу всё в кучу связать.  smile  Помогите, пожалуйста, буду очень рад! 
PM MAIL   Вверх
Cashey
Дата 14.6.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



ratex, а стандартный календарь не рулит?
Если очень хочется комбиками, то пожалуйста. кидай три комба. первый и третий - все просто, с месяцами либо делай 2 колонки, либо предварительно создай двумерный массив. и соответсвенно храни, какому названию месяца соответсвует порядковый номер месяца календарного. Потом лепи строку и подставляй ее в запрос. Пример:
Код

local array aMont[12,2]
aMont[1,1] = "январь"
aMont[1,2] = 1
aMont[1,1] = "февраль"
aMont[1,2] = 2
***************
local cDate, nMont
SET DATE GERMAN 
nMont = aMoth[ASCAN(aMont,alltrim(thisform.combo2.value),1,2,1,8),1]
cDate = alltrim(thisform.combo1.value)+"."+alltrim(str(nMont))+"."+alltrim(thisform.combo3.value)
*где thisform.combo1 с днями, thisform.combo2 с месяцами, thisform.combo3 с годами
select MESS
COUNT TO nCount FOR Date_ = CTOD(cDate)
thisform.text1.value = nCount
 


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
ratex
Дата 15.6.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



в принципе, сами запросы понятны, вроде немного разобрался. Но куда их вставлять? По-идее при нажатии на кнопку "показать" должен выполниться этот запрос! Или можно создать новую программу, вставить туда этот запрос, а по нажатию на кнопку подключать выполнение этой программы? То есть как всё вместе связать (кнопку, комбики, текстбокс)? Не доходит до меня!  smile  Вот например, сделал кнопку "Выход" и в методе Click создал запрос _screen.ActiveForm.Release(), это работает и всё понятно! форма закрывается! а вот с остальным пока неясно... 
PM MAIL   Вверх
Artiom
Дата 15.6.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: 3
Всего: 17



в кнопке ок по событию клик пишешь что-то вроде
Код

* получил из комбобокса день
str_day = ALLTRIM(thisform.dayCombo.ListItem(thisform.dayCombo.value))
str_month = ....
str_year = ...
* потом формируешь дату в зависимости от формата твоего, например так
mydata = str-day +'.' +str_month +'.' +str_year
*потом выбираешь таблицу, делаешь запрос
 


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Cashey
Дата 15.6.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



ratex, где хочешь, там и обрабатывай. Это от концепции твоей программы зависеть будет  smile  


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
ratex
Дата 16.6.2006, 05:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



вот что-то накидал, но выдаётся ошибка! что же неправильно?
код написал в кнопке в методе Клик,
месяц и год я пока не просматриваю, они пока равны 06 и 06
Код

LOCAL str_day, nCount, mydate
str_day = ALLTRIM(thisform.dayCombo.ListItem(thisform.dayCombo.value))
mydate = str_day +'.'+06+'.'+06
SET DATE German
* таблица TEST, в которой есть одно поле Date c записями 01/06/06, 02/06/06,
* 03/06/06, и ещё 03/06/06
* в dayCombo выбирается значение 03
* то есть следующий запрос должен БЫ вывести в Text1 цифру 2
* но выдаётся ошибка "invalid suscript reference"
* и в text1 выводится F (false, видимо) 
select test
COUNT TO nCount FOR Date = CTOD(mydate)
thisform.text1.value = ncount

 

Ааа! Я понял! У меня что-то Alltrim не работает! Вот например через стандартный календарь ещё пробовал:
Код

xDay = ALLTRIM(mainform.olecontrol1.ListItem(mainform.olecontrol1.day))
mainform.text1.value = xDay
mainform.text2.value = mainform.olecontrol1.month
mainform.text3.value = mainform.olecontrol1.year

в текст2 и текст3 выводятся значения, а вот в текст1 НЕ выводится, выдаёт ошибку переменная не определена! Поэтому в дальнейшем у меня не получается сформировать дату из отдельных значений календаря! 

Это сообщение отредактировал(а) ratex - 16.6.2006, 08:35
PM MAIL   Вверх
Cashey
Дата 16.6.2006, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



разумеется, ты скреиваешь ежа и ужа

Цитата(ratex @  16.6.2006,  06:10 Найти цитируемый пост)
mydate = str_day +'.'+06+'.'+06

нельзя в одну строку складывать строчные и числовые величины.

Цитата(ratex @  16.6.2006,  06:10 Найти цитируемый пост)
str_day = ALLTRIM(thisform.dayCombo.ListItem(thisform.dayCombo.value))

да и вот это не понятно совсем. 
почему не написать так:
Код

str_day = ALLTRIM(thisform.dayCombo.value)
mydate = str_day +'.'+'06'+'.'+'2006'
 


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
ratex
Дата 16.6.2006, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



Вот есть табличка Test c полем xDate:
xDate
06.01.2006
06.02.2006
06.03.2006
06.04.2006
06.04.2006

запрос в кнопке, в Click:
LOCAL str_day, nCount, mydate
str_day = ALLTRIM(thisform.dayCombo.value)
mydate = '06'+'.'+'str_day'+'.'+'2006'
select test
COUNT TO nCount FOR xDate = CTOD(mydate)
thisform.text1.value = ncount
запускаю форму, выставляю в dayCombo значение 04 и нажимаю кнопку, результат "0", но должно быть 2
Почему? не работает цикл?

 
PM MAIL   Вверх
Cashey
Дата 16.6.2006, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



ratex, запроси MESSAGEBOX со значением переменной mydate и посмотри, вероятно все сразу станет ясно 


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
ratex
Дата 16.6.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



 smile Cashey, спасибо! Не догадался бы сам! 
Код

mydate = ALLTRIM(STR(xday))+'.'+'06'+'.'+'2006'

и всё в порядке! щас дольше буду думать! Проделаю то же самое с месяцами и с годами! smile 
PM MAIL   Вверх
ratex
Дата 16.6.2006, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.6.2006

Репутация: нет
Всего: нет



 smile дальше-хуже! Сделал exe-шник, запускаю, форма появляется на долю секунды и пропадает, причём также видно что там ещё и фоксовское окно лезет! 
На закладке Layout установлено Desktop=.T. и ShowWindow=2. 

На закладке методы в событии Unload написано clear events

в Code\Programs написано 
do form mainform
read events

 smile и наконец создан файл CONFIG.FPV со строкой screen=off, а фоксовское окно всё равно лезет и к тому же форма пропадает сразу после запуска!




 
PM MAIL   Вверх
Artiom
Дата 16.6.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: 3
Всего: 17



У формы задай свойству ShowWindow  значение 2-As Top-Level Form , Desktop=.F. 

Это сообщение отредактировал(а) Artiom - 16.6.2006, 13:57


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Cashey
Дата 16.6.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



ratex, так не пойдет! то обстоятельство, что подраздел ни кем персонально не модерируется не дает никому права превращать его в зону свободную от правил форума. Один вопрос- одна тема. Создавай отдельные темы со своими вопросами, особенно если они разноплановые. Тем более, что тема с подобной проблемой уже существует.

Добавлено @ 14:09 
Artiom, молодец, скоро будешь мне тут помогать  smile  


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.