Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806

    elaborazione coordinate

    ciao
    questa la situazione:
    ho le coordinate di una firma grafica con le quali creo un'immagine disegnando tramite Jpeg.Canvas.DrawLine della libreria aspjpeg persits

    le faccenda funziona se scrivo
    Jpeg.Canvas.DrawLine 1,2,3,4
    per ogni gruppo di coordinate, quindi decine di volte

    la stringa originale è cosi scritta
    codice:
    "[{""lx"":118,""ly"":22,""mx"":118,""my"":21},{""lx"":258,""ly"":49,""mx"":259,""my"":49}]"
    ripulendo con replace ottengo
    118,22,118,21|258,49,259,49
    poi con split separo i gruppi di cifre

    ovviamente devo automatizzare la creazione di
    Jpeg.Canvas.DrawLine 118,22,118,21
    Jpeg.Canvas.DrawLine 258,49,259,49

    quindi agisco così
    codice:
    		a=Split(firma,"|")
    		
    			for each x in a
    			Jpeg.Canvas.DrawLine x 
    			next
    ma non va bene perché il formato dev'essere con le 4 coordinate nella forma
    Jpeg.Canvas.DrawLine x,y,z,x

    ho provato a metterci un'array
    codice:
    		a=Split(firma,"|")
    		
    			for each x in a
    			
    			rigaFirma	= x
    			
    			a=Array(rigaFirma)
    			xx = a(0)
    			xy = a(1)
    			yy = a(2)
    			yx = a(3)
    			Jpeg.Canvas.DrawLine xx, xy, yy, yx 
    			
    			next
    ma ottengo This array is fixed or temporarily locked: 'a'


    come ne esco?

  2. #2
    adoperi due volte l'array "a", quindi...

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Hai provato con:
    codice:
    	a=Split(firma,"|")
    		
    	for each x in a
    		Execute( "Jpeg.Canvas.DrawLine " & x )
    	next
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    no vabbe... qui ho riportato male e fatto diversi tentatati per cui mi sono sicuramente perso pezzi lungo la strada

    ora scrivo
    codice:
    		a=Split(firma,"|")
    		
    			for each x in a
    			
    			rigaFirma	= x
    			
    			b=Array(rigaFirma)
    			xx = b(0)
    			xy = b(1)
    			yy = b(2)
    			yx = b(3)
    			Jpeg.Canvas.DrawLine xx, xy, yy, yx 
    			
    			next
    non so cosa ho scritto "prima" ma ora l'errore è cambiato :
    Subscript out of range: '[number: 1]'
    quindi intendo che il valore dell'array (rigafirma) non può essere scritto così?
    non mi ero accorto ma la stringa firma termina con "|". fa danno, vero? devo togliere l'ultimo carattere mi sa...

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    Originariamente inviato da br1
    Hai provato con:
    codice:
    	a=Split(firma,"|")
    		
    	for each x in a
    		Execute( "Jpeg.Canvas.DrawLine " & x )
    	next
    ora provo

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    no br1, non gli piace:
    Wrong number of arguments or invalid property assignment: 'Jpeg.Canvas.DrawLine'

  7. #7
    a parte il doppio passaggio

    for each x in a

    rigaFirma = x

    b=Array(rigaFirma)

    può diventare

    for each x in a

    b=Array(x)

    controlla sempre che "x" contenga qualcosa (almeno una virgola!)

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    stavo stampando in qui e la per capire cosa andasse storto,
    credo di ave popolato male firma, sebbene apparentemente corretta stampandola a video
    la parte precedente è questa
    codice:
    	a=Split(firmaCliente,"},")
    		for each x in a
    
    		firma = firma & x & "|"
    		firma	= replace(firma,"{","")
    		firma	= replace(firma,"}","")
    		firma	= replace(firma,Chr(34),"")
    		firma	= replace(firma,"lx:","")
    		firma	= replace(firma,"ly:","")
    		firma	= replace(firma,"mx:","")
    		firma	= replace(firma,"my:","")
    
    		next
    		
    		' quindi adesso ho cercato di vedere cosa salta fuori visto che avevo il dubbio sull'ultimo "|"
    		' se qui stampo firma mi da la lista dei valori separati da pipe
    		response.write firma
    		
    		'se invece provo a pulire
    		' mi togli tutti i pipe
    		firma	=	replace(firma,Right(firma,1),"")
    		response.write firma
    prosegue come prima

  9. #9

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    vedo se riesco a ricapitolare

    codice:
    	
    ' ho già tolto cose che non servono e ho 
    'firmaCliente pronto per esser lavorato
    a=Split(firmaCliente,"},")
    	for each x in a
    	firma = firma & x & "|"
    	firma	= replace(firma,"{","")
    	firma	= replace(firma,"}","")
    	firma	= replace(firma,Chr(34),"")
    	firma	= replace(firma,"lx:","")
    	firma	= replace(firma,"ly:","")
    	firma	= replace(firma,"mx:","")
    	firma	= replace(firma,"my:","")
    
    	'la riga sotto l'ho messa adesso per cerca l'errore 
    	'e infatti qualcosa non quadra
    	nuovaFirma	=	nuovaFirma & firma
    		
    	next
    		
    	' quindi provo  a togliere l'ultimo pipe che si è creato in precedenza
    	' ma mi toglie TUTTI i pipe separatori :confused: 
    	nuovaFirma	=	replace(nuovaFirma,Right(nuovaFirma,1),"")
    	'response.write nuovaFirma
    		
    	' in entrambi i modi (tentando di togliere l'ultimo pipe o meno)
    	' qui non procede
    a=Split(nuovaFirma,"|")
    
    	for each x in a
    
    	rigaFirma	= x
    	'response.write rigaFirma
    	
    	b=Array(rigaFirma)
    	xx = b(0)
    	xy = b(1)
    	yy = b(2)
    	yx = b(3)
    	Jpeg.Canvas.DrawLine xx, xy, yy, yx 
    	
    	next
    il doppio passaggio a > rigafirma > b l'ho fatto per cercare di capire l'inghippo ma non cambia nulla, poi lo tolgo. o anche adesso, è solo una verifica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.