冥界3大法王 发表于 2022-1-11 23:13

Delphi程序如何拆分连在一起的字符串:

比如机器码: E8 18 01 00 00这种我会用
strs := TStringList.Create;
strs.CommaText := HBDYX.Text;
https://www.cnblogs.com/dream-crack/p/15787560.html这种来拆

但要是这种呢:    E818010000 ?
使之输出反向的:00000118E8

shoukyou 发表于 2022-1-11 23:34

一般我用循环

冥界3大法王 发表于 2022-1-11 23:57

shoukyou 发表于 2022-1-11 23:34
一般我用循环

var
b, i: Integer;
TempString: string;
label
zailai;
begin
i := 2;
b := 0;
zailai:
if i < (Length(Edit1.Text) div 2) then
begin
    b := b + 1;
    i := i * b;
    TempString := RightStr(Edit1.Text, i);
    Edit2.Text := Edit2.Text + TempString;
    goto zailai;
end;
这样不对,那能不能用正则呢?

vipcrack 发表于 2022-1-12 08:26

StrUtils.ReverseString - 翻转字符串

冥界3大法王 发表于 2022-1-12 08:56

vipcrack 发表于 2022-1-12 08:26
StrUtils.ReverseString - 翻转字符串

这是胡嫩的
我要2一组反向的

vipcrack 发表于 2022-1-12 08:57

冥界3大法王 发表于 2022-1-12 08:56
这是胡嫩的
我要2一组反向的

木看清楚,两个一组,就利用截取字符串方式循环处理吧

kenxy 发表于 2022-1-12 10:23

循环就可以了,delphi不是可以循环吗 downto

shoukyou 发表于 2022-1-12 13:00

冥界3大法王 发表于 2022-1-11 23:57
var
b, i: Integer;
TempString: string;


这样也是可以啊
正则的话没用过 简单处理用循环也不影响我觉得

异袭狂封 发表于 2022-1-12 15:55

是高位字节和低位字节 倒序吗

function SwapString(Msg: string): string;
var
TempPchar: Pchar;
i: integer;
Str: string;
begin
//将字符串 Char数组化
TempPchar := Pchar(Msg);
i := 0;
Str := '';
while i < length(TempPchar) do
begin
    Str := TempPchar + TempPchar + Str;
    i := i + 2;
end;
result := Str;
end;

amonsonic 发表于 2022-4-2 10:35

TStringList.Delimiter有Bug,会强制把空格当成分隔符

const
C:Char =',';// 设置成你自定义的分隔符
var
List:TStringList;
begin
   ...
List.Clear;
Classes.ExtractStrings(, [], pChar(Text), List);
页: [1]
查看完整版本: Delphi程序如何拆分连在一起的字符串: