Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: DoEvents и пользовательский ввод Добавлено: 10.01.10 15:19  

Автор вопроса:  Winand | Web-сайт: winandfx.narod.ru

Ответить

  Ответы Всего ответов: 28  

Номер ответа: 16
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #16
Добавлено: 11.01.10 22:12
Чёт хрень какая-то... Короч. Незнаю почему, но не прёт. А функцию я написал выше и туда DoEvents вставлять некуда:)

Ответить

Номер ответа: 17
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #17
Добавлено: 11.01.10 22:20
Кое-что ещё забыл. Код, который написал раньше заключается ещё в один цикл. и ниже всего этого кода есть маленький цикл.

Ответить

Номер ответа: 18
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #18
Добавлено: 11.01.10 22:25
  1. For x=999
  2. For i = 0 To File1.ListCount - 1
  3.  
  4.   
  5.  
  6.     Label1.Caption = "test"
  7.  
  8.     For wm = 1 To List1.ListCount
  9.  
  10.   
  11.  
  12.         If tfc = List1.List(wm - 1) Then
  13.  
  14.             If tfa = List2.List(wm - 1) Then
  15.  
  16.   
  17.  
  18.                 TestFunc
  19.  
  20.   
  21.  
  22.             End If
  23.  
  24.         End If
  25.  
  26.          DoEvents
  27.  
  28.     Next wm
  29.  
  30.                   
  31.  
  32.   
  33.  
  34. Next
  35. Next
  36.  
  37. Label1.Caption = "done"
  38.  
  39. For x = 85
  40. Text3.Text = x
  41. Next x

Ответить

Номер ответа: 19
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #19
Добавлено: 11.01.10 22:26
Вот полный код... А то я забыл некоторые части вставить...

Ответить

Номер ответа: 20
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #20 Добавлено: 11.01.10 23:18
Ппц... дожили..

For x = 85
Text3.Text = x
Next x

тебе ничего не кажется тут странным? Нет?
Может тут что то странным покажется?
For x=999


может я чего то недопонимаю, но неужели компилятор пропустит такое как бесконечный цикл?? или это просто опечатка автора?

Ответить

Номер ответа: 21
Автор ответа:
 PROgrammIST



ICQ: 403099048 

Вопросов: 22
Ответов: 94
 Web-сайт: forum.quotedev.org.ru
 Профиль | | #21
Добавлено: 11.01.10 23:29
EROS, ну эт я к примеру. поэтому и забыл дописать)))

Ответить

Номер ответа: 22
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #22
Добавлено: 12.01.10 12:36
Скопируй код нафиг и все. Может ты это хочешь?
  1.  
  2. For x=0 To 999
  3.     Label1.Caption = "Подождите, " & Int(100/999 * x) & "% выполнено..."
  4. Label1.Refresh
  5. For i = 0 To File1.ListCount - 1
  6.  
  7.    
  8.  
  9.  
  10.  
  11.     For wm = 1 To List1.ListCount
  12.  
  13.    
  14.  DoEvents
  15.         If tfc = List1.List(wm - 1) Then
  16.  
  17.             If tfa = List2.List(wm - 1) Then
  18.  
  19.    
  20.  
  21.                 TestFunc
  22.  
  23.    
  24.  
  25.             End If
  26.  
  27.         End If
  28.  
  29.          
  30.  
  31.     Next wm
  32.  
  33.                    
  34.  
  35.    
  36.  
  37. Next
  38. Next


Кстати, насчет
Ппц... дожили..

For x = 85
Text3.Text = x
Next x

Еслиб такое было, было бы чуточку удобней))) Я имею в виду, что вместо
  1. For i = 0 to a

писать
  1. For i = a

т.е. если цикл от 0 до какого-либо числа, "0 To" писать не нужно. М?

Ответить

Номер ответа: 23
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #23
Добавлено: 12.01.10 17:35
Да я бы вообще хотел синтаксис как в С++))

Ответить

Номер ответа: 24
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #24
Добавлено: 12.01.10 18:47
Эм... В C++ вроде такой васи нет... Как компромис - C#.

PS: В XQRScript я засунул оператор ===. Им можно приравнять что угодно к чему угодно, и таким образом менять синтаксис. Ну типо
  1.  
  2. go ===  = 0 to
  3. Sub Main()
  4. For i go 15
  5. Next
  6. End Sub


Далеко от макросов, но весьма удобно :)

Ответить

Номер ответа: 25
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #25
Добавлено: 12.01.10 20:35
Так мне такая вася и не нужна, мне нужен синтасис с++, и скорость разработки VB.
Мне нужны подобные штуки
dim i as integer = 33
for j as byte = 0 to 50 {
...
}
Конечно людям плюющим на option explicit этого не понять=))

А ты значит изобрёл сишный #define XXX YYY, что классно конечно. Но почему ===, а не == например?

Ответить

Номер ответа: 26
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #26
Добавлено: 13.01.10 08:38
А фиг знает... Для оригинальности :)
Фигурные скобки если чо можно сделать тоже. А если только для циклов - так вообще холява:
{ === Step 1
} === Next
:)
синтасис с++, и скорость разработки VB.

Так этош сишарп :)
  1.  
  2. Int16 i = 33;
  3. for (char j = 0; j < 50; j++)
  4. {
  5. ...
  6. }


Например, рисуем прямоугольник с градиентом как у 2007 офиса - одна строчка:
  1.  
  2. e.Graphics.FillRectangle(new LinearGradientBrush(new PointF(0, 0), new PointF(0, Height), Color.Transparent, Color.Transparent) { InterpolationColors = new ColorBlend() { Positions = new float[] { 0.0f, 0.1999999999999999999f, 0.2f, 0.6f, 0.95f, 1.0f }, Colors = new Color[] { Color.FromArgb(231, 239, 248), Color.FromArgb(209, 223, 240), Color.FromArgb(199, 216, 237), Color.FromArgb(208, 224, 240), Color.FromArgb(231, 242, 255), Color.FromArgb(231, 242, 255) } } }, new Rectangle(0,0,Width,Height));

Ответить

Номер ответа: 27
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #27
Добавлено: 13.01.10 12:36
охохохо=) Последняя конструкция убила, будто на чужой ассемблерный код смотришь, ощущения те же

P.S. VBD, сколько стоит реклама на программируемых вентильных матрицах?
http://www.ixbt.com/news/all/index.shtml?10/33/97

Ответить

Номер ответа: 28
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #28
Добавлено: 13.01.10 17:25
Кажется я нашел решение
  1. Public Sub DoPaintEvents()
  2.     Dim TMsg As msg
  3.     Do While PeekMessage(TMsg, 0&, 0&, 0&, 1)
  4.         If TMsg.Message = &HF Then
  5.             TranslateMessage TMsg
  6.             DispatchMessage TMsg
  7.         End If
  8.     Loop
  9. End Sub
Это функция похожа по смыслу на DoEvents, при этом режет все сообщения кроме WM_PAINT = 0xF
Таким образом программа полностью блокируется, но не виснет и можно изменять заголовок. Мб тут свои косяки, я проверил работоспособность только 2 раза)

Еще я научился в Windows 7 изменять цвет Aero-окон, наверное через пару дней выложу прогу подбирающую цвет окон под воллпейпер. Сейчас лень просто)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам