3+1 вопроса

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

3+1 вопроса

Сообщение vrodo » 20.11.2003 (Чт) 14:52

Доброе время суток :)
имеется 3 вопроса
1. имеет ли смысл писать свой парсер для работы с математикой или лучше использовать VBscript control (у меня сейчас какраз 2 вариант) :?:
2. обясните мне пожалуйста как мне сохранять картинки которые программа рисует в ПикчеБоксе. Причем не на диск а в массив или нечто подобное, а потом при нажатии кнопки их и показывать по порядку в этом ПикчеБоксе (т.е. мультик получится) :?:
3. На форме есть один элемент в виде ромбика. Как мне сделать массив из N количества этих элементов и показать их на экране :?:

ЗЫ Вспомнил еще вопрос
4. как ускорить прорисовку точек в ПикчеБоксе (рисует из массива с координатами точек посредством for ....... next). Как можно по другому :?:
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.11.2003 (Чт) 16:32

  1. У меня первый :)
  2. В imagelist.
  3. Код: Выделить всё
    Dim arr() as Diamond, i as long
    redim Diamond(1000)
    for i=1 to 1000
      set diamond(i)=new diamond
      diamond(i).show
    next
  4. Можно через SetPixel.
    Можно получить указатель на биты данных bmp и напрямую писать в память нужные значения.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 20.11.2003 (Чт) 16:57

4. поподробнее пожалуйста
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 20.11.2003 (Чт) 17:38

1. см. аттач
4. рисуй через API.
Вложения
CExpressionEvaluator.zip
Мат. выражения
(4.31 Кб) Скачиваний: 43
Изображение

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 05.12.2003 (Пт) 13:40

GSerg
3. Что-то ты напутал :?
неполучается редим сделать объекту
может еще раз для объяснишь для "тех кто в танке" ?
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 05.12.2003 (Пт) 15:05

Я вмешаюсь. Так, конечно, работать не будет. Ведь объявлен массив, и ReDIm применять надо к нему.

Код: Выделить всё
Dim arr() as Diamond, i as Long
ReDim arr(1000)
For i=1 to 1000
  Set arr(i) = New Diamond
  arr(i).Show
Next
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.12.2003 (Сб) 4:57

Ха ха.
Вот простегал :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 08.12.2003 (Пн) 13:15

Спасибо
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 08.12.2003 (Пн) 16:25

А вы сами тестируете когда советы даете?

Я пробовал разные объекты но ни один контрол я немогу назначить как тип
Получается только вот так Dim arr() As Object

User-defined type not defined

Set arr(i) = New [Command1,Shape1,Picture1,Image1]

кроме форм

Я уже совсем запутался ведь поидее должно получится
такой код код неработает
Код: Выделить всё
Private Sub Command1_Click()
Dim arr() As Control, i As Integer
ReDim arr(Val(Text1)) As Control
    For i = 0 To Val(Text1)
        Set arr(i) = New Picture1
        arr(i).Visible = True
        arr(i).Left = arr(i).Width * i
    Next i
End Sub


а такой сдвигает PictureBox в право
Код: Выделить всё
Private Sub Command1_Click()
Dim arr() As Control, i As Integer
ReDim arr(Val(Text1)) As Control
    For i = 0 To Val(Text1)
        Set arr(i) = Picture1
        arr(i).Visible = True
        arr(i).Left = arr(i).Width * i
    Next i
End Sub
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.12.2003 (Вт) 11:13

Под Diamond понимался юзерский класс. Контролы создаются через Load.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 10.12.2003 (Ср) 17:03

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long


для быстрой прорисовки использую это (если ты сейчас не это используешь)

применение:
setpixel picture1.hdc, X, Y, RGB(Red, Green, Blue)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 10

    TopList