Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Graymalkin

    Duvida Listas

    Na lista não, mas ao transformá-la em String você pode fazer isso: >>> lista = [1, 2, 3, 4, 5] >>> print str(lista).replace(',', '/').replace(' ', '') [1/2/3/4/5] Abraços!
  2. Na primeira thread, o que você usa para verificar e aceitar os novos clientes? O método Pending()? Ou você usa o AcceptTcpClient() diretamente? Com o código seria mais fácil pra tentar te ajudar. Abraços!
  3. Graymalkin

    Busca em lista

    E também dá pra fazer assim: lista = ["teste", "outro", "mais", "um", "teste"] print len([x for x in lista if x=="teste"]) Abraços!
  4. Acredito que o problema ali é que o parêntese está na posição errada (deveria estar no final): api.send_direct_message(user_id=i.from_user,text="message text here") Certo? Abraços!
  5. Na verdade nunca usei uma impressora com guilhotina, mas pelo que li é semelhante aos comandos que usava antigamente nas impressoras matriciais para ejetar a folha, imprimir comprimido, expandido, etc. Experimente alterar a linha seguinte e veja se tem algum efeito: s1 = mvImpressaoTexto & chr(27) & chr(119) Antigamente nas impressoras matriciais, você abria a porta dela (LPT1, por exemplo), como se fosse um arquivo e "escrevia" nesse arquivo o que você queria imprimir, podendo inserir caracteres especiais para determinados comandos. Abraços!
  6. Sim, você pode fazer isso criando um novo bitmap com o tamanho desejado (primeira linha do código abaixo, criando um bitmap de 150x150px): Dim img As Bitmap = New Bitmap(My.Resources.imagem, New Size(150, 150)) Dim memStream As New IO.MemoryStream() img.Save(memStream, Imaging.ImageFormat.Png) Dim bytes() As Byte = memStream.ToArray() Dim sImg As String = BitConverter.ToString(bytes, 0).Replace("-", String.Empty) Dim larg As Integer = 100 Dim alt As Integer = 100 Dim cImg As String = "{\pict\pngblip\picw" & img.Width.ToString() & "\pich" & img.Height.ToString() & "\picwgoa" & img.Width.ToString() & "\pichgoa" & img.Height.ToString() & "\hex " & sImg & "}" fileReader = fileReader.Replace("<foto_pessoa>", cImg) Repare também que corrigi a linha que cria o código RTF, porque tinha um Width e Height ali que não tinha reparado (que vinham da declaração da função, e agora são os mesmos da imagem). Abraços!
  7. Que eu saiba não tem como. Já tive esse problema também, ao gerar planilhas a partir do meu sistema e ao mesmo tempo estar editando outras. Se for possível, ao invés de copiar e colar, você poderia fazer o preenchimento da seguinte maneira: Dim valor = plan1.Range("A1").Value plan2.Range("A1").Value = valor Assim fica menos suscetível a erros de copiar/colar, mas realmente depende do que você precisa "copiar e colar" no caso (se por exemplo, houver uma transposição, você precisaria fazê-la manualmente). Se existirem muitas operações desse tipo e com múltiplas planilhas, realmente fica inviável trocar todas. Mas o mais indicado seria orientar o usuário a aguardar o término. Abraços!
  8. Tanto wdOpenFormatAuto quanto wdFormatXMLDocument vem de enumerações que você não terá se não referenciar o objeto do Word nas propriedades do projeto. Caso tenha referenciado, você deve precisar colocar seus nomes completos... Microsoft.Office.Interop.Word.WdOpenFormat.wdOpenFormatAuto Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatXML Ou colocar um Imports no topo: Imports Microsoft.Office.Interop.Word Ou simplesmente trocar por seus respectivos valores (0 e 11), conforme você pode consultar aqui: https://msdn.microsoft.com/en-us/library/office/aa211923(v=office.11).aspx Quanto ao terceiro problema, verifique se o parâmetro está mesmo como ByRef (por referência), pois só assim ele retornará o valor. Abraços!
  9. O que você quer não é tão trivial, pois consiste em transformar a imagem em uma sequência hexadecimal para ser armazenada no arquivo. Se você abrir um documento formatado em RTF no Bloco de Notas (ao invés do WordPad) verá que ele tem códigos que definem a formatação do texto (negrito, itálico, fonte, etc.), semelhante a um arquivo HTML (onde as tags definem isso). Fiz um código baseado neste exemplo (http://stackoverflow.com/questions/1490734/programatically-adding-images-to-rtf-document) e deu certo aqui: Dim img As Bitmap = My.Resources.imagem Dim memStream As New IO.MemoryStream() img.Save(memStream, Imaging.ImageFormat.Png) Dim bytes() As Byte = memStream.ToArray() Dim sImg As String = BitConverter.ToString(bytes, 0).Replace("-", String.Empty) Dim cImg As String = "{\pict\pngblip\picw" & img.Width.ToString() & "\pich" & img.Height.ToString() & "\picwgoa" & img.Width.ToString() & "\pichgoa" & img.Height.ToString() & "\hex " & sImg & "}" fileReader = fileReader.Replace("<foto_pessoa>", cImg) O código acima converte a imagem para PNG em um arquivo na memória (MemoryStream), depois pega os bytes que compõem a imagem e transforma em uma sequência hexadecimal. Além disso, tem também o código necessário para o formato RTF entender que trata-se de uma imagem. Certo? Abraços!
  10. Já não uso o Access há uns bons anos, mas para um campo numérico você não deveria usar o operador = ao invés do LIKE? Abraços!
  11. Você quer inserir o texto dentro da DIV onde? Num WebBrowser? Em uma página ASP.NET? Em um arquivo HTML? Tente ser um pouco mais específico, para podermos te ajudar. Abraços!
  12. Qual é a marca e o modelo da impressora? Abraços!
  13. Poste o código que você está usando para "somar" as caixas, provavelmente está nele o problema e fica mais fácil para te ajudar. Abraços!
  14. Graymalkin

    Getters e Setters

    O que acontece é que ao instanciar no seu exemplo... # coding=utf-8 from Pai import Pai from Filha import Filha #from Neta import Neta class Main: p = Pai() f = Filha() #n = Neta() p.set_nome("Antonio") f.imprimirInformacoes() Esse "p" não é o mesmo que o objeto Pai instanciado dentro da classe Filha (apesar do mesmo nome, estão em escopos diferentes). Portanto, para fazer o que você quer, você deveria alterar a classe Filha para: # coding=utf-8 from Pessoa import Pessoa from Pai import Pai class Filha(Pessoa): nome = 'Marina' sobrenome = 'Martins' corDosOlhos = 'Azuis' residencia = 'Planaltina' profissao = 'Professora' p = Pai() @classmethod def imprimirInformacoes(cls): print '%s %s' % (Filha.nome, Filha.sobrenome) print 'Os olhos são : ' + Filha.corDosOlhos print 'Reside ein: ' + Filha.residencia print 'Trabalha como: ' + Filha.profissao print 'O nome do pai é: ' + Filha.p.get_nome() E trocar a seguinte linha do seu exemplo... p.set_nome("Antonio") ... por: f.p.set_nome("Antonio") Note que neste caso o objeto Pai (p) é diferente do objeto Pai criado dentro da classe Filha (f.p). Ou seja, se você for checar o nome do objeto p e do objeto f.p, você terá resultados diferentes. Essa acima é uma das possíveis soluções, sendo outra que imagino ser melhor seria passar o objeto Pai ao criar ao objeto Filha. Assim você teria o seu objeto Pai igual em ambas as instâncias. Para isso, você pode colocar a classe Filha com o seguinte código: # coding=utf-8 from Pessoa import Pessoa from Pai import Pai class Filha(Pessoa): nome = 'Marina' sobrenome = 'Martins' corDosOlhos = 'Azuis' residencia = 'Planaltina' profissao = 'Professora' def __init__(self, objPai): Filha.p = objPai @classmethod def imprimirInformacoes(cls): print '%s %s' % (Filha.nome, Filha.sobrenome) print 'Os olhos são : ' + Filha.corDosOlhos print 'Reside ein: ' + Filha.residencia print 'Trabalha como: ' + Filha.profissao print 'O nome do pai é: ' + Filha.p.get_nome() E o seu código de exemplo voltaria ao original: # coding=utf-8 from Pai import Pai from Filha import Filha #from Neta import Neta class Main: p = Pai() f = Filha(p) #n = Neta() p.set_nome("Antonio") print "f.p.nome == " + f.p.get_nome() print "p.nome == " + p.get_nome() f.imprimirInformacoes() Adicionei os 2 prints para confirmar que ambos tem os mesmos valores. Isso não seria possível com o exemplo anterior, já que tínhamos um "p" fora da classe e outro "p" dentro dela. No caso, essa implementação depende do que foi pedido, mas o importante é saber que deve existir uma relação entre dois objetos para que um possa usar propriedades do outro. Ou um objeto instancia um objeto da outra classe (primeiro exemplo) ou faz referência ao mesmo (segundo exemplo). Beleza? Abraços!
  15. Você só saberá que um nome é inexistente pelo que ocorrer dentro da rotina/função PesquisaDados(). Ela deveria te retornar algo (como True/False ou a quantidade de registros encontrados) e através disto você poderia saber se algo foi encontrado ou não. Poste aqui esta rotina/função para podermos ajudar com mais detalhes. Abraços!
  16. Você está realmente usando o VB6? Ou é o .NET (de 2005 para cá)? Se for o .NET, no controle WebBrowser existe uma função chamada GetElementsByTagName() que te retorna todos os elementos de uma determinada tag (no seu caso, "img"). Com estes elementos você poderia iterar sobre eles e invocar o "onclick" no elemento cuja propriedade "alt" é "Executar" (já que o elemento não é nomeado). Abraços!
  17. Graymalkin

    Erro vb.net

    Depende do que é realizado na inicialização do programa. O que é executado no Load do form principal? Abraços!
  18. Tem como saber pela variável de ambiente HOMEPATH. No seu projeto em Java você deve conseguir obtê-la através do método System.getenv(), ou pelo InnoSetup, se me lembro bem, você pode utilizá-la como parte do caminho de destino do arquivo. Abraços!
  19. Dê uma o olhada no arquivo pgpass.conf que o PgAdmin III criou e veja se não tem algo diferente do que você fez. Talvez também possa ser alguma permissão de acesso a esse arquivo (dê uma olhada nas propriedades dele também). Abraços!
  20. Sim, o ideal é trocar em todos os lugares para não haver diferença no cálculo. Se você for usar o mesmo valor em mais de um local, crie uma variável (objeto para ele). Abraços!
  21. Fiz o teste aqui no meu e não pede senha. Mas lembrei de outro detalhe, sempre gravo a senha através do PgAdmin III, por isso acho que ele não pede. Você pode então tentar fazer o mesmo, criando um arquivo chamado "pgpass.conf" em "c:\Users\NOMEDOUSUÁRIO\AppData\Roaming\postgresql" (onde NOMEDOUSUÁRIO é a pasta com o nome do usuário do Windows) com o conteúdo: localhost:5432:*:postgres:SENHA Ou simplesmente abrir o PgAdmin III e conectar no banco armazenando a senha. Veja aí se dá certo. Abraços!
  22. Não use Val(), até porque o retorno seria um Double (porém depende do separador decimal, que no nosso caso é a vírgula). Para fazer este tipo de conta, use Decimal.Parse() (ou TryParse()). Abraços!
  23. Já tentou definir a variável de ambiente PGPASSWORD como abaixo? set PGPASSWORD=senha Ou usar -w ou --no-password diretamente na linha do pg_restore: pg_restore.exe -i -h localhost -p 5432 -U postgres -w -d sade -v "C:\SADE 320\sade.backup" Veja aí se alguma das duas tentativas dá certo. Abraços!
  24. O problema no seu código é que você provavelmente esqueceu de fechar as chaves (}) após a classe Contato e os todos os métodos estão dentro dela, ao invés de estarem na classe Program. Veja abaixo como seria: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication6 { class Program { static void Main(string[] args) { CriaMenu(); } //Implementação da classe contato class Contato { private int id; private string nome; private string telefone; private string email; public int ID { get { return id; } set { id = value; } } public string Nome { get { return nome; } set { nome = value; } } public string Telefone { get { return telefone; } set { telefone = value; } } public string Email { get { return email; } set { email = value; } } public string myProperty { //Quando o valor atribuido for vazio, //o valor padrão considerado será null set { if (value == string.Empty) variavel = null; else { variavel = value; } } } } // Aqui acaba a classe Contato //Metodo que cria menu na interface do usuario static void CriaMenu() { ConsoleKey key; bool opcao; opcao = true; while (opcao) { //Limpar a Tela Console.Clear(); Console.WriteLine("___CONTATOS___"); Console.WriteLine("Escolha as opções abaixo:"); Console.WriteLine("1 - Incluir"); Console.WriteLine("2 - Listar"); Console.WriteLine("S - Sair"); Console.WriteLine("Opção: "); key = Console.ReadKey().Key; switch (key) { case ConsoleKey.NumPad1: Program.AddContato(); break; case ConsoleKey.NumPad2: Program.ListContato(); break; case ConsoleKey.S: opcao = false; break; } } } //Metodo para incluir um contato no arquivo static void AddContato() { Contato contato = new Contato(); try { Console.Clear(); Console.WriteLine("Preencha os dados abaixo:"); Console.Write("ID: "); contato.ID = Convert.ToInt32(Console.ReadLine()); Console.Write("Nome: "); contato.Nome = Convert.ToInt32(Console.ReadLine()); Console.Write("Telefone: "); contato.Telefone = Convert.ToInt32(Console.ReadLine()); Console.Write("E-Mail: "); contato.Email = Convert.ToInt32(Console.ReadLine()); Program.SaveContato(contato); } catch (Exception ex) { throw ex; } } //Metodo para salvar um arquivo no contato //Arquivo a ser salvo static void SaveContato(Contato contato) { FileStream fs; byte[] byteArray; string strContato; try { fs = new FileStream(CONST_PATH_ARQUIVO_DADOS, FileMode.Append, FileAccess.Write); if (fs.CanWrite) { //Cria uma linha com atributos separados por TAB strContato = Program.ParseContato(c); //Para salvar o registro no arquivo utilizando a classe //FileStream, será necessário utilizar uma classe para //converter o texto em bytes. byteArray = Encoding.ASCII.GetBytes(strContato); fs.Write(byteArray, 0, byteArray.Length); fs.Close(); } } catch (Exception ex) { throw ex; } } //Metodo para listar os contatos existentes static void ListContato() { StreamReader sr; try { sr = new StreamReader(CONST_PATH_ARQUIVO_DADOS); if (sr.BaseStream.CanRead) { Console.WriteLine(); while (!sr.EndOfStream) { Console.WriteLine(sr.ReadLine()); } } sr.Close(); Program.wait(); } catch (Exception ex) { Program.errorMessage(ex); } } //Metodo para escrever os atributos do contto como uma linha para o arquivo, separa como tab. //Contato a ser transformado //String com os dados do contato static string ParseContato(Contato c) { //Objeto para trabalhar com a concatenação de texto StringBuilder strBuilder; try { strBuilder = new StringBuilder(); //Separar todos os atributos com TAB, representado pelo caracter \t strBuilder.Append(c.ID); strBuilder.Append('\t'); strBuilder.Append(c.Nome); strBuilder.Append('t'); strBuilder.Append(c.Telefone); strBuilder.Append('\t'); strBuilder.Append(c.Email); //Toda linha de um arquivo para o .Net é encerrada pelo caracter \r strBuilder.Append("\r\n"); return strBuilder.ToString(); } catch (Exception ex) { throw ex; } } } } Fora isso, tem outros erros que você vai ver no código quando tiver corrigido isso. Abraços!
×
×
  • Criar Novo...