-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Já ouvi falar, mas nunca usei. Abraços, Graymalkin
-
Poste as duas maneiras pra eu testar aqui se fica lento também. Abraços, Graymalkin
-
Não... já até tentei fazer isso com um ponteiro em C, onde eu especificava o valor do mesmo (a fim de me referir a uma posição específica de memória), mas só dava aquela clássica frase: "Esse programa executou uma operação ilegal, blá blá blá". Abraços, Graymalkin
-
Nunca percebi essa lentidão de que você fala. Frequentemente uso ambos os modos (texto e binário) e a velocidade de ambos depende da quantidade de dados a serem gravados. Não, só texto e binário mesmo, que eu saiba. Abraços, Graymalkin
-
Não bastaria apenas recompilar o executável do programa e enviar para todos? Ou ainda, substituir os arquivos .lnk do desktop por novos (com o ícone devidamente definido)? Abraços, Graymalkin
-
A data já vem naturalmente nesse formato: showmessage(datetostr(date())); Abraços, Graymalkin
-
Se me permite perguntar, o que você pretende fazer? Abraços, Graymalkin
-
Procure aqui no fórum e você achará algo a respeito. Isso já passou por aqui há algum tempo atrás. Abraços, Graymalkin
-
Em ambos os casos você deverá olhar a coleção Columns (no caso do DataSet ela fica dentro de cada um dos itens da coleção Tables). Abraços, Graymalkin
-
O Package & Deployment Wizard do VB 6 faz isso para você. E, se você não gostar do setup dele (como eu não gosto) pode importar o arquivo setup.lst (que ele gera) no ISTool para gerar o setup pelo InnoSetup (que é muito melhor). Se você procurar aqui no fórum encontrará mais tópicos falando disso. Abraços, Graymalkin
-
Como assim um "texto em hexadecimal"? Seria algo do tipo... texto = "teste" For i = 1 To Len(texto) c = Mid(texto, i, 1) Debug.Print Hex(Asc(c)) Next i ... ? Use a função Replace(). Exemplo: text1.text = replace(texto, vbcrlf, "") Onde "texto" é a variável que contém o texto *com* as quebras de linhas e text1.text é para onde irá o texto *sem* as quebras de linha. Abraços, Graymalkin
-
Operações Com Tipo De Dados Time...
pergunta respondeu ao Rafael Portal de Graymalkin em Visual Basic
Dê uma olhada nas funções TimeValue() e/ou TimeSerial(). Uma das duas (ou ambas) vai (vão) te ajudar no caso. Abraços, Graymalkin -
Olá, xará Sim. Ao marcá-la nos Components você verá o arquivo necessário (ele aparece em "Location:"). Sim, utilizando um MDI Form. Clique na setinha para baixo do segundo ícone da barra de ferramentas e escolha a opção MDI Form. Abraços, Graymalkin
-
Não, não precisa. Você só precisa chamar o Randomize uma vez (a cada execução do programa). Abraços, Graymalkin
-
Em geral dá certo sim, desde que ela esteja ligada na porta paralela. Abraços, Graymalkin
-
Dê uma olhada nesse aqui: http://www.graymalkin.globalhosts.com.br/pysendmail.asp Abraços, Graymalkin
-
Ta ai sim, acho que você não viu mesmo De um CTRL+F e digite split ou @ e você verá Bom valeu pela ajuda no fim terei que fazer como sempre fiz linha por linha Quando eu respondi a sua mensagem com o texto: """ Mas ai que ta você esta calculando como se cada dimensão dela tivesse apenas 1 caracter e na verdade poderia conter mais tipo "ramon" tem 5 caracteres""" Só tinha exatamente isso na mensagem e não aquele código imenso. E quando você falou do split com o @ eu fiz exatamente isso que você falou e não achei. Você não postou a mensagem pela metade e depois completou ela (editando)? Pois o que tinha no cache do meu navegador não incluia aquele código todo. Outro fato ainda é que sempre aperto o botão "Citar" que repete a sua mensagem (e eu não teria apagado aquele código imenso sem ter visto; aliás, por isso que não fiz o tal "teste" que você pediu). Abraços, Graymalkin
-
Ah, mas não no código que você postou aqui. Ou então eu não estou "vendo bem". Sim, quase sempre eu faço isso. Sim, está certo. O lance de gravar em binário é para valores. Se você mandar ele gravar o valor 97 em um arquivo binário, aparecerá uma letra "a" no arquivo. E, se você mandar gravar um "a" vai dar no mesmo. Portanto, se você mandar gravar a palavra "teste" vai aparecer a palavra "teste" lá, porque é como se você mandasse gravar os valores referentes a cada uma das letras (116, 101, 115, 116 e 101). Já se você mandar gravar 1234 aparecerão dois caracteres que não são possíveis de serem mostrados aqui (chr(210) e chr(4)). Não, como eu disse acima, você deve estar olhando arquivos que são formados por uma longa sequência de valores, que na hora que são gravados são transformados em caracteres (repare que o número 1234 ocuparia 4 bytes do arquivo se fosse gravado literalmente, mas na verdade só ocupa 2 quando gravado como binário). Entretanto, procure no fórum e você achará rotinas criptografia (inclusive esse assunto rolou hoje aqui no fórum também). Abraços, Graymalkin
-
Seria isso mesmo, só que a linha... Module.TB_Dividas.Next; ... pode aparecer só uma vez dentro do loop (fora do if e fora do else, já que ela é executada para ambos). Todavia, não existe um problema grave no fato de ela aparecer duas vezes, como está no seu código. Então, qual seria a sua dúvida? O código não está funcionando? E, não seria melhor usar SQL para isso? Abraços, Graymalkin
-
Só que nesse caso, você deveria ter tamanhos fixos para os dados ou algum delimitador. Se não, como ele vai saber que "Ramon" (que tem 5 caracteres) deve voltar para uma posição da matriz e que "Junior" (que tem 6 caracteres) deve voltar para outra posição? Veja que você não pode pegar os dados de 5 em 5 caracteres, já que o segundo tem 6 (e terão diversos outros com tamanhos diferentes). Gravar e ler rapidamente já foi alcançado, mas como você está fazendo para carregar os dados de volta? Uma alternativa seria armazenar a posição dos dados junto com o valor, algo como: 0,0,0 = Ramon 0,0,1 = Junior ... Ou ainda armazenar os dados com um delimitador, como: Ramon;Junior;... Daí ficaria fácil. E, outra coisa, você precisa realmente de usar uma matriz para isso? Não poderia ser um vetor com um tipo definido pelo usuário (Type)? Acho que seria muito mais simples, prático e tão rápido quanto. Abraços, Graymalkin
-
Basta tirar o * 1 dali e ela fica com o tamanho variável. Mas, qual o intuito disso? Afinal de contas, se você for usar aquele seu primeiro código... dado = Space(LOF(1)) Get #1, , dado Banco(Y, X, Z) = dado ... *cada* posição da matriz (0, 0, 0), (0, 0, 1), (0, 1, 1), etc. vai ficar com o conteúdo *todo* do arquivo. Eu imaginei que você quisesse colocar um byte (um caracter) em cada posição. O que, exatamente, você pretende fazer com esse código? Abraços, Graymalkin
-
Use Extended ao invés de Real e você conseguirá calcular o fatorial de até 1754. Abraços, Graymalkin
-
Mas, se os valores dos "for"s forem aqueles mesmos (200, 20, 13), sempre será o mesmo tamanho. Não seria ao contrário? Ou seja, saber a quantidade de bytes do arquivo para então calcular o tamanho da matriz? Se não, você está contradizendo o que disse acima (aqui você está dizendo que ela tem um tamanho fixo). Além disso, e quanto à declaração... Dim banco(200, 20, 13) As String * 1 ... que coloquei no primeiro exemplo? Ela por si só já diz que a matriz tem um tamanho fixo. O que você está usando em seu lugar para defini-la como de tamanho dinâmico (alterável)? Abraços, Graymalkin
-
Rnd() gera sim um número aleatório. O que você precisa é simplesmente chamar Randomize antes para renovar a semente geradora de números aleatórios. Exemplo: randomize valor = int(rnd()*20)+1 msgbox valor Ok? Graymalkin
-
Hehehe... de fato. A concatenação é que fica lenta nesse código. Mas, experimente o seguinte então: Dim conteúdo As String Dim i As Long conteúdo = string(200*20*13, chr(0)) For Y = 0 To 200 For X = 0 To 20 For Z = 0 To 13 i=i+1 mid(conteúdo, i, 1) = banco(Y, X, Z) Next Z Next X Next Y n = FreeFile() Open caminho2 For Output As #n ? #n, conteúdo Close #n Veja se assim fica mais rápido. Não testei aqui. Abraços, Graymalkin