Discussione:
Comando "pos" ma da destra
(troppo vecchio per rispondere)
Gohan
2003-12-03 14:43:10 UTC
Permalink
Ma esiste in Delphi il comando "pos" che ricerca però la posizione
partendo dalla fine di una stringa e non dall'inizio?
O (se non esistesse) qualcuno ha mai programmato qualche funzione che
esegua tale compito e può gentilmente postarla? Grazie

Ciao
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Zortek
2003-12-03 14:50:05 UTC
Permalink
Post by Gohan
Ma esiste in Delphi il comando "pos" che ricerca però la posizione
partendo dalla fine di una stringa e non dall'inizio?
no
Post by Gohan
O (se non esistesse) qualcuno ha mai programmato qualche funzione che
esegua tale compito e può gentilmente postarla? Grazie
un vero programmatore non chiede mai la pappa pronta. Vergogna! :)

Ciao, Sandro
Gohan
2003-12-03 14:53:13 UTC
Permalink
Post by Zortek
un vero programmatore non chiede mai la pappa pronta. Vergogna! :)
A volte mi chiedo a che servono i ng! :)
Comunque ok: me la faccio e poi la posto io... tiè! ;)
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Matteo Montanari
2003-12-03 15:07:14 UTC
Permalink
Ciao
Post by Gohan
Ma esiste in Delphi il comando "pos" che ricerca però la posizione
partendo dalla fine di una stringa e non dall'inizio?
O (se non esistesse) qualcuno ha mai programmato qualche funzione che
esegua tale compito e può gentilmente postarla? Grazie
Guarda il sorgente di getlastdelimiters (o qualcosa del genere...) e vedi se
ti può dare spunto per qualcosa

Ciao

Matteo
Paolo Arosio
2003-12-03 15:09:41 UTC
Permalink
Post by Gohan
Ma esiste in Delphi il comando "pos" che ricerca però la posizione
partendo dalla fine di una stringa e non dall'inizio?
O (se non esistesse) qualcuno ha mai programmato qualche funzione che
esegua tale compito e può gentilmente postarla? Grazie
Pos e' una funzione (non un comando). Direi comunque che dovrebbe essere
sufficiente invertire la stringa in cui fare la ricerca, invertire la
stringa da cercare e usare pos.
Alternativamente, direi che si potrebbe usare SearchBuf.

Se invece sarai cosi' gentile da scrivere una PosFromRight e renderla
pubblica ne saremo tutti felici.

Saluti
Paolo Arosio
--
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
e' che non ci vengono a trovare"
Mauro Falzari
2003-12-03 17:56:12 UTC
Permalink
Post by Paolo Arosio
Pos e' una funzione (non un comando). Direi comunque che dovrebbe essere
sufficiente invertire la stringa in cui fare la ricerca, invertire la
stringa da cercare e usare pos.
StrUtils.ReverseString
--
Mauro Falzari
[ http://digilander.libero.it/mauro.falzari ]

"Se guardi nell'abisso, anche l'abisso guarda in te."
(Friedrich Nietzsche)
Caepinus
2003-12-03 15:28:37 UTC
Permalink
On Wed, 3 Dec 2003 14:43:10 +0000 (UTC), "Gohan"
Post by Gohan
Ma esiste in Delphi il comando "pos" che ricerca però la posizione
partendo dalla fine di una stringa e non dall'inizio?
O (se non esistesse) qualcuno ha mai programmato qualche funzione che
esegua tale compito e può gentilmente postarla? Grazie
Nelle JCL c'è (JCLStrings.pas) si chiama StrLastPos.
Poichè non so se il mozilla permetta di fare un copia e incolla di
porzioni di codice, evito di postarla ;-)
--
"La velocità luce non è sufficiente Comandante Nunziatella,
dobbiamo passare alla velocità smodata!"
David
2003-12-04 09:11:26 UTC
Permalink
Fatta in 2 minuti (non è il massimo ed è ottimizzabilissima)

Function PosFromLast(Const CosaCercare, DoveCercare : String) : Integer;
Var
S, S1 : String;
OK : Boolean;
N, D : Integer;
Begin
Result := 0;
S := DoveCercare;
Ok := True;
N := 0;
While Ok Do
Begin
N := Pos(CosaCercare, S);
Ok := (N > 0);

If Ok Then
Begin
Result := N;
S1 := '';
For D := 1 To N+Length(CosaCercare)-1 Do S1 := S1+#255;
Delete(S, 1, N+Length(CosaCercare)-1);
S := S1+S;
End;
End;
End;


--
Ciao,
David (www.utilityweb.net)

Loading...