Ĺadny brzuch
sl:=TStringList.Create;
try
ExtractStrings([#39],[],PAnsiChar(s),sl); //s = ciag (string) zawierajacy apostrofy
finally
sl.Free;
end;
yyy dlaczego nie chce podzielić? Albo jak daję:
txt := StringReplace(txt, '\'+#39, '\ '+#39, [rfReplaceAll]);Też nie chce pójść ;(
Pomocy!
PS Próbowałem np.
string := QuotedStr(''''); string[1];Ale też zakończone fiaskiem :(
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
Twoją odpowiedź można w dwuznaczny sposób zinterpretować:
1. To pewnie nie o to chodzi, ale jeśli wezmę ciąg w nawias problem pozostaje.
2. Chodzi o zawartość. IMO ciąg zostaje zamknięty, bo apostrofy w których siedzi backslash to stwierdzenie ciągu znaków, a apostrof dodany do niego jako kod ASCII to zawartość, a nie znak definiujący początek i koniec typu string.
PS Najbardziej zależy mi na rozwiązaniu pierwszego przykładu (ExtractStrings)...
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
... to jest delphi ... ;P
... to jest delphi ... ;P
Wielkie sorry! Ostatnio za duzo php i mi sie juz przyjelo :/.
// EDIT:
Wyglada na to ze apostrof tak jest traktowany jak cudzyslowie wiec nie mozesz uzyc go jako separator'a.
// EDIT2:
txt := 'a '' b \'' c'; showmessage(txt); txt := StringReplace(txt, '\'+#39, '\ '+#39, [rfReplaceAll]); showmessage(txt);Dziala...
// EDIT3:
var txt: string; begin txt := QuotedStr('to jest test '' bla \'' bla '' bla;]'); ShowMessage(txt);
Rowniez dziala...
Użytkownik Ali240 edytował ten post 26 sierpień 2006, 21:09
Ad. Edit1: nie może tak być :P
Ad. Edit2: a u mnie nie (d7)
Ad. Edit3: a co to do tematu? Ja w 1st poście dałem alternatywny sposób na wyciągnięcie apostrofa :P
Czyli jednak za dużo shitu w kompie... trza kolejnego formata zrobić :/
Póki co standardowo Pos()em będę się bawił.
Thx. EoT. No może jeśli ktoś znajdzie sposób na mój problem, to nie ;)
Ad. Edit1: nie może tak być :P
Ad. Edit2: a u mnie nie (d7)
Ad. Edit3: a co to do tematu? Ja w 1st poście dałem alternatywny sposób na wyciągnięcie apostrofa :P
Czyli jednak za dużo shitu w kompie... trza kolejnego formata zrobić :/
Póki co standardowo Pos()em będę się bawił.
Thx. EoT. No może jeśli ktoś znajdzie sposób na mój problem, to nie ;)
1. Jak nie moze byc? Po przeczytaniu halpa i przeprawadzeniu kilku prob wychodzi mi ze tak jest.
2. Dziwne... U mnie bez problemu - D6
3. Nie zlapalem po co to dales wczeniej ;).
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
yyy dlaczego nie chce podzielić? Albo jak daję:
txt := StringReplace(txt, '\'+#39, '\ '+#39, [rfReplaceAll]);Też nie chce pójść ;(
Pomocy!
PS Próbowałem np.
string := QuotedStr(''''); string[1];Ale też zakończone fiaskiem :(
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
Twoją odpowiedź można w dwuznaczny sposób zinterpretować:
1. To pewnie nie o to chodzi, ale jeśli wezmę ciąg w nawias problem pozostaje.
2. Chodzi o zawartość. IMO ciąg zostaje zamknięty, bo apostrofy w których siedzi backslash to stwierdzenie ciągu znaków, a apostrof dodany do niego jako kod ASCII to zawartość, a nie znak definiujący początek i koniec typu string.
PS Najbardziej zależy mi na rozwiązaniu pierwszego przykładu (ExtractStrings)...
Apostrof dajesz przez \'. Wiec jezeli dasz '\'+#39 to masz nie zamkniety paramter... Mysle ze w tym leza podstawy Twoich problemow.
... to jest delphi ... ;P
... to jest delphi ... ;P
Wielkie sorry! Ostatnio za duzo php i mi sie juz przyjelo :/.
// EDIT:
Wyglada na to ze apostrof tak jest traktowany jak cudzyslowie wiec nie mozesz uzyc go jako separator'a.
// EDIT2:
txt := 'a '' b \'' c'; showmessage(txt); txt := StringReplace(txt, '\'+#39, '\ '+#39, [rfReplaceAll]); showmessage(txt);Dziala...
// EDIT3:
var txt: string; begin txt := QuotedStr('to jest test '' bla \'' bla '' bla;]'); ShowMessage(txt);
Rowniez dziala...
Użytkownik Ali240 edytował ten post 26 sierpień 2006, 21:09
Ad. Edit1: nie może tak być :P
Ad. Edit2: a u mnie nie (d7)
Ad. Edit3: a co to do tematu? Ja w 1st poście dałem alternatywny sposób na wyciągnięcie apostrofa :P
Czyli jednak za dużo shitu w kompie... trza kolejnego formata zrobić :/
Póki co standardowo Pos()em będę się bawił.
Thx. EoT. No może jeśli ktoś znajdzie sposób na mój problem, to nie ;)
Ad. Edit1: nie może tak być :P
Ad. Edit2: a u mnie nie (d7)
Ad. Edit3: a co to do tematu? Ja w 1st poście dałem alternatywny sposób na wyciągnięcie apostrofa :P
Czyli jednak za dużo shitu w kompie... trza kolejnego formata zrobić :/
Póki co standardowo Pos()em będę się bawił.
Thx. EoT. No może jeśli ktoś znajdzie sposób na mój problem, to nie ;)
1. Jak nie moze byc? Po przeczytaniu halpa i przeprawadzeniu kilku prob wychodzi mi ze tak jest.
2. Dziwne... U mnie bez problemu - D6
3. Nie zlapalem po co to dales wczeniej ;).