purebasic.info

PureBasic forum
Текущее время: Вт июл 17, 2018 7:00 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Чт июн 11, 2015 9:16 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11204
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
sedoyded писал(а):
Запускаю... "CatDate() is not a function, array, list, map or macro."
CatDate() это процедура?
Находится ниже по тексту места вызова?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июн 11, 2015 9:23 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
 
Structure CatDate
  calendar.i
  catname.i
EndStructure
 
NewList CatDate.CatDate()
 



В самом начале файла.
Вот код обработки в структуре вывода окна...
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
  y = 0
  If ExamineDirectory(0, GetHomeDirectory() + "PureMotion/media/", "*.*")  
    While NextDirectoryEntry(0)
      If DirectoryEntryType(0) = #PB_DirectoryEntry_Directory
        AddElement(CatDate())
        CatDate()\calendar = ImageGadget(#PB_Any, 10, 10+y, 60, 60, ImageID(8))
        CatDate()\catname = TextGadget(#PB_Any, 80, 10+y, 200, 50, DirectoryEntryName(0))
        y = y + 60
      EndIf
    Wend
    FinishDirectory(0)
  EndIf  
 


...если его переношу в начало файла - ошибок нет (!?)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июн 11, 2015 10:11 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11204
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
sedoyded писал(а):
Вот код обработки в структуре вывода окна
Случайно находится не в процедуре?
Если да, то не находит список из-за того, что он в другой области видимости. Нужно или список глобальным делать. Или добавить его в область видимости процедуры. Можно также передать как один из аргументов процедуры.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июн 11, 2015 10:25 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
"Семен Семеныч!!!"

Код:
1
2
3
4
5
6
7
8
9
10
Procedure OpenWinMain(x = 0, y = 0, width = 1500, height = 720)
  Structure CatDate
    calendar.i
    catname.i
  EndStructure
 
  NewList DateCat.CatDate()
 
  Wnd = OpenWindow(0, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_MaximizeGadget )
 


И все заработало. Список был действительно за пределами процедуры. Учту на будущее. Век живи - век учись. Никогда не поздно!
Еще раз спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 2:08 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Добрый день, знатоки!
После долгих мучений (ну захотелось попробовать purebasic), написал практически весь код программки. Дошло до "Динамического создания элементов". И тупик!!!
Чувствую что мозги кипят. И дело уже принципа - добить код...
Проблема следующая: все что было подробно разжевано ранее работает как положено. Но! Мне надо изменить содержание списка и вывести его повторно. Пробовал через очистку List().
Список удалить можно, но он остался на экране. Повторная загрузка списка идет "по верху".
Что-бы было более понятно. Мне была нужна оболочка под Motion. Написал практически на 100 процентов. Осталась только работа с архивом записей: 2-таблицы. Таблица с датами записей (формируется каталог с датой из имени файла) и вторая с фото, временем записи и кнопками просмотра и удаления. Соответственно при смене каталога с датой необходимо менять каталог с записями. Да и каждая камера пишет в свой каталог.
Что можно придумать при такой раскладке? Есть варианты?
В принципе надо обновить панели с выводом данных. Но как?
Заранее всем спасибо. Все что не делаеся, делается к лучшему. На Gambase решается просто, но исполняемый файл 340kb на Gambase не получишь.
Заранее всем спасибо! Кто знает решение - подскажите пожалуйста!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 2:43 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
sedoyded писал(а):
Пробовал через очистку List().
Список удалить можно, но он остался на экране.

Попробуйте FreeGadget(#Gadget)

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 3:27 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
И это тоже пробовал. Содержимое "чистится", а вывод остается. Явно не хватает чего-то типа "Обновить окно" (((


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 3:31 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11204
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
Думаю не помешал бы небольшой код, показывающий проблему.
Если нужно удалить все гаджеты в окне, то нужно пройтись по списку где хранятся их ИД и удалить с помощью FreeGadget().

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 4:58 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
И в Linux?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт июл 09, 2015 8:35 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Промелькнула одна "мысль". Буду пробовать. Результаты отпишу.
Всем спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб июл 11, 2015 5:32 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Ср июн 10, 2015 7:30 pm
Сообщений: 33
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Всем огромное спасибо!
Как раньше говорили "Учи мат-часть!" (не МАТ часть). Все работает. Посредственное знание PureBasic - "головная боль".
Объяснять причину проблемы - СТЫДНО!
Еще раз всем БОЛЬШОЕ спасибо!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB