Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 10

Как вывести полное имя файла рисунка

09.09.2013, 22:13. Показов 2429. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать интерфейс с объектами, представленными на рисунке. Для кнопок CommandButton1 и CommandButton2 загружаются изображения при инициализации формы UserForm1. При нажатии на кнопку с помощью меток Label1 и Label2 выводится полное имя файла рисунка.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2013, 22:13
Ответы с готовыми решениями:

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения
На с++

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения/
C++

Как узнать полное имя файла зная его краткое имя?
например при запуске программы достаточно написать "Excel" или "Calc" при этом система уже в курсе где этот файл лежит. как программно...

12
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
10.09.2013, 02:40
Год новый, темы старые: взял в разделе Excel программерсфорума от 12.11.2012 (16:49).

При вашем интересе к задачам по программированию, надеюсь, разберётесь:
Вложения
Тип файла: rar Жирафы.rar (101.2 Кб, 27 просмотров)
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
10.09.2013, 18:51
Sasha_Smirnov, симпатичную работу вы привели.

Это работа вдохновила меня на создание целого зоопарка! Результатом своих трудов весьма доволен, надеюсь, что топикстартеру и вам он тоже понравится .

С уважением,
Aksima
Вложения
Тип файла: xls Zoopark.xls (62.5 Кб, 41 просмотров)
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
11.09.2013, 05:10
У меня коллекция зверей не заполняется: animalColl.Count = 0, что грустно!

У ТС же, судя по темам, пока не развиты соответствующие органы восприятия.
0
10 / 5 / 0
Регистрация: 09.03.2013
Сообщений: 29
11.09.2013, 09:25
Aksima, это шедеврально
0
 Аватар для DimN
98 / 49 / 0
Регистрация: 14.08.2013
Сообщений: 230
Записей в блоге: 4
11.09.2013, 10:21
Sasha_Smirnov, аналогично!!!
и в последствие ReDim ругается на отрицательную цифирю.
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
11.09.2013, 10:37
Если Евгения1 сможет это починить — он[а] гений!
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
11.09.2013, 11:14
Добрый день! Мне очень жаль, что программа не у всех работает.

Но для исправления ситуации мне нужно больше информации. Если у вас есть желание помочь, сообщите мне в личку следующие данные:

1) Используемый по умолчанию браузер.
2) Исходные коды страниц, которые получаются у вас. Сделайте в программе замену
Visual Basic
1
2
3
4
5
6
7
    For i = 0 To 2
        oHTTP.Open "GET", urls(i), False 'Ãóãëèì êàðòèíêè.
        oHTTP.Send
        For Each lnk In rgX.Execute(oHTTP.ResponseText) 'Èçó÷àåì êîä ïîëó÷åííîé ñòðàíèöû íà ïðåäìåò íàëè÷èÿ ññûëîê íà êàðòèíêè.
            If Left(lnk, 17) <> "http://schema.org" Then animalColl.Add lnk 'Íàøëè ññûëêó - äîáàâëÿåì â êîëëåêöèþ. Ó÷èòûâàåì íåáîëüøóþ íåòî÷íîñòü â øàáëîíå.
        Next lnk
    Next i
на
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
    For i = 0 To 2
        oHTTP.Open "GET", urls(i), False 'Гуглим картинки.
        oHTTP.Send
        Open "C:\Temp\log" & i & ".txt" For Output As #1
        Print #1, oHTTP.ResponseText
        Close #1
'        For Each lnk In rgX.Execute(oHTTP.ResponseText) 'Изучаем код полученной страницы на предмет наличия ссылок на картинки.
'            If Left(lnk, 17) <> "http://schema.org" Then animalColl.Add lnk 'Нашли ссылку - добавляем в коллекцию. Учитываем небольшую неточность в шаблоне.
'        Next lnk
    Next i
    Exit Sub
И скопируйте текст из log файла в личку.

Заранее спасибо,
Aksima
Прочитал правила. Понял, что приглашать к общению в личку как бы запрещено. Но от 200 строк технической информации эта тема лучше не станет .
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
11.09.2013, 13:48
Может, конечно, чудо-код спотыкается о браузер (а это были Модзилла и Опера; уж не знаю, по умолчанию они или нет), но мне кажется, что критический момент (n = 0) возникает вовсе не из-за браузера.

