Thread View: pl.comp.lang.delphi
14 messages
14 total messages
Started by konsul41
Tue, 24 Apr 2018 10:43
String Substring
Author: konsul41
Date: Tue, 24 Apr 2018 10:43
Date: Tue, 24 Apr 2018 10:43
21 lines
1507 bytes
1507 bytes
Od którego Delphi można używać takiej konstrukcji?
function TGUSController.ConvertData(AData,ATag: string): string;
var
s: string;
begin
...
if AData.IndexOf(EmptyTag)>0 then
exit;
s:=AData;
if s.IndexOf(EndTag)>0 then
begin
s:=s.Substring(0,s.IndexOf(EndTag));
s:=s.Substring(s.IndexOf(StartTag));
s:=s.Remove(0,StartTag.Length);
Wycinek pochodzi z http://pliki.merco.pl/izzy.gus.zip
Chodzi oczywiście o
AData.IndexOf...
s.Substring...
Re: String Substring
Author: konsul41
Date: Tue, 24 Apr 2018 10:50
Date: Tue, 24 Apr 2018 10:50
5 lines
1141 bytes
1141 bytes
> AData.IndexOf... > s.Substring... > Czy to jest Delphi NET?
Re: String Substring
Author: konsul41
Date: Tue, 24 Apr 2018 10:57
Date: Tue, 24 Apr 2018 10:57
8 lines
1270 bytes
1270 bytes
W dniu 24-04-2018 o 12:50, konsul41@wp.pl pisze: >> AData.IndexOf... >> s.Substring... >> > > Czy to jest Delphi NET? Już wiem TStringHelper.
Re: String Substring
Author: Jan Drawski
Date: Tue, 24 Apr 2018 10:58
Date: Tue, 24 Apr 2018 10:58
13 lines
1221 bytes
1221 bytes
W dniu 2018-04-24 o 12:50, konsul41@wp.pl pisze: >> AData.IndexOf... >> s.Substring... >> > > Czy to jest Delphi NET? Nie, to nie jest Delphi .NET. W XE6 już można było tego używać, wcześniej nie wiem od której wersji. -- Pozdrawiam Janek
Re: String Substring
Author: Roman Tyczka
Date: Tue, 24 Apr 2018 11:40
Date: Tue, 24 Apr 2018 11:40
9 lines
1082 bytes
1082 bytes
On Tue, 24 Apr 2018 12:43:40 +0200, konsul41@wp.pl wrote: > Od którego Delphi można używać takiej konstrukcji? Jeśli dobrze pamiętam to od XE3. -- pozdrawiam Roman Tyczka
Re: String Substring
Author: konsul41
Date: Tue, 24 Apr 2018 12:18
Date: Tue, 24 Apr 2018 12:18
9 lines
1235 bytes
1235 bytes
W dniu 24-04-2018 o 13:40, Roman Tyczka pisze: > On Tue, 24 Apr 2018 12:43:40 +0200, konsul41@wp.pl wrote: > >> Od którego Delphi można używać takiej konstrukcji? > > Jeśli dobrze pamiętam to od XE3. > Noż ... A Ja mam Xe2.
Re: String Substring
Author: Roman Tyczka
Date: Wed, 25 Apr 2018 07:49
Date: Wed, 25 Apr 2018 07:49
16 lines
1321 bytes
1321 bytes
On Tue, 24 Apr 2018 14:18:52 +0200, konsul41@wp.pl wrote: >>> Od którego Delphi można używać takiej konstrukcji? >> >> Jeśli dobrze pamiętam to od XE3. >> > Noż ... > A Ja mam Xe2. Tu masz dość zgrabną listę nowości wg wersji Delphi: https://stackoverflow.com/questions/8460037/list-of-delphi-language-features-and-version-in-which-they-were-introduced-depre -- pozdrawiam Roman Tyczka
Re: String Substring
Author: mihoo
Date: Thu, 17 May 2018 13:23
Date: Thu, 17 May 2018 13:23
22 lines
1982 bytes
1982 bytes
> Od którego Delphi można używać takiej konstrukcji?
Chodzi o wycięcie wartości między znacznikami hipertekstu?
Od wersji 2010 można używać mojej biblioteki OLTypes.
https://bitbucket.org/mihoor/oltypes/wiki/Home
Przykład:
var
s: OLString;
begin
s := '<xml><imie>Jan</imie><nazwisko>Kowalski</nazwisko></xml>';
//Wycinanie wg tagów
ShowMessage(s.FindPatternStr('nazwisko'));
ShowMessage(s.FindPatternStr('imie'));
ShowMessage(s.MidStr(5, 3));//Odpowiednik Substring
ShowMessage(s.Pos('Michał').ToString());//Odpowiednik IndexOf
ShowMessage(s.Deleted(1, 5));//Odpowiednik Remove
end;
Re: String Substring
Author: Roman Tyczka
Date: Thu, 17 May 2018 13:57
Date: Thu, 17 May 2018 13:57
27 lines
1746 bytes
1746 bytes
On Thu, 17 May 2018 06:23:22 -0700 (PDT), mihoo wrote:
>> Od którego Delphi można używać takiej konstrukcji?
>
>
> Chodzi o wycięcie wartości między znacznikami hipertekstu?
> Od wersji 2010 można używać mojej biblioteki OLTypes.
> https://bitbucket.org/mihoor/oltypes/wiki/Home
Zajrzałem, całkiem fajna ta biblioteka, choć takie kwiatki odpychają:
OLString = record
[...]
function Like(Pattern: OLString): OLBoolean;
function Pos(SubStr: string; [...]): OLInteger;
function PosEx(SubStr: string; Offset: integer; [...]): OLInteger;
function OccurrencesCount(SubString: string; [...]): OLInteger;
function OccurrencesPosition(SubString: string; Index: integer;[...]):
OLInteger;
procedure LineAdd(NewLine: string);
[...]
--
pozdrawiam
Roman Tyczka
Re: String Substring
Author: mihoo
Date: Fri, 18 May 2018 07:08
Date: Fri, 18 May 2018 07:08
2 lines
1509 bytes
1509 bytes
Przyznaję skromnie, że nie rozumiem. Będę wdzięczny za naukę. Co mogę tu poprawić?
Re: String Substring
Author: Jan Drawski
Date: Fri, 18 May 2018 08:47
Date: Fri, 18 May 2018 08:47
9 lines
1314 bytes
1314 bytes
W dniu 2018-05-18 o 09:08, mihoo pisze: > Przyznaję skromnie, że nie rozumiem. Będę wdzięczny za naukę. > Co mogę tu poprawić? Mi się nie podoba OLBoolean, OLInteger itp. Dlaczego nie Boolean i Integer? -- Pozdrawiam Janek
Re: String Substring
Author: Jan Drawski
Date: Fri, 18 May 2018 10:00
Date: Fri, 18 May 2018 10:00
9 lines
1356 bytes
1356 bytes
W dniu 2018-05-18 o 09:08, mihoo pisze: > Przyznaję skromnie, że nie rozumiem. Będę wdzięczny za naukę. > Co mogę tu poprawić? "class" przed deklaracją funkcji i "static" po niej? -- Pozdrawiam Janek
Re: String Substring
Author: mihoo
Date: Fri, 18 May 2018 10:17
Date: Fri, 18 May 2018 10:17
15 lines
2538 bytes
2538 bytes
> Mi się nie podoba OLBoolean, OLInteger itp. Dlaczego nie Boolean i Integer? Poza kilkoma wyjątkami OLBoolean jest zamienny z Boolean, OLInteger z Integer, itd ... To znaczy, że mogę przypisać wynik OLString.Pos() do zmiennej typu Integer, chociaż formalnie metoda zwraca OLInteger. Sprawę załatwiają przeciążone operatory. Można dodać/odjąć/porównać zmienną OLInteger ze zmienną typu Integer. Przykład wyjątku, gdy OLInteger nie zastępuje Integer, stanowi sytuacja, gdy mamy procedure Pr(var Output: integer); Kompilator wymaga wtedy podania jako parametr zmiennej typu integer i OLInteger odpada. ================== Mnie raczej denerwuje, że nie wszędzie gdzie bym chciał, mogłem użyć typów OL zamiast "zwykłych". To dlatego, że typy muszą być zdefiniowane po kolei, np. Najpierw definiuję OLInteger, a dopiero później OLString. W OLInteger.ToString() nie mogę zwrócić OLString, ale już w OLString.Length() może być zwrócony OLInteger.
Re: String Substring
Author: Roman Tyczka
Date: Fri, 18 May 2018 10:39
Date: Fri, 18 May 2018 10:39
15 lines
1582 bytes
1582 bytes
On Fri, 18 May 2018 00:08:11 -0700 (PDT), mihoo wrote: > Przyznaję skromnie, że nie rozumiem. Będę wdzięczny za naukę. > Co mogę tu poprawić? Brak const'ów powodujący podwójne alokacje pamięci przy wywoływaniu tych metod (i wielu innych). Warto też dodać, że alokacja pamięci dla stringa blokuje manager pamięci i przy aplikacji wielowątkowej staje się to wąskim gardłem, który tłamsi całą wydajność. Choć to już raczej w apce VCL jest nie do odczucia, bardziej w aplikacjach, które prztwarzają dane lub serwerach. -- pozdrawiam Roman Tyczka
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads