D
drinkyahoo
Есть матрица 5*5. Нужно excel-е заполнить ячейки случайными числами, скопировать в буфер обмена. Кнопка должна перемещать числа из excel в матрицу с++.
Создал подпрограмму, оговорил размерности матрицы, включил библиотеку ClipBoard().
Сам код:
Проблема в чем - копирует без проблем, но копирует только однозначные числа - {1,8,3,4}
отказывается копировать числа больше одного разряда. При копировании {14; 18; 34; 141}
в матрицу вставляет только {1; 8; 3; 1}
В чем может быть проблема?
Создал подпрограмму, оговорил размерности матрицы, включил библиотеку 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}
В чем может быть проблема?