Уважаемый Aksima, я, прежде чем осуществить тестовый прогон, создал у себя папку C:\Temp; результат прилагаю:
Вложения
Тип файла: rar Temp.rar (163.9 Кб, 8 просмотров)
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
11.09.2013, 15:56
Sasha_Smirnov, я в шоке...

Исходные коды веб-страницы, которые у меня получались, были намного короче и имели четкую структуру, в которой было несложно выделить ссылки на изображения. У вас все совсем не так, и я даже предположить не могу, где теперь копать на предмет этих ссылок...

Давайте попробуем жестко задать использование IE? Это, конечно, приведет к ощутимой потере производительности, но зато программа станет надежнее... Итак, привожу код с использованием объекта Internet Explorer:

Вариант получения ссылок через объект IE
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
'Ïðè ïåðâîì çàïóñêå ôîðìû ôîðìèðóåì ñîñòàâ çîîïàðêà.
Private Sub UserForm_Initialize()
    Dim oIE As Object, oIEDoc As Object, oElems As Object, oAnc As Object
    Dim oHTTP As Object, oStream As Object, oCB As Object
    Dim animals() As String, animalColl As New Collection
    Dim urls As Variant, lnk As Variant
    Dim i As Long, n As Long, newi As Long
    Dim t As String, p As String, picName As String
    On Error Resume Next
    Set oIE = CreateObject("InternetExplorer.Application")
    On Error GoTo 0
    If oIE Is Nothing Then
        MsgBox "Èçâèíèòå, íî äëÿ ðàáîòû äàííîãî ìàêðîñà âàì ïðèäåòñÿ óñòàíîâèòü Internet Explorer."
        Unload Me
        Exit Sub
    End If
    urls = Array( _
"https://www.google.ru/search?q=%D0%BC%D0%BB%D0%B5%D0%BA%D0%BE%D0%BF%D0%B8%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D0%B5+%D0%B6%D0%B8%D0%B2%D0%BE%D1%82%D0%BD%D1%8B%D0%B5&tbm=isch", _
"https://www.google.ru/search?q=%D0%BF%D1%82%D0%B8%D1%86%D1%8B&tbm=isch", _
"https://www.google.ru/search?q=%D1%80%D1%8B%D0%B1%D1%8B&tbm=isch") 'Ññûëêè íà ïîèñê ÷åðåç Google êàðòèíîê - ìëåêîïèòàþùèõ, ïòèö è ðûá.
    For i = 0 To 2
        oIE.Navigate urls(i) 'Ãóãëèì êàðòèíêè ÷åðåç Internet Explorer.
        While oIE.Busy Or oIE.ReadyState < 4 'Æäåì, ïîêà âåá-ñòðàíèöà çàãðóçèòñÿ.
            DoEvents
        Wend
        Set oIEDoc = oIE.Document
        Set oElems = oIEDoc.getElementsByClassName("rg_l")
        For Each oAnc In oElems 'Äëÿ êàæäîãî èçîáðàæåíèÿ-ãèïåðññûëêè íà ñòðàíèöå...
            i = i + 1
            lnk = oAnc.getAttribute("href") 'a) ïîëó÷àåì çíà÷åíèå àòðèáóòà "href"
            lnk = Mid(lnk, InStr(lnk, "imgurl")) 'á) ïîëó÷àåì âíóòðè íåãî ïàðàìåòð "imgurl"
            lnk = Mid(Left(lnk, InStr(lnk, "&") - 1), 8) 'â) îòñåêàåì ñëîâî "imgurl=" è âòîðè÷íûå ïàðàìåòðû.
            'Debug.Print lnk
            animalColl.Add lnk
        Next oAnc
        If animalColl.Count = 0 Then
            MsgBox "Ãåíèàëüíî! Êàê âû óìóäðèëèñü ñíîâà ïîëó÷èòü ýòó îøèáêó? Ðàññêàæèòå ñâîþ èñòîðèþ Aksima íà ôîðóìå cyberforum.ru"
            Unload Me
            Exit Sub
        End If
    Next i
    Set oIE = Nothing
    'Çàíîñèì ñïèñîê ññûëîê â ìàññèâ - ñ ìàññèâîì óäîáíåå.
    n = animalColl.Count - 1
    ReDim animals(n) As String
    For i = 0 To n
        animals(i) = animalColl(i + 1)
    Next i
    'Ïåðåìåøèâàåì ññûëêè ñëó÷àéíûì îáðàçîì.
    Randomize
    For i = 0 To 1
        newi = Int(Rnd() * (n + 1))
        t = animals(i)
        animals(i) = animals(newi)
        animals(newi) = t
    Next i
    For i = n To 1 Step -1
        newi = Int(Rnd() * (i + 1))
        t = animals(i)
        animals(i) = animals(newi)
        animals(newi) = t
    Next i
    'Èçîáðàæåíèÿ ïî äâóì ïåðâûì ññûëêàì çàãðóæàåì íà êíîïêè,
    'è âñå ññûëêè ñîõðàíÿåì â ñêðûòîå òåêñòîâîå ïîëå äëÿ
    'äàëüíåéøåãî èñïîëüçîâàíèÿ.
    tbAnimals = Join(animals, ",")
    Set oHTTP = CreateObject("MSXML2.XMLHTTP")
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Type = 1
    p = ThisWorkbook.Path & "\"
    For i = 0 To 1
        picName = Mid(animals(i), InStrRev(animals(i), "/") + 1)
        oHTTP.Open "GET", animals(i), False
        oHTTP.Send
        oStream.Open
        oStream.Write oHTTP.responseBody
        oStream.SaveToFile p & picName
        oStream.Close
        Set oCB = Me.Controls("cbAnimal" & i + 1)
        oCB.Picture = LoadPicture(p & picName, oCB.Width, oCB.Height)
        Kill p & picName
    Next i
    Set oStream = Nothing
    Set oHTTP = Nothing
    f = True
