![]() |
|
Модераторы: Akina |
![]()
|
|
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Объясните мне, товарищи, могу ли я работать со строкой, как с массивом?
Я создаю в аксесе форму. Кладу на неё EditBox. Мне надо текст оттуда вытаскивать посимвольно. Я использую для этого функцию mid, но нельзя ли как-нибудь проще? -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Skywalker |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 17.11.2003 Где: Днепропетровск, У краина Репутация: нет Всего: 2 |
в Accesse есть возможность использовать большинство комманд и функций vb... попробуй тогда left() и right()
-------------------- "Мы в ответе за тех, кого приручили" Антуан де Сент Экзюпери, Маленький принц |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Я не знаю сработает ли это в Access, но в VB работает без проблем
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Мой код ниже
Вот как бы его улучшить? некрасивый он, на мой взгляд. Притом мне совсем не нраится именно выдерание символов из строки при помощи функции.
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Vach |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 17.10.2003 Где: Санкт-Петербург Репутация: 8 Всего: 18 |
Вот вариант, должен работать быстрее, но я не мерил.
А зачем это нужно, если не секрет?
|
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Baa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Зачем это нужно? знанимаюсь реализацией кода Хаффмана...
Дальше еще интересней... вот только не знаю, стоит ли отдельную тему создавать? Вобщем, если что, прошу прощения у модератора. Смотрим, составили мы нашу табличку. Все ок
Так вот Великое извращение делать это в аксесе, но приходится. Соотв. заполнить её по этому алгоритму, беря данные из таблицы, которую заполняли выше. http://www.avhohlov.narod.ru/p2500ru.htm Но что-то у меня ну никак не получается придумать алгоритм заполнения... Буду благодарен за идеи. Да, кстати, тему не стоит переносить в алгоритмы, ибо алгоритм сам я знаю и могу реализовать в других условиях (языках). Добавлено @ 14:24 Akina, использование конструкции with считается некорректным с точки зрения структурного программирования т.к. она больше запутывает, чем дает реальную выгоду. RecordCount использовать также не рекомендуется.
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
||||
|
|||||
| Vach |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 17.10.2003 Где: Санкт-Петербург Репутация: 8 Всего: 18 |
Можно в старой таблице дерево строить. Так проще.
Изменения Добавь поля: Level, id_Next_Level, LR. Все Integer (Замени тип "Symbol" на Integer и работай с ASCII кодом, так избежишь проблем с непечатными символами.) - ето так, мысли в слух После выполнения получится запись с Level = 1 это и есть верх дерева От "Symbol" поднимайся на верх по "id_Next_Level" и составляй код по "LR"
|
|||
|
||||
| Alexei |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: нет Всего: 4 |
Байты в строку и наоборот:
Private Declare Function lstrcpyToArray Lib "kernel32" Alias "lstrcpyA" (deststring As Byte, ByVal srcstring$) As Long Private Declare Function lstrcpyFromArray Lib "kernel32" Alias "lstrcpyA" (ByVal deststring$, srcstring As Byte) As Long Использовать так: Call lstrcpyToArray(buffer(0), string) Call lstrcpyFromArray(string, buffer(0)) Это сообщение отредактировал(а) Alexei - 21.5.2004, 08:27 |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Alexei, да неправильный это подход... цель была найти какой-нить простой способ без объявления дополнительных функций. А так и с функцией mid неплохо работает.
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |