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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2012, 00:37   #1
nimbus2000
Пользователь
 
Регистрация: 08.02.2012
Сообщений: 20
По умолчанию Работа с StringGrid в дельфи

Программа,по сложению матриц.Не работает,Подскажите почему ПЛИИИИИЗ.Пишет ошибку в выделенном месте*

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N11: TMenuItem;
    N21: TMenuItem;
    N5: TMenuItem;
    N12: TMenuItem;
    N22: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    procedure N3Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N21Click(Sender: TObject);

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
StringGrid1.Visible:=false;
StringGrid2.Visible:=false;
StringGrid3.Visible:=false;
label1.Visible:=false;
label2.Visible:=false;
label3.Visible:=false;
//N11.Enabled:=false;
MessageDlgPos('Íà÷íèòå ðàáîòó ñ ââîäà ìàòðèöû ',mtInformation,[mbOk],0,400,200);
end;

procedure TForm1.N11Click(Sender: TObject);
var
m1,l1:integer;
begin
  m1:=StrToInt(inputBox('Ðàçìåð 1-îé ìàòðèöû.',' Ââåäèòå êîëè÷åñòâî ñòîëáöåâ',''));
  l1:=StrToInt(inputBox('Ðàçìåð 1-îé ìàòðèöû.',' Ââåäèòå êîëè÷åñòâî ñòðîê ',''));
  StringGrid1.ColCount:=l1;
  StringGrid1.RowCount:=m1;
  StringGrid1.Visible:=true;
  Label1.Visible:=true;
  if label2.visible=true then
  N11.enabled:=true;
end;

procedure TForm1.N6Click(Sender: TObject);
var
m1,l1,m2,l2:integer;
i,j:integer;
w:real;
begin
  l1:=StringGrid1.ColCount;
  m1:=StringGrid1.RowCount;
  l2:=StringGrid2.ColCount;
  m2:=StringGrid2.RowCount;
  if (l1<>l2) or (m1<>m2) then
  begin
    ShowMessage('Ââåäèòå îäèíàêîâîå êîëè÷åñòâî ñòðîê è ñòîëáöåâ ');
    StringGrid3.Visible:=false;
    Label3.Visible:=false;
  end;
  w:=0;
  if (l1=l2) and (m1=m2) then
  begin
    StringGrid3.ColCount:=l1;
    StringGrid3.RowCount:=m1;
    for i:=0 to m1-1 do
    for j:=0 to l1-1 do
    begin
      w:=StrToFloat(StringGrid1.Cells[j,i])+StrToFloat(StringGrid2.Cells[j,i]);
      StringGrid3.Cells:=FloatToStr(W);
    end;
    StringGrid3.Visible:=true;
    Label3.Visible:=true;
  end;
  end;
procedure TForm1.N21Click(Sender: TObject);
var
m1,l1:integer;
begin
  m1:=StrToInt(inputBox('Ðàçìåð 2-îé ìàòðèöû.',' Ââåäèòå êîëè÷åñòâî ñòîëáöåâ',''));
  l1:=StrToInt(inputBox('Ðàçìåð 2-îé ìàòðèöû.',' Ââåäèòå êîëè÷åñòâî ñòðîê ',''));
  StringGrid2.ColCount:=l1;
  StringGrid2.RowCount:=m1;
  StringGrid2.Visible:=true;
  Label2.Visible:=true;
  if label2.visible=true then
  N11.enabled:=true;
end;
end.


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

Последний раз редактировалось Serge_Bliznykov; 23.03.2012 в 09:50.
nimbus2000 вне форума Ответить с цитированием
Старый 23.03.2012, 00:55   #2
nimbus2000
Пользователь
 
Регистрация: 08.02.2012
Сообщений: 20
По умолчанию

+[Fatal Error] Could not create output file 'C:\Users\Desktop\Матрица\Project1. exe' Пасему??
nimbus2000 вне форума Ответить с цитированием
Старый 23.03.2012, 09:55   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
StringGrid3.Cells:=FloatToStr(W);
нужно указать в КАКУЮ ячейку грида3 вы хотите поместить результат:
Код:
    StringGrid3.Cells[ НомерСтолбца, НомерСтроки ]:=FloatToStr(W);
Цитата:
+[Fatal Error] Could not create output file 'C:\Users\Desktop\Матрица\Project1. exe' Пасему??
убедитесь, что Project1.exe не висит в списке запущенных программ (через диспетчер задач - если запущен - закройте его процесс)
проверьте настройки проекта (Output directory, если не ошибаюсь).
проверьте, что данная папка существует и туда запись доступна (в блокноте запишите туда какой-нибудь текстовый файлик для проверки.. ну или скопируйте туда какой-нибудь файл - получится или нет
проверьте аттрибуты на Project1.exe (read-only, системный, скрытый и т.д.)

банально - перегружаться комп пробовали? не помогает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2012, 18:32   #4
nimbus2000
Пользователь
 
Регистрация: 08.02.2012
Сообщений: 20
По умолчанию

ХА,В том то и проблема ,Что если очень долго жаьб на клавишу а=ф9 то прога запускается через минуту где-то))))
nimbus2000 вне форума Ответить с цитированием
Старый 26.03.2012, 18:35   #5
nimbus2000
Пользователь
 
Регистрация: 08.02.2012
Сообщений: 20
По умолчанию

Всё,что вы сказали,я проверил,ничего не помогло
nimbus2000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами в дельфи dearkato Помощь студентам 16 19.03.2012 04:10
Работа с изображениями в дельфи phphel Общие вопросы Delphi 11 20.07.2010 01:36
Объединение ячеек в stringgrid ДЕЛЬФИ Доктор БД в Delphi 1 24.06.2010 10:42
Работа в Дельфи!!! L0102591 Помощь студентам 2 11.06.2010 04:34