Mappa del sito
Indice degli aggiornamenti  27/10/18
Metti formule tra i preferiti
Contattaci
Segnalaci ad un amico

Formule e argomenti di matematica, fisica e scienze
Albert Einstein: ... la nostra conoscenza, se paragonata alla realta' e' primitiva e infantile. Eppure e' il bene piu' grande che possediamo.
... all our science, measured against reality, is primitive and childlike-and yet it is the most precious thing we have.


Versione stampabile della scheda visualizzata sotto

Seguici in Facebook    Seguici in Pinterest    Seguici in X

Informatica : Code snippets (Strings)

Gli ultimi n caratteri di una stringa

I frammenti di codice (snippets) listati sotto, implementano, nei differenti linguaggi usati, una funzione che restituisce gli ultimi n caratteri di una stringa. Alla funzione diamo il nome di 'Right'.



Linguaggio: PASCAL

 
Parametri : St = stringa
: quanti = quanti caratteri
Ritorna : Una stringa composta dagli ultimi 'quanti'
: caratteri di 'St'

 
procedure Right(VAR St:String; quanti:integer);
var
p : Integer;
begin
if length(St) <= quanti then exit;
p:=length(st)-Quanti+1;
St:=Copy(st,P,Quanti);
end;


function Right(St:String; quanti:integer):String;
var
p : Integer;
begin
if length(St) <= quanti then begin
Right:=St;
exit;
end;
p:=length(st)-Quanti+1;
Right:=Copy(st,P,Quanti);
end;




Linguaggio: Assembler 80286

 
Parametri : S = stringa
: Quanti = quanti caratteri
Ritorna : Una stringa composta dagli ultimi 'Quanti'
: caratteri di 'S'
:
Commenti : Questa versione assembler, e' scritta
: con le convenzioni
: usate nell'object pascal di Borland (c),
: per interfacciare
: codice Pascal con codice Assembler.
: N.B. In piu' presuppone che la stringa
: sia SHORT; max 255 caratteri
: e nel primo byte
: la lunghezza corrente
: della stringa stessa.
:

 
; function Right(S:String; Quanti:Integer):String;
;
RightRes EQU DWORD PTR [BP+12]
RightS EQU DWORD PTR [BP+8]
RightQ EQU BYTE PTR [BP+6]
;
Right PROC FAR
;
PUSH BP
MOV BP,SP
PUSH DS
LDS SI,RightS
LES DI,RightRes
CLD
LODSB ; carico len src
OR AL,AL
JNZ RIOK
STOSB
JMP FINE5
RIOK: MOV CL,AL ; salvo len(src) in CL
CMP AL,RightQ ; quanti ne vuole ?
JA RIGTA ; meno OK passali
MOV CL,AL ; di piu' o uguale
XOR CH,CH ; copio tutto da [0] a len
INC CX ; +1 copia anche [0]
DEC SI
REP MOVSB
JMP FINE5
RIGTA: MOV AL,RightQ ;
STOSB ; s[0]= Q
; len(src) in CX
XOR CH,CH ; vado avanti
SUB CL,RightQ ; CX-Q+1 (+1 no per back-pos)
REP LODSB ; posizionata
; sul primo tocopy
MOV CL,RightQ
XOR CH,CH
REP MOVSB ; copia CX chars
FINE5: POP DS
MOV SP,BP
POP BP
RET 6
;
Right ENDP


Linguaggio: C#

 
Parametri : S = stringa
: qv = quanti caratteri
Ritorna : Una stringa composta dai primi 'qv' caratteri di 's'

 
public string Right(string s, int qv)
{
if (qv > s.Length)
{
return (s);
}
else
{
return (s.Substring(s.Length-qv, qv));
}
}


N.B. Borland e Delphi7, DotNet e Microsoft sono marchi registrati ed appartengono ai leggittimi proprietari.



Made by Formule Development Team








  Metti la scheda negli appunti    Click per visualizzare il blocco appunti Visualizza appunti    Click x svuotare blocco appunti Azzera appunti



UTILITY
FormuLe-MATEMATICALC

TROVA FORMULE

UTILITY
FormuLe-FISICALC


TROVA FORMULE

UTILITY
FormuLe-STATISTICALC

UTILITY
Formule-MATFINCALC

ARGOMENTI
Matematica

Frattali di Mandelbrot
Benoit Mandelbrot e la Geometria Frattale. Introduzione e immagini.

Statistica e giochi

Lotto e superEnalotto
Una sintetica comparazione statistica e finanziaria dei due giochi.

Ultimo aggiornamento - Last update:  27/10/2018
Privacy and cookies
© www.gobnf.com 2008-2024 - Tutto il materiale contenuto nel sito PUO' essere liberamente usato per scopi personali (studio, creazione di relazioni e tesine etc). Non e' consentito qualsiasi altro tipo di utilizzo o riproduzione. - The entire content of this site may be freely used ONLY for personal purposes (study, creation of reports etc.). It is not allowed any other use or reproduction.