Restituzione valore di InStr in intero?

martedì 22 luglio 2008 - 12.01

MadAlex Profilo | Newbie

Ciao ragazzi. Scusate il disturbo. avrei un problema.
Premetto che utilizzo crystal Reports da 2 giorni.
Ora, dovrei tirare fuori da una stringa solo i valori compresi tra 2 caratteri ( la stringa completa è cn=xxxxx, ou=yyyy, a me serve estrapolare solo xxxxx per intenderci). Il problema è che la stringa ha lunghezza variabile, quindi non posso utilizzare Mid con valori predefiniti.Conosco solo il valore di partenza (4, in modo da escludere il cn=), mentre varia la posizione della "," a seconda del tipo di stringa (o meglio dei valori che contiene).
Quello che ho fatto è la seguente cosa:

stringVar x := "," ;

NumberVar y := InStr (1,{nauditlog.SubTarget} ,x , 1) //mi da la posizione della ","

Mid ({nauditlog.SubTarget}, 3,y ) //trovata la posizione della "," posso tirar fuori solo il pezzo di stringa che mi interessa.

il problema è che mi da errore, in quanto mi dice che in Mid, y deve essere un intero, ovviamente....
ora, su cristal reports non esiste una variabile Integer, ne con sintassi cristal ne con sintassi basic.....
Qualcuno può aiutarmi?
Grazie in anticipo......

freeteo Profilo | Guru

ciao,
perchè non usi lo "split" ?
Puoi usare lo split per la virgola e vedere poi il testo dall'uguale in poi:
stringvar x := "cn=xxxxx, ou=yyyy"; stringvar prima := Split(x,',')[1]; stringvar seconda := Split(x,',')[2]; Mid(prima,instr(prima,"=") + 1) ... Mid(seconda,instr(seconda,"=") + 1)

o qualcosa di questo genere...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5