TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoLISP
 Incrementatore di cifra
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

cantacad
Utente Master



662 Messaggi

Inserito il - 24 maggio 2013 : 11:17:33  Mostra Profilo Invia a cantacad un Messaggio Privato  Rispondi Quotando
Salve, tra i millemila lisp che esistono, che ce ne sia uno che fa la seguente procedura o qualcosa di simile: incrementare o decrementare il valore della singola cifra/lettera che si tocca all'interno di un testo (quasi sicuramente un attributo).
Esempio, attributo con testo A00B01, facciamo finta che questo fantomatico lisp abbia impostato l'incremento, tocco la prima e l'ultima cifra e il testo diviene B00B02.
Saluti

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 24 maggio 2013 : 11:27:01  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
Messaggio di cantacad
tocco la prima e l'ultima cifra e il testo diviene B00B02.


questa è una richiesta da bacchetta magica

Torna all'inizio della Pagina

joseph
Utente Master



Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore


1884 Messaggi

Inserito il - 24 maggio 2013 : 18:39:15  Mostra Profilo Invia a joseph un Messaggio Privato  Rispondi Quotando
Purtroppo, qualunque sia il punto in cui selezioni un testo, l'unico punto restituito è il suo punto di inserimento e non la posizione del singolo carattere sotto il puntatore.
La strada dovrebbe essere diversa:
- dire al programma in quale/i posizione/i incrementare il valore e l'incremento da assegnare
- scomporre la stringa in una lista di caratteri
- incrementare i caratteri nella/e posizione/i indicata/e
- ricomporre la stringa

La complessità aumenta quando devi passare da 9 a 10, se vuoi mantenere lo stesso numero di caratteri.
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 maggio 2013 : 19:22:43  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Sarebbe più rapido impostare all'inizio i caratteri da incrementare, altrimenti saresti costretto a "prendere la mira" sul carattere giusto di ogni stringa. Quanto tempo ti farebbe perdere una cosa simile? Pensa se devi farlo su 500 testi...
Torna all'inizio della Pagina

Roberto07
Utente Master



Regione: Lazio
Prov.: Roma
Città: Sabina Italia


1042 Messaggi

Inserito il - 24 maggio 2013 : 19:47:46  Mostra Profilo Invia a Roberto07 un Messaggio Privato  Rispondi Quotando
Hai provato con il lisp "numincv2-9.lsp"? Devi rimpiazzare il testo.....

Immagine inserita:

47,77 KB
Torna all'inizio della Pagina

cantacad
Utente Master



662 Messaggi

Inserito il - 25 maggio 2013 : 11:48:18  Mostra Profilo Invia a cantacad un Messaggio Privato  Rispondi Quotando
per il discorso doppia cifra mi accontenterei di restare in singola cifra cioè se c'è il 9 sostituire con 0...
...a dire il vero ci sono già dei lisp che lavorano sui testi incrementandone il valore in maniera egregia come quello indicato da Roberto...è che è una di quelle operazioni che faccio mille volte al giorno e il 90% delle volte si tratta di combinare 2 attributi...quindi non ha senso innescare la procedura del lisp che in quel caso diventa fastidiosamente più lunga della modifica del testo dall'editor...
Immaginavo che fosse una fantarichiesta, volevo sollevare il mio problema (spero anche vostro) di dover continuare continuando continuamente ad apporre piccole modifiche di questo genere: macchina A,B,C...componente k1.20, k2.20, k3.20...al giorno sono proprio tante tante volte...

Comunque nella mia immaginazione si basa tutto su una cosa (e prendere la mira non è un problema) da una stringa di testo è possibile acquisire il valore di un carattere tramite selezione?

Saluti
Torna all'inizio della Pagina

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 25 maggio 2013 : 12:51:21  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
Messaggio inserito da cantacad
Comunque nella mia immaginazione si basa tutto su una cosa (e prendere la mira non è un problema) da una stringa di testo è possibile acquisire il valore di un carattere tramite selezione?


anche in questo caso vale sempre la risposta di joseph

Messaggio inserito da joseph
Purtroppo, qualunque sia il punto in cui selezioni un testo, l'unico punto restituito è il suo punto di inserimento e non la posizione del singolo carattere sotto il puntatore.

Modificato da - arri in data 25 maggio 2013 12:59:54
Torna all'inizio della Pagina

cantacad
Utente Master



662 Messaggi

Inserito il - 27 maggio 2013 : 08:06:22  Mostra Profilo Invia a cantacad un Messaggio Privato  Rispondi Quotando
ok grazie
Torna all'inizio della Pagina

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 27 maggio 2013 : 08:10:16  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
l'unica via percorribile è quella indicata da joseph

Messaggio inserito da joseph
La strada dovrebbe essere diversa:
- dire al programma in quale/i posizione/i incrementare il valore e l'incremento da assegnare
- scomporre la stringa in una lista di caratteri
- incrementare i caratteri nella/e posizione/i indicata/e
- ricomporre la stringa

La complessità aumenta quando devi passare da 9 a 10, se vuoi mantenere lo stesso numero di caratteri.
Torna all'inizio della Pagina

zanze02
Utente



10 Messaggi

Inserito il - 31 maggio 2013 : 22:26:55  Mostra Profilo  Rispondi Quotando
http://alessi.xoom.it/alessi/AutoLisp.htm

ALE_String_Inc.lsp
ALE_String_NumberInc.lsp
Torna all'inizio della Pagina

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 01 giugno 2013 : 00:40:56  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
Messaggio inserito da zanze02

http://alessi.xoom.it/alessi/AutoLisp.htm

ALE_String_Inc.lsp
ALE_String_NumberInc.lsp



belli, conosco il sito

ma come tanti altri lisp che incrementano,
non fanno quello che chiede cantacad

Messaggio di cantacad
tocco la prima e l'ultima cifra e il testo diviene B00B02.
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,55 secondi.