Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.02;
Скачать: [xml.tar.bz2];

Вниз

Статус бар для программы читающей *.bmp файлы   Найти похожие ветки 

 
sunrise13   (2009-06-04 21:33) [0]

Помогите пожалусто. Я хочу сделать строку состояния (StatusBar) просматривающую параметры bmp, делаю все как по

инструкции. Даже сделал легкий вариант. Опен, ексит. Картинку просматривает. Создаю статус бар. Пишу в 1 панели

(text) :

StatusBar.Panels[0].Text :=
 Format("%d x %d", [Image.Picture.Width, Image.Picture.Height]);

Во 2 это:

StatusBar.Panels[1].Text := OpenDialog.FileName;

(Все размеры все расставленно)

Патом добавляю пункт в скрипте:

procedure TPictureForm.UpdateStatusBar;
begin
 if Image.Width <> 0 then
 begin
   StatusBar.Panels[0].Text := Format("%d x %d",
     [Image.Picture.Width, Image.Picture.Height]);
   StatusBar.Panels[1].Text := OpenDialog.FileName;
 end
 else // в компоненте Image нет рисунка
 begin
   StatusBar.Panels[0].Text := "";
   StatusBar.Panels[1].Text := "";
 end;
end;

И добавляю строчку в Open... :

procedure TPictureForm.OpenMenuItemClick(Sender: TObject);
begin
 if OpenDialog.Execute then
 begin
   Image.Picture.LoadFromFile(OpenDialog.FileName);
 end;
 UpdateStatusBar;
end;

И при запуске он выдаёт ошибку тут :

procedure TPictureForm.OpenMenuItemClick(Sender: TObject);
begin
 if OpenDialog.Execute then
 begin
   Image.Picture.LoadFromFile(OpenDialog.FileName);
 end;
 UpdateStatusBar;
end;

Помогите в чём ошибка???
Вот мой скрипт:

unit Unit1;

interface

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

type
 TPictureForm = class(TForm)
   MainMenu: TMainMenu;
   FileMenuItem: TMenuItem;
   OpenMenuItem: TMenuItem;
   N1: TMenuItem;
   ExitMenuItem: TMenuItem;
   OpenDialog: TOpenDialog;
   Image: TImage;
   StatusBar: TStatusBar;
   procedure ExitMenuItemClick(Sender: TObject);
   procedure OpenMenuItemClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 PictureForm: TPictureForm;

implementation

{$R *.dfm}

procedure TPictureForm.ExitMenuItemClick(Sender: TObject);
begin
 Close;
end;

procedure TPictureForm.OpenMenuItemClick(Sender: TObject);
begin
 if OpenDialog.Execute then
 begin
   Image.Picture.LoadFromFile(OpenDialog.FileName);
 end;
end;

end.

Ошибка:
[Ошибка] Unit1.pas(45): Undeclared identifier: "UpdateStatusBar"
[Ошибка] Unit1.pas(48): Undeclared identifier: "UpdateStatusBar"
[Ошибка] Unit1.pas(50): Undeclared identifier: "Image"
[Ошибка] Unit1.pas(52): Undeclared identifier: "StatusBar"
[Ошибка] Unit1.pas(52): Missing operator or semicolon
[Ошибка] Unit1.pas(53): "]" expected but identifier "Picture" found
[Ошибка] Unit1.pas(53): "END" expected but "," found
[Ошибка] Unit1.pas(56): ";" expected but "ELSE" found
[Ошибка] Unit1.pas(58): Undeclared identifier: "StatusBar"
[Ошибка] Unit1.pas(58): Missing operator or semicolon
[Ошибка] Unit1.pas(59): Missing operator or semicolon
[Ошибка] Unit1.pas(59): "(" expected but ":=" found
[Ошибка] Unit1.pas(60): "." expected but ";" found
[Предупреждение] Unit1.pas(61): Text after final "END." - ignored by compiler
[Фатальная ошибка] Project1.dpr(5): Could not compile used unit "Unit1.pas"

Помогите доделать программу плиз вот я ее выложил : http://dump.ru/file/2844204

Исправте чтобы статус бар работал
Delphi 7
Спасиб


 
oldman ©   (2009-06-04 21:47) [1]


