Delphi의 와일드카드 찾기 함수
9176 단어 Delphi
<!--
body { color: #000000; background-color: #C1FFC1; }
body {font-family: 송체, font-size: 11pt;} & #13;
.pas1-assembler { color: #800000; }
.pas1-character { color: #0000FF; }
.pas1-comment { color: #008000; }
.pas1-float { }
.pas1-hexadecimal { }
.pas1-identifier { }
.pas1-number { color: #FF0080; }
.pas1-preprocessor { color: #800080; }
.pas1-reservedword { color: #000000; font-weight: bold; }
.pas1-space { }
.pas1-string { color: #0000FF; }
.pas1-symbol { }
-->
//Delphi
Function IsLike(ax, abc: String): Boolean; //ax ,abc Var abcstart, axstart, abclength, axlength: Integer; endpartabc, endpartax, subax: String; temp, abcwww, axwww: Integer; Begin //aaa temp := 0; abcstart := 1; axstart := 1; axwww := 1; abcwww := 1; ax:=LowerCase(ax); abc:=LowerCase(abc); abclength := Length(abc); axlength := Length(ax); result := True; While axstart <= axlength Do Begin //bbb If ax[axstart] = '?' Then Begin inc(axstart); inc(abcstart); If abcstart > abclength+1 Then Begin result := false; Break; End; Continue; End; If ax[axstart] = '*' Then Begin inc(axstart); temp := 1; axwww := axstart; abcwww := abcstart; Continue; End; If Not (ax[axstart] In ['?', '*']) Then Begin //ccc endpartax := Copy(ax, axstart, axlength - axstart + 1) + '?*'; If Pos('?', endpartax) < Pos('*', endpartax) Then Begin subax := Copy(endpartax, 1, Pos('?', endpartax) - 1); axstart := axstart + Pos('?', endpartax) - 1; End Else Begin subax := Copy(endpartax, 1, Pos('*', endpartax) - 1); axstart := axstart + Pos('*', endpartax) - 1; End; endpartabc := Copy(abc, abcstart, abclength - abcstart + 1); If ((Pos(subax, endpartabc) <> 0) And (temp = 1)) Or ((Pos(subax, endpartabc) = 1) And (temp = 0)) Then Begin //ddd If temp = 1 Then temp := 0; abcstart := abcstart + (Pos(subax, endpartabc) + Length(subax) - 1); End Else Begin //ddd If temp = 0 Then Begin axstart := axwww; abcwww := abcwww + 1; abcstart := abcwww; temp := 1; Continue; End; result := false; Break; End; //ddd End; //ccc End; //bbb End; //aaa
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.