Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не отображаются открытые файлы в ListBox 
:(
    Опции темы
Ednikbod
Дата 11.2.2017, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 11.2.2017

Репутация: нет
Всего: нет



Помогите! Не пойму, в чём дело.
Делаю проигрыватель, взятый из группы компонентов System. 
Компилятор у меня Borland builder 6. Файлы открываются 
нормально, воспроизводятся, но в листбоксе не отображаются 
совсем, их не видно. Устал интернет перерывать в поисках 
ответа. Вот код (весь, целиком):

Код

//---------------------------------------------------------------------------

#include <vcl.h>
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include <Windows.h>

#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int main();
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)
{
int z;
OpenDialog1->Execute();
MediaPlayer1->FileName = OpenDialog1->FileName;
MediaPlayer1->Open();
for (z=0;z<ListBox1->Items->Count;z++)
ListBox1->Items->AddStrings(OpenDialog1->Files);
}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)
{
 ListBox1->Clear();       
}
//---------------------------------------------------------------------------



Это сообщение отредактировал(а) Ednikbod - 11.2.2017, 22:02
PM MAIL   Вверх
Ednikbod
Дата 12.2.2017, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 11.2.2017

Репутация: нет
Всего: нет



Разобрался. Ошибки исправил. Новый вопрос.
Я сделал программно включение некоторых кнопок. Но при попытке запрограммировать кнопки Next и Previous возникает ошибка - такая: [C ++ Error] unit1.cpp (68): E2015 неоднозначность между 'btNext' и 'Comctrls :: btNext'. Что это значит? И можно ли это исправить?

Вот код:

Код

//---------------------------------------------------------------------------

#include <vcl.h>
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include <Windows.h>

#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int main();
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)
{
int z;
OpenDialog1->Execute();
MediaPlayer1->FileName = OpenDialog1->FileName;
MediaPlayer1->Open();
ListBox1->Items->AddStrings(OpenDialog1->Files);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
MediaPlayer1->FileName = ListBox1->Items->Strings[ListBox1->ItemIndex];
MediaPlayer1->Open();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)
{
 ListBox1->Clear();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Panel1Click(TObject *Sender)
{
MediaPlayer1->DisplayRect = Rect(0,0,497,297);        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::MediaPlayer1Click(TObject *Sender,
      TMPBtnType Button, bool &DoDefault)
{
 DoDefault = false;
 switch(Button)
{
 case btStep:
 MediaPlayer1->Position = MediaPlayer1->Position + 25000;
 MediaPlayer1->Step();
 break;
 case btBack:
 MediaPlayer1->Position = MediaPlayer1->Position - 25000;
 MediaPlayer1->Back();
 break;
 case btNext:
 MediaPlayer1->Next();
 break;
 case btPrev:
 MediaPlayer1->Previous();
 break;
 default :
 DoDefault = true;
 break;
}
}
//---------------------------------------------------------------------------


PM MAIL   Вверх
xvr
Дата 13.2.2017, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Ednikbod @  12.2.2017,  14:44 Найти цитируемый пост)
 неоднозначность между 'btNext' и 'Comctrls :: btNext'. Что это значит?

Это значит, что константа btNext описана на глобальном уровне и внутри namespace Comctrls (и этот namespace подключен через using namespace Comctrls)
Цитата

И можно ли это исправить?
Можно. Нужно явно указать, откуда брать константу. Так - ::btNext либо так - Comctrls :: btNext

PM MAIL   Вверх
Ednikbod
Дата 13.2.2017, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 11.2.2017

Репутация: нет
Всего: нет



Большое спасибо за совет, он помог!
Но странная вещь: я сделал управление всеми кнопками программно. И кнопки Next и Previous почему-то дублируют кнопку Play. А если оставить "пуск", "пауза" и "стоп" по умолчанию, то кнопка "пуск" совсем не работает, а воспроизведение включается кнопкой Next. Казалось бы: это разные кнопки, они не должны дублироваться?

Вот информация об ошибках:
[C++ Error] Unit1.cpp(79): E2172 Duplicate case
[C++ Error] Unit1.cpp(80): E2188 Expression syntax
[C++ Error] Unit1.cpp(82): E2172 Duplicate case
[C++ Error] Unit1.cpp(83): E2188 Expression syntax

Вот эта часть кода:

Код

void __fastcall TForm1::MediaPlayer1Click(TObject *Sender,
      TMPBtnType Button, bool &DoDefault)
{
 DoDefault = false;
 switch(Button)
{
 case ::btPlay:
 MediaPlayer1->Play();
 break;
 case ::btPause:
 MediaPlayer1->Pause();
 break;
 case ::btStop:
 MediaPlayer1->Stop();
 break;
 case btStep:
 MediaPlayer1->Position = MediaPlayer1->Position + 25000;
 MediaPlayer1->Step();
 MediaPlayer1->Play();
 break;
 case btBack:
 MediaPlayer1->Position = MediaPlayer1->Position - 25000;
 MediaPlayer1->Back();
 MediaPlayer1->Play();
 break;
 case Comctrls::btNext:
 MediaPlayer1->Next();
 break;
 case Comctrls::btPrev:
 MediaPlayer1->Previous();
 break;
}
}


Первые три кнопки сделаны без Comctrls, потому что возникает ошибка при компиляции.

Это сообщение отредактировал(а) Ednikbod - 13.2.2017, 14:56
PM MAIL   Вверх
xvr
Дата 13.2.2017, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Похоже коды bt* не соответствуют действительности. Сравните чему равны коды в Comctrls и глобальные

PM MAIL   Вверх
Ednikbod
Дата 13.2.2017, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 11.2.2017

Репутация: нет
Всего: нет



Простите, пожалуста. А как это сравнить? Где находится эта Comctrls? Я ещё полный новичок в программировании, только учусь!
PM MAIL   Вверх
xvr
Дата 14.2.2017, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



У вас параметр Button имеет тип TMPBtnType ( http://docs.embarcadero.com/products/rad_s...TMPBtnType.html )
Это вообще не comctrls и не глобальные kb*.
Это должны быть константы MPlayer::kb*


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1202 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.