elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 08:31  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  [VB] Dudas de novato...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [VB] Dudas de novato...  (Leído 1,232 veces)
pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
[VB] Dudas de novato...
« en: 14 Julio 2011, 19:17 »

Hola, voy a hacer un par de preguntas, porque no me aclaro  :xD

PD: la que más me interesa resolver es la pregunta nº 5 y la 6...

gracias a todos los que lean!!  ;-)







Me gustaría hacer mi primer cripter, usando xor o rc4 con algun ejemplo de google  :xD

La pregunta es...

Al ser una app nueva, un cripter nuevo... ¿las posibilidades de que el antivirus NO lo detecte.. sería del 100%? o de lo contrario yo tendría que ofuscar el código? De ser así, ¿existe alguna aplicación que ofusque el source de una app de vb6?

Me llevo muy mal con el tipo de variables de VB, como para tener que ofuscar yo mismo un code agregando 1.000 variables más sin sentido  :xD







¿Hay alguna manera para que un msgbox no pare el procedimiento de la app?







Al cargar un recurso en un botón, de esta manera:

Código:
Command1.Picture = _
LoadResPicture(102, vbResBMP)

El caption del botón queda desalineado, antes de cargar el BMP el texto estaba centrado en el botón, pero al cargar el BMP, el texto queda alineado al bottom ¿Porque? ¿Como lo vuelvo a centrar?





 He visto que el tema de hacer un frame transparente es muy dificil

¿Existe una manera sencilla?

