COMANDO MID PARA CHEQUE

TAKA 29/01/2010 13:32:34
#333165
Pessoal sou novo em programação e estou precisando de uma pequena ajuda!
Estou montando um controle de cheques, mas encontrei um problema! O cheque possui 30 dígitos e quando passado na máquina de leitura aparecem mais 4 simbolos!
Pesquisei na internet mas não encontrei muita coisa sobre o comando MID!
Será que alguém pode me ajudar? Preciso fazer com que os 4 símbolos sejam eliminados quando forem lidos pela máquina!
Desde já agradeço!!

Taka
ASHKATCHUP 29/01/2010 13:42:27
#333169
Resposta escolhida
Você se refere ao comando de cortar strings?

Se sim:


string sVariavel;
sVariavel = [Ô]numero 3405 #[Ô];

sVariavel = sVariavel.Substring(0, sVariavel.Length - 1);
TAKA 29/01/2010 16:09:36
#333186
Então ASHKATCHUP..... vou lhe enviar um pedaço do código fonte!!

private void textBox_cod_cheque_movimentacao_entrada_Leave(object sender, EventArgs e)
{
if (textBox_cod_cheque_movimentacao_entrada.Text.Trim() == [Ô][Ô])
{
MessageBox.Show([Ô]Código do cheque deve ser preenchido![Ô],
[Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error);
textBox_cod_cheque_movimentacao_entrada.Focus();
return;
}

if (textBox_cod_cheque_movimentacao_entrada.Text.Length != 30)
{
MessageBox.Show([Ô]Código do cheque inválido![Ô],
[Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error);
textBox_cod_cheque_movimentacao_entrada.Focus();
return;
}

//Separa os códigos do cheque. Banco, Agência, N. da conta, N. do cheque... em vários nós.
string sCamposLidos = textBox_cod_cheque_movimentacao_entrada.Text;

//Array com todas as informações
string[] vetorPrincipal = sCamposLidos.Split(new char[] { [ô]-[ô] });

string sBancoAgencia = vetorPrincipal[0].ToString().Trim();

//Separa os códigos que são necessários, cada um em um nó.
string sBanco = sBancoAgencia.Substring(0, 3);
string sAgencia = sBancoAgencia.Substring(3, 4);
string sCompensacao = sBancoAgencia.Substring(8, 3);
string sNrcheque = sBancoAgencia.Substring(11, 6);
string sNrconta = sBancoAgencia.Substring(23, 6);

label_banco_movimentacao_entrada.Text = sBanco;
label_agencia_movimentacao_entrada.Text = sAgencia;
label_compensacao_movimentacao_entrada.Text = sCompensacao;
label_n_cheque_movimentacao_entrada.Text = sNrcheque;
label_n_conta_movimentacao_entrada.Text = sNrconta;

textBox_valor_cheque_movimentacao_entrada.Focus();

}


Supondo que no textBox_valor_cheque_movimentacao_entrada eu tenha digitado o seguinte código: <01803101<0180008807>181000882620:

Eu gostaria que ficasse da seguinte forma: 018031010180008807181000882620
Teria como eu utilizar o MID???

Obrigado
LROSSI 29/01/2010 16:39:00
#333189
Public Function SoNumeros(ByVal Textolinha As String) As String
Dim NovoTexto As String, i As Integer

NovoTexto = [Ô][Ô]
For i = 1 To Len(Textolinha)
If IsNumeric(Mid(Textolinha, i, 1)) Then
NovoTexto = NovoTexto & Mid(Textolinha, i, 1)
End If
Next i
SoNumeros = NovoTexto

End Function
ASHKATCHUP 29/01/2010 17:27:06
#333199
Taka:
Não entendi o que você quer.. o MID, pelo o que eu sei, é para cortar uma string. No C#, o comando equivalente é o SubString.

TAKA 30/01/2010 09:59:34
#333220
ASHKATCHUP e LROSSI!
Muito obrigado aos dois! Mas já solucionei o meu problema!

Para retirar os símbolos que estavam me atrapalhando foi só usar o Replace.... no C# não contém o MID... eu me enganei!

No meu caso eu utilizei ele da seguinte forma:

sBancoAgencia = sBancoAgencia.Replace([Ô]<[Ô], [Ô][Ô]);
sBancoAgencia = sBancoAgencia.Replace([Ô]>[Ô], [Ô][Ô]);
sBancoAgencia = sBancoAgencia.Replace([Ô]:[Ô], [Ô][Ô]);

Agora já esta tudo correto!

Obrigado!
TAKA 30/01/2010 10:51:08
#333224
Pessoal....mais um problema!!!!

Para vcs são coisas simples!!! Mas para mim esta um pouco complicado!!!

Com eu posso fazer um if que possa iniciar somente com uma ou outra quantidade de caracteres?

Por exemplo:
if (textBox_cod_cheque_movimentacao_entrada.Text.Length == 30 [Ô]ou == 34[Ô])

[Ô]ou == 34[Ô]... aqui que eu estou penando!

Abraços!
ASHKATCHUP 30/01/2010 11:12:06
#333225

if (txtCondicaoPgto.TextLength == 4 || txtCondicaoPgto.TextLength == 3)
{

}


http://msdn.microsoft.com/en-us/library/6a71f45d(VS.80).aspx
Tópico encerrado , respostas não são mais permitidas