powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Просмотр картинок в папке
25 сообщений из 31, страница 1 из 2
Просмотр картинок в папке
    #34981999
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна помощь! Помогите как сделать смотрелку?
параметры:
существует папка в оторую можно сбрасывать картинки
смотрелшка по очерёдки или в разноброс показывает эти картинки
Это чтото типа ACDSee Quick View!
Помогите чем сможете!
Модератор:
Еще одно такое название топика и в бан
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #34983273
Фотография LifeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
адрес напиши отмылю исходники
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #34984074
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Записывай :surbanec@yandex.ru
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #34984988
скинь пожалуйста и мне... mastaxys@mail.ru Спасибо заранее!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Просмотр картинок в папке
    #37603683
здравствуйте, помогите пожалуйста с задачей.
Создать приложение «Просмотр картинок». Картинки (не менее 10 шт.) имеют имена вида «01.jpg», «02.jpg», «03.jpg» и т.д. и загружаются по очереди из папки, где находится само приложение. На форме предусмотреть кнопки «Вперед», «Назад», «Перейти к первой», «Перейти к последней». Также предусмотреть возможность просмотра картинки по выбранному номеру.

Сложность возникла с двумя кнопками - "вперед" и "назад"
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603711
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз нет сложностей с кнопкой "Перейти к первой", то в чем сложность "перейти назад", надо всего загрузить не первую, а текущая минус один?

Или сложностей нет потому что код всего остального где-то стырен без понимания сути?
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603864
Shocker.Pro,

вы можете мне на примере двух трех картинок написать код к одной из этих кнопок.
Я уже пробовала миллионными способами - всё равно не выходит.
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603867
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

выложите код кнопки "Перейти к первой". на основе этого можно будет написать код для остальных кнопок
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603868
BelowZero,

Private Sub Command1_Click()
Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg")
End Sub
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603882
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

Код: vbnet
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.
Option Explicit
Dim a As Long 'номер картинки. при каждом открытии картинки присваиваете переменной a номер открытой картинки, например
Private Sub Command2_Click()
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\05.jpg") <> "" Then
Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\05.jpg")  'загружаем 5 картинку и запоминаем
a = 5
End If
End Sub
Private Sub Command3_Click() 'кнопка "назад"
If a > 1 Then
    If a < 11 Then
    Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a - 1 & ".jpg")
    Else
    Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\" & a - 1 & ".jpg")
    End If
a = a - 1
End If
End Sub

Private Sub Command1_Click() 'кнопка вперёд
If a < 10 Then
Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a + 1 & ".jpg")
a = a + 1
End If
End Sub

примерно так. но в идеале можете доделать код, чтобы у всех картинок была проверка файлов, отсутствие 1 файла не убивало всю прогу и чтобы поиск шёл не по точному имени, а по алфавитному порядку картинки в файле... но это уже на ваш вкус
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37603927
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

не отвечаете, потому что всё получилось, или, наоборот, ничего не понятно?)
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604127
BelowZero,
всё понятно...но вот не всё получилось...как только дохожу до последней (по кнопке вперед) картинки выскакивает ошибка
ну и такая же фигня с кнопкой назад
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604145
BelowZero, а не..
по кнопке вперед не доходит до последней картинки даж
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604153
BelowZero,

с последней проблемой всё решилось...
как сделать чтобы по кнопке вперед после 10 картинки первая появлялась и тд
и так же по кнопке назад
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604158
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

количество картинок - фиксированное число? т.е. их всегда 10?
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604161
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

p/s Машенька1992с последней проблемой всё решилось... в чём была причина проблемы? сомневаюсь, что дело в коде. наверно, у вас отсутствовали картинки с нужными именами
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604173
BelowZero,
в ошибке было написано, что не найден файл 010.jpg
я исправилф имя файла и всё работает...
напишите мне пожалуйста как сделать так чтобы с 10 картинки по кнопке "вперед" я могла вернуться на первую и продолжать просмотр картинок...и так же с кнопкой назад чтобы с первой на 10ую..
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604225
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

как-то так...
Код: vbnet
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.
Option Explicit
Dim a As Long
Private Sub Form_Load()
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg") <> "" Then Image1.Picture = LoadPicture("C:\1\01.jpg")
End Sub
Private Sub Command1_Click()
If a > 1 Then
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a - 1 & ".jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a - 1 & ".jpg")
a = a - 1
ElseIf Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\10.jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\10.jpg")
a = 10
End If
label1.Caption = a & ".jpg"
End Sub
Private Sub Command2_Click()
If a < 9 Then
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a + 1 & ".jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\0" & a + 1 & ".jpg")
a = a + 1
ElseIf a = 9 Then
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\" & a + 1 & ".jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\" & a + 1 & ".jpg")
a = a + 1
ElseIf a = 10 Then
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg")
a = 1
End If
label1.Caption = a & ".jpg"
End Sub
Private Sub Command3_Click()
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg")
a = 1
label1.Caption = a & ".jpg"
End Sub
Private Sub Command4_Click()
If Dir("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\10.jpg") <> "" Then Image1.Picture = LoadPicture("C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\10.jpg")
a = 10
label1.Caption = a & ".jpg"
End Sub
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604229
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

замените "C:\1\01.jpg" на C:\Users\1\Desktop\10101\Visual Basic 6.0 Enterprise Edition\01.jpg
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604252
BelowZero,
всё работает..правда не идеально...когда происходит переход по второму кругу, нужно два раза нажимать на кнопку...
я хотела спросить, что значит Dir (в начале после If идёт)
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604266
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

у меня всё работает нормально... а... я понял... переименуйте 010.jpg обратно в 10.jpg. dir проверяет, есть такой файл, или нет. если есть, открывает. если нет, ничего не делает. если бы не было этой проверки, например, при открытии файла 10.jpg код вылетал бы с ошибкой(т.к. его у вас нет). вот из моей обучающей книжки
Функция DIR подробно.

