Menù Principale

Cerca
Login
Registrati
Link
<< Discussione precedente | Discussione successiva >>   
[Spostato] Concatenare stringhe

Vai a pagina   <<        >>  
Autore Messaggio
LordJim60
gio 21 ott 2010 - 10:19

online
Utente registrato #33962
Registrato il: sab 18 lug 2009 - 08:45
Provenienza: Roma
Messaggi: 1147
Ho dato un okkiata al codice di WriteToReg, altra soluzione è quella di non applicare le regole di sostituzione per il carattere \ e fare a mano, magari preelaborando prima variabili con i backslash, es:

[Environment]
DocDoubled = $Doc$|\\

[WriteToReg=$Home$\$AppName$\HKCU.reg]
MainKey=HKEY_CURRENT_USER\Software\AWSoftware\EAC
Compression Options|"ExternalEncoderOptions"=--best -V --tag-from-file=\"CUESHEET=%DocDoubled%\\cuesheet.cue\"  --cuesheet=\"%DocDoubled%\\cuesheet.cue\" --picture=\"%DocDoubled%\\spot.jpg\" %s -o %d|"


Così funziona.

[ Modificato gio 21 ott 2010 - 10:20 ]
Torna ad inizio pagina
Danix
gio 21 ott 2010 - 11:46

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 12956
LordJim60 ha scritto ...

magari preelaborando prima variabili con i backslash, es:

Infatti:

[Environment]
CUESHEET=$Doc$\cuesheet.cue|\\
SPOT=$Doc$\spot.jpg|\\ 


Viene scritto sia così che nel modo che ho indicato nel post precedente. Inoltre le variabili vengono espanse, con la differenza che in questo caso la stringa appare senza apici iniziali e finali.
Torna ad inizio pagina
Sito Web
Costa28
gio 21 ott 2010 - 18:12
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Allora.... innanzitutto grazie per il vostro interessamento alla problematica !!!

E scusate il ritardo nelle risposte ma oggi ero fuori sede.

Ma poi mi domando... ma le "mie" discussioni sono sempre così lunghe ???!!!

Cattive notizie all'orizzonte... non funzionano le soluzioni da voi date..

Andiamo per gradi....

Campo addional command-lines options vuoto.

[Environment]
APPOGGIO=$Doc$|\\


[Functions]

[WriteToReg=$Temp$\ResetPercorsi.reg]
Compression Options|"ExternalEncoderOptions"=--best -V --tag-from-file=\"CUESHEET=%APPOGGIO%\\cuesheet.cue\" |"



Funziona...


Ma se io aggiungo:



[Functions]

[WriteToReg=$Temp$\ResetPercorsi.reg]
Compression Options|"ExternalEncoderOptions"=--best -V --tag-from-file=\"CUESHEET=%APPOGGIO%\\cuesheet.cue\" --cuesheet=\"%APPOGGIO%\\cuesheet.cue\"|"


Non funziona più

[ Modificato gio 21 ott 2010 - 18:21 ]
Torna ad inizio pagina
Costa28
gio 21 ott 2010 - 19:05
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
FERMI TUTTIIIIII!!!!

Trovato l'inghippo....

Spoiler:


Grazie dell'aiuto che mi avete dato.

Approfitto per segnalare a danix questa situazione:
Compression Options|"ExternalEncoderProgram"=..\..\CODECS AUDIO\Flac\bin\flac.exe|\\"


Se non è possibile salire di due rami di cartelle la procedura si blocca senza aprire il progr e senza dare alcun messaggio di errore.
Vedi un po' se è possibile gestire l'errore.
Torna ad inizio pagina
Costa28
gio 21 ott 2010 - 19:29
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Continuo in questa discussione visto che l'ini è noto ... casomai la tagliate e la spostate..

Ora che la mente è più fresca e viste le "critiche" di cui sopra ho provato a verificare il mio assunto di tempi immemori:

[RunBefore]

RegEdit=$Home$\$AppName$\HKCU.reg
RunFile= regedit.exe -s "$Temp$\ResetPercorsi.reg"



Così funziona.

[RunBefore]

RegEdit=$Home$\$AppName$\HKCU.reg|$Temp$\ResetPercorsi.reg


Così no (ResetPercorsi non viene caricato)

[RunBefore]

RegEdit=$Home$\$AppName$\HKCU.reg
RegEdit=$Temp$\ResetPercorsi.reg


Così no (ResetPercorsi non viene caricato)




[ Modificato gio 21 ott 2010 - 19:38 ]
Torna ad inizio pagina
LordJim60
gio 21 ott 2010 - 19:47

online
Utente registrato #33962
Registrato il: sab 18 lug 2009 - 08:45
Provenienza: Roma
Messaggi: 1147
Costa28 ha scritto ...

Approfitto per segnalare a danix questa situazione:
Compression Options|"ExternalEncoderProgram"=..\..\CODECS AUDIO\Flac\bin\flac.exe|\\"


Se non è possibile salire di due rami di cartelle la procedura si blocca senza aprire il progr e senza dare alcun messaggio di errore.
Vedi un po' se è possibile gestire l'errore.

