Andrea993 Pubblicato: 12 Luglio 2011 Segnalazione Share Pubblicato: 12 Luglio 2011 (modificato) COOKME v2 Ho finalmente finito di laovorare al progetto Cookme v2. Cookme per chi non lo sapesse è un programma che automatizza il cooking dei firmware dando la possibilità all'utente di scegliere ciò che più gli interessa tra una lista di patch (mod). Utilizzando Cookme l'utente non deve per forza conoscere la struttura di un symbian, gli basta leggere la guida del programma. Con Cookme v2 ognuno può creare nuove patch e condividerle con tutto il mondo grazie a una condivisione accessibile dal programma appositamente creata. Inoltre la condivisione mi permetterà di mantenere gli utenti sempre alll'erta su eventuali aggiornamenti. Le patch di Cookme v2 si creano in modo leggermente differente alle patch di Cookme v1, ho integrato anche alcuni strumenti per facilitarne la creazione. Siccome le patch non le ho create tutte io, non ho avuto la possibilità di testarle tutte, sopratutto sui firmware più aggiornati è possibile che riscontriate qualche problema che, se segnalatomi correggerò. Cookme v2, insieme a moltri altri fix separa anche le patch a seconda del modello di cellulare. NON MI ASSUMO ALCUNA RESPONSABILITA' A PROPOSITO DEI DANNI CHE IL PROGRAMMA PUO ARRECARVI, USATELO A VOSTRO RISCHIO E PERICOLO La guida completa che DOVETE leggere la torvate all'interno dell' archivio. All' interno dell' archivi otroverete anche spiegato come creare i 3 tipi di patch: "A cartella", "programmate" e "programmate speciali". Cookme v2 è multilingua per cui con il tempo lo distribuirò su alcuni forum, da dove la gente potrà scaricarlo e condividere patch o altro per Cookme. Dovuti ringraziamenti ad XCape e ad autoradio78 per l'aiuto e la collaborazione DOWNLOAD COOKME V2.0.2 AGGIORNAMENTO A COOKME v2.1.0 Questa nuova versione oltre a qualche fix funziona come plugin per NokiaCooker (by il.Socio) Benchè NokiaCooker non sia direttamente supportato è possibile comunque utilizzare Cookme con esso, anzi usare insieme questi due programmi diventa la cosa più saggia. Estraete l'archivio in una cartella, poi da NokiaCooker andate su plugin e inseriteci Cookme, a tutto il resto ci penserà lui. Ho inserito la patch "installserver s60v3" grazie alla quale sarà possibile anche fare l'hack alle UDA degli S60v3 che non hanno le rofs protette (tipo n95). Se avete uno di questi modelli estraete con NokiaCooker l'UDA e poi con Cookme applicate SOLO la patch "installserver s60v3" Usando Cookme come plugin per NokiaCooker sarete parecchio agevolati, visto che farà tutto da solo, dovete solo spuntare le patch che vi interessano DOWNLOAD COOKME V2.1.0 Modificato 21 Luglio 2011 da Andrea993 2 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 13 Luglio 2011 Segnalazione Share Pubblicato: 13 Luglio 2011 (modificato) Ho provato a lanciarlo e selezionare la cartella in cui e' stato estratto il fw, ma ottengo sempre il messaggio "Hai selezionato una cartella sbagliata o inesistente" Questa e' la cartella in cui e' stato estatto il fw: C:\Users\Root\Desktop\NokiaCooker_1.1\Files\ EDIT: Inoltre, ti segnalo che e' con una semplice modifica a CookMe2, puoi evitare che l'utente debba selezionare manualmente questa cartella quando il programma viene lanciato come plugin di NokiaCooker. E' sufficiente che dal programma leggi i parametri della command line che gli vengono passati... tra cui e' presente il path in cui e' stato estratto il fw. Che linguaggio hai utilizzato per realizzarlo? P.S. Usare NokiaEditor (come suggerito nel tool) per estrarre/ricompattare il fw e' altamente sconsigliato, perche' non e' in grado di reimpacchettare per bene la ROFS... molto meglio NokiaFirmwareEditor oppure NokiaCooker che sono in grado di farlo per bene. Modificato 14 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 14 Luglio 2011 Autore Segnalazione Share Pubblicato: 14 Luglio 2011 Nella guida ho scritto che nokia cooker non è attualmente supportato, questo perchè è l'unico programma che quando estrae un firmware lo mette nella cartella files e non nella cartella rofs2 Potrei rinominare la cartella files in rofs2 per il tempo di esecuzione del programma. Comunque non sapevo che nokia cooker passasse argoenti ai plugin...magari posso fare modificare cookme in modo che si possa lanciare come plug-in. L'ho scritto in C#. Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 14 Luglio 2011 Segnalazione Share Pubblicato: 14 Luglio 2011 (modificato) Nella guida ho scritto che nokia cooker non è attualmente supportato questo perchè è l'unico programma che quando estrae un firmware lo mette nella cartella files e non nella cartella rofs2 Magari sarebbe opportuno menzionarlo anche nel primo post allora, perche' al momento manca , questo perchè è l'unico programma che quando estrae un firmware lo mette nella cartella files e non nella cartella rofs2 E' anche l'unico programma in grado di gestire anche i file UDA, ed avrebbe poco senso estrarre la UDA in una cartella nominata rofs2. Ma in ultima battuta, il path finale in cui finiscono i vari file che sono presenti all'interno del fw dovrebbe essere deltutto trasparente per il tuo tool... sopratutto considerato il fatto che CookMe lo richiede come input... Se e' stato estratto con NokiaCooker, prendera' in input un path tipo: c:\Prova\Files\ Se invece e' stato estratto con NokiaFirmwareEditor prendera' in input un path tipo: c:\Prova\Rofs2\ In entrambi i casi, il tuo programma non dovrebbe aggiungere nessun path di sua iniziativa. Invece, da quel che ho capito, attualmente CookMe prende c:\Prova\ e appende poi \Rofs2\ di sua iniziativa. Il fatto e' che c:\Prova\ non contiene i files che sono stati estratti dal fw... perche' Rofs2 non e' una cartella presente nel fw. Potrei rinominare la cartella files in rofs2 per il tempo di esecuzione del programma. Puo' essere un comodo workaround, per evitare di stravolgere il codice del tuo progetto... A tendere, la cosa migliore e' quella di limitarsi a prendere in input il path in cui si trovano i vari files che sono stati estatti dal firmware... ovvero il tuo programma dovrebbe prendere in input un certo path \XXX\ e sapra' che al suo interno trovera' i vari \sys\ ecc... \XXX\sys\ \XXX\private\ \XXX\resource\ Comunque non sapevo che nokia cooker passasse argoenti ai plugin...magari posso fare modificare cookme in modo che si possa lanciare come plug-in. L'ho scritto in C#. Dentro la cartella di "\NokiaCooker\TestPlugins\" troverai i sorgenti di un progettino gia' pronto in C# che puoi utilizzare direttamente per gestire in maniera opportuna i parametri che ti vengono passati da NokiaCooker... Ti riporto qui il Program.cs modificato (preso dai sorgenti di TestPlugin): [sTAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(args)); } Ed il codice di costruzione del Form (preso dai sorgenti di TestPlugin): public Form1(string[] args) { InitializeComponent(); if (args.Length < 4) { // Launched directly by user return; } // Launched through Nokia Cooker lblFile.Text = args[0]; lblPath.Text = args[1]; lblFilename.Text = args[2]; lblType.Text = args[3]; } quando args.Length < 4 significa che CookMe e' stato lanciato direttamente dall'utente e quindi dovra' richiedere l'inserimento del path di estrazione... del modello ecc... ecc... In caso contrario, significa che CookMe e' stato inserito come plugin di NokiaCooker, l'utente ha aperto un firmware (UDA / ROFS2 / ROFS3) ed ha poi lanciato CookMe tramite la toolbar di NokiaCooker. CookMe, puo' prendere in input i 4 parametri che vedi nel codice... che sono: 1) nome del file attualmente selezionato (es: c:/nokiacooker/files/resource/versions/customersw.txt) 2) path in cui e' stato estratto il fw (es: c:/nokiacooker/files/) 3) nome del file del firmware aperto (es: RM-596_011.012_U01.01_79.92_prd.uda.fpsx) 4) tipologia del file del firmware aperto (es: UDA, ROFS, CORE, UNKNOWN) Di cui, fondamentalmente, ti interessa il parametro 2) che ti indica in quale path e' stato estratto il fw (cosi' non dovrai richiederlo nuovamente all'utente) Eventualmente, dai parametri 3) e 4) puoi determinare rispettivamente 3) il modello del cellulare (es: RM596 e' il Nokia N8) (vedi spoiler al fondo se ti interessa approfondire questo aspetto) 4) se e' stata aperta una UDA oppure una ROFS Perche' magari alcune mod sono applicabili solo ad N8, oppure alcune sono applicabili solo alla ROFS e non alla UDA e viceversa, cosi' potrai nascondere o disattivare, quelle che sai gia' che non possono essere applicabili. Questa e' la funzione usata da NaviFirm+ per estrarre il codice 596 dal nome del file del fw aperto... es. Input: RM-596_014.002_263_IT_CV.01_79.92_prd es. Output: 596 private string CleanRM(string rmString) { rmString = rmString.ToLower(); rmString = rmString.Replace("rm-", ""); rmString = rmString.Replace("rm", ""); string code = ""; int i = 0; while (i < rmString.Length && rmString[i] >= '0' && rmString[i] <= '9') { code += rmString[i]; i++; } return code; } E qui c'e' il codice che fa uso di questa funzione... string code = CleanRM(args[2]); // args[2] = RM-596_014.002_263_IT_CV.01_79.92_prd // code = 596 if (code.Length > 0) { // TODO: 596 --> N8 } Modificato 14 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 14 Luglio 2011 Autore Segnalazione Share Pubblicato: 14 Luglio 2011 Invece, da quel che ho capito, attualmente CookMe prende c:\Prova\ e appende poi \Rofs2\ di sua iniziativa.Il fatto e' che c:\Prova\ non contiene i files che sono stati estratti dal fw... perche' Rofs2 non e' una cartella presente nel fw. Inizialmente CookMe(la prima versione) l'avevo scritto quando esisteva solo nokia editor beta, vedendo la cartella "rofs2" avevo immaginato che a breva, appena il core sarebbe stato supportato, ci sarebbe stata una nuova cartella "core" o qualcosa di simile, per questo il programma di sua iniziativa va nella cartella "rofs2", così facendo quando il core sarebbe stato supportato non avrei neanche dovuto modificare il programma per renderlo compatibile. Purtroppo così non è successo, e per risistemare la cosa bisognerebbe modificare tutte le patch, molte delle quali non fatte da me, per cui ormai preferisco lasciare tutto così com'è. A mio avviso l'accoppiata NokiaCooker-CookMe è un ottima idea, anche gli utenti si sentirebbero più a loro agio, semplificherebbe moltissimo il cooking. Appena avrò tempo vedrò di rendere concreta la cosa. Input: RM-596_014.002_263_IT_CV.01_79.92_prd rmString = rmString.Replace("rm-", ""); rmString = rmString.Replace("rm", ""); Perchè farlo due volte? "rm" appare una sola volta Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 14 Luglio 2011 Segnalazione Share Pubblicato: 14 Luglio 2011 (modificato) Perchè farlo due volte? "rm" appare una sola volta Perche' il nome del file potrebbe iniziare con "RM-596" oppure con "RM596" Qui due esempi reali: 1) RM-596_011.012_U01.01_79.92_prd.uda.fpsx 2) RM588_50.6.001_000_000_U001.uda.fpsx Per poter gestire entrambi i casi in maniera corretta, e' necessario prima provare a rimuovere "rm-" e poi provare a rimuovere "rm" Altrimenti, non si riuscirebbe a ripulire per bene il nome del file... ma se hai qualche idea alternativa, postala pure che ne discutiamo insieme! Modificato 14 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 14 Luglio 2011 Autore Segnalazione Share Pubblicato: 14 Luglio 2011 Ah ok, non sapevo che ci fossero file tipo questo "RM588_50.6.001_000_000_U001.uda.fpsx", non ci avevo mai fatto caso. Comunque appena avrò tempo darò un occhiata più approfondita al materiale che mi hai fornito e vedrò di rendere compatibile CookMe Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 15 Luglio 2011 Autore Segnalazione Share Pubblicato: 15 Luglio 2011 (modificato) Sto provando a trasformare CookMe v2 in un plug-in per NokiaCooker ma ho un problema: NokiaCooker mi inibisce il debug e quindi non riesco a debuggare CookMe una volta aperto da NokiaCooker; Idee? Modificato 15 Luglio 2011 da Andrea993 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 15 Luglio 2011 Segnalazione Share Pubblicato: 15 Luglio 2011 (modificato) Sto provando a trasformare CookMe v2 in un plug-in per NokiaCooker ma un paio di problemi mi bloccano: -NokiaCooker mi inibisce il debug e quindi non riesco a debuggare CookMe una volta aperto da NokiaCooker; -Non riesco a rinominare la cartella "files" in "rofs2", perchè gia in uso da NokiaCooker. Idee? Per quanto riguarda il debug... Puoi lanciarlo tu a mano da visualstudio e "simulare" un ipotetico lancio da parte di NokiaCooker modificando il program.cs in questa maniera: [sTAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if DEBUG args = new string[4]; args[0] = "c:/nokiacooker/files/resource/versions/customersw.txt"; args[1] = "c:/nokiacooker/files/"; args[2] = "RM-596_014.002_01.01_Euro_1_79.92_prd.rofs2.fpsx"; args[3] = "ROFS"; #endif Application.Run(new Form1(args)); } imputando un valore adeguato per il c:/nokiacooker/files/ che dovra' puntare al path in cui sono presenti i file del fw... Una volta che ti sei accertato che cosi' funziona, non dovresti avere nessun problema a farlo funzionare lanciandolo da NokiaCooker. Per il rename della cartella "files" in "rofs2", da quanto ho capito di come funziona CookMe, non credo che tu debba rinominarla per far funzionare il tuo codice... ma piuttosto, dovresti creare la cartella rofs2 dentro alla cartella files e spostarci dentro tutto il contenuto della cartella files... Ovvero, dovresti passare da questa situazione: nokiacooker/files/sys/ nokiacooker/files/private/ a questa: nokiacooker/files/rofs2/sys/ nokiacooker/files/rofs2/private/ e quando viene chiuso CookMe, dovrai fare l'operazione inversa... spostare nuovamente tutto e infine cancellare files/rofs2/ Modificato 15 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 15 Luglio 2011 Autore Segnalazione Share Pubblicato: 15 Luglio 2011 (modificato) Sì, ho risolto, grazie comunque... Rinomino la cartella files in rofs2 e quando il programma viene spento oppure finisice di cucinare rimette le cartelle a posto. Mi dava un errore quando rinominavo perchè mi ero dimenticato di eliminare la vecchia cartella rofs2. Purtroppo l'unico file che sono riuscito a trovare che permette di risalire dall'rm al modello di cellulare è quello di jaf ma ci sono più cellulari con lo stesso rm e poi jaf, vicino al nome del modello a volte scrive altri simboli o parole, percui la scelta dell'opzione "modello" ritengo sia comunque meglio lasciarla fare all'utente. Allego l'eseguibile da sostituire a quello contenuto nell'archivio scaricabile al primo post. Cookme v2.0.3.rar Modificato 15 Luglio 2011 da Andrea993 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 16 Luglio 2011 Segnalazione Share Pubblicato: 16 Luglio 2011 (modificato) ci sono più cellulari con lo stesso rm e poi jaf L'rm, dovrebbe identificare in maniera univoca ciascun modello... forse c'e' qualche incongruenza nella lista di JAF. Qui c'e' la lista aggiornata, completa e pulita (ci sono anche cell non Symbian) di tutti gli RM e modelli, che ho estratto da NaviFirm+ prod.txt RM e modello sono separati dal punto e virgola... eventualmente, puoi rinominarlo in .csv ed aprirlo con Excel se vuoi modificare l'ordinamento o il separatore... Allego l'eseguibile da sostituire a quello contenuto nell'archivio scaricabile al primo post. Puoi modificare tu stesso il primo post per sostituire l'allegato con quello nuovo Modificato 16 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 16 Luglio 2011 Autore Segnalazione Share Pubblicato: 16 Luglio 2011 Grazie, comunque anche nel tuo file lrm 625 identifica 3 modelli Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 16 Luglio 2011 Segnalazione Share Pubblicato: 16 Luglio 2011 (modificato) Ho notato, ma fondamentalmente, non sussite alcun problema... Se RM-625 identifica 3 modelli, significa che quei 3 modelli monteranno necessariamente lo stesso identico firmware (la lista che ti ho postato e' stata estratta proprio da NaviFirm+) Quindi, siccome quei 3 modelli montano lo stesso identico firmware, significa che tutte le varie patch che sono compatibili con uno di quei modelli, risultano compatibili anche con tutti gli altri che hanno lo stesso firmware. Se prendi un Nokia 5233, un Nokia 5232 ed un Nokia 5228, dentro ci troverai lo stesso firmware (quello del RM-625) Modificato 17 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
fullback Pubblicato: 17 Luglio 2011 Segnalazione Share Pubblicato: 17 Luglio 2011 scusate ho fatto tutti i tre passi mi ha scritto firmware cucinato ma non ho capito dove lo è andato a mettere. visto la velocita con cui ha fatto il lavoro no penso che lo abbia scaricato dal cell. in precedenza lo avevo scaricato con nokia editor. per caso mi ha lavorato su quello? grazie Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 17 Luglio 2011 Segnalazione Share Pubblicato: 17 Luglio 2011 (modificato) Siccome le patch non le ho create tutte io, non ho avuto la possibilità di testarle tutte, sopratutto sui firmware più aggiornati è possibile che riscontriate qualche problema che, se segnalatomi correggerò. Guardando i credits delle varie patch, ho notato che gli autori che vengono riportati non sono quelli di chi ha realizzato le patch in primo luogo, ma a quanto pare, di chi si e' occupato di inserirla dentro CookMe. IMHO, sarebbe corretto evitare quel "by xxx" di riferimento a ciascuna patch, perche' chi legge, potrebbe pensare che il lavoro di creazione della patch e' completamente frutto di tal xxx, mentre cosi' non e'... E siccome creare la patch puo' rappresentare una gran parte del lavoro, mentre integrarla in CookMe e' una attivita' relativamente poco dispendiosa, mi sembra quantomeno ingiusto nei confronti degli autori originali delle patch. Modificato 17 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 18 Luglio 2011 Autore Segnalazione Share Pubblicato: 18 Luglio 2011 Prima devi estrarre il firmware con Nokia editor o con nfe. Estratto il firmware usi cookme Poi una volta cucinato con il nokia editor o nfe puoifare il repack @il.socio Con autore si intende chi ha inserito la patch in cookme, visto che si parla di patch. L'autore non riguarda l'autore della mod ma solamente della patch. Non credo possa essere ingiusto, perchè comunque quelle mod le trovi in tutti i forum senza riferimenti all'autore. Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 18 Luglio 2011 Segnalazione Share Pubblicato: 18 Luglio 2011 (modificato) L'autore non riguarda l'autore della mod ma solamente della patch. Si, questo lo avevo capito, ma dal programma non e' chiara questa distinzione... E chi lo usa, e' portato a pensare che quella mod sia completamente opera del tizio che viene citato. Non credo possa essere ingiusto, perchè comunque quelle mod le trovi in tutti i forum senza riferimenti all'autore. Per alcune di quelle mod non compaiono i riferimenti all'autore perche' si tratta semplicemente di modifiche ad impostazioni di default (CenRep) che sono facilmente riproducibili da chiunque. Qui c'e' una parte della documentazione del caso: http://sites.google.com/site/i8910wizard/calendar/the-vmp-of-the-game basta selezionare il file che si desidera (es: http://sites.google.com/site/i8910wizard/calendar/the-vmp-of-the-game/10200c8c-txt ) per avere una descrizione dei relativi parametri e dei valori di default. Chiunque puo' attingere a quel sito, prendere il file .txt modificare i valori di default e creare cosi' una determinata mod del CenRep. Non mi stupisce che spesso chi compie queste modifiche non si qualifichi come autore, perche' in fin dei conti, l'aspetto piu' rilevante e' conoscere con esattezza il significato delle varie chiavi... non e' il saper usare blocco note per modificarle. Per altre mod piu' sostanziose, invece, il riferimento all'autore viene giustamente riportato. Almeno, questo e' quello che accade in tutti i forum di un certo livello... Modificato 18 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 18 Luglio 2011 Autore Segnalazione Share Pubblicato: 18 Luglio 2011 Allora basterà semplicemente scvrivere "patch autor" e non "by" comunque il sito lo conoscevo già è concordo con te sul fatto che è inutile ritenersi autori di modifiche al cenrep. Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 19 Luglio 2011 Segnalazione Share Pubblicato: 19 Luglio 2011 (modificato) Gia' andrebbe molto meglio dell'attuale Occhio pero' che se hai intenzione di distribuirlo sui forum stranieri, potrebbero sollevare qualche lamentela in entrambi i casi... ma per evitarlo, credo ti bastera' scrivere una piccola nota nel post di presentazione del programma in cui spiegare che per "patch author" si intende colui che ha integrato la mod all'interno di CookMe e via... Modificato 19 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 19 Luglio 2011 Autore Segnalazione Share Pubblicato: 19 Luglio 2011 Ok grazie mille, farò così allora. Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 19 Luglio 2011 Segnalazione Share Pubblicato: 19 Luglio 2011 (modificato) Lo considero un ottimo strumento, ed ho ritenuto giusto premiare il lavoro con una piccola donazione, spero che continuerai a svilupparlo! Modificato 19 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 19 Luglio 2011 Autore Segnalazione Share Pubblicato: 19 Luglio 2011 Grazie mille marco Su NokiaCooker se il firmware non è stato estratto qual'è il 3o argomento che rilascia (firmware filename)? Ho provato ad identificarlo con "" ma non funziona Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 19 Luglio 2011 Segnalazione Share Pubblicato: 19 Luglio 2011 (modificato) Hai ragione... ho trascurato di specificare questo aspetto... e' uno spazio, ovvero " " Nella prossima versione, modifichero' il plugin di esempio per tenere conto di questa eccezione... Puoi risolverla con un Trim(), cosi sei anche sicuro che i vari parametri non contengono spazi inutili all'inizio o alla fine. lblFile.Text = args[0].Trim(); lblPath.Text = args[1].Trim(); lblFilename.Text = args[2].Trim(); lblType.Text = args[3].Trim(); if (lblFilename.Text == string.Empty) { MessageBox.Show("non e' ancora stato aperto nessun file del fw"); } Modificato 19 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 19 Luglio 2011 Segnalazione Share Pubblicato: 19 Luglio 2011 (modificato) Ti allego qui una piccola funzione che puoi usare per trasformare "RM-596" in "Nokia N8", leggendo la lista Prod.txt private string RmCodeToModel(string rm) { rm = "rm-" + rm.Trim(); // 596 --> rm-596 string[] lines = File.ReadAllLines("prod.txt"); foreach (string line in lines) { string[] fields = line.Split(';'); System.Diagnostics.Debug.Assert(fields.Length >= 2, "Prod.txt: invalid format!"); if (fields[0].Trim().ToLower() == rm) { // "rm-596" found, returns the model "Nokia N8" return fields[1]; } } // "rm-596" not found return string.Empty; } E la richiamerai cosi'... string code = CleanRM(args[2]); // args[2] = RM-596_014.002_263_IT_CV.01_79.92_prd // code = 596 if (code.Length > 0) { // 596 --> Nokia N8 string model = RmCodeToModel(code); } Quindi, fondamentalmente, partendo dal parametro di input: "RM-596_014.002_263_IT_CV.01_79.92_prd" arrivi a determinare il modello: "Nokia N8" (o i modelli "Nokia 5233 / Nokia 5232 / Nokia 5228") Modificato 19 Luglio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Andrea993 Pubblicato: 19 Luglio 2011 Autore Segnalazione Share Pubblicato: 19 Luglio 2011 (modificato) Grazie mille per la funzione ma l'ho già scritta...scusa se non ti ho avvisato prima e ti ho fatto perdere tempo. rmString = VariabiliGlobali.Globals.argomenti[2]; rmString = rmString.ToLower(); rmString = rmString.Replace("rm-", ""); rmString = rmString.Replace("rm", ""); string code = ""; i = 0; while (i < rmString.Length && rmString[i] >= '0' && rmString[i] <= '9') { code += rmString[i]; i++; } code = "RM-" + code; StreamReader reader = new StreamReader(Directory.GetCurrentDirectory() + @"\other\models\prod.txt"); ncmodel = ""; while (!reader.EndOfStream && ncmodel == "") { linealetta = reader.ReadLine(); linealetta = linealetta.ToUpper(); if (linealetta.Substring(0, code.Length) == code) rmgiusto = true; else rmgiusto = false; if (rmgiusto) { linealetta = linealetta.Remove(0, code.Length + 7); i = 0; while (i < linealetta.Length) { if (linealetta[i] != ' ' && linealetta[i] != '/') { ncmodel += linealetta[i]; i++; } else break; } } } Come puoi vedere ho usato la tua funzione per leggere l'rm. Adesso CookMe nella versione 2.1.0 si integra alla perfezione con NokiaCooker, presto rilasceò la versione con anche la correzione "Patch author" Modificato 19 Luglio 2011 da Andrea993 Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora