¿Como crear un contador alfanumerico en vb.net?

Buenas tengo una duda en cuanto a al realización de un contador alfanumérico incrementable en visual basic.net alguna idea de como podría hacerse?

El formato del contador seria de la siguiente forma:

PRE-001/13/12/2016

Este es un simple contador numérico pero no puedo adaptarlo con otro tipo de datos como string, mejor dicho no tengo una idea de como hacerlo en el evento load del form1 cada vez que se habra el programa automáticamente aumente en el numero de uno en uno y capture la fecha actual:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim con As Integer
Dim sufijo As String
Dim fecha As Date
sufijo= "PRE"
fecha =  DateTime.Now.ToString("dd/MM/yyyy") 
        con = 0
        con = con + 1
        txtnumero.Text = sufijo+con+fecha

 End Sub

Incluyendo la palabra PRE al inicio, el numero del presupuesto generado (que es el que se va a incrementar de uno en uno) seguido de la fecha de creación es posible esto en vb.net?

1
задан 13.12.2016, 19:18
3 ответа

С этим кодом возможно производить такую цепь:

PRE-001 / 14/12/2016

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim con As Integer
    Dim sufijo As String
    Dim fecha As Date
    sufijo = "PRE-"
    fecha = DateTime.Now.ToString("dd/MM/yyyy")
    con = 0
    con = con + 1
    Dim out As String = con.ToString("000")
    txtNumero.Text = sufijo & out & "/" & fecha
  End Sub
2
ответ дан 24.11.2019, 12:06
  • 1
    Спасибо за Ваши комментарии я проверю их, когда он сможет, и я предупреждаю их! – Jcayala 23.12.2016, 13:09

На основании твоей необходимости, я предлагаю, чтобы ты сохранял в app.config префикс и последующего, присоединяю тебя код примера для того, чтобы ты дал себе идею:

Нуждайся в том, чтобы добавить ссылку: System.Configuration

Imports System.Configuration

Код в form был бы:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Try
        Dim prefijo, consecutivo As String
        prefijo = LeerAppConfig("prefijo")
        consecutivo = LeerAppConfig("consecutivo")

        Dim cons As Integer = Integer.Parse(IIf(consecutivo = "", "0", consecutivo))
        cons = cons + 1

        txtFolio.Text = prefijo + "-" + cons.ToString("000") + "/" + DateTime.Now.ToString("dd/MM/yyyy")

        ''Guardo en app.config
        GuardarAppConfig("consecutivo",cons)

    Catch ex As Exception
        MessageBox.Show(ex.ToString())
    End Try
End Sub

private function LeerAppConfig(key As String) as string
        Dim result As String = ""
    Try
        Dim appSettings = ConfigurationManager.AppSettings
        result= appSettings(key)
        If IsNothing(result) Then
            result = "Not found"
        End If
    Catch e As ConfigurationErrorsException
        Console.WriteLine("Error reading app settings")
    End Try
        return result
End function

private sub GuardarAppConfig(key As String, value As String) 
    Try
        Dim configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
        Dim settings = configFile.AppSettings.Settings
        If IsNothing(settings(key)) Then
            settings.Add(key, value)
        Else
            settings(key).Value = value
        End If
        configFile.Save(ConfigurationSaveMode.Modified)
        ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name)
    Catch e As ConfigurationErrorsException
        Console.WriteLine("Error writing app settings")
    End Try
End sub

и твой файл app.config он остался бы следующего способа:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
  <appSettings>
    <add key="prefijo" value="PRE" />
    <add key="consecutivo" value="0" />
  </appSettings>
</configuration>

Я присоединяю изображения:

Imagen de la referencia

Ejemplo del Form1

Aplicación corriendo

1
ответ дан 24.11.2019, 12:06
  • 1
    Спасибо за Ваши комментарии я проверю их, когда он сможет, и я предупреждаю их! – Jcayala 23.12.2016, 13:09

Хороший твоя идея не кажется очень сложной, но немного смущена. Сначала счетчик ты был бы должен сохранять это в каком-то месте (Например: база данных, текстовые файлы, книги Excell, и т.д.), или если не необходимо, чтобы ты это сохранял хорошо, ты должен хранить это в переменной с большей областью. А именно, поскольку ты пишешь, кажется, что ты думаешь закрывать формуляр и это открывать произвел бы новый счетчик, если это такое, ты мог бы создавать Модуль и там переменная, которую назывались бы счетчик, и потом ты увеличиваешь ее соглашаясь на нее каждый раз, когда это тебе показалось подходящим.

Возможно ты мог бы объяснять немного больше тему и так мочь помогать тебе с большей точностью.

1
ответ дан 24.11.2019, 12:06

Теги

Похожие вопросы