for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Архив конференции по VFP до 2005 года
   :: Помощь сайту :: 

Поля в VFP 7.0
Di_Mas
Гость
Дата: 21.03.05 07:35:45ОтветитьЦитировать
у меня на форме есть поля: Text1, Combo1, Combo2 и Теxt (формата дата).
1. как проверить пустые они или нет.
2. Как сделать так, чтобы они были пустыми?
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
YUriKireev

Сообщений: 17
Откуда: Нарьян-Мар
Дата: 21.03.05 08:13:05ОтветитьЦитировать
  
  IF !EMPTY(THISFORM.TEXT1.VALUE)  
  THISFORM.TEXT1.VALUE = ''  
  THISFORM.TEXT1.Refresh  
  ENDIF
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Владимир Максимов
Автор

Сообщений: 13815
Откуда: Москва
Дата: 21.03.05 09:40:40ОтветитьЦитировать
Пустая дата задается двумя фигурными скобками подряд

ThisForm.Text1.Value = {}

Если нужно пустой значения типа DateTime, тогда так

ThisForm.Text1.Value = DTOT({})

Проверка на пустое значение - это функция EMPTY(). Если объект может принимать значение NULL, то следует еще делать проверку IsNull() или объединив проверку IsNull() и EMPTY()

EMPTY(NVL(ThisForm.Text1.Value,{}))
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Di_Mas
Гость
Дата: 21.03.05 10:27:27ОтветитьЦитировать
А comboBox проверяется так же?

Что означает NVL?
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Владимир Максимов
Автор

Сообщений: 13815
Откуда: Москва
Дата: 21.03.05 10:35:16ОтветитьЦитировать
Цитата:
А comboBox проверяется так же?
Да.

IF EMPTY(ThisForm.Combo1.Value) = .T.  
 	* Нет значения  
  ENDIF

Цитата:
Что означает NVL?
А самому HELP почитать?

Эта функция принимает 2 значения и возвращает первое из них отличное от NULL.
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Di_Mas
Гость
Дата: 21.03.05 13:31:19ОтветитьЦитировать
1. Как узнать выбран ли хоть какой-нибудь элемент в ListBox?

2. Уменя есть поле Text1 (дата), нужно узнать введена ли дата или нет, пишу:
  
 ***********  
  IF EMPTY(CTOD(ThisForm.Pageframe1.Page1.Text2.Value)) THEN   
     MESSAGEBOX("Дата не введена")  
  ELSE  
     MESSAGEBOX("Дата введена!")  
  ENDIF   
 ***********  
При запуске хоть поле заполнено, хоть нет выдается ошибка:
Function argument value, type, or count is invalid.

3. При обновлении формы стоит:
  
 ***********  
     SELECT temp_obr IN 0 EXCLUSIVE  
     SELECT temp_obr  
     ZAP  
 ***********  
При закрытии окна процедуры выдает синтаксическую ошибку в первой строке... Почему?
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Mavy

Сообщений: 246
Дата: 21.03.05 14:23:14ОтветитьЦитировать
1.
Цитата:
1. Как узнать выбран ли хоть какой-нибудь элемент в ListBox?
listbox.listindex=0 - ничего не выбрано
2.
***********    
    IF EMPTY(ThisForm.Pageframe1.Page1.Text2.Value) THEN     
       MESSAGEBOX("Дата не введена")    
    ELSE    
       MESSAGEBOX("Дата введена!")    
    ENDIF     
  ***********  
3.
***********    
       use temp_obr IN 0 EXCLUSIVE  
       SELECT temp_obr    
       ZAP    
  ***********  
Ratings: 0 negative/0 positive

Re: Поля в VFP 7.0
Владимир Максимов
Автор

Сообщений: 13815
Откуда: Москва
Дата: 22.03.05 06:46:10ОтветитьЦитировать
Цитата:
1. Как узнать выбран ли хоть какой-нибудь элемент в ListBox?
Свойство VALUE есть у всех элементов, которые так или иначе осуществляют ввод или выбор значения. В том числе и у ListBox.

Цитата:
Уменя есть поле Text1 (дата), нужно узнать введена ли дата или нет, пишу:
IF EMPTY(CTOD())
Если у тебя поле Text1 и так имеет тип Date, то попытка обратится к нему как к символьной строке и вызовет сообщение об ошибке. Ведь CTOD() предполагает, что в качестве аргумента указана именно символьная строка.

Цитата:
При обновлении формы стоит:
SELECT temp_obr IN 0 EXCLUSIVE
Опять некорректный синтаксис. Команда SELECT осуществляет переключение между рабочими областями. А ты пытаешься открыть таблицу. Т.е. здесь надо бы использовать команду USE.

Кроме того, использование команд физической очистки таблиц (PACK, ZAP) непосредственно в активных формах - заведомо порочная практика. У тебя будет еще масса проблем, если ты не изменишь логику работы

PS:
Большая просьба, читай HELP по командам, особенно если на команде возникает сообщение об ошибке. Это быстрее чем ждать ответ в конференции.
Ratings: 0 negative/0 positive



Извините, но у вас нет прав для того, чтобы писать в этом форуме.

On-line: 41 Simple777  and Guests: 40


© 2000-2018 Fox Club 
Яндекс.Метрика