Ivo Pereira Posted September 17, 2009 at 09:36 PM Report Share #287525 Posted September 17, 2009 at 09:36 PM Boas pessoal, é o seguinte, precisava de guardar o seguinte registo num Setting: Application.StartupPath & "\screens" (ufolderscreens - nome da setting | PS: tá guardado como String) Guardar, guardo facilmente, agora por exemplo se o for ler com isto: txt_folderscreens.Text = My.Settings.ufolderscreens Vai-me aparecer exactamente o que está acima, não retornando o valor imposto pelo Application.StartupPath. Gostaria de saber o que tenho de alterar para que tal apareça. O tipo como guardo, não sei. Agradeço ajuda 😄 abraço 😛 Link to comment Share on other sites More sharing options...
scorch Posted September 17, 2009 at 09:40 PM Report Share #287528 Posted September 17, 2009 at 09:40 PM Mostra o código. Acho que deve ser assim para funcionar: My.Settings.ufolderscreens = Application.StartupPath & "\screens" PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 17, 2009 at 09:42 PM Author Report Share #287531 Posted September 17, 2009 at 09:42 PM Mostra o código. Acho que deve ser assim para funcionar: My.Settings.ufolderscreens = Application.StartupPath & "\screens" O problema é que provavelmente o valor do ufolderscreens vai ser alterado, por isso não tem lógica estar a pôr isso no código, porque assim sempre que fosse executado ele alteraria o valor. Link to comment Share on other sites More sharing options...
scorch Posted September 17, 2009 at 09:45 PM Report Share #287534 Posted September 17, 2009 at 09:45 PM Então não percebo o que queres. 😛 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Carloz Posted September 17, 2009 at 09:47 PM Report Share #287535 Posted September 17, 2009 at 09:47 PM Também não percebi. Mas não tem nada de mais. Gravas o que queres, e lês o que gravaste. "Rejoice not against me, O mine enemy: when I fall, I shall arise; when I sit in darkness, the LORD shall be a light unto me." - Micah 7:8 (KJV) Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 17, 2009 at 09:48 PM Author Report Share #287537 Posted September 17, 2009 at 09:48 PM Bom, vou-me tentar explicar. Imagina, tens um programa que vai gravar certas imagens por defeito numa pasta, correcto? O programa sempre que iniciar, vai verificar uma Setting, para preencher um campo, onde podes alterar o caminho actual onde vais guardar as imagens (e que nesse campo mostra o actual). Como tal, é preciso que o campo, na primeira vez que inicie, deixe que o valor default seja Application.StartupPath & "\screens", mas posteriormente poder ser alterado. Percebeste agora ? 😛 Link to comment Share on other sites More sharing options...
Guest id194 Posted September 17, 2009 at 09:56 PM Report Share #287542 Posted September 17, 2009 at 09:56 PM Não quero ser chato, mas com a minha biblioteca Easy Settings fazes isso facilmente 😛 Link to comment Share on other sites More sharing options...
Carloz Posted September 17, 2009 at 09:56 PM Report Share #287543 Posted September 17, 2009 at 09:56 PM Hmm...se queres um valor Default, então podes criá-lo quando crias o setting, nas propriedades da aplicação. Se reparares existe uma caixa de texto na tabela dos settings...são os valores Default. Uma vez alterado o setting, é criado um ficheiro de configuração com os novos settings e o valor Default vai à vida. "Rejoice not against me, O mine enemy: when I fall, I shall arise; when I sit in darkness, the LORD shall be a light unto me." - Micah 7:8 (KJV) Link to comment Share on other sites More sharing options...
ribeiro55 Posted September 17, 2009 at 09:58 PM Report Share #287545 Posted September 17, 2009 at 09:58 PM Eu acho que percebi. Tu estás literalmente a meter Application.StartupPath & "\screens" na setting não estás? Em primeiro lugar, podes fazer o que pretendes, deixando a setting vazia bastando depois fazeres um teste no arranque do tipo: If My.Settings.ufolderscreens=String.Empty Then txt_folderscreens.Text = My.Application.StartupPath & "\screens" Else txt_folderscreens.Text = My.Settings.ufolderscreens End If A lógica é empregar o caminho "default" caso a setting não contenha valor. Depois de lhe ser atribuído um valor, já não volta para a "default". Em segundo lugar, quando dizes que determinada cadeia de caracteres são uma String, não é efectuado qualquer parsing no que está entre as aspas. Uma String que contenha Application.StartupPath & "\screens" tem a mesma validade que teres uma label com o texto Application.StartupPath & "\screens"... É texto. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 17, 2009 at 10:01 PM Author Report Share #287546 Posted September 17, 2009 at 10:01 PM Hmm...se queres um valor Default, então podes criá-lo quando crias o setting, nas propriedades da aplicação. Se reparares existe uma caixa de texto na tabela dos settings...são os valores Default. Uma vez alterado o setting, é criado um ficheiro de configuração com os novos settings e o valor Default vai à vida. A minha pergunta não era bem essa 😄 porque é exatamente isso que eu tenho, o problema é que como o que tenho lá dentro é Application.StartupPath & "/screens", no código, se eu for ler a setting que o contém, vai-me ler como string, e não me vai retornar o startuppath. ribeiro55, chegaste lá 🙂 vou experimentar como disseste, mas sim é essa a lógica 😛 já digo algo. Link to comment Share on other sites More sharing options...
Carloz Posted September 17, 2009 at 10:02 PM Report Share #287547 Posted September 17, 2009 at 10:02 PM Eu acho que percebi. Tu estás literalmente a meter Application.StartupPath & "\screens" na setting não estás? Agora já percebi o problema. A sugestão do ribeiro55 é uma boa sugestão e talvez a ideal, uma vez que previne que sempre que não seja encontrado o ficheiro de configuração a aplicação tenha sempre um path default para escolher. "Rejoice not against me, O mine enemy: when I fall, I shall arise; when I sit in darkness, the LORD shall be a light unto me." - Micah 7:8 (KJV) Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 17, 2009 at 10:05 PM Author Report Share #287548 Posted September 17, 2009 at 10:05 PM Agora já percebi o problema. A sugestão do ribeiro55 é uma boa sugestão e talvez a ideal, uma vez que previne que sempre que não seja encontrado o ficheiro de configuração a aplicação tenha sempre um path default para escolher. Ok, funcionou às mil maravilhas 😛 fiquei com o código assim: If My.Settings.uscreensfolder = String.Empty Then txt_folderscreens.Text = Application.StartupPath & "\screens" My.Settings.uscreensfolder = Application.StartupPath & "\screens" Else txt_folderscreens.Text = My.Settings.uscreensfolder End If Abraço e obrigado 😄 Link to comment Share on other sites More sharing options...
ribeiro55 Posted September 17, 2009 at 10:06 PM Report Share #287549 Posted September 17, 2009 at 10:06 PM E mais. Deverias, no arranque, determinar se esse caminho ainda se encontra válido. FileIO.FileSystem.DirectoryExists(caminho) devolve-te um boolean. BTW, marca o tópico como solved. Não se esqueçam! Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 17, 2009 at 10:18 PM Author Report Share #287553 Posted September 17, 2009 at 10:18 PM FileIO.FileSystem.DirectoryExists(caminho) devolve-te um boolean. Acrescentado 😛 BTW, marca o tópico como solved. Não se esqueçam! Já tinha marcado 😄 Link to comment Share on other sites More sharing options...
Guest id194 Posted September 18, 2009 at 12:06 PM Report Share #287598 Posted September 18, 2009 at 12:06 PM Tanto código para uma cena tão simples :X Link to comment Share on other sites More sharing options...
Ivo Pereira Posted September 18, 2009 at 02:50 PM Author Report Share #287616 Posted September 18, 2009 at 02:50 PM Tanto código para uma cena tão simples :X Arranjas código mais simples e limpo? 😛 Link to comment Share on other sites More sharing options...
Carloz Posted September 18, 2009 at 03:04 PM Report Share #287621 Posted September 18, 2009 at 03:04 PM Tanto código para uma cena tão simples :X Então? O que recomendas? "Rejoice not against me, O mine enemy: when I fall, I shall arise; when I sit in darkness, the LORD shall be a light unto me." - Micah 7:8 (KJV) Link to comment Share on other sites More sharing options...
Guest id194 Posted September 18, 2009 at 03:57 PM Report Share #287633 Posted September 18, 2009 at 03:57 PM Arranjas código mais simples e limpo? 😛 Isso é subjectivo... Mas na minha opinião, a minha biblioteca permite um código muito mais limpo e simples de ler do que utilizar esses ifs para cada setting. Claro, que se só tens de fazer isso uma vez, tudo bem, mas pessoalmente continuo a preferir a minha solução que acho muito melhor organizada. @MilitisChristus Lê uns posts atrás... Link to comment Share on other sites More sharing options...
Carloz Posted September 18, 2009 at 04:10 PM Report Share #287637 Posted September 18, 2009 at 04:10 PM Isso é subjectivo... Mas na minha opinião, a minha biblioteca permite um código muito mais limpo e simples de ler do que utilizar esses ifs para cada setting. Claro, que se só tens de fazer isso uma vez, tudo bem, mas pessoalmente continuo a preferir a minha solução que acho muito melhor organizada. @MilitisChristus Lê uns posts atrás... Eu estava a par do tópico. Mas no fundo a tua biblioteca faz o que foi feito aqui...o código está lá na mesma. É só por uma questão de organização e clareza. Cumps "Rejoice not against me, O mine enemy: when I fall, I shall arise; when I sit in darkness, the LORD shall be a light unto me." - Micah 7:8 (KJV) Link to comment Share on other sites More sharing options...
Guest id194 Posted September 18, 2009 at 04:11 PM Report Share #287639 Posted September 18, 2009 at 04:11 PM Mas foi precisamente isso que eu critiquei. Eu nunca disse que a minha biblioteca fazia mais, apenas que fazia com código mais limpo e mais simples. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now