Main menu

Search
Login
Signup
Links
<< Previous thread | Next thread >>   
[Spostato] Concatenare stringhe

Go to page   <<        >>  
Author Post
LordJim60
Thu 21 Oct 2010 - 10:19

online
Registered Member #33962
Joined: Sat 18 Jul 2009 - 08:45
Location: Roma
Posts: 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.

[ Edited Thu 21 Oct 2010 - 10:20 ]
Back to top
Danix
Thu 21 Oct 2010 - 11:46

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12926
LordJim60 wrote ...

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.
Back to top
Website
Costa28
Thu 21 Oct 2010 - 18:12
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 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ù

[ Edited Thu 21 Oct 2010 - 18:21 ]
Back to top
Costa28
Thu 21 Oct 2010 - 19:05
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 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.
Back to top
Costa28
Thu 21 Oct 2010 - 19:29
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 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)




[ Edited Thu 21 Oct 2010 - 19:38 ]
Back to top
LordJim60
Thu 21 Oct 2010 - 19:47

online
Registered Member #33962
Joined: Sat 18 Jul 2009 - 08:45
Location: Roma
Posts: 1147
Costa28 wrote ...

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|\\"



[ Edited Thu 21 Oct 2010 - 19:51 ]
Back to top
Energy
Thu 21 Oct 2010 - 21:42

online

Registered Member #1118
Joined: Fri 26 Jan 2007 - 12:09
Location: Treviso
Posts: 1093
Costa28 wrote ...

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"|\\'

Back to top
Costa28
Thu 21 Oct 2010 - 23:06
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64
LordJim60 wrote ...

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 wrote ...

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.....
Back to top
Energy
Thu 21 Oct 2010 - 23:59

online

Registered Member #1118
Joined: Fri 26 Jan 2007 - 12:09
Location: Treviso
Posts: 1093
Costa28 wrote ...

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"'
Back to top
Costa28
Fri 22 Oct 2010 - 08:19
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64
Energy wrote ...

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 wrote ...

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?
Back to top

Go to page   <<        >>  
Moderators: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Jump:     Back to top

Syndicate this thread: rss 0.92 Syndicate this thread: rss 2.0 Syndicate this thread: RDF
Powered by e107 Forum System