Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Sanlegas

#121
Cita de: cobein en  7 Octubre 2010, 08:29 AM
Pasaba por aca y me llamo la atencion esto

If Dir(Str, vbArchive) <> "" Or Str = "" Or Len(Str) < 4 Then

no esta mal pero la logica que se utiliza para filtrar con Len(Str) < 4 dejaria de lado posibles archivos existentes con rutas validas, ejemplo una ruta relativa como ser "\<archivo>" siendo el nombre del archivo menor o igual a 2 caracteres en total, que podria ser el eqivalente a "c:\a" o como ruta relativa "\a" 

entonces asi seria lo correcto If Len(Str) > 3 And Len(Dir(Str, vbArchive)) Then  :P
(creo que no tiene caso comparar si la cadena esta vacia y luego volver a comparar si es mayor a 3)
#122
chr(13)
:laugh:
#123
aca te dejo un ejemplo
Dim N          As Integer
Dim I          As String
Dim Partes()   As String

I = "1000000CARMEN ROSA ALVAREZ          10         0       46600       020100830"

Do While InStr(I, "  ")      ' mientras haya mas de dos espacios
I = Replace$(I, "  ", " ")  ' los eliminamos
Loop

MsgBox I                       ' mostramos la cadena ya sin dobles espacios

Partes() = Split(I, " ")     ' la partimos por un espacio

For N = UBound(Partes()) To 1 Step -1
MsgBox Partes(N)                              ' mostramos todas las partes
Next


ya tu lo modificas a tus necesidades  ;)
#124
esto no deberia ir en .net?  :rolleyes:  ;D
#125
Función:
Public Function SquareNumber(NumberLineToPrint As Long) As Long()
Dim MArray()             As Long
Dim Z                    As Long
Dim N                    As Long
Dim C                    As Long
Dim Aux()                As Long

ReDim MArray(NumberLineToPrint)
ReDim Aux(NumberLineToPrint - 1, NumberLineToPrint - 1)

For Z = 0 To NumberLineToPrint - 1
  For N = 0 To NumberLineToPrint - Z - 1
     C = C + 1
     Aux(Z, N) = C
    Next N
   For N = Z To 1 Step -1
       MArray(N - 1) = MArray(N - 1) + 1
       Aux(Z, NumberLineToPrint - N) = MArray(N - 1)
     Next N
    MArray(Z) = C
   C = C + NumberLineToPrint - Z - 1
   DoEvents
Next Z
SquareNumber = Aux
End Function


Llamada:
CitarDim V() As Long
V = SquareNumber(20)

For Z = 0 To UBound(V)
  For N = 0 To UBound(V)
    Select Case Val(V(Z, N))
    Case Is < 10
      Text1.Text = Text1.Text & "00" & V(Z, N) & " "
      Case Is < 100
      Text1.Text = Text1.Text & "0" & V(Z, N) & " "
      Case Else
      Text1.Text = Text1.Text & V(Z, N) & " "
    End Select
    Next N
   Text1.Text = Text1.Text & vbNewLine
Next Z

Salida:
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 021
077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 059 022
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 095 060 023
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 129 096 061 024
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 161 130 097 062 025
205 206 207 208 209 210 211 212 213 214 215 216 217 218 191 162 131 098 063 026
232 233 234 235 236 237 238 239 240 241 242 243 244 219 192 163 132 099 064 027
257 258 259 260 261 262 263 264 265 266 267 268 245 220 193 164 133 100 065 028
280 281 282 283 284 285 286 287 288 289 290 269 246 221 194 165 134 101 066 029
301 302 303 304 305 306 307 308 309 310 291 270 247 222 195 166 135 102 067 030
320 321 322 323 324 325 326 327 328 311 292 271 248 223 196 167 136 103 068 031
337 338 339 340 341 342 343 344 329 312 293 272 249 224 197 168 137 104 069 032
352 353 354 355 356 357 358 345 330 313 294 273 250 225 198 169 138 105 070 033
365 366 367 368 369 370 359 346 331 314 295 274 251 226 199 170 139 106 071 034
376 377 378 379 380 371 360 347 332 315 296 275 252 227 200 171 140 107 072 035
385 386 387 388 381 372 361 348 333 316 297 276 253 228 201 172 141 108 073 036
392 393 394 389 382 373 362 349 334 317 298 277 254 229 202 173 142 109 074 037
397 398 395 390 383 374 363 350 335 318 299 278 255 230 203 174 143 110 075 038
400 399 396 391 384 375 364 351 336 319 300 279 256 231 204 175 144 111 076 039


Si dices que tiene que devolver un array de long entonces no puede almacenar 0`s a la izquierda, por lo tal se tienen que imprimir al mostrar el array devuelto por la funcion   ;D


#126
Programación C/C++ / Trabajar con bytes?
3 Septiembre 2010, 19:33 PM
Que tal, estuve buscando la forma de trabajar con bytes en C++ o variables que puedan contener bytes, en VB solo se declara una variable (Dim Variable() as Byte), pero en C++ no se como se haria, espero puedan ayudarme  :), salu2  :D
#127
Cita de: Pure Ice en 28 Agosto 2010, 23:22 PM
Cita de: [D4N93R] en 27 Agosto 2010, 22:22 PM
Llamar al handler del evento es mala práctica, mejor opta por meter el procedimiento en otro método, el cual llamas desde donde quieras, incluyendo el handler..

Saludos!

Si te explicas mejor, un newbie como yo te podrá entender :rolleyes:

newbie? desde hace años te veo con vb y aun sigues preguntando lo mismo  :-\
#128
left, mid  :xD
#129
@ = char(64)  :laugh:
#130
Programación Visual Basic / Re: ayuda con api
8 Agosto 2010, 02:25 AM
todo bien, gracias  ;-)