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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2013, 12:09   #1
RedFox111
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
Восклицание проблеиа с выводом картинки из файла

Народ!, пишу простенькую прогу "Бегущий человек" на 12 ПК.
Начал с 12ого пк. при изменении регистра все нормально.

В строчке там где Form1.Visible вылетает сообщение об отключении класса EAccessViolation и Runtime 216. SOS. Помогите кто чем может.

вот код программы:

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var

  Form1: TForm1;
  f,g:textfile;
  a:array[1..100] of integer;
  s:string;
  i:integer;

implementation


{$R *.dfm}


begin
s:='';

assign(input,'D:\registre.txt'); reset(input);

for i:=1 to 12 do
 readln(a[i]);

 read(s);
 if a[11]=1 then begin
  a[12]:=1;
  s:='ready';
 end;
close(input);

assign(output,'D:\registre.txt'); rewrite(output);

for i:=1 to 12 do
writeln(a[i]);

write(s);

close(output);

if s='ready' then begin
 Form1.Visible:=true;     {вот тут то все и вылетает}
 if Form1.Visible then
  Form1.Visible:=false;
end;

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.02.2013 в 13:01.
RedFox111 вне форума Ответить с цитированием
Старый 06.02.2013, 13:05   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы написали код там, где его не нужно писать!

Когда Вы хотите, чтобы это код выполнился - кода открывается форма? Или по нажатию на какой-то элемент? Или по какому событию?!!

Там, где Вы написали, код выполняется ещё ДО СОЗДАНИЯ самой формы.

Скорее всего Вам нужно сделать следующее.
Перейдите в режим формы (F12).
Щелкните мышкой дважды в любое свободное место формы.
откроется редактор кода с обработкой события создания формы Form1 OnCreate;
вот на это событие и поместите ваш код.

примерно так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  s := '';

  assign(input, 'D:\registre.txt'); reset(input);

  for i := 1 to 12 do
    readln(a[i]);

  read(s);
  if a[11] = 1 then begin
    a[12] := 1;
    s := 'ready';
  end;
  close(input);

  assign(output, 'D:\registre.txt'); rewrite(output);

  for i := 1 to 12 do
    writeln(a[i]);

  write(s);

  close(output);

  if s = 'ready' then begin
    Form1.Visible := true; {вот тут то все и вылетает}
    if Form1.Visible then
      Form1.Visible := false;
  end;

end;

end.



к слову. любопытно...
Цитата:
Народ!, пишу простенькую прогу "Бегущий человек" на 12 ПК.
Начал с 12ого пк.
а что такое "ПК" - в данном контексте?!

Последний раз редактировалось Serge_Bliznykov; 06.02.2013 в 13:09.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2013, 13:55   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Однако вот этот код вообще к чему?

Код:
  if s = 'ready' then begin
    Form1.Visible := true; {вот тут то все и вылетает}
    if Form1.Visible then
      Form1.Visible := false;
  end;
Цитата:
а что такое "ПК" - в данном контексте?!
ТОже интересно
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.02.2013, 14:07   #4
RedFox111
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

имею ввиду что делаю бегущий человек на 12 компах по кругу через локалку)
и спасибо за совет)
недавно на делфу перешел, вот и маюсь незнанием)
RedFox111 вне форума Ответить с цитированием
Старый 06.02.2013, 14:09   #5
RedFox111
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

и да Svic, это чтобы картинка появилась, потом исчезла)
RedFox111 вне форума Ответить с цитированием
Старый 06.02.2013, 14:44   #6
RedFox111
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

блин все сделал как сказал, но теперь
при компиляции пишет

Statement expected but 'PROCEDURE' found

и горит на строчке

procedure TForm1.FormCreate(Sender:TObject)
RedFox111 вне форума Ответить с цитированием
Старый 06.02.2013, 15:30   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
и да Svic, это чтобы картинка появилась, потом исчезла)
О! Не хочу Вас расстраивать, но это не будет выглядеть так, как Вы хотите...
1-х. нужно не форму делать видимой/невидимой - а саму картинку...
2-х, либо задержку нужно вставлять, либо таймером пользоваться - смотрите, что Вы написали - отобразить форму. и сразу же - убрать. Вы НЕ УСПЕЕТЕ ничего увидеть!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вытащить картинки из файла buuni Общие вопросы C/C++ 2 17.06.2011 22:02
Выбор картинки из listBox с последующим выводом в pictureBox C# Авторитет Общие вопросы .NET 4 13.06.2010 10:57
проблеиа при копирование файла потоками в дельфи green-shrek Общие вопросы Delphi 4 15.04.2010 18:53
Проблема с чтением и выводом содержимого текстового файла на экран -=PascaL=- Помощь студентам 16 08.08.2009 07:13
Помогите с выводом из файла в ComboBox!!! lamir Общие вопросы Delphi 3 31.05.2008 19:54