> Ошибка:
> [Ошибка] Unit1.pas(45): Undeclared identifier: "UpdateStatusBar"
> [Ошибка] Unit1.pas(48): Undeclared identifier: "UpdateStatusBar"
> [Ошибка] Unit1.pas(50): Undeclared identifier: "Image"
> [Ошибка] Unit1.pas(52): Undeclared identifier: "StatusBar"
> [Ошибка] Unit1.pas(52): Missing operator or semicolon
> [Ошибка] Unit1.pas(53): "]" expected but identifier "Picture"
> found
> [Ошибка] Unit1.pas(53): "END" expected but "," found
> [Ошибка] Unit1.pas(56): ";" expected but "ELSE" found
> [Ошибка] Unit1.pas(58): Undeclared identifier: "StatusBar"
> [Ошибка] Unit1.pas(58): Missing operator or semicolon
> [Ошибка] Unit1.pas(59): Missing operator or semicolon
> [Ошибка] Unit1.pas(59): "(" expected but ":=" found
> [Ошибка] Unit1.pas(60): "." expected but ";" found


Просто у тебя в программе полно синтаксических ошибок...


 
oldman ©   (2009-06-04 21:57) [2]


> procedure TPictureForm.UpdateStatusBar;
> begin
>  if Image.Width <> 0 then Вот здесь чего-то не хватает
>  begin
>    StatusBar.Panels[0].Text := Format("%d x %d",
>      [Image.Picture.Width, Image.Picture.Height]); Это зачем?
>    StatusBar.Panels[1].Text := OpenDialog.FileName;
>  end И здесь чего-то не хватает
>  else // в компоненте Image нет рисунка
>  begin
>    StatusBar.Panels[0].Text := "";
>    StatusBar.Panels[1].Text := "";
>  end;
> end;


Это только в одном куске...

А Undeclared identifier: "UpdateStatusBar" потому, что процедуру объявлять надо! Значит, ошибки не только синтаксические.

Учебник, хелп и русско-английский словарь читать нам по сроку службы не положено?


 
sunrise13   (2009-06-04 22:17) [3]

Исправь прогу плиз И выложи на дамп. Там просто синтаксис исправить я хз какой :-(
Спасиб


 
oldman ©   (2009-06-04 22:23) [4]

Я по пятницам не подаю...


 
{RASkov} ©   (2009-06-04 22:51) [5]

> [3] sunrise13   (04.06.09 22:17)
> Исправь прогу плиз

Как же ты так умудрился ее набрать? Методом тыка шоль? :)
Или в инете спёр такой кривой код?)
Сам исправь.... там делов 10 сек..... другие среду дольше будут загружать, да твой код копипастить туда....
Тебе же уже подсказали где ошибки, и главный подсказчик - компилятор. Да и тут уже сказали в чем твои ошибки.... Мозгов нужно чуть больше чем у курицы, что б сообразить исправить :) Удачи.


 
{RASkov} ©   (2009-06-04 23:02) [6]

Вот только подскажу моменты. Например тут:
> [0] sunrise13   (04.06.09 21:33)
> if Image.Width <> 0 then
> begin
>   StatusBar.Panels[0].Text := Format("%d x %d",
>     [Image.Picture.Width, Image.Picture.Height]);

проверяешь одно, а (используешь)выводишь другое. Тем более Image(если это TImage) Width без содержания в нем картинки может иметь отличную от ноля....

> Вот мой скрипт:
.....

и где в твоем "скрипте" процедура(т.н. метод TPictureForm) UpdateStatusBar;?
Ну и само собой разберись с точками, шмочками, скобками, шмопками и иже с ними :)


 
sunrise13   (2009-06-05 11:37) [7]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
15-1243943187
Petro
2009-06-02 15:46
2009.08.02
Сводка файла базы


2-1244453232
nickrus
2009-06-08 13:27
2009.08.02
Indy vs. TClientSocket


3-1225220926
kile
2008-10-28 22:08
2009.08.02
sql server, оператор output и adoDataSet


2-1244170279
Саша
2009-06-05 06:51
2009.08.02
Создание и удаление объектов в Run-time


2-1244319075
worldmen
2009-06-07 00:11
2009.08.02
Создание объекта и его переменные





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский