Страница: 1 | 2 |
Вопрос: Есть слайдер - ползунок. В нем даны значения от 0
Добавлено: 22.07.10 12:26
Автор вопроса: Юрий
Есть слайдер - ползунок. В нем даны значения от 0 до 10. Эти значения передаются в функцию, которая каждому значению слайдера дает одно число.
Вопрос, как сделать что бы каждое значение функции сохранилось в список?
Событие(слайдер)(y1....yn) - > Число(x1....xm) - > Запись x1
........
Запись xm
Задачу можно представить так, когда пишем x(i) = n слева в теле процедуры, я не хочу каждый раз присваивать (вводить число n) "вручную"
Мне нужно что бы эта переменная менялась когда я двигаю слайдер. Но, когда значение n меняется на m, значение n затирается в ячейке памяти, так? Мне надо что бы
x меняется, но предыдущие его значения остаются. Наверное нужно какая то доп процедура, или реакция на событие..
Нашел вот такой кусочек кода, нельзя ли его использовать?
Dim i As Integer
Dim Wrap As String
Wrap = Chr(13) & Chr(10)
For i = 1 To 10
TextBox1.Text = TextBox1.Text & "Строка " & i & Wrap
Next i
Вот код для которого нужно получить множество значений
Private Sub RunScript(ByVal x As Integer, ByVal y As Integer, ByRef A As Object)
Dim dictionary As New Dictionary(Of String, Integer)
' y - текущее значение слайдера, x - соотвествующи значению слайдера номер
dictionary.Add(y, x)
Dim pair As KeyValuePair(Of String, Integer)
For Each pair In dictionary
' получаем пару чисел, задача получить список пар для всех значений слайдера
Print("{0}, {1}", pair.Key, pair.Value)
A = dictionary
Next pair
End Sub
Ответы
Всего ответов: 27
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 22.07.10 13:20
У тебя какая-то каша в голове. Попробуй объяснить что ты хочешь сделать, а не как ты собираешься это сделать, может кто-то сможет помочь. Сейчас из твоих объяснений я ровным счетом ничего не могу понять.
При чем тут слайдер вообще?
Если ты хочшеь заранее рассчитать результат функции для определенных значений и сохранить их для последующего использования, я тебе уже сказал как это делается. Когда тебе нужно значение, получаешь его из Dictionaty вот и все. Для чего ты эти значения будешь использовать, для слайдера или для чего еще это вообще не играет роли.
1. Зачем опять object, когда у тебя там должен лежать Dictionary?
2. Почему ByRef параметр, а не возвращать результат через return?
Номер ответа: 2
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #2
Добавлено: 22.07.10 13:28
Нужно получить поcледовательность как на картинке (я уже давал ссылку)
раз
http://api.ning.com/files/niy4HgfbtOt0T31mPQorLgCyQ9OZ49skZKZpkflqEbKGEH6I3cmLZo8usM4gOgUPTY3xlIwGx*YrZ73ufFHncfP*VVcrySLPi5hmu4y*avg_/HowMake.jpg
пока получается вот это
http://api.ning.com/files/**-kAR-bu0MjYlhkg6N0WQw39VVmtRPu-8ImLx*RVpxbSvVh0ZUB4wpLEOU6NR7j0a22etklhom0AYf3Y0m7Gptc1goIFZSqx*U0LM14iSQ_/HowMake2.jpg
Насчет А как объект, потому что не только числа могут быть, например false/true
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 22.07.10 13:45
еще страннее. Но Object все равно не там должен быть.
Номер ответа: 4
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #4
Добавлено: 22.07.10 13:58
# Dim data As New Dictionary (Of Integer, Integer)
# data(0) = 4
# data(2) = 6
# data(11) = 9
Вот видите, Вы же вручную присваиваете переменным значения. Я же не буду каждый раз лезть в код и вручную присваивать? Мне надо динамически, как на рисунках.
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 22.07.10 14:01
Номер ответа: 6
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #6
Добавлено: 22.07.10 14:12
Функция MyFunction (I) находится снаружи, нам известны только значения
Вот функция
http://www.7image.ru/pics/0710/52164402.jpg
Номер ответа: 7
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #7
Добавлено: 22.07.10 14:14
Вообще спасибо большое за отклик!
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 22.07.10 14:34
Ты думаешь эти картинки кому-то понятны кроме тебя?
Если значения заранее предрассчитаны, положи их в XML файл и закинь в ресурсы.
При запуске считываешь их в Dictionary, делаешь функцию-обертку, которая принимает аргумент и выдает из словаря результат.
Номер ответа: 9
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #9
Добавлено: 22.07.10 14:41
Функция считается быстро. Смысл в: Есть тысячи 3d точек. Двигая слайдер, я с помощью функции анализирую окружение каждой точки. Выводится число от 4 до 9, что означает сколько точек находится рядом. Вот этому числу ставиться в соответсвие номер значения слайдера - порядковый номер точки (от 0 до 1000000). Мне нужно просто объединить результаты (построить список) что бы проводить дальнейшие операции с исходными данными - массивом точек.
Может на C# проще это сделать? Я думал тут делов то, просто я только только начал читать книжки по VB.NET.
Про xml я подумаю, но мне кажется что не вариант, все должно быть на лету.
Номер ответа: 10
Автор ответа:
UnDeAdZak
Вопросов: 80
Ответов: 476
Профиль | | #10
Добавлено: 22.07.10 15:10
Юрий Попробуй так:
В начале кода(при запуске) программы ты создаёш массив, проядковый номер ячейки которого равен количеству точек у соответствующего полигона ,и тутже заполняеш его в цикле при помощи своей функции. При прокрутке слайдера в текстбокс выводится значение того элемента массива, Порядковому номеру которого соответствует значение Value у скролла.
Номер ответа: 11
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #11
Добавлено: 22.07.10 15:16
На C# проще не будет.
Мне было все понятно пока снова не появилось слово "слайдер".
Зачем тебе вообще этот слайдер нужен?
Номер ответа: 12
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #12
Добавлено: 22.07.10 15:21
Слайдер это просто метод ввода данных, что бы не вводить в окошко до потери сознания тысячи цифр. Как регулятор громкости у проигрывателя. Я гифку сделаю, покажу в действии как должно выглядеть.
Номер ответа: 13
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #13
Добавлено: 22.07.10 15:22
Слайдер это просто метод ввода данных, что бы не вводить в окошко до потери сознания тысячи цифр. Как регулятор громкости у проигрывателя. Я гифку сделаю, покажу в действии как должно выглядеть.
Номер ответа: 14
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #14
Добавлено: 22.07.10 15:57
Вот сделал гифку, что имеем сейчас
http://www.7image.ru/pics/0710/52218223.gif
Как должно быть
http://www.7image.ru/pics/0710/52217462.gif
Номер ответа: 15
Автор ответа:
Юрий
Вопросов: 3
Ответов: 30
Профиль | | #15
Добавлено: 22.07.10 17:05
Мне нужно что бы все старые значения не затирались текущей информацией а сохранялись. Грубо говоря выделялись на лету ячейки памяти. Вот пример на картинке
http://www.7image.ru/pics/0710/52217462.gif
Сейчас дела обстоят так - видно что информация теряется
http://www.7image.ru/pics/0710/52218223.gif