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
 1 - Il forum sul software
 Freeware per eliminare linee di testo doppie
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Precedente
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 2

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 23 gennaio 2013 : 12:33:55  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
Messaggio inserito da Terminator

@MEM

Prova a lasciarlo più tempo invece di un quarto d'ora.


per sapere lo stato di avanzamento occorrerebbe inserire una progress bar

http://www.cadlandia.com/topic.asp?TOPIC_ID=13375
Torna all'inizio della Pagina

MEM
Utente Master


Regione: Puglia
Prov.: Lecce
Città: Galatone


2235 Messaggi

Inserito il - 23 gennaio 2013 : 15:18:08  Mostra Profilo Invia a MEM un Messaggio Privato  Rispondi Quotando
Per il file da 50.000 voci circa 42 minuti, per un'altro da 78.000 un...po' di piu'

Grazie ancora.
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 gennaio 2013 : 12:39:21  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Teoricamente dovrebbe essere più veloce. Invece di travasare gli elementi singoli nella nuova lista, semplicemente elimino gli elementi doppi dalla prima lista perché credevo che il foreach mi desse problemi se gli avessi sottratto elementi dalla lista mentre lavorava.


(defun C:ELIMDATI (/ datifile cartella intesto listatxt riga outtesto)
 (vl-load-com)
 (setq datifile (getfiled "Scegli il tuo file" "c:\\" "txt" 4)
       cartella (strcat (vl-filename-directory datifile) "\\")
       intesto (open datifile "r")
       listatxt '()
 )
 
 (while	(setq riga (read-line intesto))
  (setq listatxt (cons riga listatxt))
 )

 (setq listatxt (reverse listatxt))
 (close intesto)

 (foreach elem listatxt
  (if (> (length (vl-position-t elem listatxt)) 1)
   (setq listatxt (vl-remove elem listatxt))
  )
 )

 (setq outtesto	(open (strcat cartella (vl-filename-base datifile) "_NEW.TXT") "w"))

 (foreach elem listatxt
  (princ elem outtesto)
  (princ "\n" outtesto)
 )

 (close outtesto)
 (princ)
)

(princ "ELIMDATI - by Terminator - vers.2")
(princ "\nDigitare ELIMDATI")

;;; ***************************FUNZIONE VL-POSITION-T*******************************
;;; Funzione che elenca le posizioni di un certo elemento in una lista
(defun vl-position-t (elemento listan / lista-p lung1 lung2)
 (setq lista-p '()
       lung1(length listan)
       lung2(length listan)
 )      
 (while (< (- lung1 lung2) lung1)
  (if (vl-position elemento listan)
   (setq lista-p (cons (+ (vl-position elemento listan)(- lung1 lung2)) lista-p))
  )
  (setq listan(cdr(member elemento listan)))
  (setq lung2(length listan))
 )
 (setq lista-p(reverse lista-p))
)


PS: bellissima la progress bar, usata con successo nelle mie ultime realizzazioni!

Modificato da - Terminator in data 24 gennaio 2013 12:40:10
Torna all'inizio della Pagina

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 24 gennaio 2013 : 12:55:14  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
Messaggio inserito da Terminator

PS: bellissima la progress bar, usata con successo nelle mie ultime realizzazioni!


Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2778 Messaggi

Inserito il - 24 gennaio 2013 : 13:53:08  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Messaggio inserito da arri

per sapere lo stato di avanzamento occorrerebbe inserire una progress bar



Bisogna però sapere in anticipo il numero delle iterazioni....
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 gennaio 2013 : 14:59:40  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Infatti va bene su repeat e foreach, in cui ho un numero ben determinato di iterazioni. Con la funzione while la progress bar funziona comunque, anche se la percentuale ottenuta è piuttosto aleatoria.
Torna all'inizio della Pagina
Pagina: di 2 Discussione Precedente Discussione Discussione Successiva  
Pagina Precedente
 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 2,3 secondi.