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

Вниз

Народ , подскажите плз . Есть в проекте на delphi два файла   Найти похожие ветки 

 
smartleds   (2008-01-25 16:35) [0]

Один файл обрабатывает кнопки файл 1, у другого просто процедуры файл 2.
В файле 1 я объявил динамическую матрицу , заполнил ее данными , задал размер, и даже распечатал.
Когда пытаюсь из второго файла обратится к этой матрицы , то данных в ней нет, одни нули , во втором файле матрицу никак не объявлял.
Подскажите что за фигня.


 
Palladin ©   (2008-01-25 16:38) [1]

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


 
Семеныч   (2008-01-25 16:39) [2]

Если к матрице обратиться, когда она еще не заполнена - что будет?


 
smartleds   (2008-01-25 16:41) [3]

Так я ее вначале заполняю, печатаю все это в файле 1, потом перехожу к форме файла два нажимаю кнопку чтобы распечатать, а там одни нули.


 
Семеныч   (2008-01-25 16:44) [4]

Чудес не бывает. Давайте код.


 
clickmaker ©   (2008-01-25 16:53) [5]


> Так я ее вначале заполняю, печатаю все это в файле 1, потом
> перехожу к форме файла два нажимаю кнопку чтобы распечатать

зачем?
форма 2 печатает как-то иначе?


 
smartleds   (2008-01-25 16:59) [6]

Вот код файл 1 Жмем кнопку заполнить матрицу Full matrica потом Print смотрим что получилось , и потом кнопку Show откроется вторая форма и при открытии формы опять матрица выводится и там одни нули, могу сразу проект выслать.
Файл 1
unit palitra_daslight;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls;
const amount_channels=3;
type
 TForm1 = class(TForm)
   Button3: TButton;
   Memo1: TMemo;
   Button5: TButton;
   Button6: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button5Click(Sender: TObject);
   procedure Button6Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
//================- Discription Variables -=======
//var  amount_scene, amount_service_arrays,curtime:integer;
//================- Discription Arrays -==========
var matrica_scene: array of array of byte; // index 1--> stroka (row), index 2-->stolb(colomn)
var
 Form1: TForm1;

implementation

uses show;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
SetLength(matrica_scene,1000,512); // 1-->amount scene ; 3--> amount channels

end;
//-------------- Button Show ------
procedure TForm1.Button3Click(Sender: TObject);
begin
form2.show;
end;
//---------------- Button Full Matrica ------------
procedure TForm1.Button5Click(Sender: TObject);
begin
SetLength(matrica_scene,2,8); // 1-->amount scene ; 3--> amount channels

matrica_scene[0,0] :=181;
matrica_scene[0,1] :=181;
matrica_scene[0,2] :=181;
matrica_scene[0,3] :=101;
matrica_scene[0,4] :=1;
matrica_scene[0,5] :=1;
matrica_scene[0,6] :=1;
matrica_scene[0,7] :=1;
//---------------------
matrica_scene[1,0] :=20;
matrica_scene[1,1] :=20;
matrica_scene[1,2] :=20;
matrica_scene[1,3] :=11;
matrica_scene[1,4] :=1;
matrica_scene[1,5] :=1;
matrica_scene[1,6] :=1;
matrica_scene[1,7] :=1;

end;
//--------------- Button Print ----
procedure TForm1.Button6Click(Sender: TObject);
var i,j:integer;
var st:string;
begin
for i:=0 to 2-1 do
   begin //0
  for j:=0 to 8-1 do
         begin //1
         st:=st+inttostr(matrica_scene[i,j])+" ";
          end; //1
   st:=st+#13;
   end; //0
showmessage(st);
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,0])+"  ");
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,1])+"  ");
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,2])+"  ");
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,0])+"  ");
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,1])+"  ");
form1.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,2])+"  ");

end;
end.
=============================Конец файла 1===============
Файл 2
unit show;

interface

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

type
 TForm2 = class(TForm)
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
//================- Discription Variables -=======
var timerflag,count,curscene,curindex_delay :integer;
//================- Discription Arrays -==========
//var matrica_scene: array of array of byte; // index 1--> stroka (row), index 2-->stolb(colomn)
var
 Form2: TForm2;

implementation

uses palitra_daslight;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,0])+"  ");
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,1])+"  ");
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[0,2])+"  ");
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,0])+"  ");
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,1])+"  ");
form2.Memo1.Lines.Append("matrica="+inttostr(matrica_scene[1,2])+"  ");
end;

end.


 
smartleds   (2008-01-25 17:01) [7]

(to clickmaster) Я печатаю на форме два для того чтобы посмотреть что с матрицей, потому что процедура которой я ее скармливаю находится в файле 2 и не работает.


 
Сергей М. ©   (2008-01-25 17:03) [8]


> первая строчка меня убила


А а, говнюк, гляжу на такие строчки и реагирую чучть более бурно.


 
Семеныч   (2008-01-25 17:05) [9]

Обработчик TForm2.OnCreate уберите, а код из него перенесите в обработчик TForm2.OnShow.

А еще лучше - сделайте форму TForm2 неавтосоздаваемой.


 
engine ©   (2008-01-25 17:07) [10]

> [7] smartleds   (25.01.08 17:01)

У тебя формы autocreate.


 
smartleds   (2008-01-25 17:10) [11]

А в чем косяк, у меня что форма создается до того как матрица заполняется?


 
Семеныч   (2008-01-25 17:16) [12]

> smartleds   (25.01.08 17:10) [11]

Да. Посмотрите в код файла DPR - увидите.


 
smartleds   (2008-01-25 17:54) [13]

Спасибо !



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

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

Наверх





Память: 0.48 MB
Время: 0.058 c
15-1200421621
Черный Шаман
2008-01-15 21:27
2008.02.17
Вопрос к Мастерам: как рефакторить такой код.


2-1201267734
abhtr
2008-01-25 16:28
2008.02.17
Как удалить файл "Только чтение"


2-1201309790
Artem
2008-01-26 04:09
2008.02.17
Скрыть папку


4-1183499419
AllDontFire
2007-07-04 01:50
2008.02.17
Как прочитать CD-Text компакт-диска?


15-1200181039
KilkennyCat
2008-01-13 02:37
2008.02.17
Доколе?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский