|
Página 1 de 1
|
Necesito Ayuda Para Pasar Un Programa De VB A Gambas2
Autor |
Mensaje |
Serpof
Usuario
Registrado: Marzo 2010
Mensajes: 5
Edad: 57 Ubicación: Prov. de Santa Fe - Argentina
|
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
|
#1 Jueves, 11 Marzo 2010, 02:39 |
|
|
nrcefe
Aprendiz
Registrado: Septiembre 2009
Mensajes: 88
Ubicación: Entre Rios, Argentina
|
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
|
#2 Jueves, 11 Marzo 2010, 12:20 |
|
|
Serpof
Usuario
Registrado: Marzo 2010
Mensajes: 5
Edad: 57 Ubicación: Prov. de Santa Fe - Argentina
|
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
|
#3 Jueves, 11 Marzo 2010, 13:48 |
|
|
Serpof
Usuario
Registrado: Marzo 2010
Mensajes: 5
Edad: 57 Ubicación: Prov. de Santa Fe - Argentina
|
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
La imagen a continuación es el diseño actual del formulario en Gambas2
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
|
#4 Jueves, 11 Marzo 2010, 19:04 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
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"
|
#5 Jueves, 11 Marzo 2010, 19:24 |
|
|
Serpof
Usuario
Registrado: Marzo 2010
Mensajes: 5
Edad: 57 Ubicación: Prov. de Santa Fe - Argentina
|
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
|
#6 Viernes, 12 Marzo 2010, 23:21 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
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)
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
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
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"
|
#7 Sabado, 13 Marzo 2010, 09:20 |
|
|
Serpof
Usuario
Registrado: Marzo 2010
Mensajes: 5
Edad: 57 Ubicación: Prov. de Santa Fe - Argentina
|
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
|
#8 Domingo, 14 Marzo 2010, 13:51 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|