Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DW_MX

[Resolvido] Text Area

Recommended Posts

Ao invés de usar Chr(13) ou o Chr(10) para fazer o Split utilize a constante VBCRLF, ela agrupa os comandos de Retorno de Carro e Alimentação de Linha, o Chr(13) é o CarriageReturn e o Chr(10) é o LineFeed. Com isso irá eliminar esse "caractere" invisível que está em seu Array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado, mim da uma força como escrever com esta função, porque nao sei trabalhar com ela.

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Codigos = Split(Imei,vbCrLf)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando a sua função laaaaaaa de cima:

Recuperando
Codigo = Resquest("Codigo")

Codigos = Split(Codigo,VBCRLF)
For i=0 to Ubound(Codigos)

SQL = "INSERT INTO Tabela (Valor) VALUES ('" & Codigos(i) & "')"
Conn.Execute(SQL)

Next

O teste do IF você faz como estava fazendo. Troque só isso e poste informando se funcionou ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok fucionou

agora ele tirou o espaço, so que manteve um problema que achei que ia acabar

quando ficava o espçao no text area ele tava salvando em branco no banco

e diminuia um credito no campo credito do banco

 

moral da historia ele nao pode salvar em branco no banco de dados e nem diminuir se a linha estiver sem codigo

 

preste atenção no codigo onte tem o update para diminuir um credito no campo do banco de dados

 

<!--#include file="include/config.asp" -->
<%
Imei = Trim(Request.form("Imei"))
Modelo = Request.form("Modelo")
If Imei = "" Then
	Response.Write("Favor Adicionar um Código de Imei<br><a href=""java script:history.back(1)"">Voltar</a>")
	Response.End()
End If
Codigos = Split(Imei,VBCRLF)
cod = 1 + Ubound(Codigos)
If Modelo <> "Motorola" Then
Set RSCheck = ObjCon.Execute("Select credito From login Where Credito >="&cod&" And Id_user="&session("Id_user"))
If Not RSCheck.Eof Then
		For i=0 to Ubound(Codigos)
		 Codigos(i) = replace(Codigos(i),vbCrLf,"")
	If (Codigos(i) <> "") Then
		ObjCon.Execute("Insert Into pedido(IdUser,NomeUsuario,Imail,Data,Modelo) Values('"&session("Id_user")&"','"&session("Usuario")&"','" & Codigos(i) & "','"&Year(Date)&"-"&Month(Date)&"-"&Day(Date)&"','" & Modelo & "')")
		End if
		Next
		response.Redirect("Msg.asp")
		End if
Else
Set RSCheck = ObjCon.Execute("Select credito From login Where Credito >="&cod&" And Id_user="&session("Id_user"))
If Not RSCheck.Eof Then
		For i=0 to Ubound(Codigos)
		Codigos(i) = replace(Codigos(i),vbCrLf,"")
	If (Codigos(i) <> "") Then
		ObjCon.Execute("Insert Into pedido(IdUser,NomeUsuario,Imail,Data,Modelo) Values('"&session("Id_user")&"','"&session("Usuario")&"','" & Codigos(i) & "','"&Year(Date)&"-"&Month(Date)&"-"&Day(Date)&"','" & Modelo & "')")
		ObjCon.Execute("Update login Set credito=credito-"&cod&" Where Id_user="&session("Id_user"))
		End if
		Next
		response.Redirect("Msg.asp")
	Else
		Response.Write("Saldo insuficiente ou quantidade de crédito menor que quantidade de código postado<br><a href=""java script:window.close();"">Fechar</a>")
		Response.End()
	End If
Set ObjCon = Nothing
End if
%>

Galera so pra finalizar, este topico, deste projeto so falta eu resolver isso. como fazer para nao diminuir se o text area vier em branco. ja fucionoou o vbCrLf

gravar em branco ele nao grava mais. so que na hora do update ele ta contando ate a linha branca do text area...

Compartilhar este post


