Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Не отображаются открытые файлы в ListBox
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Ednikbod Ednikbod вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.02.2017
По умолчанию Не отображаются открытые файлы в ListBox - 11.02.2017, 21:19

Помогите! Не пойму, в чём дело.
Делаю проигрыватель, взятый из группы компонентов 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();       
}
//---------------------------------------------------------------------------
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,266
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 12.02.2017, 00:10

Это зачем???
cpp Код:
for (z=0;z<ListBox1->Items->Count;z++)
ListBox пустой, Count равен нулю, цикл не выполнится ни разу.

PS. Отладчиком не умеете пользоваться? Вместо того, чтобы перерывать интернет, нужно было поставить точку останова и посмотреть, что происходит..
Ответить с цитированием
Пользователь сказал cпасибо:
Ednikbod (12.02.2017)
  (#3 (permalink)) Старый
Ednikbod Ednikbod вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.02.2017
По умолчанию 12.02.2017, 06:54

Спасибо за пояснение! У меня огромное желание самому научиться делать программы - творить по своему вкусу и предпочтениям! Но пока я полный профан в этом деле, только пытаюсь "ковыряться" ещё в чём-то. Но умение быстрее приходит, только если постоянно пробуешь себя на практике, подкрепляя это теорией. Извините за разглагольствования!
Ответить с цитированием
  (#4 (permalink)) Старый
Ednikbod Ednikbod вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.02.2017
По умолчанию По поводу работы кнопок в TMediaPlayer - 12.02.2017, 15:34

Ошибки исправил. Новый вопрос.
Я сделал программно включение некоторых кнопок. Но при попытке запрограммировать кнопки 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;
}
}
//---------------------------------------------------------------------------
Ответить с цитированием
  (#5 (permalink)) Старый
Ednikbod Ednikbod вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.02.2017
По умолчанию 13.02.2017, 22:22

Причину этой ошибки я узнал. "Константа btNext описана на глобальном уровне и внутри namespace Comctrls (и этот namespace подключен через using namespace Comctrls). Нужно явно указать, откуда брать константу. Так - ::btNext, либо так - Comctrls :: btNext".

Но возник новый вопрос. Я сделал управление всеми кнопками программно. И кнопки 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

А вот код всей программы:

Код:
//---------------------------------------------------------------------------

#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 ::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::Prev:
 MediaPlayer1->Previous();
 break;
}
}
//---------------------------------------------------------------------------
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Муки выбора, закрытые или открытые? LegalUA Подбор комплектующих 6 08.06.2016 22:04
не отображаются svg файлы в файрфокс 43 fotic Любые вопросы от новичков 2 28.04.2016 08:40
Файлы: Составить программу, которая перепишет фамилии в отдельные файлы в соответстви ghjk Задания за деньги 3 29.05.2013 19:42
открыв заново проект открытые ранее страницы закрыты mstdmstd Eclipse 0 14.04.2013 11:45
Не отображаются картинки Uma_ni Софт и программы 14 16.09.2012 17:58
не отображаются ярлыки sergh Любые вопросы от новичков 3 09.11.2011 17:25
Файлы в фотошопе глючат, некоторые слои не отображаются. Barsuk535 Графика & дизайн 1 17.08.2011 19:39
Не отображаются скрытые файлы и папки, атрибуты установленны. Serg_masalov Любые вопросы от новичков 6 17.06.2008 17:40
Открытые файлы в программе попадают в список Recent File Odin_KG Visual C++ 3 20.05.2008 23:39
Counter Srtike 1.6 - кто знает открытые сервера в России? basil Любые вопросы от новичков 10 11.03.2008 23:02
Не отображаются открытые окна на панели инструментов. dctdkjv Любые вопросы от новичков 5 05.09.2007 15:21
Можно ли создавать php-файлы, в которые вшиты другие файлы? feedbee PHP 6 04.12.2005 01:59



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов