Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #11  
Старый 12.05.2010, 00:03
president100 president100 вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 1
Репутация: 10
По умолчанию

у меня такая же проблема, надо считать из файла двумерный массив в stringgrid, но фишка в том что у меня он считывается, прогу мне писал знакомый, сам я плохо разбираюсь, текст вот:

Код:
procedure TFormMain.ButCalcClick(Sender: TObject);
var
  S:Real;
  F:TextFile;
  A:array of array of Real;
  N,M,I,J:Integer;
begin
  AssignFile(F,OpenDialog1.FileName);
  Reset(F);
  ReadLn(F,N,M);
  Massiv.RowCount:=N+1;
  Massiv.ColCount:=M+1;
  SetLength(A,Massiv.RowCount,Massiv.ColCount);

  for I:=0 to Massiv.RowCount-1 do
    Massiv.Cells[I,0]:=IntToStr(I);
  for J:=0 to Massiv.ColCount-1 do

    Massiv.Cells[0,J]:=IntToStr(J);
  for I:=1 to Massiv.RowCount-1 do
    begin
      for J:=1 to Massiv.ColCount-1 do
        Read(F,A[I,J]);
      ReadLn(F)
    end;

  for I:=1 to Massiv.RowCount-1 do
    for J:=1 to Massiv.ColCount-1 do
      Massiv.Cells[I,J]:=FloatToStr(A[I,J]);
    S:=0;
    for I:=1 to Massiv.RowCount-1 do
      for J:=1 to Massiv.ColCount-1 do
        if RdGrCh.ItemIndex=0 then
          if (I+J) mod 2=0 then
            S:=S+A[I,J]
        else
          if RdGrCh.ItemIndex=1 then
            if (I+J) mod 2<>0 then
              S:=S+A[I,J];
    EdRes.Text:=FloatToStr(S);
    ButCalc.Enabled:=false;
    showMessage('Результат: '+FloatToStr(S));
end;

procedure TFormMain.ButCloseClick(Sender: TObject);
begin
  close;
end;

procedure TFormMain.ButLoadClick(Sender: TObject);
begin
  if OpenDialog1.Execute then
      butCalc.Enabled:=true
  else
    begin
      LabTrack.Caption:='Файл не выбран'
    end;

end;



procedure TFormMain.RdGrChClick(Sender: TObject);
begin
  butLoad.Enabled:=true;
end;

end. 

но преподу не нравится говорит типа зачем "надо сначала выбрать элементы, а потом загружать массив, по-моему это 2 независымие операции, исправляй"
+еще с процедуркой ButLoadClick фигня, получается что эта кнопка становится доступной только когда выполняется openDialog а в программе производится 2 разных суммы, и получается что если ты сперва находишь первую сумму и загружаешь массив из файла, а потом хочешь найти вторую сумму то приходится загружать массив повторно, это тоже надо исправить

Последний раз редактировалось president100, 12.05.2010 в 00:10.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:42.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025