Link para o post
Compartilhar em outros sites

if len(cod) > 0 Then

ObjCon.Execute("Update login Set credito=credito-"&cod&" Where Id_user="&session("Id_user"))

End If

Isso não resolve?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai resolve que se o credito for maior que zero ou =

eu coloquei o igual tambem ai ele faz o processo de inserir os codigos e diminuir os creditos.

mas oque ta pegando é o seguinte

vamos supor que voce digita tres linhas no texte area duas com numeros e a ultima voce so deu o enter do teclado e ficou vazia. ai conseguimos corrigir, ele vai salvar no banco so as duas com o numero ate ai tudo bem soque na hora de diminuir o credito ele ta diminuindo tambem a linha que tava em branco. ele nao ta salvando mas ta diminuindo ai fiz o seguinte:

 

For i=0 to Ubound(Codigos)
				Codigos(i) = replace(Codigos(i),vbCrLf,"")
				If (Codigos(i) = "") Then
					Response.Write("Linha em branco no seu formulario de Imei")
					Response.End()
					End if
		ObjCon.Execute("Insert Into pedido(IdUser,NomeUsuario,Imail,Data,Modelo) Values('"&session("Id_user")&"','"&session("Usuario")&"','" & Codigos(i) & "','"&Year(Date)&"-"&Month(Date)&"-"&Day(Date)&"','" & Modelo & "')")
			Next
		ObjCon.Execute("Update login Set credito=credito-"&cod&" Where Id_user="&session("Id_user"))
		response.Redirect("Msg.asp")
		Else
		Response.Write("Saldo insuficiente ou quantidade de crédito menor que quantidade de código postado<br><a href=""java script:window.close();"">Fechar</a>")
		Response.End()
		End if
Set ObjCon = Nothing
	End If
%>

ate que fucionou ele nao diminuiu porque encontrou linha em branco no text area so que ele inseriu oque tava com digitos. tendeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o Se for = "" Then

 

For i=0 to Ubound(Codigos)
Codigos(i) = replace(Codigos(i),vbCrLf,"")
If (Codigos(i) = "") Then
Response.Write("Linha em branco no seu formulario de Imei")
Response.End
End if
ObjCon.Execute("Insert Into pedido(IdUser,NomeUsuario,Imail,Data,Modelo) Values('"&session("Id_user")&"','"&session("Usuario")&"','" & Codigos(i) & "','"&Year(Date)&"-"&Month(Date)&"-"&Day(Date)&"','" & Modelo & "')")
			Next
		ObjCon.Execute("Update login Set credito=credito-"&cod&" Where Id_user="&session("Id_user"))
		response.Redirect("Msg.asp")
		Else
		Response.Write("Saldo insuficiente ou quantidade de crédito menor que quantidade de código postado<br><a href=""java script:window.close();"">Fechar</a>")
		Response.End()
		End if
so que eu nao sei por que ele ta inserindo se mandei parar la no end if do response.end na 5 linha reparem pra voce ver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz isso:

For i=0 to Ubound(Codigos)
	  Codigos(i) = replace(Codigos(i),vbCrLf,"")
	  Response.Write len(Codigos(i)) & "." & Codigos(i)
Next

Copia e posta o resultado para vermos o que está sendo escrito e o quantos caracteres você tem por linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera pode fechar conseguir acertar o restante aqui

muito obrigado se nao fosses voces nao ia conseguir nada neste formulario

nota dez para a galera do imasters

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado,

 

Muito interessante sua solução via vbcrlf. Nunca tinha pensado em usá-lo dessa forma (eu só uso ele pra inserir quebras de linha no código fonte).

 

Obrigado pela dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou da seguinte forma

eu recuperei o vbCrLf como o salgado passou

e fiz no topo da pagina um IF

onde se vbCrLf = "" vazio

Response.White "linha em branco no formulario"

Response.end

eu mandei parar

ou continua o processo se nao tiver a linha em branco

bateu e valeu

 

valew galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.