吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1824|回复: 4
收起左侧

[其他转载] 用Delphi生成Python切片对应的表格

[复制链接]
冥界3大法王 发表于 2020-11-4 11:09
本帖最后由 冥界3大法王 于 2020-11-4 11:26 编辑

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


image.png
生成后的效果~~

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

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

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



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

免费评分

参与人数 1吾爱币 +2 收起 理由
hacksz + 2 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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 编辑

TIM截图20201104134025.jpg

[C++] 纯文本查看 复制代码
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[i]);
        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语言,感觉很陌生,以前有听说过某软件的最初版本是这语言写的,其相关没了解过
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表