• Lunes 18 de Noviembre de 2024, 02:41

Mostrar Mensajes

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


Temas - Castord

Páginas: [1]
1
VB .NET / Estilos En Datagirdviews
« en: Viernes 19 de Octubre de 2007, 17:02 »
Alguien sabe como hago para colocar colores de fondo intercalados en filas de un datagridview para .net 2.0
ejemplo...
fila 1: fondo blanco
fila 2: fondo verde
fila 1: fondo blanco
fila 4: fondo verde


gracias!

2
VB .NET / Codigo Para Marcar Palabras Reservadas
« en: Jueves 16 de Agosto de 2007, 22:53 »
Estoy desarrollando el ide de un lenguaje nuevo que desarrollé (ahora la versión 1.1) pero tengo ciertos problemas con la marcacion de palabras reservadas...

Por favor fijense y aporten posibles soluciones para mejorar el rendimiento, si funciona, posteo TODO el código del lenguaje que desarrollo en C++ y VB.NET 2005

Lo que mas me rompe las bolas es la marcacion (seleccion en negro) que se hace en el rtb para marcar.

Si conocen algun control prediseñado con compatibiladad .NET o COM, por favor, pasenme el dato.

Gracias.

ESPERO COMENTARIOS

3
C/C++ / Ayuuuuuda C++ ... Por Favor
« en: Miércoles 25 de Julio de 2007, 20:08 »
hola gente...

tengo un problema con el name mangling  al crear dlls en c++ de las funciones ... uso dev-c++ 4.9.9.1 (mingw el compilador).

pasa que los compiladores de c++ decoran los nombres de mis funciones con unos atributos que hacen complicado el acceso a las funciones con el nombre original...
Se como exportar las funciones independientes sin el decorado de nombres: ej
prototipo:
Código: Text
  1.  
  2. extern "C" __declspec (dllexport) int myFunction(int a, float b);
  3.  
  4.  
y la implementacion que ya es obvia...
Pero el problema surge al intentar exportar las funciones miembro (o las propiedades), la interfaz publica general de mi clase, me decora el nombre con su rompebolas "seguridad de tipos c++" y no puedo acceder a la funcion con el nombre original ...
por favor, si alguien conoce la solucion, por favor, deganmela...

gracias desde ya!

4
Visual Basic 6.0 e inferiores / Aportando Código
« en: Viernes 2 de Febrero de 2007, 21:49 »
Este ejemplo que desarrollé me sirvió bastante a la hora de imprimir en programas de facturación y demás... muy útil aquí y pienso que en otras partes del mundo.. :D

Lée números y los imprime en su formato alfabetico(letras)

