|
461
|
Programación / Programación Visual Basic / Mostrar texto en columna?
|
en: 26 Agosto 2008, 06:30 am
|
buenas tengo una duda que hace tiempo me viene acosando Como puedo mostrar texto en columna dentro de un textbox, muestro un ejemplo Dim sResult As String
Private Sub Form_Load() Me.AutoRedraw = True
AddData "Rosario", "2.80", "Estacional" AddData "Santa Fe", "3.13", "Crece" AddData "Corrientes", "4.22", "Baja" AddData "Formosa", "4.44", "Crece" AddData "Posadas", "5.30", "Baja" AddData "Iguazú", "13.50", "Crece" AddData "Andresito", "0.82", "Baja" AddData "Villa Constitución", "2.35", "Crece" Debug.Print sResult Me.Print sResult End Sub
Private Sub AddData(D1 As String, D2 As String, D3 As String) sResult = sResult & Tabular(D1, 25) & Tabular(D2, 6, True) & Space(10) & Tabular(D3, 10) & vbCrLf End Sub
'Private Sub AddData(D1 As String, D2 As String, D3 As String) ' sResult = sResult & D1 & vbTab & vbTab & D2 & vbTab & D3 & vbCrLf 'End Sub
Private Function Tabular(Palabra As String, Espacio As Long, Optional AlignRight As Boolean) As String If AlignRight Then Tabular = Space(Espacio - Len(Palabra)) & Palabra Else Tabular = Palabra & Space(Espacio - Len(Palabra)) End If End Function
bien si prueban el ejemplo veran que en la ventana de inmediato se muestra correctamente pero al mostrar estos datos en un textbox o con la funcion me.print se desalinean. si uso la segunda funcion AddData (La que esta comentada) pues bien surge un problema con respecto al ultimo items (Villa Constitución) ya que este es mas largo que los superiores o en el primer items que al ser muy corto la tabulacion no se nota, entonces como se cuando deberia aplicar un doble o triple tab o ninguno? Saludos
|
|
|
462
|
Programación / Programación Visual Basic / Re: Como hacer streaming con microfono via winsock?
|
en: 26 Agosto 2008, 04:13 am
|
hola yo te diria que te olvides de eso, es muy trucho. jeje es mio. mirate mejor esto que mucho mas cercano al lo que podria llegar a ser lo que buscas http://ar.geocities.com/leandroascierto/EnviarAudio.zipno lo pude provar en red, pero bueno creo que deberia funcionar bien, creo que lo vaje una ves de psc. esta bueno pero creo que se lo podria mejorar un poco mas. osea, el proyecto esta echo a modo de ejemplo y da la opcion de selecionar la calidad de audio, pero abria que ver como para que selecione la mas indicada, osea la de la menor calidad como para que el audio se lo mas fluido posible Saludos
|
|
|
464
|
Programación / Programación Visual Basic / Re: Redimensionar formularios sin borde
|
en: 24 Agosto 2008, 00:37 am
|
hola te paso una clase sensilla que hice para un proyecto, para mis nesecidades estuvo bien ahora fijate si te sirve a vos. Modulo Clase Nombre = SizeForm 'Name SizeForm Option Explicit
Private Const WM_SYSCOMMAND = &H112& Private Const MOUSE_MOVE = &HF012& Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long Private Declare Function ReleaseCapture Lib "user32.dll" () As Long
Const BorderSize = 6
Dim SizeMode As Long Dim InPoint As Boolean Private WithEvents Form As Form
Public MinWidth As Long Public MaxWidth As Long Public MinHeight As Long Public MaxHeight As Long Public HeatherHeight As Long
Function SetForm(frm As Form) Set Form = frm End Function
Private Sub Class_Initialize() MinWidth = 100 MaxWidth = Screen.Width MinHeight = 40 MaxHeight = Screen.Height HeatherHeight = 20 End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Select Case X Case Is > Form.ScaleWidth - BorderSize InPoint = True SizeMode = 1 Case Is < BorderSize InPoint = True SizeMode = 4 End Select Select Case Y Case Is > Form.ScaleHeight - BorderSize InPoint = True SizeMode = 2 Case Is < BorderSize InPoint = True SizeMode = 3 End Select If X > Form.ScaleWidth - BorderSize * 2 And Y > Form.ScaleHeight - BorderSize * 2 Then InPoint = True SizeMode = 5 End If If Y < HeatherHeight + 3 And Y > BorderSize And Button = 1 And Not InPoint Then Call MoveForm Exit Sub End If
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > Form.ScaleWidth - BorderSize * 2 And Y > Form.ScaleHeight - BorderSize * 2 Then Form.MousePointer = 8 Else If X > Form.ScaleWidth - BorderSize Or X < BorderSize Then Form.MousePointer = 9 Else If Y > Form.ScaleHeight - BorderSize Or Y < BorderSize Then Form.MousePointer = 7 Else Form.MousePointer = 0 End If End If End If
If InPoint And Button = 1 Then
Select Case SizeMode Case 1: If X > MinWidth And X < MaxWidth Then Form.Width = X * 15 Case 2: If Y > MinHeight And Y < MaxHeight Then Form.Height = Y * 15 Case 3 If Form.ScaleHeight - Y > MinHeight And Form.ScaleHeight - Y < MaxHeight Then Form.Move Form.Left, Form.Top + Y * 15, Form.Width, Form.Height - Y * 15 End If Case 4: If Form.ScaleWidth - X > MinWidth And Form.ScaleWidth - X < MaxWidth Then Form.Move Form.Left + X * 15, Form.Top, Form.Width - X * 15, Form.Height End If Case 5 If X > MinWidth And X < MaxWidth Then Form.Width = X * 15 If Y > MinHeight And Y < MaxHeight Then Form.Height = Y * 15 End Select
End If End Sub
Public Sub MoveForm() Form.MousePointer = 0 ReleaseCapture SendMessage Form.hwnd, WM_SYSCOMMAND, MOUSE_MOVE, 0 End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) InPoint = False End Sub
y en el formulario Option Explicit Dim cSizeForm As New SizeForm
Private Sub Form_Load() Me.ScaleMode = 3 cSizeForm.SetForm Me End Sub
Saludos
|
|
|
465
|
Programación / Programación Visual Basic / Re: Botones con imagenes + Temas de XP (Source)
|
en: 23 Agosto 2008, 21:19 pm
|
bueno ya que ve que parece funcionar pongo en este mismo hilo una pequeña subrutina para agregar iconos de 32 bits a los ImageList Option Explicit Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal iImageType As Long, ByVal cx As Long, ByVal cy As Long, ByVal fFlags As Long) As Long Private Declare Function ImageList_ReplaceIcon Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hIcon As Long) As Long Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
'LoadImage constantes Private Const LR_LOADFROMFILE As Long = &H10 Private Const LR_LOADMAP3DCOLORS As Long = &H1000 Private Const LR_SHARED As Long = &H8000& Private Const IMAGE_ICON As Long = 1
Public Sub ImageListAddIcon32(ImageL As ImageList, Address As String, Optional FromRes As Boolean) Dim hIcon As Long ImageL.ListImages.Add , , ImageL.Parent.Icon hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, ImageL.ImageWidth, ImageL.ImageHeight, IIf(FromRes, LR_SHARED Or LR_LOADMAP3DCOLORS, LR_LOADFROMFILE)) ImageList_ReplaceIcon ImageL.hImageList, ImageL.ListImages.Count - 1, hIcon DestroyIcon hIcon End Sub
y se aplicaria algo asi Option Explicit
Private Sub Form_Load() ImageListAddIcon32 ImageList1, App.Path & "\Close.ico" 'leer desde archivo ImageListAddIcon32 ImageList1, "ICON_0", True 'leer desde recursos Toolbar1.ImageList = ImageList1 Toolbar1.Buttons(1).Image = 1 Toolbar1.Buttons(2).Image = 2 End Sub
si se utilizan iconos desde recursos y se esta en el IDE de vb se va a ver los iconos del formulario pero cuando se complie se va a ver los iconos reales. ademas si se ponen los temas de xp (.manifest) , los iconos se ven mejor ya que se elimina la sobra alpha de los iconos 32 bits. Saludos
|
|
|
468
|
Programación / Programación Visual Basic / Botones con imagenes + Temas de XP (Source)
|
en: 22 Agosto 2008, 09:59 am
|
Buenas esta es un modulo clase para poder agregar Iconos a los botones, y mantener los temas de xp presnete, bien anteriormente habia echo algo parecido pero era una currada, creo que esto es la forma correcta. porlomenos estando presente los temas de xp , por si esto no fuera asi, hay una subrutina no muy precaria para mostrar la imagen y el texto (no esta 100% completa) pero si alguien la nesesita se puede mejorar. Boton con Imagen.zip - Descargame gustaria si alguien tiene win 98 o win Vista y lo puede testear, para saber si da error.
|
|
|
|
|
|
|