Вопрос № 80743: Здравствуйте!
Мне нужно получить иконку, которая сопоставлена с определенным типом файлов.
То есть, допустим, вводим "bmp", а мне возвращается иконка, которая зарегистрирована у меня в системе под таким расширением.
Как такое мо...Вопрос № 80786: Здравствуйте уважаемые эксперты, на этот раз меня интересует поиск и сортировки. Пишу ИС для Access(связь с таблицей "DataBoundGrid" через "data"), допустим там 2 столбца, один тип текстовый а второй числовой, требуются сортировки...Вопрос № 80831: Здравствуйте, жду с нетерпением помощи. У меня такая ситуация: Хочу через InputBox ввести в последовательность ячеек значения.
Можно ли это как то организовать в цикле. Ячейкам присвоены имена Klas1; Klas2 ... Klas72.
По типу такого
For A = ...Вопрос № 80843: К вопросу № 80694. Может я неправильно выразился. Но есть таблица и формы, надо в Access 2003 построить в график при нажатии на кнопку (что бы пользователь не делал ничего линего, и что бы график отображался в Форме).
Заранее спасибо....
Вопрос № 80.743
Здравствуйте!
Мне нужно получить иконку, которая сопоставлена с определенным типом файлов.
То есть, допустим, вводим "bmp", а мне возвращается иконка, которая зарегистрирована у меня в системе под таким расширением.
Как такое можно реализовать?
P.S. Считывать иконку из конкретного файла не надо.
Отправлен: 02.04.2007, 18:08
Вопрос задал: Red Spirit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: HookEst
Здравствуйте, Red Spirit!
В приложении для VB6 пример использования для этого функции WindowsAPI SHGetFileInfo:
на форме TextBox Text1(для ввода нужного расширения) и PictureBox Picture1(для вывода связанной иконки).
при изменении значения Text1(например на "bmp" или "txt"), в Picture1 рисуется иконка связанная с расширением равным значению Text1
(см. Text1_Change и примечания)
Если что, пишите.
Успехов.
Приложение:
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 03.04.2007, 06:46 Оценка за ответ: 5 Комментарий оценки: Хм.. интересная идея, и как я сам не догадался =)
Отвечает: Alec Perle
Здравствуйте, Red Spirit!
Если считывать иконку из файла не надо, то, как я понял, нужно узнать, в каком файле хранится иконка, ассоциированная с конкретным типом файла.
Ассоциации файлов по их расширению хранятся в ключах реестра
HKEY_CLASSES_ROOT, например для файлов *.mp3 у ключа реестра
HKEY_CLASSES_ROOT.mp3 значение по умолчанию равно "Winamp.File", а в ключе реестра
HKEY_CLASSES_ROOTWinamp.File заданы описания данного типа файлов, выполняемые с ними команды, в частности значение ключа
HKEY_CLASSES_ROOTWinamp.FileDefaultIcon равно "C:Program FilesWinampwinamp.exe,4"
(это в моих настройках, у Вас программа и местонахождение иконки может быть другим).
Поэтому алгоритм определения местонахождения ассоциированной иконки такой:
1. Ищем ключ реестра по расширению и определяем тип файла
2. Ищем ключ реестра по типу файла и определяем местонахождение иконки.
В VB/VBA возможность работы с произвольными ключами реестра осуществимо с использованием функции WinAPI, правда использовать необходимо только два. См. примерный код в приложении.
Приложение:
--------- Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: 6-ой класс)
Ответ отправлен: 03.04.2007, 19:46 Оценка за ответ: 5
Вопрос № 80.786
Здравствуйте уважаемые эксперты, на этот раз меня интересует поиск и сортировки. Пишу ИС для Access(связь с таблицей "DataBoundGrid" через "data"), допустим там 2 столбца, один тип текстовый а второй числовой, требуются сортировки по возрастанию и по убыванию для текста и для чисел.Если кто писал прошу поделиться кодом.
И еще нужен пример хорошего поиска(желательно чтоб искал не по полному названию, допустим я ввожу букву "а" и в таблице выводятся слова только на "а". Буду благодарен любому примеру поиска и сортировок!
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Чалагаев И.Г!
Если Вы в Access используете контрол 'Data', то сортировать вам придется рекордсет, примерно так:
... rst.Sort = FildName & " ASC, Fld2 DESK"...
"...и в таблице выводятся слова только ..." это можно отнести к фильтру таблицы, а поиск лучше производить в запросе с условием отбора:
"...WHERE Field Like 'А' & '*'..."
Удачи.
Евгений.
Здравствуйте, жду с нетерпением помощи. У меня такая ситуация: Хочу через InputBox ввести в последовательность ячеек значения. Можно ли это как то организовать в цикле. Ячейкам присвоены имена Klas1; Klas2 ... Klas72.
По типу такого
For A = 1 to 72
adr = "klas" + str(a)
inputbox (znath)
Range(adr).Value = znath
next a
Отвечает: Genyaa
Здравствуйте, Андрейчиков Василий Васильевич!
см.приложение.
Приложение:
--------- Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: Студент)
Ответ отправлен: 03.04.2007, 11:27
Вопрос № 80.843
К вопросу № 80694. Может я неправильно выразился. Но есть таблица и формы, надо в Access 2003 построить в график при нажатии на кнопку (что бы пользователь не делал ничего линего, и что бы график отображался в Форме).
Отвечает: HookEst
Здравствуйте, Вячеслав Игоревич!
С использованием Excel.Chart это может выглядеть примерно так:
на форму ложим "свободную рамку объекта", внедряем в нее Excel.Chart, настраиваем его внешний вид и т.п.
а сами данные:
Private Sub Кнопка1_Click()
'здесь нужен Reference на Microsoft Excel Object Library
Dim ws As Excel.Worksheet
Dim ch As Excel.Chart
Dim count As Long
Set ch = ole.Object.Sheets(1)
Set ws = ole.Object.Sheets(2)
'где ole - это имя "рамки" с графиком
'теперь ch - это Chart object
'а ws - Worksheet с ним связанный
'можно пользоваться как обычно в Excel
'копируем данные из таблицы "Таблица1"(может быть любой рекордсет, у меня таблица с двумя полями x и y) на ws
count = ws.Range("A2").CopyFromRecordset(CurrentDb.OpenRecordset("Таблица1"))
'и переустанавливаем область данных
ch.SetSourceData ws.Range("B1:B" & count), xlColumns
End Sub
Конечно, это только макет, наверняка придется еще настраивать график(оси, ряды и т.д.), обработать ошибки, может освободить переменные.
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 03.04.2007, 11:50 Оценка за ответ: 5