Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Necesito Ayuda Para Pasar Un Programa De VB A Gambas2
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Hola gente, es mi primer participación en el foro.

Soy programador de la época del Basic anterior al GW
Conocí y aprendí el basic, quickbasic, dbase, foxbase y foxpro. Después de mucho tiempo sin programar, necesitaba un programa y como no me satisfacían los que encontre, hice uno en Visual Basic 6.
Ese programa lo libere como freeware.
Hoy, bastante tiempo después, necesito ese programa nuevamente, pero ya no utilizo Windows, y empecé a transcribir el código a gambas.

Lo que necesito es ayuda, si me la pueden brindar, ya que encontré documentación, pero hay todavía lugares obscuros en gambas y se me complica un poco el pasaje del código.

El programa es un numerador para talonarios, rifas, formularios, etc. y mi intención es liberarlo como GPL.

Tengo el código en VB y lo que fuí pasando hasta ahora en gambas.

Así que si alguien puede, se lo voy a agradecer

SAludos
 



 
Serpof - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Lo unico que tienes que hacer es pedir ayuda, pon el codigo que necesitas pasar a gambas y listo, recibiras atención   ; Tambien puedes formular la pregunta en caso de que no quieras poner el codigo ejemplo : ¡Como hago para hacer ..... tal cosa?

saludos
 



 
nrcefe - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
nrcefe, gracias por la respuesta.

Aquí va el código en VB

Dim folios As Integer
Dim iguales As Integer
Dim relleno As String
Dim textoaimprimir As String
Dim nombre As String
Dim tamano As Integer
Dim rellena As Boolean
Dim italica As Boolean
Dim tachada As Boolean
Dim subrayada As Boolean

Private Const SW_SHOWNORMAL As Long = 1
Private Declare Function ShellExecute Lib "shell32" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Private Sub ayuda_Click()
ShellExecute Me.hwnd, "Open", App.Path & "\numerador.hlp", "", "", SW_SHOWNORMAL
End Sub


Private Sub Form_Load()
App.HelpFile = App.Path & "\numerador.hlp"
Ingreso.ScaleMode = 6
desde = desde.Text = ""
hasta = hasta.Text = ""
pasos = pasos.Text = ""
copias = copias.Text = ""
mascara = mascara.Text = ""
desde.Text = "1"
hasta.Text = "1"
pasos.Text = "1"
copias.Text = "1"
posx.Text = "10"
posy.Text = "10"
mascara.Text = "0000-00000000"
Rem prueba.Caption = "Serie A N°01234"
prueba.Caption = mascara.Text
nombre = "Arial"
tamano = 9
rellena = False
italica = False
tachada = False
subrayada = False
End Sub


Private Sub Command1_Click()
 With CommonDialog1
         .FontName = "Arial"
         .FontSize = 16
         .FontBold = False
         .FontItalic = False
         .FontStrikethru = False
         .FontUnderline = False
         .ShowFont
  nombre = .FontName
  tamano = .FontSize
  rellena = .FontBold
  italica = .FontItalic
  tachada = .FontStrikethru
  subrayada = .FontUnderline
End With
With prueba
CurrentX = 90
CurrentY = 90
prueba.FontName = nombre
prueba.FontSize = tamano
prueba.FontBold = rellena
prueba.FontItalic = italica
prueba.FontStrikethru = tachada
prueba.FontUnderline = subrayada
prueba.Caption = mascara.Text
End With
End Sub


Private Sub Command2_Click()
 CommonDialog2.ShowPrinter
End Sub


Private Sub Command3_Click()
acerca.Show
End Sub


Private Sub reset_Click(Index As Integer)
Cls
desde.Text = "1"
hasta.Text = "1"
pasos.Text = "1"
copias.Text = "1"
posx.Text = "10"
posy.Text = "10"
mascara.Text = "0000-00000000"
prueba.Caption = mascara.Text
End Sub


Private Sub Muestra_Click(Index As Integer)
largodemascara = Len(mascara.Text)
folios = desde
            largodelnumero = Len(Format(folios))
            largodelcorte = largodemascara - (largodelnumero + 2)
            relleno = Left(mascara.Text, largodelcorte)
            numero = Left(mascara.Text, (largodelcorte + 2)) + Format(folios)
            Printer.ScaleMode = 6
            Printer.CurrentX = Val(posx)
            Printer.CurrentY = Val(posy)
            Printer.FontName = nombre
            Printer.FontSize = tamano
            Printer.FontBold = rellena
            Printer.FontItalic = italica
            Printer.FontStrikethru = tachada
            Printer.FontUnderline = subrayada
            Printer.Print numero
            Printer.EndDoc
            Printer.NewPage
End Sub


Private Sub Imprime_Click(Index As Integer)
salto = Check1.Value
largodemascara = Len(mascara.Text)
folios = desde
            largodelnumero = Len(Format(folios))
            largodelcorte = largodemascara - (largodelnumero + 2)
            relleno = Left(mascara.Text, largodelcorte)
For cuenta = desde To hasta Step pasos
        For cant = 0 To (copias - 1)
            numero = Left(mascara.Text, (largodelcorte + 2)) + Format(cuenta)
            Printer.ScaleMode = 6
            Printer.CurrentX = Val(posx)
            Printer.CurrentY = Val(posy)
            Printer.FontName = nombre
            Printer.FontSize = tamano
            Printer.FontBold = rellena
            Printer.FontItalic = italica
            Printer.FontStrikethru = tachada
            Printer.FontUnderline = subrayada
            Printer.Print numero
            Printer.EndDoc
            Printer.NewPage
        Next cant
