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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2008, 09:33   #1
prog38
Пользователь
 
Аватар для prog38
 
Регистрация: 18.04.2008
Сообщений: 67
По умолчанию Ошибка "Неизвестное расширение файла"

Может у кого мысли есть по поводу выдаваемой ошибки
Программка типа электронного альбома. Присутствует радиогруп с 3 радиобатонами-переключают загружаемые фото, в Properties инспектора оббъектов радиобатон1-тэги с 0 до 5, радиобатон2-с 6 до 12, радиобатон3-с 7 до 13. Также есть группБокс2 в котором комбоБокс, где выбираются фото и картинка. ЛистБокс 1 с нормальным именем(типа "Бибика") и листБокс2 где указан путь к файлу на пк(типа с:\Photos...).
Вроде должно работать, но выдает сбщ об ошибке "Unknown picture file extention .jpg"
Прилагаю код:
Код:
unit ALB;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    GroupBox2: TGroupBox;
    ComboBox1: TComboBox;
    Image1: TImage;
    ListBox1: TListBox;
    ListBox2: TListBox;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    procedure RadioButton1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.RadioButton1Click(Sender: TObject);
var i:integer;
begin
  ComboBox1.Clear;
  comboBox1.Tag:=(Sender as TRadioButton).Tag;
  for i:=1 to 5 do
  comboBox1.Items.Add(listBox1.Items[comboBox1.Tag+i]);
  ComboBox1.ItemIndex:=0;
  image1.Picture.LoadFromFile(listBox2.Items[comboBox1.Tag]);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  image1.Picture.LoadFromFile(listBox2.Items[comboBox1.Tag+comboBox1.ItemIndex]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  radioButton1Click(radioButton1);
end;

end.

Последний раз редактировалось Stilet; 24.07.2008 в 12:49.
prog38 вне форума Ответить с цитированием
Старый 24.07.2008, 09:35   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Допиши в uses - jpeg
Hollander вне форума Ответить с цитированием
Старый 24.07.2008, 12:32   #3
prog38
Пользователь
 
Аватар для prog38
 
Регистрация: 18.04.2008
Сообщений: 67
По умолчанию

Цитата:
Сообщение от Hollander Посмотреть сообщение
Допиши в uses - jpeg
Дописала. Запускается но пишет что не может найти указанный путь, хотя путь точно тот что нужно прописан в листБоксе2...
Вот как прописала: С:\Photos_2\CIVIC\CIMG9103.JPG
Может флеши не в ту сторону наклонены, хотя кажется так верно??
prog38 вне форума Ответить с цитированием
Старый 24.07.2008, 12:42   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

исходный код в студию. Не телепаты мы.

P.S.: слеши правильно поставлены.
zetrix вне форума Ответить с цитированием
Старый 24.07.2008, 12:47   #5
prog38
Пользователь
 
Аватар для prog38
 
Регистрация: 18.04.2008
Сообщений: 67
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
исходный код в студию. Не телепаты мы.

P.S.: слеши правильно поставлены.
Код все тот же? добавила в uses jpeg:
Код:
unit ALB;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, jpeg;

type
  TForm1 = class(TForm)
    GroupBox2: TGroupBox;
    ComboBox1: TComboBox;
    Image1: TImage;
    ListBox1: TListBox;
    ListBox2: TListBox;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    procedure RadioButton1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.RadioButton1Click(Sender: TObject);
var i:integer;
begin
  ComboBox1.Clear;
  comboBox1.Tag:=(Sender as TRadioButton).Tag;
  for i:=1 to 5 do
  comboBox1.Items.Add(listBox1.Items[comboBox1.Tag+i]);
  ComboBox1.ItemIndex:=0;
  image1.Picture.LoadFromFile(listBox2.Items[comboBox1.Tag]);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  image1.Picture.LoadFromFile(listBox2.Items[comboBox1.Tag+comboBox1.ItemIndex]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  radioButton1Click(radioButton1);
end;

end.
From Stilet: Прилагая код оформляй пожалуйста его соответствующим тегом (#)

Последний раз редактировалось Stilet; 24.07.2008 в 12:50.
prog38 вне форума Ответить с цитированием
Старый 24.07.2008, 12:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вместо: image1.Picture.LoadFromFile(listBox 2.Items[comboBox1.Tag+comboBox1.ItemIndex]);
пиши просто:
Код:
  image1.Picture.LoadFromFile(listBox2.Items[comboBox1.ItemIndex]);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.07.2008, 13:17   #7
prog38
Пользователь
 
Аватар для prog38
 
Регистрация: 18.04.2008
Сообщений: 67
По умолчанию

Все равно ругается( Уже перекинула фотки для загрузки в другую папку, путь стал короче, хотя, кажется, от этого не должно зависеть..а что имелось в виду под оформелением соответствующим тэгом?

это что-то типа paste to clipboard?

В смысле copy to clipboard

Последний раз редактировалось Stilet; 24.07.2008 в 13:36.
prog38 вне форума Ответить с цитированием
Старый 24.07.2008, 13:35   #8
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Посмотри что тебе под дебагом возвращает listBox2.Items[comboBox1.Tag+comboBox1.ItemIndex]
Hollander вне форума Ответить с цитированием
Старый 24.07.2008, 13:39   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Все равно ругается
Тогда нужно поставить точку останова на image1.Picture.LoadFromFile и посмотреть чему равен параметр его.
Цитата:
что имелось в виду под оформелением соответствующим тэгом?
Для читабельного оформления и разграничения в вопросах кода программ на форуме придуман специальный тег - #. Он оформляет код программы в посте, подсвечивает синтаксис, при этом код становится более читабельным.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.07.2008, 13:50   #10
prog38
Пользователь
 
Аватар для prog38
 
Регистрация: 18.04.2008
Сообщений: 67
По умолчанию

после постановки красной точки в квадрате надпись следующего содержания:

Condition:
Action:Break
Group:
Pass count:0

А после запуска дебаггер эксепшен выдает:"проект такой-то вызвал исключение класса EFOpenError ссообщением Невозможно открыть С:\..... Системе не удается найти указанный путь
prog38 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
"Ошибка приложения" при запуске мидлета hotman Общие вопросы по Java, Java SE, Kotlin 0 04.09.2008 15:16
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49