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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2015, 16:29   #1
Shery
Новичок
Джуниор
 
Регистрация: 25.05.2015
Сообщений: 1
Стрелка Доделать\исправить ошибки -Delphi7- (StringGrid таблица, вывод в Excel)



Основа уже есть - https://yadi.sk/d/GKa2-lrTgoUQS

Допишите, дополните/исправьте ошибки пожалуйста, буду очень признателен(возможно даже материально).

Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, Grids;
 const
   Namef='Tab.dat';
type
  TForm1 = class(TForm)
    edt1: TEdit;
    lbl1: TLabel;
    lbl2: TLabel;
    edt2: TEdit;
    lbl3: TLabel;
    edt3: TEdit;
    lbl4: TLabel;
    edt4: TEdit;
    lbl5: TLabel;
    edt5: TEdit;
    mm1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    sg: TStringGrid;
    procedure N2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 Trec=record
  TabNom:Integer;
  FIO:string[25];
  Pdrz:string[12];
  Dolj:String[20];
  Oklad:Real;
 end;
var
  Form1: TForm1;
  F:file of Trec;
  W:TRec;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.N2Click(Sender: TObject);
begin
try
  W.TabNom:=StrToInt(edt1.Text);
  except
    ShowMessage('Ошибка преобразования');
    Edt1.SetFocus;
    Exit;
    end;
    W.FIO:=Edt2.Text;
    W.Pdrz:=(Edt3.Text);
    W.Dolj:=(Edt4.Text);
 
            try
              W.Oklad:=StrToInt(Edt5.Text);
              except
                ShowMessage('Ошибка преобразования');
                Edt5.SetFocus;
                Exit;
              end;
             write(f,W);
            ShowMessage('Запись добавлена')
            end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
with stringGrid1 do
begin
cells[0,0]='TabNom';
cells[1,0]='FIO';
cells[2,0]='Pdrz';
cells[3,0]='Dolj';
cells[4,0]='Oklad';
end;
  if FileExists(NameF)
  then
  begin
  ShowMessage(NameF+' открыт');
  AssignFile (F, Namef);
  Reset(f);
  end
  else
  begin
   AssignFile (F, Namef);
   Rewrite (f);
  ShowMessage(nameF+' создан');
 end;
 end;
procedure TForm1.N4Click(Sender: TObject);
begin
 CloseFile(F);
end;
 
procedure TForm1.N8Click(Sender: TObject);
begin
 var
  XL,              // Приложение Excel
  Vals: Variant;   // Врем. массив для переноса значений в Excel
begin
{Экспорт в Excel}
  try
    Screen.Cursor := crHourGlass;
    Rows := 10; // Кол-во строк
    Cells := 12;  // Кол-во колонок
    Vals := VarArrayCreate([0, Rows, 0, Cells], varVariant); // Создаем и заполняем массив (для записи)
    ...
    try
      XL := CreateOleObject('Excel.Application');
    except
      raise Exception.Create('Ощибка запуска Excel');
    end;
 
    XL.Application.EnableEvents := False;
    XL.WorkBooks.Add('test.xls'); // Открываем шаблон для записи или файл для чтения
    XL.Range[XL.Cells[1,1], XL.Cells[Rows, Cells]].Value := Vals; // Пишем данные
    // Vals := XL.Range[XL.Cells[1,1], XL.Cells[Rows, Cells]].Value; // Читаем данные
    XL.Visible := True;
 
  finally
      Screen.Cursor := crDefault;
  end;
end;
 
end.

Последний раз редактировалось Stilet; 25.05.2015 в 16:34.
Shery вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi7 исправить ошибку Анастасья Помощь студентам 0 04.03.2011 20:27
Вывод StringGrid в Excel. Asblue Помощь студентам 0 01.11.2010 19:11
Delphi7. Таблица StringGrid. Olga67_net Помощь студентам 2 13.05.2010 08:29
Помогите исправить ошибки и доделать? Задачка на Паскале! VADOS2009-1 Помощь студентам 2 04.06.2009 23:20
помогите доделать(исправить) задачу по массиву braza Паскаль, Turbo Pascal, PascalABC.NET 2 29.04.2008 19:54