Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.02;
Скачать: CL | DM;

Вниз

Статус бар для программы читающей *.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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
2-1244141574
berezne
2009-06-04 22:52
2009.08.02
Как програмно обработать OnClick&amp;


2-1244381829
anvolkov
2009-06-07 17:37
2009.08.02
Многократно копировать форму в MDI приложении


2-1244092170
Gans
2009-06-04 09:09
2009.08.02
Вызов хранимой процедуры


3-1225096677
dolmat
2008-10-27 11:37
2009.08.02
Количество месяцев


10-1159436429
KingLion
2006-09-28 13:40
2009.08.02
TExcelApplication