End Sub



Новый файл прикрепляю.

С уважением,
Aksima
Вложения
Тип файла: xls ZooparkStrictIE.xls (47.0 Кб, 21 просмотров)
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
11.09.2013, 19:19
Я, к сожалению, Internet Explorer удалил.

Добавлено через 2 часа 32 минуты
Вот сделал по умолчанию Яндекс-браузер. Сейчас испытаю...

Добавлено ещё через 32 минуты
Результаты испытаний в Яндекс-браузере:
  • для Zoopark.xls
    1. Семейство (коллекция) animalColl пусто
    2. Папка C:\Temp (созданная мной вручную) пуста
  • для ZooparkStrictIE.xls
    1. Семейство animalColl, по-видимому, не пусто: ошибка выполнения другая (см. рис.)
    2. Папка C:\Temp пуста
Миниатюры
Как вывести полное имя файла рисунка  
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
25.06.2015, 04:22
Zoopark.xls (62.5 Кб, 30 просмотров) испытал на ноутбуке; всё норм:
Миниатюры
Как вывести полное имя файла рисунка  
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
26.12.2016, 03:16
Цитата Сообщение от Аксима Посмотреть сообщение
Zoopark.xls (62.5 Кб, 34 просмотра)
успешно — и с большим удовольствием! — испытал в Excel 2003 и 2007 (последний, мне кажется, подтормаживал… либо пинг уже не тот).

А вот на
Цитата Сообщение от Аксима Посмотреть сообщение
ZooparkStrictIE.xls (47.0 Кб, 14 просмотров)
(несмотря на работоспособный IE10) VBE ругнулся:
---------------------------
Microsoft Visual Basic
---------------------------
Run-time error '-2147012890 (80072ee6)':

Method 'open' of object 'IServerXMLHTTPRequest2' failed
---------------------------
ОК Справка
---------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2016, 03:16
Помогаю со студенческими работами здесь

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога
Помогите пожалуйста!!! Залание: Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого...

Дана строка содержащая полное имя файла.Выделить из этой строки только имя файла без расширения
1.Дан символ С.Вывести его код (то есть номер в кодовой таблице) 2. Дан символ С.Вывести два символа, первый из которых предшествует...

Дана строка, содержащая полное имя файла. Выделить из этой строки имя и расширение файла
дана строка, содержащая полное имя файла, т.е. имя диска, список каналов(путь), собственно имя и расширение.выделить 1) из этой строки имя...

Как получить полное имя файла
Здравствуйте! У меня на форме TSaveDialog, вот я сохранил текст с TMemo используя имя например &quot;TRPP.txt&quot; и как мне переменной...

Как получить полное имя файла?
Подскажите пожалуйста, File file = fileopen.getSelectedFile(); label.setText(file.getName()); Функция getName() возвращает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru