Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Помогите разобраться с фунциями даты
     
    
Добавлено: 27.12.05 18:13
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     Stas
 Stas
      
       
  
Есть такая задача:
 
    
"Научный сотрудник забыл точную дату конференции, на которой ему необходимо присутствовать, но помнит, что она должна начаться в четверг в период с 1 по 8 октября 2004 года. Помогите ему определить точную дату начала конференции"
Вот сталкнулся с проблемой следущего рода:сделал цикл, где проверял WeekDay, но VB'ку не нравится такая запись:
"i/10/2004" Вопросик как мне в дату поставить переменную велечину?
Заранее благодарен!
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 11
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: вячеслав
 вячеслав 

Вопросов: 3
Ответов: 14
      
 Профиль |  | #1
       
Добавлено:  27.12.05 18:21
       
    
       
  
MonthView1.Day = i не получается?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: Stas
 Stas


Вопросов: 1
Ответов: 2
      
 Профиль |  | #2
       
Добавлено:  27.12.05 23:38
       
    
       
  
Можно немного поподробней?
 
    
А что за функция MonthView1.Day?
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: HACKER
 HACKER








 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #3
       
Добавлено:  28.12.05 02:16
       
    
       
  
 
    
я так понимаю в переменной i должно быть некое число, чисто в этом ввиде ему и не должно нравится...
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: вячеслав
 вячеслав 

Вопросов: 3
Ответов: 14
      
 Профиль |  | #4
       
Добавлено:  28.12.05 10:23
       
    
       
  
Посмотри тут :http://beginning.ru/libvisualbasic/svisualbasibig/Chapte8/Ch55.htm
 
    
Не особо подробно, но...
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: Sur
 Sur



ICQ: 1249088 
Вопросов: 10
Ответов: 304
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  28.12.05 11:29
       
    
       
  
>"i/10/2004" Вопросик как мне в дату поставить переменную велечину? 
 
    
Просто прибавляй i к дате:
weekday(datevalue("1.10.2004" + i)
 + i)
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: LamerOnLine
 LamerOnLine



ICQ: 334781088 
Вопросов: 108
Ответов: 2822
      
 Профиль |  | #6
       
Добавлено:  28.12.05 12:06
       
    
       
  
Лучше избегать прямого суммирования и неявного преобразования даты - можно напороться на локалю.
 
    
Dim i As Long
For i = 1 To 8
If Weekday(DateSerial(2004, 10, i), vbSunday) = vbThursday Then
    MsgBox DateSerial(2004, 10, i)
End If
Next i
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа: HOOLIGAN
 HOOLIGAN

Вопросов: 0
Ответов: 1066
      
 Профиль |  | #7
       
Добавлено:  28.12.05 12:18
       
    
       
  
Дата у тебя задана как строка? А переменная - как лонг? Тогда попытка вставить в строку лонг - не лучшая мысль. Можно сделать так: дату задавать как положено: As Date.
 
    
    d = "1.10.2004"
    Do While Weekday(d) <> 5
        d = d + 1
    Loop
    MsgBox d
Сравнивается с 5, т.к. четверг - это пятый день недели по-американски (янки думают, что у всех неделя начинается в воскресенье)
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа: HOOLIGAN
 HOOLIGAN

Вопросов: 0
Ответов: 1066
      
 Профиль |  | #8
       
Добавлено:  28.12.05 12:25
       
    
       
  
В свете предложенной LamerOnLine поправки на локаль, можно сделать так:
 
    
    d = DateSerial(2005, 12, 1)
    Do While Weekday(d) <> 5
        d = d + 1
    Loop
    MsgBox d
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа: LamerOnLine
 LamerOnLine



ICQ: 334781088 
Вопросов: 108
Ответов: 2822
      
 Профиль |  | #9
       
Добавлено:  28.12.05 12:29
       
    
       
  
 
    
Ты это о чем? Да, переменная - лонг, но дата не строка. Дата корректно собирается DateSerial.
Или ты это 2Sur?
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа: HOOLIGAN
 HOOLIGAN

Вопросов: 0
Ответов: 1066
      
 Профиль |  | #10
       
Добавлено:  28.12.05 12:56
       
    
       
  
Это я отвечал автору, а тут провайдер завис, и ты успел вклиниться, получилось, что как будто тебе отвечал  
     
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа: Stas
 Stas


Вопросов: 1
Ответов: 2
      
 Профиль |  | #11
       
Добавлено:  28.12.05 20:04
       
    
       
  
 
    
Ребята всем вам большое спасибо! Всё доступно объяснили! С темой этой разобрался! Спасибо!