Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2009, 21:30   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию Программа для просмотра jpg-изображений

.. я в первый раз сталкиваюсь с созданием классов в Билдере. в консольке было, а вот в билдере - в первый раз. и в первый раз лезу в заголовочный файл. раньше щёлкал на нужную кнопку или поле и прописывал те действия, которые она должна выполнять...
можете немножко разъяснить, в целом, когда надо лезть в классы/

с гореп пополам написал эту программу (точнее перепечатал то что было в книге), пытаясь разобраться
но есть вопросики.
дя упрощения, я свои вопросы разместил ввиде комментариев //==
а комментарии автора просто как //
вот ссылка на rar-архив ссылки запрещены администрацией

Последний раз редактировалось MaTBeu; 08.07.2009 в 15:22.
Dimarik вне форума Ответить с цитированием
Старый 07.07.2009, 22:16   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
программа для просмотра jph-изображений
что это за расширение?
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 07.07.2009, 22:56   #3
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

ошибся, небось JPG
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 08.07.2009, 07:37   #4
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Да,я ошибся, jpg. Модераторы,подправьте, пожалуйста, название темы
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 14:05   #5
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Код:
//---------------------------------------------------------------------------
#include <jpeg.hpp>
#include <filectrl.hpp>
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{ 
this->FillListBox();   //зачем тут this? почему нельзя написать FillListBox()?

}


__fastcall TForm1::FillListBox()//==я эту строчку прописал в ручную. можно как-то иначе это сделать?
{
        TSearchRec SearchRec;//переменная SeachRec не определена, а дальше используется.. почему?????
        int r;
        r=FindFirst(Path+"*.jpg",faAnyFile, SearchRec); // поясните, плиз параметры Path+"*.jpg" SearchRec. как я понял в Path прописан адрес папки, в которой хранится изображение. так?

        if (r==0)
        {

       
        ListBox1->Items->Clear();
        ListBox1->Items->Add(SearchRec.Name);//==как я понял, в теперь уже пустое поле вставляется элемент SearchRec.Name
        //==непонятно, почему прописано с точкой, а не со знаком -> который используют для записи указателей
        while (FindNext(SearchRec)==0) 

        {
                ListBox1->Items->Add(SearchRec.Name);
        };
        ListBox1->ItemIndex=0;
               Image1->Picture->LoadFromFile(Path+ListBox1->
        Items->Strings[ListBox1->ItemIndex]);//==поясните, пожалуйста, этот оператор Strings[ListBox1->ItemIndex]
        return ListBox1->Items->Count; 
        }
        else
        return -1;
}




//----щелчок на поле компонента, на имени файла-----------------------------------------------------------------------
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
AnsiString FileName;//для всех имён файлов используется ANSISTRING? кстати. удивительное замечание . выделил ansistring в билдере и нажал ф1. в объяснении был какой-то паскалевский код. при чём в справке с++ паскаль?
FileName=Path+ListBox1->Items->Strings[ListBox1->ItemIndex];//==что делает этот оператор, что это за функция и
//==почему аргументы в квадратных скобках?
Image1->Picture->LoadFromFile(FileName);
}
//---------------------------------------------------------------------------
//-----щелчок на кнопке ПАПКА----------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
        if (SelectDirectory ("Выберите каталог", "", Path))  //==абсолютно непонятно условие
        //==как я понял,"Выберите каталог" высветится пользователь, "" не могу понять, что делает,
             {
                Path=Path+"\\"; //например, Path=="90", а после этой операции Path==90\\
                Form1->Caption="Просмотр иллюстраций - " + Path;//== Зачем надо писать +Path
                FillListBox(); 
        }
}
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 14:07   #6
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

при запуске возникла ошибка:
[Linker Error] Unresolved external '__fastcall Filectrl::SelectDirectory(const System::AnsiString, const System::WideString, System::AnsiString&)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\C+ + BUILDER\САМОУЧИТЕЛЬ\LISTBOX(СТР 89)\UNIT1.OBJ
что делать?
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 15:56   #7
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Dimarik Посмотреть сообщение
что делать?
Купить книгу по С++ потом по Билдеру (если таких нет).. и внимательно перечитать..
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 09.07.2009, 17:07   #8
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

да есть у меня книжки. и самое странное, я этот текст перепечатал из книги по билдеру, но почему-то ошибка (((
причём не синтаксическая
Dimarik вне форума Ответить с цитированием
Старый 12.07.2009, 16:59   #9
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от Dimarik Посмотреть сообщение
при запуске возникла ошибка:
[Linker Error] Unresolved external '__fastcall Filectrl::SelectDirectory(const System::AnsiString, const System::WideString, System::AnsiString&)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\C+ + BUILDER\САМОУЧИТЕЛЬ\LISTBOX(СТР 89)\UNIT1.OBJ
что делать?

это значит что функцию SelectDirectory обозвали (объявили) а вот код к ней забыли приписать ^^
lennon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацените мою прогу для просмотра изображений Altera Софт 24 26.10.2009 10:32
Программа просмотра файлов в директории asale Microsoft Office Excel 4 06.01.2009 13:53
Срочно : Требуется поставить запрет для иностранных IP для просмотра сайта. pornodiller Фриланс 2 06.11.2008 22:02