Синтаксис ее такой:

Dir (Полный путь, атрибут)

Ну полный путь - это понятно, типа "c:\windows\system\хрень.dll". А атрибуты его это константы и могут принимать такие значения

Имя константы Числовое значение константы Тип файлов
vbNormal 0 обычные файлы
vbHidden 2 скрытые файлы
vbSystem 4 системные файлы
vbVolume 8 метка тома
vbDirectory 16 каталог (папка)

Если атрибут не ставить, то по умолчанию он равен 0 (обычный файл). Еще нам будет интересен атрибут = 16 (каталог, то бишь папка).

Причем все элементы функции Dir необязательны. Так как еe использовать?
Смысл ее работы в том, что она ищет файл, удовлетворяющий пути. Если она его находит, то возвращает его имя, если нет, то пустую строку (""). Используя это замечательное свойство, можно ее использовать следующим образом:

- Проверить, существует ли файл "c:\windows\system\хрень.dll"
If Dir("c:\windows\system\хрень.dll")<>"" Then Text1.Text="А я нашла файлик"
т.е. можно смело с этим файлом работать.

-Проверить, существует ли директория windows
If Dir("c:\windows",vbDirectory)<>"" Then Text1.Text="А я нашла папочку"
или (вместо константы vbDirectory можно поставить число 16
If Dir("c:\windows",16)<>"" Then Text1.Text="А я нашла папочку"
Это довольно-таки просто. А вот что бы найти все файлы в папке, узнать их имена, и т.п., надо написать такой код:
Для этого примера я предполагаю, что на форме есть кнопка Command1 и текстбокс Text1. Весь код пишется в процедуре кнопки.

Private Sub Command1_Click()

Объявим переменную, FileName как строковую. Мы будем присваивать ей имя файла (переменная локальная, работает только в этой процедуре)

Dim FileName As String

и очистим Text1 (на всякий случай)

Text1.Text = ""

Присвоим нашей переменной значение, которое вернет функция Dir. Обратите внимание, что имя файла состоит из звездочек. Это потому, что мы хотим получить имена всех существующих файлов, независимо от имени и расширения. Допустимо также использовать знак ? (например, если мы хотим получить имена всех файлов с расширение txt, имена которых одинаковы, кроме последнего знака (file1.txt, file2.txt... file9.txt) , можно написать "file?. txt"


FileName = Dir("D:\MyPicture\Disk_001\*.*")

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

If FileName <> "" Then

если наша переменная, которая должна была получить имя от функции Dir - не пустая, значит все в порядке, файлы есть. И теперь организовываем цикл Do...While, который будет выполнятся, пока функция Dir не вернет пустую строку (а это значит, что файлов, удовлетворяющих нашему пути "D:\MyPicture\Disk_001\*.*" нет.

Do While FileName <> ""

Теперь дописываем имя полученного файла в тектбокс Text1 (константу vbCrLf ставим, чтобы у нас каждое новое имя файла писалось с новой строки, если конечно свойство MultiLine текстбокса стоит в состоянии True)

Text1.Text = Text1.Text & FileName & vbCrLf

теперь нам в этом же цикле нужно снова запустить функцию Dir, на сей раз без аргументов, просто скобочки (а можно и вообще без них

FileName = Dir() ' или FileName = Dir

Теперь закроем цикл, закроем условие If и закроем процедуру Command1_Click

Loop
End If
End Sub

Вот и все. Можете проверить.
Еще раз поясняю работу Dir для выборки группы файлов. Первый вызов функции имеет полный путь до файла и маску имени файла ( с использованием * и ? ). При этом функция возвращает первое попавшееся имя файла, удовлетворяющее маске. Второй и последующие вызовы - функция не имеет аргументов и возвращает имена файлов, удовлетворяющих маске в произвольном порядке. После того, как все имена файлов возвращены и в директории нет больше файлов с именами, удовлетворяющими нашей маске, функция Dir возвращает значение "пустая строка" (""). Это сигнал к тому, что пора прекратить вызовы функции Dir. Если снова вызвать функцию Dir без аргументов, то это вызовет ошибку выполнения. Вызывать функцию можно теперь по-новой , с полным путем до файла.
Поскольку мы не использовали второй аргумент "атрибут", то по умолчанию он равен 0, т.е. выбираются файлы. Если мы поставим атрибут 16 - папка, то это вовсе не значит, что функция Dir будет выбирать для нас только папки. Она выберет и папки и файлы, входящие в указанную нами в пути директорию. Есть прием, который позволяет отделить файлы и оставить только папки. Он приведен в Хелпе для пятого Бейсика.
Кроме того, поскольку Функция Dir возвращает файлы в произвольном порядке, то для достойного вывода списка файлов на экран, их надо отсортировать хотя бы в алфавитном порядке. О сортировке мы будем говорить, когда будем рассматривать массивы.

Совет: Прежде чем открывать файл, проверьте, существует и он, с помощью функции Dir. Это позволит избежать ненужных ошибок.

Поскольку мы уже научились просматривать имена файлов, логично будет упомянуть другие операции с файлами:

...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604269
BelowZero,
по кнопке вперед, не происходит переход к 10 картинке
не совсем по порядку идут картинки...
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604275
BelowZero,
Выяснилось, что не нужно чтобы картинки шли по кругу...так что всё готово..
Только..скажите пожалуйста что означает Dir (в начале после If)
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604276
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Машенька1992,

.......................................................... Просмотр картинок в папке
...
Рейтинг: 0 / 0
Просмотр картинок в папке
    #37604279
BelowZero,
Dir означает просмотр картинок из папки?
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Просмотр картинок в папке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]