Next cuenta
End Sub


Private Sub Salir_Click(Index As Integer)
Unload Ingreso
End
End Sub

 


Hay dos llamadas al exterior, un formulario con el Acerca de... y al documento de Ayuda


Edito porque es tan largo que sale el código cortado
 



 
última edición por Serpof el Jueves, 11 Marzo 2010, 19:03; editado 1 vez 
Serpof - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Edito y quito el código del formulario en VB.
Para el que quiera todo el código, lo dejo aquí en un adjunto

Imagen del formulario en VB

formenvb

La imagen a continuación es el diseño actual del formulario en Gambas2

numeradorenlinux

Una vez que lo tenga terminado y además haya aprendido a manejarme con el lenguaje, quiero hacerle modificaciones tales como guardar proyecto y numeración duplicada en la misma hoja.

SAludos
 



 
última edición por Serpof el Jueves, 11 Marzo 2010, 22:08; editado 1 vez 
Serpof - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
No hacía falta poner el código del formulario, ya que se genera automáticamente.

Mirando tu aplicación, es tan sumamente sencilla que no tendrás problemas en pasarla a gambas. Simplemente cambiando el nombre de algunas propiedades y quitando por ejemplo los argumentos de los eventos _Click casi debería funcionar.

Consulta la ayuda de gambas para saber qué propiedades de los controles se corresponden a los de gambas y revisa los comandos EXEC y SHELL que te servirán para lanzar procesos externos a tu aplicación y que sustituye a Shellexecute.

Una vez lo tengas, si te surgen dudas o problemas, puedes reformular tu consulta sobre algún aspecto más concreto.

Saludos.
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Bueno, en realidad tengo muchas dudas.

El proyecto lo inicie como QT (no se si es lo conveniente)
 
Encontré varios tutoriales y manuales sobre gambas, pero sobre algunas cosas no consigo información.

De lo que no conseguí nada es, como guardar en las variables correspondientes, la fuente, tamaño, etc. al abrir Dialog.SelectFont

Tampoco de que manera puedo seleccionar la salida (seleccionar impresora), no encontré un Dialog, u otra manera.

Gracias

SAludos
 



 
Serpof - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Serpof escribió: [Ver mensaje]
Bueno, en realidad tengo muchas dudas.

El proyecto lo inicie como QT (no se si es lo conveniente)


Sí, creo que es lo más conveniente. GTK está menos desarrollado que QT y aún tiene varios bugs.

Citar:

De lo que no conseguí nada es, como guardar en las variables correspondientes, la fuente, tamaño, etc. al abrir Dialog.SelectFont


PRIVATE SUB botonDialogoFuente_Click()

DIM miFuente as String  ' estas variables puede que necesites que sean globales...
DIM selectedFont as Font ' ...a nivel de formulario con "PRIVATE variable AS ..."

IF Dialog.SelectFont() THEN RETURN 'si se pulsa cancelar sale del diálogo

miFuente = Dialog.Font.ToString()
selectedFont = Dialog.Font

END


Citar:

Tampoco de que manera puedo seleccionar la salida (seleccionar impresora), no encontré un Dialog, u otra manera.

Gracias

SAludos


Para tener disponible el objeto "Printer" debes de activar el componente gb.qt.ext

Printer.Setup
nombredeimpresora = Printer.Name


Espero que sea de ayuda,

saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda Para Pasar Un Programa De VB A Gambas2 
 
Gracias, jguardon, me ayudo mucho ese código

Con respecto a los Dialog, encontré unos problemas, que creo deben depender de los componentes instalados.

El dialog para la selección de la fuente, aparecía correctamente en español
El printer.setup, abre la ventana, pero  en ingles, y no me muestra ninguna de las impresoras instaladas, estén encendidas o no.

Agregue dos botones, para guardar y abrir archivo (para guardar el seteo de las impresiones)

Me mostraba esos dos diálogos en español y con los iconos de KDE (estoy usando Gnome). Entonces me fije en los componentes y destilde gb.qt.kde

Ahora los muestra con los iconos gnome, pero el dialog en la selección de la fuente, que antes estaba en español, ahora esta en ingles.
Tampoco me reconoce el Dialog.title (en realidad no me da error, pero lo ignora)

Es un embrollo, espero que se entienda.

SAludos
 



 
Serpof - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Necesito Ayuda Con Un Navegador vfranco Controles/Librerías/Componentes 1 Lunes, 19 Julio 2010, 05:27 Ver último mensaje
hostinglobal
No hay nuevos mensajes Editor HTML En Gambas [Necesito Ayuda] Juan Luis Lopez Aplicaciones/Fragmentos de Código 7 Jueves, 18 Agosto 2011, 22:33 Ver último mensaje
Invitado
No hay nuevos mensajes Necesito Ayuda Con Un Report Haseo Aplicaciones/Fragmentos de Código 3 Jueves, 17 Noviembre 2011, 21:08 Ver último mensaje
jsbsan
No hay nuevos mensajes Necesito Ayuda En Gambas 3 El gambero General 5 Miercoles, 30 Enero 2013, 15:57 Ver último mensaje
metalgearxd
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron