Visual Basic 6 динамических переменных - PullRequest
1 голос
/ 23 декабря 2010

Я делаю программу, использующую vb6, которая хранит данные от щелчка мышью в терминах координат. Мне удалось сделать первый этап, который отображает координаты клика. Теперь моя проблема заключается в том, что мне нужно сохранить координаты в терминах переменных, чтобы я мог вызывать их обратно, чтобы использовать для другой цели, например, чтобы найти расстояние между двумя точками.

если его всего две координаты, легче найти расстояние. но когда дело доходит до многих координат, я застрял. Я пытался сделать массив для хранения данных внутри цикла

 1. InputX(ListNum, 0) = Int(x)
 2. InputY(ListNum, 1) = Int(y) 
 3. ListNum=ListNum+1

когда я пытаюсь вызвать InputX(2,0) = Text1.Text or Text1.Text=InputX(2,0), ни один из них не работает. Кажется, что данные будут удалены после того, как я сделаю щелчок мышью

Есть ли способ, которым я могу установить динамические переменные, в которых хранятся координаты каждой из моих нажатий, такие как Input1, Input2, Input3 ... InputN

Я делаю это в VB6.

Ответы [ 3 ]

1 голос
/ 23 декабря 2010

Проблема в том, что вы используете там двумерный массив. Двумерный массив выглядит как таблица. Это не то, что вы хотите. Вы хотите список пар точек. Итак, создайте структуру с двумя целыми числами x и y и создайте массив из этих структур:

'Right underneath your Class Form1 declaration:

Structure Point
    Dim x As Integer
    Dim y As Integer
End Structure
Dim length As Integer = 10
Dim Points(length) As Point


'When you want to start using your points put this in the method:

Points(0).x = 10
Points(0).y = 10
Points(1).x = 20
Points(1).y = 40
0 голосов
/ 23 декабря 2010

кажется, что первый метод

Text1.Text = InputX (2,0)

работает. Мне просто нужно объявить х и у как один

0 голосов
/ 23 декабря 2010

Динамические переменные в VB6

Сначала вы объявляете переменную без указания размера:

Dim InputX() As String

Затем вы впервые присваиваете свой размер массиву, используя ReDim:

ReDim InputX(5)

Если вы хотите сохранить те данные, которые уже есть в вашем массиве, используйте ReDim Preserve:

ReDim Preserve InputX(10)

Надеюсь, это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...