-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Qual o erro que dá? Em qual linha? E qual o código que você está usando? Abraços, Graymalkin
-
Joaozava, Bom, o Adriano já respondeu para que servem os dois tipos de comandos. Agora, em relação a onde saber isso... bom, eu sei pelos "nomes" deles. Creio que nunca tenha lido efetivamente em algum lugar uma explicação sobre os mesmos. adCmdUnknown = Desconhecido (ou seja, ele vai tentar determinar sozinho qual dos três abaixo deve ser usado, de acordo com o comando passado); adCmdText = Texto (ou seja, uma instrução SQL); adCmdTable = Tabela (ou seja, somente o nome da tabela); adCmdStoredProc = Uma Stored Procedure (ou seja, um procedimento já gravado no BD). Certo? ;) Graymalkin
-
O que você está usando para armazenar os dados? Uma DataTable? Se for, acho que é só olhar a propriedade Rows.Count. Abraços, Graymalkin
-
Apagar onde? :unsure: Em uma textbox? Graymalkin
-
ASP.NET ou Windows Forms? C# ou VB.NET? Leia este tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=76764 Abraços, Graymalkin
-
Informação Sobre Instalação Visual Basic Net Resource
pergunta respondeu ao bsmachado de Graymalkin em .NET
De acordo com o nome do kit (resource = recursos, no sentido de suporte) eu já imaginei que nem com o VB ele vem. E isso foi confirmado aqui: http://msdn.microsoft.com/library/default....resourcekit.asp Mas, você pode obter a versão Express do VB.NET 2005, que é de graça (e li algo sobre um Resource Kit destes para o VS 2005). E, em relação ao BD, existe também a versão Express do SQL Server 2005. Mas, eu indico a utilização do PostgreSQL, que é um banco free e ótimo de se trabalhar com .NET. Abraços, Graymalkin -
Você quer dizer pegar apenas 5 primeiros algarismos do código? Para isso você pode usar a função Left(). Abraços, Graymalkin
-
Realmente, não tem Val() no VBScript (mas tem no VB). De qualquer maneira, acho que Cdbl() em conjunto com Replace() pode dar certo: v = cdbl(replace("9.5", ".", ",")) Response.Write(v) Veja se funciona aí. Se funcionar, é só você colocar o valor do frete que vem do site dos Correios no lugar daquele "9.5". Abraços, Graymalkin
-
Experimente então fazer: rs = DtUser.Database.OpenRecordset("SELECT * FROM tabela WHERE Nome='" & nome.Text & "'") If Not rs.EOF Then MsgBox "Usuário já existente", vbInformation, "Aviso" DtUser.Recordset.CancelUpdate Else DtUser.Recordset.Update End If Graymalkin
-
Use adCmdText ao invés de acCmdTable. Abraços, Graymalkin
-
É que no meu caso eu precisava efetivamente ver os bits, então montei tudo passo-a-passo. Mas, gostei da sua função também. Eu já usei a PIL, mas não pra esse tipo de coisa (foi só para redimensionar imagens e inserir uma marca d'água). Mas, vou ver se consigo algo. Abraços, Graymalkin PS: Ei, estamos usando Python, então não precisamos do famigerado ponto-e-vírgula... :D
-
Faz um teste colocando o seguinte: car_frete = val("9.5") Veja se funciona e depois me fala. Abraços, Graymalkin
-
Consegui ler o resto do arquivo usando funções que criei para ler tags de MP3. Só tive que inverter os bytes porque a ordem dos bits é diferente da que eu usava (mas isso foi resolvido com a função reversed()). O código ficou assim: # -*- coding: iso-8859-1 -*- from utils import * SFFFile = open("kfm.sff","r") Header = {} # 512 bytes Header["signature"] = SFFFile.read(12) Header["version"] = [SFFFile.read(1), SFFFile.read(1), SFFFile.read(1), SFFFile.read(1)] # [4] Header["NoGroups"] = SFFFile.read(4) Header["NoImages"] = SFFFile.read(4) Header["FirstFileOffset"] = SFFFile.read(4) Header["SizeSubHeader"] = SFFFile.read(4) Header["PaletteType"] = SFFFile.read(1) Header["BlankSetZero"] = SFFFile.read(3) Header["Comments"] = SFFFile.read(476) qtimagens = calcsize(Header["NoImages"]) proximo = calcsize(Header["FirstFileOffset"]) i=0 while i<qtimagens-1: SFFFile.seek(proximo) SubHeader = {} SubHeader["Next"] = SFFFile.read(4) SubHeader["SubFileLength"] = SFFFile.read(4) SubHeader["X"] = SFFFile.read(2) SubHeader["Y"] = SFFFile.read(2) SubHeader["Group"] = SFFFile.read(2) SubHeader["ImageNumber"] = SFFFile.read(2) SubHeader["Previous"] = SFFFile.read(2) SubHeader["Palette"] = SFFFile.read(1) SubHeader["Comments"] = SFFFile.read(14) tamanho = calcsize(SubHeader["SubFileLength"]) SubHeader["PCXData"] = SFFFile.read(tamanho) print "Posição da próxima imagem: %i" % calcsize(SubHeader["Next"]) print "Tamanho..................: %i" % tamanho print "Posição X................: %i" % calcsize(SubHeader["X"]) print "Posição Y................: %i" % calcsize(SubHeader["X"]) print "Grupo....................: %i" % calcsize(SubHeader["Group"]) print "Número da imagem.........: %i" % calcsize(SubHeader["ImageNumber"]) print "Número da imagem anterior: %i" % calcsize(SubHeader["Previous"]) print "Paleta...................: %i" % calcsize(SubHeader["Palette"]) print "Comentários..............: %s" % SubHeader["Comments"] proximo = calcsize(SubHeader["Next"]) print proximo i += 1 #if i==10: break Crie um arquvo chamado utils.py com as seguintes funções: def b2d(l): lista = l[:] lista.reverse() qt = 0 ret = 0 for b in lista: if b==1: ret += 2**qt qt += 1 return ret def d2b(n): ret = [] while n!=1 and n!=0: resto = n%2 n = n/2 ret.append(resto) ret.append(n) pad = [0]*(8-len(ret)) ret += pad ret.reverse() return ret def calcsize(chunk): bytes = [d2b(b) for b in [ord(x) for x in reversed(chunk)]] bits = [] for byte in bytes: bits += byte return b2d(bits) Tentei gravar o conteúdo de um PCXData para um arquivo .pcx, mas não tive sucesso em visualizá-lo. Talvez falte a paleta ou algo assim. Não sei a estrutura de um PCX, então não deu para testar. Abraços, Graymalkin
-
Dê uma procurada sobre o componente MSComm. Abraços, Graymalkin
-
Componentes Com/activex E Acesso à Dados
pergunta respondeu ao Denis Bittencourt Muniz de Graymalkin em .NET
Bom, teoricamente você pode fazer referência ao DAO 3.6 e atribuir um DAO.Recordset ao objeto. Você vai estar trabalhando com o mesmo tipo que ele espera (pelo menos em teoria). Veja se dá certo. Abraços, Graymalkin -
Até tem. Se você estiver usando o SP4 do VB6 já vai ter o Access 2000 na propriedade Connect. Ou então você tem que ter o DAO 3.6, e deve atribuir o Recordset aberto via código para o data, conforme mostrado nesta página: http://support.microsoft.com/kb/238401 Isso porque o controle Data é baseado no Jet 3.51, que só funciona com bancos até o Access 97. Para novas versões do Access (2000, XP e 2003) você precisa do Jet 4.0. Abraços, Graymalkin
-
Afinal de contas... ele vem com vírgula ou com ponto? Você já tentou a função Cdbl()? Graymalkin
-
Eu *acho* que você pode fazer o seguinte: rs = DtUser.Database.OpenRecordset("SELECT * FROM tabela WHERE Nome='" & nome.Text & "'") If Not (rs.EOF And rs.BOF) Then MsgBox "Usuário já existente", vbInformation, "Aviso" DtUser.Recordset.CancelUpdate Else DtUser.Recordset.Update End If Veja aí se funciona. Tem muito tempo que não uso DAO e o código acima eu não testei. Abraços, Graymalkin
-
Ainda não deu pra me localizar bem (mas ASP é meio bagunçado mesmo), mas seria algo assim: Car_frete = Val(Request.QueryString("Tarifa")) Isso supondo que a linha acima seria a que obtém o valor do frete. Abraços, Graymalkin
-
"Programar" mesmo, não tem diferença nenhuma em nenhuma linguagem de programação imperativa (VB6, VB.NET, C#, Python, C/C++, etc.). Você programa em todas elas do mesmo jeito. Agora, em relação aos objetos, classes, funções, e demais elementos disponíveis na linguagem, sim, tem muita diferença do VB6 para o VB.NET. Abraços, Graymalkin
-
Neste tópico aqui eu postei um exemplo: http://scriptbrasil.com.br/forum/index.php?showtopic=62386 Abraços, Graymalkin
-
Programa Que Recebe Dados De Alguma Porta
pergunta respondeu ao RodrigoGomes de Graymalkin em C, C++
Dois programas não podem usar a mesma porta, por isso você vai ter que fechar o seu programa no servidor. Agora, é bem mais simples você fazer isso em Python do que em C/C++. Como você disse que C++ não é a sua área, creio que qualquer linguagem que seja mais simples e prática servirá, certo? Então, em Python você pode fazer isso assim: import socket k = socket.socket() k.bind(("IP do servidor ou da Internet", 6667)) k.listen(1) conexao, endereco = k.accept() print repr(conexao.recv(1024)) Com isso você vai poder receber os primeiros 1024 bytes do início da conexão. Se tudo der certo você pode fazer um loop ali para receber mais dados, se for o caso. Ah, e avise também para eu poder mover para a sala de Python se for o caso. Abraços, Graymalkin -
É, eu fiz o teste aqui e realmente acontece o que você diz. Mas, fiz outro teste usando uma DataTable e dá certo. O primeiro teste foi: Public Class Field Private _rótulo As String Private _nome As String Private _tipo As Type Public Property Rótulo() As String Get Return _rótulo End Get Set(ByVal value As String) _rótulo = value End Set End Property Public Property Nome() As String Get Return _nome End Get Set(ByVal value As String) _nome = value End Set End Property Public Property Tipo() As Type Get Return _tipo End Get Set(ByVal value As Type) _tipo = value End Set End Property Public Sub New(ByVal rótulo As String, ByVal nome As String, ByVal tipo As Type) Me.Rótulo = rótulo Me.Nome = nome Me.Tipo = tipo End Sub Public Overrides Function ToString() As String Return Me.Nome End Function End Class Public Class Teste Private _fields As List(Of Field) Public Property Fields() As List(Of Field) Get Return _fields End Get Set(ByVal value As List(Of Field)) _fields = value End Set End Property Public Sub New() Me.Fields = New List(Of Field) End Sub End Class Daí fiz o teste: Dim k As New Teste() k.Fields.Add(New Field("Nome:", "Nome", Type.GetType("System.String"))) k.Fields.Add(New Field("Telefone:", "Telefone", Type.GetType("System.String"))) ComboBox1.DataSource = k.Fields 'Adicionado depois: k.Fields.Add(New Field("Teste:", "Teste", Type.GetType("System.String"))) Realmente o campo "Teste", adicionado depois, não aparece. E aí está a segunda classe que criei (agora usando uma DataTable e sem criar a classe Field): Public Class Teste2 Private _fields As DataTable Public Property Fields() As DataTable Get Return _fields End Get Set(ByVal value As DataTable) _fields = value End Set End Property Public Sub New() Me.Fields = New DataTable() Me.Fields.Columns.Add("Rótulo", Type.GetType("System.String")) Me.Fields.Columns.Add("Nome", Type.GetType("System.String")) Me.Fields.Columns.Add("Tipo", Type.GetType("System.Type")) End Sub End Class E, com esta fiz o teste: Dim k2 As New Teste2() k2.Fields.Rows.Add("Nome:", "Nome", Type.GetType("System.String")) k2.Fields.Rows.Add("Telefone:", "Telefone", Type.GetType("System.String")) ComboBox2.DataSource = k2.Fields ComboBox2.DisplayMember = "Nome" 'Adicionado depois: k2.Fields.Rows.Add("Teste:", "Teste", Type.GetType("System.String")) E neste caso apareceu o último campo adicionado ("Teste") automaticamente na ComboBox. Esta diferença deve existir pelo fato de uma lista (List) não ter acesso ao controle que está exibindo os dados para atualizá-lo no momento que um item é adicionado. Já a DataTable deve ter este tipo de acesso. Abraços, Graymalkin
-
Crie uma imagem que ocupe a tela toda e com o logo no meio. Quando eu usava o VB6 eu fazia programas simples, sem toolbar, só com botões e menus. Agora no VB.NET é que passei a usar a ToolStrip. Então, não tenho como te recomendar algum. Abraços, Graymalkin
-
Sim, pode acontecer sim. Se não me engano eu mesmo já tive esse problema. Mas, no caso, é só você incluir o OCX no seu programa de instalação. Isso resolve o caso. Bom, o desenvolvimento tá meio parado por falta de tempo, mas pode deixar que quando estiver em fase de teste eu te aviso! Valeu! :) Abraços, Graymalkin