冥界3大法王 发表于 2020-11-4 11:09

用Delphi生成Python切片对应的表格

本帖最后由 冥界3大法王 于 2020-11-4 11:26 编辑


一日楼主看到如此教程,心中大悦,何不用咱家的Delphi生成一个表格以观之,岂不大大的舒服呢?
所以赶紧动手开始吧~~
因为需要原始字符串,和分解后的字符串
索引
-1反向索引
所以最少需要3行-4行 (输入栏你得一行吧?) 也就按3行算好了。



生成后的效果~~

procedure TForm1.sEdit1Change(Sender: TObject);
procedure TForm1.sEdit1Change(Sender: TObject);
var
i: integer;
str: string;
c: char;
arr: array of string;
A, j: integer;
begin
str := sedit1.text;
for i := 0 to length(str) do
begin
    c := str;
   //ShowMessage(c);
    arr := '分解后字符串';
    arr := '索引';
    arr := '切片时索引';
    StringGrid1.RowCount := 3;      //这个是行数
    StringGrid1.ColCount := i + 2;   //这个是列数(列数+1才对啊)
    StringGrid1.ColWidths := 0;
    StringGrid1.ColWidths := 130;

    arr := c;             //这个是分解后的单个字符中的第1行
    arr := IntToStr(i - 1);//这个是分解后对应的索引,也就是第2行

    arr := '-' + IntToStr(length(str) - i + 1);


end;
//ShowMessage(IntToStr(i - 1));
for A := Low(arr) to High(arr) do                  //这个是调整表格,隐藏第一列的!
    for j := Low(arr) + 1 to High(arr) + 1 do
    begin
      StringGrid1.Cells := arr
    end;
end;



最终经过不断的修改和测试,终于搞定了。

JuncoJet 发表于 2020-11-4 11:33

Python的切片不止这么简单,有3个参数 [::],反向之后是另一番天地

冥界3大法王 发表于 2020-11-4 12:02

JuncoJet 发表于 2020-11-4 11:33
Python的切片不止这么简单,有3个参数 [::],反向之后是另一番天地

所以,先编个简单的玩玩。

JuncoJet 发表于 2020-11-4 13:41

本帖最后由 JuncoJet 于 2020-11-4 14:31 编辑



void MainWindow::on_pushButton_clicked()
{
    QString s=ui->lineEdit->text();
    QStringList l;int sz=s.size();
    ui->tableWidget->setColumnCount(sz);
    for(int i=0;i<sz;i++){
      l<<QString(s);
      QTableWidgetItem *it=new QTableWidgetItem(),
                *it2=new QTableWidgetItem();
      it->setText(QString::number(i));
      ui->tableWidget->setItem(0,i,it);
      it2->setText(QString::number(i-sz));
      ui->tableWidget->setItem(1,i,it2);
    }
    ui->tableWidget->setHorizontalHeaderLabels(l);
}


我也写一个,第三种参数还没写,算法已优化

tzhv_9w6 发表于 2020-11-10 09:16

阿D语言,感觉很陌生,以前有听说过某软件的最初版本是这语言写的,其相关没了解过
页: [1]
查看完整版本: 用Delphi生成Python切片对应的表格