Копирование Таблицы Из Excel В Stringgrid

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем drinkyahoo, 18 апр 2012.

  1. drinkyahoo

    drinkyahoo Гость

    Есть матрица 5*5. Нужно excel-е заполнить ячейки случайными числами, скопировать в буфер обмена. Кнопка должна перемещать числа из excel в матрицу с++.
    Создал подпрограмму, оговорил размерности матрицы, включил библиотеку ClipBoard().

    Сам код:
    Код (C++):
     
    void __fastcall TForm1::izExcel(TStringGrid* SGt)
    {
    String s;
    int i,j;
    String d,x;
    s=Clipboard()->AsText;
    if(s==" ")
    {
    return;
    }
    SGt->ColCount=5;
    SGt->RowCount=5;
    i=-1;
    while(s.Length()>0)
    {
    i++;
    if(SGt->RowCount<i+1)
    SGt->RowCount=i+1;
    d=s.SubString(1,s.Pos("\r\n")-1);
    s.Delete(1,s.Pos("\r\n")+1);
    d=d+"\t";
    j=-1;
    while(d.Length()>0)
    {
    j++;
    if(SGt->ColCount<j+1)
    SGt->ColCount=j+1;
    x=d.SubString(1,s.Pos(char(9)));
    x.Delete(x.Length(),1);
    SGt->Cells[j][i]=x;
    d.Delete(1,d.Pos(char(9)));
    }
    }
    }


    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    izExcel(SG1);
    }

    Проблема в чем - копирует без проблем, но копирует только однозначные числа - {1,8,3,4}
    отказывается копировать числа больше одного разряда. При копировании {14; 18; 34; 141}
    в матрицу вставляет только {1; 8; 3; 1}
    В чем может быть проблема?
     
  2. prom

    prom Гость

    А что нельзя создать грид и его заполнить случайными числами? Или тебе надо сам процесс из эксел в грид изучить?
     
Загрузка...

Поделиться этой страницей