el tema de enviar la app al systemtray también, pero bueno, no se si hacer la misma pregunta... no quiero descentrarme en funcionalidades para centrarme en el aspecto de la app  :xD aunque, intento ser perfeccionista  :-[






app.path es la variable que almacena la ruta desde donde estamos ejecutando nuestra app ¿Cierto?

Entonces ¿como puedo modificar o llamar a este módulo para asignar "app.path" para que sea la ruta por defecto en la que se debe abrir?

Código
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260
 
Type BrowseInfo
   hOwner As Long
   pidlRoot As Long
   pszDisplayName As String
   lpszINSTRUCTIONS As String
   ulFlags As Long
   lpfn As Long
   lParam As Long
   iImage As Long
End Type
 
Type SHFILEOPSTRUCT
   hwnd As Long
   wFunc As Long
   pFrom As String
   pTo As String
   fFlags As Integer
   fAnyOperationsAborted As Boolean
   hNameMappings As Long
   lpszProgressTitle As String
End Type
 
Declare Function SHGetPathFromIDListA Lib "shell32.dll" ( _
   ByVal pidl As Long, _
   ByVal pszBuffer As String) As Long
 
Declare Function SHBrowseForFolderA Lib "shell32.dll" ( _
   lpBrowseInfo As BrowseInfo) As Long
 
 
Function BrowseFolder(Optional Caption As String = "") As String
 
Dim BrowseInfo As BrowseInfo
Dim FolderName As String
Dim ID As Long
Dim Res As Long
 
With BrowseInfo
  .hOwner = 0
  .pidlRoot = 0
  .pszDisplayName = String$(MAX_PATH, vbNullChar)
  .lpszINSTRUCTIONS = Caption
  .ulFlags = BIF_RETURNONLYFSDIRS
  .lpfn = 0
End With
 
FolderName = String$(MAX_PATH, vbNullChar)
ID = SHBrowseForFolderA(BrowseInfo)
If ID Then
  Res = SHGetPathFromIDListA(ID, FolderName)
  If Res Then
      BrowseFolder = Left$(FolderName, InStr(FolderName, vbNullChar) - 1)
  End If
End If
 






Tengo pensado usar una barra de progreso en todas las aplicaciones que gracias a vosotros consiga hacer.

Lo malo es que no se hacerlo  :xD

He probado una progressbar, la barra consiste en un intervalo de tiempo que podemos definir, por ejemplo cada 500 ms la barrita aumenta, en cambio yo tengo otras necesidades...

Lo que quisiera es usar la barra de progreso por ejemplo así:

(no me se la función para copiar un archivo, así que lo siento por este ejemplo tan malo xD)

Shell copy archivo1 & archivo2 & archivo3
Barra de progreso que calcule el tiempo que va a tardar en copiarse los 3 archivos (No uno a uno, los 3 en total!).
command1.caption TIEMPO Transcurrido
command1.caption TIEMPO TOTAL


vamos, tal y como lo hace windows por ejemplo la barra de progreso de windows que sale al copiar un archivo grande en un directorio... ¿Se podrá usar esa api de windows?

Me he extendido mucho, mi pregunta es si esta barra de progreso puedo utilizarla para el uso que comenté arriba, a mi me parece que no.  :-\

Código
Public Function ProgressBar(ByRef ThePictureBox As PictureBox, ByVal Min As Long, ByVal Max As Long, ByVal Value As Long, Optional ByVal ShowProgressCaption As Boolean = False, Optional ByVal ForeColor As Long = 16777215, Optional ByVal BackColor As Long = 16711680, Optional ByVal FillColor As Long = vbButtonFace, Optional ByVal Alignment As AlignmentConstants = vbCenter, Optional ByVal ByPassChecks As Boolean = False)
On Error Resume Next
 
 Dim TheCaption As String
 Dim RangeDiff As Long
 
 ' Make sure a PictureBox control was specified
 If ThePictureBox Is Nothing Then Exit Function
 
 If ByPassChecks = False Then
 
   ' Make sure the AutoRedraw property is on, or the ProgressBar will be
   ' blank if the PictureBox is repainted by Windows
   ThePictureBox.AutoRedraw = True
 
   ' Make sure the PictureBox doesn't AutoSize
   ThePictureBox.AutoSize = False
 
   ' Make sure there's no picture set
   Set ThePictureBox.Picture = Nothing
 
   ' Make sure progressbar is visible
   ThePictureBox.Visible = True
 
 End If
 
 ' Calculate the percent of the progressbar
 RangeDiff = Max - Min
 If RangeDiff = 0 Then
   TheCaption = "0.0%"
 Else
   TheCaption = Format((Value - Min) / RangeDiff, "0.0%")
 End If
 
 ' Draw the lines on the PictureBox that make it look like a ProgressBar
 If RangeDiff = 0 Then
   ThePictureBox.Line (0, 0)-(0, ThePictureBox.ScaleHeight), BackColor, BF
   ThePictureBox.Line (0, 0)-(ThePictureBox.ScaleWidth, ThePictureBox.ScaleHeight), FillColor, BF
 Else
   ThePictureBox.Line (0, 0)-((((Value - Min) / RangeDiff) * ThePictureBox.ScaleWidth), ThePictureBox.ScaleHeight), BackColor, BF
   ThePictureBox.Line ((((Value - Min) / RangeDiff) * ThePictureBox.ScaleWidth), 0)-(ThePictureBox.ScaleWidth, ThePictureBox.ScaleHeight), FillColor, BF
 End If
 
 ' If no caption, exit
 If ShowProgressCaption = False Then
   ThePictureBox.Refresh
   Exit Function
 End If
 
 ' Set the text location depending on where the user specified
 If Alignment = vbCenter Then
   ThePictureBox.CurrentX = (ThePictureBox.ScaleWidth / 2 - ThePictureBox.TextWidth(TheCaption) / 2)
 ElseIf Alignment = vbLeftJustify Then
   ThePictureBox.CurrentX = 1
 ElseIf Alignment = vbRightJustify Then
   ThePictureBox.CurrentX = (ThePictureBox.ScaleWidth - ThePictureBox.TextWidth(TheCaption)) - 1
 End If
 ThePictureBox.CurrentY = (ThePictureBox.ScaleHeight - ThePictureBox.TextHeight(TheCaption)) / 2
 
 ' Print the caption directly onto the PictureBox
 ThePictureBox.ForeColor = ForeColor
 ThePictureBox.Print TheCaption
 ThePictureBox.Refresh
 
End Function


« Última modificación: 14 Julio 2011, 20:40 por pitoloko » En línea

pa que
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: [VB] Dudas de novato...
« Respuesta #1 en: 14 Julio 2011, 19:47 »

HOLA!!!

1.
No, cuando lo armes lo mas probable es que te lo dectecte, hay una aplicacion de Karcrack que se llama karcrack proyect crypter mirala...

2.
No directamente, pero si queres mostrar un msgbox y no frenar la ejecucion lo mas simple es armar un formulario aparte que funcione de msgbox, asi le envias que mensaje Debe mostrar y listo.

3.
La verdad no tengo el vb para probar aca, intenta cargar la imagen y configurar nuevamente la funcion aligment.

4.
Ambos se pueden hacer y hay mucha info sobre ello, recomiendo que por ahora uses un procedimiento ya creado y luego veas como funcionan.

5.
No podes modificar app.path, lo que podes hacer es al inicio de tu aplicacion algo asi:
Código
If app.path <> pathPredeterminado Then End

6.
La barra de progreso no tiene mucha ciencia y no conozco ninguna que funcione por tiempo...
Vos le seteas el valor minimo y maximo, luego simplemente vas sumando a la propiedad .value cuanto vas aumentando.
Por ejemplo:
Código
Pbar1.maxvalue = 3 ' no recuerdo si era maxvalue u otra pero bueno, 3 representa la cantidad de operaciones que realizas.
For x = 0 to 3
Call HacerTodosLosProcedimientos()
Pbar1.value = X
Next

GRACIAS POR LEER!!!


En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #2 en: 14 Julio 2011, 20:39 »



2.
lo mas simple es armar un formulario aparte que funcione de msgbox, asi le envias que mensaje Debe mostrar y listo.

Que sencillo, no se como no se me había ocurrido xD


3.
La verdad no tengo el vb para probar aca, intenta cargar la imagen y configurar nuevamente la funcion aligment.

lo he intentado y ni modo (Algo habré echo mal)  :-\

Por cierto, los ejemplos que he visto son códigos de +50 líneas, no creo que se necesite tanto para REajustar el alignment  :-\

¿gastarías mucho tiempo en ponerme un ejemplo? sino da igual, seguiré buscando.



5.
No podes modificar app.path, lo que podes hacer es al inicio de tu aplicacion algo asi:
Código
If app.path <> pathPredeterminado Then End

Creo que te has confundido, entiendo que app.path no se pueda modificar, no quiero modificarlo, lo que quiero es poder usarlo en el módulo que dije  :xD

ese módulo lo que hace es abrir un diálogo para buscar carpetas, y la ruta por defecto es "Equipo", pues yo quiero que se me habrá desde la ruta "app.path"

Me he repasado las funciones del modulo pero creo que solo permite llamarlo de una manera predeterminada, sin añadirle "optionals", aunque bueno, que voy a saber yo... :xD

6.
La barra de progreso no tiene mucha ciencia y no conozco ninguna que funcione por tiempo...

la barra de tu ejemplo parece eficaz, aún tengo que ponerla en practica.

y gracias de nuevo por tu tiempo!
En línea

pa que
jaunx

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #3 en: 14 Julio 2011, 22:54 »

Hola, voy a hacer un par de preguntas...
menos mal que solo eran 2..... :laugh:

para lo del msgbox, mejor utiliza el api MessageBoxA/W, porque desde otro form tambien queda trabada la aplicacion
En línea
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: [VB] Dudas de novato...
« Respuesta #4 en: 14 Julio 2011, 23:18 »

HOLA!!!

No, no queda trabada.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
$Edu$


Desconectado Desconectado

Mensajes: 1.416



Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #5 en: 15 Julio 2011, 00:40 »

Trabada si fuera Modal pero se sacaria igual.

pitoloko, estas haciendo lo mismo q hice yo, me pase de batch ( obvio que no se ni la mitad que vs) a vb6 porque habia muchos modulos interesantes y todo el tema de crypters etc pero lo unico que aprenderas es a copiar y pegar :S
Te digo porque ya quieres hacer un crypter xD Hacer todo vs solo, tus propias encryptaciones, propio runpe y todo ufff falta muchisimo.
En línea

"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." - Albert Einstein.
jaunx

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #6 en: 15 Julio 2011, 00:41 »

seguro que me pasa por no usar productos originales.... :rolleyes:

Código:
'form1
Private Sub Form_Load()
Form2.Show
MsgBox "se ha destrabado"
End
End Sub

'form2
Private Sub Form_Load()
MsgBox "soy el form2"
End Sub


Modifico:
Disculpa 79137913, no lei bien lo que decías e interpreté otra cosa.... :-[
« Última modificación: 15 Julio 2011, 01:39 por jaunx » En línea
$Edu$


Desconectado Desconectado

Mensajes: 1.416



Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #7 en: 15 Julio 2011, 00:51 »

Que queres demostrar con eso? :S
En línea

"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." - Albert Einstein.
Maldades_CK

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #8 en: 15 Julio 2011, 02:08 »

mira, no estoy seguro, pero con la funcion filelen podras conseguir algo!!!
osea calcular el tamaño de los archivos a copiar y luego con un timer testear el tamaño de la copia!! :rolleyes:
En línea
raul338
Moderador
***
Desconectado Desconectado

Mensajes: 2.372


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [VB] Dudas de novato...
« Respuesta #9 en: 15 Julio 2011, 02:17 »

Anda, me voy parte del dia y ya tienes varias dudas :xD


Al cargar un recurso en un botón, de esta manera:

Código:
Command1.Picture = _
LoadResPicture(102, vbResBMP)

El caption del botón queda desalineado, antes de cargar el BMP el texto estaba centrado en el botón, pero al cargar el BMP, el texto queda alineado al bottom ¿Porque? ¿Como lo vuelvo a centrar?

Image Controls de LeandroA Aunque no lo creas, es largo cambiar ciertas propiedades (se hace mediante API)






 He visto que el tema de hacer un frame transparente es muy dificil

¿Existe una manera sencilla?
Nunca me lo planteé, pero tal vez te sirva esto

el tema de enviar la app al systemtray también, pero bueno, no se si hacer la misma pregunta... no quiero descentrarme en funcionalidades para centrarme en el aspecto de la app  :xD aunque, intento ser perfeccionista  :-[
Busca sobre icono en el systray o en la bandeja. Hay mucho en google y en este foro. Y solo faltaria ocultar el formulario que ya lo sabes :xD




app.path es la variable que almacena la ruta desde donde estamos ejecutando nuestra app ¿Cierto?

Entonces ¿como puedo modificar o llamar a este módulo para asignar "app.path" para que sea la ruta por defecto en la que se debe abrir?
Solo tienes que completar el pidlRoot de BrowseInfo (y poner " & vbNullChar" porque sino creo que romperas el API :xD)


Tengo pensado usar una barra de progreso en todas las aplicaciones que gracias a vosotros consiga hacer.
Lo malo es que no se hacerlo  :xD

He probado una progressbar, la barra consiste en un intervalo de tiempo que podemos definir, por ejemplo cada 500 ms la barrita aumenta, en cambio yo tengo otras necesidades...

Lo que quisiera es usar la barra de progreso por ejemplo así:

(no me se la función para copiar un archivo, así que lo siento por este ejemplo tan malo xD)

Shell copy archivo1 & archivo2 & archivo3
Barra de progreso que calcule el tiempo que va a tardar en copiarse los 3 archivos (No uno a uno, los 3 en total!).
command1.caption TIEMPO Transcurrido
command1.caption TIEMPO TOTAL


vamos, tal y como lo hace windows por ejemplo la barra de progreso de windows que sale al copiar un archivo grande en un directorio... ¿Se podrá usar esa api de windows?

Me he extendido mucho, mi pregunta es si esta barra de progreso puedo utilizarla para el uso que comenté arriba, a mi me parece que no.  :-\
Yo postie un ucProgressBar hace un tiempo al estilo windows7 :P

Y una progressbar es simplemente decorativa. Pone un timer y de ahi vas llenando :P no se si hay API para calcular cuanto puede tardar un copiado  :-\
En línea

pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #10 en: 15 Julio 2011, 11:09 »


Bueno, suficiente, no quiero acabar siendo el pesado de este subforo  :rolleyes:, ya me habeis dado info para probar un par de dias las cosas e ir aprendiendo, gracias a todosss

I'll come back  ::)... con un "par" de preguntas  :xD

un saludo!
En línea

pa que
pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #11 en: 15 Julio 2011, 12:08 »

Bueno, la verdad es que tengo una duda y me gustaría aclararla pa no molestar más xD

El problema es que los controles no se alinean en el programa

además de eso, tengo un label que quiero poner en un botón de comandos, intento traer el label al frente, y llevar el botón al fondo, pero nada, no me deja...

aqui se puede ver como el botón siempre está por encima del label...



y por más que uso "Alinear a la cuadrícula" no se alinean los controles, solamente el texto de adentro.

EDITO: lo primero ya lo he arreglado, ya me he aprendido lo que hace el menú format  :-[, pero lo del label aun no lo consigo.  :xD
« Última modificación: 15 Julio 2011, 12:41 por pitoloko » En línea

pa que
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: [VB] Dudas de novato...
« Respuesta #12 en: 15 Julio 2011, 13:33 »

HOLA!!!

Los labels de por si van "pegados al form" no se los envia al frente, una solucion rapida es usar un frame o picturebox ,en ambos podes incluir el label, e incluso podes usar Print en el picturebox para escribir en el.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
Re: [VB] Dudas de novato...
« Respuesta #13 en: 15 Julio 2011, 13:45 »

gracias pero lo malo es que el frame o el picturebox no puedo hacerlos transparentes (Al menos usando las propiedades)

 :-\
En línea

pa que
79137913


Desconectado Desconectado

Mensajes: 780


4 Esquinas


Ver Perfil WWW
Re: [VB] Dudas de novato...
« Respuesta #14 en: 15 Julio 2011, 14:12 »

HOLA!!!

Secretito XD saca una captura de tu programa pone la parte que queres que sea transparente en el picturebox ponele estilo Flat y Border = 0 entonces la fotito del picturebox se corresponde con el fondo. (hay maneras mas dificiles, pero siempre te intento dar las soluciones faciles).

GRACIAS POR LEER!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas Grabadoras (soy novato xDD)
Grabadoras
el-brujo 5 742 Último mensaje 21 Septiembre 2003, 11:56
por Ðevastador
Novato y con dudas
Hacking Wireless
Malagueño 0 238 Último mensaje 7 Mayo 2006, 21:45
por Malagueño
Dudas novato
Hacking Wireless
PPLLSG 4 433 Último mensaje 8 Julio 2006, 20:20
por Impersecuto
dudas de un novato
Hacking Wireless
stonero 12 1,000 Último mensaje 7 Octubre 2006, 01:20
por stonero
Dudas de un novato
Programación Visual Basic
SSantiago90 3 852 Último mensaje 17 Febrero 2012, 02:05
por dmgdani
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines