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

Вниз

Здравствуйте! Помогите мне, пожалуйста!!!!   Найти похожие ветки 

 
Asellya   (2008-11-21 09:36) [0]

Дельфи изучаю недавно. Через пару дней нужно сдать отчет по производственно-технологической практике, а у меня пока не хватает навыков, чтобы решить задачу:
Даны 2 таблицы, абсолютно одинаковые по структуре - 4 столбца с такими заголовками "Номер №", "Наименование материала", "Единица измерения", "Количество". Если запись в столбце "Наименование материала" повторяется в обеих таблицах, то тогда "Количество", соответствующее этому материалу суммируется. При этом создается третья таблица с точно такой же структурой и результаты заносятся в нее уже под другими "Номерами№". А те записи, что не повторяются в двух таблицах, просто заносятся в третью в исходном виде.
Извините, за размашистость вопроса!!! Вот до чего я додумалась: procedure TForm1.Button1Click(Sender: TObject);
var i,j,a,b,k,l:integer;
   m,n:real;
   MatS,EdS,KolSK,MatU,EdU,KolUC:Array [0..50]of string;
begin
 for j:=0 to StringGrid1.RowCount do
 for i:=1 to 3 do
     begin
         MatS[j]:=StringGrid1.Cells[i,j];
         EdS[j]:=StringGrid1.Cells[i,j];
         TRY
         KolSK[j]:=StringGrid1.Cells[i,j];
         except
         on Exception:EConvertError do
           begin
                 ShowMessage("Количество материала " +
                        "нужно указывать цифрами " +#13+
                        "Используйте запятую, при записи дробных чисел.");
                 exit;
           end;
         end;
     end;
 for b:=0 to StringGrid2.RowCount do
 for a:=1 to 3 do
     begin
         MatU[b]:=StringGrid2.Cells[a,b];
         EdU[b]:=StringGrid2.Cells[a,b];
         TRY
         KolUC[b]:=StringGrid2.Cells[a,b];
         except
         on Exception:EConvertError do
           begin
                ShowMessage("Количество материала " +
                        "нужно указывать цифрами " +#13+
                        "Используйте запятую, при записи дробных чисел.");
                 exit;
            end;
          end;
     end;
 k:=0;
 l:=1;
 for j:=0 to StringGrid1.RowCount do
 for b:=0 to StringGrid2.RowCount do
         if MatS[j]=MatU[b]
           then begin
                     StringGrid3.Cells[l,k]:=MatU[b];
                     l:=l+1;
                     StringGrid3.Cells[l,k]:=EdU[b];
                     l:=l+1;
                     TRY
                     m:=StrToFloat(KolUC[b]);
                     n:=StrToFloat(KolSK[j]);
                     StringGrid3.Cells[l,k]:=FloatToStrF(n+m,ffgeneral, 3,1);
                     except
                     on Exception:EConvertError do
                     begin
                        ShowMessage("Количество материала " +
                        "нужно указывать цифрами " +#13+
                        "Используйте запятую, при записи дробных чисел.");
                        exit;
                     end;
                     end;
                     l:=1;
                     k:=k+1;
                end
           else begin
                     StringGrid3.Cells[l,k]:=MatS[j];
                     l:=l+1;
                     StringGrid3.Cells[l,k]:=EdS[j];
                     l:=l+1;
                     StringGrid3.Cells[l,k]:=KolSK[j];
                     l:=1;
                     StringGrid3.Cells[l,k+1]:=MatU[b];
                     l:=l+1;
                     StringGrid3.Cells[l,k+1]:=EdU[b];
                     l:=l+1;
                     StringGrid3.Cells[l,k+1]:=KolUC[b];
                     k:=k+1;
                     l:=1;
                 end;
end;


 
Сергей М. ©   (2008-11-21 09:42) [1]

В чем собссно вопрос заключается ?


 
Сергей М. ©   (2008-11-21 09:47) [2]


> TRY
>          KolSK[j]:=StringGrid1.Cells[i,j];
>          except
>          on Exception:EConvertError


Пеорвое же что бросается в глаза - ожидаемое исключение никогда не возникнет, ибо в выражении присваивания никакой конвертации типов данных не осуществляется



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

Текущий архив: 2009.01.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
15-1225862478
Slider007
2008-11-05 08:21
2009.01.04
С днем рождения ! 3 ноября 2008 понедельник


2-1227019105
Борис
2008-11-18 17:38
2009.01.04
Задача с двумя массивами


6-1197367796
debugger
2007-12-11 13:09
2009.01.04
TWebBrowser Firefox


2-1227286412
savyhinst
2008-11-21 19:53
2009.01.04
LstVew.Objects


2-1227220027
bbk
2008-11-21 01:27
2009.01.04
как проверить создан ли TFileStream;