si questo l'ho verificato anche io, nel mio caso lanciando lo script sotto radice il launcher, prima di scrivere il valore nel file .reg, tenta di espandere il doppio percorso relativo, ovviamente non ci riesce e si suicida dalla vergogna senza dire nulla e senza eseguire il programma.
comunque nel caso specifico è sempre meglio un istruzione del tipo:
Compression Options|"ExternalEncoderProgram"=$Bin$\$AppName$\CODECS AUDIO\Flac\bin\flac.exe|\\"



[ Modificato gio 21 ott 2010 - 19:51 ]
Torna ad inizio pagina
Energy
gio 21 ott 2010 - 21:42

online

Utente registrato #1118
Registrato il: ven 26 gen 2007 - 12:09
Provenienza: Treviso
Messaggi: 1093
Costa28 ha scritto ...

Approfitto per segnalare a danix questa situazione:
Compression Options|"ExternalEncoderProgram"=..\..\CODECS AUDIO\Flac\bin\flac.exe|\\"


Se non è possibile salire di due rami di cartelle la procedura si blocca senza aprire il progr e senza dare alcun messaggio di errore.
Vedi un po' se è possibile gestire l'errore.

Il launcher tenta di risolvere i percorsi relativi rispetto a $Root, cioè rispetto alla cartella principale di winpenpack e non del programma.
Nel caso descritto quindi trova un errore e si ferma, il path potrebbe essere quello per la rimozione di una cartella o altra operazione pericolosa che non è il caso di eseguire a caso.

Se non desideri che venga risolto basta quotarlo:

Compression Options|"ExternalEncoderProgram"="..\..\CODECS AUDIO\Flac\bin\flac.exe"|\\


oppure per più sicurezza:

Compression Options|"ExternalEncoderProgram"='"..\..\CODECS AUDIO\Flac\bin\flac.exe"|\\'

Torna ad inizio pagina
Costa28
gio 21 ott 2010 - 23:06
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
LordJim60 ha scritto ...

comunque nel caso specifico è sempre meglio un istruzione del tipo:
Compression Options|"ExternalEncoderProgram"=$Bin$\$AppName$\CODECS AUDIO\Flac\bin\flac.exe|\\"



No... perchè devo salire di due "piani" rispetto alla $Root$.
Il mio pennino è organizzato così. Sorry.

La mia era solamente una segnalazione per rendere + user friendly il programma in una futura versione.

Energy ha scritto ...

Se non desideri che venga risolto basta quotarlo:

Compression Options|"ExternalEncoderProgram"="..\..\CODECS AUDIO\Flac\bin\flac.exe"|\\


oppure per più sicurezza:

Compression Options|"ExternalEncoderProgram"='"..\..\CODECS AUDIO\Flac\bin\flac.exe"|\\'



Questa non l'ho proprio capita (ma è sempre un problema mio)
1) perchè dovrei scrivere del codice per poi non desiderare che vengano risolit (gli errori?)
2) gli apici nella versione + sicura servono a.....
Torna ad inizio pagina
Energy
gio 21 ott 2010 - 23:59

online

Utente registrato #1118
Registrato il: ven 26 gen 2007 - 12:09
Provenienza: Treviso
Messaggi: 1093
Costa28 ha scritto ...

Questa non l'ho proprio capita (ma è sempre un problema mio)
1) perchè dovrei scrivere del codice per poi non desiderare che vengano risolito (gli errori?)

Non viene convertito in path assoluto.
Pensavo volessi inserire nel registro un path relativo, che poi (forse) l'applicazione lo considera relativo a se stessa e non a $Root

2) gli apici nella versione + sicura servono a.....

In quel caso non c'è differenza, ma in questo si:
Compression Options|"ExternalEncoderProgram"="..\..\CODECS AUDIO\Flac\bin\flac.exe"

La quotatura durante la lettura del file ini sparirebbe.
Quindi per essere sicuri che la quotatura resti in tutti i casi meglio così: (ovviamente se non vuoi che venga convertito in path assoluto)
Compression Options|"ExternalEncoderProgram"='"..\..\CODECS AUDIO\Flac\bin\flac.exe"'
Torna ad inizio pagina
Costa28
ven 22 ott 2010 - 08:19
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Energy ha scritto ...

Pensavo volessi inserire nel registro un path relativo, che poi (forse) l'applicazione lo considera relativo a se stessa e non a $Root


Ecco... non mi tornavano i conti.... il path è relativo a $ExeDir$

Energy ha scritto ...

La quotatura durante la lettura del file ini sparirebbe.
Quindi per essere sicuri che la quotatura resti in tutti i casi meglio così: (ovviamente se non vuoi che venga convertito in path assoluto)
Compression Options|"ExternalEncoderProgram"='"..\..\CODECS AUDIO\Flac\bin\flac.exe"'



Quindi l'apice singolo serve a dichiarare come stringa quanto in esso contenuto?
Torna ad inizio pagina

Vai a pagina   <<        >>  
Moderatori: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Salta:     Torna ad inizio pagina

RSS discussione: rss 0.92 RSS discussione: rss 2.0 RSS discussione: RDF
Powered by e107 Forum System