Синтаксис Mid$(a$,n%) = Chr$(n%)

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

Синтаксис Mid$(a$,n%) = Chr$(n%)

Сообщение John_AK » 14.03.2005 (Пн) 19:07

Код: Выделить всё

a$ = Space$(255)
For n% = 1 To 255
     Mid$(a$,n%) = Chr$(n%)
Next

Как оно работает :shock:

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 14.03.2005 (Пн) 19:17

a$ = Space$(255)
дает 255 пробелов и заносит в a$

Mid$(a$,n%) = Chr$(n%)
Каждому n-му пробел -заменяется на ASCII-символ с номером (n+1)

В результате получается строка, состоящая из 255 ASCII символов

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.03.2005 (Пн) 19:18

Инициирует строку 255 пробелами.
Объявляет цикл по N от 1 до 255 включительно.
В цикле каждый N-ный символ заменяется с пробела на соответствующий по номеру из ASCII-таблицы.
Повторяет цикл.

А что? :P

VOS
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 72
Зарегистрирован: 04.11.2004 (Чт) 18:01
Откуда: СПб

Re: Синтаксис Mid$(a$,n%) = Chr$(n%)

Сообщение VOS » 14.03.2005 (Пн) 19:19

John_AK писал(а):Как оно работает :shock:

А работает оно абсолютно по-тупому... :P
Если серьезно, то создает "запробеленную" строку, а потом замещает все символы по порядку символами с соответствующими ASCII-кодами... На мой взгляд проще (по крайней мере, менее извращенно :))
Код: Выделить всё
a$=""
For I=1 To 255
a$=a$+Chr$(I)
Next I

Не уверен, конечно, что у какого-нибудь профа не возникнет возражений насчет этого метода...
- Папа, а правда, что форумы делают человека идиотом?
- Гыыы, лол, сынок!

John_AK
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 02.03.2005 (Ср) 16:53

Сообщение John_AK » 14.03.2005 (Пн) 19:24

Смущает присваение
Mid$(a$,n%) = Chr$(n%)
т.е. присваеваем функции
Просто не знал что такие финты возможны

получается Mid$(a$,n%) указывает на кусок строки

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.03.2005 (Пн) 19:36

John_AK писал(а):Смущает присваение
Mid$(a$,n%) = Chr$(n%)
т.е. присваеваем функции
Просто не знал что такие финты возможны

получается Mid$(a$,n%) указывает на кусок строки

А ты набери слово Mid и нажми F1. Откроется страница с выбором, по какому именно Mid тебе справка нужна - по функции или по инструкции (statement). ЕМНИП, она такая одна, по крайней мере сейчас навскидку я больше ничего аналогичного вспомнить не могу. Но бывает весьма полезно, как в этом случае...

John_AK
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 02.03.2005 (Ср) 16:53

Сообщение John_AK » 14.03.2005 (Пн) 19:42

Мда
Иногда полезно букварь перечитать

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Синтаксис Mid$(a$,n%) = Chr$(n%)

Сообщение alibek » 15.03.2005 (Вт) 8:31

VOS писал(а):На мой взгляд проще (по крайней мере, менее извращенно :))
Код: Выделить всё
a$=""
For I=1 To 255
a$=a$+Chr$(I)
Next I

Не уверен, конечно, что у какого-нибудь профа не возникнет возражений насчет этого метода...

Может и проще, но не лучше.
Первый способ не столь нагляден, но с точки зрения быстродействия и работы с памятью лучше. Возможно, что в разы.
Lasciate ogni speranza, voi ch'entrate.

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 15.03.2005 (Вт) 13:40

Код: Выделить всё
Dim a As String*255
For n% = 1 To 255
     Mid$(a$,n%) = Chr$(n%)
Next

Так вроде еще можно... только а будет постоянной длины


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 105

    TopList