Il tuo lavoro mi ha incuriosito, e mi sono scaricato i sorgenti che ho analizzato:
1* CharAt() - restituisce il carattere n di una stringa
2* CharFromLast() - idem, ma il conteggio parte dall'ultimo carattere
3* Repeat$() - ripete una stringa n volte
4* StartsWith() - verifica se str1 inizia con str2
5* EndWith() - verifica se str1 finisce con str2
6* Implode() - trasforma un array in una stringa, eventualmente con separatore
7* Substr() - restituisce n caratteri di una stringa, partendo dal carattere c; n è opzionale
8* Substring() - restituisce i caratteri di una stringa che vanno da c a n (è diverso da substr()); n è opzionale
9* Reverse() - inverte una stringa
ho numerato le voci, in modo da semplificare i paragoni, per alcuni miei dubbi:
1* Mid ( sSource AS String , iStart AS Integer [ , iLength AS Integer ] ) AS String
2* Right ( String AS String [ , Length AS Integer ] ) AS String
3* String ( Length AS Integer , Pattern AS String )
4* ...
5* ...
6* String[].Join( Separator AS String )
7* Mid ( sSource AS String , iStart AS Integer [ , iLength AS Integer ] ) AS String
8* Mid ( sSource AS String , iStart AS Integer [ , iLength AS Integer ] ) AS String
9* ...
Perdona la domanda:
A parte alcune, veramente molto simpatiche, per le altre funzioni mi sembra già ve ne siano altrettante in Gambas... sbaglio, oppure ho letto male il tuo codice?
Infatti giulio, quelle due sono sicuramente validissime!
for santecaserio:
in effetti, Join() non è documentato, almeno direttamente, e poi esiste la classe String (non la funzione), che alcune caratteristiche utili...
Ritornando alla tua idea:
* LPad(), RPad(), Pad() - inseriscono caratteri riempitivi, esempio: LPad("ciao", "=-", 10) = "=-=-=-ciao"
* InitCap() - prime lettere di tutte le parole in maiuscolo
* UCFirst() - prima lettera della stringa in maiuscolo
* ICase() - inverte maiuscolo/minuscolo
* WordCount() - restituisce il numero di parole
* isEmail(), isUrl()
* StripTags() - rimuove i tag xml
* toRoman(int) - restituisce int in numeri romani
Ecco, queste mi sembrano molto indicate!
In effetti, non mi sembra ci sia nulla del genere al momento in Gambas; non mi sovviene il Pad() (e similari), ma non mi pare ci siano.
Approvo! :-)
Le hai già pronte? :-)
Ovviamente scherzo, ma concordo sull'utilità.
Se riesci, visto che il lavoro è tuo, di dargli nomi meno Java, e un pò più Gambas... così, tanto per non scopiazzarli pari pari... certo, sicuramente per alcuni non si può fare altrimenti (es. Pad)...
Bel lavoro e... buon lavoro!
Tra l'altro, se ne viene a conoscenza Benoit, te le ruba e le inserisce direttamente in Gambas...