Código: Text
  1.  
  2.  
  3. '===============================================
  4. '  ALGORITMO DE LECTURA DE NUMEROS ENTEROS
  5. 'con un rango comprendido entre 1 y 999.999.999
  6. '===============================================
  7. '(C)Carlos Ruiz Díaz - Castord
  8. 'Asunción, 31-ENE-2007, Paraguay
  9. 'Todos los Derechos Reservados
  10. 'Carlos.RuizDiaz@gmail.com
  11. '----------------------------------------------
  12. 'NO SE HACEN TODAS LAS VALIDACIONES NECESARIAS!
  13. '       Código vb5, vb6 Win32 compatible
  14. '               | CONTROLES |
  15. 'un text box, name=Text1
  16. 'un command button, name=Command1
  17. '----------------------------------------------
  18. 'por favor, si encuentran bugs o realizan alguna
  19. 'clase de optimización, reportenmelo al mail
  20. 'adjunto, gracias.
  21. '===============================================
  22.  
  23. Dim Unidades(1 To 9) As String
  24. Dim Decenas(1 To 9) As String
  25. Dim Especiales(11 To 19) As String
  26. Dim Lect(1 To 3) As String
  27. Dim nLect(1 To 3) As Integer
  28. '---------------------------------
  29. 'Dim Millar As String
  30. Dim Cent As String
  31. 'Dim Veinti As String
  32. Dim Centenas(1 To 9) As String
  33. Dim Grupo As Integer
  34. '---------------------------------
  35.  
  36. Function Leer(Nro As String) As Boolean
  37. 'On Error GoTo Error
  38. 'On Error Resume Next
  39. Dim Unidad As String, Decena As String, Centena As String
  40. Dim Cifras As Integer
  41. Dim Aux As String, Parte As String
  42.  
  43. Aux = vbNullString
  44.  
  45. Debug.Print Nro
  46.  
  47. If Val(Nro) = 0 Then 'si la cadena es por ej. '000' resultante del nro 1.000
  48.     Grupo = Grupo + 1
  49.     Lect(Grupo) = Aux
  50.     Exit Function   'sale
  51. End If
  52.  
  53.  
  54. Cifras = Len(Nro)
  55.  
  56. Parte = Mid(Nro, 1, 1) 'extrae las centenas
  57. If Parte > 0 Then 'si es mayor a cero se consulta al vector y se asigna ya el texto respectivo
  58.     Aux = Centenas(Parte)
  59. End If
  60. Parte = CInt(Right(Nro, 2)) 'extrae unidad y decena
  61.  
  62. Unidad = CInt(Right(Nro, 1))
  63. Debug.Print Unidad
  64. Decena = CInt(Mid(Nro, 2, 1))
  65. Debug.Print Decena
  66. Centena = CInt(Left(Nro, 1))
  67. Debug.Print Centena
  68.    
  69.     '======se explicar por si solas algunas condicionales======
  70.    
  71.     If Centena = 0 And Decena = 0 And Unidad > 0 Then 'para '001' por ej.
  72.         Aux = Unidades(Unidad)
  73.     ElseIf Unidad = 0 And Decena = 0 And Centena > 0 Then '100' por ej.
  74.         If Centena = 1 Then 'para cien
  75.            Aux = "cien"
  76.         Else '`para versiones 'ciento'.. .ej. 101
  77.             Aux = Centenas(Mid(Nro, 1, 1))
  78.         End If
  79.     ElseIf Decena = 0 And Unidad > 0 Then '01' por ej.
  80.         Aux = Aux & " " & Unidades(Unidad)
  81.     ElseIf Unidad = 0 And Decena > 0 Then '10' por ej.
  82.         Decena = Mid(Nro, 2, 1)
  83.         Aux = Aux & " " & Decenas(CInt(Decena))
  84.     ElseIf Parte < 20 Then 'para las versiones 'dieci', sin esto el resultado seria
  85.                             'diez uno si el nro fuera 11
  86.         Aux = Aux & " " & Especiales(Parte)
  87.        
  88.     ElseIf Parte > 20 And Parte < 30 Then 'para las versiones 'veinti', sin esto el resultado seria
  89.                             'veinte uno si el nro fuera 21
  90.         Parte = CInt(Mid(Nro, 3, 1))
  91.         Aux = Aux & " Veinti" & Unidades(Parte)
  92.     Else 'para nros, sin ceros >30 y bla bla
  93.         Parte = CInt(Mid(Nro, 2, 1))
  94.         Aux = Aux & " " & Decenas(Parte)
  95.         Parte = CInt(Mid(Nro, 3, 1))
  96.         Aux = Aux & " y " & Unidades(Parte)
  97.     End If
  98.  
  99. 'LOS VALORES LLEGAN DE DERECHA A IZQUIERDA... En el nro. 1.000.123 se leerá 1ro.
  100. 'la porcion '123'
  101.  
  102. 'el vector Lect(1)=CENTENAS
  103. 'el vector Lect(2)=MILLARES
  104. 'el vector Lect(3)=MILLONES
  105.  
  106. Grupo = Grupo + 1 'determina que parte se esta leyendo
  107. Lect(Grupo) = Aux 'coloca aqui el texto
  108. nLect(Grupo) = Val(Nro) 'coloca aqui el nro.
  109. Nro = vbNullString
  110. Leer = True
  111. Exit Function
  112. Error:
  113.     Leer = False
  114.     MsgBox Err.Description
  115. End Function
  116.  
  117. Function SetearNro() As Boolean
  118. On Error GoTo Error
  119. Dim Nro As String, Parte As String, Limit As Integer
  120. Nro = Text1.Text
  121. If Val(Nro) > 999999999 Or Val(Nro) < 1 Then
  122.     MsgBox "Error en rango de lectura", vbInformation
  123.     MsgBox "1 al 999.999.999 nomás!"
  124.     SetearNro = False
  125.     Exit Function
  126. End If
  127. 'el programa toma los nros como cadenas de 3 caracteres por lo que esta sub es
  128. 'muy necesaria para que funcione
  129.  
  130. If Len(Nro) < 3 Then 'si el nro fue por ej. '3' el resultado será '003'
  131.                     ' para satisfacer la condicion
  132.     Nro = String(3 - Len(Nro), "0") & Nro
  133.     'MsgBox Nro
  134. End If
  135.  
  136. Parte = vbNullString
  137.  
  138. 'los nros de descomponen al estilo notacional corriente... ej. 1.000.000
  139. 'donde el . (punto) es el separador de millares
  140.  
  141. '=====determinar el limite del bucle=======
  142. 'ej... el nro 100.000 tiene dos partes de 3 cifras por lo que
  143. 'de acuerdo el algoritmo de abajo el limite es 2. En el nro 1.100.123
  144. 'se tiene dos partes de 3 cifras y una de una cifra pero el bucle se debe ejecutar
  145. '3 veces para poder tomar tb. el '1', ya que las porciones '100' y '123' cumplen
  146. 'con las condiciones de 3 cifras... para el caso del '1' se correrá el algoritmo
  147. 'correspondiente para comvertirlo a '001' y formar asi el nro 001.100.123 compatible
  148.  
  149. If (Len(Nro) / 3) > (Round(Len(Nro) / 3)) Then
  150.     Limit = Round(Len(Nro) / 3) + 1
  151. Else
  152.     Limit = Len(Nro) / 3
  153. End If
  154.  
  155. For i = 1 To Limit
  156. Debug.Print Nro
  157.     If Len(Nro) < 3 Then 'para nros de de longitud menor a 3, nunca debe entrar a la 1ra.
  158.         Nro = String(3 - Len(Nro), "0") & Nro
  159.         'Nro = Right(Nro, Len(Nro))
  160.         'MsgBox Nro
  161.         Leer (Nro) 'pasa el arg. a la funcion de lectura
  162.         Debug.Print Nro
  163.     Else
  164.         Parte = Right(Nro, 3) 'leer las ultimas 3 cifras del nro
  165.         Debug.Print Parte
  166.         Leer (Parte)
  167.         Nro = Left(Nro, Len(Nro) - 3) 'extraer la parte leida de la cadena original
  168.         Debug.Print Nro               'y reasignar a la var original el resto de la
  169.                                       'cadena descompuesta
  170.     End If
  171. Next
  172. SetearNro = True
  173. Exit Function
  174. Error:
  175.     MsgBox Err.Description
  176.     SetearNro = False
  177. End Function
  178. Private Sub Command1_Click()
  179. Dim ok As Boolean
  180. ok = SetearNro
  181. If ok = False Then
  182.     Exit Sub
  183. End If
  184.  
  185. '==========================================
  186. 'diferenciar los millones, miles y centenas
  187. '==========================================
  188. Dim Texto As String
  189. Texto = vbNullString
  190.  
  191. If Lect(3) <> vbNullString Then 'millones
  192.     If nLect(3) = 1 Then
  193.         Texto = "Un millón "
  194.     Else
  195.         Texto = Lect(3) & " millones "
  196.     End If
  197. End If
  198. If Lect(2) <> vbNullString Then 'miles
  199.     'If nLect(2) = 1 Then
  200.      '   Texto = Texto & Lect(2) & " mil "
  201.     'Else
  202.         Texto = Texto & Lect(2) & " mil "
  203.     'End If
  204. End If
  205. If Lect(1) <> vbNullString Then 'centenas
  206.     Texto = Texto & Lect(1)
  207. End If
  208.  
  209. Texto = Trim(Texto) 'sacar de la cadena los espacios en blanco en ambos lados
  210. 'MsgBox Texto, , "TEXTO SIN FORMATO TITULO"
  211. MsgBox Estilo(Texto) 'texto en estilo titulo.
  212.                         'Ej. "ani reñembotavy nde tembo" se verá
  213.                         'como "Ani Reñembotavy Nde Tembo"
  214. '================
  215. ' Reinicializar
  216. '================
  217. Grupo = 0
  218. For i = 1 To UBound(Lect, 1)
  219.     Lect(i) = vbNullString
  220.     nLect(i) = 0
  221. Next
  222. End Sub
  223.  
  224. Function Estilo(Texto As String) As String
  225. 'On Error Resume Next
  226. Dim i As Integer, Pos As String, SubStrPre As String, SubStrPos As String
  227. Dim MayusChar As String
  228. Dim Char As String
  229. Dim n As String
  230. For i = 1 To Len(Texto)
  231.     Pos = InStr(i, Texto, " ") 'buscar espacios en blanco
  232.     Debug.Print Pos
  233.     Char = Mid(Texto, Pos + 1, 1) 'extraer el caracter luego del espacio en blaco
  234.     Debug.Print Char
  235.     SubStrPre = Left(Texto, Pos) 'extraer al cadena anterior al caracter
  236.     Debug.Print SubStr
  237.     SubStrPos = Right(Texto, Len(Texto) - (Pos + 1)) 'extraer la cadena posterior al char
  238.     Debug.Print SubStrPos
  239.     MayusChar = UCase(Char) 'convertir el char a su version muyuscula
  240.     Texto = SubStrPre & MayusChar & SubStrPos 'concatenar la cadena anterior el caracter
  241.                                             'y la cadena posterior en la var original
  242.     Debug.Print Texto
  243. Next
  244. Estilo = Texto
  245.  
  246.  
  247. End Function
  248.  
  249. Private Sub Command3_Click()
  250. MsgBox Estilo(Text1.Text)
  251. End Sub
  252.  
  253. Private Sub Form_Load()
  254. 'VECTORES DE CADENAS
  255. Unidades(1) = "uno"
  256. Unidades(2) = "dos"
  257. Unidades(3) = "tres"
  258. Unidades(4) = "cuatro"
  259. Unidades(5) = "cinco"
  260. Unidades(6) = "seis"
  261. Unidades(7) = "siete"
  262. Unidades(8) = "ocho"
  263. Unidades(9) = "nueve"
  264.  
  265. Especiales(11) = "once"
  266. Especiales(12) = "doce"
  267. Especiales(13) = "trece"
  268. Especiales(14) = "catorce"
  269. Especiales(15) = "quince"
  270. Especiales(16) = "dieciseis"
  271. Especiales(17) = "diecisiete"
  272. Especiales(18) = "dieciocho"
  273. Especiales(19) = "diecinueve"
  274.  
  275. Decenas(1) = "diez"
  276. Decenas(2) = "veinte"
  277. Decenas(3) = "treinta"
  278. Decenas(4) = "cuarenta"
  279. Decenas(5) = "cincuenta"
  280. Decenas(6) = "sesenta"
  281. Decenas(7) = "setenta"
  282. Decenas(8) = "ochenta"
  283. Decenas(9) = "noventa"
  284.  
  285. Centenas(1) = "ciento"
  286. Centenas(2) = "doscientos"
  287. Centenas(3) = "trescientos"
  288. Centenas(4) = "cuatrocientos"
  289. Centenas(5) = "quinientos"
  290. Centenas(6) = "seiscientos"
  291. Centenas(7) = "setecientos"
  292. Centenas(8) = "ochocientos"
  293. Centenas(9) = "novecientos"
  294.  
  295. 'Veinti = "veinti"
  296. 'Millar = "mil"
  297.  
  298. End Sub
  299.  
  300.  
  301.  
  302.  

5
PHP / _post / Metodo Post
« en: Lunes 25 de Septiembre de 2006, 23:26 »
cuando creo un formulario con dos mas de dos campos y utilazando el metodo POST para traspaso de variables solo me pasa a las dos primeras...

alguien sabe cual puede ser el problema?

Páginas: [1]