Два вопроса

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Два вопроса

Сообщение Faust » 29.12.2003 (Пн) 14:33

Есть два вопроса.

1) Как передать функции в качестве аргументов свойства .Text массива элементов управления TextBox?
2) Где можно найти информацию о структуре файлов AVI? Дело в том, что программа не успевает воспроизводить анимацию даже на самых быстрых из доступных мне машин - слишком много времени занимает её просчитывание.

Заранее благодарен.
Листинги не горят!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.12.2003 (Пн) 15:36

1. У массива контролов нет собственных пропертей. Вопрос вообще малопонятен.

2. В MSDN можно почитать про API, которым это все воспроизводится. Ковырять формат вручную будет, кстати, очень медленно (из ВБ).



А в чем проблема "непросчета" анимации?

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 29.12.2003 (Пн) 16:27

По пункту 2: При воспроизведении AVI через mcistring там есть флаг воспроизведения синхронно асинхронно. При синхронном воспроизведении прога не продолжит выполнения пока не закончит воспроизводить файл.
По пункту 1: Объявляешь массив как текст Dim strArr(0 To ...) As String
присваиваешь ему свойства текст всех боксов и передаешь массив в качестве аргумента функции. Call StatArray(strArr())
Если нужно чтобы функция тоже вернула массив то:
Объявляешь массив как тип функции для получения в него результата
Dim txtArr() as String
txtArr() = StatArray(strArr())

Function StatArray(DtArray() As String) As String()
Dim Rezult(1 to 2) As String 'Тип совпадает с типом Функции
Dim i As Integer
Dim Str1 As String
Dim Str2 As String
...
For i = Lbound(DtArray()) To Ubound(DtArray())
Str1 = Str1 & DtArray(i)
Str2 = Str2 & DtArray(i)
Next i
Rezult(1) = Str1
Rezult(2) = Str2
...
...
StatArray = Rezult()
End Function
Если руки кривые, то не надо ругать разработчиков.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 30.12.2003 (Вт) 1:44

Прочитав твои слова, можно неоднозначно расщенить вопрос №1.
рассмотрим на примере массива элем-в Text1(0) - Text1(4)
Вариант 1.
необходима функция
Private Function INFO(ArrayTEXT as String) as String
где у тебя ArrayTEXT - это значение .TEXT очередного элемента
тогда проще всего сделать так
For I=0 to Text1.Count-1
AA=INFO(Text1(i))
Next I
ну и конечно сама функция
Private Function INFO(ArrayTEXT as String) as String
...
End Function


Вариант 2.
тебе нужна функция
Private Function INFO(Text1(0), Text1(1), Text1(2), Text1(3),Text1(4)) as String
см. пункт 1, поскольку так делать не рационально.
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Немного подробностей

Сообщение Faust » 31.12.2003 (Ср) 12:41

Каюсь в нечеткой формулировке вопросов и прошу простить неопытного посетителя форума.
Уточнение к вопросу 1: на форме есть массив TextBox'ов, значения .Text неравноправны в качестве аргументов. При этом хотелось бы передать функции массив этих значений не захламляя память объявлением ещё одного массива строковых переменных. Т.е. требуется передать функции массив Text1().Text
Уточнение к вопросу 2: программа моделирует физический процесс и создает серию изображений. Вопрос следует понимать так: нельзя ли склеить их в одну кучу (AVI-файл), которую можно было бы просмотреть потом, в свободное от расчетов время?
Листинги не горят!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65

    TopList